A compiler-hardware approach to software protection for embedded systems

  • Authors:
  • Olga Gelbart;Eugen Leontie;Bhagirath Narahari;Rahul Simha

  • Affiliations:
  • The George Washington University, Department of Computer Science, 801 22nd Street NW, Suite 702, Washington, DC 20005, USA;The George Washington University, Department of Computer Science, 801 22nd Street NW, Suite 702, Washington, DC 20005, USA;The George Washington University, Department of Computer Science, 801 22nd Street NW, Suite 702, Washington, DC 20005, USA;The George Washington University, Department of Computer Science, 801 22nd Street NW, Suite 702, Washington, DC 20005, USA

  • Venue:
  • Computers and Electrical Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.02

Visualization

Abstract

Because of their rapid growth in recent years, embedded systems present a new front in vulnerability and an attractive target for attackers. Their pervasive use, including sensors and mobile devices, makes it easier for an adversary to gain physical access to facilitate both attacks and reverse engineering of the system. This paper describes a system - CODESSEAL - for software protection and evaluates its overhead. CODESSEAL aims to protect embedded systems from attackers with enough expertise and resources to capture the device and attempt to manipulate not only software, but also hardware. The protection mechanism involves both a compiler-based software tool that instruments executables and an on-chip FPGA-based hardware component that provides run-time integrity and control flow checking on the executable code. The use of reconfigurable hardware allows CODESSEAL to provide such security services as confidentiality, integrity and program-flow protection in a platform-independent manner without requiring a redesign of the processor. Similarly, the compiler instrumentation hides the security details from software developers. Software and data protection techniques are presented for our system and a performance analysis is provided using cycle accurate simulation. Our experimental results show that protecting instructions and data with a high level of security can be achieved with low performance penalty, in most cases less than 10%.