Por que os sites oferecem um hash MD5 de um arquivo?

4

Por que os sites oferecem um hash MD5 de um arquivo? Como isso ajuda você a verificar a integridade / origem do arquivo? Não prestaria atenção ao seu URL com segurança suficiente?

    
por Webnet 18.10.2010 / 15:13

7 respostas

10

Isso ajuda a verificar que, depois de fazer o download do arquivo, você tem o mesmo arquivo que está no servidor dele.

Depois de executar seu arquivo local por meio de uma função hash, se a menor diferença for encontrada entre a sua cópia e a dela, isso resultará na obtenção de um hash diferente daquele que eles publicaram.

    
por 18.10.2010 / 15:16
8

Um hash MD5 não protege você se o site for hackeado porque a soma MD5 também pode ser alterada pelo hacker. Uma assinatura GPG (em um arquivo separado) protegeria contra isso se você tiver uma cópia da chave pública obtida em algum outro lugar ou verificar se é a chave correta, verificando as assinaturas na chave.

O que é bom para um hash MD5 é garantir que o arquivo não seja corrompido no processo de download. As somas de verificação TCP não contêm todos os erros que podem ocorrer enquanto o arquivo está em trânsito (embora esses erros sejam raros), e eu já vi uma imagem ISO corrompida durante o processo de download antes.

    
por 18.10.2010 / 15:17
2

A segurança é uma coisa (importante), mas acho que também é para ter certeza de que você baixou o arquivo na íntegra.

    
por 18.10.2010 / 15:18
1

Bem, em teoria, ambos os arquivos devem produzir o mesmo hash se forem exatamente iguais (embora ocorram colisões).

Você pode fornecê-lo facilmente com uma linguagem do lado do servidor, como um PHP confiável ...

echo md5_file('my_file.zip');
    
por 18.10.2010 / 15:15
1

Oferece uma defesa contra um possível ataque man-in-the-middle . Suponha que uma parte mal-intencionada conseguiu de alguma forma sequestrar a solicitação do arquivo , mas não conseguiu alterar o texto da própria página da Web. O MITM seria capaz de fazer você baixar uma seqüência diferente de bytes, mas não seria capaz de fazer o hash do arquivo his corresponder ao hash citado na página qweb, a do arquivo real .

    
por 18.10.2010 / 15:19
1

Existem várias razões:

  • um ataque Man-in-the-Middle poderia alterar seu download e injetar um vírus ou trojan ou outro código malicioso no download
  • Também é possível que algum dano tenha ocorrido no fluxo de bits durante o download e o arquivo baixado tenha sido corrompido.
  • Pode haver um servidor proxy envolvido, o que pode interromper a conexão antecipadamente.
  • Alguns navegadores mais antigos não conseguiam baixar arquivos maiores que 2 GB, então o download de arquivos maiores também significaria um download corrompido.
  • Também permite que um usuário verifique se o arquivo "mesmo" em um servidor espelho é realmente o mesmo arquivo e não uma versão alterada.
por 18.10.2010 / 15:20
1

Às vezes, os arquivos transferidos podem estar corrompidos, intencionalmente por um invasor ou devido a uma conexão incorreta.

Funções hash criptográficas (como MD5) são projetadas para mudar se houver uma alteração no arquivo original. Como tal, você pode detectar essas alterações.

Observe que, se você deseja proteção contra modificação intencional (feita por um invasor), é necessário verificar se o hash de referência obtido está correto e a partir de uma fonte confiável (por exemplo, assinatura por meio de certificados PGP ou X.509 para exemplo). Você também pode precisar de um melhor algoritmo de hash (por exemplo, SHA-1, SHA-256), já que ataques de colisão foram demonstrados contra o MD5.

    
por 18.10.2010 / 15:20

Tags