Realmente precisamos verificar a integridade dos arquivos baixados? [duplicado]

9

Eu baixei uma quantidade enorme de arquivos, mas descobri o uso do md5 e sha como verificadores de integridade recentemente. Desde então, eu sempre prefiro procurá-lo por grandes arquivos baixados, mesmo que nunca os tenha encontrado corrompidos.

Realmente precisamos verificar a integridade dos arquivos baixados?

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

Obrigado

maxpesa
fonte
Isso realmente não é um problema com as conexões modernas à Internet. Depende inteiramente da sua preferência pessoal.
Ramhound 24/02
5
O ponto de comparar o hash pode ser "alguém alterou o arquivo (maliciosamente)" do que "o arquivo foi baixado corretamente". Um exemplo excelente é baixar um ISO do Windows de uma fonte não oficial / não confiável e verificar a integridade do arquivo comparando o hash MD5 com o que a Microsoft publicou no MSDN.
TheUser1024
1
@ TheUser1024 isto pressupõe que suas duas fontes são iguais, a versão do MSDN pode ser diferente.
Eric G
1
Esta pergunta pode obter mais respostas sobre segurança.SE
Eric G
3
Na verdade, foi mais sobre a integridade de segurança, já que eu só baixar a partir de fontes confiáveis, mesmo que seja um ponto importante no download de arquivo
maxpesa

Respostas:

6

Depende de alguns fatores.

  1. Você tem uma conexão estável à Internet?
    Se você possui uma conexão estável à Internet, não é necessário 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 razões 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 confiar no servidor do qual está baixando, mas geralmente se alguém fornecer um hash, ele também tentará o máximo possível para manter as coisas atualizadas. Mas se o site foi invadido e você verificou o hash MD5, recebeu o pequeno bônus.

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

LPChip
fonte
1
Uma conexão estável à Internet não é suficiente. Você também deve ter certeza de que sua RAM e unidade de armazenamento não corrompem os arquivos. Mas sim, muito improvável. Se sua máquina não estiver funcionando, é provável que você se preocupe apenas com a segurança.
ChrisInEdmonton
6
Uma soma de verificação de arquivo não é uma verificação de segurança, pois um invasor que pode modificar o arquivo provavelmente também pode modificar a soma de verificação.
Johnny
1
Se eu invadir um site e substituir o arquivo por um malicioso, acho que seria inteligente o suficiente para saber como alterar o hash listado.
Cole Johnson
3
O MD5 não é mais suficiente para verificar se o conteúdo de um arquivo não foi intencionalmente alterado. Só é bom para corrupção não intencional. As chances de um atacante comprometer as duas variam. O armazenamento do hash, em muitos casos, não é acessado pelos mesmos canais que o armazenamento de arquivos em massa para um download grande. Por segurança, as assinaturas criptográficas são melhores que os simples hashes, especialmente se você não tiver um canal seguro para distribuir os hashes.
24515 Perkins
Acho que a idéia de hashes foi quando o arquivo fornecido foi hospedado em um site diferente do hash. Por exemplo, o site de um desenvolvedor com links de hash para o Sourceforge ou outro local.
Matthew Lock
6

A resposta e a escolha que se faz serão baseadas em sua tolerância a riscos 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 invadido, o invasor poderá alterar o hash, para que você não saiba. Se o hash que você calcula não for o mesmo que o hash fornecido, você sabe que algo está acontecendo. No entanto, apenas porque a correspondência de hashes não garante que o arquivo seja bom.

Uma alternativa melhor para um autor de software fornecer integridade e autenticidade é assinar digitalmente os arquivos que estão sendo distribuídos. Isso anexa as informações de autenticidade ao arquivo e não depende da confiança em algum site. Se um autor assina digitalmente o arquivo, a única maneira de falsificá-lo é 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 ser invadido.

Por fim, você deve fazer sua própria diligência para determinar se deseja confiar em algo e, em seguida, tomar contramedidas (executadas em uma sandbox, uma máquina virtual etc.) para atenuar quaisquer fatores ou erros de cálculo desconhecidos que você fez ao decidir se deve ou não confiar .

Eric G
fonte
4

Por motivos de segurança, SIM. Considere que um nó de saída do Tor foi considerado um patch de binários durante o download ; lembre-se de que o seu ISP pode ou não ter a menor moral e que eles estão no controle completo da sua conexão à Internet.

Michael Kohne
fonte
Sua queixa no ISP é que eles podem alterar minha velocidade e prioridade de conexão e outras coisas que podem corromper arquivos?
Maxpesa
@ maxpesa - Eles podem modificar o fluxo, se quiserem. O arquivo não estará corrompido, apenas modificado.
Ramhound 24/02
@maxpesa - eu estava apontando que o seu ISP está na mesma posição que o nó de saída do Tor no artigo vinculado - ele tem a capacidade de controlar o que acontece nos seus fios. Se eles quisessem, estão em posição de modificar os binários que você baixa on-the-fly.
Michael Kohne
2
Se o invasor puder modificar o binário, provavelmente também poderá modificar o hash. Isso exigiria um ataque mais direcionado do que corrigir todos os binários, mas ainda é muito possível. Enquanto a verificação do hash pode evitar danos, não há garantia. Se você se preocupa com segurança, o primeiro passo é fazer o download apenas por HTTPS - especialmente quando você estiver usando proxies como o tor!
24415 kapex
1
Para adicionar ao comentário do @ kapep, é ainda melhor validar usando assinaturas criptográficas (usando chaves distribuídas por um canal seguro). Dessa forma, um invasor teria que comprometer o keystore e o repositório para alterar o binário.
Johnny
4

Apenas para adicionar às outras respostas:

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

Resposta longa: muitas vezes acho necessário quando estou fazendo algo em que é essencial que o arquivo tenha uma alta integridade.

Um exemplo é piscar um roteador com o OpenWRT. Se o arquivo estiver corrompido, esse roteador ficaria bloqueado e eu precisaria:

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

Ambos são inconvenientes, comparados à simplicidade de verificar um hash. Portanto, eu recomendo fortemente fazê-lo para arquivos críticos.

George
fonte
0

Normalmente, só me preocupo em verificar se meu download foi interrompido e o retomei mais tarde, porque as solicitações HTTP com um deslocamento de busca não são tão amplamente usadas, portanto, algo tolo pode ter acontecido.

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

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

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

Peter Cordes
fonte