¿Realmente necesitamos verificar la integridad de los archivos descargados? [duplicar]

9

Descargué una gran cantidad de archivos, pero descubrí el uso de md5 y sha como verificadores de integridad recientemente. A partir de entonces, siempre prefiero verificar si hay archivos descargados grandes, incluso si nunca los encontré corruptos.

¿Realmente necesitamos verificar la integridad de los archivos descargados?

Elija como ejemplo una distribución de Linux que acabo de descargar, que es de 1 GB, si lo desea.

Gracias

maxpesa
fuente
Esto realmente no es un problema con las conexiones modernas a Internet. Depende completamente de su preferencia personal.
Ramhound
55
El punto de comparar el hash puede ser "alguien modificó el archivo (maliciosamente)" que "el archivo se descargó correctamente". Un buen ejemplo es descargar un ISO de Windows desde una fuente no oficial / no confiable y verificar la integridad del archivo comparando el hash MD5 con el publicado por Microsoft en MSDN.
TheUser1024
1
@ TheUser1024 esto supone que sus dos fuentes son iguales, la versión de MSDN puede ser diferente.
Eric G
1
Esta pregunta puede obtener más respuestas sobre seguridad
SE
3
En realidad, se trataba más de integridad que de seguridad, ya que solo descargo de fuentes confiables, incluso si es un punto importante en la descarga de archivos
maxpesa

Respuestas:

6

Depende de algunos factores.

  1. ¿Tienes una conexión a internet estable?
    Si tiene una conexión a Internet estable, no necesita verificar la integridad del archivo, ya que lo más probable es que sea correcto. Nunca reviso el hash y tampoco he tenido archivos corruptos. O tal vez una vez cuando el servidor remoto se desconectó.

  2. ¿Desea verificar el archivo por razones de seguridad?
    Si le preocupa la seguridad del archivo que está descargando, puede usar el hash MD5 para verificar que el archivo no se haya modificado de alguna manera. Descarga un archivo y si el hash MD5 no coincide, significa que el archivo en el servidor es diferente al hash MD5, y de alguna manera algo está mal. Esto solo sería válido si no confía en el servidor desde el que está descargando, pero generalmente si alguien proporciona un hash, generalmente también hacen todo lo posible para mantener las cosas actualizadas. Pero si su sitio fue pirateado, y usted verificó el hash MD5, entonces obtuvo la pequeña bonificación.

En general, estos 2 darán un no a la mayoría de las personas. Si es un no para ti, eso depende totalmente de ti, por supuesto.

LPChip
fuente
1
Una conexión a internet estable no es suficiente. También debe asegurarse de que su RAM y unidad de almacenamiento no corrompan los archivos. Pero sí, bastante improbable. Si su máquina no tiene BSOD, es probable que solo le importe la seguridad.
ChrisInEdmonton
66
Una suma de comprobación de archivo no es una comprobación de seguridad, ya que un atacante que puede modificar el archivo también podría modificar la suma de comprobación.
Johnny
1
Si tuviera que hackear un sitio y reemplazar el archivo por uno malicioso, creo que sería lo suficientemente inteligente como para saber cambiar el hash en la lista.
Cole Johnson
3
MD5 ya no es suficiente para verificar que el contenido de un archivo no se haya alterado intencionalmente. Solo es bueno para la corrupción involuntaria. Las probabilidades de que un atacante comprometa ambos varían. El almacenamiento para el hash, en muchos casos, no se accede a través de los mismos canales que el almacenamiento de archivos masivos para una descarga grande. Por seguridad, las firmas criptográficas son mejores que los simples hashes, especialmente si no tiene un canal seguro para distribuir los hashes.
Perkins
Creo que la idea de los hash fue cuando el archivo suministrado se alojó en un sitio diferente al hash. Por ejemplo, el sitio de un desarrollador con enlaces hash a Sourceforge o en otro lugar.
Matthew Lock
6

La respuesta y la elección que uno haga se basará en su tolerancia al riesgo y las consideraciones de tiempo y esfuerzo en la verificación.

Verificar los hashes MD5 / SHA1 es un buen primer paso y debe hacerlo cuando tenga tiempo. Sin embargo, debe tener en cuenta su capacidad de confiar en el hash proporcionado. Por ejemplo, si el sitio web del autor con el hash está pirateado, entonces el atacante puede cambiar el hash, por lo que no lo sabría. Si el hash que calcula no es el mismo que el hash proporcionado, sabe que algo está pasando. Sin embargo, solo porque la coincidencia de hashes no garantiza que el archivo sea bueno.

Una mejor alternativa para que un autor de software proporcione integridad y autenticidad es mediante la firma digital de los archivos que se distribuyen. Esto adjunta la información de autenticidad al archivo y no se basa en confiar en algún sitio web. Si un autor firma digitalmente el archivo, la única forma de falsificarlo es mediante una autoridad certificadora comprometida o si la clave de firma del desarrollador fue robada. Ambos casos son mucho menos probables que la piratería de un sitio web en Internet.

En última instancia, debe hacer su propia diligencia debida para determinar si desea confiar en algo y luego tomar contramedidas (ejecutar en una caja de arena, una máquina virtual, etc.) para mitigar los factores desconocidos o errores de cálculo que hizo al decidir si confiar o no .

Eric G
fuente
4

Por razones de seguridad, SÍ. Tenga en cuenta que se descubrió que un nodo de salida de Tor parchea binarios durante la descarga , luego recuerde que su ISP puede o no tener la más mínima moral, y que tienen el control total de su conexión a Internet.

Michael Kohne
fuente
¿Su queja sobre el ISP es el hecho de que pueden cambiar la velocidad y la prioridad de mi conexión y otras cosas que pueden dañar los archivos?
maxpesa
@maxpesa: pueden modificar la transmisión si lo desean. El archivo no estará dañado solo modificado.
Ramhound
@maxpesa: estaba señalando que su ISP está en la misma posición que el nodo de salida Tor en el artículo vinculado: tiene la capacidad de controlar lo que pasa por sus cables. Si quisieran, están en condiciones de modificar los archivos binarios que descargue sobre la marcha.
Michael Kohne
2
Si el atacante puede modificar el binario, lo más probable es que también pueda modificar el hash. Sin embargo, eso requeriría un ataque más específico que parchear todos los binarios, pero aún es muy posible. Si bien verificar el hash puede evitar daños, no hay garantía. Si le importa la seguridad, el primer paso es descargar solo a través de HTTPS, ¡especialmente cuando usa proxies como con tor!
kapex
1
Para agregar al comentario de @ kapep, es aún mejor validar usando firmas criptográficas (usando claves distribuidas a través de un canal seguro). De esa manera, un atacante tendría que comprometer tanto el almacén de claves como el repositorio para alterar el binario.
Johnny
4

Solo para agregar a las otras respuestas:

TLDR: para archivos donde la integridad es crítica, sí

Respuesta larga: a menudo me parece necesario cuando estoy haciendo algo donde es crítico que el archivo tenga una alta integridad.

Un ejemplo es flashear un enrutador con OpenWRT. Si el archivo está dañado, entonces ese enrutador sería bloqueado, y luego tendría que:

  • Reemplácelo (caro)
  • Solucionarlo (consume mucho tiempo. Especialmente si necesito soldar un cable serie / JTAG)

Ambos son inconvenientes, en comparación con la simplicidad de verificar un hash. Por lo tanto, recomendaría hacerlo para archivos críticos.

Jorge
fuente
0

Por lo general, solo me molesto en verificar si mi descarga se interrumpió y la reanudé más tarde, porque las solicitudes HTTP con un desplazamiento de búsqueda no se usan tanto, por lo que podría haber sucedido algo tonto.

En muchos casos, la descarga es un archivo comprimido que no se descomprimirá si está roto. Si ese NO es el caso, verificar no es una mala idea. Podría verificar un ISO antes de grabarlo en medios de escritura única.

Verificarlo con un hash del mismo sitio del que lo obtuve es de poca utilidad, en términos de seguridad, como han dicho otras respuestas y comentarios. Puede ser más útil si lo descargó desde un espejo, pero el hash es del original original. O si el nombre de archivo es ambiguo y, por alguna razón, no está seguro de tener la versión exacta que deseaba.

El punto es que publicar hashes es útil para muchos casos especiales además de simplemente descargar el archivo desde el mismo sitio que aloja el hash.

Peter Cordes
fuente