IP Library Granted Patent US 10,264,014
Granted Patent B2
US 10,264,014 · App. 14/928,512 · Granted Apr 16, 2019

Systems and user interfaces for dynamic and interactive investigation based on automatic clustering of related data in various data structures

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,264,014
App. No.
14/928,512
Granted
Apr 16, 2019
Kind
B2
Abstract

In various embodiments, systems, methods, and techniques are disclosed for generating a collection of clusters of related data from a seed. Seeds may be generated based on seed generation strategies or rules. Clusters may be generated by, for example, retrieving a seed, adding the seed to a first cluster, retrieving a clustering strategy or rules, and adding related data and/or data entities to the cluster based on the clustering strategy. Various cluster scores may be generated based on attributes of data in a given cluster. Further, cluster metascores may be generated based on various cluster scores associated with a cluster. Clusters may be ranked based on cluster metascores. Various embodiments may enable an analyst to discover various insights related to data clusters, and may be applicable to various tasks including, for example, tax fraud detection, beaconing malware detection, malware user-agent detection, and/or activity trend detection, among various others.

Claims (53)

1. A computer-implemented method comprising:

generating, based on a plurality of captured communications, a filtered collection of captured communications by selecting captured communications that include a user-agent string and removing captured communications with destinations on an approved list of destinations, wherein the approved list of destinations indicate destinations that are unlikely to be related to malware activity;

determining, based on the filtered collection of captured communications, a first set of captured communications associated with a test time period and a second set of captured communications associated with a reference time period;

identifying a first captured communication in the first set that is not included among the second set of captured communications, wherein the first captured communication indicates a new user-agent string not previously associated with the reference time period; and

designating the new user-agent string as a seed; and

generating a data item cluster based on the seed, wherein generating the data item cluster comprises:

adding the seed to the data item cluster; and

adding to the data item cluster one or more user-agent-related data items determined to be associated with the seed, wherein the one or more user-agent-related data items comprises information associated with a computing device.

2. The computer-implemented method of claim 1 , wherein the one or more user-agent-related data items further include at least one of: a user of a particular computing device, an internal Internet Protocol address, an external Internet Protocol address, an external domain, an internal computing device, an external computing device, or a host-based event.

3. The computer-implemented method of claim 2 , further comprising:

identifying the one or more user-agent-related data items based at least on a clustering strategy, wherein the clustering strategy queries one or more cluster data sources to determine at least one of: originating host or destination computing devices associated with the seed, users of originating host computing devices, intrusion prevention system alerts associated with originating host computing devices, internal Internet Protocol addresses associated with originating host computing devices, external Internet Protocol addresses associated with destination computing devices, or external domains associated with the first captured communication.

4. The computer-implemented method of claim 1 , further comprising:

determining a score for the data item cluster; and

causing presentation of the data item cluster and the score in a user interface of a client computing device.

5. The computer-implemented method of claim 1 , wherein generating, based on the plurality of captured communications, the filtered collection of captured communications further includes removing captured communications with respective user-agent strings on an approved list of user-agent strings, wherein the approved list of user-agent strings indicate communications that are unlikely to be related to malware activity.

6. The computer-implemented method of claim 1 , wherein generating, based on the plurality of captured communications, the filtered collection of captured communications further includes removing captured communications associated with a particular external computer system, wherein the particular external computer system is unlikely to be related to malware activity.

7. The computer-implemented method of claim 1 , further comprising:

identifying a quantity of appearances of the new user-agent string in corresponding captured communications among the first set of captured communications; and

determining the quantity is below a predetermined threshold.

8. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by a computer system, configure the computer system to perform operations comprising:

generating, based on a plurality of captured communications, a filtered collection of captured communications by selecting captured communications that include a user-agent string and removing captured communications with respective user-agent strings on an approved list of user-agent strings, wherein the approved list of destinations indicate destinations that are unlikely to be related to malware activity;

determining, based on the filtered collection of captured communications, a first set of captured communications associated with a test time period and a second set of captured communications associated with a reference time period;

identifying a first captured communication in the first set that is not included among the second set of captured communications, wherein the first captured communication indicates a new user-agent string not previously associated with the reference time period; and

designating the new user-agent string as a seed; and

generating a data item cluster based on the seed, wherein generating the data item cluster comprises:

adding the seed to the data item cluster; and

adding to the data item cluster one or more user-agent-related data items determined to be associated with the seed, wherein the one or more user-agent-related data items comprises information associated with a computing device.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the one or more user-agent-related data items further include at least one of: a user of a particular computing device, an internal Internet Protocol address, an external Internet Protocol address, an external domain, an internal computing device, an external computing device, or a host-based event.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the computer-executable instructions further configure the computer system to perform operations comprising:

determining a score for the data item cluster; and

causing presentation of the data item cluster and the score in a user interface of a client computing device.

11. The non-transitory computer-readable storage medium of claim 8 , wherein generating, based on the plurality of captured communications, the filtered collection of captured communications further includes removing captured communications with destinations on an approved list of destinations, wherein the approved list of destinations indicate destinations that are unlikely to be related to malware activity.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the computer-executable instructions further configure the computer system to perform operations comprising: identifying a quantity of appearances of the new user-agent string in corresponding captured communications among the first set of captured communications; and determining the quantity is below a predetermined threshold.

13. A computer system comprising:

one or more computer readable storage devices configured to store:

a plurality of captured communications between an internal network and an external network; and

a plurality of user-agent-related data items, wherein a data item of the plurality of user-agent-related data items comprises information associated with a computing device;

one or more hardware computer processors in communication with the one or more computer readable storage devices and configured to execute computer executable instructions in order to cause the one or more hardware computer processors to:

generate, based on the plurality of captured communications, a filtered collection of captured communications by selecting captured communications that include a user-agent string;

determine, based on the filtered collection of captured communications, a first set of captured communications associated with a test time period and a second set of captured communications associated with a reference time period;

identify a first captured communication in the first set that is not included among the second set of captured communications, wherein the first captured communication indicates a new user-agent string not previously associated with the reference time period; and

designate the new user-agent string as a seed; and

generate a data item cluster based on the seed, wherein generating the data item cluster comprises:

adding the seed to the data item cluster; and

adding to the data item cluster one or more user-agent-related data items from the plurality of user-agent-related data items determined to be associated with the seed.

14. The computer system of claim 13 , wherein the plurality of user-agent-related data items include at least one of: a user of a particular computing device, an internal Internet Protocol address, an external Internet Protocol address, an external domain, an internal computing device, an external computing device, or a host-based event.

15. The computer system of claim 13 , wherein the one or more hardware computer processors are further configured to cause presentation of the data item cluster in a user interface of a client computing device.

16. The computer system of claim 13 , wherein generating, based on the plurality of captured communications, the filtered collection of captured communications further includes removing captured communications with destinations on an approved list of destinations, wherein the approved list of destinations indicate destinations that are unlikely to be related to malware activity.

17. The computer system of claim 13 , wherein generating, based on the plurality of captured communications, the filtered collection of captured communications further includes removing captured communications with respective user-agent strings on an approved list of user-agent strings, wherein the approved list of user-agent strings indicate communications that are unlikely to be related to malware activity.

18. The computer system of claim 13 , wherein generating, based on the plurality of captured communications, the filtered collection of captured communications further includes removing captured communications associated with a particular external computer system, wherein the particular external computer system is unlikely to be related to malware activity.

19. The computer system of claim 13 , wherein the one or more hardware computer processors are further configured to:

identify a quantity of appearances of the new user-agent string in corresponding captured communications among the first set of captured communications; and

determine the quantity is below a predetermined threshold.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2018
From: STOWE, GEOFF; SINGH, HARKIRAT; BACH, STEFAN; SPRAGUE, MATTHEW; KROSS, MICHAEL; BOROCHOFF, ADAM; MENON, PARVATHY; HARRIS, MICHAEL
To: PALANTIR TECHNOLOGIES, INC.
Reel/Frame 047601/0247 →
Cited By (1)
US 12,238,136