Ευπάθειες στο υλικολογισμικό UEFI που βασίζονται στο πλαίσιο InsydeH2O, που επιτρέπουν την εκτέλεση κώδικα σε επίπεδο SMM

Στο πλαίσιο InsydeH2O, που χρησιμοποιείται από πολλούς κατασκευαστές για τη δημιουργία υλικολογισμικού UEFI για τον εξοπλισμό τους (η πιο συνηθισμένη εφαρμογή του UEFI BIOS), έχουν εντοπιστεί 23 ευπάθειες που επιτρέπουν την εκτέλεση κώδικα σε επίπεδο SMM (System Management Mode), το οποίο έχει υψηλότερη προτεραιότητα (Ring -2) από τη λειτουργία hypervisor και μηδενικό δακτύλιο προστασίας και απεριόριστη πρόσβαση σε όλη τη μνήμη. Το ζήτημα επηρεάζει το υλικολογισμικό UEFI που χρησιμοποιείται από κατασκευαστές όπως οι Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel και Bull Atos.

Η εκμετάλλευση των τρωτών σημείων απαιτεί τοπική πρόσβαση με δικαιώματα διαχειριστή, γεγονός που καθιστά τα ζητήματα δημοφιλή ως τρωτά σημεία δεύτερου επιπέδου, που χρησιμοποιούνται μετά την εκμετάλλευση άλλων τρωτών σημείων στο σύστημα ή τη χρήση μεθόδων κοινωνικής μηχανικής. Η πρόσβαση σε επίπεδο SMM σάς επιτρέπει να εκτελείτε κώδικα σε επίπεδο που δεν ελέγχεται από το λειτουργικό σύστημα, το οποίο μπορεί να χρησιμοποιηθεί για την τροποποίηση του υλικολογισμικού και την αφαίρεση κρυφού κακόβουλου κώδικα ή rootkits στο SPI Flash που δεν εντοπίζονται από το λειτουργικό σύστημα, καθώς και για να απενεργοποιήσετε την επαλήθευση στο στάδιο εκκίνησης (UEFI Secure Boot , Intel BootGuard) και τις επιθέσεις σε hypervisors για παράκαμψη μηχανισμών ελέγχου της ακεραιότητας των εικονικών περιβαλλόντων.

Ευπάθειες στο υλικολογισμικό UEFI που βασίζονται στο πλαίσιο InsydeH2O, που επιτρέπουν την εκτέλεση κώδικα σε επίπεδο SMM

Η εκμετάλλευση των τρωτών σημείων μπορεί να πραγματοποιηθεί από το λειτουργικό σύστημα χρησιμοποιώντας μη επαληθευμένους χειριστές SMI (System Management Interrupt), καθώς και στο στάδιο προ-εκτέλεσης του λειτουργικού συστήματος κατά τα αρχικά στάδια της εκκίνησης ή της επιστροφής από την κατάσταση αναστολής λειτουργίας. Όλα τα τρωτά σημεία προκαλούνται από προβλήματα μνήμης και χωρίζονται σε τρεις κατηγορίες:

  • SMM Callout - εκτέλεση του κωδικού σας με δικαιώματα SMM με ανακατεύθυνση της εκτέλεσης των χειριστών διακοπής SWSMI σε κώδικα εκτός SMRAM.
  • Καταστροφή της μνήμης που επιτρέπει σε έναν εισβολέα να γράψει τα δεδομένα του στο SMRAM, μια ειδική απομονωμένη περιοχή μνήμης στην οποία ο κώδικας εκτελείται με δικαιώματα SMM.
  • Καταστροφή της μνήμης στον κώδικα που εκτελείται σε επίπεδο DXE (Περιβάλλον εκτέλεσης προγράμματος οδήγησης).

Για την επίδειξη των αρχών οργάνωσης μιας επίθεσης, έχει δημοσιευτεί ένα παράδειγμα εκμετάλλευσης, το οποίο επιτρέπει, μέσω μιας επίθεσης από τον τρίτο ή μηδενικό δακτύλιο προστασίας, να αποκτήσετε πρόσβαση στο DXE Runtime UEFI και να εκτελέσετε τον κώδικά σας. Το exploit χειρίζεται μια υπερχείλιση στοίβας (CVE-2021-42059) στο πρόγραμμα οδήγησης UEFI DXE. Κατά τη διάρκεια της επίθεσης, ο εισβολέας μπορεί να τοποθετήσει τον κωδικό του στο πρόγραμμα οδήγησης DXE, το οποίο παραμένει ενεργό μετά την επανεκκίνηση του λειτουργικού συστήματος ή να κάνει αλλαγές στην περιοχή NVRAM του SPI Flash. Κατά την εκτέλεση, ο κώδικας εισβολέα μπορεί να κάνει αλλαγές σε προνομιακές περιοχές μνήμης, να τροποποιήσει τις υπηρεσίες χρόνου εκτέλεσης EFI και να επηρεάσει τη διαδικασία εκκίνησης.

Πηγή: opennet.ru

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