Ένα από τα χαρακτηριστικά του Chromium δημιουργεί τεράστιο φόρτο στους διακομιστές root DNS

Ένα από τα χαρακτηριστικά του Chromium δημιουργεί τεράστιο φόρτο στους διακομιστές root DNS

Το πρόγραμμα περιήγησης Chromium, η ακμάζουσα γονική αρχή ανοιχτού κώδικα του Google Chrome και του νέου Microsoft Edge, έχει λάβει σημαντική αρνητική προσοχή για μια δυνατότητα που προοριζόταν με καλές προθέσεις: ελέγχει εάν ο ISP του χρήστη "κλέβει" ανύπαρκτα αποτελέσματα ερωτημάτων τομέα .

Ανιχνευτής ανακατεύθυνσης Intranet, που δημιουργεί πλαστά ερωτήματα για τυχαίους "τομείς" που είναι στατιστικά απίθανο να υπάρχουν, είναι υπεύθυνη για περίπου το ήμισυ της συνολικής επισκεψιμότητας που λαμβάνεται από διακομιστές root DNS παγκοσμίως. Ο μηχανικός της Verisign Matt Thomas έγραψε ένα εκτενές post στο ιστολόγιο APNIC περιγράφοντας το πρόβλημα και αξιολογώντας την κλίμακα του.

Πώς εκτελείται συνήθως η ανάλυση DNS

Ένα από τα χαρακτηριστικά του Chromium δημιουργεί τεράστιο φόρτο στους διακομιστές root DNS
Αυτοί οι διακομιστές είναι η ανώτατη αρχή με την οποία πρέπει να επικοινωνήσετε για να επιλύσετε .com, .net κ.λπ., ώστε να σας πουν ότι το frglxrtmpuf δεν είναι τομέας ανώτατου επιπέδου (TLD).

Το DNS, ή το Σύστημα Ονομάτων Τομέα, είναι ένα σύστημα με το οποίο οι υπολογιστές μπορούν να επιλύσουν αξιομνημόνευτα ονόματα τομέα όπως το arstechnica.com σε πολύ λιγότερο φιλικές προς το χρήστη διευθύνσεις IP όπως η 3.128.236.93. Χωρίς DNS, το Διαδίκτυο δεν θα υπήρχε με τρόπο που θα μπορούσαν να χρησιμοποιήσουν οι άνθρωποι, πράγμα που σημαίνει ότι το περιττό φορτίο στην υποδομή ανώτερου επιπέδου είναι πραγματικό πρόβλημα.

Η φόρτωση μιας σύγχρονης ιστοσελίδας μπορεί να απαιτεί έναν απίστευτο αριθμό αναζητήσεων DNS. Για παράδειγμα, όταν αναλύσαμε την αρχική σελίδα του ESPN, μετρήσαμε 93 ξεχωριστά ονόματα τομέα, που κυμαίνονται από a.espncdn.com έως z.motads.com. Όλα αυτά είναι απαραίτητα για να φορτώσει πλήρως η σελίδα!

Για να καλύψει αυτόν τον τύπο φόρτου εργασίας για μια μηχανή αναζήτησης που πρέπει να εξυπηρετεί ολόκληρο τον κόσμο, το DNS έχει σχεδιαστεί ως μια ιεραρχία πολλαπλών επιπέδων. Στην κορυφή αυτής της πυραμίδας βρίσκονται οι ριζικοί διακομιστές - κάθε τομέας ανώτατου επιπέδου, όπως ο .com, έχει τη δική του οικογένεια διακομιστών που είναι η υψηλότερη αρχή για κάθε τομέα κάτω από αυτούς. Ένα βήμα πιο πάνω αυτά τα οι διακομιστές είναι οι ίδιοι οι διακομιστές root, από a.root-servers.net να m.root-servers.net.

Πόσο συχνά συμβαίνει αυτό;

Χάρη στην ιεραρχία κρυφής μνήμης πολλαπλών επιπέδων της υποδομής DNS, ένα πολύ μικρό ποσοστό των παγκόσμιων ερωτημάτων DNS φτάνουν στους ριζικούς διακομιστές. Οι περισσότεροι άνθρωποι λαμβάνουν τις πληροφορίες επίλυσης DNS απευθείας από τον ISP τους. Όταν η συσκευή ενός χρήστη πρέπει να γνωρίζει πώς να μεταβεί σε έναν συγκεκριμένο ιστότοπο, ένα αίτημα αποστέλλεται πρώτα σε έναν διακομιστή DNS που διαχειρίζεται ο συγκεκριμένος τοπικός πάροχος. Εάν ο τοπικός διακομιστής DNS δεν γνωρίζει την απάντηση, προωθεί το αίτημα στους δικούς του "προωθητές" (αν έχει καθοριστεί).

Εάν ούτε ο διακομιστής DNS του τοπικού παρόχου ούτε οι "διακομιστές προώθησης" που καθορίζονται στη διαμόρφωσή του δεν έχουν αποθηκευμένη απόκριση, το αίτημα υποβάλλεται απευθείας στον έγκυρο διακομιστή τομέα πάνω από αυτό που προσπαθείτε να μετατρέψετε. Οταν домен.com Αυτό σημαίνει ότι το αίτημα αποστέλλεται στους έγκυρους διακομιστές του ίδιου του τομέα com, τα οποία βρίσκονται στο gtld-servers.net.

Σύστημα gtld-servers, στο οποίο υποβλήθηκε το αίτημα, απαντά με μια λίστα έγκυρων διακομιστών ονομάτων για τον τομέα domain.com, καθώς και με τουλάχιστον μια εγγραφή συνδέσμου που περιέχει τη διεύθυνση IP ενός τέτοιου διακομιστή ονομάτων. Στη συνέχεια, οι απαντήσεις μετακινούνται προς τα κάτω στην αλυσίδα - κάθε προωθητής μεταβιβάζει αυτές τις απαντήσεις στον διακομιστή που τις ζήτησε, έως ότου η απάντηση φτάσει τελικά στον διακομιστή του τοπικού παρόχου και στον υπολογιστή του χρήστη. Όλα αυτά αποθηκεύουν προσωρινά αυτήν την απόκριση για να μην ενοχλούν άσκοπα τα συστήματα υψηλότερου επιπέδου.

Στις περισσότερες περιπτώσεις, οι εγγραφές διακομιστή ονομάτων για domain.com θα είναι ήδη αποθηκευμένη στην προσωρινή μνήμη σε έναν από αυτούς τους προωθητές, επομένως οι ριζικοί διακομιστές δεν θα ενοχλούνται. Ωστόσο, προς το παρόν μιλάμε για τον τύπο URL που γνωρίζουμε - αυτό που μετατρέπεται σε κανονικό ιστότοπο. Τα αιτήματα του Chrome είναι σε επίπεδο πάνω από αυτό, στο βήμα των ίδιων των συστάδων root-servers.net.

Έλεγχος κλοπής Chromium και NXDomain

Ένα από τα χαρακτηριστικά του Chromium δημιουργεί τεράστιο φόρτο στους διακομιστές root DNS
Το Chromium ελέγχει "αυτός ο διακομιστής DNS με κοροϊδεύει;" αντιπροσωπεύουν σχεδόν το ήμισυ της επισκεψιμότητας που φθάνει στο σύμπλεγμα διακομιστών root DNS της Verisign.

Το πρόγραμμα περιήγησης Chromium, το μητρικό έργο του Google Chrome, του νέου Microsoft Edge και αμέτρητα λιγότερο γνωστά προγράμματα περιήγησης, θέλει να παρέχει στους χρήστες την ευκολία αναζήτησης σε ένα μόνο πλαίσιο, που μερικές φορές ονομάζεται "Κύριο πλαίσιο". Με άλλα λόγια, ο χρήστης εισάγει τόσο πραγματικές διευθύνσεις URL όσο και ερωτήματα μηχανών αναζήτησης στο ίδιο πεδίο κειμένου στο επάνω μέρος του παραθύρου του προγράμματος περιήγησης. Κάνοντας άλλο ένα βήμα προς την απλοποίηση, δεν αναγκάζει τον χρήστη να εισαγάγει μέρος της διεύθυνσης URL με http:// ή https://.

Όσο βολικό κι αν είναι αυτό, αυτή η προσέγγιση απαιτεί από το πρόγραμμα περιήγησης να κατανοήσει τι πρέπει να θεωρείται ως URL και τι πρέπει να θεωρείται ερώτημα αναζήτησης. Στις περισσότερες περιπτώσεις αυτό είναι αρκετά προφανές - για παράδειγμα, μια συμβολοσειρά με κενά δεν μπορεί να είναι URL. Αλλά τα πράγματα μπορεί να γίνουν πιο δύσκολα όταν εξετάζετε τα intranets—ιδιωτικά δίκτυα που μπορούν επίσης να χρησιμοποιούν ιδιωτικούς τομείς ανώτατου επιπέδου για την επίλυση πραγματικών ιστοτόπων.

Εάν ένας χρήστης στο intranet της εταιρείας του πληκτρολογήσει "μάρκετινγκ" και το intranet της εταιρείας έχει έναν εσωτερικό ιστότοπο με το ίδιο όνομα, τότε το Chromium εμφανίζει ένα πλαίσιο πληροφοριών που ρωτά τον χρήστη εάν θέλει να αναζητήσει "μάρκετινγκ" ή να μεταβεί στο https://marketing. Αυτό μπορεί να μην συμβαίνει, αλλά πολλοί πάροχοι υπηρεσιών Internet και δημόσιοι πάροχοι Wi-Fi "πειρατεύουν" κάθε ανορθόγραφη διεύθυνση URL, ανακατευθύνοντας τον χρήστη σε κάποια σελίδα με banner.

Τυχαία γενιά

Οι προγραμματιστές του Chromium δεν ήθελαν οι χρήστες σε κανονικά δίκτυα να βλέπουν ένα πλαίσιο πληροφοριών που ρωτά τι εννοούν κάθε φορά που αναζητούν μία λέξη, γι' αυτό εφάρμοσαν μια δοκιμή: Όταν εκκινούν ένα πρόγραμμα περιήγησης ή αλλάζουν δίκτυα, το Chromium εκτελεί αναζητήσεις DNS σε τρία τυχαία δημιουργημένοι "τομείς" ανώτατου επιπέδου, μήκους επτά έως δεκαπέντε χαρακτήρων. Εάν οποιαδήποτε δύο από αυτά τα αιτήματα επιστρέψουν με την ίδια διεύθυνση IP, τότε το Chromium υποθέτει ότι το τοπικό δίκτυο "παραλαμβάνει" τα σφάλματα NXDOMAIN, το οποίο θα πρέπει να λάβει, επομένως το πρόγραμμα περιήγησης θεωρεί όλα τα ερωτήματα μιας λέξης που εισάγονται ως προσπάθειες αναζήτησης μέχρι νεωτέρας.

Δυστυχώς, σε δίκτυα που όχι κλέψουν τα αποτελέσματα των ερωτημάτων DNS, αυτές οι τρεις λειτουργίες συνήθως ανεβαίνουν στην κορυφή, μέχρι τους ίδιους τους διακομιστές ονομάτων root: ο τοπικός διακομιστής δεν ξέρει πώς να επιλύσει qwajuixk, έτσι προωθεί αυτό το αίτημα στον προωθητή του, ο οποίος κάνει το ίδιο, μέχρι τελικά a.root-servers.net ή ένας από τους «αδερφούς» του δεν θα αναγκαστεί να πει «Συγγνώμη, αλλά αυτό δεν είναι τομέας».

Δεδομένου ότι υπάρχουν περίπου 1,67*10^21 πιθανά πλαστά ονόματα τομέα που κυμαίνονται από επτά έως δεκαπέντε χαρακτήρες σε μήκος, τα πιο κοινά κάθε Από αυτές τις δοκιμές που πραγματοποιούνται στο «τίμιο» δίκτυο, φτάνει στον κεντρικό διακομιστή. Αυτό ισοδυναμεί με το ίδιο μισό από το συνολικό φορτίο στο root DNS, σύμφωνα με στατιστικά στοιχεία από αυτό το τμήμα των συμπλεγμάτων root-servers.net, τα οποία ανήκουν στη Verisign.

Η ιστορία επαναλαμβάνεται

Δεν είναι η πρώτη φορά που δημιουργείται ένα έργο με τις καλύτερες προθέσεις απέτυχε ή σχεδόν πλημμύρισε έναν δημόσιο πόρο με περιττή κίνηση - αυτό μας θύμισε αμέσως τη μακρά και θλιβερή ιστορία του διακομιστή NTP (Network Time Protocol) της D-Link και του Poul-Henning Kamp στα μέσα της δεκαετίας του 2000.

Το 2005, ο προγραμματιστής του FreeBSD Poul-Henning, ο οποίος κατείχε επίσης τον μοναδικό διακομιστή Stratum 1 Network Time Protocol της Δανίας, έλαβε έναν απροσδόκητο και μεγάλο λογαριασμό για τη μεταδιδόμενη κίνηση. Εν ολίγοις, ο λόγος ήταν ότι οι προγραμματιστές της D-Link έγραψαν τις διευθύνσεις των διακομιστών NTP Stratum 1, συμπεριλαμβανομένου του διακομιστή Kampa, στο υλικολογισμικό της σειράς μεταγωγέων, δρομολογητών και σημείων πρόσβασης της εταιρείας. Αυτό αύξησε αμέσως την επισκεψιμότητα των διακομιστών του Kampa εννεπλασιαστεί, προκαλώντας το Danish Internet Exchange (Δανικό Internet Exchange Point) να αλλάξει το τιμολόγιο από "Δωρεάν" σε "9 $ ετησίως".

Το πρόβλημα δεν ήταν ότι υπήρχαν πάρα πολλοί δρομολογητές D-Link, αλλά ότι ήταν «εκτός γραμμής». Όπως και το DNS, το NTP πρέπει να λειτουργεί σε ιεραρχική μορφή - οι διακομιστές Stratum 0 περνούν πληροφορίες στους διακομιστές Stratum 1, οι οποίοι περνούν πληροφορίες σε διακομιστές Stratum 2 και ούτω καθεξής στην ιεραρχία. Ένας τυπικός οικιακός δρομολογητής, διακόπτης ή σημείο πρόσβασης, όπως αυτό που είχε προγραμματίσει η D-Link με διευθύνσεις διακομιστή NTP, θα έστελνε αιτήματα στον διακομιστή Stratum 2 ή Stratum 3.

Το έργο Chromium, πιθανότατα με τις καλύτερες προθέσεις, αναπαράγει το πρόβλημα NTP στο πρόβλημα DNS, φορτώνοντας τους ριζικούς διακομιστές του Διαδικτύου με αιτήματα που δεν προοριζόταν ποτέ να χειριστούν.

Υπάρχει ελπίδα για μια γρήγορη λύση

Το έργο Chromium έχει ανοιχτό κώδικα έντομο, το οποίο απαιτεί την απενεργοποίηση του Intranet Redirect Detector από προεπιλογή για την επίλυση αυτού του ζητήματος. Πρέπει να δώσουμε τα εύσημα στο έργο Chromium: το σφάλμα βρέθηκε πριν από αυτόπώς ο Matt Thomas του Verisign του τράβηξε πολλή προσοχή με το δικό του νηστεία στο ιστολόγιο APNIC. Το σφάλμα ανακαλύφθηκε τον Ιούνιο, αλλά παρέμεινε ξεχασμένο μέχρι τη δημοσίευση του Thomas. Μετά τη νηστεία άρχισε να βρίσκεται υπό στενή επίβλεψη.

Ελπίζεται ότι το πρόβλημα θα επιλυθεί σύντομα και οι διακομιστές root DNS δεν θα χρειάζεται πλέον να απαντούν στα εκτιμώμενα 60 δισεκατομμύρια ψεύτικα ερωτήματα κάθε μέρα.

Σχετικά με τα Δικαιώματα Διαφήμισης

Επικοί διακομιστές - Είναι VPS στα Windows ή Linux με ισχυρούς οικογενειακούς επεξεργαστές AMD EPYC και πολύ γρήγορους δίσκους Intel NVMe. Βιαστείτε να παραγγείλετε!

Ένα από τα χαρακτηριστικά του Chromium δημιουργεί τεράστιο φόρτο στους διακομιστές root DNS

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο