5 ms·
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
by bri3d 3y ago
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 3y ago> 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 3y agoAlternatively, you can set the HAP bit in the BIOS flash https://hackaday.com/tag/hap-bit/ https://hackaday.com/tag/hap-bit/
- bri3d 3y agoYes. 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/ 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-bit https://github.com/corna/me_cleaner/wiki/HAP-AltMeDisable-bi... , https://www.ptsecurity.com/ww-en/analytics/disabling-intel-me-11-via-undocumented-mode/ 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 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 3y agoDo we have anything equivalent for AMD’s PSP?
- bri3d 3y agoThe 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.
- jacquesm 3y agoIn 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.
- wmf 3y agoWhat if... ME/PSP are actually very low security risk relative to everything else in the system.
- dboat 3y agoIt's troubling to have even a potentially very low security risk in hardware I paid for being beyond my reach to resolve.
- charcircuit 3y ago>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.
- 3y ago
- gnu8 3y agoI 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?
- wmf 3y agoIt 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 3y ago> 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 3y agoI 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 3y agoWill it have access to a wifi card? Only Intel?
- wmf 3y agoYes, AMT works over Intel WiFi.
- tenebrisalietum 3y ago> 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.