Hardware Trojan Horses (HTHs) represent today a serious issue not only for academy but also for industry because of the dramatic complexity and dangerousness attackers can count on. It has been shown that HTHs can be inserted in modern and complex microprocessors allowing the attacker to run malicious software, to acquire root privileges and to steal secret user information. In this paper we propose DETON, an automatic methodology for software manipulation aimed at introducing obfuscation in programs’ execution to protect microprocessor-based systems against information stealing HTHs. The high-level goal of DETON is to produce an obfuscated version of the program under protection in order to allow a trusted execution over a (possibly) untrusted CPU-based system. The obfuscated program will then be the one actually executed on the target hardware platform. DETON is fully integrated in the classical software design flow since it takes the output of the compiler, i.e., the assembly code of the program to be protected, and it produces a modified version of the assembly code which is in turn fully compatible with the underlying target HW platform. DETON aims at (i) reducing the amount of sensitive information exposed to the attacker by spreading it through microprocessor’s registers and by submerging it among garbage information, and (ii) reducing the time for which sensitive information is exposed to the attacker by scrambling data among microprocessor’s registers. We present a set of guidelines, requirements and metrics aimed at driving and assessing software obfuscation against always-on information-stealing HTHs and we then present the DETON framework. We assessed DETON on the Ariane version of the 64 bit RISC-V microprocessor running a set of real-world benchmark programs for embedded systems.
Read full abstract