Śledzenie podatności
Każda znana podatność w dostarczanym przez Państwa oprogramowaniu pod kontrolą, od buildu, który ją wprowadził, do wydania, które ją naprawiło. CRACI rejestruje SBOM każdego buildu, na bieżąco sprawdza go względem nowych danych o podatnościach i przekazuje każde znalezisko zespołowi odpowiedzialnemu za poprawkę.
Czym jest śledzenie podatności?
Śledzenie podatności to bieżący zapis każdej znanej podatności, która dotyczy Państwa oprogramowania, od wykrycia aż do naprawienia lub wykluczenia. Dla każdej z nich odpowiada na cztery pytania: gdzie jest, które produkty i wydania ją zawierają, kto odpowiada za poprawkę i jaki jest jej status.
Wiele narzędzi odpowiada na pierwsze pytanie, skanując po fakcie pliki manifestów i lockfile, a resztę zostawia arkuszom kalkulacyjnym i ticketom. CRACI zaczyna wcześniej. Państwa zadania GitHub Actions działają na runnerach CRACI, a w trakcie ich działania CRACI rejestruje każdy pakiet, który build faktycznie pobrał, łącznie z pakietami przywróconymi z cache CI. CRACI monitoruje właśnie ten SBOM z czasu buildu, więc śledzone podatności to te w artefakcie, który Państwo dostarczyli, a nie w skanie wykonanym gdzieś obok.
Śledzenie dostarczanego oprogramowania, nie tylko zasobów IT
Większość narzędzi do śledzenia podatności powstała z myślą o IT: skanują serwery, laptopy i konta chmurowe, a poprawką jest łatka, którą ktoś instaluje. Oprogramowanie, które Państwo budują i sprzedają, wymaga innego zapisu. Podatny kod jest w Państwa wydaniu, poprawką jest nowy build, a klienci i organy pytają, których wersji to dotyczyło i jak długo.
Taki właśnie zapis prowadzi CRACI: SBOM każdego buildu, produkty i wersje, w których został wdrożony, komponenty kupione od dostawców oraz status każdej podatności we wszystkich z nich.
Ciągła ponowna ocena tego, co Państwo dostarczyli
CRACI rejestruje SBOM w trakcie każdego buildu, a następnie na bieżąco ponownie ocenia monitorowane SBOM-y względem danych o podatnościach. Podatność opublikowana długo po wydaniu nadal pojawia się przy wydaniu, którego dotyczy, bez ponownego uruchamiania skanu przez kogokolwiek.
Jeden widok dla wszystkich buildów i repozytoriów
Znaleziska są agregowane z wielu buildów i repozytoriów, z widokami organizacji dla gałęzi domyślnej. Widok inwentarza pokazuje dokładnie, które wersje oprogramowania są wdrożone w których produktach, a historia buildów pokazuje, które wcześniejsze buildy zawierały podatną zależność, więc wiedzą Państwo, których produktów to dotyczyło i jak długo.
Analiza i przekazanie do odpowiedzialnego zespołu
Zespoły bezpieczeństwa analizują wykryte podatności i przekazują je zespołom odpowiedzialnym za poprawkę, dzięki czemu każde znalezisko trafia do osób, które mogą się nim zająć. CRACI obsługuje też VEX do zapisywania, jak podatność wpływa na Państwa produkt, a bramki polityk mogą blokować każdy build zawierający konkretną CVE.
SBOM-y dostawców śledzone obok Państwa własnych
Wystarczy dodać SBOM-y od dostawców, a komponenty kupowane z zewnątrz są monitorowane razem z oprogramowaniem, które Państwo budują. Kod podmiotów trzecich w Państwa produkcie jest śledzony w tym samym miejscu co Państwa własne zależności.
Od znaleziska do zgłoszenia w ramach CRA
Na potrzeby Cyber Resilience Act CRACI składa w Państwa imieniu zgłoszenia podatności: wczesne ostrzeżenie, zgłoszenie i raport końcowy. SBOM-y eksportuje się w formacie CycloneDX lub SPDX z podatnościami znalezionymi w ich komponentach, na potrzeby audytów, klientów i Państwa własnej dokumentacji.
Każdy podatny pakiet i to, co go pobiera
Każdy build wymienia swoje pakiety z wersją, package URL, licencją i statusem podatności oraz pokazuje, czy jego SBOM jest kompletny. Po otwarciu pakietu widać jego komunikaty bezpieczeństwa z poziomem ważności oraz pakiety, które go wymagają.
Cykl śledzenia podatności w CRACI
- Wykrycie. Każdy build tworzy SBOM ze stanem kompletności, eksportowany w formacie CycloneDX lub SPDX z zależnościami przechodnimi. Monitorowane SBOM-y, Państwa własne i dostawców, są na bieżąco ponownie oceniane względem danych o podatnościach.
- Lokalizacja. Widoki organizacji obejmujące buildy i repozytoria, widok inwentarza i historia buildów pokazują, których produktów i wersji to dotyczy i od kiedy.
- Priorytety i analiza. Każdy komunikat bezpieczeństwa pokazuje poziom ważności. Zespoły bezpieczeństwa analizują każde znalezisko, a obsługa VEX pozwala zapisać, jak podatność wpływa na Państwa produkt.
- Usunięcie. Każde znalezisko trafia do zespołu odpowiedzialnego za poprawkę, a „Required by” pokazuje, który pakiet wprowadza podatność przechodnią. Bramki polityk mogą nie dopuścić konkretnej CVE do kolejnych buildów.
- Weryfikacja. SBOM kolejnego buildu pokazuje, czy podatnej wersji już nie ma, więc zapis sięga aż do wydania z poprawką.
- Raportowanie. CRACI składa w Państwa imieniu zgłoszenia podatności wymagane przez CRA, a SBOM-y eksportuje się z podatnościami znalezionymi w ich komponentach.
Co śledzić dla każdej podatności
- Podatność
- Komunikat bezpieczeństwa i jego identyfikatory (CVE, GHSA i inne) wraz z poziomem ważności.
- Komponent
- Pakiet i jego dokładna wersja oraz informacja, czy jest to zależność bezpośrednia, czy przechodnia.
- Ścieżka
- Pakiety, które pobierają podatny pakiet, co wskazuje, co należy zaktualizować.
- Ekspozycja
- Które produkty, wydania i buildy go zawierają i od kiedy.
- Właściciel
- Zespół odpowiedzialny za poprawkę.
- Status
- Otwarta, w trakcie analizy, nie dotyczy lub naprawiona, najlepiej zapisane jako VEX.
- Dowód
- Build lub wydanie, które nie zawiera już podatnej wersji.
Wskaźniki, które pokazują, czy śledzenie działa
Zespoły bezpieczeństwa zwykle raportują cztery liczby:
- Średni czas usunięcia (MTTR): ile czasu mija od wykrycia podatności do wydania, które jej nie zawiera.
- Dotrzymywanie terminów usunięcia: odsetek podatności naprawionych w terminie, który Państwa polityka wyznacza dla ich poziomu ważności.
- Trend zaległości: czy liczba otwartych podatności rośnie, czy maleje.
- Okno ekspozycji: jak długo każdy produkt był dostarczany z podatną wersją. Historia buildów w CRACI pokazuje, które buildy zawierały podatną zależność, więc wiedzą Państwo, w jakim okresie byli narażeni.
Czego CRACI dziś nie robi
CRACI nie oferuje analizy osiągalności (reachability), więc nie szereguje znalezisk według tego, czy Państwa kod wywołuje podatną funkcję. Nie pokazuje wskaźników usuwania podatności, takich jak MTTR, dotrzymywanie terminów czy trend zaległości. Nie wysyła dziś alertów po przekroczeniu progu ważności, a jego alerty obejmują naruszenia polityki ruchu wychodzącego. Komentarze do znalezisk, porównanie wydań, alerty progowe i webhooki dla podatności są w planach rozwoju.
VEX: które podatności faktycznie dotyczą Państwa produktu
Podatny komponent w SBOM nie zawsze oznacza podatny produkt. Podatny kod może nie wchodzić w skład tego, co Państwo dostarczają, albo może nie być osiągalny w sposób, jakiego wymaga atak. VEX (Vulnerability Exploitability eXchange) to czytelny maszynowo sposób, by to zapisać: każde oświadczenie VEX łączy produkt, podatność i status. Standardowe statusy to not affected, affected, fixed i under investigation.
Ma to znaczenie, gdy klienci i organy sprawdzają Państwa SBOM-y w bazach podatności. Bez oświadczenia VEX każde dopasowanie wygląda jak otwarty problem, a Państwa zespół w kółko tłumaczy te same fałszywe alarmy. CRACI obsługuje VEX do zapisywania, jak podatność wpływa na Państwa produkt, obok analizy, która przekazuje każde znalezisko zespołowi odpowiedzialnemu za poprawkę.
Ciekawi Państwa, ile tego jest? Proszę zobaczyć, ile CVE publikuje się każdego dnia i jak wzrosła liczba podatności High i Critical.
Śledzenie podatności w pytaniach i odpowiedziach
Najczęstsze pytania o śledzenie podatności w oprogramowaniu, które Państwo budują i kupują
Czym jest śledzenie podatności?
Śledzenie podatności to bieżący zapis każdej znanej podatności, która dotyczy Państwa oprogramowania, od chwili jej wykrycia aż do naprawienia lub wykluczenia: w którym komponencie i wersji występuje, które produkty i wydania ją zawierają, kto odpowiada za poprawkę i jaki jest jej status. W przypadku dostarczanego oprogramowania punktem wyjścia jest dokładna lista komponentów, a tę zapewnia SBOM.
Jakie są etapy zarządzania podatnościami?
Typowy cykl ma pięć etapów: wykrycie podatności w tym, co Państwo uruchamiają lub dostarczają, nadanie im priorytetów, ich usunięcie, sprawdzenie, czy poprawka je wyeliminowała, oraz raportowanie. Śledzenie łączy te etapy, aby znalezisko nie zgubiło się między wykryciem a wydaniem z poprawką. W CRACI etapy te to rejestrowanie SBOM w trakcie buildu, analiza każdego znaleziska, przekazanie go odpowiedzialnemu zespołowi, potwierdzenie, że kolejny build nie zawiera już podatnej wersji, oraz raportowanie przez eksport SBOM i zgłoszenia w ramach CRA.
Jak śledzić usuwanie podatności?
Każda podatność powinna mieć właściciela i status, a zamyka się ją dopiero wtedy, gdy build lub wydanie nie zawiera już podatnej wersji. Warto mierzyć, ile trwają poprawki, czy mieszczą się w terminach i czy zaległości maleją. W CRACI SBOM każdego buildu pokazuje, czy podatna wersja nadal w nim jest, a bramka polityk może nie dopuścić konkretnej CVE do kolejnych buildów.
Czym jest zarządzanie podatnościami na podstawie SBOM?
Zarządzanie podatnościami na podstawie SBOM polega na dopasowywaniu komponentów wymienionych w wykazach komponentów oprogramowania do danych o podatnościach i powtarzaniu tego w miarę publikowania nowych podatności. Wynik jest tylko tak dobry jak SBOM. CRACI rejestruje SBOM w trakcie buildu, więc lista odzwierciedla to, co build faktycznie pobrał, łącznie z pakietami przywróconymi z cache CI.
Czym śledzenie podatności różni się od skanowania podatności?
Skan to stan na dany moment: odczytuje pliki, zgłasza znaleziska i się kończy. Śledzenie przechowuje znaleziska, ich właścicieli i status w czasie oraz nadal sprawdza dostarczone oprogramowanie, gdy pojawiają się nowe podatności. CRACI to rejestrator, a nie skaner: rejestruje każdy build, a następnie na bieżąco ponownie ocenia monitorowane SBOM-y.
Czy CRACI śledzi podatności w oprogramowaniu podmiotów trzecich?
Tak. Mogą Państwo dodać SBOM-y dostawców, a te kupowane z zewnątrz komponenty są monitorowane razem z oprogramowaniem budowanym w CRACI.
Czy CRACI może zablokować build zawierający znaną podatność?
Tak. Bramki polityk mogą blokować build na podstawie znalezisk, w tym każdy build zawierający konkretną CVE, więc naprawiona podatność nie wróci w kolejnym buildzie.
Jak CRACI powiadamia o podatnościach?
Znaleziska pojawiają się w widokach organizacji w CRACI, gdzie zespoły bezpieczeństwa je analizują i przekazują odpowiedzialnym zespołom. Alerty obejmują dziś naruszenia polityki ruchu wychodzącego. Alerty progowe i webhooki dla podatności są w planach rozwoju, podobnie jak alerty w Slack i Teams.
Czy CRACI pomaga w zgłaszaniu podatności wymaganym przez CRA?
Tak. CRACI składa w Państwa imieniu zgłoszenia podatności wymagane przez CRA: wczesne ostrzeżenie, zgłoszenie i raport końcowy. Spełnienie wymogów Cyber Resilience Act pozostaje procesem producenta; CRACI automatyzuje znaczną część wglądu w łańcuch dostaw i dowodów, których ten proces wymaga.
Czy CRACI obsługuje VEX?
Tak. CRACI obsługuje VEX (Vulnerability Exploitability eXchange) do zapisywania, jak znana podatność wpływa na Państwa produkt, obok analizy i przekazywania znalezisk zespołowi odpowiedzialnemu za poprawkę. Oświadczenie VEX informuje klientów i organy, czy podatność dopasowana w Państwa SBOM faktycznie dotyczy produktu, dzięki czemu nie tracą czasu na fałszywe alarmy. Prosimy umówić demo, aby zobaczyć, jak to pasuje do Państwa procesu analizy.
Czy CRACI przeprowadza analizę osiągalności (reachability)?
Nie. CRACI nie oferuje analizy osiągalności. Pokazuje, które z Państwa buildów, repozytoriów i produktów zawierają podatny komponent, i obsługuje VEX do zapisywania, jak podatność wpływa na Państwa produkt.
Śledzenie podatności na Państwa własnych buildach
Prosimy umówić demo: pokażemy, które podatności trafiają do dostarczanego przez Państwa oprogramowania i kto odpowiada za każdą poprawkę
Umów demo