-->
Portada del sitio » Nacional » El Dilema de Algoritmos Hash

El Dilema de Algoritmos Hash

Viernes 27 de febrero de 2009, por Guido Rosales Uriona - GRU


Evidencia Digital, como cualquier otro tipo de evidencia, requiere identificación, colecta, una cadena de custodia, examen/análisis, y finalmente autenticación en Corte durante la presentación para verificación de hechos.

A raíz de las mejores prácticas, un hash forense es utilizado para identificación, verificación y autenticación de archivos de datos. Un hash forense es una forma de ChekSum (Verificación de suma de bits). Un ChekSum es un cálculo matemático, que en su forma más simple, suma la variedad de bits en una cadena de datos y proporciona un valor MD5 (message digest 5) y SHA-1 (Secure Hash Algorithm 1) son algoritmos más complejos de verificación. Un hash forense es el proceso de utilizar una función matemática y aplicarla dentro los datos colectados, el valor hash de resultado es un identificador único para la adquisición (recogido) de datos (similar a una secuencia de ADN o una huella digital de los datos). Cuando un algoritmo es utilizado, se calcula una cadena de números para un archivo digital. Cualquier cambio en los datos dará lugar a un cambio en el valor de hash. Tanto MD5 y SHA-1 son algoritmos que se utilizan para los archivos de imagen forense. El proceso hash se utiliza normalmente en la adquisición de los elementos de prueba, durante la verificación de la imagen forense (copia de las pruebas), y de nuevo al final del examen para asegurar la integridad de los datos y procesamiento forense. MD5 y hash SHA-1 también se utilizan actualmente para validar la integridad de los archivos descargados en las aplicaciones de la tecnología de información, que han sido aceptadas por la comunidad científica y de consumo para confirmar que los archivos que se solicitan o descargan son los mismos y se encuentran completos.

Recientemente, las investigaciones y noticias han creado un gran debate acerca de los algoritmos hash y su validez para usos forenses. En los últimos años, el principal algoritmo utilizado en aplicaciones forenses, MD5, ha sido comprometido para su uso en la codificación, un uso criptográfico de éste proceso matemático. El algoritmo SHA-1 se ha visto comprometido en un plano teórico y los intentos de probar la teoría todavía no han tenido éxito. La pregunta entonces es, cómo esto afecta en las usos forenses?

Cuando testificó recientemente un abogado defensor interpuso el presente tema. El testimonio fue algo como esto.

P: “Sr. Lewis, ¿está usted consciente de que el algoritmo MD5 se ha visto comprometido? ”

R. “Sí, lo estoy.”

P: “Por lo tanto, su uso para autenticar las pruebas ya no es válido!” R. “No, el uso de los algoritmos MD5 sigue siendo una función válida para la autenticación.”

P: “¿Por qué es eso?”

R. “Hay múltiples usos para los algoritmos de hash. Una de ellas es la criptografía (cifrado), otra es la identificación, y otra es la autenticación. En las pruebas forenses digitales, utilizamos algoritmos hash para conocer el archivo de identificación y las pruebas de autenticación, lo que difiere de su uso en la codificación. ”

Las preguntas y respuestas iban, mientras que los ojos del jurado eran más cristalinos. Al concluir el juicio, el jurado retornó información al Fiscal de Distrito, e indicó que esta línea de cuestionamiento tiene demasiada complejidad a comprender para ellos y no parece relevante para el caso que esta siendo juzgado.

Parece que hay tres áreas de preocupación relativas a la utilización de algoritmos hash;

1) el cifrado,

2) conocer el archivo de identificación, y

3) el archivo y / o datos de autenticación.

Un algoritmo es un conjunto de reglas para un proceso matemático, y puede ser representado gráficamente por un diagrama de flujo. Procesos matemáticos con las reglas son predecibles y repetibles. Esta es su inherente debilidad. Usando la previsibilidad y orientación de la debilidad del proceso, éste puede ser influenciado. Cuando se utiliza en criptografía mediante la manipulación de archivos antes de la aplicación del algoritmo, una “colisión” puede ser causada. Cuando dos archivos son influenciados en bloques de datos similares, pueden ser manipulados para producir un mismo valor hash.

El ataque original a MD5 llevado a cabo por el profesor de investigación Xiaoyun Wang y sus colaboradores en 2004, utiliza archivos que son exactamente el mismo tamaño en bytes de longitud. Posteriormente la investigación por Stevens, Lenstra, y de Weger, utilizando el ataque “prefijo elegido” no requiere de esta limitación, pero los archivos resultantes deberán ser del mismo tamaño después de la aplicación del ataque creando la colisión. En un ataque de prefijo elegido, los paquetes de datos se adjuntan a los archivos sometidos para el ataque. . Estos paquetes de datos crean la condición que resulta en la colisión. Los paquetes de datos son únicos para compensar las diferencias en los archivos originales sometidos al ataque. Los archivos deben ser rellenados, después de haber añadido bits insignificantes de datos, para crear el tamaño final que hace que la longitud de bytes del archivo sea el mismo.

Ejemplos de matemática simple pueden ilustrar el concepto de crear una colisión usando un ataque de prefijo elegido. Únicamente cuando dos cadenas diferentes de datos son calculadas utilizando nuestro algoritmo, se traducen en distintos valores. En esta ilustración, nuestro proceso matemático (algoritmo) está adicionando.

1 +1 = 2 y 1 +2 = 3

Si la influencia de los datos y añadir datos adicionales a la única cadena que puede crear una colisión.

1 +1 +5 = 7 y 1 +2 +4 = 7

Al influir en el proceso matemático y la adición de datos, ahora tenemos dos resultados mostrados. Nosotros hemos generado una colisión resultando en nuestros datos que tienen el mismo valor. Si cambiamos el proceso matemático (algoritmo) que se aplica a los datos, veremos que los datos no son los mismos.

1×1=1 and 1×2=2

Al cambiar el algoritmo a multiplicación, nosotros podemos ver un único diferente resultado de los datos modificados.

1×1x5=5 and 1×2x4=8

El proceso de algoritmos hash MD5 y SHA-1 es mucho más complejo.

El archivo afectado / comprometido deben modificarse antes de que el algoritmo se ejecute para que se produzca el mismo patrón hash. Investigaciones por Stevens, et al. han demostrado, en su evaluación de la vulnerabilidad, que un conocido valor hash no puede estar dirigido a producir un duplicado de un hash de archivo conocido. “Nosotros no podemos tener como objetivo obtener un valor hash, y producir un bit (significativo) de entrada a una cadena hashing para obtener un valor… estos archivos tienen que ser especialmente preparado por el atacante … Los archivos con una cantidad conocida de hash que no se han preparado de esta manera se no vulnerables. “. Esto es importante en el uso de hash para identificar conjuntos de archivos conocidos. Dado que el archivo de hash conocido establece ya se han creado independientemente por el Instituto Nacional de Estándares y Tecnología (NIST) en la Libreria Nacional de Software (NSRL) configuraciones Hash. Además, el filtrado de archivos conocido se utiliza para identificar los archivos conocidos de contrabando. El Consejo Nacional de Niños del Programa de Identificación de Víctimas (NCVIP) configura hashes que son creados para identificar imágenes de las victimas de explotación sexual infantil. Es inviable, si no imposible, crear un valor hash de una imagen de contrabando, y se han conocido una serie de filtros de hash de un caso, en un intento de ocultarse de un examinador.

Usando los archivos producidos por Stevens et al. en su investigación de colisión MD5, aplicado tanto algoritmos hash MD5 y SHA-1. El hash MD5 resultante confirmó el éxito de su colisión. Los resultados de valores SHA-1, sin embargo, eran únicos y no comparten los mismos valores de choque. El uso de dos algoritmos hash podría identificar archivos específicamente creados para colisionar. Revisión de los paquetes de datos confirmó el único dato adjunto los archivos. El dato adjunto fue fácilmente identificado al final de la estructura del archivo, si se compara con el archivo original. Si esto fuera posible para reinsertar o manipular archives dentro una imagen forense, podría ocurrir un efecto cascada cambiando los valores hash para todas las carpetas padre en la imagen definitiva creando un desajuste en el hash de adquisición.

¿Qué significa esto para el examinador forense? Existen otros casos poco escuchados de examinadores con miedo infundido.

Si los delincuentes saben crear un hash de colisión, impedirían el filtro de archivos de identificación conocidos, ¿por qué no se ponen en venta sumas MD5 preconfiguradas de los ficheros precisamente con ese fin? Por ejemplo, si tengo una extensa colección de pornografía de contrabando, ¿por qué no hacer esos archivos duplicados perfectamente inofensivo en un conjunto de archivos imagen?

Incluso si los delincuentes causan la colisión con los archivos de contrabando, porque no cambiar el contenido visual de la imagen de un ilícito, sólo MD5 impediría la identificación de la imagen.

No me sorprende en absoluto al descubrir que algunos grupos delictivos están trabajando en la creación de un hash perfectamente ajustado a las correspondientes hash de Aplicación de la ley que establece los usos para la identificación y filtrado.

Es muy poco probable en este momento porque la información de la colisión de investigación criptográfica indica que no es posible construir un valor de hash conocido utilizando esta técnica.

“Nosotros no podemos tener como objetivo obtener un valor hash, y producir un bit (significativo) de entrada a una cadena hashing para obtener un valor… estos archivos tienen que ser especialmente preparado por el atacante … Los archivos con una cantidad conocida de hash que no se han preparado de esta manera se no vulnerables. ” (Stevens et al.)

Además, el “grupo delictivo” necesita dos cosas que serían difíciles de obtener, la Aplicación de la ley conocida Establece hash del archivo y todos los archivos físicos representados en las bases de datos de conjunto de hashes. Stevens et al. promedió una colisión de, cada cinco minutos, se tardaría más de 69,25 años para crear una colisión MD5 para los 14,5 millones de valores en la MD5 NIST Biblioteca Nacional de software de base de datos de hashes.

Así, en el tribunal, el fiscal tiene a su experto en el argumento de que el valor hash MD5 demuestra que el archivo en cuestión es de contrabando. Entonces el abogado defensor aporta su experto, que muestra exactamente el mismo valor hash MD5 de una imagen de un camión de bomberos y boom! Su caso fue sólo malo - a menos que haya examinado todos los archivos identificados y los que eran conocidos de contrabando.

Un valor hash MD5 no puede probar que el archivo es de contrabando, y un experto no debe opinar o concluir que el valor hash MD5 demuestra que lo es. Valores hash MD5 pueden identificar un archivo que debe ser verificado visualmente. Sí, es mucho tiempo, y siguiendo las mejores prácticas es una parte de nuestro proceso en estos casos.

Así pues, usted tiene un montón de falsificaciones dispersas entre las reales entonces debe volver a sentarse y esperar a que el perito declare.

Esto ya ocurre (hay “hijos / niños” sitios web que promueven la “adolescentes reales” y / o apenas legal). Esa es la razón por la verificación visual y recursos tales como el Centro Nacional para Niños Desaparecidos y Explotados (NCMEC) Programa de Identificación de Niños Víctimas son fundamentales para los investigadores y los examinadores de la preparación previa a las conclusiones, la presentación de informes, testimonios y el juicio.

El poder de la computación moderna tiene el potencial de permitir a los individuos descargar un programa para provocar colisiones de valor hash MD5.

En 2007, los investigadores de Stevens et al. tomaron poco menos de dos días para crear dos archivo de colisiones MD5 eligiendo ataque prefijo. Sin embargo, ellos desarrollaron la teoria del ataque prefijo, con dos archivos de colisiones MD5 que pueden ser realizadas en un promedio de cinco minutos. Tomó originalmente a los investigadores 800 días para probar su concepto, con sus dos primeros archivo de colisión MD5.

No podría ser trivial tomar esto de forma totalmente automatizada donde, en materia de pocos días o semanas, Ud. haya comparado todos los hashes conocidos?

Hay fallas fatales en la hipótesis basada en la información facilitada por la actual investigación. Sin embargo vamos a tomar un paso más. Sabemos que MD5 ha demostrado que se ve vulnerable a las colisiones criptográficas. Encontrar un par de mensajes hash SHA-1 para chocar valores es uno de los mayores retos en la práctica la criptografía. Debido a los recientes progresos de los métodos de criptoanalíticas, un proyecto de informática distribuida para abordar el problema se inició en agosto de 2007 y actualmente está utilizando más de 24 mil computadoras para hacer frente al problema. Ellos todavía tienen que lograr su primera colisión SHA-1.

Hay una serie de ideas finales relacionadas con las limitaciones del algoritmo hash MD5. Dado que el resultado de hash MD5 es un valor de 128 bits, tiene un límite finito (que se limita al número de caracteres permitidos). El valor se compone de 32 caracteres hexadecimales. En algún momento, diferentes archivos podrían compartir el mismo valor.

Steve Mead de NIST agrupa un buen documento y la presentación de la viabilidad de MD5 y Hashes SHA-1, explicando la limitación. En él se describe el número de posibles valores de MD5 como 2 ^ 128, que es 1700000000000000, 000000000000000000000000 combinaciones posibles. Estadísticamente a un 50 por ciento de probabilidad de un hash de archivo duplicado, el número de archivos único tendría que llegar 850000000000000000000000000000000000000. Si pudiéramos utilizar todos los medios electrónicos de almacenamiento en la tierra para almacenar los archivos de datos únicos, que la duplicación lo almacenemos en todos los planetas de nuestro sistema solar, nosotros no podríamos hacer desgaste en este número. Además, SHA-1 tiene un valor resultante de 160 bits en una cadena hexadecimal de 40 caracteres. 2 ^ 160 es un número mucho mayor que de MD5 de 2 ^ 128.

Un caso reciente con 320 Gigabytes de disco duro evidencia de que había 145,1 gigabytes de datos almacenados, que contiene 127946 archivos. Esta cantidad de archivos que parece ser típico de los casos encontrados en un examen forense normal, es mucho menor que 2 ^ 128 el número de posibles valores de hash disponible con el algoritmo de hash MD5. Si bien se trataba de un único equipo, incluso con un caso en que una red cuente con 100 equipos similares se traduciría en unos 12,8 millones de archivos, aún muy inferior a la que el universo MD5 podría permitir.

Hay una gran analogía que he oído recientemente, poner estos números en una perspectiva comprensible. Para su usar en identificación y autenticación de archivos, hay una mayor probabilidad de que un solo individuo, de unos doce miembros del jurado, podría ganar la lotería de bolos 60 días con una fila, que una accidental ocurrencia de dos valores hash MD5 coincidentes de archivos que no han sido modificados para chocar.

Hay una gran analogía que he oído recientemente, poner estos números en una perspectiva comprensible. Para su uso en el archivo de identificación y autenticación, hay una mayor probabilidad de que un solo individuo, de un período de doce miembros del jurado, ganará la lotería Potencia Bola sesenta días en una fila, de un suceso accidental de dos valores hash MD5 coincidentes de los archivos que no han sido manipulado a chocar. Parece que sobre la base de la investigación y el uso de buenas prácticas, algoritmos hash MD5 y SHA-1 tienen una larga vida útil en Multimedia Digital e Informática Forense.


P.-S.

Fuente: Traducido por Israel Rosales Marco ASIC, CEH

1 Mensaje

  • El Dilema de Algoritmos Hash

    3 de marzo de 2009 16:10, por Guido Rosales Uriona - GRU
    Se debe entender que la funcion hash nos permite identificar si un archivo ha sido modificado, pero no nos dice en cuanto. Entonces es diferente modificar un bit o una cadena de texto. Si consideramos que los archivos estan en medio magneticos se vuelve un problema demostrar que un archivo no ha sido modificado cuando el hash ya no coincide. Se pudo cambir el valor de un bit, por ejemplo de espacios en blanco sin siquiera afectar el contenido del archivo, pero la funcion hash arrojara otro valor. En realidad solo serviria en casos donde reproduce la misma cadena. Creo que debemos tomar el cifrado mas las funciones hash para proteger la evidencia digital y ya no pensar solo en la triada sino en los pentavalores.

Ultimos Artículos