Function-Oriented Programming Attacks on ARM Cortex-M Processors

In recent years, code-reuse attacks have been used to exploit software vulnerabilities and gain control in numerous software programs and embedded devices. Several measures have been put in place to prevent this type of attack, such as Control-Flow Integrity (CFI) systems, and some of these systems have already been integrated into hardware. Regardless, one attack persists, Function-Oriented Programming (FOP) attacks, a code-reuse attack in which a chain of functions is used to perform malicious actions. In this work, we perform the first analysis on the implications and feasibility of FOP attacks on microcontrollers, namely, on processors of the ARM Cortex-M family, that support PACBTI, a hardware feature for the implementation of CFI systems. During this process, we identified multiple dispatch gadgets in two common Real-time Operating System (RTOS). These gadgets were identified in the core features of the embedded Operating Systems (OSs), and therefore included in many operating systems. Furthermore, we also present <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">CortexMFopper</i>, a tool specially built to identify FOP gadgets in embedded devices as a way to raise awareness of this technique and was used for the identification of gadgets during this research.

Authors

Institutions

Publication Details

Journal
IEEE Access
Published
2025-01-01
DOI
https://doi.org/10.1109/access.2025.3610033
Primary Topic
Security and Verification in Computing
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Function-Oriented Programming Attacks on ARM Cortex-M Processors

Patrícia R. Sousa, Luís Antunes, André Cirne, João S. Resende
IEEE Access
Security and Verification in Computing
article

Function-Oriented Programming Attacks on ARM Cortex-M Processors

Patrícia R. Sousa, Luís Antunes, André Cirne, João S. Resende
article en

Abstract

In recent years, code-reuse attacks have been used to exploit software vulnerabilities and gain control in numerous software programs and embedded devices. Several measures have been put in place to prevent this type of attack, such as Control-Flow Integrity (CFI) systems, and some of these systems have already been integrated into hardware. Regardless, one attack persists, Function-Oriented Programming (FOP) attacks, a code-reuse attack in which a chain of functions is used to perform malicious actions. In this work, we perform the first analysis on the implications and feasibility of FOP attacks on microcontrollers, namely, on processors of the ARM Cortex-M family, that support PACBTI, a hardware feature for the implementation of CFI systems. During this process, we identified multiple dispatch gadgets in two common Real-time Operating System (RTOS). These gadgets were identified in the core features of the embedded Operating Systems (OSs), and therefore included in many operating systems. Furthermore, we also present <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">CortexMFopper</i>, a tool specially built to identify FOP gadgets in embedded devices as a way to raise awareness of this technique and was used for the identification of gadgets during this research.

IEEE AccessVol. 13
Universidade do Porto (PT)
Openalex Percentile: Top 87%
Security and Verification in Computing
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.