Securing data on untrusted devices
First Claim
Patent Images
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 Assignments
0 Petitions
Accused Products
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.
-
Citations
16 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
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. - View Dependent Claims (8, 9, 10, 11)
-
-
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. - View Dependent Claims (13, 14, 15, 16)
-
Specification