English

CFI CaRE: Hardware-supported Call and Return Enforcement for Commercial Microcontrollers

Cryptography and Security 2017-06-20 v1

Abstract

With the increasing scale of deployment of Internet of Things (IoT), concerns about IoT security have become more urgent. In particular, memory corruption attacks play a predominant role as they allow remote compromise of IoT devices. Control-flow integrity (CFI) is a promising and generic defense technique against these attacks. However, given the nature of IoT deployments, existing protection mechanisms for traditional computing environments (including CFI) need to be adapted to the IoT setting. In this paper, we describe the challenges of enabling CFI on microcontroller (MCU) based IoT devices. We then present CaRE, the first interrupt-aware CFI scheme for low-end MCUs. CaRE uses a novel way of protecting the CFI metadata by leveraging TrustZone-M security extensions introduced in the ARMv8-M architecture. Its binary instrumentation approach preserves the memory layout of the target MCU software, allowing pre-built bare-metal binary code to be protected by CaRE. We describe our implementation on a Cortex-M Prototyping System and demonstrate that CaRE is secure while imposing acceptable performance and memory impact.

Keywords

Cite

@article{arxiv.1706.05715,
  title  = {CFI CaRE: Hardware-supported Call and Return Enforcement for Commercial Microcontrollers},
  author = {Thomas Nyman and Jan-Erik Ekberg and Lucas Davi and N. Asokan},
  journal= {arXiv preprint arXiv:1706.05715},
  year   = {2017}
}

Comments

Author's version of paper to appear in the 20th International Symposium on Research in Attacks, Intrusions and Defenses (RAID 2017)

R2 v1 2026-06-22T20:22:09.833Z