ESET researchers discovered 11 vulnerable UEFI shim bootloaders signed by Microsoft that allow attackers to bypass UEFI Secure Boot by exploiting decade-old vulnerabilities.
Kind of. You can change the signing key for the operating system, but you cannot change the signing key of the primary bootloader, as that is baked into the SoC.
That’s moreso because it’s using an unofficial key, so the device manufacturer (Google in the case of Pixels) cannot verify the authenticity of the OS you’re running.
If you were able to replace that bootloader with a custom one, then you would be able to disable that message or just use a completely different bootloader like UBoot or EDK2 if it was ported, though.
Functionally, though, wouldn’t it be the same as replacing the computer’s SecureBoot bootloader, since it’s Microsoft (in the case of SecureBoot) that doesn’t like the unofficial key that Linux installs? Shouldn’t the user be allowed to add or remove any key they desire from the allow list of official keys (maybe have some sort of decentralized verification system, if they user decides they want to verify it)?
I’m more thinking out loud here, trying to understand.
The difference is that with ARM TrustZone, there is an efuse burned with the key that the manufacturer set in the SoC itself that checks the signature of the primary bootloader, which cannot be modified.
Standard computers do not have such a hardware-level key, so if you wanted to replace the bootloader with something like coreboot if it has been ported to your board, then you can. On smartphones, you do not have that option.
Same thing goes for even more locked down systems like game consoles.
Is there no way to clear that memory? Or is it more just that it’s uncommonly difficult that the people with the skillset just do other, more value added things?
It’s not memory, but rather physical fuses that have been blown on the die itself, similar to the Xbox 360’s downgrade protection fuses and CPU key. Much like the Xbox 360, the only way to bypass it would be to do something like a reset glitch hack to glitch the state of the CPU right as it tries to read the state of the fuses and bypass that check, and that would require a specific modchip for every individual device. Another option would be to replace the SoC with one that does not have that protection enabled to begin with.
deleted by creator
Kind of. You can change the signing key for the operating system, but you cannot change the signing key of the primary bootloader, as that is baked into the SoC.
I’m assuming this is why it will forever “warn” me that my phone is running an “insecure” OS?
That’s moreso because it’s using an unofficial key, so the device manufacturer (Google in the case of Pixels) cannot verify the authenticity of the OS you’re running.
If you were able to replace that bootloader with a custom one, then you would be able to disable that message or just use a completely different bootloader like UBoot or EDK2 if it was ported, though.
Functionally, though, wouldn’t it be the same as replacing the computer’s SecureBoot bootloader, since it’s Microsoft (in the case of SecureBoot) that doesn’t like the unofficial key that Linux installs? Shouldn’t the user be allowed to add or remove any key they desire from the allow list of official keys (maybe have some sort of decentralized verification system, if they user decides they want to verify it)?
I’m more thinking out loud here, trying to understand.
The difference is that with ARM TrustZone, there is an efuse burned with the key that the manufacturer set in the SoC itself that checks the signature of the primary bootloader, which cannot be modified.
Standard computers do not have such a hardware-level key, so if you wanted to replace the bootloader with something like coreboot if it has been ported to your board, then you can. On smartphones, you do not have that option.
Same thing goes for even more locked down systems like game consoles.
Ah, that makes a lot more sense!
Is there no way to clear that memory? Or is it more just that it’s uncommonly difficult that the people with the skillset just do other, more value added things?
It’s not memory, but rather physical fuses that have been blown on the die itself, similar to the Xbox 360’s downgrade protection fuses and CPU key. Much like the Xbox 360, the only way to bypass it would be to do something like a reset glitch hack to glitch the state of the CPU right as it tries to read the state of the fuses and bypass that check, and that would require a specific modchip for every individual device. Another option would be to replace the SoC with one that does not have that protection enabled to begin with.
I was unaware of this. Super interesting, and disturbing honesty.
deleted by creator