Επίθεση CPDoS για να μην είναι διαθέσιμες οι σελίδες που προβάλλονται μέσω CDN

Ερευνητές από τα Πανεπιστήμια του Αμβούργου και της Κολωνίας
αναπτηγμένος μια νέα τεχνική επίθεσης σε δίκτυα παράδοσης περιεχομένου και διακομιστές μεσολάβησης προσωρινής αποθήκευσης - CPDoS (Cache-Poisoned Denial-of-Service). Η επίθεση επιτρέπει την άρνηση πρόσβασης σε μια σελίδα μέσω δηλητηρίασης προσωρινής μνήμης.

Το πρόβλημα οφείλεται στο γεγονός ότι τα CDN αποθηκεύουν προσωρινά όχι μόνο αιτήματα που έχουν ολοκληρωθεί με επιτυχία, αλλά και καταστάσεις κατά τις οποίες ο διακομιστής http επιστρέφει ένα σφάλμα. Κατά κανόνα, εάν υπάρχουν προβλήματα με τη διαμόρφωση αιτημάτων, ο διακομιστής εκδίδει ένα σφάλμα 400 (Εσφαλμένο αίτημα), η μόνη εξαίρεση είναι το IIS, το οποίο εκδίδει ένα σφάλμα 404 (Δεν βρέθηκε) για πολύ μεγάλες κεφαλίδες. Το πρότυπο επιτρέπει την αποθήκευση στην κρυφή μνήμη μόνο σφαλμάτων με κωδικούς 404 (Δεν βρέθηκε), 405 (Μέθοδος δεν επιτρέπεται), 410 (Έφυγε) και 501 (Δεν υλοποιήθηκε), αλλά ορισμένα CDN αποθηκεύουν επίσης στην κρυφή μνήμη απαντήσεις με κωδικό 400 (Κακό αίτημα), το οποίο εξαρτάται σχετικά με το απεσταλμένο αίτημα.

Οι εισβολείς μπορούν να κάνουν τον αρχικό πόρο να επιστρέψει ένα σφάλμα "400 Bad Request" στέλνοντας ένα αίτημα με κεφαλίδες HTTP μορφοποιημένες με συγκεκριμένο τρόπο. Αυτές οι κεφαλίδες δεν λαμβάνονται υπόψη από το CDN, επομένως οι πληροφορίες σχετικά με την αδυναμία πρόσβασης στη σελίδα θα αποθηκευτούν προσωρινά και όλα τα άλλα έγκυρα αιτήματα χρήστη πριν από τη λήξη του χρονικού ορίου ενδέχεται να οδηγήσουν σε σφάλμα, παρά το γεγονός ότι ο αρχικός ιστότοπος προβάλλει το περιεχόμενο χωρίς κανένα πρόβλημα.

Τρεις επιλογές επίθεσης έχουν προταθεί για να αναγκαστεί ο διακομιστής HTTP να επιστρέψει ένα σφάλμα:

  • HMO (HTTP Method Override) - ένας εισβολέας μπορεί να παρακάμψει την αρχική μέθοδο αιτήματος μέσω των κεφαλίδων "X-HTTP-Method-Override", "X-HTTP-Method" ή "X-Method-Override", που υποστηρίζονται από ορισμένους διακομιστές, αλλά δεν λαμβάνεται υπόψη στο CDN . Για παράδειγμα, μπορείτε να αλλάξετε την αρχική μέθοδο "GET" στη μέθοδο "DELETE", η οποία απαγορεύεται στον διακομιστή ή στη μέθοδο "POST", η οποία δεν ισχύει για στατικά.

    Επίθεση CPDoS για να μην είναι διαθέσιμες οι σελίδες που προβάλλονται μέσω CDN

  • HHO (HTTP Header Oversize) - ένας εισβολέας μπορεί να επιλέξει το μέγεθος της κεφαλίδας έτσι ώστε να υπερβαίνει το όριο του διακομιστή πηγής, αλλά δεν εμπίπτει στους περιορισμούς CDN. Για παράδειγμα, το Apache httpd περιορίζει το μέγεθος της κεφαλίδας στα 8 KB και το Amazon Cloudfront CDN επιτρέπει κεφαλίδες έως 20 KB.
    Επίθεση CPDoS για να μην είναι διαθέσιμες οι σελίδες που προβάλλονται μέσω CDN

  • HMC (HTTP Meta Character) - ένας εισβολέας μπορεί να εισαγάγει ειδικούς χαρακτήρες στο αίτημα (\n, \r, \a), οι οποίοι θεωρούνται μη έγκυροι στον διακομιστή προέλευσης, αλλά αγνοούνται στο CDN.

    Επίθεση CPDoS για να μην είναι διαθέσιμες οι σελίδες που προβάλλονται μέσω CDN

Το πιο επιρρεπές σε επίθεση ήταν το CloudFront CDN που χρησιμοποιήθηκε από τις υπηρεσίες Web της Amazon (AWS). Η Amazon έχει πλέον διορθώσει το πρόβλημα απενεργοποιώντας την προσωρινή αποθήκευση σφαλμάτων, αλλά χρειάστηκαν οι ερευνητές περισσότερο από τρεις μήνες για να προσθέσουν προστασία. Το ζήτημα επηρέασε επίσης τα Cloudflare, Varnish, Akamai, CDN77 και
Γρήγορα, αλλά η επίθεση μέσω αυτών περιορίζεται σε διακομιστές-στόχους που χρησιμοποιούν IIS, ASP.NET, Φιάλη и Παίξτε 1. διάσημος, ότι το 11% των τομέων του Υπουργείου Άμυνας των ΗΠΑ, το 16% των διευθύνσεων URL από τη βάση δεδομένων του αρχείου HTTP και περίπου το 30% των κορυφαίων 500 ιστότοπων που κατατάσσονται από την Alexa ενδέχεται να υποστούν επίθεση.

Ως λύση για τον αποκλεισμό μιας επίθεσης στην πλευρά του ιστότοπου, μπορείτε να χρησιμοποιήσετε την κεφαλίδα "Cache-Control: no-store", η οποία απαγορεύει την προσωρινή αποθήκευση απόκρισης. Σε ορισμένα CDN, π.χ.
CloudFront και Akamai, μπορείτε να απενεργοποιήσετε την προσωρινή αποθήκευση σφαλμάτων στο επίπεδο ρυθμίσεων προφίλ. Για προστασία, μπορείτε επίσης να χρησιμοποιήσετε τείχη προστασίας εφαρμογών web (WAF, Τείχος προστασίας εφαρμογών Web), αλλά πρέπει να υλοποιηθούν στην πλευρά του CDN μπροστά από τους κεντρικούς υπολογιστές προσωρινής αποθήκευσης.

Πηγή: opennet.ru

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