[HN Gopher] System76's coreboot open firmware manages to disable...
       ___________________________________________________________________
        
       System76's coreboot open firmware manages to disable Intel ME for
       Raptor Lake
        
       Author : airhangerf15
       Score  : 232 points
       Date   : 2023-06-02 15:41 UTC (7 hours ago)
        
 (HTM) web link (blog.system76.com)
 (TXT) w3m dump (blog.system76.com)
        
       | BiteCode_dev wrote:
       | Disabling the biggest malware of all time is amazing. System76 is
       | getting quite attractive.
        
         | jmclnx wrote:
         | Same here, all I would need is 2 more things
         | 
         | 1. A trackpoint similar to what Thinkpads have and the ability
         | to disable the touchpad.
         | 
         | 2. No Nvidia GPU, but full opensource GPU. I think that is
         | already an option for some models. This is so I could use
         | OpenBSD with it.
         | 
         | But if I every get a new laptop, I will look directly at System
         | 76.
        
       | mPReDiToR wrote:
       | I hope someone proofreads that article before it's published to
       | the Interwebs!
        
       | Kim_Bruning wrote:
       | Rather than going by hearsay I thought I'd just look up the Intel
       | ME documentation. Unfortunately I can't seem to find much on the
       | Intel site. Where would full documentation of this system be
       | found, am I looking in the right place?
        
         | wmf wrote:
         | Look at AMT documentation.
        
       | neilv wrote:
       | I'm hoping some RISC-V system developer will take the opportunity
       | _not_ to embed a mess like the Intel ME.
        
         | rwaksmunski wrote:
         | I lost my hope when they adopted UEFI.
        
           | jonas-w wrote:
           | Could you elaborate what the problem with UEFI is and what
           | the alternatives are? Genuine question, as I've never heard
           | this sentiment before.
        
             | egberts1 wrote:
             | It is simple: the mere fact of adding network support at
             | BIOS level remains problematic.
             | 
             | And we are not talking about TFTP, but DHCP and NTP (not to
             | mention even more problematic HTTP[S]) which clearly does
             | not belong at BIOS and should not be at UEFI level.
        
             | neilv wrote:
             | I've heard many complaints about UEFI. Personally, I don't
             | like the complexity, and I distrust some of the parties
             | involved.
        
         | thatguyman wrote:
         | SiFive (the biggest RISC-V developer) has already partnered
         | with Intel: https://www.sifive.com/blog/sifive-made-a-splash-
         | at-the-risc...
         | 
         | Quote: "As part of our efforts to build out the RISC-V
         | ecosystem, SiFive has partnered with Intel to develop the
         | HiFive Pro P550 Development System (previously code-named Horse
         | Creek). During his keynote, Patrick was joined on stage by
         | Intel Foundry Services' Bob Brennan to share a first look at
         | this high performance platform that features a quad-core SiFive
         | Performance(tm) P550 processor and is implemented in the Intel
         | 4 technology platform. The board will enable a new generation
         | of RISC-V software, continuing the tradition of SiFive HiFive
         | boards that have helped drive the growth of the RISC-V
         | ecosystem. The board will be commercially available in the
         | summer of 2023."
        
       | jsiepkes wrote:
       | I recently found out (and was quite surprised) that certain HP
       | models also have an option in the UEFI to disable Intel ME.
       | 
       | I posted some pictures of it and pictures of the Intel tool
       | confirming it can't connect with ME when disabled:
       | 
       | https://mastodon.social/@JasperSiepkes/110221669827027710
        
       | bri3d wrote:
       | Note that this wasn't so much about figuring out how to disable
       | Intel ME, which is accomplished by sending an HECI (Host Embedded
       | Controller Interface) command in the same way it has been for
       | ages.
       | 
       | Rather, this was about fixing a buffer management bug in Coreboot
       | which prevented S3 sleep from working with secure boot enabled
       | (basically, coreboot would clobber itself with the TPM log on
       | wake). This bug required System76 to switch to S0ix suspend and
       | in turn, the ME to be re-enabled (as the ME manages some
       | peripherals in S0ix sleep).
        
         | nailer wrote:
         | > how to disable Intel ME, which is accomplished by sending an
         | HECI (Host Embedded Controller Interface) command in the same
         | way it has been for ages.
         | 
         | I didn't know this - so it's possible to turn off Intel ME? The
         | idea of a full copy of Minix with TCPIP running on my machine
         | is scary. Can someone else turn it back on?
        
           | als0 wrote:
           | Alternatively, you can set the HAP bit in the BIOS flash
           | https://hackaday.com/tag/hap-bit/
        
           | gnu8 wrote:
           | I would like to know how the ME shares the NIC with the user
           | OS on these systems. Do they have a completely separate
           | interface that somehow uses the same physical port? Do the
           | drivers from the two operating systems cooperate? Do they
           | have one MAC address or two? What happens if the user
           | installs a PCI NIC and doesn't plug in the onboard interface?
        
             | mjg59 wrote:
             | The hardware has the ability to tag packets with certain
             | contents - this is used for more interesting Wake-on-LAN
             | policies (eg, rather than requiring a magic packet, you
             | could have a web server that aggressively suspends and then
             | gets automatically woken when there's an incoming packet to
             | port 80 or 443). In the AMT case, it identifies incoming
             | packets that are aimed at the AMT ports and passes those
             | off to the ME rather than the OS. If you want to speak to
             | AMT from the host OS, you install an app that listens to
             | those ports on localhost and then tunnels the traffic
             | through the HECI interface instead. There's only one IP
             | address and one MAC address, and it's limited to built-in
             | Intel NICs.
        
             | wmf wrote:
             | It definitely only works with certain Intel NICs. It
             | doesn't require OS cooperation because the main purpose of
             | AMT is to recover a broken OS. I think the NIC effectively
             | has two host interfaces so that one can be used by the OS
             | and the other can be used by the ME. Due to network
             | authentication and such I think the same IP and MAC address
             | is shared by the OS and AMT which is of course a rampant
             | layering violation.
        
               | yomlica8 wrote:
               | > It definitely only works with certain Intel NICs.
               | 
               | Not really doubting you as that kind of stands to reason
               | to me, but is there any proof of this? The whole thing
               | seems opaque.
        
               | MobiusHorizons wrote:
               | I think the general idea is that the purpose of having
               | networking in the ME is to enable certain features, which
               | are documented to only work with certain Intel NICs. Of
               | course if you are paranoid, you would not trust this to
               | stop a determined attacker.
        
               | mixmastamyk wrote:
               | Will it have access to a wifi card? Only Intel?
        
               | wmf wrote:
               | Yes, AMT works over Intel WiFi.
        
               | gnu8 wrote:
               | Raising yet more questions about how AMT participates in
               | enterprise WiFi authentication schemes. My laptop at work
               | has a computer certificate which works for the OS, but
               | how does AMT have credentials or even know which SSID to
               | associate with?
        
               | bri3d wrote:
               | This is all available in the Intel AMT documentation.
               | While the implementation is closed-source and opaque,
               | this isn't some magic functionality, it's a product that
               | businesses want and use.
               | 
               | If the OS is running, wireless AMT forwards packets
               | through the OS driver; it's cooperative (unlike the wired
               | AMT, which always exists at a higher level than the OS,
               | because it has features like resetting a crashed OS).
               | 
               | If the OS isn't running, you provision the AMT with WiFi
               | credentials for the AMT host, using a tool. If you want,
               | you can use the Local Manageability Service (LMS) tool to
               | automatically forward credentials from the OS to the AMT,
               | otherwise, you can install specific profiles.
        
               | blacklion wrote:
               | I have bitter memories about AMT and all this "remote
               | management by Intel" from the old days.
               | 
               | When I'd built my first home server/NAS I wanted remote
               | control but I didn't want to pay for hardware with real
               | IPMI/iLO/..., so I choose desktop motherboard from Intel
               | with Q35 chipset (it was time when Z45/Q45 was cutting
               | edge and 35th series was previous generation). NIC was
               | Intel's one too, I think it was legendary PRO/100, not 1G
               | yet.
               | 
               | I was VERY disappointed to discover, that I didn't get
               | remote console and/or remote serial port with ME/AMT at
               | all, that it i not true AMT in desktop motherboards, even
               | with Q chipset.
        
           | tenebrisalietum wrote:
           | > The idea of a full copy of Minix with TCPIP running on my
           | machine is scary.
           | 
           | Well...
           | 
           | - I don't think the ME knows how to talk to non Intel NICs
           | (install a Realtek or Broadcom based NIC).
           | 
           | Some searching I just did regarding "AMT" (remote management
           | feature that uses the ME) says it needs an Intel NIC.
           | 
           | And, some searching I just did regarding vPro (not 100% sure
           | what this is exactly) says vPro uses the onboard network
           | adapter.
           | 
           | - So I don't think the ME will look for a NIC on the PCIe bus
           | at all, but not 100% sure.
           | 
           | - I'm fairly sure AMT/vPro/the ME doesn't know how to talk to
           | anything other than stuff on the PCIe bus (use a USB NIC)
           | 
           | - The NIC the ME would use has a MAC like any other NIC.
           | Should be information available from the firmware. Just block
           | it at the router.
        
           | bri3d wrote:
           | Yes. There are several ways, depending heavily on the
           | version, and ranging from most trustworthy to least
           | trustworthy:
           | 
           | * By patching the ME firmware itself - see the me_cleaner
           | project, and methods documented here:
           | https://puri.sm/posts/deep-dive-into-intel-me-disablement/ .
           | This is Pretty Reliable; the runtime code has been deleted
           | from flash.
           | 
           | * By setting a bit in the flash configuration, assumed to be
           | added for the US High Assurance program:
           | https://github.com/corna/me_cleaner/wiki/HAP-AltMeDisable-
           | bi... , https://www.ptsecurity.com/ww-en/analytics/disabling-
           | intel-m... . This is Mostly Reliable; the mechanism has been
           | fairly aggressively reverse engineered and was added for a
           | program with strict requirements.
           | 
           | * By sending an HECI command that says "hey ME, turn off your
           | runtime" https://review.coreboot.org/c/coreboot/+/52800 .
           | This is Somewhat Reliable; the method is well understood and
           | seems to work but I'm not sure someone has done a deep dive
           | audit into whether it could be re-enabled somehow.
        
             | jimbob45 wrote:
             | Do we have anything equivalent for AMD's PSP?
        
               | bri3d wrote:
               | The equivalent of Option 3, send a supported command that
               | tells the runtime capabilities to shut down, has been
               | provided as a user-selectable option by AMD in AGESA (the
               | unified AMD BIOS/EFI package) for several years now.
               | 
               | I haven't found anyone who has actually reversed the
               | functionality to audit what it's doing, though.
        
               | jacooper wrote:
               | This is probably going to change when AMD switches from
               | AGESA openSIL, fully open firmware.
        
               | jacquesm wrote:
               | In a way this is all insane: we are spending a fortune on
               | security globally but at the same time manufacturers get
               | to insert massive backdoors into the hardware and hardly
               | anybody bats an eye.
        
               | charcircuit wrote:
               | >manufacturers get to insert massive backdoors into the
               | hardware
               | 
               | There is no proof that they are
               | 
               | >hardly anybody bats an eye.
               | 
               | Because only a certain niche of paranoid people are
               | willing to believe that companies are trying to make
               | their systems intentionally insecure so that you can be
               | personally hacked.
        
               | anonymousiam wrote:
               | It's a fact that NSA solicits companies to add security
               | weaknesses to their products. They'll "make an offer you
               | can't refuse" by offering cash (in the form of a
               | contract), and they'll use their influence with other
               | "contractors" and government agencies to punish companies
               | that don't participate.
               | 
               | This is not unique to NSA. Security agencies within other
               | governments play the same games with supply chains.
        
               | feanaro wrote:
               | It most certainly doesn't have to be intentionally
               | insecure but it almost definitely is accidentally so.
               | There should be no OS nor network stack running in the
               | firmware, period.
        
               | fsflover wrote:
               | User-respecting OS running in the firmware can be really
               | useful. It must be FLOSS though. Example:
               | https://puri.sm/posts/pureboots-powerful-recovery-
               | console/.
        
               | wmf wrote:
               | What if... ME/PSP are actually very low security risk
               | relative to everything else in the system.
        
               | dboat wrote:
               | It's troubling to have even a potentially very low
               | security risk in hardware I paid for being beyond my
               | reach to resolve.
        
       | hlandau wrote:
       | This does not "disable" Intel ME. The ME is instrumental to the
       | boot process and it is impossible to boot a modern Intel x86
       | system without it. It's quite tiring seeing x86 vendors
       | continuing to misrepresent this.
       | 
       | See comment by bri3d below for details. It appears they're just
       | sending a command to the ME politely asking it to stop doing
       | things, maybe. Of course, this happens long after the ME has
       | already done a great deal of work bringing up the system.
       | 
       | Of the three options for ME scope reduction, none are good and
       | none actually "disable" the ME, but it seems like they've chosen
       | the least effective/audited option of the three. I should add
       | that if you don't trust the ME not to be owned, there's not
       | really any reason to trust that it will honour a polite request
       | to stop doing anything sent to it, and you can't trust it not to
       | have compromised the boot process anyway, making this rather
       | pointless.
        
         | VWWHFSfQ wrote:
         | I'm wondering how someone like the USA government manages this?
         | They have massive deployments of Intel x86 like at the Utah
         | Data Center [1].
         | 
         | [1] https://en.wikipedia.org/wiki/Utah_Data_Center
        
           | elif wrote:
           | There was a dell link floating around for a while to an
           | internal store listing for laptops with IME-free CPU's. It
           | was then taken down with the (implied? Explicit? I don't
           | recall) explanation that it was meant for government
           | employees only.
        
             | mjg59 wrote:
             | The ME isn't in the CPU, it's in the PCH. I'd be astonished
             | if Intel made special parts that didn't use the ME at all,
             | it's much more likely that they just have the HAP bit set
             | in the FIT and the ME largely shuts down part-way through
             | boot (you still need ME firmware to be present, so the ME
             | clearly still runs some amount of code before disabling
             | itself)
        
           | deelowe wrote:
           | They partner with Intel to get what they need taken care of.
           | Not something the average person can do.
        
           | caeril wrote:
           | "I'm wondering how the people who ordered Intel to integrate
           | spyware into their processors manages this?
           | 
           | Answer: order them to tape out N units without the spyware
           | for only you. A new photomask isn't all that expensive.
        
           | mhitza wrote:
           | They might just ask Intel to put a special flag in, like the
           | one discovered back in 2017.
           | 
           | > One of the fields, called "reserve_hap", drew our attention
           | because there was a comment next to it: "High Assurance
           | Platform (HAP) enable".
           | 
           | > Googling did not take long. The second search result said
           | that the name belongs to a trusted platform program linked to
           | the U.S. National Security Agency (NSA)
           | 
           | https://web.archive.org/web/20170829010653/https://blog.ptse.
           | ..
        
           | charcircuit wrote:
           | They don't need to disable ME, no more than they need to
           | disable some microprocessor in a network card. The government
           | doesn't have to believe baseless conspiracy theories when
           | they design datacenters.
        
             | DaSHacka wrote:
             | Yes, that's clearly why they order computers from
             | manufacturers with ME disabled, because it's _not_ a
             | backdoor...
        
         | tssva wrote:
         | I'm writing this from my car as I wait to have my state safety
         | inspection done. My car has a traction control system which is
         | enabled. Just pushed the TCS button. It was enabled and now it
         | is disabled. Just pushed the button again. It was disabled and
         | now it is enabled. I can switch freely between each state and
         | in neither case does the description of the state require
         | quotes around it.
        
           | FireBeyond wrote:
           | In most cars, TCS enable/disable is not really as concrete as
           | it sounds, but more "allow more wheel slippage/spin from
           | stopped" for snow/mud scenarios. Even with it 'nominally
           | off', it's still there and working hard.
           | 
           | On certain performance cars, it's actually a three stage
           | system. On my Audi RS 5, there's the same thing as you
           | describe. And then if I push, and hold, TCS for five seconds,
           | it goes fully off (for race days and such).
        
           | lannisterstark wrote:
           | Considering your car's (most average cars) TCS never really
           | gets fully disabled... Yeah, your word needs quotes even
           | more.
        
         | t09i209ba893 wrote:
         | IDK, even this method was not possible for years due to the
         | issue with s3 sleep not working. While it's not an absolutely
         | unmitigated win, I think it is still valuable to at least
         | regain this option. I wish that hardware freedom was at a place
         | where it was worth being frustrated with vendors for not making
         | a finer distinction here, but in this case I'm just glad to see
         | any progress on this front.
        
           | EuropeOverlords wrote:
           | [dead]
        
       | EuropeOverlords wrote:
       | [dead]
        
       | egberts1 wrote:
       | This is why we never use much less connect the onboard Intel
       | Ethernet port for any motherboards having Intel support. (Same
       | for AMD); we always add a (better) Ethernet NIC adapter card.
       | 
       | Meanwhile, mothetboards having ARM, RISC and PowerPC continues to
       | gain support.
        
       | nazgulsenpai wrote:
       | Even as someone who doesn't use anything System76, I truly
       | appreciate all of their contributions.
       | 
       | Kinda tangential but I wonder, as successful as they've been in
       | their niche (I presume, based on how prolific the branding is) I
       | wonder if they would be better positioned to make a Linux phone
       | where the others have fallen flat? I loved my PinePhone but as a
       | novelty mini-AIO PC more than a phone. I doubt they'd want to
       | step onto that minefield, but I wouldn't be able to help but get
       | excited if such a project ever materialized.
        
         | samstave wrote:
         | As a customer of System76 since at least ~2014, (many machines)
         | I dont like them as a company ;
         | 
         | - They wanted $90 for a replacement laptop power supply cable
         | 
         | - They wanted money to replace screws that that fell off and
         | were clicking around in the body of the machine
         | 
         | - They took the exact same model/design (from CLIO) of machine
         | in the same release year and changed the interface for the LCD
         | screen mid-stream, so a newly ordered screen for machine would
         | not connect because they changed the ribbon cable type and told
         | me to kick rocks
         | 
         | The machines had extremely flimsy cases and the fan fins often
         | broke...
         | 
         | I loved running linux on them for the value for the guts you
         | got on their machines, but their support fucking sucked. I
         | abandoned them a few years ago.
         | 
         | I still have one of their machines here - and its firmware
         | failed and its unsuable.
        
         | panick21_ wrote:
         | There are enough phone projects, and they are hard. I much
         | rather have a laptop project and that's what they are working
         | on.
        
           | PopePompus wrote:
           | Yes, building a cell phone is simply something a small group
           | of people cannot do successfully. I used to develop software
           | for Openmoko phones, the N900, and other early Linux phones.
           | Those projects had several decedent projects, all of which
           | failed. There are several show-stoppers: 1) chip vendors
           | won't talk to you if you are proposing to build a few
           | thousand phones. 2) These projects never produce several
           | iterations of prototypes that are tested by a significant
           | number of users, so if they ever do ship a phone, there are
           | terrible hardware faults. Fun fact: end users are not good at
           | adding additional surface-mount components to cure these
           | problems. 3) Unless you are making an Android phone, or at
           | least an Android-compatible phone, none of the major apps
           | will be available, and your customer base will be limited to
           | the small fraction of the population that cares about
           | privacy. So you'll never see economies of scale. 4) It will
           | take longer than expected to bring the phone to the market,
           | so even if you manage to build something, the hardware will
           | be several generations behind what consumers expect. 5) Power
           | management is _hard_.
        
             | jancsika wrote:
             | > chip vendors won't talk to you if you are proposing to
             | build a few thousand phones.
             | 
             | So is all the bootleg crazy hardware produced and sold in
             | Shenzhen basically running the same firmware/driver blobs
             | used in the West?
             | 
             | Is there really _nobody_ who has access to specs for even
             | out-of-date shitty cameras, wifi modules, and old gpus?
        
             | donkeybeer wrote:
             | Whats the minimum volume of units do you think is necessary
             | to get them interested?
        
           | nazgulsenpai wrote:
           | No, I agree. I don't expect it would or even should happen,
           | but if it did I would be very interested.
        
           | Brian_K_White wrote:
           | Still waiting years for my FxTec. By the time it arrives I
           | asssume I will be unimpressed with a snapdragon 662. Qualcom
           | EOLed the snapdragon 835 it was originally based on, so mid-
           | way, they had to redesign around a newer but lower spec chip.
           | The original chip was a high end but from 2017. Imagine
           | getting that, new, in 2023 or 2024.
           | 
           | In some ways I guess I don't care since I'm on a pixel 4a 5g
           | just for the headphone jack. But I also only paid about 150
           | or 200 for it.
        
       | user6723 wrote:
       | The purpose of Intel ME is to give foreign intelligence agencies
       | wireless access to America's senators, executive teams, and
       | critical infrastructure.
       | 
       | Occasionally the open source security industry uncovers yet
       | another 0day in the endless stream of zero days then Intel and
       | all the OEMs release a patch to fix the bug and add three more
       | 0days to Intel ME.
       | 
       | Very very few IT teams want AMT. It is a total scam. If we had a
       | functioning government, Intel ME in its current from would never
       | be allowed to be sold in USA.
        
         | Aerbil313 wrote:
         | > The purpose of Intel ME is to give foreign intelligence
         | agencies wireless access to America's senators, executive
         | teams, and critical infrastructure.
         | 
         | I agree, only that I think it's reverse. It would seem that
         | American companies like Intel and AMD can be far more easily
         | controlled with both force and cash by American government, not
         | by foreign governments.
        
         | charcircuit wrote:
         | >The purpose of Intel ME is to give foreign intelligence
         | agencies wireless access to America's senators, executive
         | teams, and critical infrastructure.
         | 
         | Do you even have a shred of evidence for this claim?
         | 
         | >yet another 0day in the endless stream of zero days
         | 
         | There is not an endless stream of zero days in the ME. None of
         | these are relevant to most people's security model. Even for
         | those with an excessive security model attacks you probably
         | already consider your machine compromised if tan attacker has
         | physical access to it.
        
       | everdrive wrote:
       | I understand what the ME at a very vague level, but I'm confused
       | about how it works. How would someone interact with the ME? Is it
       | just listening on my network interfaces? Would someone need to
       | run code from my OS? Does it matter what OS I'm using?
        
         | mjg59 wrote:
         | In general the ME will only be listening for network traffic if
         | you've enabled AMT functionality (which is restricted to
         | certain enterprise SKUs and has requirements around which
         | networking hardware is used and so on). Otherwise, the ME will
         | expose a PCI device implementing the Host Embedded Controller
         | Interface (HECI) and OS drivers can bind to that to offer an
         | interface to applications.
        
       | dang wrote:
       | We changed the URL from
       | https://www.phoronix.com/news/System76-Disable-ME-RPL, which
       | points to this and seems to add nothing significant.
       | 
       | I've left its title, even though people are disputing it, since
       | the comments are mostly about that.
        
       ___________________________________________________________________
       (page generated 2023-06-02 23:00 UTC)