A Software Defined Network (SDN) is a new network architecture that makes easier the network administration and programmability. This architecture is based on the idea of centralizing all the control of the network in a single SDN Controller and to separate the Control Plane (process of defining the network topology and deciding what to do with incoming packets) from the Data Plane (process of forwarding packets). SDN network has a lot of advantages such as centralized control, reduced complexity, scalability, and also a decrease in network systems and equipment costs. However, one of the drawbacks of SDN network is that the Controller represents a single point of failure for this structure. In fact, the normal behavior of switches in an SDN network is forwarding all the incoming packets to the Network Controller, including possible Distributed Denial of Service (DDoS) attacks. DDoS attack is a cybersecurity attack used to overload a server, host or application of packets, with the purpose of depleting the bandwidth or exhausting its resources. The fact that the controller is attacked does not only lead to a single component failure, but to entire network blocking. At this point the need arises to give more intelligence to the Data Plane, allowing traffic engineering to be done directly by the switches. P4 is a programming language for switches and routers that allows programming of packets forwarding planes. It enables improved handling of packets directly at the switches of an SDN network, allowing to decide which packets must be forwarded to the Controller. The use of P4 can allow the switch to do traffic engineering to avoid the packets belonging to an attack can reach the Controller. However, the switch is not provided with a component capable of identifying a complex DDOS attack. The first part of our contribution include the development of three machine learning algorithms that are able to detect DDoS attacks. The test of these algorithms is done using self-generated datasets extracted simulating some DDoS attacks in a testbed composed by a network of Raspberry Pis. In a second step we evaluated how this algorithms can be integrated with a P4 switch, with the purpose of doing a real time detection. More test have been done to select the best models by evaluating their accuracy and the time they take to evaluate a new sample. Finally we performed an analysis on the benefits that P4 brings thanks to the possibility of elaborating packets information, among which the one to extract the features directly from the switch. Three types of traffic are analyzed. The first traffic is composed by complete packets, without any optimization. The first optimization provides the extraction of only packets headers. Finally P4 is used to elaborate features directly inside the switch and the extracted "metadata" are directly sent to the Machine Learning module. The optimization introduced with the use of metadata extracted with P4 has led to the total elimination of the long time taken by the python software for feature processing. This results in a new innovative solution to defend the SDN controller against DDoS attacks, doing traffic engineering directly from the Data Plane.
Una Software Defined Network (SDN) è una nuova architettura di rete che permette alla rete di essere programmabile dall’altro e più facilmente amministrabile. Questa architettura si basa sull’idea di centralizzare tutto il controllo della rete in un singolo Controller SDN e di separare il Control Plane (processo che stabilisce qual è la topologia della rete e de- cide cosa fare con i pacchetti in arrivo) dal Data Plane(processo di inoltro dei pacchetti). La rete SDN ha innumerevoli vantaggi di utilizzo come il controllo centralizzato, una ridotta complessità , maggiore scalabilità e anche una diminuzione dei costi dei sistemi e delle apparecchiature di rete. Tuttavia, uno degli svantaggi della rete SDN è che il Controller rap- presenta un singolo punto di vulnerabilità per questa struttura. Infatti, il normale comportamento degli switch in una rete SDN è di inoltrare tutti i pacchetti ricevuti in ingresso al controller, compresi quelli appartenenti ad eventuali attacchi Distributed Denial of Service (DDoS). Un attacco DDoS è un attacco di sicurezza informatica utilizzato per sovraccaricare un server, un host o un’applicazione di pacchetti, allo scopo di riem- pire la sua memoria o esaurire le sue risorse. Il fatto che il controllore venga attaccato non porta solo al malfunzionamento di un singolo com- ponente, ma al blocco dell’intera rete. A questo punto sorge la necessità di dare più intelligenza al Data Plane, permettendo che gli switches pos- sano fare ingegneria del traffico. P4 è un linguaggio di programmazione per switch e router che consente di programmare l’inoltro dei pacchetti. Consente una migliore gestione dei pacchetti direttamente dagli switch di una rete SDN, permettendo di decidere quali pacchetti devono essere inoltrati al Controller e quali no. L’uso di P4 può consentire allo switch di fare traffic engineering per evitare che i pacchetti appartenenti ad un attacco possano raggiungere il Controller. Tuttavia, lo switch non è dotato di un componente capace di identificare un attacco DDOS comp- lesso. La prima parte della nostra collaborazione include lo sviluppo di tre algoritmi di apprendimento automatico che sono in grado di rilevare gli attacchi DDoS. Il test di questi algoritmi viene eseguito utilizzando dataset auto generati, estratti simulando alcuni attacchi DDoS in un testbed composto da una rete di Raspberry Pis. In una seconda fase ab- biamo valutato come integrare questi algoritmi con uno switch P4, con lo scopo di eseguire un rilevamento in tempo reale. Sono stati fatti più test per selezionare i migliori modelli valutandone l’accuratezza e il tempo impiegato per valutare un nuovo campione. Infine, abbiamo eseguito un’analisi sui vantaggi offerti da P4 grazie alla possibilità di elaborare informazioni sui pacchetti, tra cui quella per estrarre le features diret- tamente dallo switch. Vengono analizzati tre tipi di traffico. Il primo traffico è composto da pacchetti completi, senza alcuna ottimizzazione. La prima ottimizzazione prevede l’estrazione di solo gli headers di pac- chetti. Infine, P4 viene anche utilizzato per elaborare le features diretta- mente all’interno dello switch e i ”metadati” estratti vengono poi inviati direttamente al modulo Machine Learning. L’ottimizzazione introdotta con l’uso dei metadati estratti con P4 ha portato alla totale eliminazione del lungo tempo impiegato dal software python per l’elaborazione delle features. Ciò si traduce in una nuova soluzione innovativa per difendere il controller SDN dagli attacchi DDoS, facendo ingegneria del traffico direttamente dal Data Plane.
Machine learning-based DDoS attacks detection with P4 language
IONATA, VALENTINA
2018/2019
Abstract
A Software Defined Network (SDN) is a new network architecture that makes easier the network administration and programmability. This architecture is based on the idea of centralizing all the control of the network in a single SDN Controller and to separate the Control Plane (process of defining the network topology and deciding what to do with incoming packets) from the Data Plane (process of forwarding packets). SDN network has a lot of advantages such as centralized control, reduced complexity, scalability, and also a decrease in network systems and equipment costs. However, one of the drawbacks of SDN network is that the Controller represents a single point of failure for this structure. In fact, the normal behavior of switches in an SDN network is forwarding all the incoming packets to the Network Controller, including possible Distributed Denial of Service (DDoS) attacks. DDoS attack is a cybersecurity attack used to overload a server, host or application of packets, with the purpose of depleting the bandwidth or exhausting its resources. The fact that the controller is attacked does not only lead to a single component failure, but to entire network blocking. At this point the need arises to give more intelligence to the Data Plane, allowing traffic engineering to be done directly by the switches. P4 is a programming language for switches and routers that allows programming of packets forwarding planes. It enables improved handling of packets directly at the switches of an SDN network, allowing to decide which packets must be forwarded to the Controller. The use of P4 can allow the switch to do traffic engineering to avoid the packets belonging to an attack can reach the Controller. However, the switch is not provided with a component capable of identifying a complex DDOS attack. The first part of our contribution include the development of three machine learning algorithms that are able to detect DDoS attacks. The test of these algorithms is done using self-generated datasets extracted simulating some DDoS attacks in a testbed composed by a network of Raspberry Pis. In a second step we evaluated how this algorithms can be integrated with a P4 switch, with the purpose of doing a real time detection. More test have been done to select the best models by evaluating their accuracy and the time they take to evaluate a new sample. Finally we performed an analysis on the benefits that P4 brings thanks to the possibility of elaborating packets information, among which the one to extract the features directly from the switch. Three types of traffic are analyzed. The first traffic is composed by complete packets, without any optimization. The first optimization provides the extraction of only packets headers. Finally P4 is used to elaborate features directly inside the switch and the extracted "metadata" are directly sent to the Machine Learning module. The optimization introduced with the use of metadata extracted with P4 has led to the total elimination of the long time taken by the python software for feature processing. This results in a new innovative solution to defend the SDN controller against DDoS attacks, doing traffic engineering directly from the Data Plane.File | Dimensione | Formato | |
---|---|---|---|
2019_04_Ionata.pdf
non accessibile
Descrizione: Testo della tesi
Dimensione
3.5 MB
Formato
Adobe PDF
|
3.5 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/147395