Η Cloudflare περιέγραψε αναλυτικά τι ακριβώς συνέβη στο πολύωρο blackout της Τρίτης, μια από τις μεγαλύτερες διακοπές λειτουργίας που έχει αντιμετωπίσει από το 2019. Σε ανάρτηση που δημοσίευσε ο συνιδρυτής και CEO της εταιρείας, Matthew Prince, διευκρινίζεται πως η αιτία δεν βρισκόταν σε επιθέσεις, σε προβλήματα DNS ή στη σύγχρονη εργαλειοθήκη παραγωγικής AI, αλλά σε μια αλλαγή στη συμπεριφορά ενός query μέσα στο σύστημα Bot Management, το κομμάτι που υποτίθεται ότι ελέγχει ποιοι αυτοματοποιημένοι crawlers επιτρέπεται να σαρώνουν ιστοσελίδες.
Το μέγεθος της ζημιάς έγινε αμέσως αντιληπτό. Αν και η Cloudflare έχει τον ρόλο ενός «αόρατου» ενδιάμεσου που εγγυάται ότι οι υπηρεσίες θα μείνουν online ακόμα και σε συνθήκες κατακόρυφων peaks ή DDoS επιθέσεων, περίπου το 20% του διαδικτύου που τρέχει μέσα από το δίκτυό της βρέθηκε ξαφνικά αποσυνδεδεμένο. Η διακοπή έπληξε πλατφόρμες όπως X, ChatGPT, Downdetector και πολλές άλλες, δημιουργώντας ένα ντόμινο που θύμισε πρόσφατες κρίσεις σε Microsoft Azure και Amazon Web Services.
Το ενδιαφέρον είναι πως το πρόβλημα δεν προέκυψε από το μεγάλο πείραμα της Cloudflare με την AI ή από το νέο της σύστημα AI Labyrinth, το οποίο σχεδιάστηκε για να καθυστερεί και να εξουθενώνει AI crawlers που αγνοούν τις οδηγίες no-crawl. Αντίθετα, η αλυσίδα λαθών ξεκίνησε από μια αλλαγή στο πώς το ClickHouse — το αναλυτικό database engine που χρησιμοποιείται ευρέως στην αρχιτεκτονική της εταιρείας — επεξεργαζόταν και παρήγαγε τα configuration files του Bot Management.
Σύμφωνα με τον Prince, το σύστημα που βασίζεται σε μηχανική μάθηση για την ανάθεση bot scores στα εισερχόμενα αιτήματα χρησιμοποιεί ένα αρχείο διαμόρφωσης το οποίο ανανεώνεται συχνά, ενσωματώνοντας δείκτες και μοτίβα από την κίνηση. Μια τροποποίηση στον τρόπο που λειτουργούσε το query του ClickHouse είχε ως αποτέλεσμα να δημιουργηθεί τεράστιος αριθμός διπλών εγγραφών. Αυτή η φαινομενικά μικρή λεπτομέρεια είχε εκθετικές συνέπειες: το αρχείο διαμόρφωσης διογκώθηκε σε βαθμό ώστε να ξεπεράσει τα καθορισμένα όρια μνήμης. Και όταν αυτό συνέβη, κατέρρευσε ο πυρήνας του συστήματος proxy που χειρίζεται την επεξεργασία της κίνησης για τους πελάτες της Cloudflare.
Με απλά λόγια, το σύστημα που υποτίθεται ότι θα επέτρεπε στους διαχειριστές να φιλτράρουν κακόβουλα bots άρχισε να σημαδεύει ως ύποπτα και νόμιμα αιτήματα. Οι υπηρεσίες που χρησιμοποιούσαν ενεργά τα bot rules αποκλείστηκαν λανθασμένα από τον ίδιο τους τον πάροχο, ενώ όσες δεν στηρίζονταν στο παραγόμενο bot score συνέχισαν να λειτουργούν κανονικά.
Το περιστατικό δείχνει πόσο εύθραυστο μπορεί να γίνει το παγκόσμιο οικοσύστημα του διαδικτύου όταν η λειτουργία τεράστιου όγκου υπηρεσιών βρίσκεται συγκεντρωμένη σε λίγους κεντρικούς κόμβους. Η Cloudflare, όπως και οι AWS, Google Cloud ή Azure, λειτουργεί ως ένας από τους μεγαλύτερους «σκελετούς» του σύγχρονου ιστού. Και κάθε αστοχία σε τέτοια κλίμακα έχει τη δύναμη να προκαλέσει μια παγκόσμια διακοπή τύπου domino, ακόμα και όταν προέρχεται από ένα απλό bug.
Η εταιρεία ανακοίνωσε τέσσερις άμεσες ενέργειες για να αποφευχθούν παρόμοια περιστατικά στο μέλλον.
- Πρώτον, σκοπεύει να ενισχύσει τα συστήματα επαλήθευσης των αυτόματα παραγόμενων configuration files, αντιμετωπίζοντάς τα με την ίδια αυστηρότητα που εφαρμόζεται στα user inputs.
- Δεύτερον, προγραμματίζει τη δυνατότητα ενεργοποίησης περισσότερων global kill switches, έτσι ώστε μια προβληματική λειτουργία να μπορεί να απενεργοποιείται σε επίπεδο δικτύου μέσα σε δευτερόλεπτα.
- Τρίτον, θα περιοριστεί η δυνατότητα των error reports, core dumps και άλλων logs να υπερφορτώνουν τους πόρους του συστήματος σε συνθήκες κρίσης.
- Τέλος, η Cloudflare θα επανεξετάσει όλους τους failure modes στα core proxy modules ώστε να εντοπιστούν και να διορθωθούν πιθανοί μηχανισμοί κατάρρευσης.
Το περιστατικό της Τρίτης αποτελεί ένα ακόμη παράδειγμα της πραγματικότητας της εποχής: όσο περισσότερο το διαδίκτυο συγκεντρώνεται γύρω από γιγάντιες υποδομές, τόσο μεγαλύτερες γίνονται οι πιθανότητες για μαζικά outages. Δεν είναι μόνο θέμα malware ή κακόβουλων DDoS, αλλά και απλών, ανθρώπινων λαθών που μπορούν να εξαπλωθούν ταχύτατα σε ένα δικτυακό οικοσύστημα αυτής της κλίμακας.