Claypool

Courses

Publications

Students

Projects

Service

Downloads

Misc


WPI (Worcester Polytechnic Institute)

Computer Science Department
------------------------------------------

A Fault Injection Simulator for ARM

Jonathan Metzger, Maryann O'Connell, and Himanjal Sharma

Advisor: Mark Claypool

Major Qualifying Project MQP-MLC-N218
Computer Science Department, WPI
Term C 2018

Sponsored by: NVidia

Abstract

Fault injection attacks pose a vulnerability to software integrity. A successful attack can result in skipped instructions, introduction of new instructions, and other undesirable behavior. Testing for fault injection vulnerabilities is a common practice when creating systems with a hardware component. Injecting faults enables developers to analyze the effectiveness of preventative measures, ultimately leading to improved hardware tolerance and overall application dependency. Testing can be achieved using hardware fault injections or software fault simulations. Hardware fault injection is expensive and difficult to scale compared to software solutions. Using a software simulation approach adds flexibility, protects hardware and simplifies testing procedures. Software simulation utilizes a virtual development kit (VDK) to simulate hardware components and injects faults into it.

Our goal is to study the behavior of voltage fault injection in hardware and design an application to enable developers to inject fault-inducing instructions at user-selected trigger points within the source code. In order to prevent hardware destruction and verify system dependability, we simulated fault behavior in a virtual environment with ARM7 architecture. Faults are simulated through a GDB server to assess the effectiveness of preventive measures implemented at the software level. We successfully built a fault injection simulator prototype based on fault behavior we observed. Our goal is to provide a data driven simulation combining the results from hardware testing and software fault injection testing to increase flexibility and improve accuracy of software testing.


Download


[WPI Homepage] [CS Homepage] [Mark Claypool's Homepage]