Building a Replicable EMFI Setup for Desktop and Server Hardware
arxiv.org
arxiv.org
FI: Fault Injection
For the people looking first at the comments before reading the article ;-)
Also... The CPU needs to have brownout detection to detect people messing with the supply voltage, and clock glitch detection to detect inconsistent clocking inputs.
All that I think could be added with no major downsides (it wouldn't use a lot of silicon area or power).
How come this design didn't already have that?
On the other hand, such checks could be disable-able at runtime by sufficiently trusted code - although you obviously have to choose between security and overclockability.
There is also the issue that such things are decidedly 'analogue' things - and integrating them into a digital design toolchain sounds hard. Trying to tell EDA software 'send this wire all the way around the outside of the chip and back to where it started' is a bit like trying to tell a C compiler 'I want you to write all the code so all jumps go to prime numbered memory addresses'.
1. It requires physical access.
2. Password based disk encryption would still protect against EMFI attacks for data exfiltration. There are easier methods to bypass TPM than EMFI.
Also, from the article: "The AMD Ryzen 5 2600 is equipped with a glued, indium-soldered nickel-plated copper heat spreader. This heat spreader shields the EM pulses and has to be disassembled, which is called delidding or decapsulation, and consists of three steps: First, the glue at the heat spreader’s border must be cut. Second, the processor and heat spreader have to be heated up to a temperature of 200°C."
If a regular CPU already contains an effective EM shield, is it fair to say it's "wide open to FI attacks"? (Or at least EMFI as discussed in this article.?)
By FI I was referring to the broad spectrum of FI, including clock glitching, voltage perturbation, in addition to UV and EMFI.