IP Library Granted Patent US 10,389,745
Granted Patent B2
US 10,389,745 · App. 15/750,236 · Granted Aug 20, 2019

System and methods for detecting bots real-time

Inventors: Abdullah Mueen (Albuquerque, NM); Nikan Chavoshi (Albuquerque, NM)
Assignee: STC.UNM
H04L63/1425G06F16/2255G06F21/577G06Q50/01H04L63/1408G06F2221/034H04L2463/144
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,389,745
App. No.
15/750,236
Granted
Aug 20, 2019
Kind
B2
Abstract

Bots are detected real-time by correlating activity between users using a lag-sensitive hashing technique that captures warping-invariant correlation. Correlated users groups in social media may be found that represent bot behavior with thousands of bot accounts detected in a couple of hours.

Claims (86)

1. A system for detecting bot accounts comprising:

a collector component configured to collect activity data for each user account and form a first activity time series based on the collected activity data for the each user account;

an indexer component configured to hash each of the first activity time series to identify one or more suspicious users based on the collected activity data;

a listener component configured to monitor activity data of the one or more identified suspicious users, wherein the listener component forms a second activity time series of all the monitored activity data for each of the one or more identified suspicious users, the listener component further configured to filter the one or more identified suspicious users for those with the second activity time series having less than a specific number of activities; and

a validator component configured to ascertain one or more bot accounts of the one or more filtered suspicious users with the monitored activity data that forms part of a cluster.

2. The system for detecting bot accounts according to claim 1 , wherein the collector component collects the activity data based on a predefined keyword appearing within a stream of social activities in real-time.

3. The system for detecting bot accounts according to claim 1 , wherein the indexer component takes the first activity time series of each user account and hashes using a lag-sensitive hash function the first activity time series into multiple hash buckets with the one or more identified suspicious users defined as qualified users colliding in a qualified hash bucket.

4. The system for detecting bot accounts according to claim 3 , wherein the qualified users are those that have more than

w

4

occurrences, wherein w represents a user given parameter of a maximum allowable lag.

5. The system for detecting bot accounts according to claim 3 , wherein qualified hash buckets are those that have more than

w

4

qualified users, wherein w represents a user given parameter of a maximum allowable lag.

6. The system for detecting bot accounts according to claim 3 , wherein the hash function is:

h l ( x,r )= H (ρ xr ( m+l ))

with h representing a bucket index, x representing the first time series of each signal with a length m, r representing a randomly picked reference of a same length, ρ xr representing cross-correlation between x and r at lag l, H is a function converting the cross-correlation into an index to a bucket in a hash table with B representing a number of buckets in a hash structure.

7. The system for detecting bot accounts according to claim 1 , wherein the validator component validates the one or more identified suspicious users as true or false based upon a pair-wise Dynamic Time Warping (DTW) distance matrix and a hierarchical clustering algorithm over the one or more identified suspicious users.

8. The system for detecting bot accounts according to claim 1 , wherein the specific number of activities is less than 10 activities.

9. A process for detecting bot accounts comprising the steps of:

collecting by a collector component activity data, wherein the collecting step further comprises the steps of:

gathering activity data of one or more users matching a set of terms for a defined time period,

filtering the one or more users by removing those users with the gathered activity data consisting of one instance of a term,

forming filtered data as a set of activity time series of all remaining users responsive to the filtering, and

passing the filtered data to an indexer component;

identifying by the indexer component one or more suspicious users by hashing each activity time series of the set of activity time series;

monitoring by a listener component activity data including the collected activity data of the one or more identified suspicious users; and

ascertaining by a validator component the monitored activity data forming part of a cluster to identify one or more bot accounts of the one or more identified suspicious users.

10. The process for detecting bot accounts according to claim 9 , wherein the identifying step further comprises the steps of:

receiving by the indexer component the filtered data;

selecting a reference activity time series randomly from the set of activity time series;

calculating a cross-correlation between each activity time series of the set activity time series and the reference activity time series;

determining one or more hash buckets for each activity time series of the set of activity time series; and

finding qualified suspicious users within each hash bucket of the determined one or more hash buckets.

11. The process for detecting bot accounts according to claim 10 , wherein the qualified suspicious users have more than

w

4

occurrences in a hash bucket, with w representing a user given parameter of a maximum allowable lag.

12. The process for detecting bot accounts according to claim 9 , wherein the monitoring step further comprises the steps of:

receiving all activities or actions of the one or more identified suspicious users over a period of time;

reviewing all activities of the one or more identified suspicious users;

logging one or more actions of the one or more identified suspicious users;

forming an activity time series of the one or more identified suspicious users; and

filtering the one or more identified suspicious users for those with less than a specific number of activities.

13. The process for detecting bot accounts according to claim 9 , wherein the ascertaining step further comprises the steps of:

checking the one or more identified suspicious users to remove false positives;

calculating a pair-wise Dynamic time Warping (DTW) distance matrix over a set of users;

clustering hierarchically the set of users to a restricted distance cutoff;

ignoring each singleton user as a false positive; and

identifying connected clusters as bots.

14. A system for detecting bot accounts comprising:

a collector component configured to collect activity data from a set of users to form an activity time series for each user of the set of users;

an indexer component configured to identify one or more suspicious users by hashing the activity time series for each user of the set of users;

a listener component configured to monitor activities of the one or more identified suspicious users; and

a validator component configured to ascertain one or more bot accounts of the one or more identified suspicious users identified by the monitored activities that form a part of a cluster, wherein the validator component identifies the bot accounts as true or false based upon a pair-wise Dynamic Time Warping (DTW) distance matrix and a hierarchical clustering algorithm over the one or more identified suspicious users.

15. The system for detecting bot accounts according to claim 14 , wherein the listener component forms an activity time series of each of the one or more identified suspicious users and the one or more identified suspicious users are filtered for those with less than a specific number of activities.

16. The system for detecting bot accounts according to claim 14 , wherein the collector component collects the activity data based on a predefined keyword appearing within a stream of social activities in real-time.

17. The system for detecting bot accounts according to claim 14 , wherein the indexer component takes the activity time series of each user of the set of users and hashes using a lag-sensitive hash function the activity time series of each user of the set of users into multiple hash buckets with the one or more identified suspicious users defined as qualified users colliding in a qualified hash bucket.

18. A process for detecting bot accounts comprising the steps of:

collecting by a collector component activity data from one or more users to form a set of activity time series for each user of the one or more users;

identifying by an indexer component one or more suspicious users by hashing the set of activity time series for each user of the one or more users, wherein the hashing step further comprises the steps of:

receiving by the indexer component the set of activity time series for each user of the one or more users,

selecting a reference activity time series randomly from the set of activity time series for each user of the one or more users,

calculating a cross-correlation between each activity time series of the set of activity time series for each user of the one or more users and the selected reference activity time series,

determining one or more hash buckets for each activity time series of the set of activity time series for each user of the one or more users, and

finding qualified suspicious users within each hash bucket of the determined one or more hash buckets;

monitoring by a listener component activity data of the one or more identified suspicious users; and

ascertaining by a validator component the monitored activity data forming part of a cluster to identify one or more bot accounts of the one or more identified suspicious users.

19. The process for detecting bot accounts according to claim 18 , wherein the collecting step further comprises the steps of:

gathering the activity data of the one or more users matching a set of terms for a defined time period;

filtering the one or more users by removing those users with the gathered activity data consisting of one instance of a term;

forming filtered data as a set of activity time series of all remaining users responsive to the filtering; and

passing filtered data to the indexer component.

20. The process for detecting bot accounts according to claim 18 , wherein the monitoring step further comprises the steps of:

receiving all activities or actions of the one or more identified suspicious users over a period of time;

reviewing all activities of the one or more identified suspicious users;

logging one or more actions of the one or more identified suspicious users;

forming an activity time series of the one or more identified suspicious users; and

filtering the one or more identified suspicious users for those with less than a specific number of activities.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2018
From: CHAVOSHI, NIKAN; MUEEN, ABDULLAH
To: THE REGENTS OF THE UNIVERSITY OF NEW MEXICO
Reel/Frame 046942/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2018
From: THE REGENTS OF THE UNIVERSITY OF NEW MEXICO
To: STC.UNM
Reel/Frame 046942/0672 →
Continuity (2)
Provisional Application 62202442 · Aug 7, 2015
Related Publication 20180234447A1 · Aug 16, 2018
Cited By (1)
US 12,356,042