Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3243734.3243748acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

Lord of the x86 Rings: A Portable User Mode Privilege Separation Architecture on x86

Published: 15 October 2018 Publication History
  • Get Citation Alerts
  • Abstract

    Modern applications often involve processing of sensitive information. However, the lack of privilege separation within the user space leaves sensitive application secret such as cryptographic keys just as unprotected as a "hello world" string. Cutting-edge hardware-supported security features are being introduced. However, the features are often vendor-specific or lack compatibility with older generations of the processors. The situation leaves developers with no portable solution to incorporate protection for the sensitive application component. We propose LOTRx86, a fundamental and portable approach for user-space privilege separation. Our approach creates a more privileged user execution layer called PrivUser by harnessing the underused intermediate privilege levels on the x86 architecture. The PrivUser memory space, a set of pages within process address space that are inaccessible to user mode, is a safe place for application secrets and routines that access them. We implement the LOTRx86 ABI that exports the privcall interface to users to invoke secret handling routines in PrivUser. This way, sensitive application operations that involve the secrets are performed in a strictly controlled manner. The memory access control in our architecture is privilege-based, accessing the protected application secret only requires a change in the privilege, eliminating the need for costly remote procedure calls or change in address space. We evaluated our platform by developing a proof-of-concept LOTRx86-enabled web server that employs our architecture to securely access its private key during an SSL connection. We conducted a set of experiments including a performance measurement on the PoC on both Intel and AMD PCs, and confirmed that LOTRx86 incurs only a limited performance overhead.

    Supplementary Material

    MP4 File (p1441-lee.mp4)

    References

    [1]
    Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. 2003. Xen and the art of virtualization. In Proceedings of the nineteenth ACM symposium on Operating systems principles (SOSP '03). ACM, New York, NY, USA, 164--177.
    [2]
    Andrew Baumann, Marcus Peinado, and Galen Hunt. 2015. Shielding Applications from an Untrusted Cloud with Haven. ACM Trans. Comput. Syst. Vol. 33, 3, Article bibinfoarticleno8 (Aug. 2015), bibinfonumpages26 pages.
    [3]
    Adam Belay, Andrea Bittau, Ali Mashtizadeh, David Terei, David Mazières, and Christos Kozyrakis. 2012. Dune: Safe User-level Access to Privileged CPU Features Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (OSDI'12). USENIX Association, Berkeley, CA, USA, 335--348. http://dl.acm.org/citation.cfm?id=2387880.2387913
    [4]
    Andrea Bittau, Petr Marchenko, Mark Handley, and Brad Karp. 2008. Wedge: Splitting Applications into Reduced-privilege Compartments Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation (NSDI'08). USENIX Association, Berkeley, CA, USA, 309--322. http://dl.acm.org/citation.cfm?id=1387589.1387611
    [5]
    David Brumley and Dawn Song. 2004. Privtrans: Automatically Partitioning Programs for Privilege Separation Proceedings of the 13th Conference on USENIX Security Symposium - Volume 13 (SSYM'04). USENIX Association, Berkeley, CA, USA, 5--5. http://dl.acm.org/citation.cfm?id=1251375.1251380
    [6]
    Edouard Bugnion, Scott Devine, Mendel Rosenblum, Jeremy Sugerman, and Edward Y. Wang. 2012. Bringing Virtualization to the x86 Architecture with the Original VMware Workstation. ACM Trans. Comput. Syst. Vol. 30, 4, Article bibinfoarticleno12 (Nov. 2012), bibinfonumpages51 pages.
    [7]
    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 (ASIA CCS '17). ACM, New York, NY, USA, 193--204.
    [8]
    Xiaoxin Chen, Tal Garfinkel, E. Christopher Lewis, Pratap Subrahmanyam, Carl A. Waldspurger, Dan Boneh, Jeffrey Dwoskin, and Dan R.K. Ports. 2008. Overshadow: A Virtualization-based Approach to Retrofitting Protection in Commodity Operating Systems. SIGPLAN Not., Vol. 43, 3 (March. 2008), 2--13.
    [9]
    Y. Chen, S. Reymondjohnson, Z. Sun, and L. Lu. 2016. Shreds: Fine-Grained Execution Units with Private Memory 2016 IEEE Symposium on Security and Privacy (SP). 56--71.
    [10]
    Jonathan Corbet. 2012. Supervisor mode access prevention. https://lwn.net/Articles/517475/. (2012).
    [11]
    Jonathan Corbet. 2015. Memory protection keys. https://lwn.net/Articles/643797/. (2015).
    [12]
    Intel Corperation. 2018 a. Inteltextsuperscript® Software Guard Extensions (Intel SGX). https://software.intel.com/en-us/sgx. (2018). Last accessed Feb 27, 2018,.
    [13]
    Intel Corperation. 2018 b. Introduction to Inteltextsuperscript® Memory Protection Extensions. https://software.intel.com/en-us/articles/introduction-to-intel-memory-protection-extensions. (2018). Last accessed Feb 22, 2018,.
    [14]
    Intel Corperation. 2018 c. System V Application Binary Interface. https://software.intel.com/sites/default/files/article/402129/mpx-linux64-abi.pdf. (2018). Last accessed Feb 21, 2018,.
    [15]
    Oracle Corporation. 2017. VirtualBox Technical documentation. https://www.virtualbox.org/wiki/Technical_documentation. (2017). Last accessed Aug 23, 2017.
    [16]
    Nathan Dautenhahn, Theodoros Kasampalis, Will Dietz, John Criswell, and Vikram Adve. 2015. Nested Kernel: An Operating System Architecture for Intra-Kernel Privilege Separation. SIGARCH Comput. Archit. News Vol. 43, 1 (March. 2015), 191--206.
    [17]
    Tom Woller David Kaplan, Jeremy Powell. 2016. White Paper: AMD Memory Encryption. AMD.
    [18]
    Zakir Durumeric, James Kasten, David Adrian, J. Alex Halderman, Michael Bailey, Frank Li, Nicolas Weaver, Johanna Amann, Jethro Beekman, Mathias Payer, and Vern Paxson. 2014. The Matter of Heartbleed. In Proceedings of the 2014 Conference on Internet Measurement Conference (IMC '14). ACM, New York, NY, USA, 475--488.
    [19]
    Úlfar Erlingsson, Mart'ın Abadi, Michael Vrable, Mihai Budiu, and George C. Necula. 2006. XFI: Software Guards for System Address Spaces. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI '06). USENIX Association, Berkeley, CA, USA, 75--88. http://dl.acm.org/citation.cfm?id=1298455.1298463
    [20]
    Bryan Ford and Russ Cox. 2008. Vx32: Lightweight User-level Sandboxing on the x86 USENIX 2008 Annual Technical Conference (ATC'08). USENIX Association, Berkeley, CA, USA, 293--306. http://dl.acm.org/citation.cfm?id=1404014.1404039
    [21]
    Owen S. Hofmann, Sangman Kim, Alan M. Dunn, Michael Z. Lee, and Emmett Witchel. 2013. InkTag: Secure Applications on an Untrusted Operating System. SIGPLAN Not., Vol. 48, 4 (March. 2013), 265--278.
    [22]
    Terry Ching-Hsiang Hsu, Kevin Hoffman, Patrick Eugster, and Mathias Payer. 2016. Enforcing Least Privilege Memory Views for Multithreaded Applications Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS '16). ACM, New York, NY, USA, 393--405.
    [23]
    NGINX Inc. 2018. Nginx. https://www.nginx.com. (2018). Last accessed Feb 27, 2018,.
    [24]
    Intel Corporation. 2016. Inteltextsuperscript® 64 and IA-32 Architectures Software Developer's Manual. Number 325462-061US.
    [25]
    Seny Kamara, Payman Mohassel, and Ben Riva. 2012. Salus: A System for Server-aided Secure Function Evaluation Proceedings of the 2012 ACM Conference on Computer and Communications Security (CCS '12). ACM, New York, NY, USA, 797--808.
    [26]
    Douglas Kilpatrick. 2003. Privman: A Library for Partitioning Applications. USENIX Annual Technical Conference, FREENIX Track (2003-09-03). USENIX, 273--284. http://dblp.uni-trier.de/db/conf/usenix/usenix2003f.html#Kilpatrick03
    [27]
    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 '17). ACM, New York, NY, USA, 437--452.
    [28]
    Youngjin Kwon, Alan M. Dunn, Michael Z. Lee, Owen S. Hofmann, Yuanzhong Xu, and Emmett Witchel. 2016. Sego: Pervasive Trusted Metadata for Efficiently Verified Untrusted System Services. SIGOPS Oper. Syst. Rev. Vol. 50, 2 (March. 2016), 277--290.
    [29]
    Jaehyuk Lee, Jinsoo Jang, Yeongjin Jang, Nohyun Kwak, Yeseul Choi, Changho Choi, Taesoo Kim, Marcus Peinado, and Brent ByungHoon Kang. 2017. Hacking in Darkness: Return-oriented Programming against Secure Enclaves 26th USENIX Security Symposium (USENIX Security 17). USENIX Association, Vancouver, BC, 523--539. https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/lee-jaehyuk
    [30]
    Yanlin Li, Jonathan McCune, James Newsome, Adrian Perrig, Brandon Baker, and Will Drewry. 2014. MiniBox: A Two-Way Sandbox for x86 Native Code. In 2014 USENIX Annual Technical Conference (USENIX ATC 14). USENIX Association, Philadelphia, PA, 409--420. https://www.usenix.org/conference/atc14/technical-sessions/presentation/li_yanlin
    [31]
    ARM Limited. 2009. Building a Secure System using TrustZone® Technolog. http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf. (2009).
    [32]
    Yutao Liu, Tianyu Zhou, Kexin Chen, Haibo Chen, and Yubin Xia. 2015. Thwarting Memory Disclosure with Efficient Hypervisor-enforced Intra-domain Isolation Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security (CCS '15). ACM, New York, NY, USA, 1607--1619.
    [33]
    Stephen McCamant and Greg Morrisett. 2006. Evaluating SFI for a CISC Architecture. In Proceedings of the 15th Conference on USENIX Security Symposium - Volume 15 (USENIX-SS'06). USENIX Association, Berkeley, CA, USA, Article bibinfoarticleno15. http://dl.acm.org/citation.cfm?id=1267336.1267351
    [34]
    J. M. McCune, Y. Li, N. Qu, Z. Zhou, A. Datta, V. Gligor, and A. Perrig. 2010. TrustVisor: Efficient TCB Reduction and Attestation 2010 IEEE Symposium on Security and Privacy. 143--158.
    [35]
    Greg Morrisett, Gang Tan, Joseph Tassarotti, Jean-Baptiste Tristan, and Edward Gan. 2012. RockSalt: Better, Faster, Stronger SFI for the x86 Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '12). ACM, New York, NY, USA, 395--404.
    [36]
    OpenBSD. 2017. LibreSSL. http://www.libressl.org. (2017). Last accessed Feb 27, 2018,.
    [37]
    Linux Kernel Organization. 2018. The Linux Kernel Archives. https://www.kernel.org. (2018). Last accessed April 2, 2018,.
    [38]
    Niels Provos, Markus Friedl, and Peter Honeyman. 2003. Preventing Privilege Escalation. In Proceedings of the 12th Conference on USENIX Security Symposium - Volume 12 (SSYM'03). USENIX Association, Berkeley, CA, USA, 16--16. http://dl.acm.org/citation.cfm?id=1251353.1251369
    [39]
    David Sehr, Robert Muth, Cliff Biffle, Victor Khimenko, Egor Pasko, Karl Schimpf, Bennet Yee, and Brad Chen. 2010. Adapting Software Fault Isolation to Contemporary CPU Architectures Proceedings of the 19th USENIX Conference on Security (USENIX Security'10). USENIX Association, Berkeley, CA, USA, 1--1. http://dl.acm.org/citation.cfm?id=1929820.1929822
    [40]
    Robert Wahbe, Steven Lucco, Thomas E. Anderson, and Susan L. Graham. 1993. Efficient Software-based Fault Isolation. In Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles (SOSP '93). ACM, New York, NY, USA, 203--216.
    [41]
    Jun Wang, Xi Xiong, and Peng Liu. 2015. Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications. In Proceedings of the 2015 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC '15). USENIX Association, Berkeley, CA, USA, 361--373. http://dl.acm.org/citation.cfm?id=2813767.2813794
    [42]
    D. A. Wheeler. 2014. Preventing Heartbleed. Computer, Vol. 47, 8 (Aug. 2014), 80--83.
    [43]
    Jisoo Yang and Kang G. Shin. 2008. Using Hypervisor to Provide Data Secrecy for User Applications on a Per-page Basis Proceedings of the Fourth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE '08). ACM, New York, NY, USA, 71--80.
    [44]
    Bennet Yee, David Sehr, Gregory Dardyk, J. Bradley Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, and Nicholas Fullagar. 2009. Native Client: A Sandbox for Portable, Untrusted x86 Native Code Proceedings of the 2009 30th IEEE Symposium on Security and Privacy (SP '09). IEEE Computer Society, Washington, DC, USA, 79--93.

    Cited By

    View all
    • (2023)Veil: A Protected Services Framework for Confidential Virtual MachinesProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 410.1145/3623278.3624763(378-393)Online publication date: 25-Mar-2023
    • (2023)Going beyond the Limits of SFI: Flexible and Secure Hardware-Assisted In-Process Isolation with HFIProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582023(266-281)Online publication date: 25-Mar-2023
    • (2023)ISA-Grid: Architecture of Fine-grained Privilege Control for Instructions and RegistersProceedings of the 50th Annual International Symposium on Computer Architecture10.1145/3579371.3589050(1-15)Online publication date: 17-Jun-2023
    • Show More Cited By

    Index Terms

    1. Lord of the x86 Rings: A Portable User Mode Privilege Separation Architecture on x86

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CCS '18: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security
      October 2018
      2359 pages
      ISBN:9781450356930
      DOI:10.1145/3243734
      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 ACM 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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 15 October 2018

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. memory protection
      2. operating system
      3. privilege separation

      Qualifiers

      • Research-article

      Funding Sources

      • National Research Foundation of Korea (NRF)
      • German Federal Ministry of Education and Research (BMBF)

      Conference

      CCS '18
      Sponsor:

      Acceptance Rates

      CCS '18 Paper Acceptance Rate 134 of 809 submissions, 17%;
      Overall Acceptance Rate 1,210 of 6,719 submissions, 18%

      Upcoming Conference

      CCS '24
      ACM SIGSAC Conference on Computer and Communications Security
      October 14 - 18, 2024
      Salt Lake City , UT , USA

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

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

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Veil: A Protected Services Framework for Confidential Virtual MachinesProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 410.1145/3623278.3624763(378-393)Online publication date: 25-Mar-2023
      • (2023)Going beyond the Limits of SFI: Flexible and Secure Hardware-Assisted In-Process Isolation with HFIProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582023(266-281)Online publication date: 25-Mar-2023
      • (2023)ISA-Grid: Architecture of Fine-grained Privilege Control for Instructions and RegistersProceedings of the 50th Annual International Symposium on Computer Architecture10.1145/3579371.3589050(1-15)Online publication date: 17-Jun-2023
      • (2023)Capacity: Cryptographically-Enforced In-Process Capabilities for Modern ARM ArchitecturesProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623079(874-888)Online publication date: 15-Nov-2023
      • (2023)SecureCells: A Secure Compartmentalized Architecture2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179472(2921-2939)Online publication date: May-2023
      • (2022)Cloud Computing Infrastructure Security: Challenges and Solutions2022 International Symposium on Networks, Computers and Communications (ISNCC)10.1109/ISNCC55209.2022.9851812(1-7)Online publication date: 19-Jul-2022
      • (2022)Protected Functions: User Space Privileged Function CallsArchitecture of Computing Systems10.1007/978-3-031-21867-5_8(117-131)Online publication date: 14-Dec-2022
      • (2021)SimurghProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3458817.3476180(1-14)Online publication date: 14-Nov-2021
      • (2021)Cali: Compiler-Assisted Library IsolationProceedings of the 2021 ACM Asia Conference on Computer and Communications Security10.1145/3433210.3453111(550-564)Online publication date: 24-May-2021
      • (2021)OSPREY: Recovery of Variable and Data Structure via Probabilistic Analysis for Stripped Binary2021 IEEE Symposium on Security and Privacy (SP)10.1109/SP40001.2021.00051(813-832)Online publication date: May-2021
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media