A soma de verificação MD5 e SHA1 usa para fazer o download

8

Percebo que, ao baixar muitas ferramentas de código aberto (Eclipse, etc.), existem links para as somas de verificação MD5 e SHA1 e não sabia o que eram ou qual era o seu objetivo.

Sei que esses algoritmos são de hash e compreendo o hash, portanto, meu único palpite é que eles são usados ​​para hash de algum componente dos destinos de download e para compará-los com as seqüências de hash "oficiais" armazenadas no servidor. Talvez seja possível determinar se os destinos foram ou não modificados de sua versão correta (por segurança e outros fins).

Estou perto ou completamente errado, e se estiver errado, o que são?!?!

Obrigado!

Zac
fonte

Respostas:

11

Você está quase completamente certo. A única correção é que eles são hashes do arquivo inteiro.

Às vezes, os arquivos podem ser corrompidos durante o download, da maneira que for usada para transferi-los. Os hashes existem para garantir que o arquivo esteja intacto. Isso é especialmente útil para usuários com conexões ruins à Internet. Quando eu estava usando o fax modem, muitas vezes eu tinha problemas com downloads corrompidos.

Alguns gerenciadores de download (como GetRight, se bem me lembro) podem até calcular automaticamente o hash do arquivo e compará-lo com o valor conhecido.

Outro ponto interessante é a segurança. Um problema potencial com as ferramentas de código aberto é o quanto você pode confiar no distribuidor. Muitas vezes, programas como o Eclipse são a principal ferramenta usada pelas empresas de software e, portanto, é extremamente importante que elas passem do desenvolvedor para o usuário intacto. Como os programas são de código aberto, é possível, por exemplo, criar uma versão infectada que pareceria normal, mas vazar o código-fonte para algum servidor remoto ou infectar programas criados pelo software com um vírus (acho que isso aconteceu com alguma versão do Delphi) ou algo semelhante. Por esse motivo, é importante ter o hash correto oficial, que pode ser usado para verificar se o arquivo distribuído é o que afirma ser.

Algumas reflexões sobre os canais de distribuição. Muitas vezes, o software livre pode ser encontrado em grande quantidade de sites e sites mais populares, como o SourceForge, por exemplo, possuem um grande número de espelhos. Digamos que haja um servidor em Barland que espelha um grande site de distribuição de software. O FooSoft usa o programa distribuído por site e eles estão na República de Baz, ao lado de Barland. Se alguém quiser se infiltrar no FooSoft, ele poderá modificar apenas a cópia no espelho Barland e esperar que o software de geolocalização garanta que o FooSoft obtenha as versões modificadas. Como as versões de outros espelhos são boas, as chances são menores de que o malware seja detectado. Você também pode fazer com que o malware detecte o endereço IP do computador e ative-o apenas se for de um determinado intervalo, diminuindo assim as chances de descoberta e assim por diante.

AndrejaKo
fonte
1
+1 Ele também é usado por razões de segurança, ou seja, arquivos infectados ...
Stack Overflow is dead
@BloodPhilia De fato. Eu estava escrevendo sobre alguns motivos de segurança.
AndrejaKo 02/01
Obrigado! Achei que tinha que ser algo nesse sentido, mas não consegui encontrar uma resposta sólida em nenhum outro lugar.
Zac
3
Resposta agradável;)
estouro de pilha está morto
1

MD5 e SHA1 não são apenas somas de verificação. São somas de verificação criptográficas. Isso significa que, em teoria, dois arquivos diferentes podem ter a mesma soma de verificação, mas a probabilidade disso é muito pequena, quase 0. Como conseqüência, você usa o inverso: somas de verificação diferentes significam que você obtém conteúdo diferente com uma probabilidade de quase 1. Então somas de verificação criptográficas são usadas para detectar alterações nos arquivos. Podem ser alterações maliciosas feitas de propósito ou apenas erros que ocorreram durante os downloads.

vtest
fonte