Analiza składników oprogramowania (software composition analysis – SCA), analiza składu oprogramowania
Wprowadzenie Każdy system i prawie wszystkie aplikacje wykorzystują komponenty wolnego oprogramowania. Wiąże się to z ryzykiem dla tworzonych aplikacji oprogramowania. Ryzyka te można podzielić na 5 kategorii:
Kontrola wersji: ryzyko zmian wprowadzonych przez nowe wersje całego komponentu OSS i jego bibliotek składowych
Bezpieczeństwo: ryzyko wystąpienia luk w komponentach przy wykorzystaniu słownika powszechnie znanych podatności oraz zagrożeń Common Vulnerabilities and Exposures (CVE)
Licencja: ryzyko prawne związane z prawem własności intelektualnej
Rozwój: ryzyko niezgodności między istniejącym kodem źródłowym aplikacji własnej a wykorzystywanym oprogramowaniem open source
Wsparcie: ryzyko słabej dokumentacji i przestarzałych komponentów oprogramowania
Dla organizacji intensywnie korzystających z komponentów open source powstała potrzeba pomocy w automatyzacji analizy i oceny ryzyka. Doprowadziło to do powstania nowej klasy produktów to jest analiza składników oprogramowania, które pomaga zarządzać ryzykiem open source. SCA dąży do wykrycia wszystkich komponentów stron trzecich używanych w aplikacji oprogramowania, aby pomóc zmniejszyć ryzyko związane z lukami bezpieczeństwa, wymogami licencyjnymi i przestarzałymi komponentami.
Produkty SCA Produkty SCA zazwyczaj działają w następujący sposób: Silnik SCA skanuje kod źródłowy oprogramowania oraz powiązane artefakty używane do kompilacji aplikacji oprogramowania. Silnik SCA identyfikuje komponenty open source i ich wersje, a zazwyczaj informacje te są przechowywane w bazie danych, tworząc katalog open source używanych w zeskanowanej aplikacji. Katalog komponentów jest następnie porównywany z bazami danych odnoszącymi się do znanych luk bezpieczeństwa dla każdego komponentu, wymogów licencyjnych dotyczących korzystania z komponentu oraz historycznych wersji komponentu: w celu wykrywania luk bezpieczeństwa, porównanie to zazwyczaj odbywa się na podstawie znanych luk bezpieczeństwa (CVE), niektóre produkty korzystają z dodatkowej, własnej bazy danych dotyczącej luk bezpieczeństwa, pobranie informacji o licencji i ocena jej typu, wersje komponentów są pobierane z popularnych repozytoriów open source, takich jak GitHub, Maven, PyPi i wiele innych Kalkulowany zostaje scoring ryzyka dla komponentów open source i jego składowych.
Zastosowania Ponieważ SCA wpływa na różne funkcje w organizacjach, różne zespoły mogą korzystać z danych w zależności od wielkości i struktury korporacji. Dział IT często korzysta z SCA do implementacji i operacyjnego korzystania z technologii, a do typowych interesariuszy należą: główny dyrektor IT (CIO) – w zakresie zapewnienia właściwego procesu oceniania jakości używanego oprogramowania i zasobów niezbędnych dla jego poprawnego działania procesu, główny dyrektor ds. technologii (CTO) – w zakresie dopuszczalności technologii i kryteriów dopuszczalności oprogramowania, główni architekci przedsiębiorstwa – w celu uwzględnienia jakości komponentów w trakcie projektowania architektury rozwiązania, szef działu bezpieczeństwa informacji (CSO/CISO) w zakresie monitorowania i oceny ryzyka związanego z bezpieczeństwem oprogramowania, – w zakresie zgodności z regulacjami w tym zarządzaniem ryzykiem własności intelektualnej.
W zależności od możliwości produktu SCA, może on być implementowany bezpośrednio w zintegrowanym środowisku programistycznym (IDE) oraz jako krok łańcucha ciągłego wytwarzania oprogramowania . Może być także wdrożony jako dedykowany etap w procesie kontroli jakości oprogramowania.
Produkty SCA, a zwłaszcza ich zdolność do generowania zestawienia składników oprogramowania (SBOM), są wymagane w niektórych krajach, w celu egzekwowania bezpieczeństwa oprogramowania dostarczanego do publicznych agencji.
Innym powszechnym zastosowaniem SCA jest technologicznej dogłębnej analizy przedsiębiorstwa (due diligence) dla celów jego wyceny. Przed transakcją fuzji i przejęcia (M&A), firmy doradcze oceniają ryzyko związane z oprogramowaniem firmy przejmowanej.
Przypisy
Kategoria:Oprogramowanie