9 ms·
Intel Management Engine cleaner
- d33 10y ago> It should work both with Coreboot and with the factory BIOS. So, basically any computer? Also, how safe is it? EDIT: > Bricking is very likely to happen! Just in case you didn't hear me the first time
- d33 10y agoIt looks like its wiki sheds some light on the details: https://github.com/corna/me_cleaner/wiki https://github.com/corna/me_cleaner/wiki
- BuuQu9hu 10y agoNot any computer, just these: https://github.com/corna/me_cleaner/wiki/me_cleaner-status https://github.com/corna/me_cleaner/wiki/me_cleaner-status
- nailer 10y agoBackground, ie why you might want to clean Intel ME: https://recon.cx/2014/slides/Recon%202014%20Skochinsky.pdf https://recon.cx/2014/slides/Recon%202014%20Skochinsky.pdf
- kawsper 10y agoAlso, https://libreboot.org/faq/#intelme https://libreboot.org/faq/#intelme
- SEJeff 10y agoAnd an obligatory link to CoreBoot, which I believe has a bit more history than Libreboot: https://www.coreboot.org/Intel_Management_Engine https://www.coreboot.org/Intel_Management_Engine
- mordocai 10y agoLibreboot is just a more strict about freedom coreboot from what I understand. As in it is literally a fork/derivative of coreboot.
- SEJeff 10y agoAh got it. With the recent GNU drama of libreboot I wonder how viable it really is as an ecosystem.
- yuhong 10y agoPersonally I think the FSF ideology taken too far is pretty ridiculous anyway.
- nfoz 10y agoYet here we are, discussing the secret OS that runs on its own chip and can't be disabled by the end-user. The world is a pretty ridiculous place, even with the best efforts of those ridiculous FSF zealots. I don't always agree with them and their methods and communication skills aren't perfect, and it's a shame to see coreboot/libreboot get fragmented etc... but imagine how backwards the world would be without some people taking things 'a bit too far sometimes'.
- milcron 10y agoAnother difference is that Coreboot is essentially a rolling release, whereas Libreboot periodically takes a snapshot of upstream and maintains it for a while. Libreboot is therefore something like a long-term service release. Anecdotally, I also found Libreboot easier to build. There is less configuration involved.
- floatboth 10y agoIt's a distribution of coreboot + GRUB, 100% free of any proprietary blobs. Not really a "fork".
- moolcool 10y agoHere's a video of him presenting these slides https://www.youtube.com/watch?v=Y2_-VXz9E-w https://www.youtube.com/watch?v=Y2_-VXz9E-w
- leonroy 10y agoI remember the furore when Intel introduced a unique CPU identifier in the Pentium 3. Now they have a microprocessor and OS running as a computer subsystem on every Intel server and laptop which is able to do pretty much what it likes with your system and people don't bat an eyelid. Don't get me wrong, I love some of the benefits like remote control of my servers, fan speed control, monitoring of temps and voltages etc. but I do think we've given up a LOT of security for the sake of convenience. It wouldn't take much for a well crafted worm or heck a simple script to disrupt a whole network of ME/AMT enabled clients and servers.
- vbezhenar 10y agoCan I even use it to remote control my server? HP have iLO, but it's completely different beast, AFAIK. I've never heard about using Intel ME for servers.
- bonzini 10y agoME is where the IPMI implementation lies. It can be used over the network to monitor sensors, to access the serial port and so on. It also has an HTTP server providing a web interface to the same functionality.
- anoother 10y agoThis is false. IPMI is a completely different thing from the Intel ME. It is implemented on a separate chip (bmc) and has its own NIC (usually with its own physical port) AMT on the other hand provides its network functionality by hijacking the host's IP, and siphoning off traffic destined for its ports (16992 and 16993). This is one of the things that makes it scary, and just one of the differences between it and IPMI. Source: I have worked extensively with AMT and built a semi-open-source Python management library for it in a previous job.
- wang_li 10y agoAre you sure of that? One most of the systems I've used with IPMI functionality (oracle and supermicro), the BMC resides in a separate chip with it's own processor and RAM. https://www.thomas-krenn.com/en/wiki/Nuvoton_WPCM450R_IPMI_Chip_with_ATEN-Software https://www.thomas-krenn.com/en/wiki/Nuvoton_WPCM450R_IPMI_C... Oracle uses these: https://www.aspeedtech.com/products.php?fPath=20&rId=376 https://www.aspeedtech.com/products.php?fPath=20&rId=376
- SimplyUnknown 10y agoOne thing I asked before but didn't get a definitive answer on: IIRC the IME images are cryptographically signed, right? If so, how can they modify the images without breaking the signature? Or can they resign it?
- mid-kid 10y agoAs far as I know, only the code is signed, not the partition table. This means that you can freely modify the partition table and completely remove some modules.
- mid-kid 10y agoPlease check the wiki for more detailed information: https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F#why-does-it-work-arent-the-partitions-signed-how-can-you-modify-them https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F...
- ysleepy 10y agoWell, what happens if you break the signature? - the IME does not start up... - Exactly what we wanted.
- nowaynohow 10y agoNo, if you break the signature, something (processor microcode or the IME boot block?) will notice, and the system will either not start, or shutdown after ~30min. There is microcode-level integration between the IME and the system processor in an Intel system. It also involves the platform TPM (which could be an IME module), on systems where Intel SGX or Intel TXT is active. OTOH, if the non-critical IME modules are missing, the system boots and goes on working just fine. Since the IME "partition table" is not signed, this allows you to remove the undesired modules such as Intel AMT. It is actually possible for a system integrator/motherboard factory to request from Intel a minimal IME build that lacks AMT, you know. It is also rather trivial to disable the (documented) IME path to the network: don't use the chipset-embedded ethernet MAC (as in midia access controller, not MAC address). That requires adding a full LOM NIC chip and taking up precious PCIe lanes, instead of just adding a (much cheaper) LOM PHY.
- deleted 10y ago[deleted]
- TorKlingberg 10y agoThe ME causes problems for embedded system makers too. If you are making physical devices with Intel CPUs you probably want to replace the Intel MAC addresses with your own. Then you have to fight with the ME to keep it from trying to talk to the internet by itself, using the Intel MAC. If it does, that will freak out some corporate routers. They see two MAC devices on one port and assumes someone has plugged in an unauthorized ethernet switch, and disable the port.
- DashRattlesnake 10y agoHmm, that behavior might enable a neat non-firmware mitigation: replace the Intel MAC address and block all packets originating from it.
- DashRattlesnake 10y agoHmm, that behavior might enable a neat non-firmware mitigation: replace the Intel MAC address with your own and block all packets originating from the Intel one.
- AdmiralAsshat 10y agoA story: One of my coworkers told me he previously worked on the motherboard team for Intel and was regaling the office with stories about testing the motherboards against the latest games. Apparently many of the Intel engineers personally tested overclocking the processors to see how much they could take before they fried. At some point I asked him if he knew anything about the Management Engine. He said that they were starting to become a thing right around the time he was leaving, so he didn't know too much about them. I said, "Well, there's a bunch of paranoid people that are uneasy about it because, to my understanding, it's a blackbox second processor and we really have no idea what it's doing." Without prompt, he replied, "Oh, you mean like the FBI using it to listen in? Yeah, that happened. It happened on AT&T's when I went over there as well."* That's my story. I apologize if it looks like I'm spreading FUD here, since I'm not going to give up my name or my coworker's to verify the story, but I sincerely doubt that Intel would acknowledge such a capability anyway, so, take it as you will. Libreboot, the Management Engine cleaner, and other such projects need to exist. My coworker's comment convinced me of that. * I'm not sure what he's referring to here. Maybe someone else can shed some light. Does AT&T make processors?
- Someone1234 10y agoI'm skeptical that the FBI have the technical capabilities to turn the IME into a trojan horse (in the biblical sense). More likely NSA-levels of sophistication. Plus there's also the issue of doing the actual implants (either via postal intercepts, physical access, or breaking into networks) which are illegal for the FBI to do but semi-legal for the NSA to do against foreign targets.
- digler999 10y agoThis is admittedly unfounded speculation, but if the ME were compromised, one of the most valuable things an attacker would want would be AES keys. So _IF_ this binary blob is up to no good, we should expect one of its tasks to jot down AES keys (remember, intel has had specialized AES instructions for a while now) and hide them somewhere for later retrieval. Perhaps it would behoove people to run a "keyscrubber" daemon that constantly generates random numbers and AES-encrypts a few kb of data and sends it to /dev/null. _IF_ the ME is jotting down keys, and _IF_ there is only a finite amount of space for it to store them, such a daemon might be able to flush out real keys and overwrite them with junk to hamper any retrieval efforts. Again, two big hypotheticals, but, if it were stealing keys, the buffer would have to be pretty small, otherwise people could eventually detect it changing sizes or hashes in NVM. I wouldn't expect such a thing in standard redable NVM anyway, it's probably on a die somewhere and only a few kb.
- kogepathic 10y ago> So _IF_ this binary blob is up to no good, we should expect one of its tasks to jot down AES keys (remember, intel has had specialized AES instructions for a while now) and hide them somewhere for later retrieval. It would have to be Intel doing this. A lot of hackers have tried to write their own modules for the ME, but to my knowledge no one has been able to run one successfully. [0] > _IF_ the ME is jotting down keys, and _IF_ there is only a finite amount of space for it to store them, such a daemon might be able to flush out real keys and overwrite them with junk to hamper any retrieval efforts. There is. The ME on consumer systems has to fit within 1.5MB, and on corporate systems (e.g. servers) within 5MB. The only persistent storage the ME has accessible is the SPI flash (which has the above size constraints) or the TPM (if there's one installed). To my knowledge, the TPM can only be used to authenticate a secret once stored, you can't ever read it back from the TPM. Otherwise, you'd have to have malware which runs inside the OS to receive the data from the ME and write or sends it somewhere else. But really, why bother going for the ME? It has a root of trust burned into the PCH silicon, and it's obviously in Intel's interest to keep the signing keys very secret. There's much lower hanging fruit if someone wanted to steal AES keys. Just install malware into UEFI or another controller (e.g. SSD, hard drive). This has already been documented in the wild, the source is speculated to be state-level actors (e.g. US, Israel). UEFI is handled by the OEM, which means they put the least amount of time/money into it as they possibly could. Just search online for BIOS/UEFI password bypassing tools if you want a sample of how terrible OEM implementations are. [0] http://www.slideshare.net/codeblue_jp/igor-skochinsky-enpub http://www.slideshare.net/codeblue_jp/igor-skochinsky-enpub
- dbcurtis 10y agoOne thing that concerns me is that it says it removes parts of the ME responsible for "silicon work-arounds". In other words, microcode patches. These are important for patching processor errata. It would be better if there was a way to allow retaining/updating microcode patches for errata, while eliminating all the other nonsense.
- oneplane 10y agoIt is my understanding that those microcode patches can be applied by the OS as well at runtime.
- nowaynohow 10y agoSort of. Removing the firmware-provided microcode update would likely kill Intel SGX support, though. And if UEFI is set for secure boot and its implementation happens to uses SGX or TXT for that, it probably will brick the box until one restores its system FLASH to a valid state. You can further update the processor microcode later, from UEFI or from the operating system. But the all-important initial processor microcode[1] update has to be done from a trusted path [for Intel SGX to be available]. And no, it is not UEFI early boot updating the microcode as it used to work in the past: when doing a secure Intel SGX boot path, the microcode looks up the FIT table in system FLASH, to get the address of a microcode update table in system flash. If found, the microcode then proceeds to self-update from FLASH. This whole auto-load-microcode-from-FIT thing seems to have started with Skylake. Since Intel SGX is almost entirely implemented in microcode, it makes a lot of sense. ON INTEL SKYLAKE AND LATER, you can notice whether the current microcode update came from FIT or not by reading its revision number. If it is odd, it came from the FIT. If it is even, it came from regular UEFI or O.S. updates. https://review.coreboot.org/cgit/coreboot.git/commit/?id=5042aad4ded1651638ae9b60e34114b65e4f211e https://review.coreboot.org/cgit/coreboot.git/commit/?id=504... As for recent Intel systems without Intel SGX (or with it disabled), you still likely need a firmware-provided initial microcode update or it will be hopelessly buggy. Chances are it won't be stable enough to actually boot the target O.S. [1] Intel has been shipping its processors with shamelessly incomplete/buggy factory microcode for a while now. You pretty much have to install a microcode update, or what you will get might not even qualify as a X86-64 compatible processor. The factory microcode doesn't need to know how to do paging or hardware-assisted virtualization correctly at all, for example, or even implement SIMD and floating point math instructions. All it has to do is to be able to run enough of BIOS/UEFI to get the initial microcode update.
- Create 10y agoDoctorow's Law: "Anytime someone puts a lock on something you own, against your wishes, and doesn't give you the key, they're not doing it for your benefit."
- newman314 10y agoI wonder if this would work on a Mac. Looked around briefly but did not see anything indicating support.