Sunday, July 16, 2006
Virtual Machines for Windows
So far Claus has covered the following (hopefully) critical security issues for Windows-based system users:
Firewall protection options: (w)Hole Lot of Firewall Info
Rootkit protection options: Windows Rootkit Detectors, and
Sandbox protection options: Sandboxing for System Security
Today we move on to the next-level of system protection; virtual machines. I've touched on this before.
As I have mentioned, trying to install and run new software can be a gamble. It should work, but it could (intentionally or not) render your system inoperable. There are many bad things that can impact you pc: viruses, trojans, malware...beta software and just plain bad code. By using a virtual machine system, you can effectively replicate an entire operating system on your desktop without needing a second pc. If something bad occurs you can either try to fix the virtual machine settings or just delete the virtual machine and simply restore your virtual machine to its original state.
The Wikipedia has a very good article about virtual machines.
I want to focus on three primary virtual machine software packages. There are quite a few more, but these seem to run quite well on most Windows based PC's.
Microsoft Virtual PC 2004
Previously a "to purchase" product, Microsoft recently announced it is releasing Microsoft Virtual PC 2004 for free. And it will also release Virtual PC 2007 free when it is finalized. Nice news.
The prime benefit of using this product is that (one would expect) that Microsoft would be in the best position to write code to emulate it's own systems. It doesn't play perfectly with all operating systems. Take some time to look over Jonathan Maltz's website: What Works and What Doesn't in Microsoft Virtual PC 2004 and acquaint yourself with the list before taking the time to try to install a particular system in Virtual PC.
Virtual PC Guy's WebLog is another great place to keep up with important and useful tips and issues in using Virtual PC.
Finally, Robert Moir has a wonderful set of Virtual PC 2004 FAQ well worth reviewing prior to setting up your first session. Including the ever useful: Installing Guest Operating Systems.
VMware offers a number of wonderful visualization products including their free VMware Player and the trialware VMware Workstation.
If you want to get started quickly then I suggest trying the VMware Workstation product. It easily allows you to create new virtual systems. However, if you need a free product and don't mind jumping through some hoops, give VMware Player a try. VMware has compiled an extensive list of "virtual appliances" and I would probably point most new users to their "Browser Appliance" image that uses the Linux Ubuntu build with Firefox as the best introduction.
If you don't have the money to pony-up for a full version of VMware Workstation, but want to build your own virtual systems there are a lot of options--they just take some work to use.
I'm not sure if this is where the whole idea got started, but Hack a Day posted a How-to: VMware player modification that walked users through setting up their own VMware virtual disks. The commentators then took the idea and ran with it.
John Bokma posted a wonderful guide: Creating an XP Pro VM for the free VMware Player
David Kuder hosts his VM Builder script on the web. You just complete some settings on line and the system and the script prepares a text file for you to use in your VMX configuration file.
EasyVMX!: Virtual Machine Creator goes one step further. It allows you three options for creating your virtual VMware machine: Super Simple Edition, EasyVMX or Expert. Depending on the sophistication level needed, pick your choice. The site also offers sets of IDE VMDK disk images from 500MB up to 100GB sizes for download (actual file size is much smaller). This can really save a ton of manual configuration time.
QEMU is an emulator for various CPU's. It can run on Linux, Windows and Mac OS X systems.
There are a number of ways you can try this out. To get a first-start, you might consider Damn Small Linux's QEMU:Embedded version Damn Small Linux". It contains a package pre-wrapped with QEMU virtual machine. The trick to finding this one is to look for a download build with "embedded" in the name. The current version at this time is dsl-3.0.1-embedded.zip Just go to the site, or click on this download link to their site and find a mirror. Then browse the tree until you find an appropriate zip version.
QEMU is a really flexible program. David Reynolds has created his amazing Qemu Manager program that really provides a great GUI QEMU manager. I really think this is a "must have" program if you are using QEMU in Windows. I love to use this to manage and launch various Linux "Live CD" distributions in ISO format. David has some great screenshots on the process on his About Qemu Manager page.
There is also the QGui QEMU Launcher as well. It is similar to Qemu Manager. I haven't used this one as much, but it is another option.
While you're at it, check out the Main Page - FreeOsZoo for additional "ready-to-run" images of QEMU virtual systems.
While it takes a bit more work, I still recommend using VMware's versions the best. I find them to operate much faster, but Virtual PC 2004 is still a great product. For something fast (to get started) using for ISO images, QEMU with Qemu Manager is my pick. Having all three in your arsenal of options is best. And when it comes to virtual machines, the more system RAM and CPU power at your primary system's disposal the better.
So go download these today, experiment, and get to know these tools. They can really provide a great test-bed for new software and applications as well as provide an additional layer of security when doing web-surfing and downloading.
See you in the skies,