IP Library Granted Patent US 9,536,083
Granted Patent B2
US 9,536,083 · App. 14/724,495 · Granted Jan 3, 2017

Securing data on untrusted devices

Inventor: Robert Scott Chapman, III (Lewisville, NC)
Assignee: Senteon LLC
G06F21/53G06F9/45558G06F21/604G06F21/62G06F21/6218G06F2009/45587G06F2221/032G06F2221/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,536,083
App. No.
14/724,495
Granted
Jan 3, 2017
Kind
B2
Abstract

One example method for securing data on untrusted devices includes the steps of identifying, by a first process, a command in a command queue, the command from a second process and comprising an action on secure data; determining whether the command is permitted based on the action and a user credential; and responsive to determining the command is not permitted, removing, by the first process, the command from the command queue.

Claims (55)

1. A method comprising:

monitoring, by a first process executing on an operating system on a computing device, commands in an operating system command queue of the operating system,

identifying, by the first process without stopping the operating system command queue, a command from a second process based on the monitoring, the command indicating an action on secure data, the identifying before the operating system obtains the command from the operating system command queue for execution, the second process executing on the operating system on the computing device, wherein identifying the command comprises:

identifying an entry in the operating system command queue associated with a secure storage location,

identifying a path on a computer-readable medium for the secure storage location or a process identifier of a software application accessing the secure data; and

identifying the software application based on the entry;

while the command remains in the operating system command queue, determining whether the command is permitted based on the action and a user credential, wherein the determining comprises:

accessing an access rules data store comprising one or more rules associated with commands or user credentials;

determining whether the command is permitted based on the command and the one or more rules; and

providing an indication of whether the command is permitted or not; and

responsive to the indication that the command is not permitted, removing, by the first process, the command from the operating system command queue before the operating system obtains the command from the operating system command queue for execution, the removing preventing the operating system from executing the command.

2. The method of claim 1 , wherein the secure storage location comprises a separately-mountable partition of a computer-readable medium.

3. The method of claim 1 , wherein the secure data comprises data stored within a secure storage location, and wherein identifying the command comprises identifying an entry in the operating system command queue associated with a process identifier of a process accessing the secure data.

4. The method of claim 1 , further comprising, responsive to determining the command is permitted, not removing the command from the operating system command queue.

5. The method of claim 1 , wherein the command comprises at least one of a save command, a “save as” command, an open command, a move command, a rename command, a print command, a copy command, a cut command, a paste command, an email command, a screenshot command, a rename command, or a share command.

6. The method of claim 1 , wherein determining whether the command is permitted based on the action and a user credential further comprises

determining a process identifier (process ID) of the second process;

determining a process ID of a third process based on the command, the process ID of the second process associated with the process ID of the third process; and

determining whether the command is permitted based on the command, the association between the process ID of the second process and the process ID of the third process, and the one or more rules.

7. A device comprising:

a non-transitory computer-readable medium;

an operating system;

a processor in communication with the non-transitory computer readable medium, the processor configured to:

execute the operating system;

monitor, by a first process executed by the processor on the operating system, an operating system command queue to identify commands from other processes executed by the processor on the operating system, at least one of the commands indicating an action on secure data;

identify, by the first process without stopping the command queue, a command from a second process based on the monitoring, the command indicating an action on secure data, the identifying before the operating system obtains the command from the operating system command queue for execution, the second process executed by the processor on the operating system, wherein the processor is configured to, to identify the operating system command queue:

identify an entry in the operating system command queue associated with a secure storage location,

identify a path on a computer-readable medium for the secure storage location or a process identifier of a software application accessing the secure data; and

identify the software application based on the entry,

access an access rules data store comprising one or more access rules to determine whether the at least one command is permitted, the one or more access rules associated with commands or user credentials;

while the command remains in the operating system command queue, determine whether the command is permitted based on the command and the one or more access rules;

provide an indication of whether the command is permitted or not; and

responsive to the indication that the command is not permitted, remove the command from the operating system command queue before the operating system obtains the command from the operating system command queue for execution, the removing preventing the operating system from executing the command.

8. The device of claim 7 , wherein the secure storage location comprises a separately-mountable partition of a computer-readable medium.

9. The device of claim 7 , wherein the secure data comprises data stored within a secure storage location, and wherein the processor is further configured to identify an entry in the operating system command queue associated with a process identifier of a process accessing the secure data to identify the command.

10. The device of claim 7 , wherein the processor is further configured to not remove the command from the operating system command queue if the command is permitted.

11. The device of claim 7 , wherein the command comprises at least one of a save command, a “save as” command, an open command, a move command, a rename command, a print command, a copy command, a cut command, a paste command, an email command, a screenshot command, a rename command, or a share command.

12. A non-transitory computer-readable medium comprising program code, the program code comprising monitoring software and access rules software executable by a processor, the monitoring software configured to:

monitor, by a first process executing on an operating system on a computing device an operating system command queue to identify commands from other processes executed by the processor on the operating system;

identify, by the first process without stopping the operating system command queue, a command from a second process based on the monitoring, the command-indicating an action on secure data, the identifying before the operating system obtains the command from the operating system command queue for execution, the second process executed by the computing device on the operating system, the monitoring software configured to, to identify the command:

identify an entry in the operating system command queue associated with a secure storage location,

identify a path on a computer-readable medium for the secure storage location or a process identifier of a software application accessing the secure data; and

identify the software application based on the entry;

while the command remains in the operating system command queue,

transmit a request to determine whether the command is permitted; and

responsive to a response to the request indicating that the command is not permitted, remove the command from the operating system command queue before the operating system obtains the command from the operating system command queue for execution, the removing preventing the operating system from executing the command; and

the access rules software configured to:

access an access rules data store, the access rules data store configured to store one or more rules associated with commands or user credentials;

receive requests to determine whether commands associated with the requests are permitted;

determine whether the commands are permitted based on the respective request and the one or more rules; and

transmit a response message to the respective request.

13. The non-transitory computer-readable medium of claim 12 , wherein the secure storage location comprises a separately-mountable partition of a computer-readable medium.

14. The non-transitory computer-readable medium of claim 12 , wherein the secure data comprises data stored within a secure storage location, and wherein the monitoring software is further configured to identify an entry in the operating system command queue associated with a process identifier of a process accessing the secure data to identify the command.

15. The non-transitory computer-readable medium of claim 12 , wherein the monitoring software is further configured to, responsive to a determination that the command is permitted, not remove the command from the operating system command queue.

16. The non-transitory computer-readable medium of claim 12 , wherein the command comprises at least one of a save command, a “save as” command, an open command, a move command, a rename command, a print command, a copy command, a cut command, a paste command, an email command, a screenshot command, a rename command, or a share command.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2018
From: SENTEON LLC
To: SV CAPITAL, LLC
Reel/Frame 047327/0071 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2015
From: CHAPMANN, ROBERT SCOTT, III
To: SENTEON LLC
Reel/Frame 036904/0772 →
Continuity (2)
Continuation 14588779 · Jan 2, 2015
Related Publication 20160196424A1 · Jul 7, 2016