Search This Blog

Monday, January 9, 2012

Virtual machine


What is a Virtual Machine?




A virtual machine is a tightly isolated software container that can run its own operating systems and applications as if it were a physical computer. A virtual machine behaves exactly like a physical computer and contains it own virtual (ie, software-based) CPU, RAM hard disk and network interface card (NIC).

An operating system can’t tell the difference between a virtual machine and a physical machine, nor can applications or other computers on a network. Even the virtual machine thinks it is a “real” computer. Nevertheless, a virtual machine is composed entirely of software and contains no hardware components whatsoever. As a result, virtual machines offer a number of distinct advantages over physical hardware.

Virtual Machines Benefits

In general, VMware virtual machines possess four key characteristics that benefit the user:
  • Compatibility: Virtual machines are compatible with all standard x86 computers
  • Isolation: Virtual machines are isolated from each other as if physically separated
  • Encapsulation: Virtual machines encapsulate a complete computing environment
  • Hardware independence: Virtual machines run independently of underlying hardware

Compatibility

Just like a physical computer, a virtual machine hosts its own guest operating system and applications, and has all the components found in a physical computer (motherboard, VGA card, network card controller, etc). As a result, virtual machines are completely compatible with all standard x86 operating systems, applications and device drivers, so you can use a virtual machine to run all the same software that you would run on a physical x86 computer.

Isolation

While virtual machines can share the physical resources of a single computer, they remain completely isolated from each other as if they were separate physical machines. If, for example, there are four virtual machines on a single physical server and one of the virtual machines crashes, the other three virtual machines remain available. Isolation is an important reason why the availability and security of applications running in a virtual environment is far superior to applications running in a traditional, non-virtualized system.

Encapsulation

A virtual machine is essentially a software container that bundles or “encapsulates” a complete set of virtual hardware resources, as well as an operating system and all its applications, inside a software package. Encapsulation makes virtual machines incredibly portable and easy to manage. For example, you can move and copy a virtual machine from one location to another just like any other software file, or save a virtual machine on any standard data storage medium, from a pocket-sized USB flash memory card to an enterprise storage area networks (SANs).

Hardware Independence

Virtual machines are completely independent from their underlying physical hardware. For example, you can configure a virtual machine with virtual components (eg, CPU, network card, SCSI controller) that are completely different from the physical components that are present on the underlying hardware. Virtual machines on the same physical server can even run different kinds of operating systems (Windows, Linux, etc).

When coupled with the properties of encapsulation and compatibility, hardware independence gives you the freedom to move a virtual machine from one type of x86 computer to another without making any changes to the device drivers, operating system, or applications. Hardware independence also means that you can run a heterogeneous mixture of operating systems and applications on a single physical computer.

Use Virtual Machines as the Building Blocks of your Virtual Infrastructure

Virtual machines are a fundamental building block of a much larger solution: the virtual infrastructure. While a virtual machine represents the hardware resources of an entire computer, a virtual infrastructure represents the interconnected hardware resources of an entire IT infrastructure—including computers, network devices and shared storage resources. Organizations of all sizes use VMware solutions to build virtual server and desktop infrastructures that improve the availability, security and manageability of mission-critical applications. 

Poker Bots and Virtual Machines



Let's take a moment to discuss virtual machines, from here on out I will refer to them as a VM.

A VM is a simple to use software app from a developer such as Microsoft or Sun Systems (just to name a few of the free ones) which creates a hard drive image of an additional computer on your physical machine, thereby giving you a way to create additional PC's for little or no cost. It looks, feels, and acts just like a regular computer....and is basically the best thing since sliced bread.

I see so many newcomers make the mistake of buying their Poker Bot license for their main computer....but then what happens? Because you can't move the mouse or use other programs at the same time it will “tie up” your computer. Well, the VM is here to save the day. Most of the Poker Bot operators who are serious about this hobby, use a VM for ther Poker Bot which allows us to use our main machine
as always to surf the web, or email, etc.

The only restriction of how many VM's you can make depends on the hardware in your physical computer. For example: I have an ancient Toshiba Satellite laptop that only has 512MB of RAM, and single  core processor, so I installed Microsoft Virtual PC 2007, "found" a copy of Windows XP, and allocated 330MB of RAM to the VM. Even with this cheap setup I can run 4 poker tables in the background thru the VM, and still am able to watch You Tube videos on the main screen.

After installing the VM you will be able to connect to your local home network and transfer files back and forth, such as profiles or hand histories. The main reason I use a VM is when I write a new poker bot profile, I can run it and watch it play on the VM, but have my code pulled up on the main machine and make changes "on the fly" without having to remove the Poker Bot from the table and find a new table after I reload the profile.

As you become more familiar with using a VM, I am sure you will find other needs that a VM can be used for as well. If you run into problems setting up your VM, there are several helpful threads and members at Poker Bot  forums that can help you achieve success. 


Virtual Machines

Virtual Machines - Many of you have probably heard of them, and/or even used them . But for those of you who have not, here is a brief description.
Virtual Machines, or OS Virtualization, allows heterogeneous operating systems to run simultaneously on the same physical hardware. In a very basic form, imagine running Windows XP, Windows 2003 Enterprise Server, and Linux on the same computer at the same time. Each virtualized operating system, or environment, has access to disk drives, memory, video, input devices, and communications devices, all at the same time, on the same system.
Virtual Machines Picture
Before we conclude this article on how virtualization is used to rapidly and securely deploy security toolsets, we will provide you with links to Virtual Machine software you can work with on a trial bases (or purchase) and at least one that is free of cost.

How We Use Virtual Machines For Various Testing

Although the majority of the work we do is security assessment, we routinely deploy security measures such as perimeter defense, or enterprise firewall solutions. Many times, we are replacing an existing defense system and need to make sure that when we cut-over to the new system, everything will function properly. For instance, when deploying a firewall, or firewall clusters, we can simulate the cluster design by installed the software into virtual machines, on one physical system, and test the internal firewall to firewall communications. Also, prior to deploying the firewalls, we can create a virtual machine to represent each network protected by the firewalls and test connectivity / communication on each network e.g. Internet, private network, DMZ's, and other protected nets, all with just one system (usually a beefy laptop with a good bit of memory). This method of testing prior to cutting over has proven invaluable and mitigates the risk of serious problems that might present themselves.
How We Use Virtual Machines In Security Assessments
Each time we perform a security assessment for a customer, we utilize specialized and proprietary software / tools. However, once the assessment is completed, and we move on to the next test or new customer, we need to start with a clean platform. We never use the same OS install or instance of tools for different testing phases or different customers.





Using Virtualization, we have pre-created many operating environments such as Windows, Linux, BSD, and Solaris to name a few, with clean installs and hardened operating systems. These pre-created, secure environments also contain all the necessary tools for the type of customer environment and security assessment we will be working on. By using Virtual Machines, we can deploy our testing platforms within minutes, not hours, and feel confident they are secure and ready to function. In fact, we can carry many of these ready-to-go operating environments with us when we travel using high capacity external disk systems. Typically the size of a regular paperback book.
How Else Can Virtual Machines Be Used
The application, use, and benefit of Virtualization is quite broad. For people at home, or technical people who wish to learn new operating environments, Virtual Machines can be a great tool for learning. Instead of purchasing multiple physical machines to install the operating system and applications you wish to become educated on, you can purchase one performance based system, even a laptop, and use virtualization to run them all at once. They can even be configured quite easily to communicate with each other.
Another "big" benefit in using Virtual Machines, is they can be configured to more effectively and efficiently utilize your hardware investment. For instance, instead of purchasing two mid-range systems to run two different applications, you could purchase one an use virtualization to run them side-by-side. In many cases, when using dedicated systems for just one or two applications, the hardware is underutilized. Would it be a wise investment if the server you purchased is only being used at say, "25" percent of its capacity / capability? Virtualization can help you maximize the investment you make in performance based systems, and has the added benefit of server consolidation.

No comments:

Post a Comment