|
|||||||||||
|
More on VMWare poor guest isolation design
From: M. Burnett <mb(at)xato.net>
Date: Fri Aug 24 2007 - 21:29:57 EDT
Finally, let me explain how I personally use virtual machines to put this all in context of why I think this is important. I use Windows Vista as my host machine, logged in as a non-admin user. I am typing this e-mail--also as a non-admin user--in a Windows XP virtual machine dedicated to instant messaging and e-mail. On another monitor I have a VM running Windows 2003 as a domain controller (btw, you need the client utilities on domain controllers to keep the clock correct) where I am logged in as an administrator, but the screen saver is password-protected and I lock the console anyway when I am finished using it. On that machine I have a number of admin and networking tools installed. Finally, I have yet another Windows XP virtual machine running with a lot of my pen-testing tools. Many of these just don't work well unless you are an admin, so I am logged in as an admin. That machine is "paused" and I start it up when I need it. I probably have a dozen other specialized machines paused for different client projects I am working on. As a side note, I specialize in hardening Windows so all of these systems have been hardened with my own hardening script that is quite extreme. These are by no means weak targets. I also make sure the guest machines are fairly isolated by not allowing shared drives or drag/drop between machines. Remember that so far there has been no security reason not to run the client utilities, and using a windows guest really sucks without having them installed. Since I do much of my web browsing on the Vista host machine, I thought this whole setup was a secure way to isolate everything. I keep my browsing, communications, client work, and administrative tasks on isolated machines. However, if a worm were somehow able to run on my Vista host, it could likely compromise all the other guests OS's including those where I am logged in as an admin, and it could do it in seconds with just a tiny payload of just a few lines of code. So running a script as a non-admin user could mean my whole network is owned in seconds. It doesn't matter how secure all my guests are or that I use extremely secure passwords or that I am current on all my patches or I am running a super-tight firewall on each guest. A single API call bypasses all of that. A script wouldn't even need to know the administrator's name, which isn't administrator on all my systems, it just runs commands as whatever user has logged in to the console. Locking the guest OS screens or having a password-protected screen saver doesn't help any either, the code still runs. So you can see that there are many different ways that people user virtual machines. Not just as servers, but as workstations as well. And not just linux, but Windows too. A prudent administrator has no reason to expect a guest machine to become vulnerable just by installing the guest utilities. There has been no reason to think that being logged in as a non-admin user on the host could still result in a compromise of the admin credentials in the guest OS's. But now there is.
Mark Burnett
This archive was generated by hypermail 2.1.8 : Sun Oct 28 2007 - 06:13:28 EDT |
||||||||||
|
|||||||||||