Ευπάθεια στο πρόγραμμα οδήγησης NTFS από το GRUB2, που επιτρέπει την εκτέλεση κώδικα και την παράκαμψη του UEFI Secure Boot

Εντοπίστηκε ένα θέμα ευπάθειας (CVE-2-2023) στο πρόγραμμα οδήγησης που παρέχει εργασία με το σύστημα αρχείων NTFS στον φορτωτή εκκίνησης GRUB4692, το οποίο επιτρέπει την εκτέλεση του κώδικά του σε επίπεδο φορτωτή εκκίνησης κατά την πρόσβαση σε μια ειδικά σχεδιασμένη εικόνα συστήματος αρχείων. Η ευπάθεια μπορεί να χρησιμοποιηθεί για την παράκαμψη του μηχανισμού εκκίνησης επαληθευμένης εκκίνησης UEFI Secure Boot.

Η ευπάθεια οφείλεται σε ένα σφάλμα στον κώδικα ανάλυσης για το χαρακτηριστικό $ATTRIBUTE_LIST NTFS (grub-core/fs/ntfs.c), το οποίο μπορεί να χρησιμοποιηθεί για την εγγραφή πληροφοριών ελεγχόμενων από τον χρήστη σε μια περιοχή μνήμης έξω από το εκχωρημένο buffer. Κατά την επεξεργασία μιας ειδικά σχεδιασμένης εικόνας NTFS, μια υπερχείλιση οδηγεί σε αντικατάσταση μέρους της μνήμης GRUB και επίσης, υπό ορισμένες συνθήκες, σε βλάβη της περιοχής μνήμης υλικολογισμικού UEFI, η οποία ενδεχομένως σας επιτρέπει να οργανώσετε την εκτέλεση του κώδικα στον φορτωτή εκκίνησης ή επίπεδο υλικολογισμικού.

Επιπλέον, μια άλλη ευπάθεια (CVE-2-2023) εντοπίστηκε επίσης στο πρόγραμμα οδήγησης NTFS από το GRUB4693, το οποίο επιτρέπει την ανάγνωση των περιεχομένων μιας αυθαίρετης περιοχής μνήμης κατά την ανάλυση του χαρακτηριστικού "$DATA" σε μια ειδικά σχεδιασμένη εικόνα NTFS. Μεταξύ άλλων, η ευπάθεια σάς επιτρέπει να ανακτήσετε ευαίσθητα δεδομένα που είναι αποθηκευμένα στην κρυφή μνήμη ή να προσδιορίσετε τις τιμές των μεταβλητών EFI.

Τα προβλήματα μέχρι στιγμής έχουν επιλυθεί μόνο με τη μορφή patch. Η κατάσταση της εξάλειψης των τρωτών σημείων στις διανομές μπορεί να αξιολογηθεί σε αυτές τις σελίδες: Debian, Ubuntu, SUSE, RHEL, Fedora. Για να διορθώσετε προβλήματα στο GRUB2, δεν αρκεί μόνο η ενημέρωση του πακέτου· πρέπει επίσης να δημιουργήσετε νέες εσωτερικές ψηφιακές υπογραφές και προγράμματα εγκατάστασης ενημερώσεων, φορτωτές εκκίνησης, πακέτα πυρήνα, υλικολογισμικό fwupd και στρώμα shim.

Οι περισσότερες διανομές Linux χρησιμοποιούν ένα μικρό στρώμα shim ψηφιακά υπογεγραμμένο από τη Microsoft για επαληθευμένη εκκίνηση σε λειτουργία ασφαλούς εκκίνησης UEFI. Αυτό το επίπεδο επαληθεύει το GRUB2 με το δικό του πιστοποιητικό, το οποίο επιτρέπει στους προγραμματιστές διανομής να μην έχουν κάθε πυρήνα και ενημέρωση GRUB πιστοποιημένη από τη Microsoft. Τα τρωτά σημεία στο GRUB2 σάς επιτρέπουν να επιτύχετε την εκτέλεση του κώδικά σας στο στάδιο μετά την επιτυχή επαλήθευση shim, αλλά πριν από τη φόρτωση του λειτουργικού συστήματος, ενσωματώνοντας την αλυσίδα εμπιστοσύνης όταν είναι ενεργή η λειτουργία Ασφαλούς εκκίνησης και αποκτώντας πλήρη έλεγχο της περαιτέρω διαδικασίας εκκίνησης, Για παράδειγμα, για να φορτώσετε ένα άλλο λειτουργικό σύστημα, τροποποιήστε τα στοιχεία του λειτουργικού συστήματος και παρακάμψτε την προστασία κλειδώματος.

Για τον αποκλεισμό της ευπάθειας χωρίς ανάκληση της ψηφιακής υπογραφής, οι διανομές μπορούν να χρησιμοποιήσουν τον μηχανισμό SBAT (UEFI Secure Boot Advanced Targeting), ο οποίος υποστηρίζεται για GRUB2, shim και fwupd στις περισσότερες δημοφιλείς διανομές Linux. Το SBAT αναπτύχθηκε από κοινού με τη Microsoft και περιλαμβάνει την προσθήκη πρόσθετων μεταδεδομένων στα εκτελέσιμα αρχεία των στοιχείων UEFI, τα οποία περιλαμβάνουν πληροφορίες σχετικά με τον κατασκευαστή, το προϊόν, το στοιχείο και την έκδοση. Τα καθορισμένα μεταδεδομένα είναι πιστοποιημένα με ψηφιακή υπογραφή και μπορούν να συμπεριληφθούν χωριστά στις λίστες επιτρεπόμενων ή απαγορευμένων στοιχείων για την Ασφαλή εκκίνηση του UEFI.

Το SBAT σάς επιτρέπει να αποκλείσετε τη χρήση ψηφιακών υπογραφών για μεμονωμένους αριθμούς έκδοσης στοιχείων χωρίς να χρειάζεται να ανακαλέσετε τα κλειδιά για την Ασφαλή εκκίνηση. Ο αποκλεισμός ευπαθειών μέσω SBAT δεν απαιτεί τη χρήση λίστας ανάκλησης πιστοποιητικών UEFI (dbx), αλλά πραγματοποιείται στο επίπεδο αντικατάστασης του εσωτερικού κλειδιού για τη δημιουργία υπογραφών και την ενημέρωση του GRUB2, του shim και άλλων τεχνουργημάτων εκκίνησης που παρέχονται από διανομές. Πριν από την εισαγωγή του SBAT, η ενημέρωση της λίστας των πιστοποιητικών ανάκλησης (dbx, UEFI Revocation List) ήταν απαραίτητη προϋπόθεση για τον πλήρη αποκλεισμό της ευπάθειας, καθώς ένας εισβολέας, ανεξάρτητα από το λειτουργικό σύστημα που χρησιμοποιούσε, μπορούσε να χρησιμοποιήσει την εκκίνηση εκκίνησης για να υπονομεύσει την Ασφαλή εκκίνηση του UEFI

Πηγή: opennet.ru

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