Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3219617.3219662acmconferencesArticle/Chapter ViewAbstractPublication PagesmetricsConference Proceedingsconference-collections
extended-abstract

Intel MPX Explained: A Cross-layer Analysis of the Intel MPX System Stack

Published: 12 June 2018 Publication History

Abstract

Memory-safety violations are the primary cause of security and reliability issues in software systems written in unsafe languages. Given the limited adoption of decades-long research in software-based memory safety approaches, as an alternative, Intel released Memory Protection Extensions (MPX)---a hardware-assisted technique to achieve memory safety. In this work, we perform an exhaustive study of Intel MPX architecture along three dimensions: (a) performance overheads, (b) security guarantees, and (c) usability issues.
We present the first detailed root cause analysis of problems in the Intel MPX architecture through a cross-layer dissection of the entire system stack, involving the hardware, operating system, compilers, and applications. To put our findings into perspective, we also present an in-depth comparison of Intel MPX with three prominent types of software-based memory safety approaches. Lastly, based on our investigation, we propose directions for potential changes to the Intel MPX architecture to aid the design space exploration of future hardware extensions for memory safety.
A complete version of this work appears in the 2018 proceedings of the ACM on Measurement and Analysis of Computing Systems.

References

[1]
Periklis Akritidis, Manuel Costa, Miguel Castro, and Steven Hand . 2009. Baggy Bounds Checking: An Efficient and Backwards-compatible Defense Against Out-of-bounds Errors. In Proceedings of the 18th Conference on USENIX Security Symposium (Sec).
[2]
Scott A. Carr and Mathias Payer . 2017. DataShield: Configurable Data Confidentiality and Integrity Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security (AsiaCCS).
[3]
Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve . 2006. SAFECode: enforcing alias analysis for weakly typed languages Proceedings of the 27th Conference on Programming Language Design and Implementation (PLDI).
[4]
Intel Corporation . 2013. Introduction to Intel(R) Memory Protection Extensions. https://software.intel.com/en-us/Articles/introduction-to-intel-memory-protection-extensions.
[5]
Intel Corporation . 2016. Intel(R) Memory Protection Extensions Enabling Guide. https://software.intel.com/en-us/Articles/intel-memory-protection-extensions-enabling-guide.
[6]
Koen Koning, Xi Chen, Herbert Bos, Cristiano Giuffrida, and Elias Athanasopoulos . 2017. No Need to Hide: Protecting Safe Regions on Commodity Hardware Proceedings of the Twelfth European Conference on Computer Systems (EuroSys).
[7]
Dmitrii Kuvaiskii, Oleksii Oleksenko, Sergei Arnautov, Bohdan Trach, Pramod Bhatotia, Pascal Felber, and Christof Fetzer. 2017. SGXBounds: Memory Safety for Shielded Execution. In Proceedings of the 2017 ACM European Conference on Computer Systems (EuroSys).
[8]
Volodymyr Kuznetsov, Laszlo Szekeres, Mathias Payer, George Candea, R. Sekar, and Dawn Song. 2014. Code-Pointer Integrity. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI).
[9]
Santosh Nagarakatte, Jianzhou Zhao, Milo M.K. Martin, and Steve Zdancewic . 2009. SoftBound: Highly Compatible and Complete Spatial Memory Safety for C Proceedings of the 30th Conference on Programming Language Design and Implementation (PLDI).
[10]
Oleksii Oleksenko, Dmitrii Kuvaiskii, Pramod Bhatotia, Pascal Felber, and Christof Fetzer . 2017. Intel MPX Explained: An Empirical Study of Intel MPX and Software-based Bounds Checking Approaches. showeprint{arxiv}1702.00719
[11]
Oleksii Oleksenko, Dmitrii Kuvaiskii, Pramod Bhatotia, Pascal Felber, and Christof Fetzer. 2018. Intel MPX Explained: A Cross-layer Analysis of the Intel MPX System Stack Proceedings of the ACM on Measurement and Analysis of Computing Systems (POMACS).
[12]
Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitriy Vyukov . 2012. AddressSanitizer: A Fast Address Sanity Checker. In Proceedings of the 2012 Annual Technical Conference (ATC).
[13]
Laszlo Szekeres, Mathias Payer, Tao Wei, and Dawn Song. 2013. SoK: Eternal War in Memory. In Proceedings of the Symposium on Security and Privacy (SP).
[14]
Victor van der Veen, Nitish Dutt Sharma, Lorenzo Cavallaro, and Herbert Bos. 2012. Memory Errors: The Past, the Present, and the Future Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID).
[15]
Jonathan Woodruff, Robert N.M. Watson, David Chisnall, Simon W. Moore, Jonathan Anderson, Brooks Davis, Ben Laurie, Peter G. Neumann, Robert Norton, and Michael Roe. 2014. The CHERI Capability Model: Revisiting RISC in an Age of Risk Proceeding of the 41st Annual International Symposium on Computer Architecture (ISCA).

Cited By

View all
  • (2024)A Viewpoint: Safer Heaps With Practical Architectural Security PrimitivesIEEE Security & Privacy10.1109/MSEC.2024.340467222:4(62-65)Online publication date: Jul-2024
  • (2024)Memory Tagging using Cryptographic Integrity on Commodity x86 CPUs2024 IEEE 9th European Symposium on Security and Privacy (EuroS&P)10.1109/EuroSP60621.2024.00024(311-326)Online publication date: 8-Jul-2024
  • (2023)MIFP: Selective Fat-Pointer Bounds Compression for Accurate Bounds CheckingProceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3607199.3607212(609-622)Online publication date: 16-Oct-2023
  • Show More Cited By

Index Terms

  1. Intel MPX Explained: A Cross-layer Analysis of the Intel MPX System Stack

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGMETRICS '18: Abstracts of the 2018 ACM International Conference on Measurement and Modeling of Computer Systems
    June 2018
    155 pages
    ISBN:9781450358460
    DOI:10.1145/3219617
    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 June 2018

    Check for updates

    Author Tags

    1. intel mpx
    2. isa extensions
    3. memory safety

    Qualifiers

    • Extended-abstract

    Funding Sources

    Conference

    SIGMETRICS '18
    Sponsor:

    Acceptance Rates

    SIGMETRICS '18 Paper Acceptance Rate 54 of 270 submissions, 20%;
    Overall Acceptance Rate 459 of 2,691 submissions, 17%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 08 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Viewpoint: Safer Heaps With Practical Architectural Security PrimitivesIEEE Security & Privacy10.1109/MSEC.2024.340467222:4(62-65)Online publication date: Jul-2024
    • (2024)Memory Tagging using Cryptographic Integrity on Commodity x86 CPUs2024 IEEE 9th European Symposium on Security and Privacy (EuroS&P)10.1109/EuroSP60621.2024.00024(311-326)Online publication date: 8-Jul-2024
    • (2023)MIFP: Selective Fat-Pointer Bounds Compression for Accurate Bounds CheckingProceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3607199.3607212(609-622)Online publication date: 16-Oct-2023
    • (2023)A Survey on Thwarting Memory Corruption in RISC-VACM Computing Surveys10.1145/360490656:2(1-29)Online publication date: 17-Jun-2023
    • (2023)CGuard: Scalable and Precise Object Bounds Protection for CProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598137(1307-1318)Online publication date: 12-Jul-2023
    • (2023)ThreadLock: Native Principal Isolation Through Memory Protection KeysProceedings of the 2023 ACM Asia Conference on Computer and Communications Security10.1145/3579856.3595797(966-979)Online publication date: 10-Jul-2023
    • (2023)Cryptographically Enforced Memory SafetyProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623138(889-903)Online publication date: 15-Nov-2023
    • (2023)A Source-Level Instrumentation Framework for the Dynamic Analysis of Memory SafetyIEEE Transactions on Software Engineering10.1109/TSE.2022.321058049:4(2107-2127)Online publication date: 1-Apr-2023
    • (2023)Mayalok: A Cyber-Deception Hardware Using Runtime Instruction Infusion2023 IEEE 34th International Conference on Application-specific Systems, Architectures and Processors (ASAP)10.1109/ASAP57973.2023.00019(33-40)Online publication date: Jul-2023
    • (2023)Divak: Non-invasive Characterization of Out-of-Bounds Write VulnerabilitiesDetection of Intrusions and Malware, and Vulnerability Assessment10.1007/978-3-031-35504-2_11(211-232)Online publication date: 12-Jul-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media