+ All Categories
Home > Documents > Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced...

Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced...

Date post: 27-Apr-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
35
Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida Anton Kuijsten Andrew S. Tanenbaum Vrije Universiteit Amsterdam 21st USENIX Security Symposium Bellevue, WA, USA August 8-10, 2012 1 / 19 Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida
Transcript
Page 1: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Enhanced Operating System SecurityThrough Efficient and Fine-grained

Address Space Randomization

Cristiano Giuffrida Anton Kuijsten Andrew S. Tanenbaum

Vrije Universiteit Amsterdam

21st USENIX Security Symposium

Bellevue, WA, USAAugust 8-10, 2012

1 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 2: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Kernel-level Exploitation

Kernel-level exploitation increasingly gaining momentum.

Many exploits available for Windows, Linux, BSD, Mac OS X, iOS.

Plenty of memory error vulnerabilities to choose from.

Plethora of internet-connected users running the same kernel version.

Many attack opportunities for both local and remote exploits.

2 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 3: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Existing Countermeasures

Preserving kernel code integrity [SecVisor, NICKLE, hvmHarvard].

Kernel hook protection [HookSafe, HookScout, Indexed hooks].

Control-flow integrity [SBCFI].

No comprehensive memory error protection.

Virtualization support required, high overhead.

3 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 4: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Address Space Randomization

Well-established defense mechanism against memory error exploits.

Application-level support in all the major operating systems.

The operating system itself typically not randomized at all.

Only recent Windows releases perform basic text randomization.

Goal: Fine-grained ASR for operating systems.

4 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 5: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Challenges in OS-level ASR

Instrumentation

5 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 6: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Challenges in OS-level ASR

Rerandomization

5 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 7: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Challenges in OS-level ASR

Information leakage

5 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 8: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Challenges in OS-level ASR

Brute forcing

5 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 9: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

A Design for OS-level ASR

Make both location and layout of memory objects unpredictable.

LLVM-based link-time transformations for safe and efficient ASR.

Minimal amount of untrusted code exposed to the runtime.

Live rerandomization to maximize unobservability of the system.

No changes in the software distribution model.

6 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 10: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Architecture

7 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 11: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Code Randomization

Original function (LLVM IR)

8 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 12: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Code Randomization

Randomize function location

8 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 13: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Code Randomization

Add random-sized padding

8 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 14: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Code Randomization

Basic block shifting

8 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 15: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Static Data Randomization

Original variable and type (LLVM IR)

9 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 16: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Static Data Randomization

Randomize variable location

9 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 17: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Static Data Randomization

Add random-sized padding

9 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 18: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Static Data Randomization

Internal layout randomization

9 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 19: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Stack Randomization

Stack frame

ParametersPrevious frame

Saved base pointerReturn address

Local variables

New stack frame

Inter-frame paddingPrevious frame

Return addressParameters

Saved base pointerNonbuffer variables

Intra-frame paddingBuffer variables

10 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 20: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Dynamic Data Randomization

Support for malloc()/mmap()-like allocator abstractions.

Memory mapped regions are fully randomized.

Heap allocations are interleaved with random-sized padding.

Full heap randomization enforced at live rerandomization time.

ILR for all the dynamically allocated memory objects.

11 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 21: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Live Rerandomization

First stateful live rerandomization technique.

Periodically rerandomize the memory address space layout.

Support arbitrary memory layout changes at rerandomization time.

Support all the standard C idioms with minimal manual effort.

Sandbox the rerandomization code to recover from run-time errors.

12 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 22: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

ASRR Transformations

13 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 23: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

ASRR Metadata

Types

Global variables

Static variables

String constants

Functions

Dynamic memory allocations

14 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 24: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 25: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 26: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 27: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 28: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 29: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 30: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 31: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

The Rerandomization Process

15 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 32: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

ASR Performance

1.00

1.05

1.10

1.15

1.20

1.25

1.30

1.35

1.40

bzip2

perlbench

gccm

cfm

ilcgobm

k

hmm

er

sjeng

libquantum

h264ref

lbmsphinx3

SPEC average

devtools

Norm

aliz

ed e

xecu

tion tim

e

ASR instrumentation ASR+ASRR instrumentation

16 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 33: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

ASRR Performance

0

5

10

15

20

25

30

35

40

45

50

55

1 2 4 8 16 32

Runtim

e o

verh

ead (

%)

Rerandomization latency (s)

SPEC CPU 2006 benchmarks devtools benchmark

17 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 34: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Summary

A new fine-grained ASR technique for operating systems.

Better performance and security than prior ASR solutions.

Live rerandomization and ILR to counter information leakage.

No heavyweight instrumentation exposed to the runtime.

Process-based isolation to recover from run-time ASRR errors.

18 / 19

Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Cristiano Giuffrida

Page 35: Enhanced Operating System Security Through Efficient and Fine … · 2019-12-18 · Enhanced Operating System Security Through E cient and Fine-grained Address Space Randomization

Enhanced Operating System SecurityThrough Efficient and Fine-grained

Address Space Randomization

Thank you!Any questions?

Cristiano Giuffrida, Anton Kuijsten, Andy Tanenbaum{giuffrida,kuijsten,ast}@cs.vu.nl

Vrije Universiteit Amsterdam


Recommended