Google ha pubblicato Vanir, un analizzatore statico per identificare vulnerabilità non corrette

L'azienda Google ha presentato il nuovo progetto open source Vanir, che sviluppa un analizzatore statico per l'identificazione automatica delle patch non applicate al codice, che risolvono le vulnerabilità. Vanir utilizza un database di firme con informazioni su vulnerabilità e patch note per risolvere queste vulnerabilità. Tale database è gestito da Google dal luglio 2020 e copre il 95% delle vulnerabilità nei progetti legati alla piattaforma Android, incluso il kernel Linux. Attualmente supporta la verifica del codice sorgente nei linguaggi C, C++ e Java. Il codice di Vanir è scritto in C++ e Python e viene distribuito con licenza BSD.

Il progetto è composto da 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 collegamento alla patch o al commit che risolve la vulnerabilità. Nella sua forma attuale, supporta l'elaborazione dei commit nei repository googlesource.com e git.codelinaro.org, ma il supporto per altri servizi può essere facilmente aggiunto tramite un connettore per l'estrazione del 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 raffinamento automatico delle firme e sull'analisi di molteplici modelli, proposti nei progetti di ricerca ReDeBug e VUDDY. Su un PC moderno con CPU a 16 core, la scansione dell'albero del codice sorgente della piattaforma Android tramite il database OSV con informazioni su oltre 2000 vulnerabilità richiede 10-20 minuti. In uscita, viene generato un rapporto con un elenco delle vulnerabilità potenzialmente non corrette e collegamenti alle relative posizioni nel codice, identificatori CVE e patch. Secondo le statistiche raccolte in due anni di utilizzo di Vanir in Google, il tasso di falsi positivi è del 2,72%.

Google ha pubblicato Vanir, un analizzatore statico per identificare vulnerabilità non corrette
Google ha pubblicato Vanir, un analizzatore statico per identificare vulnerabilità non corrette

Vantaggi degli strumenti proposti:

  • La possibilità di identificare vulnerabilità non corrette in fork, modifiche e riutilizzi di codice di terze parti, non direttamente collegati al progetto principale. Nel contesto di Android, questo strumento può essere utilizzato per verificare l'applicazione delle correzioni nelle varianti della piattaforma Android sviluppate dai produttori OEM.
  • L'esecuzione della verifica solo sulla base dell'analisi del codice esistente, senza legame con i 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 su vulnerabilità disponibili in fonti pubbliche e patch pubblicate dai fornitori.
  • Migliore performance di verifica basata su analisi statica del codice sorgente rispetto agli strumenti per analisi dinamica e verifica delle compilazioni binarie.
  • Autosufficienza: possibilità di implementare l'infrastruttura sui propri sistemi senza ricorrere a servizi esterni.
  • Disponibilità di un database di firme attuale e pronto, supportato dal 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 sotto forma di librerie in Python.
  • Possibilità di adattare il sistema per compiti non legati alle vulnerabilità, ad esempio, per identificare il plagio del codice o l'uso di codice sotto 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