Google publikoval Vanir, statický analyzátor pro identifikaci neopravovaných zranitelností

Společnost Google představila nový otevřený projekt Vanir, který vyvíjí statický analyzátor pro automatické odhalování nepoužitých oprav kódu, které odstraňují zranitelnosti. Vanir používá databázi podpisů s informacemi o známých zranitelnostech a opravách k odstranění těchto zranitelností. Podobná databáze je udržována Googlem od července 2020 a pokrývá 95 % zranitelností v projektech souvisejících s platformou Android, včetně jádra Linux. V současnosti je podporováno ověřování zdrojového kódu v jazycích C, C++ a Java. Kód Vanir je napsán v jazycích C++ a Python a je šířen pod licencí BSD.

Projekt se skládá ze dvou částí — generátoru podpisů a detektoru chybějících oprav. Generátor vytváří podpis pro identifikaci absence opravy na základě popisu zranitelnosti ve formátu OSV a odkazu na opravu nebo commit, který zranitelnost odstraňuje. V aktuální podobě je podporováno zpracování commitů v repositorích googlesource.com a git.codelinaro.org, ale podpora dalších služeb může být snadno přidána prostřednictvím připojení zpracovatele pro extrakci kódu.

Detektor provádí analýzu kódu v uvedeném repozitáři a určuje absenci v něm oprav, jak je popsáno v poskytnutých podpisech. Implementace je založena na algoritmech automatické jemné úpravy podpisů a analýzy vícešablon, které byly navrženy v výzkumných projektech ReDeBug a VUDDY. Na moderním PC se 16-jádrovým CPU skenování stromu zdrojových textů platformy Android podle databáze OSV s informacemi o více než 2000 zranitelnostech trvá 10-20 minut. Na konci je vytvořena zpráva se seznamem potenciálně neopravovaných zranitelností a odkazy na související pozice v kódu, CVE identifikátory a opravy. Podle statistik shromážděných během dvou let používání Vanir v Googlu je míra falešných poplachů 2,72 %.

Google publikoval Vanir, statický analyzátor pro identifikaci neopravovaných zranitelností
Google publikoval Vanir, statický analyzátor pro identifikaci neopravovaných zranitelností

Výhody navrhovaného nástroje:

  • Možnost odhalení neopravovaných zranitelností ve třetích větvích, modifikacích a výpůjčkách kódu, které nejsou přímo spojeny s hlavním projektem. V kontextu Android může být nástroj použit k ověřování aplikace oprav v variantách platformy Android vyvíjených výrobci OEM zařízení.
  • Provádění kontroly pouze na základě analýzy stávajícího kódu, bez vazby na metadata, jako je číslo verze, historie commitů a SBOM (Seznam komponent softwaru).
  • Podpora automatického generování podpisů pomocí informací o zranitelnostech, které se objevují ve veřejných zdrojích, a publikovaných oprav.
  • Vyšší výkon kontroly na základě statické analýzy zdrojového kódu ve srovnání s nástroji pro dynamickou analýzu a kontrolu binárních sestavení.
  • Samostatnost — možnost nasadit infrastrukturu na svých systémech bez obracení se na externí služby.
  • Existence aktuální databáze podpisů, kterou spravuje tým Google Android Security Team.
  • Podpora připojení k systémům pro kontinuální integraci a doručování (CI/CD). Možnost integrace do dalších projektů s použitím Vanir ve formě knihoven v jazyce Python.
  • Možnost přizpůsobit systém pro úkoly nesouvisející se zranitelnostmi, například pro odhalování klonování kódu nebo použití licencovaného kódu v jiných projektech.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster