I would love to see references from Purism saying tampering prevention for Pureboot, since the protections offered are the ones of Heads which Pureboot is a fork, and Heads is about tampering evidence, nothing more unless marketing speech messups written by people not understanding technology.
They advertise detection against physical attack with Heads. There are plenty of places where they do it, but let’s start with this YouTube video:
That is Kyle, their Chief Security Office then and President now. Not exactly marketing people.
Here is the PureBoot page they linked in their recent marketing material: PureBoot, the High Security Boot Process – Purism
In this second link, they advertise protection against malware compromising the firmware.
So we have at minimum 2 security properties being advertised here.
So the first one, against physical attacks, it clearly cannot provide that protection. You never advertised such things, so of course I am not going to hold it against you or Heads. The problem here is that they can be pwned in just 1 go, the very thing they advertised that they can defend against in that video. You absolutely do not need to defend them, but this is the type of thing they advertise. This is the type of unethical marketing I am talking about. It has absolutely nothing to do with the whole “getting certified by Qubes then changing the hardware”. That is not what I am talking about.
With Boot Guard, depending on the OS configuration, I can do a full combo of TPM + PIN + FIDO2 if I wanted to. This is already possible. You’d need at least 3 evil maid attacks, or 2 evil maid attacks + stealing the FIDO2 key. It is much stronger.
Now, to the second security property, against malware gaining persistence.
You denied the fact that to get the firmware version itself, you need physical access to the machine.
This is the misunderstanding with your post. If I have compromised the OS, I do not need to get your firmware version or lie about the measurements.
The property with Heads is that every kernel update, the user will see a red warning, that is expected. So that can be abused by the attacker.
They can just make a dnf/apt/pacman hook or whatever to do internal flashing when the kernel is being updated. They can wait for a kernel update to do internal flashing of their firmware at the same time. The user will see a red warning, think its normal, opt to sign the new stuff the warning goes away, and that is the end of it. The malware is now persistent in the firmware until someone actually take a dump of the firmware with an external computer and check it.
These are 2 completely scenarios.
Against the first one, I do not see this ever getting better than having an immutable RoT. It doesn’t have to be Boot Guard, it can be AMD PSB or whatever the new Snapdragon laptops use. If they just acknowledge that it is a problem like you do and retract all of the false marketing, that would be one thing. But in reality they are just lying. I burnt $2000 on a Librem 14 expecting better protection than the Latitudes/Precisions and I got a much worse product. I also wish I didn’t fall for their nonsense and believe that normal laptops do not have protection.
Against the second attack - it can be solved with a functioning physical write protection toggle. Guess what? They don’t even have it right now. They have been selling laptops and making these claims for years now, where is the EEPROM write protection? The Librem 14 I bought is an insecure mess - it can’t even defend itself against this.
Please do a PoC and leave me out of this. 7 years we wait for a PoC. Yes there is a theoritical flaw, but don’t bring my reasoning and explanations to meet your simplistic “bootblock could lie” as agreeing with you on things I said multiple times disagreeing with you with already.
You said multiple times that physical attacks = game over. Do you really want a PoC just to prove something you already know? The logic isn’t there.
With the second attack, I can just write a package manager hook. Which one do you want?
Let’s try with pacman, its just something along these lines:
/etc/pacman.d/hooks/99-malware.hook
[Trigger]
Type = Package
Operation = Upgrade
Target = linux
[Action]
Description = Kapoot
When = PostTransaction
Exec = /path/to/intenal/flash/script.sh
Absolutely no fancy measurement bypass needed! There, that took me about 1 minute looking up how to make a pacman hook.
Even with a physical toggle to defend against the second attack, it is extremely annoying and not realistic to expect to do this, especially on a fleet.
Every firmware update on a laptop = Taking the bottom cover off, turning WP off, get a somehow trusted computer to build the firmware and do external flashing, turning WP on, putting the bottom cover back on. If you wanna do the nail polish stuff, that’s even extra work. And this excercise only means something if the user actually reads the source code and audit everything themselves, otherwise its still just blind trust. This is just not realistic.
Oh, and Purism sells servers with PureBoot too. Good luck doing this business with a whole server rack, or a whole suite.
I have 0 clue why ou keep bringing up the USB strategy. If the firmware is already malicious, why are you even trying to do internal flashing? The point is not to find out if you have been pwned after the fact, the point is to prevent booting into the compromised environment so people don’t get pwned in the first place.
At best, you are harming the whole ecosystem instead of bettering it.
How? Just because I call out obvious lies by a company regarding security properties?
Are you working for Bootguard? It looks like it.
No. I just look for the most secure and maintainable solution, and I set up stuff in my OS to work with it for as much protection possible. It just so happens that I keep saying Boot Guard because it is the easiest. The same logic applies for AMD PSB or whatever with an immutable RoT.
Status quo is not an option.
Too bad, unless there is a better idea that immutable RoT, I am sticking with it. This applies to any kind of device I have - my several laptops, my fleet of servers, and my phones.
This one promoting status quo with ideas like “I have enough money to buy a new laptop if keys are leaked”.
Because it is the most realistic thing to do.
I follow the news so everyone should
No, I just follow the news in general. And I was never vulnerable to the leaked PK stuff. Standard practice with me is rolling my own PK key. I recommend what is objectively the best solution to other people, I am not tied to a particular product or ideology. I certainly wouldn’t recommend an objectively less secure product to other people and promoting it cuz “muh freedom”.
Do you think we are aware of all leaked private keys
Of course not. But then the question is what happens with the leaked keys?
In the case of the leaked PK you originally linked - the impact is 0 if you follow the practice of doing your own PK enrollment anyways. If you buy a Secured-core laptop (I do), there is not ever a need to trust the OptionROMs with your KEK or DB. So you can just have stuff signed by your key in the DB and that’s it. Idk what the problem is.
In the case of MSI Boot Guard key leaks, it is the unfortunate case that there is no mitigation. But guess what?
- Against the first attack, it is only less effort for the attacker to pwn it. But otherwise, it is the same as Heads, it can be compromised in 1 go.
- Against the second attack, it fair better than the Librem laptops still. Yes, you need to follow the news, but the mitigation is just disabling the UEFI update capsule. Download the firmware updates from another computer and use the firmare’s internal update tool. The SPI flash should not be directly writable. At least, that is not the case with Dell/Lenovo. I don’t have an MSI laptop anymore so I can’t check.
Anyhow, for vendors like MSI, I just blacklist them altogether as their firmware is super buggy anyways, on top of how the Boot Guard keys situation was handled.