IP Library Granted Patent US 10,192,074
Granted Patent B2
US 10,192,074 · App. 15/798,482 · Granted Jan 29, 2019

Technique for data loss prevention through clipboard operations

Inventors: Sumit Manmohan Sarin (Maharashtra, IN); Sumant Modak (Pune, IN); Amit Shinde (Maharashtra, IN); Bishnu Chaturvedi (Pune, IN)
Assignee: Symantec Corporation
G06F21/6281
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 10,192,074
App. No.
15/798,482
Granted
Jan 29, 2019
Kind
B2
Abstract

Techniques describe preventing sensitive data from being misappropriated during a clipboard operation. A copy operation for data being copied to a clipboard is intercepted. Information describing a first application from which the data was copied is retrieved. The data and the information are stored into the clipboard. A paste operation is evaluated based on the data, and the information is evaluated against a policy to determine whether the paste operation should be blocked.

Claims (65)

1. A method for protecting against data loss events on a computing system in which applications execute in a sandboxed environment, comprising:

intercepting a first clipboard application programming interface (API) call performed by a runtime broker requesting that data from a first sandboxed application isolated from resources of the computing system and impersonated by the runtime broker be copied to a clipboard;

retrieving, from the runtime broker, information identifying the first sandboxed application from which the data is copied, wherein the information identifying the first sandboxed application includes a process ID of the first sandboxed application;

storing the data and the information identifying the first sandboxed application into the clipboard;

intercepting a second clipboard API call performed by the runtime broker requesting that a paste operation be executed to paste the data into a second sandboxed application isolated from the resources of the computing system and impersonated by the runtime broker;

retrieving information identifying the second sandboxed application, wherein the information identifying the second sandboxed application includes a process ID of the second sandboxed application;

comparing the information identifying the second application to the information identifying the first application; and

taking one or more actions to control execution of the paste operation based at least in part on the comparison, wherein the one or more actions comprise:

allowing the paste operation to execute based on the comparison indicating that the information identifying the first application and the information identifying the second application match;

allowing the paste operation to execute based on the comparison indicating that the information identifying the first application and the information identifying the second application do not match and on a determination that the data does not correspond to sensitive data under a policy; or

blocking the paste operation based on the comparison indicating that the information identifying the first application and the information identifying the second application do not match and on a determination that the data corresponds to sensitive data under the policy.

2. The method of claim 1 , wherein the one or more actions further comprise:

determining that the information identifying the second application does not match the information identifying the first application; and

determining whether the paste operation is user-initiated or application-initiated.

3. The method of claim 2 , further comprising:

upon determining that the paste operation is application-initiated, blocking the data from being pasted.

4. The method of claim 2 , further comprising:

upon determining the paste operation is user-initiated, determining that the data includes sensitive data based on the policy; and

blocking the paste operation.

5. The method of claim 1 , wherein comparing the information identifying the second application to the information identifying the first application comprises:

comparing the process ID of the first application to the process ID of the second application.

6. A non-transitory computer-readable medium storing instructions thereon which, when executed on a processor, perform operations for protecting against data loss events on a computing system in which applications execute in a sandboxed environment, the operations comprising:

intercepting a first clipboard application programming interface (API) call performed by a runtime broker requesting that data from a first sandboxed application isolated from resources of the computing system and impersonated by the runtime broker be copied to a clipboard;

retrieving, from the runtime broker, information identifying the first sandboxed application from which the data is copied, wherein the information identifying the first sandboxed application includes a process ID of the first sandboxed application;

storing the data and the information identifying the first sandboxed application into the clipboard;

intercepting a second clipboard API call performed by the runtime broker requesting that a paste operation be executed to paste the data into a second sandboxed application isolated from the resources of the computing system and impersonated by the runtime broker;

retrieving information identifying the second sandboxed application, wherein the information identifying the second sandboxed application includes a process ID of the second sandboxed application;

comparing the information identifying the second application to the information identifying the first application; and

taking one or more actions to control execution of the paste operation based at least in part on the comparison, wherein the one or more actions comprise:

allowing the paste operation to execute based on the comparison indicating that the information identifying the first application and the information identifying the second application match;

allowing the paste operation to execute based on the comparison indicating that the information identifying the first application and the information identifying the second application do not match and on a determination that the data does not correspond to sensitive data under a policy; or

blocking the paste operation based on the comparison indicating that the information identifying the first application and the information identifying the second application do not match and on a determination that the data corresponds to sensitive data under the policy.

7. The non-transitory computer-readable medium of claim 6 , wherein the one or more actions further comprise:

determining that the information identifying the second application does not match the information identifying the first application; and

determining whether the paste operation is user-initiated or application-initiated.

8. The non-transitory computer-readable medium of claim 7 , wherein the operations further comprise:

upon determining that the paste operation is application-initiated, blocking the data from being pasted.

9. The non-transitory computer-readable medium of claim 7 , wherein the operations further comprise:

upon determining the paste operation is user-initiated, determining that the data includes sensitive data based on the policy; and

blocking the paste operation.

10. The non-transitory computer-readable medium of claim 6 , wherein comparing the information identifying the second application to the information identifying the first application comprises:

comparing the process ID of the first application to the process ID of the second application.

11. A computing system comprising:

a processor; and

a memory storing program code which, when executed on the processor, performs operations for protecting against data loss events on the computing system in which applications execute in a sandboxed environment, the operations comprising:

intercepting a first clipboard application programming interface (API) call performed by a runtime broker requesting that data from a first sandboxed application isolated from resources of the computing system and impersonated by the runtime broker be copied to a clipboard;

retrieving, from the runtime broker, information identifying the first sandboxed application from which the data is copied, wherein the information identifying the first sandboxed application includes a process ID of the first sandboxed application;

storing the data and the information identifying the first sandboxed application into the clipboard;

intercepting a second clipboard API call performed by the runtime broker requesting that a paste operation be executed to paste the data into a second sandboxed application isolated from the resources of the computing system and impersonated by the runtime broker;

retrieving information identifying the second sandboxed application, wherein the information identifying the second sandboxed application includes a process ID of the second sandboxed application;

comparing the information identifying the second application to the information identifying the first application; and

taking one or more actions to control execution of the paste operation based at least in part on the comparison, wherein the one or more actions comprise:

allowing the paste operation to execute based on the comparison indicating that the information identifying the first application and the information identifying the second application match;

allowing the paste operation to execute based on the comparison indicating that the information identifying the first application and the information identifying the second application do not match and on a determination that the data does not correspond to sensitive data under a policy; or

blocking the paste operation based on the comparison indicating that the information identifying the first application and the information identifying the second application do not match and on a determination that the data corresponds to sensitive data under the policy.

12. The computing system of claim 11 , wherein the one or more actions further comprise:

determining that the information identifying the second application does not match the information identifying the first application; and

determining whether the paste operation is user-initiated or application-initiated.

13. The computing system of claim 12 , wherein the operations further comprise:

upon determining that the paste operation is application-initiated, blocking the data from being pasted.

14. The computing system of claim 12 , wherein the operations further comprise:

upon determining the paste operation is user-initiated, determining that the data includes sensitive data based on the policy; and

blocking the paste operation.

15. The computing system of claim 11 , wherein comparing the information identifying the second application to the information identifying the first application comprises:

comparing the process ID of the first application to the process ID of the second application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 043988 FRAME: 0477. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Nov 1, 2017
From: SARIN, SUMIT MANMOHAN; MODAK, SUMANT; SHINDE, AMIT; CHATURVEDI, BISHNU
To: SYMANTEC CORPORATION
Reel/Frame 044346/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: SARIN, SUMIT MANMOHAN; MODAK, SUMANT; SHINDE, AMIT; CHATURVEDI, BISHNU
To: INTUIT, INC.
Reel/Frame 043988/0477 →
Priority Claims (1)
IN 1713/CHE/2015 · Mar 31, 2015 · national
Continuity (2)
Continuation 14687825 · Apr 15, 2015
Related Publication 20180053015A1 · Feb 22, 2018