Quali bug di sicurezza verranno sfruttati? I ricercatori creano un modello ML per scoprire la data intelligence di PlatoBlockchain. Ricerca verticale. Ai.

Quali bug di sicurezza verranno sfruttati? I ricercatori creano un modello ML per scoprirlo

Utilizzando l'apprendimento automatico addestrato su dati provenienti da più di due dozzine di fonti, un team di ricercatori universitari ha creato un modello per prevedere quali vulnerabilità si tradurranno probabilmente in un exploit funzionale, uno strumento potenzialmente prezioso che potrebbe aiutare le aziende a decidere meglio a quali difetti del software dare la priorità.

Il modello, chiamato Expected Exploitability, può catturare il 60% delle vulnerabilità che avranno exploit funzionali, con un'accuratezza di previsione - o "precisione", per usare la terminologia di classificazione - dell'86%. Una chiave per la ricerca è consentire le modifiche di alcune metriche nel tempo, perché non tutte le informazioni rilevanti sono disponibili nel momento in cui viene divulgata una vulnerabilità e l'utilizzo di eventi successivi ha consentito ai ricercatori di affinare l'accuratezza della previsione.

Migliorando la prevedibilità dello sfruttamento, le aziende possono ridurre il numero di vulnerabilità presenti ritenuto critico per il patching, ma la metrica ha anche altri usi, afferma Tudor Dumitraș, professore associato di ingegneria elettrica e informatica presso l'Università del Maryland a College Park, e uno degli autori del documento di ricerca pubblicato la scorsa settimana alla USENIX Security Conference.

"La previsione dell'exploitability non è rilevante solo per le aziende che vogliono dare la priorità alle patch, ma anche per le compagnie assicurative che stanno cercando di calcolare i livelli di rischio e per gli sviluppatori, perché questo è forse un passo verso la comprensione di ciò che rende sfruttabile una vulnerabilità", afferma.

I Ricerca dell'Università del Maryland a College Park e dell'Arizona State University è l'ultimo tentativo di fornire alle aziende ulteriori informazioni su quali vulnerabilità potrebbero essere, o potrebbero essere, sfruttate. Nel 2018, ricercatori dell'Arizona State University e dell'USC Information Science Institute incentrato sull'analisi delle discussioni sul Dark Web per trovare frasi e caratteristiche che potrebbero essere utilizzate per prevedere la probabilità che una vulnerabilità venga, o sia stata, sfruttata. 

E nel 2019, i ricercatori della società di ricerca sui dati Cyentia Institute, RAND Corp. e Virginia Tech hanno presentato un modello che previsioni migliorate di cui le vulnerabilità sarebbero sfruttate dagli aggressori.

Molti dei sistemi si basano su processi manuali di analisti e ricercatori, ma la metrica Expected Exploitability può essere completamente automatizzata, afferma Jay Jacobs, chief data scientist e co-fondatore del Cyentia Institute.

"Questa ricerca è diversa perché si concentra sulla raccolta di tutti gli indizi sottili automaticamente, in modo coerente e senza fare affidamento sul tempo e sulle opinioni di un analista", afferma. “[T]suo è tutto fatto in tempo reale e su larga scala. Può facilmente tenere il passo ed evolversi con la marea di vulnerabilità che vengono divulgate e pubblicate quotidianamente".

Non tutte le funzionalità erano disponibili al momento della divulgazione, quindi il modello doveva anche tenere conto del tempo e superare la sfida del cosiddetto "rumore dell'etichetta". Quando gli algoritmi di apprendimento automatico utilizzano un momento statico per classificare i modelli, ad esempio in sfruttabili e non sfruttabili, la classificazione può minare l'efficacia dell'algoritmo, se l'etichetta viene successivamente trovata errata.

PoC: analisi dei bug di sicurezza per sfruttabilità

I ricercatori hanno utilizzato informazioni su quasi 103,000 vulnerabilità, quindi le hanno confrontate con i 48,709 exploit Proof-of-concept (PoC) raccolti da tre repository pubblici — ExploitDB, BugTraq e Vulners — che rappresentavano exploit per 21,849 delle vulnerabilità distinte. I ricercatori hanno anche estratto le discussioni sui social media per parole chiave e token - frasi di una o più parole - e hanno creato un set di dati di exploit noti.

Tuttavia, i PoC non sono sempre un buon indicatore dello sfruttamento di una vulnerabilità, affermano i ricercatori nel documento. 

"I PoC sono progettati per attivare la vulnerabilità bloccando o bloccando l'applicazione di destinazione e spesso non sono direttamente utilizzabili come armi", hanno affermato i ricercatori. “[Osserviamo] che questo porta a molti falsi positivi per la previsione di exploit funzionali. Al contrario, scopriamo che alcune caratteristiche del PoC, come la complessità del codice, sono buoni predittori, perché innescare una vulnerabilità è un passaggio necessario per ogni exploit, rendendo queste caratteristiche causalmente collegate alla difficoltà di creare exploit funzionali".

Dumitraș osserva che prevedere se una vulnerabilità verrà sfruttata aggiunge ulteriori difficoltà, poiché i ricercatori dovrebbero creare un modello delle motivazioni degli aggressori.

"Se una vulnerabilità viene sfruttata in natura, allora sappiamo che c'è un exploit funzionale lì, ma conosciamo altri casi in cui esiste un exploit funzionale, ma non vi è alcun caso noto di sfruttamento in natura", afferma. "Le vulnerabilità che hanno un exploit funzionale sono pericolose e quindi dovrebbero avere la priorità per l'applicazione di patch".

Lo hanno scoperto una ricerca pubblicata da Kenna Security, ora di proprietà di Cisco, e dal Cyentia Institute l'esistenza del codice di exploit pubblico ha portato a un aumento di sette volte nella probabilità che un exploit venga utilizzato in natura.

Tuttavia, l'assegnazione di priorità alle patch non è l'unico modo in cui la previsione dell'exploit può avvantaggiare le aziende. I vettori di assicurazione informatica potrebbero utilizzare la previsione dell'exploit come un modo per determinare il potenziale rischio per gli assicurati. Inoltre, il modello potrebbe essere utilizzato per analizzare il software in fase di sviluppo per trovare modelli che potrebbero indicare se il software è più facile o più difficile da sfruttare, afferma Dumitraș.

Timestamp:

Di più da Lettura oscura