Pró-Reitoria de Pós-Graduação
Curso de Perícia Digital
Trabalho de Conclusão de Curso
RECUPERAÇÃO DE DADOS EM SISTEMAS DE
ARQUIVOS FAT32
Autor: Gabriel Alexandre de Freitas Silva
Orientador: Prof. MSc. Paulo Roberto Corrêa Leão
Brasília - DF
2013
GABRIEL ALEXANDRE DE FREITAS SILVA
RECUPERAÇÃO DE DADOS EM SISTEMAS DE ARQUIVOS FAT32
Artigo apresentado ao curso de pósgraduação em Perícia Digital da
Universidade Católica de Brasília como
requisito para obtenção do título de
especialista em Perícia Digital.
Orientador: Prof. MSc. Paulo Roberto
Corrêa Leão
Brasília
2013
Artigo de autoria de Gabriel Alexandre de Freitas Silva, intitulado
RECUPERAÇÃO DE DADOS EM SISTEMAS DE ARQUIVOS FAT32, apresentado
como requisito parcial para obtenção do grau de especialista em Perícia Digital da
Universidade Católica de Brasília, em 26 de Outubro de 2013, defendido e aprovado,
pela banca examinadora abaixo assinada:
________________________________________
Professor MSc. Paulo Roberto Corrêa Leão
Orientador
Curso de Perícia Digital – UCB
________________________________________
Professor Dr. Paulo Quintiliano da Silva
Examinador
Curso de Perícia Digital – UCB
Brasília
2013
RECUPERAÇÃO DE DADOS EM SISTEMAS DE ARQUIVOS FAT32
GABRIEL ALEXANDRE DE FREITAS SILVA
Resumo:
Sabendo que a computação forense tem por objetivo determinar a dinâmica,
materialidade e autoria de ilícitos na área de informática, e que a recuperação de
arquivos de mídias de armazenamento tem papel fundamental na execução dessa
tarefa, tem-se como objetivo desta pesquisa empírica verificar até em que nível os
arquivos salvos em uma mídia de armazenamento podem ser recuperados. Como
existe uma grande diversidade de sistemas de arquivos utilizados atualmente e
várias opções de ferramentas disponíveis para realizar a tarefa de recuperação de
dados. Para isso optou-se por delimitar um escopo que abrangesse a recuperação
de arquivos especificamente em sistemas FAT32, uma vez que é o sistema de
arquivos mais utilizado em mídias de armazenamento removíveis atualmente. Para
realizar tal análise, o funcionamento do sistema de arquivos e de algumas
ferramentas utilizadas por peritos, foi estudado e selecionado duas ferramentas, que
utilizam técnicas de recuperação de dados diferentes (The SleuthKit e Foremost),
para montar os casos de teste (experimentos) e analisar o processo de recuperação
dos dados. Após a execução dos casos de teste e da análise dos resultados foi
possível medir a eficiência de cada técnica e ferramenta e identificar os casos em
que os resultados de cada uma delas podem ser mais bem aproveitados.
Palavras-chave: FAT32. Recuperação de arquivos. Sleuth Kit. Foremost.
1. INTRODUÇÃO
A Computação Forense, como descrito por Eleutério e Machado (2011), tem
por objetivo determinar a dinâmica, a materialidade e a autoria de ilícitos na área de
informativa, utilizando processamento de evidências digitais por meio de métodos
técnico-científicos.
Portanto, o processo de levantamento de informações com base em
dispositivos de armazenamento tem alto valor significativo, o que torna o processo
de recuperação de arquivos extremamente importante. Saber quais técnicas adotar
e quais ferramentas utilizar em cada caso tem a mesma importância.
Com base nisso, percebe-se que um dos grandes problemas encontrados
pelos peritos, é a recuperação de informações relevantes de uma mídia de
armazenamento de forma eficaz, por isso é sempre interessante analisar as técnicas
e ferramentas existentes para identificar sua eficiência e eficácia e, então, identificar
as soluções mais adequadas a cada problema encontrado na área.
Dentre as técnicas existes, existem duas, em especial, que são mais
utilizadas. São elas: a recuperação lógica de arquivos; e data carving. Na primeira
técnica, o sistema de arquivos é analisado em busca das informações de arquivos
(apagados ou não), na segunda técnica a partição de armazenamento é analisada
em busca de padrões de arquivos conhecidos. Ambas são altamente importantes na
recuperação de dados, cada um com propósitos e resultados diferentes. Para cada
uma dessas técnicas existem, também, diversas ferramentas disponíveis para o
perito utilizar.
Um perito escolhe as ferramentas mais adequadas de acordo com seu
objetivo final, o que define a técnica a ser adotada e onde a técnica será aplicada. O
“onde” especifica, normalmente, a mídia de armazenamento sendo analisada.
Entende-se, então, que, além da técnica, a escolha da ferramenta depende
também do sistema de arquivos na mídia em análise. Atualmente, existem diversos
sistemas de arquivos disponíveis para uso, o que pode dificultar o trabalho do perito
e, muitas vezes, atrapalhar a execução e conclusão de seu trabalho, caso não haja
o conhecimento das técnicas adequadas e das ferramentas mais compatíveis com o
sistema de arquivos sendo analisado.
Dentre essa grande diversidade de sistemas de arquivos, o mais utilizado,
atualmente, para dispositivos de armazenamento portáveis é o sistema FAT32 da
Microsoft. Por não possuir um overhead de controle muito grande, o seu uso é ideal
para possibilitar a transferência rápida de arquivos e o melhor aproveitamento do
espaço disponível para armazenamento, pontos importantíssimos no seu
funcionamento e na utilização de mídias de armazenamento portáteis.
Tendo como base o problema de recuperação de dados e arquivos em mídias
de armazenamento, com o foco no sistema de arquivos FAT32 e utilizando
ferramentas amplamente adotadas no meio da forense, deseja-se, como objetivo
geral dessa pesquisa, analisar, através de um caso de testes, até onde os arquivos
existentes em mídias formatadas com FAT32, podem ter seus arquivos recuperados.
A princípio, espera-se recuperar arquivos apagados recentemente usando a
técnica de recuperação lógica e arquivos de outras formatações usando a técnica
data carving. Após essa análise, espera-se identificar qual o melhor tipo de
ferramenta a ser adotado em cada caso e até quando e como os arquivos, alocados
em sistemas FAT32, podem ser recuperados, estando eles apagados ou não.
2. CONCEITOS E DEFINIÇÕES
Como passo inicial, foi necessário estudar os temas relacionados ao
problema, com o objetivo de ter uma base conceitual para identificar as técnicas e
ferramentas mais adequadas para realizar o caso de testes. Para tanto, foi
necessário entender o funcionamento de sistemas de arquivos FAT32, estudar
ferramentas existentes e identificar aquelas que melhorem se adaptam à
recuperação de dados em sistemas FAT32. A seguir são descritos os referenciais
que compôs e serviu de base pra os experimentos propostos neste trabalho.
2.1.
SISTEMAS DE ARQUIVOS
A preparação de uma mídia de armazenamento se divide em duas etapas:
formatação física e lógica. Na formatação física, o disco é organizado em setores
com, geralmente, 512 bytes. Opcionalmente, a mídia pode ser divida em partições
com formatações lógicas diferentes. A formatação lógica aplica um sistema de
arquivos à partição.
Segundo Mota Filho (2012), os sistemas de arquivos fazem referência para o
modo como os dados são armazenados, organizados e acessados numa mídia de
armazenamento. É um artifício imposto pelo sistema operacional, e não pelo
hardware, portanto, para que um sistema operacional reconheça um determinado
sistema de arquivos, ele deve conhecer a lógica de leitura desse sistema de
arquivos.
Já Carlos Morimoto (2005) diz que um sistema de arquivos é formado por um
conjunto de estruturas e rotinas que possibilita o controle do disco rígido pelo
sistema operacional.
Portanto, os sistemas de arquivos definem, para os sistemas operacionais, a
forma como os arquivos devem ser acessados, armazenados e organizados em uma
partição de disco. Mota Filho (2012) demonstra ainda, que esses sistemas dividem o
espaço de armazenamento em vários blocos, usados para guardar os dados dos
arquivos (um bloco é o agrupamento de um ou mais setores).
Cada arquivo pode preencher um ou mais blocos, entretanto, os sistemas de
arquivos não permitem que mais de um arquivo ocupe um único bloco ao mesmo
tempo, isso significa que, mesmo não sendo completamente preenchido pelo
arquivo, o restante do bloco será considerado ocupado, já que não pode ser utilizado
por outros arquivos.
Com base nisso, pode-se perceber que, no caso do armazenamento de
arquivos pequenos e que não ocupam blocos inteiros, blocos maiores tendem a
causar um desperdício maior de espaço de armazenamento, porém, blocos menores
podem ser mais custosos de ler e controlar.
Por essa razão, blocos maiores tendem a ser ideais para o armazenamento
de arquivos grandes, enquanto blocos menores são mais bem utilizados por
arquivos pequenos. Carlos (2005) acrescenta que à medida que a capacidade dos
discos, o volume de acessos e arquivos aumentam, a tarefa de controle torna-se
mais complicada, exigindo o uso de sistemas de arquivos cada vez mais complexos
e robustos.
Existem diversos tipos de sistemas de arquivos e cada sistema operacional
possui aqueles com os quais é compatível. O MS Windows, de acordo com sua
versão, por exemplo, trabalha com os seguintes sistemas de arquivos: FAT16,
FAT32, NTFS e, mais recentemente, o exFAT. (MOTA FILHO, 2012).
2.2. SISTEMAS DE ARQUIVOS FAT32
O sistema FAT (File Allocation Table), criado entre 1970 e 1980, foi
desenvolvido para funcionar com a primeira versão do sistema operacional MS-DOS.
Era, originalmente, um sistema de arquivos simples usado em disquetes com pouco
espaço de armazenamento (Microsoft Corporation, 2000).
Com a evolução das mídias, houve o aumento do espaço possível para
armazenamento e, junto a isso, a necessidade de melhorar os sistemas FAT. A
lógica dos sistemas FAT limita o número máximo de clusters (equivalente a bloco)
gerenciáveis, daí a necessidade de criar novas versões para controlar partições
maiores.
O FAT32, se comparado aos seus antecessores, possui grandes melhorias.
Dentre elas, pode-se citar a redução do tamanho e o aumento da quantidade dos
clusters usados pelo sistema de arquivos, fator crucial para diminuir, em até 15%, o
desperdício de espaço. Como já mencionado, outra mudança significativa é o
tamanho máximo da partição suportada pelo sistema de arquivos.
O FAT16 utiliza 16 bits para identificar seus blocos (por isso o nome FAT16),
enquanto o FAT32 utiliza 32 bits, ou seja, o FAT16 consegue controlar até 216
blocos, enquanto o FAT32 consegue controlar até 2 32 blocos, por consequência, o
tamanho de armazenamento suportado pelo FAT32 é muito maior que o suportado
por seu antecessor.
A Microsoft Corporation (2000), na especificação do sistema FAT32, organiza
o sistema de arquivos em quatro regiões, sendo elas:
a) Reserved Region: Responsável por definir configurações de boot e
configurações do sistema de arquivos. Dados como tamanho do setor do
disco, quantidade de setores por bloco e número de blocos da partição
serão encontrados nessa região.
b) FAT Region: Destinada ao armazenamento da tabela de controle dos
arquivos na partição.
c) Root Directory Region: Região destinada ao diretório raiz da partição.
Nas versões mais antigas, o diretório raiz está sempre nessa mesma
posição. A partir do FAT32, essa região deixa de existir, já que o diretório
raiz pode estar em qualquer posição na partição.
d) File and Directory Data Region: Região destinada ao armazenamento
efetivo dos dados arquivos e diretórios controlados pelo sistema de
arquivos.
A Figura 1, apresentada por Stoffregen (2005), mostra como essas regiões
estariam organizadas numa partição formatada com FAT32.
Figura 1 – Ilustração das regiões no sistema FAT32
Fonte: Stoffregen (2005)
Os sistemas FAT dividem a partição em duas partes: uma parte voltada para
o controle e outra para o armazenamento efetivo dos dados. A parte de controle, que
deu origem ao nome do sistema, é uma tabela que, através de um número composto
por uma determinada quantidade de bits, identifica os blocos de armazenamento.
Mueller; Bruno (2013) descrevem que, para proteger a partição, normalmente,
são mantidas duas cópias da tabela FAT, como mostra a Figura 1, para o caso de
uma ser corrompida ou danificada. Os blocos dos arquivos podem estar espalhados
na superfície do disco sem, necessariamente, estar numa ordem; por isso a
necessidade da tabela para indicar os blocos. A quantidade de bits utilizados para
identificar os blocos tem impacto direto no tamanho máximo de blocos gerenciáveis
e, por consequência, no tamanho máximo da partição reconhecida pelo sistema de
arquivos.
Os diretórios, nos sistemas FAT, são arquivos compostos por estruturas
sequenciais de 32 bytes. O único diretório que sempre deve existir, na árvore de
arquivos, é o diretório raiz, que nas versões anteriores estava posicionado sempre
na mesma posição. A partir do FAT32, a posição do diretório raiz é definida dentre
as propriedades da região reservada, permitindo que sua posição varie de acordo
com a necessidade. Todos os diretórios listam, sequencialmente, os arquivos e
subdiretórios, assim como o tamanho, datas de criação, acesso e modificação e
características de cada um. Junto das propriedades de cada arquivo, encontra-se,
também, a localização do primeiro bloco ocupado pelo arquivo. A localização dos
blocos seguintes, ocupados pelo arquivo, é encontrada a partir da tabela que deu
origem ao nome do sistema de arquivos.
A FAT é um conjunto sequencial de identificadores de blocos, ou seja, no
FAT16, um conjunto sequencial de inteiros de 16 bits. No FAT32, a tabela é
composta por uma sequência de inteiros de 32 bits que apontam para os blocos
ocupados pelos arquivos e também para a localização do próximo identificador de
bloco ocupado pelo arquivo.
Sem a Tabela FAT não seria possível encontrar todas as partes dos arquivos,
já que, na identificação do arquivo (dentro de um diretório), encontramos apenas a
localização do primeiro bloco ocupado pelo arquivo. A partir dessa primeira
identificação, é possível localizar os próximos blocos (Microsoft Corporation, 2000).
Através da Figura 2, pode-se ter uma ideia de como localizar e recuperar um
arquivo ocupando uma sequencia de blocos espalhados na superfície da partição.
Figura 2: Exemplo da trilha de identificações de blocos na tabela FAT
Fonte: Stoffregen (2005).
Como Stoffregen (2005) explica, a localização do primeiro bloco é indicada
pelo registro do arquivo no diretório onde ele se encontra. A localização do próximo
bloco é indicada pelo registro de 32 bits dentro da FAT na mesma localização da
identificação do primeiro bloco. A localização do terceiro bloco é indicada pela
identificação do segundo e assim por diante até que a identificação do bloco, na
FAT, seja uma sequência de 1’s (0xFFFFFFFF) indicando o último bloco do arquivo.
Portanto, através do identificador na tabela, podem-se recuperar duas
informações: o identificado do próximo bloco contendo dados do arquivo e o próximo
registro da tabela a ser verificado (se houver um próximo bloco).
A recuperação de arquivos a partir de seus registros em diretórios pode ser
visualizada na Figura 3.
Figura 3: Exemplo de recuperação de arquivos usando a tabela FAT
Fonte: Richard Mueller e Luigi Burno (2013).
A Tabela FAT permite que o arquivo ocupe blocos não necessariamente
sequenciais, o que pode causar a fragmentação do arquivo pela superfície da
partição, porém, graças à sua lógica de funcionamento e mapeamento dos blocos
ocupados pelos arquivos, ela possibilita a recuperação de todas as partes do arquivo
fragmentado na sequência correta, como o caso do FILE2 na Figura 3.
O FAT32 e o NTFS são os dois sistemas de arquivos, da Microsoft, mais
utilizados atualmente. Apesar de suas limitações, o FAT32 tende a possuir um
desempenho e um aproveitamento de espaço melhor que o NTFS, já que o
overhead de controle é menor. Por essa razão, o FAT32 ainda é o sistema de
arquivos mais utilizados em mídias removíveis menores como pendrives e cartões
SD. Além disso, a grande maioria dos dispositivos, que possuem entradas USB e
leitores de cartões (como televisões, rádios e DVDs), é configurada para aceitar
mídias nesse mesmo formato.
2.3. RECUPERAÇÃO DE DADOS
No armazenamento não volátil, existem diversos fatores que podem ameaçar
a disponibilidade e integridade dos dados, entretanto, existem diversas formas de se
prevenir ou contornar esses problemas.
O método de recuperação a ser adotado depende não só de como os dados
se perderam, mas também do tipo de informação que se deseja recuperar. Em
alguns casos, o arquivo completo não pode ser recuperado, mas mesmo uma parte
do arquivo pode ser útil.
Como Vacca (2005) descreve a exclusão efetiva de dados, em uma mídia de
armazenamento não volátil, se dá apenas com a sobrescrita deles, portanto, os
arquivos apagados, de um sistema de arquivos, não são necessariamente
sobrescritos, podendo ser recuperados com determinadas ferramentas.
Com o objetivo de melhorar o desempenho, os sistemas de arquivos não
costumam sobrescrever os dados durante a ação de exclusão, já que o trabalho de
exclusão efetiva (ou sobrescrita) desses dados demoraria tanto quanto a escrita. Ao
invés disso, os sistemas de arquivos usam uma espécie de exclusão lógica, onde o
espaço ocupado pelo arquivo removido recebe o status de livre, dessa forma, a área
fica livre para receber novos dados.
Portanto, para recuperar arquivos simplesmente removidos pelo sistema de
arquivos, basta verificar os dados de controle do próprio sistema de arquivos e
procurar pelos arquivos apagados, que ainda podem estar na partição. A
recuperação de dados após um dano lógico ou uma formatação, entretanto, não
pode contar com o sistema de arquivos, já que o sistema de arquivos atual não
possui informações sobre arquivos pertencentes a formatações antigas.
Dessa forma, para recuperar dados sem as informações do sistema de
arquivos, usam-se algoritmos que procuram e identificam padrões de arquivos na
superfície da mídia. Essa técnica é conhecida como Data Carving (CNWRecovery,
2013), ou File Carving. O escaneamento desse tipo de algoritmo não leva em
consideração o sistema de arquivos, portanto, não é possível encontrar metadados
controlados pelo sistema de arquivos (como nomes, datas etc), e sim apenas os
dados brutos, entretanto, essa técnica permite a recuperação de arquivos mesmo
quando eles não são mais reconhecidos pelo sistema de arquivos.
Em casos extremos, onde não é possível recuperar arquivos completos de
nenhuma das formas citadas, há ainda a possibilidade de recuperar dados
relevantes como fragmentos de arquivos e imagens. Mesmo que o arquivo completo
não possa ser recuperado, o fragmento ou uma informação recuperada já podem ser
úteis, principalmente na computação forense.
Várias ferramentas forenses utilizam as lógicas citadas para fazer o trabalho
de recuperação de arquivos em uma mídia ou partição. Muitas delas conseguem
trabalhar, também, com imagens de mídias de armazenamento. Imagem é o termo
dado a uma cópia de uma mídia de armazenamento ou partição em um determinado
momento.
Essa cópia se torna independente e pode até mesmo ser montada e utilizada
como uma mídia de armazenamento normal, sem a possibilidade de alterar os
dados da mídia original. A criação de imagens é essencial na forense, já que a prova
original (a mídia de armazenamento sendo periciada) não deve ser modificada.
A imagem criada pelo perito também não deve ser modificada, mas os
problemas decorrentes de uma modificação acidental da cópia de trabalho (a
imagem), por exemplo, são, infinitamente, menores do que a modificação da prova
original. Por essa razão, antes de realizar a perícia, cria-se uma cópia da mídia para
ser usada como uma cópia de trabalho. Dessa forma, qualquer possível alteração,
acidental ou não, não impactará a prova original.
Por possuir menos controle de segurança dos dados, o FAT32 está sujeito a
danificar dados dependendo das circunstâncias em que se encontra, ao contrário do
NTFS, por exemplo, que possui um controle maior sobre seus dados. Se, por
exemplo, a energia é cortada durante um processo de transferência de arquivos
para uma partição FAT32, não existe nenhum tipo de registro ou controle sobre o
processo executado, portanto, após reiniciar a máquina, os arquivos sendo
transferidos poderão estar corrompidos.
2.4. FERRAMENTAS DE RECUPERAÇÃO DE DADOS
Como já mencionado, existem ferramentas especializadas na recuperação de
dados em uma mídia de armazenamento. Vacca (2005) menciona a possibilidade de
recuperação de dados apagados do sistema de arquivos utilizando determinadas
ferramentas e procedimentos. Porém, existem, também, ferramentas que
conseguem recuperar arquivos sem conhecer o sistema de arquivos da mídia, e até
arquivos de formatações anteriores. A escolha da ferramenta a ser utilizada varia de
acordo com a necessidade.
Ferramentas que se baseiam no sistema de arquivos para recuperar os dados
são dependentes da integridade e do conhecimento dele, por exemplo, se uma
ferramenta não conhece um sistema de arquivos específico, ela não conseguirá
recuperar os arquivos nesse sistema de arquivos, já ferramentas que buscam
padrões de arquivos, sem levar em consideração o sistema de arquivos, apenas
lendo os dados brutos, conseguem recuperar dados até de sistemas de arquivos
desconhecidos, porém, os metadados dos arquivos não serão recuperados.
Ferramentas como Autopsy, por exemplo, disponibilizam todas as
funcionalidades através de uma interface gráfica altamente intuitiva. Ferramentas
desse tipo costumam fornecer todas as funcionalidades necessárias para
recuperação e análise dos dados recuperados, fornecendo, inclusive, a visualização
de imagens, vídeos e arquivos de diversos formatos. Entretanto, em alguns casos, o
uso de interface gráfica, pode não ser possível, para tanto, existem ferramentas
como Foremost e The Sleuth Kit, que disponibilizam todas as funcionalidades
através de linha de comando. Ferramentas que trabalham em linha de comando,
normalmente, focam na funcionalidade de recuperação, deixando o trabalho de
análise e visualização de arquivos para programas diferentes.
O Autopsy, assim como outras ferramentas desse mesmo tipo, realizam
diversas atividades em paralelo à extração, como organização de arquivos pelo tipo,
identificação de e-mails, localização de palavras-chave etc. Tais atividades facilitam
o trabalho do perito, já que todas as informações são apresentadas
automaticamente e visualmente ao usuário através de uma interface gráfica. O
Autopsy, em especial, usa como base o The Sleuth Kit para realizar o trabalho de
extração e adiciona diversas funcionalidades para apresentação e organização dos
dados e arquivos recuperados. A Figura 4 apresenta um exemplo da interface do
Autopsy.
Figura 4: Ilustração da interface gráfica do Autopsy.
O Sleuth Kit é uma coleção de programas voltados para a análise de discos, e
é compatível com os sistemas de arquivos mais utilizados atualmente, a técnica de
recuperação adotada utilizando o Sleuth Kit é a recuperação por inode. como explica
Silva Santos (2012). O foremost é uma ferramenta usada para recuperar arquivos
baseando-se no padrão dos dados encontrados na superfície da partição, sem levar
em consideração o sistema de arquivos. O Quadro 1 apresenta os formatos
reconhecidos pela versão do Foremost.
Quadro 1: Formatos de arquivos reconhecios pelo Foremost
Figuras
Vídeos
Executáveis
Áudio
Texto
Documentos
Outros
jpg, gif, png, bmp
avi, mpg, wmv, mov
exe
wav
htm, xpp
pdf, doc
riff, ole, zip, rar
Ambas as ferramentas trabalham através de linha de comando, sem uma
interface gráfica ou qualquer funcionalidade de apresentação dos dados
recuperados, portanto, qualquer visualização de arquivos deve ser feita através de
outras ferramentas e programas.
Existe uma variedade muito grande de possíveis ferramentas e a escolha de
uma ferramenta que melhor se adequa a necessidade depende do que se deseja
recuperar em paralelo com as funcionalidades que a ferramenta disponibiliza.
3. METODOLOGIA
Com base no objetivo de identificar as melhores ferramentas a serem
utilizadas em cada caso, testando a eficiência de cada uma em um mesmo
ambiente, preparou-se um caso de teste onde uma imagem, criada especialmente
com essa finalidade, será analisada por duas ferramentas. Uma das ferramentas
analisará o sistema de arquivos com o objetivo de recuperar os arquivos ainda
controlados pelo FAT32. A outra ferramenta analisará a superfície da imagem em
busca de padrões de arquivos com o objetivo de encontrar arquivos não
reconhecidos pelo sistema de arquivos atual.
Ao utilizar as duas ferramentas dentro do mesmo contexto, poderemos
identificar e comparar os resultados de cada uma, identificando, através desses
resultados, em que casos é melhor adotar cada ferramenta.
As ferramentas adotadas para examinar e recuperar dados do sistema de
arquivos foram The Sleuth Kit e Foremost, por serem ambas ferramentas livres e
opensource.
O Sleuth Kit será utilizado com o objetivo de recuperar arquivos removidos e
ainda conhecidos pelo sistema de arquivos atual, enquanto o Foremost será
utilizado para recuperar arquivos presentes na superfície da partição, sem levar em
consideração o sistema de arquivos.
3.1. MONTAGEM DA IMAGEM PARA ANÁLISE
A análise acontecerá com base em uma imagem inicial de 100mb contendo,
em sua superfície, arquivos de texto, figuras, documentos do Microsoft Office, PDFs
e arquivos de formatos desconhecidos pelo Foremost (.jar, .jude).
A imagem criada passará pelo processo de formatação duas vezes, sendo
que no primeiro vários arquivos serão adicionados, alguns serão apagados e outros
serão adicionados. Na segunda formatação, que acontecerá por cima da primeira,
também receberá diversos arquivos, terá alguns apagados e outros adicionados.
Os detalhes do processo de criação da imagem estão listados abaixo:
a) Cria-se a imagem com a superfície coberta por zeros com o comando:
# dcfldd if=/dev/zero of=imagem.dd bs=1M count=100
b) Cria-se o sistema de arquivos FAT32 através do comando:
# mkfs.msdos -F 32 imagem.dd
c) Monta-se o sistema de arquivos no computador com o comando:
# mount -o loop imagem.dd /mnt/
d) Os arquivos apresentados pelo Quadro 2 são adicionados ao sistema de
arquivos de acordo com a hierarquia apresentada (todos com nome
começando em ‘0’):
Quadro 2: Lista dos primeiros arquivos adicionados na primeira formatação
0h.MP4
0a.png
0c.jpg
0f.jpg
0g.doc
0i.pdf
0j.jpg
diretorio1/0d.mp3
diretorio1/0e.JPG
O resultado final desse passo, no sistema de arquivos, pode ser visto pela
execução do comando: # ls –Rlh /mnt, como mostra a Figura 5.
Figura 5: Resultado do passo 4 na preparação da imagem.
e) Os arquivos apresentados pelo Quadro 3 são removidos.
Quadro 3: Lista dos primeiros arquivos removidos na primeira formatação.
0c.jpg
0g.doc
0i.pdf
0j.jpg
O resultado desse passo, no sistema de arquivos, pode ser visualizado na
Figura 6 (comando # ls –Rlh /mnt).
Figura 6: Resultado do passo 5 na preparação da imagem.
f) Os arquivos apresentados pelo Quadro 4 são adicionados na hierarquia
de arquivos (todos com nome começando em ‘1’):
Quadro 4: Arquivos adicionados na primeira formatação após uma exclusão.
1b.png
1c.pdf
1d.docx
1e.avi
1f.mp3
1h.docx
diretorio1/1i.doc
O resultado final desse passo, no sistema de arquivos, pode ser visto pela
execução do comando: # ls –Rlh /mnt, como mostra a Figura 7.
Figura 7: Resultado do passo 6 na preparação da imagem.
g) A partição é desmontada com o comando:
# umount /mnt
h) A partição sofre uma nova formatação com o comando:
# mkfs.msdos -F 32 imagem.dd
i) A partição é montada no sistema de arquivos do computador mais uma
vez com o comando:
# mount -o loop imagem.dd /mnt/
j) Os arquivos apresentados peloa Quadro 5 são adicionados na hierarquia
de arquivos (todos com nome começando em ‘2’):
Quadro 5: Lista dos primeiros arquivos adicionados na segunda formatação.
2f.doc
2h.docx
2i.jpg
diretorio1/2a.png
diretorio2/2j.png
diretorio3/2b.jpg
diretorio3/2c.jude
diretorio3/2e.zip
O resultado final desse passo, no sistema de arquivos, pode ser visto pela
execução do comando: # ls –Rlh /mnt, como mostra a Figura 8.
Figura 8: Resultado do passo 10 na preparação da imagem.
k) Os arquivos apresentados pelo Quadro 6 são removidos:
Quadro 6: Lista dos primeiros arquivos removidos na primeira formatação.
2f.doc
diretorio3/2b.jpg
O resultado desse passo, no sistema de arquivos, pode ser visualizado na
Figura 9 (comando # ls –Rlh /mnt):
Figura 9: Resultado do passo 11 na preparação da imagem.
l) Os arquivos apresentados pelo Quadro 7 são adicionados na hierarquia
de arquivos (todos com nome começando em ‘3’):
Quadro 7: Lista de arquivos adicionados na segunda formatação após uma exclusão.
3d.docx
3g.docx
3h.docx
diretorio1/3e.png
diretorio1/3f.jpg
diretorio2/3c.docx
diretorio3/3i.mp3
diretorio3/3j.png
O resultado final desse passo, no sistema de arquivos, pode ser visto pela
execução do comando: # ls –Rlh /mnt, como mostra a Figura 10.
Figura 10: Resultado do passo 12 na preparação da imagem.
m) Os arquivos listados no Quadro 8 são removidos:
Quadro 8: Lista de arquivos removidos após a segunda adição de arquivos na segunda formatação.
2h.docx
3g.docx
diretorio1/3f.jpg
diretorio2/2j.png
diretorio3/3j.png
O resultado desse passo, no sistema de arquivos, pode ser visualizado na
Figura 11 (comando # ls –Rlh /mnt):
Figura 11: Resultado do passo 13 na preparação da imagem.
n) A imagem é desmontada para que possa ser analisada:
# umount /mnt
3.2. RECUPERAÇÃO DE ARQUIVOS USANDO THE SLEUTH KIT
Como já mencionado, o Sleuth Kit é capaz de recuperar arquivos em uma
imagem com base nas informações dos sistemas de arquivos presente da partição
ou imagem, portanto, está limitado a recuperar arquivos da última formatação da
partição. No caso de teste, o Sleuth Kit será utilizado para recuperar arquivos
removidos no sistema de arquivos da segunda formatação, já que a primeira
formatação foi sobrescrita pela segunda.
Para recuperar os arquivos removidos pelo sistema de arquivos, a técnica
escolhida utilizará o fls e o icat, que são ferramentas contidas no conjunto do TSK
(The Sleuth Kit). O fls será usado para identificar e escanear o sistema de arquivos
da imagem identificando os metadados dos arquivos e diretórios controlados pelo
sistema de arquivos. O fls consegue encontrar, inclusive, os metadados de arquivos
removidos.
O icat será utilizado para recuperar os dados efetivos de um ou mais arquivos
dentro de um sistema de arquivos de uma imagem através de sua identificação. No
caso do FAT32, a identificação é o número do bloco inicial do arquivo. Como os
arquivos recuperados ainda são controlados pelo sistema de arquivos, dados como
nome do arquivo, datas de criação, modificação e acesso e tamanho dos arquivos
também serão recuperados.
O comando utilizado para listar os arquivos removidos recursivamente no
sistema de arquivos é:
# fls –rd imagem.dd
A Figura 12 apresenta o resultado do comando na imagem de teste.
Figura 12: Listagem dos arquivos removidos ainda reconhecidos pelo sistema de arquivos.
Através de uma rápida análise identificam-se 10 arquivos removidos. Através
do nome, identificam-se cinco arquivos pertencentes ao sistema de arquivos atual
(arquivos com nomes começando em ‘2’ e ‘3’), porém, identificam-se, também, pelo
nome, cinco arquivos pertencentes à primeira formatação (arquivos com nomes
começando em ‘0’ e ‘1’).
Para recuperar os dados efetivos dos arquivos, a ferramenta icat é utilizada,
através do padrão de comando:
# icat imagem.dd [identificação] > [nome do arquivo destino]
Os comandos executados para recuperar todos os arquivos removidos no
sistema de arquivos estão listados na Figura 13:
Figura 13: Comandos para recuperar os arquivos encontrados no sistema de arquivos.
O número de arquivos recuperados é relativamente pequeno se comparado
ao número de arquivos perdidos, porém, todas as informações dos arquivos
recuperados, como nome e datas podem ser recuperadas.
3.3. RECUPERAÇÃO DE ARQUIVOS USANDO O FOREMOST
Para recuperar dados de arquivos de um sistema de arquivos danificado ou
após uma formatação, ou seja, arquivos não controlados pelo sistema de arquivos,
mas ainda existentes na superfície do disco, será utilizado o Foremost. Como o
Foremost se baseia nos padrões dos arquivos, ele não depende do sistema de
arquivos para localizar e recuperar arquivos e, portanto, é capaz de recuperar
arquivos ainda existentes na superfície do disco, mesmo que o sistema de arquivos
não os conheça. O Foremost conhece uma grande diversidade de tipos de arquivos,
incluindo JPEG, PNG, GIF, arquivos Microsoft Office (como DOC e PPT), HTML etc.
Além disso, por possuir uma implementação genérica, é possível cadastrar
novos padrões para a identificação de outros tipos de arquivos. Para recuperar os
arquivos da imagem de teste, o seguinte comando é utilizado:
# foremost –o resultado2 imagem.dd
Através do arquivo de sumário criado pelo Foremost (audit.txt) pode-se fazer
uma análise rápida do resultado do Foremost. A Figura 14 apresenta o resumo dos
arquivos recuperados pelo Foremost.
Figura 14: Resumo de arquivos recuperados pelo Foremost.
O Foremost é capaz de recuperar diversos tipos de arquivos, como mostra a
Figura 14. A quantidade total de arquivos que passaram pela imagem é 34, portanto,
o Foremost, provavelmente, recuperou vários arquivos mais de uma vez. Os 11
arquivos contidos no sistema de arquivos atual também devem estar entre os
arquivos recuperados.
Para facilitar a análise dos arquivos recuperados, os arquivos recuperados
foram divididos em dois diretórios: Resultado1 e Resultado2, que receberam os
arquivos recuperados pelo Sleuth Kit e pelo Foremost respectivamente.
3.4. CLASSIFICAÇÃO DOS ARQUIVOS RECUPERADOS
Para facilitar a identificação dos arquivos recuperados, foi criado, inicialmente,
um diretório contendo a hierarquia de todos os arquivos que passaram pela imagem.
Através do comando fdupes é possível identificar os arquivos recuperados,
principalmente para o caso do Foremost, que não recupera metadados, como nome
do arquivo, identificando-se, inclusive, quais, dentre os arquivos recuperados, ainda
estão no sistema de arquivos atual da imagem. Os arquivos que não forem
identificados pelo fdupes, provavelmente, estarão corrompidos ou incompletos.
Levando em consideração que os diretórios com os arquivos recuperados
(Resultado1 e Resultado2), o diretório contendo a hierarquia original e o diretório
onde o sistema de arquivos atual da imagem está montado estão no mesmo
diretório, o comando executado para identificar os arquivos foi:
# fdupes –r .
A Figura 15 mostra um trecho do resultado apresentado pelo fdupes:
Figura 15: Trecho da identificação dos arquivos recuperados.
Através de uma análise rápida, pode-se perceber que o Foremost recuperou
vários arquivos replicados e outros arquivos também controlados pelo sistema de
arquivos e muitos que não foram encontrados na hierarquia original, que,
provavelmente, estão corrompidos. Já o Sleuth Kit recuperou menos arquivos,
porém, trazendo metadados, além de superar as expectativas, trazendo arquivos da
primeira formatação.
Por fim, para identificar, de uma forma visual, os arquivos não identificados
através do fdupes, serão utilizados programas de visualização de arquivos, de
acordo com o tipo do arquivo recuperado.
4. RESULTADOS
A identificação final dos arquivos pode ser visualizada no Quadro 9.
Quadro 9: Identificação de arquivos recuperados.
Arquivos
Arquivos
recuperados pelo
recuperados pelo
The Sleuth Kit
Foremost
png/00086685.png
jpg/00099413.jpg
jpg/00113384.jpg
pdf/00091556.pdf
jpg/00096602.jpg
png/00114613.png
pdf/00115512.pdf
docx/00151377.docx
orphan/1D~1.DOC
Arquivos na
formatação
Formatação Atual
Arquivos Originais
0a.png
0c.jpg
0f.jpg
0g.doc
0h.MP4
0i.pdf
0j.jpg
1b.png
1c.pdf
1d.docx
-
avi/00116782.avi
docx/00113663.docx
docx/00003281.docx
jpg/00004054.jpg
docx/00011058.docx
docx/00011106.docx
jpg/00102111.jpg
png/00004956.png
png/00016494.png
jpg/00016540.jpg
png/00009874.png
png/00017520.png
jar/00018780.jar
xlsx/00018757.xlsx
docx/00017317.docx
jpg/00003788.jpg
zip/00003857.zip
png/00012632.png
png/00012632.png
orphan/1E.AVI
2h.docx
3g.docx
orphan/0D.MP3
orphan/0E.JPG
orphan/1I.DOC
diretorio1/3f.jpg
1e.avi
1f.mp3
1h.docx
2f.doc
2h.docx
2i.jpg
3d.docx
3g.docx
3h.docx
diretorio1/0d.mp3
diretorio1/0e.JPG
diretorio1/1i.doc
diretorio1/2a.png
diretorio1/3e.png
diretorio1/3f.jpg
2i.jpg
3d.docx
3h.docx
diretorio1/2a.png
diretorio1/3e.png
-
diretorio2/2j.png
diretorio2/2j.png
-
diretorio3/3j.png
diretorio2/3a.jar
diretorio2/3b.xlsx
diretorio2/3c.docx
diretorio3/2b.jpg
diretorio3/2c.jude
diretorio3/2e.zip
diretorio3/3i.mp3
diretorio3/3j.png
diretorio2/3a.jar
diretorio2/3b.xlsx
diretorio2/3c.docx
diretorio3/2c.jude
diretorio3/2e.zip
diretorio3/3i.mp3
-
Após a identificação dos arquivos recuperados, pode-se ter uma noção
melhor do resultado do teste. Os arquivos mostrados em laranja apresentaram
algum tipo de problema, mas ainda puderam ser aproveitados, ou seja, apesar de
estarem corrompidos ou incompletos, de certa forma, os dados recuperados ainda
faziam sentido e puderam ser usados. No caso do vídeo, por exemplo, a reprodução
apresentou algumas falhas, porém o vídeo foi reproduzido até o final.
4.1. RESULTADOS DO SLEUTH KIT
Para analisar o caso do Sleuth Kit, para o caso de arquivos não removidos
recuperados da formatação atual, será adotado o valor total dos arquivos existentes,
uma vez que o método adotado permitira a recuperação de qualquer arquivo não
removido ainda existente na segunda formatação.
Dentre os sete arquivos removidos da segunda partição, apenas dois não
foram recuperados, entretanto, essa falta é compensada pela recuperação de cinco
arquivos da formatação anterior.
O Gráfico 1 apresenta, de forma quantitativa, os arquivos recuperados pelo
Sleuth Kit nas duas formatações:
Gráfico 1: Relação quantitativa de arquivos recuperados pelo Sleuth Kit.
40
35
30
25
20
15
10
5
0
34
12
11 11
5
0
Não
removidos
16 18
16
4
5
Removidos
Total
5
Não
removidos
Priemira Formatação
Recuperados pelo Sleuth Kit
21
7
Removidos
Total
Segunda Formatação
Total Geral
Total de arquivos
Como demonstrado pelo Gráfico 1, o Sleuth Kit, na segunda formatação, é
capaz de recuperar, obviamente, todos os arquivos não removidos, e chega muito
perto de recuperar todos os arquivos removidos na partição. Entretanto, na primeira
formatação, o Sleuth Kit foi capaz de recuperar apenas cinco arquivos, que,
provavelmente, pelos números dos blocos listados pelo comando fls, foram arquivos
identificados e separados pelo próprio formatador, e não pelo Sleuth Kit.
4.2. RESULTADOS DO FOREMOST
Dentre os 101 arquivos recuperados pelo Foremost, apenas 27 estão entre os
arquivos existentes na hierarquia original. Arquivos não presentes na hierarquia
original foram encontrados no conteúdo de outros arquivos (como imagens dentro de
documentos do Word ou PDFs) e foram ignorados na análise dos resultados,
juntamente com os arquivos duplicados (recuperados mais de uma vez). Dentre os
11 arquivos existentes na formatação atual, dois não foram recuperados e dentre os
34 da hierarquia original, oito não foram recuperados.
O Gráfico 2 apresenta, quantitativamente, os arquivos recuperados da
primeira e segunda formatação (separados em arquivos removidos e arquivos não
removidos).
Gráfico 2: Relação quantitativa de arquivos recuperados pelo Foremost.
40
35
30
25
20
15
10
5
0
34
26
8
16
12
11
3
Não
removidos
9
11
6
4
Removidos
Total
15
Não
removidos
18
7
Removidos
Total
Priemira Formatação
Segunda Formatação
Recuperados pelo Foremost
Total de arquivos
Total Geral
Percebe-se que o Foremost, principalmente na segunda formatação, chegou
muito perto de recuperar todos os arquivos da formatação. Dentre os não
recuperados, nessa formatação, um arquivo possui formato não reconhecido pelo
Foremost, portanto, se levarmos em consideração, apenas os formatos que ele
propõe recuperar, teremos apenas dois arquivos não recuperados.
Dentre o total de arquivos da hierarquia original, dois não possuem formato
reconhecido pelo Foremost, e, portanto, não puderam ser identificados por ele. O
restante dos arquivos não recuperados podem não ter sido encontrados por dois
motivos possíveis:
a) Os arquivos foram sobrescritos: nesse caso, o Foremost não encontrou os
arquivos porque o local onde o padrão do arquivo, usado pelo Foremost
para reconhecê-lo, foi sobrescrito por outro arquivo.
b) Os arquivos foram fragmentados: em alguns casos, o arquivo pode ser
fragmentado pelo sistema de arquivos, impossibilitando sua recuperação
total ou mesmo parcial.
O Gráfico 3 apresenta a comparação de arquivos recuperados e não
recuperados em bytes.
Gráfico 3: Relação de dados recuperados em MegaBytes.
85.7MB
77.5MB
72.1MB
42.1MB
34MB
28.7MB
5.2MB 5.4MB
Não
removidos
Removidos
Priemira Formatação
Total
4.2MB 4.2MB
3.9MB 3.9MB
Não
removidos
Removidos
8.1MB 8.2MB
Total
Segunda Formatação
Recuperados pelo Foremost
Total de arquivos
Total Geral
A diferença significativa entre os dados recuperados e os dados encontrados
está num arquivo de 42MB que não possui um formato reconhecido pelo Foremost.
Se tirarmos o valor desse arquivo, os dados recuperados ficam muito próximos dos
dados na hierarquia original, como mostra o Gráfico 4 (sem levar em consideração
os arquivos com formato não reconhecido pelo Foremost).
Gráfico 4: Relação de dados recuperados em MegaBytes sem considerar os formatos não
reconhecidos pelo Foremost.
42.1MB 42.9MB
34MB 34.7MB
28.7MB 29.3MB
8.1MB 8.1MB
5.2MB 5.4MB
Não
removidos
Removidos
Total
4.2MB 4.2MB
3.9MB 3.9MB
Não
removidos
Removidos
Priemira Formatação
Total
Segunda Formatação
Recuperados pelo Foremost
Total Geral
Total de arquivos
Como visto no Gráfico 4, sem levar em consideração os dados de arquivos
não reconhecidos pelo Foremost, ou seja, se levarmos em consideração apenas o
que a ferramenta promete recuperar, tem-se um resultado muito mais positivo, já
que a quantidade de dados recuperados é extremamente próxima a quantidade total
de dados contidos na hierarquia original dos dados.
4.3. COMPARAÇÂO DE RESULTADOS
Em relação à segunda formatação, os resultados são muito próximos, uma
vez que ambas as ferramentas conseguiram recuperar quase todos os arquivos
existentes (apagados ou não). O Sleuth Kit, porém, conseguiu um resultado um
pouco melhor, tanto em quantidade quanto em qualidade, já que trás, mais dados
recuperados e, além disso, trás os metadados desses arquivos, informações muito
úteis na recuperação de arquivos. Já em relação à primeira formatação, o Foremost
obteve um resultado melhor, já que trouxe muito mais dados do que o Sleuth Kit,
porém, o Sleuth Kit superou as expectativas e encontrou alguns arquivos da primeira
formatação, mesmo não tendo isso como objetivo inicial.
5. CONCLUSÃO
Após a análise, classificação e catalogação dos arquivos recuperados, podese constatar, em geral, o que já havia sido previsto. O Foremost possui a
capacidade de recuperar arquivos sem levar em consideração o sistema de arquivos
atual, possibilitando a recuperação de arquivos presentes na formatação atual,
removidos e até de formatações passadas, enquanto o Sleuth Kit possui a
capacidade de recuperar arquivos baseando-se no sistema de arquivos atual,
podendo recuperar, inclusive, metadados do arquivo, não podendo, porém,
recuperar arquivos de formatações passadas.
Deve-se dar um destaque à recuperação, inesperada, de arquivos da primeira
formatação pelo Sleuth Kit. Como os arquivos, teoricamente, não eram mais
conhecidos pelo sistema de arquivos atual, não haveria como a ferramenta
encontra-los, porém, no momento da formatação, esses arquivos foram encontrados
e alocados em uma pasta utilizada pelo sistema de arquivos para armazenar
arquivos perdidos, possibilitando à ferramenta encontra-los e recuperá-los. Apesar
de inusitada e não confiável, a recuperação de arquivos dessa forma pode ser muito
útil durante um trabalho de perícia.
5.1. TRABALHOS FUTUROS
Como trabalhos futuros, pode-se realizar novas análises utilizando novas
ferramentas, como a ferramenta Autopsy, citada anteriormente, para verificar se
outros arquivos podem ser recuperados e se novos resultados podem ser obtidos.
Aconselha-se também, realizar novos testes utilizando mais formatos de arquivos
não reconhecidos pelo Foremost para explorar ainda mais a capacidade de
recuperação de ambas as ferramentas.
6. RESUMO NA LÍNGUA ESTRATNGEIRA
DATA RECOVERING FROM FAT32 FILE SYSTEMS
GABRIEL ALEXANDRE DE FREITAS SILVA
Abstract:
Knowing that the computer forensics aimed at determining the dynamics, materiality
and authorship of illegality in computer science, and that the recovery of files from
storage media has a fundamental role in performing this task, this empirical research
has as objective to verify at what level the files saved on a storage media can be
recovered. As there is a great diversity of files systems currently used and a range of
tools available to perform the task of data recovery, it was chosen to define a scope
that encompasses file recovery specifically in FAT32, since it is the file system most
used on removable media storage currently. To perform this analysis, the operation
of some tools and file systems, used by experts, was studied and two tools among
them were selected (The Sleuthkit and Foremost), each one using a different data
recovery technique, for mounting the test cases (experiments) and then analyzing the
results of the data recovering process. After the execution of test cases and
analyzing the results it was possible to measure the efficiency of each technique and
tool and identify cases where the results of each of them can be put to better use.
Keywords: FAT32. Data Recovering. Sleuth Kit. Foremost.
7. REFERÊNCIAS
CNWRECOVERY. Data Carving. Disponível em
<http://www.cnwrecovery.com/guide/html/data_carving.html>. Acesso em: 03 jul.
2013.
ELEUTÉRIO, Pedro Monteiro da Silva; MACHADO, Marcio
Pereira. Desvendando a Computação Forense. São Paulo: Novatec, 2011.
FOREMOST. Introduction. Disponível em <http://foremost.sourceforge.net/>;
Acessado em: 05 mai. 2013.
MICROSOFT CORPORATION. FAT32 File System Specification. 2000.
MORIMOTO, Carlos; Sistemas de arquivos. 2005. Disponível em <
http://www.hardware.com.br/termos/sistema-de-arquivos>; Acessado em 05 set.
2013.
MOTA FILHO, João Eriberto. Descobrindo o Linux. 3 ed. São Paulo: Novatec,
2012.
MUELLER Richard, BRUNO Luigi, The FAT File System. Disponível em
http://social.technet.microsoft.com/wiki/contents/articles/6771.the-fat-filesystem.aspx>; Acessado em: 06 jun. 2013.
SILVA SANTOS, Diego Ribeiro. Importância das Técnicas de Recuperação de
Arquivos. Brasília: Edição própria. 2012.
STOFFREGEN, Paul. Understanding FAT32 Filesystems. 2005. Disponível em
<http://www.pjrc.com/tech/8051/ide/fat32.html>; Acessado em: 05 mai 2013.
THE SLEUTH KIT. Home. Disponível em <http://www.sleuthkit.org/>; Acessado
em: 05 mai 2013.
VACCA, John R. Computer Forensics: Computer Crime Scene Investigation.
2a ed. Boston: Charles River Media, 2005.
Download

Gabriel Alexandre de Freitas Silva