Skip to main navigation Skip to search Skip to main content

ACE-M: Automated Control Flow Integrity Enforcement Based on MPUs at the Function Level

  • Kyungpook National University

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Control-flow integrity(CFI) ensures that the execution flow of a program follows the control-flow graph(CFG) determined at compile time. CFI is a security technique designed to prevent runtime attacks such as return-oriented programming (ROP). With the development of the Internet of Things (IoT), the number of embedded devices has increased, and security and protection techniques in embedded systems have become important. Since the hardware-based CFI technique requires separate hardware support, it is difficult to apply to an embedded device that is already arranged. In this paper, we propose a function-level CFI technique named ACE-M, which uses the memory protection unit (MPU) included in most embedded devices. MPU may provide attributes such as read-write-execute to the memory area. ACE-M has three steps: (1) initiate—inserts an MPU-related function into a specific position; (2) profiling—provides information for MPU configuration. After the initation step, several pieces of information can be determined; (3) set—modify the already-inserted function’s arguments. We propose a design that supports the MPU. In our model, the MPU becomes a control flow monitor that detects control flow errors(CFEs), and the inserted codes cause the MPU to act as a control flow checker. If the program deviates from the original control flow, the MPU raises an exception since its corresponding area will not be included in the executable area. This approach not only verifies the target address but also guarantees the running position. Our technique can detect any modification of the program counter (PC) to an arbitrary address.

Original languageEnglish
Article number912
JournalElectronics (Switzerland)
Volume11
Issue number6
DOIs
StatePublished - 1 Mar 2022

Keywords

  • Code reuse attack
  • Control-flow-integrity
  • Memory protection unit
  • Return oriented programming
  • Stack smashing

Fingerprint

Dive into the research topics of 'ACE-M: Automated Control Flow Integrity Enforcement Based on MPUs at the Function Level'. Together they form a unique fingerprint.

Cite this