Patent ID: 8869300

Claim:
In a computing device executing a hypervisor hosting a secure virtual machine and an unsecure virtual machine, a method for redirecting an access request to the unsecure virtual machine, comprising: determining that a virtual machine is requesting access to an unsecure resource, the unsecure resource comprising one of: a file, an application and a uniform resource locator (URL); determining, by the control virtual machine, that the request originates from the secure virtual machine executing on the computing device, the secure virtual machine having a different level of access than the unsecure virtual machine to the computing device; in response to determining that the request originates from the secure virtual machine, performing the following steps: intercepting, by a control virtual machine hosted by a hypervisor executing on a computing device, the request to access the unsecure resource originating from the secure virtual machine; establishing, by the secure virtual machine, a secure communications channel between the secure virtual machine and the unsecure virtual machine, the communications channel only accessible by the secure virtual machine and the unsecure virtual machine, and wherein establishing the secure communications channel comprises: selecting, by the secure virtual machine, a region in memory to monitor; sending, by the secure virtual machine, an interrupt to the unsecure virtual machine indicating a request to communicate with the unsecure virtual machine; writing, by the unsecure virtual machine, a predetermined data string to the selected region of memory; detecting, by the secure virtual machine, the predetermined data string written by the unsecure virtual machine; and in response to detecting the predetermined data string, locking, by the secure virtual machine, the selected region of memory; redirecting, by the control virtual machine the request to access the unsecure resource via the secure communications channel between the secure virtual machine and the unsecure virtual machine; and accessing, via the unsecure virtual machine, the requested unsecure resource.