[00:02]
Viktor Petersson
Welcome back to Nerding up with Victor, where today we're delving into the realm of coreboot, the forefront of open source BIOS technology.
[00:10]
Viktor Petersson
I'm excited to introduce you to two exceptional guests.
[00:13]
Viktor Petersson
First up, Matt De Villier, a firmware engineer and open source enthusiast, celebrated for his contributions to coreboot at Purism and amd.
[00:22]
Viktor Petersson
In the community, he's also recognized as Mr.
[00:25]
Viktor Petersson
Chromebox, a moniker under which he has made significant strides in custom firmware development.
[00:30]
Viktor Petersson
Joining Matt is David Hendricks, a respected figure in his influential work at giants like Facebook, Google and now Amazon.
[00:38]
Viktor Petersson
His expertise spans a broad spectrum of hardware world with a special focus on coreboot.
[00:44]
Viktor Petersson
Together these experts are poised to illuminate the complexities and significance of coreboot in today's tech landscape.
[00:51]
Viktor Petersson
Let's dive in and no doubt welcome both of you.
[00:54]
Matt Devillier
Thanks Victor.
[00:55]
Viktor Petersson
Super excited to have you on.
[00:56]
Viktor Petersson
Super excited to have you on the show.
[00:59]
Viktor Petersson
And is there anything you guys want to add to the introduction?
[01:02]
Viktor Petersson
Anything that listeners or should know before we dive, before we start the conversations?
[01:07]
David Hendricks
I'm David.
[01:08]
David Hendricks
I have been involved with coreboot kind of on and off since almost the very beginning of the project.
[01:14]
David Hendricks
I started off as an intern working for Ron Minick, who was the project founder.
[01:18]
David Hendricks
This is around the year 2000, 2001 ish.
[01:22]
David Hendricks
So I've been involved for a long time.
[01:26]
David Hendricks
I was a high schooler at the time, didn't know anything about coding, didn't know anything about bios, but I like to build my own computers from scratch.
[01:33]
David Hendricks
I was a gamer and overclocker, and at the time Los Alamos National Lab, which is a high performance computing lab, needed cheap labor to build servers using off the shelf components.
[01:45]
David Hendricks
So my job there was basically to purchase processors and RAM from sites like Newegg, just off the shelf stuff, put them together, throw them in a rack, and then the rest of the team would put the clustering software like Beowulf on it.
[02:00]
David Hendricks
And of course we'd run coreboot and show that you could actually build very good high performance computing systems out of cheap parts.
[02:08]
David Hendricks
Flash forward, I managed to land a job at Google.
[02:11]
David Hendricks
A couple years into that, I found my way into the Chrome team.
[02:15]
David Hendricks
They were looking to make devices like laptops.
[02:18]
David Hendricks
And so I was the first firmware engineer on the Chrome OS team.
[02:22]
David Hendricks
Stayed there for about seven or eight years, then went off to other companies to try and find my roots back in servers again and get open source firmware pushed on servers.
[02:32]
David Hendricks
So that brought me to my current place and my previous employer.
[02:38]
David Hendricks
So that's about it for me.
[02:40]
David Hendricks
Matt, of course is Mr.
[02:41]
David Hendricks
Chromebox, so I'm sure people want to know a lot about his background too.
[02:46]
Matt Devillier
Well, my background's very similar to David's.
[02:49]
Matt Devillier
I grew up being a hardware tinkerer, building my own computers, overclocking, playing games, things like that, the Doomquake, the early days.
[03:00]
Matt Devillier
And out of college got a job just doing coding day to day and didn't really code too much as a hobby.
[03:10]
Matt Devillier
But I also was into home theater at the time and building custom media centers for people using XBMC, which is now Kodi.
[03:22]
Matt Devillier
And so around early 2010s when the first Chrome OS devices came out, the first Chromebox or actually the second generation Chromebox was a really excellent candidate for a media center.
[03:36]
Matt Devillier
And so I bought one of those with the intention of hacking it and turning it into a custom media center that I could resell to my customers.
[03:44]
Matt Devillier
And I didn't know anything about firmware at the time, but you know, there was somebody else online who offered firmware that you could download in Flash and the guy didn't support the new Chromebox, but he built something for me and gave it to me to Flash and it bricked the box.
[04:01]
Matt Devillier
And he's kind of like, well, you know, I don't know a whole lot about these devices.
[04:04]
Matt Devillier
I just know how to compile and distribute them and support, you know, the one or two devices that he had.
[04:10]
Matt Devillier
And so I was kind of left to my own devices to figure out, you know, what went wrong, how to unbrick it.
[04:16]
Matt Devillier
So I had to go out and order a bus pirate to be able to reflash the firmware.
[04:21]
Matt Devillier
And the Corebook community on IRC was extremely welcoming and helpful, especially a lot of the Google engineers who frequented it at the time.
[04:33]
Matt Devillier
And so I just started playing around with that as a hobby and eventually got the box working, made some improvements, submitted some patches, and essentially distributed my work for other people who are looking to do the same thing, use the Chromebox as a media center.
[04:54]
Matt Devillier
And you know, as time went by I just added support for more and more devices.
[05:01]
Matt Devillier
You know, there were some other community members who kind of supported some Chromebooks and eventually I just absorbed their work.
[05:09]
Matt Devillier
And you know, as of today I now support every intel based Chrome OS device since 2012.
[05:19]
Matt Devillier
So a good decade plus worth of devices, it's 250 and counting.
[05:24]
David Hendricks
Wow.
[05:26]
David Hendricks
Any estimate on how many people use the Mr.
[05:28]
David Hendricks
Chromebox version?
[05:33]
Matt Devillier
You know, I used to track downloads, but I don't anymore.
[05:37]
Matt Devillier
You know, it was over it was a couple hundred thousand, last I checked, as well as some commercial companies that use it for repurposing chromevox for their own digital signage purposes and things like that.
[05:52]
Matt Devillier
I know one company that I did some custom work for that has, you know, 50,000 devices out there just alone.
[06:01]
Matt Devillier
So, yeah, it's substantial.
[06:06]
Viktor Petersson
Yeah.
[06:07]
David Hendricks
One of the interesting places that Chrome OS and by extension coreboot have found themselves is in things like kiosks, point of sales devices, digital signage.
[06:18]
David Hendricks
That was actually one of the last projects I worked on at Google because, you know, it boots very quickly.
[06:25]
David Hendricks
You know, sometimes you might walk around or you might be driving around and you see a sign that's, you know, it's like Pixie booting or it's at the blue screen of death or something like that.
[06:33]
David Hendricks
And, you know, advertisers hate that because they're not making money on that billboard space.
[06:38]
David Hendricks
So, you know, little Chrome boxes and coreboot fit really well.
[06:43]
David Hendricks
Something that's very simple, very fast.
[06:45]
David Hendricks
If, for whatever reason, the hardware goes down, it comes back up and you can be up and running again in a couple of seconds.
[06:53]
Viktor Petersson
Absolutely.
[06:53]
Viktor Petersson
I mean, we've been working with Signage for the last decade, and definitely it becomes a bit of a confirmation bias when you see all these broken screens around the world.
[07:04]
Viktor Petersson
Right.
[07:05]
Viktor Petersson
So absolutely, I can relate to that.
[07:07]
Viktor Petersson
Cool.
[07:09]
Viktor Petersson
Let's dive into coreboot.
[07:11]
Viktor Petersson
So.
[07:11]
Viktor Petersson
So let's start with a perhaps silly question, but why does it matter?
[07:18]
Viktor Petersson
Why does coreboot exist and why does it matter?
[07:23]
David Hendricks
So I guess I'll start because I was around towards the beginning, and then Matt can probably fill in details from later on.
[07:30]
David Hendricks
So at first, as I said, actually, this is, I think, the project's 25th anniversary.
[07:36]
Viktor Petersson
Oh, wow.
[07:37]
David Hendricks
Yeah.
[07:37]
David Hendricks
Yes.
[07:38]
David Hendricks
It's been around since, you know, the very late 90s, essentially.
[07:41]
David Hendricks
And of course, back then, if you wanted x86 BIOS was.
[07:46]
David Hendricks
It was just legacy BIOS all around.
[07:49]
David Hendricks
Even UEFI didn't really take off until the late 2000s.
[07:53]
David Hendricks
And so for.
[07:56]
David Hendricks
So.
[07:57]
David Hendricks
So the story at Los Alamos National Lab was they were.
[08:01]
David Hendricks
They were trying to bring up one of these clusters built with cheap x86 components.
[08:06]
David Hendricks
They had, I don't know, like 1200 nodes or something, usually a power of two.
[08:11]
David Hendricks
So like 10, 28 nodes, 2048 nodes.
[08:14]
David Hendricks
They rolled the racks into the data center, they powered them on, and each and every one came up with a prompt that said, no keyboard found.
[08:24]
David Hendricks
Hit F1 to continue.
[08:26]
David Hendricks
So the way they had to solve that at the time is you give a team of about a dozen PhD computer scientists and physicists, keyboards, and they fan out and go out to all the aisles, plug them in, hit F1 to continue.
[08:41]
David Hendricks
Problem is, the high performance computing software at the time was not very resilient to failure.
[08:46]
David Hendricks
And so oftentimes if one node had a problem, you know, like maybe a, you know, a hard drive crashed, you know, they didn't have NVMEs or SSDs at the time.
[08:55]
David Hendricks
So these were a big point of failure.
[08:58]
David Hendricks
You know, you'd reboot one node and you'd have to restart the whole cluster and then go through that process again, send a bunch of PhDs out to the aisles to plug in keyboards and do whatever.
[09:08]
David Hendricks
So Ron was basically like, you know, screw this.
[09:11]
David Hendricks
And he thought, hey, you know, what if we just put Linux in that Flash chip?
[09:18]
David Hendricks
Linux, you know, even at the time it, you know, it was pretty smart.
[09:21]
David Hendricks
It could do a lot of PCIe initialization, did a lot of hardware initialization.
[09:25]
David Hendricks
So the very first version of coreboot was basically a function that would, it would set up the C runtime environment and then just basically try to jump straight to a Linux ELF image.
[09:39]
David Hendricks
And it did not work.
[09:40]
David Hendricks
It turns out initializing hardware is a little bit more complicated than turn it on, jump to Linux.
[09:45]
David Hendricks
But that's kind of the genesis of the project.
[09:47]
David Hendricks
That's why it was originally called Linux BIOS up until I want to say around 2007 or 2008 was because the idea from the very get go was do the absolute minimum you need to do to get Linux booting.
[10:01]
David Hendricks
The idea kind of took off and people started using it for other operating systems.
[10:05]
David Hendricks
You know, they even got Windows booting pretty, you know, maybe mid 2000s or so.
[10:10]
David Hendricks
And so the name Linux BIOS, you know, it wasn't necessarily Linux centric at the time and it wasn't a bios.
[10:17]
David Hendricks
So the name Linux BIOS didn't make sense, so they changed it to Core Boot.
[10:21]
David Hendricks
So that's how it started was kind of the inflexibility of fixing some of these intractable problems with the bios.
[10:33]
David Hendricks
And then later on people are like, hey, this is kind of cool.
[10:36]
David Hendricks
It's open source, we can hack on it, we can customize it.
[10:39]
David Hendricks
You don't have to pay tens of thousands of dollars in royalties or consulting fees just to get one little piece of hardware running.
[10:49]
David Hendricks
And then from there it kind of grew and it was really fast.
[10:52]
David Hendricks
No legacy code.
[10:54]
David Hendricks
One of the things that at Google, when I was showing coreboot off to the Chrome OS team, I was Showing it off on early Intel Atom boards and Viya Nano boards.
[11:06]
David Hendricks
Viya was another x86 CPU vendor.
[11:09]
David Hendricks
These things could literally hand off, you know, boot up and hand off to Linux in, you know, within 250 to 500 milliseconds.
[11:15]
Viktor Petersson
Wow.
[11:16]
David Hendricks
So that impressed the team.
[11:18]
David Hendricks
And that's what got it to be, you know, on the plan of record for Chromebooks at the time when, you know, a typical Wintel Netbook would maybe take, you know, 10, 15, 20 seconds before it would actually, you know, even begin to start booting Windows, much less get you to a prompt where you could log in.
[11:37]
David Hendricks
So Google was very keen on getting people to, you know, getting people to the prompt, logged in and browsing the web as quickly as possible.
[11:45]
Viktor Petersson
And how did that transpire from the early version of the Chromebooks?
[11:49]
Viktor Petersson
Were they running on coreboot from the get go or how was that adopted internally?
[11:55]
David Hendricks
It actually took a couple of generations.
[11:57]
David Hendricks
The first two generations used a proprietary UEFI distribution.
[12:03]
David Hendricks
And I'll give them credit.
[12:05]
David Hendricks
The company that we worked with, actually, they were very responsive.
[12:09]
David Hendricks
Typically in the BIOS world, you know, companies have a bad reputation for not responding to emails or not fixing bugs for most of the time.
[12:18]
David Hendricks
But, you know, at the end of the day there, you know, the team, you know, they were pretty keen on open source.
[12:25]
David Hendricks
They liked the idea of open source.
[12:26]
David Hendricks
Coreboot was still able to boot faster on the hardware that it worked on at the time.
[12:31]
David Hendricks
And we also wanted something that could be ported to other processors very easily, the proprietary bios.
[12:38]
David Hendricks
At the time, it really only worked with Intel Nanos, I'm sorry, Intel Atoms.
[12:46]
David Hendricks
And basically if you wanted it to work on some other intel processor, you had to get another version of the code base.
[12:51]
David Hendricks
Or if you wanted to work on an AMD processor, you had to work it on yet to get another code base and forget about arm.
[13:00]
David Hendricks
So ARM was something that, you know, of course, Chromebooks being relatively cheap, inexpensive products from the get go, you know, were interested in evaluating arm and we didn't want to have to deal with a whole other code base, whole other set of bugs, whole other security model.
[13:17]
David Hendricks
So the portability of coreboot really helped out a lot.
[13:21]
David Hendricks
And, you know, we started on x86.
[13:23]
David Hendricks
Coreboot was good at x86.
[13:25]
David Hendricks
U boot was there as well.
[13:28]
David Hendricks
It would at the time, it would have taken a lot longer to get intel support added to U boot than to have ARM support added to coreboot.
[13:35]
David Hendricks
But, you know, they're both fine code bases.
[13:38]
Viktor Petersson
Yeah, walk me through the like.
[13:40]
Viktor Petersson
Because obviously if you play with any embedded platform, you've surely come across coreboot and you've probably.
[13:46]
Viktor Petersson
Well, at least you come across U Boot and definitely, most likely coreboot.
[13:50]
Viktor Petersson
Talk to me a bit about the difference between the two.
[13:52]
Viktor Petersson
And like coreboot is.
[13:55]
Viktor Petersson
Well, U boot is a bootloader, not just necessarily a bias measure.
[14:00]
Viktor Petersson
Like walk me through the difference between the two and how they fit together.
[14:06]
David Hendricks
Sure.
[14:08]
David Hendricks
So they're both open source firmware projects.
[14:11]
David Hendricks
And this is something Matt and I were talking about the other day is probably every year or so we see somebody come in with the idea, hey, why don't coreboot and U boot just merge together?
[14:20]
Viktor Petersson
Yeah.
[14:21]
David Hendricks
And I think the main thing is that they're both good at what they were designed for.
[14:30]
David Hendricks
Coreboot originally ran on servers, not just Xeons like old x86 Xeons, but also DEC Alpha, digital equipment Corporation Alpha, if anyone remembers that, Blast for the Past and PowerPC.
[14:46]
David Hendricks
But they were servers and they were meant to have PCI and so a lot of the resource allocation, the device discovery was built around pci, whereas with YOU boot it was really targeted more at embedded platforms where it's extremely simple.
[15:03]
David Hendricks
You basically, you know, you're just directly peeking and poking at registers through known MMIO addresses for the most part.
[15:12]
David Hendricks
And coreboot brings along a fair bit of framework to deal with PCI architecture.
[15:19]
David Hendricks
U boot is very condensed, it's very compact, and the U boot people liked it that way.
[15:24]
David Hendricks
I don't think they wanted to pollute U boot with any x86 isms at the time.
[15:29]
David Hendricks
Okay, so that's fair.
[15:32]
David Hendricks
Yeah, let's let Matt jump in with a few words on this as well.
[15:37]
Matt Devillier
Yeah, I think that's probably one of the biggest differences that coreboot is designed to discover connected hardware at runtime and dynamically configure it.
[15:47]
Matt Devillier
And U boot assumes a fixed hardware configuration.
[15:52]
Matt Devillier
And so when you have that, you can make a lot of assumptions and you can eliminate a lot of possible code paths and you know, it's essentially a simpler design model in a way.
[16:05]
Matt Devillier
And I guess the other main difference between coreboot and U Boot is designed to both initialize the hardware and be the bootloader, whereas coreboot is only designed to do hardware initialization and then to hand off to a second stage firmware payload which does the actual bootloading.
[16:25]
Matt Devillier
And that, I guess, scope of design is also a big differentiator between the two projects.
[16:33]
Viktor Petersson
Okay, yeah, that definitely help clarify things.
[16:37]
Viktor Petersson
And in coreboot today, what are the most common use cases.
[16:41]
Viktor Petersson
We spoke about Chromebooks.
[16:43]
Viktor Petersson
I know there's plenty of support for the newer thinkpads.
[16:47]
Viktor Petersson
What are the most common use cases?
[16:48]
Viktor Petersson
Is Server the most common use case or is it Chromeboxes or Chromebooks?
[16:53]
Viktor Petersson
What does that deployment footprint look like today?
[16:55]
Viktor Petersson
Or by guesstimate, I guess I would say by far.
[16:59]
Matt Devillier
Right now Chromebooks are the majority of the deployed devices running Core boot.
[17:07]
Matt Devillier
There are other x86 laptop vendors which ship devices running core boot.
[17:14]
Matt Devillier
But you know, by shipped volume of devices.
[17:18]
Matt Devillier
The nothing touches Core Boot or Chromebooks.
[17:21]
Matt Devillier
Just there's I don't know how many millions sold every year.
[17:25]
Matt Devillier
But yeah, it would dwarf any other class of devices.
[17:32]
David Hendricks
Yeah, it is kind of.
[17:35]
David Hendricks
I was just going to jump in.
[17:36]
David Hendricks
It is kind of interesting though.
[17:37]
David Hendricks
You know, we are an open source project and we don't build any telemetry or information gathering into the firmware at all of course.
[17:45]
David Hendricks
So occasionally we do come, you know, we do hear about surprises where you know, someone's using coreboot in a, you know, some industrial machine.
[17:54]
David Hendricks
I actually, Werner Z, he's one of the core Boot leadership members, works at Siemens, the big industrial machinery company.
[18:03]
David Hendricks
And they put coreboot in a number of their products.
[18:07]
David Hendricks
You see them, you see some core boot systems and like thumbprint scanners like at airports, aerospace applications.
[18:19]
David Hendricks
So it's very distributed.
[18:20]
David Hendricks
It's in probably more places than you think.
[18:23]
David Hendricks
But as Matt was saying that the single biggest well known distributor is Chromebooks essentially and then followed by, you know, followed BY probably the Mr.
[18:34]
David Hendricks
Chromebox distribution going out to a bunch of people and then you know, system 76 laptops and some other, you know, niche products.
[18:45]
Viktor Petersson
Yeah, okay.
[18:47]
Viktor Petersson
So I must admit that I had stopped paying attention to biases after I guess switching to macOS in the early 2000s or mid 2000s.
[18:56]
Viktor Petersson
And then I guess didn't really think about biases until a few years ago when we started to build our own hardware screenly and we started doing like security assessments.
[19:05]
Viktor Petersson
And that's when it dawned on me when you started do secure boot and all these things that actually I'm trusting this blob that I have no idea what it's doing and I have no idea how it's configured to do all the most sensitive things on the entire device.
[19:21]
Viktor Petersson
And if I can't trust that, I can't really trust anything that happens past that step.
[19:26]
Viktor Petersson
And that's really when I started getting excited about coreboot really.
[19:29]
Viktor Petersson
And that's why we are trying to get coreboot running on the next iteration of our signage player, because it's really, like, the only way we can, with confidence, say that I trust what's happening from you power this device on until it enters user space.
[19:45]
Viktor Petersson
Right.
[19:45]
Viktor Petersson
Because I think it's almost crazy that nobody really talks about that, at least from my vantage point.
[19:52]
Viktor Petersson
And I'm not sure what you are.
[19:53]
Viktor Petersson
How you guys have seen that in general, your reflection on that in general.
[20:00]
David Hendricks
Yeah.
[20:01]
David Hendricks
I got to give the BIOS vendors some credit because oftentimes these PCs and a lot of devices, they work well enough that most people don't really have to think too hard about it.
[20:13]
David Hendricks
But it's when stuff goes wrong or you start actually digging into the surface and realizing that, oh, there's no way I can really tell what it's doing under the covers, then you start to realize, oh, wow, this is actually a huge problem.
[20:27]
David Hendricks
And especially if it's your job to make sure that it's secure, that it.
[20:32]
David Hendricks
You know, we've been seeing some vulnerabilities come out lately.
[20:37]
David Hendricks
I'm sure we'll talk about those later on.
[20:39]
David Hendricks
But, yeah, when.
[20:40]
David Hendricks
When it's your.
[20:41]
David Hendricks
When it's your job to make sure that doesn't happen and you realize, oh, I can't.
[20:45]
David Hendricks
I can't audit this.
[20:46]
David Hendricks
I can't look at the source code.
[20:48]
David Hendricks
I can't verify that it's doing what it's doing.
[20:51]
David Hendricks
I can't verify that, you know, somebody way deep in the supply chain didn't put malware into it.
[20:57]
Viktor Petersson
Exactly.
[20:58]
David Hendricks
Then it's called Learn.
[21:00]
David Hendricks
Learn to Helplessness, I think is the term.
[21:02]
David Hendricks
Right.
[21:03]
David Hendricks
Where you just kind of give up thinking, well, you know, it's.
[21:07]
David Hendricks
It works well enough, and if there's a problem, then I.
[21:11]
David Hendricks
I'm really not the guy to solve it.
[21:14]
Viktor Petersson
Yeah.
[21:15]
Viktor Petersson
And I.
[21:15]
Viktor Petersson
And I think unless you are of the size of Google, Dell or Lenovo, you do not even have a direct relationship with your BIOS vendor.
[21:23]
Viktor Petersson
Right.
[21:24]
Viktor Petersson
Your contract manufacturer would have a direct relationship with them, but you would not even know.
[21:28]
Viktor Petersson
You would not have the software to even configure the bios.
[21:30]
Viktor Petersson
They would do it on your behalf.
[21:31]
Viktor Petersson
Right.
[21:31]
Viktor Petersson
So it uses another failure point in the supply chain sector.
[21:36]
Viktor Petersson
Right.
[21:37]
Viktor Petersson
So that's kind of like why I was really keen on having you guys on the show here to just explore core bios.
[21:44]
Viktor Petersson
Open core.
[21:45]
Viktor Petersson
I can't speak right now.
[21:46]
Viktor Petersson
Core boot.
[21:47]
Viktor Petersson
I mean, and just, I guess, raise awareness for as well, because I think there's so much interesting stuff going on in here.
[21:55]
Viktor Petersson
So we kind of talked a bit about security already with some vulnerabilities.
[22:00]
Viktor Petersson
But before we dive into these vulnerabilities that we have seen the last six months or so, let's talk Secure Boot and how that actually works.
[22:08]
Viktor Petersson
Like what happens when I turn on Secure Boot and what walk me through like from boot process all the way through how that happens and how you can actually trust what happens and maybe we can open with that.
[22:24]
Viktor Petersson
And I'm not sure what the best format to do that in, but I'm curious because they're walking that through the entire chain for serious events that happens.
[22:32]
Matt Devillier
Now, when you say Secure boot, are you referring to UEFI Secure Boot or one of the many Secure Boot implementations that exist within Core Boot?
[22:42]
Viktor Petersson
That's, that's a good point.
[22:44]
Viktor Petersson
I was thinking about generic Secure Boot, but we, I'm happy to explore either of those or like how they differentiate as well, because that's an area I don't have a ton of expertise in.
[22:53]
Viktor Petersson
I've also met.
[22:58]
Matt Devillier
Well, I think David can probably speak better to the Google Secure Verified boot model that is used on Chromebooks.
[23:09]
David Hendricks
Okay, so yeah, let's see.
[23:11]
David Hendricks
This is a fairly big topic.
[23:13]
David Hendricks
So we'll probably do, you know, we'll probably jump around a bit, so try to bear with us.
[23:19]
David Hendricks
So, yeah, so two main concepts.
[23:22]
David Hendricks
There's measurement, where you know, you have one, you have the first thing that runs measure the second thing that runs before jumping to it.
[23:30]
David Hendricks
And measurement, you know, just means, gets a, you know, calculates the cryptographic hash and then if the hash matches what's expected, then okay, cool, the, this works.
[23:40]
David Hendricks
I'll jump to it.
[23:41]
David Hendricks
It's essentially a glorified checksum.
[23:43]
David Hendricks
And then that measures, the next thing jumps to it.
[23:45]
David Hendricks
That measures the next thing jumps to it and so on, you know, from the reset vector on up to your operating system.
[23:54]
David Hendricks
And then there's the second concept, which is signature verification.
[23:57]
David Hendricks
So that doesn't tell you about the integrity, it doesn't tell you anything about like the contents of the binary.
[24:04]
David Hendricks
It just tells you who it was distributed by.
[24:07]
David Hendricks
Right.
[24:07]
David Hendricks
So like if you're just like if you sign an email and send it to a friend, you know, the signature is not necessarily checksuming your email, it's just telling your friend that yes, this email came from Victor because it's signed with his keys and I can validate.
[24:20]
David Hendricks
Yeah.
[24:21]
David Hendricks
So we do support a couple schema in Core Boot to deal with these.
[24:28]
David Hendricks
The Verified Boot scheme that Chromebooks used, I was in on the early design of that I'm sure they've made improvements since then, but one of the main things we wanted was to avoid hardware like locking ourselves into a particular chips security model.
[24:49]
David Hendricks
At the time I think bootguard was just kind of on the roadmap at intel and of course they were talking that up.
[24:54]
David Hendricks
The ARM vendors of course had all their own secure boot schemes and we decided no, we want something that's simple that we can reuse across the product line and not have multiple security models.
[25:08]
David Hendricks
So I pointed out that Flash chips like Spy, nor Flash chips that are pretty much ubiquitous for x86 firmware typically have a write protect pin.
[25:22]
David Hendricks
So you can partition the Flash chip.
[25:24]
David Hendricks
You can say I want the upper half write protected and the lower half will be rewritable like field upgradable.
[25:32]
David Hendricks
And so that's what we did.
[25:34]
David Hendricks
We put a read only copy of Coreboot in the upper partition on x86.
[25:40]
David Hendricks
The upper part is where the reset vector is.
[25:43]
David Hendricks
You hit the power button, the processor starts executing code that's basically in the read only partition that verifies that the next thing that's going to be jumped to is valid and then it jumps to that.
[25:59]
David Hendricks
So the read only copy verifies the rewrite copy and then it jumps to it as soon as possible so that we can push field upgrades.
[26:06]
David Hendricks
And this was a very simple model that allowed us to use it across architectures, you know, amd, Intel ARM platforms.
[26:15]
David Hendricks
There was even a MIPS platform in the mix at some point and the same security model worked all throughout.
[26:23]
David Hendricks
And another advantage was that it was easy for the owner of the device to take over.
[26:29]
David Hendricks
This is actually something very important.
[26:31]
David Hendricks
I got to give props to the original Chrome OS team because at the time the PlayStation 3 had just been hacked and Sony was touting it's oh, it's unhackable or whatever.
[26:42]
David Hendricks
And then this teenage kid, George Hots, Geo Hot is his username I think managed to root it and own it.
[26:50]
David Hendricks
And then from there you had, you know, universities buying PlayStation threes below cost because of course they make their money on games and they get this pretty good hardware that they could run their high performance computing simulations on.
[27:03]
David Hendricks
So, so eventually so.
[27:05]
David Hendricks
So the idea tying that back to Chrome OS was like, okay, people are going to try to hack this thing.
[27:10]
David Hendricks
We don't want to lock ourselves in, we don't want to, you know, back ourselves into a corner.
[27:14]
David Hendricks
We want owners to be able to unlock the device.
[27:18]
David Hendricks
So early Chromebooks actually came with a physical switch.
[27:21]
David Hendricks
You could open up the case, void the warranty that was totally cool.
[27:25]
David Hendricks
Flip a switch to disable write protection and then put the case back together.
[27:31]
David Hendricks
That would also have implications like the keys will get wiped out and things like that.
[27:38]
David Hendricks
So when the user booted up, if someone was trying to do this maliciously, they would see a screen that would warn them essentially.
[27:45]
David Hendricks
And they couldn't log into their Google account because the keys were wiped out essentially.
[27:50]
David Hendricks
And that was just to thwart physical attackers who might try to put a malicious BIOS on and install a key logger and things of that nature.
[27:58]
David Hendricks
So that was the idea with Chrome OS's verified boot early on, was that we wanted that redundancy both for security and for fail safe reasons.
[28:08]
David Hendricks
We wanted it to be simple, we didn't want to tie ourselves to any particular process or vendors implementation and we wanted people who were interested in owning the device to be able to open it up, flip a switch, they own it, they can wipe out any trace of Google, they could install Windows, they could do whatever they want.
[28:26]
Viktor Petersson
Right.
[28:27]
David Hendricks
So that's kind of the genesis of that model.
[28:29]
David Hendricks
And, and Matt of course he's been doing a lot more with UEFI Secure Boot so he can talk more about that.
[28:37]
Matt Devillier
Well, I don't want to speak too much about that because I'm, that's not an area of my expertise.
[28:41]
Matt Devillier
I would say my Mr.
[28:44]
Matt Devillier
Chromebox implementation of Coreboot with a UEFI bootloader does support UEFI Secure Boot, but I wouldn't say that it meets all the technical requirements.
[28:55]
Matt Devillier
It just implements enough of the feature that Windows says okay, secure Boot is on and enabled.
[29:04]
Matt Devillier
Which is kind of interesting that Windows just simply trusts a firmware flag and a couple other things to ensure that your OS and your device is booted securely and that there's no real verification there.
[29:21]
Matt Devillier
But the, I guess the main difference between the Google Verified Boot and uefisecure boot is that Verified Boot is from the moment the processor turns on and everything is verified forward, including the bootloader.
[29:39]
Matt Devillier
Whereas UEFI Secure Boot depends on other security technologies to verify that the BIOS is secure or not compromised.
[29:51]
Matt Devillier
And UEFI Secure Boot really just looks at the bootloader stage.
[29:58]
Viktor Petersson
Right.
[29:59]
Viktor Petersson
And for uefi that's where you have the concept of sign with Microsoft's root.
[30:05]
Viktor Petersson
That's only some vendors do have their.
[30:08]
Viktor Petersson
I know Canonical got their ability to secure boot with Microsoft keys, but if you install your random Linux distro, you have to ship your own keys.
[30:17]
Viktor Petersson
Do you want to speak a bit about the concept between the two and like enrolling your own keys versus using Microsoft keys and how that fits into coreboot in general.
[30:31]
Matt Devillier
Well, one of the more interesting features of Google's verified boot is that you can go ahead and replace the keys with your own should you want to run your own S, your own OS and still have all the security features that were designed there.
[30:48]
Matt Devillier
You don't have to weaken the security model in any way in order to be able to do your own thing.
[30:57]
Matt Devillier
I wouldn't say that's terribly different from UEFI secure boot model, where you have Microsoft keys and other vendor keys, and then you also have user keys which can be supplemented.
[31:11]
Matt Devillier
But I don't think there's any way to completely eliminate the existing keys other than the revocation list, which you're dependent on your.
[31:21]
Matt Devillier
Your BIOS vendor to keep updated.
[31:25]
Matt Devillier
And that has been a major pain point in the UEFI world, where Microsoft will blacklist certain things in the revocation list, but that doesn't get pushed out to the IBVs will update it.
[31:37]
Matt Devillier
Maybe the ODM and OEMs don't.
[31:40]
Matt Devillier
But how long does it take to actually get into the end user's devices?
[31:46]
Viktor Petersson
Right, right.
[31:47]
Viktor Petersson
Yeah.
[31:47]
Viktor Petersson
I would imagine the vast majority of consumer devices, unless there is a automated updating process, they probably never updated by us.
[31:55]
Viktor Petersson
Right.
[31:56]
Viktor Petersson
So that's a very good point.
[31:57]
Viktor Petersson
Yeah, cool.
[31:59]
Viktor Petersson
Yeah, go ahead.
[31:59]
David Hendricks
Just to riff on that point a bit, Hardware does not age very well.
[32:04]
David Hendricks
It is not like fine wine.
[32:06]
David Hendricks
If you have a laptop that's two or three years old, it's probably considered to be end of life by the vendor.
[32:11]
David Hendricks
And so BIOS updates are going to be very rare.
[32:15]
David Hendricks
And of course, anytime you push an update, there's a chance that some number of devices just won't come back up.
[32:23]
David Hendricks
So that's another reason vendors are very reluctant to push updates.
[32:28]
David Hendricks
I've seen this in data centers a lot.
[32:31]
David Hendricks
We think everything goes smoothly.
[32:33]
David Hendricks
You reboot the server and it just doesn't come up for whatever reason.
[32:38]
David Hendricks
And then a bunch of tickets get filed and you have to debug.
[32:41]
David Hendricks
so.
[32:42]
David Hendricks
So yeah, it.
[32:43]
David Hendricks
It's one of those learned helplessness things where you see new vulnerabilities come out and you're just like, man, I hope my vendor, you know, pushes a firmware update.
[32:52]
David Hendricks
And it could be days, could be weeks, could be months.
[32:55]
David Hendricks
You never know.
[32:57]
David Hendricks
Whereas, you know, it, in the ideal world, if everyone could actually just, you know, manage this themselves or at least trust a vendor like Red Hat to push a firmware update through Firmware updates.
[33:10]
David Hendricks
I don't know how to pronounce it then.
[33:13]
David Hendricks
Then at least you could be like, okay, well, at least I'm pretty sure that, you know, Ubuntu or Red Hat or whoever's going to push an update in a timely manner, even if the hardware vendor has already forsaken this thing.
[33:25]
David Hendricks
But that's just not the world we live in.
[33:27]
Viktor Petersson
So, yeah, let's talk, because I had.
[33:29]
Viktor Petersson
One of the things I wanted to cover was exactly that.
[33:31]
Viktor Petersson
Firmwepdate, or however you want to pronounce that.
[33:34]
Viktor Petersson
Right.
[33:35]
Matt Devillier
It's.
[33:36]
Viktor Petersson
It's something that I think very few vendors actually adopted.
[33:41]
Viktor Petersson
I did look into it slightly and it's not that challenging to kind of enroll yourself, but it seems to be very little interest by vendors.
[33:48]
Viktor Petersson
I think Lenovo does it, I think for some of their devices, and probably Dell does for some devices.
[33:55]
Viktor Petersson
But do you guys have a gauge for how popular that is for core boot updates or optics in general?
[34:03]
Viktor Petersson
Like what?
[34:04]
Viktor Petersson
Adoption of that in general?
[34:07]
Matt Devillier
I would say the adoption rate in general is probably in the single digits, percentage wise.
[34:13]
Matt Devillier
You know, as you said, there's a couple of vendors who do support it for some newer devices, but it's by far from universal.
[34:21]
Matt Devillier
And I think it's probably our best hope for a universal distribution method for devices running Linux.
[34:31]
Matt Devillier
But for Windows, they do have the option of distributing those updates via Windows Update as well.
[34:37]
Matt Devillier
I believe as long as the BIOS supports UEFI Capsule updates.
[34:43]
Viktor Petersson
Okay.
[34:45]
Matt Devillier
For coreboot devices.
[34:46]
Matt Devillier
There actually are some vendors who do support that for their core boot updates.
[34:54]
Matt Devillier
That's not something that Google does for Chromebooks because they have their own mechanism and since they control the entire stack, it's not something they need to use.
[35:06]
Matt Devillier
It's something I do plan on using for my Mr.
[35:08]
Matt Devillier
Chromebox updates now that the scale is kind of getting out of hand for me to do it manually.
[35:17]
Viktor Petersson
How have, how far.
[35:18]
Viktor Petersson
I mean, in terms of adopting that, is that something that you reckon is a massive hurdle for adopting in the distro, or how have you.
[35:26]
Viktor Petersson
Have you looked at that so far?
[35:28]
Viktor Petersson
Because I'm curious about how easy that would be to actually adopt.
[35:34]
Matt Devillier
When you say from a distro, you mean from a given Linux distribution?
[35:38]
Viktor Petersson
Yes, from your distribution.
[35:39]
Viktor Petersson
Yeah.
[35:39]
Viktor Petersson
So enrolling the bias, imagine you have a fleet of devices, you might have your own BIOS for those adopting that workflow into your distro, that if you do control the distro, like in your case, Mr.
[35:49]
Viktor Petersson
Chromebox, you can adopt that, right?
[35:51]
Viktor Petersson
Because you control the entire operating system.
[35:53]
Viktor Petersson
Like how.
[35:54]
Viktor Petersson
What's the difficulty level of actually enrolling that?
[35:57]
Matt Devillier
I don't think it's very high.
[35:59]
Matt Devillier
I mean, I think there's some XML metadata that is used to version, hash, describe the update mechanism that's used because the firmware update daemon does support multiple update mechanisms, including using Flash rom, which is what most coreboot based firmwares use for updates.
[36:21]
Matt Devillier
So I don't think it's that challenging to do, you know, for a handful of devices doing it for, you know, a large number of devices, it's just me setting aside a couple of days to set up some scripts to generate the necessary files and that sort of thing.
[36:42]
Matt Devillier
I think it's probably a fairly small invest or it's a large upfront investment for a, you know, a large return down the line.
[36:52]
Viktor Petersson
Right?
[36:53]
Viktor Petersson
That's fair enough.
[36:54]
Viktor Petersson
That's fair enough.
[36:55]
Viktor Petersson
Cool.
[36:56]
Viktor Petersson
Let's dive in a bit more into supply chain security because we kind of touched a little bit on that already.
[37:03]
Viktor Petersson
And obviously to me that's one of the biggest value propositions for coreboot in general is the whole supply chain.
[37:11]
Viktor Petersson
You can trust everything.
[37:12]
Viktor Petersson
And David, you sent over some content to me to read about how you guys think about that at coreboot and how you kind of trust the entire flow.
[37:22]
Viktor Petersson
Maybe we can start with that.
[37:24]
Viktor Petersson
How does supply chain security thinking look like inside of coreboot and I guess how transparent that is.
[37:31]
Viktor Petersson
So you can trust what's going on there.
[37:35]
David Hendricks
Yeah.
[37:35]
David Hendricks
Yes.
[37:36]
David Hendricks
This is a interesting topic and I think it's getting a lot more attention these days, especially since in the US there's executive order from the White House to direct, you know, some Alphabet soup agencies to start paying attention to where their software is coming from.
[37:55]
David Hendricks
And SBOM is spelled out as a requirement.
[37:58]
David Hendricks
So it's no longer good enough to just say, you know, we bought a bunch of PCs from such and such vendor, it's running Windows, we're just going to trust it.
[38:07]
David Hendricks
So, a bit.
[38:13]
David Hendricks
Sorry, I lost my train of thought for a moment.
[38:17]
David Hendricks
So basically the difference between coreboot and, you know, what you typically get on a PC, it's very much, you know, just the typical open source story of you have all the software in front of you can compile it, you can audit it, you can do whatever you want with it.
[38:32]
David Hendricks
Most people aren't going to do that, but it's nice to have that capability.
[38:36]
David Hendricks
Whereas with proprietary firmware, of course, you get a blob from your vendor and you trust that they didn't put malware in it.
[38:42]
David Hendricks
Or you trust that it's patched, you don't really know, but you just kind of take their word for it.
[38:48]
Viktor Petersson
And you have no change log whatsoever, usually.
[38:50]
Viktor Petersson
Right?
[38:51]
David Hendricks
Yeah, yeah.
[38:52]
David Hendricks
You might get some handwritten release notes that say, you know, we added this feature, we fixed a bug.
[38:56]
David Hendricks
But, you know, you don't have a git history the way you do with coreboot or U boot or other open source firmwares.
[39:04]
David Hendricks
And, you know, this is something that people, you know, C level executives are starting to pay attention to.
[39:10]
David Hendricks
Thankfully, it's taken them long enough.
[39:14]
David Hendricks
But so, yeah, I mean, the way we think about it from coreboot's perspective is it's open source.
[39:22]
David Hendricks
We encourage people to take advantage of the security features that we have.
[39:27]
David Hendricks
Where you can measure your firmware, you can see how it boots.
[39:31]
David Hendricks
You can measure each component, you can store hashes in a TPM and read it back to verify that you're running the thing that you think you're running.
[39:42]
David Hendricks
You can sign your firmware with keys to ensure that it's coming from a trusted source.
[39:47]
David Hendricks
You know, you can layer on these levels of security.
[39:54]
David Hendricks
Whereas again, with proprietary firmware, you just take what the vendor has.
[39:59]
David Hendricks
They probably fuse their key into, you know, the intel me or something, and you not only have to trust them, but you're stuck with them even if you decide that you don't trust them.
[40:11]
David Hendricks
So if a vulnerability comes out and you think, oh my God, you know, this pixie fail thing or this logo fail thing, we might be impacted, you got to throw, you know, it's time to throw away that hardware and buy something new.
[40:26]
David Hendricks
So we do have.
[40:27]
Viktor Petersson
Yeah, go ahead, sir.
[40:28]
David Hendricks
Oh, yeah, I just wanted to call out some work done by one of our core boot vendors, 9elements.
[40:35]
David Hendricks
If you go to GitHub.com 9elements, goswid, g oswid, that's the tool that it's supported in Coreboot now to generate and view software Bill of materials.
[40:53]
David Hendricks
So when you build coreboot, it'll actually try to pick up as much of the metadata as it can about all the constituent parts and licenses and it'll give you that information that you need to form an SBoM.
[41:10]
David Hendricks
I tried it a few times and I think there are some rough edges, but I know I've used it on like an Intel Archer City reference board, which is Sapphire Rapids, and you actually get most of the info that you know.
[41:25]
David Hendricks
It's satisfactory.
[41:26]
David Hendricks
Could still use some improvements, but I think it's a pretty good start for anyone looking for a soft to ship an SBoM with their core boot distribution.
[41:36]
David Hendricks
Oh, and they'll.
[41:38]
Viktor Petersson
Yeah, go ahead.
[41:39]
David Hendricks
I'm sorry.
[41:40]
David Hendricks
The, the same company also has the 9 elements converged security suite and that's also on GitHub.
[41:46]
David Hendricks
It's open sourced, so if you want to install a signature, you know, that'll actually provision bootguard for you.
[41:53]
David Hendricks
And they do list AMD support, but I'm.
[41:56]
David Hendricks
I'm not sure how far that goes yet.
[41:58]
David Hendricks
Okay.
[41:58]
David Hendricks
Yeah.
[41:59]
Viktor Petersson
And are those the firmware versions of the bios?
[42:02]
Viktor Petersson
Are those fully reproducible builds right now or so they are.
[42:06]
Viktor Petersson
So you can actually trust the checksum and you can rebuild yourself to ensure that it fully matches.
[42:11]
David Hendricks
Yeah, yeah, this is something.
[42:14]
David Hendricks
Matt may have seen this in his profession, but I've seen it as well, where you get a vendor's, some code base supplied by your hardware vendor, like your odm, and you build it once it produced, you know, and then you do an MD5 sum or sha sum just to kind of see that you're copying it around correctly or whatever.
[42:35]
David Hendricks
Then you build it again.
[42:36]
David Hendricks
And of course it's different because, you know, they embed timestamps and the way that the UEFI Flash file system is constructed might be different depending on small little variations and phases of the moon and whatnot.
[42:50]
David Hendricks
So you could easily end up with different hashes for what's essentially what should be the same firmware.
[42:58]
David Hendricks
Whereas reproducible builds and coreboot have been a big thing since, you know, over a decade.
[43:04]
David Hendricks
Oh wow.
[43:06]
David Hendricks
If you clone coreboot and you by default it will actually build the entire tool chain necessary to build it.
[43:15]
David Hendricks
So it'll compile a specific version of GCC and binutils.
[43:25]
David Hendricks
And so even the tool chain is hermetic.
[43:28]
David Hendricks
So this means if you get coreboot at a specific hash, then it'll pull down the specific tool chain, you build it, you'll get a reliable hash every.
[43:38]
Viktor Petersson
Time, way ahead of its time.
[43:42]
David Hendricks
And then optionally, for people who don't want to wait for all of GCC to build, there is a menu config option where you can just tell it use whatever your distro ships with.
[43:50]
David Hendricks
So if you don't want to wait an hour for all the GNU utilities to build, you can do that too.
[43:55]
Matt Devillier
I think there's also a Docker image you can download that already has those pre compiled to save a little bit of time.
[44:02]
Viktor Petersson
Yeah, that sounds like a large toolkit to build every time you want to compile it.
[44:08]
Matt Devillier
I do get that.
[44:09]
Matt Devillier
Question from time to time, people saying like, well, why should we, you know, trust Mr.
[44:13]
Matt Devillier
Chromevox?
[44:14]
Matt Devillier
It's like, well, you don't have to.
[44:16]
Matt Devillier
You can clone my repo, you can run the build script that I provide, and you will get the exact same hash as the files that you can download from my server.
[44:26]
Matt Devillier
And so that, I think that gives people who would otherwise be weary of just flashing a random binary from some guy on the Internet, right.
[44:37]
Matt Devillier
A little bit more confidence that the software that they're using is credible.
[44:45]
Viktor Petersson
I mean, I think that's where the industry at large is heading.
[44:48]
Viktor Petersson
Right.
[44:48]
Viktor Petersson
Particularly with SBOMs and reproducible builds.
[44:50]
Viktor Petersson
That seemed to be like a big Trend.
[44:52]
Viktor Petersson
Seems like Coreboot beat the trend by about a good 10 years, but it's something that I've definitely seen more and more in the last year or two.
[45:00]
David Hendricks
Yeah, that now I think this is, it's an even bigger advantage for coreboot now because when you think about the software supply chain, you know, coreboot's a.
[45:11]
David Hendricks
It's a hardware centric project.
[45:12]
David Hendricks
UEFI is a centric hardware project.
[45:14]
David Hendricks
U boot's, you know, hardware centric project.
[45:17]
David Hendricks
It's really tied in with the hardware vendor ecosystem.
[45:21]
David Hendricks
So basically you have probably four, maybe five entities between your processor being produced and your laptop being shipped to you.
[45:32]
David Hendricks
So you know, a lot of the code, you know, whether we're talking U boot, uefi, coreboot, typically it starts off in the silicon vendor, right?
[45:43]
David Hendricks
If you're in the ARM or embedded ecosystem, you typically get like a board development kit or software development kit from your vendor and then you customize it and then you ship, you put that on the product.
[45:55]
David Hendricks
In the x86 world, typically what happens is the silicon vendor, like intel or AMD will write a whole bunch of reference code and then they'll hand that off to their BIOS vendor partners.
[46:06]
David Hendricks
These are companies you may have heard of, AMI, Inside Phoenix, etc.
[46:11]
David Hendricks
BioSoft in China.
[46:13]
David Hendricks
They'll additional features, things like maybe some embedded controller support, or if you're on a server, they'll add Support for various BMCs, RAS features and so on.
[46:27]
David Hendricks
And then the BIOS vendor will license that to an odm, which are, you know, hardware big hardware manufacturing companies typically based in China or Taiwan that most people probably haven't heard of, like Foxconn, Quanta, we win, inventech, compal, more.
[46:45]
David Hendricks
And then they'll partner up with an OEM original equipment manufacturer like Clevo, System 76.
[46:55]
David Hendricks
Let's see who else?
[46:57]
David Hendricks
Lenovo, Dell, Whoever you know, the names that you see it on the store shelves.
[47:02]
Viktor Petersson
Right.
[47:03]
David Hendricks
And then they'll package that all up and sell it to a customer.
[47:08]
David Hendricks
So there's actually many entities along the way that are touch.
[47:12]
David Hendricks
That are potentially touching that BIOS code.
[47:14]
David Hendricks
And so just the supply chain going from one company to the next, you got to think you're not just trusting the code, but you're trusting the people who work at those companies.
[47:28]
David Hendricks
And I have a joke.
[47:32]
David Hendricks
So much effort.
[47:33]
David Hendricks
You see Binarly in these companies putting so much effort into finding backdoors.
[47:37]
David Hendricks
What about going through the front door?
[47:39]
David Hendricks
How hard would it be to get hired at one of these companies and just start inserting malware and shipping it to people?
[47:44]
David Hendricks
And the vendor's key is fused, the customers can't do anything about it.
[47:49]
David Hendricks
Yeah.
[47:51]
David Hendricks
I'd be surprised and maybe a bit disappointed if the three letter agencies haven't already thought to do that.
[47:57]
Viktor Petersson
Yeah, I mean it's.
[47:59]
Viktor Petersson
Yeah, exactly.
[48:00]
Viktor Petersson
I would be surprised if they don't have their certificates in there one way or another.
[48:04]
Viktor Petersson
Right.
[48:05]
Viktor Petersson
And in particular if you're the depending on threat model at the end of the day.
[48:09]
Viktor Petersson
Right.
[48:09]
Viktor Petersson
But there have definitely been scenarios in the news about similar attacks.
[48:14]
Viktor Petersson
Right.
[48:15]
Viktor Petersson
And I would imagine that anybody in the chain can insert a certificate into the buyers, any point that attack.
[48:25]
Viktor Petersson
So yeah, it's absolutely a very valid point.
[48:27]
Viktor Petersson
And you have no way of knowing that it even happened because you can't even check it.
[48:33]
David Hendricks
Yeah.
[48:33]
David Hendricks
And the rise of larger companies, cloud services, et cetera, means, you know, that there's a lot more data online at this point that could be pilfered, essentially.
[48:43]
David Hendricks
So.
[48:43]
Viktor Petersson
Yeah.
[48:44]
David Hendricks
So this is why I think, you know, companies, you know, occasionally you hear a big news story about, oh, a bunch of user data was stolen from, you know, such and such company.
[48:53]
David Hendricks
They may face some kind of legal or financial penalties because of it.
[48:57]
David Hendricks
So it's sad that it takes that kind of thing to wake up the CTOs around the world to.
[49:04]
David Hendricks
Your infrastructure is important.
[49:07]
David Hendricks
You don't necessarily need to build everything from scratch, but you should at least have some insight and ability to audit and control what's going on.
[49:18]
David Hendricks
There's a paper by, I guess, a guy who used to work at this company that's had some issues with quality assurance lately.
[49:30]
David Hendricks
About 20 years ago, there was an engineering paper and the guy was saying that the final product can only be as good as all the inputs that go into it, essentially.
[49:41]
David Hendricks
So in this case it was an airline company and they were in the midst of outsourcing A lot of their component building and quality controls and the guy was raising the alarm, hey, you know what, we really got to make sure we have insight into these processes.
[49:58]
David Hendricks
Otherwise we're going to start building some pretty dangerous aircraft.
[50:03]
David Hendricks
Now that doesn't mean that you shouldn't outsource or that, you know, you can't hire consultants to help out or whatever, but you do need to, you know, have the ability to know what's going on and have some quality controls.
[50:16]
David Hendricks
I fear a lot of companies and a lot of manager types are willing to say we're just going to rely on our ODMs to do things for us.
[50:25]
David Hendricks
And if things break, we'll file a ticket with them, we'll call them up or send them an email.
[50:31]
Viktor Petersson
So walk me through the so imagine I am a company that resells computers that I probably bought from one of the OEMs, right?
[50:39]
Viktor Petersson
I'm some kind of mid level software vendor and I want to move to coreboot.
[50:45]
Viktor Petersson
What's the process like?
[50:46]
Viktor Petersson
Are there consultancy firms out there that can help you with that?
[50:49]
Viktor Petersson
Or walk me through the process of like how the complexity looks like as well.
[50:57]
Matt Devillier
I would say yes there.
[51:00]
David Hendricks
Go ahead Matt, I'll probably jump in later.
[51:02]
Matt Devillier
Yeah, there are a number of vendors on coreboot's website listed under the consulting section that can help a company who is looking to go down that road.
[51:15]
Matt Devillier
You know, a lot of times with hardware that you purchase off the shelf, you don't necessarily have the option of changing the firmware, you know, because of security implementations that the vendors put on there like intel bootguard.
[51:31]
Matt Devillier
So if HP or Dell's key is already fused onto the processor, there is no way to change that, unfortunately.
[51:39]
Matt Devillier
So ideally if you are looking to use your own firmware, whether it's core boot based or something else, you need to be looking much earlier in the manufacturing process or looking to purchase hardware where the bootguard keys have not been fused and you have the ability to fuse your own before you ship them to customers.
[52:01]
Matt Devillier
And you knowing those kind of things is where the, you know, consultants like Nine Elements and other companies come into play and can help you figure out where in your product development you need to be looking at to make those decisions.
[52:19]
Viktor Petersson
Right?
[52:20]
Viktor Petersson
And I presume you need to go to the ODM rather than the ODMs OEMs to even get to that level of control, I would imagine.
[52:28]
Matt Devillier
Yes.
[52:30]
Matt Devillier
As David mentioned, I or I believe you mentioned I used to work for Purism doing the open source firmware for their laptops and servers and other devices.
[52:41]
Matt Devillier
And Purism would work directly with ODMs in China to have the devices built to our spec and then shipped open to where we could install our own firmware and give our users the ability to put their own keys on should they want so that the ultimate control would be transferred to the owner of the device, not necessarily to the company that was producing it.
[53:09]
Viktor Petersson
And walk me through the challenge with that.
[53:10]
Viktor Petersson
I would imagine that's a very.
[53:12]
Viktor Petersson
If you work with manufacturers in China, that's not really what they are used to dealing with, I would imagine.
[53:17]
Viktor Petersson
Walk me through the complexities are you guys facing when at Purism there.
[53:22]
Matt Devillier
I'd say there's a lot of different size ODMs and some of them do cater to the larger corporate customers like Dell and Lenovo and things like that.
[53:32]
Matt Devillier
But there's a lot of smaller ones as well that do cater to, you know, smaller customers who are just looking to do a run of, you know, 10,000 laptops or something like that.
[53:44]
Matt Devillier
You still have to buy in a sufficient quantity to get their business, but they're much more willing to work with you and you know, that is their business is catering to the smaller customers.
[53:59]
Matt Devillier
So I wouldn't say there were any specific challenges there other than we would want to have more control over the hardware design.
[54:07]
Matt Devillier
And doing that is a much more expensive endeavor.
[54:11]
Matt Devillier
You know, if you want to completely engineer your own board, not using an intel or AMD reference design or something that's based off of that, then there's a significant NRE cost there.
[54:22]
Matt Devillier
And that poses challenges when you're trying to bring a product to market that you're only going to sell 10,000 of versus a million of.
[54:33]
Viktor Petersson
So the MOQs are pretty high for even a mid size or small size software company and want to do a hardware component.
[54:43]
Matt Devillier
Yeah, I don't remember exactly what the MOQs were, but they're substantial enough that David and I wouldn't want to personally go and have our own computer built.
[54:58]
Viktor Petersson
Right.
[54:59]
David Hendricks
Yeah.
[55:00]
David Hendricks
But there is cause for optimism.
[55:03]
David Hendricks
We do have a lot of good momentum with a number of silicon vendors, including the x86 vendors.
[55:08]
David Hendricks
So if you're a company looking to create a new product and you think ahead a little bit, you know, a lot of the work has actually already been done.
[55:19]
David Hendricks
We, there's coreboot ported to basically all the latest intel and AMD processors, at least for client servers.
[55:29]
David Hendricks
We're, we're actually getting there.
[55:31]
David Hendricks
Intel's been doing a great job with the XEONS lately.
[55:35]
David Hendricks
AMD has a proof of concept with their Genoa processor.
[55:41]
David Hendricks
Yeah, if you have a little bit of foresight, you could actually get up and running with a new product with coreboot pretty quickly, pretty easily.
[55:49]
David Hendricks
Not terribly expensively compared to paying the NRE for a proprietary BIOS.
[55:58]
David Hendricks
Check out coreboot.org consulting or reach out on the mailing list people who are interested in servers.
[56:07]
David Hendricks
You can contact me directly.
[56:09]
David Hendricks
D Hendricks D H E N d r I xoreboot.org and I'll help you get connected with some of my contacts at the ODMs, particularly we win Quanta and Inventech I have contacts at.
[56:23]
David Hendricks
But that would be more for servers where maybe you're a up and coming cloud service provider, hyperscaler, whatever, and you want to get racks and racks of servers with open source firmware that your own, you know, DevOps or SRE teams can audit and maintain.
[56:42]
David Hendricks
So there is, there is cause for optimism.
[56:45]
David Hendricks
But you got to be forward looking, not backwards looking because as Matt said, once you have a processor with someone else's keys fused in it, you don't own that.
[56:54]
Viktor Petersson
Right.
[56:55]
Viktor Petersson
Okay.
[56:55]
Viktor Petersson
So, so that kind of leads me to the next topic I wanted to cover, which is we have seen a push towards open hardware more and more in the last few years.
[57:04]
Viktor Petersson
I guess it won't truly happen for the x86 world, I would imagine, but more towards RISC V is probably where my hopes are up, at least for truly having open hardware.
[57:17]
Viktor Petersson
What does the world look like for coreboot with regards to RISC V and open hardware in general?
[57:33]
David Hendricks
Yeah, yeah, that's a tough one.
[57:35]
David Hendricks
I think a lot of people pinned a lot of their hopes on RISC V being open, but a lot of the contributions and a lot of the real development these days and the governing bodies of RISC V tend to be from companies that want to keep things proprietary.
[57:52]
David Hendricks
So yeah, the instruction set architecture is open, but that does not mean that the implementations will be open.
[57:58]
David Hendricks
And I think a lot of people have gone into this thinking that everything's going to be open and then kind of backed off, a little disappointed.
[58:08]
David Hendricks
That said, you know, there are, I think there are fully open implementations out there, but they're not the majority at this point.
[58:18]
David Hendricks
So it's, you know, you got to set your expectations.
[58:22]
David Hendricks
It's an open hardware architecture.
[58:24]
David Hendricks
You're going to have, you're going to have open source fanatics working on it.
[58:28]
David Hendricks
You're going to have companies looking to, you know, put a bunch of their IP in this and want to keep that secretive.
[58:35]
David Hendricks
You know, that's just part of being open.
[58:37]
David Hendricks
It's like, you know, a lot of people might think everything is more like the GPL in RISC V world when in actuality it's more like the BSD license.
[58:48]
David Hendricks
Right.
[58:50]
Viktor Petersson
Mass analogy.
[58:51]
David Hendricks
So.
[58:53]
David Hendricks
So yeah.
[58:54]
David Hendricks
Oh yeah.
[58:55]
David Hendricks
Just to cap that thought, you know, basically it's, you know, it's turning out to be no more or less open than arm.
[59:01]
David Hendricks
So I wouldn't look to a RISC V as like this is an open alternative to arm.
[59:05]
David Hendricks
It's more like, you know, it's something that I can run with and not have to pay an ARM license if that's important.
[59:13]
Matt Devillier
Yeah, I was just going to add, you know, one of the things David mentioned was, you know, vendors wanting to insert their IP blocks and looking at just how complicated a modern processor or a modern board is and how many different components it contains, like, you know, DRAM and initialization or USB 4 and thunderbolt.
[59:37]
Matt Devillier
And there's not a lot of companies that have expertise in all of those areas.
[59:44]
Matt Devillier
Now even the major SOC vendors don't internally have all of those components under their own ip and even if they did, they might not want to share them.
[59:56]
Matt Devillier
So there's a lot of licensing issues that would prevent a fully open and fully modern SOC from existing.
[01:00:07]
Matt Devillier
At this point somebody would have to invest millions of man hours to get it to the point to where it matched the existing functionality.
[01:00:20]
Matt Devillier
And there needs to be a very strong use case for a capitalist company to do that.
[01:00:29]
Viktor Petersson
Yeah, that's fair enough.
[01:00:30]
Viktor Petersson
And that doesn't even bring us to the complexities of GPUs I guess either, which is a very different subject as well and much more complicated.
[01:00:40]
Viktor Petersson
Cool.
[01:00:42]
Viktor Petersson
The one thing I also wanted to cover was we spoke about system 76 before.
[01:00:47]
Viktor Petersson
I don't know if you want to do any more shout outs about vendors that are really embracing Coreboot.
[01:00:53]
Viktor Petersson
Outside of Google Systems over 6 came up.
[01:00:56]
Viktor Petersson
Purism came up.
[01:00:57]
Viktor Petersson
Star Labs I know is another one.
[01:00:59]
Viktor Petersson
Any other ones that people should look into for buying core boot ready hardware?
[01:01:07]
Matt Devillier
I think on the EU side Nova Customs is also offering some.
[01:01:13]
David Hendricks
Trying to think offhand, there's a Polish company called 3M DEB 3MDEB and they're actually a coreboot consulting company, but they do support a couple off the shelf products.
[01:01:27]
David Hendricks
Like they've been pushing what they call their Desharu distribution of core boot and that currently supports a pretty recent MSI gaming motherboard.
[01:01:39]
David Hendricks
So people who are looking for a Nice gaming lap, you know, gaming desktop system.
[01:01:43]
David Hendricks
They can plug a couple GPUs in it.
[01:01:45]
David Hendricks
Maybe they want to do crypto mining or something and they want it to be owner controlled.
[01:01:51]
David Hendricks
They can look up 3M, Deb and Desharro.
[01:01:55]
David Hendricks
Yeah, and I call it.
[01:01:58]
David Hendricks
So one of the interesting things about firmware is that these days it comes in distributions.
[01:02:04]
David Hendricks
So there's upstream core boot and then there's the desharu coreboot distribution.
[01:02:08]
David Hendricks
UEFI is much the same way.
[01:02:10]
David Hendricks
The way to think of it is there's upstream EDK2 and that part is open.
[01:02:16]
David Hendricks
But a lot of what actually gets put onto hardware that's sold to consumers is a distribution by one of the BIOS vendors where they add their value adds and sell it to OEMs.
[01:02:29]
David Hendricks
Yeah, as far as coreboot vendors go.
[01:02:33]
David Hendricks
Yes, let's see, we named a few.
[01:02:36]
David Hendricks
There is a vendors page linked from coreboot.org, and I think they might have a few other suggestions there.
[01:02:43]
Matt Devillier
Okay, circling back to the coreboot distributions topic, one thing that is important to note is that coreboot isn't a binary release.
[01:02:54]
Matt Devillier
It only has source releases.
[01:02:56]
Matt Devillier
So it is up to, you know, the implementing vendors to produce core boot binaries for their devices and to distribute them.
[01:03:07]
Matt Devillier
It's.
[01:03:08]
Matt Devillier
And coreboot doesn't have any sort of actual stable releases, they're just kind of timestamped releases and they follow the.
[01:03:18]
Matt Devillier
I think right now a what, three month cadence.
[01:03:24]
Viktor Petersson
I think we've covered all the topics that I wanted to cover.
[01:03:27]
Viktor Petersson
I think we've covered why coreboot is important and why right now, and particularly in light of logo fail and pixie fail and all these things that.
[01:03:36]
Viktor Petersson
Yeah, go ahead.
[01:03:37]
David Hendricks
Circular economy.
[01:03:39]
Viktor Petersson
yes, that's another topic that is very interesting as well.
[01:03:45]
Viktor Petersson
It's like exploring why sunset hardware can be repurposed both with obviously Linux in the user space, but also coreboot in the bio space and making sure there's actual secure.
[01:03:58]
David Hendricks
Yeah, yeah.
[01:04:01]
David Hendricks
So just a quick word on that one space that coreboot kind of found itself in recent years is circular economy or some people call it, I think you called it upcycling.
[01:04:14]
David Hendricks
And basically the idea is there's a lot of hardware out there that it runs perfectly fine, but people don't want it for whatever reason.
[01:04:23]
David Hendricks
Maybe you're upgrading your laptop or more recently, what.
[01:04:27]
David Hendricks
One of the things we saw, I've seen in the Open Compute project is the concept of circularity where big hyperscaler companies, you know, the large cloud service providers that have tens or hundreds or Millions, you know, hundreds of thousands or millions of servers.
[01:04:43]
David Hendricks
You know, they always want to get the latest and greatest thing right because they have to meet increasing demand and get more compute power.
[01:04:50]
David Hendricks
Problem is, data centers are very expensive.
[01:04:53]
David Hendricks
They can only exist in a financially sensible sense in certain locations.
[01:05:00]
David Hendricks
It's got to have cheap power.
[01:05:01]
David Hendricks
It's got to have fast Internet connections.
[01:05:05]
David Hendricks
It's got to have the right climate because cooling a lot of servers is difficult.
[01:05:10]
David Hendricks
So anyway, data center space is very constrained, but companies need the latest and greatest hardware.
[01:05:16]
David Hendricks
So what they'll often do is they'll decommission perfectly good servers after as little as three years, and then they'll kind of give them to some companies.
[01:05:27]
David Hendricks
It renew is a big one in the open compute project space.
[01:05:30]
David Hendricks
They were bought by Iron Mountain, and there are some others.
[01:05:35]
David Hendricks
But essentially these other parties, their job is to try to reclaim as much value as possible from that server.
[01:05:45]
David Hendricks
And there are a couple ways to do this.
[01:05:48]
David Hendricks
One way is, you know, you take off the cpu, you take off the dram, you take off any resellable peripherals, and then you just kind of sell them at whatever the market rate is, and then you scrape off all the valuable materials from the motherboard, you know, gold, indium, whatever else you got there, precious metals, and try to reclaim as much value as you can from that thing.
[01:06:11]
David Hendricks
But another approach is to resell these, you know, whole.
[01:06:17]
David Hendricks
Basically, you can kind of think of it like if you go, if you're in the market for a new car, you roll up to the car dealership and the first thing they'll ask you is, would you like to trade in?
[01:06:28]
David Hendricks
Because they want to buy it from you.
[01:06:30]
David Hendricks
They know you're looking to get rid of it and upgrade to a newer model.
[01:06:33]
David Hendricks
So they want to buy it to, you know, they want to buy it from you and then sell it to somebody else at higher price, you know, at a little bit of profit.
[01:06:39]
David Hendricks
And that's actually the best way to do it, if you're thinking from an environmental sustainability standpoint, because there's no waste, you know, that somebody who maybe they can't afford a new car, you know, maybe it's, you know, a teenager getting their first car or whatever.
[01:06:55]
David Hendricks
They get a product that they wouldn't otherwise be able to afford.
[01:06:59]
David Hendricks
The parts stay in service for at least a few more years before they eventually get scrapped and they're, you know, the similar thing happens with servers nowadays where it's nice to be able to take a whole server and then sell it to maybe Research institutions that don't have a lot of computer, you know, don't have a huge budget for brand new computers.
[01:07:21]
David Hendricks
Developing countries is another big thing.
[01:07:24]
David Hendricks
You know, there are a lot of up and coming economies in like Africa, South America, etc.
[01:07:30]
David Hendricks
And you know, even Asia, you know, there's, even though a lot of the hardware gets built there to begin with, there's still a lot of people out there who don't have Internet, you know, who aren't really connected to the Internet or the modern economy.
[01:07:43]
David Hendricks
So anyway, it's a great concept, but one of the problems is, to borrow an old phrase, hardware without software is, you know, a chip without software is just sand, right?
[01:07:55]
David Hendricks
So if you've got a server with, you know, firmware that has intractable problems, maybe it won't boot for some unknown reason, variables might be corrupted or it has known security issues and you wouldn't want to try to, you know, you can't really sell it with a support contract because that's where vendors will get a lot of money is, you know, here's a used server and I'll sell it to you and you know, 100 bucks a month gets you tech support or something like that.
[01:08:23]
Viktor Petersson
Right.
[01:08:23]
David Hendricks
If you don't have firmware that you control, then, you know, the server loses a lot of that value proposition.
[01:08:31]
David Hendricks
So this is where coreboot and open source firmware in general can help a lot.
[01:08:36]
David Hendricks
You know, companies and governments are starting to look a lot more about sustainability initiatives, trying to put less e waste out there.
[01:08:44]
David Hendricks
I don't want to say it goes to landfills because I know these companies work really hard to try to prevent that from happening.
[01:08:51]
David Hendricks
But if the hardware can't actually be used by someone else downstream, then you know, it's got to go somewhere.
[01:08:59]
David Hendricks
And I think Matt actually did something similar with Mr.
[01:09:04]
David Hendricks
Chromebox, you know, running on older hardware as well.
[01:09:08]
David Hendricks
Is that right?
[01:09:10]
Matt Devillier
Yeah.
[01:09:10]
Matt Devillier
So I actually work with quite a few recyclers who will take, you know, decommissioned Chromebooks from schools.
[01:09:18]
Matt Devillier
A lot of them are either right at their edge of end of life or, you know, past their end of life.
[01:09:24]
Matt Devillier
So they don't get updates anymore, even from Google.
[01:09:27]
Matt Devillier
And to Google's credit, they have been improving the support lifetime of newer Chromebooks.
[01:09:33]
Matt Devillier
They've extended it out to 10 years now.
[01:09:35]
Matt Devillier
But a lot of the older ones that shipped within the past 10 years don't have that long of a lifetime.
[01:09:43]
Matt Devillier
And so they've already reached their end of life.
[01:09:45]
Matt Devillier
They're not getting OS updates, they're not getting firmware updates.
[01:09:49]
Matt Devillier
And so the schools, when they're done with them, they've gone through three or four or five very hard years of kids using them.
[01:09:58]
Matt Devillier
You know, they'll.
[01:09:58]
Matt Devillier
They'll dump them on these recyclers.
[01:10:00]
Matt Devillier
And the recyclers will, you know, try to physically refurbish as much as they can.
[01:10:06]
Matt Devillier
But then from the software side, what a lot of them will do will be to use my Mr.
[01:10:10]
Matt Devillier
Chromebox Coreboot firmware on them and put a.
[01:10:14]
Matt Devillier
Another OS on them and then send them over to a developing country where they can be, you know, resold at a price that's affordable for them but also makes sense for the recycler.
[01:10:27]
Matt Devillier
And so I've helped a lot of recyclers with that, providing some custom firmware, providing tools to help them, you know, diagnose and upcycle their hardware.
[01:10:42]
Matt Devillier
And so that's one of the things I'm most proud of, the success, not necessarily the number of downloads, but the amount of machines that we're able to keep using and not have to go through the very expensive process of extracting precious metals from them simply because they're not supported by the manufacturer anymore.
[01:11:04]
Viktor Petersson
Yeah, no, that's really fantastic.
[01:11:08]
Viktor Petersson
And yeah, they would probably do the job just fine for basic use cases, even though their operating system is out of end of life.
[01:11:16]
Viktor Petersson
Right.
[01:11:17]
Viktor Petersson
So that's.
[01:11:17]
Viktor Petersson
Yeah.
[01:11:18]
Viktor Petersson
But I was very happy to see Google's extension of 10 years as well.
[01:11:21]
Viktor Petersson
That's kudos to Google for doing that.
[01:11:23]
Viktor Petersson
It's glad to see they've been leading the way there at least.
[01:11:26]
Viktor Petersson
So, yeah, good stuff.
[01:11:28]
Viktor Petersson
Cool.
[01:11:29]
Viktor Petersson
I think we covered a lot of ground today.
[01:11:31]
Viktor Petersson
I think we've had a lot of interesting conversations.
[01:11:34]
Viktor Petersson
So thank you both so much for coming on the show.
[01:11:37]
Viktor Petersson
Much appreciated.
[01:11:39]
Viktor Petersson
And yeah, looking forward to speaking to you guys soon.
[01:11:42]
Viktor Petersson
Thank you so much, guys.
[01:11:43]
Matt Devillier
Thank you, Victor.
[01:11:44]
David Hendricks
Appreciate it.
[01:11:46]
Matt Devillier
Take care.