Nós realmente precisamos verificar a integridade dos arquivos baixados? [duplicado]

9

Eu baixei uma enorme quantidade de arquivos, mas descobri o uso de md5 e sha como verificadores de integridade recentemente. A partir de então, eu sempre prefiro verificar grandes arquivos baixados, mesmo que eu nunca os tenha encontrado corrompidos.

Precisamos realmente verificar a integridade dos arquivos baixados?

Escolha como exemplo uma distribuição do Linux que acabei de baixar, que é de 1 GB, se você quiser.

Obrigado

    
por maxpesa 24.02.2015 / 19:44

5 respostas

6

Depende de alguns fatores.

  1. Você tem uma conexão de internet estável?
    Se você tiver uma conexão estável com a Internet, não precisará verificar a integridade do arquivo, pois ele provavelmente estará correto. Eu nunca verifico o hash e também nunca tive arquivos corrompidos. Ou talvez uma vez quando o servidor remoto foi desconectado.

  2. Deseja verificar o arquivo com base em motivos de segurança?
    Se você estiver preocupado com a segurança do arquivo que está baixando, poderá usar o hash MD5 para verificar se o arquivo não foi de alguma forma alterado. Você baixa um arquivo e, se o hash MD5 não corresponder, significa que o arquivo no servidor é diferente do hash MD5 e, de alguma forma, algo está errado. Isso só seria válido se você não confia no servidor do qual está fazendo o download, mas geralmente, se alguém fornecer um hash, geralmente também tentará manter as coisas atualizadas. Mas se o site deles foi hackeado e você verificou o hash MD5, então você recebeu o pequeno bônus.

No geral, esses 2 darão um não à maioria das pessoas. Se é um não para você, isso depende inteiramente de você, é claro.

    
por 24.02.2015 / 19:58
6

A resposta e a escolha que alguém faz serão baseadas em sua tolerância ao risco e considerações de tempo e esforço na verificação.

Verificar os hashes MD5 / SHA1 é um bom primeiro passo e você deve fazê-lo quando tiver tempo. No entanto, você deve considerar sua capacidade de confiar no hash fornecido. Por exemplo, se o site do autor com o hash for hackeado, o invasor poderá alterar o hash, e você não saberá. Se o hash que você calculou não é o mesmo que o hash fornecido, você sabe que algo está acontecendo. No entanto, só porque a correspondência hashes não garante que o arquivo é bom.

Uma melhor alternativa para um autor de software fornecer integridade e autenticidade é através da assinatura digital dos arquivos sendo distribuídos. Isso anexa as informações de autenticidade ao arquivo e não confia em confiar em algum site. Se um autor assina digitalmente o arquivo, a única maneira de isso ser falsificado é uma autoridade de certificação comprometida ou se a chave de assinatura do desenvolvedor foi roubada. Ambos os casos são muito menos prováveis do que um site na Internet sendo invadido.

Em última análise, você deve fazer sua própria diligência para determinar se deseja confiar em algo e, em seguida, tomar contramedidas (executadas em uma caixa de proteção, uma máquina virtual etc.) para atenuar quaisquer fatores desconhecidos ou erros de cálculo que você tomou ao decidir se não confiar.

    
por 24.02.2015 / 20:03
4

Por motivos de segurança, SIM. Considere que um nó de saída do Tor foi encontrado como corrigindo binários durante o download , então lembre-se de que o seu ISP pode ou não ter a menor moral, e que eles têm controle total da sua conexão com a Internet.

    
por 24.02.2015 / 20:02
3

Apenas para adicionar às outras respostas:

TLDR: Para arquivos em que a integridade é crítica, sim

Resposta longa: Muitas vezes eu acho necessário quando estou fazendo algo em que é fundamental que o arquivo tenha alta integridade.

Um exemplo está piscando um roteador com OpenWRT. Se o arquivo estiver corrompido, esse roteador será emparelhado e, em seguida, eu precisarei:

  • Substitua-o (caro)
  • Conserte (demorado. Especialmente se eu precisar soldar um cabo serial / JTAG)

Ambos são inconvenientes, em comparação com a simplicidade de verificar um hash. Por isso, recomendo strongmente que você faça isso para arquivos críticos.

    
por 24.02.2015 / 22:06
0

Eu normalmente só me dou ao trabalho de verificar se meu download foi interrompido e retomei mais tarde, porque solicitações HTTP com um offset de busca não são tão usadas, então algo bobo pode ter acontecido.

Em muitos casos, o download é um arquivo compactado que não será descompactado se estiver corrompido. Se não for esse o caso, a verificação não é uma má ideia. Eu poderia verificar um ISO antes de gravá-lo em uma mídia de gravação única.

Verificá-lo com um hash do mesmo site do qual obtive é de pouca utilidade, em termos de segurança, como outras respostas e comentários disseram. Pode ser mais útil se você baixou de um espelho, mas o hash é do upstream original. Ou se o nome do arquivo for ambíguo e, por algum motivo, você não tem certeza de ter a versão exata desejada.

O ponto é que a publicação de hashes é útil para muitos casos especiais, além de baixar o arquivo do mesmo site que hospeda o hash.

    
por 25.02.2015 / 01:23