Se puede utilizar SHA1 en tus trabajos forense?

Autor: Norberto @Nicky69es

El mundo forense es apasionante, cuando te metes en el, te absorbe y te inunda de datos haciéndote sentir que estás buscando una aguja en un pajar, a veces tan grande, como la superficie de un país entero. Pero la sensación de cuando encuentras la aguja es solo comparable al logro de una meta que creías imposible.


Imagen: ADSLZone


BREVE INTRODUCCIÓN

Para la gente que se acerca a este artículo por mera curiosidad o desconociendo el término, les dejo una breve descripción de lo que es un SHA-1. El resto podéis hacer skip...

SHA-1 son las siglas de Secure Hash Algorithm 1, el cual es una CHF Cryptografic Hash Function que devuelve un valor en hexadecimal de 40 dígitos tras aplicarle un algoritmo definido a una cadena de datos, ya sea en una línea de texto, valor de una casilla, o un archivo completo. Este último es el mas utilizado en la ciencia forense.

Es de suponer que el valor obtenido en el cálculo es único y no existen dos resultados iguales en dos cadenas diferentes (aunque la diferencia sea prácticamente inapreciable).

Para qué se utilizan los valores hash?. Principalmente para las transmisiones de red seguras. O sea, las conexiones a páginas web tipo https, validación de certificados como el DNI electrónico (tranquilos que el DNI tiene un cifrado mucho mas potente). Cuando te descargas un archivo de internet, para comprobar que no se ha cambiado nada en el procedo (integridad del archivo); y por supuesto para las investigaciones forense, para ofrecer esa integridad de archivo/contenido.

Pues bien, en 2005 hablaban en China de haber logrado “romper” el cifrado SHA-1; o sea, obtener el mismo número de hash en dos datos diferentes. En 2017 un equipo de investigadores de Google y CWI Amsterdam, realizan pruebas y logran crear dos archivos pdf con una diferencia, que arroja el mismo número de hash SHA-1. Existen muchos más estudios.

OBJETIVO

Hace tiempo que escucho que para realizar las extracciones forenses no hay que utilizar el algoritmo MD5 (roto en 2004) ni el SHA-1 (roto en 2005); debiendo hacerlo con algoritmos superiores como el SHA-256, SHA512, etc... y siempre me he preguntado, por qué?.

El objetivo de este artículo, no es otro más que el de saber por qué no utilizar estos algoritmos tan válidos en su día, y utilizar otros con unos tiempos de respuesta mucho mayores que alargan estos trabajos forenses.

Perdonad, pero hay que cuestionarse todo aunque sea por el simple hecho de saber por qué, y no repetir lo que otros dicen.

Quizás en la vida diaria no te haga falta conocer este por qué, pero si acabas siendo parte de un proceso judicial, conocer el por qué haces una cosa u otra, te puede salvar de que otra persona echen abajo la credibilidad tu trabajo. En definitiva, es obtener las herramientas para defender lo que haces; o el por qué cambias la forma de tratar algo.

 INVESTIGACIÓN

No voy a leer un artículo en Chino, lo siento, en una ocasión tuve que interpretar uno para saber cómo codificaban las imágenes los aparatos de grabación de video Dahua; imaginad interpretar uno sobre criptología.

Lo que sí he hecho ha sido ojear la investigación de 2017 de Google y CWI Amsterdam, recogida en la web https://shattered.io donde podéis consultar el proceso y su paper https://shattered.io/ static/shattered.pdf.

También he encontrado este paper https://eprint.iacr.org/2019/459.pdf , del año 2019 publicado en la International Association for Cryptologic Research . Donde un equipo Franco-Asiático hace un estudio de simular el hash de firma electrónica.

Sin entrar en mucho detalle:

En la investigación de 2017 (Google y CWI), realizan un cambio en un documento PDF, que como podéis ver en la imagen, el único cambio realizado es el color de fondo de la parte superior del artículo. Aunque parezca un pequeño cambio, criminológicamente hablando es un cambio importante porque supone el hecho de poder cambiar, por ejemplo, el nombre de un implicado en un hecho delictivo.

Han calculado un tiempo de procesamiento de cercano a los 6500 años para una CPU i5 a 3.2GHz de 4 núcleos; y aprox. 100 años para una GPU tipo GTX-970. Tiempos que se pueden acortar con la contratación de servicios de multi-GPU en la nube.

En la investigación de 2019, IACR, no son más optimistas y hablan de un método para encontrar colisión en los cálculos MD y SHA, el cual se podría aplicar a todos los similares. Pero también con un alto costo de procesamiento, y en consecuencia, de dinero.

HECHOS

1. Descargados los dos archivos PDF de la investigación de 2017 (google), estos tienen un tamaño de menos de medio MegaByte.

2. En la imagen adjunta, se observa que ambos producen el mismo hash SHA1 y diferente hash SHA256.

3. Calculado el hash MD5 de ambos archivos, la respuesta es diferente:  MD5 (shattered-1.pdf) = ee4aa52b139d925f8d8884402b0a750c  MD5 (shattered-2.pdf) = 5bd9d8cabc46041579a311230539b8d1

4. La investigación de 2019 (IACR) se centra prácticamente en los certificados de conexión en protocolos de red. Estos certificados son archivos de pequeño tamaño.

CONCLUSIONES

A día de hoy, la capacidad de procesamiento no da para que cualquier persona pueda modificar un archivo y librarse de su responsabilidad penal y/o civil; pero esto no quiere decir que no haya alguna persona capaz. Por lo que hay que ponerle remedio.

Los archivos que han creado con mismo hash SHA1, únicamente rompen ese cálculo, obteniendo respuestas diferentes en cálculos utilizando otros algoritmos, incluso más débiles.

Las mafias de internet, mal llamados hackers, sí pueden lograr esa capacidad para crear certificados digitales falsos que generen la misma firma hash que uno real, y así conseguir acceso a servicios en internet para sus labores de mafiosos. Y en eso estoy de acuerdo con lo explicado en las investigaciones: HAY QUE CAMBIAR LOS ALGORITMOS POR UNOS MAS POTENTES.

Pero este no es el motivo de este artículo.....

En forense el uso de los cálculos de hash está indicado para, de alguna forma, certificar la integridad de un grupo de datos cuyo tamaño varía desde, uno de esos certificados con tamaño inferior a 1MB, hasta más de 1TB; datos procedentes de las adquisiciones de dispositivos de almacenamiento a examinar.

RECOMENDACIONES

En mi humilde opinión, y en pro de un equilibrio entre seguridad/certificación/cadena de custodia/ tiempos/etc; llego a plantearme lo de siempre, seguir usándolos.

Los cálculos de hash MD5 y SHA1 son cálculos válidos y deben ser utilizados en forense por su rapidez de resultado. Pero únicamente en el calculo de extracciones digitales de gran tamaño que el analista forense considere suficientes como para dificultar extremadamente la creación de un elemento diferente con el mismo hash.

Pero eso sí, ambos deben ser utilizados conjuntamente.

 Cuando se realizan extracciones de evidencias digitales selectivas de carpetas o archivos de pequeño tamaño, utilizaremos para el cálculo hash un algoritmo más potente que los citados, pudiendo igualmente combinarlo con un segundo para mayor seguridad.

Así que ya sabes, cuando en un proceso judicial, el perito de la otra parte diga al juez “No es válido porque ha utilizado un algoritmo que se rompió en 2008 y del que se puede generar un archivo similar con el mismo resultado hash”; ya tienes argumentos para desmontar la duda que pretende crear.

Un saludo..

Norberto @Nicky69es

 




Publicar un comentario

0 Comentarios