• Home
  • Chimica
  • Astronomia
  • Energia
  • Natura
  • Biologia
  • Fisica
  • Elettronica
  • L'intelligenza artificiale potrebbe rendere la vita più difficile agli hacker?

    Lo studente di dottorato Jacob Harer (a sinistra) e il professore di ricerca Peter Chin hanno lavorato con i ricercatori di Draper per sviluppare una tecnologia in grado di trovare il tipo di difetti del software spesso sfruttati dagli hacker. Credito:Jackie Ricciardi

    Poiché il volume delle informazioni digitali nelle reti aziendali continua a crescere, così cresce il numero di attacchi informatici, e il loro costo. Un fornitore di sicurezza informatica, Reti di ginepro, stima che il costo delle violazioni dei dati in tutto il mondo raggiungerà i 2,1 trilioni di dollari nel 2019, circa quattro volte il costo delle violazioni nel 2015.

    Ora, due informatici della Boston University, lavorando con i ricercatori di Draper, una società di soluzioni ingegneristiche senza scopo di lucro con sede a Cambridge, hanno sviluppato uno strumento che potrebbe rendere più difficile per gli hacker trovare la loro strada nelle reti a cui non appartengono.

    Pietro Mento, professore di informatica e affiliato del Rafik B. Hariri Institute for Computing and Computational Science &Engineering, e Jacob Harer, un quarto anno di dottorato studente in informatica, ha lavorato con i ricercatori di Draper per sviluppare una tecnologia in grado di scansionare i sistemi software per i tipi di vulnerabilità che vengono spesso utilizzati dai criminali informatici per ottenere l'accesso. Lo strumento, che ha utilizzato il deep learning per addestrare le reti neurali a identificare modelli che indicano difetti del software, può scansionare milioni di righe di codice in pochi secondi, e un giorno avrà la capacità di correggere gli errori di codifica che rileva.

    Chin dice che l'idea per il progetto, chiamato DeepCode e finanziato dal programma MUSE DARPA (Defense Advanced Research Projects Agency) e dal laboratorio di ricerca dell'aeronautica militare, è venuto da lui quattro anni fa mentre teneva una lezione alla sua classe di machine learning (CS 542). Chin stava descrivendo il risultato rivoluzionario degli scienziati di Google e della Stanford University, che ha utilizzato il deep learning per insegnare a una rete neurale a individuare schemi comuni in milioni di immagini e utilizzare i modelli per identificare i gatti nei video di YouTube. Si chiedeva se una rete simile potesse estrarre i big data dei programmi open source e trovare modelli che indicano vulnerabilità del software.

    Chin sapeva che era possibile rappresentare visivamente un programma software, come diagramma di flusso di controllo. Sapeva anche che c'era una biblioteca di più di 10, 000 errori di codifica comuni, chiamato CWE (Common Weakness Enumerations), che era stato messo insieme dal National Institute of Standards and Technology (NIST). Se quegli errori di codifica comuni nel CWE del NIST potessero essere presentati come un'immagine, ha ragionato, una rete neurale potrebbe plausibilmente essere addestrata su di essi per trovare modelli comuni di vulnerabilità, proprio come la rete neurale di Stanford ha imparato a identificare le caratteristiche comuni dei gatti.

    Con quell'ispirazione iniziale, Mento, che all'epoca era un capo scienziato in sistemi decisionali presso Draper e professore alla BU, ha aiutato a garantire i finanziamenti per il progetto dalla DARPA. Lui, Harer (un Draper Fellow alla BU), e i colleghi di Draper hanno iniziato a testare le sue ipotesi su programmi per computer basati su funzioni C e C++ open source.

    Dall'inizio del progetto nel 2014, i ricercatori si sono resi conto che avevano bisogno di più di una semplice immagine dal grafico del flusso di controllo per individuare le vulnerabilità. Da allora hanno migliorato le loro tecniche, aggiunta di funzionalità aggiuntive, come una rappresentazione analizzata del codice simile a quella utilizzata dai compilatori moderni, e hanno adottato reti comunemente usate per l'elaborazione del linguaggio naturale. La loro ricerca, che secondo Chin illustra la promessa di tali collaborazioni università/industria, è ora descritto in due articoli, "Rilevamento automatico delle vulnerabilità nel codice sorgente utilizzando l'apprendimento della rappresentazione profonda, " che è stato accettato a IEEE ICMLA 2018, e "Imparare a riparare le vulnerabilità del software con le reti generative avversarie, " che è stato accettato al NIPS 2018.

    Chin dice che la seconda funzione di DeepCode, correggere gli errori di codifica, è ancora un progetto funzionante. "È molto difficile, " dice. "La correzione del software scadente è molto simile alla correzione della grammatica scadente. Qualcuno potrebbe dire "sono andato al mercato" quando avrebbe dovuto dire "sono andato al mercato". Insegni alla rete a identificare il modello sbagliato e a sostituirlo con il modello corretto. Almeno questa è l'idea di base".

    Harer dice che un problema è che i ricercatori non sanno abbastanza su come le macchine riconoscono le vulnerabilità. "Questi modelli di reti neurali sono molto simili a modelli di scatola nera, " dice. "Sono addestrati su enormi quantità di dati e speriamo che possano capire cosa sta succedendo. Questo è un problema con il deep learning in generale."

    Mento, Harer, e i ricercatori di Draper continueranno a lavorare su DeepCode, e prevede di offrire una versione che può essere distribuita su un laptop e inviata alle aziende, la maggior parte dei quali è riluttante a condividere il proprio codice con soggetti esterni, anche per un esame che potrebbe far risparmiare loro decine di milioni di dollari.


    © Scienza https://it.scienceaq.com