Co to jest SBOM (Software Bill of Materials)?
Software Bill of Materials (SBOM) to szczegółowy spis komponentów, które składają się na oprogramowanie, w tym bibliotek zewnętrznych i open-source oraz wersji frameworków. To jak lista składników wewnątrz aplikacji.
Śledząc każdy komponent wewnątrz aplikacji, zespół deweloperski może szybko wykryć nowe podatności, gdy zostaną odkryte.
Dlaczego SBOM jest ważny w cyberbezpieczeństwie
Nowoczesne aplikacje są budowane poprzez łączenie setek lub tysięcy zewnętrznych zależności i bibliotek open-source, aby przyspieszyć rozwój. Jeśli jedna z nich ma podatności, naraża całą aplikację na ryzyko.
SBOM pomaga zespołowi deweloperskiemu:
- Wcześniej identyfikować podatności poprzez mapowanie dotkniętych komponentów
- Poprawić zgodność ze standardami takimi jak NIST, ISO czy Executive Order 14028 w USA
- Zwiększyć bezpieczeństwo łańcucha dostaw poprzez zapewnienie przejrzystości w składzie oprogramowania
- Budować zaufanie z klientami i partnerami, pokazując, jakie komponenty są zawarte
Kluczowe elementy SBOM
Prawidłowy SBOM zazwyczaj zawiera:
- Nazwa komponentu (np.
lodash) - Wersja (np. 4.17.21)
- Informacje o licencji (open source lub własnościowa)
- Dostawca (projekt lub dostawca, który go utrzymuje)
- Relacje (jak komponenty są od siebie zależne)
Przykład w praktyce: Naruszenie Apache Struts (Equifax, 2017)
W 2017 roku atakujący wykorzystali krytyczną lukę w zabezpieczeniach frameworka Apache Struts (CVE-2017-5638), który był używany w aplikacjach internetowych Equifax (amerykańska międzynarodowa agencja raportująca kredyty konsumenckie). Łatka na tę lukę była dostępna, ale Equifax nie zastosował jej na czas.
Z powodu braku widoczności wszystkich zależności i bibliotek w ich aplikacji, wada w bibliotece Struts pozostała niezauważona, co doprowadziło do jednego z największych naruszeń danych w historii, ponad 147 milionów danych osobowych zostało ujawnionych.
Gdyby SBOM był wdrożony, Equifax mógłby szybko:
- Zidentyfikować, że ich aplikacje używały podatnej wersji Apache Struts
- Priorytetowo potraktować zastosowanie łatek zaraz po ujawnieniu luki
- Skrócić czas, jaki mieli atakujący na wykorzystanie słabości
Ten przypadek pokazuje, jak ważną rolę odgrywa SBOM w zapewnieniu bezpieczeństwa komponentów oprogramowania, pomagając organizacjom szybciej reagować na nowo ujawnione podatności.
Powiązane terminy
- SCA (Analiza Składu Oprogramowania)
- Atak na łańcuch dostaw
- Bezpieczeństwo oprogramowania open source
- Zarządzanie podatnościami