Hlavní navigace

Čtvrt roku po Heartbleedu: co se změnilo?

Roman Bořánek 1. 8. 2014

Je tomu už více než čtvrt roku, co světem informačních technlologií otřásla kritická chyba v knihovně OpenSSL zvaná Heartbleed. Připomněla nám, že otevřené zdrojové kódy nejsou vše. Především je třeba někdo, kdo je opravdu prověřuje. Co se za tu dobu událo? Bude internet zase o něco bezpečnější?

Nejprve si krátce připomeňme, o co vlastně v kauze Heartbleed šlo. Chybu objevil Neel Mehta z Googlu dne 1. dubna 2014. Naneštěstí však zřejmě nebyl první, komu se to podařilo. Podle několika zdrojů o chybě poměrně dlouho, cca dva roky, věděla i americká Národní bezpečnostní agentura, která ji zneužívala pro přístup k šifrované komunikaci. Během týdne potom vývojáři OpenSSL připravili patch a 7. dubna do světa vypustili opravenou verzi. Tím informace o chybě vyšly na veřejnost.

Chyba spočívala v celkem prosté části knihovny. Jedná se tzv. heartbeating, kterým se jednotlivé stanice ujišťují, že spolu v danou chvíli mají spojení. Představit si to můžete jako jistou obdobu známého programu ping. „Heartbeat obsahuje pole dat, které musí protistrana poslat zpět beze změn. Protože toto pole payloadu může být různě dlouhé, předchází mu ve zprávě dvoubajtová hodnota určující jeho délku. Potíž je v tom, že OpenSSL nekontrolovalo, zda délka payloadu udaná v požadavku na heartbeat není delší než délka celé zprávy,“ popisuje problém v samostatném článku Ondřej Caletka.

Tímto způsobem tazatel mohl zařídit, že z paměti protistrany dostane víc dat, než by dostat měl a které pro něj nebyly určeny. O tom, že se jednalo o chybu výjimečné důležitosti, svědčí i mediální pokrytí celé kauzy. Případy, kdy jsou opravdové softwarové chyby propírány v médiích, bychom mohli spočítat na prstech jedné ruky. Navíc v něčem pro širokou veřejnost tak abstraktním, jako jakési šifrovací knihovně. OpenSSL totiž není jen jeden z mnoha programů, ale jeden z pilířů bezpečného internetu.

Není divu, že se odborná i laická veřejnost začala ptát, jak tak prostá chyba mohla v tak velkém projektu vydržet tak dlouho. Není snad OpenSSL open source? Je, ale co z toho, když zdrojové kódy systematicky nekontroluje několik párů očí. Máme tu co do činění s pěkným paradoxem. IT giganti investují stamilióny do vývoje vlastního softwaru, ale tak kritickou součást, jakou OpenSSL bezesporu je, často nechávají na pospas dobrovolníkům.

Core Infrastructure Initiative

Řada velkých hráčů si své pochybení brzy uvědomila. Pod křídly Linux Fondation již 24. dubna, tedy ani ne tři týdny po objevení Heartbleedu, vznikla Core Infrastructure Initiative (CII). Mezi třináctkou zakládajících členy byly i takové společnosti jako Google, Microsoft, Facebook, Intel, Amazon, Cisco a další. Každá z nich se zavázala přispívat alespoň 100 tisíci dolary ročně. To je pro zmíněné firmy jako kapka v moři, na kvalitu open-source projektů to ovšem může mít znatelný vliv.

Iniciativa sice vznikla v reakci na chybu OpenSSL, ovšem bude se zaměřovat i na další projekty, které patří mezi pilíře internetu a přitom nevznikají pod taktovkou žádné firmy. Řeč je tedy zejména o open-source projektech. V první fázi budou zafinancovány projekty NTP (Network Time Protocol), OpenSSH a OpenSSL.

Nejkýženější OpenSSL bude podpořeno dokonce dvojí cestou. Bude podpořen nejen samotný projekt (CII zaplatí alespoň dva vývojáře na plný úvazek), ale i nezávislý audit, který by měl knihovnu pořádně proklepnout. Audit zorganizuje Open Crypto Audit Project, jež byl původně založen za účelem prověření šifrovacího programu TrueCrypt. Co se týče auditu, věci by se měli dát do pohybu v nejbližších měsících.

OpenSSL kontra LibreSSL

Brzy po Heartbleedu o sobě dali vědět také lidé kolem unixového systému OpenBSD. „Open source model staví na tom, že lidé mají možnost číst kód. To však závisí na jeho srozumitelnosti. OpenSSL nemá čistý kód, protože její komunitě na srozumitelnosti, zdá se, nesejde,“ popsal Theo de Raadt důvody vzniku LibreSSL, forku OpenSSL. Raadt také tvrdí, že lídři OpenSSL na zabordelenost byli upozorňováni a věděli o ní, ale neměli vůli neblahou situaci měnit. A nemyslí si, že je k tomu přiměje ani Heartbleed. Proto byl podle něj vznik forku nevyhnutelný.

Projekt LibreSSL pokračuje v tom, co avizoval. Pročišťuje kód, odstraňuje nepotřebné pozůstatky a zároveň se snaží i o jeho revizi. Vyšlo už několik verzí, ale ty pochopitelně ještě nejsou určeny pro ostré nasazení. S nedávno vydanou verzí 2.0 se LibreSSL dostalo také na další platformy, kromě mateřského OpenBSD. Jsou to Linux, FreeBSD, Solaris a OS X. O tom, že OpenSSL opravdu potřebovalo pročistit, svědčí i čísla: LibreSSL je při zachování funkčnosti o 40 % lehčí.

Zda měl Raadt pravdu, ukáže až čas. Ovšem ani lidé z OpenSSL nestrkají hlavu do písku. Připravili reformní plán, který by měl pomoci napravit pošramocenou pověst knihovny. Reforma si samozřejmě vyžádá nějaký čas a její cíle nejspíš budou splněny nejdřív tak za rok. Už nyní však některé důležité změny proběhly. Každý commit například musí být zkontrolován dalším vývojářem.

V OpenSSL před sebou mají mnoho práce: v plánu jsou kompletace a oprava dokumentace, sjednocení programovacího stylu a také standardizace procesů. Měl by být přesně definován systém přijímání patchů, hlášení chyb apod. Definován by měl být i jakýsi krizový plán, podle kterého se bude postupovat v případě, že by se objevil nějaký následovník Heartbleedu. Cíl je zřejmý – minimalizace škod napáchaných chybou.

OpenSSL chce být také předvídatelnější a čitelnější. Co to znamená? Měl by být stanoven alespoň přibližný plán vydávání nových verzí, podle kterého by se vývojáři distribucí, správci serverů a další mohli orientovat. Stejně tak by měl být stanoven plán podpory.

V praxi to pravděpodobně bude znamenat, že jednotlivé verze budou podporovány kratší dobu, ale ta bude přesně určena a zmiňovaní vývojáři a správci s tím budou moci dlouho dopředu počítat. V současnosti nic jako plánovaná doba podpory neexistuje. Například taková verze 0.9.8 vyšla již před devíti lety a je stále podporovaná. Ale zřejmě už ne na dlouho.

Potřebná lekce

Jak se zdá, Heartbleed dal světu IT potřebnou lekci: open-source není všespásný. Otevřený kód, který nikdo nečte, na tom z hlediska bezpečnosti není lépe, než kód uzavřený. A kód tak kritických projektů jako OpenSSL nelze číst jen tak zběžně, musí být kontrolován přísně, podrobně a systematicky. To už si zúčastněné strany zřejmě uvědomily. Teď zbývá nastavit procesy, které takovou kontrolu zajistí. Finance budou, tak snad se podaří.

Méně veselou zprávou je, že v praxi je Heartbleed stále přítomen a část serverů je stále zranitelná. Robert Graham z firmy Errata Security zranitelnost testoval na 28 miliónech serverů. Cca dva dny po odhalení chybu obsahovalo na 600 tisíc z nich. Při posledním měření 22. června jich bylo zranitelných ještě 309 tisíc. Číslo přitom klesá už pouze velmi pomalu. Kdo neopravil dodnes, zřejmě už s tím spěchat nebude. Čísla samozřejmě nelze považovat za seriózní statistiku, ale pro připomenutí, že Heartbleed tu stále straší, úplně stačí.

Našli jste v článku chybu?

1. 8. 2014 0:51

Vite, v cem jsou lidi horsi nez v psani kodu? V cteni kodu.

Security review je neuveritelne obtizna vec. Doporucuji vybrat si nejaky software a alespon na den-dva si to vyzkouset. Je to dost dulezita zkusenost.

Delal jsem napr. review na Mozilla security/pkix (novy kod na validaci retezcu certifikatu a path building ve Firefoxu >= 31). Nasel jsem critical bug v overovani X509.v3 extensions v kodu, ktery uz prosel pres code review.

Nasledovala oprava a dalsi review, ktery odhalil dalsi bug …

1. 8. 2014 9:24

Taky si myslím, že je to spíš konspirační teorie. Ale těžko někdo něco takového prokáže. Existuje třeba nepřímý důkaz od lidí kolem Zmap.io, kteří mají historické záznamy kompletní komunikace několika honeypotů a první pokus o zneužití heartbleedu zaznamenali 8. dubna 2014.

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře