RangeAmp - serangkaian serangan CDN yang memanipulasi header Range HTTP

Sebuah tim peneliti dari Universitas Peking, Universitas Tsinghua dan Universitas Texas di Dallas mengungkapkan kelas serangan DoS baru - RangeAmp, berdasarkan penggunaan header HTTP Jarak untuk mengatur amplifikasi lalu lintas melalui jaringan pengiriman konten (CDN). Inti dari metode ini adalah karena cara header Range diproses di banyak CDN, penyerang dapat meminta satu byte dari file besar melalui CDN, namun CDN akan mendownload seluruh file atau blok data yang jauh lebih besar dari CDN. server target untuk ditempatkan di cache. Tingkat amplifikasi lalu lintas selama serangan tersebut, bergantung pada CDN, berkisar antara 724 hingga 43330 kali, yang dapat digunakan untuk membebani CDN dengan lalu lintas masuk atau mengurangi kapasitas saluran komunikasi akhir ke situs korban.

RangeAmp - serangkaian serangan CDN yang memanipulasi header Range HTTP

Header Range memberi klien kemampuan untuk menentukan rentang posisi dalam file yang harus diunduh alih-alih mengembalikan seluruh file. Misalnya, klien dapat menentukan "Rentang: bytes=0-1023" dan server hanya akan mengirimkan 1024 byte data pertama. Fitur ini dibutuhkan saat mengunduh file besar - pengguna dapat menjeda pengunduhan dan kemudian melanjutkan dari posisi terputus. Saat menentukan "bytes=0-0", standar menginstruksikan untuk memberikan byte pertama dalam file, "bytes=-1" - yang terakhir, "bytes=1-" - mulai dari 1 byte hingga akhir file. Dimungkinkan untuk mengirimkan beberapa rentang dalam satu header, misalnya β€œRentang: byte=0-1023,8192-10240”.

Selain itu, opsi serangan kedua telah diusulkan, yang bertujuan untuk meningkatkan beban jaringan ketika meneruskan lalu lintas melalui CDN lain, yang digunakan sebagai proxy (misalnya, ketika Cloudflare bertindak sebagai frontend (FCDN), dan Akamai bertindak sebagai backend ( BCDN). Metode ini mirip dengan serangan pertama, tetapi dilokalisasi dalam jaringan CDN dan memungkinkan peningkatan lalu lintas ketika diakses melalui CDN lain, sehingga meningkatkan beban pada infrastruktur dan mengurangi kualitas layanan.

Idenya adalah penyerang mengirimkan permintaan Range dari beberapa rentang ke CDN, seperti "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." atau "byte=-1024,0 ,0-,0-...". Permintaan berisi sejumlah besar rentang β€œ0-”, yang menyiratkan bahwa file dikembalikan dari posisi nol hingga akhir. Karena penerapan penguraian rentang yang salah, ketika CDN pertama mengakses CDN kedua, file lengkap dikirim untuk setiap rentang β€œ53-” (rentang tidak diagregasi, tetapi diulang secara berurutan), jika ada duplikasi dan perpotongan rentang di permintaan awalnya dikirim oleh penyerang. Tingkat amplifikasi lalu lintas dalam serangan semacam itu berkisar antara 7432 hingga XNUMX kali.

RangeAmp - serangkaian serangan CDN yang memanipulasi header Range HTTP

Selama penelitian, perilaku 13 CDN dipelajari -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath, dan Tencent Cloud. Semua CDN yang diperiksa mengizinkan jenis serangan pertama pada server akhir. Varian kedua dari serangan CDN memengaruhi 6 layanan, empat di antaranya dapat bertindak sebagai frontend dalam serangan tersebut (CDN77, CDNsun, Cloudflare, dan StackPath) dan tiga sebagai backend (Akamai, Azure, dan StackPath). Keuntungan terbesar dicapai di Akamai dan StackPath, yang memungkinkan lebih dari 10 ribu rentang ditentukan di header Range. Pemilik CDN diberitahu tentang kerentanan tersebut sekitar 7 bulan yang lalu, dan pada saat informasi tersebut diungkapkan kepada publik, 12 dari 13 CDN telah memperbaiki masalah yang teridentifikasi atau menyatakan kesiapan untuk memperbaikinya (hanya layanan StackPath yang tidak merespons).

Sumber: opennet.ru

Tambah komentar