Replace Your Exploit-Ridden Firmware with Linux - Ronald Minnich, Google
The Linux Foundation6 HN recommenders · recommended in 4 months, 2017-2023
73K views · 9 years ago · talk · dated
Ronald Minnich of Google explains how UEFI firmware is a large closed attack surface and describes Google's work replacing it with Linux-based boot firmware. It also touches on Intel ME and other security coprocessors.
Recommended as the go-to talk on firmware security risks, Intel ME, and why replacing UEFI with Linux speeds up and hardens boot.
53:11EFI and Linux: the future is here, and it's awful - Matthew Garrett
Linux.conf.au 2012 -- Ballarat, Australia
77K views • 14 years ago
45:47The State of Kernel Self Protection Project by Kees Cook, Google
The Linux Foundation
7K views • 9 years ago
44:50My personal fight against the modern laptop
linux conf au 2017 - Hobart, Australia
121K views • 9 years ago
1:02:52Joanna Rutkowska: Towards (reasonably) trustworthy x86 laptops
media.ccc.de
27K views • 10 years ago
51:00GOD MODE UNLOCKED - Hardware Backdoors in x86 CPUs
Black Hat
319K views • 8 years ago
59:23Quick Start, Episode 7: Crimes... And Felonies.
Cathode Ray Dude - CRD
235K views • 2 years ago
33:53Linux for Chromebooks: Secure Development (Google I/O ’19)
Chrome for Developers
239K views • 7 years ago
47:18The Tragedy of systemd
linux.conf.au
1.3M views • 7 years ago
5:22Lest We Remember: Cold Boot Attacks on Encryption Keys
pucitp
749K views • 18 years ago
46:04DEF CON 26 - Christopher Domas - GOD MODE UNLOCKED Hardware Backdoors in redacted x86
DEFCONConference
86K views • 8 years ago
1:06:20USENIX ATC '21/OSDI '21 Joint Keynote Address-It's Time for Operating Systems to Rediscover Hardware
USENIX
46K views • 5 years ago
41:12Run containers on bare metal already!
Bryan Cantrill
40K views • 10 years ago
34:14"What UNIX Cost Us" - Benno Rice (LCA 2020)
linux.conf.au
218K views • 6 years ago
32:30Benno Rice: The Tragedy of systemd -- BSDCan 2018
BSDCan
25K views • 8 years ago
33:36Keynote: Greg Kroah-Hartman (Linux Foundation) - "I Don't Want Your Code"
Linaro On Air
0 views • 13 years ago
6:36Intel ME explained (intel management engine) from insider
jessie
12K views • 8 years ago
44:29Breaking the x86 Instruction Set
Black Hat
381K views • 9 years ago
48:13RIP Windows: Linux GPU Gaming Benchmarks on Bazzite
Gamers Nexus
1.1M views • 11 months ago
43:28Leaping the chasm from proprietary to open: A survivor's guide
Bryan Cantrill
14K views • 11 years ago
56:19MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System
FOSDEM
90K views • 16 years ago
12 comments from Hacker News
Intel CSME (formerly ME) and AMT ST (formerly PSP) have many properties that are / would be desireable for someone who is/was building a backdoor (DMA, TCP/IP stack that can use onboard ethernet without the host OS being aware, closed source, unremovable, etc). Keep in mind that even if there has not been a backdoor deliberately added, there absolutely have been serious exploits in ME and PSP, and even for those who are not worried about the government, these security coprocessors still pose grave risk to data privacy and security, potentially handing "ring -3" access to non-government hackers. While I personally share your belief that these are probable backdoors, it is important to remind skeptics that they pose a grave security and privacy threat even outside the context of a government backdoor conspiracy. There's a great talk on the risks posed by the capabilities of these security coprocessors by an extremely well-versed individual at Google who was (leading? involved at a high level?) working on Google's efforts to neutralize these dangerous subsystems at Embedded Linux Con in 2017: ▶ this video
The gist is (which doesn't hold universally true), when the CPU is powered up, it initializes its internal RAM, loads in a pre-boot ROM, executes it. pre-boot ROM's job is to initialize whatever it has to, to bring in the initial bootloader which initializes RAM, finds a suitable bootloader program and loads it in. This program, also called second-stage bootloader , is an Operating System in its own right. It can understand filesystems, explore attached hardware, speak multiple network protocols, initialize devices as needed. The second-stage bootloader (there may also be a third-stage ) usually then boots into a Kernel. The Linux Kernel invokes the init process and things proceed into the userspace from there. At each of those stages, the bootloader images, the kernel image, the device trees, and the disk / filesystem are verified ("measured") for integrity eventually anchored on a "hardware root-of-trust". If you're a visual learner: How TI Beagleboard boots (33m): link / link How ARM Cortex M boots (9m): link / link Bootloader 101 (embedded devices; 38m): link / link Measured Boot (39m): link / link Coreboot (38m): ▶ this video / ▶ this video U-Boot (1h 25m): link UEFI for U-Boot (38m): link / link Device Trees (43m): link / link ARM Trust Zone (46m): link
Intel had an opportunity to develop Zephyr as a usable RTOS, internally* and externally. If they thought that the technology was compelling, why did they let it go? *(Intel's Management Engine is still around, running....Minix. ▶ this video )
They run in ring -2. Proprietary software with networking stacks, file systems, device drivers, web servers, all running in a mode more privileged than the operating system. There's also the Intel Management Engine with pretty much the same features but running in ring -3. ▶ this video
There seems to be confusion about vPro, AMT, BIOS, UEFI, Trusted Boot, and so on. This talk helped me: "Replace Your Exploit-Ridden Firmware with Linux" ▶ this video
> As someone who's worked in the consumer electronics industry for years, I think we desperately need to rethink our approach to Linux-based electronics with respect to both the userland and the primary application. Google has created a stack called NERF (Non-Extensible Reduced Firmware) for this: link There's a presentation about it on youtube: ▶ this video
There were investigating flashing the ME for their compute cloud processors [0] to avoid the possibility of an ME vulnerability being exploited, which would greatly harm their reputation. [0] ▶ this video
Why so many haters? Just the fact that they've got Ron Minnich[0-1] on the team--one of the guys fighting the good fight against all of the voodoo BS in your Intel/AMD firmware--makes it worth a look IMHO. [0] ▶ this video [1] link
Absolutely fantastic video from a google engineer (and the original author of LinuxBios / Coreboot) on how they replaced the UEFI firmware with Linux to get Dell servers to boot in 20 seconds: ▶ this video
A recent talk [0] by Ronald Minnich from Google gives a nice overview of their efforts to replace parts of Intel ME and UEFI with Linux, mostly for security reasons. [0] ▶ this video
I first heard the Minix thing in this talk: ▶ this video which I found, I think via a HN thread. Anyway, most of the articles rehash this talk and IMO its a solid 30 minute investment.
> Is this related to Purism announcing that they had successfully disabled the Intel Management Engine on their laptops? Or is that unrelated? It is completely unrelated. Intel ME is about a remote servicing interface that exists on all current Intel processors. While it has some usages for managing computers in a corporate setting or managing servers (keyword to look for: Intel Active Management Technology (Intel AMT), which needs Intel vPro), it exists on nearly all current Intel processors (except, I think, Intel, Quark; but this processor is built for completely different purposes). Thus there are rumors that it is a backdoor for, say, 3-letter agencies. I don't want to spread any rumors here, but just say: Because Intel ME is very large and complicated (according to ▶ this video 5 MB in size) it is a real concern that lots of security gaps will be found (and some have been found in the past), which, because of Intel ME's structure (according to link it runs on ring -3) can easily lead to really dangerous security holes. Just for this reason alone any responsible admin should try to disable Intel ME so that this security liability does not have to stay open. PRISM is a surveillance program by the NSA.