Google publikuje Vanir, statyczny analizator służący do identyfikowania niezałatanych luk

Google zaprezentowało nowy projekt open source o nazwie Vanir, który rozwija statyczny analizator do automatycznej identyfikacji niezastosowanych poprawek kodu, które usuwają luki w zabezpieczeniach. Vanir wykorzystuje bazę sygnatur znanych luk i poprawek, aby je wyeliminować. Google prowadzi podobną bazę danych od lipca 2020 roku i obejmuje ona 95% luk w zabezpieczeniach w projektach związanych z platformą. Android, w tym rdzeń LinuxObecnie weryfikacja kodu źródłowego jest obsługiwana dla języków C, C++ i Java. Vanir jest napisany w językach C++ i Python i jest dystrybuowany na licencji BSD.

Projekt składa się z dwóch części - generatora sygnatur i detektora brakujących fragmentów. Generator tworzy sygnaturę umożliwiającą identyfikację braku poprawki na podstawie opisu luki w formacie OSV oraz łącza do poprawki lub zatwierdzenia, które naprawia lukę. W obecnej formie obsługuje on obsługę zatwierdzeń w repozytoriach googlesource.com i git.codelinaro.org, ale można łatwo dodać obsługę innych usług, podłączając obsługę pobierania kodu.

Detektor analizuje kod w określonym repozytorium i sprawdza, czy zawiera on poprawki opisane w dostarczonych sygnaturach. Implementacja oparta jest na algorytmach automatycznego udoskonalania sygnatur i analizie wielowzorcowej zaproponowanych w projektach badawczych ReDeBug i VUDDY. Na nowoczesnym komputerze PC z 16-rdzeniowym procesorem, skanowanie drzewa źródłowego platformy Android Skorzystanie z bazy danych OSV zawierającej informacje o ponad 2000 lukach zajmuje 10–20 minut. Raport zawiera listę potencjalnie niezałatanych luk oraz linki do powiązanych z nimi lokalizacji kodu, identyfikatorów CVE i poprawek. Według statystyk zebranych w ciągu dwóch lat użytkowania Vanira w Google, wskaźnik fałszywych trafień wynosi 2.72%.

Google publikuje Vanir, statyczny analizator służący do identyfikowania niezałatanych luk
Google publikuje Vanir, statyczny analizator służący do identyfikowania niezałatanych luk

Zalety proponowanego zestawu narzędzi:

  • Możliwość identyfikacji niezałatanych luk w zabezpieczeniach w forkach, modyfikacjach i zapożyczeniach kodu innych firm, niezwiązanych bezpośrednio z głównym projektem. W kontekście Android Narzędzie można wykorzystać do sprawdzenia zastosowania poprawek w różnych wariantach platformy Android, opracowane przez producentów urządzeń OEM.
  • Przeprowadzenie sprawdzenia bazującego wyłącznie na analizie istniejącego kodu, bez odwoływania się do metadanych, takich jak numer wersji, historia zatwierdzeń i SBOM (Software Bill Of Materials – wykaz materiałów oprogramowania).
  • Obsługa automatycznego generowania podpisów z wykorzystaniem publicznie dostępnych informacji o lukach w zabezpieczeniach oraz poprawek publikowanych przez osoby sprawujące nadzór.
  • Wyższa wydajność weryfikacji opartej na statycznej analizie kodu źródłowego w porównaniu do narzędzi do dynamicznej analizy i weryfikacji pakietów binarnych.
  • Samowystarczalność to zdolność do wdrażania infrastruktury we własnych systemach bez uciekania się do usług zewnętrznych.
  • Dostępność gotowej, aktualnej bazy podpisów, obsługiwanej przez zespół Google Android Zespół ds. bezpieczeństwa.
  • Obsługa łączenia się z systemami ciągłej integracji i dostarczania (CI/CD). Możliwość integracji z innymi projektami wykorzystującymi Vanir w postaci bibliotek w języku Python.
  • Możliwość dostosowania systemu do zadań niezwiązanych z podatnościami, takich jak wykrywanie klonowania kodu lub wykorzystywania licencjonowanego kodu w innych projektach.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster