250 هزار پیکربندی نادرست در GitHub Actions
اخبار مربوط به حملات زنجیره تأمین (Supply Chain Attacks) با فاصلههای زمانی کوتاه در رسانهها منتشر میشوند. در بسیاری از این حملات، مهاجمان ابتدا یکی از پکیجهای عمومی را آلوده میکنند.
این موضوع ممکن است این تصور را ایجاد کند که بزرگترین تهدید مخازن عمومی، سرقت اطلاعات ورود توسعهدهندگان و تزریق کد مخرب به نرمافزارهای آنهاست؛ اما در عمل، این تنها تهدید موجود نیست.
پیکربندی نادرست اجزای کلیدی نیز میتواند به همان اندازه خطرناک باشد.
یکی از مهمترین این اجزا، GitHub Actions است؛ مجموعهای از اسکریپتهای اتوماسیون که برای ایجاد Pipelineهای CI/CD (Continuous Integration / Continuous Delivery) مورد استفاده قرار میگیرند.
اشتباهات و پیکربندیهای نادرست در این اسکریپتها بارها توسط مهاجمان در حملات واقعی مورد سوءاستفاده قرار گرفتهاند.
نمونهای از این حملات، کمپین بدافزاری Mini Shai-Hulud است. اگرچه این حمله نیز با به خطر افتادن حساب نگهدارنده (Maintainer) یکی از پروژههای محبوب آغاز شد، اما بدافزار منتشرشده در این کمپین با سوءاستفاده از یک نقص در GitHub Actions، اطلاعات محرمانه (Secrets) را سرقت میکرد.
نتایج تحقیق
کارشناسان Global Research and Analysis Team (GReAT) با استفاده از مجموعه قوانین جدید Kaspersky Container Security (KCS)، وضعیت امنیتی GitHub Actions را در حدود 30 هزار مخزن محبوب GitHub بررسی کردند.
نتیجه این بررسی نشان داد که تنها 10 درصد از این مخازن، Pipelineهایی بدون نگرانی امنیتی داشتند.
جزئیات یافتهها
در مجموع، مجموعه قوانین جدید KCS حدود 130 هزار Pipeline را اسکن کرد.
نتیجه این بررسی، شناسایی بیش از 250 هزار مورد انحراف احتمالی از توصیههای مربوط به پیکربندی امن CI/CD بود.
البته این موارد الزاماً آسیبپذیری محسوب نمیشوند، اما نشان میدهند که بخشهایی از پیکربندی نیازمند بررسی دقیقتر و بازبینی امنیتی هستند.
از میان این موارد:
- 59.8 درصد دارای ریسک پایین بودند.
- 39.8 درصد در دسته ریسک متوسط قرار گرفتند.
- 0.4 درصد نیز بهعنوان پیکربندیهای پرریسک (High Risk) شناسایی شدند.
علاوه بر این، در هشت مخزن، نقصهای بحرانی کشف شد که میتوانستند به حمله زنجیره تأمین منجر شوند.
این مخازن حوزههای مختلفی را پوشش میدادند، از جمله:
- راهکارهای هوش مصنوعی در محیطهای سازمانی
- سرویسهای توسعه و اتوماسیون
- ابزارهای تست امنیت
کارشناسان کسپرسکی تمامی این موارد بحرانی را به مسئولان نگهداری مخازن مربوطه گزارش کردند.
رایجترین مشکلات شناساییشده
در بررسی GitHub Actions، رایجترین موارد عبارت بودند از:
- تعریف ضمنی یا بیش از حد گسترده مجوزهای دسترسی
- عدم استفاده از Version Pinning برای وابستگیهای مورد استفاده
- اعمال تنظیمات پیکربندی در سطح Workflow بهجای بخشهای مناسب
علاوه بر این، الگوهای خطرناکتری نیز مشاهده شد؛ از جمله:
- قرار گرفتن اطلاعات محرمانه (Secrets) در سطح بالای پیکربندی
- استفاده از شرایط اجرای بالقوه ناامن
- پردازش ناامن دادههای ورودی از منابع خارجی
البته خوشبختانه فراوانی این موارد نسبتاً پایین بود.
چگونه از خود محافظت کنیم؟
پیکربندیهای نادرست در GitHub Actions میتوانند Pipelineهای توسعه را به ابزاری برای حمله تبدیل کنند و امکان نفوذ به محیط توسعه یا زیرساخت سازمان را برای مهاجمان فراهم سازند.
شناسایی و اصلاح بهموقع این مشکلات به توسعهدهندگان کمک میکند فرآیندهای CI/CD ایمنتری ایجاد کرده و احتمال وقوع حملات زنجیره تأمین را به حداقل برسانند.
شناسایی پیکربندیهای نادرست در GitHub Actions
مجموعه قوانین استفادهشده در این تحقیق، اکنون پس از آخرین بهروزرسانی در اختیار کاربران Kaspersky Container Security قرار گرفته است.
با استفاده از این قابلیت، Kaspersky Container Security میتواند پیکربندیهای نادرست GitHub Actions را به دو روش شناسایی کند:
- اسکن مستقیم مخازن GitHub
- یکپارچهسازی با Pipelineهای CI/CD و بررسی خودکار آنها
این قابلیت به تیمهای توسعه و امنیت کمک میکند مشکلات پیکربندی را پیش از آنکه به یک تهدید واقعی تبدیل شوند، شناسایی و برطرف کنند.