Google opublikował Vanir, statyczny analizator do wykrywania niezałatanych podatności

Firma Google przedstawiła nowy otwarty projekt Vanir, rozwijający statyczny analizator do automatycznego wykrywania nie zastosowanych w kodzie poprawek eliminujących podatności. Vanir korzysta z bazy sygnatur zawierającej informacje o znanych podatnościach i poprawkach, aby usunąć te podatności. Tego rodzaju baza danych jest prowadzona przez Google od lipca 2020 roku i obejmuje 95% podatności w projektach związanych z platformą Android, w tym jądrze Linux. Obecnie wspierana jest analiza kodu w językach C, C++ oraz Java. Kod Vanir napisany jest w językach C++ i Python i udostępniany jest na licencji BSD.

Projekt składa się z dwóch części — generatora sygnatur i detektora pominiętych poprawek. Generator tworzy sygnaturę do identyfikacji braku poprawki na podstawie opisu podatności w formacie OSV oraz odnośnika do poprawki lub commita, który usuwa podatność. W obecnej formie wspierana jest analiza commitów w repozytoriach googlesource.com oraz git.codelinaro.org, ale wsparcie dla innych serwisów może być łatwo dodane poprzez podłączenie przetwornika do ekstrakcji kodu.

Detektor przeprowadza analizę kodu w wskazanym repozytorium i określa brak poprawek opisanych w dostarczonych sygnaturach. Realizacja opiera się na algorytmach automatycznego doprecyzowania sygnatur oraz analizy wielu wzorców, zaproponowanych w projektach badawczych ReDeBug i VUDDY. Na nowoczesnym komputerze z 16-rdzeniowym CPU skanowanie drzewa kodu źródłowego platformy Android z bazą OSV zawierającą informacje o ponad 2000 podatnościach trwa od 10 do 20 minut. Na wyjściu generowany jest raport z listą potencjalnie niezałatanych podatności oraz linkami do związanych z nimi fragmentów kodu, identyfikatorami CVE i poprawkami. Według statystyk zebranych w ciągu dwóch lat użytkowania Vanir w Google, poziom fałszywych alarmów wynosi 2,72%.

Google opublikował Vanir, statyczny analizator do wykrywania niezałatanych podatności
Google opublikował Vanir, statyczny analizator do wykrywania niezałatanych podatności

Zalety proponowanego narzędzia:

  • Możliwość wykrywania niezałatanych podatności w zewnętrznych gałęziach, modyfikacjach i zapożyczeniach kodu, które nie są bezpośrednio związane z głównym projektem. W kontekście Android narzędzie może być używane do sprawdzania wprowadzenia poprawek w wersjach platformy Android rozwijanych przez producentów sprzętu OEM.
  • Wykonywanie kontroli wyłącznie na podstawie analizy dostępnego kodu, bez odniesienia do metadanych, takich jak numer wersji, historia commitów i SBOM (Software Bill Of Materials).
  • Wsparcie dla automatycznego generowania sygnatur, wykorzystujące informacje o podatnościach pojawiające się w publicznych źródłach i publikowane towarzyszące poprawki.
  • Wyższa wydajność kontroli oparta na statycznej analizie kodu źródłowego w porównaniu do narzędzi do dynamicznej analizy i weryfikacji binarnych zestawów.
  • Samowystarczalność — możliwość uruchomienia infrastruktury na własnych systemach bez korzystania z zewnętrznych usług.
  • Posiadanie gotowej aktualnej bazy sygnatur, wspieranej przez zespół Google Android Security Team.
  • Wsparcie dla podłączania do systemów ciągłej integracji i dostarczania (CI/CD). Możliwość integracji z innymi projektami z wykorzystaniem Vanir w formie bibliotek w języku Python.
  • Możliwość dostosowania systemu do zadań niezwiązanych z podatnościami, na przykład do wykrywania klonowania kodu lub używania kodu objętego licencją w innych projektach.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster