Todos os artigos

Checksum Verifier: como verificar que um arquivo não está corrompido

O Brasil é um dos principais alvos globais de trojans bancários para Android como o Grandoreiro, que se espalham por APKs distribuídos fora da Google Play Store — muitas vezes disfarçados de boletos, apps de entrega ou atualizações de segurança de bancos conhecidos. Órgãos de segurança já documentaram diversas campanhas desse tipo direcionadas especificamente a usuários brasileiros. Conferir o checksum publicado pela fonte oficial contra o do arquivo baixado é uma forma simples de flagrar essa substituição antes de instalar.

Como um checksum detecta corrupção ou adulteração

Devido ao efeito avalanche das funções hash, seja por dano acidental na transferência ou por adulteração deliberada, um único byte alterado muda completamente o hash calculado do arquivo. Por isso, qualquer diferença entre o checksum esperado e o calculado significa inequivocamente que o arquivo difere do original — byte a byte.

O que um checksum não garante

Hashes coincidentes confirmam apenas que o arquivo é idêntico àquele do qual o hash publicado foi calculado — não que esse original seja seguro. Se o próprio site falso publica o APK malicioso junto com um checksum "correspondente", a verificação não vai detectar nada — por isso o hash de referência deve vir do site oficial do banco ou desenvolvedor, nunca da mesma fonte não oficial de onde o arquivo suspeito foi baixado.

Checksum contra assinatura digital

Ao contrário de um checksum, uma assinatura digital é criada com uma chave privada e só pode ser verificada com a chave pública correspondente. A Play Store verifica essa assinatura automaticamente na instalação; ao instalar um APK baixado manualmente (sideloading), essa proteção deixa de existir, e a conferência manual do checksum passa a ser a única defesa restante.

Para que serve

  • Confirmar que um APK bancário ou de entrega baixado fora da loja oficial não foi adulterado.
  • Comparar rapidamente dois arquivos grandes sem comparar byte a byte.
  • Verificar que uma cópia de backup de um arquivo é idêntica ao original.

Por que às vezes se usa CRC32 em vez de SHA-256

O CRC32 é muito mais rápido que as funções de hash criptográficas, mas é facilmente falsificável de propósito — isso não é um problema para detectar corrupção acidental durante a transmissão, mas é uma proteção inadequada contra um invasor que deseja substituir um arquivo sem ser notado. Por isso o CRC32 ainda aparece em compactadores e protocolos de rede para controle de erros, e não onde a segurança em si é necessária.

Experimentar a ferramenta