L’Intelligenza Artificiale e la Cyber Security

 

L’Intelligenza Artificiale e la Cyber Security

Lo sviluppo e l’applicazione dell’Intelligenza Artificiale sta progredendo in tutti i settori. Non fa eccezione quello della sicurezza delle informazioni e in particolare della Cyber Security che si occupa di rendere sicuro il cosiddetto cyberspazio, o spazio cibernetico, la quinta dimensione, dopo terra, acqua, aria e spazio in cui si sviluppano le attività e gli interessi di persone, imprese e stati. In TIM, a Torino, il Security Lab sta lavorando  da alcuni anni allo studio e alla sperimentazione di queste tecnologie e in particolare all’applicazione pratica degli algoritmi di Machine Learning alle informazioni rilevanti per la sicurezza dei dati, delle reti e delle applicazioni.

 

Introduzione

Viviamo in un mondo in cui la tecnologia sta permeando le nostre case e le nostre aziende, con una rapidità di crescita ed evoluzione esponenziale. Ray Kurzweil, colui che sarebbe poi divenuto “Director of Engineering” di Google, nel 2001 formulò la legge dei ritorni acceleranti [nota 1], secondo la quale nel ventunesimo secolo non avremmo sperimentato 100 anni di progresso, bensì 20.000. Da quel momento abbiamo assistito alla diffusione degli Smartphones, alla nascita del Cloud, dell’IoT, delle BlockChains, e allo sviluppo dei Big Data solo per citare alcuni esempi. Purtroppo l’evoluzione tecnologica non porta solo al progresso, ma anche alla crescita di tecniche d’attacco sempre più avanzate. Il caso più eclatante degli ultimi anni è stato sicuramente il worm-ransomware WannaCry di maggio 2017: se nel codice sorgente non fosse stato presente un grossolano kill-switch, ovvero un meccanismo per bloccarne la diffusione, le conseguenze sarebbero state ben più gravi [nota 2] rispetto ai centomila sistemi infettati in 105 diversi Paesi [nota 3]. Il modo più efficace per contrastare la sempre maggiore diffusione di tecniche d’attacco avanzate e innovative è quello di raccogliere e utilizzare un numero sempre maggiore di informazioni, per poter analizzare e prevedere le minacce ancor prima della loro diffusione massiva.
Volendo immaginare uno scenario futuribile, ma non troppo, pensiamo che non siano lontani i tempi in cui i Security Operations Center potranno avere a disposizione sistemi integrati per la raccolta, l’interpretazione e l’analisi di grandi moli dati, coadiuvati da soluzioni di Artificial Intelligence in grado di identificare sempre più autonomamente le minacce e capire come affrontarle, riducendo al minimo gli eventuali falsi positivi e permettendo una difesa sempre più efficace, proattiva e tempestiva delle risorse aziendali.
Per puntare a questo scenario è necessario costruire le condizioni per rendere efficace l’applicazione delle tecniche più avanzate di Artificial Intelligence. Prima condizione importante è il possesso di una grande mole di dati strutturati che forniscano un’adeguata Knowledge Base, essenziale per effettuare il training accurato degli algoritmi di Machine Learning (ML). Secondo elemento rilevante è l’estrazione di informazione dalla grande quantità di dati non strutturati fruibili da Internet affiancando, pertanto, agli strumenti di web crawling soluzioni di NLP (Natural Language Processing) in grado di interpretare e trasformare i dati in maniera sistematica, rendendoli fruibili a una fase successiva di elaborazione.

 

L’evoluzione del Machine Learning

L'obiettivo del Machine Learning è quello di estrarre informazioni significative da dati grezzi e più dati abbiamo a disposizione e più sarà sofisticato il sistema che potremo costruire. È un fatto che aumentando i dati processati è possibile ottenere sintetizzatori vocali sempre più simili alla voce umana, traduttori di lingue più precisi e auto a guida autonoma più affidabili.
La disponibilità di una vasta mole di dati e l'elevata capacità computazionale offerta dall'hardware moderno hanno consentito di realizzare i sofisticati sistemi di intelligenza artificiale che fino a qualche anno fa sembravano far parte più della fantascienza che della scienza.
Esiste però anche un terzo pilastro fondamentale alla base di questa rivoluzione: le reti neurali profonde. Nell'approccio tradizionale al Machine Learning, un esperto del dominio definisce quali sono le caratteristiche salienti da estrarre dai dati. Ad esempio, nel caso di un classificatore di immagini, gli elementi salienti possono essere i contorni degli oggetti o le variazioni locali di luminosità nella scena. Dopo aver definito manualmente queste caratteristiche, l'esperto stabilisce come aggregare le informazioni estratte in modo che siano sia compatte che facilmente confrontabili e infine esegue la vera e propria fase di Machine Learning, in cui il sistema apprende a eseguire una classificazione sulla base delle informazioni caratterizzanti l'immagine. Con le reti neurali profonde, queste operazioni sono completamente demandate alla fase di apprendimento. L'esperto definisce un'architettura, spesso piuttosto generica, del cervello artificiale ed è durante la fase di addestramento, basata sull'elaborazione dei dati grezzi, che la rete impara automaticamente a estrarre e aggregare le informazioni più significative. Questo approccio ha due vantaggi rilevanti: le caratteristiche salienti così determinate sono migliori di quelle che potrebbero essere stabilite manualmente da un essere umano e i dati eterogenei possono essere fusi insieme in modo efficace.
Questo secondo aspetto è particolarmente importante negli scenari di applicazione per la Cyber Security, in cui si hanno a disposizione dati di natura molto differente, che vanno dai flussi di rete, ai log dei server fino alle informazioni più destrutturate come quelle relative all'interazione delle persone. Le reti neurali profonde riescono a unire insieme queste informazioni di natura ben diversa, dandone una rappresentazione omogenea e mantenendo gli elementi essenziali per rilevare i comportamenti anomali o fraudolenti.
Come è avvenuto in molti settori, l’intelligenza artificiale rappresenta un'arma fondamentale nella Cyber Security, ma occorre ricordarci che è a disposizione anche di chi vuole commettere atti criminali e quindi anche gli attacchi saranno destinati a essere sempre più sofisticati e richiederanno una risposta adeguata.

 

Applicazione dell’Intelligenza Artificiale per la Cyber Security in TIM

Le fondamenta per l’applicazione delle tecnologie di ML e AI sono state gettate, nell’ambito della Cyber Security in TIM, più di 4 anni fa quando abbiamo iniziato a progettare e a costruire la piattaforma di Big Data di Security. Avevamo in mente uno strumento che dovesse essere flessibile, scalabile e che ci permettesse di aggiungere nel tempo nuove funzionalità per restare al passo con l’innovazione tecnologica.
Volevamo una piattaforma che consentisse di accedere rapidamente ai dati superando le problematiche relative alla loro interpretazione. Doveva pertanto essere in grado di indicizzare dati non strutturati e consentire ricerche di tipo text-based su centinaia di terabyte, con il fine di abbattere il tempo di ricerca per la gestione degli incidenti di Cyber Security. Tuttavia era anche ben chiara l’esigenza di dover e poter lavorare su dati strutturati per costruire analytics utili ai nostri analisti di sicurezza: obiettivo principale era, ed è tuttora, agevolare gli operatori del SOC fornendo automaticamente indicatori per l’individuazione di potenziali problemi di sicurezza e per rendere più semplice il processo di incident-handling.
Inoltre, durante la fase di progettazione del sistema, abbiamo ritenuto particolarmente importante garantire all’analista di sicurezza una semplice fruizione dell’informazione tramite la rappresentazione visuale dei dati, lasciando ad esso la scelta del miglior formato in funzione del contesto.
A tal riguardo, un paio di anni prima avevamo messo in campo la piattaforma VizSec che aveva proprio l’obiettivo di complementare l’approccio all’analisi degli eventi di sicurezza introducendo la componente visuale di esplorazione del dato. Crediamo fortemente in questo approccio innovativo alle analisi di sicurezza, tanto che la piattaforma VizSec è stata integrata nella soluzione di Big Data di Security ed è stata affiancata ad ulteriori strumenti di rappresentazione del dato.
Le componenti tecnologiche alla base della soluzione Big Data di Security sono al momento:

La scelta di adottare tecnologie abilitanti l’utilizzo delle tecniche di ML è stata frutto di un’attenta valutazione. Nel corso di questi anni abbiamo infatti potuto osservare come l’evoluzione tecnologica e degli algoritmi basata su logiche di ML fosse dirompente ed eravamo sicuri che prima o poi il fenomeno avrebbe interessato il contesto Cyber Security. Era quindi necessario raccogliere la sfida e prepararsi al futuro: avere cioè a disposizione dati, capacità computazionale e framework software da utilizzare al fine di integrare soluzioni basate su AI e verificarne l’efficacia all’ambito Cyber Security.
Ad oggi la piattaforma di Big Data di Security è a regime per quel che riguarda la raccolta di dati e la rappresentazione di analytics, ed è in continua evoluzione anche al fine di integrare nuove fonti. Negli ultimi tempi abbiamo iniziato ad esplorare e a provare le soluzioni di AI che venivano messe a disposizione dai framework in nostro possesso. In particolare abbiamo iniziato ad utilizzare la nuova feature Machine Learning di Elasticsearch. Si tratta di un sistema per l’individuazione di anomalie all’interno di serie temporali che utilizza tecniche di Machine Learning con apprendimento non supervisionato.
Più nel dettaglio consente il riconoscimento di anomalie associate alla deviazione temporale di valori, conteggi o frequenze. Permette inoltre l’identificazione di comportamenti anomali di un elemento all’interno di una popolazione e infine segnala eventi statisticamente rari.
Abbiamo deciso di mettere alla prova la soluzione utilizzando gli access log di alcuni dei portali web di TIM.
I risultati li possiamo definire promettenti in quanto il sistema è stato in grado di elaborare centinaia di milioni di righe di log in breve tempo, fornendo indicazioni puntuali sulle anomalie riscontrate. Tuttavia è evidente che siamo solo all’inizio di un lungo percorso: le anomalie sono sicuramente tali dal punto di vista statistico e dal punto di vista degli algoritmi di Machine Learning ma non è assolutamente detto che un’anomalia statistica sia sempre sintomo di un problema di sicurezza. Come spesso accade nei sistemi di Machine Learning, uno degli obiettivi è quello di minimizzare il False Positive Rate (FPR). Avendo una piattaforma contenente miliardi di righe di log, anche un FPR molto basso si tradurrebbe in valore assoluto in un numero molto significativo di segnalazioni [nota 7].
Si deve pertanto ancora lavorare molto focalizzando l’attenzione sull’arricchimento dei dati, sull’individuazione delle features più significative e sulla scelta degli algoritmi da utilizzare.

 

 

Figura 1 - Individuare un inusuale numero di request da parte di un client ip

 

Figura 2 - Individuare IP che frequentemente accedono a uri_path rari

Conclusioni

L’aspettativa per i vantaggi che l’applicazione dell’Intelligenza Artificiale potrà portare alla Cyber Security è molto alta. Le prospettive sono buone e ci si sta muovendo sempre più rapidamente in una direzione che apparare molto promettente.
È tuttavia importante ricordare che esistono criticità e specificità legate al dominio della sicurezza. Ad esempio i log applicativi, una delle fonti primarie di dati per le analisi di sicurezza, sono tipicamente strutturati in modo da fornire informazioni utili per le operations oppure per il troubleshooting ma molto meno per la security. Migliorare all’origine la qualità dell’informazione in ottica sicurezza è un obiettivo che tutti si dovrebbero dare. Anche solo inserire nei tracciati informazioni utili per analizzare problematiche di sicurezza connesse alla AAA (Authorization, Authentication, Accounting) e soprattutto generare i log in formati “standard” come ad esempio il formato CSV o il formato JSON permetterebbe di fare un bel passo avanti. Altro aspetto da non trascurare è l’impatto che i vincoli normativi e di privacy posso determinare all’applicazione  di queste tecnologie in certi domini. In questo ambito lo sforzo di tutti deve essere volto a trovare il miglior compromesso tra le esigenze di Cyber Defense e privacy, ricordando l’asimmetria che nel mondo cyber da sempre esiste tra attaccanti, che tutto possono, e i difensori. Le stesse tecnologie dell’Intelligenza Artificiale sono utilizzabili e utilizzate dagli attaccanti. Recentemente ad esempio usando algoritmi di ML è stato creato un chatbot per phishing mirato su twitter [nota 8] finalizzato al furto di informazioni che ha avuto quasi il 100% di successo!

 

comments powered by Disqus