sexta-feira, 9 de outubro de 2009

Timestamps e WTF

WTF não é um termo técnico, mas deve ser a expressão mais usada de 8 entre 10 Peritos e Investigadores em Forense Computacional. Li esse termo hoje em um artigo muito bom, que traduz a essência do que é ser Perito: Analisar bem os vestígios e saber como as ferramentas que temos nas mãos funciona.

A situação ocorre quando, por necessidade de uma ordem judicial, um micro é apreendido para ser investigado. O Perito já está de posse do depoimento do usuário/dono do micro, que entre outras coisas, diz que o micro é novinho em folha. Ele diz que tinha comprado um HD novo e decidiu instalar o Windows XP logo depois de um jogo na TV. Isso tinha acontecido no dia anterior ao micro ser apreendido.

De posse dessas informações, o perito anota no seu caderninho (é um cara bem antigo, não usa CaseNotes):

- Data da operação: Dia 1 de setembro.
- Data da instalação: Dia 31 de agosto, por volta de 18h30.

O Perito prossegue, analisando a imagem que foi feita da máquina, obviamente segundo o processo forense (ou seja, duplicação bit-a-bit). Ao analisar o Registry, encontra lá, dentro de muitas chaves, a que informa a hora exata da instalação do Sistema Operacional:
HKLM/Software/Microsoft/Windows NT/CurrentVersion/InstallDate: 31/08/2009 22h30. Como bom Perito, ele sabe que essa hora está no formato GMT e logo deduz que o vestígio encontrado indica que a instalação do SO ocorreu em 19h30 (Hora de Brasília).

- "Bem", ele pensa, "estamos indo conforme o depoimento, tudo ok até aqui". O próximo passo é olhar timestamps do NTFS, para montar seu timeline. Antes disso, passeando pelo Autopsy, ele decide verificar o timestamp dos objetos do NT ($MFT, $LogFile e outros). Ora, se tudo estiver correto, o timestamp deverá indicar por volta de 18h30, já que entre a criação do sistema de arquivos e a finalização da instalação do SO, temos por volta de uma hora. Ele anota a data/hora e, sabendo que todas estão em notação GMT, converte-as para o nosso fuso horário e tem o resultado: 31/08/2009 15h33.

WTF ???? (O artigo é em inglês, então faça um exercício de imaginação sobre essas siglas aí ...)

O que poderia estar acontecendo ??? Então o dono da máquina iniciou a instalação às 15h33, com a formatação do HD novo, e ela só foi terminada mais tarde, por volta das 19h30 ?? O que houve no meio do caminho ?? Ele teria mentido sobre o que aconteceu ????

A resposta é um sonoro não !

O caso é que, como a formatação é uma das primeiras coisas que acontecem na operação de instalação de um SO novo, no momento da criação dos objetos do NT, o programa de formatação não tem ainda a referencia ao fuso horário. Essa informação só fica estabelecida posteriormente. Por conta disso, ele pega a data da Bios e grava ela nos timestamps diretamente, sem nenhuma conversão. Quando a instalação é finalizada, ao escrever essa informação no Registry, o fuso já é conhecido. Portanto, o SO pega a hora da BIOS e converte para GMT, gravando-a em seguida.

Assim, mesmo que a regra geral seja de que os timestamps do NTFS estão todos em GMT, temos a exceção: Os timestamps dos objetos de NTFS criados em uma formatação antes da instalação do SO estarão em horário local.

Dessa forma, a hora que o Perito viu (18h33) não precisava ser convertida (no nosso caso, subtraindo 3 para usar como hora de Brasília) . 18h33 foi a data/hora correta de formatação do HD, conferindo com o depoimento.

Moral da História: Cuidado com conversões de timestamps, principalmente quando os utilitários as fazem automaticamente.

Pergunta de prova: O que aconteceria se, ao invés de uma instalação novíssima, do zero, estivesse sendo feita uma formatação completa para uma reinstalação ? Comente !

Postagem retirada de: http://forcomp.blogspot.com/2009/09/wtf-e-timestamps.html

Nenhum comentário:

Postar um comentário