Investigadores del instituto francés de investigación en informática y automatización (INRIA) y de la Universidad Tecnológica de Nanyang (Singapur) han presentado un método de ataque (), que se presenta como la primera implementación práctica de un ataque al algoritmo SHA-1, que se puede utilizar para crear firmas digitales falsas de PGP y GnuPG. Los investigadores creen que ahora todos los ataques prácticos a MD5 pueden aplicarse a SHA-1, aunque todavía requieren recursos significativos para llevarse a cabo.
El método se basa en realizar , que permite, para dos conjuntos de datos arbitrarios, encontrar extensiones, de modo que al adjuntarlas se obtengan conjuntos que causan colisiones; aplicar el algoritmo SHA-1 para ellos resultará en la generación del mismo hash de salida. En otras palabras, para dos documentos existentes se pueden calcular dos extensiones, y si se adjunta una al primer documento y la otra al segundo, los hashes resultantes de SHA-1 para estos archivos serán idénticos.
El nuevo método se diferencia de técnicas similares propuestas anteriormente al aumentar la eficiencia de búsqueda de colisiones y demostrar una aplicación práctica para un ataque sobre PGP. En particular, los investigadores lograron preparar dos claves PGP públicas de diferentes tamaños (RSA-8192 y RSA-6144) con identificadores de usuario distintos y certificados que causan colisiones de SHA-1. incluía el identificador de la víctima, mientras que la incluía el nombre y la imagen del atacante. Al hacerlo, gracias a la búsqueda de colisiones, el certificado identificador de claves, que incluye la clave y la imagen del atacante, tenía el mismo hash SHA-1 que el certificado identificador, que incluía la clave y el nombre de la víctima.
El atacante podría solicitar una firma digital para su clave y su imagen en una autoridad de certificación externa, y luego transferir la firma digital para la clave de la víctima. La firma digital sigue siendo válida debido a la colisión y la certificación de la clave del atacante por parte de la autoridad de certificación, lo que permite al atacante tomar control también de la clave con el nombre de la víctima (ya que el hash SHA-1 para ambas claves coincide). En última instancia, el atacante puede hacerse pasar por la víctima y firmar cualquier documento en su nombre.
El ataque sigue siendo bastante costoso, pero ya es asequible para los servicios secretos y grandes corporaciones. Para la simple búsqueda de colisiones utilizando la más barata GPU NVIDIA GTX 970, los costos ascendieron a 11 mil dólares, y para encontrar colisiones con un prefijo específico, a 45 mil dólares (para comparar, en 2012, los costos de búsqueda de colisiones en SHA-1 se estimaron en 2 millones de dólares, y en 2015, en 700 mil). Para llevar a cabo un ataque práctico en PGP, se requirieron dos meses de cálculos con 900 GPU NVIDIA GTX 1060, cuyo alquiler costó a los investigadores 75 mil dólares.
El método propuesto por los investigadores para detectar colisiones es aproximadamente 10 veces más efectivo que los logros anteriores: el nivel de dificultad de las colisiones se logró reducir a 261.2 operaciones, en lugar de 264.7, y para las colisiones con un prefijo específico a 263.4 operaciones en lugar de 267.1. Los investigadores recomiendan migrar lo más pronto posible de SHA-1 a SHA-256 o SHA-3, ya que pronostican que en 2025 el costo de llevar a cabo un ataque se reducirá a 10 mil dólares.
Los desarrolladores de GnuPG fueron notificados sobre el problema el 1 de octubre (CVE-2019-14855) y el 25 de noviembre, en el lanzamiento de GnuPG 2.2.18, tomaron medidas para bloquear los certificados problemáticos: todas las firmas digitales identificativas SHA-1, creadas después del 19 de enero del año pasado, ahora se reconocen como inválidas. En CAcert, uno de los principales centros de certificación para llaves PGP, planean pasar a utilizar funciones hash más seguras para la certificación de llaves. Los desarrolladores de OpenSSL, en respuesta a la información sobre el nuevo método de ataque, decidieron deshabilitar SHA-1 en el primer nivel de seguridad propuesto por defecto (SHA-1 no podrá ser utilizado para certificados y firmas digitales durante la negociación de conexiones).
Fuente: opennet.ru
