Google zverejnil Vanir, statický analyzátor na identifikáciu neopraviteľných zraniteľností.

Spoločnosť Google predstavila nový otvorený projekt Vanir, ktorý rozvíja statický analyzátor na automatické zistenie neaplikovaných opráv v kóde, ktoré odstraňujú zraniteľnosti. Vanir využíva databázu podpisov s informáciami o známych zraniteľnostiach a opravách na ich odstránenie. Takáto databáza sa vedie v Google od júla 2020 a pokrýva 95% zraniteľností v projektoch súvisiacich s platformou Android, vrátane jadra Linux. V súčasnosti je podporovaná kontrola zdrojového kódu v jazykoch C, C++ a Java. Kód Vanir je napísaný v jazykoch C++ a Python a je distribuovaný pod licenciou BSD.

Projekt pozostáva z dvoch častí - generátora podpisov a detektora vynechaných opráv. Generátor vytvára podpis na identifikáciu absencie opravy na základe popisu zraniteľnosti vo formáte OSV a odkazu na opravu alebo commit, ktorý zraniteľnosť odstraňuje. V súčasnej podobe podporuje spracovanie commitov v repozitároch googlesource.com a git.codelinaro.org, no podpora iných služieb môže byť ľahko pridaná prostredníctvom pripojenia spracovateľa na extrakciu kódu.

Detektor vykonáva analýzu kódu v zadanom repozitári a určuje absenciu opráv popísaných v poskytnutých podpisoch. Implementácia je založená na algoritmoch automatického spresnenia podpisov a analýze viacerých vzorov, ktoré boli navrhnuté v výskumných projektoch ReDeBug a VUDDY. Na modernom PC s 16-jadrovým CPU skenovanie stromu zdrojových textov platformy Android podľa OSV-databázy s informáciami o viac než 2000 zraniteľnostiach trvá 10-20 minút. Na výstupe sa generuje správa so zoznamom potenciálne neopraviteľných zraniteľností a odkazmi na súvisiace časti kódu, CVE identifikátory a opravy. Podľa štatistiky zozbieranej počas dvoch rokov používania Vanir v Google predstavuje miera falošných pozitívnych výsledkov 2,72%.

Google zverejnil Vanir, statický analyzátor na identifikáciu neopraviteľných zraniteľností.
Google zverejnil Vanir, statický analyzátor na identifikáciu neopraviteľných zraniteľností.

Výhody navrhnutého nástroja:

  • Možnosť identifikovať neopraviteľné zraniteľnosti vo vonkajších vetvách, modifikáciách a prevzatých kódoch, priamo nesúvisiacich s hlavným projektom. V kontexte Android môže byť nástroj použitý na kontrolu aplikácie opráv vo variantách platformy Android, ktoré rozvíjajú výrobcovia OEM zariadení.
  • Realizácia kontroly len na základe analýzy existujúceho kódu, bez väzby na metadáta, ako je číslo verzie, história commitov a SBOM (Software Bill Of Materials).
  • Podpora automatickej generácie podpisov, pričom sa využíva zverejnené informácie o zraniteľnostiach a opravy publikované sprievodným patchom.
  • Vyšší výkon kontroly na základe statickej analýzy zdrojového kódu v porovnaní s nástrojmi pre dynamickú analýzu a kontrolu binárnych zostavení.
  • Samostatnosť — schopnosť nasadiť infraštruktúru na svojich systémoch bez nutnosti obracať sa na externé služby.
  • Prítomnosť aktuálnej databázy podpisov, ktorú spravuje tím Google Android Security Team.
  • Podpora pripojenia k systémom nepretržitej integrácie a dodávky (CI/CD). Možnosť integrovať do iných projektov použitím Vanir vo forme knižníc v jazyku Python.
  • Možnosť prispôsobenia systému pre úlohy nesúvisiace so zraniteľnosťami, napríklad na zistenie klonovania kódu alebo použitia licencovaného kódu v iných projektoch.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster