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

05/30/2018
by   Hojoon Lee, et al.
0

Modern applications are increasingly advanced and complex, and inevitably contain exploitable software bugs despite the ongoing efforts. The applications today 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 through 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 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 SSL connection and thereby mitigating the HeartBleed vulnerability by design. 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/30/2019

EnclaveDom: Privilege Separation for Large-TCB Applications in Trusted Execution Environments

Trusted executions environments (TEEs) such as Intel(R) SGX provide hard...
research
12/04/2020

Efficient Sealable Protection Keys for RISC-V

With the continuous increase in the number of software-based attacks, th...
research
09/14/2020

Simplex: Repurposing Intel Memory Protection Extensions for Information Hiding

With the rapid increase in software exploits, the last few decades have ...
research
09/09/2019

Análise de Segurança Baseada em Roles para Fábricas de Software

Most software factories contain applications with sensitive information ...
research
09/13/2018

Fidelius: Protecting User Secrets from Compromised Browsers

Users regularly enter sensitive data, such as passwords, credit card num...
research
04/23/2018

Succinct Oblivious RAM

Reducing the database space overhead is critical in big-data processing....
research
12/23/2020

Flexible Software Protection

To counter software reverse engineering or tampering, software obfuscati...

Please sign up or login with your details

Forgot password? Click here to reset