Ağustos 2023'te Google, Cloudflare ve AWS aynı anda o zamana kadar kaydedilmiş en büyük DDoS saldırılarını atlattı — saniyede yaklaşık 398 milyon istekle zirve yaptı. Sebep daha büyük bir botnet değil, daha akıllı bir teknikti: HTTP/2 protokolünde artık Rapid Reset olarak bilinen ve CVE-2023-44487 olarak kataloglanan bir kusur. Üç şirket, açığı ifşa etmeden önce koordineli şekilde yamaladı; çünkü teknik, az sayıda makinenin ağırlığının çok üzerinde vurmasına olanak tanıyordu.
Rapid Reset Nasıl Çalışır?
HTTP/2 tek bir TCP bağlantısı üzerinde birçok isteği çoğullar (multiplex) ve bir istemcinin bir RST_STREAM çerçevesiyle bir isteği anında iptal etmesine izin verir. Rapid Reset bunu, sürekli bir istek-sonra-anında-iptal çiftleri akışı göndererek suistimal eder. Sunucu, her isteği kurup yıkmanın pahalı işini aşırı bir hızda yapar, ama saldırganın uzun ömürlü bağlantılar tutması hiç gerekmez — böylece minik bir ayak izi devasa bir istek hızı üretir.
Verimlilik açığa dönüştü
Yaklaşık 20.000 makinelik bir botnet, Google'a karşı saniyede 398 milyon istek üretti. Benzer bir HTTP/1.1 saldırısı kabaca 100 kat daha fazla bot gerektirirdi. HTTP/2'yi hızlı yapan özelliğin ta kendisi, saldırıyı bu kadar ucuz yaptı.
Azaltma
- HTTP/2 uygulamanızı yamalayın — her büyük web sunucusu CVE-2023-44487 için bir düzeltme yayınladı.
- SETTINGS_MAX_CONCURRENT_STREAMS'i sunucu ya da vekil düzeyinde sınırlayın.
- Bağlantı başına RST_STREAM çerçevelerini hız sınırlayın, böylece hızlı iptaller kısılsın.
- HTTP/2'yi sunucunuzun önündeki bir ters vekilde sonlandırın — Akarguard'ın vekili HTTP/2 katmanını sizin adınıza yönetir, böylece yamasız bir sunucu ham teknikten korunur.
Daha Geniş Ders
Rapid Reset bir dönüm noktasıydı, çünkü sınırın ham bant genişliğinden protokol kurnazlığına — başlatması ucuz, meşru trafikten ayırması zor uygulama katmanı saldırılarına — kaydığını gösterdi. Kalıcı savunma, sunucunuzun HTTP/2 yığınını doğrudan internete açmak yerine, taşımayı bağımsız olarak yamalanmış ve sertleştirilmiş bir ters vekilde sonlandırmaktır. Akarguard bunu edge'de yapar: HTTP/2'yi sonlandırır, istek/reset çalkantısını sunucunuzdan uzakta soğurur ve istek akışına hız limitleri ile sınamalar uygular — ağ katmanı hacimsel taraf ise üst-akış sağlayıcınızda kalır. Bir sonraki protokol düzeyi teknik ortaya çıktığında, önünüzdeki bakımlı bir vekil size yama yapmak için zaman kazandıran şeydir.