Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
214 Chapter8·Fuzzing Virtualization and Fuzzing We will be using the snapshot features of VMware and Virtual PC to create slave servers that run the application itself. We will also use a master server to control the testing, provide the entropy, and to store and record the results. The Master server need not be on the same platform type as the slave, as long as the master is able to control starting and stopping of the virtual machine slaves. Normally the master runs on the virtual machine host but this is not a requirement. Both VMware and Microsoft Virtual Server can be controlled remotely using programmatic interfaces (details below). Choosing an Effective Starting Point By using virtualization features such as snapshots we are able to force the application into a known starting point before each test. This allows us to make sure that testing is consistent and repeatable. There will always be some entropy in our tests such as when external sites are contacted and random numbers are generated, but these