SlideShare une entreprise Scribd logo
1  sur  55
HASH COLLISIONS:
Welcome
to the (un)real World!


                             Pedro aka s4ur0n
                 Security Auditor & Researcher
          Academia MADESYP (Albacete - Spain)
Hash collisions: Introducción
 Función de hash criptográfica
 • Una función de hash criptográfica es una
   función de hash ☺
 • Es un algoritmo que dado un bloque arbitrario de
   datos devuelve una secuencia de salida en bits de
   longitud fija normalmente llamada el valor de
   hash (criptográfico)
 • Cualquier cambio accidental o intencionado en los
   datos hará que se cambie el valor del hash (con
   una muy alta probabilidad)


   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Introducción
 Función de hash criptográfica
 • Los datos del mensaje a codificar suelen
   denominarse “message” o “mensaje”
 • El valor del hash se denomina también “message
   digest” o normalmente “digest” o “resúmen”
   (informalmente “checksum”)
 • Es decir, un hash es un tipo de “firma” para una
   secuencia de datos que representa su contenido y
   que si se ve alterado en lo más mínimo (incluso en
   un sólo bit) será detectado


   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Introducción
 Función de hash criptográfica
 • Los hashes son “digests” y nunca considerados
   encriptación. Dicha condición se hace en dos vías
   (encriptación/desencriptación)
 • Se realiza estrictamente en una única vía (One
   Way Operation)
 • Por tanto, si se conoce el “digest” no puede
   recuperarse el “message”
 • Pero si se conoce el “message” puede volver a
   calcularse el “digest”

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Introducción
 Ejemplos de hashes

 TEXTO PLANO                                      Función HASH (MD5)
       MADESYP                               82da940780690d929c0785c9583fe564


       MaDESYP
                                              32 CARACTERES
                                             260c7b0672edb56ef3ceedf2b6b84eeb

                                                1 Byte
        madesyp                              978a8df466f30a9969a6386e29a4b289


 En un lugar de Albacete
                                                    * 8 Bits
                                                      16 Bytes
 en la II Conferencia de                     d704e4fb268f784107887a1ec27039ce
    Navaja Negra…
                                              128 bits de digest
     II Navaja Negra Conference – Albacete 2012                  Pedro C. (MADESYP)
Hash collisions: Introducción
 Ejemplos de hashes
         MADESYP                               82da940780690d929c0785c9583fe564

         mADESYP                                376f0096cf32e1e28368fc64e5db7c45


   8       2      D      A         9      4         0   7

   3       7      6      F         0      0         9   6

 1000 0010 1101 1010             1001 0100 0000 0111

 0011 0111 0110 1111             0000 0000 1001 0110                     16 Bits
                                                                      diferentes en
 XOXX OXOX XOXX OXOX             XOOX OXOO XOOX OOOX                 los 4 primeros
                                                                        Bytes del
Se continua con los siguientes “bloques” del mismo modo                   Hash


       II Navaja Negra Conference – Albacete 2012                   Pedro C. (MADESYP)
Hash collisions: Introducción
 Ejemplos de hashes
     MADESYP                               82da940780690d929c0785c9583fe564

     mADESYP                                376f0096cf32e1e28368fc64e5db7c45


                                                   El cambio de una sola
                                                   letra (1 byte=8 bits)
                                                   supone 71 bits
                                                   diferentes en el digest
                                                   Es decir, una
                                                   diferencia aproximada
                                                   del 55,47%

   II Navaja Negra Conference – Albacete 2012                   Pedro C. (MADESYP)
Hash collisions: Introducción
 Función de hash ideal
 La función ideal de hash cumple 4 propiedades:
 • Es fácil de computar cualquier valor de hash para
   un valor de mensaje dado
 • No puede generar un mensaje si tiene su hash
 • No puede modificar un mensaje sin cambiar el
   hash
 • Es imposible encontrar dos mensajes con
   valores diferentes que den el mismo hash


   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Introducción
 Usos comunes
 • Se emplean para “ofrecer” INTEGRIDAD
   y/o NO REPUDIO. Algunos ejemplos son:

       • Verificación de integridad de ficheros
       • Detección de datos duplicados
       • Guardado de credenciales como
         hashing del password
       • Fingerprinting
       • Firmas digitales
       • Etc…
   Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Introducción
 Terminología y Mitos
 • ¿Qué es una colisión?
        • Cuando dos bloques de datos diferentes
          tienen el mismo valor de hash
 • Si conozco uno de ellos, pruebo con el
   resto hasta obtener el mismo hash por
   fuerza bruta: CIERTO!!!
        • 128 bits son 3.4*10^38 posibilidades
          diferentes
340.282.366.920.938.463.463.374.607.431.768.211.456
    Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Introducción
 Algoritmos más usuales
Algoritmo      Bits salida    Internal State   Block Size Length   Word    Rounds
                              Size                        Size     Size

GOST              256             256              256     256      32      256
MD2               128             384              128     n/a      32      864
MD4               128             128              512     64       32      48
MD5               128             128              512     64       32      64
RIPEMD            128             128              512     64       32      48
SHA0              160             160              512     64       32      80
SHA1              160             160              512     64       32      80
SHA-256         256/224           256              512     64       32      64
SHA-512         512/384           512             1024     128      64      80
     II Navaja Negra Conference – Albacete 2012                    Pedro C. (MADESYP)
Hash collisions


            PARADOJA
         DEL CUMPLEAÑOS



   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • El problema del cumpleaños o la paradoja
   del cumpleaños es uno de los teoremas
   más complejos de las matemáticas
 • Es una paradoja ya que es una verdad
   matemática que contradice la intuición
 • ¿Cuántos de vosotros habréis nacido el
   mismo día y el mismo mes?
 • ¿Podríamos calcularlo?

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Calcular dicha probabilidad es el problema
   del cumpleaños y es la base de las
   colisiones
 • Probemos a calcular la probabilidad
 • Estamos 138 personas en la sala
 • Suponemos 365 días en el año
 • Luego, suponiendo que cada uno tenga una
   fecha de nacimiento distinta, la intuición
   nos dice que sería de 138/365 (un 37,80%)
   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Dicha probabilidad, es muy baja para
   “apostar” unas cervezas, pero…
 • Veamos qué ocurre con sólo 23 personas
 • 23/365=0,06301 de donde tendríamos la
   posibilidad aún más baja de sólo un 6,3%
 • Tenemos sólo un 6,3% de probabilidad de
   que 2 personas de las 23 celebren su
   cumpleaños el mismo día

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Planteamos ahora 2 personas y un año de
   365 días
 • La segunda persona puede cumplir los
   años cualquiera de los 364 días restantes
 • Luego la probabilidad de que *NO* celebren
   su cumpleaños el mismo día será:
 • 364/365=99,73%
 • Ahora, tenemos una tercera persona

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Contando con que los dos primeros no
   coinciden en su cumpleaños, tenemos
   disponibles 363 días
 • Esto es una probabilidad de 363/365 sobre
   los 364/365 días:
 • 363/365 * 364/365 = 99,18%
 • Tomemos una cuarta persona:
 • 362/365 * 363/365 * 364/365 = 98,63%

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Y una quinta persona:
 • 361/365 * 362/365 * 363/365 * 364/365 =
   98,09%
 • Vamos bajando la probabilidad como
   puede comprobarse
 • Expresándolo en notación matemática:



   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Usando notación factorial puede ser
   escrita como…




 • Ahora, 1-p es la probabilidad de al menos
   dos personas tengan el mismo día de
   cumpleaños

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Que podemos expresar como…



 • Luego la probabilidad para n personas de
   que tengan el mismo día de cumpleaños
   viene dada por:



   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños
 • Retomando sólo 23 personas, vemos que
   p=50,73%
 • Esto es más de la mitad
 • Un buen ejemplo para programar
 • Y ojo con los decimales (por ejemplo,
   PL/SQL para n=227 obtiene 100% cuando
   debería ser sólo
   99,999999999999999999999999999999999
   99999%

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Bases
 Paradoja del Cumpleaños




  II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Breve historia
 • El 17 de Agosto de 2004, Xiaoyun Wang,
   Dengguo Feng, Xuejia Lay y Hongbo Yu
   anunciaron las colisiones para el conjunto
   completo del MD5
 • El 1 de Marzo de 2005, Arjen Lenstra,
   Xiaoyun Wang y Benne de Weger
   demostraron generar 2 certificados X.509
   con el mismo hash MD5

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Breve historia
 • Unos pocos días después, Vlastimil Klima
   describió un algoritmo mejorado capaz de
   generar colisiones en pocas horas en un
   equipo portátil
 • El 18 de Marzo de 2006, Klima publicó otro
   algoritmo capaz capaz de encontrar una
   colisión en minutos con un método
   denominado tunneling

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Breve historia
 • El 24 de Diciembre de 2009, Tao Xie y
   Dengguo Feng publicaron el primer
   bloque simple de una colisión MD5 de 512
   bits
 • Retaron a la comunidad criptográfica con
   una recompensa de 10.000 $ al primero que
   encontrase otra colisión en un bloque de 64
   bytes antes del 1 de Enero de 2013

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Demostración de colisión
Nos basamos en el “bloque original” de 64
bytes (512 bits) con el mismo hash md5
                                    4eb4
                               2aef5
                           bc42
                      a26e4
                 55fb1
              52
        05402
      79
    II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Demostración de colisión




  II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Demostración de colisión




  II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Estado de la Tecnología
 • Hoy 30 de noviembre de 2012 con un i7-980
   (6 cores/12 threads) a 3.33GHz, 32 GB de
   RAM y CUDA de nVIDIA
   (Compute Unified Device Architecture) con
   las tarjetas GeForce GTX/Mobile o Quadro,
   podemos generar bloques completos y
   distintos en segundos



   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Bloques “colisionados”




  1e934ac2f323a9158b43922500ca7040




  II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Demostración de bloques




  II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Estado de la Tecnología II
 • Ops, mi equipo no tiene suficiente potencia
   para poder generarlos!!!
 • No hay problema!!!
 • Método de Vlastimil Klima
 • Selección de vectores iniciales
 • Selección de semilla inicial
 • Aproximadamente 90 segundos
 • Y md5tunnel 30 segundos

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: MD5 Digest
 Generación por Tunnel




  II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions




 II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-0
 Antecedentes
 • Fue publicado por el NIST
 • La familia SHA es “Secure Hash Algoritm”
 • Hay varias versiones. La primera fue SHA-0




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-0
 Demostración de colisión




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-1
 Breve historia
 • A los dos años, fue publicado SHA-1
 • Actualmente es empleado en muchos sitios
 • Confiamos en la “seguridad” basada en que
   no se ha encontrado ningún ataque
   efectivo
 • Ha sido ampliamente estudiado por la
   comunidad criptográfica
 • Si google no tiene el PoC “es seguro”

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-1
 Breve historia
 • SHA-1 produce un digest de 160 bits
 • Por el ataque del cumpleaños, tenemos
   entonces que puede encontrarse una
   colisión en 2^(160/2), luego 2^80
 • Es un número difícil de conseguir
   computacionalmente
 • En 2007 Christophe De Canniere, Florian
   Mendel y Christian Rechberger encontraron
   la forma de producirla en 2^70

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-1
 Breve historia
 • Xiaoyun Wang, Yiqun Lisa Yin y Hongbo Yu
   volvieron a demostrar que era posible
   romper SHA-1 en 2^58
 • En 2008 Stéphane Manuel publicó un nuevo
   disturbance vector que lo permitía con una
   complejidad de 2^57
 • Usando el ataque de boomerang de Joux &
   Peyrin’s con n diferenciales auxiliares, la
   complejidad se reduce a 2^(57-n)

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-1
 Breve historia
 • En 2009 Cameron McDonald, Philip Hawkes
   y Josef Pieprzyk, en Eurocrypt demostraron
   con 5 caminos independientes auxiliares
   y un camino diferencial reducirla a 2^52
 • Y eso si es posible computarlo con una
   máquina actual
 • Actualmente se continua investigando en
   nuevas formas pero la comunidad se
   reserva el derecho de publicar los avances

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-1
 Colisión SHA1 en 2^70




        151866D5 F7940D84 28E73685 C4D97E18 97DA712B




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions
 Certificados Digitales




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Certificados
 Esto no es…
 •   Un certificado *.sitio.com
 •   Un certificado con NULL bytes
 •   El “caso” RAPIDSSL
 •   El “caso” COMODO
 •   El “caso” DIGINOTAR
 •   El “caso” MICROSOFT TS CERTS
 •   Son colisiones creadas a partir de
     Certificados completamente validados por
     toda la cadena de certificación
     II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Certificados
 Herramientas
 1.- HASHCLASS
 • Soporte para CUDA & PS3
 • Framework for MD5 & SHA1 Differential
   Path Construction and Chosen-Prefix for
   MD5
 • Código fuente y binarios con GUI
 • Microsoft© Windows 32/64 bits
 • http://code.google.com/p/hashclash/

   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Certificados
 Herramientas




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Certificados
 Introducción
 • MD5 es peligroso para firmas digitales
 • Como ha demostrado FLAME en el año
   2012 y funcionando desde el 2010
 • Hasta hace muy poco tiempo, se ha
   empleado como hash de firma el MD5
 • En el año 2006 se demostró que era posible
   el CPC (Choosen Prefix Collision) con 716
   bytes aleatorios
 • Hoy es posible en pocas horas generarlos
   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Certificados
 Representación gráfica
       serial number

       validity period                                   rogue CA cert


                                 chosen prefix
                                   (different)        rogue CA RSA key
     real cert domain
           name
                                                        rogue CA X.509       CA bit!
                                                           extensions

         real cert               collision bits       Netscape Comment
         RSA key                 (computed)                Extension
       max 2048 bits                                  (contents ignored by
                                                           browsers)
     X.509 extensions           identical bytes
                            (copied from real cert)
      valid signature                                   valid signature
   II Navaja Negra Conference – Albacete 2012                        Pedro C. (MADESYP)
Hash collisions: Certificados
 Demostración de Colisiones




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: SHA-2
 ¿Actualidad o “Futuro”?
 • Tenemos la familia denominada SHA-2 con
   4 variantes:
       • SHA-224 (Diggest de 256 bits/Bloque 32 bits)
       • SHA-256 (Diggest de 256 bits/Bloque 32 bits)
       • SHA-384 (Diggest de 512 bits/Bloque 64 bits)
       • SHA-512 (Diggest de 512 bits/Bloque 64 bits)
 • El 2 de Octubre de 2012, fue anunciado por
   el NIST el ganador de SHA-3 conocido
   como KECCAK con su familia de funciones
   “esponjas”
   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Legalidad
 Legislación Española
• LFE Artículo 20 d) y e)




• LFE Artículo 18 b) 2º



   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions: Legalidad
 Reflexiones




   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions
Welcome to the (un)real World!




 PREGUNTAS


   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)
Hash collisions
Welcome to the (un)real World!


       GRACIAS
               PEDRO C.- MADESYP
             Security Auditor & Researcher


                       pedroc@madesyp.com
                   http://www.madesyp.com



   II Navaja Negra Conference – Albacete 2012   Pedro C. (MADESYP)

Contenu connexe

En vedette

Ciclo de información
Ciclo de informaciónCiclo de información
Ciclo de informaciónRoysbelVielma
 
Summary of break out sessions - Tom De Groeve
Summary of break out sessions - Tom De GroeveSummary of break out sessions - Tom De Groeve
Summary of break out sessions - Tom De GroeveOECD Governance
 
презентация сухарев 10_ноября(доклад-лекция)_2016_пермь
презентация сухарев 10_ноября(доклад-лекция)_2016_пермьпрезентация сухарев 10_ноября(доклад-лекция)_2016_пермь
презентация сухарев 10_ноября(доклад-лекция)_2016_пермьмаксим ожгибесов
 
UNISDR Monitoring the Sendai Framework, Julio Serje
UNISDR Monitoring the Sendai Framework, Julio SerjeUNISDR Monitoring the Sendai Framework, Julio Serje
UNISDR Monitoring the Sendai Framework, Julio SerjeOECD Governance
 
Fernanda guerra.doc
Fernanda guerra.docFernanda guerra.doc
Fernanda guerra.docozfernanda
 
National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...
National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...
National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...OECD Governance
 
ACTIVIDADES BASADAS EN PROYECTOS
ACTIVIDADES BASADAS EN PROYECTOSACTIVIDADES BASADAS EN PROYECTOS
ACTIVIDADES BASADAS EN PROYECTOSAnderson Francisko
 
Bocetos fondos libro Daniel Samper Pizano
Bocetos fondos libro Daniel Samper PizanoBocetos fondos libro Daniel Samper Pizano
Bocetos fondos libro Daniel Samper Pizanoarodriguez55
 
Joint Expert Meeting on Disaster Loss Data - Session Details
Joint Expert Meeting on Disaster Loss Data - Session DetailsJoint Expert Meeting on Disaster Loss Data - Session Details
Joint Expert Meeting on Disaster Loss Data - Session DetailsOECD Governance
 
catalog customers 2017
catalog customers 2017catalog customers 2017
catalog customers 2017Oren Levy
 
Presentación corporativa INSTALA Vidrio y Aluminio México (2016)
Presentación corporativa INSTALA Vidrio y Aluminio México (2016) Presentación corporativa INSTALA Vidrio y Aluminio México (2016)
Presentación corporativa INSTALA Vidrio y Aluminio México (2016) William GOURG
 

En vedette (15)

Ciclo de información
Ciclo de informaciónCiclo de información
Ciclo de información
 
Resume 2016
Resume 2016 Resume 2016
Resume 2016
 
Summary of break out sessions - Tom De Groeve
Summary of break out sessions - Tom De GroeveSummary of break out sessions - Tom De Groeve
Summary of break out sessions - Tom De Groeve
 
Concreto y usos
Concreto y usosConcreto y usos
Concreto y usos
 
презентация сухарев 10_ноября(доклад-лекция)_2016_пермь
презентация сухарев 10_ноября(доклад-лекция)_2016_пермьпрезентация сухарев 10_ноября(доклад-лекция)_2016_пермь
презентация сухарев 10_ноября(доклад-лекция)_2016_пермь
 
UNISDR Monitoring the Sendai Framework, Julio Serje
UNISDR Monitoring the Sendai Framework, Julio SerjeUNISDR Monitoring the Sendai Framework, Julio Serje
UNISDR Monitoring the Sendai Framework, Julio Serje
 
Fernanda guerra.doc
Fernanda guerra.docFernanda guerra.doc
Fernanda guerra.doc
 
National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...
National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...
National’s view on evidence-based assessment of the Sendai Indicators ‒ Italy...
 
ACTIVIDADES BASADAS EN PROYECTOS
ACTIVIDADES BASADAS EN PROYECTOSACTIVIDADES BASADAS EN PROYECTOS
ACTIVIDADES BASADAS EN PROYECTOS
 
Bocetos fondos libro Daniel Samper Pizano
Bocetos fondos libro Daniel Samper PizanoBocetos fondos libro Daniel Samper Pizano
Bocetos fondos libro Daniel Samper Pizano
 
Joint Expert Meeting on Disaster Loss Data - Session Details
Joint Expert Meeting on Disaster Loss Data - Session DetailsJoint Expert Meeting on Disaster Loss Data - Session Details
Joint Expert Meeting on Disaster Loss Data - Session Details
 
tempat tidur no 3
tempat tidur no 3tempat tidur no 3
tempat tidur no 3
 
catalog customers 2017
catalog customers 2017catalog customers 2017
catalog customers 2017
 
Presentación corporativa INSTALA Vidrio y Aluminio México (2016)
Presentación corporativa INSTALA Vidrio y Aluminio México (2016) Presentación corporativa INSTALA Vidrio y Aluminio México (2016)
Presentación corporativa INSTALA Vidrio y Aluminio México (2016)
 
прощавай 2 клас
прощавай 2 класпрощавай 2 клас
прощавай 2 клас
 

Plus de navajanegra

Cryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a gameCryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a gamenavajanegra
 
Automated and unified opensource web application testing
Automated and unified opensource web application testingAutomated and unified opensource web application testing
Automated and unified opensource web application testingnavajanegra
 
Cool Boot: It's cool!
Cool Boot: It's cool!Cool Boot: It's cool!
Cool Boot: It's cool!navajanegra
 
El lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep WebEl lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep Webnavajanegra
 
Telephaty: Harness the code
Telephaty: Harness the codeTelephaty: Harness the code
Telephaty: Harness the codenavajanegra
 
Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)navajanegra
 
Economías criptográficas
Economías criptográficasEconomías criptográficas
Economías criptográficasnavajanegra
 
Where is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudWhere is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudnavajanegra
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nochenavajanegra
 
1100101001001110
11001010010011101100101001001110
1100101001001110navajanegra
 
Anteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis TécnicoAnteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis Técniconavajanegra
 
Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5navajanegra
 
¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?navajanegra
 
SDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsSDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsnavajanegra
 
LIOS: a tool for IOS Forensic
LIOS: a tool for IOS ForensicLIOS: a tool for IOS Forensic
LIOS: a tool for IOS Forensicnavajanegra
 
A brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsA brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsnavajanegra
 
Show me your intents
Show me your intentsShow me your intents
Show me your intentsnavajanegra
 
Take a walk on the wild side
Take a walk on the wild sideTake a walk on the wild side
Take a walk on the wild sidenavajanegra
 

Plus de navajanegra (20)

Cryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a gameCryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a game
 
Automated and unified opensource web application testing
Automated and unified opensource web application testingAutomated and unified opensource web application testing
Automated and unified opensource web application testing
 
Offensive MitM
Offensive MitMOffensive MitM
Offensive MitM
 
Cool Boot: It's cool!
Cool Boot: It's cool!Cool Boot: It's cool!
Cool Boot: It's cool!
 
El lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep WebEl lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep Web
 
Telephaty: Harness the code
Telephaty: Harness the codeTelephaty: Harness the code
Telephaty: Harness the code
 
Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)
 
Economías criptográficas
Economías criptográficasEconomías criptográficas
Economías criptográficas
 
Where is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudWhere is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraud
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta noche
 
1100101001001110
11001010010011101100101001001110
1100101001001110
 
Anteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis TécnicoAnteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis Técnico
 
Zeus-R-Us
Zeus-R-UsZeus-R-Us
Zeus-R-Us
 
Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5
 
¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?
 
SDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsSDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communications
 
LIOS: a tool for IOS Forensic
LIOS: a tool for IOS ForensicLIOS: a tool for IOS Forensic
LIOS: a tool for IOS Forensic
 
A brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsA brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other tools
 
Show me your intents
Show me your intentsShow me your intents
Show me your intents
 
Take a walk on the wild side
Take a walk on the wild sideTake a walk on the wild side
Take a walk on the wild side
 

Dernier

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Dernier (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

HASH COLLISIONS: Welcome to the (un)real World!

  • 1. HASH COLLISIONS: Welcome to the (un)real World! Pedro aka s4ur0n Security Auditor & Researcher Academia MADESYP (Albacete - Spain)
  • 2. Hash collisions: Introducción Función de hash criptográfica • Una función de hash criptográfica es una función de hash ☺ • Es un algoritmo que dado un bloque arbitrario de datos devuelve una secuencia de salida en bits de longitud fija normalmente llamada el valor de hash (criptográfico) • Cualquier cambio accidental o intencionado en los datos hará que se cambie el valor del hash (con una muy alta probabilidad) II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 3. Hash collisions: Introducción Función de hash criptográfica • Los datos del mensaje a codificar suelen denominarse “message” o “mensaje” • El valor del hash se denomina también “message digest” o normalmente “digest” o “resúmen” (informalmente “checksum”) • Es decir, un hash es un tipo de “firma” para una secuencia de datos que representa su contenido y que si se ve alterado en lo más mínimo (incluso en un sólo bit) será detectado II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 4. Hash collisions: Introducción Función de hash criptográfica • Los hashes son “digests” y nunca considerados encriptación. Dicha condición se hace en dos vías (encriptación/desencriptación) • Se realiza estrictamente en una única vía (One Way Operation) • Por tanto, si se conoce el “digest” no puede recuperarse el “message” • Pero si se conoce el “message” puede volver a calcularse el “digest” II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 5. Hash collisions: Introducción Ejemplos de hashes TEXTO PLANO Función HASH (MD5) MADESYP 82da940780690d929c0785c9583fe564 MaDESYP 32 CARACTERES 260c7b0672edb56ef3ceedf2b6b84eeb 1 Byte madesyp 978a8df466f30a9969a6386e29a4b289 En un lugar de Albacete * 8 Bits 16 Bytes en la II Conferencia de d704e4fb268f784107887a1ec27039ce Navaja Negra… 128 bits de digest II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 6. Hash collisions: Introducción Ejemplos de hashes MADESYP 82da940780690d929c0785c9583fe564 mADESYP 376f0096cf32e1e28368fc64e5db7c45 8 2 D A 9 4 0 7 3 7 6 F 0 0 9 6 1000 0010 1101 1010 1001 0100 0000 0111 0011 0111 0110 1111 0000 0000 1001 0110 16 Bits diferentes en XOXX OXOX XOXX OXOX XOOX OXOO XOOX OOOX los 4 primeros Bytes del Se continua con los siguientes “bloques” del mismo modo Hash II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 7. Hash collisions: Introducción Ejemplos de hashes MADESYP 82da940780690d929c0785c9583fe564 mADESYP 376f0096cf32e1e28368fc64e5db7c45 El cambio de una sola letra (1 byte=8 bits) supone 71 bits diferentes en el digest Es decir, una diferencia aproximada del 55,47% II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 8. Hash collisions: Introducción Función de hash ideal La función ideal de hash cumple 4 propiedades: • Es fácil de computar cualquier valor de hash para un valor de mensaje dado • No puede generar un mensaje si tiene su hash • No puede modificar un mensaje sin cambiar el hash • Es imposible encontrar dos mensajes con valores diferentes que den el mismo hash II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 9. Hash collisions: Introducción Usos comunes • Se emplean para “ofrecer” INTEGRIDAD y/o NO REPUDIO. Algunos ejemplos son: • Verificación de integridad de ficheros • Detección de datos duplicados • Guardado de credenciales como hashing del password • Fingerprinting • Firmas digitales • Etc… Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 10. Hash collisions: Introducción Terminología y Mitos • ¿Qué es una colisión? • Cuando dos bloques de datos diferentes tienen el mismo valor de hash • Si conozco uno de ellos, pruebo con el resto hasta obtener el mismo hash por fuerza bruta: CIERTO!!! • 128 bits son 3.4*10^38 posibilidades diferentes 340.282.366.920.938.463.463.374.607.431.768.211.456 Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 11. Hash collisions: Introducción Algoritmos más usuales Algoritmo Bits salida Internal State Block Size Length Word Rounds Size Size Size GOST 256 256 256 256 32 256 MD2 128 384 128 n/a 32 864 MD4 128 128 512 64 32 48 MD5 128 128 512 64 32 64 RIPEMD 128 128 512 64 32 48 SHA0 160 160 512 64 32 80 SHA1 160 160 512 64 32 80 SHA-256 256/224 256 512 64 32 64 SHA-512 512/384 512 1024 128 64 80 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 12. Hash collisions PARADOJA DEL CUMPLEAÑOS II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 13. Hash collisions: Bases Paradoja del Cumpleaños • El problema del cumpleaños o la paradoja del cumpleaños es uno de los teoremas más complejos de las matemáticas • Es una paradoja ya que es una verdad matemática que contradice la intuición • ¿Cuántos de vosotros habréis nacido el mismo día y el mismo mes? • ¿Podríamos calcularlo? II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 14. Hash collisions: Bases Paradoja del Cumpleaños • Calcular dicha probabilidad es el problema del cumpleaños y es la base de las colisiones • Probemos a calcular la probabilidad • Estamos 138 personas en la sala • Suponemos 365 días en el año • Luego, suponiendo que cada uno tenga una fecha de nacimiento distinta, la intuición nos dice que sería de 138/365 (un 37,80%) II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 15. Hash collisions: Bases Paradoja del Cumpleaños • Dicha probabilidad, es muy baja para “apostar” unas cervezas, pero… • Veamos qué ocurre con sólo 23 personas • 23/365=0,06301 de donde tendríamos la posibilidad aún más baja de sólo un 6,3% • Tenemos sólo un 6,3% de probabilidad de que 2 personas de las 23 celebren su cumpleaños el mismo día II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 16. Hash collisions: Bases Paradoja del Cumpleaños • Planteamos ahora 2 personas y un año de 365 días • La segunda persona puede cumplir los años cualquiera de los 364 días restantes • Luego la probabilidad de que *NO* celebren su cumpleaños el mismo día será: • 364/365=99,73% • Ahora, tenemos una tercera persona II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 17. Hash collisions: Bases Paradoja del Cumpleaños • Contando con que los dos primeros no coinciden en su cumpleaños, tenemos disponibles 363 días • Esto es una probabilidad de 363/365 sobre los 364/365 días: • 363/365 * 364/365 = 99,18% • Tomemos una cuarta persona: • 362/365 * 363/365 * 364/365 = 98,63% II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 18. Hash collisions: Bases Paradoja del Cumpleaños • Y una quinta persona: • 361/365 * 362/365 * 363/365 * 364/365 = 98,09% • Vamos bajando la probabilidad como puede comprobarse • Expresándolo en notación matemática: II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 19. Hash collisions: Bases Paradoja del Cumpleaños • Usando notación factorial puede ser escrita como… • Ahora, 1-p es la probabilidad de al menos dos personas tengan el mismo día de cumpleaños II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 20. Hash collisions: Bases Paradoja del Cumpleaños • Que podemos expresar como… • Luego la probabilidad para n personas de que tengan el mismo día de cumpleaños viene dada por: II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 21. Hash collisions: Bases Paradoja del Cumpleaños • Retomando sólo 23 personas, vemos que p=50,73% • Esto es más de la mitad • Un buen ejemplo para programar • Y ojo con los decimales (por ejemplo, PL/SQL para n=227 obtiene 100% cuando debería ser sólo 99,999999999999999999999999999999999 99999% II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 22. Hash collisions: Bases Paradoja del Cumpleaños II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 23. Hash collisions II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 24. Hash collisions: MD5 Digest Breve historia • El 17 de Agosto de 2004, Xiaoyun Wang, Dengguo Feng, Xuejia Lay y Hongbo Yu anunciaron las colisiones para el conjunto completo del MD5 • El 1 de Marzo de 2005, Arjen Lenstra, Xiaoyun Wang y Benne de Weger demostraron generar 2 certificados X.509 con el mismo hash MD5 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 25. Hash collisions: MD5 Digest Breve historia • Unos pocos días después, Vlastimil Klima describió un algoritmo mejorado capaz de generar colisiones en pocas horas en un equipo portátil • El 18 de Marzo de 2006, Klima publicó otro algoritmo capaz capaz de encontrar una colisión en minutos con un método denominado tunneling II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 26. Hash collisions: MD5 Digest Breve historia • El 24 de Diciembre de 2009, Tao Xie y Dengguo Feng publicaron el primer bloque simple de una colisión MD5 de 512 bits • Retaron a la comunidad criptográfica con una recompensa de 10.000 $ al primero que encontrase otra colisión en un bloque de 64 bytes antes del 1 de Enero de 2013 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 27. Hash collisions: MD5 Digest Demostración de colisión Nos basamos en el “bloque original” de 64 bytes (512 bits) con el mismo hash md5 4eb4 2aef5 bc42 a26e4 55fb1 52 05402 79 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 28. Hash collisions: MD5 Digest Demostración de colisión II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 29. Hash collisions: MD5 Digest Demostración de colisión II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 30. Hash collisions: MD5 Digest Estado de la Tecnología • Hoy 30 de noviembre de 2012 con un i7-980 (6 cores/12 threads) a 3.33GHz, 32 GB de RAM y CUDA de nVIDIA (Compute Unified Device Architecture) con las tarjetas GeForce GTX/Mobile o Quadro, podemos generar bloques completos y distintos en segundos II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 31. Hash collisions: MD5 Digest Bloques “colisionados” 1e934ac2f323a9158b43922500ca7040 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 32. Hash collisions: MD5 Digest Demostración de bloques II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 33. Hash collisions: MD5 Digest Estado de la Tecnología II • Ops, mi equipo no tiene suficiente potencia para poder generarlos!!! • No hay problema!!! • Método de Vlastimil Klima • Selección de vectores iniciales • Selección de semilla inicial • Aproximadamente 90 segundos • Y md5tunnel 30 segundos II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 34. Hash collisions: MD5 Digest Generación por Tunnel II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 35. Hash collisions II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 36. Hash collisions: SHA-0 Antecedentes • Fue publicado por el NIST • La familia SHA es “Secure Hash Algoritm” • Hay varias versiones. La primera fue SHA-0 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 37. Hash collisions: SHA-0 Demostración de colisión II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 38. Hash collisions: SHA-1 Breve historia • A los dos años, fue publicado SHA-1 • Actualmente es empleado en muchos sitios • Confiamos en la “seguridad” basada en que no se ha encontrado ningún ataque efectivo • Ha sido ampliamente estudiado por la comunidad criptográfica • Si google no tiene el PoC “es seguro” II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 39. Hash collisions: SHA-1 Breve historia • SHA-1 produce un digest de 160 bits • Por el ataque del cumpleaños, tenemos entonces que puede encontrarse una colisión en 2^(160/2), luego 2^80 • Es un número difícil de conseguir computacionalmente • En 2007 Christophe De Canniere, Florian Mendel y Christian Rechberger encontraron la forma de producirla en 2^70 II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 40. Hash collisions: SHA-1 Breve historia • Xiaoyun Wang, Yiqun Lisa Yin y Hongbo Yu volvieron a demostrar que era posible romper SHA-1 en 2^58 • En 2008 Stéphane Manuel publicó un nuevo disturbance vector que lo permitía con una complejidad de 2^57 • Usando el ataque de boomerang de Joux & Peyrin’s con n diferenciales auxiliares, la complejidad se reduce a 2^(57-n) II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 41. Hash collisions: SHA-1 Breve historia • En 2009 Cameron McDonald, Philip Hawkes y Josef Pieprzyk, en Eurocrypt demostraron con 5 caminos independientes auxiliares y un camino diferencial reducirla a 2^52 • Y eso si es posible computarlo con una máquina actual • Actualmente se continua investigando en nuevas formas pero la comunidad se reserva el derecho de publicar los avances II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 42. Hash collisions: SHA-1 Colisión SHA1 en 2^70 151866D5 F7940D84 28E73685 C4D97E18 97DA712B II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 43. Hash collisions Certificados Digitales II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 44. Hash collisions: Certificados Esto no es… • Un certificado *.sitio.com • Un certificado con NULL bytes • El “caso” RAPIDSSL • El “caso” COMODO • El “caso” DIGINOTAR • El “caso” MICROSOFT TS CERTS • Son colisiones creadas a partir de Certificados completamente validados por toda la cadena de certificación II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 45. Hash collisions: Certificados Herramientas 1.- HASHCLASS • Soporte para CUDA & PS3 • Framework for MD5 & SHA1 Differential Path Construction and Chosen-Prefix for MD5 • Código fuente y binarios con GUI • Microsoft© Windows 32/64 bits • http://code.google.com/p/hashclash/ II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 46. Hash collisions: Certificados Herramientas II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 47. Hash collisions: Certificados Introducción • MD5 es peligroso para firmas digitales • Como ha demostrado FLAME en el año 2012 y funcionando desde el 2010 • Hasta hace muy poco tiempo, se ha empleado como hash de firma el MD5 • En el año 2006 se demostró que era posible el CPC (Choosen Prefix Collision) con 716 bytes aleatorios • Hoy es posible en pocas horas generarlos II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 48. Hash collisions: Certificados Representación gráfica serial number validity period rogue CA cert chosen prefix (different) rogue CA RSA key real cert domain name rogue CA X.509 CA bit! extensions real cert collision bits Netscape Comment RSA key (computed) Extension max 2048 bits (contents ignored by browsers) X.509 extensions identical bytes (copied from real cert) valid signature valid signature II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 49. Hash collisions: Certificados Demostración de Colisiones II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 50. Hash collisions II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 51. Hash collisions: SHA-2 ¿Actualidad o “Futuro”? • Tenemos la familia denominada SHA-2 con 4 variantes: • SHA-224 (Diggest de 256 bits/Bloque 32 bits) • SHA-256 (Diggest de 256 bits/Bloque 32 bits) • SHA-384 (Diggest de 512 bits/Bloque 64 bits) • SHA-512 (Diggest de 512 bits/Bloque 64 bits) • El 2 de Octubre de 2012, fue anunciado por el NIST el ganador de SHA-3 conocido como KECCAK con su familia de funciones “esponjas” II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 52. Hash collisions: Legalidad Legislación Española • LFE Artículo 20 d) y e) • LFE Artículo 18 b) 2º II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 53. Hash collisions: Legalidad Reflexiones II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 54. Hash collisions Welcome to the (un)real World! PREGUNTAS II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)
  • 55. Hash collisions Welcome to the (un)real World! GRACIAS PEDRO C.- MADESYP Security Auditor & Researcher pedroc@madesyp.com http://www.madesyp.com II Navaja Negra Conference – Albacete 2012 Pedro C. (MADESYP)