53

whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 2: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

whoami

Page 3: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Talk outline

Page 4: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Motivation

Page 5: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Motivation

Page 6: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

The world - after VBS

Page 7: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 8: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

VSM 101

Page 9: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Source: Alex Ionescu, Blackhat 15

Page 10: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Source: Dave Weston && Alex Ionescu, OPCDE 2018

Page 11: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

hv!vmcall_handler

Page 12: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

In ntos

Page 13: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

In securekernel

Page 14: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

MMU Security

Page 15: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Implementing Mitigations

Page 16: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Execution Security

Page 17: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Other pieces of the puzzle

Page 18: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 19: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Attack surface

Page 20: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Hypervisor architecture

Source: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-architecture

Page 21: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Hypervisor attack surface

Page 22: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 23: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 24: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Hypervisor attack surface

Page 25: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Example: HVCI bypass

Page 26: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Hypervisor attack surface

https://twitter.com/AmarSaar/status/985618204184768513

Page 27: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

VTL1 attack surface

Page 28: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

VMBus && vmswitch

https://bugs.chromium.org/p/project-zero/issues/detail?id=688

Page 29: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 30: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 31: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Last year…

Page 32: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Microcode update && Hotpatch

Page 33: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 34: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Trusted Boot

https://software.intel.com/en-us/forums/virtualization-software-development/topic/297709

Page 35: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 36: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 37: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

ASLR

Page 38: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 39: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

lowstub

Page 40: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 41: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 42: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

The lowstub MSR

Page 43: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 44: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 45: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Bootlib

https://twitter.com/AmarSaar/status/976797760308633602

Page 46: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

hv!handle_machine_check_property

Page 47: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 48: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 49: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Segfault in HV!

Page 50: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

Public service announcement

Page 51: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular
Page 52: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

References

http://www.alex-ionescu.com/syscan2015.pdf

http://www.alex-ionescu.com/blackhat2015.pdf

https://www.blackhat.com/docs/us-16/materials/us-16-Wojtczuk-Analysis-Of-The-Attack-Surface-Of-Windows-10-Virtualization-Based-Security-wp.pdf

http://alex-ionescu.com/Publications/OPCDE/octagon.pdf

https://bugs.chromium.org/p/project-zero/issues/detail?id=688

Page 53: whoami - GitHub · IDA - securekerneI.i64 (securekernel.exe) rs5\securekerneI.i64 File Edit Jump Search View Debugger Options Windows Help No debugger Library ílnction Data Regular

close()