Σοβαρό κενό ασφαλείας στο Secure Boot, το πρότυπο εκκίνησης που ανέπτυξε η Microsoft για την προστασία υπολογιστών από κακόβουλο λογισμικό χαμηλού επιπέδου, παρέμενε απαρατήρητο για 13 από τα 14 χρόνια ύπαρξής του. Ερευνητές της εταιρείας κυβερνοασφάλειας ESET ανακάλυψαν ότι 11 παλιές εικόνες firmware, γνωστές ως «shims», εξακολουθούσαν να φέρουν υπογραφή της Microsoft παρά το γεγονός ότι είχαν χαρακτηριστεί ελαττωματικές — κάποιες από αυτές από το 2013.
Τα shims δημιουργήθηκαν αρχικά για να επεκτείνουν την προστασία Secure Boot σε συσκευές με Linux και σε βοηθητικό λογισμικό. Η βασική τους λειτουργία είναι να λειτουργούν ως δευτερεύουσα άγκυρα εμπιστοσύνης στη διαδικασία εκκίνησης. Σε αντίθεση με τον κύριο bootloader της Microsoft, όπου κάθε στοιχείο πρέπει να υπογράφεται από πιστοποιητικό που βρίσκεται στη λίστα επιτρεπόμενων (db), τα shims φέρουν ένα ενσωματωμένο πιστοποιητικό που εξουσιοδοτεί όλο το λογισμικό που φορτώνεται στη συνέχεια.
Το πρόβλημα έγκειται στο γεγονός ότι η Microsoft απέτυχε να ανακαλέσει (revoke) αυτές τις εικόνες shims μόλις ανακαλύφθηκαν τα τρωτά σημεία τους. Ο ερευνητής της ESET, Martin Smolár, εξήγησε ότι η επίθεση δεν απαιτεί εξελιγμένες τεχνικές εκμετάλλευσης ευπαθειών — αρκεί ένα αντίγραφο ενός παλιού, ανακλημένου shim και βασική κατανόηση της λειτουργίας τους.
Η απειλή εκτείνεται τόσο σε χρήστες Windows όσο και Linux, καθώς το shim μπορεί να εγκατασταθεί σε συσκευές που τρέχουν και τα δύο λειτουργικά συστήματα. Ένας εισβολέας μπορεί να υπονομεύσει ολόκληρη την αλυσίδα ψηφιακά υπογεγραμμένου firmware, εγκαθιστώντας κακόβουλο λογισμικό που φορτώνεται νωρίς στη διαδικασία εκκίνησης και παραμένει ακόμα και μετά από επανεγκατάσταση του λειτουργικού συστήματος ή αντικατάσταση του σκληρού δίσκου.
Πρόκειται για bootkits, κακόβουλο firmware παρόμοιο με τα LoJax, MosaicRegressor, CosmicStrand και BlackLotus που έχουν εντοπιστεί τα προηγούμενα χρόνια. Τα περισσότερα από αυτά απαιτούν φυσική πρόσβαση στη συσκευή-στόχο, κάτι που το Secure Boot σχεδιάστηκε ακριβώς για να αποτρέψει.
Πολύπλοκο σύστημα επαλήθευσης
Η πολυπλοκότητα του Secure Boot φαίνεται να είναι ένας από τους βασικούς λόγους που οδήγησαν σε αυτή την αβλεψία. Ο μηχανισμός λειτουργεί με δύο βάσεις δεδομένων: την db, που περιέχει όλα τα επιτρεπόμενα πιστοποιητικά υπογραφής, και την dbx, που περιέχει πιστοποιητικά και hashes που δεν θεωρούνται πλέον αξιόπιστα. Ένα στοιχείο επιτρέπεται να φορτωθεί μόνο αν εξουσιοδοτείται μέσω της db και δεν έχει ανακληθεί στην dbx.
Λόγω του περιορισμού χώρου της dbx (32KB), η Microsoft χρησιμοποιεί και εναλλακτικές μεθόδους ανάκλησης: το SBAT (Secure Boot Advanced Targeting) και τον Αριθμό Έκδοσης Ασφαλείας (SVN). Κάθε στοιχείο στη διαδικασία εκκίνησης φέρει μεταδεδομένα που περιλαμβάνουν έναν αριθμό γενεάς (generation number), ο οποίος αυξάνεται κάθε φορά που κυκλοφορεί μια ενημέρωση ασφαλείας. Η πολιτική SBAT ενσωματώνεται στο ίδιο το shim, επιτρέποντας σε ένα παλιό shim να απορρίψει τον εαυτό του εάν είναι ξεπερασμένο.
Παρά τα μέτρα αυτά, τα 11 ελαττωματικά shims που εντόπισε η ESET είτε δεν υποστηρίζουν το SBAT, είτε περιέχουν συσσωρευμένα σφάλματα στον κώδικά τους, είτε υπογράφουν δυαδικά αρχεία δεύτερου σταδίου που είναι γνωστά για τις ευπάθειές τους. Χαρακτηριστικό παράδειγμα είναι το shim της Oracle, το οποίο υπογράφει ένα binary ευάλωτο στο CVE-2015-5381, μια ευπάθεια που μπορεί να εκμεταλλευτεί ακόμα και ένας αρχάριος επιτιθέμενος.
Η Microsoft προχώρησε τελικά στην ανάκληση αυτών των shims κατά την τακτική μηνιαία ενημέρωση Ιουνίου, μετά από παρέμβαση της ESET και του CERT. Οι χρήστες Windows που έχουν εγκαταστήσει τις ενημερώσεις Ιουνίου δεν είναι πλέον ευάλωτοι, ενώ οι χρήστες Linux θα πρέπει να συμβουλευτούν τον διανομέα τους ή το Linux Vendor Firmware Service.
Απογοήτευση για το μοντέλο Secure Boot
Ο HD Moore, ειδικός σε θέματα firmware και CEO της runZero, χαρακτήρισε το περιστατικό ως «μια ισχυρή αποδοκιμασία ολόκληρου του μοντέλου Secure Boot». Ο μακροχρόνιος επικριτής του προτύπου επεσήμανε τρία βασικά προβλήματα: η Microsoft αποτελεί de facto την κορυφαία αρχή εμπιστοσύνης για ολόκληρη την πλατφόρμα UEFI, η προστασία δεν μπορεί να κλιμακωθεί επαρκώς, και τα στοιχεία μπορούν να εκκινούν ακόμα και μετά τη λήξη των κορυφαίων πιστοποιητικών.
«Το αποτέλεσμα είναι ένας τεράστιος αριθμός υπογεγραμμένων στοιχείων (άγνωστων σε όλους εκτός από τη Microsoft) που παρακάμπτουν το Secure Boot — κάποια από τα οποία μπορούν στη συνέχεια να χρησιμοποιηθούν για την εκκίνηση άλλων στοιχείων — και όλα αυτά έχουν κανονικές ευπάθειες ασφαλείας που σημαίνουν ότι μπορούν να χρησιμοποιηθούν για την εκκίνηση σχεδόν οτιδήποτε», δήλωσε ο Moore. «Ολόκληρο το οικοσύστημα είναι κάπως χαλασμένο και χρειάζεται επανεκκίνηση».