Please use this identifier to cite or link to this item: http://hdl.handle.net/10889/11885
Title: Study of security issues on SDN network architectures
Other Titles: Μελέτη θεμάτων ασφαλείας σε αρχιτεκτονικές δικτύων SDN
Authors: Σχοινάς, Κωνσταντίνος
Keywords: SDN
NFV
Security
Keywords (translated): Ασφάλεια
Abstract: With the steady increase in the size and complexity of computer networks it is necessary to move into more efficient solutions. Software Defined Network (SDN) technology is an approach for creating and managing networks, which enables the separation of the network's control plane from the data plane. Network Function Virtualization (NFV) turns common network functions into virtualized network functions. This is achieved by splitting each functionality to a single item with minimum vital resources. Virtual networks require components that will cloak not only existing features like routing or switching but will also be able to scale for future problems. Both SDN and NFV are technologies that can work independently because they perform two separate tasks; however, they complement each other. In this paper, we focus on a virtual network function (VNF) that does deep packet inspection inside a virtual network. This VNF is a routing application that inspects packets during the handshake session that takes place in Transport Layer Security (TLS). Handshake Protocol is responsible for the authentication and key exchange necessary to establish or resume secure connections. The primary target of the VNF is to disallow users from entering forbidden websites. To achieve that the firewall parses the Client Hello message during the handshake, extracts the server name, checking it against a blacklist and it either grants or denies access to the user depending on the name. This VNF was developed with Data Plane Development Kit, a set of data plane libraries and network interface controller drivers for fast packet processing. This application was placed inside a virtual network as a virtual machine (VM) associated with two other VMs. These components were created in a Linux-host environment and were connected via a virtual switch, specifically Open vSwitch. Open vSwitch rules delineates packet flows specifically to go through the security routing application. As discussed above, this firewall either forwards or drops traffic determined by the situation. The remaining two VMs were a client that is trying to connect through OpenSSL to support secure socket layer and an apache2 server that acts as the banned site. So, this security block TLS application is obligated to check the transparency of the server when an applicant is requesting to establish a secure connection with it. This deployment presents one of the many use-cases of VNFs in the field of security and the scalability of an SDN network environment.
Abstract (translated): Με την σταθερή αύξηση του μεγέθους και της πολυπλοκότητας των κέντρων δεδομένων, είναι απαραίτητο να προχωρήσουμε σε πιο αποδοτικές λύσεις. Η τεχνολογία Software Defined Networking (SDN) παρουσιάζει μία καινούργια προσέγγιση στο πώς σχεδιάζουμε και διαχειριζόμαστε δίκτυα. Το SDN επιτρέπει τον διαχωρισμό της λογικής ελέγχου του δικτύου (control plane) από τους υποκείμενους routers και switches που προωθούν την κίνηση των πακέτων (data plane). Η αρχιτεκτονική Network Function Virtualization (NFV) μετατρέπει τις απλές λειτουργίες του δικτύου σε εικονικές, χωρίζοντας την κάθε μία σε ένα λογισμικό με τους ελάχιστους δυνατούς πόρους. Τo SDN και το NFV συνδυάζονται με την βοήθεια προγραμματιζόμενων ελεγκτών για την καλύτερη οργάνωση των λειτουργειών του δικτύου. Σε αυτή την διπλωματική εστιάζουμε στην δημιουργία ενός Virtual Network Function το οποίο λειτουργεί ως τείχος προστασίας. Το τείχος αυτό έχει ως στόχο την απαγόρευση σύνδεσης σε απαγορευμένες ιστοσελίδες. Όταν ένας χρήστης προσπαθεί να συνδεθεί σε μια ιστοσελίδα με σκοπό να δημιουργήσει μία ασφαλή σύνδεση τότε αυτό πρέπει να το κάνει χρησιμοποιώντας το Transport Layer Security (TLS). Αυτό το πρωτόκολλο κρυπτογράφησης παρέχει ιδιωτικότητα και ακεραιότητα δεδομένων μεταξύ δυο εφαρμογών ηλεκτρονικών υπολογιστών που επικοινωνούν μεταξύ τους. Προκειμένου όμως να δημιουργηθεί αυτή η ασφαλής σύνδεση πρέπει πρώτα να γίνει η διαδικασία του Handshake, κατά την οποία οι δύο χρήστες που θέλουν να συνδεθούν πρέπει να ανταλλάξουν μια σειρά από μηνύματα προκειμένου να αποκτήσουν εμπιστοσύνη ο ένας για τον άλλον. Το πρώτο μήνυμα που στέλνει κάποιος όταν θέλει να συνδεθεί σε έναν οποιονδήποτε διακομιστή είναι το Client Hello μήνυμα. Μέσα σε αυτό το μήνυμα ο Client δηλαδή αυτός που ζητάει να συνδεθεί κάπου μπορεί να εμπεριέχει και το όνομα του διακομιστή (Server Name) που θέλει να συνδεθεί. Το συγκεκριμένο τείχος προστασίας βρίσκεται μεταξύ του Client και του διακομιστή ( Server), και αυτό που κάνει είναι να ανοίγει και να αναλύει τα πακέτα. ‘Όταν λοιπόν o Client στείλει το Client Hello το τείχος εντοπίζει το συγκεκριμένο μήνυμα, το ανοίγει εις βάθος και αποσπά το Server Name από το πακέτο. Στην συνέχεια το συγκρίνει με μία λίστα που εμπεριέχονται απαγορευμένες ιστοσελίδες και αν ταιριάξει, τότε μπλοκάρει την σύνδεση. Η διακοπή της TLS σύνδεσης γίνεται βάση του RFC [14] απαντώντας με ένα μήνυμα ( TLS alert message) το οποίολέει στο Client ότι δεν αναγνωρίζεται το συγκεκριμένο όνομα της ιστοσελίδας που θέλει να συνδεθεί. Τέλος, το τείχος προστασίας στέλνει και ένα RESET TCP πακέτο προκείμενου να κλείσει και την TCP σύνδεση. Για την υλοποίηση αυτού του firewall δημιουργήθηκε μία τοπολογία με Virtual Machines (VMs). Αυτά δημιουργήθηκαν χρησιμοποιώντας το VirtualBox και ενώθηκαν με το Open vSwitch, ένα εικονικό switch το οποίο επιτρέπει την δημιουργία κανόνων για τις ροές των πακέτων μεταξύ αυτών των VMs. Σ’ ένα από αυτά τα VMs αναπτύχθηκε το Firewall χρησιμοποιώντας το Data Plane Development Kit το οποίο είναι μία βιβλιοθήκη ανοιχτού κώδικα γραμμένη σε C η οποία επιτρέπει την γρήγορη επεξεργασία πακέτων. Επίσης προκειμένου να δημιουργηθούν TLS συνδέσεις χρησιμοποιήθηκε το OpenSSL, μία βιβλιοθήκη κρυπτογράφησης η οποίο υποστηρίζει συνδέσεις με το πρωτόκολλο TLS. Παρακάτω φαίνεται η αποτυχημένη προσπάθεια ενός Client να συνδεθεί μέσω του OpenSSL στην απαγορευμένη ιστοσελίδα “www.example.com” καθώς και η απάντηση “unrecognized name” που στέλνει το firewall. Το παραπάνω VM που εμπεριέχει το firewall εκτός από την συγκεκριμένη τοπολογία μπορεί να γίνει export σαν image και να χρησιμοποιηθεί σε τοπολογίες SDN/ NFV οι οποίες διασυνδέουν VNFs σε αλυσίδες και εξυπηρετούν πιο σύνθετες λειτουργίες.
Appears in Collections:Τμήμα Ηλεκτρολ. Μηχαν. και Τεχνολ. Υπολογ. (ΔΕ)

Files in This Item:
File Description SizeFormat 
Διπλωματικη 2.pdf1.74 MBAdobe PDFView/Open
source_code_dpi.zip7.16 MBUnknownView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.