Detecting Fault Injection Attacks with Runtime Verification

07/07/2019
by   Ali Kassem, et al.
0

Fault injections are increasingly used to attack secure applications. Software countermeasures against fault injections can be categorized into (i) algorithm-level countermeasures, which are easy to deploy and introduce low overhead but not so difficult to bypass, and (ii) instruction-level countermeasures, which are more robust but introduce high overhead and require changes in the instruction set. In this paper, we define formal models of runtime monitors that can detect fault injections that result in test inversion and arbitrary jumps in the control flow of a program. Runtime monitors offer several advantages. The code implementing a runtime monitor is small compared to the entire application code, have the advantages of algorithm-level countermeasures. They benefit from a formal semantics; it can be proved that they effectively detect attacks. Each monitor is a module dedicated to an attack and can be deployed as needed to secure the application. It can run separately from the application (e.g., in a trusted memory zone) or "weaved" inside the application. These features make monitors suitable for low-resource devices such as IoT devices. Our monitors have been validated by detecting simulated attacks on a program that verifies a user PIN under the control of a number of trials.

READ FULL TEXT
research
02/19/2018

Sponge-Based Control-Flow Protection for IoT Devices

Embedded devices in the Internet of Things (IoT) face a wide variety of ...
research
01/31/2023

EC-CFI: Control-Flow Integrity via Code Encryption Counteracting Fault Attacks

Fault attacks enable adversaries to manipulate the control-flow of secur...
research
03/06/2019

Studying EM Pulse Effects on Superscalar Microarchitectures at ISA Level

In the area of physical attacks, system-on-chip (SoC) designs have not r...
research
09/28/2022

Extending Attack-Fault Trees with Runtime Verification

Autonomous systems are often complex and prone to software failures and ...
research
05/06/2019

DeepCheck: A Non-intrusive Control-flow Integrity Checking based on Deep Learning

Code reuse attack (CRA) is a powerful attack that reuses existing codes ...
research
03/03/2023

A tool assisted methodology to harden programs against multi-faults injections

Fault attacks consist in changing the program behavior by injecting faul...
research
01/29/2022

Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software

Autonomous and Robotics Systems (ARSs) are widespread, complex, and incr...

Please sign up or login with your details

Forgot password? Click here to reset