Jak (ne)bezpečený je open source?

Poté, co se nedávno našly zásadní zranitelnosti o open source softwarových knihovnách, které využívá i řada komerčních programů, vyvstavá otázka: Jak je na tom vlastně open source s bezpečností?

Jak (ne)bezpečený je open source?


Pokud existuje ukázkový příklad problémů, kterým čelí zabezpečení open source, může jím být Werner Koch, německý vývojář, který napsal a posledních 18 let udržoval Gnu Privacy Guard (GnuPG), pilíř softwarového ekosystému open source.

Od prvního vydání v roce 1999 se stal GnuPG jedním z nejpoužívanějších open source bezpečnostních nástrojů na světě a chránil e-mailovou komunikaci – počínaje vládními úředníky a konče Edwardem Snowdenem.

Přesto měl Koch v posledních letech potíže vyjít s penězi. Odhadovaných 25 tisíc dolarů průměrně vybraných každý rok od roku 2001 nestačilo na podporu jeho úsilí.

Jak uvedla společnost Pro Publica, tento 53letý vývojář málem rezignoval na další údržbu GnuPG. Když pak Snowden šokoval svět odhalením aktivit NSA, přesvědčilo to Kocha, aby to nevzdával. „Jsem příliš idealistický,“ prohlásil Koch.

Příběh má ale šťastný konec. Když Pro Publica vydala příběh o jeho nedostatku financí, objevili se dárci z celého světa, kteří Kochovi přispěchali na pomoc. Snadno překonal cíl 137 tisíc dolarů, který si vytyčil jako potřebný k podpoře své práce. To mu umožnilo najmout vývojáře na částečný úvazek.

Koch dostal jednorázovou odměnu 60 tisíc dolarů od iniciativy CII (Core Infrastructure Initiative) při Linux Foundation. Facebook a společnost Stripe, která zajišťuje on-line zpracování plateb, se zavázaly, že každá  bude dotovat Kochův projekt 50 tisíci dolary.

Podfinancované projekty, jako je třeba výše zmíněný GnuPG, byly donedávna významnou součástí rozsáhlého ekosystému open source. Široce rozšířené opětovné použití kódu pohání současný rostoucí vývoj technologií, ale velký objem tohoto kódu odrazuje od bezpečnostního prověřování.

Tento problém se zásadněji začal řešit teprve nedávno a často teprve na základě narušení bezpečnosti, které uvedlo celé odvětví do rozpaků a přimělo jej k akci.

 

Programování za stravu

Okolnosti, které ponechaly Kocha léta v beznadějné situaci, nejsou neobvyklé. Poté, co Neel Mehta jako výzkumník Googlu odhalil zranitelnost Heartbleed, která je vážnou chybou zabezpečení v součásti OpenSSL, se šokovaná softwarová komunita dozvěděla, že za projekt byl z velké části odpovědný malý tým, který Jim Zemlin, výkonný ředitel sdružení Linux Foundation, popisuje jako „dva chlapíci se jménem Steve“.

Stephen Henson a Steve Marquess pracovali na částečný úvazek na udržování aktuálnosti kódu a kompenzací jim bylo pár tisíc dolarů ročně z dobrovolných příspěvků.

Dodavatelé technologií spoléhající se na open source rychle začali záležitost řešit, aby se stav projektu OpenSSL napravil. Iniciativa CII, která tvůrci GnuPG dala grant 60 tisíc dolarů, byla založená jen několik měsíců předtím, aby pomohla financovat práci Hensona a dalších na OpenSSL.

Finanční podporu poskytují i giganti z Křemíkového údolí, jako jsou Amazon, Adobe, Cisco, Facebook nebo Google.

 

Tisíce očí

Zranitelnost Heartbleed nebyla první vážnou zranitelností open source. Například chyba Apache Struts ji předcházela přibližně o rok a byla přinejmenším stejně závažná.

Možná díky mediálnímu šílenství zranitelnost Heartbleed natrvalo zdiskreditovala slavné rčení Erica Raymonda o kvalitě open source: „Je-li dost očí, jsou všechny chyby malé.“ Většina bezpečnostních profesionálů tvrdí, že tato poznámka měla vždy spíše smysl záměru než popisu skutečnosti.

„Nikdy se mi nelíbilo tvrzení o mnoha očích,“ říká Joshua Corman, technologický ředitel společnosti Sonatype. „Pouhé tvrzení o existenci mnoha očí neznamená, že mají tyto oči motivaci a schopnost najít chyby zabezpečení.“

Open source ujištění o „mnoha očích“ sloužilo převážně k zakrývání slabiny tohoto ekosystému a vyvolávalo představu neustálé ostražitosti v situaci, kdy žádná neexistovala, uvádí Bill Weinberg, ředitel open source strategie u firmy Black Duck Software.

„U chyby Shellshock zcela jistě mnoho očí nebylo,“ popisuje Weinberg, který tak odkazuje na kritickou zranitelnost odhalenou v kódu Bash v roce 2014. „Tento kód se považoval za dobře prověřený, ale ukázalo se, že jeho dohled neprobíhal úplně správně, jelikož jeho prověření předpokládali úplně všichni.“

I když by se chtělo předpokládat, že integrita kódu open source je vysoká, údaje společnosti Sonatype naznačují opak. Její analýza příslušných komponent udělaná v rámci jí spravovaného kódu zjistila, že známé zranitelnosti komponent open source byly opravované jen v necelé polovině případů, napsal Corman do časopisu ;login vydávaného asociací Usenix. U opravených problémů přitom byla průměrná doba potřebná k jejich nápravě neuvěřitelných 390 dnů.

Také zmínky o „open source“ odděleně od komerčního, proprietárního softwaru mohou být zavádějící. Ačkoli kdysi existovala dělicí čára mezi open source softwarovými projekty a proprietárními protějšky, většina moderních aplikací představuje kombinaci softwarových komponent třetích stran a mnoho z nich může být právě typu open source, připomíná Corman.

 

Odpovědnost za bezpečnost na úrovni kódu

Jaká je správná odpověď? Ať už je to lepší nebo horší, odpověď je převážně kulturní, prohlašuje Katie Moussourisová, manažerka společnosti HackerOne a někdejší nejvyšší bezpečnostní strategička Microsoftu...

 

Tento příspěvek vyšel v Computerworldu 5/2015.Oproti této on-line verzi je výrazně obsáhlejší a přináší další poznatky a tipy, které lze využít při praktické implementaci u vás ve firmě.

Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.

Úvodní foto: © kentoh - Fotolia.com



Vyšlo v Computerworldu 5/2015








Komentáře