Hardware-enforced Protection against Software Reverse-Engineering based on an Instruction Set Encoding

  • Authors:
  • Jean-Luc Danger;Sylvain Guilley;Florian Praden

  • Affiliations:
  • Institut Mines-Té/lé/com/ Té/lé/com ParisTech/ CNRS LTCI/ Secure-IC S.A.S.;Institut Mines-Té/lé/com/ Té/lé/com ParisTech/ CNRS LTCI/ Secure-IC S.A.S.;Institut Mines-Té/lé/com/ Té/lé/com ParisTech/ CNRS LTCI/ Secure-IC S.A.S.

  • Venue:
  • Proceedings of ACM SIGPLAN on Program Protection and Reverse Engineering Workshop 2014
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software programs are prone to reverse-engineering. Protection usually consists either in obfuscation or Randomized Instruction Set Emulation (RISE). In this article, we explore a mixed software/hardware RISE suitable for embedded systems. This solution is very easy to implement on any open CPU core (LEON, openRISC, LatticeMicro32, etc.), as it implies only localized changes at the latest stage of the code execution hardware, which makes Dallas and DMA attacks unsuccessful. Similarly, alternations in the software development flow are minor and straightforward. All in one, our study shows that an easy protection can be attained at virtually no overhead cost if both the hardware and the software are customized.