2016
DOI: 10.1007/978-3-319-45719-2_2
|View full text |Cite
|
Sign up to set email alerts
|

Taming Transactions: Towards Hardware-Assisted Control Flow Integrity Using Transactional Memory

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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
11
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
2
2
2

Relationship

0
6

Authors

Journals

citations
Cited by 10 publications
(11 citation statements)
references
References 35 publications
0
11
0
Order By: Relevance
“…It is able to defend against various types of attacks whose primary intention is to redirect the execution flow elsewhere. Many CFI techniques [41][42][43][44][45][46][47][48] were proposed over the past few years. However, they were not fully adopted due to practical challenges and significant limitations.…”
Section: Classification Of Cfi Techniquesmentioning
confidence: 99%
See 3 more Smart Citations
“…It is able to defend against various types of attacks whose primary intention is to redirect the execution flow elsewhere. Many CFI techniques [41][42][43][44][45][46][47][48] were proposed over the past few years. However, they were not fully adopted due to practical challenges and significant limitations.…”
Section: Classification Of Cfi Techniquesmentioning
confidence: 99%
“…Fine-grained CFI is referred to as the strict type CFI [48]. Labeling is one of the most usual approaches to implement fine-grained CFI.…”
Section: Fine-grained Cfimentioning
confidence: 99%
See 2 more Smart Citations
“…To evaluate the effect of our approach on native code applications, we compile different libc versions as an applicationspecific software stack. Unfortunately, the most common implementation glibc is written in GNU C, an extension of the C programming language which is not supported by LLVM [27]. Therefore, we resort to two other popular libc implementations: musl-libc (1.1.18) and uClibc (0.9.34).…”
Section: A Librariesmentioning
confidence: 99%