IP Library Granted Patent US 9,800,601
Granted Patent B2
US 9,800,601 · App. 15/411,805 · Granted Oct 24, 2017

Systems and methods for detecting and scoring anomalies

Inventors: Christopher Everett Bailey (Langley, CA); Randy Lukashuk (Errington, CA); Gary Wayne Richardson (Port Moody, CA)
Assignee: NuData Security Inc.
H04L63/1425H04L2463/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 9,800,601
App. No.
15/411,805
Granted
Oct 24, 2017
Kind
B2
Abstract

Systems and methods for detecting and scoring anomalies. In some embodiments, a method is provided, comprising acts of: (A) identifying a plurality of values of an attribute, each value of the plurality of values corresponding respectively to a digital interaction of the plurality of digital interactions; (B) dividing the plurality of values into a plurality of buckets; (C) for at least one bucket of the plurality of buckets, determining a count of values from the plurality of values that fall within the at least one bucket; (D) comparing the count of values from the plurality of values that fall within the at least one bucket against historical information regarding the attribute; and (E) determining whether the attribute is anomalous based at least in part on a result of the act (D).

Claims (128)

1. A computer-implemented method for analyzing a plurality of first digital interactions observed from a first time period, the method comprising acts of:

(A) identifying a plurality of first values of an attribute, each value of the plurality of first values corresponding respectively to a digital interaction of the plurality of first digital interactions observed from the first time period;

(B) dividing the plurality of first values into a plurality of buckets;

(C) for at least one bucket of the plurality of buckets, determining a count of values from the plurality of first values that fall within the at least one bucket;

(D) comparing, by at least one processor, the count of values from the plurality of first values that fall within the at least one bucket against historical information regarding the attribute, wherein:

the historical information regarding the attribute comprises an expected count for the at least one bucket;

the count of values from the plurality of first values that fall within the at least one bucket is compared against the expected count for the at least one bucket;

the expected count for the at least one bucket comprises a count of values from a plurality of second values of the attribute that fall within the at least one bucket;

each value of the plurality of second values corresponds respectively to a digital interaction of a plurality of second digital interactions;

the plurality of second digital interactions were observed from a second time period, the second time period having a same length as the first time period; and

the first time period occurs after the second time period;

(E) determining whether the attribute is anomalous over the first time period, based at least in part on a result of the act (D); and

(F) in response to determining that the attribute is anomalous over the first time period, storing, in a profile, information regarding the attribute.

2. The method of claim 1 , wherein:

each value of the plurality of first values comprises a time measurement between a first point and a second point in the corresponding digital interaction; and

each bucket of the plurality of buckets comprises a range of time measurements.

3. The method of claim 1 , wherein:

the act (B) of dividing the plurality of first values into a plurality of buckets comprises applying a hash-modding operation to each value of the plurality of first values; and

each bucket of the plurality of buckets corresponds to a residue of the hash-modding operation.

4. The method of claim 3 , further comprising acts of:

(G) recording a plurality of observations with respect to the attribute, each observation of the plurality of observations being recorded from a corresponding digital interaction of the plurality of first digital interactions; and

(H) deriving each value of the plurality of first values based on the observation recorded from the corresponding digital interaction.

5. The method of claim 1 , wherein the act (E) comprises:

determining if the count of values from the plurality of first values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least a selected threshold amount, wherein the attribute is determined to be anomalous in response to determining that the count of values from the plurality of first values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least the selected threshold amount.

6. The method of claim 1 , further comprising an act of:

(G) dividing the plurality of second values of the attribute into the plurality of buckets.

7. The method of claim 1 , wherein the plurality of buckets comprises a plurality of first buckets, and wherein the method further comprises acts of:

(G) determining if the count of values from the plurality of first values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least a selected threshold amount; and

(H) in response to determining that the count of values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least the selected threshold amount, dividing the plurality of values into a plurality of second buckets, wherein there are more second buckets than first buckets.

8. The method of claim 1 , further comprising an act of:

(G) selecting a plurality of attributes, the plurality of attributes comprising the attribute, wherein acts (A)-(F) are performed for each attribute of the plurality of attributes.

9. A system for analyzing a plurality of first digital interactions observed from a first time period, the system comprising:

at least one processor; and

at least one computer-readable storage device having stored thereon executable instructions which, when executed, program the at least one processor to perform a method comprising acts of:

(A) identifying a plurality of first values of an attribute, each value of the plurality of first values corresponding respectively to a digital interaction of the plurality of first digital interactions observed from the first time period;

(B) dividing the plurality of first values into a plurality of buckets;

(C) for at least one bucket of the plurality of buckets, determining a count of values from the plurality of first values that fall within the at least one bucket;

(D) comparing the count of values from the plurality of first values that fall within the at least one bucket against historical information regarding the attribute, wherein:

the historical information regarding the attribute comprises an expected count for the at least one bucket;

the count of values from the plurality of first values that fall within the at least one bucket is compared against the expected count for the at least one bucket:

the expected count for the at least one bucket comprises a count of values from a plurality of second values of the attribute that fall within the at least one bucket:

each value of the plurality of second values corresponds respectively to a digital interaction of a plurality of second digital interactions;

the plurality of second digital interactions were observed from a second time period, the second time period having a same length as the first time period; and

the first time period occurs after the second time period;

(E) determining whether the attribute is anomalous over the first time period, based at least in part on a result of the act (D); and

(F) in response to determining that the attribute is anomalous over the first time period, storing, in a profile, information regarding the attribute.

10. The system of claim 9 , wherein:

each value of the plurality of first values comprises a time measurement between a first point and a second point in the corresponding digital interaction; and

each bucket of the plurality of buckets comprises a range of time measurements.

11. The system of claim 9 , wherein:

the act (B) of dividing the plurality of first values into a plurality of buckets comprises applying a hash-modding operation to each value of the plurality of first values; and

each bucket of the plurality of buckets corresponds to a residue of the hash-modding operation.

12. The system of claim 11 , wherein the method further comprises acts of:

(G) recording a plurality of observations with respect to the attribute, each observation of the plurality of observations being recorded from a corresponding digital interaction of the plurality of first digital interactions; and

(H) deriving each value of the plurality of first values based on the observation recorded from the corresponding digital interaction.

13. The system of claim 9 , wherein the act (E) comprises:

determining if the count of values from the plurality of first values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least a selected threshold amount, wherein the attribute is determined to be anomalous in response to determining that the count of values from the plurality of first values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least the selected threshold amount.

14. The system of claim 9 , wherein the method further comprises an act of:

(G) dividing the plurality of second values of the attribute into the plurality of buckets.

15. The system of claim 9 , wherein the plurality of buckets comprises a plurality of first buckets, and wherein the method further comprises acts of:

(G) determining if the count of values from the plurality of first values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least a selected threshold amount; and

(H) in response to determining that the count of values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least the selected threshold amount, dividing the plurality of values into a plurality of second buckets, wherein there are more second buckets than first buckets.

16. The system of claim 9 , wherein the method further comprises an act of:

(G) selecting a plurality of attributes, the plurality of attributes comprising the attribute, wherein acts (A)-(F) are performed for each attribute of the plurality of attributes.

17. A computer-implemented method for analyzing a plurality of digital interactions over a time period, the method comprising acts of:

(A) identifying a plurality of values of an attribute, each value of the plurality of values corresponding respectively to a digital interaction of the plurality of digital interactions;

(B) dividing the plurality of values into a plurality of first buckets;

(C) for at least one bucket of the plurality of first buckets, determining a count of values from the plurality of values that fall within the at least one bucket;

(D) comparing, by at least one processor, the count of values from the plurality of values that fall within the at least one bucket against historical information regarding the attribute, wherein:

the historical information regarding the attribute comprises an expected count for the at least one bucket; and

the count of values from the plurality of first values that fall within the at least one bucket is compared against the expected count for the at least one bucket;

(E) determining whether the attribute is anomalous over the time period, based at least in part on a result of the act (D), comprising:

determining if the count of values from the plurality of values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least a selected threshold amount; and

in response to determining that the count of values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least the selected threshold amount, dividing the plurality of values into a plurality of second buckets, wherein there are more second buckets than first buckets; and

(F) in response to determining that the attribute is anomalous over the time period, storing, in a profile, information regarding the attribute.

18. The method of claim 17 , wherein:

each value of the plurality of values comprises a time measurement between a first point and a second point in the corresponding digital interaction; and

each bucket of the plurality of first buckets comprises a range of time measurements.

19. The method of claim 17 , wherein:

the act (B) of dividing the plurality of values into a plurality of first buckets comprises applying a hash-modding operation to each value of the plurality of values; and

each bucket of the plurality of first buckets corresponds to a residue of the hash-modding operation.

20. The method of claim 17 , further comprising acts of:

(G) recording a plurality of observations with respect to the attribute, each observation of the plurality of observations being recorded from a corresponding digital interaction of the plurality of digital interactions; and

(H) deriving each value of the plurality of values based on the observation recorded from the corresponding digital interaction.

21. The method of claim 17 , wherein:

the plurality of digital interactions comprises a plurality of first digital interactions;

the time period comprises a first time period;

the plurality of values comprises a plurality of first values of the attribute;

the method further comprises an act of:

(G) dividing a plurality of second values of the attribute into the plurality of first buckets, each value of the plurality of second values corresponding respectively to a digital interaction of a plurality of second digital interactions;

the expected count for the at least one bucket comprises a count of values from the plurality of second values that fall within the at least one bucket;

the plurality of second digital interactions were observed from a second time period, the second time period having a same length as the first time period; and

the first time period occurs after the second time period.

22. The method of claim 17 , further comprising an act of:

(G) selecting a plurality of attributes, the plurality of attributes comprising the attribute, wherein acts (A)-(F) are performed for each attribute of the plurality of attributes.

23. A system for analyzing a plurality of digital interactions over a time period, the system comprising:

at least one processor; and

at least one computer-readable storage device having stored thereon executable instructions which, when executed, program the at least one processor to perform a method comprising acts of:

(A) identifying a plurality of values of an attribute, each value of the plurality of values corresponding respectively to a digital interaction of the plurality of digital interactions;

(B) dividing the plurality of values into a plurality of first buckets;

(C) for at least one bucket of the plurality of first buckets, determining a count of values from the plurality of values that fall within the at least one bucket;

(D) comparing the count of values from the plurality of values that fall within the at least one bucket against historical information regarding the attribute, wherein:

the historical information regarding the attribute comprises an expected count for the at least one bucket; and

the count of values from the plurality of first values that fall within the at least one bucket is compared against the expected count for the at least one bucket;

(E) determining whether the attribute is anomalous over the time period, based at least in part on a result of the act (D), comprising:

determining if the count of values from the plurality of values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least a selected threshold amount; and

in response to determining that the count of values that fall within the at least one bucket exceeds the expected count for the at least one bucket by at least the selected threshold amount, dividing the plurality of values into a plurality of second buckets, wherein there are more second buckets than first buckets; and

(F) in response to determining that the attribute is anomalous over the time period, storing, in a profile, information regarding the attribute.

24. The system of claim 23 , wherein:

each value of the plurality of values comprises a time measurement between a first point and a second point in the corresponding digital interaction; and

each bucket of the plurality of first buckets comprises a range of time measurements.

25. The system of claim 23 , wherein:

the act (B) of dividing the plurality of values into a plurality of first buckets comprises applying a hash-modding operation to each value of the plurality of values; and

each bucket of the plurality of first buckets corresponds to a residue of the hash-modding operation.

26. The system of claim 23 , wherein the method further comprises acts of:

(G) recording a plurality of observations with respect to the attribute, each observation of the plurality of observations being recorded from a corresponding digital interaction of the plurality of digital interactions; and

(H) deriving each value of the plurality of values based on the observation recorded from the corresponding digital interaction.

27. The system of claim 23 , wherein:

the plurality of digital interactions comprises a plurality of first digital interactions;

the time period comprises a first time period;

the plurality of values comprises a plurality of first values of the attribute;

the method further comprises an act of:

(G) dividing a plurality of second values of the attribute into the plurality of first buckets, each value of the plurality of second values corresponding respectively to a digital interaction of a plurality of second digital interactions;

the expected count for the at least one bucket comprises a count of values from the plurality of second values that fall within the at least one bucket;

the plurality of second digital interactions were observed from a second time period, the second time period having a same length as the first time period; and

the first time period occurs after the second time period.

28. The system of claim 23 , wherein the method further comprises an act of:

(G) selecting a plurality of attributes, the plurality of attributes comprising the attribute, wherein acts (A)-(F) are performed for each attribute of the plurality of attributes.

Assignments (2)
CERTIFICATE OF AMALGAMATION Recorded Apr 23, 2018
From: NUDATA SECURITY INC.
To: MASTERCARD TECHNOLOGIES CANADA ULC
Reel/Frame 045997/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2017
From: BAILEY, CHRISTOPHER EVERETT; LUKASHUK, RANDY; RICHARDSON, GARY WAYNE
To: NUDATA SECURITY INC.
Reel/Frame 041954/0818 →
Continuity (3)
Continuation 15256603 · Sep 4, 2016
Provisional Application 62214969 · Sep 5, 2015
Related Publication 20170134414A1 · May 11, 2017