Using the ESP8266 for Low-Cost Fault Injection

As a general concept, fault injection is a technique that studies how a system reacts to unusual or unexpected external forces. The idea is that, if you can trigger a …read more

Jan 15, 2025 - 13:04
Using the ESP8266 for Low-Cost Fault Injection

As a general concept, fault injection is a technique that studies how a system reacts to unusual or unexpected external forces. The idea is that, if you can trigger a glitch at the precise moment, you might be able to use that to your advantage in disabling security features or otherwise gaining further access to the device in question. In the hardware world, this could be achieved by fiddling with the power going into the device, or subjecting it to extreme temperatures.

We’ve covered voltage glitching attacks on these pages in the past, but most of the tools used are fairly expensive if you’re not doing this kind of thing professionally. Luckily for us, [Aditya Patil] has developed a fault injection tool that can run on a standard ESP8266 development board. Obviously it’s not as capable as a bespoke device costing hundreds of dollars, but if you just want to experiment with the concept, it’s a fantastic way to wrap your head around it all.

Now to be clear, the ESP8266 alone isn’t able to generate the sort of high-voltage spikes that are often used to glitch out a chip. The idea with this project is that the ESP would serve as the programmable timer used to trigger a high voltage generator or other nefarious piece of kit. That said, if you’ve got something low power enough that could get confused by rapidly having ~3 V applied to its power rails, in theory you could use the dev board without any additional hardware — though we’d strongly recommend at least throwing a MOSFET between the ESP and whatever you’re harassing.

With the firmware flashed to the ESP8266, plugging the board into your computer will provide you with a serial interface through which the software can be configured and attacks can be launched. While this interactive menu system is nice, and reminds us a bit of the Bus Pirate, [Aditya] also provides an example Python script that will let you fire commands at the system far faster than you could type them out.

If you’re looking for more capability, something like the PicoGlitcher would probably be the next step up, but if you want to really dive into the deep-end, the ChipWhisperer line of devices from [Colin O’Flynn] are really where it’s at. Check out the fascinating talk he gave about voltage glitching during the 2021 Remoticon if you’d like to learn more about the technique.