Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/PRDC.2012.17guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Code Reuse Prevention through Control Flow Lazily Check

Published: 18 November 2012 Publication History
  • Get Citation Alerts
  • Abstract

    Despite the numerous prevention and protection techniques that have been developed, the exploitation of memory corruption vulnerabilities still represents a serious threat to the security of software systems and networks. Because of the adoption of the write or execute only policy (W 'X) and address space layout randomization (ASLR), modern operate systems have been strengthened against code injection attacks. However, attackers have responded by employing code reuse attacks, in which software vulnerability is exploited to weave control flow through existing code base. Solutions targeting different aspects of the attack itself have had some success, but none of them can be a silver bullet. Under this situation, it is necessary to develop a general prevention to mitigate code reuse attacks. In this paper, we present a novel and general defense technique called control flow lazily check (CFLC), which allows for effective enforcement of control flow integrity. Specifically, instead of immediately determining the violation of control flow before the control flow transfer takes place, CFLC detects the violation after the transfer. Further, CFLC ensures that no deviation can be used to bypass the checking code and craft a malicious system call neither. To reduce the performance overhead, we introduce a coarse-grained CFLC based on the principle that a success intrusion must invoke a system call. We have implemented CFLC with the help of dynamic binary instrumentation tool and the evaluation demonstrates that CFLC can not only prevent code reuse attacks but also code injection attacks. It is shown that CFLC has achieved significant safety than other existing defenses with a modest performance penalty.

    Index Terms

    1. Code Reuse Prevention through Control Flow Lazily Check
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image Guide Proceedings
        PRDC '12: Proceedings of the 2012 IEEE 18th Pacific Rim International Symposium on Dependable Computing
        November 2012
        144 pages
        ISBN:9780769548852

        Publisher

        IEEE Computer Society

        United States

        Publication History

        Published: 18 November 2012

        Author Tags

        1. Code reuse attack
        2. Control flow integrity
        3. Control flow lazily check
        4. False negative rate
        5. Indirect branch pairs

        Qualifiers

        • Article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • 0
          Total Citations
        • 0
          Total Downloads
        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 26 Jul 2024

        Other Metrics

        Citations

        View Options

        View options

        Get Access

        Login options

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media