شرکت امنیتی فرانسوی CrowdSec اخیراً از وقوع یک حادثه امنیتی خبر داد که منجر به سرقت حدود ۱۷۰ مخزن (Repository) خصوصی این شرکت از پلتفرم GitHub شده است. این نشت دادهها در ماه می رخ داده اما شناسایی آن تا سپتامبر به تأخیر افتاد.
جزئیات فنی حمله و بردار نفوذ
بررسیهای فنی نشان میدهد که مهاجمان از طریق یک حمله زنجیره تأمین (Supply Chain Attack) در بسته TanStack npm، سیستم یکی از توسعهدهندگان سابق این شرکت را آلوده کردهاند. در این عملیات، کرم Shai-Hulud برای سرقت توکنهای OAuth مورد استفاده قرار گرفت. مهاجم با بهدست آوردن توکن API مربوط به حساب GitHub این کاربر، توانست در بازه زمانی بسیار کوتاهی (حدود ۹ دقیقه) دسترسی لازم برای خواندن و دانلود محتویات مخازن خصوصی CrowdSec را به دست آورد.
ترتیبی از حوادث و شناسایی
- ۲۲ می: دانلود دادههای مخازن توسط مهاجم از طریق یک IP در تورنتو.
- ۲۵ می: حذف حساب کاربر مربوطه از سازمان GitHub توسط CrowdSec.
- ۱۶ سپتامبر: شناسایی نشت دادهها پس از انتشار آرشیوی از سورسکد شرکت در بازار سیاه pwnforum.
تحلیل نقاط ضعف امنیتی
با وجود بهرهگیری از مکانیزمهای امنیتی مانند احراز هویت دو مرحلهای (2FA) و جداسازی دسترسیها (Privilege Separation)، دو نقطه ضعف کلیدی در این حادثه شناسایی شد:
۱. مدیریت چرخه حیات حسابها (Offboarding): دسترسی توسعهدهنده سابق به دلیل تکمیل برخی کارهای باقیمانده، بلافاصله پس از ترک شرکت لغو نشده بود. این تأخیر در Revoke کردن دسترسیها، پنجرهای برای مهاجم ایجاد کرد.
۲. فقدان EDR در محیط توسعه: CrowdSec اذعان کرد که در زمان وقوع حمله، سیستمهای تشخیص و پاسخ در نقاط انتهایی (EDR) روی لپتاپهای توسعهدهندگان فعال نبود. این موضوع باعث شد بدافزار مربوط به بسته npm آلوده بدون شناسایی، توکنهای حساس را استخراج کند.
توصیههای امنیتی برای سازمانها
این حادثه تأکیدی بر اهمیت Security Hygiene است. متخصصان توصیه میکنند:
- دسترسیهای کاربران را در لحظه خروج از سازمان بهطور کامل لغو کنید.
- استقرار EDR روی تمامی ایستگاههای کاری که با کد یا زیرساخت در ارتباط هستند، به دلیل افزایش حملات زنجیره تأمین ضروری است.
- سورسکد را به عنوان دادههای حساس (Sensitive Data) تلقی کرده و آنها را برای یافتن Secrets یا رمزهای سختافزاری (Hardcoded Secrets) اسکن کنید.