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

被引:12
|
作者
Lee, Hojoon [1 ]
Song, Chihyun [2 ]
Kang, Brent Byunghoon [2 ]
机构
[1] CISPA Helmholtz Ctr iG, Saarbrucken, Germany
[2] Korea Adv Inst Sci & Technol, GSIS, Sch Comp, Daejeon, South Korea
基金
新加坡国家研究基金会;
关键词
privilege separation; memory protection; operating system;
D O I
10.1145/3243734.3243748
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:1441 / 1454
页数:14
相关论文
共 50 条
  • [41] Reverse engineering x86 processor microcode
    Koppe, Philipp
    Kollenda, Benjamin
    Fyrbiak, Marc
    Kison, Christian
    Gawlik, Robert
    Paar, Christof
    Holz, Thorsten
    Proceedings of the 26th USENIX Security Symposium, 2017, : 1163 - 1180
  • [42] LARRABEE: A MANY-CORE X86 ARCHITECTURE FOR VISUAL COMPUTING
    Seiler, Larry
    Carmean, Doug
    Sprangle, Eric
    Forsyth, Tom
    Dubey, Pradeep
    Junkins, Stephen
    Lake, Adam
    Cavin, Robert
    Espasa, Roger
    Grochowski, Ed
    Juan, Toni
    Abrash, Michael
    Sugerman, Jeremy
    Hanrahan, Pat
    IEEE MICRO, 2009, 29 (01) : 10 - 21
  • [43] A Solid Foundation for x86 Shared Memory
    Boehm, Hans-J.
    COMMUNICATIONS OF THE ACM, 2010, 53 (07) : 88 - 88
  • [44] 双核颠覆x86法则
    袁斌
    每周电脑报, 2005, (18) : 38 - 40
  • [45] A seventh-generation x86 microprocessor
    Golden, M
    Hesley, S
    Scherer, A
    Crowley, M
    Johnson, SC
    Meier, S
    Meyer, D
    Moench, JD
    Oberman, S
    Partovi, H
    Weber, F
    White, S
    Wood, T
    Yong, J
    IEEE JOURNAL OF SOLID-STATE CIRCUITS, 1999, 34 (11) : 1466 - 1477
  • [46] Static detection of vulnerabilities in x86 executables
    Cova, Marco
    Felmetsger, Viktoria
    Banks, Greg
    Vigna, Giovanni
    22ND ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE, PROCEEDINGS, 2006, : 269 - +
  • [47] Pentium II: King of the x86 hill
    VanHorn, GA
    BYTE, 1997, 22 (06): : 26 - 27
  • [48] TAXI: Trace analysis for X86 interpretation
    Vlaovic, S
    Davidson, ES
    ICCD'2002: IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN: VLSI IN COMPUTERS AND PROCESSORS, PROCEEDINGS, 2002, : 508 - 514
  • [49] MPTLsim: A Simulator for X86 Multicore Processors
    Zeng, Hui
    Yourst, Matt
    Ghose, Kanad
    Ponomarev, Dmitry
    DAC: 2009 46TH ACM/IEEE DESIGN AUTOMATION CONFERENCE, VOLS 1 AND 2, 2009, : 226 - 231
  • [50] Register renaming for x86 superscalar design
    Liu, CC
    Shiu, RM
    Chung, CP
    1996 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1996, : 336 - 343