Δημοσιεύτηκε η έκδοση του OpenSSH 9.8, μια ανοιχτή υλοποίηση πελάτη και διακομιστή για εργασία με χρήση των πρωτοκόλλων SSH 2.0 και SFTP. Εκτός από τη διόρθωση μιας κρίσιμης ευπάθειας που ανακοινώθηκε ξεχωριστά (CVE-2024-6387), η οποία επιτρέπει την απομακρυσμένη εκτέλεση κώδικα με δικαιώματα ρίζας στο στάδιο προ-έλεγχος ταυτότητας, η νέα έκδοση διορθώνει μια άλλη λιγότερο επικίνδυνη ευπάθεια και προτείνει αρκετές σημαντικές αλλαγές με στόχο τη βελτίωση της ασφάλειας.
Η δεύτερη ευπάθεια σάς επιτρέπει να παρακάμψετε την προστασία που έχει προστεθεί στο OpenSSH 9.5 από επιθέσεις πλευρικού καναλιού που αναλύουν τις καθυστερήσεις μεταξύ των πληκτρολογήσεων στο πληκτρολόγιο για να δημιουργήσετε εκ νέου την είσοδο. Η ευπάθεια μας επιτρέπει να διακρίνουμε πακέτα που δημιουργούν δραστηριότητα στο παρασκήνιο προσομοιώνοντας πλασματικά πλήκτρα από πακέτα που αποστέλλονται όταν πατηθούν πραγματικά πλήκτρα, γεγονός που μειώνει την αποτελεσματικότητα του μηχανισμού για την απόκρυψη χαρακτηριστικών της διαδραστικής εισαγωγής στην κυκλοφορία στο ssh. Τα δεδομένα πατήματος πλήκτρων επιτρέπουν επιθέσεις που αναπαράγουν δεδομένα αναλύοντας τις καθυστερήσεις μεταξύ των πλήκτρων κατά την πληκτρολόγηση, οι οποίες εξαρτώνται από τη διάταξη των πλήκτρων στο πληκτρολόγιο (για παράδειγμα, η απόκριση όταν πληκτρολογείτε το γράμμα "F" είναι ταχύτερη από ό,τι όταν πληκτρολογείτε "Q" ή " X”, έτσι ώστε το πάτημα απαιτεί λιγότερη κίνηση του δακτύλου).
Επιπλέον, αποδείχθηκε ότι ο εφαρμοζόμενος αλγόριθμος για την αποστολή πακέτων με πραγματικά και εικονικά κλικ μείωσε την αξιοπιστία μιας άλλης μεθόδου προστασίας από επιθέσεις πλευρικού καναλιού. Από την κυκλοφορία
OpenSSH 2.9.9 διακομιστή απεστάλησαν πακέτα που περιείχαν εικονικά πλήκτρα για είσοδο στην κονσόλα σε λειτουργία echo-off, που χρησιμοποιείται, για παράδειγμα, κατά την εισαγωγή κωδικών πρόσβασης στο su ή το sudo. Η νέα λογική για την αποστολή εικονικών πακέτων επέτρεψε στην παθητική ανάλυση κυκλοφορίας να απομονώσει πακέτα που περιείχαν πραγματικά πλήκτρα σε λειτουργία echo-off για ξεχωριστή ανάλυση. Ωστόσο, η ακρίβεια των πληροφοριών χρονισμού πλήκτρων είναι περιορισμένη, καθώς μετά την πληκτρολόγηση, τα πακέτα δεν αποστέλλονται αμέσως, αλλά σε καθορισμένα χρονικά διαστήματα (20 ms από προεπιλογή).
Άλλες αλλαγές στο OpenSSH 9.8:
- Στο στάδιο της κατασκευής, η υποστήριξη για ψηφιακές υπογραφές που βασίζονται στον αλγόριθμο DSA είναι απενεργοποιημένη από προεπιλογή. Η εφαρμογή DSA θα αφαιρεθεί από τη βάση κώδικα στις αρχές του 2025. Ο λόγος της διαγραφής αναφέρεται ως το επίπεδο προστασίας στο DSA που δεν πληροί τις σύγχρονες απαιτήσεις. Το κόστος της συνέχισης της διατήρησης ενός μη ασφαλούς αλγόριθμου DSA δεν αξίζει τον κόπο και η αφαίρεσή του θα ενθαρρύνει την κατάργηση της υποστήριξης DSA σε άλλες υλοποιήσεις SSH και κρυπτογραφικές βιβλιοθήκες.
- Για την περαιτέρω προστασία από μεθόδους εκμετάλλευσης που απαιτούν μεγάλο αριθμό συνδέσεων με το sshd, έχει υλοποιηθεί και ενεργοποιηθεί από προεπιλογή μια νέα λειτουργία προστασίας. Αυτή η λειτουργία βοηθά επίσης στον αποκλεισμό αυτοματοποιημένων επιθέσεων εικασίας κωδικού πρόσβασης, στις οποίες τα bots προσπαθούν να μαντέψουν τον κωδικό πρόσβασης ενός χρήστη δοκιμάζοντας διάφορους τυπικούς συνδυασμούς. Αυτή η προστασία υλοποιείται μέσω αποκλεισμού. Διευθύνσεις IP, το οποίο καταγράφει μεγάλο αριθμό αποτυχημένων προσπαθειών σύνδεσης, το sshd παρακολουθεί την κατάσταση τερματισμού των θυγατρικών διεργασιών, εντοπίζοντας καταστάσεις όπου η πιστοποίηση απέτυχε ή η διεργασία τερματίστηκε ασυνήθιστα λόγω σφάλματος. Όταν ξεπεραστεί ένα συγκεκριμένο όριο, αρχίζει να αποκλείει αιτήματα από προβληματικές διευθύνσεις IP ή υποδίκτυα. Οι παράμετροι PerSourcePenalties, PerSourceNetBlockSize και PerSourcePenaltyExemptList είναι διαθέσιμες για τη διαμόρφωση του ορίου αποκλεισμού, της μάσκας υποδικτύου που θα αποκλειστεί και της λίστας εξαιρέσεων.
- sshd έχει χωριστεί σε πολλά ξεχωριστά εκτελέσιμα αρχεία. Η διαδικασία sshd-session εκχωρείται από το sshd για την εκτέλεση εργασιών που σχετίζονται με την επεξεργασία συνεδρίας. Η διαδικασία sshd διατηρεί λειτουργίες υπεύθυνες για την αποδοχή συνδέσεων δικτύου, τον έλεγχο των διαμορφώσεων, τη φόρτωση κλειδιών κεντρικού υπολογιστή και τη διαχείριση των διαδικασιών εκκίνησης σύμφωνα με την παράμετρο MaxStartups. Έτσι, το εκτελέσιμο αρχείο sshd περιέχει τώρα την ελάχιστη λειτουργικότητα που απαιτείται για την αποδοχή μιας νέας σύνδεσης δικτύου και την έναρξη της περιόδου λειτουργίας sshd για τη διαχείριση της συνεδρίας.
- Το κείμενο ορισμένων μηνυμάτων σφάλματος που γράφτηκαν στο αρχείο καταγραφής έχει αλλάξει. Συγκεκριμένα, ένας αριθμός μηνυμάτων αποστέλλεται τώρα με το όνομα της διαδικασίας "sshd-session" αντί "sshd".
- Το βοηθητικό πρόγραμμα ssh-keyscan εξάγει τώρα πληροφορίες έκδοσης πρωτοκόλλου και ονόματος κεντρικού υπολογιστή σε τυπική ροή αντί για STDERR. Για να απενεργοποιήσετε την έξοδο, προτείνεται η επιλογή "-q".
- Στο ssh, είναι δυνατό να απενεργοποιήσετε την επαναφορά από τη χρήση πιστοποιητικού κλειδιού κεντρικού υπολογιστή στη χρήση απλών κλειδιών κεντρικού υπολογιστή μέσω της οδηγίας HostkeyAlgorithms.
- Η φορητή έκδοση του sshd δεν χρησιμοποιεί πλέον την τιμή argv[0] για τον προσδιορισμό του ονόματος της υπηρεσίας PAM. Για να ορίσετε το όνομα της υπηρεσίας PAM, μια νέα οδηγία "PAMServiceName" προστέθηκε στο sshd_config, η οποία έχει οριστεί σε "sshd" από προεπιλογή.
- Η φορητή έκδοση του sshd διασφαλίζει ότι τα αρχεία που δημιουργούνται αυτόματα (configure script, config.h.in, κ.λπ.) αποθηκεύονται σε έναν κλάδο Git με εκδόσεις (για παράδειγμα, V_9_8), οι οποίες κατέστησαν δυνατό τον συγχρονισμό της σύνθεσης του ψηφιακά υπογεγραμμένου tar αρχεία και υποκαταστήματα στο Git.
- Η φορητή έκδοση του ssh και του ssh-agent παρέχει ρύθμιση λειτουργίας
SSH_ASKPASS παρουσία της μεταβλητής περιβάλλοντος WAYLAND_DISPLAY, παρόμοια με τον τρόπο που έγινε για το X11 παρουσία της μεταβλητής περιβάλλοντος DISPLAY. - Η φορητή έκδοση του sshd προσθέτει υποστήριξη για την αποστολή ειδοποιήσεων στο systemd όταν δημιουργείται ή επανεκκινείται μια υποδοχή δικτύου ακρόασης, χρησιμοποιώντας αυτόνομο κώδικα που δεν καλεί τη βιβλιοθήκη libsystemd.
Πηγή: opennet.ru
