Top Banner
HyperForce: Hypervisor-enForced Execution of Security-Critical Code Francesco Gadaleta, Nick Nikiforakis, J.T. Muehlberg, Wouter Joosen Katholieke Universiteit Leuven Belgium
38

Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Jul 13, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HyperForce: Hypervisor-enForced Execution of Security-Critical Code

Francesco Gadaleta, Nick Nikiforakis, J.T. Muehlberg, Wouter JoosenK a t h o l i e k e U n i v e r s i t e i t L e u v e n B e l g i u m

Page 2: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

what’s the matter?

virtualization technology

our countermeasure

conclusion

Outline

Page 3: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

cryptography

malware policy management virtualization compliance hashing attack key logger framework

engineering technology network system library botnet computer buffer overflow

compiler secure embedded security low level instruction virtual machine countermeasure hardware

malicious legislation language

Page 4: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

security is an issue

Page 5: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

A 2010 report by McAfee, revealed that the cost to corporations of work time lost due to virus attacks

was $6.3m/day

Employee salary: 3000$

Employee salary/day: 100$

Num. of employees wasting work time: 63000

Page 6: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

A Fox News report in 2009 estimated that $86b is lost worldwide annually.

2007 Malware Report by Computer Economics on the annual worldwide economic damage caused by malicious code attacks on organizations showed that the costs were $13.3 billion

Page 7: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code
Page 8: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

DEMO TIME

Page 9: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

VIRTUALIZATION T E C H N O L O G Y

Page 10: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HYPERVISOR

HARDWARE (VT-D)

Page 11: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Nice, but...

Hardware costs

Maintainance costs (sys admin, power consumption)

Performance costs

Page 12: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

ROOTKITS:A PROBLEM

Page 13: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

ROOTKIT

malicious

dangerous

detection

insidious

hard

stealthy

Page 14: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

WE SAIDhelloROOTKITty

Page 15: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Phase 1: collecting addresses of data structures to protect

hypervisor

guest kernel

trusted module

phys addr

sizeflags

0xC1234567

12811111111

0xC3214567

12811111111

0xC421456A

6411111111

0xC521456C

411111111

WE SAIDhelloROOTKITty

guest memory spacehypervisor memory space

Page 16: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

phys addr size hash

0xC1234567 128 abcd

0xC3214567 128 abde

0xC421456A 64 1234

0xC521456C 4 4321

hypervisor

guest kernel

Phase 2: check integrity within the hypervisor mem. space

WE SAIDhelloROOTKITty

guest memory spacehypervisor memory space

Page 17: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

phys addr size hash

0xC1234567 128 abcd

0xC3214567 128 abde

0xC421456A 64 1234

0xC521456C 4 4321

guest memory spacehypervisor memory space

hypervisor

guest kernel

Phase 3: repair compromised objects (*)

WE SAIDhelloROOTKITty

(*) if original content has been provided

Page 18: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Performance

Checks occur at specific moments

Problem must be relaxed (split huge lists of objects)

Guest introspection and mapping guest memory from hypervisor is not cheap

In-hypervisor approach

Page 19: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HyperForce APPROACH

Page 20: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HYPERVISOR

HARDWARE (VT-D)

guest kernel

monitor(trusted)code

Page 21: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HYPERVISOR

HARDWARE (VT-D)physical

virtual

hardware (virtual) device raises interrupt

guest kernel executes interrupt handler

interrupt handler is the monitoring code

IDT

monitor(trusted)code

guest kernel

Page 22: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HYPERVISOR

HARDWARE (VT-D)physical

virtual

hardware (virtual) device raises interrupt

guest kernel executes interrupt handler

interrupt handler is the monitoring code

IDT

monitor(trusted)code

guest kernel

Page 23: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

HYPERVISOR

HARDWARE (VT-D)physical

virtual

hardware (virtual) device raises interrupt

guest kernel executes interrupt handler

interrupt handler is the monitoring code

IDT

monitor(trusted)code

guest kernel

Page 24: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Performancehardware&software

CPU Intel Core 2 Duo Pro VT-D

RAM 4GB

Hypervisor Linux KVM-drv

Virtual machine QEMU-kvm

Page 25: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Performancecontext switch

mem. map

in-host speedup

26%

19%

page fault 7%

mem. lat 11%

0 1.25 2.50 3.75 5.00

0 1,750 3,500 5,250 7,000

0 1.25 2.50 3.75 5.00

0 37.5 75.0 112.5 150.0

HelloRootkittyHello with HyperForce

Page 26: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Performancecontext switch

fork syscall

10%

8%

in-guest speedup

open/close syscall 10%

signal handling

0 2.5 5.0 7.5 10.0

51%

0 500 1,000 1,500 2,000

0 1.25 2.50 3.75 5.00

0 2.5 5.0 7.5 10.0

HelloRootkittyHello with HyperForce

Page 27: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Performancedetection time

0 2.5 5.0 7.5 10.0

Detection of 1 over 15000 critical kernel objects (worst case)

HelloRootkittyHello with HyperForce

Page 28: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Is this working?

Page 29: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

CONCLUSION

Page 30: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

What now?

We will be all virtualized soondon’t worry that’s good!

Page 31: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

We presented a framework to enforce in-guest execution of critical code

What now?

We will be all virtualized soondon’t worry that’s good!

Page 32: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

We presented a framework to enforce in-guest execution of critical code

What now?

Specifically related to mitigation of rootkitsHelloRootkitty protects with small performance impact

We will be all virtualized soondon’t worry that’s good!

Page 33: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

We presented a framework to enforce in-guest execution of critical code

What now?

Specifically related to mitigation of rootkitsHelloRootkitty protects with small performance impact

We will be all virtualized soondon’t worry that’s good!

Page 34: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

We presented a framework to enforce in-guest execution of critical code

What now?

Specifically related to mitigation of rootkitsHelloRootkitty protects with small performance impact

We will be all virtualized soondon’t worry that’s good!

HelloRootkitty in HyperForce does it much faster

Page 35: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Use the framework for other types of mitigation

What’s next?

Page 36: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Use the framework for other types of mitigation

Store something “smarter” in the protected memory area

What’s next?

Page 37: Hyperforce: Hypervisor-enForced Execution of Security-Critical Code

Use the framework for other types of mitigation

Store something “smarter” in the protected memory area

. collecting guest system data

. no interference with malware

. isolation from corrupted system

What’s next?