ROMs embedded in ICs are attractive targets because they may store cryptographic material, boot code, and hidden modes such as programming or test features. Understanding ROM contents enables activities ranging from extracting Flash data from inaccessible boot modes to conducting non-, semi-, or fully invasive security evaluations. These techniques are relevant to digital forensics, security assessments, and adversarial contexts.
Because ROM data is physically encoded, its bits are directly observable. With tools such as a Scanning Electron Microscope, both memory contents and control circuitry can be imaged, allowing sensitive information to be extracted at relatively low cost.
This hands-on training provides a deep understanding of ROM architectures and dumping techniques. It combines theory with practice, covering the circuits involved in ROM reading and applying this knowledge to real cases. Participants will analyze images to extract ROM data and reverse-engineer control circuitry, including scrambling mechanisms.
The theoretical part covers ROM structures and types, bit encoding and scrambling, and reverse-engineering of standard and semi-custom cells.
The practical part focuses on locating ROMs in IC images, extracting bits from SEM images using Fiji and Python, identifying ROM types, reverse-engineering decoders and control logic, and building HDL models of the memory. A VHDL testbench is then used to simulate ROM behavior and dump its content regardless of scrambling.
The course is structured progressively to reflect a reverse-engineering mindset, enabling attendees to develop their own workflows for future projects. It also addresses the current state of IC security and countermeasures, benefiting both chip designers and system integrators when evaluating device security.