Un grupo de investigadores ha anunciado que han logrado desarrollar una técnica que hace práctico para elaborar dos archivos con la misma huella digital SHA-1, que denominado SHAttered http://shattered.io/

Una función hash no cifra, crea solo un resumen o “firma” de un conjunto de datos, que es pasado como parámetro a esta función, que sirve para verificar la integridad de archivos, aplicando dicha función sobre los archivos recibidos y verificar que el hash obtenido es el mismo que el anunciado por el emisor.

Por tanto, un “hash” es una función criptográfica que produce una salida de longitud fija a partir de una entrada arbitrariamente larga. Un buen “hash” debe cumplir las siguientes propiedades:

  1. a) El resultado final no debe dejar traslucir ninguna información sobre los datos originales.
  2. b) Dado un resultado determinado, no hay otro sistema aparte de la fuerza bruta que genere datos de entrada capaces de producir dicho resultado.
  3. c) Dados unos datos de entrada y su “hash”, no debe haber un atajo (aparte de la fuerza bruta) para generar otros datos de entrada distintos y con el mismo “hash”.

SHAttered

  • 10 años después de la introducción del algoritmo SHA-1 como función hash, se ha anunciado la primera técnica práctica para generar una colisión. Esto es dado un “archivo A”, generar otro “archivo B” que produzca el mismo hash que el del “archivo A”.
  • Tras dos años de investigación y la colaboración del CWI Institute en Amsterdam y Google, este equipo de investigadores ha conseguido crear un método para generar colisiones. Como prueba del ataque, publican dos archivos PDF que tienen hash SHA-1 idénticos pero con contenido diferente (PDF 1 y PDF 2).
  • En la actualidad, muchas aplicaciones todavía dependen de SHA-1, a pesar de que fue oficialmente desaprobado por el NIST en 2011. Esperamos que esta demostración práctica aumentará la conciencia y convenza a la industria, de manera definitiva, a migrar a alternativas más seguras, como SHA-256 o superiores.
  • Por otra parte el propio SANS señala que en la práctica poco han cambiado las cosas. El ataque sigue considerándose complicado y según el instituto, para muchas aplicaciones, SHA-1 seguirá siendo un nivel adecuado de protección. Sin embargo, presenta un riego alto en entornos y aplicaciones donde los niveles de confianza sean máximos, como: la banca, los contratos legales o las firmas digitales. Un uso muy común de SHA-1 es para la integridad de archives, incluso Git y muchos desarrolladores y compañías lo emplean con ese propósito.
  • La complejidad del ataque aún sigue siendo elevada, y requiere una gran potencia de cálculo. El ataque requirió más de 9,223,372,036,854,775,808 cálculos SHA1. Esto conlleva una potencia de procesamiento de unos 6.500 años para una sola CPU o 110 años de cálculos GPU. A pesar de ello, SHAttered es 100.000 veces más rápido que el ataque de fuerza bruta que se basa en la paradoja del cumpleaños y que requeriría 12 millones de años de cálculos GPU.

También desde VirusTotal confirman que ya han encontrado más ejemplos de colisiones SHA-1.

more SHA1 collisions.https://t.co/qPegYnjLl6https://t.co/y33sExu610

— Karl Hiramoto (@karlhiramoto) 24 de febrero de 2017

Como es habitual Google sigue su política de publicación de detalles sobre las vulnerabilidades, por lo que la información completa sobre el ataque no se publicará hasta dentro de 90 días. Esto da tiempo para que muchos empiecen a migrar a sistemas de hash más seguros como SHA-256.

Tras un muy superado MD5, Bruce Schneier ya nos avisaba 10 años atrás que la vida de SHA-1 no iba a ser muy larga. Incluso desde Hispasec, en una-al-día, mucho antes ya informábamos en varias ocasiones de los avances que se efectuaban al reducir la complejidad de romper este algoritmo. De hecho, desde hace unos pocos años se recomendaba no usarlo para la firma de certificados digitales hasta que, definitivamente, la industria optó por dar dejar de confiar en certificados SSL a partir del año pasado.

Más información:

Fuente: Hispasec

Anuncios