Μετα-ανάλυση: τι είναι γνωστό για την τελευταία επίθεση στο δίκτυο διακομιστών κρυπτοκλειδιών SKS Keyserver

Οι χάκερ χρησιμοποίησαν ένα χαρακτηριστικό του πρωτοκόλλου OpenPGP που είναι γνωστό για περισσότερα από δέκα χρόνια.

Σας λέμε ποιο είναι το νόημα και γιατί δεν μπορούν να το κλείσουν.

Μετα-ανάλυση: τι είναι γνωστό για την τελευταία επίθεση στο δίκτυο διακομιστών κρυπτοκλειδιών SKS Keyserver
/Unsplash/ Τσουνλέα Τζου

Προβλήματα δικτύου

Στα μέσα Ιουνίου, άγνωστο πραγματοποίησε επίθεση σε ένα δίκτυο διακομιστών κρυπτογραφικών κλειδιών Διακομιστής κλειδιών SKS, βασισμένο στο πρωτόκολλο OpenPGP. Αυτό είναι ένα πρότυπο IETF (RFC 4880), το οποίο χρησιμοποιείται για την κρυπτογράφηση email και άλλων μηνυμάτων. Το δίκτυο SKS δημιουργήθηκε πριν από τριάντα χρόνια για τη διανομή δημόσιων πιστοποιητικών. Περιλαμβάνει εργαλεία όπως π.χ GnuPG για κρυπτογράφηση δεδομένων και δημιουργία ηλεκτρονικών ψηφιακών υπογραφών.

Οι χάκερ παραβίασαν τα πιστοποιητικά δύο συντηρητών του έργου GnuPG, του Robert Hansen και του Daniel Gillmor. Η φόρτωση ενός κατεστραμμένου πιστοποιητικού από τον διακομιστή προκαλεί την αποτυχία του GnuPG—το σύστημα απλώς παγώνει. Υπάρχει λόγος να πιστεύουμε ότι οι εισβολείς δεν θα σταματήσουν εκεί και ο αριθμός των παραβιασμένων πιστοποιητικών θα αυξηθεί. Προς το παρόν, η έκταση του προβλήματος παραμένει άγνωστη.

Η ουσία της επίθεσης

Οι χάκερ εκμεταλλεύτηκαν μια ευπάθεια στο πρωτόκολλο OpenPGP. Είναι γνωστή στην κοινότητα εδώ και δεκαετίες. Ακόμη και στο GitHub μπορεί να βρει αντίστοιχα κατορθώματα. Αλλά μέχρι στιγμής κανείς δεν έχει αναλάβει την ευθύνη για το κλείσιμο της «τρύπας» (θα μιλήσουμε για τους λόγους με περισσότερες λεπτομέρειες αργότερα).

Μερικές επιλογές από το ιστολόγιό μας στο Habré:

Σύμφωνα με την προδιαγραφή OpenPGP, οποιοσδήποτε μπορεί να προσθέσει ψηφιακές υπογραφές σε πιστοποιητικά για να επαληθεύσει τον ιδιοκτήτη τους. Επιπλέον, ο μέγιστος αριθμός υπογραφών δεν ρυθμίζεται με κανέναν τρόπο. Και εδώ προκύπτει ένα πρόβλημα - το δίκτυο SKS σάς επιτρέπει να τοποθετήσετε έως και 150 χιλιάδες υπογραφές σε ένα πιστοποιητικό, αλλά το GnuPG δεν υποστηρίζει τέτοιο αριθμό. Έτσι, κατά τη φόρτωση του πιστοποιητικού, το GnuPG (καθώς και άλλες εφαρμογές OpenPGP) παγώνει.

Ένας από τους χρήστες πραγματοποίησε ένα πείραμα — η εισαγωγή του πιστοποιητικού του πήρε περίπου 10 λεπτά. Το πιστοποιητικό είχε περισσότερες από 54 χιλιάδες υπογραφές και το βάρος του ήταν 17 MB:

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: key F20691179038E5C6: 4 duplicate signatures removed
gpg: key F20691179038E5C6: 54614 signatures not checked due to missing keys
gpg: key F20691179038E5C6: 4 signatures reordered
gpg: key F20691179038E5C6: public key "Daniel Kahn Gillmor <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

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

Ουσιαστικά, το δίκτυο SKS είναι ένας μεγάλος «διακομιστής αρχείων» στον οποίο ο καθένας μπορεί να γράψει δεδομένα. Για να καταδείξουμε το πρόβλημα, πέρυσι κάτοικος GitHub δημιούργησε ένα σύστημα αρχείων, το οποίο αποθηκεύει έγγραφα σε ένα δίκτυο διακομιστών κρυπτογραφικών κλειδιών.

Γιατί δεν έκλεισε η ευπάθεια;

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

Για να είμαστε δίκαιοι, αξίζει να σημειωθεί ότι τον Ιούνιο εξακολουθούν να εκτοξεύτηκε πειραματικός διακομιστής κλειδιών keys.openpgp.org. Παρέχει προστασία από τέτοιου είδους επιθέσεις. Ωστόσο, η βάση δεδομένων του συμπληρώνεται από την αρχή και ο ίδιος ο διακομιστής δεν αποτελεί μέρος του SKS. Επομένως, θα χρειαστεί χρόνος για να μπορέσει να χρησιμοποιηθεί.

Μετα-ανάλυση: τι είναι γνωστό για την τελευταία επίθεση στο δίκτυο διακομιστών κρυπτοκλειδιών SKS Keyserver
/Unsplash/ Rubén Bagües

Όσο για το σφάλμα στο αρχικό σύστημα, ένας πολύπλοκος μηχανισμός συγχρονισμού εμποδίζει τη διόρθωσή του. Το δίκτυο διακομιστών κλειδιού γράφτηκε αρχικά ως απόδειξη της ιδέας για τη διδακτορική διατριβή του Yaron Minsky. Επιπλέον, μια μάλλον συγκεκριμένη γλώσσα, η OCaml, επιλέχθηκε για το έργο. Με λόγια συντηρητής Robert Hansen, ο κώδικας είναι δύσκολο να κατανοηθεί, επομένως γίνονται μόνο μικρές διορθώσεις σε αυτόν. Για να τροποποιήσετε την αρχιτεκτονική SKS, θα πρέπει να ξαναγραφτεί από την αρχή.

Σε κάθε περίπτωση, το GnuPG δεν πιστεύει ότι το δίκτυο θα διορθωθεί ποτέ. Σε μια ανάρτηση στο GitHub, οι προγραμματιστές έγραψαν μάλιστα ότι δεν συνιστούν να συνεργαστείτε με τον SKS Keyserver. Στην πραγματικότητα, αυτός είναι ένας από τους κύριους λόγους για τους οποίους ξεκίνησαν τη μετάβαση στη νέα υπηρεσία keys.openpgp.org. Μπορούμε μόνο να παρακολουθήσουμε την περαιτέρω εξέλιξη των γεγονότων.

Μερικά υλικά από το εταιρικό μας blog:

Πηγή: www.habr.com

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