¿Por qué es necesario hacer coincidir la suma de comprobación de una descarga con otro archivo proporcionado por el mismo servidor? [duplicar]

7

En muchos servidores que proporcionan archivos para descargar, hay un archivo en el que se proporcionan sumas de comprobación para cada descarga. Example1 Example2

Comprendo que estas sumas de comprobación pueden proporcionarse para comprobar que la descarga se realizó correctamente (el archivo no está dañado). Sin embargo, las descargas de archivos a través de HTTP o FTP son bastante confiables.

¿Pero por qué me impide descargar un archivo malicioso? Si un atacante puede modificar la descarga en el servidor, significa que el servidor ha sido comprometido. Por lo tanto, el atacante también podría haber modificado esos archivos MD5SUMS.

Entonces, ¿es realmente necesario usar la suma de comprobación provista si tanto la suma de comprobación como la descarga original son proporcionadas por el mismo servidor?

    
pregunta Benoit 08.01.2013 - 14:22
fuente

3 respuestas

6

Realmente, cuando están en el mismo sitio, no hay un valor de seguridad real. Solo tiene un valor de seguridad cuando se trata de verificar que un archivo de otra fuente es el mismo (aunque incluso eso puede ser dudoso gracias al éxito de los ataques de colisión contra una gran cantidad de hashes típicos de detección de errores). mencionado, es simplemente para asegurarse de que puede validar que la transmisión fue correcta.

    
respondido por el AJ Henderson 08.01.2013 - 14:49
fuente
4

La suma de comprobación MD5 se trata de descargar el archivo grande a través de HTTP (posiblemente desde un espejo) mientras se obtiene el valor MD5 de un sitio web "seguro" (HTTPS). De esta manera, solo necesita concentrarse en obtener el valor correcto de MD5, pero puede obtener el archivo desde cualquier fuente a través de cualquier medio (descarga desde un espejo de aspecto sospechoso, red p2p, CD / DVD, operador aviar ... no lo hace). importa siempre que el valor de hash coincida). El valor hash es solo una manera de concentrar los requisitos de seguridad, en un valor que sea lo suficientemente pequeño como para (supuestamente) facilitar la seguridad. Por supuesto, esto no hace que el problema desaparezca: aún debe preocuparse por si el valor de hash es genuino y no se altera.

La suma de comprobación MD5 también es buena para detectar alteraciones no maliciosas, por ejemplo. un poco de rotación debido a la mala memoria RAM en su computadora (un hecho mucho más común de lo que generalmente se supone).

    
respondido por el Thomas Pornin 08.01.2013 - 14:31
fuente
0

prefacio

La pregunta pregunta por la "necesidad" / "por qué es necesario" para realizar la prueba de suma de comprobación. Aunque, o tal vez debido a que asumo un contexto de seguridad, estoy un poco preocupado. Supongo que quiso decir algo como "¿cuál sería la ganancia de seguridad de usar hash / sumas de comprobación de texto llano de mismo origen"?

No, no es muy útil para la seguridad / protección

Como podría haber dicho ya con su pregunta escéptica / brillante, la ganancia de seguridad sería en muchos casos bastante limitada. Si alguien puede manipular una descarga de 600 MB sobre la marcha como un "hombre transparente en el medio", el atacante seguramente puede generar un archivo hash apropiado que evitará que se note la manipulación del archivo de 600 MB.

La razón (no tan relacionada con la seguridad) como "posible corrupción de datos durante la transmisión de los datos" también se ha declarado.

No quiero provocar ese nuevo punto adicional aquí como "una característica muy segura", pero si percibe un ataque a la luz de su esfuerzo y costos. Puede ser que un atacante pueda manipular un archivo de 600 MB (lo que lleva un tiempo de descarga) en uno o dos puntos de tiempo. El archivo hash / checksum (que como @Thomas Pornin pone muy bien concentrados los requisitos de seguridad) puede descargarse más rápidamente (solo unos pocos bytes). Se puede descargar fácilmente varias veces (en diferentes momentos). Sin ningún gran esfuerzo por tu parte (ya que el archivo es muy pequeño), pero requeriría que el atacante esté constantemente en el reloj de alguna manera. El hecho de que el hash concentre las marcas de seguridad podría hacer que el "equilibrio de esfuerzo" cambie a su lado. No descargaría el conjunto (digamos 600MB * .iso) 3 o 4 veces solo para comprobar si sigue siendo el mismo (es decir, que no hay signos evidentes de manipulación de los datos), pero puede considerar descargarlo (a muy poco gasto), el hash de múltiples fuentes en diferentes fechas. El esfuerzo (gracias al hash) es pequeño para ti. El atacante, por otro lado, todavía tiene que estar allí (incluso para los pocos bytes), de lo contrario, el hash / suma de comprobación no adecuado puede indicar alguna discrepancia.

Por supuesto, puede considerar que esto es solo una seguridad muy pequeña y pequeña agregada (como resultado de un aumento potencial en el esfuerzo necesario para ejecutar el ataque con éxito), pero como el hash se puede calcular y transmitir (varias veces, varias veces). fuentes) puede promover un aumento de la seguridad.

con respecto a fuente múltiple : Sus ejemplos dados pueden verse como

combo. permitiéndole descargar la iso a través de HTTP (ahorrando el poder de cómputo de cifrar la transmisión) y luego descargar el HASH / Checksum a través de HTTPS para reducir en cierta medida la posibilidad de un ataque.

Solo para mencionarlo también. A menudo, también se utilizan firmas de archivos que no solo contienen un valor de hash, sino que, mediante el uso de claves públicas / privadas, se puede verificar la autenticidad o el origen y vencerán (en términos de seguridad) los únicos archivos de valor de hash / suma de comprobación.

    
respondido por el humanityANDpeace 08.01.2013 - 15:20
fuente

Lea otras preguntas en las etiquetas