Ha biztonságos internetet akarunk, a HTTP/1.1-nek meg kell szűnnie

Editors' Pick

A HTTP/1.1 alapvetően nem biztonságos, és még mindig több millió webhelyet tesz ki rosszindulatú kibertevékenységnek. A PortSwigger cikke több új típusú HTTP desync támadást mutat be, amelyek képesek a felhasználói hitelesítő adatok tömeges kompromittálására. Ezeket a technikákat részletes esettanulmányokkal mutatják be, beleértve azokat a kritikus sérülékenységeket, amelyek több tízmillió webhelyet tettek kihasználhatóvá.

A HTTP/1.1 egy könnyen kihasználható hibával rendelkezik: az egyes HTTP-kérelmek közötti határok nagyon gyengék. A kérelmek egyszerűen összefűződnek az alapul szolgáló TCP/TLS-socketen, elválasztójelek nélkül, és többféle módon lehet megadni a hosszúságukat. Ez azt jelenti, hogy a támadók rendkívüli bizonytalanságot teremthetnek azzal kapcsolatban, hogy hol végződik az egyik kérelem és hol kezdődik a következő. A nagy webhelyek gyakran használnak reverse proxykat, amelyek a különböző felhasználók kéréseit egy közös kapcsolatpoolon keresztül továbbítják a backend szerverhez. Ez azt jelenti, hogy egy támadó, aki a legkisebb parser-eltérést is megtalálja a szerverláncban, szinkronizálási hibát okozhat, rosszindulatú előtagot alkalmazhat más felhasználók kéréseire, és átveheti egy weboldal teljes irányítását.

A HTTP/1.1 ma is mindenhol jelen van, de nem feltétlenül látható. A szerverek és a CDN-ek gyakran állítják, hogy támogatják a HTTP/2-t, de valójában a bejövő HTTP/2-kéréseket HTTP/1.1-re minősítik vissza a backendhez történő továbbításhoz, ezáltal elveszítve a biztonsági előnyök nagy részét. A bejövő HTTP/2 üzenetek visszaminősítése még veszélyesebb, mint a HTTP/1.1 végpontok közötti használata, mivel ez egy negyedik módot vezet be az üzenet hosszának megadására.

A PortSwigger bemutat egy nyílt forráskódú eszközkészletet is, amely lehetővé teszi a parser eltéréseinek és a célspecifikus gyenge pontok szisztematikus felismerését. Ez az eszközkészlet és ezek a technikák együttesen két hét alatt több mint 200 000 dollár bug bounty díjat eredményeztek.

A cikk szerint az elmúlt hat év bebizonyította, hogy az egyes implementációs problémák kezelése soha nem fogja megszüntetni ezt a fenyegetést.

Forrás