Patents Assigned to Bromium, Inc.
  • Patent number: 9626204
    Abstract: Approaches for executing untrusted software on a client without compromising the client using micro-virtualization to execute untrusted software in isolated contexts. In response to receiving a request to perform an action, an isolated environment (such as but not limited to a virtual machine) is instantiated without receiving an explicit user instruction to do so. To instantiate the isolated environment, one or more templates for use in instantiating the isolated environment are identified using a policy. The one or more templates describe isolated environment characteristics for different types of activity. After the isolated environment has been instantiated using one or more identified templates, the action may be performed in the isolated environment.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: April 18, 2017
    Assignee: Bromium, Inc.
    Inventors: Gaurav Banga, Kiran Bondalapati, Ian Pratt, Vikram Kapoor
  • Patent number: 9501310
    Abstract: The execution of a process within a VM may be monitored, and when a trigger event occurs, additional monitoring is initiated, including storing behavior data describing the real-time events taking place inside the VM. This behavior data may then be compared to information about the expected behavior of that type of process in order to determine whether malware has compromised the VM.
    Type: Grant
    Filed: December 28, 2015
    Date of Patent: November 22, 2016
    Assignee: Bromium, Inc.
    Inventors: Rahul C. Kashyap, J. McEnroe Samuel Navaraj, Baibhav Singh, Arun Passi, Rafal Wojtczuk
  • Patent number: 9460293
    Abstract: A software module executes on a first operating system running. The software module determines that the first operating system has caused data to the written to a first clipboard maintained by the first operating system. The software module consults policy data to determine whether the data should additionally be written to a second clipboard maintained by a second operating system. The policy data may only allow the data to be written to the second clipboard if the data was written to the first clipboard at the initiation of or approved by a user. If the software module determines that the policy data allows the data to be written to the second clipboard, then the software module, without human instruction, causes the data to written to the second clipboard.
    Type: Grant
    Filed: June 20, 2013
    Date of Patent: October 4, 2016
    Assignee: Bromium, Inc.
    Inventors: Rahul Kashyap, Rafal Wojtczuk, Ian Pratt
  • Patent number: 9386021
    Abstract: Approaches for providing operating environments selective access to network resources. A guest operating system, executing on a device, may issue a request to a network device for access to a set of network resources. Once the guest operating system authenticates itself to the network device, the network device provides, to the guest operating system, access to the set of network resources. Note that the host operating system, executing on the device, does not have access to the set of network resources. A guest operating system may be provided access to an untrusted network in a manner that denies the host operating system access to the untrusted network. In this way, any malicious code inadvertently introduced into the host operating system cannot access the untrusted network for unscrupulous purposes.
    Type: Grant
    Filed: June 26, 2014
    Date of Patent: July 5, 2016
    Assignee: Bromium, Inc.
    Inventor: Ian Pratt
  • Patent number: 9384022
    Abstract: Approaches for rendering a file within a display mode. A guest module, executing within a virtual machine, determines that a process executing within the virtual machine is requesting to display a file. The guest module sends a request to display the file to a host module which executes within a host operating system. After the host module receives the request, the host module determines whether a user initiated the display of the file. Upon the host module determining that the file is permitted to be displayed, the host module determines a particular display mode for the file. Thereafter, the host module causes the file to be displayed in the particular display mode. Files may be automatically displayed in a configurable display mode in a secure manner.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: July 5, 2016
    Assignee: Bromium, Inc.
    Inventors: Vikram Kapoor, Deepak Khajuria
  • Patent number: 9384026
    Abstract: Approaches for selectively sharing cookies between virtual machines responsible for retrieving web content. A request to display a web page is received. The web page includes top-level content served by a top-level domain and secondary content served by one or more other domains. A determination that at least a portion of the web page should be retrieved from within a virtual machine is made. A policy is consulted to identify a set of cookies to inject into the virtual machine. The policy considers whether the virtual machine is responsible for retrieving one or more of top-level content and secondary content in identifying the set of cookies to inject into the virtual machine. After injecting the set of cookies into the virtual machine, the portion of the web page is retrieved from within the virtual machine.
    Type: Grant
    Filed: January 30, 2014
    Date of Patent: July 5, 2016
    Assignee: Bromium, Inc.
    Inventors: Gaurav Banga, Ian Pratt, Vikram Kapoor, Prakash Buddhiraja, Kiran Bondalapati
  • Patent number: 9354906
    Abstract: Managing the guest operating system's eviction of memory pages from a virtual machine. A guest operating system or a hypervisor may cause one or more memory pages within a guest physical frame to become unlikely or ineligible for selection as a candidate for eviction by the guest operating system. Each of the one or more memory pages may also reside, or be intended to reside, in the memory of one or more other virtual machines. In this way, memory pages that are shared across multiple virtual machines may become less likely to be evicted, thereby using memory more efficiently.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: May 31, 2016
    Assignee: Bromium, Inc.
    Inventors: Krzysztof Uchronski, Martin O'Brien, Jacob Gorm Hansen, Kiran Bondalapati, Ian Pratt, Gaurav Banga, Vikram Kapoor
  • Patent number: 9349008
    Abstract: Approaches for processing a digital file in a manner designed to minimize exposure of any malicious code contained therein. A digital file resides with a virtual machine. When the virtual machine receives an instruction to print or digitally transfer at least a portion of the digital file, the virtual machine converts at least a portion of the digital file from an original format to a different format within the virtual machine. The different format preserves a visual presentation of the digital file without supporting metadata or file format data structures of the original format. The virtual machine instructs the host OS to print or digitally transfer the portion of the digital file. The host OS may consult policy data in determining how to service the instruction to print or digitally transfer the digital file.
    Type: Grant
    Filed: May 2, 2014
    Date of Patent: May 24, 2016
    Assignee: Bromium, Inc.
    Inventors: Deepak Khajuria, Gaurav Banga, Vikram Kapoor, Ian Pratt, Vivek Srivastava
  • Patent number: 9348636
    Abstract: Approaches for transferring a file using a virtualized application. A virtualized application executes within a virtual machine residing on a physical machine. When the virtualized application is instructed to download a file stored external to the physical machine, the virtualized application displays an interface which enables at least a portion of a file system, maintained by a host OS, to be browsed while preventing files stored within the virtual machine to be browsed. Upon the virtualized application receiving input identifying a target location within the file system, the virtualized application stores the file at the target location. The virtualized application may also upload a file stored on the physical machine using an interface which enables at least a portion of a file system of a host OS to be browsed while preventing files in the virtual machine to be browsed.
    Type: Grant
    Filed: September 5, 2014
    Date of Patent: May 24, 2016
    Assignee: Bromium, Inc.
    Inventors: Deepak Khajuria, Kiran Bondalapati, Vikram Kapoor, Gaurav Banga, Ian Pratt
  • Patent number: 9292328
    Abstract: Approaches for enabling Supervisor Mode Execution Protection (SMEP) for a guest operating system which does not support SMEP. A guest operating system (OS), which does not support SMEP, is executed within a virtual machine. A hypervisor instructs hardware to enable SMEP for the virtual machine executing the guest operating system. When the hypervisor is notified that the hardware has detected the guest operating system instructing a central processing unit (CPU) to execute code stored in virtual memory accessible by user space while the CPU is in supervisor mode, the hypervisor may consult a policy to identify what, if any, responsive action the hypervisor should perform.
    Type: Grant
    Filed: May 24, 2013
    Date of Patent: March 22, 2016
    Assignee: Bromium, Inc.
    Inventors: Ian Pratt, Rafal Wojtczuk
  • Patent number: 9245108
    Abstract: Approaches for an operating system to ascertain whether files stored its file system have been deemed trustworthy. When an operating system receives a request to perform an operation involving a file that is stored within the file system maintained by the operating system, the operating system requests the file from a driver. In turn, the driver consults a set of trust data to identify whether the file has been previously deemed trustworthy. Upon the driver determining that the file has been deemed trustworthy, the driver provides the file to the operating system in a first format. On the other hand, upon the driver determining that the file has not been deemed trustworthy, the driver provides the file to the operating system in a second format that is different than the first format. Advantageously, the file is stored in a single format in the file system.
    Type: Grant
    Filed: July 8, 2014
    Date of Patent: January 26, 2016
    Assignee: Bromium, Inc.
    Inventors: Deepak Khajuria, Mahesh Pisal, Krzysztof Uchronski, Vikram Kapoor, Ian Pratt, Gaurav Banga
  • Patent number: 9244705
    Abstract: Programmatically adjusting the operational state of one or more virtual machines based on policy. Resource consumption on a hardware device is monitored. A policy that considers at least a present level of resource consumption and an amount of available resources of the hardware device is consulted. An operational state of a particular virtual machine that resides on the hardware device is changed. The change in operational state may be performed to optimize performance of a virtual machine with which a user is interacting, to enforce behavior constraints upon the virtual machine, or to adjust its execution in view of the available resources on the device.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: January 26, 2016
    Assignee: Bromium, Inc.
    Inventors: Kiran Bondalapati, Gaurav Banga, Vikram Kapoor, Ian Pratt
  • Patent number: 9239909
    Abstract: Approaches for preventing unauthorized access of sensitive data within an operating system (OS), e.g., a guest OS used by a virtual machine. Dummy data may be written over physical locations on disk where sensitive data is stored, thereby preventing a malicious program from accessing the sensitive data. Alternately, a delete operation may be performed on sensitive data within an OS, and thereafter the OS is converted into a serialized format to expunge the deleted data. The serialized OS is converted into a deserialized form to facilitate its use. Optionally, a data structure may be updated to identify where sensitive data is located within an OS. When a request to access a portion of the OS is received, the data structure is consulted to determine whether the requested portion contains sensitive data, and if so, dummy data is returned to the requestor without consulting the requested portion of the OS.
    Type: Grant
    Filed: January 25, 2012
    Date of Patent: January 19, 2016
    Assignee: Bromium, Inc.
    Inventors: Gianni Tedesco, Anushree Pole, Andrew Southgate, Ian Pratt, Vikram Kapoor, Gaurav Banga
  • Patent number: 9223962
    Abstract: The execution of a process within a VM may be monitored, and when a trigger event occurs, additional monitoring is initiated, including storing behavior data describing the real-time events taking place inside the VM. This behavior data may then be compared to information about the expected behavior of that type of process in order to determine whether malware has compromised the VM.
    Type: Grant
    Filed: December 7, 2012
    Date of Patent: December 29, 2015
    Assignee: Bromium, Inc.
    Inventors: Rahul C Kashyap, J. McEnroe Samuel Navaraj, Baibhav Singh, Arun Passi, Rafal Wojtczuk
  • Patent number: 9201850
    Abstract: Approaches for composing the display of a virtualized web browser. A virtualized web browser is instructed to display a web page. The virtualized web browser, in turn, instructs one or more virtual machines to retrieve content for at least a portion of the web page. Each of the one or more virtual machines renders the content retrieved thereby. Upon the virtualized web browser obtaining the rendered screen data content from the one or more virtual machines, the virtualized web browser displays the web page using the rendered content.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: December 1, 2015
    Assignee: Bromium, Inc.
    Inventors: Prakash Buddhiraja, Kiran Bondalapati, Vikram Kapoor, Gaurav Banga, Ian Pratt
  • Patent number: 9203862
    Abstract: Updating a central repository with information about malware resident upon a computer system. Upon detecting the malware executing in a virtual machine, a software module, without manual instruction, sends malware manifest data to a central repository over a network. The malware manifest data may comprise a copy of the malware and data identifying or comprising a set of files infected by the malware. The central repository may receive, over a network from at least two computer systems, distinct sets of malware manifest data and may subsequently store the sets of malware manifest data.
    Type: Grant
    Filed: July 1, 2013
    Date of Patent: December 1, 2015
    Assignee: Bromium, Inc.
    Inventors: Rahul C. Kashyap, J. McEnroe Samuel Navaraj, Arun Passi
  • Patent number: 9148428
    Abstract: Approaches for managing potentially malicious files using one or more virtual machines. In response to receiving a request to perform an action on a file, a client applies a policy to determine whether the action is deemed trustworthy. The client identifies, without human intervention, a virtual machine, executing or to be executed on the client, in which the action is to be performed based on whether the action is deemed trustworthy. In this way, embodiments allow a user to make use of data deemed untrusted in certain cases without allowing the untrusted data from having unfettered access to the resources of the client. If the requested action is performed in a different virtual machine from which the action was requested, embodiments enable the performance of the action to be performed seamlessly to the user.
    Type: Grant
    Filed: March 13, 2012
    Date of Patent: September 29, 2015
    Assignee: Bromium, Inc.
    Inventors: Gaurav Banga, Sergei Vorobiev, Deepak Khajura, Ian Pratt, Vikram Kapoor, Simon Crosby
  • Patent number: 9135046
    Abstract: Approaches for ensuring the privacy of a controller of a device from a host operating system. A host operating system is prevented from inspecting or modifying data received by a controller of a hardware device. Control of the controller is withdrawn from the host operating system and granted to a hypervisor. A replacement controller for the hardware device is provided to the host operating system. Upon the hypervisor receiving data via the controller, the hypervisor forwards the data to a relevant virtual machine responsible for processing the data. Although the host operating system may operate as if it possessed control of the controller of the hardware device, any malicious code inadvertently residing within the host operating system will be unable to inspect or modify any data received by or sent from the actual controller of the hardware device.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: September 15, 2015
    Assignee: Bromium, Inc.
    Inventor: Ian Pratt
  • Patent number: 9135038
    Abstract: Reducing an amount of memory used by a virtual machine. A system includes multiple virtual machines that share common pages of memory. The number of private pages associated with each virtual machine is minimized by ensuring that pages that a guest operating system regards as now free or zeroed are efficiently mapped by the hypervisor to a shared zero page. Upon a hypervisor determining that one or more guest physical frame numbers are assigned to free memory pages, the hypervisor updates mapping data to map the one or more guest physical frame numbers to a shared zero page within the machine frame.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: September 15, 2015
    Assignee: Bromium, Inc.
    Inventors: Krzysztof Uchronski, Martin O'Brien, Jacob Gorm Hansen, Kiran Bondalapati, Ian Pratt, Gaurav Banga, Vikram Kapoor
  • Patent number: 9128743
    Abstract: Representing a non-executing virtual machine with a graphical representation. Resource consumption on a hardware device is monitored. A policy that considers at least a present level of resource consumption and an amount of available resources of the hardware device is consulted. An operational state of a particular virtual machine that resides on the hardware device is changed to a non-executing state. An image that represents the virtual machine is displayed. The image is based upon the state of the virtual machine immediately prior to the virtual machine entering the non-executing state.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: September 8, 2015
    Assignee: Bromium, Inc.
    Inventors: Kiran Bondalapati, Gaurav Banga, Vikram Kapoor, Ian Pratt, Prakash Buddhiraja, Stephen Rice