Enforcing unique code target property for control-flow integrity

Hong Hu, Chenxiong Qian, Carter Yagemann, Simon Pak Ho Chung, William R. Harris, Taesoo Kim, Wenke Lee

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    24 Scopus citations

    Abstract

    The 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.

    Original languageEnglish (US)
    Title of host publicationCCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security
    PublisherAssociation for Computing Machinery
    Pages1470-1486
    Number of pages17
    ISBN (Electronic)9781450356930
    DOIs
    StatePublished - Oct 15 2018
    Event25th ACM Conference on Computer and Communications Security, CCS 2018 - Toronto, Canada
    Duration: Oct 15 2018 → …

    Publication series

    NameProceedings of the ACM Conference on Computer and Communications Security
    ISSN (Print)1543-7221

    Other

    Other25th ACM Conference on Computer and Communications Security, CCS 2018
    CountryCanada
    CityToronto
    Period10/15/18 → …

    All Science Journal Classification (ASJC) codes

    • Software
    • Computer Networks and Communications

    Fingerprint Dive into the research topics of 'Enforcing unique code target property for control-flow integrity'. Together they form a unique fingerprint.

    Cite this