Como verificar a soma de verificação de um ISO do Linux e confirmar que ela não foi adulterada
No mês passado, o site do Linux Mint foi hackeado, e um ISO modificado foi colocado para download, incluindo um backdoor. Embora o problema tenha sido corrigido rapidamente, ele demonstra a importância de verificar os arquivos ISO do Linux que você fez o download 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 eles afirmam ser, e esses são geralmente assinados para que você possa verificar se as somas de verificação não foram adulteradas. Isso é particularmente útil se você baixar uma 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 arquivos.
Como este processo funciona
O processo de verificação de um ISO é um pouco complexo, portanto, antes de entrar nos passos exatos, vamos explicar exatamente o que o processo envolve:
- Você baixará o arquivo ISO do Linux no site da distribuição do Linux - ou em outro lugar - como de costume.
- Você baixará uma soma de verificação e sua assinatura digital no site da distribuição Linux. Estes podem ser dois arquivos TXT separados, ou você pode obter um único arquivo TXT contendo os dois dados.
- Você receberá 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 da distribuição do Linux..
- Você usará a chave PGP para verificar se a assinatura digital da soma de verificação foi criada pela mesma pessoa que criou a chave, neste caso, os mantenedores dessa distribuição Linux. Isso confirma que a soma de verificação em si não foi adulterada.
- Você irá gerar a soma de verificação do arquivo ISO baixado e verificar se ele corresponde ao arquivo TXT de soma de verificação que você baixou. Isso confirma que o arquivo ISO não foi adulterado ou corrompido.
O processo pode diferir um pouco para diferentes ISOs, 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 mais usadas pelas distribuições Linux modernas, já que o SHA-256 é mais resistente a ataques teóricos. Vamos discutir aqui as somas do SHA-256, embora um processo semelhante funcione para somas MD5. Algumas distribuições Linux também podem fornecer somas SHA-1, embora sejam ainda menos comuns.
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 o PGP é muito mais seguro, mas não infalível. O invasor ainda pode substituir essa chave pública por sua própria, eles ainda podem induzi-lo a pensar que o ISO é legítimo. No entanto, se a chave pública estiver hospedada em um servidor diferente, como é o caso do Linux Mint, isso se tornará muito menos provável (já que eles precisariam hackear dois servidores em vez de apenas um). Mas se a chave pública é armazenada no mesmo servidor que o ISO e a soma de verificação, como é o caso de algumas distribuições, então ela não oferece muita segurança.
Ainda assim, se você estiver tentando verificar a assinatura PGP em um arquivo de soma de verificação e depois validar o download com essa soma de verificação, isso é tudo o que você pode fazer razoavelmente como um usuário final baixando um ISO do Linux. Você ainda é muito mais seguro do que as pessoas que não se incomodam.
Como verificar uma soma de verificação no Linux
Usaremos o Linux Mint como exemplo aqui, mas talvez seja necessário pesquisar no site da distribuição do 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 espelhos de download. Baixe o ISO e 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 sua área de trabalho do Linux, abra uma janela de terminal e baixe a chave PGP. Neste caso, a chave PGP do Linux Mint está hospedada no servidor de chaves do Ubuntu, e devemos executar o seguinte comando para obtê-lo.
gpg --keyserver hkp: //keyserver.ubuntu.com --recv-keys 0FF405B2
O site da sua distro Linux lhe indicará a chave que você precisa.
Agora temos tudo o que precisamos: o ISO, o arquivo de soma de verificação, o arquivo de assinatura digital da soma de verificação e a chave PGP. Então, em seguida, mude para a pasta que eles foram baixados para…
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 informar que o arquivo sha256sum.txt baixado tem uma “boa assinatura”, você poderá continuar. Na quarta linha da imagem abaixo, o GPG nos informa que essa é uma “boa assinatura” que afirma estar associada a Clement Lefebvre, criador do Linux Mint..
Não se preocupe se a chave não está certificada com uma “assinatura confiável”. Isso se deve à maneira como a criptografia PGP funciona - você não configurou uma rede de confiança importando chaves de pessoas confiáveis. Este erro será muito comum.
Por fim, 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 a partir do arquivo .iso baixado e compará-lo ao arquivo TXT de soma de verificação do qual você fez o download:
sha256sum --check sha256sum.txt
Você verá muitas mensagens de “nenhum arquivo ou diretório” se você baixou apenas um único arquivo ISO, mas deverá ver uma mensagem “OK” para o arquivo que baixou se corresponder à soma de verificação..
Você também pode executar os comandos de soma de verificação diretamente em um arquivo .iso. Ele examinará o arquivo .iso e emitirá sua soma de verificação. Você pode então verificar se corresponde à soma de verificação válida olhando para os dois com os 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 da 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, também poderá verificar a soma de verificação - embora o Windows não tenha o software necessário incorporado. Então, você precisará baixar e instalar a ferramenta Gpg4win de código aberto.
Localize o arquivo de chave de assinatura da distribuição do Linux e os arquivos de soma de verificação. Usaremos o Fedora como exemplo aqui. O site do Fedora fornece downloads de soma de verificação e nos informa que podemos baixar a chave de assinatura do Fedora em https://getfedora.org/static/fedora.gpg.
Depois de ter baixado 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 que você importou. Para fazer isso, clique em Arquivo> Descriptografar / Verificar Arquivos. Selecione o arquivo de soma de verificação baixado. Desmarque a opção "Arquivo de entrada é uma assinatura separada" e clique em "Descriptografar / Verificar".
Você certamente verá uma mensagem de erro se fizer isso desta 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 é projetado para funcionar - você encontra e troca chaves pessoalmente, por exemplo, e monta uma rede de confiança. A maioria das pessoas não usa dessa maneira.
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 confiar em um arquivo ISO baixado sem verificar, de qualquer maneira.
Agora você deve poder 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 é apresentado. Quando tentamos isso com o arquivo sha256sum.txt do Linux Mint, ele funcionou.
Se isso não funcionar para sua distribuição Linux de escolha, aqui está uma solução alternativa. Primeiro, clique em Configurações> Configurar o Kleopatra. Selecione “Crypto Operations”, selecione “File Operations” e defina o Kleopatra para usar o programa de soma de verificação “sha256sum”, pois é com isso que essa soma de verificação específica foi gerada. Se você tem 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 a partir do arquivo .iso baixado e salvá-lo em um novo arquivo.
Você pode abrir esses dois arquivos - o arquivo de soma de verificação baixado e aquele que você acabou de gerar - em um editor de texto como o Bloco de Notas. Confirme se a soma de verificação é idêntica em ambos os seus próprios olhos. Se for idêntico, você confirmou que o arquivo ISO baixado não foi adulterado.
Esses métodos de verificação não eram originalmente destinados a proteção contra malware. Eles foram projetados para confirmar que o seu arquivo ISO foi baixado corretamente e não foi corrompido durante o download, então você pode gravá-lo e usá-lo sem se preocupar. Eles não são uma solução completamente infalível, já que você precisa confiar na chave PGP que você baixa. No entanto, isso ainda oferece muito mais segurança do que apenas usar um arquivo ISO sem verificar tudo.
Crédito de imagem: Eduardo Quagliato no Flickr