¿Necesita verificar el valor hash md5 completo?

2

¿Hay alguna posibilidad de que dos versiones diferentes del mismo archivo produzcan los mismos caracteres al comienzo del hash y al final del hash (por ejemplo, los primeros / últimos cinco caracteres)? ¿Es realmente solo necesario comprobar esos personajes? Dado que esto se realiza de forma rutinaria mediante verificación visual, ¿cuál es el nivel de riesgo de que no se detecte una diferencia sutil?

    
pregunta B5A7 16.10.2015 - 05:11
fuente

2 respuestas

2

Sí, lo haces.

Si solo estás comparando los primeros y últimos cinco caracteres de un hash, lo has convertido en un hash de 40 bits. En estas condiciones, una colisión tiene una complejidad de 2 ^ 20, lo suficientemente baja como para que un atacante pueda generar uno a través de la fuerza bruta en un segundo o menos. Una preimagen es más difícil, en 2 ^ 40, pero el hardware dedicado (por ejemplo, una matriz de GPU) puede generarlo en solo unos minutos.

Tampoco importa el algoritmo hash que estés usando: si estás ignorando la mitad del hash, la dificultad de hacer coincidir los extremos no depende de qué tan larga sea esa mitad.

    
respondido por el Mark 16.10.2015 - 05:56
fuente
0

Por lo general, coloco los hashes uno al lado del otro, debería ser fácil detectar las diferencias rápidamente. Probablemente solo demore unos segundos más en comprobarlo.

Es más fácil generar hashes en órdenes de magnitudes que tienen un aspecto similar, por ejemplo, Los primeros 5 y los últimos 5 caracteres iguales. Sin embargo, el adversario debe tener en cuenta que alguien puede verificar todo el hash y, cuando se encuentra un error, se activa la alarma. Por lo tanto, ha "quemado" un posible vector de ataque ya que el propietario del servidor será notificado y parchará el sistema para evitar que el adversario acceda al servidor en el futuro.

La otra cosa a tener en cuenta es que, si bien la obtención de una colisión de hash completa puede no ser muy difícil. El archivo resultante obtenido debe ser ejecutable, contener el código malicioso previsto y tener un tamaño razonable. No tiene sentido reemplazar un ISO de 2GB con un archivo de 5TB que contenga errores y no se pueda montar como un ISO.

    
respondido por el limbenjamin 16.10.2015 - 06:04
fuente

Lea otras preguntas en las etiquetas