SlideShare una empresa de Scribd logo
1 de 86
Descargar para leer sin conexión
Detenga el fraude
complejo con Neo4j
github.com/maxdemarzi
About 200 public repositories
Max De Marzi
Neo4j Field Engineer
Sobre
Mi !
01
02
03
04
maxdemarzi.com
@maxdemarzi
About 160 blog posts
¿Quiénes son los estafadores
de hoy?
Organizado en grupos
Identidades Sintéticas Identidades Robadas
Dispositivos secuestrados
¿Quiénes son los estafadores
de hoy?
Tipos de fraude
• Fraude de Tarjeta de Credito
• Fraude de Comerciantes
• Anillos de Fraude
• Fraude de Seguro
• Fraude de Comercio Electrónico
• Fraude que aún no conocemos…
“No considere la tecnología
tradicional adecuada para
mantenerse al día con las
tendencias criminales.”
Market Guide for Online Fraud Detection, April 27, 2015
Detección de Fraude
Análisis del
comportamiento de
navegación y patrones
sospechosos.
Centrado en el
Dispositivo
Análisis de los usuarios
y sus dispositivos
1.
Centrado en la
Navegación
2.
Centric en la
Identidad
Análisis del
comportamiento de
anomalías por canal.
3.
Computadora,
Teléfonos Móviles
Direcciones IP
y ID del
Usuario
Transacción Comparativa
Verificación de Identidad
Métodos Tradicionales de 

Detección de Fraude
Incapaz de detectar:
• Anillos de Fraude
• Direcciones IP falsas
• Dispositivos
secuestrados
• Identidades Sintéticas
• Identidades Robadas
• Y más…
Debilidades
ANÁLISIS DISCRETO
Métodos Tradicionales de 

Detección de Fraude
Centrado en el
Dispositivo
Análisis de los usuarios
y sus dispositivos
1.
Centrado en la
Navegación
Análisis del
comportamiento de
navegación y patrones
sospechosos.
2.
Centric en la
Identidad
Análisis del
comportamiento de
anomalías por canal.
3.
ANÁLISIS CONECTADOANÁLISIS DISCRETO
Entre Canales
Análisis del
comportamiento de
anomalías
correlacionado entre
canales.
4.
Enlace de
Entidades
Análisis de las
relaciones para detectar
el crimen organizado y
la colusión.
5.
Detección de Fraude Aumentada
Centrado en el
Dispositivo
Análisis de los usuarios
y sus dispositivos
1.
Centrado en la
Navegación
Análisis del
comportamiento de
navegación y patrones
sospechosos.
2.
Centric en la
Identidad
Análisis del
comportamiento de
anomalías por canal.
3.
INVESTIGAR
Deuda Rotatoria
Numero de Cuentas
INVESTIGAR
Comportamiento Normal
Detección de Fraude con 

Análisis Discreto
Deuda Rotatoria
Numero de Cuentas
Comportamiento Normal
Patrón Fraudulento
Detección de fraude con 

Análisis Conectado
Detección de fraude con Graphos
Patrones de Subgrapho
Ni: numero de vecinos de un nodo
Ei: numero de relaciones en un subgrapho
Wi: “peso” total the una subgrapho
λw,i: mayor variabilidad de los "pesos" de
un subgrafo
Power Law Densidad
slope=2
slope=1
slope=1.35
Power Law Peso
Power Law Variabilidad de Peso
•Influencia
•Poder
•Posición Social
•Control
•Independencia
•Información
¿Qué nodos son importantes?
Famoso en el Grapho
•PageRank
•ArticleRank
•Betweenness Centrality
•Closeness Centrality
•Eigenvector Centrality
•Degree Centrality
•Harmonic Centrality
Centralidad
Agregue funciones gráficas a sus modelos
de detección de fraude existentes
Account ID Community
Size
Degree PageRank
1 31 15 10.7
3 4 12 3.4
5 98 9 11.2
•Influencia
•Relaciones
•Comunidades
Anillos de Fraude
Vamos a crear algunos usuarios
CREATE (john:User {name:"John"})

CREATE (sheila:User {name:"Sheila"})

CREATE (karen:User {name:"Karen"})
Sheila
Modelando un anillo de fraude como
un gráfico
John
Karen
John tiene algunas cuentas
CREATE (cc1:Card {number:"4012888888881881", balance: 493.23})
CREATE (ba1:Account {number:"85474584", balance:1322.30, type:”Checking"})
CREATE (us1:Loan {number:"63493639", balance:5000.00, type:"Loan”})
CREATE (john)-[:HAS_ACCOUNT]->(cc1)
CREATE (john)-[:HAS_ACCOUNT]->(ba1)
CREATE (john)-[:HAS_ACCOUNT]->(us1)
Sheila también tiene un número de
identificación
CREATE (ba2:Account {number:"25384738", balance:2983.99, type:"Checking"})
CREATE (cc2:Card {number:"5105105105105100", balance: 893.11})
CREATE (ssn2:Identification {number:"000-42-4329", type:”SSN"})
CREATE (sheila)-[:HAS_ACCOUNT]->(ba2)
CREATE (sheila)-[:HAS_ACCOUNT]->(cc2)
CREATE (sheila)-[:HAS_ID]->(ssn2)
Karen tiene un número de teléfono
CREATE (ba3:Account {number:"63493639", balance:3204.83, type:"Checking"})
CREATE (us2:Loan {number:"28372342", balance:5000.00, type:"Loan"})
CREATE (phone2:Phone {number:”312-606-0842"})
CREATE (karen)-[:HAS_ACCOUNT]->(ba3)
CREATE (karen)-[:HAS_ACCOUNT]->(us2)
CREATE (karen)-[:HAS_PHONE]->(phone2)
Sheila
John
Karen
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
CUENTA
DE
CHEQUES
NÚMERO
DE
TELÉFONO
PRESTAMO NO
ASEGURADO
SSN 2
PRESTAMO NO
ASEGURADO
Nada sospechoso todavía
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
John y Sheila están compartiendo un
número de teléfono
CREATE (phone1:Phone {number:"312-876-5309"})
CREATE (john)-[:HAS_PHONE]->(phone1)
CREATE (sheila)-[:HAS_PHONE]->(phone1)
John y Karen comparten un número
de identificación
CREATE (ssn1:Identification {number:"000-91-7434", type:"SSN"})
CREATE (john)-[:HAS_ID]->(ssn1)
CREATE (karen)-[:HAS_ID]->(ssn1)
Todos comparten la misma dirección
CREATE (ad:Address {line1:"175 N. Harbor Drive",
city:"Chicago", state:"IL", zip:”60601"})
CREATE (john)-[:HAS_ADDRESS]->(ad)
CREATE (karen)-[:HAS_ADDRESS]->(ad)
CREATE (sheila)-[:HAS_ADDRESS]->(ad)
Sheila
John
Karen
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
CUENTA
DE
CHEQUES
NÚMERO
DE
TELÉFONO
PRESTAMO NO
ASEGURADO
SSN 2
PRESTAMO NO
ASEGURADO
Comenzando a conectar los puntos ...
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
DIRECCION
NÚMERO
DE
TELÉFONO
SSN 1
Agreguemos a Robert
CREATE (robert:User {name:"Robert"})
CREATE (ba4:Account {number:"8374927", balance:1273.39, type:"Checking"})
CREATE (cc3:Card {number:"378282246310005", balance: 134.72})
CREATE (robert)-[:HAS_ACCOUNT]->(ba4)
CREATE (robert)-[:HAS_ACCOUNT]->(cc3)
• Triangle Count
• Clustering Coefficients
• Connected Components (Union Find)
• Strongly Connected Components
• Label Propagation
• Louvain Modularity
• Balanced Triad (identification)
Community
Detection
• Degree Centrality
• Closeness Centrality
• CC Variations: Harmonic, Dangalchev,
Wasserman & Faust
• Betweenness Centrality
• Approximate Betweenness Centrality
• PageRank
• Personalized PageRank
• ArticleRank
• Eigenvector Centrality
• Euclidean Distance
• Cosine Similarity
• Jaccard Similarity
• Overlap Similarity
• Pearson Similarity
Centrality /
Importance
Similarity
Link
Prediction
• Adamic Adar
• Common Neighbors
• Preferential Attachment
• Resource Allocations
• Same Community
• Total Neighbors
Algoritmos Gráficos
Algoritmo de grafico
Union Find
Encuentra conjuntos donde todos los nodos
pueden llegar a todos los demás nodos
•Detección de fraude
•Deduplicación
•Resolución de la entidad
Consulte la publicación del blog
“The Real Property Graph”
Algoritmo de grafico
Union Find
CALL algo.unionFind.stream(
  'MATCH (p:User) RETURN id(p) as id',
  'MATCH (p1:User)-->()<--(p2:User)
   RETURN id(p1) as source, id(p2) as target',
  {graph:'cypher'}
) YIELD nodeId, setId
RETURN algo.asNode(nodeId).name AS user, setId
Algoritmo de grafico Union Find
Componentes Conectados
Conjunto
3
Conjunto
0
Sheila
John
Karen
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
CUENTA
DE
CHEQUES
NÚMERO
DE
TELÉFONO
PRESTAMO NO
ASEGURADO
SSN 2
PRESTAMO NO
ASEGURADO
Supongamos que no son tan estúpidos
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
Llamaron desde el mismo número
MATCH (john:User {name:"John"}),
(sheila:User {name:"Sheila"})
CREATE (ani:ANI {number:"312-666-1234"})
CREATE (ani)-[:CALLED]->(john)
CREATE (ani)-[:CALLED]->(sheila)
Ingresaron usando el mismo
navegador
MATCH (john:User {name:”John"}),
(robert:User {name:”Robert"})
CREATE (fg:Browser {fingerprint:”asdf7373jsdf3rw"})
CREATE (fg)-[:ACCESSED]->(john)
CREATE (fg)-[:ACCESSED]->(robert)
Sheila
John
Robert
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
CUENTA
DE
CHEQUES
NÚMERO
DE
TELÉFONO
PRESTAMO NO
ASEGURADO
SSN 2
PRESTAMO NO
ASEGURADO
Conectados por sus "conexiones"
TARJETA
DE
CRÉDITO
CUENTA
DE
CHEQUES
BROWSER
ANI
NUMBER
Algoritmo de grafico Union Find otra vez
CALL algo.unionFind.stream(
  'MATCH (p:User) RETURN id(p) as id',
  'MATCH (p1:User)<-[:ACCESSED]-()-[:ACCESSED]->(p2:User)
   RETURN id(p1) as source, id(p2) as target',
  {graph:'cypher'}
) YIELD nodeId, setId
RETURN algo.asNode(nodeId).name AS user, setId
Algoritmo de grafico Union Find
Componentes Conectados
Conjunto 0
Conjunto 2
Almacene los resultados de Union Find
CALL algo.unionFind(
  'MATCH (p:User) RETURN id(p) as id',
  'MATCH (p1:User)--()--(p2:User)
   RETURN id(p1) as source, id(p2) as target',
  {graph:'cypher'}
) YIELD setCount
Veamos estas particiones
MATCH (n:User)
RETURN n.partition, COUNT(*) AS members,
COLLECT(n.name) AS names
ORDER BY members DESC
Nuestros estafadores están todos
conectados
Nuestros estafadores están todos
conectados
Fraude de Tarjeta de Credito
De un Cajero
Automático
Violaciones de Datos Sofisticadas
Recopilación de información de Tarjeta de Crédito
Comerciante
Fraudulento
UTILIZA
EMITE
Terminal
ATM Violacíon de
Datos
Titular de la tarjeta
Banco
Estafador
UTILIZA $5HACE
$1
0
HACE
$2
HACE
HACE $4000
CON
Pruebas
Comerciantes
CON
HACE Tx
Transacciones con tarjeta de crédito como
un gráfico
CREATE (john:User {name:"John"})
CREATE (m1:Merchant {name:"Computer Store"})
CREATE (m2:Merchant {name:"Gas Station"})
CREATE (m3:Merchant {name:"Jewelry Store"})
CREATE (m4:Merchant {name:"Furniture Store"})
CREATE (tx1:Transaction:Fraudulent {amount: 2000.00, date:datetime()})
CREATE (tx2:Transaction {amount: 35.00, date:datetime() - duration('P1D')})
CREATE (tx3:Transaction {amount: 25.00, date:datetime() - duration('P2D')})
CREATE (tx4:Transaction {amount: 12.00, date:datetime() - duration('P3D')})
CREATE (tx1)-[:AT_MERCHANT]->(m1)
CREATE (tx2)-[:AT_MERCHANT]->(m2)
CREATE (tx3)-[:AT_MERCHANT]->(m3)
CREATE (tx4)-[:AT_MERCHANT]->(m4)
CREATE (john)-[:MAKES]->(tx1)
CREATE (john)-[:MAKES]->(tx2)
CREATE (john)-[:MAKES]->(tx3)
CREATE (john)-[:MAKES]->(tx4)
Transacciones con tarjeta de crédito como
un gráfico
// The last week of John's transactions
MATCH p = (n:User {name:"John"})-[:MAKES]->(tx)
WHERE tx.date > datetime() - duration('P7D')
RETURN p
Transacciones de John la semana pasada
Transacciones de John la semana pasada
Transacciones con tarjeta de crédito como
una lista
MATCH (u:User)
WHERE SIZE((u)-[:PREV_TX]->()) = 0 AND SIZE((u)-[:MAKES]->()) > 0
WITH u
LIMIT 100
MATCH (u)-[r:MAKES]->(tx)
WITH u, tx ORDER BY tx.date DESC
WITH u, COLLECT(tx) AS transactions, HEAD(COLLECT(tx)) AS last
CREATE (u)-[:PREV_TX]->(last)
FOREACH (n IN RANGE(0, SIZE(transactions)-2) |
FOREACH (next IN [transactions[n]] |
FOREACH (prev IN [transactions[n+1]] |
CREATE (next)-[:PREV_TX]->(prev)
)))
// The last week of John's transactions
MATCH p = (n:User {name:"John"})-[:PREV_TX*]->(tx)
WHERE NONE (tx IN tail(nodes(p))
          WHERE tx.date <= datetime() - duration('P7D'))
RETURN p
Transacciones de John la semana pasada
Transacciones de John la semana pasada
TxTx Tx TxTx Tx Tx TxTxTx TxJuan
Tx
$20000
TxTx Tx Tx TxTxTxTx Tx Tx
Tienda
Computad
Juan
Tx
$20000
Tx Tx
$250$100$40
TxTx Tx Tx TxTxTx
Tienda de
Computadoras
Juan
Siguiendo los pasos en la arena
// All the transactions marked fraudulent in the last week
// and the transactions that came before them
// up to two weeks ago.
MATCH p = (fraud:Fraudulent)-[:PREV_TX*]->(tx)
WHERE fraud.date > datetime() - duration('P7D')
  AND NONE (tx IN tail(nodes(p))
WHERE tx.date <= datetime() - duration('P14D'))
RETURN p
Siguiendo los pasos en la arena
Tx
Tx
$20000
Tx Tx
$250$100$40
TxTx Tx Tx TxTxTx
Tienda de
Computadoras
Juan
Maria
$20
TxTx TxTxTx Tx Tx TxTx
$30000
Tx
Joyería
Tx
$30
Tx
Tx
$20000
Tx Tx
$250$100$40
TxTx Tx Tx TxTxTx
Tienda de
Computadoras
Juan
Maria
$20
TxTx TxTxTx Tx Tx TxTx
$30000
Tx
Joyería
Tx
$30
Roberto TxTxTx Tx TxTx TxTxTx Tx Tx
TxTx
$20
TxTx
Tx
$20000
Tx Tx
$250$100$40
TxTx Tx Tx TxTxTx
Tienda de
Computadoras
Juan
María
Roberto
$30
Sofía
TxTxTx Tx Tx TxTx
$30000
Tx
Joyería
Tx
$30
TxTxTx Tx Tx TxTx TxTx
TxTx TxTx Tx Tx TxTx
$80 $120
Tx
$50000
Tienda de
Muebles
Tx Tx Tx
Encuentra a los comerciantes sospechosos
// Top 5 common merchants from fraudulent transaction chains
up to two weeks ago.
MATCH p = (fraud:Fraudulent)-[:PREV_TX*]->(tx)
WHERE fraud.date > datetime() - duration('P7D')
  AND NONE (tx IN tail(nodes(p))
            WHERE tx.date <= datetime() - duration('P14D'))
WITH nodes(p) AS transactions
UNWIND transactions AS tx
WITH DISTINCT tx
MATCH (tx)-[:AT_MERCHANT]->(merchant)
RETURN merchant.name, COUNT(*) AS txCount
ORDER BY txCount DESC
LIMIT 5
Encuentra a los comerciantes sospechosos
TxTx
$20
TxTx
Tx
$20000
Tx Tx
$250$100$40
TxTx Tx Tx TxTxTx
Tienda de
Computadoras
Juan
Gasolinera
María
Roberto
$30
Sofía
TxTxTx Tx Tx TxTx
$30000
Tx
Joyería
Tx
$30
TxTxTx Tx Tx TxTx TxTx
TxTx TxTx Tx Tx TxTx
$80 $120
Tx
$50000
Tienda de
Muebles
Tx Tx Tx
Cómo Neo4j encaja en su Arquitectura
Transferencia
de Dinero
Compras Servicios
Bancarios Base de Datos
Relacional
Desarrollar Patrones
Equipo de Ciencia de Datos
+ Bueno para análisis discreto
– Sin visión holística de las relaciones de datos
– Velocidad de consulta lenta para conexiones
Transferencia
de Dinero
Compras Servicios
Bancarios Base de Datos
Relacional
Lago de
Datos
+ Bueno para “Map Reduce”
+ Bueno para cargas de trabajo analíticas
– Sin visión holística
– Cargas de trabajo no operacionales
– Procesos de semanas a meses
Desarrollar Patrones
Equipo de Ciencia de Datos
Datos del
comerciante
Datos
de
Crédito
Otra
Información
Transferencia
de Dinero
Compras Servicios
Bancarios
Tiempo Real
Neo4j
Cluster
DETECTAR
Flujo de Transacciones
RESPONDER
Alertas y
Notificaciones
CARGAR DATOS RELEVANTES
Base de Datos
Relacional
Lago de
Datos
Visualización
Patrones de Ajuste
Fino
Desarrollar Patrones
Equipo de Ciencia de Datos
Datos del
comerciante
Datos
de
Crédito
Otra
Información
Transferencia
de Dinero
Compras Servicios
Bancarios
Tiempo Real
Neo4j
Cluster
DETECTAR
Flujo de Transacciones
RESPONDER
Alertas y
Notificaciones
CARGAR DATOS RELEVANTES
Base de Datos
Relacional
Lago de
Datos
Visualización
Patrones de Ajuste
Fino
Desarrollar Patrones
Equipo de Ciencia de Datos
Datos del
comerciante
Datos
de
Crédito
Otra
Información
Conjunto de
datos
utilizado para
explorar
nuevas ideas
El Sumario
Nosotros hablamos acerca de…
Los Estafadores de Hoy
Ejemplos:
Anillos de fraude
Prueba de Tarjeta de Crédito
Origen del Fraude
Cómo Neo4j encaja en una Arquitectura
Detectar y prevenir fraudes en tiempo real
Análisis y transacciones de riesgo
crediticio más rápidos
Reduce las devoluciones de cargo
Adaptarse rápidamente a nuevos métodos
de fraude
¿Por qué Neo4j? ¿Quién lo está usando?
Las Instituciones Financieras usan Neo4j para:
FINANCE
Empresas de
Tarjetas de Crédito
Comerciantes
No realmente, ¿por qué Neo4j?
Registros de tamaño fijo en
dos formaciones
“Uniones” desde la creación
A través de esta estructura
de datos
Acceso directo en lugar de
búsquedas1
2
3
4
La Receta Secreta de Neo4j
Saltamos de la colección de nodos a la
colección de relaciones y otra vez a nodos
Particiones
Las relaciones de
cada nodo están
divididas por tipo
y dirección.
¡Recursos Valiosos!
neo4jsandbox.com https://neo4j.com/use-cases/fraud-detection/ neo4j.com/product
Sandbox Detección de Fraude Producto
Preguntas y
Respuestas

Más contenido relacionado

Similar a Detenga el fraude complejo con Neo4j

Percepción y Adopción de Tecnología: Disrupción en los Sistemas Financieros
Percepción y Adopción de Tecnología: Disrupción en los Sistemas FinancierosPercepción y Adopción de Tecnología: Disrupción en los Sistemas Financieros
Percepción y Adopción de Tecnología: Disrupción en los Sistemas FinancierosDavid Solis
 
Conexión inversa. Análisis Forense en medios de pago.
Conexión inversa. Análisis Forense en medios de pago.Conexión inversa. Análisis Forense en medios de pago.
Conexión inversa. Análisis Forense en medios de pago.Eventos Creativos
 
Robos Y Fraudes Informáticos
Robos Y Fraudes InformáticosRobos Y Fraudes Informáticos
Robos Y Fraudes Informáticosguest0b9717
 
La importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloadsLa importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloadsVictor Pacajoj
 
[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...
[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...
[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...Iván Portillo
 
Suplantación
SuplantaciónSuplantación
SuplantaciónShinyel
 
Internet
InternetInternet
Internetreynate
 
Asegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTAsegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTIgnacio Martín
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoRené Olivo
 
DELITO Y FRAUDE INFORMÁTICO
DELITO Y FRAUDE INFORMÁTICODELITO Y FRAUDE INFORMÁTICO
DELITO Y FRAUDE INFORMÁTICOcontiforense
 
Suplantacion de identidad
Suplantacion de identidadSuplantacion de identidad
Suplantacion de identidadgabriel
 
Curso modelamiento base de datos
Curso modelamiento base de datosCurso modelamiento base de datos
Curso modelamiento base de datosAmigo Fiel
 

Similar a Detenga el fraude complejo con Neo4j (20)

Hacking Web: Attacks & Tips
Hacking Web: Attacks & TipsHacking Web: Attacks & Tips
Hacking Web: Attacks & Tips
 
Percepción y Adopción de Tecnología: Disrupción en los Sistemas Financieros
Percepción y Adopción de Tecnología: Disrupción en los Sistemas FinancierosPercepción y Adopción de Tecnología: Disrupción en los Sistemas Financieros
Percepción y Adopción de Tecnología: Disrupción en los Sistemas Financieros
 
Conexión inversa. Análisis Forense en medios de pago.
Conexión inversa. Análisis Forense en medios de pago.Conexión inversa. Análisis Forense en medios de pago.
Conexión inversa. Análisis Forense en medios de pago.
 
Bitcoin y (in)seguridad: 5 paradojas
Bitcoin y (in)seguridad: 5 paradojasBitcoin y (in)seguridad: 5 paradojas
Bitcoin y (in)seguridad: 5 paradojas
 
Robos Y Fraudes Informáticos
Robos Y Fraudes InformáticosRobos Y Fraudes Informáticos
Robos Y Fraudes Informáticos
 
La importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloadsLa importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloads
 
[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...
[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...
[2020] OSINTCity - Ciberinteligencia: Surface Crawling - Ivan Portillo y Gonz...
 
Suplantación
SuplantaciónSuplantación
Suplantación
 
¿Quién, cuándo, dónde y por qué?
¿Quién, cuándo, dónde y por qué?¿Quién, cuándo, dónde y por qué?
¿Quién, cuándo, dónde y por qué?
 
Bitcoin. jose navas
Bitcoin. jose navasBitcoin. jose navas
Bitcoin. jose navas
 
Sql Injection
Sql InjectionSql Injection
Sql Injection
 
jdlaksjionc
jdlaksjioncjdlaksjionc
jdlaksjionc
 
Internet
InternetInternet
Internet
 
Comercio electrónico
Comercio electrónicoComercio electrónico
Comercio electrónico
 
Asegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTAsegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWT
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio Electrónico
 
DELITO Y FRAUDE INFORMÁTICO
DELITO Y FRAUDE INFORMÁTICODELITO Y FRAUDE INFORMÁTICO
DELITO Y FRAUDE INFORMÁTICO
 
Evitando el fraude a través de la presentación de la información en grafos
Evitando el fraude a través de la presentación de la información en grafosEvitando el fraude a través de la presentación de la información en grafos
Evitando el fraude a través de la presentación de la información en grafos
 
Suplantacion de identidad
Suplantacion de identidadSuplantacion de identidad
Suplantacion de identidad
 
Curso modelamiento base de datos
Curso modelamiento base de datosCurso modelamiento base de datos
Curso modelamiento base de datos
 

Más de Max De Marzi

DataDay 2023 Presentation
DataDay 2023 PresentationDataDay 2023 Presentation
DataDay 2023 PresentationMax De Marzi
 
DataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesDataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesMax De Marzi
 
Developer Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesDeveloper Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesMax De Marzi
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesMax De Marzi
 
Neo4j Training Cypher
Neo4j Training CypherNeo4j Training Cypher
Neo4j Training CypherMax De Marzi
 
Neo4j Training Modeling
Neo4j Training ModelingNeo4j Training Modeling
Neo4j Training ModelingMax De Marzi
 
Neo4j Training Introduction
Neo4j Training IntroductionNeo4j Training Introduction
Neo4j Training IntroductionMax De Marzi
 
Data Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4jData Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4jMax De Marzi
 
Fraud Detection and Neo4j
Fraud Detection and Neo4j Fraud Detection and Neo4j
Fraud Detection and Neo4j Max De Marzi
 
Neo4j Data Science Presentation
Neo4j Data Science PresentationNeo4j Data Science Presentation
Neo4j Data Science PresentationMax De Marzi
 
Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2Max De Marzi
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Max De Marzi
 
Decision Trees in Neo4j
Decision Trees in Neo4jDecision Trees in Neo4j
Decision Trees in Neo4jMax De Marzi
 
Neo4j y Fraude Spanish
Neo4j y Fraude SpanishNeo4j y Fraude Spanish
Neo4j y Fraude SpanishMax De Marzi
 
Data modeling with neo4j tutorial
Data modeling with neo4j tutorialData modeling with neo4j tutorial
Data modeling with neo4j tutorialMax De Marzi
 
Neo4j Fundamentals
Neo4j FundamentalsNeo4j Fundamentals
Neo4j FundamentalsMax De Marzi
 
Neo4j Presentation
Neo4j PresentationNeo4j Presentation
Neo4j PresentationMax De Marzi
 
Fraud Detection Class Slides
Fraud Detection Class SlidesFraud Detection Class Slides
Fraud Detection Class SlidesMax De Marzi
 
Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015Max De Marzi
 

Más de Max De Marzi (20)

DataDay 2023 Presentation
DataDay 2023 PresentationDataDay 2023 Presentation
DataDay 2023 Presentation
 
DataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesDataDay 2023 Presentation - Notes
DataDay 2023 Presentation - Notes
 
Developer Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesDeveloper Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker Notes
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph Databases
 
Neo4j Training Cypher
Neo4j Training CypherNeo4j Training Cypher
Neo4j Training Cypher
 
Neo4j Training Modeling
Neo4j Training ModelingNeo4j Training Modeling
Neo4j Training Modeling
 
Neo4j Training Introduction
Neo4j Training IntroductionNeo4j Training Introduction
Neo4j Training Introduction
 
Data Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4jData Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4j
 
Fraud Detection and Neo4j
Fraud Detection and Neo4j Fraud Detection and Neo4j
Fraud Detection and Neo4j
 
Neo4j Data Science Presentation
Neo4j Data Science PresentationNeo4j Data Science Presentation
Neo4j Data Science Presentation
 
Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1
 
Decision Trees in Neo4j
Decision Trees in Neo4jDecision Trees in Neo4j
Decision Trees in Neo4j
 
Neo4j y Fraude Spanish
Neo4j y Fraude SpanishNeo4j y Fraude Spanish
Neo4j y Fraude Spanish
 
Data modeling with neo4j tutorial
Data modeling with neo4j tutorialData modeling with neo4j tutorial
Data modeling with neo4j tutorial
 
Neo4j Fundamentals
Neo4j FundamentalsNeo4j Fundamentals
Neo4j Fundamentals
 
Neo4j Presentation
Neo4j PresentationNeo4j Presentation
Neo4j Presentation
 
Fraud Detection Class Slides
Fraud Detection Class SlidesFraud Detection Class Slides
Fraud Detection Class Slides
 
Neo4j in Depth
Neo4j in DepthNeo4j in Depth
Neo4j in Depth
 
Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015
 

Último

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 

Último (20)

TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 

Detenga el fraude complejo con Neo4j

  • 2. github.com/maxdemarzi About 200 public repositories Max De Marzi Neo4j Field Engineer Sobre Mi ! 01 02 03 04 maxdemarzi.com @maxdemarzi About 160 blog posts
  • 3. ¿Quiénes son los estafadores de hoy?
  • 4. Organizado en grupos Identidades Sintéticas Identidades Robadas Dispositivos secuestrados ¿Quiénes son los estafadores de hoy?
  • 5. Tipos de fraude • Fraude de Tarjeta de Credito • Fraude de Comerciantes • Anillos de Fraude • Fraude de Seguro • Fraude de Comercio Electrónico • Fraude que aún no conocemos…
  • 6. “No considere la tecnología tradicional adecuada para mantenerse al día con las tendencias criminales.” Market Guide for Online Fraud Detection, April 27, 2015
  • 7.
  • 9. Análisis del comportamiento de navegación y patrones sospechosos. Centrado en el Dispositivo Análisis de los usuarios y sus dispositivos 1. Centrado en la Navegación 2. Centric en la Identidad Análisis del comportamiento de anomalías por canal. 3. Computadora, Teléfonos Móviles Direcciones IP y ID del Usuario Transacción Comparativa Verificación de Identidad Métodos Tradicionales de 
 Detección de Fraude
  • 10. Incapaz de detectar: • Anillos de Fraude • Direcciones IP falsas • Dispositivos secuestrados • Identidades Sintéticas • Identidades Robadas • Y más… Debilidades ANÁLISIS DISCRETO Métodos Tradicionales de 
 Detección de Fraude Centrado en el Dispositivo Análisis de los usuarios y sus dispositivos 1. Centrado en la Navegación Análisis del comportamiento de navegación y patrones sospechosos. 2. Centric en la Identidad Análisis del comportamiento de anomalías por canal. 3.
  • 11. ANÁLISIS CONECTADOANÁLISIS DISCRETO Entre Canales Análisis del comportamiento de anomalías correlacionado entre canales. 4. Enlace de Entidades Análisis de las relaciones para detectar el crimen organizado y la colusión. 5. Detección de Fraude Aumentada Centrado en el Dispositivo Análisis de los usuarios y sus dispositivos 1. Centrado en la Navegación Análisis del comportamiento de navegación y patrones sospechosos. 2. Centric en la Identidad Análisis del comportamiento de anomalías por canal. 3.
  • 12. INVESTIGAR Deuda Rotatoria Numero de Cuentas INVESTIGAR Comportamiento Normal Detección de Fraude con 
 Análisis Discreto
  • 13. Deuda Rotatoria Numero de Cuentas Comportamiento Normal Patrón Fraudulento Detección de fraude con 
 Análisis Conectado
  • 14. Detección de fraude con Graphos
  • 15. Patrones de Subgrapho Ni: numero de vecinos de un nodo Ei: numero de relaciones en un subgrapho Wi: “peso” total the una subgrapho λw,i: mayor variabilidad de los "pesos" de un subgrafo
  • 20. •PageRank •ArticleRank •Betweenness Centrality •Closeness Centrality •Eigenvector Centrality •Degree Centrality •Harmonic Centrality Centralidad
  • 21. Agregue funciones gráficas a sus modelos de detección de fraude existentes Account ID Community Size Degree PageRank 1 31 15 10.7 3 4 12 3.4 5 98 9 11.2 •Influencia •Relaciones •Comunidades
  • 23. Vamos a crear algunos usuarios CREATE (john:User {name:"John"})
 CREATE (sheila:User {name:"Sheila"})
 CREATE (karen:User {name:"Karen"})
  • 24. Sheila Modelando un anillo de fraude como un gráfico John Karen
  • 25. John tiene algunas cuentas CREATE (cc1:Card {number:"4012888888881881", balance: 493.23}) CREATE (ba1:Account {number:"85474584", balance:1322.30, type:”Checking"}) CREATE (us1:Loan {number:"63493639", balance:5000.00, type:"Loan”}) CREATE (john)-[:HAS_ACCOUNT]->(cc1) CREATE (john)-[:HAS_ACCOUNT]->(ba1) CREATE (john)-[:HAS_ACCOUNT]->(us1)
  • 26. Sheila también tiene un número de identificación CREATE (ba2:Account {number:"25384738", balance:2983.99, type:"Checking"}) CREATE (cc2:Card {number:"5105105105105100", balance: 893.11}) CREATE (ssn2:Identification {number:"000-42-4329", type:”SSN"}) CREATE (sheila)-[:HAS_ACCOUNT]->(ba2) CREATE (sheila)-[:HAS_ACCOUNT]->(cc2) CREATE (sheila)-[:HAS_ID]->(ssn2)
  • 27. Karen tiene un número de teléfono CREATE (ba3:Account {number:"63493639", balance:3204.83, type:"Checking"}) CREATE (us2:Loan {number:"28372342", balance:5000.00, type:"Loan"}) CREATE (phone2:Phone {number:”312-606-0842"}) CREATE (karen)-[:HAS_ACCOUNT]->(ba3) CREATE (karen)-[:HAS_ACCOUNT]->(us2) CREATE (karen)-[:HAS_PHONE]->(phone2)
  • 29. John y Sheila están compartiendo un número de teléfono CREATE (phone1:Phone {number:"312-876-5309"}) CREATE (john)-[:HAS_PHONE]->(phone1) CREATE (sheila)-[:HAS_PHONE]->(phone1)
  • 30. John y Karen comparten un número de identificación CREATE (ssn1:Identification {number:"000-91-7434", type:"SSN"}) CREATE (john)-[:HAS_ID]->(ssn1) CREATE (karen)-[:HAS_ID]->(ssn1)
  • 31. Todos comparten la misma dirección CREATE (ad:Address {line1:"175 N. Harbor Drive", city:"Chicago", state:"IL", zip:”60601"}) CREATE (john)-[:HAS_ADDRESS]->(ad) CREATE (karen)-[:HAS_ADDRESS]->(ad) CREATE (sheila)-[:HAS_ADDRESS]->(ad)
  • 32. Sheila John Karen TARJETA DE CRÉDITO CUENTA DE CHEQUES CUENTA DE CHEQUES NÚMERO DE TELÉFONO PRESTAMO NO ASEGURADO SSN 2 PRESTAMO NO ASEGURADO Comenzando a conectar los puntos ... TARJETA DE CRÉDITO CUENTA DE CHEQUES DIRECCION NÚMERO DE TELÉFONO SSN 1
  • 33. Agreguemos a Robert CREATE (robert:User {name:"Robert"}) CREATE (ba4:Account {number:"8374927", balance:1273.39, type:"Checking"}) CREATE (cc3:Card {number:"378282246310005", balance: 134.72}) CREATE (robert)-[:HAS_ACCOUNT]->(ba4) CREATE (robert)-[:HAS_ACCOUNT]->(cc3)
  • 34. • Triangle Count • Clustering Coefficients • Connected Components (Union Find) • Strongly Connected Components • Label Propagation • Louvain Modularity • Balanced Triad (identification) Community Detection • Degree Centrality • Closeness Centrality • CC Variations: Harmonic, Dangalchev, Wasserman & Faust • Betweenness Centrality • Approximate Betweenness Centrality • PageRank • Personalized PageRank • ArticleRank • Eigenvector Centrality • Euclidean Distance • Cosine Similarity • Jaccard Similarity • Overlap Similarity • Pearson Similarity Centrality / Importance Similarity Link Prediction • Adamic Adar • Common Neighbors • Preferential Attachment • Resource Allocations • Same Community • Total Neighbors Algoritmos Gráficos
  • 35. Algoritmo de grafico Union Find Encuentra conjuntos donde todos los nodos pueden llegar a todos los demás nodos •Detección de fraude •Deduplicación •Resolución de la entidad Consulte la publicación del blog “The Real Property Graph”
  • 36. Algoritmo de grafico Union Find CALL algo.unionFind.stream(   'MATCH (p:User) RETURN id(p) as id',   'MATCH (p1:User)-->()<--(p2:User)    RETURN id(p1) as source, id(p2) as target',   {graph:'cypher'} ) YIELD nodeId, setId RETURN algo.asNode(nodeId).name AS user, setId
  • 37. Algoritmo de grafico Union Find
  • 39. Sheila John Karen TARJETA DE CRÉDITO CUENTA DE CHEQUES CUENTA DE CHEQUES NÚMERO DE TELÉFONO PRESTAMO NO ASEGURADO SSN 2 PRESTAMO NO ASEGURADO Supongamos que no son tan estúpidos TARJETA DE CRÉDITO CUENTA DE CHEQUES
  • 40. Llamaron desde el mismo número MATCH (john:User {name:"John"}), (sheila:User {name:"Sheila"}) CREATE (ani:ANI {number:"312-666-1234"}) CREATE (ani)-[:CALLED]->(john) CREATE (ani)-[:CALLED]->(sheila)
  • 41. Ingresaron usando el mismo navegador MATCH (john:User {name:”John"}), (robert:User {name:”Robert"}) CREATE (fg:Browser {fingerprint:”asdf7373jsdf3rw"}) CREATE (fg)-[:ACCESSED]->(john) CREATE (fg)-[:ACCESSED]->(robert)
  • 42. Sheila John Robert TARJETA DE CRÉDITO CUENTA DE CHEQUES CUENTA DE CHEQUES NÚMERO DE TELÉFONO PRESTAMO NO ASEGURADO SSN 2 PRESTAMO NO ASEGURADO Conectados por sus "conexiones" TARJETA DE CRÉDITO CUENTA DE CHEQUES BROWSER ANI NUMBER
  • 43. Algoritmo de grafico Union Find otra vez CALL algo.unionFind.stream(   'MATCH (p:User) RETURN id(p) as id',   'MATCH (p1:User)<-[:ACCESSED]-()-[:ACCESSED]->(p2:User)    RETURN id(p1) as source, id(p2) as target',   {graph:'cypher'} ) YIELD nodeId, setId RETURN algo.asNode(nodeId).name AS user, setId
  • 44. Algoritmo de grafico Union Find
  • 46.
  • 47. Almacene los resultados de Union Find CALL algo.unionFind(   'MATCH (p:User) RETURN id(p) as id',   'MATCH (p1:User)--()--(p2:User)    RETURN id(p1) as source, id(p2) as target',   {graph:'cypher'} ) YIELD setCount
  • 48. Veamos estas particiones MATCH (n:User) RETURN n.partition, COUNT(*) AS members, COLLECT(n.name) AS names ORDER BY members DESC
  • 49. Nuestros estafadores están todos conectados
  • 50. Nuestros estafadores están todos conectados
  • 51. Fraude de Tarjeta de Credito
  • 52. De un Cajero Automático Violaciones de Datos Sofisticadas Recopilación de información de Tarjeta de Crédito Comerciante Fraudulento
  • 53. UTILIZA EMITE Terminal ATM Violacíon de Datos Titular de la tarjeta Banco Estafador UTILIZA $5HACE $1 0 HACE $2 HACE HACE $4000 CON Pruebas Comerciantes CON HACE Tx
  • 54. Transacciones con tarjeta de crédito como un gráfico CREATE (john:User {name:"John"}) CREATE (m1:Merchant {name:"Computer Store"}) CREATE (m2:Merchant {name:"Gas Station"}) CREATE (m3:Merchant {name:"Jewelry Store"}) CREATE (m4:Merchant {name:"Furniture Store"}) CREATE (tx1:Transaction:Fraudulent {amount: 2000.00, date:datetime()}) CREATE (tx2:Transaction {amount: 35.00, date:datetime() - duration('P1D')}) CREATE (tx3:Transaction {amount: 25.00, date:datetime() - duration('P2D')}) CREATE (tx4:Transaction {amount: 12.00, date:datetime() - duration('P3D')}) CREATE (tx1)-[:AT_MERCHANT]->(m1) CREATE (tx2)-[:AT_MERCHANT]->(m2) CREATE (tx3)-[:AT_MERCHANT]->(m3) CREATE (tx4)-[:AT_MERCHANT]->(m4)
  • 55. CREATE (john)-[:MAKES]->(tx1) CREATE (john)-[:MAKES]->(tx2) CREATE (john)-[:MAKES]->(tx3) CREATE (john)-[:MAKES]->(tx4) Transacciones con tarjeta de crédito como un gráfico
  • 56. // The last week of John's transactions MATCH p = (n:User {name:"John"})-[:MAKES]->(tx) WHERE tx.date > datetime() - duration('P7D') RETURN p Transacciones de John la semana pasada
  • 57. Transacciones de John la semana pasada
  • 58. Transacciones con tarjeta de crédito como una lista MATCH (u:User) WHERE SIZE((u)-[:PREV_TX]->()) = 0 AND SIZE((u)-[:MAKES]->()) > 0 WITH u LIMIT 100 MATCH (u)-[r:MAKES]->(tx) WITH u, tx ORDER BY tx.date DESC WITH u, COLLECT(tx) AS transactions, HEAD(COLLECT(tx)) AS last CREATE (u)-[:PREV_TX]->(last) FOREACH (n IN RANGE(0, SIZE(transactions)-2) | FOREACH (next IN [transactions[n]] | FOREACH (prev IN [transactions[n+1]] | CREATE (next)-[:PREV_TX]->(prev) )))
  • 59. // The last week of John's transactions MATCH p = (n:User {name:"John"})-[:PREV_TX*]->(tx) WHERE NONE (tx IN tail(nodes(p))           WHERE tx.date <= datetime() - duration('P7D')) RETURN p Transacciones de John la semana pasada
  • 60. Transacciones de John la semana pasada
  • 61.
  • 62.
  • 63. TxTx Tx TxTx Tx Tx TxTxTx TxJuan
  • 64. Tx $20000 TxTx Tx Tx TxTxTxTx Tx Tx Tienda Computad Juan
  • 65. Tx $20000 Tx Tx $250$100$40 TxTx Tx Tx TxTxTx Tienda de Computadoras Juan
  • 66. Siguiendo los pasos en la arena // All the transactions marked fraudulent in the last week // and the transactions that came before them // up to two weeks ago. MATCH p = (fraud:Fraudulent)-[:PREV_TX*]->(tx) WHERE fraud.date > datetime() - duration('P7D')   AND NONE (tx IN tail(nodes(p)) WHERE tx.date <= datetime() - duration('P14D')) RETURN p
  • 67. Siguiendo los pasos en la arena
  • 68. Tx Tx $20000 Tx Tx $250$100$40 TxTx Tx Tx TxTxTx Tienda de Computadoras Juan Maria $20 TxTx TxTxTx Tx Tx TxTx $30000 Tx Joyería Tx $30
  • 69. Tx Tx $20000 Tx Tx $250$100$40 TxTx Tx Tx TxTxTx Tienda de Computadoras Juan Maria $20 TxTx TxTxTx Tx Tx TxTx $30000 Tx Joyería Tx $30 Roberto TxTxTx Tx TxTx TxTxTx Tx Tx
  • 70. TxTx $20 TxTx Tx $20000 Tx Tx $250$100$40 TxTx Tx Tx TxTxTx Tienda de Computadoras Juan María Roberto $30 Sofía TxTxTx Tx Tx TxTx $30000 Tx Joyería Tx $30 TxTxTx Tx Tx TxTx TxTx TxTx TxTx Tx Tx TxTx $80 $120 Tx $50000 Tienda de Muebles Tx Tx Tx
  • 71. Encuentra a los comerciantes sospechosos // Top 5 common merchants from fraudulent transaction chains up to two weeks ago. MATCH p = (fraud:Fraudulent)-[:PREV_TX*]->(tx) WHERE fraud.date > datetime() - duration('P7D')   AND NONE (tx IN tail(nodes(p))             WHERE tx.date <= datetime() - duration('P14D')) WITH nodes(p) AS transactions UNWIND transactions AS tx WITH DISTINCT tx MATCH (tx)-[:AT_MERCHANT]->(merchant) RETURN merchant.name, COUNT(*) AS txCount ORDER BY txCount DESC LIMIT 5
  • 72. Encuentra a los comerciantes sospechosos
  • 73. TxTx $20 TxTx Tx $20000 Tx Tx $250$100$40 TxTx Tx Tx TxTxTx Tienda de Computadoras Juan Gasolinera María Roberto $30 Sofía TxTxTx Tx Tx TxTx $30000 Tx Joyería Tx $30 TxTxTx Tx Tx TxTx TxTx TxTx TxTx Tx Tx TxTx $80 $120 Tx $50000 Tienda de Muebles Tx Tx Tx
  • 74. Cómo Neo4j encaja en su Arquitectura
  • 75. Transferencia de Dinero Compras Servicios Bancarios Base de Datos Relacional Desarrollar Patrones Equipo de Ciencia de Datos + Bueno para análisis discreto – Sin visión holística de las relaciones de datos – Velocidad de consulta lenta para conexiones
  • 76. Transferencia de Dinero Compras Servicios Bancarios Base de Datos Relacional Lago de Datos + Bueno para “Map Reduce” + Bueno para cargas de trabajo analíticas – Sin visión holística – Cargas de trabajo no operacionales – Procesos de semanas a meses Desarrollar Patrones Equipo de Ciencia de Datos Datos del comerciante Datos de Crédito Otra Información
  • 77. Transferencia de Dinero Compras Servicios Bancarios Tiempo Real Neo4j Cluster DETECTAR Flujo de Transacciones RESPONDER Alertas y Notificaciones CARGAR DATOS RELEVANTES Base de Datos Relacional Lago de Datos Visualización Patrones de Ajuste Fino Desarrollar Patrones Equipo de Ciencia de Datos Datos del comerciante Datos de Crédito Otra Información
  • 78. Transferencia de Dinero Compras Servicios Bancarios Tiempo Real Neo4j Cluster DETECTAR Flujo de Transacciones RESPONDER Alertas y Notificaciones CARGAR DATOS RELEVANTES Base de Datos Relacional Lago de Datos Visualización Patrones de Ajuste Fino Desarrollar Patrones Equipo de Ciencia de Datos Datos del comerciante Datos de Crédito Otra Información Conjunto de datos utilizado para explorar nuevas ideas
  • 80. Nosotros hablamos acerca de… Los Estafadores de Hoy Ejemplos: Anillos de fraude Prueba de Tarjeta de Crédito Origen del Fraude Cómo Neo4j encaja en una Arquitectura
  • 81. Detectar y prevenir fraudes en tiempo real Análisis y transacciones de riesgo crediticio más rápidos Reduce las devoluciones de cargo Adaptarse rápidamente a nuevos métodos de fraude ¿Por qué Neo4j? ¿Quién lo está usando? Las Instituciones Financieras usan Neo4j para: FINANCE Empresas de Tarjetas de Crédito Comerciantes
  • 82. No realmente, ¿por qué Neo4j?
  • 83. Registros de tamaño fijo en dos formaciones “Uniones” desde la creación A través de esta estructura de datos Acceso directo en lugar de búsquedas1 2 3 4 La Receta Secreta de Neo4j Saltamos de la colección de nodos a la colección de relaciones y otra vez a nodos
  • 84. Particiones Las relaciones de cada nodo están divididas por tipo y dirección.
  • 85. ¡Recursos Valiosos! neo4jsandbox.com https://neo4j.com/use-cases/fraud-detection/ neo4j.com/product Sandbox Detección de Fraude Producto