Linked by Thom Holwerda on Sun 29th Oct 2017 17:44 UTC
Google

Two weeks ago, security researchers managed to disable the Intel Management Engine, and last week, Google held a talk at the Open Source Summit (née LinuxCon) in which they unveiled their plans to completely (well, almost completely) replace every bit of code between the operating system you know about (Windows, Linux, BSD, whatever) and the bare metal x86 processor (Intel-only, for now).

With the WikiLeaks release of the vault7 material, the security of the UEFI (Unified Extensible Firmware Interface) firmware used in most PCs and laptops is once again a concern. UEFI is a proprietary and closed-source operating system, with a codebase almost as large as the Linux kernel, that runs when the system is powered on and continues to run after it boots the OS (hence its designation as a "Ring -2 hypervisor"). It is a great place to hide exploits since it never stops running, and these exploits are undetectable by kernels and programs.

Our answer to this is NERF (Non-Extensible Reduced Firmware), an open source software system developed at Google to replace almost all of UEFI firmware with a tiny Linux kernel and initramfs. The initramfs file system contains an init and command line utilities from the u-root project (http://u-root.tk/), which are written in the Go language.

Both the slides from the talk and the video are available.

Thread beginning with comment 650418
To read all comments associated with this story, please click here.
How do you verify the code in the firmware?
by teco.sb on Sun 29th Oct 2017 19:00 UTC
teco.sb
Member since:
2014-05-08

I think the larger problem is, how do you verify that the firmware code is actually compiled from that particular source? If you cannot load your own firmware (I know, a pipe dream) how is this different than the current situation? Not just that, if a vulnerability in the current code is found, can you actually update it yourself?

I used to have a Samsung Galaxy Nexus, and know all too well what happens when support is arbitrarily dropped. I would probably still have that phone were I able to load the latest version of Android. But since TI dropped support for the OMAP SoC, I could not upgrade beyond 3.4.

Reply Score: 4

Brendan Member since:
2005-11-16

Hi,

I think the larger problem is, how do you verify that the firmware code is actually compiled from that particular source? If you cannot load your own firmware (I know, a pipe dream) how is this different than the current situation? Not just that, if a vulnerability in the current code is found, can you actually update it yourself?


The other problem is that if you want to do something else (e.g. boot Haiku from USB, boot MS-DOS from CD-ROM, boot FreeBSD from hard drive, etc) you're screwed because they stripped out all of the "non essential" functionality, and if you want to change your hardware (e.g. upgrade the video card) you're also screwed because that'd require a little extensibility.

Mostly it sounds like they're using "open source" as yet another form of vendor lock-in; to make sure the computer will only ever be able to run one specific OS and nothing else (e.g. maybe a special Linux distro created by Google, for Google's benefit and not yours).

- Brendan

Reply Parent Score: 3

jing Member since:
2017-08-19

Trammel is involved with the NERF project
and the project probably use HEADS firmware as a payload:

https://media.ccc.de/v/33c3-8314-bootstraping_a_slightly_more_secure...

HEADS firmware (Linux) can boot any os via kexec
min 39:00s to min 40:30s

Reply Parent Score: 5

Bill Shooter of Bul Member since:
2006-07-14

That is the exact reason why Google has the new project treble. If the bulk of the software can be updated without the hardware drivers needing to change devices can stay useful longer.

But thats oreo and beyond so maybe the nexus 5x will be a long lived device? One can dream anyways.

Reply Parent Score: 3

yoshi314@gmail.com Member since:
2009-12-14

and the hardware driver security holes (intentional or not) will remain there for longer.

Reply Parent Score: 2