- Gerar link
- X
- Outros aplicativos
- Gerar link
- X
- Outros aplicativos
* Por Luiz Sales Rabelo
Uma notícia que chocou e revoltou todos os Brasileiros recentemente foi o caso do massacre do Realengo, onde o atirador Wellington Menezes de Oliveira abriu fogo contra crianças dentro de uma escola pública.
Para minha surpresa, esta semana fui agraciado por uma reportagem do jornal Extra/OGlobo, que circula no Rio de Janeiro, com a seguinte nota:
Para mim foi muito satisfatório ler este trecho em específico. Mesmo que indiretamente e de forma diminuta, estamos colaborando com a solução dos mistérios que ainda envolvem este caso.
Para este artigo, resolvi falar sobre as técnicas utilizadas para recuperação de arquivos apagados, chamada de Data Carving. Basicamente, Data Carving é um processo que localiza arquivos e objetos que foram deletados ou que estão "inseridos" em outros arquivos.
Os arquivos são "esculpidos" a partir do espaço alocado (ou não) baseando-se no "header" (cabeçalho) do tipo de arquivo e nos "footers" (rodapés). As estruturas do sistema de arquivos (FAT, MFT, inode table) não são utilizadas durante o processo. Para demonstrar este recurso, vou utilizar o FTK, da AccessData.
Após criado o caso, o FTK nos solicita adicionar os arquivos de evidência e permite configurar o processamento destas evidências. Um click no botão "Refinement Options" abre a seguinte tela:
Observe que um dos últimos itens da lista à esquerda chama-se Data Carve, que vem desmarcado por padrão. Marcando esta opção, habilita-se o botão Carving Options, que nos exibe a seguinte tela:
Nesta tela, podemos verificar os tipos mais comuns de arquivos que o FTK consegue "esculpir" a partir do arquivo de evidência:
Vou tomar como exemplo um formato de arquivo muito popular, o JPEG, utilizado para arquivos de imagens. Praticamente todas as imagens que você vê na internet e também neste blog estão em formato JPEG. Na prática, o que um "data carve" faz é procurar uma sequência em hexadecimal 0xFF D8, que representa o início de um arquivo JPEG, e procurar depois o final deste arquivo, representado pelo 0xFF D9. Feito isso, tudo o que estiver entre estes dois blocos de imagem forma um arquivo de imagem JPEG:
No primeiro exemplo deste post há um arquivo de imagem "dentro" de um documento do Word. O princípio de funcionamento é o mesmo: imagina este documento do Word gravado no disco. O conjunto de dados que representa esta imagem está lá, o FTK só precisa "abrir" este documento do Word para conseguir achar o 0xFF D8 ...... 0xFF D9!
O mesmo princípio se aplica também a um arquivo de imagem JPEG, dentro de um arquivo do Word, compactado em um arquivo ZIP e enviado por e-mail. (!!!)
O FTK consegue abrir todos estes arquivos até chegar aos JPEG que estamos buscando.
Os mais atentos perceberam que o último item da tela do "Carving Options" não está presente na lista: Microsoft Outlook Personal Folder, ou simplesmente PST. Isso, por que esta não é uma entrada padrão do sistema, este é um "carve" customizado, disponível através do botão "Custom Carvers":
Observe que é informado o "header" do arquivo PST (representado por 0x21 42 44 4E) e o tamanho máximo do arquivo (em bytes). É possível até mesmo categorizar o arquivo através da seleção de algum item na árvore File Category. Ao contrário dos arquivos JPEG, um arquivo PST é extenso, e pode sofrer mais com a fragmentação dos dados no disco. Já existem algumas técnicas que tentam recuperar os fragmentos de um mesmo arquivo espalhado pelo disco após a perda da referência (delete arquivo, wipe MFT free space, por exemplo), e os resultados são animadores!
Claro que, se você utiliza o FTK, não precisa se preocupar em saber headers e footers dos arquivos, a AccessData disponibiliza em seu site, quase 300 tipos de arquivos já pré-definidos, bastando importá-los para o seu FTK. Estes arquivos estão disponíveis em http://accessdata.com/support/custom-carvers e estão categorizados em formatos de arquivos para Windows, para Linux e para MacOS.
Leia mais sobre o formato JPEG aqui.
Leia mais sobre data carving em um excelente estudo da SANS sobre o tema aqui.
Leia mais sobre o processo de data carving no FTK através do manual do sistema, disponível aqui.
* Luiz Sales Rabelo é analista de Segurança e consultor em computação forense da Techbiz Forense Digital. Desde outubro de 2010, é instrutor autorizado pela AccessData a transmitir os conhecimentos sobre a ferramenta FTK 3. É MCP (Microsoft Certified Professional) e ACE (AccessData Certified Examiner).Autor do blog: http://forensics.luizrabelo.com.br/
Uma notícia que chocou e revoltou todos os Brasileiros recentemente foi o caso do massacre do Realengo, onde o atirador Wellington Menezes de Oliveira abriu fogo contra crianças dentro de uma escola pública.
Para minha surpresa, esta semana fui agraciado por uma reportagem do jornal Extra/OGlobo, que circula no Rio de Janeiro, com a seguinte nota:
Para mim foi muito satisfatório ler este trecho em específico. Mesmo que indiretamente e de forma diminuta, estamos colaborando com a solução dos mistérios que ainda envolvem este caso.
Para este artigo, resolvi falar sobre as técnicas utilizadas para recuperação de arquivos apagados, chamada de Data Carving. Basicamente, Data Carving é um processo que localiza arquivos e objetos que foram deletados ou que estão "inseridos" em outros arquivos.
Os arquivos são "esculpidos" a partir do espaço alocado (ou não) baseando-se no "header" (cabeçalho) do tipo de arquivo e nos "footers" (rodapés). As estruturas do sistema de arquivos (FAT, MFT, inode table) não são utilizadas durante o processo. Para demonstrar este recurso, vou utilizar o FTK, da AccessData.
Após criado o caso, o FTK nos solicita adicionar os arquivos de evidência e permite configurar o processamento destas evidências. Um click no botão "Refinement Options" abre a seguinte tela:
Observe que um dos últimos itens da lista à esquerda chama-se Data Carve, que vem desmarcado por padrão. Marcando esta opção, habilita-se o botão Carving Options, que nos exibe a seguinte tela:
Nesta tela, podemos verificar os tipos mais comuns de arquivos que o FTK consegue "esculpir" a partir do arquivo de evidência:
- AOL Bag Files
- BMP Files
- EMF Files
- GIF Files
- HTML Files
- JPEG Files
- LNK Files
- OLE Files (Office Documents)
- PDF Files
- PNG File
Vou tomar como exemplo um formato de arquivo muito popular, o JPEG, utilizado para arquivos de imagens. Praticamente todas as imagens que você vê na internet e também neste blog estão em formato JPEG. Na prática, o que um "data carve" faz é procurar uma sequência em hexadecimal 0xFF D8, que representa o início de um arquivo JPEG, e procurar depois o final deste arquivo, representado pelo 0xFF D9. Feito isso, tudo o que estiver entre estes dois blocos de imagem forma um arquivo de imagem JPEG:
No primeiro exemplo deste post há um arquivo de imagem "dentro" de um documento do Word. O princípio de funcionamento é o mesmo: imagina este documento do Word gravado no disco. O conjunto de dados que representa esta imagem está lá, o FTK só precisa "abrir" este documento do Word para conseguir achar o 0xFF D8 ...... 0xFF D9!
O mesmo princípio se aplica também a um arquivo de imagem JPEG, dentro de um arquivo do Word, compactado em um arquivo ZIP e enviado por e-mail. (!!!)
O FTK consegue abrir todos estes arquivos até chegar aos JPEG que estamos buscando.
Os mais atentos perceberam que o último item da tela do "Carving Options" não está presente na lista: Microsoft Outlook Personal Folder, ou simplesmente PST. Isso, por que esta não é uma entrada padrão do sistema, este é um "carve" customizado, disponível através do botão "Custom Carvers":
Observe que é informado o "header" do arquivo PST (representado por 0x21 42 44 4E) e o tamanho máximo do arquivo (em bytes). É possível até mesmo categorizar o arquivo através da seleção de algum item na árvore File Category. Ao contrário dos arquivos JPEG, um arquivo PST é extenso, e pode sofrer mais com a fragmentação dos dados no disco. Já existem algumas técnicas que tentam recuperar os fragmentos de um mesmo arquivo espalhado pelo disco após a perda da referência (delete arquivo, wipe MFT free space, por exemplo), e os resultados são animadores!
Claro que, se você utiliza o FTK, não precisa se preocupar em saber headers e footers dos arquivos, a AccessData disponibiliza em seu site, quase 300 tipos de arquivos já pré-definidos, bastando importá-los para o seu FTK. Estes arquivos estão disponíveis em http://accessdata.com/support/custom-carvers e estão categorizados em formatos de arquivos para Windows, para Linux e para MacOS.
Leia mais sobre o formato JPEG aqui.
Leia mais sobre data carving em um excelente estudo da SANS sobre o tema aqui.
Leia mais sobre o processo de data carving no FTK através do manual do sistema, disponível aqui.
* Luiz Sales Rabelo é analista de Segurança e consultor em computação forense da Techbiz Forense Digital. Desde outubro de 2010, é instrutor autorizado pela AccessData a transmitir os conhecimentos sobre a ferramenta FTK 3. É MCP (Microsoft Certified Professional) e ACE (AccessData Certified Examiner).Autor do blog: http://forensics.luizrabelo.com.br/
Comentários
Luizão, mais uma vez, excelente artigo! Uma sugestão - introduzir o conceito de meta-carving (usado no FTK 3).
ResponderExcluirAvançando no tópico de Carving - Hoje mais cedo (no twitter), eu postei o link para a seguinte apresentação de Bas Kloet: Advanced File Carving - How much evidence are you ignoring - by Bas Kloet - http://bit.ly/eKMotZ
Grande abraço!