IP Library Granted Patent US 10,515,366
Granted Patent B1
US 10,515,366 · App. 14/139,956 · Granted Dec 24, 2019

Network neighborhood topology as a predictor for fraud and anomaly detection

Inventors: Boris Gorelik (Mazkeret Batya, IL); Anatoly Gendelev (Rechovot, IL); Liron Liptz (Even Yehuda, IL); Alex Zaslavsky (Petah Tiqwa, IL); Marcelo Blatt (Modiin, IL)
Assignee: EMC IP Holding Company LLC
G06Q20/4016
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,515,366
App. No.
14/139,956
Filed
Dec 24, 2013
Granted
Dec 24, 2019
Kind
B1
Examiner
TRAN, HAI
Art Unit
3697
USPC
705/44
Abstract

An improved technique involves generating, from historical transaction data, a relational graph that represents connections between users who initiate transactions and transaction devices used to carry out the transactions. By supplementing traditional relational database models with a tool such as a graph database, a risk analysis server is able to express users and transaction devices as nodes in a graph and the connections between them as edges in the graph. The risk analysis server may then match the topology of the graph in a neighborhood of the user initiating the transaction to a known topology that is linked to an indication of risk. In some arrangements, this topology is an input into a risk model used to compute a risk score for adaptive authentication.

Claims (90)

1. A computer-based method of verifying whether transactions are fraudulent, the method comprising:

receiving, by a risk analysis server computer, transaction data that contains information about users who initiate transactions and transaction devices used to carry out the transactions, including information about cookies stored on the transaction devices, each cookie containing information about a website accessed by the transaction device on which that cookie is stored;

generating, by the risk analysis server computer from the transaction data, a relational graph that represents connections between the users and the transaction devices; and

performing a risk analysis operation, by the risk analysis server computer on the relational graph, the risk analysis operation being configured to provide, as output, a likelihood of fraud for the transactions;

wherein performing the risk analysis operation includes:

identifying vertices of the relational graph representing users and transaction devices involved in a requested transaction with an institutional server computer;

identifying edges of the relational graph representing connections between the users and the transaction devices involved in the requested transaction;

generating the likelihood of fraud for the requested transaction based on the identified edges and vertices, wherein generating the likelihood of fraud for the requested transaction includes providing, as output from a risk engine, a risk score indicative of the likelihood of fraud of the requested transaction, the risk score being based on the identified edges and vertices, a high risk score indicating a high level of risk of fraud for the requested transaction being generated in response to the identified edges and vertices forming a topology corresponding to a cookie hijack attack, wherein the topology corresponding to a cookie hijack attack includes a single vertex representing a transaction device that is connected to multiple vertices representing cookies used by the transaction device, and a low risk score indicating a low level of risk of fraud for the requested transaction; and

in response to a high risk score generated in response to the identified edges and vertices forming the topology corresponding to a cookie hijack attack exceeding a predetermined threshold indicating likely fraud, denying the requested transaction with the institutional server.

2. A method as in claim 1 , wherein providing the risk score includes:

for a particular vertex of the relational graph representing one of a user and a transaction device of the requested transaction, identifying a neighborhood of vertices and edges about the particular vertex, the neighborhood of vertices and edges including a set of vertices that are less a given number of edges away from the particular vertex, and

producing the risk score according to the identified neighborhood of vertices and edges.

3. A method as in claim 2 , wherein producing the risk score according to the identified neighborhood of vertices includes:

performing a matching operation on the identified neighborhood and a set of predefined neighborhoods of vertices and edges, the matching operation being configured to produce a matching predefined neighborhood of vertices and edges having a set of vertices and edges that matches the vertices and edges of the identified neighborhood, and

generating the risk score according to the matching predefined neighborhood of vertices and edges.

4. A method as in claim 3 , wherein each of the set of predefined neighborhood of vertices and edges further includes a neighborhood identifier that identifies that predefined neighborhood of vertices and edges; and

wherein generating the risk score according to the matching predefined neighborhood of vertices and edges includes:

inputting the neighborhood identifier of the matching predefined neighborhood of vertices and edges into a risk engine configured to produce the risk score, and

receiving the risk score from the risk engine.

5. A method as in claim 4 , wherein the risk engine includes a risk model by which the risk score is produced, the risk model including a set of Bayesian weights, each of the set of Bayesian weights corresponding to a parameter of the requested transaction; and

wherein generating the risk score according to the matching predefined neighborhood of vertices and edges further includes:

providing a command to the risk engine to add, to a nominal risk score that does not depend on the value of the neighborhood identifier of the matching predefined neighborhood of vertices and edges, a product of a Bayesian weight corresponding to the neighborhood identifier of the matching predefined neighborhood of vertices and edges and a value of a risk metric assigned to the value of the neighborhood identifier.

6. A method as in claim 5 , further comprising:

receiving results of external fraud analysis of transactions having a high risk score based on the value of the neighborhood identifier of matching predefined neighborhoods of vertices and edges for the transactions;

performing a comparison operation on the results of the external fraud analysis and corresponding risk scores produced by the risk model, the comparison operation producing a comparison result; and

adjusting the Bayesian weights of the risk model corresponding to the neighborhood identifier of matching predefined neighborhoods of vertices and edges for the transactions based on the comparison result.

7. A method as in claim 1 :

wherein performing the risk analysis operation on the relational graph includes:

outputting a likelihood that the transactions exhibit anomalies.

8. A method as in claim 1 ,

wherein generating the relational graph from the transaction data further includes producing the relational graph based on the information about the users, the transaction devices, and the cookies.

9. A method as in claim 8 , wherein the relational graph includes a set of vertices and edges, each of the set of vertices representing one of a user, a transaction device, and a cookie, each of the set of edges representing a connection between the users, the transaction devices, and the cookies;

wherein performing the risk analysis operation includes, for a set of transactions:

identifying vertices of the relational graph representing users, transaction devices, and cookies involved in the set of transactions,

identifying edges of the relational graph representing connections between the users, the transaction devices, and the cookies involved in the set of transactions, and

generating the likelihood of a cookie hijack attack within the set of transactions based on the identified edges and vertices.

10. A method as in claim 1 , further comprising:

wherein receiving the transaction data by the risk analysis computer includes issuing a request for the transaction data from the risk analysis computer to a remote database, and receiving the transaction data by the risk analysis computer as transmitted from the remote transaction database responsive to receipt of the request for the transaction data by the remote database;

wherein the transaction devices include a user computer used to initiate the transaction, a cookie that contains login information, and a payee account, and wherein the transaction data used to generate the relational graph includes information regarding a user, the user computer used to initiate the transaction, the cookie that contains login information, and the payee account; and

wherein generating the relational graph that represents connections between the users and the transaction devices is performed by the risk analysis computer and includes locating, by the risk analysis computer, within the transaction data received from the remote transaction database, information regarding the user, the user computer used to initiate the transaction, the cookie that contains login information, and the payee account, in order to separately represent each of the user, the user computer used to initiate the transaction, the cookie that contains login information, and the payee account within the relational graph.

11. An apparatus constructed and arranged to verify whether transactions are fraudulent, the apparatus comprising:

a network interface;

memory; and

a controller including controlling circuitry, the controlling circuitry being constructed and arranged to:

receive transaction data that contains information about users who initiate transactions and transaction devices used to carry out the transactions, including information about cookies stored on the transaction devices, each cookie containing information about a website accessed by the transaction device on which that cookie is stored;

generate, from the transaction data, a relational graph that represents connections between the users and the transaction devices; and

perform a risk analysis operation on the relational graph, the risk analysis operation being configured to provide, as output, a likelihood of fraud for the transactions;

wherein the controlling circuitry constructed and arranged to perform the risk analysis operation is further constructed and arranged to:

identify vertices of the relational graph representing users and transaction devices involved in a requested transaction with an institutional server computer;

identify edges of the relational graph representing connections between the users and the transaction devices involved in the requested transaction;

generate the likelihood of fraud for the requested transaction based on the identified edges and vertices, wherein the controlling circuitry constructed and arranged to generate the likelihood of fraud for the requested transaction is further constructed and arranged to provide, as output from a risk engine, a risk score indicative of the likelihood of fraud of the requested transaction, the risk score being based on the identified edges and vertices, a high risk score indicating a high level of risk of fraud for the transaction being generated in response to the identified edges and vertices forming a topology corresponding to a cookie hijack attack, wherein the topology corresponding to a cookie hijack attack includes a single vertex representing a transaction device that is connected to multiple vertices representing cookies used by the transaction device, and a low risk score indicating a low level of risk of fraud for the transaction; and

in response to a high risk score generated in response to the identified edges and vertices forming the topology corresponding to a cookie hijack attack exceeding a predetermined threshold indicating likely fraud, deny the requested transaction with the institutional server.

12. An apparatus as in claim 11 , wherein the controlling circuitry constructed and arranged provide the risk score is further constructed and arranged to:

for a particular vertex of the relational graph representing one of a user and a transaction device of the requested transaction, identify a neighborhood of vertices and edges about the particular vertex, the neighborhood of vertices and edges including a set of vertices that are less a given number of edges away from the particular vertex, and

produce the risk score according to the identified neighborhood of vertices and edges.

13. An apparatus as in claim 12 , wherein the controlling circuitry constructed and arranged to produce the risk score according to the identified neighborhood of vertices is further constructed and arranged to:

perform a matching operation on the identified neighborhood and a set of predefined neighborhoods of vertices and edges, the matching operation being configured to produce a matching predefined neighborhood of vertices and edges having a set of vertices and edges that matches the vertices and edges of the identified neighborhood, and

generate the risk score according to the matching predefined neighborhood of vertices and edges.

14. An apparatus as in claim 13 , wherein each of the set of predefined neighborhood of vertices and edges further includes a neighborhood identifier that identifies that predefined neighborhood of vertices and edges; and

wherein the controlling circuitry constructed and arranged to generate the risk score according to the matching predefined neighborhood of vertices and edges is further constructed and arranged to:

input the neighborhood identifier of the matching predefined neighborhood of vertices and edges into a risk engine configured to produce the risk score, and

receive the risk score from the risk engine.

15. An apparatus as in claim 14 ,

wherein the risk engine includes a risk model by which the risk score is produced, the risk model including a set of Bayesian weights, each of the set of Bayesian weights corresponding to a parameter of the requested transaction; and

wherein the controlling circuitry constructed and arranged to generate the risk score according to the matching predefined neighborhood of vertices and edges is further constructed and arranged to:

provide a command to the risk engine to add, to a nominal risk score that does not depend on the value of the neighborhood identifier of the matching predefined neighborhood of vertices and edges, a product of a Bayesian weight corresponding to the neighborhood identifier of the matching predefined neighborhood of vertices and edges and a value of a risk metric assigned to the value of the neighborhood identifier.

16. An apparatus as in claim 15 , wherein the controlling circuitry is further constructed and arranged to:

receive results of external fraud analysis of transactions having a high risk score based on the value of the neighborhood identifier of matching predefined neighborhoods of vertices and edges for the transactions;

perform a comparison operation on the results of the external fraud analysis and corresponding risk scores produced by the risk model, the comparison operation producing a comparison result; and

adjust the Bayesian weights of the risk model corresponding to the neighborhood identifier of matching predefined neighborhoods of vertices and edges for the transactions based on the comparison result.

17. A computer program product having a non-transitory, computer-readable storage medium which stores instructions that, when executed by a controller, causes the controller to carry out a method of verifying whether transactions are fraudulent, the method comprising:

receiving transaction data that contains information about users who initiate transactions and transaction devices used to carry out the transactions, including information about cookies stored on the transaction devices, each cookie containing information about a website accessed by the transaction device on which that cookie is stored;

generating, from the transaction data, a relational graph that represents connections between the users and the transaction devices; and

performing a risk analysis operation on the relational graph, the risk analysis operation being configured to provide, as output, a likelihood of fraud for the transactions;

wherein performing the risk analysis operation includes:

identifying vertices of the relational graph representing users and transaction devices involved in a requested transaction with an institutional server;

identifying edges of the relational graph representing connections between the users and the transaction devices involved in the requested transaction;

generating the likelihood of fraud for the requested transaction based on the identified edges and vertices, wherein generating the likelihood of fraud for the requested transaction includes providing, as output from a risk engine, a risk score indicative of the likelihood of fraud of the transaction, the risk score being based on the identified edges and vertices, a high risk score indicating a high level of risk of fraud for the requested transaction being generated in response to the identified edges and vertices forming a topology corresponding to a cookie hijack attack, wherein the topology corresponding to a cookie hijack attack includes a single vertex representing a transaction device that is connected to multiple vertices representing cookies used by the transaction device, and a low risk score indicating a low level of risk of fraud for the transaction; and

in response to a high risk score generated in response to the identified edges and vertices forming the topology corresponding to a cookie hijack attack exceeding a predetermined threshold indicating likely fraud, denying the requested transaction with the institutional server.

18. A computer program product as in claim 17 , wherein providing the risk score for the requested transaction includes:

for a particular vertex of the relational graph representing one of a user and a transaction device of the transaction, identifying a neighborhood of vertices and edges about the particular vertex, the neighborhood of vertices and edges including a set of vertices that are less a given number of edges away from the particular vertex, and

producing the risk score according to the identified neighborhood of vertices and edges.

19. A computer program product as in claim 18 , wherein producing the risk score according to the identified neighborhood of vertices includes:

performing a matching operation on the identified neighborhood and a set of predefined neighborhoods of vertices and edges, the matching operation being configured to produce a matching predefined neighborhood of vertices and edges having a set of vertices and edges that matches the vertices and edges of the identified neighborhood, and

generating the risk score according to the matching predefined neighborhood of vertices and edges.

20. A computer program product as in claim 19 ,

wherein each of the set of predefined neighborhood of vertices and edges further includes a neighborhood identifier that identifies that predefined neighborhood of vertices and edges; and

wherein generating the risk score according to the matching predefined neighborhood of vertices and edges includes:

inputting the neighborhood identifier of the matching predefined neighborhood of vertices and edges into a risk engine configured to produce the risk score, and

receiving the risk score from the risk engine.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2014
From: GORELIK, BORIS; GENDELEV, ANATOLY; LIPTZ, LIRON; ZASLAVSKY, ALEX; BLATT, MARCELLO
To: EMC CORPORATION
Reel/Frame 032396/0297 →
Cited By (9)
US 12,260,411 US 12,293,368 US 12,430,647 US 12,505,446 US 12,641,123 US 12,651,263 US 12,701,041 US 12,706,798 US 12,711,554