Showing posts with label Beyond BIOS. Show all posts
Showing posts with label Beyond BIOS. Show all posts

Tuesday, September 1, 2026

20 years of beyond bios

"Beyond BIOS: Developing with the Unified Extensible Firmware Interface" https://www.amazon.com/Beyond-BIOS-Implementing-Extensible-Interface/dp/0974364908


reaches its twenty year anniversary 

this month. Yet another decade-counting https://vzimmer.blogspot.com/2014/01/advances-in-platform-firmware-beyond.html exercise it seems. 

The book came out of a practical need: EFI (then transitioning to UEFI) had a specification, but no single reference that walked a systems programmer from the metal up through protocols, drivers, and the security model. The UEFI spec https://uefi.org/specifications was (and is) comprehensive and precise, but at ~2,000 pages in 2006 it was not a learning document. We wanted something a firmware engineer new to the ecosystem could actually read cover-to-cover.

Looking back at what the ecosystem looked like in 2006 is instructive. The Unified EFI Forum had just been formed (2005). EDK2 as an open-source project didn't exist yet — EDK (the first-generation toolkit) was the state of the art. Secure Boot wasn't in the UEFI spec. IPv6 network boot wasn't in the spec. The notion of UEFI as the firmware substrate for ARM and RISC-V platforms would have sounded speculative. The footprint of the then-current EFI reference implementation was a fraction of today's EDK2's multi-million-line codebase shipping on essentially every server, PC, and an increasing number of embedded and mobile platforms.

The subsequent editions in 2010 and 2017 tracked the evolution: a second edition https://www.amazon.com/Beyond-BIOS-Developing-Extensible-Interface/dp/1934053295/ added Secure Boot and more on the PI (Platform Initialization) spec work. After Intel Press shut down in the mid 2010's, DeGruyter https://www.amazon.com/dp/1501514784 picked up the third edition in 2017. DeGruyter is Eur

**What held up**

The architectural framing — protocols as the unit of interface abstraction, the PI phases (SEC, PEI, DXE, BDS, RT) as the organizing principle, handles and GUIDs as the extension mechanism — held up remarkably well. UEFI is accused of complexity, sometimes fairly, but the core services and driver model are coherent and the spec has maintained backward compatibility across 20 years in a way that is genuinely difficult to achieve (maybe 25+ years if you consider EFI1.02 and elide things like device i/o protocol).

The security chapters aged less well, which is entirely predictable in retrospect. We knew that SMRAM needed stronger isolation guarantees. We didn't fully anticipate the firmware attack surface becoming a primary target for advanced persistent threat actors. The years between 2006 and the NIST SP 800-147 guidance https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-147.pdf in 2011 represented a period where the attack surface was well ahead of the defensive specification.

It was probably a wise choice not to read in too much on the open source. Although De Gruyter has been around since the mid-1700's, it's beaten by Springer Verlag that has been publishing since the late 15th-century. And APress (a Springer imprint) has been where you see more implementation-focused books https://link.springer.com/search?query=&content-type=Book&dateFrom=&dateTo=&contributor=Vincent+Zimmer&sortBy=newestFirst

I joke to myself that all of these books are BG, or "Before GPT." Now that we are in the AG or "After GPT" era does anything read these tech books (other than models integrating them in their training data set)?  You still need code to realize these solutions, so maybe Rust docs, Git books, and other literate programming approaches where the documentation lives with the code in live repo's is the way to go. 

**What's different in 2026**

I have always felt that the specification needed to be more precise than prose allowed. The evolution from "here's what the spec says in English" to "here are the machine-checked invariants the implementation must maintain" is the direction the field needs to move https://beneficial-ai-foundation.github.io/SVIL2026/. And moving from C (where you can drop CBMC and Frama-C) to Rust (where you have Kani, Verus, Aeneas) goes hand-in-hand with that evolution. Or maybe the TCB is too large and more focused art like DRTM will prevail for aspects of the boot chain that need more assurance?  Or everyone will build their own bespoke stack and have a variant of a vertically-integrated iBoot-style solution? Twenty years from 2026 will be interesting.


Saturday, August 26, 2023

Co-authors then and now

 So I mentioned in my last blog that I could always talk about https://www.cisa.gov/news-events/news/call-action-bolster-uefi-cybersecurity-now.  Well, it turns out the UEFI Forum posted a pretty good read this week on the topic of UEFI and ecosystems, namely the top posting at https://uefi.org/learning_center/papers, in the document https://uefi.org/sites/default/files/resources/Decoding%20UEFI%20Firmware-Aug24-2023-Final_v2_0.pdf


The authors are folks I have enjoyed working with across various teams and decades. Some of the collaborations have spanned companies and different venues, such as papers, books, and presentations. 

To begin, I think Dong Wei https://www.crunchbase.com/person/dong-wei and I first appeared in print together with the original Beyond BIOS book in 2006, 



with Dong providing the forward

Next up was the 2008 UEFI Shell book


with preface



This 2008 book was followed with a 2009 whitepaper https://uefi.org/sites/default/files/resources/A_Tale_of_Two_Standards_0.pdf


I was a bit excited about IPV6 at the time as I was in the throes of getting https://datatracker.ietf.org/doc/html/rfc5970 through an unfamiliar standards body, namely the IETF.

Next was the presentation circuit with 2010 presentation in Shanghai


and San Francisco

Shanghai https://en.sjtu.edu.cn/ was nice to visit since so many of my long-time collaborators in our Intel Shanghai office, like Jiewen Yao, are alumni of this institution.

Then the 2nd edition of the Beyond BIOS book in 2010 came next


with Dong reprising his preface-writing skills with

Finally a couple of proposals for UEFI and RISC-V for the 2015 


and 2016 conference


were created with Dong. 

All of the collaborations before 2023 with Dong were when he was at HP (and then HPe after the split). 

And now in 2023 with Dong as ARM Ltd's chief standards architect and an ARM Fellow.  The total collaboration instances makes nine per my accounting.

Speaking of 'chief's', Insyde Software's Chief Technology Officer  (CTO) https://www.insyde.com/company/executive-management was another rich engagement.


The collaborations with Tim commenced in 2008 with the UEFI Shell book first edition


and an IDF presentation that same year presented at both the Taipei and Shanghai events


The Intel Developer Forum (IDF) was an annual event in California show-casing various Intel and industry advancements. Today I believe it has been superseded by venues such as Intel Ignite. 

I co-authored an Intel Technology Journal https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf article with Tim in 2011



Tim and I also jointly presented in 2011 at the Intel Developer Forum in San Francisco


All of the preceding presentations were done when Tim was with Phoenix Technology. Tim had joined Insyde when the joint book-authorship was reprised with the 2nd edition of the UEFI Shell book in 2017 https://www.degruyter.com/document/doi/10.1515/9781501505751/html



Tim was also gracious to serve as the technical reviewer for Firmware Security https://link.springer.com/book/10.1007/978-1-4842-6106-4 book in 2020 




These collaborations with Tim look like they sum to seven.

Tim and Dong have made seminal contributions to the ACPI, UEFI, and PI specifications. In fact as late as 2010 Tim was the chair of the UEFI Security Subteam (started with the UEFI Forum in 2010). From the 2nd edition of Beyond BIOS

 


 

before I took over that subteam. In fact I drafted this recent overview of the UEFI Forum Subteam's

From there you can see the various working groups.  I believe Dong and Mark Doran co-chair ASWG, Mark PIWG, Mark USWG, etc. Among the co-authors of this blog's showcase paper. Dick Wilkins is the Phoenix Board of Directors (BOD) rep, Bill Keown for Lenovo, and Dong for ARM, respectively. Co-author Brian Mullen chairs the new Software Bill of Material (SBOM) subteam, Dick chairs the UEFI Security Response Team, and I chair the UEFI Security Subteam. I elided subteams like graphics, configuration, and networking from the infographic as they are mostly dormant these last few years. I created the above image derived from earlier https://uefi.org/sites/default/files/resources/UEFI_Plugfest_VZimmer_Fall_2016.pdf as a companion to another mutation (from image in https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure) I crafted to give folks an idea about how SBOM's impact EDKII-style system firmware, viz.,



Well, that's it for today.  This is my small gesture to leave a bit of history since a lot of this system firmware work I've done will be unlikely to land in more esteemed repos like http://www.bitsavers.org/bits/ and is surely aging off the internet. I even recall that a request was required to get the Intel Technology Journal back on intel.com. Regrettably the same audible wasn't called for other publications like "Technology at Intel" magazine or most back-dated Intel Developer Forum prezos. An example of what gets lost on the internet can be found in citation curation sites like https://dblp.uni-trier.de/pid/34/5641.html; here I only see Tim mentioned once, for example.