News for hackers. Stuff that matters.
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by kop316 on Thursday October 10, 2019 @12:58PM (#21216769)
Hello!

With only needing the Intel FSP, does that disable the Intel ME? And what other peripherals need closed firmware?

You also are not here:

https://www.coreboot.org/users.html

I say that because I have been in the market for a laptop, and I am looking for a free(dom) based laptop. I looked there and it led me down the path of a Purism laptop.

Have you also thought about adding some sort of hardware kill switches for Cameras/microphones/Radios?

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by jackpot51 on Thursday October 10, 2019 @01:01PM (#21216810)
The laptops which we will be delivering with open firmware will require the FSP and Intel ME, with the Intel GOP driver being an optional component to enable graphics acceleration in UEFI. The ME is disabled by way of a HECI message early in the boot process, so there are no runtime ME components similar to using the HAP bit on older ME versions.

I will get https://www.coreboot.org/users.html updated as soon as possible.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by hlandau on Thursday October 10, 2019 @04:04PM (#21218607)
This "disablement" is rather meaningless/misleading. The proprietary ME firmware is instrumental in the boot process and part of the chain of trust. Any 'disablement' of it (really, just a message sent to the ME firmware asking it politely to stop doing anything) after booting is after the horse has bolted.
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by imglorp on Thursday October 10, 2019 @05:01PM (#21219131)
I wonder if there's a hardware method to disable ME, something involving the processor lines on the motherboard, before it even gets powered on?
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by isantop on Thursday October 10, 2019 @05:14PM (#21219240)
The ME is partly responsible for powering up the main CPU. That kind of thing wouldn't be possible without a reimplementation of the ME from the start.
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by tpearson-raptor on Friday October 11, 2019 @02:49AM (#21222115)
Which, it should be noted, is impossible due to Intel's hardware-enforced signature checks.

Even if a key were to be stolen from Intel it would then be illegal to use in all Western nations. The ME is off limits to everyone other than Intel and its partners, enforced by both the hardware signatures and some of the most heavily enforced (in terms of consequences) legislation on the face of the planet.

Of course that won't stop malware authors, who couldn't care less about replacing the ME firmware to make it secure, but do care very much about the fact that they can hack into the stock, signed Intel ME firmware, then install their malware in a nearly impossible to detect position.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by pgeorgi on Thursday October 10, 2019 @03:52PM (#21218524)
> I will get https://www.coreboot.org/users.html updated as soon as possible.

That would be https://review.coreboot.org/c/homepage/+/35957

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by floatboth on Thursday October 10, 2019 @01:24PM (#21217067)
> Intel GOP driver being an optional component to enable graphics acceleration in UEFI

libgfxinit works even on Kaby Lake now.. but I see that you're using some ridiculously new 10th-Generation stuff for new laptops.

> HECI message early in the boot process, so there are no runtime ME components similar to using the HAP bit on older ME versions

Hm, I haven't heard of the HAP bit being gone?

Also, you can still remove extra ME modules, right?

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by jackpot51 on Thursday October 10, 2019 @02:01PM (#21217434)
A few things are going on here.

libgfxinit support for Comet Lake is coming. The Intel GOP driver is a bit different than this, though. There is an Intel PEIM graphics driver that comes from the PSP, that provides a software-rendering framebuffer similar to what libgfxinit does. The Intel GOP driver provides some hardware acceleration, which is useful especially for HiDPI systems but not critical to device functionality.

The HAP bit does not have an effect since ME version 12. ME 12 was used on Coffee Lake systems, and ME 14 is used on Comet Lake systems. These support a different method of disablement using a HECI message, presumably to make dynamic disabling of the ME easier to do. Our firmware always sends this message, having the same effect as setting the HAP bit.

me_cleaner does not appear to function on version 14 of the ME. As soon as it does, we will also utilize me_cleaner to remove ME modules.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by snagglegaggle on Thursday October 10, 2019 @01:51PM (#21217356)
>The ME is disabled by way of a HECI message early in the boot process, so there are no runtime ME components similar to using the HAP bit on older ME versions.

But why would I believe this? It seems you're selling snake oil. You can't really call it open firmware if there's still a lot of closed firmware in it.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by jackpot51 on Thursday October 10, 2019 @01:56PM (#21217403)
That's like saying you can't call Linux open source because it bundles closed firmware for WiFi, for example...

The ME could certainly still be active, that is true, but with modern x86 platforms attempting to disable the ME or PSP using the documented method is the best that can be done.

A very large amount of the work the firmware does is done by open source code in either Coreboot, EDK2, or the System76 firmware applications. It is my opinion that this definitely does count as open firmware.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by snagglegaggle on Thursday October 10, 2019 @02:08PM (#21217498)
With nonCPU blobs there is (usually) a memory boundary. Would the bus between the devices be exploitable? Perhaps, but at least it could be hardened, which is not the case with the ME controller. How much the ME controller actually participates in the boot process is irrelevant as long as its position within it can completely and undetectably compromise the entire system.

You should look at the libreboot project and read their blurb on why they do not support post-2013 processors.

Trying to sell the devices described as open is harmful to the term. They're not. Perhaps the only devices which are at this time are the IBM POWER processors and the Raptor CS motherboards, discounting any silicon backdoors, and in the case of the Raptor motherboard, the ASpeed BMC.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by nine_k on Thursday October 10, 2019 @10:06PM (#21220927)
Anything that you connect to the system bus can compromise the system.

Of course, ME has easier time doing that. But any ROM you can't inspect, any binary blob you load can do that.

I suppose that if you want this level of impenetrability, you have to go with everything custom. Could your memory controller scheme against you and alter RAM contents when a backdoor pattern is encountered? Do you trust IBM to not put a backdoor or a kill switch in your POWER9?

Implement your CPU, memory, bus, and disk controllers, NIC logic, etc, in FPGA. Build your own RAM with controllers you program, don't trust DIMM manufacturers. Write your own or adopt open booting software, same with firmware for the peripheral devices.

You'll get a very high security computer where a backdoor has basically nowhere to hide.

Alas, it won't fit the restrictions of a laptop.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by Enginerrrd on Thursday October 10, 2019 @02:29PM (#21217677)
This might be a stupid question, but would adoption of RISC V help fix this issue?
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by pgeorgi on Thursday October 10, 2019 @04:47PM (#21219005)
> would adoption of RISC V help fix this issue?

If you're in the market for some slow CPU, maybe. For high performance stuff the creator will likely have to license some function blocks that come with strings attached.

I'd love to see a fully open RISC-V core with a DDR4 interface (and USB2/3 for all kinds of interfaces), but somehow I just don't see that happening before DDR4 is all but obsolete: those interfaces aren't trivial to build (so that they work with all kinds of stuff) and few folks have the equipment to test their Verilog (or whatever) that would implement these high speed controllers against real devices.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by elif on Thursday October 10, 2019 @05:55PM (#21219578)
For my secure computer, yes please. I don't care how many extra milliseconds (or minutes) it takes to make a cryptocurrency transaction.

I do care that the in-memory key can not be read and transmitted without my OS' knowledge.

I have other computers for games and development and servers, and the NSA can have my steam password and already have my work email.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by wmf on Thursday October 10, 2019 @03:00PM (#21218013)
Not really. Closed firmware exists for reasons that aren't x86-specific so almost all ARM and RISC-V systems will have some form of closed firmware. One problem with x86 is that it's limited to ~3 companies while any company can use ARM or RISC-V so more diversity is possible.
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by pgeorgi on Thursday October 10, 2019 @04:00PM (#21218572)
> You can't really call it open firmware

I can implement IEEE1275-1994 as fully closed sourced code and call it open firmware.

> if there's still a lot of closed firmware in it.

Downthread you mention "With nonCPU blobs there is (usually) a memory boundary", which I'll take as the boundary you made for yourself in these matters.

With this boundary, the amount of "closed" firmware doesn't matter. The right 8 bytes at the right place and time are enough. Guess what:

> But why would I believe this? It seems you're selling snake oil.

The initial bootstrap is basically always implemented in a boot ROM (whether you see it or not) and it could decide to implement a backdoor unless some conditions are met.

According to your criterion all computing out there more modern than Z80 or 65816 era stuff is insufficient.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by hlandau on Thursday October 10, 2019 @04:06PM (#21218612)
> I can implement IEEE1275-1994 as fully closed sourced code and call it open firmware.

Hardly. You can call it Open Firmware(TM), not open firmware.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by pgeorgi on Thursday October 10, 2019 @04:09PM (#21218651)
I implemented OF over 15 years ago, and even back then the OF trademark had lapsed. Just tried again and I can't seem to find it.
Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by hlandau on Thursday October 10, 2019 @04:11PM (#21218665)
And? (TM) is used to denote unregistered trademarks, as opposed to (R) for registered trademarks.

Which is in any case irrelevant. Open Firmware != open firmware.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by pgeorgi on Thursday October 10, 2019 @04:17PM (#21218730)
The Open Firmware Working Group's website at https://www.devicetree.org/open-firmware/home.html mentions the OpenBoot(tm) trademark, but uses Open Firmware without any signifier. (and they should know)

Given that there's apparently no protection at all, I see no reason why I'd have to adhere to your wish to use 1275's way of writing O and F in upper case. So yes, I _can_ call it open firmware.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by hlandau on Thursday October 10, 2019 @04:21PM (#21218767)
I don't think you understand how this works. My calling it "Open Firmware" has nothing to do with its trademarked status. It is a proper noun.

Open Firmware != open firmware.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by pgeorgi on Thursday October 10, 2019 @04:43PM (#21218963)
> You can call it Open Firmware(TM), not open firmware.

let's shorten the other thread, since you just reiterate the same claim all the time without backing it up: I reject your prescriptivism just like I reject snagglegaggle's.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by snagglegaggle on Thursday October 10, 2019 @05:45PM (#21219492)
No one who downvoted actually read my posts, see the above comments that are functionally the same but were upvoted.

Initial bootstrap can be ROM, can be closed, but need not be. Stop compromising and accepting the status quo. The IBM POWER systems by Raptor have open firmware at every level. Is the CPU design open? Not entirely, but it is overall better, and I'm not trying to mislead people about it like the sales rep in this thread.

Your firewire example is disingenious, and no, I would disagree that it is open. Charlatans like System76 abuse the terms to sell their products taking advantage of the goodwill of those who do not know better.

Re:System76 Will Ship Linux Laptops With Coreboot-Based Open... by jackpot51 on Thursday October 10, 2019 @04:15PM (#21218713)
The update to users.html was merged and will be there shortly: https://review.coreboot.org/c/homepage/+/35957/1