1. A method of preventing malware attacks in a mobile device comprised of virtualization software that supports one or more virtual machines, the method comprising: executing a virtual machine on the mobile device, wherein the virtual machine includes a guest operating system (i) configured to run on a mobile device, and (ii) comprising device drivers that access virtual hardware devices (a) used by the mobile device, and (b) emulated by the virtualization software, wherein the virtualization software transforms requests by the virtual machine to access the virtual hardware devices into requests to access corresponding physical devices of the mobile device; collecting, by the virtualization software, information from physical device drivers used by the virtualization software to communicate with physical devices of the mobile device, wherein the information relates to attempts by the virtual machine to access one or more physical devices of the mobile device by attempting to access corresponding virtual hardware devices; and sending the information to malware protection software, wherein the malware protection software is a module in the virtualization software or runs in a second virtual machine on the mobile device and wherein the malware protection software includes a set of rules that trigger one or more remedial actions based on the information.