Taming transactions: Towards hardware-assisted control flow integrity using transactional memory

Marius Muench*, Fabio Pagani, Yan Shoshitaishvili, Christopher Kruegel, Giovanni Vigna, Davide Balzarotti

*Corresponding author for this work

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

Abstract

Control Flow Integrity (CFI) is a promising defense technique against code-reuse attacks. While proposals to use hardware features to support CFI already exist, there is still a growing demand for an architectural CFI support on commodity hardware. To tackle this problem, in this paper we demonstrate that the Transactional Synchronization Extensions (TSX) recently introduced by Intel in the x86-64 instruction set can be used to support CFI. The main idea of our approach is to map control flow transitions into transactions. This way, violations of the intended control flow graphs would then trigger transactional aborts, which constitutes the core of our TSX-based CFI solution. To prove the feasibility of our technique, we designed and implemented two coarse-grained CFI proof-of-concept implementations using the new TSX features. In particular, we show how hardware-supported transactions can be used to enforce both loose CFI (which does not need to extract the control flow graph in advance) and strict CFI (which requires pre-computed labels to achieve a better precision). All solutions are based on a compile-time instrumentation. We evaluate the effectiveness and overhead of our implementations to demonstrate that a TSX-based implementation contains useful concepts for architectural control flow integrity support.

Original languageEnglish
Title of host publicationResearch in Attacks, Intrusions, and Defenses - 19th International Symposium, RAID 2016, Proceedings
EditorsMarc Dacier, Fabian Monrose, Gregory Blanc, Joaquin Garcia-Alfaro
PublisherSpringer Verlag
Pages24-48
Number of pages25
ISBN (Print)9783319457185
DOIs
Publication statusPublished - 1 Jan 2016
Externally publishedYes
Event19th International Symposium on Research in Attacks, Intrusions, and Defenses, RAID 2016 - Paris, France
Duration: 19 Sep 201621 Sep 2016

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9854 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference19th International Symposium on Research in Attacks, Intrusions, and Defenses, RAID 2016
CountryFrance
CityParis
Period19/09/1621/09/16

Keywords

  • Binary hardening
  • Control flow integrity
  • Intel® TSX
  • Software security
  • Transactional memory

Fingerprint

Dive into the research topics of 'Taming transactions: Towards hardware-assisted control flow integrity using transactional memory'. Together they form a unique fingerprint.

Cite this