Friday, August 08, 2008

Our Xen 0wning Trilogy Highlights

Below you can find highlights of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three presentations, collectively referred to as "Xen 0wning Trilogy", that Alex, Rafal and I gave today at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Black Hat conference in Las Vegas.

Talk #1

1) Practical implementation of reliable and portable DMA attacks from Domain 0 to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen hypervisor memory.

2) Xen Loadable Modules :) A framework that allows to load arbitrary C code modules into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 running Xen hypervisor. It uses DMA attack from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous point to get access to Xen memory.

3) Two implementations of Xen Hypervisor Rootkits. This was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first time that working hypervisor rootkits have been presented (note cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 distinction between hypervisor rootkit vs. virtualization based rootkits).

Talk #2

1) Discussed how Xen 3.3 makes use of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel VT-d technology to protect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor.

2) Then we discussed how to bypass such VT-d protection on certain mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboards, like e.g. Intel DQ35 board.

3) An extra bonus: our attack from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous point allows also to subvert cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM handler and e.g. install an SMM rootkit in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system.

4) Discussed ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Xen security mechanisms like driver domains, stub domains, PV GRUB and also attempted to quickly compare cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 state of Xen security design with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Hyper-V and ESX hypervisor.

5) Showed an exploitable heap overflow bug in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen hypervisor. The bug was in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FLASK module -- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NSA implementation of Xen Security Modules. FLASK, however, is not turned on by default, so even though we showed how to successfully exploit this heap overflow (which results in an escape from an unprivileged domain directly to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor), this is not a bug that can be used to 0wn The Planet. It shows, however, what happens when people start adding more and more code into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor.

6) Introduced HyperGuard -- a project done in cooperation with Phoenix Technologies. HyperGuard is going to be a SMM-based integrity scanner for Xen-like hypervisors. With HyperGuard we take a different approach cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r integrity scanners do -- racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than ensuring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correctness of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code and data of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor, which might be very tricky, we instead ensure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no untrusted code in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor, which is a much simpler task.

Talk #3

1) Provided detailed description of how to implement nested hardware based virtualization on AMD-V and VT-x (a copy of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides from my RSA speech in April).

2) Showed how to use this nested virtualization to implement Blue Pill Boot, that can be used to virtualize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system right from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot stage. We mentioned cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best defend against this kind of system compromises is a trusted boot mechanism, eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r SRTM or DRTM, as implemented e.g. by Xen's tboot.

3) Consequently we showed Xen Blue Pill that is able to move a running Xen system into a virtual machine on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fly. This, on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, cannot be prevented by neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRTM nor DRTM technology. XBP is a good example that running a legitimate hypervisor doesn't always prevent bluepill-like malware from being installed in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system.

4) Finally, discussed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 XBP detection. First, we noted that all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "VMM detectors", proposed over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last years, that try to detect if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a hypervisor running above, are useless in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case of a bluepilled Xen system. The only one approach that could be used is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 direct timing analysis of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 #VMEXIT times in order to distinguish between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 native Xen case vs. bluepilled Xen case. We noted however, that direct timing analysis will not observe any differences when run from PV domains on AMD processors, and that it will observe little difference when run from HVM domains (7k vs. 5k cycles). The detection is easier on Intel processors, because of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unconditional #VMEXIT that we cannot get rid of.

All cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three talks can be found here.

5 comments:

Anonymous said...

Just to make sure:

1) applies to all versions
2) applies to 3.x series
3) applies to all versions, but a workaround is known

Is that correct?

Thanks for your work on this :)
Richard

Joanna Rutkowska said...

@Richard: Sorry for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delay with accepting this post -- I had a week of holidays.

As to your question: Some parts of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trilogy apply to all type I hypervisors in general (e.g. bluepilling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 still-not-disclosed Q35 attack, etc), some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to Xen 3.x series (e.g. Rafal's backdoors and XLM framework) and finally some things were version specific, like e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FLASK bug, which was fixed on July 21st in Xen 3.3-unstable.

Botchagalupe said...

Hello,

I was wondering what your thoughts are about shared XEN hypervisors used by some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud vendors (Amazon, 3Tera, ...). Could cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y be vulnerable?

john
johnmwillis.com

Staff said...

Hi Joana,
Just wondering if you had a take Green Hill Software's newly marketed secure hypervisor/OS Integrity. It got a EAL6+ cert which requires formal methods and penetration testing by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 US NSA.

http://www.integrityglobalsecurity.com/

Joanna Rutkowska said...

@Michael: no, we haven't.