Hardware-based virtualized security isolation

US10855725B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10855725-B2
Application numberUS-201615171917-A
CountryUS
Kind codeB2
Filing dateJun 2, 2016
Priority dateJun 2, 2016
Publication dateDec 1, 2020
Grant dateDec 1, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A host operating system running on a computing device monitors network communications for the computing device to identify network resources that are requested by the computing device. The host operating system compares requested network resources against security policies to determine if the requested network resources are trusted. When an untrusted network resource is identified, the host operating system accesses the untrusted network resource within a container that is isolated from the host operating system kernel using techniques discussed herein. By restricting access to untrusted network resources to isolated containers, the host operating system is protected from even kernel-level attacks or infections that may result from an untrusted network resource.

First claim

Opening claim text (preview).

What is claimed is: 1. A method performed by a host operating system executing on a host device, comprising: detecting that an application that is running on the host operating system is attempting to access a network resource that is accessible to the host device via a network; in response to detecting that the application is attempting to access the network resource, determining whether the network resource is an untrusted network resource; in response to determining that the network resource is an untrusted network resource: activating a container that is isolated from the host operating system, the container being configured to run a version of the application; and passing the untrusted network resource to the container thereby allowing the version of the application running in the container to access the untrusted network resource; and in response to determining that access to the untrusted network resource has ended, suspending the container. 2. The method as recited in claim 1 , further comprising allowing the version of the application running in the container to access one or more additional untrusted network resources and preventing the version of the application running in the container from accessing trusted network resources. 3. The method as recited in claim 1 , wherein detecting that the application is attempting to access the network resource comprises detecting that the application is attempting to access a file or another application and wherein allowing the version of the application running in the container to access the untrusted network resource comprises allowing the file or the other application to be opened within the container. 4. The method as recited in claim 1 , further comprising receiving at least one policy that includes at least an enumerated list of trusted network resources, wherein determining that the network resource is an untrusted network resource comprises comparing the network resource against the enumerated list of trusted network resources, the enumerated list of trusted network resources being identified based on one or more of a file type of the network resource, a network location associated with the network resource, or an application type that is attempting to access the network resource. 5. The method as recited in claim 1 , wherein the container is activated for a user that is logged on to the host operating system, the method further comprising determining that a different user is logged on to the host operating system and activating, for the different user, a different container that is isolated from the host operating system and the container. 6. The method as recited in claim 1 , further comprising determining that the application is attempting to access the network resource over an untrusted network interface and, in response to determining that the application is attempting to access the network resource over the untrusted network interface: restricting network communications for the application in the host operating system to a virtual private network (VPN) interface; allowing the version of the application running in the container to perform network communications over the untrusted network interface; and indicating to a network stack of the container that network communications for the container are isolated to the untrusted network interface. 7. The method as recited in claim 1 , further comprising intercepting a response to a web proxy prompt for user credentials and inserting one or more user credentials into the response to the web proxy prompt without communicating the one or more user credentials to the container. 8. The method as recited in claim 1 , further comprising scanning one or more untrusted network resources that are accessed in the container and using antivirus software in the host operating system to assign one or more risk levels to the one or more untrusted network resources and quarantine, clean, or delete one of the one or more untrusted network resources if the assigned risk level indicates that the untrusted network resource is malicious. 9. The method as recited in claim 1 , further comprising monitoring activity associated with the untrusted network resource in the container and updating local policy at the host operating system based on the monitored activity. 10. The method as recited in claim 1 , wherein the application is a web application and the untrusted network resource is a web page. 11. The method as recited in claim 1 , wherein the container is activated for network resource communications over a first network communication interface, the method further comprising activating a second container for network resource communications over a second network communication interface. 12. The method as recited in claim 1 , further comprising: detecting that the application is attempting to access an additional network resource; activating the container in response to determining that the additional network resource is an untrusted resource; and passing the additional network resource to the container thereby allowing the version of the application running in the container to access the additional network resource. 13. The method as recited in claim 1 , further comprising detecting an update to the host operating system and, in response to detecting the update to the host operating system, deleting the container and creating a new container that reflects one or more updated binaries of the host operating system. 14. The method as recited in claim 1 , wherein determining that the network resource is an untrusted network resource is performed based on one or more of a file type of the network resource, a network location associated with the network resource, an application type that is attempting to access the network resource, anti-virus scanning of the network resource, or based on consulting a cloud-based service that maintains a list of malicious network resources. 15. The method as recited in claim 1 , wherein the container is activated for a user that is logged on to the host operating system, the method further comprising activating one or more additional containers for the user and preventing other users of the host operating system from accessing the container and the one or more additional containers. 16. The method as recited in claim 1 , further comprising receiving a request from the version of the application running in the container for user credentials and providing a pseudo-authentication to the version of the application running in the container that includes information proving ownership of the user credentials without providing the user credentials to the container. 17. The method as recited in claim 1 , further comprising identifying a local network and emulating the local network for the container. 18. The method as recited in claim 1 , further comprising identifying a local network and emulating the local network behind a network address translator (NAT) for the container. 19. The method as recited in claim 1 , further comprising scanning for and sharing Domain Name System (DNS) and HyperText Transfer Protocol (HTTP) information between the host operating system and the container. 20. The method as recited in claim 1 , further comprising tracking one or more configuration changes performed by the version of the application running in the container. 21. The method as recited in claim 1 , further comprising obtaining telemetry from the container and analyzing container activity based on the o

Assignees

Inventors

Classifications

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • H04L63/20Primary

    for managing network security; network security policies in general (filtering policies H04L63/0227) · CPC title

  • Countermeasures against malicious traffic (countermeasures against attacks on cryptographic mechanisms H04L9/002) · CPC title

  • Vulnerability analysis · CPC title

  • Event detection, e.g. attack signature detection · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10855725B2 cover?
A host operating system running on a computing device monitors network communications for the computing device to identify network resources that are requested by the computing device. The host operating system compares requested network resources against security policies to determine if the requested network resources are trusted. When an untrusted network resource is identified, the host ope…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L63/20. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 01 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).