آخرین اخبار
همهٔ اخبار
امنیت ابری گزارش بحرانیت ۶/۱۰

تحلیل مکانیسم AWS برای خنثی‌سازی کلیدهای IAM لو رفته از طریق Managed Policies

تحلیل مکانیسم AWS برای خنثی‌سازی کلیدهای IAM لو رفته از طریق Managed Policies

در محیط‌های ابری AWS، سوءاستفاده از کلیدهای دسترسی (Access Keys) کاربران IAM همچنان یکی از رایج‌ترین بردارهای حمله اولیه است. این کلیدها معمولاً از طریق انتشار تصادفی در مخازن عمومی کد (مانند GitHub) یا فایل‌های متغیرهای محیطی (Environment Variables) لو می‌روند. برای مقابله با این تهدید، AWS مکانیزمی را از طریق یک سیاست مدیریتی به نام AWSCompromisedKeyQuarantine پیاده‌سازی کرده است.

عملکرد سیاست AWSCompromisedKeyQuarantine

زمانی که AWS متوجه لو رفتن کلیدهای دسترسی یک کاربر در محیط‌های عمومی شود، به‌طور خودکار سیاست AWSCompromisedKeyQuarantine را به آن کاربر IAM متصل می‌کند. این سیاست بر اساس اصل Explicit Deny عمل می‌کند؛ به این معنا که هرگونه دسترسی منع شده در این سیاست، حتی اگر در سیاست‌های دیگر کاربر اجازه (Allow) داده شده باشد، لغو می‌شود.

هدف از این رویکرد، محدود کردن آسیب‌های احتمالی (مانند ایجاد هزینه‌های غیرمجاز یا تخریب منابع) بدون متوقف کردن کامل عملیات‌های تجاری ضروری است. این سیاست در سه نسخه (V1, V2, V3) تکامل یافته و هر نسخه بر اساس متدهای جدید مهاجمان به‌روزرسانی شده است:

  • نسخه V1: تمرکز بر محدود کردن ۲۸ اکشن در ۵ سرویس کلیدی برای جلوگیری از حملاتی مانند Cryptomining.
  • نسخه V2: گسترش محدودیت‌ها به ۶۱ دسترسی در ۱۷ سرویس، از جمله S3 برای جلوگیری از حذف داده‌ها پس از سرقت (Exfiltration).
  • نسخه V3: به‌روزرسانی‌های تکمیلی برای مقابله با تهدیدات جدیدتر، از جمله محدود کردن دسترسی‌های سرویس Amazon Bedrock جهت جلوگیری از فراخوانی‌های غیرمجاز API.

یکپارچگی با GitHub Secret Scanning

AWS با برنامه Secret Scanning گیت‌هاب همکاری می‌کند. گیت‌هاب مخازن عمومی و بسته‌های npm را برای شناسایی توالی‌های حساس اسکن کرده و در صورت یافتن کلیدهای AWS، از طریق یک Endpoint اطلاع‌رسانی می‌کند. در تست‌های واقعی مشاهده شده است که AWS تنها در عرض ۱۰ ثانیه پس از انتشار کلید در GitHub، سیاست قرنطینه را اعمال کرده و تیکت‌های پشتیبانی مربوطه را ایجاد می‌کند.

استراتژی‌های مانیتورینگ برای تیم‌های SOC

مدیران امنیت و مهندسان SOC می‌توانند برای شناسایی سریع این وقایع، موارد زیر را در لاگ‌های CloudTrail رصد کنند:

  • Sourcing Event: رصد رویداد AttachUserPolicy با منبع IAM. در بخش PolicyArn، نام سیاست قرنطینه قابل مشاهده است.
  • GitHub Validity Checks: گیت‌هاب برای تایید فعال بودن کلید، درخواست GetCallerIdentity را از طریق STS ارسال می‌کند. این درخواست‌ها دارای User-Agentهای خاصی هستند (مانند GHAS-AWS_KEYID-validation) که با رصد آن‌ها می‌توان پیش از سوءاستفاده مهاجم، از لو رفتن کلید مطلع شد.