Fady Copty, Ricerca IBM
I ricercatori di IBM hanno recentemente ideato una nuova tecnica per correggere virtualmente le vulnerabilità della sicurezza prima che vengano trovate. Il loro approccio, presentato all'International Workshop on Information and Operational Technology, co-localizzato con RAID18, sfrutta le tecniche di test per la generazione di dati basata sull'apprendimento supervisionato.
"Durante la ricerca di una soluzione per trovare vulnerabilità di sicurezza nel software popolare, ci siamo soffermati a pensare al seguente problema:sappiamo praticamente e teoricamente che è impossibile trovare tutte le vulnerabilità in un'applicazione, e la comunità della sicurezza è in una corsa costante per scoprire quelle vulnerabilità nella speranza di trovarle prima che lo facciano i cattivi, "Fady Copty, ricercatore capo dello studio, detto TechXplore . "Ciò significa far rispettare le normative e distribuire costantemente patch di sicurezza ai sistemi".
La distribuzione di una patch di sicurezza su un'applicazione è un'attività noiosa e dispendiosa in termini di tempo, che prevede una serie di passaggi:identificazione della versione vulnerabile dell'applicazione, gestire questa vulnerabilità, consegnare la patch, distribuirlo e quindi riavviare l'applicazione. Spesso, le patch vengono distribuite per lunghi periodi di tempo, quindi le applicazioni possono rimanere vulnerabili per un periodo dopo che è stata scoperta una vulnerabilità. Per accelerare questo processo, i ricercatori hanno recentemente introdotto patch virtuali, che vengono applicate utilizzando sistemi di rilevamento e prevenzione delle intrusioni.
"Il patching virtuale si basa su una tecnica semi-manuale di analisi delle minacce (l'input dell'applicazione che dimostra una vulnerabilità), ed estraendo la firma che identifica la vulnerabilità, " ha spiegato Copty. "È una tecnica utile, ma richiede comunque che la vulnerabilità stessa sia identificata, che è un problema np-completo. C'è un intero settore intorno a questo ciclo di scoperta delle vulnerabilità e patch. Ma cosa accadrebbe se potessimo creare una patch virtuale che predice tali vulnerabilità prima della scoperta della minaccia? All'inizio, questo sembrava un compito futuristico, ma con alcuni spunti dalle tecniche di test di sicurezza, si può trovare una direzione molto bella."
In genere, le vulnerabilità della sicurezza vengono rivelate esaminando gli input che in precedenza avrebbero dovuto presentare un errore dell'applicazione. Questo perché la gestione degli errori è generalmente percepita come meno importante rispetto allo sviluppo delle funzioni di base dell'applicazione, quindi è affrontato in una fase successiva.
"Se possiamo fare un buon lavoro creando automaticamente una patch virtuale che aumenti il lavoro degli sviluppatori SW sulla gestione degli errori, possiamo portare a termine il compito che precede la minaccia, "ha detto Copty.
Copty e i suoi colleghi hanno deciso di affrontare questo problema utilizzando tecniche di apprendimento automatico. Hanno eseguito vari strumenti di test su una determinata applicazione per generare dati, quindi hanno utilizzato questi dati per addestrare il loro modello DNN.
"Abbiamo utilizzato tecniche di test che creano milioni di input campione per l'applicazione, e poi ha eseguito l'applicazione con quegli input per determinare le etichette di classificazione per gli input:benigno, errore, o malizioso, " ha spiegato Copty. "Dato che stavamo esaminando la gestione degli errori, abbiamo unito le classi di errore e dannose in un'unica classe. Questo ci ha fornito una classica configurazione di apprendimento supervisionato, dove abbiamo addestrato un modello per prevedere se un nuovo campione è benigno o dannoso".
Invece di ottenere patch virtuali anticipate per una singola applicazione, i ricercatori volevano creare un sistema automatico che potesse essere utilizzato per applicare patch a una varietà di applicazioni. Per migliorare la generalizzabilità del loro modello, si sono astenuti dall'utilizzare metodi di estrazione manuale delle caratteristiche.
"Volevamo anche implementarlo in un sistema di rilevamento delle intrusioni, " Copty ha spiegato. "Ciò significava che la previsione doveva essere quasi in tempo reale. Un'ottima soluzione per questi requisiti può essere trovata nei DNN. La previsione DNN è molto veloce e si pensa che i DNN non richiedano alcuna estrazione di funzionalità".
Copty e i suoi colleghi hanno addestrato un modello DNN sui dati che avevano precedentemente generato. Il modello che hanno usato, che combina una rete neurale convoluzionale (CNN) e una rete neurale ricorrente (RNN), ha ottenuto risultati notevoli nella previsione delle vulnerabilità in anticipo rispetto alle minacce.
"Come si verifica la capacità di applicare patch prima della scoperta delle minacce? La risposta è semplice:torniamo indietro nel tempo, " Copty ha detto. "Abbiamo utilizzato vecchie versioni delle applicazioni per la fase di generazione dei dati, addestrato il modello utilizzando questi dati, e testato i modelli sulle minacce trovate anni dopo e documentate nel database CVE. Questo ci ha dato risultati sorprendenti nell'applicazione di patch prima delle minacce, dove il modello è stato in grado di prevedere le minacce riscontrate solo anni dopo. Sappiamo che questo è ancora in fase di ricerca e siamo riusciti solo su un piccolo numero di applicazioni. Però, questa tecnologia ha il potenziale per essere un punto di svolta nel panorama della sicurezza, aiutando i difensori a stare un passo avanti agli attaccanti".
Nelle valutazioni effettuate dai ricercatori, il loro modello ha rilevato con successo le vulnerabilità LibXML2 e LibTIFF prima della minaccia, con precisioni del 91,3% e 93,7%, rispettivamente. Per migliorare i loro risultati, hanno ampliato il loro modello aggiungendo un percorso che include l'estrazione delle caratteristiche di base, sulla base di conoscenze automatiche estratte in fase di test, seguito da una CNN.
Nel futuro, la loro tecnica potrebbe aiutare gli sviluppatori a correggere le vulnerabilità del software in modo più rapido ed efficace, prima che siano effettivamente esposti. I ricercatori intendono continuare a lavorare sul loro approccio, esplorando la sua efficacia nel correggere una gamma più ampia di vulnerabilità.
"Grazie a Reda Igbaria, ora abbiamo ampliato questa ricerca in più applicazioni e recentemente abbiamo dimostrato l'applicazione di patch virtuali anticipate per la vulnerabilità HeartBleed, " ha aggiunto Copty. "Continueremo a prendere di mira più applicazioni e a migliorare le nostre tecniche di generazione dei dati e la nostra struttura DNN, e automatizzando la ricerca della migliore struttura DNN."
Questo lavoro è stato sostenuto dal progetto EU H2020 SMESEC.
© 2019 Science X Network