Xen virtualisation swallows a "Blue Pill"
Three security researchers have demonstrated security flaws in the Xen hypervisor, but claim the problems could extend to other virtualisation systems. Joanna Rutkowska, Alexander Tereshkin and Rafal Wojtczuk from Invisible Things Lab demonstrated a number of ways to compromise Xen's virtualisation and the processes it virtualised at Black Hat 2008. They called their series of three talks the "Xen 0wning Trilogy".
Rutkowska has specialised in taking current virtualisation technology and showing how it can be broken; in 2006 she presented the "Blue Pill" which compromised a Vista system by placing it into a virtual machine and taking over the entire system. In 2007, she showed how DMA access for firewire peripherals could be abused to compromise systems. This year, three talks have built on those previous ideas.
In the first talk, they showed how to create a reliable and portable DMA attack on Xen hypervisor memory, and then used this attack to show how they could load arbitrary C code modules into a running Xen hypervisor. The talk's climax was the discussion of not one by two implementations of Xen Hypervisor Rootkits.
The Xen hypervisor's use of VT-d protection as used in Xen 3.3 was the focus of the second talk. VT-d can protect against DMA attacks as discussed in the first part of the trilogy; for example, the DMA attack will not run on Xen 3.3 on an Intel Q35 chipset. The slides which cover how the team attacked the hypervisor in this scenario have been removed by request of Intel from the notes, but they do manage to modify the hypervisor for Dom0, and exploited a Xen security module (though they do note this module has already been patched and wasn't turned on by default). The conclusion of the talk was the introduction of HyperGuard, an integrity scanner, developed in conjunction with Phoenix Technologies. HyperGuards approach is, rather than trying to check the correctness of code in the hypervisor, to simply ensure that there is no untrusted code present.
The third talk, built on these talks and looked at nested hardware based virtualisation on AMD and Intel. This is where a hypervisor could run a virtual instance of a machine which in turn had another hypervisor inside. With their "Xen Blue Pill", recalling the film The Matrix, the team showed how they could lift a running hypervisor and place it within a hypervisor they controlled. The talk then moved on to how hard it is to detect this kind of compromise within virtual machines.
Although Rutowska and her team have identified problems with Xen, generally they seem quite positive about Xens implementation and approach. What the talks do illustrate vividly is the complexity of securing virtualised systems and what approaches need to be examined to make the "Blue Pill" something people don't find themselves swallowing.
The slides from the talk are available on the Invisible Things site.