Δύο τρωτά σημεία στο GRUB2 που σας επιτρέπουν να παρακάμψετε την προστασία UEFI Secure Boot

Έχουν αποκαλυφθεί πληροφορίες σχετικά με δύο τρωτά σημεία στο πρόγραμμα εκκίνησης GRUB2, τα οποία μπορούν να οδηγήσουν σε εκτέλεση κώδικα κατά τη χρήση ειδικά σχεδιασμένων γραμματοσειρών και την επεξεργασία ορισμένων ακολουθιών Unicode. Τα τρωτά σημεία μπορούν να χρησιμοποιηθούν για την παράκαμψη του μηχανισμού εκκίνησης επαληθευμένης εκκίνησης UEFI Secure Boot.

Εντοπίστηκαν τρωτά σημεία:

  • CVE-2022-2601 - Μια υπερχείλιση buffer στη συνάρτηση grub_font_construct_glyph() κατά την επεξεργασία ειδικά σχεδιασμένων γραμματοσειρών σε μορφή pf2, η οποία οφείλεται σε λανθασμένο υπολογισμό της παραμέτρου max_glyph_size και στην εκχώρηση μιας περιοχής μνήμης που είναι προφανώς μικρότερη από την απαραίτητη φιλοξενούν τους γλύφους.
  • CVE-2022-3775 Μια εγγραφή εκτός ορίων προκύπτει κατά την απόδοση ορισμένων ακολουθιών Unicode σε μια γραμματοσειρά με ειδικό στυλ. Το πρόβλημα βρίσκεται στον κώδικα επεξεργασίας γραμματοσειράς και προκαλείται από την έλλειψη κατάλληλων ελέγχων για να διασφαλιστεί ότι το πλάτος και το ύψος της γλυφής ταιριάζει με το μέγεθος του διαθέσιμου bitmap. Ένας εισβολέας μπορεί να δημιουργήσει την είσοδο με τέτοιο τρόπο ώστε να προκαλέσει την εγγραφή της ουράς των δεδομένων στο εξωτερικό του εκχωρημένου buffer. Σημειώνεται ότι παρά την πολυπλοκότητα της εκμετάλλευσης της ευπάθειας, δεν αποκλείεται η μεταφορά του προβλήματος στην εκτέλεση κώδικα.

Η επιδιόρθωση έχει δημοσιευτεί ως ενημέρωση κώδικα. Η κατάσταση της εξάλειψης των τρωτών σημείων στις διανομές μπορεί να αξιολογηθεί σε αυτές τις σελίδες: Ubuntu, SUSE, RHEL, Fedora, Debian. Για να διορθώσετε προβλήματα στο 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) ήταν απαραίτητη προϋπόθεση για τον πλήρη αποκλεισμό της ευπάθειας, καθώς ένας εισβολέας, ανεξάρτητα από το λειτουργικό σύστημα που χρησιμοποιούσε, μπορούσε να χρησιμοποιήσει εκκινήσιμα μέσα με μια παλιά ευάλωτη έκδοση του Το GRUB2 είναι πιστοποιημένο με ψηφιακή υπογραφή για να θέτει σε κίνδυνο την ασφαλή εκκίνηση του UEFI.

Πηγή: opennet.ru

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