Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Public Access

Kernel Protection Against Just-In-Time Code Reuse

Published: 04 January 2019 Publication History
  • Get Citation Alerts
  • Abstract

    The abundance of memory corruption and disclosure vulnerabilities in kernel code necessitates the deployment of hardening techniques to prevent privilege escalation attacks. As stricter memory isolation mechanisms between the kernel and user space become commonplace, attackers increasingly rely on code reuse techniques to exploit kernel vulnerabilities. Contrary to similar attacks in more restrictive settings, as in web browsers, in kernel exploitation, non-privileged local adversaries have great flexibility in abusing memory disclosure vulnerabilities to dynamically discover, or infer, the location of code snippets in order to construct code-reuse payloads. Recent studies have shown that the coupling of code diversification with the enforcement of a “read XOR execute” (RX) memory safety policy is an effective defense against the exploitation of userland software, but so far this approach has not been applied for the protection of the kernel itself.
    In this article, we fill this gap by presenting kRX: a kernel-hardening scheme based on execute-only memory and code diversification. We study a previously unexplored point in the design space, where a hypervisor or a super-privileged component is not required. Implemented mostly as a set of GCC plugins, kRX is readily applicable to x86 Linux kernels (both 32b and 64b) and can benefit from hardware support (segmentation on x86, MPX on x86-64) to optimize performance. In full protection mode, kRX incurs a low runtime overhead of 4.04%, which drops to 2.32% when MPX is available, and 1.32% when memory segmentation is in use.

    Cited By

    View all
    • (2023)Aspect-level Information Discrepancies across Heterogeneous Vulnerability Reports: Severity, Types and Detection MethodsACM Transactions on Software Engineering and Methodology10.1145/362473433:2(1-38)Online publication date: 22-Dec-2023
    • (2023)SysPart: Automated Temporal System Call Filtering for BinariesProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623207(1979-1993)Online publication date: 15-Nov-2023
    • (2021)Fast Intra-kernel Isolation and Security with IskiOSProceedings of the 24th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3471621.3471849(119-134)Online publication date: 6-Oct-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Privacy and Security
    ACM Transactions on Privacy and Security  Volume 22, Issue 1
    February 2019
    226 pages
    ISSN:2471-2566
    EISSN:2471-2574
    DOI:10.1145/3287762
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 January 2019
    Accepted: 01 September 2018
    Revised: 01 June 2018
    Received: 01 February 2018
    Published in TOPS Volume 22, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Execute-only memory
    2. code diversification

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Funding Sources

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)310
    • Downloads (Last 6 weeks)55
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Aspect-level Information Discrepancies across Heterogeneous Vulnerability Reports: Severity, Types and Detection MethodsACM Transactions on Software Engineering and Methodology10.1145/362473433:2(1-38)Online publication date: 22-Dec-2023
    • (2023)SysPart: Automated Temporal System Call Filtering for BinariesProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623207(1979-1993)Online publication date: 15-Nov-2023
    • (2021)Fast Intra-kernel Isolation and Security with IskiOSProceedings of the 24th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3471621.3471849(119-134)Online publication date: 6-Oct-2021
    • (2020)Enhancing Randomization Entropy of x86-64 Code while Preserving Semantic Consistency2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)10.1109/TrustCom50675.2020.00015(1-12)Online publication date: Dec-2020
    • (2020)Web Security and Vulnerability: A Literature ReviewJournal of Physics: Conference Series10.1088/1742-6596/1477/2/0220281477:2(022028)Online publication date: 1-Mar-2020
    • (2019)KEPLERProceedings of the 28th USENIX Conference on Security Symposium10.5555/3361338.3361421(1187-1204)Online publication date: 14-Aug-2019

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media