Tipi di apprendimento che l'intelligenza artificiale per la sicurezza informatica dovrebbe sfruttare

18 luglio 2018
Sohrob Kazerounian
Distinguished AI Researcher
Tipi di apprendimento che l'intelligenza artificiale per la sicurezza informatica dovrebbe sfruttare

Nonostante la recente esplosione della ricerca sull'apprendimento automatico e sull'intelligenza artificiale (AI), non esiste un metodo o un algoritmo unico che funzioni al meglio in tutti i casi. Questa nozione è stata formalizzata e dimostrata matematicamente in un risultato noto come teorema di No Free Lunch (Wolpert e Macready 1997).

AI Intelligenza artificiale - Parte 5

Nessun singolo algoritmo supererà tutti gli altri algoritmi, in tutti i possibili spazi problematici, in particolare se considerato sotto vari vincoli del mondo reale, come la complessità di spazio e tempo e la disponibilità di dati di addestramento.

Pertanto, i sistemi di IA progettati per rilevare le minacce avanzate alla sicurezza informatica devono essere adattati ai problemi specifici per i quali vengono impiegati e devono utilizzare i migliori strumenti e algoritmi disponibili per i tipi di rilevamento che sono progettati per attivare.

Come in altri settori, i sistemi di IA nella cybersecurity devono essere convalidati in base ai seguenti criteri:

  1. Il sistema di IA è in grado di rilevare, raggruppare, classificare e fare previsioni che non sarebbe stato possibile rilevare, raggruppare, classificare o prevedere da parte dei soli esseri umani?
  2. Il sistema di intelligenza artificiale fa previsioni e classificazioni che riducono la quantità di intervento umano e di analisi necessarie? Fa previsioni e classificazioni che aumentano la quantità di intervento umano e di analisi richiesta?

La progettazione di un sistema di intelligenza artificiale in grado di imparare a raggiungere contemporaneamente entrambi gli obiettivi richiede una profonda comprensione dello spazio del problema e un'ampia conoscenza degli algoritmi di apprendimento automatico in generale. I tentativi di utilizzare soluzioni monolitiche che apprendano in modo uniforme la miriade di minacce alla sicurezza e di intrusioni nelle reti moderne sono destinati a non raggiungere il primo obiettivo e a creare un numero eccessivo di falsi rilevamenti per fornire un qualsiasi beneficio al secondo.

Allo stesso modo, l'uso di più tecniche o algoritmi per rilevare ogni tipo di minaccia in modo indipendente richiede una conoscenza approfondita del funzionamento di ciascun algoritmo e dei modi in cui potrebbe fallire. Una conoscenza incompleta dell'algoritmo può portare alla possibilità concreta di prestazioni inferiori alla media nella capacità di un sistema di rilevare una minaccia e alla quantità di lavoro creato per gli amministratori di rete a causa dei falsi positivi.

Ambito del problema

A causa dell'ampia natura delle minacce alla sicurezza informatica, molti algoritmi dovrebbero essere presenti nell'arsenale di qualsiasi team che sviluppa soluzioni di IA per automatizzare il rilevamento di attacchi informatici. Questi includono tecniche di analisi delle serie temporali, PNL, statistiche, reti neurali, algebra lineare e topologia. Tuttavia, la prima decisione da prendere riguardo a un algoritmo è se debba imparare a fare previsioni in modo supervisionato o non supervisionato.

Esiste un set di dati etichettati da cui un algoritmo può imparare a mappare gli input alle etichette? Oppure l'algoritmo deve imparare quali input sono dannosi e quali no, in modo non supervisionato, senza l'uso di etichette? Se esiste un set di dati etichettati, è sufficientemente rappresentativo della superficie di attacco per cui l'algoritmo è stato progettato? I dati provengono da una distribuzione che copre lo spazio dei tipi di rete, dispositivi, utenti e connessioni che saranno osservati quando il sistema sarà messo in produzione? Anche se questi criteri sono validi, ci sono ragioni per preferire metodi di apprendimento non supervisionati che ignorano completamente le etichette delle classi?

Ad esempio, nel caso degli algoritmi di generazione di domini (DGA), in cui un host infetto si connette a domini i cui nomi sono stati generati in modo casuale per evitare di inserire il dominio nella lista nera, diversi set di dati di grandi dimensioni contengono esempi di domini buoni noti (etichettati come classe 0 nella tabella seguente) e domini DGA noti (classe 1). Il set di addestramento etichettato può essere utilizzato per imparare una mappatura funzionale tra il nome del dominio e la classe (normale vs. DGA, 0 vs. 1). È anche possibile utilizzare metodi non supervisionati in grado di apprendere le statistiche sottostanti dei domini normali, che etichettano tutto ciò che è fuori dall'"ordinario" come generato da una DGA.

L'uso dell'apprendimento non supervisionato potrebbe essere vantaggioso se i set di dati in questione sono obsoleti o contengono errori. Potrebbe essere ancora più dannoso se gli aggressori hanno una conoscenza preliminare dei set di addestramento per adattare le loro DGA in modo da evitare il rilevamento.

Dominio normale (etichetta di classe 0)

Dominio DGA (etichetta di classe 1)

google.com

tmwqfxrmb.ac

soundcloud.com

pkmeprkwtxigpnjshcsddhkgn.in

litetech.eu

nawntgvcbixvwh.net

urban-research.jp

gujtvpqvd.com

Per effettuare tale determinazione è necessaria una comprensione dell'attacco in esame. Inoltre, è necessario conoscere le tecniche corrette per l'addestramento, il test e la convalida dei modelli per quantificare l'adattamento eccessivo a un set di dati specifico, consentendo al contempo la generalizzazione a dati nuovi e non visti.

DOMANDE FREQUENTI