←back to thread

276 points chei0aiV | 2 comments | | HN request time: 0.561s | source
Show context
pjc50 ◴[] No.10458874[source]
"System management mode" is a tremendous wart and should be removed wholesale, with Intel adopting a more ARM-style trusted boot chain with explicit cooperation from the OS or hypervisor. And while you're at it, kill UEFI and install a pony for me.

(Seriously, SMM serves either bizarre ILO features that high-end vendors like but are rarely used, or security agencies looking for a layer to hide in.)

replies(5): >>10459094 #>>10459158 #>>10459893 #>>10460557 #>>10462796 #
rwmj ◴[] No.10459158[source]
Actually ILO is pretty useful :-)

I have an APM (ARM64) Mustang, and this takes a rather different approach, but probably not one you'll think is better. The chip advertises 8 x 64 bit cores, but there's a 9th 32 bit core which runs all the time, even when the machine is powered down (although obviously still connected to mains power). It runs a separate firmware, in its own RAM, but can access the main memory at will and invisibly to the main OS.

One way to look at this is it's brilliant that we can just put a tiny Cortex-M3 in a spare bit of silicon and have it do useful management stuff.

replies(5): >>10459253 #>>10459344 #>>10460086 #>>10460423 #>>10462384 #
ctstover ◴[] No.10459253[source]
Terrifying! Is there a way to disable that?
replies(2): >>10459365 #>>10459503 #
bravo22 ◴[] No.10459365[source]
I don't know which chip OP is using but no you can't. It is usually a small CPU which is part of the GPU video decoder that is used as the 'boot' processor. It usually executes first level ROM code and fetches the first stage boot loader from flash, USB, etc.

It can also do PMU control when the machine is 'turned off'. The alternative is to use an external microcontroller. It is actually quiet useful.

What is your reason for wanting to disable it?

replies(1): >>10459523 #
1. gvb ◴[] No.10459523[source]
It is another "DMA hacking" vector, one that is always on. https://en.wikipedia.org/wiki/DMA_attack
replies(1): >>10462768 #
2. bravo22 ◴[] No.10462768[source]
I have to disagree.

Those core execute the codes from their local SRAM which can only be written to under very specific conditions. You can't arbitrarily write to their SRAMs.

An SOC has various bus arbitrators that are built into hardware which control the dataflow. It is part of the chip's backbone. I've never seen an architecture in which you could easily write to the aux core's SRAM. This is partially because those cores are often responsible for DRM therefore access to them is very restricted, but also because it is expensive (in terms of gates) and unnecessary to hang them off the main bus.

It is a very unlikely "DMA hacking" vector.

The peripheral can just as easily DMA to main memory and overwrite kernel code if the memory apertures are set wide open to allow peripheral to DMA anything into the host. Additionally unless you have PCIe or a similar bus with mastering capability a peripheral can't DMA.