arrow
Return

Kernel Protection Against Just-In-Time Code Reuse

delete2019-01-04
delete6
delete
OA
AI
M
Marios Pomonis *
T
Theofilos Petsios
A
Angelos D. Keromytis
M
Michalis Polychronakis
V
Vasileios P. Kemerlis
DOI:10.1145/3277592delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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 (R<^>X) 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 kR<^>X: 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, kR<^>X 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, kR<^>X 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.
Keywords:
Execute-only memory
code diversification

Journal

A
ACM Transactions on Privacy and Security
IF:
2.8
Papers:
291
Citations:
770

Organization

G
Georgia Institute of Technology
Scholars:
1.8W
Papers: 1.4W
Citations: 5.9W
C
Columbia University
Scholars:
7.1W
Papers: 6.4W
Citations: 263
S
state university of new york (suny) system
Scholars:
6.5W
Papers: 5.8W
Citations: 65
U
university system of georgia
Scholars:
7.3W
Papers: 6.5W
Citations: 101
researcher View more organizations