SHARE THE PERSPECTIVE

Antes de instalar um arquivo APK, comparar seu hash SHA-256 pode mostrar que ele é idêntico à versão da qual você possui um hash confiável. Essa verificação é útil, mas, por si só, não comprova que o aplicativo esteja livre de vulnerabilidades ou malware.

Para um download seguro, há três perguntas distintas: de onde veio o arquivo, se ele foi alterado no caminho e quais evidências existem sobre o código que contém? Nenhum valor de hash responde sozinho às três.

O que faz o hash de um arquivo?

O SHA-256 produz um valor de tamanho fixo a partir do conteúdo do arquivo. Se o arquivo mudar, espera-se que seu hash também mude. Comparar dois hashes é, portanto, uma forma prática de verificar se os bytes dos arquivos são idênticos.

O resultado só é tão confiável quanto a referência usada na comparação. Se um invasor puder substituir tanto o APK quanto o hash exibido ao lado dele, a correspondência entre os valores não revelará o problema. O modelo de ameaças do Livara também explica essa limitação da verificação de arquivos.

Como verificar antes de instalar

  1. Identifique a versão desejada. Compare o nome do produto, o número da versão e o tipo de pacote com a página de lançamento. Arquivos de duas versões diferentes geralmente não têm o mesmo hash.

  2. Obtenha o hash esperado de uma fonte confiável. Não se limite a uma mensagem desconhecida que envia o arquivo e o hash juntos. Verifique de forma independente o endereço do site oficial.

  3. Calcule o hash do arquivo baixado. O Proof Lab do Livara oferece uma ferramenta de comparação de hashes de APK. Não a confunda com um teste completo de segurança do aplicativo.

  4. Compare o valor inteiro. Os primeiros ou os últimos caracteres não bastam. Confira também possíveis erros no nome da versão ou na escolha do arquivo.

  5. Se houver diferença, interrompa a instalação. A divergência pode resultar de outra versão, de um download incompleto ou da alteração do arquivo; sozinha, não comprova malware. Não instale o arquivo até esclarecer a causa e faça uma nova verificação pelo canal oficial.

Este guia não apresenta nenhum hash de exemplo como o de uma “versão segura”, pois o valor correto depende do arquivo específico do lançamento.

Qual é a diferença entre hash, assinatura e compilação reproduzível?

Verificação Conclusão que pode sustentar O que não comprova sozinha
Hash SHA-256 O arquivo é idêntico à referência de comparação O código é seguro ou o editor é confiável
Assinatura do APK O arquivo foi assinado com uma chave específica e a verificação da assinatura é válida O detentor da chave nunca publicará código malicioso
Compilação reproduzível Com fonte, ambiente e instruções específicos, é possível gerar os mesmos bytes O código-fonte não tem falhas de segurança
Análise de segurança do código Problemas foram descobertos ou avaliados no escopo e na versão examinados Não restam falhas desconhecidas

A ferramenta oficial apksigner do Android permite verificar assinaturas de APK e informações de certificados. Uma instalação nova também difere da atualização de um aplicativo existente: para atualizações, o Android verifica a compatibilidade do signatário. Uma assinatura válida de um editor desconhecido não é motivo suficiente para confiar.

A definição de compilação reproduzível também exige código-fonte e ambiente de compilação específicos. Comparar o hash do download não substitui esse processo.

Qual é o escopo do Proof Lab?

Além do hash de arquivos, a página Proof Lab oferece uma demonstração criptográfica no navegador. Uma demonstração bem-sucedida de uma operação criptográfica não é uma auditoria completa do aplicativo instalado nem a execução integral dos protocolos de mensagens. A própria ferramenta também precisa ser executada em um ambiente confiável: um dispositivo ou uma página comprometidos podem exibir um resultado enganoso.

Mesmo após a instalação, atualizações, permissões do aplicativo e segurança do dispositivo continuam importantes. Verificar o arquivo de hoje não significa verificar automaticamente uma versão futura.

Comparar hashes é um controle específico na cadeia de confiança; seu valor aumenta quando você também conhece a fonte do lançamento, o signatário e os limites do resultado.

Verifique seu APK offline no Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗