Kompania Google prezantoi projektin e ri të hapur Vanir, që zhvillon një analizues statik për identifikimin automatike të patches së pa aplikuar në kod, që eleminojnë vulnerabilitetet. Vanir përdor një bazë nënshkrimesh me informacione rreth vulnerabiliteteve dhe patches të njohura për të eliminuar këto vulnerabilitete. Një bazë e tillë po mbahet nga Google që nga korriku 2020 dhe mbulon 95% të vulnerabiliteteve në projektet e lidhura me platformën Android, duke përfshirë kernin Linux. Aktualisht mbështetet kontrolli i kodit burimor në gjuhët C, C++ dhe Java. Kodi i Vanir është shkruar në gjuhët C++ dhe Python dhe shpërndahet nën licencën BSD.
Projekti përbëhet nga dy pjesë - gjeneruesi i nënshkrimeve dhe detektori i patches së humbur. Gjeneruesi formon një nënshkrim për identifikimin e mungesës së një rregullimi bazuar në përshkrimin e vulnerabilitetit në formatin OSV dhe lidhjen me një patch ose përmirësim që eleminon vulnerabilitetin. Në formën aktuale, mbështetet përpunimi i përmirësimeve në repositorët googlesource.com dhe git.codelinaro.org, por mbështetje për shërbime të tjera mund të shtohet lehtësisht duke lidhur një përpunues për nxjerrjen e kodit.
Detektori analizon kodin në repositorin e caktuar dhe përcakton mungesën e përmirësimeve të përshkruara në nënshkrimet e ofruara. Zbatimi është i bazuar në algoritmet e qartësimit automat dhe analizën e shumë mënyrave, të propozuara në projektet kërkimore ReDeBug dhe VUDDY. Në një PC modern me një CPU 16-bërthamash, skanimi i pemës së teksteve burimore për platformën Android në bazën OSV me informacione mbi më shumë se 2000 vulnerabilitete zë 10-20 minuta. Në dalje formohet një raport me një listë vulnerabilitetesh potencialisht të pa riparuara dhe lidhje me pozitat e lidhura në kod, identifikuesit CVE dhe patches. Sipas statistikave të mbledhura gjatë dy viteve të përdorimit të Vanir në Google, niveli i falsifikimeve është 2.72%.


Avantazhet e instrumenteve të propozuara:
- Mundësia për identifikimin e vulnerabiliteteve të pa riparuara në degë të jashtme, modifikime dhe marrjen e kodit, që nuk lidhen drejtpërdrejt me projektin kryesor. Në kontekstin e Android, instrumenti mund të përdoret për të kontrolluar zbatimin e përmirësimeve në varianta të platformës Android, që zhvillohen nga prodhuesit OEM të pajisjeve.
- Kryer verifikimi vetëm mbi analizën e kodit të disponueshëm, pa lidhje me metadatat, si numri i versionit, historia e komiteve dhe SBOM (Lista e Materialeve të Software-it).
- Mbështetje për gjenerimin automatizues të nënshkrimeve, duke përdorur informacionin mbi dobësitë që shfaqet në burime publike dhe patch-et që publikon ekipi përkatës.
- Performancë më e lartë e verifikimit të bazuar në analizën statike të kodit burimor krahasuar me instrumentet për analizën dinamike dhe verifikimin e ndërtimeve binare.
- AutonominĂ« â mundĂ«sia pĂ«r tĂ« vendosur infrastrukturĂ«n nĂ« sistemet tuaja pa u drejtuar te shĂ«rbimet e jashtme.
- Prania e një baze nënshkrimesh të gatshme dhe aktuale, e shoqëruar nga ekipi i Sigurisë së Google Android.
- Mbështetje për lidhjen me sistemet e integrimit dhe shpërndarjes së vazhdueshme (CI/CD). Mundësia e integrimit në projekte të tjera duke përdorur Vanir në formën e biblioteka në gjuhën Python.
- Mundësia e përshtatjes së sistemit për detyra që nuk lidhen me dobësitë, për shembull, për identifikimin e klonimit të kodit ose përdorimin e kodit të licencuar në projekte të tjera.
Burimi: opennet.ru
