چگونه محیط خود را برای نسخه های آسیب پذیر Curl اسکن کنیم

چگونه محیط خود را برای نسخه های آسیب پذیر Curl اسکن کنیم

How to Scan Your Environment for Vulnerable Versions of Curl PlatoBlockchain Data Intelligence. Vertical Search. Ai.

تیم های امنیتی برای رسیدگی به این مشکل نیازی به تغییر حالت بحران ندارند اخیراً آسیب‌پذیری‌ها در ابزار خط فرمان curl و کتابخانه libcurl رفع شده است، اما این بدان معنا نیست که آنها نباید نگران شناسایی و اصلاح سیستم های آسیب دیده باشند. اگر سیستم‌ها فوراً قابل بهره‌برداری نباشند، تیم‌های امنیتی مدتی فرصت دارند تا آن به‌روزرسانی‌ها را انجام دهند.

این نکته فنی راهنمایی هایی را در مورد کارهایی که تیم های امنیتی باید انجام دهند تا مطمئن شوند در معرض خطر نیستند را جمع آوری می کند.

یک ابزار اصلی شبکه برای سیستم های یونیکس و لینوکس، cURL در خطوط فرمان و اسکریپت ها برای انتقال داده ها استفاده می شود. شیوع آن به این دلیل است که هم به عنوان یک ابزار مستقل (curl) و هم به عنوان یک کتابخانه که در بسیاری از انواع مختلف برنامه ها (libcurl) گنجانده شده است، استفاده می شود. کتابخانه libcurl، که به توسعه دهندگان اجازه می دهد تا از طریق کد خود به API های curl دسترسی داشته باشند، می تواند مستقیماً به کد وارد شود، به عنوان یک وابستگی استفاده شود، به عنوان بخشی از یک بسته سیستم عامل استفاده شود، به عنوان بخشی از یک کانتینر Docker گنجانده شود، یا بر روی یک کانتینر نصب شود. گره خوشه ای Kubernetes.

CVE-2023-38545 چیست؟

آسیب پذیری با شدت بالا بر کرل و لیبکرل تاثیر می گذارد نسخه‌های 7.69.0 تا 8.3.0، و آسیب‌پذیری با شدت کم بر نسخه‌های 7.9.1 تا 8.3.0 libcurl تأثیر می‌گذارد. با این حال، آسیب پذیری ها در شرایط پیش فرض قابل سوء استفاده نیستند. مهاجمی که می‌خواهد آسیب‌پذیری را راه‌اندازی کند، باید curl را به سمت یک سرور مخرب تحت کنترل مهاجم نشانه‌گیری کند، مطمئن شوید که curl از یک پراکسی SOCKS5 با استفاده از حالت proxy-resolver استفاده می‌کند، curl را برای دنبال کردن خودکار تغییر مسیرها پیکربندی می‌کند و اندازه بافر را روی کوچک‌تر تنظیم می‌کند. اندازه.

مطابق با یایر میزراهییک محقق ارشد امنیتی در JFrog، کتابخانه libcurl آسیب پذیر است فقط اگر متغیرهای محیطی زیر تنظیم شوند: CURLOPT_PROXYTYPE  تنظیم کنید تا تایپ کنید CURLPROXY_SOCKS5_HOSTNAMEو یا CURLOPT_PROXY or CURLOPT_PRE_PROXY  روی طرح تنظیم کنید socks5h://. اگر یکی از متغیرهای محیط پراکسی برای استفاده از آن تنظیم شده باشد، کتابخانه نیز آسیب پذیر است socks5h:// طرح. ابزار خط فرمان تنها در صورتی آسیب پذیر است که با آن اجرا شود -socks5-hostname پرچم، یا با – پروکسی (-x) یا -پیش پروکسی برای استفاده از این طرح تنظیم کنید socks5h://. همچنین اگر curl با متغیرهای محیط آسیب‌دیده اجرا شود آسیب‌پذیر است.

«مجموعه‌ای از پیش‌شرط‌های مورد نیاز برای آسیب‌پذیر بودن یک ماشین (به بخش قبلی مراجعه کنید) محدودتر از آن چیزی است که در ابتدا تصور می‌شد. بنابراین، ما معتقدیم که اکثریت قریب به اتفاق کاربران curl تحت تأثیر این آسیب‌پذیری قرار نخواهند گرفت.»

محیط را برای سیستم های آسیب پذیر اسکن کنید

اولین کاری که سازمان ها باید انجام دهند این است که محیط های خود را برای شناسایی همه سیستم ها با استفاده از curl و libcurl انجام دهند تا ارزیابی کنند که آیا این پیش شرط ها وجود دارد یا خیر. الکس ایلگایف، رئیس تحقیقات امنیتی در Cycode، خاطرنشان می‌کند که سازمان‌ها باید سیستم‌های خود را فهرست‌بندی کنند و فرآیندهای تحویل نرم‌افزار خود را با استفاده از ابزارهای تجزیه و تحلیل ترکیب نرم‌افزار برای کد، ظروف اسکن، و ابزارهای مدیریت وضعیت امنیتی برنامه‌ها ارزیابی کنند. حتی اگر این آسیب‌پذیری روی هر پیاده‌سازی curl تأثیری نمی‌گذارد، اگر تیم با فهرستی از مکان‌های بالقوه شروع کند، شناسایی سیستم‌های تحت تأثیر آسان‌تر خواهد بود.

دستورات زیر مشخص می کند که کدام نسخه از curl نصب شده است:

Linux/MacOS:

find / -name curl 2>/dev/null -exec echo "Found: {}" ; -exec {} --نسخه ;

ویندوز:

Get-ChildItem -Path C: -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host "Found: $($_.FullName)"; & $_.FullName --نسخه }

GitHub دارای یک پرس و جو برای اجرا در Defender برای Endpoint برای شناسایی تمام دستگاه های موجود در محیط که curl نصب شده یا از curl استفاده می کنند. Qualys قوانین خود را منتشر کرده است برای استفاده از پلتفرم آن

سازمان‌هایی که از کانتینرهای Docker یا سایر فناوری‌های کانتینری استفاده می‌کنند نیز باید تصاویر را برای نسخه‌های آسیب‌پذیر اسکن کنند. انتظار می رود تعداد قابل توجهی از بازسازی ها، به ویژه در تصاویر داکر و موجودیت های مشابه که کپی های لیبرل را در خود جای داده اند، انجام شود. داکر جمع شده است لیستی از دستورالعمل ها در ارزیابی همه تصاویر

برای یافتن مخازن موجود:

مخزن docker scout فعال --org /scout-demo

برای تجزیه و تحلیل تصاویر کانتینر محلی:

خط مشی پیشاهنگ داکر [IMAGE] --org [ORG]

به گفته هنریک پلات، محقق امنیتی در آزمایشگاه اندور، این موضوع اهمیت ردیابی دقیق همه نرم افزارهای منبع باز مورد استفاده در یک سازمان را برجسته می کند.

پلات گفت: "دانستن در مورد همه موارد استفاده از curl و libcurl پیش نیاز ارزیابی خطر واقعی و انجام اقدامات اصلاحی است، خواه اصلاح curl، محدود کردن دسترسی به سیستم های آسیب دیده از شبکه های غیرقابل اعتماد، یا اجرای سایر اقدامات متقابل."

جان گالاگر، معاون Viakoo Labs می‌افزاید: اگر برنامه با یک صورتحساب نرم‌افزاری از مواد همراه باشد، مکان خوبی برای شروع جستجوی نمونه‌های کرل است.

فقط به این دلیل که نقص ها قابل استفاده نیستند به این معنی نیست که به روز رسانی ها ضروری نیستند. پچ ها موجود است به طور مستقیم برای curl و libcurlو بسیاری از سیستم عامل ها (دبیان، اوبونتو، رد هت و غیره) نسخه های ثابت را نیز ارائه کرده اند. مراقب به روز رسانی های امنیتی سایر برنامه ها باشید، زیرا libcurl کتابخانه ای است که توسط بسیاری از سیستم عامل ها و برنامه ها استفاده می شود.

به گفته Mizrahi از JFrog، یکی از راه‌حل‌ها تا زمانی که به‌روزرسانی‌ها اجرا شوند، این است که کرل را مجبور کنیم از حل نام میزبان محلی هنگام اتصال به پراکسی SOCKS5 استفاده کند. این نحو از طرح socks5 استفاده می کند و نه socks5h: curl -x socks5://someproxy.com. در کتابخانه، متغیر محیطی را جایگزین کنید CURLPROXY_SOCKS5_HOSTNAME با CURLPROXY_SOCKS5.

به گفته بنجامین مار، مهندس امنیت در مزاحم، تیم های امنیتی باید پرچم های curl را برای رشته های بزرگ بیش از حد نظارت کنند، زیرا این نشان می دهد که سیستم به خطر افتاده است. پرچم ها هستند – socks5-hostname، یا – پروکسی or -پیش پروکسی برای استفاده از این طرح تنظیم کنید socks5h://.

تمبر زمان:

بیشتر از تاریک خواندن