D IE H ARDER : S ECURING THE H EAP Gene Novark & Emery - - PowerPoint PPT Presentation

d ie h arder s ecuring the h eap
SMART_READER_LITE
LIVE PREVIEW

D IE H ARDER : S ECURING THE H EAP Gene Novark & Emery - - PowerPoint PPT Presentation

D IE H ARDER : S ECURING THE H EAP Gene Novark & Emery Berger University of Massachusetts, Amherst [originally presented at CCS 2011] U NIVERSITY OF M


slide-1
SLIDE 1

UNIVERSITY ¡OF ¡MASSACHUSETTS, ¡AMHERST ¡ ¡• ¡ ¡Department ¡of ¡Computer ¡Science ¡

Gene ¡Novark ¡& ¡Emery ¡Berger ¡ University ¡of ¡Massachusetts, ¡ Amherst ¡

DIEHARDER: ¡ SECURING ¡THE ¡HEAP ¡ ¡

[originally ¡presented ¡at ¡CCS ¡2011] ¡

slide-2
SLIDE 2

UNIVERSITY ¡OF ¡MASSACHUSETTS, ¡AMHERST ¡ ¡• ¡ ¡Department ¡of ¡Computer ¡Science ¡

DieHard: ¡ProbabilisFc ¡Memory ¡Safety ¡ for ¡C/C++ ¡Programs ¡[PLDI ¡2005] ¡ Direct ¡inspira4on ¡ for ¡Windows ¡7’s ¡ Fault-­‑Tolerant ¡ Heap ¡(2009) ¡

slide-3
SLIDE 3

UNIVERSITY ¡OF ¡MASSACHUSETTS, ¡AMHERST ¡ ¡• ¡ ¡Department ¡of ¡Computer ¡Science ¡

DieHard: ¡ProbabilisFc ¡Memory ¡Safety ¡ for ¡C/C++ ¡Programs ¡[PLDI ¡2005] ¡ Direct ¡inspira4on ¡ for ¡Windows ¡7’s ¡ Fault-­‑Tolerant ¡ Heap ¡(2009) ¡

slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14

14 ¡

slide-15
SLIDE 15

15 ¡

slide-16
SLIDE 16

16 ¡

slide-17
SLIDE 17

17 ¡

slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20

20 ¡

slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23

23 ¡

slide-24
SLIDE 24

24 ¡

slide-25
SLIDE 25

25 ¡

slide-26
SLIDE 26

26 ¡

slide-27
SLIDE 27

27 ¡

slide-28
SLIDE 28

28 ¡

slide-29
SLIDE 29

29 ¡

slide-30
SLIDE 30

30 ¡

slide-31
SLIDE 31

31 ¡

slide-32
SLIDE 32

32 ¡

sensitive ¡ data ¡/ ¡metadata ¡

slide-33
SLIDE 33

33 ¡

All data / metadata sensitive

sensitive ¡ data ¡/ ¡metadata ¡

slide-34
SLIDE 34

34 ¡

guard ¡/ ¡unmapped ¡page ¡

slide-35
SLIDE 35

35 ¡

guard ¡/ ¡unmapped ¡page ¡

slide-36
SLIDE 36

36 ¡

slide-37
SLIDE 37

37 ¡

slide-38
SLIDE 38

38 ¡

slide-39
SLIDE 39

39 ¡

Address-­‑space ¡layout ¡ randomization ¡

slide-40
SLIDE 40
  • bject

free space

heap metadata

slide-41
SLIDE 41
  • bject

free space

prev.

  • bject
  • bject

size

heap ¡metadata ¡ (GNU ¡libc, ¡others) ¡

slide-42
SLIDE 42
  • bject

free space

heap metadata

x

slide-43
SLIDE 43
  • bject

free space

heap metadata

x

slide-44
SLIDE 44

44 ¡

slide-45
SLIDE 45

45 ¡

slide-46
SLIDE 46

46 ¡

slide-47
SLIDE 47

47 ¡

slide-48
SLIDE 48

48 ¡

slide-49
SLIDE 49

49 ¡

slide-50
SLIDE 50

50 ¡

slide-51
SLIDE 51

51 ¡

≈ 4-5 bits of entropy

slide-52
SLIDE 52

52 ¡

slide-53
SLIDE 53

53 ¡

Maximal entropy: log N bits (e.g., ≈ 25-30)

slide-54
SLIDE 54

54 ¡

slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57

44.2 sec

slide-58
SLIDE 58

44.2 sec 41.6 sec

slide-59
SLIDE 59

UNIVERSITY ¡OF ¡MASSACHUSETTS, ¡AMHERST ¡ ¡• ¡ ¡Department ¡of ¡Computer ¡Science ¡

Gene ¡Novark ¡& ¡Emery ¡Berger ¡ University ¡of ¡Massachusetts, ¡ Amherst ¡

DIEHARDER: ¡ SECURING ¡THE ¡HEAP ¡ ¡