A Deep-Learning Approach to Side-Channel Based CPU Disassembly at Design Time
Hedi Fendri1,2, Marco Macchetti2, Jérôme Perrine2 and Mirjana Stojilović3
1Universita della Svizerra italiana, Lugano, Switzerland
2Kudelski Group, Cheseaux-sur-Lausanne, Switzerland
3EPFL, Lausanne, Switzerland
mirjana.stojilovic@epfl.ch
ABSTRACT
Side-channel CPU disassembly is a side-channel attack that allows an adversary to recover instructions executed by a processor. Not only does such an attack compromise code confidentiality, it can also reveal critical information on the system’s internals. Being easily accessible to a vast number of end users, modern embedded devices are highly vulnerable against disassembly attacks. To protect them, designers deploy countermeasures and verify their efficiency in security laboratories. Clearly, any vulnerability discovered at that point, after the integrated circuit has been manufactured, represents an important setback. In this paper, we address the above issues in two steps: Firstly, we design a framework that takes a design netlist and outputs simulated power side-channel traces, with the goal of assessing the vulnerability of the device at design time. Secondly, we propose a novel side-channel disassembler, based on multilayer perceptron and sparse dictionary learning for feature engineering. Experimental results on simulated and measured side-channel traces of two commercial RISC-V devices, both working on operating frequencies of at least 100 MHz, demonstrate that our disassembler can recognize CPU instructions with success rates of 96.01% and 93.16%, respectively.
Keywords: Disassembly, Deep Learning, Design Time, Embedded Processors, Power Side Channel.