SAD DNS: μια επίθεση για αντικατάσταση πλαστών δεδομένων στην προσωρινή μνήμη DNS

Μια ομάδα από ερευνητές από το Πανεπιστήμιο Tsinghua και το Πανεπιστήμιο της Καλιφόρνια στο Riverside έχουν αναπτύξει έναν νέο τύπο επίθεσης ότι επιτρέπει την αντικατάσταση ψευδών δεδομένων στη μνήμη cache του διακομιστή DNS, που μπορεί να χρησιμοποιηθεί για να πλαστογραφήσει τη διεύθυνση IP ενός αυθαίρετου τομέα και να ανακατευθύνει τις κλήσεις στον τομέα στον διακομιστή του εισβολέα.

Προστασία παράκαμψης επίθεσης που προστέθηκε στους διακομιστές DNS να μπλοκάρει την κλασική μέθοδο δηλητηρίασης της κρυφής μνήμης DNS που προτάθηκε το 2008 από τον Dan Kaminsky.

Η μέθοδος του Καμίνσκι χειρίζεται το ασήμαντο μέγεθος του πεδίου id του ερωτήματος DNS, που είναι μόνο 16 bit. Για να βρείτε το σωστό αναγνωριστικό που απαιτείται για να παραπλανήσετε το όνομα του κεντρικού υπολογιστή, αρκεί να στείλετε περίπου 7.000 αιτήματα και να προσομοιώσετε περίπου 140.000 ψευδείς απαντήσεις.

Η επίθεση συνοψίζεται στην αποστολή ενός μεγάλου αριθμού πλαστών πακέτων που συνδέονται με IP στο πρόγραμμα επίλυσης DNS με διαφορετικά αναγνωριστικά συναλλαγών DNS. Για να αποτραπεί η αποθήκευση της πρώτης απόκρισης στην κρυφή μνήμη, κάθε ψευδής απάντηση καθορίζει ένα ελαφρώς τροποποιημένο όνομα τομέα.

Για προστασία από αυτού του είδους την επίθεση, κατασκευαστές διακομιστών DNS εφάρμοσε μια τυχαία κατανομή αριθμών θυρών δικτύου από το οποίο αποστέλλονται αιτήματα επίλυσης, τα οποία αντιστάθμισαν το ανεπαρκώς μεγάλο μέγεθος αναγνωριστικού (για να σταλεί μια εικονική απάντηση, εκτός από την επιλογή ενός αναγνωριστικού 16-bit, κατέστη απαραίτητη η επιλογή μιας από τις 64 χιλιάδες θύρες, γεγονός που αύξησε τον αριθμό των επιλογές για επιλογή σε 2^32).

Η επίθεση Το SAD DNS απλοποιεί δραστικά την αναγνώριση θύρας αξιοποιώντας τη φιλτραρισμένη δραστηριότητα στις θύρες δικτύου. Το πρόβλημα εκδηλώνεται σε όλα τα λειτουργικά συστήματα (Linux, Windows, macOS και FreeBSD) και όταν χρησιμοποιείτε διαφορετικούς διακομιστές DNS (BIND, Unbound, dnsmasq).

Υποστηρίζεται ότι το 34% όλων των ανοιχτών λύσεων δέχεται επίθεση, καθώς και 12 από τις 14 κύριες υπηρεσίες DNS που δοκιμάστηκαν, συμπεριλαμβανομένων των υπηρεσιών 8.8.8.8 (Google), 9.9.9.9 (Quad9) και 1.1.1.1 (CloudFlare), καθώς και 4 στους 6 δοκιμασμένους δρομολογητές από γνωστούς κατασκευαστές.

Το πρόβλημα οφείλεται στην ιδιαιτερότητα του σχηματισμού πακέτων απόκρισης ICMP, ότι Σας επιτρέπει να προσδιορίσετε την πρόσβαση σε ενεργές θύρες δικτύου και δεν χρησιμοποιείται μέσω UDP. Αυτή η δυνατότητα σάς επιτρέπει να σαρώνετε πολύ γρήγορα για ανοιχτές θύρες UDP και να παρακάμπτετε αποτελεσματικά την προστασία με βάση μια τυχαία επιλογή θυρών δικτύου πηγής, μειώνοντας τον αριθμό των επιλογών brute force σε 2^16 + 2^16 αντί για 2^32.

Η πηγή του προβλήματος είναι ο μηχανισμός περιορισμού της έντασης της αποστολής των πακέτων ICMP στη στοίβα δικτύου, χρησιμοποιώντας μια προβλέψιμη τιμή μετρητή, από την οποία ξεκινά ο περιορισμός προς τα εμπρός. Αυτός ο μετρητής είναι κοινός για όλη την κυκλοφορία, συμπεριλαμβανομένης της κίνησης ψεύτικων εισβολέων και της πραγματικής κυκλοφορίας. Από προεπιλογή, στο Linux, οι αποκρίσεις ICMP περιορίζονται στα 1000 πακέτα ανά δευτερόλεπτο. Για κάθε αίτημα που φθάνει σε μια κλειστή θύρα δικτύου, η στοίβα δικτύου αυξάνει τον μετρητή κατά 1 και στέλνει ένα πακέτο ICMP με δεδομένα που δεν είναι προσβάσιμα από τη θύρα.

Έτσι, εάν στείλετε 1000 πακέτα σε διαφορετικές θύρες δικτύου, όλα τα οποία είναι κλειστά, ο διακομιστής θα περιορίσει την αποστολή των απαντήσεων ICMP για ένα δευτερόλεπτο και ο εισβολέας μπορεί να είναι σίγουρος ότι δεν υπάρχουν ανοιχτές θύρες μεταξύ των 1000 θυρών που αναζητήθηκαν. Εάν ένα πακέτο αποσταλεί σε μια ανοιχτή θύρα, ο διακομιστής δεν θα επιστρέψει απάντηση ICMP. και η τιμή του μετρητή δεν θα αλλάξει, δηλαδή, μετά την αποστολή 1000 πακέτων, δεν θα επιτευχθεί το όριο του ποσοστού απόκρισης.

Δεδομένου ότι τα πλαστά πακέτα εκτελούνται από μια πλαστή IP, ο εισβολέας δεν μπορεί να λάβει απαντήσεις ICMP, αλλά χάρη στον συνολικό μετρητή, μετά από κάθε 1000 πλαστά πακέτα, μπορεί να στείλει ένα αίτημα σε μια ανύπαρκτη θύρα από μια πραγματική IP και να αξιολογήσει το άφιξη της απάντησης· αν ερχόταν η απάντηση, τότε σε ένα από τα 1000 πακέτα. Κάθε δευτερόλεπτο, ένας εισβολέας μπορεί να στείλει 1000 πλαστά πακέτα σε διαφορετικές θύρες και να προσδιορίσει γρήγορα σε ποιο μπλοκ βρίσκεται η ανοιχτή θύρα, στη συνέχεια να περιορίσει την επιλογή και να καθορίσει μια συγκεκριμένη θύρα.

Ο πυρήνας Linux λύνει το πρόβλημα με μια ενημέρωση κώδικα που τυχαιοποιεί τις παραμέτρους να περιορίσει την ένταση της αποστολής πακέτων ICMP, η οποία εισάγει θόρυβο και ελαχιστοποιεί τη διαρροή δεδομένων μέσω πλευρικών καναλιών.

πηγή: https://www.saddns.net/


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.