Semana de la Matemática – FCEyN – UBA
El arte de rompercódigos secretos
(edición Da Vinci)
Carlos Sarraute
30 abril 2007
Semana de la Matemática – FCEyN – UBA
Presentación
� Trabajo en el laboratorio de investigación de Core Security Technologies (desde 2000)– empresa de seguridad informática
– software para penetration tests
� Algunos proyectos del laboratorio– falla en la autenticación de MySQL
– ataque por timing del protocolo SSH
– simulación y planificación de ataques a redes
– reconocimiento de sistemas operativos» presentado con J.Burroni en PacSec (Tokyo), EUSecWest
(London), SSTIC (Francia), HITB (Kuala Lumpur)
Semana de la Matemática – FCEyN – UBA
Criptografía
� Uno de los fundamentos de la seguridad de la información
� La criptografía es el estudio de las comunicaciones en presencia de adversarios– confidencialidad
– autenticidad
– integridad
– no repudio
� Ejemplo típico = sistemas para establecer comunicaciones secretas sobre un canal inseguro
Semana de la Matemática – FCEyN – UBA
Necesidad de privacidad en la Internet
� Ejemplo más concreto: mensajes privados / compras por Internet
� Información privada– cartas
– número de tarjeta de crédito
� Circula por muchos servidores entre el cliente y el negocio
� Como proteger esa información?
Semana de la Matemática – FCEyN – UBA
Sistema de encripción
� Encriptar la información (el mensaje)
� Transformar el mensaje usando un sistema de encripción y una clave secreta
mensajeplano
mensajeplano
mensajeencriptado
EKDK
Semana de la Matemática – FCEyN – UBA
Intercambio de claves
� N personas requieren
N (N-1) / 2 claves
5
34
2
1
Semana de la Matemática – FCEyN – UBA
Sistemas de clave pública y privada
� Diffie – Hellman (1976): “New directions in Cryptography”
� Cada persona tiene 2 claves– se encripta con la clave pública
– se desencripta con la clave privada
� Como encriptar mails?– usar PGP (pretty good privacy)
– Enigmail = extensión de Thunderbird
Semana de la Matemática – FCEyN – UBA
Y la seguridad?
� pregunta: como saber si un sistema es seguro?
� definición: es seguro si resiste a los ataques
� Criptoanálisis = el arte de romper códigos secretos– bueno, arte y ciencia
– métodos artesanales» hasta el siglo 19
– búsqueda de formalización y generalización
Semana de la Matemática – FCEyN – UBA
Estaría bueno poder demostrar...
� Por que intervienen los matemáticos?
� Muchos sistemas están basados en problemas matemáticos que son difíciles– RSA = sistema de clave pública y privada
– basado en el problema de factorizar números muy grandes
� Se puede demostrar que un sistema es seguro contra cualquier atacante?
Semana de la Matemática – FCEyN – UBA
El secreto perfecto
� Shannon definió el secreto perfecto (1948)– un sistema que resiste a cualquier atacante, incluso con
poder de cómputo y tiempo infinito
– problema: la clave tiene que ser tan
larga como el texto
– existe, es el one time pad» se usaba para las comunicaciones entre
Washington y el Kremlin
Semana de la Matemática – FCEyN – UBA
Ejemplo de criptoanálisis del Código Da Vinci
� Jacques Saunière, conservador del Museo del Louvre, aparece muerto en la gran galería, desnudo al medio de un circulo trazado en el piso
� Robert Langdon, especialista en simbología religiosa
� Sophie Neveu
criptógrafa de la DGPJ
Semana de la Matemática – FCEyN – UBA
Mensaje críptico
� Pintado en el piso con tinta fluorescente
13 – 3 – 2 – 21 – 1 – 1 – 8 – 5
¡Diavole in Dracon!
Límala, asno
Semana de la Matemática – FCEyN – UBA
Anagramas
� 13 – 3 – 2 – 21 – 1 – 1 – 8 – 5
� reordenado da la serie de Fibonacci
1 – 1 – 2 – 3 – 5 – 8 – 13
� Diavole in Dracon!– 15 letras: a a c d d e i i l o o n n r v
– cuantas permutaciones hay?
Semana de la Matemática – FCEyN – UBA
Anagramas
� 13 – 3 – 2 – 21 – 1 – 1 – 8 – 5
� reordenado da la serie de Fibonacci
1 – 1 – 2 – 3 – 5 – 8 – 13
� Diavole in Dracon!– 15 letras: a a c d d e i i l o o n n r v
– cuantas permutaciones hay?
– si fuesen todas diferentes: 15.14.13 ... 2.1 = 15!
– como hay repetidas: 15! / ( 2 . 2 . 2 . 2 . 2 ) = 40.864.824.000
Semana de la Matemática – FCEyN – UBA
Fuerza bruta! usando un diccionario
� Dividir los 15 espacios en subconjuntos mas chicos– por ejemplo 8 + 5 + 2 letras
� Probar con todas las palabras de 8 letras que usen solo las letras permitidas– luego con todas las de 5 letras (usando las letras restantes)
– luego con todas las de 2 letras (las que quedan)
� Diccionario con 20.000 palabras
Semana de la Matemática – FCEyN – UBA
Cantidad de palabras según cantidad de letras
letras palabras1 72 533 1594 6395 16206 23417 31768 34899 3024
10 247511 162212 89413 55114 26415 14016 5617 1818 519 3
0
500
1000
1500
2000
2500
3000
3500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Semana de la Matemática – FCEyN – UBA
Resultados para “Diavole in Dracon”
� Incendiado valor
� Encarnado livido
� Con el adivinador
� Vil ira condenado
� El Vinci adornado
� Invadida en color
� ...
� Leonardo da Vinci
� ...
Semana de la Matemática – FCEyN – UBA
Resultados para “Límala asno”
� Ama anillos
� Anima al sol
� Allá sin amo
� Allí os aman
� ...
� La Mona Lisa
� ...
� en total 510 resultados
� Conclusión: ataques de diccionario son muy eficientes– diccionarios de contraseñas comunes
Semana de la Matemática – FCEyN – UBA
Cifrado de Cesar
HQ OD FLXGDG GH ORQGUHV, HQWHUUDGR
SRU HO SDSD, UHSRVD XQ FDEDOOHUR.
GHVSHUWDURQ ORV IUXWRV GH VXV REUDV
ODV LUDV GH ORV KRPEUHV PDV VDJUDGRV.
HO RUEH TXH HQ VX WXPED HVWDU GHELHUD
EXVFDG, RV KDEODUD GH PXFKDV FRVDV,
GH FDUQH URVD B YLHQWUH IHFXQGDGR.
Semana de la Matemática – FCEyN – UBA
Frecuencias de las letras en el texto
0
5
10
15
20
25
30
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Semana de la Matemática – FCEyN – UBA
Frecuencia de las letras en español
0,00
2,00
4,00
6,00
8,00
10,00
12,00
14,00
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Semana de la Matemática – FCEyN – UBA
Comparación
0
5
10
15
20
25
30
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0,00
2,00
4,00
6,00
8,00
10,00
12,00
14,00
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Semana de la Matemática – FCEyN – UBA
Mensaje desencriptado
HQ OD FLXGDG GH ORQGUHV, HQWHUUDGR
En la ciudad de Londres, enterradoSRU HO SDSD, UHSRVD XQ FDEDOOHUR.
por el Papa, reposa un caballero.GHVSHUWDURQ ORV IUXWRV GH VXV REUDVDespertaron los frutos de sus obrasODV LUDV GH ORV KRPEUHV PDV VDJUDGRV.
las iras de los hombres mas sagrados.HO RUEH TXH HQ VX WXPED HVWDU GHELHUD
El orbe que en su tumba estar debieraEXVFDG, RV KDEODUD GH PXFKDV FRVDV,
buscad, os hablará de muchas cosas,GH FDUQH URVD B YLHQWUH IHFXQGDGR.
de carne rosa y vientre fecundado.
Semana de la Matemática – FCEyN – UBA
Modelo simplificado del español
� Aproximación al español de primer orden
� El español como proceso aleatorio– proceso no determinístico, que respeta una distribución de
probabilidades
– monos tipeando al azar respetando la probabilidad de las letras
Semana de la Matemática – FCEyN – UBA
Cadena de Markov
� Aproximación al español de segundo orden– cadena de Markov
– proceso aleatorio con diferentes estados (las letras)
– probabilidades de transición (de pasar de un estado a otro)
� probabilidades condicionales
Q HU
P
A
O
99,98 %
24,54 %
55,02 %
0,00 %
Semana de la Matemática – FCEyN – UBA
Probabilidades de transición
Y
O
A
84,16 %
5,66 %
6,46 %
H
O
I
E 8,68 %
5,61 %
24,54 %
A
U
55,02 %
5,70 %
Semana de la Matemática – FCEyN – UBA
Timing attack: usando retardos entre teclas
� En el protocolo de SSH, cada vez que una tecla es pulsada, se encripta y se manda encriptada por el canal seguro.
� Los paquetes, aunque encriptados, pueden ser sniffeados. En particular, el tiempo de emisión de estos paquetes es un dato que los atacantes pueden obtener.
� Usando solo los retardos entre la llegada de esos paquetes es posible recuperar lo tipeado (en casos favorables).
� Elegimos el Hidden Markov Model (HMM) para modelar esta situacion inspirandonos en las técnicas de reconocimiento de voz.
Semana de la Matemática – FCEyN – UBA
Proceso oculto genera observaciones
Semana de la Matemática – FCEyN – UBA
Hay que modelar el ruido
Semana de la Matemática – FCEyN – UBA
Probabilidades de transición
Semana de la Matemática – FCEyN – UBA
Modelo del tipeador
Semana de la Matemática – FCEyN – UBA
Algoritmo de Viterbi
� para cada nueva tecla (nuevo tiempo) pruebo todas las posibilidades
� asigno un puntaje que representa la probabilidad de que sea español (aproximación de 2do orden) + probabilidad de generar ese tiempo
� me quedo con los 500 mejores (entre 26*500)
� cuando termine, el mensaje estará entre los 500 mejores – con algo de suerte
– mejora si el diccionario es mas chico
Semana de la Matemática – FCEyN – UBA
Gracias por su atención!
Carlos Sarraute
carlos @ coresecurity.com