IP Library Granted Patent US 9,390,262
Granted Patent B2
US 9,390,262 · App. 14/476,693 · Granted Jul 12, 2016

Method for protecting computer programs and data from hostile code

Inventor: Eyal Dotan (Bussy St. Georges, FR)
Assignee: TRUSTWARE 101 LIMITED
G06F21/554G06F21/52G06F21/53G06F21/54G06F21/566G06F21/6281G06F2221/034G06F2221/2113G06F2221/2141G06F2221/2149
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,390,262
App. No.
14/476,693
Granted
Jul 12, 2016
Kind
B2
Abstract

A method that protects computer data from untrusted programs. Each computer's object and process is assigned with trust attributes, which define the way it can interact with other objects within the system. When an object is classified as untrusted, it can interact with other object within the system on a limited basis. A virtualized system is provided on the computer so that when the untrusted object attempts to perform an operation that is outside its scope of authorization, the virtualized system intercepts the operation but present the untrusted program with an indication that the requested operation has been performed. The method further includes processes to securely move a program from an untrusted group to a trusted group.

Claims (68)

1. A computerized method of managing a computer's operation in a computer having a real directory and a virtual directory, and having an untrusted program executing in the virtual directory, the method comprising:

when the untrusted program attempts to delete a named file, performing the operations:

checking whether a delete operation on the named file has already been executed and, when so, returning a file not found indication;

otherwise:

when the named file exists in the real directory only, creating a deleted indicator and returning a success indication without deleting the named file;

when the named file exists in the virtual directory only, erasing the named file; and,

when the named file exists in both the real and virtual directories, creating a deleted indicator, erasing the named file from the virtual directory, and returning a success indication.

2. The computerized method of claim 1 , further comprising causing the computer to:

for each subsequent program that should not be allowed to run on the computer on an unlimited mode, create a subsequent virtual directory.

3. The computerized method of claim 2 , further comprising causing the computer to delete at least one subsequent virtual directory to return the computer to its original condition.

4. The computerized method of claim 1 , further comprising causing the computer to:

intercept a disallowed operation request sent from the untrusted program to the computer's operating system;

modify the operation request to obtain a modified operation request;

perform one of: execute the modified operation request or provide the modified operation request to the operating system;

send to the untrusted program an indication that the disallowed operation request has been performed as requested by the program.

5. The computerized method of claim 1 , further comprising causing the computer to:

intercept a disallowed operation request sent from the untrusted program to the computer's operating system; and,

perform one of:

execute the operation request without providing it to the operating system; or,

modify the operation request and provide the modified operation request to the operating system;

send to the untrusted program an indication that the disallowed operation request has been performed as requested by the program.

6. A computerized method of managing a computer's operation in a computer having a real directory and a virtual directory, and having an untrusted program executing in the virtual directory, the method, comprising:

when the untrusted program attempts to rename a named file, performing the operations:

when the named file exists in the real directory only, copying the named file into the virtual directory, renaming the named file in the virtual directory, and generating a deleted indicator for the named file,

when the named file exists in the virtual directory only, renaming the named file, and

when the named file exists in both the real and virtual directories, renaming the named file in the virtual directory, generating a delete indicator for the named file, and returning a success indication.

7. The computerized method of claim 6 , further comprising causing the computer to:

for each subsequent program that should not be allowed to run on the computer on an unlimited mode, create a subsequent virtual directory.

8. The computerized method of claim 7 , further comprising causing the computer to delete at least one subsequent virtual directory to return the computer to its original condition.

9. The computerized method of claim 6 , further comprising causing the computer to:

intercept a disallowed operation request sent from the untrusted program to the computer's operating system;

modify the operation request to obtain a modified operation request;

perform one of: execute the modified operation request or provide the modified operation request to the operating system;

send to the program an indication that the disallowed operation request has been performed as requested by the untrusted program.

10. The computerized method of claim 6 , further comprising causing the computer to:

intercept a disallowed operation request sent from the untrusted program to the computer's operating system; and,

perform one of:

execute the operation request without providing it to the operating system; or,

modify the operation request and provide the modified operation request to the operating system;

send to the untrusted program an indication that the disallowed operation request has been performed as requested by the program.

11. A computerized method of managing a computer's operation in a computer having a real directory and a virtual directory, and having an untrusted program executing in the virtual directory, the method, comprising:

when the untrusted program issues a file inquiry, checking whether:

the file exists in the virtual directory; and

the file exists in a real directory and no indication that a previous virtualized delete operation has been performed is found; and,

returning a true indication if either condition is satisfied; and,

further causing the computer to:

for each subsequent program that should not be allowed to run on the computer on an unlimited mode, create a subsequent virtual directory; and,

enabling a user to return the computer to its original condition by causing the computer to delete at least one subsequent virtual directory.

12. A computerized method of managing a computer's operation in a computer having a real directory and a virtual directory, and having an untrusted program executing in the virtual directory, the method, comprising:

when the untrusted program issues a file inquiry, checking whether:

the file exists in the virtual directory; and

the file exists in a real directory and no indication that a previous virtualized delete operation has been performed is found; and,

returning a true indication if either condition is satisfied; and, further comprising causing the computer to:

intercept a disallowed operation request sent from the untrusted program to the computer's operating system;

modify the operation request to obtain a modified operation request;

perform one of: execute the modified operation request or provide the modified operation request to the operating system;

send to the untrusted program an indication that the disallowed operation request has been performed as requested by the program.

13. A computerized method of managing a computer's operation in a computer having a real directory and a virtual directory, and having an untrusted program executing in the virtual directory, the method, comprising:

when the untrusted program issues a file inquiry, checking whether:

the file exists in the virtual directory; and

the file exists in a real directory and no indication that a previous virtualized delete operation has been performed is found; and,

returning a true indication if either condition is satisfied; and,

further comprising causing the computer to:

intercept a disallowed operation request sent from the untrusted program to the computer's operating system; and,

perform one of:

execute the operation request without providing it to the operating system; or,

modify the operation request and provide the modified operation request to the operating system;

send to the untrusted program an indication that the disallowed operation request has been performed as requested by the program.

Assignments (2)
CHANGE OF NAME Recorded Mar 31, 2017
From: TRUSTWARE 101 LIMITED
To: BUFFERZONE SECURITY LTD.
Reel/Frame 041812/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: DOTAN, EYAL
To: TRUSTWARE 101 LIMITED
Reel/Frame 034266/0289 →
Continuity (7)
Division 13937136 · Jul 8, 2013
Division 13316442 · Dec 9, 2011
Continuation 12553084 · Sep 2, 2009
Continuation 11141909 · Jun 2, 2005
Continuation In Part 10037560 · Jan 4, 2002
Provisional Application 60683211 · May 23, 2005
Related Publication 20140373181A1 · Dec 18, 2014