1. A method for protecting a plurality of guest virtual machines (VMs) from malicious code, the plurality of guest VMs executing via a virtualization layer on a common host platform, method comprising: scanning data using a scan engine of an anti-virus system, the scan engine being configured to execute within the virtualization layer outside a context of a target VM, the target VM being one of the guest VMs, the scanning comprising: receiving a scan request from a driver portion of the anti-virus system, the scan request identifying the data to be scanned; reading the data and comparing the data with a virus signature database; determining a result of the scanning, the result indicating whether malicious code is present in the data; and reporting the result of the scanning back to the driver portion that requested the scan; and protecting the target VM using a driver portion of the anti-virus system, the driver portion being configured for installation in an operating system of the target VM, the protecting comprising: intercepting an access request to a file, wherein the access request originates within the target VM; communicating the scan request to the scan engine, the scan request including the identification of the data to be scanned by providing information identifying a location of the data to be scanned, the data to be scanned being or corresponding to contents of the file; receiving the result from the scan engine, and taking remedial action when the result indicates the file contains malicious code, the remedial action including one or more of notifying a user, deleting the file, or quarantining the file.