Taking a Look into Execute-Only Memory

09/12/2019
by   Marc Schink, et al.
0

The development process of microcontroller firmware often involves multiple parties. In such a scenario, the Intellectual Property (IP) is not protected against adversarial developers which have unrestricted access to the firmware binary. For this reason, microcontroller manufacturers integrate eXecute-Only Memory (XOM) which shall prevent an unauthorized read-out of third-party firmware during development. The concept allows execution of code but disallows any read access to it. Our security analysis shows that this concept is insufficient for firmware protection due to the use of shared resources such as the CPU and SRAM. We present a method to infer instructions from observed state transitions in shared hardware. We demonstrate our method via an automatic recovery of protected firmware. We successfully performed experiments on devices from different manufacturers to confirm the practicability of our attack. Our research also reveals implementation flaws in some of the analyzed devices which enables an adversary to bypass the read-out restrictions. Altogether, the paper shows the insufficient security of the XOM concept as well as several implementations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2018

Spectre Attacks: Exploiting Speculative Execution

Modern processors use branch prediction and speculative execution to max...
research
01/03/2018

Meltdown

The security of computer systems fundamentally relies on memory isolatio...
research
07/05/2020

Breaking and Fixing Destructive Code Read Defenses

Just-in-time return-oriented programming (JIT-ROP) is a powerful memory ...
research
04/08/2022

Color My World: Deterministic Tagging for Memory Safety

Hardware-assisted memory protection features are increasingly being depl...
research
10/28/2014

Sprobes: Enforcing Kernel Code Integrity on the TrustZone Architecture

Many smartphones now deploy conventional operating systems, so the rootk...
research
10/20/2021

RegGuard: Leveraging CPU Registers for Mitigation of Control- and Data-Oriented Attacks

CPU registers are small discrete storage units, used to hold temporary d...
research
02/15/2023

Field-sensitive Data Flow Integrity

Although numerous defenses against memory vulnerability exploits have be...

Please sign up or login with your details

Forgot password? Click here to reset