از اسامی قابل حدس زدن از قبل در منابع حیاتی ماموریت استفاده نکنید
TL;DR: منابع ابری خود را با اجتناب از الگوهای نامگذاری قابل پیش بینی ایمن کنید.
مشکلات
- اسامی قابل پیش بینی
- دسترسی غیرمجاز
- خطرات قرار گرفتن در معرض داده ها
- منابع سایه
- تصاحب حساب
- آسیب پذیری Idor
- بهینه سازی زودرس
راه حل ها
- از نام های سطل منحصر به فرد با کلیدهای تاریک استفاده کنید
- تأیید مالکیت در ایجاد
- منابع را به طور کامل ایمن کنید
- دارای مسیرهای غیر مستقیمی که نام های واقعی را مبهم می کند
- نام کتاب برای جلوگیری از چمباتمه زدن
- اسامی را تصادفی کنید
زمینه
جابجایی منابع زمانی اتفاق میافتد که مهاجمان الگوهای نامگذاری منابع ابری مانند سطلهای S3 را پیشبینی کنند.
مهاجم آنها را در مناطقی ایجاد می کند که کاربر این کار را نکرده است هنوز منابع مستقر شده
تعامل کاربر با این منابع متعلق به مهاجم میتواند منجر به نقض شدید امنیتی مانند قرار گرفتن در معرض دادهها، دسترسی غیرمجاز یا تصاحب حسابها شود.
این آسیبپذیری در محیطهایی مانند AWS که معمولاً از قراردادهای نامگذاری قابل پیشبینی استفاده میشود، حیاتی است.
بسیاری از سیستم ها از ترس جریمه عملکرد که مصداق واضح بهینه سازی زودرس است، از این غیر جهت گیری اجتناب می کنند.
کد نمونه
اشتباه است
def create_bucket(account_id, region):
bucket_name = f"aws-glue-assets-{account_id}-{region}"
create_s3_bucket(bucket_name)
# This is deterministic and open
درسته
import uuid
def...