Έκδοση OpenSSH 8.3 με επιδιόρθωση ευπάθειας scp

Μετά από τρεις μήνες ανάπτυξης παρουσιάζονται απελευθέρωση OpenSSH 8.3, μια εφαρμογή ανοιχτού πελάτη και διακομιστή για εργασία μέσω των πρωτοκόλλων SSH 2.0 και SFTP.

Η νέα έκδοση προσθέτει προστασία από επιθέσεις scp που επιτρέπουν στον διακομιστή να μεταβιβάζει άλλα ονόματα αρχείων από αυτά που ζητούνται (σε ​​αντίθεση με προηγούμενη ευπάθεια, η επίθεση δεν καθιστά δυνατή την αλλαγή του καταλόγου που έχει επιλέξει ο χρήστης ή της μάσκας σφαιρών). Θυμηθείτε ότι στο SCP, ο διακομιστής αποφασίζει ποια αρχεία και καταλόγους θα στείλει στον υπολογιστή-πελάτη και ο πελάτης ελέγχει μόνο την ορθότητα των ονομάτων αντικειμένων που επιστρέφονται. Η ουσία του προβλήματος που εντοπίστηκε είναι ότι εάν η κλήση συστήματος utimes αποτύχει, τότε τα περιεχόμενα του αρχείου ερμηνεύονται ως μεταδεδομένα αρχείου.

Αυτή η δυνατότητα, κατά τη σύνδεση σε διακομιστή που ελέγχεται από έναν εισβολέα, μπορεί να χρησιμοποιηθεί για την αποθήκευση άλλων ονομάτων αρχείων και άλλου περιεχομένου στο FS του χρήστη κατά την αντιγραφή χρησιμοποιώντας scp σε διαμορφώσεις που οδηγούν σε αποτυχία κατά την κλήση utimes (για παράδειγμα, όταν το utimes απαγορεύεται από την πολιτική SELinux ή το φίλτρο κλήσεων συστήματος) . Η πιθανότητα πραγματικών επιθέσεων εκτιμάται ότι είναι ελάχιστη, αφού σε τυπικές διαμορφώσεις η κλήση utimes δεν αποτυγχάνει. Επιπλέον, η επίθεση δεν περνά απαρατήρητη - όταν καλείτε το scp, εμφανίζεται ένα σφάλμα μεταφοράς δεδομένων.

Γενικές αλλαγές:

  • Στο sftp, η επεξεργασία του ορίσματος "-1" έχει διακοπεί, παρόμοια με τα ssh και scp, τα οποία προηγουμένως ήταν αποδεκτά αλλά αγνοήθηκαν.
  • Στο sshd, όταν χρησιμοποιείτε το IgnoreRhosts, υπάρχουν τώρα τρεις επιλογές: "ναι" - αγνοήστε rhosts/hosts, "όχι" - σεβαστείτε τους rhosts/hosts και "hosts-only" - επιτρέψτε το ".shosts" αλλά απενεργοποιήστε το ".rhosts".
  • Το Ssh υποστηρίζει πλέον την αντικατάσταση %TOKEN στις ρυθμίσεις LocalFoward και RemoteForward που χρησιμοποιούνται για την ανακατεύθυνση των υποδοχών Unix.
  • Να επιτρέπεται η φόρτωση δημόσιων κλειδιών από μη κρυπτογραφημένο αρχείο με ιδιωτικό κλειδί, εάν δεν υπάρχει ξεχωριστό αρχείο με το δημόσιο κλειδί.
  • Εάν το libcrypto είναι διαθέσιμο στο σύστημα, τα ssh και sshd χρησιμοποιούν τώρα την υλοποίηση του αλγόριθμου chacha20 από αυτήν τη βιβλιοθήκη, αντί για την ενσωματωμένη φορητή υλοποίηση, η οποία υστερεί σε απόδοση.
  • Εφάρμοσε τη δυνατότητα απόρριψης των περιεχομένων μιας δυαδικής λίστας ανακληθέντων πιστοποιητικών κατά την εκτέλεση της εντολής "ssh-keygen -lQf /path";
  • Η φορητή έκδοση εφαρμόζει ορισμούς συστημάτων στα οποία σήματα με την επιλογή SA_RESTART διακόπτουν τη λειτουργία του επιλεγμένου.
  • Επίλυση προβλημάτων συναρμολόγησης σε συστήματα HP/UX και AIX.
  • Διορθώθηκαν προβλήματα με τη δημιουργία seccomp sandbox σε ορισμένες διαμορφώσεις Linux.
  • Βελτιώθηκε ο εντοπισμός της βιβλιοθήκης libfido2 και επιλύθηκαν προβλήματα κατασκευής με την επιλογή "--με-ενσωματωμένο κλειδί ασφαλείας".

Οι προγραμματιστές του OpenSSH προειδοποίησαν για άλλη μια φορά για την επικείμενη αποσύνθεση αλγορίθμων που χρησιμοποιούν κατακερματισμούς SHA-1 λόγω προβολή την αποτελεσματικότητα των επιθέσεων σύγκρουσης με ένα δεδομένο πρόθεμα (το κόστος επιλογής μιας σύγκρουσης εκτιμάται σε περίπου 45 χιλιάδες δολάρια). Σε μία από τις επερχόμενες εκδόσεις, σχεδιάζουν να απενεργοποιήσουν από προεπιλογή τη δυνατότητα χρήσης του αλγόριθμου ψηφιακής υπογραφής δημόσιου κλειδιού "ssh-rsa", ο οποίος αναφέρεται στο αρχικό RFC για το πρωτόκολλο SSH και παραμένει ευρέως διαδεδομένο στην πράξη (για δοκιμή της χρήσης του ssh-rsa στα συστήματά σας, μπορείτε να δοκιμάσετε να συνδεθείτε μέσω ssh με την επιλογή “-oHostKeyAlgorithms=-ssh-rsa”).

Για την ομαλή μετάβαση σε νέους αλγόριθμους στο OpenSSH, σε μελλοντική έκδοση θα ενεργοποιηθεί από προεπιλογή η ρύθμιση UpdateHostKeys, η οποία θα μεταφέρει αυτόματα τους πελάτες σε πιο αξιόπιστους αλγόριθμους. Οι προτεινόμενοι αλγόριθμοι για μετεγκατάσταση περιλαμβάνουν τους rsa-sha2-256/512 που βασίζονται στο RFC8332 RSA SHA-2 (υποστηρίζεται από το OpenSSH 7.2 και χρησιμοποιείται από προεπιλογή), τον ssh-ed25519 (υποστηρίζεται από το OpenSSH 6.5) και το ecdsa-sha2-nistp256/384 σε RFC521 ECDSA (υποστηρίζεται από το OpenSSH 5656).

Από την τελευταία έκδοση, τα "ssh-rsa" και "diffie-hellman-group14-sha1" έχουν αφαιρεθεί από τη λίστα CASignatureAlgorithms που ορίζει τους αλγόριθμους που επιτρέπεται να υπογράφουν ψηφιακά νέα πιστοποιητικά, καθώς η χρήση του SHA-1 σε πιστοποιητικά ενέχει πρόσθετο κίνδυνο λόγω αυτού ο εισβολέας έχει απεριόριστο χρόνο για να αναζητήσει σύγκρουση για ένα υπάρχον πιστοποιητικό, ενώ ο χρόνος επίθεσης στα κλειδιά κεντρικού υπολογιστή περιορίζεται από το χρονικό όριο σύνδεσης (LoginGraceTime).

Πηγή: opennet.ru

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