It might help to clarify under what situations a bootloader password provides a meaningful level of additional security.
Right.
I am documenting that here: Bootloader Password
From my standpoint, you have to have at least a bootloader password, a root password, and a BIOS password for it to be useful at all (the root password keeps you from gaining privileges when powered on, the bootloader password keeps you from gaining privileges by rebooting and entering recovery mode, and the BIOS password keeps you from gaining privileges by rebooting into an OS on an external drive).
Doesn’t a BIOS password alone already prevent all of that and requires taking out the drive or some other physical attack?
Well, one could add the assumption that the adversary has a BIOS password bypass. Then the bootloader password might help. This might be an unrealistic assumption.
I think a BIOS password + FDE pre boot authentication password is sufficient “in most cases”.
Then surely the question will come up “in which cases it does not suffice?” The answer is most likely, in complex cases which are not applicable to the reader, because if these were applicable, the question would not come up. One case that can be constructed is some sort of corporate setup.
For example, an employee is given a BIOS password for booting from the internal hard drive, but not from other devices. Furthermore, the employee is allowed to boot using the standard/default option but prevented from booting the recovery boot option, because that password would be retained for system administrators only.
That reminds me of, quote xkcd: Authorization
If someone steals my laptop while I’m logged in, they can read my email, take my money, and impersonate me to my friends, but at least they can’t install drivers without my permission.
But more seriously…
I guess it depends on the threat model. Physical attacks while powered on are always a very high risk situation.
I however was thinking of BIOS password, bootloader password, FDE password, Linux user password, Linux root/sudo password in terms physical attacks while the machine is powered off.
A BIOS password alone will stop most non-technical attackers. More technical attackers who steal the hard drive would be stopped by FDE. That’s why BIOS password + FDE always seemed to be as the most important passwords.
If a physical attacker gets to run (passwordless) sudo, as mentioned in the xkcd, I might not mind much, as most sensitive data is accessible already when logged in as user (not root).
the bootloader password keeps you from gaining privileges by rebooting
But a reboot will go through BIOS or are you referring to kexec? (I don’t know if GRUB can be load somehow using kexec.)
Good, you could say not having a sudo password will allow a physical attacker to run kexec. But is that even still neeed? → xkcd
In that threat model that I am considering here now, physical attacks while powered are excluded. [1]
Right. I would exclude that form that threat model anyhow due to xkcd.
In conclusion, the bootloader password seems to only make sense in niche cases.
- BIOS password bypass included in the threat model
- corporate (alike) situations
- adversary taking out the hard drive and attempting to boot it in a different computer (circumventing BIOS password) (but then FDE would be much more important)
Please correct me if I am wrong. Happy to present the full threat model analysis in the wiki.
[1] For physical attacks while powered on: