Se ha propuesto un método para detectar colisiones en SHA-1, adecuado para atacar PGP.

Investigadores del Instituto Estatal Francés de Investigación en Informática y Automatización (INRIA) y la Universidad Tecnológica de Nanyang (Singapur) presentaron un método de ataque Ruinas ((PDF)), que se promociona como la primera implementación práctica de un ataque al algoritmo SHA-1 que puede usarse para crear firmas digitales PGP y GnuPG falsas. Los investigadores creen que todos los ataques prácticos contra MD5 ahora se pueden aplicar a SHA-1, aunque todavía requieren importantes recursos para implementarlos.

El método se basa en la realización ataque de colisión con un prefijo determinado, que le permite seleccionar adiciones para dos conjuntos de datos arbitrarios; cuando se adjunta, la salida producirá conjuntos que causarán una colisión, cuya aplicación del algoritmo SHA-1 conducirá a la formación del mismo hash resultante. En otras palabras, para dos documentos existentes, se pueden calcular dos complementos, y si uno se agrega al primer documento y el otro al segundo, los hashes SHA-1 resultantes para estos archivos serán los mismos.

El nuevo método difiere de técnicas similares propuestas anteriormente al aumentar la eficiencia de la búsqueda de colisiones y demostrar una aplicación práctica para atacar PGP. En particular, los investigadores pudieron preparar dos claves públicas PGP de diferentes tamaños (RSA-8192 y RSA-6144) con diferentes ID de usuario y con certificados que provocan una colisión SHA-1. Primera clave incluyó la identificación de la víctima, y segunda llave Incluía el nombre y la imagen del atacante. Además, gracias a la selección de colisión, el certificado de identificación de clave, incluida la clave y la imagen del atacante, tenía el mismo hash SHA-1 que el certificado de identificación, incluida la clave y el nombre de la víctima.

El atacante podría solicitar una firma digital para su clave e imagen a una autoridad de certificación de terceros y luego transferir la firma digital para la clave de la víctima. La firma digital sigue siendo correcta debido a la colisión y verificación de la clave del atacante por parte de una autoridad de certificación, lo que permite al atacante obtener el control de la clave con el nombre de la víctima (ya que el hash SHA-1 para ambas claves es el mismo). Como resultado, el atacante puede hacerse pasar por la víctima y firmar cualquier documento en su nombre.

El ataque sigue siendo bastante costoso, pero ya está al alcance de los servicios de inteligencia y de las grandes corporaciones. Para una selección de colisión simple utilizando una GPU NVIDIA GTX 970 más barata, los costos fueron de 11 mil dólares, y para una selección de colisión con un prefijo determinado, 45 mil dólares (a modo de comparación, en 2012, los costos de selección de colisión en SHA-1 fueron estimado en 2 millones de dólares, y en 2015 - 700 mil). Para llevar a cabo un ataque práctico a PGP, fueron necesarios dos meses de computación utilizando 900 GPU NVIDIA GTX 1060, cuyo alquiler costó a los investigadores 75 dólares.

El método de detección de colisiones propuesto por los investigadores es aproximadamente 10 veces más eficaz que los logros anteriores: el nivel de complejidad de los cálculos de colisiones se redujo a 261.2 operaciones en lugar de 264.7, y las colisiones con un prefijo determinado a 263.4 operaciones en lugar de 267.1. Los investigadores recomiendan cambiar de SHA-1 a SHA-256 o SHA-3 lo antes posible, ya que predicen que el coste de un ataque caerá a 2025 dólares en 10.

Los desarrolladores de GnuPG fueron notificados del problema el 1 de octubre (CVE-2019-14855) y tomaron medidas para bloquear los certificados problemáticos el 25 de noviembre en la versión de GnuPG 2.2.18: todas las firmas de identidad digital SHA-1 creadas después del 19 de enero de el año pasado ahora se consideran incorrectos. CAcert, una de las principales autoridades de certificación de claves PGP, planea pasar al uso de funciones hash más seguras para la certificación de claves. Los desarrolladores de OpenSSL, en respuesta a la información sobre un nuevo método de ataque, decidieron desactivar SHA-1 en el primer nivel de seguridad predeterminado (SHA-1 no se puede utilizar para certificados y firmas digitales durante el proceso de negociación de conexión).

Fuente: opennet.ru

Añadir un comentario