Ασφάλεια πολλαπλών επιπέδων: Μια ολιστική άποψη της ασφάλειας στο Διαδίκτυο

Ασφάλεια πολλαπλών επιπέδων: Μια ολιστική άποψη της ασφάλειας στο Διαδίκτυο

Januar 7, 2023 0 Von admin

Από τους Henry Birge-Lee, Liang Wang, Grace Cimaszewski, Jennifer Rexford και Prateek Mittal

Στις 3 Φεβρουαρίου 2022, οι εισβολείς εξαπέλυσαν μια εξαιρετικά αποτελεσματική επίθεση κατά του κορεατικού ανταλλακτηρίου κρυπτονομισμάτων KLAYswap. Συζητήσαμε τις λεπτομέρειες αυτής της επίθεσης στην προηγούμενη ανάρτησή μας στο ιστολόγιο «Οι εισβολείς εκμεταλλεύονται το θεμελιώδες ελάττωμα στην ασφάλεια του Ιστού για να κλέψουν 2 εκατομμύρια δολάρια σε κρυπτονομίσματα». Ωστόσο, σε εκείνη την ανάρτηση γρατσουνίσαμε μόνο την επιφάνεια πιθανών αντίμετρων που θα μπορούσαν να αποτρέψουν τέτοιες επιθέσεις. Σε αυτή τη νέα ανάρτηση, θα συζητήσουμε πώς μπορούμε να υπερασπιστούμε το οικοσύστημα Ιστού από επιθέσεις σαν αυτές. Αυτή η επίθεση αποτελείται από πολλαπλά exploit σε διαφορετικά επίπεδα της στοίβας δικτύου. Ονομάζουμε επιθέσεις όπως αυτή, «επιθέσεις πολλαπλών επιπέδων» και προσφέρουμε την άποψή μας για το γιατί είναι τόσο αποτελεσματικές. Επιπλέον, προτείνουμε μια πρακτική αμυντική στρατηγική εναντίον τους που την ονομάζουμε «ασφάλεια πολλαπλών επιπέδων».

Όπως συζητάμε παρακάτω, η ασφάλεια πολλαπλών επιπέδων περιλαμβάνει τεχνολογίες ασφαλείας σε διαφορετικά επίπεδα της στοίβας δικτύου που λειτουργούν αρμονικά για να υπερασπιστούν τα τρωτά σημεία που είναι δύσκολο να εντοπιστούν σε ένα μόνο επίπεδο.

Σε υψηλό επίπεδο, η επίθεση του αντιπάλου επηρέασε πολλά επίπεδα της στοίβας δικτύωσης:

  • ο επίπεδο δικτύου είναι υπεύθυνος για την παροχή προσβασιμότητας μεταξύ κεντρικών υπολογιστών στο Διαδίκτυο. Το πρώτο μέρος της επίθεσης του αντιπάλου περιελάμβανε τη στόχευση του επιπέδου δικτύου με α Επίθεση στο Border Gateway Protocol (BGP). που χειραγωγούσε διαδρομές για την αεροπειρατεία που προοριζόταν για το θύμα.
  • ο στρώμα συνεδρίας είναι υπεύθυνος για την ασφαλή επικοινωνία από άκρο σε άκρο μέσω του δικτύου. Για να επιτεθεί στο επίπεδο συνεδρίας, τον αντίπαλο αξιοποίησε την επίθεσή του στο επίπεδο δικτύου για να αποκτήσετε ένα ψηφιακό πιστοποιητικό για τον τομέα του θύματος από μια αξιόπιστη Αρχή Πιστοποιητικών (CA). Με αυτό το ψηφιακό πιστοποιητικό, ο αντίπαλος δημιούργησε κρυπτογραφημένες και ασφαλείς συνεδρίες TLS με χρήστες KLAYswap.
  • ο στρώμα εφαρμογής είναι υπεύθυνος για την ερμηνεία και την επεξεργασία δεδομένων που αποστέλλονται μέσω του δικτύου. Ο αντίπαλος χρησιμοποίησε τις παραβιασθείσες συνεδρίες TLS με πελάτες KLAYswap για να εξυπηρετήσει κακόβουλο κώδικα Javascript που έθεσε σε κίνδυνο την εφαρμογή web KLAYswap και έκανε τους χρήστες να μεταφέρουν εν αγνοία τους τα χρήματά τους στον αντίπαλο.

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

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

Λόγω της πολυεπίπεδης φύσης αυτών των τρωτών σημείων, χρειαζόμαστε μια διαφορετική νοοτροπία για να επιλύσουμε το πρόβλημα: άτομα σε όλα τα επίπεδα πρέπει να αναπτύξουν πλήρως τις λύσεις ασφαλείας που είναι ρεαλιστικές σε αυτό το επίπεδο. Όπως θα εξηγήσουμε παρακάτω, δεν υπάρχει ασημί κουκκίδα που να μπορεί να αναπτυχθεί γρήγορα σε οποιοδήποτε στρώμα. Αντίθετα, η καλύτερη ελπίδα μας είναι πιο μέτριες (αλλά ευκολότερες στην ανάπτυξη) βελτιώσεις ασφάλειας για όλα τα εμπλεκόμενα επίπεδα. Η εργασία κάτω από μια στάση «το άλλο επίπεδο θα διορθώσει το πρόβλημα» απλώς διαιωνίζει αυτά τα τρωτά σημεία.

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

Βραχυπρόθεσμες Αλλαγές Μακροπρόθεσμοι στόχοι
Εφαρμογές Ιστού (επίπεδο εφαρμογής) Μειώστε τη χρήση κώδικα που φορτώνεται από εξωτερικούς τομείς Υπογράψτε και ελέγξτε την ταυτότητα όλου του κώδικα που εκτελείται
Το PKI/TLS (επίπεδο περιόδου σύνδεσης) Καθολική ανάπτυξη επικύρωση πολλαπλών πλεονεκτημάτων Υιοθετήστε μια τεχνολογία για την επαλήθευση ταυτότητας που βασίζεται σε κρυπτογραφικά προστατευμένο DNSSEC που παρέχει ασφάλεια παρουσία ισχυρές επιθέσεις δικτύου
Δρομολόγηση (επίπεδο δικτύου) Υπογράψτε και επαληθεύστε διαδρομές με το RPKI και ακολουθήστε τις πρακτικές ασφαλείας που περιγράφονται από το MANRS Αναπτύξτε το BGPSec για σχεδόν πλήρη εξάλειψη των επιθέσεων δρομολόγησης

Για να αναλύσουμε:

Στο επίπεδο εφαρμογής: Οι εφαρμογές Ιστού κατεβαίνουν μέσω Διαδικτύου και είναι πλήρως αποκεντρωμένες. Προς το παρόν, δεν υπάρχει μηχανισμός που να εγγυάται καθολικά την αυθεντικότητα του κώδικα ή του περιεχομένου που περιέχεται σε μια εφαρμογή Ιστού. Εάν ένας αντίπαλος μπορεί να αποκτήσει ένα πιστοποιητικό TLS για το google.com και να υποκλέψει τη σύνδεσή σας με την Google, το πρόγραμμα περιήγησής σας (αυτή τη στιγμή) δεν θα έχει κανέναν τρόπο να γνωρίζει ότι παρέχεται περιεχόμενο που στην πραγματικότητα δεν προέρχεται από τους διακομιστές της Google. Ωστόσο, οι προγραμματιστές μπορούν να θυμούνται ότι οποιαδήποτε εξάρτηση τρίτου μέρους (ιδιαίτερα αυτές που φορτώνονται από διαφορετικούς τομείς) μπορεί να είναι ευπάθεια τρίτου μέρους και να περιορίζουν τη χρήση κώδικα τρίτου μέρους στον ιστότοπό τους (ή να φιλοξενούν κώδικα τρίτου μέρους τοπικά για μείωση την επιφάνεια επίθεσης). Επιπλέον, μπορεί να προστατεύεται τόσο το τοπικά φιλοξενούμενο όσο και το περιεχόμενο που φιλοξενείται από τρίτους ακεραιότητα υποπόρων όπου ένα κρυπτογραφικό κατακερματισμό (περιλαμβάνεται στην ιστοσελίδα) εγγυάται την ακεραιότητα των εξαρτήσεων. Αυτό επιτρέπει στους προγραμματιστές να παρέχουν κρυπτογραφικές υπογραφές για τις εξαρτήσεις στην ιστοσελίδα τους. Κάνοντας αυτό μειώνει σημαντικά την επιφάνεια επίθεσης αναγκάζοντας τις επιθέσεις να στοχεύουν μόνο μία σύνδεση με τον διακομιστή ιστού του θύματος σε αντίθεση με τις πολλές διαφορετικές συνδέσεις που εμπλέκονται στην ανάκτηση διαφορετικών εξαρτήσεων.

Στο επίπεδο συνεδρίας: Οι ΑΠ πρέπει να καθορίσουν την ταυτότητα των πελατών που ζητούν πιστοποιητικά και, ενώ υπάρχουν προτάσεις για χρήση κρυπτογραφικού DNSSEC για επαλήθευση ταυτότητας (όπως ο ΔΑΝΟΣ), το status quo είναι η επαλήθευση της ταυτότητας μέσω επικοινωνιών δικτύου με τους τομείς που αναφέρονται στα αιτήματα πιστοποιητικών. Έτσι, οι παγκόσμιες επιθέσεις δρομολόγησης είναι πιθανό να είναι πολύ αποτελεσματικές κατά των ΑΠ, εκτός εάν κάνουμε πιο ουσιαστικές αλλαγές στον τρόπο έκδοσης των πιστοποιητικών. Αλλά αυτό δεν σημαίνει ότι χάνεται κάθε ελπίδα. Πολλές επιθέσεις δικτύου δεν είναι παγκόσμιες, αλλά στην πραγματικότητα είναι εντοπισμένες σε ένα συγκεκριμένο τμήμα του Διαδικτύου. Οι ΑΠ είναι σε θέση να μετριάσουν αυτές τις επιθέσεις επαληθεύοντας τομείς από διάφορα πλεονεκτήματα που είναι διασκορπισμένα σε όλο το Διαδίκτυο. Αυτό επιτρέπει σε ορισμένα από τα πλεονεκτήματα των CA να μην επηρεάζονται από την επίθεση και να επικοινωνούν με τον νόμιμο κάτοχο τομέα. Η ομάδα μας στο Πρίνστον σχεδιασμένη επικύρωση πολλαπλών πλεονεκτημάτων και συνεργάστηκε με το μεγαλύτερο web PKI CA Let’s Encrypt to αναπτύξει την πρώτη ανάπτυξη παραγωγής από αυτό. Οι CA μπορούν και πρέπει να χρησιμοποιούν πολλαπλά πλεονεκτήματα για να επαληθεύουν τομείς που τους καθιστούν απρόσβλητους σε τοπικές επιθέσεις δικτύου και διασφαλίζοντας ότι βλέπουν μια παγκόσμια προοπτική στη δρομολόγηση.

Στο επίπεδο δικτύου: Στη δρομολόγηση, η προστασία από όλες τις επιθέσεις BGP είναι δύσκολη. Απαιτεί ακριβές λειτουργίες δημόσιου κλειδιού σε κάθε ενημέρωση BGP χρησιμοποιώντας ένα πρωτόκολλο που ονομάζεται BGPsec που δεν υποστηρίζουν οι τρέχοντες δρομολογητές. Ωστόσο, πρόσφατα έχει αυξηθεί σημαντικά η υιοθέτηση μιας τεχνολογίας που ονομάζεται Υποδομή Δημόσιου Κλειδιού Πόρων (RPKI) που αποτρέπει παγκόσμιες επιθέσεις με τη δημιουργία μιας κρυπτογραφικής βάσης δεδομένων για τα δίκτυα που ελέγχουν ποιες διευθύνσεις IP μπλοκάρουν στο Διαδίκτυο. Είναι σημαντικό ότι, όταν ρυθμιστεί σωστά, το RPKI καθορίζει επίσης το μέγεθος του προθέματος IP που πρέπει να ανακοινωθεί, το οποίο αποτρέπει καθολικές και εξαιρετικά αποτελεσματικές επιθέσεις υποπροθέματος. Σε μια επίθεση υποπροθέματος, ο αντίπαλος ανακοινώνει ένα μεγαλύτερο, πιο συγκεκριμένο πρόθεμα IP από το θύμα και επωφελείται από τη δρομολόγηση αντιστοίχισης με το μεγαλύτερο πρόθεμα ώστε να προτιμάται η ανακοίνωσή του από τη συντριπτική πλειονότητα του Διαδικτύου. Το RPKI είναι πλήρως συμβατό με το τρέχον υλικό του δρομολογητή. Το μόνο μειονέκτημα είναι ότι το RPKI μπορεί ακόμα να αποφευχθεί με ορισμένες τοπικές επιθέσεις BGP όπου, αντί να ισχυρίζεται ότι κατέχει τη διεύθυνση IP του θύματος που ελέγχεται στη βάση δεδομένων, ένας αντίπαλος ισχυρίζεται απλώς ότι είναι πάροχος Διαδικτύου του θύματος. Ο πλήρης χάρτης των δικτύων με τα οποία είναι συνδεδεμένα άλλα δίκτυα δεν είναι ασφαλής επί του παρόντος από το RPKI. Αυτό αφήνει ένα παράθυρο για ορισμένους τύπους επιθέσεων BGP που έχουμε δει στη φύση. Ωστόσο, ο αντίκτυπος αυτών των επιθέσεων μειώνεται σημαντικά και συχνά επηρεάζει μόνο ένα μέρος του Διαδικτύου. Επιπλέον, το Έργο MANRS παρέχει συστάσεις για βέλτιστες επιχειρησιακές πρακτικές, συμπεριλαμβανομένου του RPKI που βοηθούν στην πρόληψη και τον μετριασμό των αεροπειρατών BGP.

Χρήση ασφάλειας πολλαπλών επιπέδων για την υπεράσπιση επιθέσεων μεταξύ επιπέδων

Κοιτάζοντας σε αυτά τα επίπεδα βλέπουμε μια κοινή τάση: σε κάθε επίπεδο υπάρχουν προτεινόμενες τεχνολογίες ασφαλείας που θα μπορούσαν ενδεχομένως να σταματήσουν επιθέσεις όπως η επίθεση KLAYswap. Ωστόσο, όλες αυτές οι τεχνολογίες αντιμετωπίζουν προκλήσεις ανάπτυξης. Επιπλέον, υπάρχουν πιο μέτριες τεχνολογίες που βλέπουν εκτεταμένη ανάπτυξη στον πραγματικό κόσμο σήμερα. Αλλά καθεμία από αυτές τις αναπτυγμένες τεχνολογίες από μόνη της μπορεί να αποφευχθεί από έναν προσαρμοστικό αντίπαλο. Για παράδειγμα, το RPKI μπορεί να αποφευχθεί από τοπικές επιθέσεις, η επικύρωση πολλαπλών πλεονεκτημάτων μπορεί να αποφευχθεί από παγκόσμιες επιθέσεις, κ.λπ. Ωστόσο, εάν αντ‘ αυτού εξετάσουμε το όφελος που προσφέρουν όλες αυτές οι τεχνολογίες μαζί σε διαφορετικά επίπεδα, τα πράγματα φαίνονται περισσότερο υποσχόμενος. Ακολουθεί ένας πίνακας που συνοψίζει αυτό:

Τεχνολογία/Επίπεδο Ασφαλείας Καλός στον εντοπισμό επιθέσεων δρομολόγησης που επηρεάζουν ολόκληρο το Διαδίκτυο Καλός στον εντοπισμό επιθέσεων δρομολόγησης που επηρεάζουν μέρος του Διαδικτύου Περιορίζει τον αριθμό των πιθανών στόχων για δρομολόγηση επιθέσεων
RPKI στο επίπεδο δικτύου Ναί Οχι Οχι
Επικύρωση πολλαπλών πλεονεκτικών σημείων στο επίπεδο συνόδου Οχι Ναί Οχι
Ακεραιότητα υποπόρων και τοπικά φιλοξενούμενο περιεχόμενο στο επίπεδο εφαρμογής Οχι Οχι Ναί

Αυτή η συνέργεια τεχνολογιών ασφαλείας που αναπτύσσονται σε διαφορετικά επίπεδα είναι αυτό που ονομάζουμε ασφάλεια πολλαπλών επιπέδων. Μόνο το RPKI μπορεί να αποφευχθεί από έξυπνους αντιπάλους (χρησιμοποιώντας τεχνικές επίθεσης βλέπουμε όλο και περισσότερο στην άγρια ​​φύση). Ωστόσο, οι επιθέσεις που αποφεύγουν το RPKI τείνουν να είναι τοπικές (δηλαδή, να μην επηρεάζουν ολόκληρο το Διαδίκτυο). Αυτό συνεργάζεται με την επικύρωση πολλαπλών πλεονεκτημάτων που είναι η καλύτερη για την καταγραφή τοπικών επιθέσεων. Επιπλέον, επειδή ακόμη και αυτές οι δύο τεχνολογίες που συνεργάζονται δεν εξαλείφουν πλήρως την επιφάνεια επίθεσης, οι βελτιώσεις στο επίπεδο ιστού που μειώνουν την εξάρτηση από τον κώδικα που φορτώνεται από εξωτερικούς τομείς συμβάλλουν στην περαιτέρω μείωση της επιφάνειας επίθεσης. Στο τέλος της ημέρας, ολόκληρο το οικοσύστημα Ιστού μπορεί να επωφεληθεί τρομερά από κάθε επίπεδο που αναπτύσσει τεχνολογίες ασφαλείας που αξιοποιούν τις πληροφορίες και τα εργαλεία που είναι διαθέσιμα αποκλειστικά σε αυτό το επίπεδο. Επιπλέον, όταν εργάζονται από κοινού, αυτές οι τεχνολογίες μαζί μπορούν να κάνουν κάτι που καμία από αυτές δεν θα μπορούσε να κάνει μόνη της: να σταματήσει τις πολλαπλές επιθέσεις.

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

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