6 ms·
Except the same keys have been used to sign some EFI loaders from other vendors, namely Kaspersky Rescue Disk 18, so it isn't really as locked down as they woul
by rekoil 7y ago
Except the same keys have been used to sign some EFI loaders from other vendors, namely Kaspersky Rescue Disk 18, so it isn't really as locked down as they would have us believe.
https://habr.com/en/post/446238/ https://habr.com/en/post/446238/
- beojan 7y agoNot if you replace the keys with your own.
- rekoil 7y agoSure, and I do that, but most users will not, they will select Secure Boot and think that their boot is now secure.
- p_l 7y agoThere are two keys distributed by MS - one for Windows, one for third party applications. The latter one is used by Linux shim bootloader and the like. MS also requires that all devices that are supposed to be "full featured" support replacing all keys and loading user keys, and the highest security deployment setup for Windows Enterprise requires that you sign windows bootloader (or, more likely, sign the hash of the specific binary you are using) yourself.
- shawnz 7y ago> the highest security deployment setup for Windows Enterprise requires that you sign windows bootloader (or, more likely, sign the hash of the specific binary you are using) yourself. To my knowledge that's not possible with the Microsoft bootloader, you need to use Microsoft's keys, hence why I am suggesting that this open source bootloader could be useful. Can you provide some more information about such a setup?
- p_l 7y agoThe basic procedure is as follows: - Remove all keys (switch to Setup mode) - Setup your own PKI and platform keys - Sign hash of specific EFI files and load those signatures into EFI The last part doesn't require modifying files themselves, as you're locking specific files. The firmware will make a hash of the file, and verify that it's on permitted list (the list is signed)
- shawnz 7y agoIf I'm not mistaken it's actually a hash of the file's signature that you have to register, not a hash of the file itself. And Bootmgr will not allow you to change its signature. Thus any computer that is configured to boot Windows with secure boot will be able to boot any copy of Windows.
- jedieaston 7y agoThis document is aimed at OEMs, but they specifically say that high-security environments can generate Secure Boot keys and use them on their devices in conjunction with their own Windows image. (I’d imagine that you need the Windows SDK and some know how/MS consulting to get it working, though) https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-secure-boot-key-creation-and-management-guidance#2-key-management-solutions https://docs.microsoft.com/en-us/windows-hardware/manufactur...
- shawnz 7y agoThis document is about generating the platform key, but changing the platform key alone doesn't allow you to do what I'm suggesting. Even after setting your own platform key you would still need to trust the key for Microsoft's bootloader. See section 1.4.1: > The Microsoft Windows Production PCA 2011 with a SHA-1 Cert Hash of 58 0a 6f 4c c4 e4 b6 69 b9 eb dc 1b 2b 3e 08 7b 80 d0 67 8d must be included in db in order to allow the Windows OS Loader to load.
- p_l 7y agoFor OEM to allow reinstall done "normally", yes. But DB entries can also contain SHA-256 hashes of the image to load (with the image stripped of the signature, which btw allows you to also resign it). https://blog.hansenpartnership.com/the-meaning-of-all-the-uefi-keys/ https://blog.hansenpartnership.com/the-meaning-of-all-the-ue... https://www.nsa.gov/Portals/70/documents/what-we-do/cybersecurity/professional-resources/csi-uefi-lockdown.pdf https://www.nsa.gov/Portals/70/documents/what-we-do/cybersec...
- shawnz 7y ago> which btw allows you to also resign it Are you sure? I havent tried, but this disagrees: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/dn747883(v=win.10)?redirectedfrom=MSDN https://docs.microsoft.com/en-us/previous-versions/windows/i... "Windows boot components: BootMgr, WinLoad, Windows Kernel Startup. Windows boot components verify the signature on each component. Any non-trusted components will not be loaded and instead will trigger Secure Boot remediation. " > DB entries can also contain SHA-256 hashes OK, fair enough, but it still doesn't really solve the problem because an attacker could just copy your modified bootmgr to be able to steal and use your workstation. In order for this to work you'd also have to add some kind of additional checks which we can now do with an open source version of the bootloader.