شرکت AWS قابلیتی را پیادهسازی کرده است که به طور خودکار کلیدهای دسترسی Identity and Access Management (IAM) را که در مخازن عمومی GitHub قرار میگیرند، شناسایی و قرنطینه میکند. این فرآیند شامل اعمال یک Policy مدیریتی محدودکننده در عرض چند ثانیه است تا ریسک سوءاستفاده از منابع ابری کاهش یابد.
تحلیل مکانیسم پاسخ AWS
پژوهشگران Unit 42 از شرکت Palo Alto Networks گزارش دادهاند که AWS از Policy خاصی به نام AWSCompromisedKeyQuarantine استفاده میکند. این سیاست، مجموعهای از اقدامات پرریسک (High-risk actions) را مسدود میکند، در حالی که تا حد امکان دسترسی به منابع موجود را حفظ مینماید تا تداوم کسبوکار مختل نشود.
جریان شناسایی و واکنش
- اسکن Secrets: GitHub از طریق برنامه Partner Secret-scanning، مخازن عمومی و بستههای npm را برای یافتن الگوهای شناخته شده کلیدهای دسترسی اسکن میکند.
- اعلان سریع: در صورت شناسایی، GitHub فوراً به AWS اطلاع میدهد.
- اعمال محدودیت: AWS بدون نیاز به اقدام دستی مالک حساب، Policy قرنطینه را به کاربر IAM مربوطه متصل میکند. در تستهای Unit 42، این اتفاق تنها 10 ثانیه پس از انتشار کلید در GitHub رخ داده است.
- اطلاعرسانی: پس از قرنطینه، هشدارهای AWS Health، ایمیلها و یک Case پشتیبانی برای کاربر ارسال میشود.
جزئیات فنی Policy قرنطینه
نکته کلیدی این است که AWS کاربر IAM را کاملاً غیرفعال نمیکند، بلکه دستورات Explicit Deny را اعمال میکند. در مدل ارزیابی سیاستهای AWS، یک Deny صریح بر هرگونه Allow اولویت دارد. این سیاست در نسخه 3 خود، محدودیتهایی را بر روی 17 سرویس مختلف (از جمله EC2، S3، Lambda و Lightsail) اعمال کرده و 61 مجوز پرریسک را مسدود میکند.
اقداماتی که مسدود میشوند شامل موارد زیر است:
– ایجاد کاربران یا کلیدهای دسترسی جدید در IAM
– اتصال Policyهای جدید
– ایجاد Roleها
– راهاندازی Instanceهای EC2 و درخواست Spot Instances
– ایجاد توابع Lambda
توصیههای امنیتی برای تیمهای SOC و مهندسی
با وجود این لایه دفاعی، این قابلیت جایگزینی برای چرخش کلیدها (Credential Rotation) و پاسخ به حوادث (Incident Response) نیست. تیمهای امنیتی باید اقدامات زیر را انجام دهند:
- مانیتورینگ: رصد رویدادهای
AttachUserPolicyدر AWS CloudTrail برای شناسایی موارد قرنطینه شده. - یکپارچهسازی: ارسال این رویدادها به پلتفرم SIEM برای اطلاعرسانی سریع به تیمهای عملیاتی.
- پاکسازی: شناسایی تمامی سیستمهایی که از کلید افشا شده استفاده میکردند، جایگزینی کلید و بررسی فعالیتهای مشکوک قبل و بعد از افشا.