IP Library Granted Patent US 8,862,752
Granted Patent B2
US 8,862,752 · App. 11/734,062 · Granted Oct 14, 2014

System, method, and computer program product for conditionally preventing the transfer of data based on a location thereof

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 8,862,752
App. No.
11/734,062
Granted
Oct 14, 2014
Kind
B2
Abstract

A system, method, and computer program product are provided for conditionally preventing the transfer of data. In use, a request to transfer data is identified. In addition, a location of the data is determined. Further, the transfer of the data is conditionally prevented based on the location.

Claims (64)

1. A computer-implemented method, comprising:

identifying, by a processor, a request from a remote computer to transfer data over a network connection;

determining, by the processor, a location from which the data is sought to be transferred;

comparing, by the processor, the location of the data to a list of predefined locations for which data transfers are allowed;

identifying, by the processor, a destination address to which the data is sought to be transferred;

comparing, by the processor, the destination address to the list of predefined locations for which data transfers are allowed;

calculating, by the processor, a hash of the data; and

preventing, by the processor, the transfer of the data if both the location from which the data is sought to be transferred and the destination address to which the data is sought to be transferred are not in the list of predefined locations for which data transfers are allowed, wherein the preventing the transfer of the data prevents data leakage of confidential information.

2. The method of claim 1 , wherein the request includes a request to transfer the data from a first location to a second different location.

3. The method of claim 1 , wherein the request includes a request to copy the data from a first location and store the copy of the data in a second different location.

4. The method of claim 1 , wherein the request to transfer the data is initiated by an application.

5. The method of claim 1 , wherein the transfer of the data is prevented if the location of the data includes a protected location.

6. The method of claim 1 , wherein the transfer of the data is allowed if the location of the data includes an unprotected location.

7. The method of claim 1 , wherein the transfer of the data is conditionally prevented based on at least one rule associated with the location of the data.

8. The method of claim 1 , wherein the request to transfer the data is identified utilizing a data transfer controller.

9. The method of claim 8 , wherein the data transfer controller is located at a data access point of a device in which the data is located.

10. The method of claim 1 , further comprising generating, by the processor, metadata associated with the data.

11. The method of claim 1 , further comprising comparing, by the processor, the hash to a plurality of predetermined hashes.

12. The method of claim 1 , wherein the location of the data is determined based, at least, on metadata, wherein the metadata includes the location of the data, a size of the data, an inode of the data, a type of the data, open modes of the data, and portions of the data previously accessed.

13. The method of claim 1 , wherein the location of the data is determined based, at least, on metadata, wherein the metadata identifies at least one of a protected location in which the data requested to be transferred is located, and an unprotected location in which the data requested to be transferred is located.

14. The method of claim 1 , wherein a metadata generator located at a data access point of an operating system kernel intercepts the request to transfer the data and generates metadata.

15. The method of claim 14 , wherein the metadata generator transmits the metadata to a metadata repository that includes a database, and the metadata repository stores the metadata in the database in association with a unique identifier of the data.

16. A computer program product embodied on a non-transitory tangible computer readable medium for performing operations, comprising:

identifying a request from a remote computer to transfer data;

determining a location from which the data is sought to be transferred;

comparing the location of the data to a list of predefined locations for which data transfers are allowed;

identifying a destination address to which the data is sought to be transferred;

comparing the destination address to the list of predefined locations for which data transfers are allowed;

calculating a hash of the data; and

preventing the transfer of the data if both the location from which the data is sought to be transferred and the destination address to which the data is sought to be transferred are not in the list of predefined locations for which data transfers are allowed, wherein the preventing the transfer of the data prevents data leakage of confidential information.

17. The computer program product of claim 16 , wherein the request includes a request to transfer the data from a first location to a second different location.

18. The computer program product of claim 16 , wherein the request includes a request to copy the data from a first location and store the copy of the data in a second different location.

19. The computer program product of claim 16 , wherein the transfer of the data is prevented if the location of the data includes a protected location.

20. The computer program product of claim 16 , wherein the transfer of the data is allowed if the location of the data includes an unprotected location.

21. The computer program product of claim 16 , wherein the transfer of the data is conditionally prevented based on at least one rule associated with the location of the data.

22. The computer program product of claim 16 , the operations further comprising generating metadata associated with the data.

23. The computer program product of claim 16 , the operations further comprising comparing the hash to a plurality of predetermined hashes.

24. The computer program product of claim 16 , wherein the location of the data is determined based, at least, on metadata, wherein the metadata includes the location of the data, a size of the data, an inode of the data, a type of the data, open modes of the data, and portions of the data previously accessed.

25. The computer program product of claim 16 , wherein the location of the data is determined based, at least, on metadata, wherein the metadata identifies at least one of a protected location in which the data requested to be transferred is located, and an unprotected location in which the data requested to be transferred is located.

26. A system, comprising:

a memory; and

a processor coupled to the memory, the processor for performing operations associated with the system, including:

identifying a request from a remote computer to transfer data over a network connection;

determining a location from which the data is sought to be transferred;

comparing the location of the data to a list of predefined locations for which data transfers are allowed;

identifying a destination address to which the data is sought to be transferred;

comparing the destination address to the list of predefined locations for which data transfers are allowed;

calculating a hash of the data; and

preventing the transfer of the data if both the location from which the data is sought to be transferred and the destination address to which the data is sought to be transferred are not in the list of predefined locations for which data transfers are allowed, wherein the preventing the transfer of the data prevents data leakage of confidential information.

27. The system of claim 26 , further comprising the memory coupled to the processor via a bus.

28. The system of claim 26 , wherein the request includes a request to transfer the data from a first location to a second different location.

29. The system of claim 26 , wherein the request includes a request to copy the data from a first location and store the copy of the data in a second different location.

30. The system of claim 26 , wherein the request to transfer the data is initiated by an application.

31. The system of claim 26 , wherein the transfer of the data is prevented if the location of the data includes a protected location.

32. The system of claim 26 , wherein the transfer of the data is allowed if the location of the data includes an unprotected location.

33. The system of claim 26 , wherein the transfer of the data is conditionally prevented based on at least one rule associated with the location of the data.

34. The system of claim 26 , wherein the request to transfer the data is identified utilizing a data transfer controller.

35. The system of claim 34 , wherein the data transfer controller is located at a data access point of a device in which the data is located.

36. The system of claim 26 , the operations further comprising generating metadata associated with the data.

37. The system of claim 26 , the operations further comprising comparing the hash to a plurality of predetermined hashes.

38. The system of claim 26 , wherein the location of the data is determined based, at least, on metadata, wherein the metadata includes the location of the data, a size of the data, an inode of the data, a type of the data, open modes of the data, and portions of the data previously accessed.

39. The system of claim 26 , wherein the location of the data is determined based, at least, on metadata, wherein the metadata identifies at least one of a protected location in which the data requested to be transferred is located, and an unprotected location in which the data requested to be transferred is located.

40. The system of claim 26 , wherein a metadata generator located at a data access point of an operating system kernel intercepts the request to transfer the data and generates metadata.

41. The system of claim 40 , wherein the metadata generator transmits the metadata to a metadata repository that includes a database, and the metadata repository stores the metadata in the database in association with a unique identifier of the data.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2007
From: DAS, SUDEEP; PARANJAPE, SAMEER SHASHIKANT; SHARMA, PRAMOD
To: MCAFEE, INC.
Reel/Frame 019156/0151 →