Skip to main navigation Skip to search Skip to main content

Language Abstractions for Hardware-based Control-Flow Integrity Monitoring

  • William L. Harrison
  • , Gerard Allwein

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Scopus citations

Abstract

Control-Flow Integrity (CFI) is a software protection mechanism that detects a class of code reuse attacks by identifying anomalous control-flows within an executing program. Hardware-based CFI has the promise of the security benefits of CFI without the performance overhead and complexity of software-based CFI: generally speaking, hardware-based monitors are more difficult to bypass, offer lower performance overheads than software-based monitors, and, furthermore, hardware-based CFI can be performed without the necessity of altering application binaries or instrumenting language compilers. Although hardware-based CFI is an active area of research and there is a growing literature describing CFI strategies at a high-level, there is, to the authors' best knowledge, no work on languages specially tailored to the specification and implementation of CFI monitors. This article presents a proof-of-concept domain-specific language with built-in abstractions for expressing control-flow constraints along with a compiler that targets the functional hardware description language ReWire. While the case study is small, it indicates, we argue, an approach to rapid-prototyping hardware-based monitors enforcing CFI that is quick, flexible, and extensible as well as being amenable to formal verification.
Original languageEnglish
Title of host publicationProceedings of the 2018 International Conference on Reconfigurable Computing and FPGAs
Pages1-6
Number of pages6
DOIs
StatePublished - Feb 2019
Externally publishedYes

Fingerprint

Dive into the research topics of 'Language Abstractions for Hardware-based Control-Flow Integrity Monitoring'. Together they form a unique fingerprint.

Cite this