Sunteți pe pagina 1din 64

Anlise Forense de

Documentos Digitais

Prof. Dr. Anderson Rocha


anderson.rocha@ic.unicamp.br
http://www.ic.unicamp.br/~rocha

Reasoning for Complex Data (RECOD) Lab.


Institute of Computing, Unicamp
Av. Albert Einstein, 1251 - Cidade Universitria
CEP 13083-970 Campinas/SP - Brasil
File Carving e Smart
File Carving
Baseado em The evolution of file carving the benefits and
problems of forensics recovery. Anandabrata Pal and
Nasir Memon. IEEE Signal Processing Magazine, 26(2):5971,
March 2009.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 3


Organizao
Organizao

Introduo e conceitos gerais


Recuperao de arquivos tradicional
File Carving
Smart Carving
Concluso
Referncias
A. Rocha, 2012 Anlise Forense de Documentos Digitais 5
Introduo e
Conceitos Gerais
O que file carving?

a extrao e recuperao de arquivos


baseada somente em sua estrutura

A. Rocha, 2012 Anlise Forense de Documentos Digitais 7


Por que File Carving?
A enorme massa de dados no formato digital
est sujeita :

Corrupo do sistema de arquivos


Formatao de um dispositivo
Dados em formato proprietrio ou
desconhecido

Arquivos removidos/apagados
(intencionalmente ou no)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 8


Armazenamento (1)

Discos Rgidos e SSD's so divididos em


Clusters

Clusters so compostos por Setores e


representam a menor quantidade que
possvel gravar em uma nica vez

Setores costumam ter 512 ou 4K bytes

A. Rocha, 2012 Anlise Forense de Documentos Digitais 9


Armazenamento (2)
Os sistemas de arquivos:
Gerenciam os arquivos
Alocam Blocos (Clusters)
A alocao de blocos pode ou no ser
sequencial

Alocao no sequencial indica


fragmentao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 10


Exemplo:
Armazenamento
Arquivo
Dados de um arquivo sob o ponto de vista de aplicaes


A1 A2 A3 A4 A5 A6 A7 A8 A9
Dados de um arquivo no disco, dividido em blocos

A. Rocha, 2012 Anlise Forense de Documentos Digitais 11


Fragmentao
O nvel de fragmentao dependente do:
Sistema de arquivos
Tamanho do arquivo
Tamanho do bloco
Alocao no sequencial indica fragmentao
Os fragmentos podem estar dispostos em
qualquer ordem

A. Rocha, 2012 Anlise Forense de Documentos Digitais 12


Exemplo de Fragmentao

A1 A2 B1 B2 B3 C2 C1 C3 A3

No exemplo, cada clula representa um bloco. Esto


representados 3 arquivos, cada um constitudo por 3
fragmentos. Os fragmentos 1, 2 e 3 representam,
respectivamente: o incio, meio e fim do arquivo.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 13


Nomenclatura
A1 A2 B1 B2 B3 C2 C1 C3 A3

Utilizando o arquivo A como exemplo:


A1 e A2 so o fragmento base
A2 o ponto de fragmentao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 14


Recuperao de
arquivos tradicional
Recuperao Tradicional

Dependente de estruturas do sistema de


arquivos, ex.: tabelas de arquivos

Sistemas de arquivos costumam apenas


marcar uma entrada como removida

Permite rpida recuperao dos arquivos


enquanto estiverem presentes na estrutura

Evita buscas em reas no alocadas do disco


A. Rocha, 2012 Anlise Forense de Documentos Digitais 16
Recuperao Tradicional
Insero - FAT32
* FAT 32 (tabela de alocao de arquivos)
* Limitada a 4GB

* NTFS veio para superar esse problema


* Usa rvore B para armazenar a informao
(no contedo) dos arquivos

A. Rocha, 2012 Anlise Forense de Documentos Digitais 17


Recuperao Tradicional
Deleo - FAT32

A. Rocha, 2012 Anlise Forense de Documentos Digitais 18


Algumas Descobertas

Em uma anlise com 350 HDs (FAT, NTFS, UFS), descobriu-se

Fragmentao baixa mas existe

Mais alta para arquivos de usurio (MSOffice, e-mail,


JPEG).

MS Word = 16%

AVI = 22%

MS-Outlook PSTs = 58%

A. Rocha, 2012 Anlise Forense de Documentos Digitais 19


Algumas Descobertas

Amiga Smart File System busca mover um arquivo inteiro em


caso de edio

Unix File System (UFS) busca prever possveis extenses


deixando certos clusters disponveis contguos a um arquivo

XFS e ZFS utilizam escrita tardia at um flush do sistema


operacional

A. Rocha, 2012 Anlise Forense de Documentos Digitais 20


Algumas Descobertas

SSDs tendem a aumentar a fragmentao independente do


sistema de arquivos devido s tcnicas de wear-leveling

Se o controlador for comprometido, apenas abordagens de


file carving poderiam ser utilizadas e no as abordagens
tradicionais.

Em alguns casos, o prprio sistema de arquivos pode forar a


fragmentao (UFS faz isso para arquivos grandes ou quando
o arquivo tem um nmero mpar de clusters).

A. Rocha, 2012 Anlise Forense de Documentos Digitais 21


File Carving
File Carving: Regras gerais

No utiliza a estrutura ou informaes do


sistema de arquivos de forma direta

Busca em blocos no alocados somente


quando existe alguma confiana na
informao do sistema de arquivos

Costumam identificar arquivos muito


comuns atravs de hashes (MD5) e palavras
chave

A. Rocha, 2012 Anlise Forense de Documentos Digitais 23


File Carving por
Estrutura
File Carving: Recuperao
baseada em estrutura
Busca pelos numeros mgicos (ie. sequncia de
bytes em pontos conhecidos)

Cabealho e rodap, ou

Cabealho + tamanho do arquivo

Tcnicas mais avanadas tambm utilizam o


contedo do arquivo

O arquivo formado por todos os blocos que se


encontram entre o setor do cabealho e o setor
do final

A. Rocha, 2012 Anlise Forense de Documentos Digitais 25


Exemplo: Recuperao
baseada em estrutura
A1 A2 B1 B2 B3 C2 C1 C3 A3

Arquivo A: A1+A2+B1+B2+B3+C2+C1+C3+A3

A1 A2 B1 B2 B3 C2 C1 C3 A3

Arquivo B: B1+B2+B3

A1 A2 B1 B2 B3 C2 C1 C3 A3

Arquivo C: C1+C3

A. Rocha, 2012 Anlise Forense de Documentos Digitais 26


File Carving por
Teoria dos Grafos
Recuperao baseada em
grafos
Tenta resolver o problema de recuperao
baseada em estrutura para arquivos
fragmentados

Os blocos representam os vrtices


Arestas representam a verossimilhana entre
blocos atravs de um peso

Como definir a verossimilhana?


A. Rocha, 2012 Anlise Forense de Documentos Digitais 28
Grafos: Caminho Hamiltoniano

Tcnica apresentada por Shanmugasundaram et al.

Computa a permutao de um conjunto de n blocos pertencentes ao


arquivo A que representa a estrutura original de A

Os pesos entre dois blocos representam a probabilidade de serem


adjacentes

A permutao correta provavelmente a que maximiza a soma


dos pesos

O conjunto de todos os pesos forma uma matriz de adjacncia de um


grafo completo de n vrtices.

A sequncia correta um caminho no Grafo.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 29


Grafos: Caminho Hamiltoniano

Podemos ver isso como um problema em grafos

Todos os pesos candidatos W formam uma matriz de adjacncia de


um grafo completo com n vrtices (vrtice x representa o cluster bx)

O peso de aresta W(x,y) representa a probabilidade do cluster by


seguir o cluster bx.

A permutao correta que resolve esse problema ser o caminho no


grafo que passa por todos os vrtices e maximiza a soma dos pesos
candidatos ao longo do caminho.

Achar esse caminho equivalente a achar o caminho Hamiltoniano


em um grafo completo.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 30


Grafos: Caminho Hamiltoniano

A pergunta , ento, como determinar o peso


entre dois blocos?

Prediction by parcial matching (PPM) para


textos (Kulesh et al.)

Comparao de bordas entre blocos para


imagens (Pal et al.)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 31


Prediction by parcial matching (PPM)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 32


Comparao de bordas entre blocos para
imagens

A. Rocha, 2012 Anlise Forense de Documentos Digitais 33


Grafos: Caminho Hamiltoniano

Problemas?
No considera que em sistemas reais
vrios arquivos podem estar fragmentados
ao mesmo tempo.

Estatsticas de mltiplos arquivos


poderiam ajudar no processo

A. Rocha, 2012 Anlise Forense de Documentos Digitais 34


Grafos: Caminho Hamiltoniano

A. Rocha, 2012 Anlise Forense de Documentos Digitais 35


Grafos: k-Vertex Disjoint Path

Refinamento do mtodo do caminho


Hamiltoniano por Pal et al.

Em casos reais, mltiplos arquivos esto


fragmentados juntos

Utiliza a estatstica destes mltiplos


arquivos

Cada vrtice representa um bloco


A. Rocha, 2012 Anlise Forense de Documentos Digitais 36
Grafos: k-Vertex Disjoint Path

k arquivos identificados pelo cabealho


Existem apenas k caminhos disjuntos, pois
(usualmente) cada bloco pertence
unicamente um arquivo

um problema NP difcil
Foram propostos algoritmos de caminho
nico (UP unique path)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 37


Algoritmos Unique Path (UP)

Realista: cada bloco costuma pertencer a um


nico arquivo

Erros se propagam em cascata


Um bloco incorreto leva reconstruo
errada de 2 arquivos

A. Rocha, 2012 Anlise Forense de Documentos Digitais 38


File Carving: PUP
PUP: Parallel Unique Path

1. Comea com um conjunto S com k Headers (s ,s ,...,s ), referentes a k arquivos.


1 2 k

2. Encontra um conjunto T com k setores, onde t a melhor correspondncia ao s .


i i
Seleciona o t com correspondncia mais alta dentre todos.
i

i. Adiciona o t ao caminho do i-simo arquivo


i

ii. Substitui o setor corrente em S para o i-simo elemento (s = t )


i i

iii. Encontra um novo conjunto T das melhores correspondencias

iv. Seleciona o elemento com a melhor correspondencia

v. Repete (i) at todos os arquivos estarem completos.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 39


Exemplo: PUP
A1 B1 C1 A1 B1 C1


A2 B2 C3 A2 B2 C3
(a)

A2
(b)

A1 B1 C1


A2 B2 C3


C3 B3

(c)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 40


File Carving: SPF
SPF: Shortest Path First

1. Para cada uma das imagens a serem reconstrudas:

i. A partir do conjunto de todos os blocos disponveis, reconstri


o caminho da imagem e calcula o custo mdio do caminho

2. Encontra dentre todos os caminhos aquele com o menor custo e


reconstri essa imagem

3. Remove dos outros caminhos os blocos utilizados na reconstruo do


passo (2)

4. Repete o passo (1) at que todas as imagens sejam reconstrudas

A. Rocha, 2012 Anlise Forense de Documentos Digitais 41


File Carving: PUP vs. SPF

Reconstruo de at 88% dos arquivos contra 83% do PUP

Tem performance e escalabilidade muito mais baixas que


o PUP

Os pesos das arestas so pr-computados para facilitar a


busca, porm este passo tem complexidade O(n2 log n)

Discos modernos contm milhes de clusters e pre-


computar os pesos podem ser infactvel.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 42


BitFragment Gap
Carving
BitFragment Gap Carving
Fast Object Validation para arquivos com cabealho e
rodap

Arquivos precisam ser decodificveis (JPEG, MPEG, ZIP,


etc.)

Um validador indicar se uma sequncia viola a estrutura


de um tipo especfico de arquivo

Por exemplo, PNG usa cdigos corretores de erro ao final


da imagem

Textos planos e BMPs no podem ser recuperados dessa


forma

A. Rocha, 2012 Anlise Forense de Documentos Digitais 44


BitFragment Gap Carving
Bitfragment Gap Carving (BGC) recupera arquivos por
busca exaustiva do gap entre uma sequncia e outra
sempre validando o que h no meio

A. Rocha, 2012 Anlise Forense de Documentos Digitais 45


BitFragment Gap Carving
Considere bh como o header cluster, bf o ponto de fragmentao, bs
o incio do cluster com o footer e bz o footer

Para cada tamanho de gap g comeando de 1, todas as combinaes


de bf e bs so designadas de modo que haja exatamente g clusters
entre eles (s - f = g)

Desvantagens:

Essa tcnica no escala para maiores gaps

Funciona para arquivos com dois fragmentos

S funciona para arquivos que podem ser validados

Validao coerente no significa recuperao correta de


arquivo

A. Rocha, 2012 Anlise Forense de Documentos Digitais 46


BitFragment Gap Carving

A. Rocha, 2012 Anlise Forense de Documentos Digitais 47


Smart File Carving
Smart Carving
Proposto por Pal et al.

Visa resolver problemas de escalabilidade

Leva em considerao o comportamento tpico da fragmentao


em discos

Etapas:

Pr processamento

Comparao/classificao

Reconstruo

A. Rocha, 2012 Anlise Forense de Documentos Digitais 49


Smart Carving

A. Rocha, 2012 Anlise Forense de Documentos Digitais 50


Smart Carving:
Pr-processamento

Aplicada em dados com compresso ou encriptao


Opcionalmente pode remover os blocos
reconhecidamente alocados

A. Rocha, 2012 Anlise Forense de Documentos Digitais 51


Smart Carving: Comparao e
Classificao

Classifica os blocos pelo tipo de arquivo


Palavras chave ou padres (e.g., <HTML>, <IMG>)
Frequncia de caracteres ASCII
Entropia
Impresso digital de arquivos (e.g., histograma de
bytes dos arquivos)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 52


Smart Carving: Impresso digital

McDaniel and Heydari propuseram 3 algoritmos:

Frequncia de distribuio de bytes (BFD): mdia dos


histogramas de diversos exemplos e correlao dos bytes

Frequncia de distribuio de correlao cruzada (BDC):


correlao entre os bytes

Incluso de cabealho e rodap

Baixa acurcia: 30% (BFD), 45% (BFC) e 95% com os cabealhos e


rodaps

No funciona bem para blocos

A. Rocha, 2012 Anlise Forense de Documentos Digitais 53


Smart Carving: Impresso digital

Proposto por Wang and Stalfo

Utiliza um conjunto de modelos BFD e desvio padro


Melhor acurcia: entre 75% e 100%
Acurcia decresce com o nmero de bytes disponveis

A. Rocha, 2012 Anlise Forense de Documentos Digitais 54


Smart Carving: Impresso digital
Karresand et al. propuseram o mtodo Oscar

Utiliza um modelo de centride baseado na mdia e


desvio padro de cada byte

Obteve uma acurcia de 97%

Melhorado ao incorporar uma medida do


ordenamento dos bytes utilizando a diferena absoluta
entre bytes adjacentes

Acurcia de 99% para JPEG

A. Rocha, 2012 Anlise Forense de Documentos Digitais 55


Smart Carving: Reconstruo

Visa localizar o ponto de fragmentao de um arquivo


Estudos anteriores mostraram que, em geral, os
arquivos raramente se fragmentam em mais de trs
fragmentos

A reconstruo consiste em encontrar o fragmento-


base e localizar seu ltimo bloco

A. Rocha, 2012 Anlise Forense de Documentos Digitais 56


Smart Carving: SHT-PUP

Modificao do PUP por Pal et al.


SHT: Sequential Hypotesys Testing
Cada tipo de arquivo possui uma hiptese
Blocos so anexados ao caminho at que a Hiptese
seja confirmada ou refutada

S foi implementado para imagens JPEG


A. Rocha, 2012 Anlise Forense de Documentos Digitais 57
1.Comeca com um conjunto S com k Headers (s ,s ,...,s ), referentes a k arquivos.
1 2 k

2.Encontra um conjunto T com k setores, onde t a melhor correspondncia ao s .


i i
Seleciona o t com correspondncia mais alta dentre todos.
i

i. Adiciona o t ao caminho do i-simo arquivo


i

ii.Substitui o setor corrente em S para o i-simo elemento (s = t )


i i

iii.Analiza sequencialmente os setores imediatamente depois de t at detectar


i
um ponto de fragmentacao t ou o arquivo estar completo. Consiste de um teste
f
de hiptese que executado para cada setor subsequente adicionado ao
fragmento. O teste verifica se a sequencia completa pertence ou no ao
fragmento inteiro. Se o resultado for inconclusivo o prximo setor adicionado.

iv.Substitui o setor corrente em S com t (s = t )


f i i

v.Encontra um novo conjunto T das melhores correspondencias

vi.Seleciona o elemento t com a melhor correspondencia


i

vii.Repete passo (i) at todos os arquivos estarem completos.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 58


Exemplo: SHT-PUP
A1 B1 C1 A1 B1 C1

A2 B2 C3 A2 B2 C3
(a)
B3
(b)
A1 B1 C1

A2 B2 C3

B3
(c)
A. Rocha, 2012 Anlise Forense de Documentos Digitais 59
Concluses
Concluses

Foi feita uma anlise abrangente das tcnicas existentes


para a recuperao de arquivos sem o uso de nenhuma
meta-informao do sistema de arquivos.
Uma tcnica de recuperao de arquivos de texto e
imagens foi apresentada. Esta tcnica, apesar de til,
precisa ser ampliada para incorporar recuperao de
arquivos de vdeo, udio, executveis e outros formatos.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 61


Referncias
Referncias
1. Anandabrata Pal, Husrev T. Sencar, and Nasir Memon. Detecting file fragmentation point using sequential hypothesis testing. Digital
Investigation (DIIN), 5(1):S2S13, September 2008.
2. Anandabrata Pal and Nasir Memon. The evolution of file carving the benefits and problems of forensics recovery. IEEE Signal Processing
Magazine, 26(2):5971, March 2009.
3. Pal A, Memon N. Automated reassembly of file fragmented images using greedy algorithms. IEEE Transactions on Image processing
February 2006:38593.
4. K. Shanmugasundaram and N. Memon, Automatic reassembly of document fragments via data compression, presented at the 2nd Digital
Forensics Research Workshop, Syracuse, NY, July 2002
5. A. Pal, K. Shanmugasundaram, and N. Memon, Reassembling image fragments, in Proc. ICASSP, Hong Kong, Apr. 2003, vol. 4, pp. IV732-5.
6. A. Pal and N. Memon, Automated reassembly of file fragmented images using greedy algorithms, IEEE Trans. Image Processing, vol. 15,
no. 2, pp.385 393, Feb. 2006.
7. A. Pal, T. Sencar, and N. Memon, Detecting file fragmentation point using sequential hypothesis testing, Digit. Investig., to be published.
8. M. McDaniel and M. Heydari, Content based file type detection algorithms, in Proc. 36th Annu. Hawaii Int. Conf. System Sciences
(HICSS03)Track 9, IEEE Computer Society, Washington, D.C., 2003, p. 332.1
9. K. Wang, S. Stolfo, Anomalous payload-based network intrusion detection, in Recent Advances in Intrusion Detection, ( Lecture Notes
in Computer Science), vol. 3224. New York: Springer-Verlag, 2004, pp. 203 222.
10. M. Karresand and N. Shahmehri, Oscar file type identification of binary data in disk clusters and RAM pages, in Proc . IFIP Security and
Privacy in Dynamic Environments, vol. 201, 2006, pp. 413 424.
11. M. Karresand and N. Shahmehri, File type identification of data fragments by their binary structure, in Proc. IEEE Information Assurance
Workshop, June 2006, pp. 140 147.

NOTA: os artigos de A. Pal et al. podem ser obtidos em http://digital-assembly.com/technology/

A. Rocha, 2012 Anlise Forense de Documentos Digitais 63


Obrigado!

S-ar putea să vă placă și