Patent ID: 8856782

Claim:
A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to: receive a program execution request to run a program on a host operating system; permit the program to execute on the host operating system and outside a virtual machine if a program permissions list, associated with the host operating system, indicates that the program has permission to execute on the host operating system and outside a virtual machine; and if the program permissions list indicates that the program does not have permission to execute on the host operating system and outside a virtual machine: deny execution of the program on the host operating system outside a virtual machine; associate a guest virtual machine with the program based on a type of the program; and send the program execution request to the guest virtual machine associated with the program such that the guest virtual machine executes the program; authenticate a file access system call received from the program, using an authentication module within the guest virtual machine; and redirect the file access system call to a secure virtual file access server, if the file access system call is authenticated.