Bezpečnostní chyby v kódu
Software operačního systému, aplikační software nebo firmware vestavěného systému jsou elementárními součástmi každé digitální infrastruktury. Rostoucí zrychlení a tlak na termíny digitalizačních projektů však často vedou k zanedbávání nezbytných aspektů informační bezpečnosti. Požadavky na vývoj softwaru jsou obvykle zaměřeny na funkce a zdůrazňují konstruktivní aspekty, takže destruktivní pohled na potenciální bezpečnostní zranitelnosti je většinou diametrálně odlišný od skutečných cílů vývoje: mnoha programátorům jednoduše chybí také strukturovaný a vyostřený pohled na kybernetickou bezpečnost.
Za těchto podmínek mají vývojové týmy problém průběžně kontrolovat a důsledně zabezpečovat kódování svého softwaru, což dokládá množství zranitelností, které nezisková organizace MITRE Corporation každoročně zveřejňuje ve svém seznamu CVE (Common Vulnerabilities and Exposures). Pravidelné bezpečnostní záplaty dokonce i známých výrobců softwaru jsou ukazatelem sisyfovského úkolu odstranit bezpečnostně relevantní chyby, natož je identifikovat ještě před uvedením na trh.
Otevřený zdrojový kód - zvláštní případ
Při kódování vlastního softwaru se programátoři rádi uchylují ke knihovnám a modulům s otevřeným zdrojovým kódem. Praktické výhody jsou zřejmé: Pokud nemusíte znovu a znovu vynalézat kolo, těžíte z tohoto technologického nárůstu, rychlejšího vývoje, nižších nákladů na vývoj, větší transparentnosti díky otevřenému zdrojovému kódu a vyšší interoperability díky otevřeným standardům a rozhraním.
Často se také říká, že kód s otevřeným zdrojovým kódem nabízí vysoký stupeň bezpečnosti, protože kód byl ověřen mnoha uživateli a rojová inteligence komunity open source umožňuje rychlé a efektivní opravy chyb.
V praxi je nyní třeba tuto důvěru posuzovat diferencovaně a kriticky. Nejzávažnějším příkladem je bezpečnostní chyba nultého dne Log4Shell v široce používané knihovně Log4J pro logování aplikací v jazyce Java, která byla objevena v listopadu 2021. Možná jste slyšeli o červeném stupni výstrahy, který pro Log4Shell vydal německý Spolkový úřad pro bezpečnost informací (BSI). Knihovna Log4J, distribuovaná jako spolehlivě fungující kvazistandard prostřednictvím nadace Apache Foundation, se od roku 2013 prosadila v mnoha systémech - včetně známých webových služeb, jako je Amazon AWS.
Komplexnost těchto dobře vyvinutých a také udržovaných knihoven implicitně poskytuje výkonné funkcionality, o kterých importující vývojář při svém vlastním kombinovaném novém vývoji často neví, ale které mohou být zneužity útočníky.
Dalším faktorem nezabezpečenosti open source komponent jsou tzv. supply chain útoky, tj. záměrně zabudované zranitelnosti záškodníky, kteří se vydávají za součást open source komunity a pomáhají při vývoji kódu. Taková zranitelnost představuje pro hackery mimořádně účinný způsob, jak napadnout velké množství navazujících uživatelských organizací. Není tedy divu, že tento vektor útoku rychle roste: studie společnosti Sonatype diagnostikovala 650% nárůst při srovnání let 2020 a 2021.