El arte de romper codigos secretos 2007

Anuncio
El arte de romper
có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
DK
EK
mensaje
plano
Semana de la Matemática – FCEyN – UBA
mensaje
encriptado
mensaje
plano
Intercambio de claves
N personas requieren
N (N-1) / 2 claves
1
5
2
4
Semana de la Matemática – FCEyN – UBA
3
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
palabras
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
7
53
159
639
1620
2341
3176
3489
3024
2475
1622
894
551
264
140
56
18
5
3
3500
3000
2500
2000
1500
1000
500
0
1 2 3
4 5 6
7 8 9 10 11 12 13 14 15 16 17 18 19
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
30
25
20
15
10
5
0
A B C D E
Semana de la Matemática – FCEyN – UBA
F G H
I
J
K L
M N O P Q R S
T U
V W X Y Z
Frecuencia de las letras en español
14,00
12,00
10,00
8,00
6,00
4,00
2,00
0,00
A B C D E
Semana de la Matemática – FCEyN – UBA
F G H
I
J
K L
M N O P Q R S
T U
V W X Y Z
Comparación
14,00
12,00
10,00
8,00
6,00
4,00
2,00
0,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
30
25
20
15
10
5
0
A B
Semana de la Matemática – FCEyN – UBA
C
D E
F
G H
I
J
K
L
M N
O P
Q R S
T
U
V W X
Y Z
Mensaje desencriptado
HQ OD FLXGDG GH ORQGUHV, HQWHUUDGR
En la ciudad de Londres, enterrado
SRU HO SDSD, UHSRVD XQ FDEDOOHUR.
por el Papa, reposa un caballero.
GHVSHUWDURQ ORV IUXWRV GH VXV REUDV
Despertaron los frutos de sus obras
ODV 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 debiera
EXVFDG, 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
Semana de la Matemática – FCEyN – UBA
U
99,98 %
H
O
24,54 %
A
55,02 %
P
0,00 %
Probabilidades de transición
84,16 %
Y
A
5,66 %
A
55,02 %
O
6,46 %
E
8,68 %
I
5,61 %
O
24,54 %
U
5,70 %
H
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
Semana de la Matemática – FCEyN – UBA
Descargar