Flusso di lavoro semplificato per gli aggressori. Gli aggressori trovano bug, valutarli per determinare la sfruttabilità, quindi sviluppare exploit e distribuirli ai loro obiettivi. Crediti:Hu, Hu &Dolan-Gavitt.
I ricercatori della New York University hanno recentemente ideato una nuova tecnica di difesa informatica, che funziona aggiungendo i cosiddetti "chaff bugs, " bug non sfruttabili, piuttosto che eliminare quelli esistenti. Una versione prestampata del loro studio inventivo è stata caricata su ArXiv la settimana scorsa.
Ogni giorno, aggressori sempre più sofisticati trovano bug nel software del computer, valutare la loro sfruttabilità, e sviluppare modi per sfruttarli. La maggior parte delle tecniche di difesa esistenti mirano a eliminare questi bug, limitandoli, o aggiungendo mitigazioni che possono rendere lo sfruttamento più impegnativo.
"Il nostro progetto si basava su alcuni lavori precedenti che abbiamo svolto in collaborazione con il MIT Lincoln Lab e la Northeastern University sulla valutazione di diverse strategie per trovare bug nel software, "Brendan Dolan-Gavitt, uno dei ricercatori che ha condotto lo studio, ha detto a Tech Xplore. "Fare quello, abbiamo costruito un sistema che potrebbe inserire migliaia di bug in un programma, in modo da poter quindi misurare l'efficacia di ciascuna strategia di ricerca dei bug nel rilevare i nostri bug".
Dopo aver sviluppato questo sistema, i ricercatori hanno iniziato a considerare le sue possibili applicazioni nel contesto del miglioramento della sicurezza del software. Ben presto si sono resi conto che esiste un collo di bottiglia nel modo in cui gli aggressori trovano e sfruttano in genere i bug nel software.
"Ci vuole molto tempo ed esperienza per capire quali bug sono sfruttabili e sviluppare un exploit funzionante, " ha spiegato Dolan-Gavitt. "Così ci siamo resi conto che se potessimo in qualche modo assicurarci che tutti i bug che abbiamo aggiunto non fossero sfruttabili, potremmo sopraffare gli aggressori, annegandoli in un mare di insetti dall'aspetto allettante ma in definitiva innocui".
Un bug di valore troppo vincolato. Aggiungendo vincoli lungo il percorso che porta al bug, eliminiamo gradualmente i valori non sicuri. Crediti:Hu, Hu &Dolan-Gavitt.
L'aggiunta di un numero enorme di bug che sono dimostrabili, ma non ovviamente, non sfruttabili potrebbe confondere gli aggressori, spingendoli a perdere tempo e sforzi nella ricerca di exploit per questi bug posizionati intenzionalmente. I ricercatori hanno chiamato questo nuovo metodo per dissuadere gli aggressori "chaff bug".
"Il nostro sistema, che aggiunge automaticamente i chaff bug, è destinato ad essere utilizzato quando gli sviluppatori creano software, " ha detto Dolan-Gavitt. "Usiamo due strategie per garantire che i bug siano al sicuro:o garantendo che l'attaccante possa corrompere solo i dati che non vengono utilizzati dal programma, o assicurandoci che i valori che l'attaccante può iniettare siano limitati a intervalli che possiamo determinare come sicuri."
Nel loro recente studio, i ricercatori hanno utilizzato queste due strategie per aggiungere automaticamente migliaia di bug non sfruttabili al software reale, incluso il server web NGINX e la libreria encoder/decoder libFLAC. Hanno scoperto che la funzionalità del software era illesa, e che i chaff bug sembravano sfruttabili per gli attuali strumenti di triage.
"Una delle scoperte più interessanti è che è possibile costruire automaticamente questi bug non sfruttabili, in un modo che possiamo dire che non sono sfruttabili, ma è difficile per un attaccante fare lo stesso, " Dolan-Gavitt ha detto. "Non era ovvio per noi quando abbiamo iniziato che questo sarebbe stato fattibile. Riteniamo inoltre che questo approccio basato sull'applicazione di una sorta di logica economica – scoprire quali risorse scarseggiano per gli aggressori e poi provare a prenderle di mira – sia un'area fruttuosa da esplorare nella sicurezza del software”.
Un bug variabile inutilizzato. Il flusso di dati viene aggiunto per propagare i valori "non utilizzati" al di fuori dell'ambito iniziale, nascondendo il fatto che sono effettivamente inutilizzati. Crediti:Hu, Hu &Dolan-Gavitt.
Mentre il loro studio ha raccolto risultati promettenti, molte sfide devono ancora essere superate affinché questo approccio diventi praticabile. Più importante, i ricercatori devono trovare un modo per rendere questi bug non sfruttabili del tutto indistinguibili dai bug reali.
"Proprio adesso, gli insetti che aggiungiamo hanno un aspetto piuttosto artificiale, quindi gli aggressori potrebbero usare questo fatto per ignorare il nostro quando cercano bug sfruttabili, " Ha detto Dolan-Gavitt. "Il nostro obiettivo principale al momento è trovare modi per far sembrare gli insetti che abbiamo aggiunto più simili a quelli naturali, e poi eseguire esperimenti per dimostrare che gli aggressori vengono davvero ingannati dai nostri insetti della pula".
© 2018 Tech Xplore