RangeAmp - satu siri serangan CDN yang memanipulasi pengepala HTTP Julat

Pasukan penyelidik dari Universiti Peking, Universiti Tsinghua dan Universiti Texas di Dallas didedahkan kelas serangan DoS baharu - RangeAmp, berdasarkan penggunaan pengepala HTTP Pertengahan untuk mengatur penguatan trafik melalui rangkaian penghantaran kandungan (CDN). Intipati kaedah ini adalah kerana cara pengepala Julat diproses dalam banyak CDN, penyerang boleh meminta satu bait daripada fail besar melalui CDN, tetapi CDN akan memuat turun keseluruhan fail atau blok data yang lebih besar daripada pelayan sasaran untuk diletakkan dalam cache. Tahap penguatan trafik semasa serangan sedemikian, bergantung pada CDN, berjulat dari 724 hingga 43330 kali, yang boleh digunakan untuk membebankan CDN dengan trafik masuk atau mengurangkan kapasiti saluran komunikasi akhir ke tapak mangsa.

RangeAmp - satu siri serangan CDN yang memanipulasi pengepala HTTP Julat

Pengepala Julat memberikan klien keupayaan untuk menentukan julat kedudukan dalam fail yang perlu dimuat turun dan bukannya mengembalikan keseluruhan fail. Sebagai contoh, pelanggan boleh menentukan "Julat: bait=0-1023" dan pelayan akan menghantar hanya 1024 bait pertama data. Ciri ini sangat diperlukan apabila memuat turun fail besar - pengguna boleh menjeda muat turun dan kemudian meneruskan dari kedudukan yang terganggu. Apabila menentukan β€œbait=0-0”, piawaian mengarahkan untuk memberikan bait pertama dalam fail, β€œbait=-1” - yang terakhir, β€œbait=1-” - bermula dari 1 bait sehingga akhir fail. Adalah mungkin untuk menghantar beberapa julat dalam satu pengepala, contohnya "Julat: bait=0-1023,8192-10240".

Selain itu, pilihan serangan kedua telah dicadangkan, bertujuan untuk meningkatkan beban rangkaian apabila memajukan trafik melalui CDN lain, yang digunakan sebagai proksi (contohnya, apabila Cloudflare bertindak sebagai bahagian hadapan (FCDN), dan Akamai bertindak sebagai bahagian belakang ( BCDN). Kaedah ini serupa dengan serangan pertama, tetapi disetempatkan dalam rangkaian CDN dan membolehkan peningkatan trafik apabila diakses melalui CDN lain, meningkatkan beban pada infrastruktur dan mengurangkan kualiti perkhidmatan.

Ideanya ialah penyerang menghantar permintaan Julat beberapa julat ke CDN, seperti "bait=0-,0-,0-...", "bait=1-,0-,0-..." atau "bait=-1024,0 ,0-,0-...". Permintaan mengandungi sejumlah besar julat "0-", membayangkan bahawa fail dikembalikan dari kedudukan sifar hingga akhir. Disebabkan pelaksanaan penghuraian julat yang salah, apabila CDN pertama mengakses yang kedua, fail lengkap dihantar untuk setiap julat "53-" (julat tidak diagregatkan, tetapi diulang secara berurutan), jika terdapat penduaan dan persilangan julat dalam permintaan yang mula-mula dihantar oleh penyerang. Tahap penguatan trafik dalam serangan sedemikian berkisar antara 7432 hingga XNUMX kali.

RangeAmp - satu siri serangan CDN yang memanipulasi pengepala HTTP Julat

Semasa kajian, tingkah laku 13 CDN telah dikaji -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath dan Tencent Cloud. Semua CDN yang diperiksa membenarkan jenis serangan pertama pada pelayan akhir. Varian kedua serangan CDN menjejaskan 6 perkhidmatan, di mana empat daripadanya boleh bertindak sebagai bahagian hadapan dalam serangan (CDN77, CDNsun, Cloudflare dan StackPath) dan tiga sebagai bahagian belakang (Akamai, Azure dan StackPath). Keuntungan terbesar dicapai dalam Akamai dan StackPath, yang membolehkan lebih daripada 10 ribu julat ditentukan dalam pengepala Julat. Pemilik CDN telah dimaklumkan tentang kelemahan kira-kira 7 bulan yang lalu, dan pada masa maklumat itu didedahkan secara terbuka, 12 daripada 13 CDN telah membetulkan masalah yang dikenal pasti atau menyatakan kesediaan untuk membetulkannya (hanya perkhidmatan StackPath tidak bertindak balas).

Sumber: opennet.ru

Tambah komen