-
Website
http://www.matasano.com/log -
Original page
http://www.matasano.com/log/955/you-can-detect-hypervisor-rootkits-even-if-youre-virtualized/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
Press Controls
3 comments · 2 points
-
ChrisMtso
12 comments · 1 points
-
Eric Monti
11 comments · 1 points
-
StatlerAndWaldorf
12 comments · 3 points
-
Dave G.
7 comments · 1 points
-
-
Popular Threads
I was referring to detecting an unauthorized hypervisor that either replaces the expected one, layers on top of it (probably not possible, but I never assume anything's impossible), or corrupts it. This isn't about Blue Pill, think of it being more about a hijacked hypervisor.
If I'm in the guest OS I can detect I'm running on a hypervisor, but that's the "easy" part. How do I know there isn't a malicious hypervisor running vs. the authorized one?
If you're not supposed to be virtualized, check to see if you're being virtualized.
Repeat until the chain is exhausted, or you get an unexpected result.
I'll just assume you can have your hypervisor check it's virtualization status, of course that probably relies on the hypervisor either have that capability programmed in, or you have a way to extend it.
As you said, and I fully agree, hypervisor rootkits aren't something to worry about. The only ones I worry about is if the trusted hypervisor is compromised directly.
Samsara doesn't just look to see if there's virtualization- it can also scan the hypervisor to make sure it's unmodified.
'nuff said, if I have it right.
The point of hypervisor malware is to get the hardware to intercept detection attempts for you. If you don't control the hardware, you don't get to do that.
You could *infect* a hypervisor (nobody has published such an attack yet). But there's little semantic difference between infecting VMWare and loading your own hypervisor above it. The point of Samsara is, even if your rootkit is resident in someone else's hypervisor, we can still (a) prove that we have unimpeded access to the actual hardware and then (b) use that hardware to scan for a rootkit.
Would it be possible for a hypervisor to give its guests unimpeded access to the hardware, to such an extent that they can scan for rootkits, but still keep enough control that one compromised guest can't attack other guests or the hypervisor itself?
Once a hypervisor is compromised, we have the same limitations there that we have for kernel-mode rootkits now - if we don't know where to look, we won't be able to find them, but there will always be anomalies then, just as there are now.
So it's really the same problem, just one level removed. As Thomas said, it hasn't gotten any harder.
Remember how NT was a microkernel and everything was external services? Look at it today. Microsoft is trying to push back with Kernel Patch Protection (i.e. PatchGuard) but fundamentally, third-party code will always be able to run in ring 0.
So why will the hypervisor be any different? Hypervisors have to implement at least a mini-OS, and nearly all of those are based on Linux or Windows. So your kernel rootkit will work just fine in the hypervisor, once you've found a way to load it. And if that becomes common, scanning for malware in the hypervisor will also appear, as Rich is suggesting.
And so it goes...