Skip to content

DEF CON 34 talks are here: 354 talks, summarized and searchable.

Browse DEF CON 34

Bringing the Curtain Down on Flash Protection

Christopher Hewitt

HardwareTalks16 minAdvancedOpen on YouTube ↗

Where

Talks
ShmooCon 2023

Duration

16 min

Walks through glitching a microcontroller's flash protection to recover a locked chip's ID code and dump its firmware.

Summary

The speaker bought a small VHF/UHF radio transceiver module, a surface-mount board with a built-in power amplifier, hoping to add digital voice modes that its stock firmware did not support. The module's microcontroller was a Renesas part with little public documentation. Its flash was protected by a seven-byte ID code that the boot ROM checks before allowing any memory access. A published timing attack depended on a status pin this chip did not expose, and the comparison appeared to run in constant time.

Power analysis over hundreds of thousands of unlock traces produced nothing useful, because the slow internal clock introduced heavy jitter. The breakthrough came from changing the target. Instead of glitching the unlock comparison, the speaker aimed crowbar glitches at flash page reads while the chip was locked. A successful glitch returned a 256-byte page instead of nothing. That data could be sliced for candidate ID codes and each one tested. A tool automated the sweep until a matching code unlocked the device and the full flash could be dumped.

The main takeaway is that fault injection is within reach of a newcomer with inexpensive equipment, and that a tight, automated loop and patience matter more than perfect timing. The talk also argues for archiving datasheets and tools for obscure parts, since their documentation can disappear quickly. Later decapping of the die showed the part shared silicon with other members of its family.

Related talks

Talks·31 min

  • hack.lu
  • Hardware
  • Date: Oct 2025
  • Location: Luxembourg

Laurent Clevy

Shows how emulating a camera's firmware crypto routine can decrypt and verify Canon DIGIC 8 update files.

reverse-engineeringembeddeddevice+2