rdos wrote:You forget that many motherboards are manufactured in China, and so might contain backdoors
While that's true, spreading a board with malicious code put there by the manufacturer gets into light in no time. That's why the U.S. is banning Huawei. You can choose not to buy Chinese boards, problem solved. On the other hand you cannot avoid a malicious attacker to alter your ESP if they really really want to. And they don't have to be the manufacturer for that, anyone can do that with physical access to the machine (evil maid attack) or remotely using another exploit in the OS.
Gigasoft wrote:Then your firmware doesn't behave according to the UEFI specification. Your computer is broken - go return it. When Secure Boot is turned on, the firmware shall not load a driver from an option ROM or from the disk that is not signed with the appropriate key.
This will work without violating the UEFI spec and Secure Boot turned on. You see, the problem here is, that you (as the machine's owner) have absolutely no control over what
appropriate key is. If Microsoft's privkey gets out (as it has), if the attacker get their hands on the FBI's golden key (as they have), or one of the manufacturer's employee steals the privkey (as it happened with the Sony PSP and XBox One's private keys), you're screwed. Any rootkit can be installed even though the user thinks Secure Boot is on, so it must be safe, right? Well, in reality it isn't.
And we haven't spoken about that little security fiasco, where Windows' BOOTMGR.EFI (which is signed by MS, so works with Secure Boot no probs) will turn off Secure Boot if the loaded policy file says so... (the policy file isn't signed, and can be easily altered, just a plain simple file on the ESP). Even though this has been fixed, you can replace it with an exploitable (but signed) BOOTMGR.EFI.
Or when you could do the same with Grub, because it's configuration file must look like a programming language which it can't properly validate nor control. It was possible to load any .efi file from a grub.cfg, and even though they've fixed the issue, you can easily replace it with the old exploitable (but signed) GRUB.EFI.
You can do all of that with 100% complying with the UEFI spec and Secure Boot turned on. That's because UEFI is a failure by design.
Cheers,
bzt