Čo je to zraniteľnosť Heartbleed?

click fraud protection

Jedna z najznámejších zraniteľností z polovice roku 2010 sa volala „Heartbleed“. Heartbleed bol obzvlášť vážny, pretože ovplyvnil softvér „OpenSSL“, hlavnú kryptografickú knižnicu pre pripojenia HTTPS, ktoré sú veľmi široko používané. Aby toho nebolo málo, táto zraniteľnosť bola v OpenSSL prítomná už viac ako dva roky predtým bol objavený, zverejnený a opravený, čo znamenalo, že veľa ľudí používalo zraniteľné verzia.

Heartbleed bola zraniteľnosť týkajúca sa úniku údajov v rozšírení heartbeat, ktorá pri zneužití unikla údaje z pamäte RAM zo servera ku klientovi. Rozšírenie srdcového rytmu sa používa na udržiavanie spojenia medzi webovým serverom a klientom bez vykonania bežnej požiadavky na stránku.

V prípade OpenSSL klient odošle správu na server a informuje server o dĺžke správy, až do veľkosti 64 KB. Od servera sa potom predpokladá, že rovnakú správu odošle späť. Rozhodujúce však je, že server v skutočnosti neskontroloval, či je správa taká dlhá, ako klient tvrdil, že bola. To znamenalo, že klient mohol poslať správu s veľkosťou 10 KB, tvrdiť, že má 64 KB a dostať odpoveď s veľkosťou 64 KB, pričom ďalších 54 KB sa skladá z ďalších 54 KB pamäte RAM, bez ohľadu na to, aké údaje tam boli uložené. Tento proces je dobre vizualizovaný pomocou

Komiks XKCD č. 1354.

Obrázok s láskavým dovolením xkcd.com.

Uskutočnením veľkého množstva malých žiadostí o tlkot srdca a tvrdením, že boli veľké, si útočník mohol vytvoriť obraz o väčšine pamäte RAM servera spojením odpovedí. Údaje uložené v pamäti RAM, ktoré by mohli uniknúť, zahŕňajú šifrovacie kľúče, certifikáty HTTPS, ako aj nešifrované údaje POST, ako sú používateľské mená a heslá.

Poznámka: Je to menej známe, ale protokol srdcového tepu a exploit fungovali aj v opačnom smere. Škodlivý server mohol byť nakonfigurovaný tak, aby čítal až 64 kB používateľskej pamäte na požiadavku srdcového tepu.

Problém objavilo viacero bezpečnostných výskumníkov nezávisle od prvého apríla 2014 a súkromne ho oznámili OpenSSL, aby bolo možné vytvoriť opravu. Chyba bola zverejnená pri vydaní opravy siedmeho apríla 2014. Najlepším riešením na vyriešenie problému bolo použiť opravu, ale problém bolo možné vyriešiť aj vypnutím rozšírenia srdcového tepu, ak okamžitá oprava nebola možná.

Bohužiaľ, napriek tomu, že zneužitie je verejné a vo všeobecnosti dobre známe, mnohé webové stránky sa stále neaktualizovali okamžite, pričom zraniteľnosť sa občas nachádza aj po rokoch. To viedlo k niekoľkým prípadom zneužitia, ktoré bolo použité na získanie prístupu k účtom alebo úniku údajov.