So überprüfen Sie die Authentizität von Linux-Software mit digitalen Signaturen

Como verificar a autenticidade do software Linux com assinaturas digitais

⌛ Reading Time: 4 minutes

Quando você baixa software da Internet, precisa confiar no (s) desenvolvedor (es) que seu programa não é malicioso. No entanto, você também precisa se preocupar com hackers. Um invasor pode ganhar muito hackeando um site e substituindo o software por uma versão backdoor.

Pense em um site que hospeda um utilitário de carteira Bitcoin. Se um invasor conseguir substituir a versão legítima por uma mal-intencionada, ele pode potencialmente roubar dinheiro de dezenas de milhares de usuários. Outro alvo valioso para backdoor é um sistema operacional. Isso aconteceu com o Linux Mint no passado.

Então, o que você pode fazer sobre isso?

Hashes e assinaturas

Os desenvolvedores preocupados com a segurança costumam agrupar seus arquivos de configuração ou arquivos com somas de verificação que você pode verificar. Você pode ler como verificá-los no Windows ou Linux. O problema com esses hashes, porém, é que, se um hacker substituir arquivos em um site, ele também pode substituir facilmente os hashes. Isso torna os hashes quase inúteis, especialmente se estiverem hospedados no mesmo servidor onde residem os programas.

Para tornar essas somas de verificação úteis, os desenvolvedores também podem assiná-los digitalmente, com a ajuda de um par de chaves pública e privada. Apenas a pessoa que possui esta chave privada pode criar assinaturas. Estes podem ser verificados apenas com a chave pública correspondente, que é publicada na Internet. Se a verificação for aprovada, você pode ter (quase sempre) certeza de que o proprietário da chave privada assinou seu software.

Para um hacker contornar esse mecanismo de segurança, ele precisa roubar a chave privada de alguma forma, o que é muito mais difícil de fazer se o proprietário tomar as medidas adequadas para mantê-la em segredo. E mesmo quando a chave é roubada, o proprietário pode invalidá-la revogando-a e anunciando-a. Se isso acontecer, ao baixar a chave pública dele e tentar usá-la para verificar uma assinatura, você será notificado de que ela foi revogada.

Como verificar assinaturas usando GnuPG (GPG)

O utilitário gpg normalmente é instalado por padrão em todas as distros. Se, por algum motivo, ele estiver faltando, você pode instalá-lo com os comandos abaixo. Em algumas distribuições, se você receber um erro como “gpg: falha ao iniciar o dirmngr ‘/ usr / bin / dirmngr’: arquivo ou diretório não existe,”Você tem que instalar dirmngr também.

Em distribuições baseadas em Debian, Ubuntu ou Debian, execute:

Para RedHat / CentOS:

e no Fedora:

Você pode seguir o exemplo abaixo para testar como você verificaria um ISO do instalador Debian 9.8.0.

Baixe “SHA256SUMS”, “SHA256SUMS.sign” e “debian-9.8.0-amd64-netinst.iso”. Pode ser necessário clicar com o botão direito nos dois primeiros arquivos e selecionar “Salvar link como” ou o equivalente em seu navegador. Caso contrário, clicar neles pode apenas exibir seu conteúdo em vez de fazer o download automaticamente.

Abra um emulador de terminal e mude para o diretório onde seus downloads estão localizados.

Verificando somas de verificação

Aguarde o término do download do ISO. Em seguida, verifique as somas de verificação SHA256.

Você verá o nome do arquivo seguido por uma mensagem “OK” quando a soma de verificação estiver correta. Para verificar outros tipos de somas de verificação, você tem os seguintes comandos: sha1sum, sha512sum, md5sum. Mas é recomendável usar pelo menos uma soma SHA256, ou superior, se estiver disponível.

Alguns sites não oferecem arquivos como SHA256SUMS, onde nomes de arquivos e somas de verificação são agrupados para fácil verificação. Se eles apenas exibirem a soma em seu site, verifique o hash do arquivo com um comando como:

Usando GPG para verificar somas de verificação assinadas

Neste exemplo, a equipe do Debian assinou o arquivo “SHA256SUMS” com sua chave privada e o salvou no arquivo “SHA256SUMS.sign”. Verifique a assinatura com:

Você receberá esta mensagem:

Isso significa que você não tem a chave pública no seu computador, o que é normal. Você tem que importá-lo de um servidor de chaves.

Se um servidor de chaves estiver inativo, você pode usar um alternativo. Por exemplo, você pode substituir keyring.debian.org com keyserver.ubuntu.com.

Mas como você sabe que essa chave é legítima? Infelizmente, para ter certeza absoluta, você precisaria construir algo chamado teia de confiança. Obviamente, você não tem isso neste momento. Mas existem algumas coisas que você pode fazer.

Google a impressão digital da chave (DF9B9C49EAA9298432589D76DA87E80D6294BE9B). Se você não encontrar nada, tente pesquisar no Google apenas os últimos oito caracteres (6294BE9B). Uma chave legítima será mencionada em muitos sites sobre software semelhante. Além disso, as mensagens normalmente duram anos, uma vez que uma chave protegida com segurança será usada por um longo tempo.

Se você for realmente paranóico, baixe um Imagem BitTorrent e verifique a soma de verificação e as assinaturas. Da forma como os torrents funcionam, é impossível substituir os arquivos enviados por centenas de usuários diferentes. Além disso, o BitTorrent também possui mecanismos próprios para verificar a integridade de cada bloco de dados que baixa.

Agora que você tem a chave pública, pode finalmente verificar a assinatura:

Gpg Verificar assinaturas Verificar arquivo de assinatura

Se você vir “Boa assinatura”, significa que tudo está correto. Não se preocupe com o aviso – é normal porque, conforme mencionado, você não estabeleceu uma rede de confiança para a chave pública.

Conclusão

Como você já deve saber, nada é certo na Internet. Mas certamente é mais seguro tomar medidas de precaução, e verificar as assinaturas digitais dos arquivos baixados pode ajudá-lo a evitar software malicioso. Muitas vezes, quando os usuários baixavam sistemas operacionais backdoor ou software de carteira Bitcoin, eles poderiam ter evitado o problema se checassem as assinaturas, já que elas não foram adulteradas.