Terrapin - μια ευπάθεια στο πρωτόκολλο SSH που σας επιτρέπει να μειώσετε την ασφάλεια της σύνδεσης

Μια ομάδα ερευνητών από το Πανεπιστήμιο του Ρουρ στο Μπόχουμ (Γερμανία) παρουσίασε μια νέα τεχνική επίθεσης MITM στο SSH - Terrapin, η οποία εκμεταλλεύεται μια ευπάθεια (CVE-2023-48795) στο πρωτόκολλο. Ένας εισβολέας που είναι ικανός να οργανώσει μια επίθεση MITM έχει τη δυνατότητα, κατά τη διάρκεια της διαδικασίας διαπραγμάτευσης σύνδεσης, να εμποδίσει την αποστολή ενός μηνύματος διαμορφώνοντας επεκτάσεις πρωτοκόλλου για να μειώσει το επίπεδο ασφάλειας της σύνδεσης. Ένα πρωτότυπο της εργαλειοθήκης επίθεσης δημοσιεύτηκε στο GitHub.

Στο πλαίσιο του OpenSSH, η ευπάθεια, για παράδειγμα, σας επιτρέπει να επαναφέρετε τη σύνδεση για να χρησιμοποιήσετε λιγότερο ασφαλείς αλγόριθμους ελέγχου ταυτότητας και να απενεργοποιήσετε την προστασία από επιθέσεις πλευρικού καναλιού που αναπαράγουν δεδομένα αναλύοντας τις καθυστερήσεις μεταξύ των πληκτρολογήσεων στο πληκτρολόγιο. Στη βιβλιοθήκη Python AsyncSSH, σε συνδυασμό με μια ευπάθεια (CVE-2023-46446) στην υλοποίηση της μηχανής εσωτερικής κατάστασης, η επίθεση Terrapin μας επιτρέπει να κολλήσουμε σε μια συνεδρία SSH.

Η ευπάθεια επηρεάζει όλες τις υλοποιήσεις SSH που υποστηρίζουν κρυπτογράφηση λειτουργίας ChaCha20-Poly1305 ή CBC σε συνδυασμό με τη λειτουργία ETM (Encrypt-then-MAC). Για παράδειγμα, παρόμοιες δυνατότητες είναι διαθέσιμες στο OpenSSH για περισσότερα από 10 χρόνια. Το θέμα ευπάθειας διορθώθηκε στη σημερινή έκδοση του OpenSSH 9.6, καθώς και σε ενημερώσεις για PuTTY 0.80, libssh 0.10.6/0.9.8 και AsyncSSH 2.14.2. Στο Dropbear SSH, η επιδιόρθωση έχει ήδη προστεθεί στον κώδικα, αλλά δεν έχει δημιουργηθεί ακόμη νέα έκδοση.

Η ευπάθεια προκαλείται από το γεγονός ότι ένας εισβολέας που ελέγχει την κίνηση σύνδεσης (για παράδειγμα, ο κάτοχος ενός κακόβουλου ασύρματου σημείου) μπορεί να προσαρμόσει τους αριθμούς ακολουθίας πακέτων κατά τη διαδικασία διαπραγμάτευσης σύνδεσης και να επιτύχει τη σιωπηλή διαγραφή ενός αυθαίρετου αριθμού μηνυμάτων υπηρεσίας SSH αποστέλλεται από τον πελάτη ή τον διακομιστή. Μεταξύ άλλων, ένας εισβολέας μπορεί να διαγράψει μηνύματα SSH_MSG_EXT_INFO που χρησιμοποιούνται για τη διαμόρφωση των επεκτάσεων πρωτοκόλλου που χρησιμοποιούνται. Για να αποτρέψει το άλλο μέρος από τον εντοπισμό απώλειας πακέτου λόγω ενός κενού στους αριθμούς ακολουθίας, ο εισβολέας ξεκινά την αποστολή ενός εικονικού πακέτου με τον ίδιο αριθμό σειράς με το απομακρυσμένο πακέτο για να μετατοπίσει τον αριθμό σειράς. Το εικονικό πακέτο περιέχει ένα μήνυμα με τη σημαία SSH_MSG_IGNORE, το οποίο αγνοείται κατά την επεξεργασία.

Terrapin - μια ευπάθεια στο πρωτόκολλο SSH που σας επιτρέπει να μειώσετε την ασφάλεια της σύνδεσης

Η επίθεση δεν μπορεί να πραγματοποιηθεί με χρήση κρυπτογράφησης ροής και CTR, καθώς η παραβίαση ακεραιότητας θα εντοπιστεί σε επίπεδο εφαρμογής. Στην πράξη, μόνο ο κρυπτογράφησης ChaCha20-Poly1305 είναι επιρρεπής σε επίθεση ([προστασία μέσω email]), στην οποία η κατάσταση παρακολουθείται μόνο από αριθμούς ακολουθίας μηνυμάτων και έναν συνδυασμό από τη λειτουργία Encrypt-Then-MAC (*[προστασία μέσω email]) και κρυπτογράφηση CBC.

Στο OpenSSH 9.6 και σε άλλες υλοποιήσεις, εφαρμόζεται μια επέκταση του πρωτοκόλλου «αυστηρού KEX» για τον αποκλεισμό της επίθεσης, η οποία ενεργοποιείται αυτόματα εάν υπάρχει υποστήριξη από την πλευρά του διακομιστή και του πελάτη. Η επέκταση τερματίζει τη σύνδεση με τη λήψη τυχόν μη κανονικών ή περιττών μηνυμάτων (για παράδειγμα, με τη σημαία SSH_MSG_IGNORE ή SSH2_MSG_DEBUG) που ελήφθη κατά τη διαδικασία διαπραγμάτευσης σύνδεσης και επαναφέρει επίσης τον μετρητή MAC (Κωδικός ελέγχου ταυτότητας μηνυμάτων) μετά την ολοκλήρωση κάθε ανταλλαγής κλειδιού.

Πηγή: opennet.ru

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