RangeAmp - مجموعه ای از حملات CDN که هدر Range HTTP را دستکاری می کند

تیمی از محققان دانشگاه پکن، دانشگاه تسینگ‌هوا و دانشگاه تگزاس در دالاس آشکار کرد کلاس جدیدی از حملات DoS - RangeAmp، بر اساس استفاده از هدر HTTP محدوده برای سازماندهی تقویت ترافیک از طریق شبکه های تحویل محتوا (CDN). ماهیت روش این است که به دلیل نحوه پردازش هدرهای محدوده در بسیاری از CDN ها، مهاجم می تواند یک بایت از یک فایل بزرگ از طریق CDN درخواست کند، اما CDN کل فایل یا بلوک بسیار بزرگتری از داده را از CDN دانلود می کند. سرور مورد نظر در حافظه پنهان قرار می گیرد. درجه تقویت ترافیک در طول چنین حمله ای بسته به CDN از 724 تا 43330 بار متغیر است که می تواند برای بارگذاری بیش از حد CDN با ترافیک ورودی یا کاهش ظرفیت کانال ارتباطی نهایی به سایت قربانی استفاده شود.

RangeAmp - مجموعه ای از حملات CDN که هدر Range HTTP را دستکاری می کند

هدر Range به مشتری این امکان را می دهد که به جای بازگرداندن کل فایل، محدوده ای از موقعیت ها را در فایل مشخص کند که باید دانلود شود. به عنوان مثال، کلاینت می تواند "Range: bytes=0-1023" را مشخص کند و سرور فقط 1024 بایت اول داده را ارسال می کند. این ویژگی هنگام بارگیری فایل های بزرگ مورد تقاضا است - کاربر می تواند بارگیری را متوقف کند و سپس از موقعیت قطع شده ادامه دهد. هنگام مشخص کردن "bytes=0-0"، استاندارد دستور می دهد که اولین بایت در فایل، "bytes=-1" - آخرین، "bytes=1-" - از 1 بایت تا پایان فایل ارائه شود. امکان انتقال چندین محدوده در یک هدر وجود دارد، به عنوان مثال "Range: bytes=0-1023,8192-10240".

علاوه بر این، یک گزینه حمله دوم پیشنهاد شده است، با هدف افزایش بار شبکه هنگام انتقال ترافیک از طریق CDN دیگر، که به عنوان یک پروکسی استفاده می شود (به عنوان مثال، زمانی که Cloudflare به عنوان جلو (FCDN) عمل می کند، و Akamai به عنوان backend عمل می کند. BCDN). این روش مشابه حمله اول است، اما در شبکه های CDN محلی سازی شده است و امکان افزایش ترافیک را در صورت دسترسی از طریق CDN های دیگر، افزایش بار روی زیرساخت و کاهش کیفیت خدمات فراهم می کند.

ایده این است که مهاجم درخواست های Range از چندین محدوده را به CDN ارسال می کند، مانند "bytes=0-,0-,0-..."، "bytes=1-,0-,0-..." یا "bytes=-1024,0 ,0-,0-...". درخواست ها شامل تعداد زیادی محدوده "0-" هستند که به این معنی است که فایل از موقعیت صفر به انتها بازگردانده می شود. به دلیل اجرای نادرست تجزیه محدوده، زمانی که CDN اول به دومی دسترسی پیدا می کند، یک فایل کامل برای هر محدوده "53-" ارسال می شود (محدوده ها تجمیع نمی شوند، اما به صورت متوالی تکرار می شوند)، در صورت وجود تکرار و تقاطع محدوده ها در درخواستی که ابتدا توسط مهاجم ارسال شد. درجه تقویت ترافیک در چنین حمله ای از 7432 تا XNUMX بار متغیر است.

RangeAmp - مجموعه ای از حملات CDN که هدر Range HTTP را دستکاری می کند

در طول مطالعه، رفتار 13 CDN مورد مطالعه قرار گرفت -
Akamai، Alibaba Cloud، Azure، CDN77، CDNsun، Cloudflare، CloudFront، Fastly، G-Core Labs، Huawei Cloud، KeyCDN، StackPath و Tencent Cloud. همه CDN های مورد بررسی، اولین نوع حمله را به سرور پایانی مجاز می دانستند. نوع دوم حمله CDN بر 6 سرویس تأثیر گذاشت که از این میان چهار سرویس می‌توانستند به عنوان فرانت‌اند در حمله عمل کنند (CDN77، CDNsun، Cloudflare و StackPath) و سه سرویس به‌عنوان پشتیبان (Akamai، Azure و StackPath). بیشترین سود در Akamai و StackPath به دست می آید که اجازه می دهد بیش از 10 هزار محدوده در هدر Range مشخص شود. صاحبان CDN حدود 7 ماه پیش از آسیب پذیری ها مطلع شدند و تا زمان افشای عمومی اطلاعات، 12 CDN از 13 CDN مشکلات شناسایی شده را برطرف کرده یا برای رفع آنها ابراز آمادگی کرده بودند (تنها سرویس StackPath پاسخ نداد).

منبع: opennet.ru

اضافه کردن نظر