Simon Pietro Romano
- Università di Napoli Federico II
- http://www.unina.it/
9 ottobre 2019 - SESSIONE: Security: trend e applicazioni
Automatizzazione delle strategie di Penetration Testing mediante tecniche di Reinforcement Learning
Automatizzazione delle strategie di Penetration Testing mediante tecniche di Reinforcement Learning
Simon Pietro Romano è Professore Associato nel Dipartimento di Ingegneria Elettrica e delle Tecnologie dell'Informazione (DIETI) dell'Università degli Studi di Napoli Federico II, dove insegna Reti di Calcolatori, Calcolatori Elettronici, Network Security ed Applicazioni Telematiche. Simon Pietro è co-fondatore di Meetecho, uno spin-off accademico che si occupa di architetture scalabili, basate su WebRTC, per lo streaming multimediale e per la collaborazione in rete. Recentemente ha fondato SECSI (SECurity Solutions for Innovation), uno spin-off interamente centrato sulle tematiche legate alla sicurezza di rete. Simon Pietro partecipa attivamente alle attività di standardizzazione in ambito IETF (Internet Engineering Task Force), con particolare riferimento all'area denominata ART (Applications and Real Time). Egli conduce attività dei ricerca nell'ambito del networking dal 1998. Ha lavorato alla definizione di architetture di rete avanzate capaci di ottimizzare la qualità dell'esperienza per gli utenti finali, grazie all'impiego di un approccio a ciclo chiuso che va dalla gestione basata su Service Level Agreement (SLA), alla configurazione automatizzata, basata su policy, dei dispositivi di rete, al monitoraggio con approccio cosiddetto "autonomico". Egli ha contribuito alla ricerca nel campo delle applicazioni real-time multimediali, con particolare riferimento al progetto, alla implementazione ed alla standardizzazione di soluzioni scalabili e distribuite per il conferencing, il controllo dei media e la telepresenza. Ha inoltre condotto attività di ricerca nell'ambito della sicurezza, con particolare riferimento ai sistemi distribuiti per il rilevamento delle intrusioni ed alle soluzioni per la protezione dell infrastrutture critiche. Recentemente, si è occupato del controllo distribuito e della orchestrazione in reti 5G virtualizzate e basate su container. Simon Pietro Romano partecipa ed ha partecipato a numerosi progetti di ricerca, a livello sia nazionale che internazionale. Attualmente è, tra le altre cose, Principal Investigator nell'ambito del progetto SHINE (Secure Hybrid In Network caching Environment) finanziato dall'Agenzia Spaziale Europea.
Simon Pietro Romano is an associate professor in the “Department of Electrical Engineering and Information Technology” at the University of Napoli Federico II. He teaches computer networks, computer architectures, network security, and telematics applications. He is also the co-founder of Meetecho, a startup and university spin-off dealing with scalable video streaming and WebRTC-based unified collaboration, as well as of SECSI (SECurity Solutions for Innovation), that focuses on network security. He actively participates in IETF (Internet Engineering Task Force) standardization activities, mainly in the Applications and Real Time (ART) area. Simon Pietro Romano conducts research activities in the field of networking since 1998. He has been working on the definition of advanced networking architectures capable to provide end-users with optimized quality of experience, thanks to a closed-loop approach going from SLA-based management down to policy-based configuration of the devices and autonomic monitoring. He has contributed to the field of real-time multimedia applications, with special regard to the design, implementation and standardization of scalable, distributed architectures for conferencing, media control and telepresence. He has carried out research in the field of network security, by mainly focusing on distributed intrusion detection and critical infrastructure protection. Lately, he has started investigating issues associated with distribution of control in 5G-compliant, container-based, virtualized architectures. Simon Pietro Romano has a long track of participations in R&D projects, both at the national and at the international level. He is currently leading the SHINE (Secure Hybrid In Network caching Environment) project funded by the European Space Agency (ESA).
Automatizzazione delle strategie di Penetration Testing mediante tecniche di Reinforcement Learning
Il Vulnerabiliy Assessment è un processo essenziale per le aziende e le istituzioni che intendono valutare il proprio livello di sicurezza identificando minacce e rischi prima che questi possano essere sfruttati da parte di utenti malintenzionati. Questo processo include la tecnica del Penetration Testing (PT) per l'identificazione delle vulnerabilità. Il PT consiste nella realizzazione di un attacco informatico in uno scenario controllato. Gli attuali strumenti che supportano questo tipo di attività si basano su modelli di attacchi (in gergo, "exploit") noti. La fase di detection è una attività che il penetration tester effettua attraverso tentativi ai quali corrispondono osservazioni riguardanti la presenza di eventuali messaggi di errore, di anomalie nel contenuto delle risposte provenienti dal sistema target, o ritardi nelle risposte stesse. Dalla osservazione della sequenza di azioni svolte dal penetration tester è dunque possibile ricavare un modello comportamentale orientato alla detection; modello che sarebbe interessante poter riprodurre, in modo quanto più affidabile e generalizzabile possibile, in maniera automatizzata. L'aspetto della "generalizzazione" risulta cruciale, visto che il mantenimento e l'aggiornamento di questi modelli comportamentali si dimostra difficoltoso a causa della continua evoluzione delle tecnologie, da un lato, e delle metodologie di attacco, dall'altro. In questo intervento ci concentreremo sulla illustrazione di una possibile soluzione a questo problema, basata sulla automatizzazione delle attività di Penetration Testing attraverso tecniche di Reinforcement Learning. Il Reinforcement Learning (RL) prevede che un agente selezioni in ogni istante di tempo un'azione da eseguire nell'ambiente che si intende analizzare. L'ambiente restituirà all'agente una osservazione, tipicamente formalizzata in termini di ricompensa (reward) per l'azione svolta e relativo stato prossimo. Senza alcun tipo di addestramento, l'agente produce un output in termini di insieme delle azioni "migliori", vale a dire quelle che hanno massimizzato il reward. Esistono numerosi algoritmi adatti alla cosiddetta fase di "apprendimento" da parte dell'agente; tra questi citeremo un semplice approccio noto come Q-learning. L'intervento si concluderà con alcune osservazioni sullo stato dell'arte e sui possibili sviluppi futuri delle attività di ricerca in ambito PT del gruppo di Network Security della Federico II.
Penetration Testing automation through Reinforcement Learning
Vulnerability assessment is a crucial process for both companies and institutions willing to evaluate their security compliance by identifying threats and risks before they can be exploited by malicious users. Such a process involves Penetration testing (PT) as a technique aimed at identifying vulnerabilities. In a nutshell, PT consists in carrying out a cyber attack in a controlled environment. The current tools supporting such an activity are based on well-known attack models. The detection phase is a specific activity carried out by the penetration tester through iterated attempts, each of which is typically followed by observations associated with the analysis of responses and subsequent identification of either error messages, or anomalies in response payloads, or even just delays in the responses themselves. Starting from the analysis of the sequence of actions undertaken by the penetration tester it is hence possible to derive a behavioral model for the detection. A specific research challenge consists in automatically reproducing, as reliably as possible, as well as with a high degree of extensibility, such a model. "Generalization" plays a crucial role here, since maintaining and updating behavioral models turns out to be a hard task, mainly due to the continuous evolution of both technology and attack patterns. In this talk we will focus on a way to effectively tackle such an issue, based on the automatization of Penetration Testing techniques through the adoption of Reinforcement Learning (RL). RL envisages that an agent selects, at every point in time, a specific action to be performed in the environment it is meant to analyze. The environment will respond with an observation, typically structured in the form of a reward for the performed action, together with the related next state. With no need for training, the agent in question produces an output in terms of the set of "optimal" actions, i.e., those maximizing the achievable reward. A number of algorithms exist that are suitable for completing the agent's learning phase; among them, we will briefly mention a very simple approach which is known in the literature as Q-Learning. At the end of the talk we will draw some conclusions about both the state-of-the-art and the directions of future work in the field of automated penetration testing, as carried out by the network security research group at the University of Napoli Federico II.