Tradycyjne skanery podatności często wymagają komunikacji z zewnętrznymi chmurowymi interfejsami API w celu przeskanowania plików. Takie podejście przesyła metadane lub skróty plików poza lokalną infrastrukturę, co może powodować opóźnienia i rodzić kwestie związane z prywatnością danych.
Vigil Active Defense Engine w StateWarden to lokalny system wykrywania zagrożeń zaprojektowany do pracy w całości w sieci prywatnej, zapewniający klasyfikację zagrożeń bez korzystania z zewnętrznych interfejsów API podczas skanów.
1. Architektura skanowania lokalnego
Poleganie na zewnętrznych interfejsach API w zakresie wywiadu o zagrożeniach rodzi szereg wyzwań:
- Ograniczanie liczby zapytań: Dostawcy chmurowi mogą ograniczać częstotliwość zapytań API, co powoduje opóźnienia przy skanowaniu dużych systemów plików.
- Prywatność danych: Przesyłanie skrótów autorskiego oprogramowania lub wewnętrznych konfiguracji do podmiotu trzeciego może kolidować z politykami bezpieczeństwa organizacji i zgodnością z RODO.
- Opóźnienia: Czas komunikacji sieciowej związany z zapytaniami API wydłuża całkowity czas skanu bezpieczeństwa.
2. Architektura Vigil
Vigil rozwiązuje te problemy, odzwierciedlając globalne źródła wywiadu o zagrożeniach w lokalnym, zoptymalizowanym środowisku.
Agregator (warstwa sterowania)
Warstwa sterowania StateWarden pobiera i przetwarza bazy danych ze standardowych źródeł informacji o zagrożeniach:
- OSV (Open Source Vulnerabilities): Dane o podatnościach pakietów oprogramowania (dpkg, rpm, pip, npm).
- NVD (National Vulnerability Database): Rządowe repozytorium USA standardowych danych o podatnościach (CVE).
- MalwareBazaar: Baza znanych skrótów złośliwych plików (SHA256).
StateWarden pobiera te dane JSON, deduplikuje je i przechowuje w bazie PostgreSQL w lokalnej warstwie sterowania.
Filtr Blooma (struktura pamięciowa)
Aby zoptymalizować szybkość wyszukiwania podczas aktywnego skanu, Vigil używa filtrów Blooma - probabilistycznej struktury danych.
Przy starcie usługa Vigil ładuje sygnatury złośliwego oprogramowania z bazy danych do filtru Blooma rezydującego w pamięci. Pozwala to sprawdzać złośliwe skróty z niskim opóźnieniem, bez wykonywania odczytów z dysku.
Skaner (Agent)
Gdy Artemis zaplanuje zadanie skanu, Agent StateWarden wykonuje następujące kroki:
- Zbieranie inwentarza: Agent kataloguje zainstalowane pakiety (np. za pomocą
dpkglub Rejestru Windows) i oblicza skróty SHA256 plików wykonywalnych. - Transmisja lokalna: Agent wysyła ten „inwentarz JSON" bezpośrednio do lokalnej warstwy sterowania Artemis przez mTLS.
- Klasyfikacja: Vigil przetwarza ładunek, sprawdzając skróty względem filtru Blooma i dopasowując wersje pakietów do bazy CVE.
Cały proces odbywa się w sieci prywatnej, bez przesyłania danych na zewnątrz.
3. Raportowanie i zarządzanie
Vigil jest zintegrowany z panelem StateWarden Dashboard za pośrednictwem dwóch stron: Krajobraz zagrożeń i Klasyfikacja podatności.
Krajobraz zagrożeń (/security-dashboard)
Strona Krajobraz zagrożeń zapewnia widok bieżącej postawy bezpieczeństwa w skali całej floty:
- Wskaźniki KPI floty: Zagregowane metryki, takie jak aktywne zagrożenia, rozkład ważności i wolumen skanów w wybranym zakresie czasu.
- Wykresy zagrożeń: Wykresy szeregów czasowych wykryć podatności i złośliwego oprogramowania, przepustowości silnika oraz tempa remediacji.
- Rejestr zdarzeń: 30-dniowa historia aktywności skanów i statusów alertów dla każdego dnia.
- Urządzenia priorytetowe: Urządzenia uszeregowane według bieżącego wyniku ryzyka, z bezpośrednią nawigacją do ich wykryć.
- Generowanie raportów: Raporty bezpieczeństwa PDF na żądanie, obejmujące cały Realm lub pojedyncze wybrane urządzenie.
Klasyfikacja podatności (/triage)
Strona Klasyfikacja podatności to interfejs wsparcia decyzji dla poszczególnych wykryć:
- Zakładki: Wykrycia są zorganizowane w zakładki AKTYWNE, ROZWIĄZANE / ZIGNOROWANE oraz REGUŁY WYKLUCZEŃ.
- Ocena ryzyka: Wykrycia są mapowane na poziomy ważności CVSS (Common Vulnerability Scoring System) w skali od 0,0 do 10,0.
- Kontekst urządzenia: Wykrycia można wyświetlać jako listę płaską lub pogrupowaną według urządzeń, z pokazaniem konkretnych urządzeń fizycznych lub wirtualnych powiązanych z każdym wykryciem.
- Klasyfikacja zbiorcza: Administratorzy mogą zastosować decyzje klasyfikacji do wielu zaznaczonych wykryć jednocześnie oraz wyeksportować listę wykryć do formatu CSV.
- Zarządzanie wykluczeniami: Administratorzy mogą wykluczać wybrane wykrycia (np. wyniki fałszywie pozytywne), tworząc reguły wykluczeń, z których każda wymaga udokumentowanego uzasadnienia. Silnik Vigil ignoruje wykluczone wykrycia w kolejnych skanach. Zastosowanie decyzji klasyfikacji i tworzenie reguł wykluczeń wymaga uprawnienia
vigil.triage_risks.
Urządzenia, które nigdy nie były skanowane, są wyświetlane z neutralnym statusem ryzyka „Brak danych" zamiast wyniku ważności.
4. Śledzenie remediacji
Vigil aktualizuje swój status wraz ze zmianami w systemie.
Gdy podatny pakiet zostanie załatany na serwerze, Agent StateWarden kataloguje zaktualizowaną wersję pakietu podczas kolejnego skanu. Vigil rejestruje aktualizację, weryfikuje, że dana podatność CVE została rozwiązana, i automatycznie aktualizuje status w Dashboard.