File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Enforcing unique code target property for control-flow integrity

TitleEnforcing unique code target property for control-flow integrity
Authors
KeywordsPerformance
Intel PT
Control-flow integrity
Unique code target
Issue Date2018
Citation
Proceedings of the ACM Conference on Computer and Communications Security, 2018, p. 1470-1486 How to Cite?
AbstractThe goal of control-flow integrity (CFI) is to stop control-hijacking attacks by ensuring that each indirect control-flow transfer (ICT) jumps to its legitimate target. However, existing implementations of CFI have fallen short of this goal because their approaches are inaccurate and as a result, the set of allowable targets for an ICT instruction is too large, making illegal jumps possible. In this paper, we propose the Unique Code Target (UCT) property for CFI. Namely, for each invocation of an ICT instruction, there should be one and only one valid target. We develop a prototype called CFI to enforce this new property. During compilation, CFI identifies the sensitive instructions that influence ICT and instruments the program to record necessary execution context. At runtime, CFI monitors the program execution in a different process, and performs points-to analysis by interpreting sensitive instructions using the recorded execution context in a memory safe manner. It checks runtime ICT targets against the analysis results to detect CFI violations. We apply CFI to SPEC benchmarks and 2 servers (nginx and vsftpd) to evaluate its efficacy of enforcing UCT and its overhead. We also test CFI against control-hijacking attacks, including 5 real-world exploits, 1 proof of concept COOP attack, and 2 synthesized attacks that bypass existing defenses. The results show that CFI strictly enforces the UCT property for protected programs, successfully detects all attacks, and introduces less than 10% performance overhead.
Persistent Identifierhttp://hdl.handle.net/10722/303871
ISSN
2020 SCImago Journal Rankings: 1.023
ISI Accession Number ID

 

DC FieldValueLanguage
dc.contributor.authorHu, Hong-
dc.contributor.authorQian, Chenxiong-
dc.contributor.authorYagemann, Carter-
dc.contributor.authorChung, Simon Pak Ho-
dc.contributor.authorHarris, William R.-
dc.contributor.authorKim, Taesoo-
dc.contributor.authorLee, Wenke-
dc.date.accessioned2021-09-15T08:26:11Z-
dc.date.available2021-09-15T08:26:11Z-
dc.date.issued2018-
dc.identifier.citationProceedings of the ACM Conference on Computer and Communications Security, 2018, p. 1470-1486-
dc.identifier.issn1543-7221-
dc.identifier.urihttp://hdl.handle.net/10722/303871-
dc.description.abstractThe goal of control-flow integrity (CFI) is to stop control-hijacking attacks by ensuring that each indirect control-flow transfer (ICT) jumps to its legitimate target. However, existing implementations of CFI have fallen short of this goal because their approaches are inaccurate and as a result, the set of allowable targets for an ICT instruction is too large, making illegal jumps possible. In this paper, we propose the Unique Code Target (UCT) property for CFI. Namely, for each invocation of an ICT instruction, there should be one and only one valid target. We develop a prototype called CFI to enforce this new property. During compilation, CFI identifies the sensitive instructions that influence ICT and instruments the program to record necessary execution context. At runtime, CFI monitors the program execution in a different process, and performs points-to analysis by interpreting sensitive instructions using the recorded execution context in a memory safe manner. It checks runtime ICT targets against the analysis results to detect CFI violations. We apply CFI to SPEC benchmarks and 2 servers (nginx and vsftpd) to evaluate its efficacy of enforcing UCT and its overhead. We also test CFI against control-hijacking attacks, including 5 real-world exploits, 1 proof of concept COOP attack, and 2 synthesized attacks that bypass existing defenses. The results show that CFI strictly enforces the UCT property for protected programs, successfully detects all attacks, and introduces less than 10% performance overhead.-
dc.languageeng-
dc.relation.ispartofProceedings of the ACM Conference on Computer and Communications Security-
dc.subjectPerformance-
dc.subjectIntel PT-
dc.subjectControl-flow integrity-
dc.subjectUnique code target-
dc.titleEnforcing unique code target property for control-flow integrity-
dc.typeConference_Paper-
dc.description.naturelink_to_subscribed_fulltext-
dc.identifier.doi10.1145/3243734.3243797-
dc.identifier.scopuseid_2-s2.0-85056910692-
dc.identifier.spage1470-
dc.identifier.epage1486-
dc.identifier.isiWOS:000461315900094-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats