Usos de suma de comprobación MD5 y SHA1 para descargar

8

Noté que al descargar muchas herramientas de código abierto (Eclipse, etc.) hay enlaces para las sumas de verificación MD5 y SHA1, y no sabía cuáles eran o cuál era su propósito.

Sé que estos son algoritmos de hash, y entiendo el hashing, por lo que mi única suposición es que se usan para hash algún componente de los destinos de descarga y para compararlos con cadenas de hash "oficiales" almacenadas en el lado del servidor. Quizás de esa manera se pueda determinar si los objetivos se han modificado o no desde su versión correcta (por razones de seguridad y otros fines).

¿Estoy cerca o completamente equivocado, y si está equivocado, qué son?!?!

¡Gracias!

Zac
fuente

Respuestas:

11

Tienes casi toda la razón. La única corrección es que son hashes de todo el archivo.

A veces, los archivos pueden corromperse durante la descarga de cualquier forma que se use para transferirlos. Los hashes están ahí para asegurarse de que el archivo esté intacto. Esto es especialmente útil para usuarios con malas conexiones a Internet. Cuando estaba usando el módem de fax, a menudo tenía problemas con las descargas corruptas.

Algunos gestores de descargas (como GetRight, si no recuerdo mal), incluso pueden calcular automáticamente el hash del archivo y compararlo con el valor conocido.

Otro punto interesante es la seguridad. Un problema potencial con las herramientas de código abierto es cuánto puede confiar en el distribuidor. A menudo, los programas como Eclipse son la herramienta principal utilizada por las compañías de software y, por lo tanto, es extremadamente importante para ellos pasar intactos del desarrollador al usuario. Dado que los programas son de código abierto, es posible, por ejemplo, hacer una versión infectada que se vea normal, pero filtrar el código fuente a algún servidor remoto o infectar programas creados por el software con un virus (creo que esto realmente le sucedió a alguna versión de Delphi) o algo similar. Por esa razón, es importante tener un hash correcto oficial que pueda usarse para verificar si el archivo distribuido es lo que se dice que es.

Algunas reflexiones sobre los canales de distribución. A menudo, se puede encontrar software gratuito en una gran cantidad de sitios y los sitios más populares como SourceForge, por ejemplo, tienen una gran cantidad de espejos. Digamos que hay un servidor en Barland que refleja un gran sitio de distribución de software. FooSoft usa el programa distribuido por sitio y están en Republic of Baz, que está justo al lado de Barland. Si alguien quisiera infiltrarse en FooSoft, podría modificar solo la copia en el espejo de Barland y esperar que el software de geolocalización se asegure de que FooSoft obtenga las versiones modificadas. Dado que las versiones de otros espejos están bien, hay menos posibilidades de que se detecte malware. También puede hacer que el malware detecte la dirección IP de la computadora y se active solo si es de un cierto rango, y de esa manera disminuye las posibilidades de descubrimiento, etc.

AndrejaKo
fuente
1
+1 También se usa por razones de seguridad, es decir, archivos infectados ...
Stack Overflow está muerto el
@BloodPhilia De hecho. Estaba escribiendo sobre algunas razones de seguridad.
AndrejaKo
¡Gracias! Supuse que tenía que ser algo así, pero no pude encontrar una respuesta sólida en ningún otro lado.
Zac
3
Nice Answer;)
desbordamiento de pila está muerto el
1

MD5 y SHA1 no son solo sumas de verificación. Son sumas de verificación criptográficas. Esto significa que, en teoría, dos archivos diferentes pueden tener la misma suma de verificación, pero la probabilidad de esto es muy pequeña, casi 0. Como consecuencia, usa el reverso: diferentes sumas de verificación significan que obtienes contenido diferente con una probabilidad de casi 1. Entonces las sumas de verificación criptográficas se utilizan para detectar cambios en los archivos. Estos pueden ser cambios maliciosos realizados a propósito o simplemente errores que ocurrieron durante las descargas.

vtest
fuente