Μια ομάδα ερευνητών από το Πανεπιστήμιο του Πεκίνου, το Πανεπιστήμιο Tsinghua και το Πανεπιστήμιο του Τέξας στο Ντάλας
Η κεφαλίδα Range δίνει στον πελάτη τη δυνατότητα να καθορίσει μια σειρά θέσεων στο αρχείο που πρέπει να ληφθεί αντί να επιστρέψει ολόκληρο το αρχείο. Για παράδειγμα, ο πελάτης μπορεί να καθορίσει "Εύρος: bytes=0-1023" και ο διακομιστής θα μεταδώσει μόνο τα πρώτα 1024 byte δεδομένων. Αυτή η δυνατότητα είναι περιζήτητη κατά τη λήψη μεγάλων αρχείων - ο χρήστης μπορεί να διακόψει τη λήψη και στη συνέχεια να συνεχίσει από τη θέση που έχει διακοπεί. Κατά τον καθορισμό "bytes=0-0", το πρότυπο δίνει εντολή να δοθεί το πρώτο byte στο αρχείο, "bytes=-1" - το τελευταίο, "bytes=1-" - ξεκινώντας από 1 byte μέχρι το τέλος του αρχείου. Είναι δυνατή η μετάδοση πολλών περιοχών σε μία κεφαλίδα, για παράδειγμα "Εύρος: bytes=0-1023,8192-10240".
Επιπλέον, έχει προταθεί μια δεύτερη επιλογή επίθεσης, με στόχο την αύξηση του φόρτου δικτύου κατά την προώθηση της κυκλοφορίας μέσω άλλου CDN, το οποίο χρησιμοποιείται ως διακομιστής μεσολάβησης (για παράδειγμα, όταν το Cloudflare ενεργεί ως frontend (FCDN) και το Akamai ενεργεί ως backend ( BCDN). Η μέθοδος είναι παρόμοια με την πρώτη επίθεση, αλλά είναι εντοπισμένη σε δίκτυα CDN και επιτρέπει αυξημένη επισκεψιμότητα κατά την πρόσβαση μέσω άλλων CDN, αυξάνοντας το φόρτο στην υποδομή και μειώνοντας την ποιότητα της υπηρεσίας.
Η ιδέα είναι ότι ο εισβολέας στέλνει αιτήματα Εύρους πολλών περιοχών στο CDN, όπως "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." ή "bytes=-1024,0 ,0-,0-...". Τα αιτήματα περιέχουν μεγάλο αριθμό περιοχών "0-", υπονοώντας ότι το αρχείο επιστρέφεται από τη θέση μηδέν στο τέλος. Λόγω λανθασμένης εφαρμογής της ανάλυσης εύρους, όταν το πρώτο CDN αποκτά πρόσβαση στο δεύτερο, αποστέλλεται ένα πλήρες αρχείο για κάθε εύρος "53-" (οι περιοχές δεν συγκεντρώνονται, αλλά επαναλαμβάνονται διαδοχικά), εάν υπάρχει διπλασιασμός και διασταύρωση περιοχών σε το αίτημα που στάλθηκε αρχικά από τον εισβολέα. Ο βαθμός ενίσχυσης της κυκλοφορίας σε μια τέτοια επίθεση κυμαίνεται από 7432 έως XNUMX φορές.
Κατά τη διάρκεια της μελέτης, μελετήθηκε η συμπεριφορά 13 CDN -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath και Tencent Cloud. Όλα τα CDN που εξετάστηκαν επέτρεψαν τον πρώτο τύπο επίθεσης στον τελικό διακομιστή. Η δεύτερη παραλλαγή της επίθεσης CDN επηρέασε 6 υπηρεσίες, εκ των οποίων οι τέσσερις μπορούσαν να λειτουργήσουν ως frontend στην επίθεση (CDN77, CDNsun, Cloudflare και StackPath) και τρεις ως backend (Akamai, Azure και StackPath). Το μεγαλύτερο κέρδος επιτυγχάνεται στο Akamai και το StackPath, τα οποία επιτρέπουν τον καθορισμό περισσότερων από 10 χιλιάδων περιοχών στην κεφαλίδα Range. Οι κάτοχοι CDN ειδοποιήθηκαν για τα τρωτά σημεία πριν από περίπου 7 μήνες και μέχρι τη στιγμή που οι πληροφορίες αποκαλύφθηκαν δημόσια, 12 από τα 13 CDN είχαν επιδιορθώσει τα προβλήματα που εντοπίστηκαν ή είχαν εκφράσει την ετοιμότητά τους να τα διορθώσουν (μόνο η υπηρεσία StackPath δεν απάντησε).
Πηγή: opennet.ru