segunda-feira, 6 de abril de 2009

Correlação

Correlação é a palavra do momento, em se tratando de Forense Computacional. Há algum tempo já vinham percebendo que essa é a chave para várias questões não respondidas a cerca de várias técnicas e situações comuns na área.

Correlação diz respeito a interligação. Correlação indica que há uma relação estreita em tudo que acontece, não apenas em um computador, mas em tudo o mais na vida. Vamos a um exemplo prático.

Um homem é achado morto em uma casa. O legista afirma ser difícil precisar a hora da morte, por circunstâncias diversas. No entanto, a vítima era assinante de jornal, e segundo os vizinhos, tinha hábitos costumeiros, como acordar cedo, pegar o jornal na porta e tomar seu café lendo o jornal. O fato do jornal estar amontoado na porta há 3 dias diz alguma coisa para você ? Isso é correlação. Obviamente, um fato gera tantos artefatos (ou vestígios) que devem se correlacionar entre si (nem sempre é aparente). A reunião de todos eles reconta a história ou o fato que aconteceu. Se um vizinho disser que ouviu a vítima gritando ao telefone na véspera, a correlação direta com o jornal fica abalada, e precisa inclusive ser explicada.

Uma conta atrasada sobre a estante pode ser outro ponto de correlação, se a vítima nunca atrasava aquele tipo de conta. Enfim, correlacionar significa estar atento não só ao fato em si, mas relacionar tudo que está em volta ao fato; De certa forma, devemos enxergar tudo a volta como resultado do fato.

Entendido isso, temos um ponto importantíssimo a respeito da correlação.

1) Se você só tem um único vestígio, então não há caso. Isso significa dizer que não há como provar um fato baseado em apenas um único vestígio encontrado. Na prática até dá, mas a prova careceria de força suficiente, e pode levantar muitos questionamentos. Já li sobre algumas situações onde um americano, acusado de pedofilia, se defendeu afirmando que o conteúdo fora baixado sem seu conhecimento, por um trojan.

Esse caso, inclusive, ficou conhecido como Trojan Defense, já discutido aqui no blog, e deu origem a muitas linhas de defesa onde o suspeito alegava "Não fui eu, foi um vírus". Entretanto, a perícia do caso foi incapaz de correlacionar os vestígios da máquina para fortalecer a prova. Ao que tudo indica, o cidadão foi inocentado.

2) Se você consegue correlacionar devidamente os vestígios que estão localizados, não há MD5 que prove ser mais forte. Eu tenho levantado aqui no blog uma série de questões a respeito de dificuldades de apontarmos a integridade de algumas provas. Isso porque o hash, tido como a última palavra para determinar a integridade, fica comprometido sob vários aspectos. De maneira geral, temos dificuldades em comprovar um hash quando não fazemos uma imagem completa do disco, levando apenas arquivos.

A mesma dificuldade acontece quando estamos lidando com dumps de memória, ou mesmo quando a mídia está defeituosa. Mais recentemente, há de se usar uma enorme ginástica para trabalhar com discos criptografados, e o hash entra na situação como mais um item a incomodar. Para "chutar o pau da barraca", temos a alegação de que o MD5, algoritmo mais usado para hash em Forense Computacional, já foi quebrado a algum tempo (embora eu coloque isso na categoria Orelha de Frango: Todo mundo fala de Birthday Attack no MD5, mas eu não vi ninguém me mostrar um em uma imagem de HD até hoje).

O ponto é que, correlacionando, não tem como negar nada, com ou sem MD5. Você conseguiria derrubar uma imagem forense cujo hash não bate, mas que tem tudo perfeitamente encadeado ? Eu imagino que não.

Bom, falando específicamente sobre correlações, vou dar alguns exemplos e uma sugestão ao final.

1) Uma correlação fantástica é usar o log de antivírus e o de restore point para determinar se houve alteração na data/hora da máquina. Tanto um quanto o outro são sequenciais, portanto não podem ter data/hora fora de ordem.

2) Em análises de arquivos de link (atalhos), achar apontamentos para um mesmo disco rígido com diferentes MAC Addresses pode indicar troca de placa de rede ou, o que é mais comum, que o HD já pertenceu a outra máquina.

3) O número de boots pode ser aproximado com o número de execuções de alguns itens indicados no Prefetch

4) Um arquivo PDF que teve seu MAC Times forjado pode ser descoberto se verificarmos em seus metadados a versão do PDF e correlacionarmos com a data de lançamento dessa versão. Se o atributo de Creation for anterior a tal data, convém verificar esse arquivo melhor.

Uma base de conhecimento sobre correlações seria um bom projeto para os nossos investigadores e peritos em Forense Computacional. Algo como uma Wiki, com links para programinhas que verificariam a correlação sobre uma imagem (montada ou não). Seria útil para todos e daria bastante visibilidade. Alguém se habilita ? Já temos 4 correlações simples para iniciar.

Até o próximo post !

Um comentário:

Kaio Rafael disse...

Eaí Tony, blz?

Achei seu ponto de vista muito interessante.

Acredito que aplicando um modelo estatístico, como o coeficiente de correlação, daria para ver se dois eventos estão realmente correlacionados ou saber a relação entre eles...

O problema é saber correlacionar o que com o que :)

Parabéns pelo blog.