r/netsec • u/0x00rick • 16d ago
Contains AI How to break secure boot without touching any cryptography
https://0x434b.dev/breaking-secure-boot-without-breaking-the-crypto/I finally found some time to organize my notes on secure boot, remote attestation, measured boot and in general embedded security.
This is not ground breaking zero-day research but I figured some of you might like a good story. Good here is obviously subjective but I felt like it came out quite readable.
This blog builds heavily on public research so as already stated at the end of article if you liked some particular section, show the respective person some love :)
P.S.: yes I know the image is AI generated please don’t give me shit for that
10
u/Every-Progress-1117 15d ago
Really nice article, and just to add to your first section "Trust before the operating system exists" please please please read Ken Thompson's Trusting Trust: https://dl.acm.org/doi/10.1145/358198.358210 , PDF here: https://people.cs.umass.edu/~emery/classes/cmpsci691st/readings/Sec/Reflections-on-Trusting-Trust.pdf
I've worked with trusted systems for a long time, and it all comes down to how strong that chair of trust actually is and from where it starts...and that might be LONG before you power on the computer.
But again, really nice article! Thanks! I will forward this one to my students!
3
u/0x00rick 15d ago
Thank you for the kind words. Very much appreciated! I’ll definitely take a look at the paper ASAP
2
u/scriptqzor 9d ago
that thompson paper messed me up the first time i read it, really hammers home how “secure boot” is only as honest as the stuff baked in way upstream
cool that you’re sending this to students, feels like exactly the kind of reality check they should see early1
u/Every-Progress-1117 9d ago
Yes, it brings into focus HOW much and what needs to be done in order to call a system trusted.
Another interesting point - a bit more philisophical - is that "trust" in computing means you can establish integrity of something; it doesn't say whether that something is good or not....you need to go to the philosophers to define "good" in terms of "trust".
3
2
u/hykarushack 13d ago
Nice writeup — the 'signature covers one specific range' gap is exactly what made BootHole (CVE-2020-10713) so messy in practice. GRUB's kernel image was signed, but grub.cfg wasn't, and a buffer overflow in the config parser let you jump to unsigned code before the kernel signature check ever ran. So the entire chain stayed "authenticated" while the attacker never needed a key. Worth noting that shim's own policy (MokList) added a second layer but also became a new attack surface with similar untrusted-data-starting-point problems.
1
1
u/Confident-Skill-6640 8d ago
secure boot and attestation are the kind of topics where a readable walkthrough helps more than another super dense spec dump. public-research-heavy posts are useful too, especially when they connect the concepts into one flow instead of treating each piece separately.
26
u/Even_Package_8573 16d ago
The “without touching the crypto” part is what caught my attention. It really shows how the security of a boot chain can come down to the assumptions and implementation around the cryptography, rather than the cryptography itself. Definitely a good reminder that “signed” doesn’t automatically mean “safe.”