dc.contributor.author |
Κορέντης, Σταύρος
|
|
dc.contributor.author |
Παπαβασιλείου, Συμεών
|
|
dc.date.accessioned |
2022-01-30T08:17:47Z |
|
dc.date.available |
2022-01-30T08:17:47Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/54467 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.22165 |
|
dc.rights |
Default License |
|
dc.subject |
Σύστημα Ονοματοδοσίας Τομέων |
el |
dc.subject |
Κατανεμημένες Επιθέσεις Άρνησης Παροχής Υπηρεσιών |
el |
dc.subject |
επίθεση DNS Water Torture |
el |
dc.subject |
Μηχανική Μάθηση |
el |
dc.subject |
Ταξινομητής Naive Bayes |
el |
dc.subject |
extended Berkeley Packet Filter |
el |
dc.subject |
eXpress Data Path |
el |
dc.title |
Αντιμετώπιση Δικτυακών Επιθέσεων με Χρήση eXpress Data Path (XDP) |
el |
dc.contributor.department |
Τομέας Επικοινωνιών Ηλεκτρονικής και Συστημάτων Πληροφορικής - Εργαστήριο Διαχείρισης και Βέλτιστου Σχεδιασμού Δικτύων Τηλεματικής (NETMODE) |
el |
heal.type |
bachelorThesis |
|
heal.secondaryTitle |
Αντιμετώπιση Επιθέσεων DNS Water Torture στο Επίπεδο Δεδομένων με Χρήση Μεθόδων Μηχανικής Μάθησης |
el |
heal.classification |
Δίκτυα Υπολογιστών |
el |
heal.language |
el |
|
heal.language |
en |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2021-07-22 |
|
heal.abstract |
Το Σύστημα Ονοματοδοσίας Τομέων (DNS) είναι απαραίτητο για την εύρυθμη λειτουργία του διαδικτύου, καθώς μέσω αυτού πραγματοποιείται η αντιστοίχιση των ονομάτων υπολογιστών σε διευθύνσεις IP και αντίστροφα. Αυτό το κάνει στόχο κακόβουλων χρηστών, οι οποίοι μέσω Κατανεμημένων Επιθέσεων Άρνησης Παροχής Υπηρεσιών (Distributed Denial of Service Attacks, DDoS Attacks) αποσκοπούν στην διατάραξη της λειτουργίας του.
Μία τέτοια επίθεση είναι η λεγόμενη DNS Water Torture. Στόχος της είναι ο υπεύθυνος εξυπηρετητής (Authoritative Server) μίας ζώνης DNS και σκοπός της επίθεσης είναι να πλημμυρίζει το θύμα με πολύ μεγάλο όγκο άκυρων ερωτημάτων, τα οποία προέρχονται από αναδρομικούς εξυπηρετητές (Recursive Resolvers), έτσι ώστε να εξαντληθεί η υπολογιστική ισχύς του εξυπηρετητή και να καταστεί ανίκανος να απαντά σε έγκυρα ερωτήματα καλόβουλων χρηστών. Τα ερωτήματα αυτά, περιέχουν τυχαία, μη επαναλαμβανόμενα ονόματα έτσι ώστε να παρακάμπτουν την προσωρινή μνήμη των αναδρομικών εξυπηρετητών και να φτάνουν πάντα στο θύμα.
Ο μηχανισμός που αναπτύχθηκε στα πλαίσια της παρούσας διπλωματικής εργασίας αποσκοπεί στην αντιμετώπιση αυτής της επίθεσης, συνδυάζοντας τις δυνατότητες προγραμματισμού στο επίπεδο δεδομένων με τεχνικές επιβλεπόμενης μηχανικής μάθησης.
Πιο αναλυτικά, τα ερωτήματα που δέχεται o αναδρομικός εξυπηρετητής, ελέγχονται ως προς την εγκυρότητα του ονόματος DNS που περιέχουν, πριν προωθηθούν στον αντίστοιχο αρμόδιο εξυπηρετητή. Ο έλεγχος αυτός γίνεται με την χρήση του ταξινομητή Naive Bayes, ο οποίος σύμφωνα με την εκπαίδευση που έχει γίνει, κάνει μία πρόβλεψη σχετικά με το εάν το DNS όνομα του ερωτήματος είναι έγκυρο ή όχι. Ο Naive Bayes ενδείκνυται για εφαρμογές επεξεργασίας φυσικής γλώσσας και αυτό τον καθιστά καλή επιλογή για την αντιμετώπιση της επίθεσης DNS Water Torture. Ο ταξινομητής έχει υλοποιηθεί με τη χρήση extended Berkeley Packet Filter (eBPF) και το πρόγραμμα έχει προσαρτηθεί στο eXpress Data Path (XDP) hook. Το XDP hook βρίσκεται στο χαμηλότερο επίπεδο της στοίβας δικτύου του Linux και η επεξεργασία των πακέτων στο σημείο αυτό είναι πολύ πιο αποτελεσματική και πιο γρήγορη, αφού δεν έχει πραγματοποιηθεί ακόμη κατανομή μνήμης, για το πακέτο, από τον πυρήνα. Ανάλογα με το αποτέλεσμα της πρόβλεψης, το πακέτο συνεχίζει την πορεία του ή απορρίπτεται. Ως αποτέλεσμα, τα ερωτήματα των καλόβουλων χρηστών εξυπηρετούνται κανονικά ενώ το μεγαλύτερο ποσοστό της κακόβουλης κίνησης δεν φτάνει τον Authoritative εξυπηρετητή.
Σκοπός αυτής της εργασίας είναι η μελέτη της απόδοσης αυτού του μηχανισμού και της βελτίωσης χρησιμοποιώντας το XDP. |
el |
heal.abstract |
The Domain Name System (DNS) is essential for the operation of the Internet, as it assigns computer names to IP addresses and vice versa. This makes it a target of malicious users, who through Distributed Denial of Service attacks (DDoS attacks) aim to disrupt its operation.
Such an attack is the so-called DNS Water Torture. Its target is the Authoritative Server of a DNS zone and the aim of the attack is to flood the victim with a large volume of invalid queries, which come from recursive Servers (Recursive Resolvers), in order to exhaust the Server’s computing power and make it unable to answer benign users’ valid queries. These invalid queries contain random, non-repetitive names in order to bypass the Recursors’ cache and thus always reach the victim.
The mechanism developed in the context of this dissertation aims to address this attack by combining data plane programming capabilities with supervised machine learning techniques.
More specifically, queries received by the Recursive Server are checked for the validity of the DNS name they contain, before being forwarded to the Authoritative Server. This check is done using the Naive Bayes classifier, which according to its training, makes a prediction as to whether the DNS name of the query is valid or not. Naive Bayes is suitable for natural language processing applications and this makes it a good choice for mitigating DNS Water Torture attack. The classifier is implemented using the extended Berkeley Packet Filter (eBPF) and the program is attached to the eXpress Data Path (XDP) hook. The XDP hook is at the lowest level of the Linux network stack and packet processing at this point is much more efficient and faster, as the kernel has not yet allocated memory for the package. Depending on the outcome of the prediction, the package passes or is dropped. As a result, benign users' queries are served normally while most of the malicious traffic does not reach the Authoritative Server.
The purpose of this work is to study the performance of this mechanism and the improvement using XDP. |
en |
heal.advisorName |
Παπαβασιλείου, Συμεών |
|
heal.committeeMemberName |
Παπαβασιλείου, Συμεών |
|
heal.committeeMemberName |
Συκάς, Ευστάθιος |
|
heal.committeeMemberName |
Σούντρης, Δημήτριος |
|
heal.academicPublisher |
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
100 |
|
heal.fullTextAvailability |
false |
|