Niezależnie od tego, czy to twoja organizacja tworzy oprogramowanie, czy tylko jest jego użytkownikiem, jest prawdopodobnie narażona na ryzyko związane z błędami ukrytymi głęboko w kodzie.
Jednym z kluczowych sposobów zwiększania wydajności przy tworzeniu oprogramowania jest korzystanie z bibliotek programistycznych podczas projektowania własnych produktów i usług. Pomaga to przyspieszyć innowacje cyfrowe, ale wiąże się również z pewnym kompromisem: organizacje akceptują, czasami nieświadomie, pewien stopień ryzyka, który może prowadzić do poważnych problemów z cyberbezpieczeństwem.
Takie ryzyko ujrzało światło dzienne w grudniu 2021 roku, kiedy wyszło na jaw, że szeroko stosowany framework oprogramowania open source o nazwie Log4j zawiera niebezpieczną lukę. Wiadomość ta trafiła na pierwsze strony gazet, ponieważ olbrzymia ilość oprogramowania wdrożonego w organizacjach, agencjach rządowych oraz na komputerach prywatnych używa tego kodu w języku Java do logowania. Eksperci bezpieczeństwa odkryli, że cyberataki wykorzystujące lukę Log4Shell, jak ją nazwano, mogą mieć katastrofalne skutki dla firm i osób prywatnych. Okazało się, że podatność na tę lukę jest niezwykle rozległa. Kod został wbudowany w wiele systemów, wprowadzając krytyczną lukę bezpieczeństwa w oprogramowaniu na całym świecie. Ujawnienie Log4j powinno być sygnałem ostrzegawczym dla kadry kierowniczej, aby lepiej przemyślała ponowne wykorzystanie oprogramowania oraz sposoby ograniczania ryzyka związanego z jego używaniem w swoich organizacjach.
Korzystanie z bibliotek programistycznych stanowiło środek zwiększający wydajność w dużych firmach technologicznych i było głównie przedsięwzięciem wewnętrznym, obejmującym komponenty tworzone własnymi siłami. Pojawienie się internetu i powszechność oprogramowania typu open source zmieniły tę praktykę. Obecnie większość oprogramowania jest przynajmniej częściowo zbudowana na funkcjonalności uzyskanej dzięki zewnętrznym komponentom. Komponenty te są udostępniane dla wszystkich na repozytoriach open source, takich jak PyPI dla Pythona, NPM dla Node.js czy Centralne Repozytorium Mavena dla Javy, wymieniając tylko kilka.