¿Por qué verificar un archivo / firmware descargado en línea contra una suma de comprobación? [duplicar]

5

Siempre que haya un archivo / firmware para descargar en línea y proporcione una suma de comprobación para verificar el archivo, siempre confirmo que la suma de verificación del archivo descargado coincide con la suma de verificación publicada en línea.

Pero a menudo me ha pasado por la cabeza, si una tercera parte maliciosa tiene acceso a FTP y es capaz de intercambiar el archivo / firmware con una compilación maliciosa, seguramente tendrán el conocimiento técnico y el acceso para ingresar al html / php, etc., haga clic en el archivo de la página web y actualice la suma de verificación para que coincida con su compilación ahora maliciosa, por lo que la suma de verificación no vale nada.

¿He perdido el punto aquí?

    
pregunta sam 29.10.2018 - 19:07
fuente

3 respuestas

4

Todo lo que te has perdido es donde se supone que un hash debe protegerte. Usted tiene razón en que si un atacante tiene acceso al servidor en sí, puede modificarlo todo.

Donde se supone que un hash debe ayudarte es contra un ataque de hombre en el medio. Por ejemplo:

  1. Descargar archivo
  2. Lea la página web para texto simple md5 o sha1
  3. archivo descargado de hash
  4. Comparar valores

Si alguien estuviera sentado en el medio, teóricamente podrían sentarse en el medio y cambiar ambos también, pero existen otras soluciones técnicas para tratar de combatir esto (SSL / TLS (aún vulnerable a MITM) y firmas digitales).

EDITAR: En algunas de las soluciones para el cliente en las que he estado, la forma en que usamos los hash de descarga para intentar mitigar un MITM es descargar los bits y luego verificar que el hash en el sitio web se ve igual. a través de múltiples conexiones / computadoras. Esto disminuye significativamente la posibilidad de que un atacante posea todos los medios de conexión de los investigadores. Si los hashes del sitio de origen son los mismos en las diferentes conexiones / computadoras, se debe asumir que es relativamente seguro.

    
respondido por el thepip3r 29.10.2018 - 19:17
fuente
5

Se proporcionan sumas de comprobación para detectar daños durante la transferencia de archivos, no para detectar ataques de hombres en el medio.

    
respondido por el Teun Vink 29.10.2018 - 19:17
fuente
0

Otro punto que vale la pena mencionar es que las sumas de verificación se pueden suministrar en un archivo separado firmado con la firma digital del autor / mantenedor del contenido.

En este caso, incluso si el atacante obtiene el control total del servidor en el que reside el contenido y reemplaza la carga útil y las sumas de comprobación, no podrá firmar el archivo de sumas de comprobación con la firma del desarrollador (a menos que también obtengan la clave privada de el desarrollador).

Luego, los usuarios finales podrán detectar que algo está mal, porque el proceso de verificación de la firma fallará.

El procedimiento de descarga debe incluir estos pasos:

  1. Descargue la carga útil.
  2. Descargue el archivo de suma de comprobación.
  3. Verifique la firma del archivo de suma de comprobación.
  4. Verifique la suma de comprobación de la carga útil contra el archivo de suma de comprobación.

Con esto, un usuario puede decidir descartar la carga útil si los pasos 3 o 4 fallan.

Esto permite distribuir contenido a través de una infraestructura de terceros que no está controlada por el autor original del contenido, sin tener miedo de los cambios no autorizados. Por ejemplo, muchos archivos de instalación de la distribución de Linux están alojados en espejos públicos que pertenecen a universidades o entusiastas.

Ejemplo: Lista de réplicas de Gentoo Linux y lista de sus claves públicas para que los usuarios puedan verificar las descargas.

    
respondido por el VL-80 30.10.2018 - 00:00
fuente

Lea otras preguntas en las etiquetas