Medios generalistas recogieron la noticia de que investigadores de Google habían inventado un procedimiento con deep learning para crear algoritmos criptográficos sin intervención humana. En esta ponencia se analiza como funcionan y sobre todo se desmitifica su potencia desde un punto de vista técnico (criptográfico y de machine learning).
5. Curiosamente, también es una de
las ramas más optimistas,
mostrando cómo incluso en el
peor escenario inimaginable el
poder de las matemáticas y la
algoritmia puede sobreponerse a
cualquier dificultad…
La criptografía es una de las ramas más pesimistas de la ciencia. Asume la existencia de
adversarios con capacidad ilimitada de ataque, los cuales pueden leer todos tus mensajes,
generar información ilegítima o modificar tus claves aleatorias a su antojo.
7. QUIERO GALLETASNSA!!!
Clave Publica
Clave Privada
Candado = Clave Pública
Llave = Clave privada
Cofre = Algoritmo criptográfico
Galleta = información a proteger
Diffie, W. y M.E.Hellman. "New directions in cryptography", IEEE Transactions on Information Theory 22 (1976), pp. 644-654
• Algoritmo RSA, el Gamal, funciones unidireccionales, curvas elípticas (80s)…
• El problema de la confianza: infraestructura de clave pública (PKI), certificados digitales, KDC, Kerberos, anillos de
confianza (80-90s), criptografía cuántica, …
• Certificados digitales – Certificate Pinning, Certificate Transparency, HSTS, HPKP…
9. • Matemática e “ingenieros” => Criptografía = Algoritmo + Clave
• Arquitecturas flexibles y criptografía as a service
• “Atacar/comprender” criptografía en el mundo real
• ¿No hay otra opción?
• Criptografía “actual” (investigación)
• Full Homomorphic encryption (SWHE-FHE)
- Second homomorphic encryption standardization workshop (Mar2018)
- https://projects.csail.mit.edu/HEWorkshop/HomomorphicEncryptionStandard2018.pdf
• Post Quantum Encryption
• https://csrc.nist.gov/Projects/Post-Quantum-Cryptography/Post-Quantum-Cryptography-Standardization
• Quantum computation, Shor-Grover algorithms…
• Authentication Encryption, Format-Preserving Encryption, Searchable Encryption, Tweakable Encryption, Lattice-Based
Cryptography, Pairings-Based Cryptography, Multivariate Cryptography…
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
>>
>>
10. Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
https://i.blackhat.com/us-18/Wed-August-8/us-18-Camurati-Screaming-
Channels-When-Electromagnetic-Side-Channels-Meet-Radio-
Tranceivers.pdf
SSL/TLS and PKI History
A comprehensive history of the most
important events that shaped the
SSL/TLS and PKI ecosystem
https://www.feistyduck.com/ssl-tls-and-pki-history/
16. “When you quickly detect, respond to and disrupt your
adversaries’ activities, defense becomes offense…”
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
18. • Disciplinas de la ciberseguridad (defensiva) de las que puede beneficiarse el ML:
Data Security / Cryptography - Protección de la información (cifrado de la información)
Access Control - Autenticación, autorización, identificación y perfilado.
Security Architecture & Design
Security operations – Gestión de la configuración (asignación de recursos), disponibilidad,
verificación técnica…
Software Development Security
Information Security Governance & Risk Management & Compliance
Telecommunications & Network Security - análisis de tráfico/registro (IDS/IPS, logs…), fuga de
información, phising detection, …
Fraud detection / Malware prevention
User Behavior anomaly detection
• Limitantes: datos (cantidad/calidad), entrenamiento (offline/online), thread model.
• ¿Redes neuronales es la solución a todos los problemas?
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
Dr. Alfonso Muñoz - [RootedCON 2016 - ESP] - Cryptography with brainwaves for fun and... profit?
19. Protegiendo Datos – Mejorando la esteganografía
https://arxiv.org/pdf/1703.05502.pdf
https://github.com/dvolkhonskiy/adversarial-steganography
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
23. • Tipos de ataques:
• Ataques clásicos (mejorados con ML) - fuzzing, password guessing,
• Sistemas “sintéticos” atacando a algoritmos de machine learning <===============
• Ataques ML a sistemas ML (Adversarial Machine Learning) <==================
• Ataques mixtos con ML (robo del modelo, puertas traseras, etc.) < ===========
Input
Training
modelalgorithm
Output
Off the Beaten Path: Machine Learning for Offensive Security -
https://pdfs.semanticscholar.org/e0d6/af4067d0b51794c3ae91fccfd1909d784a5b.pdf
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
24. 1. Ataques clásicos (mejorados con ML)
https://arxiv.org/pdf/1709.00440.pdf
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
26. 3. Ataques contra ML – Tipos de ataques
• Evasion Attacks
• Poisoning Attacks
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
https://github.com/tensorflow/cleverhans
27. • AdversariaLib (includes implementation of evasion attacks]).
• AlfaSVMLib. Adversarial Label Flip Attacks against Support Vector Machines
• Poisoning Attacks against Support Vector Machines and Attacks against Clustering
Algorithms http://pralab.diee.unica.it/en/BattistaBiggio/Code
• deep-pwning. Metasploit for deep learning which currently has attacks on deep
neural networks using Tensorflow
• The GAN Zoo - https://github.com/hindupuravinash/the-gan-zoo
DEF CON 24 - Clarence Chio - Machine Duping 101: Pwning
Deep Learning Systems - https://www.youtube.com/watch?v=
JAGDpJFFM2Ahttps://github.com/tensorflow/cleverhans
• Testing purposes and research
28. 4. Ataques mixtos – Robo de modelos / Puertas traseras
Criptografía y Deep Learning – Dr. Alfonso Muñoz @mindcrypt
https://arxiv.org/abs/1609.02943 (USENIX Security 2016)
Ejemplo sencillo
Ataque en regresión
logística
https://arxiv.org/pdf/1708.06733.pdf
29. You may say I'm
a dreamer, but
I'm not the only
one…
- John Lennon (Imagine)
30.
31. “Un máquina solo puede ser vencida
por otra máquina...” - Alan Turing
=> Idea revolucionaria
Criptografia = Algoritmo + clave
https://www.bbvanexttechnologies.com/wp-content/uploads/2018/07/amunoz-
jescribano-criptograf%C3%ADa-adversaria-recsi-2018.pdf
32. Stephen Wiesner (1970) - “Quantum money”
https://en.wikipedia.org/wiki/Quantum_money
Criptografía
basada en
oscuridad
Principios
de
Kerckhoffs
Criptografía
de clave
pública
18835000 BC 1976
Full
Homomorphic
Encryption
2009 a …
Craig Gentry
BB84, E91,
SARG04…
33. http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-
machine-learning-is-easier-than-defending-it.html
"Generative Adversarial Networks (GAN) and the variations that
are now being proposed is the most interesting idea in the last 10
years in ML, in my opinion.“ - Yann LeCun
“La idea de GAN consiste en tener dos redes neuronales
compitiendo, el generator y el discriminator. El generator
crea nuevas muestras de datos a partir de entradas
ruidosas, mientras que el discriminator recibe muestras
tanto de datos de entrenamiento como de los que
provienen del generator y debe de ser capaz de
diferenciar entre las dos fuentes. Ambas se encuentran en
un “juego” continuo en el que el generator aprende a
crear cada vez muestras más realistas y el discriminator
aprende cada vez a diferenciar mejor entre las muestras
reales y las generadas…”
Ejemplos adversarios
34. Detalles (1/3) – Criptografía adversaria (Google)
Learning to Protect Communications with Adversarial Neural Cryptography – Martín Abadi, David G. Andersen (Google Brain)
https://arxiv.org/abs/1610.06918
Variación de GAN => Tres actores: Alice, Bob, Eve (redes neuronales)
Entrada de Alice: texto plano (P) y clave (K), precompartida con Bob.
P y K son números reales en el rango [-1, 1] => (-1 = bit 0) y (+1 = bit 1)
35. Detalles (2/3) – Criptografía adversaria (Google)
Learning to Protect Communications with Adversarial Neural Cryptography – Martín Abadi, David G. Andersen (Google Brain)
Alice => Entrada 2N bits (N bits de P y N bits de K)
» 5 capas ocultas: 1 fully connected, 4 capas convolucionales (función
activación sigmoide menos la última capa que usa tanh)
Bob y Eve => Igual que Alice, salvo entrada de N bits en vez de 2N.
Las tres redes compiten entre sí. Alice aprende a cifrar el mensaje P,
Bob intenta descifrar el criptograma (usando K), y Eve intenta descifrar
sólo el 50% de los bits.
Fase de entrenamiento y clasificación (cifrado)
• 850.000 pasadas Condición parada (Bob 2% error)
• Entrenamiento con 4096 ejemplos de longitud 2N, generados
aleatoriamente tanto para P como K. En el paper, se utiliza N = 16, 32
y 64 bits (tamaño de bloque).
38. Análisis Crítico y limitaciones (1/3)
Learning to Protect Communications with Adversarial Neural Cryptography – Martín Abadi, David G. Andersen (Google Brain)
Código disponible en GitHub: https://git.io/fA6BT
Software y Hardware para experimentación:
» Tensorflow GPU – NVIDIA GTX 1080
» Intel Core i7-5960X a 3GHz (128 GB RAM)
» Modificación: 128 bits (tamaño de bloque)
Fase de entrenamiento:
» Necesidad de textos aleatorios: de otra forma se obtienen
» cifrados todos los bits 0 o todos los bits 1
Fase de evaluación (una vez entrenado)
» No es posible variar el texto de entrada
,
41. Análisis Crítico y limitaciones (2/3)
Propiedades estadísticas de los criptogramas generados por Alice
• Tamaño de P y K con 128 bits.
• Fase de entrenamiento de 850000 pasadas.
• Agrupado en 4250 bloques con 4096 pares de P y K.
• Total bits analizados 2.228.224.000 de las diferentes “rondas” del algoritmo.
Evaluación con test estadísticos y test clásicos (NIST, Diehard, …)
Learning to Protect Communications with Adversarial Neural Cryptography – Martín Abadi, David G. Andersen (Google Brain)
42. Análisis Crítico y limitaciones (3/3)
Efecto avalancha – Modificación de bits en función de P y K
• Evaluación en fase de entrenamiento: generamos 17.408.000 criptogramas de 128 bits
(aleatorios*)
• Probabilidad de modificación por bloques (Modificación de los bits no equiprobable)
- Bits 1-16 = 69% Bits 16-32 = 21% Bits 32-48 = 0,2% Bits 48-64 = 0,2%
- Bits 64-80 = 0,2% Bits 80-96 = 0,2% Bits 96-112 = 1,2% Bits 112-128 =
7,1%
- Bits modificados valor máximo 127 (cambiamos todos los bits) y valor mínimo 1
La red neuronal infiere que la clave de entrada debe afectar a la
modificación del mensaje de entrada y lo consigue sin procedimiento
previo. Deduce un función criptográfica similar a un XOR…
Learning to Protect Communications with Adversarial Neural Cryptography – Martín Abadi, David G. Andersen (Google Brain)
43.
44. Aprende: Criptografía y Machine learning = => Salvaréis un gatito
• Necesidades ofensivas y defensivas (puestos de trabajo asociado)
Machine learning en ciberseguridad ==> Potencial
Nuevas propuestas de criptografía
• Criptografía adversaria (Google) usando Deep Learning
• Línea con recorrido pero insegura a día de hoy
• ¿Creación de herramientas adhoc?
45. Criptografía, Deep Learning y Google
Desmontando un sueño – Dr. Alfonso Muñoz (@mindcrypt) (t.me/criptored)
Dr. Alfonso Muñoz – Head of Cybersecurity Lab – BBVA Next
Twitter: @mindcrypt – alfonso.munoz.next@bbva.com
(Co)-Editor Criptored - alfonso@criptored.com - Telegram: t.me/criptored
https://es.linkedin.com/in/alfonsomuñoz
Gracias por la atención !!!! => ¿? || //
WE ARE HIRING!!! https://www.bbvanexttechnologies.com/unete-al-equipo/vacantes-de-empleo/