Como verificar a soma de verificação de um ISO do Linux e confirmar que não foi adulterado

linux

No mês passado, o site do Linux Mint foi hackeado e uma ISO modificada foi colocada para download que incluía um backdoor. Embora o problema tenha sido corrigido rapidamente, ele demonstra a importância de verificar os arquivos ISO do Linux que você baixa antes de executá-los e instalá-los. Veja como.

As distribuições Linux publicam somas de verificação para que você possa confirmar se os arquivos baixados são o que afirmam ser, e estes são frequentemente assinados para que você possa verificar se as somas de verificação em si não foram adulteradas. Isso é particularmente útil se você baixar um ISO de algum lugar diferente do site principal – como um espelho de terceiros, ou através do BItTorrent, onde é muito mais fácil para as pessoas adulterarem os arquivos.

Como funciona este processo

O processo de verificação de um ISO é um pouco complexo, então, antes de entrarmos nas etapas exatas, vamos explicar exatamente o que o processo envolve:

  1. Você baixará o arquivo ISO do Linux no site da distribuição do Linux – ou em outro lugar – como de costume.
  2. Você fará o download de uma soma de verificação e sua assinatura digital no site da distribuição Linux. Podem ser dois arquivos TXT separados ou você pode obter um único arquivo TXT contendo os dois dados.
  3. Você obterá uma chave PGP pública pertencente à distribuição Linux. Você pode obter isso no site da distribuição Linux ou em um servidor de chaves separado gerenciado pelas mesmas pessoas, dependendo de sua distribuição Linux.
  4. Você usará a chave PGP para verificar se a assinatura digital do checksum foi criada pela mesma pessoa que fez a chave – neste caso, os mantenedores dessa distribuição Linux. Isso confirma que a própria soma de verificação não foi adulterada.
  5. Você gerará a soma de verificação do arquivo ISO baixado e verificará se corresponde ao arquivo TXT da soma de verificação baixado. Isso confirma que o arquivo ISO não foi adulterado ou corrompido.

O processo pode ser um pouco diferente para ISOs diferentes, mas geralmente segue esse padrão geral. Por exemplo, existem vários tipos diferentes de somas de verificação. Tradicionalmente, as somas MD5 são as mais populares. No entanto, as somas SHA-256 são agora usadas com mais frequência pelas distribuições Linux modernas, pois o SHA-256 é mais resistente a ataques teóricos. Discutiremos principalmente somas SHA-256 aqui, embora um processo semelhante funcione para somas MD5. Algumas distros Linux também podem fornecer somas SHA-1, embora sejam ainda menos comuns.

Recomendado:  Como converter uma imagem para o formato JPG

Da mesma forma, algumas distros não assinam seus checksums com PGP. Você só precisará executar as etapas 1, 2 e 5, mas o processo é muito mais vulnerável. Afinal, se o invasor puder substituir o arquivo ISO para download, ele também poderá substituir a soma de verificação.

Usar PGP é muito mais seguro, mas não infalível. O invasor ainda pode substituir aquela chave pública pela sua, ele ainda pode fazer você pensar que a ISO é legítima. No entanto, se a chave pública estiver hospedada em um servidor diferente – como é o caso do Linux Mint – isso se torna muito menos provável (já que eles teriam que hackear dois servidores em vez de apenas um). Mas se a chave pública for armazenada no mesmo servidor que o ISO e a soma de verificação, como é o caso de algumas distros, ela não oferece tanta segurança.

Ainda assim, se você está tentando verificar a assinatura PGP em um arquivo de checksum e então validar seu download com esse checksum, isso é tudo que você pode razoavelmente fazer como um usuário final baixando um ISO do Linux. Você ainda está muito mais seguro do que as pessoas que não se importam.

Como verificar uma soma de verificação no Linux

Usaremos o Linux Mint como exemplo aqui, mas você pode precisar pesquisar no site da sua distribuição Linux para encontrar as opções de verificação que ele oferece. Para o Linux Mint, dois arquivos são fornecidos junto com o download do ISO em seus mirrors de download. Baixe o ISO e, em seguida, baixe os arquivos “sha256sum.txt” e “sha256sum.txt.gpg” para o seu computador. Clique com o botão direito nos arquivos e selecione “Salvar link como” para baixá-los.

Na área de trabalho do Linux, abra uma janela de terminal e baixe a chave PGP. Nesse caso, a chave PGP do Linux Mint está hospedada no servidor de chaves do Ubuntu e devemos executar o seguinte comando para obtê-la.

gpg --keyserver hkp: //keyserver.ubuntu.com --recv-keys 0FF405B2

O site da sua distribuição Linux o indicará a chave de que você precisa.

Agora temos tudo o que precisamos: o ISO, o arquivo de checksum, o arquivo de assinatura digital do checksum e a chave PGP. Em seguida, mude para a pasta onde eles foram baixados …

cd ~ / Downloads

… E execute o seguinte comando para verificar a assinatura do arquivo de soma de verificação:

gpg --verify sha256sum.txt.gpg sha256sum.txt

Se o comando GPG permitir que você saiba que o arquivo sha256sum.txt baixado tem uma “assinatura válida”, você pode continuar. Na quarta linha da imagem abaixo, o GPG nos informa que esta é uma “boa assinatura” que afirma estar associada a Clement Lefebvre, criador do Linux Mint.

Recomendado:  Como silenciar sua campainha SkyBell HD

Não se preocupe se a chave não for certificada com uma “assinatura confiável”. Isso ocorre devido à maneira como a criptografia PGP funciona – você não configurou uma rede de confiança importando chaves de pessoas confiáveis. Esse erro será muito comum.

Por último, agora que sabemos que a soma de verificação foi criada pelos mantenedores do Linux Mint, execute o seguinte comando para gerar uma soma de verificação do arquivo .iso baixado e compare-a com o arquivo TXT de soma de verificação que você baixou:

sha256sum --check sha256sum.txt

Você verá muitas mensagens de “nenhum arquivo ou diretório” se tiver baixado apenas um único arquivo ISO, mas deverá ver uma mensagem “OK” para o arquivo baixado se ele corresponder à soma de verificação.

Você também pode executar os comandos de checksum diretamente em um arquivo .iso. Ele examinará o arquivo .iso e exibirá sua soma de verificação. Você pode então apenas verificar se ele corresponde à soma de verificação válida olhando para ambos com seus olhos.

Por exemplo, para obter a soma SHA-256 de um arquivo ISO:

sha256sum /path/to/file.iso

Ou, se você tiver um valor md5sum e precisar obter o md5sum de um arquivo:

md5sum /path/to/file.iso

Compare o resultado com o arquivo TXT de soma de verificação para ver se eles correspondem.

Como verificar uma soma de verificação no Windows

Se você estiver baixando um ISO do Linux de uma máquina Windows, você também pode verificar a soma de verificação lá – embora o Windows não tenha o software necessário integrado. Portanto, você precisará baixar e instalar a ferramenta de código aberto Gpg4win .

Localize o arquivo de chave de assinatura e os arquivos de soma de verificação da sua distribuição Linux. Usaremos o Fedora como exemplo aqui. O site do Fedora fornece downloads de checksum e nos diz que podemos baixar a chave de assinatura do Fedora em https://getfedora.org/static/fedora.gpg.

Depois de baixar esses arquivos, você precisará instalar a chave de assinatura usando o programa Kleopatra incluído no Gpg4win. Inicie o Kleopatra e clique em Arquivo> Importar Certificados. Selecione o arquivo .gpg que você baixou.

Agora você pode verificar se o arquivo de soma de verificação baixado foi assinado com um dos arquivos de chave importados. Para fazer isso, clique em Arquivo> Descriptografar / Verificar arquivos. Selecione o arquivo de soma de verificação baixado. Desmarque a opção “O arquivo de entrada é uma assinatura separada” e clique em “Descriptografar / Verificar”.

Recomendado:  O que é um chipset?

Você certamente verá uma mensagem de erro se fizer isso dessa forma, já que não teve o trabalho de confirmar se os certificados do Fedora são realmente legítimos. Essa é uma tarefa mais difícil. É assim que o PGP foi projetado para funcionar – você encontra e troca chaves pessoalmente, por exemplo, e constrói uma rede de confiança. A maioria das pessoas não o usa dessa forma.

No entanto, você pode ver mais detalhes e confirmar se o arquivo de soma de verificação foi assinado com uma das chaves importadas. Isso é muito melhor do que apenas confiar em um arquivo ISO baixado sem verificar, de qualquer maneira.

Agora você deve ser capaz de selecionar Arquivo> Verificar arquivos de soma de verificação e confirmar se as informações no arquivo de soma de verificação correspondem ao arquivo .iso baixado. No entanto, isso não funcionou para nós – talvez seja apenas a forma como o arquivo de soma de verificação do Fedora é organizado. Quando tentamos isso com o arquivo sha256sum.txt do Linux Mint, funcionou.

Se isso não funcionar para a distribuição Linux de sua escolha, aqui está uma solução alternativa. Primeiro, clique em Configurações> Configurar Kleopatra. Selecione “Operações de criptografia”, selecione “Operações de arquivo” e configure o Kleopatra para usar o programa de soma de verificação “sha256sum”, pois é com isso que esta soma de verificação em particular foi gerada. Se você tiver uma soma de verificação MD5, selecione “md5sum” na lista aqui.

Agora, clique em Arquivo> Criar arquivos de soma de verificação e selecione o arquivo ISO baixado. O Kleopatra irá gerar uma soma de verificação do arquivo .iso baixado e salvá-la em um novo arquivo.

Você pode abrir ambos os arquivos – o arquivo de soma de verificação baixado e o que acabou de gerar – em um editor de texto como o Bloco de notas. Confirme se a soma de verificação é idêntica em ambos com seus próprios olhos. Se for idêntico, você confirmou que o arquivo ISO baixado não foi adulterado.


These verification methods weren’t originally intended for protecting against malware. They were designed to confirm that your ISO file downloaded correctly and wasn’t corrupted during the download, so you could burn and use it without worrying. They’re not a completely foolproof solution, as you do have to trust the PGP key you download. However, this still provides much more assurance than just using an ISO file without checking it at all.

Image Credit: Eduardo Quagliato on Flickr