Return-to-Non-Secure Vulnerabilities on ARM Cortex-M TrustZone: Attack and Defense.

Zheyuan Ma,Xi Tan,Lukasz Ziarek,Ning Zhang,Hongxin Hu,Ziming Zhao
DOI: https://doi.org/10.1109/DAC56929.2023.10247972
2023-01-01
Abstract:ARM Cortex-M is one of the most popular microcontroller architectures designed for embedded and Internet of Things (IoT) applications. To facilitate efficient execution, it has some unique hardware optimization. In particular, Cortex-M TrustZone has a fast state switch mechanism that allows direct control-flow transfer from the secure state program to the non-secure state userspace program. In this paper, we demonstrate how this fast state switch mechanism can be exploited for arbitrary code execution with escalated privilege in the non-secure state by introducing a new exploitation technique, namely return-to-non-secure (ret2ns). We experimentally confirmed the feasibility of four variants of ret2ns attacks on two Cortex-M hardware systems. To defend against ret2ns attacks, we design two address sanitizing mechanisms that have negligible performance overhead.
What problem does this paper attempt to address?