dc.contributor.author |
Κωστόπουλος, Νικόλαος
|
el |
dc.contributor.author |
Kostopoulos, Nikolaos
|
en |
dc.date.accessioned |
2024-09-06T06:55:26Z |
|
dc.date.available |
2024-09-06T06:55:26Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/60147 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.27843 |
|
dc.rights |
Default License |
|
dc.subject |
Σύστημα Ονοματοδοσίας |
el |
dc.subject |
Παροχή υπηρεσιών |
el |
dc.subject |
Δίκτυα που καθορίζονται από λογισμικό |
el |
dc.subject |
Προγραμματισμός δεδομένων |
el |
dc.subject |
Ιδιωτικότητα |
el |
dc.subject |
Domain Name System (DNS) |
en |
dc.subject |
Distributed Denial of Service (DDoS) Attacks |
en |
dc.subject |
Software-Defined Network (SDN) |
en |
dc.subject |
Data Plane Programmability |
en |
dc.subject |
Privacy-Aware Mechanisms |
en |
dc.title |
‘Εξυπνες υπηρεσίες αντιμετώπισης κυβερνοεπιθέσεων στο Σύστημα Ονοματοδοσίας (DNS) σε προγραμματιζόμενες διαδικτυακές υποδομές |
el |
dc.title |
Intelligent services for Countering Domain Name System (DNS) cyber attacks in software-defined network infrastructures |
en |
dc.contributor.department |
NETMODE Laboratory |
el |
heal.type |
doctoralThesis |
|
heal.classification |
Δίκτυα Υπολογιστών |
el |
heal.classification |
Computer Networks |
en |
heal.language |
el |
|
heal.language |
en |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2024-02-14 |
|
heal.abstract |
Το Σύστημα Ονοματοδοσίας (Domain Name System, DNS) απεικονίζει συμβολικά αναγνωριστικά (ονόματα ή domain names) σε διάφορους τύπους δεδομένων, κυρίως διευθύνσεις πρωτοκόλλου Διαδικτύου (Internet Protocol, IP). Οι περισσότερες δικτυακές υπηρεσίες βασίζονται σε ονόματα για τη λειτουργία τους. Κατά συνέπεια, το DNS είναι ζωτικής σημασίας για την αξιοπιστία των δικτύων υπολογιστών. Αυτό καθιστά το DNS συχνό στόχο κατανεμημένων επιθέσεων άρνησης παροχής υπηρεσίας (Distributed Denial of Service attacks ή επιθέσεις DDoS). Μία από τις πιο καταστροφικές επιθέσεις εναντίον υποδομών DNS είναι η Water Torture, η οποία πλημμυρίζει επίσημους εξυπηρετητές DNS (Authoritative DNS Servers) με μη έγκυρα ερωτήματα DNS για να διακόψει τις υπηρεσίες επίλυσης ονομάτων (name resolution). Εκτός από τις επιθέσεις DDoS, το DNS μπορεί επίσης να χρησιμοποιηθεί για την προώθηση δεδομένων που σχετίζονται με ενέργειες δικτύων μολυσμένων συσκευών (botnets). Οι αλγόριθμοι παραγωγής ονομάτων (Domain Generation Algorithms, DGA's) καταχρώνται το DNS για να υποστηρίξουν την επικοινωνία ανάμεσα σε μολυσμένους υπολογιστές (bots) και τους ενορχηστρωτές των botnets.
Η διατριβή αυτή προτείνει μηχανισμούς για την αποτελεσματική προστασία από απειλές που στοχεύουν υποδομές DNS (Water Torture) ή εκμεταλλεύονται μηνύματα DNS για κακόβουλους σκοπούς (DGA's). Οι περιορισμοί των καθιερωμένων συστημάτων ασφαλείας DNS ξεπερνώνται με μεθόδους μεγάλων δεδομένων (Big Data), δηλαδή πιθανοτικές δομές δεδομένων και αλγορίθμους μηχανικής μάθησης (Machine Learning, ML), καθώς και πολλά υποσχόμενες δικτυακές τεχνολογίες, δηλαδή δίκτυα που καθορίζονται από λογισμικό (Software-Defined Networks, SDN's) και προγραμματισμό σε επίπεδο δεδομένων (data plane programmability).
Αρχικά, προτείνουμε έναν μηχανισμό σε χώρο χρήστη (user space) που ανιχνεύει και αντιμετωπίζει αποδοτικά επιθέσεις Water Torture σε Authoritative DNS Servers. Αντί να επεξεργαζόμαστε ονόματα στην αυθεντική τους μορφή (plaintext), βασιζόμαστε στα Bloom Filters (BF's) για να απεικονίσουμε τα περιεχόμενα ολόκληρων ζωνών και να φιλτράρουμε επιθετική κίνηση DNS με τρόπο αποδοτικό ως προς τον χρόνο και τη διαθέσιμη μνήμη. Ο προτεινόμενος μηχανισμός κατηγοριοποιεί τις διευθύνσεις IP των αιτούντων ως καλόβουλες ή ύποπτες βάσει ενεργειών που εκτελούνται από πιθανοτικές δομές δεδομένων (BF's, Count-Min Sketches) και αιτιοκρατικούς (deterministic) αλγορίθμους διόρθωσης τυπογραφικών λαθών (SymSpell). Στη συνέχεια, η κίνηση DNS από ύποπτες διευθύνσεις IP φιλτράρεται βάσει των περιεχομένων των BF's. Τα κακόβουλα ερωτήματα DNS απορρίπτονται, ενώ τα καλόβουλα ερωτήματα προωθούνται στον Authoritative DNS Server που δέχεται την επίθεση.
Στη συνέχεια, χρησιμοποιούμε προγραμματισμό σε επίπεδο δεδομένων για να βελτιώσουμε σημαντικά την απόδοση φιλταρίσματος του, βασισμένου σε BF's, user-space μηχανισμού αντιμετώπισης επιθέσεων Water Torture που προτάθηκε προηγουμένως. Στηριζόμαστε στο eXpress Data Path (XDP) για την αποτελεσματική εκτέλεση ενεργειών DNS που βασίζονται σε βαθιά επιθεώρηση πακέτου (Deep Packet Inspection, DPI) με σκοπό την ταχύτατη διάκριση καλόβουλων και κακόβουλων ερωτημάτων DNS στο επίπεδο δεδομένων των Authoritative DNS Servers. Σε αντίθεση με άλλες μεθόδους προγραμματισμού σε επίπεδο δεδομένων, η προσέγγισή μας βασίζεται στο XDP και, κατά συνέπεια, δεν απαιτείται εξειδικευμένο υλικό (όπως στο P4) και δεν παρακάμπτεται ο πυρήνας του Linux (όπως στο Data Plane Development Kit- DPDK). Έτσι, ο προτεινόμενος μηχανισμός μπορεί να εφαρμοστεί σε χαμηλού κόστους κάρτες δικτύων (Network Interface Cards, NIC's), ενώ χρήσιμα εργαλεία του πυρήνα του Linux (π.χ. βιβλιοθήκες TCP/IP) παραμένουν διαθέσιμα στους προγραμματιστές.
Έπειτα προτείνουμε έναν privacy-aware μηχανισμό διανομής ζωνών από Authoritative DNS Servers σε εξωτερικά συστήματα άμυνας. Τέτοια συστήματα μπορεί να λειτουργούν σε αναδρομικούς εξυπηρετητές DNS (Recursive DNS Servers ή Recursors) ή σε υπηρεσίες που φιλτράρουν δικτυακή κίνηση (upstream scrubbing services). Χωρίς να απαιτούνται επίσημες συμφωνίες, ο μηχανισμός μας επιτρέπει σε διαχειριστές δικτύων να αντιμετωπίσουν επιθέσεις DDoS, που βασίζονται στο DNS, πιο αποτελεσματικά κοντά στις πηγές τους ή να φιλτράρουν κίνηση που παράγεται από DGA's με μεγαλύτερη ακρίβεια. Οι ζώνες απεικονίζονται σε Cuckoo Filters, καθώς πραγματοποιούν ταχύτερους ελέγχους ονομάτων και καταναλώνουν λιγότερη μνήμη σε σχέση με τα BF's, ενώ υποστηρίζουν δυναμικές ανανεώσεις ονομάτων.
Οι προαναφερθέντες μηχανισμοί εξαρτώνται από τα περιεχόμενα των ζωνών. Ωστόσο, οι διαχειριστές των Authoritative DNS Servers μπορεί να είναι απρόθυμοι να συνεργαστούν λόγων ανησυχιών για την ασφάλεια των υποδομών τους. Για το σκοπό αυτό, συμπληρώνουμε τις προηγούμενες προσεγγίσεις μας που προτάθηκαν για την αντιμετώπιση επιθέσεων Water Torture, χρησιμοποιώντας XDP για την επιτάχυνση της εξαγωγής χαρακτηριστικών (features) και την αποτίμηση των εξόδων αλγορίθμων ML στο επίπεδο δεδομένων των Recursors. Η προσέγγισή μας βασίζεται σε ταξινομητές Naive Bayes, οι οποίοι διαχωρίζουν αποτελεσματικά την καλόβουλη από την κακόβουλη κίνηση DNS εξ ολοκλήρου εντός του πυρήνα του Linux. Έτσι, η απόδοση αντιμετώπισης επιθέσεων DNS βελτιώνεται σημαντικά χωρίς να απαιτείται εξειδικευμένο υλικό, π.χ. κάρτες γραφικών.
Τέλος, εφαρμόζουμε τεχνικές επεξηγήσιμης τεχνητής νοημοσύνης (eXplainable Artificial Intelligence, XAI), συγκεκριμένα την SHapley Additive exPlanation (SHAP), για να ερμηνεύσουμε τις αποφάσεις δυαδικών ταξινομητών μηχανικής μάθησης που διαχωρίζουν καλόβουλα ονόματα από κακόβουλα, τα οποία παράγονται από DGA's. Η SHAP εκτελείται με model-agnostic, post-hoc τρόπο, δηλαδή ανεξάρτητα από τον χρησιμοποιούμενο αλγόριθμο ML και αφού ολοκληρωθεί η φάση μάθησης. Αυτό επιτρέπει την ανάλυση ταξινομητών που βασίζονται σε δέντρα αποφάσεων και βαθιά νευρωνικά δίκτυα με ενιαίο τρόπο. Βασισμένοι σε διάφορα εργαλεία οπτικοποίησης της SHAP (διαγράμματα summary, dependence και force), εξάγουμε ερμηνείες μοντέλων σε πολλαπλά (καθολικές ερμηνείες) και μονωμένα (τοπικές ερμηνείες) παραδείγματα του συνόλου δεδομένων. Έτσι, εκτιμούμε τη συνεισφορά των features και αξιολογούμε τις μεταξύ τους αλληλεπιδράσεις. Η προσέγγισή μας βασίζεται σε features τα οποία αντικατοπτρίζουν τις στατιστικές και γλωσσικές ιδιότητες των ονομάτων. Κατά συνέπεια, αποφεύγονται χρονοβόρες ενέργειες που βασίζονται σε ιστορικά δεδομένα και ενδέχεται να εγείρουν ζητήματα ιδιωτικότητας. Η αξιολόγησή μας επικεντρώνεται στον προσδιορισμό του τρόπου με τον οποίο επηρεάζονται οι αποφάσεις ταξινόμησης ονομάτων από συγκεκριμένους μηχανισμούς παραγωγής ονομάτων DGA (arithmetic, wordlist, hash, permutation based).
Οι προτεινόμενοι μηχανισμοί προστασίας DNS αξιολογούνται μέσω πειραμάτων στην εικονική υποδομή του εργαστηρίου μας. Τα πειράματα βασίζονται σε σύνολα δεδομένων που χρησιμοποιούνται ευρέως από την ερευνητική κοινότητα, καθώς και σε συνθετική δικτυακή κίνηση που κατασκευάσαμε βασισμένοι στην εμπειρία μας από τις δικτυακές υπηρεσίες του Εθνικού Μετσοβίου Πολυτεχνείου (ΕΜΠ). |
el |
heal.abstract |
Domain Name System (DNS) maps symbolic identifiers (i.e. domain names) to various types of data, mainly IP addresses. Most network services depend on domain names for their operation, thus DNS is vital for the reliability of computer networks. This makes DNS a frequent target of Distributed Denial of Service (DDoS) attacks. One of the most devastating attack vectors against the DNS infrastructure is Water Torture, which floods Authoritative DNS Servers with invalid DNS requests to disrupt their name resolution services. Apart from DDoS attacks, DNS may also be employed to forward data pertaining to botnet activities. Domain Generation Algorithms (DGA's) abuse DNS to establish communications between compromised hosts (bots) and botnet orchestrators.
This dissertation addresses mechanisms for effectively protecting against threats targeting DNS infrastructures (i.e. Water Torture) or exploiting DNS messages for malicious purposes (i.e. DGA's). We overcome the limitations of traditional DNS security systems by employing Big Data methods (probabilistic data structures, Machine Learning - ML) and promising networking technologies (Software-Defined Networking, data plane programmability).
We initially propose a user-space schema that effectively detects and mitigates Water Torture attacks against Authoritative DNS Servers. Instead of processing plaintext names, we employ Bloom Filters (BF's) to map entire zone contents and filter DNS traffic in a time and space efficient manner. Our proposed mechanism categorizes requester IP addresses as legitimate or suspicious based on operations performed by probabilistic data structures (BF's, Count-Min Sketches) and deterministic spelling correction algorithms (SymSpell). DNS traffic from suspicious IP addresses is subsequently filtered based on BF contents. Malicious DNS requests are dropped, whereas benign requests are forwarded to the victim Authoritative DNS Server.
We subsequently employ data plane programmability to significantly improve the Water Torture attack filtering throughput of our user-space, BF-based mitigation mechanism. We rely on eXpress Data Path (XDP) to efficiently perform DNS Deep Packet Inspection (DPI) and rapidly discern benign and malicious requests at the Authoritative DNS server data plane. Contrary to other data plane programming approaches that require specialized hardware (e.g. P4 switches) or bypass the Linux kernel (e.g. Data Plane Development Kit - DPDK), our XDP-based approach runs on low-cost Network Interface Cards (NIC's) and does not bypass the kernel, thus Linux utilities (e.g. TCP/IP libraries) are available to developers.
We then propose a privacy-aware mechanism to facilitate Authoritative DNS Server zone distribution to external mitigation systems operating at Recursive DNS Servers (Recursors) or upstream scrubbing facilities. Without requiring formal agreements, our mechanism may enable administrators to filter DNS DDoS attacks more efficiently closer to their origins or DGA traffic with higher accuracy. Zones are mapped within Cuckoo Filters due to their time, space and dynamic element update advantages over BF's.
The aforementioned mechanisms depend on zone contents. However, Authoritative DNS Server administrators may be unwilling to collaborate due to security concerns. To that end, we complement our zone-based approaches for Water Torture attack mitigation by employing XDP to accelerate ML feature extraction and inference within the data plane of Recursors. Our approach relies on Naive Bayes Classifiers, which effectively segregate benign from DDoS attack DNS requests entirely within the Linux kernel. Thus, DNS attack mitigation throughput is significantly improved without requirements for any specialized hardware, e.g. Graphics Processing Units (GPU's).
Finally, we employ eXplainable Artificial Intelligence (XAI) techniques, specifically SHapley Additive exPlanation (SHAP), to interpet the decisions of binary ML classifiers that differentiate between legitimate names and malicious ones produced by DGA's. SHAP operates in a model-agnostic, post-hoc manner, i.e. regardless of the utilized ML algorithm and after the completion of the learning phase; this enables the analysis of tree and deep neural network classifiers in a unified fashion. Based on various SHAP visualization tools (summary, dependence, force plots), we derive global and local model interpretations on multiple and single dataset sample points respectively; these enable us to estimate feature importance and assess feature interactions. Our approach relies on features that capture name statistical and linguistic properties, thus time-consuming and privacy sensitive operations to obtain historical data are avoided. Our evaluation focuses on determining how name classification decisions are affected by specific DGA schemes (i.e. arithmetic, wordlist, hash and permutation based) used for name construction.
Our proposed DNS protection mechanisms are evaluated via proof-of-concept setups within our laboratory virtualized infrastructure based on datasets widely-employed by the research community and synthetic traffic generated based on our experience from the National Technical University of Athens (NTUA) campus network services. |
en |
heal.sponsor |
Το μεγαλύτερο μέρος της Διατριβής ενισχύθηκε σημαντικά από την υποτροφία τετραετούς διαρκείας του Ειδικού Λογαριασμού Κονδυλίων Έρευνας (ΕΛΚΕ) του ΕΜΠ |
el |
heal.advisorName |
Μάγκλαρης, Βασίλειος |
el |
heal.advisorName |
Maglaris, Vasilis |
en |
heal.committeeMemberName |
Μάγκλαρης, Βασίλειος |
el |
heal.committeeMemberName |
Συκάς, Ευστάθιος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Σούντρης, Δημήτριος |
el |
heal.committeeMemberName |
Παπαβασιλείου, Συμεών |
el |
heal.committeeMemberName |
Στάμου, Γεώργιος |
el |
heal.committeeMemberName |
Γιάννης, Μπάρας |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
203 σ. |
|
heal.fullTextAvailability |
false |
|