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

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

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

Intelligenza artificiale (AI) - Parte 5

Nessun algoritmo sarà in grado di superare tutti gli altri algoritmi in tutti i possibili ambiti problematici, in particolare se considerato alla luce di vari vincoli reali quali la complessità spaziale e temporale e la disponibilità dei dati di addestramento.

Pertanto, i sistemi di IA progettati per rilevare minacce avanzate alla sicurezza informatica devono essere adattati ai problemi specifici per cui vengono utilizzati e dovrebbero avvalersi dei migliori strumenti e algoritmi disponibili per i tipi di rilevamento che sono stati progettati per attivare.

Come in altri ambiti, i sistemi di IA nella sicurezza informatica devono essere convalidati in base ai seguenti criteri:

  1. Il sistema di IA è in grado di rilevare, raggruppare, classificare e fare previsioni che non sarebbero state possibili da rilevare, raggruppare, classificare o prevedere solo dagli esseri umani?
  2. Il sistema di IA effettua previsioni e classificazioni che riducono la quantità di intervento e analisi umana richiesta? Effettua previsioni e classificazioni che aumentano la quantità di intervento e analisi umana richiesta?

Progettare un sistema di IA in grado di apprendere per 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 apprendono in modo uniforme le miriadi di minacce alla sicurezza e intrusioni nelle reti moderne sono destinati a fallire nel primo obiettivo, creando al contempo troppi falsi rilevamenti per fornire alcun 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 suoi possibili limiti. Una conoscenza incompleta dell'algoritmo può comportare il rischio concreto di prestazioni insufficienti nella capacità di un sistema di rilevare una minaccia e un aumento del carico di lavoro per gli amministratori di rete a causa dei falsi positivi.

Ambito del problema

Data la natura eterogenea delle minacce alla sicurezza informatica odierne, qualsiasi team che sviluppi soluzioni di IA per automatizzare il rilevamento degli attacchi informatici dovrebbe disporre di un ampio arsenale di algoritmi. Questi includono tecniche di analisi delle serie temporali, NLP, statistica, 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 di rete, i dispositivi, gli utenti e i tipi di connessione che saranno osservati quando il sistema sarà messo in produzione? Anche se questi criteri sono soddisfatti, ci sono motivi per preferire metodi di apprendimento non supervisionati che invece ignorano completamente le etichette di classe?

Ad esempio, nel caso degli algoritmi di generazione di domini (DGA), in cui un host infetto stabilisce connessioni con domini i cui nomi sono stati generati in modo casuale per evitare la semplice inserimento nella lista nera del dominio, diversi set di dati di grandi dimensioni contengono esempi di domini noti come validi (contrassegnati come Classe 0 nella tabella sottostante) e domini DGA noti (Classe 1). Il set di addestramento etichettato può essere utilizzato per apprendere una mappatura funzionale tra il nome di 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 etichetterebbero qualsiasi cosa fuori dall'ordinario come generata da un 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 avessero una conoscenza preliminare dei set di addestramento per adattare i loro DGA ed 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 prendere una decisione del genere, bisogna capire bene l'attacco che si sta considerando. Bisogna anche conoscere le tecniche giuste per addestrare, testare e convalidare i modelli per quantificare l'overfitting su un set di dati specifico, permettendo al contempo la generalizzazione a dati nuovi e non visti prima.

Domande frequenti