SlideShare a Scribd company logo
1 of 9
Download to read offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
Corso di Studi in Ingegneria Elettronica e Informatica
Tesi di Laurea Triennale
Extended Summary of "An Artificial Coevolutionary
Framework for Adversarial AI"
Laureando:
Davide TUGNOLI
Relatore:
prof. Andrea DE LORENZO
ANNO ACCADEMICO 2020–2021
Indice
1 Introduzione 2
2 Descrizione del framework 3
2.1 Algoritmi coevolutivi . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Grammatiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Modulo decisionale . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Casi d’uso del framework 5
3.1 Attacchi DDOS su reti peer-to-peer . . . . . . . . . . . . . . . . . 5
3.2 Availability attacks su reti segmentate . . . . . . . . . . . . . . . 6
3.3 Ricognizione interna in reti definite dal software . . . . . . . . . . 7
4 Conclusioni 8
1 Introduzione
La sicurezza informatica è un problema sempre più sentito in ambito tecnico-
informatico a causa della crescente informatizzazione della società e dei servizi e
della conseguente specializzazione degli attaccanti, che facendo la prima mossa,
risultano essere in costante vantaggio rispetto ai difensori.
La tecnica di difesa proposta in questo articolo sfrutta l’intelligenza artificiale
(AI), per simulare possibili comportamenti antagonisti con cui cercare di preve-
nire gli effetti collaterali che un attacco potrebbe causare.
In questo studio viene proposto un framework Adversarial AI, che per modellare
i comportamenti di attaccante e difensore sfrutta diversi algoritmi coevolutivi,
che danno luogo ad un processo di ottimizzazione attraverso lo sviluppo di varie
generazioni di popolazioni in competizione tra loro.
Al momento i casi d’uso supportati sono limitati, ma gli autori si prefiggono
l’obiettivo di implementarne ulteriori.
2
2 Descrizione del framework
Il framework in esame si prefigge l’obiettivo di identificare configurazioni difen-
sive vantaggiose contro una serie di potenziali attacchi avversari simulandone gli
scontri. Dalla simulazione di questi processi, il software è in grado di utilizzare
gli algoritmi coevolutivi per evolvere le popolazioni di attaccanti e difensori al
fine di sviluppare tattiche di scontro sempre più efficienti ed efficaci.
2.1 Algoritmi coevolutivi
Un algoritmo evolutivo base prevede di partire da una soluzione e di farla evol-
vere con una serie di modifiche casuali, fino a giungere allo sviluppo di un’altra
migliore, la cui bontà è determinata dalla sua capacità di superare con successo
una serie di test.
Tutte le soluzioni migliori vengono salvate in un archivio, per poi essere combi-
nate al fine di ottenerne nuove più robuste e performanti.
Queste operazioni di evoluzione sono spesso troppo costose in termini di calcolo
computazionale, anche perché non tutte le soluzioni risultano essere certe e spes-
so sono necessari ulteriori calcoli. Per questo motivo sono state adottate tecniche
che consentono un uso di un budget fisso di memoria e di tempo.
Il framework infatti utilizza una cache per memorizzare gli esiti degli scontri pre-
cedentemente avvenuti per evitare di ripeterli.
Nel caso di esiti incerti invece, utilizza la stima di processo gaussiana per identi-
ficare e valutare queste soluzioni.
2.2 Grammatiche
Il componente in esame usa le grammatiche per rappresentare test e soluzioni
degli algoritmi coevolutivi che utilizza, permettendo di esprimere le sequenze
comportamentali di attacco e difesa e semplificandone l’esplorazione e l’evolu-
zione, offrendo così una grande flessibilità di progettazione poiché cambiare una
grammatica non richiede alcuna modifica dell’algoritmo.
Nello specifico viene utilizzata la Grammatical Evolution (GE) [1], un algoritmo
di ricerca evolutivo che sfrutta una rappresentazione a vettori di interi di lunghez-
za fissata per esprimere ed evolvere in modo adattivo le dinamiche antagoniste a
sostegno dell’investigazione preventiva.
L’evoluzione avviene a passi alterni: prima viene selezionata la popolazione at-
taccante, variata, aggiornata e valutata contro i difensori e dopo viene selezionata
la popolazione difensiva, variata, aggiornata e valutata rispetto agli attaccanti.
Ogni coppia viene poi inviata in un ambiente di scontro per poter competere ul-
teriormente ottenendo così un risultato utilizzabile come componente di idoneità.
Infine viene utilizzata un’ulteriore suite di algoritmi coevoutivi che permette
una diversificazione del comportamento degli avversari per ampliare le potenziali
dinamiche a favore di una difesa più robusta.
3
2.3 Modulo decisionale
Per decidere quale soluzione è la più adatta, il framework si appoggia ad un
modulo di supporto decisionale denominato ESTABLO [2].
Quest’ultimo permette di comparare soluzioni e test, analizzare i possibili punti
ciechi non presi in considerazione dagli algoritmi e selezionare automaticamente
una soluzione “migliore”. Per farlo, anch’esso si appoggia ad un set di algoritmi
coevolutivi che dispongono di diversi concetti di soluzione.
Alla fine di ogni esecuzione combina le migliori soluzioni in un archivio e le mette
in competizione con diversi gruppi di test "invisibili" che il sistema non ha mai
avuto occasione di affrontare e con un insieme di validation test per misurare le
prestazioni in base a diversi concetti di soluzione e per selezionare le “migliori”
attraverso un processo di classificazione e filtraggio.
Infine ne da una chiara rappresentazione della loro bontà e diversità, in modo da
semplificare il processo decisionale del difensore.
Figura 1: Panoramica delle dianamiche affrontate da ESTABLO.
4
3 Casi d’uso del framework
Lo scopo è determinare la miglior difesa possibile in concomitanza della tipologia
di attacco che il difensore è chiamato ad affrontare.
Gli obiettivi del difensore consistono per lo più nel terminare con successo la pro-
pria mission con meno ritardi possibili, ma quelli dell’attaccante possono spesso
variare in base al tipo di attacco.
Infatti alcuni tipici attacchi si basano semplicemente su azioni finalizzate a ral-
lentare o bloccare le attività della vittima, spesso nel tentativo di attuare cam-
biamenti finanziari, mentre in altri casi l’attaccante potrebbe attuare tecniche
allo scopo di estorcere dati sensibili.
Analizziamo ora i casi d’uso attualmente supportati.
3.1 Attacchi DDOS su reti peer-to-peer
L’acronimo DDOS sta per Distributed Denial of Service, che possiamo tradurre
come interruzione distribuita del servizio, e consiste nell’inviare un numero con-
siderevole di richieste ad un server allo scopo di non fornirgli il tempo necessario
per poterle gestire correttamente.
Un mezzo robusto per contrastare questo tipo di attacco è la rete peer-to-peer,
un’architettura di calcolo distribuito nella quale i vari nodi condividono parte
delle loro risorse senza che ci sia bisogno di un nodo centrale, il quale risultereb-
be un punto critico facilmente bersagliabile da questo genere di attacchi.
Per far fronte a questo scopo è stato avviato il progetto RIVALS [3], che si propo-
ne di studiare diversi algoritmi coevolutivi che descrivono il processo di attacco
e difesa all’interno di una rete.
Nel caso preso in esame gli obiettivi dell’attaccante sono il completamento del-
l’attacco, con un conseguente ritardo della mission della vittima e la riduzione
del costo delle risorse.
Il successo della mission nei tempi stabiliti e la minimizzazione delle risorse in-
vestite sono invece gli obiettivi del difensore.
In questo contesto il framework, utilizzando alcune strategie di difesa sviluppate
con RIVALS, simula combinazioni di attacco e difesa evolvendo le due popo-
lazioni attraverso test "invisibili" sempre più efficaci per poter ottimizzare il
dispiegamento delle risorse all’interno della rete.
5
3.2 Availability attacks su reti segmentate
È ormai sempre più frequente che gli attaccanti compromettano uno o più dispo-
sitivi all’interno di una rete introducendovi malware con lo scopo di estrapolare
dati o bloccare la rete in cambio di compensi.
Una volta che un utente malintenzionato è riuscito a compromettere un dispo-
sitivo, può facilmente passare ai dispositivi direttamente connessi in un modo
simile a un contagio.
Una possibile strategia difensiva che permette di limitare questa diffusione è la
segmentazione, che consiste nel frammentare le parti fondamentali della rete in
enclave in modo da evitare ulteriori compromissioni e malfunzionamenti.
Questa tecnica risulta essere efficace contro gli availability attacks, poiché ge-
nerando enclave molto piccole è possibile ripulirle prontamente da un eventuale
software intrusivo, ma sfortunatamente diminuisce l’efficienza della rete stessa a
causa di un maggior sovraccarico dovuto alla comunicazione tra le enclave.
In questo caso il framework utilizza un modello di simulazione come ambiente di
scontro, che comprende un approccio potente, “mod-sim”, per indagare su scenari
di sicurezza generale [4], sicurezza informatica [5] e dinamiche di rete [6].
Grazie agli esperimenti fatti dagli autori, si è dimostrato che per una rete segmen-
tata in 4 enclave, il framework è in grado di generare forti modelli di availability
attacks che non sono stati identificati a priori e mostra configurazioni efficaci che
riducono al minimo il ritardo della missione quando li si affrontano, agevolando
così il lavoro del difensore.
6
3.3 Ricognizione interna in reti definite dal software
Uno degli scopi principali di un attaccante è quello di individuare i nodi vulne-
rabili all’interno di una rete per poter eseguire un attacco estremamente efficace.
Una rete SDN (Software-defined networking) è una tipologia di rete che consente
la gestione e un controllo centralizzato dei singoli nodi tramite software e che
risulta essere un’ottima strategia per contrastare le scansioni nemiche.
Per farlo si appoggia al controller SDN, un dispositivo che sa quali macchine so-
no effettivamente in rete e può alterare superficialmente (senza alcuna perdita di
funzione) la visualizzazione della posizione di ciascun nodo, nonché posizionare
esche (honeypot) per fuorviare, bloccare o semplicemente rallentare la ricogni-
zione in corso.
Il framework che stiamo analizzando sfrutta questo sistema di inganno generan-
do delle versioni “camuffate” della rete effettiva e tenendo in considerazione le
possibili scelte dell’attaccante e del difensore per poter generare soluzioni robu-
ste. La loro qualità è successivamente determinata in base alla velocità con cui il
difensore ha rilevato che è in corso una scansione della rete e il numero di volte
che è riuscito a scovare lo scanner, il tempo che è stato necessario per effettuare
la ricognizione e il numero di host reali che l’attaccante è stato in grado di indi-
viduare.
Gli esperimenti mostrano chiaramente come esistano tipologie di ricognizione
difficili da individuare, ma allo stesso tempo fornisce al difensore delle configu-
razioni di rete efficaci per determinare il più velocemente possibile una scansione
in corso.
7
4 Conclusioni
In questo studio grazie alla riproduzione del processo coevolutivo competitivo e
antagonistico che si verifica negli scenari di sicurezza informatica, è stato pos-
sibile raccogliere soluzioni difensive efficaci, che anche se non potranno portare
un difensore in vantaggio tattico rispetto all’attaccante, offriranno nuove ed im-
portanti opportunità di contrastare potenziali attacchi, riuscendo a prevedere in
modo sempre più accurato le dinamiche di scontro.
Sfortunatamente i casi d’uso attualmente implementati sono davvero pochi in
confronto agli attacchi che un malintenzionato potrebbe effettivamente realizza-
re, pertanto sarebbe interessante poter ampliare le possibili dinamiche e andare
oltre alle simulazioni per poter verificare quanto è davvero utile questo framework.
Riferimenti bibliografici
[1] O’Neill, M., and Ryan, C. 2003. Grammatical evolution: evolutionary
automatic programming in an arbitrary language, volume 4. Springer.
[2] Sanchez, D. P.; Pertierra, M. A.; Hemberg, E.; and O’Reilly, U.-M. 2018.
Competitive coevolutionary algorithm decision support. In Proceedings of
the Genetic and Evolutionary Computation Conference Companion, 300–301.
ACM.
[3] Garcia, D.; Lugo, A. E.; Hemberg, E.; and O’Reilly, U.-M. 2017. Investigating
coevolutionary archive based genetic algorithms on cyber defense networks.
In Proceedings of the Genetic and Evolutionary Computation Conference
Companion, GECCO ’17, 1455–1462. New York, NY, USA: ACM.
[4] Tambe, M., ed. 2012. Security and Game Theory: Algorithms, Deployed
Systems, Lessons Learned. Cambridge University Press.
[5] Thompson, B.; Morris-King, J.; and Cam, H. 2016. Controlling risk of da-
ta exfiltration in cyber networks due to stealthy propagating malware. In
Military Communications Conference, MILCOM 2016-2016 IEEE, 479–484.
IEEE.
[6] Rush, G.; Tauritz, D. R.; and Kent, A. D. 2015. Coevolutionary agent-
based network defense lightweight event system (candles). In Proceedings
of the Companion Publication of the 2015 on Genetic and Evolutionary
Computation Conference, 859–866. ACM.
8

More Related Content

Similar to Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI"

Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Simone Cumar
 
Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...
Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...
Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...SamanthaGallone
 
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Dario Crosera
 
Configurazione automatica di ambienti di testing per reti di calcolatori - te...
Configurazione automatica di ambienti di testing per reti di calcolatori - te...Configurazione automatica di ambienti di testing per reti di calcolatori - te...
Configurazione automatica di ambienti di testing per reti di calcolatori - te...Bruno Interlandi
 
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesDavidePanarella
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...MichaelFuser
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Marco Potok
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Davide Bravin
 
Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...
Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...
Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...ChiaraBertocchi1
 
Application_level_SLA_monitoring
Application_level_SLA_monitoringApplication_level_SLA_monitoring
Application_level_SLA_monitoringNicola Mezzetti
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Francesco Komauli
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Stefano Costanzo
 
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide SitoDavide Sito
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
Cyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni lightCyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni lightRedazione InnovaPuglia
 
Preparazione ad attacchi futuri. Soluzione in breve: Come implementare la gi...
Preparazione ad attacchi futuri.  Soluzione in breve: Come implementare la gi...Preparazione ad attacchi futuri.  Soluzione in breve: Come implementare la gi...
Preparazione ad attacchi futuri. Soluzione in breve: Come implementare la gi...Symantec
 

Similar to Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI" (20)

Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
 
Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...
Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...
Summary of “Adversarial Co-evolution of Attack and Defense in a Segmented Com...
 
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
 
Low Level Software Security
Low Level Software SecurityLow Level Software Security
Low Level Software Security
 
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
 
Configurazione automatica di ambienti di testing per reti di calcolatori - te...
Configurazione automatica di ambienti di testing per reti di calcolatori - te...Configurazione automatica di ambienti di testing per reti di calcolatori - te...
Configurazione automatica di ambienti di testing per reti di calcolatori - te...
 
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
 
Che cosa sono i microservizi?
Che cosa sono i microservizi?Che cosa sono i microservizi?
Che cosa sono i microservizi?
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
 
Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...
Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...
Extended Summary of “You Autocomplete Me: Poisoning Vulnerabilities in Neural...
 
Application_level_SLA_monitoring
Application_level_SLA_monitoringApplication_level_SLA_monitoring
Application_level_SLA_monitoring
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
 
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide Sito
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Cyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni lightCyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni light
 
Preparazione ad attacchi futuri. Soluzione in breve: Come implementare la gi...
Preparazione ad attacchi futuri.  Soluzione in breve: Come implementare la gi...Preparazione ad attacchi futuri.  Soluzione in breve: Come implementare la gi...
Preparazione ad attacchi futuri. Soluzione in breve: Come implementare la gi...
 
Infosecurity 2008
Infosecurity 2008Infosecurity 2008
Infosecurity 2008
 

Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI"

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA Corso di Studi in Ingegneria Elettronica e Informatica Tesi di Laurea Triennale Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI" Laureando: Davide TUGNOLI Relatore: prof. Andrea DE LORENZO ANNO ACCADEMICO 2020–2021
  • 2. Indice 1 Introduzione 2 2 Descrizione del framework 3 2.1 Algoritmi coevolutivi . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Grammatiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Modulo decisionale . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Casi d’uso del framework 5 3.1 Attacchi DDOS su reti peer-to-peer . . . . . . . . . . . . . . . . . 5 3.2 Availability attacks su reti segmentate . . . . . . . . . . . . . . . 6 3.3 Ricognizione interna in reti definite dal software . . . . . . . . . . 7 4 Conclusioni 8
  • 3. 1 Introduzione La sicurezza informatica è un problema sempre più sentito in ambito tecnico- informatico a causa della crescente informatizzazione della società e dei servizi e della conseguente specializzazione degli attaccanti, che facendo la prima mossa, risultano essere in costante vantaggio rispetto ai difensori. La tecnica di difesa proposta in questo articolo sfrutta l’intelligenza artificiale (AI), per simulare possibili comportamenti antagonisti con cui cercare di preve- nire gli effetti collaterali che un attacco potrebbe causare. In questo studio viene proposto un framework Adversarial AI, che per modellare i comportamenti di attaccante e difensore sfrutta diversi algoritmi coevolutivi, che danno luogo ad un processo di ottimizzazione attraverso lo sviluppo di varie generazioni di popolazioni in competizione tra loro. Al momento i casi d’uso supportati sono limitati, ma gli autori si prefiggono l’obiettivo di implementarne ulteriori. 2
  • 4. 2 Descrizione del framework Il framework in esame si prefigge l’obiettivo di identificare configurazioni difen- sive vantaggiose contro una serie di potenziali attacchi avversari simulandone gli scontri. Dalla simulazione di questi processi, il software è in grado di utilizzare gli algoritmi coevolutivi per evolvere le popolazioni di attaccanti e difensori al fine di sviluppare tattiche di scontro sempre più efficienti ed efficaci. 2.1 Algoritmi coevolutivi Un algoritmo evolutivo base prevede di partire da una soluzione e di farla evol- vere con una serie di modifiche casuali, fino a giungere allo sviluppo di un’altra migliore, la cui bontà è determinata dalla sua capacità di superare con successo una serie di test. Tutte le soluzioni migliori vengono salvate in un archivio, per poi essere combi- nate al fine di ottenerne nuove più robuste e performanti. Queste operazioni di evoluzione sono spesso troppo costose in termini di calcolo computazionale, anche perché non tutte le soluzioni risultano essere certe e spes- so sono necessari ulteriori calcoli. Per questo motivo sono state adottate tecniche che consentono un uso di un budget fisso di memoria e di tempo. Il framework infatti utilizza una cache per memorizzare gli esiti degli scontri pre- cedentemente avvenuti per evitare di ripeterli. Nel caso di esiti incerti invece, utilizza la stima di processo gaussiana per identi- ficare e valutare queste soluzioni. 2.2 Grammatiche Il componente in esame usa le grammatiche per rappresentare test e soluzioni degli algoritmi coevolutivi che utilizza, permettendo di esprimere le sequenze comportamentali di attacco e difesa e semplificandone l’esplorazione e l’evolu- zione, offrendo così una grande flessibilità di progettazione poiché cambiare una grammatica non richiede alcuna modifica dell’algoritmo. Nello specifico viene utilizzata la Grammatical Evolution (GE) [1], un algoritmo di ricerca evolutivo che sfrutta una rappresentazione a vettori di interi di lunghez- za fissata per esprimere ed evolvere in modo adattivo le dinamiche antagoniste a sostegno dell’investigazione preventiva. L’evoluzione avviene a passi alterni: prima viene selezionata la popolazione at- taccante, variata, aggiornata e valutata contro i difensori e dopo viene selezionata la popolazione difensiva, variata, aggiornata e valutata rispetto agli attaccanti. Ogni coppia viene poi inviata in un ambiente di scontro per poter competere ul- teriormente ottenendo così un risultato utilizzabile come componente di idoneità. Infine viene utilizzata un’ulteriore suite di algoritmi coevoutivi che permette una diversificazione del comportamento degli avversari per ampliare le potenziali dinamiche a favore di una difesa più robusta. 3
  • 5. 2.3 Modulo decisionale Per decidere quale soluzione è la più adatta, il framework si appoggia ad un modulo di supporto decisionale denominato ESTABLO [2]. Quest’ultimo permette di comparare soluzioni e test, analizzare i possibili punti ciechi non presi in considerazione dagli algoritmi e selezionare automaticamente una soluzione “migliore”. Per farlo, anch’esso si appoggia ad un set di algoritmi coevolutivi che dispongono di diversi concetti di soluzione. Alla fine di ogni esecuzione combina le migliori soluzioni in un archivio e le mette in competizione con diversi gruppi di test "invisibili" che il sistema non ha mai avuto occasione di affrontare e con un insieme di validation test per misurare le prestazioni in base a diversi concetti di soluzione e per selezionare le “migliori” attraverso un processo di classificazione e filtraggio. Infine ne da una chiara rappresentazione della loro bontà e diversità, in modo da semplificare il processo decisionale del difensore. Figura 1: Panoramica delle dianamiche affrontate da ESTABLO. 4
  • 6. 3 Casi d’uso del framework Lo scopo è determinare la miglior difesa possibile in concomitanza della tipologia di attacco che il difensore è chiamato ad affrontare. Gli obiettivi del difensore consistono per lo più nel terminare con successo la pro- pria mission con meno ritardi possibili, ma quelli dell’attaccante possono spesso variare in base al tipo di attacco. Infatti alcuni tipici attacchi si basano semplicemente su azioni finalizzate a ral- lentare o bloccare le attività della vittima, spesso nel tentativo di attuare cam- biamenti finanziari, mentre in altri casi l’attaccante potrebbe attuare tecniche allo scopo di estorcere dati sensibili. Analizziamo ora i casi d’uso attualmente supportati. 3.1 Attacchi DDOS su reti peer-to-peer L’acronimo DDOS sta per Distributed Denial of Service, che possiamo tradurre come interruzione distribuita del servizio, e consiste nell’inviare un numero con- siderevole di richieste ad un server allo scopo di non fornirgli il tempo necessario per poterle gestire correttamente. Un mezzo robusto per contrastare questo tipo di attacco è la rete peer-to-peer, un’architettura di calcolo distribuito nella quale i vari nodi condividono parte delle loro risorse senza che ci sia bisogno di un nodo centrale, il quale risultereb- be un punto critico facilmente bersagliabile da questo genere di attacchi. Per far fronte a questo scopo è stato avviato il progetto RIVALS [3], che si propo- ne di studiare diversi algoritmi coevolutivi che descrivono il processo di attacco e difesa all’interno di una rete. Nel caso preso in esame gli obiettivi dell’attaccante sono il completamento del- l’attacco, con un conseguente ritardo della mission della vittima e la riduzione del costo delle risorse. Il successo della mission nei tempi stabiliti e la minimizzazione delle risorse in- vestite sono invece gli obiettivi del difensore. In questo contesto il framework, utilizzando alcune strategie di difesa sviluppate con RIVALS, simula combinazioni di attacco e difesa evolvendo le due popo- lazioni attraverso test "invisibili" sempre più efficaci per poter ottimizzare il dispiegamento delle risorse all’interno della rete. 5
  • 7. 3.2 Availability attacks su reti segmentate È ormai sempre più frequente che gli attaccanti compromettano uno o più dispo- sitivi all’interno di una rete introducendovi malware con lo scopo di estrapolare dati o bloccare la rete in cambio di compensi. Una volta che un utente malintenzionato è riuscito a compromettere un dispo- sitivo, può facilmente passare ai dispositivi direttamente connessi in un modo simile a un contagio. Una possibile strategia difensiva che permette di limitare questa diffusione è la segmentazione, che consiste nel frammentare le parti fondamentali della rete in enclave in modo da evitare ulteriori compromissioni e malfunzionamenti. Questa tecnica risulta essere efficace contro gli availability attacks, poiché ge- nerando enclave molto piccole è possibile ripulirle prontamente da un eventuale software intrusivo, ma sfortunatamente diminuisce l’efficienza della rete stessa a causa di un maggior sovraccarico dovuto alla comunicazione tra le enclave. In questo caso il framework utilizza un modello di simulazione come ambiente di scontro, che comprende un approccio potente, “mod-sim”, per indagare su scenari di sicurezza generale [4], sicurezza informatica [5] e dinamiche di rete [6]. Grazie agli esperimenti fatti dagli autori, si è dimostrato che per una rete segmen- tata in 4 enclave, il framework è in grado di generare forti modelli di availability attacks che non sono stati identificati a priori e mostra configurazioni efficaci che riducono al minimo il ritardo della missione quando li si affrontano, agevolando così il lavoro del difensore. 6
  • 8. 3.3 Ricognizione interna in reti definite dal software Uno degli scopi principali di un attaccante è quello di individuare i nodi vulne- rabili all’interno di una rete per poter eseguire un attacco estremamente efficace. Una rete SDN (Software-defined networking) è una tipologia di rete che consente la gestione e un controllo centralizzato dei singoli nodi tramite software e che risulta essere un’ottima strategia per contrastare le scansioni nemiche. Per farlo si appoggia al controller SDN, un dispositivo che sa quali macchine so- no effettivamente in rete e può alterare superficialmente (senza alcuna perdita di funzione) la visualizzazione della posizione di ciascun nodo, nonché posizionare esche (honeypot) per fuorviare, bloccare o semplicemente rallentare la ricogni- zione in corso. Il framework che stiamo analizzando sfrutta questo sistema di inganno generan- do delle versioni “camuffate” della rete effettiva e tenendo in considerazione le possibili scelte dell’attaccante e del difensore per poter generare soluzioni robu- ste. La loro qualità è successivamente determinata in base alla velocità con cui il difensore ha rilevato che è in corso una scansione della rete e il numero di volte che è riuscito a scovare lo scanner, il tempo che è stato necessario per effettuare la ricognizione e il numero di host reali che l’attaccante è stato in grado di indi- viduare. Gli esperimenti mostrano chiaramente come esistano tipologie di ricognizione difficili da individuare, ma allo stesso tempo fornisce al difensore delle configu- razioni di rete efficaci per determinare il più velocemente possibile una scansione in corso. 7
  • 9. 4 Conclusioni In questo studio grazie alla riproduzione del processo coevolutivo competitivo e antagonistico che si verifica negli scenari di sicurezza informatica, è stato pos- sibile raccogliere soluzioni difensive efficaci, che anche se non potranno portare un difensore in vantaggio tattico rispetto all’attaccante, offriranno nuove ed im- portanti opportunità di contrastare potenziali attacchi, riuscendo a prevedere in modo sempre più accurato le dinamiche di scontro. Sfortunatamente i casi d’uso attualmente implementati sono davvero pochi in confronto agli attacchi che un malintenzionato potrebbe effettivamente realizza- re, pertanto sarebbe interessante poter ampliare le possibili dinamiche e andare oltre alle simulazioni per poter verificare quanto è davvero utile questo framework. Riferimenti bibliografici [1] O’Neill, M., and Ryan, C. 2003. Grammatical evolution: evolutionary automatic programming in an arbitrary language, volume 4. Springer. [2] Sanchez, D. P.; Pertierra, M. A.; Hemberg, E.; and O’Reilly, U.-M. 2018. Competitive coevolutionary algorithm decision support. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, 300–301. ACM. [3] Garcia, D.; Lugo, A. E.; Hemberg, E.; and O’Reilly, U.-M. 2017. Investigating coevolutionary archive based genetic algorithms on cyber defense networks. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO ’17, 1455–1462. New York, NY, USA: ACM. [4] Tambe, M., ed. 2012. Security and Game Theory: Algorithms, Deployed Systems, Lessons Learned. Cambridge University Press. [5] Thompson, B.; Morris-King, J.; and Cam, H. 2016. Controlling risk of da- ta exfiltration in cyber networks due to stealthy propagating malware. In Military Communications Conference, MILCOM 2016-2016 IEEE, 479–484. IEEE. [6] Rush, G.; Tauritz, D. R.; and Kent, A. D. 2015. Coevolutionary agent- based network defense lightweight event system (candles). In Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference, 859–866. ACM. 8