HTTP/2 zəifliyi ən böyük DDoS hücumunda iştirak edir

Google öz infrastrukturuna ən böyük DDoS hücumunu qeydə alıb, intensivliyi saniyədə 398 milyon sorğu olub. Yeni hücum hücumçuların saniyədə 7 milyon sorğu axını yaratmağa müvəffəq olduğu əvvəlki rekord qıran DDoS hücumundan 47 dəfə daha intensivdir. Müqayisə üçün qeyd edək ki, bütün İnternetdə bütün trafik saniyədə 1-3 milyard sorğu olaraq qiymətləndirilir. Google-dan başqa Amazon və Cloudflare də hücumla üzləşib. Yeni hücum ehtimalı HTTP/2 protokolunda (CVE-2023-44487) zəifliyin müəyyən edilməsi ilə bağlıdır ki, bu da müştəriyə minimal yüklə serverə böyük sorğu axını göndərməyə imkan verir.

Yeni hücum texnikası “Rapid Reset” adlanır və HTTP/2-də təqdim edilən kommunikasiya kanallarının multipleksləşdirilməsi vasitələrinin artıq qurulmuş bir əlaqə daxilində, yeni şəbəkə əlaqələri açmadan və əlaqə yaratmadan sorğu axını yaratmağa imkan verməsindən istifadə edir. paketlərin alınmasının təsdiqini gözləyir. Zəiflik HTTP/2 protokolundakı qüsurun nəticəsi hesab olunur, onun spesifikasiyasına görə, həddən artıq çox axın açmağa cəhd edilirsə, bütün şəbəkə deyil, yalnız limiti aşan axınlar ləğv edilməlidir. əlaqə.

HTTP/2-də əvvəllər istifadə edilmiş hücum metodlarına bənzər, yeni hücum eyni zamanda bir əlaqə daxilində çoxlu sayda mövzu yaradır. Yeni hücumun əsas fərqi ondan ibarətdir ki, cavab gözləmək əvəzinə hər bir göndərilən sorğunun ardınca sorğunu dərhal ləğv edən RST_STREAM bayrağı olan çərçivə gəlir. Sorğunu erkən mərhələdə ləğv etmək müştəriyə əks trafikdən qurtulmağa və HTTP serverlərində vahid HTTP/2 bağlantısı daxilində eyni vaxtda açıla bilən axınların maksimum mümkün sayına qoyulan məhdudiyyətlərdən yan keçməyə imkan verir. Beləliklə, yeni hücumda HTTP serverinə göndərilən sorğuların həcmi sorğunun göndərilməsi ilə cavabın alınması arasındakı gecikmələrdən (RTT, gediş-gəliş vaxtı) asılı olmağı dayandırır və yalnız rabitə kanalının ötürmə qabiliyyətindən asılıdır.

 HTTP/2 zəifliyi ən böyük DDoS hücumunda iştirak edir

Müştəri tərəfindəki hücum cavab almadan sadəcə sorğuların göndərilməsini tələb etdiyindən, hücum minimal xərclə həyata keçirilə bilər. Məsələn, Cloudflare tərəfindən qeydə alınan saniyədə 201 milyon sorğu hücumu 20 kompüterdən ibarət nisbətən kiçik bir botnetdən istifadə edilərək həyata keçirilib. server Daxil olan sorğuların emal dəyəri, ləğv edilməsinə baxmayaraq, yeni axınlar üçün məlumat strukturlarının ayrılması, sorğunun təhlili, başlığın açılması və URL-in resursla uyğunlaşdırılması kimi əməliyyatların yerinə yetirilməsi zərurəti səbəbindən xeyli yüksəkdir. Əks proksilərə hücum edərkən, hücum arxa tərəflərə yayıla bilər, çünki proksi RST_STREAM çərçivəsi işlənməmişdən əvvəl sorğunu arxa tərəfə yönləndirə bilər.

Hücum yalnız HTTP/2-ni dəstəkləyən həssas serverlərdə (serverlərdə zəifliyi yoxlamaq üçün skript, hücum vasitələri) həyata keçirilə bilər. HTTP/3 üçün hələlik heç bir hücum aşkar edilməyib və onların mümkünlüyü tam təhlil edilməyib, lakin Google nümayəndələri tərtibatçılara tövsiyə edirlər ki, serverlər HTTP/2 üzərindəki hücumları bloklamaq üçün tətbiq edilənlərə bənzər HTTP/3 tətbiqlərinə qoruma tədbirləri əlavə edin.

Zəifliyə məruz qalma və HTTP serverləri və proksilər üçün düzəlişlərin mövcudluğu:

  • nginx (elan, defolt konfiqurasiyada zəifliyin nginx-də tam şəkildə özünü göstərməməsinin aydınlaşdırılması, çünki hücum hər bağlantı üzrə sorğuların sayına məhdudiyyətlə məhdudlaşdırılacaq (yəni, hər 1000 sorğudan sonra əlaqə sıfırlanacaq). Yamaq “limit_req” direktivi vasitəsilə sorğuların intensivliyini məhdudlaşdırmaq üçün əlavə qoruma əlavə edir).
  • HAProxy-də HTTP/2 tellərinin sayı üzrə limiti keçməyə qarşı effektiv müdafiə 2018-ci ildə əlavə edilib və 1.9-dev versiyasından bəri qüvvədədir.
  • Apache httpd (httpd-də müəyyən bir yük yaradılır, lakin o, arxa planlara aid edilmir və 2016-cı ildən qüvvədə olan müştəri əlaqələri məhdudiyyətləri ilə məhdudlaşır).
  • Apache httpd üçün mod_h2.
  • golf takımlarını daşıyan
  • göndərdi
  • golang (məsələ Go 1.21.3 və 1.20.10 buraxılışlarında düzəldildi).
  • h2o (yamaq).
  • grpc-get
  • hiper (zəiflik görünmür).
  • iskele (12.0.2, 11.0.17, 10.0.17 və 9.4.53.v20231009-da sabitlənmişdir).
  • cəmi
  • nghttp2 (1.57.0 versiyasında sabitlənmişdir).
  • Facebook proxygen
  • .NET və ASP.NET Core (ASP.NET Core Kestrel http server həssasdır).
  • Node.js
  • proxygen
  • swift-nio-http2 (1.28.0 versiyasında düzəldilib).
  • Apache Tomcat (11.0.0-M12, 10.1.14, 9.0.81, 8.5.94 versiyalarında sabitlənmişdir).
  • Apache Traffic Server (9.2.x filialında sabitlənmişdir).

Mənbə: opennet.ru

Добавить комментарий