Google ha pubblicato Vanir, un analizzatore statico per l'individuazione di vulnerabilità non corrette

Google ha presentato un nuovo progetto open source, Vanir, che sviluppa un analizzatore statico per identificare automaticamente le patch non applicate al codice che risolvono vulnerabilità. Vanir utilizza un database di firme con informazioni sulle vulnerabilità note e le patch per correggerle. Questo database è gestito da Google da luglio 2020 e copre il 95% delle vulnerabilità nei progetti legati alla piattaforma Android, inclusi il kernel Linux. Attualmente supporta il controllo del codice sorgente in C, C++ e Java. Il codice di Vanir è scritto in C++ e Python, ed è distribuito sotto licenza BSD.

Il progetto si compone di due parti: un generatore di firme e un rilevatore di patch mancanti. Il generatore crea una firma per identificare l'assenza di una correzione sulla base della descrizione della vulnerabilità nel formato OSV e di un link alla patch o al commit che risolve la vulnerabilità. Nella sua attuale versione, supporta l'elaborazione di commit nei repository googlesource.com e git.codelinaro.org, ma il supporto per altri servizi può essere facilmente aggiunto collegando un gestore per estrarre il codice.

Il rilevatore analizza il codice nel repository specificato e determina l'assenza di correzioni descritte nelle firme fornite. L'implementazione si basa su algoritmi di affinamento automatico delle firme e analisi di modelli multipli, proposti nei progetti di ricerca ReDeBug e VUDDY. Su un computer moderno con CPU a 16 core, la scansione dell'albero del codice sorgente della piattaforma Android in base al database OSV con informazioni su oltre 2000 vulnerabilità richiede 10-20 minuti. Al termine, viene generato un report con un elenco delle vulnerabilità potenzialmente non corrette e collegamenti alle relative posizioni nel codice, identificatori CVE e patch. Secondo le statistiche raccolte negli ultimi due anni di utilizzo di Vanir in Google, il tasso di falsi positivi è del 2.72%.

Google ha pubblicato Vanir, un analizzatore statico per l'individuazione di vulnerabilità non corrette
Google ha pubblicato Vanir, un analizzatore statico per l'individuazione di vulnerabilità non corrette

Vantaggi degli strumenti proposti:

  • Possibilità di individuare vulnerabilità non corrette in ramificazioni di terzi, modifiche e riutilizzi di codice, non direttamente collegati al progetto principale. Nel contesto di Android, gli strumenti possono essere utilizzati per verificare l'applicazione delle correzioni nelle varianti della piattaforma Android sviluppate dai produttori OEM.
  • Esecuzione della verifica solo sulla base dell'analisi del codice disponibile, senza legami con metadati come il numero di versione, la cronologia dei commit e SBOM (Software Bill Of Materials).
  • Supporto per la generazione automatica di firme, utilizzando informazioni sulle vulnerabilità emerse in fonti pubbliche e patch pubblicate da parte di sviluppatori.
  • Maggiore efficienza nella verifica basata su analisi statica del codice sorgente rispetto agli strumenti di analisi dinamica e di verifica delle build binarie.
  • Autonomia: possibilità di implementare l'infrastruttura sui propri sistemi senza fare affidamento su servizi esterni.
  • Disponibilità di un database di firme attuale e completo, supportato dal team di Google Android Security Team.
  • Supporto per l'integrazione con sistemi di integrazione e distribuzione continua (CI/CD). Possibilità di integrazione in altri progetti utilizzando Vanir come librerie in linguaggio Python.
  • Possibilità di adattare il sistema per compiti non correlati alle vulnerabilità, ad esempio per rilevare cloni di codice o l'uso di codice con licenza in altri progetti.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster