es.phhsnews.com


es.phhsnews.com / ¿Qué es SHAttered? SHA-1 Collision Attacks, Explained

¿Qué es SHAttered? SHA-1 Collision Attacks, Explained


El primer día de 2016, Mozilla finalizó el soporte para una tecnología de seguridad debilitada llamada SHA-1 en el navegador web Firefox. Casi de inmediato, revirtieron su decisión, ya que cortaría el acceso a algunos sitios web más antiguos. Pero en febrero de 2017, sus temores finalmente se hicieron realidad: los investigadores rompieron SHA-1 al crear el primer ataque de colisión en el mundo real. Esto es lo que todo eso significa.

¿Qué es SHA-1?

El SHA en SHA-1 significa Secure Hash Algorithm , y, en pocas palabras, se puede considerar como una especie de problema matemático o método que codifica los datos que se ponen en él . Desarrollado por la NSA de los Estados Unidos, es un componente central de muchas tecnologías utilizadas para encriptar transmisiones importantes en Internet. Los métodos comunes de cifrado SSL y TLS, de los que quizás haya escuchado, pueden usar una función hash como SHA-1 para crear los certificados firmados que ve en la barra de herramientas de su navegador.

No profundizaremos en matemáticas e informática de cualquiera de las funciones de SHA, pero esta es la idea básica. Un "hash" es un código único basado en la entrada de cualquier dato. Incluso una cadena de letras pequeña y aleatoria introducida en una función hash como SHA-1 devolverá un número de caracteres largo y definido, lo que hace (potencialmente) imposible revertir la cadena de caracteres a los datos originales. Así es como funciona el almacenamiento de contraseñas. Cuando crea una contraseña, el servidor piratea y almacena su entrada de contraseña. A su regreso, cuando ingrese su contraseña, se procesará de nuevo. Si coincide con el hash original, se puede suponer que la entrada es la misma, y ​​se le otorgará acceso a sus datos.

Las funciones hash son útiles principalmente porque facilitan saber si la entrada, por ejemplo, un archivo o una contraseña, ha cambiado. Cuando los datos de entrada son secretos, como una contraseña, el hash es casi imposible de revertir y recuperar los datos originales (también conocida como la "clave"). Esto es un poco diferente de la "encriptación", cuyo propósito es codificar datos con el propósito de descifrarlos más tarde, usando cifrados y claves secretas. Los valores hash solo están destinados a garantizar la integridad de los datos, para asegurarse de que todo sea igual. Git, el software de control y distribución de versiones para código fuente abierto, usa hashes SHA-1 por esta misma razón.

Esa es mucha información técnica, pero para decirlo simplemente: un hash no es lo mismo que cifrado, ya que se utiliza para identificar si un archivo ha cambiado .

¿Cómo me afecta esta tecnología?

Supongamos que necesita visitar un sitio web de forma privada. Su banco, su correo electrónico, incluso su cuenta de Facebook, todos usan cifrado para mantener la privacidad de los datos que envía. Un sitio web profesional proporcionará cifrado mediante la obtención de un certificado de una autoridad de confianza: un tercero de confianza para garantizar que el cifrado esté en el nivel, sea privado entre el sitio web y el usuario, y que no sea espiado por ninguna otra parte. Esta relación con el tercero, llamada Autoridades de certificación , o CA , es crucial, ya que cualquier usuario puede crear un certificado "autofirmado": incluso puede hacerlo usted mismo en un máquina que ejecuta Linux con Open SSL. Symantec y Digicert son dos empresas de CA ampliamente conocidas, por ejemplo.

Repasemos un escenario teórico: How-To Geek desea mantener privadas las sesiones de los usuarios privadas con encriptación, por lo que solicita una CA como Symantec con un Solicitud de firma de certificado , o CSR . Crean una clave públicay clave privada para encriptar y descifrar los datos enviados a través de Internet. La solicitud de CSR envía la clave pública a Symantec junto con la información sobre el sitio web. Symantec comprueba la clave contra su registro para verificar que todas las partes no modifiquen los datos, porque cualquier pequeño cambio en los datos hace que el hash sea radicalmente diferente.

Esas claves públicas y certificados digitales están firmados por funciones hash, porque el resultado de estas funciones son fáciles de ver. Una clave pública y un certificado con un hash verificado de Symantec (en nuestro ejemplo), una autoridad, aseguran a un usuario de How-To Geek que la clave no ha cambiado y que no ha sido enviada por alguien malintencionado.

Debido a que el hash es fácil de monitorear e imposible (algunos dirían "difícil") invertir, la firma de hash correcta y verificada significa que se puede confiar en el certificado y la conexión, y se puede acordar que los datos se envíen encriptados de extremo a extremo. . ¿Pero qué pasa si el hash no era realmente único ?

¿Qué es un ataque de colisión, y es posible en el mundo real?

Es posible que haya oído hablar del "Problema de cumpleaños" en matemáticas , aunque es posible que no haya sabido cómo se llamaba. La idea básica es que si reúnes a un grupo de personas lo suficientemente grande, es muy probable que dos o más personas tengan el mismo cumpleaños. Más alto de lo que cabría esperar, de hecho, lo suficiente como para parecer una extraña coincidencia. En un grupo de tan solo 23 personas, hay un 50% de posibilidades de que dos compartan un cumpleaños.

Esta es la debilidad inherente en todos los hash, incluido SHA-1. Teóricamente, la función SHA debe crear un hash exclusivo para cualquier dato que se ingrese, pero a medida que crece el número de hashes, es más probable que diferentes pares de datos puedan crear el mismo hash. Entonces uno podría crear un certificado que no es de confianza con un hash idéntico a un certificado de confianza. Si lograron que instale ese certificado que no es de confianza, podría enmascararse como de confianza y distribuir datos maliciosos.

Encontrar los valores hash coincidentes dentro de dos archivos se denomina ataque de colisión. Se sabe que ya se ha producido al menos un ataque de colisión a gran escala para hash MD5. Pero el 27 de febrero de 2017, Google anunció SHAttered, la primera colisión creada para SHA-1. Google pudo crear un archivo PDF que tenía el mismo hash SHA-1 como otro archivo PDF, a pesar de tener diferentes contenidos.

SHAttered se realizó en un archivo PDF. Los archivos PDF son un formato de archivo relativamente flexible; Se pueden realizar muchos cambios pequeños a nivel de bit sin impedir que los lectores lo abran o que causen diferencias visibles. Los PDF también se usan a menudo para entregar malware. Aunque SHAttered podría funcionar en otros tipos de archivos, como los ISO, los certificados se especifican de forma rígida, lo que hace poco probable ese ataque.

Entonces, ¿qué tan fácil puede ser este ataque? SHAttered se basó en un método descubierto por Marc Stevens en 2012 que requirió más de 2 ^ 60.3 (9.223 quintillones) de operaciones SHA-1: un número asombroso. Sin embargo, este método sigue siendo 100.000 veces menos operaciones de las que se necesitarían para lograr el mismo resultado con la fuerza bruta. Google descubrió que con 110 tarjetas gráficas de alta gama trabajando en paralelo, tomaría aproximadamente un año producir una colisión. Alquilar este tiempo de computación de Amazon AWS costaría alrededor de $ 110,000. Tenga en cuenta que a medida que bajan los precios de las piezas de la computadora y puede obtener más potencia por menos, los ataques como SHAttered se vuelven más fáciles de realizar.

$ 110,000 pueden parecer mucho, pero para algunas organizaciones es asequible, lo cual significa que los cibervillianos en la vida real podrían falsificar firmas de documentos digitales, interferir con los sistemas de control de versiones y copia de seguridad como Git y SVN, o hacer que un ISO malicioso de Linux parezca legítimo.

Afortunadamente, existen factores atenuantes que evitan tales ataques. SHA-1 rara vez se usa para firmas digitales. Las Autoridades de Certificación ya no proporcionan certificados firmados con SHA-1, y tanto Chrome como Firefox han perdido soporte para ellos. Las distribuciones de Linux normalmente se publican con más frecuencia que una vez al año, por lo que es poco práctico para un atacante crear una versión maliciosa y luego generar una acolchada para tener el mismo hash SHA-1.

Por otro lado, algunos ataques basados ​​en SHAttered son Ya está sucediendo en el mundo real. El sistema de control de versiones de SVN usa SHA-1 para diferenciar los archivos. Cargar los dos archivos PDF con los valores hash SHA-1 idénticos a un repositorio SVN hará que se dañe.

¿Cómo puedo protegerme de los ataques SHA-1?

No hay mucho que hacer para el usuario típico. Si usa sumas de comprobación para comparar archivos, debe usar SHA-2 (SHA-256) o SHA-3 en lugar de SHA-1 o MD5. Del mismo modo, si eres un desarrollador, asegúrate de usar algoritmos hash más modernos como SHA-2, SHA-3 o bcrypt. Si le preocupa que SHAttered se haya usado para dar dos archivos distintos con el mismo hash, Google ha lanzado una herramienta en el sitio SHAttered que puede verificar por usted.

Créditos de las imágenes: Lego Firefox, Lots of Hash, no lastimes al autor de la web desconocido, Google.


Cómo ejecutar juegos de PC a resoluciones más altas que su monitor con supersampling

Cómo ejecutar juegos de PC a resoluciones más altas que su monitor con supersampling

¿Cuál es la resolución ideal para un juego de PC? Pregúntale a la mayoría de los jugadores y ellos responderán inmediatamente, "Lo que sea que tu monitor pueda soportar". Esa es la solución obvia: después de todo, no tendría sentido renderizar gráficos a más alta de lo que tu equipo realmente puede generar y tu los ojos pueden ver, ¿no?

(how-top)

¿Hay alguna forma de ver quién ha visto tu perfil de Facebook?

¿Hay alguna forma de ver quién ha visto tu perfil de Facebook?

Hay muchas extensiones de navegador, aplicaciones y sitios web que dicen poder decirte cuáles de tus amigos de Facebook tienen visitó recientemente su perfil, y cuánto tiempo pasaron allí. Lamentablemente, ninguna de estas extensiones o aplicaciones hacen lo que dicen. Estas extensiones de navegador no pueden hacer lo que dicen No obtendrá lo que desea instalando una de estas extensiones.

(how-top)