Microsoft's Secure Boot, a security feature designed to protect Windows and Linux devices from firmware infections, has been compromised for over a decade. This vulnerability, exposed by researchers at ESET, highlights a critical flaw in the system that Microsoft overlooked. The issue stems from the existence of 'shims' - secondary trust anchors signed by Microsoft - that were not revoked despite known vulnerabilities. These shims, used to extend Secure Boot to Linux devices and utility software, can be exploited by attackers to bypass the protection mechanism, which is embedded in the UEFI (Unified Extensible Firmware Interface) of the device's motherboard. The threat is significant, as it affects both Windows and Linux users, and the vulnerability has been present for over a decade, potentially allowing attackers to install malicious firmware that persists after OS reinstallation or hard drive replacement.
What makes this situation particularly concerning is the complexity of Secure Boot itself. The system relies on a combination of databases and revocation methods, including SBAT (Secure Boot Advanced Targeting) and Secure Boot Security Version Number (SVN), to manage the trust chain. However, the high number of Linux components executed during bootup makes it impossible to list each of them in the databases, leading to a reliance on other revocation methods. This complexity, combined with Microsoft's failure to revoke the vulnerable shims, has resulted in a significant security gap that has gone unnoticed for far too long.
The implications of this vulnerability are far-reaching. Attackers can use the vulnerable shims to install malicious firmware, which can then be used to boot other components, including those with normal security bugs and other mistakes. This means that the entire ecosystem is 'somewhat broken' and in need of a reboot, as HD Moore, a firmware security expert, has noted. The situation is further complicated by the fact that even the expiration of the Microsoft certificate that signed the shims is not enough to revoke the vulnerable ones.
In my opinion, this situation is a solid rebuke of the secure boot model. It highlights the dangers of relying on a single root of trust, the inability of the protection to scale sufficiently, and the ability of components to boot even after top-level certificates expire. It also underscores the importance of regular security audits and the need for a more robust and transparent system for managing trust chains. As a user, I find this situation deeply unsettling, and I hope that Microsoft takes immediate action to address this critical vulnerability and restore confidence in the security of its products.