sexta-feira, 31 de julho de 2009

Forense de Registry

A atividade investigativa em meio digital, apesar de complexa, pode ser resumida ao trabalho de descobrir vestígios que possam corroborar ou negar determinada tese. Com isso, precisamos conhecer cada vestígio possível de ser encontrado, dada uma ação qualquer realizada. Esse princípio é o mesmo em todos os tipos de perícia. No fim das contas, estamos olhando para os "efeitos" a fim de determinar as "causas".

Mina de Ouro

Um excelente local para se localizar artefatos (vestígios) é o Registry. Esse banco de dados de configurações apareceu pela primeira vez no mundo Windows com o Windows 95. A proposta dele era eliminar milhares de arquivos .ini, cada um acompanhando determinado programa. O Registry tem uma estrutura interna de banco de dados mesmo, conhecida como structured storage, e não simplesmente um arquivo de texto comum. Ele não é apenas um arquivo simples, mas um grupo deles, que pode ser verificado em conjunto em uma estrutura indentada, conhecida como hives. Não vou entrar em detalhes sobre essa estrutura, pois não caberia em um artigo desses, mas vale dizer que o Registry foi pensado para ser um repositório de configurações, não apenas do próprio Windows, mas também servindo aos programas de terceiros. Por que estamos falando tanto desse Registry, então ? Porque ele é uma mina de ouro para Investigadores Digitais.

É possível resgatar todo o tipo de informação de um Registry. Além de inserir vários pontos de controle do próprio Windows, a Microsoft nos fez o favor de dar às entradas do Registry um timestamp; ou seja, as chaves possuem data/hora da última modificação. Esse ponto, por si só, já nos permite conhecer um timeline das atividades de configuração da máquina, e em muitos casos, correlacionar dados com outros, buscados nas demais fontes de vestígios de um computador.

Forense de Registry

O Registry tem se tornado tão importante para a Computação Forense que há um perito especializado nesse tema, e depois de lançar ótimos livros sobre Forense Computacional em geral, está pesquisando a possibilidade de lançar um livro só sobre Registry. Harlan Carvey, já citado por mim aqui no blog algumas dezenas de vezes, estuda bastante o assunto e criou um programa para operar na extração (consequentemente, ajudando na análise) dos dados do registry. O RegRipper atua sobre um arquivo específico que compoe o registry e faz as extrações das informações, listando-as de maneira clara. Você pode estar se perguntando por que isso é melhor do que o RegEdit, do próprio Windows. Bem, isso é melhor porque:
  • O RegEdit só funciona em uma Live Analysis, enquanto que o RegRipper funciona em DeadAnalysis também
  • O RegEdit é um browser da estrutura. Se ele achar um valor com uma string binária contendo o numero 1, ele vai exibir 1 para aquele valor, enquanto que o RegRipper vai exibir exatamente o que o "1" significa naquele contexto. Por exemplo, o "1" pode significar "Instalação Default" ou "Inativo" ...
  • O RegEdit não faz parsing das estruturas armazenadas no registry; Ou seja, se houver um valor binário lá, ele vai mostrar um conjunto de dados completamente sem sentido. O RegRipper exibirá os dados todos traduzidos, de acordo com a sua estrutura.
  • O RegEdit é um programa único que só faz a exibição dos dados. O RegRipper é extensível, aceita plugins que podem ser desenvolvidos por qualquer um que conheça Perl.
  • O RegEdit não mostra os timestamps das chaves, o RegRipper as mostra e pode auxiliar na montagem de um timeline delas.
  • O RegEdit exibe valores criptografados como estão, o RegRipper os descriptografa (casos onde os valores são gravados pelo Windows em ROT-13)

Já está bom ?

Além disso tudo, o RegRipper é de graça e "conversa" muito bem com o F-Response, podendo ser usado em Live Analysis por conta disso.

Como se isso não bastasse, recentemente o Harlan publicou um novo programa no site do RegRipper: O RegXP. Esse utilitário serve para analisar os arquivos de Registry que são encontrados no System Restore. Vamos falar disso mais adiante, mas a idéia é que o RegXP possa fazer uma análise em conjunto de cada arquivo de Registry localizado nos System Restore da máquina. É um comparativo que pode indicar muito do que foi feito na máquina.

Alguém já usou a ferramenta e quer compartilhar suas impressões ? Comente !

Até o próximo post !

Nenhum comentário: