I’ve made the effort to secure mine and am aware of how the trusted protection module works with keys, Fedora’s Anaconda system, the shim, etc. I’ve seen where some here have mentioned they do not care or enable secure boot. Out of open minded curiosity for questioning my biases, I would like to know if there is anything I’ve overlooked or never heard of. Are you hashing and reflashing with a CH341/Rπ/etc, or is there some other strategy like super serious network isolation?
I consider bootloader attacks a very low-probability threat, and quite honestly I don’t trust the average board vendor to produce anything that’s actually secure anyway. If I were in the habit of carrying a laptop back and forth across international borders I might feel differently, but for a desktop stuck in a room in Canada that hardly anyone enters when I’m not present, Secure Boot is a major hassle in return for a small security gain. So I just don’t bother.
Very recent relevant article, apparently not mentioned yet https://arstechnica.com/security/2024/07/secure-boot-is-completely-compromised-on-200-models-from-5-big-device-makers/
I have my home folder encrypted and I enter my password on boot. I’m not really sure what benefits Secure Boot has in environments where you have to enter your password anyway. And in environments where you don’t have to enter your password, someone could just steal your system anyway and boot it to get your data.
Secureboot is meant to help protect you against the evil maid attack. IE someone with physical access to your computer can compromise your boot loader with a keylogger that can capture your encryption password so that when they return they can gain access to your computer as they now know your password. Though the vast majority of people just don’t need to worry about that level of attack so I have never really bothered with secureboot.
The thing is… If someone has access to your system enough to replace your bootloader, they could probably just slip a USB keylogger between your keyboard and computer. Or set up a small hidden camera. Or plug all your devices into a raspberry pi to spoof the login screen.
It strikes me as odd that people assume that an attacker with a few hours physical access is going to bother going down the “change the bootloader” route when there are other, easier routes available.
Ironically, the only practical use case I can see for Secure Boot is when you have a dual boot setup where you don’t trust one of the OSes. Which I’m betting wasn’t Microsoft’s intention at all.
Just because they can do X doesn’t mean you shouldn’t protect against Y.
Just as an example scenario, say border guards took my laptop out of my eyesight. A camera or USB keylogger won’t do anything in that case. Hijacking my bootloader though potentially gives them access to my machine without me having any clue.
Secure Boot is useful and worth setting up. But everyone has to decide their own level of comfort when it comes to security.
No point in putting locks on your house, because an attacker can just drive their car through your front door.
The attacks you mention have their own ways of being detected: usually eyeballs. But eyeballs can’t help you against something hiding in your bootloader. So Secure Boot was made.
And I don’t really follow your dual boot claim. If you don’t trust one of the OSes, and you boot it up on your hw, you’re already hosed. At that point it can backdoor your bootloader and compromise your other OS. Secure Boot prevents malicious OSes from being booted, it can’t help you if you willingly boot a malicious OS.
You can use measured boot as part of the firmware boot process, store a hash of the known good boot files on a trusted media and compare that.
This is done with the Heads payload in Coreboot. But support is like only Thinkpads and now also soon Novacustom, Nitrokey and maybe System76 laptops.
The thing is, then you know your kernel is safe, but what about the rest? Depending on the attack vector, a system like on Android with full immutability and a recovery that verified the whole OS root partition would be safer.
But this means that you have no ability to customize, without breaking things.
Keep EFI bootloader off the computer (n+1 copies on a flash drive). Make /boot
partition fully encrypted.
Don’t trust Secure Boot.
If you can, try the coreboot.
Don’t trust Secure Boot.
That’s the second best thing as long as you don’t worry about nation state actors (you’re fucked by then anyway). Only requirement is a board/laptop manufacturer with a proper uefi setup (eg ability to set your own keys, not using those “do not use” test keys, etc) - that usually comes with business machines.