Qual é o valor das somas de verificação MD5 se o próprio hash MD5 também poderia ter sido manipulado?

39

Às vezes, os downloads de sites têm uma soma de verificação MD5, permitindo que as pessoas confirmem a integridade do arquivo. Ouvi dizer que isso permite que não apenas os arquivos corrompidos sejam identificados instantaneamente antes que causem um problema, mas também que quaisquer alterações maliciosas sejam facilmente detectadas.

Sigo a lógica no que diz respeito à corrupção de arquivos, mas se alguém intencionalmente enviar um arquivo malicioso , poderá gerar uma soma de verificação MD5 correspondente e publicá-la no site de download junto com o arquivo alterado. Isso enganaria qualquer pessoa que baixasse o arquivo a pensar que ele era inalterado.

Como as somas de verificação MD5 podem oferecer proteção contra arquivos deliberadamente alterados, se não há como saber se a própria soma de verificação foi comprometida?

Austin '' Perigo '' Poderes
fonte
3
Se estivermos contando com o host do site, observando discrepâncias sutis de carimbo de data e hora, em vez do hash MD5 agir como um selo de autenticidade ... então a proteção fornecida pela soma de verificação praticamente desapareceu.
Austin '' Danger ''
4
@ BigChris Não sei ao certo o que você quer dizer, mas parece errado. Algoritmos de hash criptográfico como MD5 são completamente sobre os dados da mensagem. Duas mensagens aleatórias do mesmo tamanho terão quase certamente hashes diferentes.
Matt Nordhoff
3
@MattNordhoff exatamente. Se um MD5 checksum não é gerada com base em dados de arquivo, então o que é que se baseia?
Austin '' Danger ''
2
Os dados de hash MD5 seriam construídos sobre os dados, sim, mas não seria necessário muito esforço para criar um arquivo malicioso com o mesmo hash. Como dito, não haveria maneira de verificar se o arquivo era malicioso ou não. Leia: mscs.dal.ca/~selinger/md5collision
Kinnectus
2
Às vezes, os hashes são publicados no servidor primário, enquanto os downloads reais são hospedados em espelhos e / ou CDNs de terceiros.
el.pescado

Respostas:

89

Ouvi dizer que isso é para permitir [...] que quaisquer alterações maliciosas sejam detectadas também.

Bem, você ouviu errado, então. As somas de verificação MD5 (ou SHA ou qualquer outra coisa) são fornecidas ( ao lado dos links de downloads, especificamente ) apenas para verificar um download correto. A única coisa que eles pretendem garantir é que você tenha o mesmo arquivo que o servidor. Nada mais nada menos. Se o servidor estiver comprometido, você é SOL. É realmente tão simples assim.

Daniel B
fonte
31
+1. Eles são usados ​​principalmente para proteger contra corrupção acidental (erros de transferência de rede, setores defeituosos no disco e assim por diante). Para se proteger contra corrupção maliciosa, a soma de verificação precisa vir de um local não conectado e confiável. O mesmo acontece com as mensagens assinadas PGP / GPG / similares: elas apenas asseguram completamente o conteúdo se você confiar em onde obteve a chave pública.
David Spillett
11
Você também pode adicionar à sua resposta que as assinaturas digitais consideram essa limitação (supondo que você confie na autoridade de certificação / certificação)
atk
2
É ainda pior do que isso - se alguém puder adulterar seu tráfego de / para o servidor, mesmo que o servidor não seja comprometido, poderá modificar o arquivo e a soma de verificação que você recebe.
cpast
3
Para expandir: Se ele fez garantia de que você tinha o mesmo arquivo como o servidor tinha, seria uma medida de segurança legítimo, porque isso significa que você não tem que confiar na rede. É exatamente isso que os MACs no TLS fazem - provar que você recebeu o que o servidor enviou, mas o TLS também não pode fazer nada sobre um servidor comprometido. Se um bom hash for transmitido por uma conexão confiável, ele poderá fornecer segurança (derivada da conexão confiável); se ele é enviado através da mesma conexão como o arquivo, em seguida, é inútil porque não é inviolável mais do que o próprio arquivo foi.
precisa
2
Isto está errado. Às vezes, as somas de verificação são fornecidas com segurança, mas o download não é. Como o MD5 está quebrado, as somas de verificação do MD5 de segurança fornecidas são mais fracas do que as somas de verificação mais seguras, mas antes que o MD5 fosse quebrado, um MD5 fornecido com segurança (por exemplo, um que foi assinado ou enviado por HTTPs) que correspondia ao MD5 do download era uma forte evidência de que o o download recebido foi o que o servidor estava disponibilizando. Vou adicionar uma resposta com mais detalhes abaixo agora.
Matthew Elvey
15

A solução usada por alguns sistemas de gerenciamento de pacotes como o dpkg é assinar o hash : use o hash como entrada para um dos algoritmos de assinatura de chave pública. Veja http://www.pgpi.org/doc/pgpintro/#p12

Se você tiver a chave pública do signatário, poderá verificar a assinatura, o que prova que o hash não foi modificado. Isso deixa você com o problema de obter a chave pública correta com antecedência, embora se alguém mexer com a distribuição de chaves, também precisará mexer em tudo que você pode verificar, caso contrário, você perceberá que algo estranho está acontecendo.

pjc50
fonte
9

Sua suposição está correta. Há uma exceção, porém. Se o servidor que estiver fornecendo o arquivo e a página em que o hash estiver, não for gerenciado pela mesma entidade. Nesse caso, o desenvolvedor de software pode querer dizer "ei, pessoas baixam isso desse local, mas só acreditam se hash = xxxx". (Isso pode ser útil para CDNs como exemplo). Eu acho que essa foi a razão pela qual alguém fez isso em primeiro lugar. Do que outros, apenas pensaram em como seria legal mostrar o hash. Nem mesmo pensando em como é útil, nem o arquivo e o hash estão no mesmo local.

Dito isto, vale a pena o que é. Não assuma demais segurança, como já foi dito por outros. Se e somente se você puder confiar totalmente no hash original, o arquivo será bom. Caso contrário, um invasor com motivação e conhecimento suficientes poderá violar o arquivo e o hash, mesmo que estejam em servidores diferentes e gerenciados por entidades diferentes.

nsn
fonte
8

Às vezes, as somas de verificação são fornecidas com segurança, mas o download não é. Como o MD5 está quebrado , as somas de verificação MD5 de segurança fornecidas são mais fracas que as somas de verificação mais seguras, mas antes que o MD5 fosse quebrado, um MD5 fornecido com segurança (por exemplo, assinado com PGP ou GPG ou Gatekeeper ou buscado por HTTPS) que correspondia ao MD5 de o download foi uma forte evidência de que o download recebido foi o que o servidor estava disponibilizando.

Escrevo sobre a lamentável falta de somas de verificação seguras há anos, aqui .

Os usuários não devem baixar executáveis ​​não confiáveis ​​em redes não confiáveis ​​e executá-los, devido ao risco de ataques MITM. Veja, por exemplo, "Inseguranças em sistemas de atualização automática", de P. Ruissen, R. Vloothuis.

Adendo de 2014: Não, NÃO está errado "que as somas de verificação postadas nas páginas da Web sejam usadas para detectar modificações maliciosas", porque essa é uma função que eles podem desempenhar. Eles ajudam a proteger contra corrupção acidental e, se veiculados por HTTPS ou com uma assinatura verificada (ou melhor ainda, ambos), ajudam a proteger contra corrupção maliciosa! Eu obtive somas de verificação por HTTPS e verifiquei que eles correspondiam a downloads HTTP muitas vezes.

Atualmente, os binários são frequentemente distribuídos com hashes assinados e verificados automaticamente, mas mesmo isso não é perfeitamente seguro .

Trecho do link acima: "O aplicativo KeRanger foi assinado com um certificado válido de desenvolvimento de aplicativos para Mac; portanto, foi possível ignorar a proteção do Gatekeeper da Apple". ... "Desde então, a Apple revogou o certificado abusado e atualizou a assinatura do antivírus XProtect, e o Transmission Project removeu os instaladores mal-intencionados de seu site. A Palo Alto Networks também atualizou a filtragem de URL e a Prevenção de Ameaças para impedir o KeRanger de impactar os sistemas. Análise Técnica

Os dois instaladores de transmissão infectados pelo KeRanger foram assinados com um certificado legítimo emitido pela Apple. O desenvolvedor listado este certificado é uma empresa turca com o ID Z7276PX673, que era diferente do ID do desenvolvedor usado para assinar versões anteriores do instalador da Transmission. Nas informações de assinatura de código, descobrimos que esses instaladores foram gerados e assinados na manhã de 4 de março. "

Adendos de 2016:

@Cornstalks: Re. seu comentário abaixo: Errado. Como observado atualmente no artigo da Wikipedia sobre ataque de colisão ao qual você vincula, "Em 2007, um ataque de colisão com prefixo escolhido foi encontrado contra o MD5" e "o invasor pode escolher dois documentos arbitrariamente diferentes e, em seguida, acrescentar valores calculados diferentes que resultam em todo documentos com um valor de hash igual ". Portanto, mesmo que o MD5 seja fornecido com segurança e um invasor não possa modificá-lo, um invasor ainda PODE usar um ataque de colisão de prefixo escolhido com um prefixo escolhido contendo malware, o que significa que o MD5 NÃO é seguro para fins de criptografia. É por isso que o US-CERT disse que o MD5 "deve ser considerado criptograficamente quebrado e inadequado para uso posterior".

Mais algumas coisas: o CRC32 é uma soma de verificação. MD5, SHA etc. são mais do que somas de verificação; eles pretendem ser hashes seguros. Isso significa que eles devem ser muito resistentes a ataques de colisão. Diferentemente de uma soma de verificação, um hash seguro com comunicação segura protege contra um ataque MITM (Man-in-the-Middle) onde o MITM está entre o servidor e o usuário. Não protege contra um ataque em que o próprio servidor está comprometido. Para se proteger, as pessoas geralmente confiam em algo como PGP, GPG, Gatekeeper etc.

Matthew Elvey
fonte
Gosto dessa resposta porque destaca uma parte fundamental de uma soma de verificação - é apenas uma métrica, dentre muitas, para verificar a validade do conteúdo de um arquivo. Se a rede em si não é confiável, não é inviável imaginar alguém substituindo os hashes MD5 e os binários de patches em tempo real (como já vimos em alguns nós de saída do Tor) ... É claro que o MD5 não oferece proteção contra arquivos deliberadamente modificados porque você já deposita sua confiança no provedor desses arquivos, para começar.
Breakthrough
2
O MD5 não está totalmente quebrado: o ataque é um ataque de colisão , não um anexo de pré - imagem (o que seria muito, muito pior). Se o MD5 for fornecido com segurança e um invasor não puder modificá-lo, ele não poderá usar um ataque de colisão (e deve usar um ataque de pré-imagem), o que significa que o MD5 ainda é bastante seguro para esse fim. Vale a pena descontinuar o MD5 por causa de sua vulnerabilidade de colisão, mas não possui uma vulnerabilidade de pré-imagem (conhecida), portanto não está totalmente danificada. Apenas meio quebrado.
Cornstalks
+1! Mas ... Um hash assinado é realmente tão seguro ( confiável ) quanto um hash não assinado buscado por https (ssl / tls)? Eu acho que ainda é preferível que o próprio hash é assinado qualquer maneira ...
matpop
4

Esse é o motivo exato pelo qual as somas de verificação publicadas geralmente exibem um aviso dizendo "Isso não pode proteger contra modificações maliciosas do arquivo". Portanto, a resposta curta é "eles não podem fornecer proteção alguma contra um arquivo deliberadamente alterado" (embora, se a página for entregue por HTTPS, o próprio HTTPS proteja contra modificações; se o arquivo não for entregue por HTTPS, mas a soma de verificação é, então isso pode ajudar alguns, mas não é um caso comum). Quem disse a você que as somas de verificação postadas nas páginas da web são usadas para detectar modificações maliciosas estava errado, porque esse não é um papel que elas possam desempenhar; tudo o que eles fazem é ajudar a proteger contra corrupção acidental e corrupção maliciosa preguiçosa (se alguém não se incomodar em interceptar a página, fornecendo a soma de verificação).

Se você deseja se proteger contra modificações deliberadas, é necessário impedir que as pessoas mexam com a soma de verificação ou impossibilitar a geração de uma soma de verificação válida para qualquer outra pessoa. O primeiro pode envolver a apresentação pessoalmente ou similar (para que a soma de verificação em si seja confiável); o último vai para algoritmos de assinatura digital (onde você precisa obter sua chave pública com segurança para o downloader; no TLS, isso é feito confiando diretamente nas autoridades de certificação e solicitando a verificação de todos os outros; também pode ser feito através de uma rede de confiança , mas o ponto é que algo precisa ser transferido com segurança em algum momento e apenas postar algo no seu site não é suficiente).

cpast
fonte
2
Os hashes podem proteger contra alterações maliciosas, se alguém souber por alguma fonte independente qual deve ser o hash esperado de uma versão confiável de um arquivo. O valor de fazer o site listar os valores de hash de seus arquivos não reside em permitir que as pessoas que baixam arquivos de um site verifiquem o hash do arquivo baixado no mesmo site, mas em permitir que as pessoas que conhecem de alguma outra fonte o hash do arquivo que eles desejam , saiba se o arquivo em questão corresponderá a ele antes de baixá-lo. BTW, uma coisa que eu gostaria de ver ... #
1133
... seria uma forma de URL / URI que incluísse um valor esperado de hash (provavelmente SHA em vez de MD5) e especificaria que um navegador só deve aceitar um arquivo se o hash corresponder ao especificado. Nos casos em que o mesmo arquivo grande precisará ser acessado por muitas pessoas, fornecer a todas essas pessoas uma URL via https: //, mas fazer com que elas baixem o arquivo de um proxy pode ser mais eficiente do que usar todas https: // diretamente da fonte.
Super dec
@supercat Isso é o que eu quis dizer com "impedir que as pessoas mexam com a soma de verificação" - algo deve ser transferido com segurança, e se essa é a soma de verificação, a soma de verificação pode ajudar a proteger contra adulteração maliciosa do arquivo.
cpast
Uma soma de verificação MD5 transmitida por algum caminho que não seja o próprio arquivo forneceria proteção contra adulteração , a menos que o arquivo fosse deliberadamente criado para facilitar tal adulteração. Por outro lado, algo como o CRC32 não forneceria quase nenhuma proteção contra adulteração, mesmo que a fonte original do arquivo fosse confiável e o CRC32 fosse entregue com segurança.
Super dec
4

Isso é realmente um problema. A exibição de somas de verificação no mesmo site que o arquivo para download é insegura. Uma pessoa que pode alterar o arquivo também pode alterar a soma de verificação. A soma de verificação deve ser mostrada através de um sistema separado completo, mas isso não é viável, porque como informar ao usuário de uma maneira segura onde a soma de verificação pode ser encontrada.

Uma solução possível é o uso de arquivos assinados.

(BTW: MD5 é inseguro em qualquer lugar e não deve mais ser usado.)

marsh-wiggle
fonte
2

Como as somas de verificação MD5 podem oferecer proteção contra arquivos deliberadamente alterados, se não há como saber se a própria soma de verificação foi comprometida?

Você está totalmente correto. O objetivo, então, seria tornar seu "se" errado - se sabemos que um hash criptográfico seguro de um arquivo não está comprometido, sabemos que o arquivo também não está comprometido.

Por exemplo, se você postar um hash de um arquivo em seu site e vincular a uma cópia do arquivo em um servidor espelho de terceiros - prática comum na distribuição de software livre à moda antiga - seus usuários poderão ser protegidos contra alguns tipos de ataques. Se o servidor espelho for mal-intencionado ou comprometido, mas seu site estiver correto, o espelho não poderá subverter o arquivo.

Se seu site usa HTTPS ou você assina o hash gpg, seu arquivo também pode ser protegido (principalmente) contra invasores de rede, como pontos de acesso Wi-Fi maliciosos, nós de saída Tor desonestos ou NSA.

Matt Nordhoff
fonte
11
Em relação ao gpg: lembre-se de que isso tem problemas semelhantes se você não confiar totalmente na chave pública que não foi substituída por uma chave comprometida e o conteúdo assinado com a chave privada correspondente a isso.
precisa
1

Você não pode modificar a soma de verificação MD5 sem também modificar o arquivo. Se você baixar o arquivo, faça o download do hash e, em seguida, o cálculo do arquivo não corresponde ao que é fornecido, o hash ou o arquivo está errado ou incompleto.

Se você deseja "vincular" o arquivo a algo externo, como autor, máquina etc., ele precisa ser assinado , usando um processo do tipo PKI com certificados. O autor do arquivo, etc., pode assinar o arquivo com sua chave privada e você pode verificar assinaturas com a chave pública, que deve estar disponível ao público, assinada por uma autoridade de certificação em que você e o autor confiam, e disponível para download, de preferência a partir de Várias localidades.

A modificação do arquivo tornaria a assinatura inválida; portanto, isso também pode ser usado para verificar a integridade do arquivo.

LawrenceC
fonte
1

Hashes indicam se a sua versão do arquivo (o "download") difere da versão do servidor. Eles não oferecem garantia para a autenticidade do arquivo.

Assinaturas digitais (criptografia assimétrica + função hash) podem ser usadas para verificar se o arquivo não foi modificado por alguém que não possui a chave privada correspondente.

O criador do arquivo faz o hash do arquivo e criptografa o hash usando sua chave privada (secreta). Dessa forma, qualquer pessoa com a chave pública (não secreta) correspondente pode verificar se o hash corresponde ao arquivo, mas enquanto o conteúdo do arquivo pode ser modificado, ninguém pode substituir o hash correspondente por outro que corresponda ao arquivo (após a descriptografia do hash usando a chave pública) - a menos que eles consigam forçar brutalmente a chave privada ou obter acesso a ela de alguma forma.

O que impede o Sr. "A.Hacker" de simplesmente modificar o arquivo e assiná-lo com sua própria chave privada?

Para validar o arquivo, você precisa comparar seu hash com o obtido por descriptografar a assinatura digital associada. Se você acha que o arquivo é de "IMAwesome", descriptografa o hash usando a chave dele e o hash não corresponde ao arquivo, pois o hash foi criptografado usando a chave do A.Hacker.

Portanto, as assinaturas digitais permitem detectar alterações acidentais e maliciosas.

Mas como obtemos a chave pública do IMAwesome em primeiro lugar? Como podemos garantir que, quando obtivemos a chave, ela não era realmente a chave do A.Hacker sendo atendida por um servidor comprometido ou por um ataque man-in-the-middle? É aqui que entram as cadeias de certificados e os certificados raiz confiáveis, nenhum dos quais são soluções perfeitamente seguras [1] para o problema, e ambas provavelmente devem ser bem explicadas na Wikipedia e em outras questões sobre SO.

[1] Após a inspeção, os certificados raiz fornecidos com o Microsoft OS no meu PC de trabalho incluem um certificado do governo dos EUA. Qualquer pessoa com acesso à chave privada correspondente tosse NSA tosse pode, portanto, servir de conteúdo para o meu navegador web que passa o "existe um cadeado na barra de endereço" cheque. Quantas pessoas realmente se incomodam em clicar no cadeado e ver quem está usando o par de chaves para "proteger" a conexão?

Mark K Cowan
fonte
Leva apenas uma pessoa que verifica a cadeia de certificados para causar um escândalo. Se você acha que a NSA usaria uma chave CA do governo para o MITM, em vez de usar uma roubada de uma autoridade de certificação privada ou - melhor ainda - estrangeira (fornecendo assim uma negação plausível), eu tenho uma ponte para vender.
Charles Duffy
Eu estava sugerindo a possibilidade de que ele pudesse ser usado para direcionar um MITM para um usuário específico. Quanto a saber se é realmente provável, é para as pessoas debaterem sobre o papel-alumínio
Mark K Cowan
Não estou questionando se é provável um MITM direcionado. Estou questionando se é descuidado o suficiente para usar uma chave CA prontamente rastreada e atribuída para executá-la. Particularmente para um destino de valor suficientemente alto, o tráfego líquido de saída pode ser registrado com detalhes suficientes para incluir metadados até e incluindo a parte pública do handshake SSL, portanto, mesmo que o usuário não olhe, sua equipe de segurança ou infraestrutura automatizada pode fazer isso em análises retrospectivas.
Charles Duffy
1

Como as somas de verificação MD5 podem fornecer proteção contra arquivos deliberadamente alterados, se não há como saber se a soma de verificação também não foi comprometida?

Esta é realmente uma boa pergunta. Em geral, sua avaliação da manipulação do MD5 é imediata. Mas acredito que o valor das somas de verificação MD5 nos downloads é superficial, na melhor das hipóteses. Talvez depois de baixar um arquivo, você possa verificar o MD5 que possui em um site, mas eu costumo ver o armazenamento MD5 lado a lado como um "recibo" ou algo que é bom de ter, mas não confiável. Como tal, geralmente nunca me importei com as somas de verificação MD5 dos arquivos baixados, mas posso falar da minha experiência na criação de processos MD5 ad-hoc baseados em servidor.

Basicamente, o que eu fiz quando um cliente deseja varrer um sistema de arquivos para as somas de verificação MD5 é gerá-los em arquivos CSV que mapeiam o nome do arquivo, o caminho, o MD5 - e outras informações diversas - em um formato de dados estruturado que eu ingeri em um banco de dados para comparação e armazenamento.

Portanto, usando o seu exemplo, enquanto uma soma de verificação MD5 pode ficar ao lado de um arquivo em seu próprio arquivo de texto, a soma de verificação MD5 do registro de autoridade seria armazenada em um sistema de banco de dados não conectado. Portanto, se alguém de alguma forma invadisse um compartilhamento de arquivos para manipular dados, esse invasor não teria acesso aos registros de autoridade MD5 ou ao histórico conectado.

Recentemente, descobri um bom software de arquivamento de bibliotecas chamado ACE Audit manager, que basicamente é um aplicativo Java projetado para sentar e assistir a mudanças no sistema de arquivos. Ele registra as alterações via MD5. E opera com uma filosofia semelhante ao meu processo ad-hoc - armazene as somas de verificação em um banco de dados -, mas é preciso um passo adiante, mas a criação de uma soma de verificação MD5 das somas de verificação MD5, conhecida como hash tree ou Merkle tree .

Então, digamos que você tenha 5 arquivos em uma coleção. Esses 5 arquivos no gerenciador de auditoria do ACE receberiam outro - vamos chamar de "pai" - soma de verificação que é um hash gerado a partir das 5 somas de verificação MD5 de cada arquivo. Portanto, se alguém adulterasse apenas um arquivo, o hash do arquivo mudaria e o hash de toda a coleção "pai".

Em geral, a maneira como você precisa observar as somas de verificação MD5 e os hashes de integridade relacionados é que, a menos que não estejam conectados a algum armazenamento não direto para os próprios hashes MD5, eles podem estar corrompidos. E o seu valor como uma ferramenta de integridade de dados a longo prazo é equivalente a um bloqueio barato que é "gratuito" em uma nova peça de bagagem; se você é sério em trancar sua bagagem, receberá uma fechadura que não pode ser aberta em 5 segundos com um clipe de papel.

JakeGould
fonte
A "soma de verificação MD5 das somas de verificação MD5" é conhecida como uma árvore Merkle .
Pjc50
@ pjc50 Obrigado! Editou a resposta para fazer referência a isso.
JakeGould #
0

Rapidez

Muitas vezes, as pessoas acham muito mais rápido (a) fazer o download de um arquivo grande de uma rede de entrega de conteúdo (CDN) "não confiável" não confiável, site espelho, pares de torrents etc. e também baixar o arquivo curto de soma de verificação correspondente (geralmente SHA256; software antigo MD5) freqüentemente usado de algumas fontes confiáveis. Eles acham insuportavelmente lento baixar (b) o arquivo grande inteiro diretamente de uma fonte confiável.

validação

Frequentemente, essa pessoa descobre que tudo valida - as fontes (confiáveis ​​e não confiáveis) concordam com a mesma soma de verificação e executam shasum (ou md5sum) com qualquer um desses arquivos curtos de soma de verificação (não importa qual, quando todos são idênticos ) indica que o arquivo grande possui uma soma de verificação correspondente.

modificação

Você está certo que, quando Mallory altera maliciosamente um arquivo grande em algum site de download, seria fácil para Mallory também maliciosamente a soma de verificação desse arquivo no mesmo site de download, para que o shasum (ou md5sum) seja executado nesse arquivo de soma de verificação maliciosa parece validar o arquivo grande. Mas esse arquivo de soma de verificação não é o (único) arquivo que o downloader deve usar para validação.

Quando o downloader compara o arquivo de soma de verificação mal-intencionado com os arquivos de soma de verificação baixados de fontes confiáveis, se a soma de verificação original passar por uma única vez, o downloader verá que tudo não é validado e saberá que algo deu errado.

Como o cpast disse anteriormente, se uma boa soma de verificação criptográfica for transmitida por uma conexão confiável, ela poderá fornecer segurança (que é derivada da conexão confiável).

Como o supercat disse anteriormente, os arquivos de soma de verificação de um site não ajudam as pessoas que baixam arquivos grandes do mesmo site e da mesma maneira que baixam os arquivos de soma de verificação - ajudam as pessoas que desejam baixar arquivos de outro site.

"Em termos de segurança, os hashes criptográficos como o MD5 permitem a autenticação de dados obtidos de espelhos inseguros. O hash MD5 deve ser assinado ou provir de uma fonte segura (uma página HTTPS) de uma organização em que você confia". - https://help.ubuntu.com/community/HowToMD5SUM

As somas de verificação criptográficas são uma parte importante das assinaturas práticas de chave pública (conforme implementadas no GnuPG e em outros softwares compatíveis com o OpenPGP). As assinaturas de chave pública têm algumas vantagens sobre as somas de verificação.

David Cary
fonte
0

Ouvi dizer que essa [soma de verificação MD5] é para permitir [...] também que quaisquer alterações maliciosas sejam facilmente detectadas.

Bem, você não ouviu totalmente errado . Na verdade, a assinatura digital é usada para detectar alterações maliciosas. Por algumas razões importantes, o hash é uma parte fundamental da assinatura digital, pois apenas o hash é realmente assinado , e não o arquivo original inteiro.

Dito isto, se a fonte não fornecer a assinatura do hash e uma maneira confiável de verificá-lo , então você está certo, não há proteção contra arquivos deliberadamente alterados , mas o hash ainda é útil como soma de verificação contra acidentes acidentais. corrupção .

Aqui está um exemplo do mundo real que pode esclarecer tudo. A seguinte passagem é particularmente significativa sobre o assunto:

Para versões mais antigas de CD arquivadas, apenas as somas de verificação MD5 foram [...] geradas. Para versões mais recentes, algoritmos de soma de verificação mais novos e criptograficamente mais fortes (SHA1, SHA256 e SHA512) são usados.

matpop
fonte