← Back to Patent Explorer
US6505300B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for secure running of untrusted content

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1998-06-12
•
Granted: 2003-01-07
•
Expires: 2018-06-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Restricted execution contexts are provided for untrusted content, such as computer code or other data downloaded from websites, electronic mail messages and any attachments thereto, and scripts or client processes run on a server. A restricted process is set up for the untrusted content, and any actions attempted by the content are subject to the restrictions of the process, which may be based on various criteria. Whenever a process attempt to access a resource, a token associated with that process is compared against security information of that resource to determine if the type of access is allowed. The security information of each resource thus determines the extent to which the restricted process, and thus the untrusted content, has access. In general, the criteria used for setting up restrictions for each untrusted content's process is information indicative of how trusted or untrusted the content is likely to be.

Inventors

  • 👤 Shannon Chan
  • 👤 Gregory Jensenworth
  • 👤 Mario C. Goertzel
  • 👤 Bharat Shah
  • 👤 Michael M. Swift
  • 👤 Richard B. Ward

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 09:57
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/60; G06F21/62; G06F21/6218; G06F21/50; G06F21/52; G06F21/53; G06F2221/00; G06F2221/21; G06F2221/2101; G06F2221/2141; G06F2221/2145; G06F2221/2149

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 136 words
In a computer system having an operating system provided security mechanism that determines access of processes to resources based on information in an access token associated with each of the processes against security information associated with each of the resources, a method of restricting access of content to resources, comprising, setting up a process for the content, determining restriction information based on criteria available to the computer system, automatically creating a restricted access token based on the restriction information, the restricted access token having reduced access relative to a parent token, associating the restricted access token with the process, and in response to a request for access by the process to the resource, the security mechanism determining access by evaluating data in the restricted access token against separately maintained security information currently associated with the resource.
Claim 2
Dependent Claim 136 words
In a computer system having an operating system provided security mechanism that determines access of processes to resources based on information in an access token associated with each of the processes against security information associated with each of the resources, a method of restricting access of content to resources, comprising, setting up a process for the content, determining restriction information based on criteria available to the computer system, automatically creating a restricted access token based on the restriction information, the restricted access token having reduced access relative to a parent token, associating the restricted access token with the process, and in response to a request for access by the process to the resource, the security mechanism determining access by evaluating data in the restricted access token against separately maintained security information currently associated with the resource.
Claim 3
Dependent Claim 15 words
The method of claim 1 wherein the content comprises data obtained from an untrusted source.
Claim 4
Dependent Claim 13 words
The method of claim 2 wherein the untrusted source comprises a computer-readable medium.
Claim 5
Dependent Claim 44 words
The method of claim 2 wherein the content writes a file to the system, and further comprising generating a restricted security identifier based on a site identity, adding the security identifier to security information of the file, and storing the file in the system.
Claim 6
Dependent Claim 31 words
The method of claim 2 wherein the content writes a file to the system, and further comprising redirecting a path provided by the content to a path associated with a site.
Claim 7
Dependent Claim 19 words
The method of claim 2 wherein the data comprises network data and the untrusted source is a network site.
Claim 8
Dependent Claim 28 words
The method of claim 6 wherein the site is an Internet site, and determining restriction information includes generating a security identifier from unique information of the Internet site.
Claim 9
Dependent Claim 18 words
The method of claim 7 wherein the unique information comprises a binary certificate identifier of the Internet site.
Claim 10
Dependent Claim 34 words
The method of claim 7 wherein the unique information comprises a Uniform Resource Locator (URL) of the Internet site, and wherein generating a security identifier includes converting the URL to the restricted security identifier.
Claim 11
Dependent Claim 23 words
The method of claim 9 wherein converting the URL to the restricted security identifier includes hashing the URL with a cryptographic hash function.
Claim 12
Dependent Claim 13 words
The method of claim 1 wherein the content comprises an electronic mail message.
Claim 13
Dependent Claim 16 words
The method of claim 11 wherein determining restriction information includes determining the sender of the message.
Claim 14
Dependent Claim 16 words
The method of claim 12 wherein determining the sender of the message includes authenticating the sender.
Claim 15
Dependent Claim 11 words
The method of claim 1 wherein the content comprises a script.
Claim 16
Dependent Claim 26 words
The method of claim 14 wherein the system is a server, and wherein determining restriction information includes determining how a client was authenticated to the server.
Claim 17
Dependent Claim 45 words
The method of claim 1 wherein the content comprises data downloaded from a site, further comprising determining a zone corresponding to the site, and wherein creating the restricted access token includes adding a restricted security identifier corresponding to the zone to the restricted access token.
Claim 18
Dependent Claim 32 words
The method of claim 1 wherein the resource is unavailable for direct access by the restricted process, and further comprising, accessing the resource through a helper process associated with the restricted process.
Claim 19
Dependent Claim 19 words
The method of claim 17 wherein the helper process extracts information associated with the content from the restricted token.
Claim 20
Dependent Claim 59 words
The method of claim 17 further comprising detecting at an application programming interface an attempt to access a resource from the process having the restricted token as its access token, and in response, calling the helper process to access the resource, and returning information from the helper process to the process having the restricted token as its access token.
Claim 21
Dependent Claim 35 words
The method of claim 17 further comprising setting the security information of the resource to allow access to the helper process and deny access to the process having the restricted token as its access token.
Claim 22
Dependent Claim 27 words
The method of claim 17 wherein accessing the resource unavailable to the restricted process through a helper process includes communicating with the resource through the helper process.
Claim 23
Dependent Claim 28 words
The method of claim 17 wherein accessing the resource unavailable to the restricted process through a helper process includes requesting the helper process to make the resource available.
Claim 24
Dependent Claim 14 words
The method of claim 1 further comprising putting the process into a job object.
Claim 25
Dependent Claim 33 words
The method of claim 1 wherein the content attempts to access a system registry, and further comprising redirecting a registry location provided by the content to a registry location associated with the content.
Claim 26
Dependent Claim 14 words
A computer-readable medium having computer-executable instructions for performing the method of claim 1 .
Claim 27
Dependent Claim 108 words
In a computer system, a system for restricting access of content to resources, comprising, a process set up for the content, a discrimination mechanism configured with executable code to determine restriction data based on information corresponding to the content, a mechanism configured with executable code to automatically create a restricted access token for the process based on the restriction data, the restricted access token having reduced access relative to a parent token, and a security mechanism configured with executable code to determine access of the content's process to a resource by comparing information in the restricted access token to separately maintained security information currently associated with the resource.
Claim 28
Dependent Claim 108 words
In a computer system, a system for restricting access of content to resources, comprising, a process set up for the content, a discrimination mechanism configured with executable code to determine restriction data based on information corresponding to the content, a mechanism configured with executable code to automatically create a restricted access token for the process based on the restriction data, the restricted access token having reduced access relative to a parent token, and a security mechanism configured with executable code to determine access of the content's process to a resource by comparing information in the restricted access token to separately maintained security information currently associated with the resource.
Claim 29
Dependent Claim 14 words
The system of claim 26 wherein the content comprises data downloaded from a site.
Claim 30
Dependent Claim 28 words
The system of claim 27 wherein the site is an Internet site, and wherein the discrimination mechanism generates a restricted security identifier from information of the Internet site.
Claim 31
Dependent Claim 21 words
The system of claim 28 wherein the information of the Internet site comprises a binary certificate identifier of the Internet site.
Claim 32
Dependent Claim 32 words
The system of claim 28 wherein the information of the Internet site comprises a Uniform Resource Locator (URL), and further comprising a converter for converting the URL to the restricted security identifier.
Claim 33
Dependent Claim 14 words
The system of claim 30 wherein the converter includes a one-way cryptographic hash function.
Claim 34
Dependent Claim 13 words
The system of claim 26 wherein the content comprises an electronic mail message.
Claim 35
Dependent Claim 21 words
The system of claim 32 wherein the discrimination mechanism determines a restricted security identifier based on the sender of the message.
Claim 36
Dependent Claim 11 words
The system of claim 26 wherein the content comprises a script.
Claim 37
Dependent Claim 39 words
The system of claim 26 wherein the computer system comprises a server, and wherein a restricted security identifier is generated for a client connected to the server according to how the client was authenticated to connect to the server.
Claim 38
Dependent Claim 32 words
The system of claim 26 further comprising a helper process for extracting information associated with the content from the restricted access token and for accessing the resource on behalf of the process.
Claim 39
Dependent Claim 18 words
The system of claim 26 further comprising a job object, wherein the process runs in the job object.
Claim 40
Dependent Claim 30 words
The method of claim 26 wherein the restriction data corresponds to at least one restricted security identifier to add to the restricted access token relative to a parent access token.
Claim 41
Dependent Claim 28 words
The method of claim 26 wherein the restriction data corresponds to at least one privilege to remove from the restricted access token relative to a parent access token.
Claim 42
Dependent Claim 29 words
The method of claim 26 wherein the restriction data corresponds to at least one security identifier to modify in the restricted access token relative to a parent access token.
Claim 43
Dependent Claim 125 words
In a computer server, a system for restricting access of content to resources, comprising, content arranged in a web site, the content having a process set up therefor, a discrimination mechanism configured with executable code to determine at least one restricted security identifier based on information corresponding to the site, a mechanism configured with executable code to automatically derive from a parent token a restricted access token for the process by adding relative to the parent token the at least one restricted security identifier corresponding to the site to the restricted access token, and a security mechanism that determines access of the content's process to a resource by comparing information in the restricted access token to separately maintained security information currently associated with the resource.
Claim 44
Dependent Claim 125 words
In a computer server, a system for restricting access of content to resources, comprising, content arranged in a web site, the content having a process set up therefor, a discrimination mechanism configured with executable code to determine at least one restricted security identifier based on information corresponding to the site, a mechanism configured with executable code to automatically derive from a parent token a restricted access token for the process by adding relative to the parent token the at least one restricted security identifier corresponding to the site to the restricted access token, and a security mechanism that determines access of the content's process to a resource by comparing information in the restricted access token to separately maintained security information currently associated with the resource.
Claim 45
Independent Claim 103 words
A method comprising, automatically creating authorization data based on security information in a parent access token and restriction information available to a computer system; associating the authorization data with a process; receiving a request for access by the process to a selected resource; and in response to the request, comparing in a security environment the authorization data associated with the process against security information currently associated with the selected resource to determine whether to grant access of the process to the selected resource, the security information currently associated with the selected resource being maintained separately from the authorization data associated with the process.
Claim 46
Independent Claim 103 words
A method comprising, automatically creating authorization data based on security information in a parent access token and restriction information available to a computer system; associating the authorization data with a process; receiving a request for access by the process to a selected resource; and in response to the request, comparing in a security environment the authorization data associated with the process against security information currently associated with the selected resource to determine whether to grant access of the process to the selected resource, the security information currently associated with the selected resource being maintained separately from the authorization data associated with the process.
Claim 47
Dependent Claim 16 words
The method of claim 42 wherein the process restriction data is based on an application program.
Claim 48
Dependent Claim 16 words
The method of claim 42 wherein the process restriction data is based on a parent process.
Claim 49
Dependent Claim 15 words
The method of claim 42 wherein the process restriction data is based on a job.
Claim 50
Dependent Claim 15 words
The method of claim 42 wherein the process restriction data is based on a site.
Claim 51
Dependent Claim 16 words
The method of claim 42 wherein the authorization data further comprises user or group identity data.
Claim 52
Dependent Claim 12 words
The method of claim 42 wherein the authorization data includes certificate information.
Claim 53
Dependent Claim 49 words
The method of claim 42 wherein the authorization data is associated with the process via a restricted token, wherein the set of security information associated with the selected resource comprises an access control list, and wherein at least part of the security environment is incorporated into an operating system.
Claim 54
Dependent Claim 14 words
A computer-readable medium having computer-executable instructions for performing the method of claim 42 .

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-01-06 2006-07-08 2007-01-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-01-06 2010-07-08 2011-01-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-01-06 2014-07-08 2015-01-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag