Home Forense em Geral Função de Hash em Forense Digital

Função de Hash em Forense Digital

A Ciência Forense Digital abrange todas as questões relacionadas aos crimes praticados na Internet ou fora dela, chamados cibercrimes. Estudando como coletar evidências de crimes digitais, analisar e documentar casos, esta ciência, relativamente nova aqui no Brasil segue as principais metodologias em conformidade a norma ABNT NBR ISO/IEC 27037:2013.

Esta Norma estabelece diretrizes para atividades específicas no tratamento de evidências digitais na identificação, coleta, aquisição e preservação de potenciais evidências.

Para tal, faz-se necessário todo o cuidado quanto ao manuseio da evidência digital, afim de evitar a espoliação ou adulteração do dado coletado. É recomendado que os manuseadores da evidência digital sigam os procedimentos documentados para garantir que a integridade e a confiabilidade da potencial evidência digital sejam mantidas.

De maneira a garantir a integridade da evidência, a norma recomenda o uso da função de Hash, uma vez que a Hash é considerado uma impressão digital eletrônica do dado coletado, usadas na computação forense para comprovar se determinada cópia de um arquivo ou se determinada versão de um arquivo bate com a versão original. Serve para averiguar a veracidade de uma evidência. Se ela é ou não autêntica. Se foi ou não alterada.

Portanto, é imprescindível que o indivíduo responsável pela coleta e posterior manipulação da evidência digital esteja familiarizado e entenda a vital importância na extração do código hash e que sejam anexados estes dados a cadeia de custódia, para caso necessário estes dados possam ser posteriormente comparados.

Características da Função Hash

Conforme descrito na Norma ABNT, a função Hash é um método de criptografia unidirecional, uma sequência de bits geradas por um algoritmo, em geral representada em base hexadecimal, que permite a conversão em letras e números (0 a 9 e A a F). O conceito teórico diz que “Hash é a transformação de uma grande quantidade de dados em uma pequena quantidade de informações”, podendo ser MD5, SHA1, SHA256 entre outras.

O código hash é gerado através de um algoritmo que vai analisar byte a byte de determinado dado para gerar de forma única, um determinado código que só aquele arquivo terá. Se neste mesmo arquivo um único bit for alterado a hash gerada será diferente.

Muito usado no controle de integridade de arquivos e mídias de armazenamento, haja vista a baixíssima probabilidade de dois arquivos distintos submetidos a mesma função produzirem a mesma Hash. Essa sequência busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de Hash retornar à informação original

É um método para transformar dados de tal forma que o resultado seja “quase” exclusivo. Estou levando em consideração ao fato de mesmo que improvável, existe sim a possibilidade em obtermos o mesmo “código” Hash para dois arquivos diferentes.

Matematicamente falando isso é possível. Como por exemplo a Hash MD5 só tem 32 caracteres que são gerados em Hexadecimal (sistema numérico com 16 números possibilidades por caractere.)

Logo, para saber quantas possibilidades podem ser geradas temos a conta:

16^32 = 3,4028236692093846346337460743177e+38.

 

Como comentado anteriormente, mesmo que em uma possibilidade remota as Hash podem se repetir em algum momento, se você parar para pensar que existem milhares de arquivos no seu PC, e que existem milhares de PCs, logo se dará conta de que as Hash inevitavelmente em algum momento irão repetir.

 

Como dois arquivos diferentes podem ter a mesma Hash?

-Pela limitação de caracteres do código Hash.

-E mesmo que os bytes sejam diferentes pela limitação do código o algoritmo dele fará com que a repetição ocorra mesmo que demore.

 

Portanto, dentro da Ciência da Forense Digital, uma boa prática seria adotarmos a cultura para a extração do código hash em determinada evidência em pelo menos 2 tipos de Hash diferentes. Os geralmente utilizados são MD5 e o SHA1.

Conforme ilustrado na Figura 1, a extração do Hash para o arquivo ImagemTeste_05.01.18.iso, utilizando a ferramenta online através do endereço http://onlinemd5.com/.

Extração Hash do arquivo ImagemTeste_05.01.18.iso para MD5:

Extração Hash do arquivo ImagemTeste_05.01.18.iso para SHA1:

Repare que os códigos são diferentes, pois são dois tipos de códigos gerados através de algoritmos distintos.

Arquivo: ImagemTeste_05.01.18.iso

Tamanho: 212.936Kb

MD5 = 0BE8FDDDD568A4DDA376EF22D95E17D8

SHA1 = 6B2FB88C13A2ABC2E555135898212CF1BE73BBCC

 

Pode ser que um determinado suspeito, seja hábil em manipulação de bytes e consiga forjar uma Hash igual. Forçar os bytes de forma a conseguir enganar o gerador de Hashs.

É por isso que em um cenário Forense, antes de iniciar o processo de coleta de dados também se deve extrair duas Hashs. Mesmo que intencionalmente haja manipulação dos bytes para “passar” batido em MD5, a SHA1 irá acusar diferença, por exemplo.

 

Extração do Hash na prática

Para executarmos com a extração do hash para um arquivo ou texto, podemos proceder de duas maneiras:

Através de software instalado no computador, neste caso eu utilizo o HashCalc, por ser um utilitário gratuito que permite calcular os checksum para arquivos, strings (frases ou palavras) e hexadecimais, no qual o software oferece os 13 mais populares algoritmos de calculo hash. A vantagem em executar esta tarefa através do software instalado é quanto a conversão de arquivos, uma vez que este software não possui a limitação no tamanho do arquivo.

Download: http://www.slavasoft.com/zip/hashcalc.zip

Arquivo: hashcalc.zip

MD5 – 3763ce0490295b4bcbe4e4cdbc85be48

 

Outra alternativa para a extração do código Hash é utilizarmos alguma ferramenta online onde na minha opinião, se destacam dois sites:

  • OnlineMD5 – Ferramenta online que nos permite a extração de código Hash (MD5, SHA1 e SHA-256) para textos e arquivos (possui limitação de tamanho no arquivo em 4GB).

Acesso em 05 Jan 2018 – http://onlinemd5.com/

  • VirusTotal – Ferramenta muito interessante, não apenas para a extração do código Hash de arquivos (possui limitação de tamanho no arquivo em 256MB), mas também nos permite a possibilidade em analizarmos os metadados do arquivo, conforme ilustrado na Figura 4.

Outra funcionalidade bastante interessante para esta ferramenta é a possibilidade de automaticamente analisar as hashes do arquivo, possibilitando a comparação de conteúdo malicioso detectável pelo banco de dados dos principais antivírus e scanners de websites, ferramentas de análise de arquivos e URLs e contribuições de usuários, como pode ser visto na Figura 5.

Acesso em 05 Jan 2018 – https://www.virustotal.com

FONTES:

ABNT NBR ISO/IEC 27037:2013 – Tecnologia da informação — Técnicas de segurança — Diretrizes para identificação, coleta, aquisição e preservação de evidência digital

Livro: Tratado de Computação Forense

Função Hash – Wikipédia: https://pt.wikipedia.org/wiki/Função_hash

Algoritmos de Hash criptográficos – Blog Segurança de Informação: https://segurancainformacao.wordpress.com/2008/12/16/algoritmos-de-hash-criptograficos/

Artigos Similares

Deixe seu comentário