In the field of cybersecurity, one of the most commonly used approaches for studying application vulnerabilities involves analyzing collected data, both actively and passively, within systems designed for this purpose. Among the various contexts in which these platforms are used, there is the possibility of testing simulated attack scenarios within preconfigured virtual environments, with the goal of obtaining useful information for the manual or automatic detection of threats. This thesis develops a software solution capable of enabling the installation of vulnerable containerized applications within a distributed edge platform, managed with Kubernetes, and designed for collecting cybersecurity data. This new environment is called CyBorgV2. Due to the lack of preconfigured resources for installation within the cluster, Docker image files of vulnerable applications are used. The transition from a Docker Compose environment to a Kubernetes environment, however, is not immediate, as there are significant differences in the creation and management of applications, largely due to different usage scenarios. The thesis describes how the tool Kompose was used, a converter of Docker configuration files into Kubernetes deployment files. The limitations of the tool are then discussed, particularly the lack of compatibility with some key elements for managing applications, known as pods, in a distributed environment. The solutions implemented in the new CyBorgV2 platform, within a series of Ansible playbooks, address the necessary aspects for the correct functioning of the application to be scheduled, such as resource allocation, memory management, and the configuration of network services with the related network policies. Once the installation phase of the produced resources is completed, the thesis proceeds with the analysis of the collected data. After describing the methods used for conducting attack simulations, the results obtained are listed, classifying the different types of applications with their corresponding tested vulnerabilities. Successful attack simulations were carried out on 19 vulnerable applications. Finally, case studies are presented, in which the information contained in the event logs produced during the testing phase is analyzed, aiming to demonstrate the usefulness of the proposed solution. The analysis emphasizes the need to collect a larger amount of data from the attacked systems in order to obtain more relevant information for vulnerability assessment. The data also clearly verify the correct functioning of the applications installed within CyBorgV2. This platform is well-suited for future data collection scenarios beyond the local testing discussed in this thesis.

Nell'ambito della cybersecurity uno degli approcci più utilizzati per lo studio delle vulnerabilità degli applicativi consiste nell'analisi dei dati raccolti, in forma attiva e passiva, all'interno di sistemi progettati per tale scopo. Tra i vari contesti di utilizzo di queste piattaforme, vi è la possibilità di testare scenari di attacco simulati all'interno di ambienti virtuali preconfigurati, con l'obiettivo di ottenere informazioni utili per il rilevamento manuale o automatico delle minacce. Viene quindi sviluppata all'interno di questa tesi una soluzione software in grado di consentire l'installazione di applicazioni vulnerabili containerizzate all'interno di una piattaforma edge distribuita, gestita con Kubernetes e progettata per la raccolta di dati sulla sicurezza informatica. Questo nuovo ambiente prende il nome di CyBorgV2. Data l'impossibilità nel reperire risorse preconfigurate per l'installazione all'interno del cluster, vengono utilizzate le immagini virtuali in formato Docker degli applicativi vulnerabili. Il passaggio da un ambiente Docker Compose ad un ambiente Kubernetes non è però immediato poiché vi sono profonde differenze nelle modalità di creazione e gestione delle applicazioni, questo anche per via dei diversi scenari d'uso. La tesi descrive come è stato adoperato lo strumento Kompose, ovvero un convertitore di file di configurazione Docker in deployment Kubernetes. Vengono quindi illustrati i limiti del tool legati alla mancanza di compatibilità con alcuni elementi chiave per la gestione degli applicativi, definiti come pod, in ambito distribuito. Le soluzioni implementate nella nuova piattaforma CyBorgV2, all'interno di una serie di playbook Ansible, riguardano gli aspetti necessari al corretto funzionamento dell'applicazione da schedulare come l'assegnazione delle risorse, la gestione della memoria e l'impostazione dei servizi di rete con le relative network policy. Una volta completata la fase di installazione delle risorse prodotte, l'elaborato di tesi procede con l'analisi dei dati raccolti. Dopo la descrizione delle modalità con le quali vengono svolte le simulazioni d'attacco, si elencano i risultati ottenuti, classificando le diverse tipologie di applicazioni con le relative vulnerabilità testate. Sono state eseguite con successo le simulazioni d'attacco relative a 19 applicazioni vulnerabili. Vengono infine descritti dei casi di studio in cui vengono analizzate le informazioni contenute nei registri degli eventi prodotti dalla fase di test, con l'obiettivo di dimostrare l'utilità della soluzione proposta. L'analisi effettuata sottolinea la necessità di raccogliere una maggiore quantità di dati dai sistemi oggetto d'attacco, al fine di poter ottenere più informazioni rilevanti per la valutazione delle vulnerabilità. Gli stessi dati invece verificano chiaramente il corretto funzionamento delle applicazioni installate all'interno di CyBorgV2. Questa piattaforma si presta in futuro a scenari di raccolta dati che vanno oltre il testing in locale discusso in questa tesi.

Un Ambiente Flessibile ed Estensibile per la Valutazione delle Vulnerabilità

DI TINCO, ANTONIO
2023/2024

Abstract

Nell'ambito della cybersecurity uno degli approcci più utilizzati per lo studio delle vulnerabilità degli applicativi consiste nell'analisi dei dati raccolti, in forma attiva e passiva, all'interno di sistemi progettati per tale scopo. Tra i vari contesti di utilizzo di queste piattaforme, vi è la possibilità di testare scenari di attacco simulati all'interno di ambienti virtuali preconfigurati, con l'obiettivo di ottenere informazioni utili per il rilevamento manuale o automatico delle minacce. Viene quindi sviluppata all'interno di questa tesi una soluzione software in grado di consentire l'installazione di applicazioni vulnerabili containerizzate all'interno di una piattaforma edge distribuita, gestita con Kubernetes e progettata per la raccolta di dati sulla sicurezza informatica. Questo nuovo ambiente prende il nome di CyBorgV2. Data l'impossibilità nel reperire risorse preconfigurate per l'installazione all'interno del cluster, vengono utilizzate le immagini virtuali in formato Docker degli applicativi vulnerabili. Il passaggio da un ambiente Docker Compose ad un ambiente Kubernetes non è però immediato poiché vi sono profonde differenze nelle modalità di creazione e gestione delle applicazioni, questo anche per via dei diversi scenari d'uso. La tesi descrive come è stato adoperato lo strumento Kompose, ovvero un convertitore di file di configurazione Docker in deployment Kubernetes. Vengono quindi illustrati i limiti del tool legati alla mancanza di compatibilità con alcuni elementi chiave per la gestione degli applicativi, definiti come pod, in ambito distribuito. Le soluzioni implementate nella nuova piattaforma CyBorgV2, all'interno di una serie di playbook Ansible, riguardano gli aspetti necessari al corretto funzionamento dell'applicazione da schedulare come l'assegnazione delle risorse, la gestione della memoria e l'impostazione dei servizi di rete con le relative network policy. Una volta completata la fase di installazione delle risorse prodotte, l'elaborato di tesi procede con l'analisi dei dati raccolti. Dopo la descrizione delle modalità con le quali vengono svolte le simulazioni d'attacco, si elencano i risultati ottenuti, classificando le diverse tipologie di applicazioni con le relative vulnerabilità testate. Sono state eseguite con successo le simulazioni d'attacco relative a 19 applicazioni vulnerabili. Vengono infine descritti dei casi di studio in cui vengono analizzate le informazioni contenute nei registri degli eventi prodotti dalla fase di test, con l'obiettivo di dimostrare l'utilità della soluzione proposta. L'analisi effettuata sottolinea la necessità di raccogliere una maggiore quantità di dati dai sistemi oggetto d'attacco, al fine di poter ottenere più informazioni rilevanti per la valutazione delle vulnerabilità. Gli stessi dati invece verificano chiaramente il corretto funzionamento delle applicazioni installate all'interno di CyBorgV2. Questa piattaforma si presta in futuro a scenari di raccolta dati che vanno oltre il testing in locale discusso in questa tesi.
A Flexible and Extensible Environment for Vulnerable Evaluation
In the field of cybersecurity, one of the most commonly used approaches for studying application vulnerabilities involves analyzing collected data, both actively and passively, within systems designed for this purpose. Among the various contexts in which these platforms are used, there is the possibility of testing simulated attack scenarios within preconfigured virtual environments, with the goal of obtaining useful information for the manual or automatic detection of threats. This thesis develops a software solution capable of enabling the installation of vulnerable containerized applications within a distributed edge platform, managed with Kubernetes, and designed for collecting cybersecurity data. This new environment is called CyBorgV2. Due to the lack of preconfigured resources for installation within the cluster, Docker image files of vulnerable applications are used. The transition from a Docker Compose environment to a Kubernetes environment, however, is not immediate, as there are significant differences in the creation and management of applications, largely due to different usage scenarios. The thesis describes how the tool Kompose was used, a converter of Docker configuration files into Kubernetes deployment files. The limitations of the tool are then discussed, particularly the lack of compatibility with some key elements for managing applications, known as pods, in a distributed environment. The solutions implemented in the new CyBorgV2 platform, within a series of Ansible playbooks, address the necessary aspects for the correct functioning of the application to be scheduled, such as resource allocation, memory management, and the configuration of network services with the related network policies. Once the installation phase of the produced resources is completed, the thesis proceeds with the analysis of the collected data. After describing the methods used for conducting attack simulations, the results obtained are listed, classifying the different types of applications with their corresponding tested vulnerabilities. Successful attack simulations were carried out on 19 vulnerable applications. Finally, case studies are presented, in which the information contained in the event logs produced during the testing phase is analyzed, aiming to demonstrate the usefulness of the proposed solution. The analysis emphasizes the need to collect a larger amount of data from the attacked systems in order to obtain more relevant information for vulnerability assessment. The data also clearly verify the correct functioning of the applications installed within CyBorgV2. This platform is well-suited for future data collection scenarios beyond the local testing discussed in this thesis.
Non autorizzo consultazione esterna dell'elaborato
File in questo prodotto:
File Dimensione Formato  
Tesi-AntonioDiTinco.pdf

non disponibili

Dimensione 2.03 MB
Formato Adobe PDF
2.03 MB Adobe PDF

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14240/164316