Durante o trabalho de perícia, os usuários experimentam diversas formas para ocultação de dados. Já falei aqui neste blog sobre ADS, vou falar agora sobrem file slack space.
Basicamente, o file slack space é o espaço não utilizado no final de um arquivo, conforme figura abaixo:
O slack space é o espaço que "sobra" no final do arquivo, mas como o setor já foi "parcialmente" utilizado por uma porção de dados, o file system marca aquele espaço como utilizado. Pode parecer pouco, mas vamos a um exemplo prático: no Explorer, as propriedades de um cartão de memória me mostra que neste dispositivo cabem 527.138.816 bytes (quase 503 Mb, já que 1 Mb =1024K e 1 K = 1024 bytes). Desses, 302.809.088 estão livres e 224.329.728 foram usados. Somando-se os bytes livres com os usados obtém-se exatamente a capacidade do disco, como era de esperar. Por outro lado, na mesma tela o Explorer informa que nesse disco há 2.832 arquivos que, por sua vez, contêm 210.329.425 bytes. Fazendo os cálculos, conclue-se que o “slack space” desse disco é de 14.000.303 bytes (!!!). São quase 14MB de espaço, suficiente para um malware.
Como tanto espaço é disperdiçado? Simples, o tamanho da unidade de alocação de arquivos (cluster) é de 8.192 bytes, já que elas se estendem por dezesseis setores de 512 bytes. Não lembra (ou se confunde) com cluster e setor?? Vai uma ajudinha:
Portanto, por menor que seja o tamanho efetivo de um arquivo, ele jamais “gastará” menos de 8.192 bytes do disco. E a razão é simples: como cada entrada da FAT “aponta” para um trecho de 8.192 bytes e cada arquivo tem que usar no mínimo uma entrada da FAT, se eu criar um arquivo texto com um único caractere, o “tamanho” desse arquivo será de um byte. Mas como na unidade de alocação onde se acomoda esse byte nada mais poderá ser gravado, o arquivo gastará exatos 8.192 bytes de disco. Resultado: 8.191 bytes foram desperdiçados.
Utilizando o slack space para ocultar informações:
Como é um bloco "desperdiçado" do disco, o file system não o endereça, conseqüentemente, o sistema operacional não "enxerga", fazendo do file slack space uma ótima opção para ocultar informações.
A melhor forma (leia-se a mais fácil) de se brincar com slack space é utilizando o bmap do Linux:
$ echo ”dados” | bmap –mode putslack /home/luiz.rabelo/.bash_history
Este comando grava a string "dados" no slack space do arquivo .bash_history do meu home.
$ bmap –mode slack /home/luiz.rabelo/.bash_history
getting from block 192288501
file size was: 26
slack size: 4070
blocksize: 4096
dados
Este comando "lê" o file slack do arquivo do meu home.
$ bmap –mode wipeslack /home/luiz.rabelo/.bash_history
Finalmente, este comando "limpa" o slack do arquivo.
Maiores informações sobre opções de data hide em: http://www.techrepublic.com/blog/security/computer-forensics-finding-hidden-data/232
Maiores informações sobre file slack em: http://www.wikistc.org/wiki/Slack_space_data
Maiores informações sobre bmap em: http://realinfosec.com/?p=470



No comments:
Post a Comment