citadelo

Všetky články

15 január 2018 / 3 minúty čítania

Princíp zraniteľnosti Heartbleed v OpenSSL

Hystérie okoľo chyby v OpenSSL, zvanej Heartbleed, už je celkom dosť. Veľa sa o nej písalo, veľa diskutovalo na sociálnych sieťach. Preto sme sa rozhodli vysvetliť tri hlavné nedostatky vo vnímaní tejto zraniteľnosti.


Hystérie okoľo chyby v OpenSSL, zvanej Heartbleed, už je celkom dosť. Veľa sa o nej písalo, veľa diskutovalo na sociálnych sieťach. Mnoho našich zákazníkov, partnerov, ale aj kamarátov s nami tento problém konzultovalo. Všímame si, že niektoré veci ľudia pochopili inak, ako sú.

Preto sme sa rozhodli vysvetliť tri hlavné nedostatky vo vnímaní tejto zraniteľnosti.

Najkôr si však zjednodušene vysvetlíme jej princíp. Chyba sa nachádza v rozšírení Heartbeat protokolu TLS. Heartbeat udržiava nažive „nečinný“ šifrovaný kanál. Jedna strana pošle druhej správu, napríklad „CITADELO“, spolu s jej dĺžkou, teda v tomto prípade 8. Druhá strana pošle danú správu danej dĺžky naspäť. Chyba spočíva v tom, že keď pošlem správu „CITADELO“ a ako dĺžku správy uvediem 1337 miesto 8, druhá strana pošle v odpovedi 1337 bajtov. V prvých sa nachádza „CITADELO“ a v tých ďalších obsah segmentu pamäte, ktorý sa nemal dostať von. Tieto správy je možné posielať opakovanie, pričom ich prenos sa nikam nezaznamenáva. Útok teda nezanecháva prakticky žiadne stopy. V skutočnosti je to celé trochu zložitejšie, ale takýto popis pre pochopenie podstaty stačí.

Teraz sa môžeme pozrieť na rozšírené chybné názory.

## „Stačí zaplátať knižnicu, potom už je všetko v poriadku“

Nestačí a nie je. Pomocou tejto chyby je možné prečítať kusy pamäte, ktoré obsahujú naozaj citlivé údaje. Podľa dostupných informácií sú medzi nimi privátne kľúče, heslá, či kusy komunikácie, ako napríklad hodnoty SESSIONID.

Preto treba po aktualizácii knižníc vygenerovať nové kľúčové páry a k nim vydávať nové certifikáty. Taktiež meniť heslá, ktoré sa dotknutou cestou prenášali, či odhlásiť prihlásených používateľov.

„Pomocou chyby je možné prečítať celú pamäť systému“

Nie je to možné. S veľmi prehnaným optimizmom možno povedať, že je možné prečítať celú virtuálnu pamäť daného procesu. A ani to nie je úplne pravda. Každopádne s touto chybou sa nedá dosiahnuť viac, ako dovoľujú oprávnenia daného procesu. Teda napríklad čítaním pamäte webového serveru nedokážem prečítať pamäť LDAP serveru, aj keď bežia v rovnakom systéme. Každý má totiž vlastného užívateľa a vlastnú virtuálnu pamäť.

„Ohrozené sú iba servery“

Nie len servery. Útok je možné robiť v oboch smeroch. Rovnako, ako ho môže realizovať klient voči serveru, ho môže realizovať server voči kleintovi. A ani v druhom prípade útok nezanecháva žiadne stopy.

Preto treba aktualizovať aj notebooky a telefóny, ktoré sú typicky v pozícii klienta.

logo
Member of Boltonshield

Prihláste sa k odberu nášho newslettera a získajte všetky dôležité novinky v oblasti kybernetickej bezpečnosti a etického hackovania.

© 2024 citadelo AG. Všetky práva vyhradené.

facebooklinkedinxyoutube