Në realizime të ndryshme të protokollit HTTP/2 janë identifikuar 8 dobësi DoS.

Kërkuesit nga kompanitë Netflix dhe Google identifikuan gjetën tetë vulnerabilitete në implementimet e ndryshme të protokollit HTTP/2, të cilat lejojnë shkaktimin e një ndalimi të shërbimit përmes dërgimit të një rrjedhe të dhënash që janë formatuar në një mënyrë të caktuar. Problemet prekin në një farë mase shumicën e serverëve HTTP që mbështesin HTTP/2 dhe çojnë në shterimin e memories së disponueshme për procesin e punës ose krijimin e një ngarkese shumë të lartë në CPU. Azhurnimet që adresojnë këto vulnerabilitete janë tashmë të disponueshme në nginx 1.16.1/1.17.3 dhe H2O 2.2.6, por akoma të papastër për Apache httpd dhe produkte të tjera.

Problemet ishin pasojë e ndërlikimeve të sjella në protokollin HTTP/2, të lidhura me përdorimin e strukturave binarë, sistemit të kufizimit të rrjedhave të dhënash brenda lidhjeve, mekanizmit të prioritizimit të rrjedhave dhe pranisë së mesazheve të kontrollit të ngjashme me ICMP që funksionojnë në nivelin e lidhjes HTTP/2 (p.sh. operacionet ping, rifillimi dhe konfigurimi i rrjedhës). Shumica e implementimeve nuk i kufizuan siç duhet rrjedhat e mesazheve të kontrollit, organizonin në mënyrë joefikase radhën e prioriteteve gjatë përpunimit të kërkesave, ose përdornin implementime jo optimale të algoritmeve të kontrollit të rrjedhës.

Shumica e metodave të identifikuara të sulmit përfshijnë dërgimin e kërkesave të caktuara në server që shkaktojnë gjenerimin e një numri të madh përgjigjesh. Nëse klienti nuk lexon të dhënat nga soketi dhe nuk ndërpret lidhjen, radhë e tamponit të përgjigjeve në anën e serverit vazhdimisht mbushët. Një sjellje e tillë krijon ngarkesë në sistemin e menaxhimit të radhëve për përpunimin e lidhjeve rrjet dhe në varësi të veçorive të implementimit, çon në shterimin e memories ose burimeve të CPU-së.

Vulnerabilitetet e identifikuara:

  • CVE-2019-9511 (Data Dribble) — sulmuesi kĂ«rkon njĂ« volum tĂ« madh tĂ« tĂ« dhĂ«nave nĂ« disa rrjedha, duke manipuluar madhĂ«sinĂ« e dritares lundruese dhe prioritetin e rrjedhĂ«s, duke detyruar serverin tĂ« vendosĂ« tĂ« dhĂ«nat nĂ« radhĂ« nĂ« blloqe prej 1 byte;
  • CVE-2019-9512 (Ping Flood) — sulmuesi vazhdimisht dĂ«rgon mesazhe ping pĂ«rmes lidhjes HTTP/2, duke nxisur mbushjen e radhĂ«s sĂ« brendshme tĂ« pĂ«rgjigjeve tĂ« dĂ«rguara nĂ« anĂ«n tjetĂ«r;
  • CVE-2019-9513 (Resource Loop) — sulmuesi krijon disa rrjedha kĂ«rkesash dhe vazhdimisht ndryshon prioritetet e rrjedhave, duke shkaktuar pĂ«rzierjen e pemĂ«s sĂ« prioriteteve;
  • CVE-2019-9514 (Reset Flood) — sulmuesi krijon disa rrjedha
    dhe dërgon përmes çdo shkalle një kërkesë të papërshtatshme, duke shkaktuar dërgimin nga serveri të paketave RST_STREAM, por nuk i pranon ato për të mbushur radhën e përgjigjeve;
  • CVE-2019-9515 (Settings Flood) — sulmuesi dĂ«rgon njĂ« rrjedhĂ« paketash bosh "SETTINGS", ndaj tĂ« cilave serveri Ă«shtĂ« i detyruar tĂ« konfirmojĂ« pranimimin e çdo kĂ«rkese;
  • CVE-2019-9516 (0-Length Headers Leak) — sulmuesi dĂ«rgon njĂ« rrjedhĂ« titujsh me emĂ«r zero dhe vlerĂ« zero, ndĂ«rsa serveri alokon njĂ« tampon nĂ« memorie pĂ«r ruajtjen e çdo titulli dhe nuk e çliron atĂ« deri nĂ« pĂ«rfundimin e sesionit;
  • CVE-2019-9517 (Internal Data Buffering) — sulmuesi hap
    një dritare lëvizëse HTTP/2 për të dërguar të dhëna nga serveri pa kufizime, por mban dritaren TCP të mbyllur, gjë që nuk lejon mbushjen reale të të dhënave në socket. Më pas, sulmuesi dërgon kërkesa që kërkojnë përgjigje të mëdha;
  • CVE-2019-9518 (Empty Frames Flood) — sulmuesi dĂ«rgon njĂ« rrjedhĂ« paketash tĂ« tipit DATA, HEADERS, CONTINUATION ose PUSH_PROMISE, por me pĂ«rmbajtje bosh dhe pa flamur pĂ«rfundimi. Serveri humbet kohĂ« nĂ« pĂ«rpunimin e çdo pakete, proporcionalisht me bandĂ«n e tĂ« dhĂ«nave tĂ« shpenzuar nga sulmuesi.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster