سرویسهای ابری آمازون (AWS) اکنون قادرند فاصله زمانی بین شناسایی و مهار (Containment) کلیدهای دسترسی IAM را که در مخازن عمومی GitHub منتشر شدهاند، به چند ثانیه کاهش دهند. در آزمایشهای کنترلشده توسط Unit 42، این پلتفرم تنها ۱۰ ثانیه پس از انتشار اعتبارنامهها (Credentials)، سیاست مدیریتی AWSCompromisedKeyQuarantineV3 را به کاربر IAM مربوطه اعمال کرد تا پنجره زمانی مورد نیاز برای سوءاستفاده مهاجمان به شدت محدود شود.
مکانیزم شناسایی و پاسخ خودکار
کلیدهای دسترسی بلندمدت IAM به دلیل فراهم کردن دسترسی برنامهنویسی (Programmatic Access) بدون نیاز به احراز هویت تعاملی، همچنان یکی از جذابترین بردارهای دسترسی اولیه (Initial-Access Vectors) برای مهاجمان هستند. توسعهدهندگان ممکن است به طور تصادفی این کلیدها را در کد منبع، فایلهای پیکربندی یا فایلهای Environment به صورت عمومی منتشر کنند.
سیستم Secret Scanning در GitHub مخازن عمومی را برای شناسایی الگوهای شناخته شده اعتبارنامهها پایش میکند و از طریق یکپارچگی با AWS، این موارد را مستقیماً گزارش میدهد تا ارائهدهنده سرویس بتواند واکنش سریع نشان دهد.
تحلیل زمانی عملیات قرنطینه
بر اساس دادههای منتشر شده، توالی زمانی یک مورد افشا به شرح زیر است:
- ثانیه ۰: ارسال کلید دسترسی به مخزن عمومی GitHub.
- ثانیه ۱۰: ثبت رویداد AttachUserPolicy در CloudTrail و اعمال سیاست قرنطینه روی کاربر.
- ثانیه ۱۱: ارسال هشدار ایمیلی توسط GitHub.
- ثانیه ۱۷: نمایش اعلان Risk IAM quarantine در کنسول AWS Health.
- ثانیه ۲۶: ارسال ایمیل اطلاعرسانی توسط AWS.
- ثانیه ۵۹: ایجاد یک Ticket پشتیبانی (Support Case).
تکامل سیاستهای قرنطینه و محدودیتها
سیاست قرنطینه AWS از سال ۲۰۲۰ آغاز شد و در نسخههای V2 و V3 گسترش یافت. در حال حاضر، این سیاست دسترسی به دهها عملیات حساس در سرویسهایی نظیر S3، EC2، Lambda، Bedrock و SageMaker را مسدود میکند. این تکامل با تغییر متدهای حملات ابری همسو است؛ برای مثال، محدود کردن ایجاد Role یا Lambda برای جلوگیری از استقرار بدافزارهای استخراج رمزارز (Cryptomining) و کنترل حذف S3 برای مقابله با باجافزارهای اخاذی از دادهها (Data Extortion) طراحی شده است.
نکات کلیدی برای تیمهای SOC و مهندسی امنیت
باید توجه داشت که قرنطینه به معنای ابطال (Revocation) کامل کلید نیست. AWS به جای غیرفعال کردن کامل کلید یا اعمال AWSDenyAll، تنها عملیاتهای پرخطر را مسدود میکند تا تداخل با گردش کارهای قانونی (Legitimate Workloads) به حداقل برسد. بنابراین، مهاجم ممکن است همچنان بتواند عملیاتی را که در لیست Deny نیست، اجرا کند.
توصیههای عملیاتی:
- مانیتورینگ رویدادهای AttachUserPolicy در CloudTrail که شامل سیاستهای AWSCompromisedKeyQuarantine هستند.
- بررسی درخواستهای GetCallerIdentity که توسط User-Agentهای خودکار GitHub ارسال شدهاند.
- در صورت مشاهده قرنطینه، سریعاً اقدام به چرخش (Rotate) یا غیرفعالسازی کامل کلیدهای افشا شده نمایید.