Técnicas anti-forense para ocultação de dados


Colaboração: Alexandre Stratikopoulos

Informações podem ser armazenados em discos rígidos sem a utilização das estruturas e facilidades de um sistema de arquivos. Desse modo, informações consideradas valiosas para um processo de análise forense podem estar armazenadas não somente nos arquivos, mas também em áreas do disco que não são acessíveis através do funcionamento normal de um sistema de arquivos.

Diversas técnicas são utilizadas para a ocultação de dados, as quais podem ser aplicadas em 3 camadas:

– Camada de Hardware: MBR, HPA, DCO
– Camada do Sistema de Arquivos: Slack Spaces, ADS, Extended Attributes
– Camada de Aplicação: Esteganografia
       File Slack Space
       ================

Neste primeiro post, abordaremos a técnica denominada File Slack Space, que nada mais é do que a utilização dos espaços subaproveitados de um ou mais blocos de um sistema de arquivos para ocultar informações.

Os sistemas de arquivos armazenam as informações em disco utilizando blocos de dados de tamanho fixo (1Kb, 2Kb ou 4Kb). Contudo, os arquivos em um disco podem ter os mais variados tamanhos, dependendo do seu conteúdo. Desta forma, raramente o tamanho de um arquivo é múltiplo do tamanho de um bloco, o que impede seu armazenamento ideal. Sendo assim, é comum que o último bloco associado a um arquivo não seja totalmente utilizado por ele, permitindo que dados excluídos deste e de antigos arquivos possam ser capturados e analisados.

Isso não significa dizer que os slack spaces são espaços livres para armazenamento de dados de forma convencional. Os blocos que contém slack spaces são marcados pelo sistema operacional como utilizados e somente serão sobrescritos pelo sistema de arquivos caso o arquivo que o ocupa for expandido. Para o armazenamento, detecção e recuperação de informações em slack spaces, é preciso utilizar ferramentas especializadas, como por exemplo o bmap para sistemas de arquivos ext2/ext3 ou o slacker para NTFS. Essas ferramentas são necessárias pois o sistema operacional ignora as informações armazenadas em slack spaces, uma vez que não há alteração aparente no checksum ou no MAC

Time dos arquivos envolvidos.

       Bmap
       ====

Bmap é uma ferramenta forense que pode ser obtida de forma gratuíta. Após sua compilação, podemos ocultar ou recuperar alguma informação e/ou arquivo de forma bem simples.

Em primeiro lugar, devemos identificar algum arquivo já gravado que possua slack space. O comando abaixo exibe a espaço utilizado (277 bytes) pelo arquivo /etc/hosts e seu espaço livre (3819 bytes).

 [root@grego ~]# bmap –mode slack /etc/hosts
 getting from block 2148457
 file size was: 277
 slack size: 3819
 block size: 4096

Sabemos que o arquivo /etc/hosts possui 3819 bytes de espaço livre para armazenar informações. Antes de armazenar alguma informação no slack space, vamos extrair o checksum do arquivo:

 [root@grego ~]# md5sum /etc/hosts
 b0627774adcc1129143b2d1d08ecd133  /etc/hosts

Vamos extrair também as informações de MAC Time do arquivo, para compararmos com após a ocultação das informações:

 [root@grego ~]# stat /etc/hosts
 File: `/etc/hosts’
 Size: 277             Blocks: 16         IO Block: 4096   regular file
 Device: fd00h/64768d    Inode: 2131987     Links: 1
 Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)
 Access: 2009-10-29 01:54:10.000000000 -0200
 Modify: 2009-09-18 12:55:16.000000000 -0300
 Change: 2009-09-18 12:55:16.000000000 -0300

Podemos ocultar um texto, binário ou imagem usando o pipe para direcionar a saída do comando para o programa bmap. O exemplo abaixo ilustra a ocultação de um texto simples:

 [root@grego ~]# echo “Hello World” | bmap –mode putslack /etc/hosts
 getting from block 2148457
 file size was: 277
 slack size: 3819
 block size: 4096

Podemos confirmar que o MAC Time e o checksum não foram alterados:
 [root@grego ~]# md5sum /etc/hosts
 b0627774adcc1129143b2d1d08ecd133  /etc/hosts
 [root@grego ~]# stat /etc/hosts
 File: `/etc/hosts’
 Size: 277             Blocks: 16         IO Block: 4096   regular file
 Device: fd00h/64768d    Inode: 2131987     Links: 1
 Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)
 Access: 2009-10-29 01:54:10.000000000 -0200
 Modify: 2009-09-18 12:55:16.000000000 -0300
 Change: 2009-09-18 12:55:16.000000000 -0300

Para listar o conteúdo armazenado no slack space de um arquivo, o comando abaixo pode ser executado:
 [root@grego ~]# bmap –mode slack /etc/hosts
 getting from block 2148457
 file size was: 277
 slack size: 3819
 block size: 4096
 Hello World

Para apagar o conteúdo armazenado no slack space, preservando o conteúdo original de um arquivo, o comando abaixo pode ser executado:

 [root@grego ~]# bmap –mode wipe /etc/hosts
Para identificar se um arquivo têm seu slack space utilizado, podemos utilizar o comando abaixo:
 [root@grego ~]# bmap –mode checkslack /etc/hosts
 /etc/hosts does not have slack
       Conclusão
       =========

A análise de informações extraídas das áreas não acessíveis através de um sistema de arquivos é, na maioria das vezes, um processo tedioso e demorado já que esses dados geralmente constituem um fluxo de bits sem estrutura alguma aparente. Porém, com o uso de ferramentas adequadas, pode-se obter bons resultados no processo investigativo.

Espero que isso não seja mais “grego” para você!!

Artigo publicado originalmente em http://gregoweblog.blogspot.com/2009/10/tecnicas-anti-forense-para-ocultacao-de.html

Fonte: http://www.dicas-l.com.br

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s