Google implementa uno schema di vulnerabilità della sicurezza unificato per il software open source

0
144

Steven J. Vaughan-Nichols

Di Steven J. Vaughan-Nichols per Linux e Open Source | 24 giugno 2021 — 19:30 GMT (20:30 BST) | Argomento: Sicurezza

L'autore ed esperto di affari, H. James Harrington, una volta disse: “Se non puoi misurare qualcosa, non puoi capirlo. Se non puoi capirlo, non puoi controllarlo. Se non puoi controllare esso, non puoi migliorarlo.” Lui aveva ragione. E Google sta seguendo questo consiglio introducendo un nuovo modo per rafforzare la sicurezza open source introducendo uno schema di scambio di vulnerabilità per descrivere le vulnerabilità negli ecosistemi open source.

Questo è molto importante. Un problema di basso livello è che ci sono molti database di vulnerabilità della sicurezza, non esiste un formato di interscambio standard. Se vuoi aggregare informazioni da più database, devi gestirli in modo completamente separato. È una vera perdita di tempo ed energia. Per lo meno devi creare parser per ogni formato di database per unire i loro dati. Tutto ciò rende il monitoraggio sistematico delle dipendenze e la collaborazione tra i database delle vulnerabilità molto più difficile di quanto dovrebbe essere.

Quindi, Google ha costruito sul lavoro che ha già svolto sul database Open Source Vulnerabilities (OSV) e sul set di dati OSS-Fuzz delle vulnerabilità di sicurezza. Il team di Google Open Source Security, il team di Go e la più ampia community open source hanno contribuito a creare questo semplice schema di interscambio di vulnerabilità. Mentre lavorano sullo schema, potrebbero comunicare dati precisi sulla vulnerabilità per centinaia di progetti open source critici.

Ora l'OSV e lo schema sono stati estesi a diversi nuovi ecosistemi chiave open source: Go, Rust, Python e DWF. Questa espansione unisce e aggrega i loro database di vulnerabilità. Ciò offre agli sviluppatori un modo migliore per monitorare e risolvere i loro problemi di sicurezza.

Questo nuovo schema di vulnerabilità mira ad affrontare alcuni problemi chiave con la gestione delle vulnerabilità open source. Esso: 

Applica la specifica della versione che corrisponde esattamente agli schemi di denominazione e di controllo delle versioni utilizzati negli ecosistemi di pacchetti open source effettivi. Ad esempio, è difficile associare una vulnerabilità come un CVE a un nome di pacchetto e un insieme di versioni in un gestore di pacchetti in modo automatizzato utilizzando meccanismi esistenti come CPE. Può descrivere le vulnerabilità in qualsiasi ecosistema open source, senza richiedere una logica dipendente dall'ecosistema per elaborarle. È facile da usare sia dai sistemi automatizzati che dagli esseri umani.

In breve, come Abhishek Arya, il responsabile del team di sicurezza Open Source di Google, ha scritto in una nota sul manoscritto delle specifiche, “L'intento è creare un formato di schema semplice che contenga metadati precisi sulla vulnerabilità, i dettagli necessari necessari per correggere il bug ed è un carico ridotto per l'ecosistema open source con risorse limitate.”

La speranza è che con questo schema gli sviluppatori possano definire un formato che tutti i database di vulnerabilità possano esportare. Un formato così unificato significherebbe che i programmatori e i ricercatori di sicurezza possono condividere facilmente gli strumenti e i dati sulle vulnerabilità in tutti i progetti open source.

La specifica dello schema di vulnerabilità ha attraversato diverse iterazioni, ma non è ancora stata completata. Google e gli amici stanno invitando ulteriori feedback man mano che si avvicina la fase di finalizzazione. Un certo numero di database di vulnerabilità pubblici oggi stanno già esportando questo formato, con altri in cantiere:

Database di vulnerabilità Go per pacchi Go

Database di avviso ruggine per pacchi Cargo

< p>Database di avvisi Python per i pacchetti PyPI

Database DWF per le vulnerabilità nel kernel Linux e altri software popolari 

Database OSS-Fuzz per le vulnerabilità nel software C/C++ trovato da OSS-Fuzz

Il servizio OSV ha anche aggregato tutti questi database di vulnerabilità, che sono visualizzabili nell'interfaccia utente web del progetto. I database possono anche essere interrogati con un singolo comando tramite le sue API esistenti.

Oltre all'automazione esistente di OSV, Google ha creato più strumenti di automazione per la manutenzione del database delle vulnerabilità e ha utilizzato questi strumenti per avviare il database di consulenza Python della community. Questa automazione prende i feed esistenti, li abbina con precisione ai pacchetti e genera voci contenenti intervalli di versioni precisi e convalidati con un intervento umano minimo. Google prevede di estendere questo strumento ad altri ecosistemi per i quali non esiste un database di vulnerabilità esistente o un supporto limitato per la manutenzione continua del database.

Questo sforzo si allinea anche con il recente ordine esecutivo degli Stati Uniti sul miglioramento della sicurezza informatica della nazione, che ha sottolineato la necessità di rimuovere gli ostacoli alla condivisione delle informazioni sulle minacce al fine di rafforzare l'infrastruttura nazionale. Questo database di vulnerabilità condiviso ampliato segna un passo importante verso la creazione di un ambiente open source più sicuro per tutti gli utenti.

Vuoi essere coinvolto? Dovresti. Questo promette di rendere il software open source, indipendentemente dal tuo progetto, molto più facile da proteggere.

Storie correlate:

Sicurezza open source: Google ha un nuovo piano per fermare gli attacchi alla catena di fornitura del softwareCloudLinux rilascia lo strumento di sicurezza UChecker per i server Linux Brutto bug di sicurezza a livello di root del sistema Linux rivelato e corretto

Argomenti correlati:

Enterprise Software Security TV Data Management CXO Data Center Steven J. Vaughan-Nichols

Di Steven J. Vaughan-Nichols per Linux e Open Source | 24 giugno 2021 — 19:30 GMT (20:30 BST) | Argomento: Sicurezza