SlideShare a Scribd company logo
1 of 86
Detenga el fraude
complejo con Neo4j
github.com/maxdemarzi
Cerca de 200 repositorios
públicos
Max De Marzi
Neo4j Ingeniero de Campo
Sobre
Mi !
01
02
03
04
maxdemarzi.com
@maxdemarzi
160 entradas de blog
¿Quiénes son los estafadores
de hoy?
Organizado en grupos
Identidades Sintéticas Identidades Robadas
Sesiones
secuestradas
¿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
proporción de
relaciones a nodos
Power Law Peso
proporción de
“peso”
a las relaciones
Power Law Variabilidad de Peso
proporción de
variabilidad
a el “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 en su computadora
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
Robo 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
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

More Related Content

Similar to Cómo detener el fraude con Neo4j

[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
 
Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017
Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017
Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017eCommerce Institute
 
Suplantación
SuplantaciónSuplantación
SuplantaciónShinyel
 
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
 
Presentación: Norberto Mázas_eCommerce Day Montevideo 2013
Presentación: Norberto Mázas_eCommerce Day Montevideo 2013 Presentación: Norberto Mázas_eCommerce Day Montevideo 2013
Presentación: Norberto Mázas_eCommerce Day Montevideo 2013 eCommerce Institute
 
Robos Y Fraudes Informáticos
Robos Y Fraudes InformáticosRobos Y Fraudes Informáticos
Robos Y Fraudes Informáticosguest0b9717
 
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
 
201705 v1 hack_paraloschicos_ransom [autoguardado]
201705 v1 hack_paraloschicos_ransom [autoguardado]201705 v1 hack_paraloschicos_ransom [autoguardado]
201705 v1 hack_paraloschicos_ransom [autoguardado]Enrique Gustavo Dutra
 
Curso modelamiento base de datos
Curso modelamiento base de datosCurso modelamiento base de datos
Curso modelamiento base de datosAmigo Fiel
 
Suplantacion de identidad
Suplantacion de identidadSuplantacion de identidad
Suplantacion de identidadgabriel
 
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
 
Estafas y fraudes en la red
Estafas y fraudes en la redEstafas y fraudes en la red
Estafas y fraudes en la rednelsyyunibeth
 
Infrestructura PKIx
Infrestructura PKIxInfrestructura PKIx
Infrestructura PKIxjunral
 

Similar to Cómo detener el fraude con Neo4j (20)

[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...
 
Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017
Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017
Presentación Diego Vallarino | Equifax Uruguay - eCommerce Day Montevideo 2017
 
Comercio electrónico
Comercio electrónicoComercio electrónico
Comercio electrónico
 
Suplantación
SuplantaciónSuplantación
Suplantación
 
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
 
¿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é?
 
Hacking Web: Attacks & Tips
Hacking Web: Attacks & TipsHacking Web: Attacks & Tips
Hacking Web: Attacks & Tips
 
Presentación: Norberto Mázas_eCommerce Day Montevideo 2013
Presentación: Norberto Mázas_eCommerce Day Montevideo 2013 Presentación: Norberto Mázas_eCommerce Day Montevideo 2013
Presentación: Norberto Mázas_eCommerce Day Montevideo 2013
 
Fraude cibernético
Fraude cibernéticoFraude cibernético
Fraude cibernético
 
Robos Y Fraudes Informáticos
Robos Y Fraudes InformáticosRobos Y Fraudes Informáticos
Robos Y Fraudes Informáticos
 
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
 
Agente Virtual
Agente Virtual Agente Virtual
Agente Virtual
 
201705 v1 hack_paraloschicos_ransom [autoguardado]
201705 v1 hack_paraloschicos_ransom [autoguardado]201705 v1 hack_paraloschicos_ransom [autoguardado]
201705 v1 hack_paraloschicos_ransom [autoguardado]
 
Bitcoin. jose navas
Bitcoin. jose navasBitcoin. jose navas
Bitcoin. jose navas
 
Maria Raquel Araos
Maria Raquel AraosMaria Raquel Araos
Maria Raquel Araos
 
Curso modelamiento base de datos
Curso modelamiento base de datosCurso modelamiento base de datos
Curso modelamiento base de datos
 
Suplantacion de identidad
Suplantacion de identidadSuplantacion de identidad
Suplantacion de identidad
 
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.
 
Estafas y fraudes en la red
Estafas y fraudes en la redEstafas y fraudes en la red
Estafas y fraudes en la red
 
Infrestructura PKIx
Infrestructura PKIxInfrestructura PKIx
Infrestructura PKIx
 

More from Neo4j

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansNeo4j
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...Neo4j
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosNeo4j
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Neo4j
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsNeo4j
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j
 

More from Neo4j (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with Graph
 

Recently uploaded

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Recently uploaded (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Cómo detener el fraude con Neo4j

  • 2. github.com/maxdemarzi Cerca de 200 repositorios públicos Max De Marzi Neo4j Ingeniero de Campo Sobre Mi ! 01 02 03 04 maxdemarzi.com @maxdemarzi 160 entradas de blog
  • 3. ¿Quiénes son los estafadores de hoy?
  • 4. Organizado en grupos Identidades Sintéticas Identidades Robadas Sesiones secuestradas ¿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
  • 17. Power Law Peso proporción de “peso” a las relaciones
  • 18. Power Law Variabilidad de Peso proporción de variabilidad a el “peso”
  • 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 en su computadora 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 Robo 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 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