Anda di halaman 1dari 117

UNIVERSIDADE FEDERAL DE GOIAS - UFG CAMPUS CATALAO CURSO DE CIENCIA DA COMPUTACAO

Forense Computacional: T cnicas e Ferramentas e

Autor: Marcos Luiz de Paula Bueno Orientador: Prof. Ms. Ivan da Silva Sendin

Catal o - 2007 a

Marcos Luiz de Paula Bueno

Forense Computacional: T cnicas e Ferramentas e

Monograa apresentada ao Curso de Ci ncia da Computacao da Universidade e Federal de Goi s - Campus Catal o como a a requisito parcial para obtencao do ttulo de Bacharel em Ci ncia da Computacao. e Area de Concentracao: Seguranca da Informacao Orientador: Prof. Ms. Ivan da Silva Sendin

Catal o - 2007 a

ii

Marcos Luiz de Paula Bueno


Forense Computacional: T cnicas e Ferramentas e

Monograa apresentada e aprovada em 26 de junho de 2007, pela Banca Examinadora:

Prof. Ivan da Silva Sendin, Ms. - Presidente da Banca

Prof. Roberto Mendes Finzi Neto, Dr.

Prof. M rcio Ant nio Duarte, Ms. a o

iii

Agradecimentos
A Deus por uma exist ncia repleta de oportunidades e de pessoas maravilhosas ao meu e redor. Aos meus pais, Marcos e Celina, por todo o amor, compreens o e apoio dados desde o a incio, em especial durante a realizacao deste trabalho. Ao meu irm o, Matheus, pelo companheirismo, amizade e auxlio nos momentos nais. a Ao meu orientador, Ivan Sendin, pela orientacao prestada e pela sugest o do tema. a Ao meu pai, que por diversas vezes me auxiliou como co-orientador informal. Aos meus companheiros de banda, Ayres e Matheus, pela amizade e bons momentos que passamos. Aos colegas, professores e funcion rios da UFG, em especial aos respons veis pela biblioa a teca por sua prestatividade.

iv

` A minha famlia, em especial aos meus pais, Marcos e Celina, e aos meus queridos tios Jo o e L cia, que em a u vida foram exemplos de pessoas humanas.

Ci ncia sem consci ncia e a runa da alma e e (Cesar Lattes)

Resumo
Bueno, M. L. de P., Forense Computacional: T cnicas e Ferramentas, Departamento de e Ci ncia da Computacao, Campus Catal o, UFG, Catal o, Brasil, 2007, 116f. e a a

A popularizacao do computador e da Internet tem sido vista por indivduos mal intencio nados como mais um meio de realizar um crime. Ao mesmo tempo em que a Internet trouxe ` benefcios, talvez hoje indispens veis a nossa sociedade, os recursos que as tecnologias que a a envolvem s o um caminho relativamente f cil e atraente para criminosos. Diante disso, foi a a ` e preciso criar uma nova area cientca que pudesse ser incorporada as ci ncias da investigacao, o que culminou na criacao da forense computacional. A crescente demanda de percias executadas em meio computacional e conseq encia direta da crescente quantidade de acoes u ilegais que v m sendo executadas no mundo digital. Como em qualquer investigacao forense, e os vestgios deixados na cena de um crime podem provar algo, seja inoc ncia ou culpa, e e na forense computacional n o e diferente. O intuito e auxiliar cienticamente um processo a criminal em busca do esclarecimento e justa resolucao de um crime. Neste trabalho, a forense computacional e apresentada, e algumas de suas aplicacoes s o descritas, como a recuperacao a de dados em v rios aspectos, an lise de artefatos de Web e extracao de evid ncias ocultas, al m a a e e de discuss es a respeito do modus operandis de pr ticas periciais em computador. S o mostrao a a das algumas situacoes pr ticas de percias, exemplicadas por ferramentas e procedimentos, a incluindo, ao nal, o desenvolvimento de um prot tipo para recuperar dados na area de swap. o

Palavras-Chave: informacao, swap.

percia forense computacional, recuperacao de dados, seguranca da

vi

Abstract
Bueno, M. L. de P., Forense Computacional: T cnicas e Ferramentas, Department of Compue ter Science, Campus Catal o, UFG, Catal o, Brazil, 2007, 116f. a a

The common use of computers and the Internet brings ilegal actions by criminals who saw these resources as another way to commit a crime. Parallel to the benets the Internet brings to the world, maybe indispensable today, the technologies that were developed can be an easy and attractive way to criminals. Therefore, it was necessary to create a new academic eld of research that could be incorporated into forensic science, culminating in the creation of computer forensics. The growing demands for forensics on computers is a direct effect of the increasing amount of ilegal actions committed in the digital world. As with any forensic investigation, where footprints left in a crime scene can prove something, wheter guilty or innocence, in computer forensics it is not different. The aim is to provide scientic knowledge in a criminal process to elucidate and fairly solve a crime. In this work, computer forensics is presented with a few of its applications, like data recover in various schemes, Web artifacts analysis and extraction of hidden evidence, in addition to some discussion about the forensic modus operandis in computing. Practical situations of forensics are showed, with examples for tools and procedures, including the development of a prototype to recover data in swap space.

Keywords: computer forensics, data recover, information security, swap space.

vii

Sumrio a
Resumo Abstract Lista de Figuras Lista de Tabelas 1 Introducao 1.1 1.2 1.3 2 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi vii xi xii 13 13 14 14 15 15 16 17 19 20 22 22 23 25 26 27 29 32 33 34 35 39

Crimes de Computador 2.1 2.2 2.3 2.4 2.5 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Protecao da Informacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ataques e Vulnerabilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Necessidade de Novas Leis . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o

Forense Computacional 3.1 3.2 Ci ncia Forense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Forense Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.5 An lise post-mortem . . . . . . . . . . . . . . . . . . . . . . . . . . . a Live analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aquisicao de Evid ncias . . . . . . . . . . . . . . . . . . . . . . . . . e Autenticacao de Evid ncias . . . . . . . . . . . . . . . . . . . . . . . e An lise de Evid ncias . . . . . . . . . . . . . . . . . . . . . . . . . . a e Documentacao e Apresentacao de Resultados . . . . . . . . . . . . . .

Evid ncias Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e

Padronizacao e Entidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o viii

ix 4 Privacidade e Contramedidas 4.1 4.2 Privacidade da Informacao em An lise . . . . . . . . . . . . . . . . . . . . . . a Antiforense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 4.2.2 4.2.3 4.3 5 Exclus o Segura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Criptograa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esteganograa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 40 41 42 44 45 46 48 48 51 51 51 54 57 57 58 58 59 62 62 65 69 71 72 72 74 75 75 77 78 78 78 80 81 84 84

Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o

Forense na Web 5.1 5.2 Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hist rico e Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 5.2.1 5.2.2 5.2.3 5.2.4 5.3 Localizacao no Disco . . . . . . . . . . . . . . . . . . . . . . . . . . . Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mozilla Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M todo GET em Consultas da Web . . . . . . . . . . . . . . . . . . . e

Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o

Forense em Sistemas de Arquivos 6.1 6.2 6.3 Nveis de Abstracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conceitos de Recuperacao de Dados . . . . . . . . . . . . . . . . . . . . . . . Sistemas de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 6.3.2 6.4 6.5 FAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Busca por Evid ncias Ocultas . . . . . . . . . . . . . . . . . . . . . . . . . . e Forense em CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1 6.5.2 Acesso a M ltiplas Sess es . . . . . . . . . . . . . . . . . . . . . . . u o Recuperacao de Dados em CD-RW . . . . . . . . . . . . . . . . . . .

6.6 7

Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o

Forense no Espaco de Swap 7.1 7.2 7.3 Investigando a Mem ria Principal . . . . . . . . . . . . . . . . . . . . . . . . o O Espaco de Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . An lise do Espaco de Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 7.3.1 7.3.2 7.4 7.4.1 7.4.2 7.4.3 Particao de Swap do Linux . . . . . . . . . . . . . . . . . . . . . . . . Arquivo de Swap do Windows (Pagele) . . . . . . . . . . . . . . . . Extracao de Imagens JPEG . . . . . . . . . . . . . . . . . . . . . . . . Extracao de URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . Experimentos Realizados . . . . . . . . . . . . . . . . . . . . . . . . .

Prot tipo Desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o

x 7.5 7.6 8 Antiforense no Espaco de Swap . . . . . . . . . . . . . . . . . . . . . . . . . Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 87 88 89 90 90 95 98 98 98 99 99 99 99

Conclus es o 8.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Refer ncias Bibliogr cas e a Gloss rio a A Ferramentas Usadas em Percia Forense Computacional A.1 Uso geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 WinHex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.2 EnCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.3 Forensic Toolkit (FTK) . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.1 tcpdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.2.2 snort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 A.3 Forense na Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 A.3.1 Cookie monster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 A.3.2 Extens es do Mozilla Firefox . . . . . . . . . . . . . . . . . . . . . . 100 o A.3.3 Pasco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A.3.4 Web Historian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A.3.5 Cache View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A.4 Disco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 A.4.1 dd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 A.4.2 List Alternate Data Streams (LADS) . . . . . . . . . . . . . . . . . . . 102 A.4.3 IsoBuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.4.4 The Coroners Toolkit (TCT) . . . . . . . . . . . . . . . . . . . . . . . 103 B C digo Fonte do Prot tipo Desenvolvido o o 104

B.1 Classe Main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 B.2 Classe ArquivoSwap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 B.3 Classe ArquivoSaida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 B.4 Classe BuscadorNumeroMagico . . . . . . . . . . . . . . . . . . . . . . . . . 109 B.5 Classe ExtratorURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 B.6 Classe ExtratorJPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Indice Remissivo 114

Lista de Figuras
2.1 3.1 3.2 3.3 4.1 Fatores principais de crimes e perdas (adaptado de [Icove et al., 1995]) . . . . . Comparacao entre operacoes de c pia bit-a-bit e c pia comum de dados (adap o o tado de [Casey, 2004]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Processo de autenticacao entre fonte e c pia de dados . . . . . . . . . . . . . . o Modelo de padronizacao (adaptado de [dos Reis, 2003]) . . . . . . . . . . . . . Esteganograa - (A) Imagem original. (B) Imagem com texto escondido (adaptado de [Westphal, 2003]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 5.2 Recebimento e envio de cookies entre servidor e cliente . . . . . . . . . . . . . Excerto de um relat rio gerado pelo Web Historian no formato de planilha o eletr nica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 6.1 6.2 6.3 6.4 6.5 6.6 6.7 Nveis de abstracao do hardware a programas aplicativos (adaptado de [Carrier, 2003]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convers o de dados entre camadas de abstracao (adaptado de [Carrier, 2003]) . a Estrutura de disco com duas particoes FAT (adaptado de [Casey, 2004]) . . . . Espaco subaproveitado em um arquivo (le slack) . . . . . . . . . . . . . . . . A estrutura do sistema FAT (adaptado de [Carrier, 2005]) . . . . . . . . . . . . Trecho de um tabela FAT [Bunting and Wei, 2006] . . . . . . . . . . . . . . . A estrutura de um registro da MFT com seus pares de (cabecalho de atributo, valor) (adaptado de [Carrier, 2005]) . . . . . . . . . . . . . . . . . . . . . . . 7.1 7.2 7.3 7.4 Troca de processos entre a mem ria principal e o espaco de swap o [Silberschatz et al., 2001] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trecho inicial de uma imagem JPEG/JFIF com alguns segmentos selecionados Exemplar de gura extrada pelo prot tipo . . . . . . . . . . . . . . . . . . . . o Exemplar de gura extrada pelo prot tipo . . . . . . . . . . . . . . . . . . . . o 77 82 87 87 67 59 59 60 62 62 63 54 46 49 31 33 37 18

xi

Lista de Tabelas
3.1 3.2 Tipos de evid ncias digitais comumente encontradas em diversas situacoes . . . e Registro simplicado da cadeia de cust dia de uma evid ncia digital (disco o e rgido ou HDD) (adaptado de [Solomon et al., 2004]) . . . . . . . . . . . . . . 5.1 5.2 5.3 6.1 7.1 Campos que podem estar presentes no cabecalho de um cookie (adaptado de [Jones, 2005]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Localizacao de artefatos do Internet Explorer . . . . . . . . . . . . . . . . . . Estrutura de cache do Mozilla Firefox (adaptado de [Jones and Belani, 2005]) . Tabela de arquivos-mestre do NTFS [Tanenbaum, 2003b] . . . . . . . . . . . . Alguns segmentos que comp e uma imagem JPEG . . . . . . . . . . . . . . . o 50 52 56 67 81 36 30

xii

Cap tulo 1 Introduo ca


1.1 Contexto

A popularizacao do computador e da Internet passou a ser vista por indivduos mal inten cionados como mais um meio de realizar um crime. Ao mesmo tempo em que a Internet trouxe ` benefcios, talvez hoje indispens veis a nossa sociedade, os recursos que as tecnologias que a a envolvem s o um caminho relativamente f cil e atraente para criminosos. Diante disso, foi a a ` e preciso criar uma nova area cientca que pudesse ser incorporada as ci ncias da investigacao, o que culminou na criacao da forense computacional. Esse ramo recente do conhecimento vem ganhando cada vez mais atencoes e contribuicoes da pesquisa acad mica, especialmente da Ci ncia da Computacao. A crescente demanda de e e percias executadas em meio computacional e conseq encia direta da crescente quantidade de u acoes ilegais que v m sendo executadas no mundo digital. Um ou mais indivduos podem e conceber um crime que dependa parcialmente ou totalmente da utilizacao de um computador, especialmente quando o objetivo da acao e atacar algum sistema computacional. Torna-se, ent o, crucial o desenvolvimento e aplicacao de t cnicas de extracao, recuperacao a e e an lise de vestgios deixados em crimes digitais. Como em qualquer investigacao forense, a os vestgios de um crime podem provar algo, seja inoc ncia ou culpa. Na forense computa e cional n o e diferente; o intuito e auxiliar cienticamente um processo criminal em busca do a esclarecimento e justa resolucao de um crime. Um criminoso com pouco conhecimento t cnico pode pensar que formatando um disco e rgido estar eliminado denitivamente dados que poderiam compromet -lo. J um criminoso a e a com habilidades avancadas pode usar diversas t cnicas para eliminar vestgios de sua presenca e em um sistema invadido. Em ambos os casos, a percia deve estabelecer procedimentos para realizar a coleta de evid ncias. Para tal, deve ser analisado quais componentes do sistema come prometido devem receber maior enfoque. Claro que para recuperar com sucesso provas de um ataque realizado com habilidade, possivelmente ser necess ria uma investigacao igualmente a a

13

Objetivos

14

habilidosa. O ponto e que as evid ncias existem; pode ser difcil realizar a sua coleta, mas elas e existem. No decorrer deste trabalho ser o mostradas algumas situacoes pr ticas de percia, exemplia a cadas por ferramentas e procedimentos. N o houve a intencao de esgotar nenhum dos temas a apresentados nos captulos, mesmo porque a investigacao de algum caso pode requerer a criacao de ferramentas e t cnicas novas para trat -lo com a maior eci ncia possvel. e a e

1.2

Objetivos

Apresentar metodologias e ferramentas que envolvem a percia forense computacional em alguns de seus ramos de atuacao, como forense de artefatos de navegadores de Internet, fo rense no sistema de arquivos e forense em CD-ROM. Ao nal, e implementado um prot tipo o que realiza a recuperacao de dados (imagens JPEG e URLs) no espaco de swap, objetivando compreender, na pr tica, como ocorrem os processos de recuperacao de dados, dando enfase a a essa tarefa em tal area do sistema. E objetivo deste texto mostrar, tamb m, aspectos desej veis e a ` da conduta pericial e barreiras impostas por atacantes, o que inclui quest es relacionadas a o privacidade dos dados em an lise e t cnicas antiforenses. a e

1.3

Estrutura do Trabalho

Este trabalho est dividido em oito captulos. O Captulo 2 traca um breve panorama de a crimes digitais, a import ncia da protecao da informacao, alguns tipos de ataques e n meros a u referentes a perdas nanceiras. O Captulo 3 caracteriza a forense computacional em alguns de seus aspectos, incluindo tipos de an lise, caracterizacao e exemplicacao de evid ncias digia e tais, al m de uma discuss o sobre padronizacao na percia forense. No Captulo 4, s o discue a a tidas quest es ligadas a polticas de privacidade que devem ser levadas em conta durante uma o investigacao forense, e s o apresentadas algumas contramedidas usadas por atacantes para in a viabilizar ou dicultar uma percia forense. O Captulo 5 faz uma investigacao a respeito de artefatos de navegadores de Internet, como cookies, hist rico e cache, mostrando, dentre ouo tros, onde esses itens podem ser encontrados e como essa informacao pode ser extrada com eci ncia. No Captulo 6, s o discutidos alguns dos muitos aspectos que devem ser levados e a em conta durante a recuperacao de dados, busca por informacao oculta e an lise de CD-ROM. a No Captulo, 7 e apresentado o prot tipo desenvolvido, s o exibidos resultados experimentais, o a e exemplos de investigacao na mem ria principal e na area de swap. Por m, no Captulo 8 o s o apresentadas as conclus es deste trabalho e sugest es para trabalhos futuros. Adicionala o o mente, uma listagem de ferramentas usadas em percia forense computacional e o c digo fonte o do prot tipo desenvolvido podem ser encontrados nos Ap ndices A e B, respectivamente. o e

Cap tulo 2 Crimes de Computador


O presente Captulo aborda a relacao entre evolucao e depend ncia da inform tica no mundo e a em que vivemos, e o surgimento de uma vasta quantidade de crimes praticados por meio de um computador. Alguns n meros relativos a perdas nanceiras provocadas pelo crime digital s o u a apresentados, aspectos de leis inform ticas, vulnerabilidades exploradas pelos atacantes e uma a discuss o a respeito da import ncia dos dados em um sistema computacional. Esses itens s o a a a a motivacao central para o surgimento da forense computacional, o tema deste trabalho.

2.1

Introduo ca

Desde o surgimento de computadores digitais, h mais de meio s culo, o quesito seguranca a e tem sempre tomado um importante papel. Com o aparecimento da Internet (e suas predecessoras) nos anos 70 [Tanenbaum, 2003a], a seguranca tornou-se gradativamente um aspecto de relativa import ncia, por motivo do expressivo aumento da comunicacao com outros sistemas a computacionais, o que viabilizou redes computacionais de todo o porte. A partir do momento em que computadores passaram a ser usados n o apenas por uma mia noria seleta, geralmente aqueles envolvidos no pr prio desenvolvimento da computacao, como o centros de pesquisa e universidades, passando a ser utilizados por grande e crescente n mero u de pessoas no mundo, indivduos mal intencionados passaram a ver computadores como ferra menta ou alvo de acoes ilegais. O estudo de crimes de computador (cybercrimes) torna-se cada dia mais necess rio devido a ` as crescentes proporcoes que v m tomando na sociedade atual. Junto a esse aumento do n mero e u de crimes digitais praticados, vem o aumento do poder de destruicao que esses crimes provocam em organizacoes de toda sorte, causando prejuzos nanceiros e sociais como um todo. Ag ncias de seguranca (Polcias, FBI, delegacias especializadas) n o medem esforcos no e a combate a esses tipos de crimes, o que exige alta qualicacao t cnica e moderno treinamento de e pessoal envolvido nessas acoes. Exige, ainda, a atualizacao da legislacao vigente, para que os

15

Proteao da Informao c ca

16

cybercrimes sejam reconhecidos expliciamente em leis especcas. Dessa forma, esses crimes podem ser prevenidos e combatidos com mais eci ncia, e suas penas determinadas. e Adentrando ao universo mais especco dos crimes de computador, e possvel realizar uma distincao b sica entre duas modalidades de crimes digitais: a Computador como alvo - e o cen rio onde um computador e, de fato, o alvo de um ataque a cometido, buscando comprometer ou destruir dados de um sistema. Isso pode gurar-se por meio de roubo de n meros de cart o de cr dito, adulteracao de dados de instituicoes u a e governamentais, acesso n o autorizado, dentre outros. a Computador como repositrio - como segundo cen rio, tem-se um computador que n o o a a e visto como alvo de um ataque, mas sim como reposit rio dados ilegais, o que pode o incluir softwares ilegais, informacoes roubadas, documentos de planejamento de grupos terroristas, imagens de pedolia etc. A investigacao legal feita no meio computacional e executada pela forense computacional, uma sub rea da ci ncia forense. Brevemente descrita, a forense computacional diz respeito a a e t cnicas de coleta e an lise de dados computacionais, envolvendo fases como identicacao, e a preservacao, extracao, documentacao e interpretacao desses dados a m de determinar po tenciais evid ncias digitais [Solomon et al., 2004]. Analogamente a evid ncias de uma cena e e tradicional de crime, qualquer informacao computacional considerada importante coletada na cenadigital - vestgios - pode tornar-se uma evid ncia digital. Portanto, evid ncias digitais e e s o quaisquer indcios deixados por um criminoso ou atacante em um computador. a

2.2

Proteo da Informao ca ca

Um importante ponto a considerar no estudo de crimes de computador e a vis o que a sociea dade tem a respeito dos criminosos cibern ticos. De fato, o que ocorre e que a sociedade n o v e a e os criminosos do meio digital da mesma forma como outros criminosos (os comuns) s o visa tos. Muitas vezes hackers s o idolatrados pela sua ast cia e habilidade em romper, por exemplo, a u a seguranca governamental ou de instituicoes nanceiras, causando-lhes danos. As pessoas es quecem que s o delitos como outros quaisquer; a diferenca est apenas na forma como tal delito a a foi consumado [Stephenson, 2000]. Quando pegos, os criminosos cibern ticos freq entemente e u recebem penas brandas, quando n o cam sem punicao. Isso ocorre por diversos fatores como, a por exemplo, criminosos menores de idade n o costumarem ser levados a s rio. a e ` A protecao da informacao e o objetivo primordial de areas relacionadas a seguranca da informacao na computacao. Proteger dados computacionais signica assegur -los de destruicao a e comprometimento. O alvo dos ataques proferidos s o os dados armazenados, processados e a transmitidos por um sistema computacional, e n o a constituicao fsicado sistema em si; o a

Ataques e Vulnerabilidades

17

computador e apenas o meio [Stephenson, 2000]. Salvo raras excess es, vrus de computador o s o criados para destruir dados, e n o os componentes fsicos do sistema que os armazenam. a a Segundo [Stephenson, 2000], menos de 1% dos autores de delitos digitais s o pegos, proa cessados e condenados. Um fator contribuinte para esse baixo ndice foi o surgimento dos chamados intrusos pagos(denominacao do mesmo autor) - prossionais do crime especializa dos, contratados para executar delitos a servico de terceiros. E possvel at mesmo estabelecer e uma comparacao aos conhecidos hitmen - homens contratados a servico do crime, presentes na ccao e na realidade. Ou seja, a vis o que se tinha at poucos anos de que os invasores eram, a e em sua maioria, adolescentes desocupados que cavam madrugadas a o tentando quebrar a seguranca de um sistema mudou. Outro ponto que se deve ter consci ncia e que as ferramentas de hackers, livremente ene contradas para download na Internet, geralmente n o s o as ferramentas usadas pelos hackers a a para causar todo o estrago que e noticiado. As ferramentas (toolkits) realmente poderosas s o a mantidas restritas aos hackers que as desenvolvem e usam, deixando iniciantes mal intencionados com a ilus o de que ir o conseguir realizar os feitios dos hackers com as ferramentas a a facilmente encontradas na Internet. Essa precaucao vale, tamb m, para os investigadores, pois e devem ter em mente que n o basta conhecer esses kits de ferramentas para prever todas as acoes a de criminosos cibern ticos. e

2.3

Ataques e Vulnerabilidades

Organizacoes p blicas e privadas s o, constantemente, alvo de ataques de todo tipo, onde u a criminosos buscam praticar atos ilcitos sobre sistemas computacionais. Um levantamento re alizado por [Icove et al., 1995] indica que, informalmente, contabiliza-se que as perdas nanceiras devido a, principalmente, roubos e perdas, atingem a faixa de bilh es de d lares. Por o o outro lado, nesse mesmo levantamento, foi mostrado que esses ataques s o praticados n o apea a nas por pessoas de fora da organizacao, mas tamb m pelos pr prios funcion rios da empresa, e o a como ilustra a Figura 2.1. Muitas vezes empregados demitidos promovem ataques aos sistemas computacionais da empresa onde trabalhava como forma de vinganca, por exemplo. Como foi mencionado, o alvo central de ataques s o os dados armazenados em um sistema. a No entanto, h outros pontos vulner veis que devem ser mencionados em um contexto de crime a a digital. Por exemplo, vulnerabilidades de hardware e software podem incluir atos ilcitos como roubo e destruicao de itens de hardware (mdias de armazenamento, placas de vdeo etc.), e roubo de software propriet rio. Geralmente esses tipos de crimes (ataques) n o s o enquadraa a a dos, juridicamente, em uma legislacao especca sobre crimes de computador, caso exista (isso porque nem todos pases a possuem). Esses crimes s o enquadrados na violacao da integridade a do patrim nio, pois o autor do crime n o fez o uso direto da tecnologia da informacao nem da o a

Ataques e Vulnerabilidades

18

Figura 2.1: Fatores principais de crimes e perdas (adaptado de [Icove et al., 1995]) comunicacao computacional para praticar o ato ilcito [da Silva Rodrigues and Caricatti, 2004]. Apesar disso, s o as vulnerabilidades nos dados que indicam o tipo de preocupacao prina cipal, especialmente atualmente, devido ao nvel de digitalizacao de informacoes presenciado. Uma vez que hardware e software podem, na maioria das vezes, serem substitudos, isso n o a ocorre com dados, que reetem toda a producao particular de um dado sistema. Em virtude disso, o ataque aos dados de um sistema representa elevado risco, que muitas das vezes envolve informacoes sigilosas (e.g., segredos de neg cio, informacoes secretas de ag ncias governa o e mentais etc.) e quantias de dinheiro elevadas. Com o uso crescente e depend ncia da Internet por um n mero consider vel de pessoas, e u a ` ataques a dist ncia tornaram-se uma opcao atraente para criminosos explorarem brechas de a seguranca em sistemas remotos, permitindo-lhes realizar atos como invas es, adulteracao, c pia o o n o-autorizada e corrupcao de dados. Sendo a rede em que se encontra conectado um ou mais a sistemas residenciais ou empresariais o alvo constante de ameacas remotas, devem ser estabe lecidas polticas de seguranca e eventuais times de resposta a incidentes de seguranca (espe cialmente em contextos organizacionais) para estabelecer um nvel adequado de seguranca da informacao. No contexto de crimes digitais, o uso de computadores para realizar atividades ilegais sem, ` no entanto, referir-se a violacao de um sistema ou partes dele, e denominada por alguns au ` tores de automacao criminal. Este termo diz respeito a circulacao e processamento de dados ilegais em sistemas computacionais como, por exemplo, pedolia, troca de informacoes ile gais via correio eletr nico, publicacao de informacoes fraudulentas em grupos de notcias etc. o [Icove et al., 1995]. A automacao criminal geralmente n o se refere a nenhum tipo de ataque a exercido a algum sistema computacional, e sim a automatizacao de tarefas como transmiss o a e armazenamento de informacoes ilegais, antes mantidas em meios como papel e fotograas comuns. Os ataques praticados via Internet atualmente s o t o numerosos, que passaram a gurar, a a

A Necessidade de Novas Leis

19

dentre outros prejuzos, uma ameaca grave ao pr prio com rcio (neste caso, eletr nico) de uma o e o nacao, visto que, atualmente, h uma grande deped ncia de servicos fornecidos pela Internet a e (e.g., WWW, e-mail etc.). N o se trata de ataques espor dicos a um ou outro sistema ou usu rio, a a a nem tampouco vandalismo, mas sim de uma forma de crime organizado [Rodrigues, 2006]. Nesse contexto, o alvo principal dos criminosos e obter dados pessoais e condenciais como cart es de cr dito e senhas de contas banc rias, utilizando de variadas formas (ataques) para tal. o e a Um dos servicos de Internet provido por instituicoes nanceiras mais visados pelos atacan tes e o Internet Banking. A cada dia, criminosos desenvolvem novos mecanismos para que o processo de obtencao de dados pessoais de usu rios seja feito sem que a vtima suspeite de a que est sendo roubada. [Lau and Sanchez, 2006] apresenta uma descricao breve de algumas a t cnicas utilizadas para esses ns e por qual meio se d o: e a Ataque de scam - usa o correio eletr nico. o Ataque de phishing - usa p ginas falsas da web. a Ataque de pharming - explora vulnerabilidades no DNS. Ataques de scam, phishing e pharming geralmente utilizam marcas e nomes forjados de organizacoes bem conhecidas do p blico geral (e.g., sites de com rcio eletr nico, receita u e o federal, instituicoes nanceiras etc.), a m de evitar que o usu rio visado n o suspeite da a a iscautilizada, ou seja, do meio utilizado para praticar o crime, seja uma mensagem de email ou uma p gina da web fraudulenta. a Para aumentar a prevencao e combate aos crimes de computador, os diversos ataques promo vidos no meio digital exigem a criacao de leis especcas para tratar do assunto. N o obstante, a algumas leis j existentes podem ser adaptadas ao delito digital, tomando por base a similaria dade entre o crime digital e algum crime j anteriormente descrito [Carpanez, 2006]. Por m, a e a criacao de leis especcas aumenta a eci ncia das punicoes, determinando, agora explicita e mente, como atos ilcitos s o descritos e suas devidas punicoes. a

2.4

A Necessidade de Novas Leis

Com o surgimento de uma imensa variedade de crimes de computador, surge, tamb m, e a necessidade de atualizacao da legislacao vigente, tanto no Brasil como no exterior. Pases europeus e os Estados Unidos da Am rica j possuem diversos mecanismos legais para tratar, e a juridicamente, do tema (em [Icove et al., 1995], e possvel encontrar o texto completo de leis, nos Estados Unidos, a respeito de crimes de computador). Quando se trata das leis concernentes a crimes digitais, deve-se ter em mente tr s possibie lidades: a criacao de novas leis, alteracao de leis j existentes e, por m, a aplicacao de leis a

Concluses o

20

j existentes nos delitos digitais. No Brasil, ocorre principalmente a aplicacao de leis j exisa a tentes (por similaridade, por exemplo), o que n o deixa a maioria dos criminosos sem a devida a punicao [Carpanez, 2006]. A aprovacao de Projetos de Lei sobre crimes digitais1 e modicacao de leis vigentes2 visa aumentar o escopo e, consequentemente, a eci ncia da legislacao em crimes inform ticos. e a Para [de Almeida, 2006], p.1, Uma vez tal projeto de lei seja aprovado em car ter nal, n o a a mais persistir a falta de tipos penais especcos para o enquadramento de condutas delituosas a (o que tem inibido, por exemplo, a repress o da difus o de vrus), bem como deixar de haver a a a margem para d vidas sobre o cabimento (especialmente em relacao a invas es e a phishing) da u o aplicacao de tipos tradicionais como o furto e o estelionato. H uma preocupacao consider vel, por parte dos sites de com rcio eletr nico, em relacao a a e o ` a seguranca dos seus clientes que acabam por n o comprar o produto ou preferir uma loja tra a dicional (ofine). Segundo [InfoGuerra, 2004], p.2, a acao dos piratas cibern ticos prejudica e o crescimento do com rcio eletr nico no Pas em decorr ncia da inseguranca do cidad o em e o e a realizar transacoes comerciais pela Internet. Crimes de sabotagem, falsidade e fraude especi camente ligados ao ambiente inform tico, ainda n o s o previstos na legislacao vigente (...), a a a foram includos no PL [projeto de lei]. Por mais que Projetos de Lei e emendas sejam propostos, a casa de leis no Brasil, isto e, o Senado e a C mara Federal, est o em descompasso com n mero crescente de delitos digitais. a a u Uma quest o que diculta a aprovacao de Projetos de Lei e a falta de conhecimento t cnico a e ` que as vezes ocorre quando tais projetos s o redigidos, o que acaba levando a um impasse entre a meio poltico e acad mico, gerando mais demora na aprovacao de tais leis. e

2.5

Concluses o

Neste captulo, foram descritas brevemente algumas constatacoes e descricoes de crimes digitais, os quais atingiram n mero consider vel na sociedade atual, requerendo solucoes u a para preveni-los e combat -los. Tamb m foram exibidos e comentados alguns aspectos dessa e e quest o, como: contextualizacao dos crimes digitais, seguranca da informacao, mudancas na a legislacao, treinamento e qualicacao de pessoal nas empresas e nas ag ncias de combate ao e crime, dentre outros. Alguns dos ataques descritos mostraram apenas uma faixa da enorme variedade encontrada no mundo computacional. Isso se aplica especialmente no atual cen rio mundial, onde a Internet a e um veculo razoavelmente popular de envio e recebimento de informacoes entre pessoas e organizacoes, sendo utilizada como meio de ataques de todo tipo. O objetivo e atestar que o
1

Exemplos: Projeto de Lei da Cmara no 89, de 2003, Projetos de Lei do Senado no 137, de 2000 e a

no 76, de 2000 [Comisso de Educao, 2006] a ca 2 Exemplo: Estatuto da Criana e do Adolescente c

Concluses o

21

criminoso procura pelas mais diversas maneiras de conseguir seu ataque, seja por meio de uma rede de computadores, como a Internet, ou n o. a N o obstante, no meio digital, ataques sejam quais forem deixam evid ncias digitas, que a e podem ser coletadas pelo investigador para avaliar o fato ocorrido. No pr ximo captulo, ser o o a examinados conceitos e processos a respeito de evid ncias digitais e de forense computacional e mais a fundo, que e a ci ncia utilizada para realizar a investigacao de casos envolvendo artefatos e computacionais.

Cap tulo 3 Forense Computacional


` No presente Captulo, s o apresentadas algumas caractersticas pertinentes a forense com a putacional, mostrando sua relacao com a ci ncia forense. A seguir, e feita uma descricao de e diversas caractersticas e procedimentos envolvendo evid ncias digitais durante um processo de e an lise forense. Por m, algumas entidades empenhadas na padronizacao forense e na resposta a a incidentes, no Brasil e no exterior, s o apresentadas de maneira breve. a

3.1

Cincia Forense e

Desde tempos remotos, as principais ferramentas usadas na investigacao forense foram a observacao e interpretacao de evid ncias fsicas presentes na cena do crime. Foi a partir da e segunda metade do s culo XIX que a ci ncia foi primeiramente empregada para auxiliar o e e avanco de investigacoes legais [Eckert, 1997]. Com o emprego da ci ncia na resolucao de e ` crimes, foi possvel as autoridades legais estabelecer maior validade nos resultados de uma investigacao forense. a Em decorr ncia disso, foram necess rias diversas mudancas na estrutura dos org os polie a ciais. Foram criados departamentos empenhados no processamento de materiais coletados em cenas de crimes. No entanto, nesse primeiro momento era necess rio que a an lise dessas a a evid ncias fosse feita por departamentos acad micos, como Farmacologia e Qumica. e e Outra mudanca na organizacao policial foi a forma como os indivduos suspeitos de um crime eram identicados. A princpio, a identicacao era realizada visualmente por oci ais da lei que tinham um bom conhecimentode criminosos e suas gangues que agiam na regi o. A partir do momento em que o crescimento populacional intensicou-se, e paralelaa mente o aumento do n mero de crimes ocorria, surgiu a necessidade de adotar outros m todos u e de identicacao. Inicialmente, foi usado o m todo de identicacao de Bertillon, que consistia em realizar e medicoes antropol gicas com auxlio de documentacao fotogr ca [Eckert, 1997]. No entanto, o a esse m todo foi substitudo pelas impress es digitais, um m todo de identicacao bem mais e o e 22

Forense Computacional

23

preciso. O uso de impress es digitais para ns de identicacao requereu maior responsabilidade o no tratamento de evid ncias fsicas deixadas na cena do crime. e A ci ncia forense e um vasto campo do conhecimento que emprega diversas areas para anae lisar vestgios de um crime, como a Medicina, Engenharia, Psicologia, Biologia, Computacao etc. Um outro ramo bastante solicitado e a vericacao da autenticidade de documentos em ca sos onde h suspeita de documentos forjados. As percias procuram detectar diversos tipos de a fraudes, em documentos como pap is do governo, formul rios, cheques, dinheiro e cart es de e a o cr dito. Para isso, e necess rio examinar letra de m o, papel, impress o, ou qualquer forma de e a a a escrita ou impress o que possa ter sido usada no caso. a

3.2

Forense Computacional

A forense computacional e a disciplina da Criminalstica empenhada no estudo de vestgios extrados de computadores digitais, a m de resolver de forma justa um crime de computador. Segundo [de Geus et al., 2001], ela e a ci ncia que estuda a aquisicao, preservacao, recuperacao e e an lise de dados que est o em formato eletr nico e armazenados em algum tipo de mdia a a o computacional. Sendo a forense computacional uma sub rea da Ci ncia Forense, ela busca a e dar suporte e expandir as pr ticas periciais forenses no contexto da apuracao de um crime de a computador. E comum haver duas situacoes para designar o objetivo de um exame forense: resolver um crime digital ou um incidente de seguranca1 [dos Reis and de Geus, 2002]. Na resolucao de um ` crime digital, a forense busca ater-se a quest es legais quanto as evid ncias, procurando por o e provas que possam ser utilizadas em um processo criminal. J um incidente de seguranca gea ralmente est relacionado a contextos organizacionais, onde o objetivo principal de uma an lise a a forense e entender o incidente ocorrido, buscando suas causas, a m de evitar que o fato venha a ocorrer novamente. Mas onde entra a necessidade atual t o forte para a forense computacional? a Com a popularizacao da Internet que vem ocorrendo, tornando-se um verdadeiro veculo de comunicacao em massa h pelo menos uma d cada, a digitalizacao de artefatos do mundo a e tornou-se massiva, tamb m. Isso signica que, atualmente, a vasta maioria de documentos e e armazenada em meio eletr nico [Vacca, 2002]. Assim, e possvel tirar duas conclus es: prio o meira, a investigacao legal migrou em parte para o meio digital, e segunda, sabendo-se que forense computacional necessita e faz uso de documentos no decorrer de suas pr ticas, e nea cess rio que o manuseio de documentos em uma investigacao criminal seja adequado e o mais a completo possvel.
1

Em l ngua inglesa, comum empregar os termos law enforcement e corporate investigations para e

referenciar esses dois pontos de vista de uma anlise forense. a

Forense Computacional

24

Assim como a percia forense tradicional tem como material de trabalho as evid ncias e fsicas (arcada dent ria, os de cabelo etc.), a percia forense computacional trabalha com a evid ncias tamb m, por m denominadas no seu contexto de evid ncias digitais. Entretanto, as e e e e evid ncias digitais requerem um tratamento especial, uma vez apresentam maiores diculdades e de manipulacao. Pela sua pr pria natureza, dados s o, em termos gerais, muito vol teis, f ceis o a a a de serem modicados e apagados, o que requer maior cuidado na preservacao de evid ncias e [Vacca, 2002]. Por outro lado, evid ncias digitais s o f ceis de seres duplicadas com exatid o e a a a [dos Reis, 2003]. Por conseguinte, a validade de evid ncias digitais apresentadas num caso judicial pode ser e contestada devido a, por exemplo, processamento inadequado ou adulteracao de evid ncias. e Mesmo tomando os cuidados nas variadas tarefas executadas num trabalho de percia, como busca e preservacao de evid ncias, determinar a relacao entre dados e seu autor muitas vezes e pode ser difcil ou enganosa, pois n o e uma tarefa trivial. E preciso, portanto, que exista a uma documentacao adequada de acoes tomadas, o que pode ser feito estabelecendo cadeias de cust dia. o Al m de ser capaz de extrair e manusear evid ncias digitais, a forense emprega m todos de e e e an lise, l gica e o que for necess rio a interpretacao dos vestgios coletados. E nesse ponto que a o a ` ocorre uma maior conex o entre ci ncia e lei, visto que se procura reconstruir uma prov vel a e a seq encia de fatos que levaram ao cometimento do crime. u Um exemplo cl ssico e o uso da recuperacao de arquivos apagados propositadamente para a esconder informacoes da polcia. Por meio de conhecimentos da estrutura de dispositivos de ar mazenamento e do modelo de sistema de arquivos em uso, e possvel usar t cnicas e ferramentas e para recuperar dados. No entanto, nesse caso a forense computacional n o se limita apenas a a recuperar dados apagados; ela vai muito al m disso, interpretando as informacoes que foram e ` rec m descobertas (recuperadas), correlacionando-as as pessoas envolvidas na investigacao em e quest o. a De modo an logo a outros ramos da Ci ncia Forense, na forense computacional tamb m a e e s o empregadas uma variedade de ferramentas para auxiliar o trabalho de percia. Por isso, a o uso e selecao de ferramentas deve ser feito com prud ncia, para que um trabalho preciso e possa ser feito. No entanto, o investigador deve ter consci ncia da possibilidade de as ferrae mentas produzirem erros, especialmente se s o ferramentas comerciais fechadas, cuja estrutura a e implementacao geralmente n o est o disponveis para estudo e averiguacao. a a Por essas raz es, e interessante que as ferramentas sejam vistas como um elemento de o automatizacao de tarefas. O investigador deve conhecer o maior nvel de detalhes possvel dos procedimentos realizados por suas ferramentas. Deve ser capaz, tamb m, de eventualmente ree alizar as mesmas tarefas realizadas por elas, s que manualmente, devido a situacoes peculiares o n o suportadas pelas ferramentas, por exemplo. a Um diferencial da forense computacional em relacao as outras disciplinas forenses e a ne `

Forense Computacional

25

cessidade, por parte do corpo investigativo, de ter conhecimentos profundos de hardware e software de computador. Isso evita invalidar acidentalmente, ou at mesmo destruir, evid ncias e e digitais, buscando proteg -las para an lises futuras [Solomon et al., 2004]. Desse modo, a foe a rense computacional deve procurar aplicar t cnicas de praticamente qualquer ramo da Ci ncia e e da Computacao (Redes de Computadores, Sistemas Operacionais, Seguranca e Auditoria de Sistemas etc.) para toda diversidade de investigacao cientca computacional. Isso inclui o desenvolvimento de novos conhecimentos e tecnologias quando necess rio, o que pode ocorrer a em casos complexos e desaadores. Tradicionalmente, a maneira como e realizada uma an lise forense e sua relacao com o a sistema investigado e classicada em duas formas: an lise post-mortem, onde s o coletados a a dados com o sistema nativo desligado, ou live analysis, na qual a coleta de dados e feita com o sistema nativo ligado. Em um processo de investigacao forense pode ser necess rio o emprego a dessas duas formas de an lise, o que depende do caso. a Em um primeiro momento, pode-se efetuar a coleta de dados vol teis com o sistema ligado a (live analysis) para, em seguida, deslig -lo e replicar as mdias de armazenamento ou partes a especcas dos dados para an lise futura (an lise post-mortem). Por m, todo esse material a a coletado pode ser examinado em um sistema seguro usado pela investigacao forense.

3.2.1

Anlise post-mortem a

` a E tamb m conhecida por dead analysis e an lise ofine, e diz respeito a an lise forense e a executada quando o sistema investigado, onde est o as evid ncias, est desligado. Uma an lise a e a a post-mortem geralmente e referida por alguns autores na literatura forense por an lise forense a tradicional, visto que era o processo mais empregado para realizar uma investigacao computa cional em uma epoca onde a Internet n o era popular como hoje em dia. No entanto, atualmente a a coleta de evid ncias com o sistema vtima ligado (live analysis) passou a ser bastante empree gada, levando esse termo ao desuso. Em geral, o primeiro passo tomado e realizar r plicas2 das partes relevantes do sistema para e investigacao. Geralmente s o feitas duas ou mais imagens, deixando uma delas preservada a assim como o original. Essa c pia prim ria criada para que n o seja necess rio acessar o a e a a a todo momento o material original para obter novas c pias (caso necess rio), visando maior o a seguranca. Por meio da c pia prim ria, novas c pias podem, ent o, ser feitas. o a o a A ttulo de ilustracao, considere o seguinte exemplo de an lise post-mortem: um suspeito a teria supostamente excludo arquivos que o comprometeriam e desligou o computador. O pri meiro procedimento e documentar todo o material que ser analisado, tomando o cuidado de a n o destruir ou modicar os dados (evid ncias) contidos nas mdias. Informacoes como gea e
2

Em forense computacional, uma rplica de uma parte ou de toda a m e dia em anlise comumente a e

denominada de imagem ou mirror copy.

Forense Computacional

26

ometria do disco rgido, vers o da BIOS, e outras que forem julgadas pertinentes podem ser a documentas em um primeiro relat rio, a m de descrever a fonte de evid ncias. A seguir, deveo e se instalar a mdia de armazenamento em um sistema seguro para ns de r plica dos dados que e ` interessam a investigacao (neste caso, para efetuar a recuperacao de dados). R plica e original e s o autenticados para manter a integridade da prova. a Finalmente, o perito poder processar a r plica de disco obtida, extraindo, recuperando, anaa e lisando etc. informacoes em seu sistema operacional na estacao forense, utilizando as ferramen tas e t cnicas que lhe permitam executar a tarefa com maior sucesso possvel. Um ponto impore tante e que o investigador deve evitar ligar o sistema comprometido nesse primeiro momento, pois os dados do sistema podem ser sobrescritos com essa operacao, destruindo evid ncias que e poderiam ser facilmente coletadas.

3.2.2

Live analysis

Tamb m conhecida por an lise online, nesse m todo de an lise a busca e manipulacao de e a e a evid ncias s o realizadas com o sistema nativo em execucao. Essa modalidade de exame forense e a apresenta inerentes diculdades, como a diculdade em n o alterar o estado do sistema durante a a coleta de informacoes e a alteracao das pr prias evid ncias. o e Apesar das diculdades, a live analysis e o m todo requerido em algumas situacoes de e percia digital. Isto porque o desligamento do sistema nativo eliminaria grande parte de evid ncias vol teis. Por exemplo, ao analisar um ataque de rede, muitas vezes e util anae a lisar as conex es de rede atuais, capturar o tr fego que passa pela m quina invadida, e coo a a piar os arquivos de log enquanto o intruso n o os eliminou. Al m dessas, h tamb m outras a e a e informacoes vol teis que podem ser capturadas em uma live analysis [Bunting and Wei, 2006, a de Souza Oliveira, 2002, dos Reis and de Geus, 2002]: Estado de processos - e importante vericar quais processos est o em execucao no sistema a vtima, observando quais s o do sistema e quais n o o s o, para uma ltragem b sica. a a a a O conhecimento de funcoes de alguns processos do sistema e importante, pois podem mostrar atividades suspeitas, como consulta de logs e mudanca de polticas de seguranca. E mais, podem haver processos executando atividades ilegais ou processos prontos para eliminar evid ncias assim que constatada a presenca do investigador, por exemplo. e Conexes de rede - o uso de ferramentas para captura e an lise de tr fego de rede (e.g., o a a tcpdump no Linux) pode mostrar tr fego suspeito, como enderecos IP falsos, mensagens a ` ICMP falsas etc. a medida em que o tr fego e recebido. Outra abordagem e capturar a tr fego primeiramente e analis -lo depois usando, por exemplo, sistemas de deteccao de a a intrusos como o snort, que coletam tr fego de rede por meio de regras estabelecidas. a

Evidncias Digitais e

27

Registro do Windows - sendo o registro do Windows um grande banco de dados de conguracoes de softwares instalados e do sistema operacional, e possvel que sejam encontrados rastros de softwares maliciosos usados durante um ataque. Mesmo estando desinstalados, e comum haver resqucios de informacoes desses programas, como, por exemplo, prefer ncias pessoais. e Outro caso seria a c pia do conte do da mem ria principal de um sistema comprometido o u o ligado. Um problema imediato que surge e a quest o da volatilidade desse dispositivo. A leitura a da mem ria para ns forenses possivelmente teria de ser feita em um ambiente controlado o de hardware para evitar exclus o acidental do seu conte do. Esse procedimento e necess rio a u a pois a simples instalacao da mem ria para uso normal em um sistema operacional como Linux o ou Windows j iria armazenar novas informacoes nela, possivelmente sobrescrevendo outras a anteriores que poderiam ser uteis para uma investigacao. Para evitar maiores problemas durante uma live analysis, algumas t cnicas especiais s o e a requeridas, como execucao diferenciada e cautelosa de ferramentas de coleta de dados. Para evitar contaminar as pr prias ferramentas forenses com bibliotecas din micas do sistemas ino a fectadas pelo intruso, as ferramentas devem evitar o uso dessas bibliotecas. Isso requer que sejam compiladas estaticamente. Essa poltica de seguranca tamb m evita carregar outras eventuais bibliotecas din micas e a do sistema caso fosse necess rio us -las, visto que n o estariam carregadas na mem ria. Evia a a o tando carreg -las, diminui-se o efeito das acoes de coleta de evid ncias resultando em menos a e dist rbios no sistema comprometido. u

3.3

Evidncias Digitais e

Nenhum crime e cometido sem deixar vestgios; qualquer acao que um criminoso tenha realizado no sistema comprometido deixa algum vestgio. Existe um princpio largamente utili zado na Ci ncia Forense, conhecido como Princpio da Troca de Locard3 , que pode ser aplicado e aqui: quando duas coisas entram em contato no local do crime, h uma troca de materiais entre a eles [Eckert, 1997]. Ou seja, o criminoso sempre deixa algo seu no local do crime e leva algo consigo quando deixa o local. Adaptando esse princpio ao mundo computacional, quando um criminoso estabelece con tato com o sistema invadido, seja copiando ou adulterando dados, as acoes executadas por ele deixam rastros no sistema vtima. Embora dados computacionais tendam a ser bastante vol teis, a isso n o quer dizer que os rastros deixados por um criminoso com avancadas habilidades n o a a
3

Esse princ pio foi estabelecido por Edmond Locard, um cientista francs que viveu nos sculos XIX e e

e XX. Locard considerado um dos primeiros, seno o primeiro, criminalistas devido aos seus estudos e a realizados em Cincia Forense [Eckert, 1997]. e

Evidncias Digitais e

28

existam; essas evid ncias podem ser razoavelmente difceis de serem coletados, mas elas exise tem [dos Reis, 2003]. A coleta depende da habilidade do investigador no caso em particular. ` Um conceito de evid ncia digital que vem de encontro as necessidades e aplicacao da foe rense computacional e dada por [da Motta Pires, 2003], p. 102: evid ncia digital e qualquer e informacao de valor probat rio que e armazenada ou transmitida de forma digital. Assim, o quaisquer vestgios na forma de dados computacionais deixado por um criminoso, podendo gurar como indcios para sustentar ou descartar hip teses investigativas, s o considerados o a evid ncias digitais. e A evid ncia digital tem um papel central na forense computacional, pois a ela s o referidos e a processos, padr es e ferramentas em uma percia. H diversos processos que constituem o unio a verso de tarefas que podem ser executados em relacao as evid ncias digitais, como: preservacao, ` e identicacao, aquisicao, documentacao, an lise, correlacao, apresentacao etc. As evid ncias di a e gitais, ap s serem adequadamente coletadas e analisadas, podem ser apresentadas em favor do o esclarecimento da investigacao em curso de um crime. Elas tamb m s o a peca chave na criacao e a de possveis cen rios vi veis que expliquem logicamente como a seq encia de fatos do crime a a u teria ocorrido. Para realizar essas etapas de processamento de evid ncias digitais, m todos e ferramentas de e e investigacao forense tiveram de ser criados e expandidos, devido ao pr prio surgimento recente o da forense computacional. Assim como evid ncias de um crime qualquer (impress es digitais, e o por exemplo) devem ser tratadas de forma padronizada e coerente com a lei, o mesmo aplica-se ` as evid ncias digitais. e ` Logo, os m todos e ferramentas usados t m de estar disponveis a comunidade ciene e tca e legal. Os resultados de percias realizadas t m de ser passveis de reproducao e [Farmer and Venema, 2004], tanto para a resolucao de um crime quanto na apuracao de um incidente de seguranca. A capacidade de ser reproduzvel adiciona um nvel de conabilidade necess rio aos resultados de uma an lise forense. Esse e, em verdade, um objetivo central da a a padronizacao da pr tica forense. a Outra conseq encia de esforcos em estabelecer padr es para a forense e a necessidade de u o proteger as evid ncias, durante e ap s sua coleta. Fatores como documentacao inadequada, e o uso de ferramentas suspeitas e pr ticas n o con veis podem gerar d vidas nos avaliadores, a a a u que podem ser juzes, um j ri ou simplesmente os diretores e respons veis pela seguranca em u a uma organizacao qualquer. Todos esses itens que geram d vida a respeito da conabilidade u do processo como um todo t m grande chance de anular o valor das provas [de Freitas, 2006], e mesmo que a an lise tenha sido honesta. a Em Computacao e outras tecnologias emergentes, h um fator resultante da sua pr pria a o natureza inovadora: custo. Assim como o custo para adquirir resultados de DNA de vestgios difceis de serem extrados e manuseados pode ser elevado, o custo para obter evid ncias digitais e tamb m o pode. O alto custo para coletar evid ncias digitais e devido a in meros fatores, e e u

Evidncias Digitais e

29

como: os processos requeridos s o exaustivos, o sistema afetado pode n o estar disponvel para a a an lise por longo perodo de tempo, e, apesar dessas diculdades, a an lise posterior dos dados a a coletados tem de ser feita [Vacca, 2002]. N o obstante a coleta de evid ncias digitais apresentar alto custo, negligenciar os resultaa e dos que a percia digital nos fornece apresenta um custo muito maior no futuro. Recuperar-se de sucessivas falhas e muito mais caro, especialmente em organizacoes de grande porte que manipulam grandes volumes de dados sensveis. Diante disso, [Vacca, 2002] prop e duas raz es principais para a coleta de evid ncias: o o e Responsabilidade - procura estabelecer provas da culpa do criminoso, respons vel pea los danos provocados a uma ou mais vtimas, com base na apresentacao adequada de evid ncias que provem a acao criminosa. e Preveno futura - deve-se procurar entender os detalhes a respeito do ataque realizado ca como se procedeu, o que foi preciso para realiz -lo etc. -, como uma maneira pedag gica a o de aprender a evitar que o mesmo incidente ocorra novamente. Por m, n o basta obter tais conclus es e resultados e mant -los entre pequenos grupos de a o e pessoas ou para si pr prio; e preciso compartilhar com a comunidade as informacoes e resulo tados obtidos ap s o exame forense, para que outros possam beneciar-se e evitar os mesmos o ataques. Evid ncias podem ser encontradas em praticamente qualquer lugar em um sistema comproe metido, dependendo de que ataque foi realizado. Na Tabela 3.1 h alguns exemplos de ataques a e possveis evid ncias que podem ser coletadas para um exame forense. e A seguir, encontra-se uma descricao mais detalhada a respeito dos procedimentos que fo ram mencionados em relacao as evid ncias digitais (identicacao, extracao, an lise etc.). No ` e a entanto, algumas dessas etapas ser o agrupadas em um grupo maior, conforme descrito por a [da Motta Pires, 2003], p. 103104, como os tr s A da Forense Computacional: adquirir, e autenticar e analisar evid ncias. e

3.3.1

Aquisio de Evidncias ca e

Adquirir as evid ncias sem alterar ou contaminar os dados originais. A aquisicao de e evid ncias digitais requer primeiramente identic -las, isto e, saber distinguir entre dados ree a ` levantes a investigacao (vestgios) e dados que n o o s o. Para isso, e preciso saber o qu s o a a e a esses vestgios, como s o armazenados e onde est o localizados [Vacca, 2002]. a a Por exemplo, para localizar vestgios de navegacao na Web, e preciso saber o qu se deve e procurar - cache e hist rico do navegador; como esses itens s o armazenados - requer compreo a ender a sua estrutura; e, nalmente, onde est o localizados - geralmente um ou mais diret rios a o

Evidncias Digitais e

30

Evento Web site pichado

Evidncias e arquivos de logs armazenados no servidor; pginas pichadas. a

Suspeita de crime de pedo- Imagens e pginas de hipertexto armazenaa lia das em cache de navegador e em pastas pessoais. Apreenso de computadores Arquivos recuperados (textos, imagens etc.) a usados em atividades il citas que foram exclu dos intencionalmente para (terrorismo, fraudes etc.) Intruso via rede a eliminar rastros de atividades. Trfego de rede suspeito destinado ` a a mquina v a tima, capturado e analisado por ferramentas de segurana de rede (ethereal, c snort etc.); arquivos de log gerados pelo sistema operacional da mquina v a tima. Tabela 3.1: Tipos de evidncias digitais comumente encontradas em diversas situaoes e c com localizacao especca para cada navegador. Se o processo de identicacao de evid ncias e n o for realizado tendo em mente esses tr s itens, tempo e outros recursos, como dinheiro, poa e der o ser o perdidos. Por isso, n o basta apenas ter boas ferramentas; e necess rio saber onde a a a a procurar pelas evid ncias. e No entanto, pode ser necess rio observar o comportamento do sistema, a m de deteca tar possveis acoes ilegais que podem estar acontecendo. Um fato interessante e que, em um sistema qualquer, geralmente s o acessados mais ou menos os mesmos arquivos, consia derando um dado intervalo de tempo [Farmer and Venema, 2004]. Uma pesquisa conduzida por [Farmer and Venema, 2004] contabilizou percentuais de utilizacao global de arquivos de diversos servidores da Web, e vericou que cerca de 90% dos arquivos n o s o utilizados pelo a a perodo de pelo menos um m s ou mais. Dessa forma, como o sistema executa, na maioria das e vezes, os mesmos programas e acessa os mesmo dados, e natural que os rastros deixados por essas atividades sobreponham-se a si pr prios, implicando em tempo menor de perman ncia de o e eventuais rastros desses itens no sistema. Por outro lado, os rastros deixados por atividades n o usuais tendem a permanecer no sisa ` tema por mais tempo, devido a baixa periodicidade em que essa informacao e acessada ou modi cada, seja pelo sistema ou pelo usu rio. Pistas para onde focalizar a investigacao podem surgir a observando essas atividades fora de rotina. Um criminoso precisa apenas de um lugar para esconder sua informacao; o investigador deve procurar por ela em muitos [Liu and Brown, 2006]. E nesse sentido que a observacao de atividades estranhas e diferentes pode economizar tempo

Evidncias Digitais e

31

e recursos. Passada a identicacao e busca por evid ncias, o pr ximo passo e adquiri-las. A extracao e o de evid ncias da fonte de dados requer cuidados, como, por exemplo, a c pia exata dos dados e o coletados. Para realizar esse tipo de c pia, deve-se usar ferramentas que facam c pias bit-a-bit o o da mdia. Uma c pia bit-a-bit garante que toda a informacao presente na mdia ser copiada o a para a imagem, incluindo dados como espacos n o alocados, nos quais pode haver resduos de a arquivos excludos, e espacos subaproveitados (slack spaces). A necessidade de usar ferramentas de imagem bit-a-bit existe, pois nem todos programas de c pia comumente encontrados copiam, por exemplo, a parte referente aos espacos subao proveitados, os quais podem conter evid ncias importantes. Essas diferencas s o ilustradas na e a Figura 3.1. Um exemplo de ferramenta bem documentada e bastante usada no meio forense para realizar c pias bit-a-bit de qualquer porcao de dados e o dd, disponvel no Linux e em o outros sistemas.

Figura 3.1: Comparao entre operaoes de cpia bit-a-bit e cpia comum de dados ca c o o (adaptado de [Casey, 2004]). Durante a extracao de evid ncias, considere o seguinte exemplo de intrus o via rede para e a ilustrar um aspecto importante: se um intruso conseguiu acesso a um sistema, ele pode ter inserido artefatos para tentar ocultar sua presenca ou destruir eventuais evid ncias que permitissem e sua identicacao. Disso decorre o cuidado necess rio para a coleta de dados, tanto para as a acoes tomadas pelo investigador quanto para o seu kit de ferramentas, a m de evitar possvel destruicao ou corrupcao de evid ncias. e Uma vez identicadas e extradas do sistema comprometido, as evid ncias digitais devem e ser preservadas para diminuir o quanto possvel a sua alteracao desde a sua coleta. O ideal e evitar qualquer alteracao, mas nem sempre isso e possvel, especialmente quando se coleta evid ncias com o sistema nativo em execucao. Eventuais impossibilidades de colet -las sem e a alter -las devem ser documentadas [Vacca, 2002]. a ` A quest o da preservacao de evid ncias digitais pode ser comparada a preservacao de a e uma cena de crime tradicional. Assim como a regi o na qual ocorreu o crime e isolada para a proteger o local e, por conseguinte, as evid ncias fsicas, a preservacao de evid ncias digie e tais deve proteg -las de eventuais perigos que possam corromp -las ou at mesmo destru-las e e e [de Souza Oliveira, 2001].

Evidncias Digitais e

32

3.3.2

Autenticao de Evidncias ca e

` Autenticar as evid ncias coletadas de forma a comprovar que estas s o id nticas as orie a e ginais apreendidas. Na autenticacao de evid ncias, devem ser empregados m todos para de e e monstrar basicamente duas propriedades: a atividade de coleta de evid ncias n o alterou a fonte e a de dados; as evid ncias adquiridas s o is a fonte de dados. No caso da investigacao forense e a e ` no meio computacional, a preocupacao maior reside na primeira propriedade, visto que a se gunda, isto e, capacidade de replicar dados com exatid o, e feita com relativa facilidade. Nesse a ponto, entra em quest o a import ncia da documentacao dos passos tomados e a manutencao a a de cadeias de cust dia, para que as evid ncias sofram menor risco possvel. o e E comum empregar algoritmos de resumo de mensagem, como MD54 , para gerar valores unicos5 associados a uma porcao de dados, conhecidos tamb m como hashes criptogr cos e a [Casey, 2004]. Os valores de resumo s o calculados para a fonte de dados antes e depois do a processo de r plica dos dados, a m de completar a cadeia de acoes que envolvem a extracao e de uma evid ncia digital. A Figura 3.2 ilustra o processo de geracao de hashes criptogr cos. e a Primeiramente, e gerado o valor de hash criptogr co MD5 para a fonte de dados antes da a coleta. Feita a coleta de dados, e calculado novamente o valor do MD5 da fonte, checando se corresponde ao valor calculado antes da coleta ser realizada. Isso garante que a fonte de dados n o foi alterada. Feito isso, o pr ximo passo e vericar se o hash criptogr co dos dados a o a extrados corresponde ao hash criptogr co da fonte de dados. a Esse teste e especialmente interessante quando a fonte de dados est localizada em outra a m quina, em uma situacao na qual e necess rio transmitir os dados via rede, ou quando se faz a a extracao de dados de uma mdia como um CD-ROM, situacao em que e comum a presenca de c digos de deteccao e correcao de erros. No entanto, quando se trabalha com dados do disco o instalado no pr prio sistema forense, a geracao de resumos de mensagem n o tem efeito pr tico, o a a caso contr rio o pr prio processamento do sistema n o seria con vel. a o a a Uma quest o j mencionada na live analysis e o problema de ter de trabalhar com o sistema a a em execucao para realizar a coleta de evid ncias. Nessa modalidade de an lise e impossvel e a coletar todas evid ncias sem provocar o mnimo de dist rbio ao sistema, uma vez que as acoes e u do perito interagem diretamente com o estado do sistema analisado. Por exemplo, caso seja necess rio realizar um dump da mem ria principal, a simples execucao do programa que copia a o o seu conte do j causa-lhe alteracoes. Por essa raz o, o perito deve ter capacidade de prever as u a a conseq encias de suas acoes no sistema e avaliar o impacto do seu kit de ferramentas utilizado u no caso investigado. Como foi mencionado, al m da protecao da fonte de dados e da autenticacao de evid ncias e e
4 5

Para calcular valores de MD5 pode-se utilizar, por exemplo, o programa md5sum no Linux. Embora recentemente tenham sido reportadas colises geradas pelo algoritmo MD5, ele ser cono a

siderado, neste trabalho, relativamente seguro para gerao de hashes criptogrcos distintos para inca a formaes distintas. co

Evidncias Digitais e

33

Figura 3.2: Processo de autenticaao entre fonte e cpia de dados c o coletadas, e requerido, tamb m, a protecao da integridade das evid ncias durante todo o proe e cesso de an lise forense. Por isso, al m da geracao de hashes criptogr cos, e importante a e a documentar os processos de autenticacao realizados, indicando quais algoritmos foram utili zados (MD5, SHA etc.), qual implementacao, vers o etc. Esses documentos ir o servir de a a apoio quando for necess rio mostrar que as evid ncias coletadas em um caso n o sofreram a e a modicacao, acidental ou n o, em uma futura apresentacao dos resultados forenses. a

3.3.3

Anlise de Evidncias a e

Analisar as evid ncias recolhidas. A an lise de evid ncias digitais ocorre de forma e a e ` a an loga a an lise laboratorial procedida numa percia tradicional, onde s o empregados coa a nhecimentos cientcos de areas diversas, como a Qumica e a Fsica, sobre as amostras de materiais coletadas, a m de interpret -las e chegar a resultados que possam elucidar o caso. a A an lise de evid ncias procura correlacionar indcios e pessoas, tentando reconstruir a a e seq encia de fatos ocorrida. Isso signica que as evid ncias devem ser interpretadas; n o basta u e a adquiri-las corretamente. Em uma recuperacao de arquivos, por exemplo, o objetivo da forense n o e apenas recuperar informacao; ela deve tentar estabelecer ligacoes entre dono e dados. a A conex o entre ente e informacao recuperada possivelmente ir permitir obter conclus es a a a o respeito dos motivos, como se deu o fato, e tudo aquilo que est relacionado ao caso. Durante a a an lise das evid ncias recuperadas, devem ser observados diversos artefatos inerentes a elas, a e como marcas de tempo (MAC times), dono (owner), permiss es, atributos etc., relacionando o esses itens aos indivduos em avaliacao. ` Um ponto de interesse a solidez de uma investigacao e que nem sempre essas informacoes podem ser con veis, uma vez que podem ser alteradas deliberadamente pelos suspeitos. Ima

Evidncias Digitais e

34

portante tamb m conhecer eventuais falhas e defeitos presentes no projeto e implementacao e de sistemas operacionais e sistemas de arquivos, que provocam alteracoes inesperadas nessas informacoes. Um exemplo seria aberracoes ocorridas nos MAC times de arquivos no Windows, quando s o criados e copiados no sistema de arquivos NTFS em determinadas circunst ncias a a [de Souza Oliveira, 2001]. Em sntese, deve-se saber at onde se pode conar em informacoes e extradas. ` Existe uma diculdade inerente a correlacao de evid ncias ao autor da acao ilegal. Tendo e como base apenas as evid ncias coletadas e analisadas, nem sempre e garantido a relacao direta e entre o suposto autor do crime e o crime cometido. Deve-se ter em mente que, no meio digital, um criminoso pode usar diversas t cnicas de mascaramento ou disfarce de identidade ao reae lizar suas acoes (para uma descricao de t cnicas de disfarce e roubo de identidade, consulte a e refer ncia [Icove et al., 1995]). e A investigacao deve extrapolar o campo da t cnica, fazendo um levantamento a respeito e das atividades dos supostos autores no perodo em que houve o crime. Caso haja indcios de que houve roubo ou disfarce de identidade, uma boa poltica e buscar por impress es digi o taisdeixadas pelo criminoso, as quais podem provar como ele teve acesso a senhas, c digos de o acesso etc. que o permitissem passar-se por outra pessoa.

3.3.4

Documentao e Apresentao de Resultados ca ca

A formalizacao dos resultados da an lise de evid ncias e feita por meio de relat rios e a e o laudos, o que pode ser auxiliado por alguns softwares de forense, como EnCase. Algumas ag ncias de combate ao crime digital geralmente utilizam documentos padronizados para tal. e Essa padronizacao na documentacao e uma forma a mais de garantir um alto nvel de com prometimento com a seguranca das evid ncias digitais, o que e importante na apresentacao de e resultados. Pode ser necess rio apresentar as evid ncias perante diversas pessoas t cnicas e n o t cnicas a e e a e ` no tocante a forense. Um cuidado especial deve ser tomado na apresentacao de evid ncias para e leigos no assunto (j ri, juzes etc.), pois elas devem ser apresentadas de forma compatvel ao enu tendimento dessas pessoas, para que possam entender e conar na prova exibida [Vacca, 2002]. Os indivduos tecnicamente leigos n o conar o em tecnicismos que nada ou pouco entendem; a a essa estrat gia de abuso da t cnica poderia muito bem ser usada para produzir uma falsa prova. e e No entanto, se as evid ncias forem apresentadas em um formato mais humano e inteligvel a e eles, o que n o implica distorcer o signicado t cnico das evid ncias, essas pessoas poder o a e e a entend -las e julgar a apresentacao das evid ncias como con vel. e e a

Padronizao e Entidades ca

35

Cadeia de Custdia o ` A cadeia de cust dia refere-se a documentacao completa de acoes e pessoas envolvidas no o manuseio de evid ncias coletadas em um caso. Nesse documento, deve estar registrado quem e encontrou quais evid ncias, quem teve acesso a elas, que acoes foram tomadas (bem como e hor rios de acesso, que dados foram acessados etc.), quando e como foram transportadas, onde a est o localizadas atualmente etc. [de Freitas, 2004]. E uma poltica necess ria para garantir, a a a quem se est apresentando as evid ncias, que elas n o foram corrompidas ou sabotadas desde a e a a sua coleta [Vacca, 2002]. A Tabela 3.2 ilustra, de forma simplicada, o registro de acoes tomadas relativas a uma evid ncia apreendida em uma cena de crime. e ` Todas essas informacoes pertinentes a cadeia de cust dia devem ser bem documentadas para o estar em conformidade com a lei e para posterior averiguacao. Quando uma prova e apresen tada perante uma corte judicial, ser o feitos questionamentos a respeito da sua autenticidade. a Se os elos da cadeia de cust dia forem quebrados, essa falha tem grande chance de anular o o valor da prova apresentada, uma vez que ser o geradas d vidas a respeito da conabilidade dos a u procedimentos tomados para com as evid ncias coletadas. e A cadeia de cust dia e um dos itens que usualmente constam de relat rios e documentacoes o o forenses, como usados pelo FBI. Essa disciplina imposta aos procedimentos forenses, os quais relatam precisamente como acoes ser o realizadas e por quem, demonstram todo um cuidado a em documentar qualquer tipo de percia e ser capaz de prever qualquer tipo de procedimento a ser realizado [de Souza Oliveira, 2002].

3.4

Padronizao e Entidades ca

Assim como os diversos ramos da Ci ncia Forense estabelecem padr es e metodologias e o para exercerem suas percias, a forense computacional n o foge a essa regra. Em uma primeira a abordagem, um processo forense padronizado d credibilidade e conanca a pessoas leigas a no assunto que ir o julgar um caso, como juzes e jurados. Por outro lado, a padronizacao a visa permitir que particularidades t cnicas de um caso investigado possam ser compartilhadas e e vericadas pela comunidade cientca forense. Na determinacao de padr es e interessante visualizar a id ia ilustrada na Figura 3.3 como o e ponto de partida. Um modelo de padronizacao e constitudo de aspectos legais e t cnicos. As e ` ` pectos legais s o estabelecidos por meio da criacao de leis relacionadas a conduta pericial e as a suas atribuicoes legais. J os aspectos t cnicos dizem respeito aos procedimentos computacio a e nais envolvidos em um exame forense, como t cnicas, algoritmos e ferramentas de aquisicao e e an lise de evid ncias digitais. a e E natural que a denicao de padr es na forense seja restrita; n o seria possvel aplicar as o a mesmas regras a todos os pases. Fatores como diferentes legislacoes e culturas impossibilitam

Padronizao e Entidades ca

36

Linha Item 1 Drive de disco r gido #123456

Data

Hora

Quem Marcos

Descrio ca Apreendeu o HDD no local, com permisso a dada pelo dono da empresa.

01/01/2007 10h15

Drive de disco r gido #123456

01/01/2007 10h45

Marcos

Transportou o HDD para local de proteao c de evidncias no ese critrio principal. o

3 4

Drive de disco r gido #123456 Drive de disco r gido #123456

02/01/2007 14h00 02/01/2007 17h00

Marcos Marcos

Retirou o HDD para criar cpia de anlise. o a Retornou local evidncias. e HDD ao para seguro

Tabela 3.2: Registro simplicado da cadeia de custdia de uma evidncia digital (disco o e r gido ou HDD) (adaptado de [Solomon et al., 2004]) a a criacao de um regulamento global para todo o conjunto de pr ticas forenses. E vi vel e a interessante estipular algumas regras em tarefas especcas, tais como a coleta de evid ncias. e Essas regras costumam ser estabelecidas primeiramente por meio da troca de informacoes entre ag ncias legais de seguranca de pases diversos. Esse debate produz conhecimento cientco e com base na troca de experi ncias, e pode ser muito util na denicao de padr es especcos, os e o quais podem futuramente ser utilizados em ampla escala ao redor do mundo. Um entrave ao estabelecimento de padr es na forense e a exist ncia de uma vasta o e quantidade de tipos de hardware, sistemas operacionais, arquiteturas e tipos de mdia [de Souza Oliveira, 2002]. Somado ao fato de ser um campo relativamente recente, o estabele cimento de padr es, mesmo que em pequenos grupos em alguns pases, e uma tarefa trabalhosa o e complexa. Foram criadas algumas entidades, como o IOCE, para permitir troca de informacoes entre diversos pases e suas ag ncias de seguranca, representando esforcos no sentido de estabelecer e normas para a pr tica forense no meio computacional. A seguir, h uma breve descricao dos a a objetivos da IOCE e de outras entidades empenhadas nesse objetivo: IOCE (International Organization on Computer Evidence)
6

- entidade interna-

cional criada em 1995, constituda por membros de diversas ag ncias internacionais e de combate ao crime. As atribuicoes da IOCE s o, principalmente, facilitar a troca de a
6

http://www.ioce.org

Padronizao e Entidades ca

37

Figura 3.3: Modelo de padronizaao (adaptado de [dos Reis, 2003]) c informacoes entre essas ag ncias de seguranca por meio de um f rum internacional, onde e o ` s o discutidas quest es relativas a investigacao forense computacional. Tamb m organiza a o e confer ncias, formula padr es para coleta de evid ncias computacionais, dentre outras e o e atividades. SWGDE (Scientic Working Group on Digital Evidence)
7

- entidade norte-

a americana criada e mantida por org os de seguranca daquele pas em 1998. A SWGDE surgiu como uma entidade empenhada na reuni o de esforcos de diversas ag ncias a e a legais (FBI, departamentos de polcia estaduais, org os governamentais e ag ncias e internacionais), a m de realizar um combate eciente ao crime digital. ocorridos nos EUA. IACIS (International Association of Computer Investigative Specialists)
8

Publica

diversos documentos, como papers sobre procedimentos e pr ticas forenses e casos reais a

- e

uma entidade sem ns lucrativos, composta por volunt rios no intuito de treinar pesa soal em forense computacional. Essas atividades fornecidas pela IACIS s o realizadas a por ociais e prossionais da lei regionais, nacionais e internacionais, os quais comp e o a entidade. O foco aqui e o ensino e treinamento, provendo, para isso, diversos cursos e certicacoes na area. Um elemento que pode vir a auxiliar a padronizacao de percias, particularmente nas tarefas de documentacao, s o os chamados SOPs (Standard Operating Procedures ou Procedimentos a
7 8

http://ncfs.org/swgde http://www.iacis.com

Padronizao e Entidades ca

38

Operacionais Padr es, em portugu s). Os SOPs s o documentos que visam proporcionar um o e a ` controle de qualidade as percias digitais [de Geus et al., 2001], descrevendo detalhadamente procedimentos realizados durante a percia. Um exemplo de SOP seria o procedimento de replicar um disco rgido, no qual deve constar itens como: respons vel, data, hora, que materiais a foram manipulados, descricao do procedimento para alcancar os seus objetivos etc. O uso de SOPs, aliado a cadeias de cust dia ntegras, visa manter um alto grau de qualidade no processo o forense como um todo. No Brasil, infelizmente n o h , ainda, entidades empenhadas fortemente nas quest es de a a o padronizacao como aquelas citadas acima. No entanto, existem algumas entidades que realizam ` diversas atividades relacionadas a resposta a incidentes no pas. Abaixo segue uma descricao de duas delas: CERT (Centro de Estudos, Resposta e Tratamento de Incidentes de Segurana) c
9

- anteriormente denominado de NBSO/Brazilian CERT, e o grupo de resposta a in-

cidentes respons vel por receber, analisar e responder a incidentes de seguranca em a ` computadores conectados a Internet brasileira. E mantido pelo CGI (Comit Gestor da e Internet no Brasil). CAIS (Centro de Atendimento a Incidentes de Segurana) c
10

- criado em 1997,

` e o setor pertencente a Rede Nacional de Ensino e Pesquisa (RNP) respons vel pela a deteccao, resolucao e prevencao de incidentes de seguranca ocorridos na rede nacional cientca e acad mica (ou rede RNP2). Periodicamente, o CAIS levanta dados estatsticos e a respeito de incidentes de seguranca ocorridos nessa rede e realiza um trabalho pr -ativo o de identicacao e erradicacao de m quinas infectadas. Tamb m executa atividades como a e testes e recomendacoes de ferramentas de seguranca, recomendacoes de polticas diver sas, dentre outras. Quando acionadas, essas entidades d o suporte a sistemas que sofreram algum tipo de ataa que, indicando como proceder ap s o ataque efetivado. E claro que al m de convocar essas o e entidades, devem ser acionadas as ag ncias legais competentes, como as Polcias. e Espera-se que as leis de crimes inform ticos (como discutido no Captulo 2), as quais proa vavelmente entrar o em vigor em um futuro pr ximo, possam incentivar esforcos focados no a o estabelecimento de padr es e discuss o legal da forense computacional em seus diversos aspeco a tos.
9 10

http://www.cert.br http://www.cais.rnp.br

Concluses o

39

3.5

Concluses o

N o h duvida de que a forense computacional seja um campo do conhecimento necess rio a a a atualmente. Como foi mostrado no Captulo 2, a demanda para essa disciplina da criminalstica e vericada pelo surgimento de grande n mero de crimes praticados por meio de um compuu tador. Isso requer que sejam denidos procedimentos e ferramentas para a coleta dos vestgios em computador ou evid ncias digitais. A padronizacao e um aspecto importante que deve ser e levado em conta, especialmente neste conexto, visto que a forense computacional e um ramo relativamente recente, portanto, ainda h muito a ser padronizado. a Um problema que deve ser discutido com seriedade e compromisso por parte dos investi gadores e a quest o da privacidade, a qual ser discutida no pr ximo captulo. E ser o aprea a o a sentadas, tamb m, medidas tomadas por atacantes, tamb m chamadas de contramedidas ou e e procedimentos antiforenses.

Cap tulo 4 Privacidade e Contramedidas


Neste Captulo, s o mostrados aspectos de conduta pericial em relacao a privacidade da a ` informacao que est em an lise, exibindo casos para exemplicar procedimentos que devem a a ser evitados. Algumas contramedidas executadas por atacantes, denominadas comumente de t cnicas antiforenses, s o apresentadas, as quais usam da exclus o segura (wipping), criptograe a a a e esteganograa para tentar ocultar ou eliminar vestgios de informacoes e acoes.

4.1

Privacidade da Informao em Anlise ca a

Durante uma investigacao forense, a privacidade de informacoes de usu rios armazenadas a nos sistemas em an lise deve ser uma poltica a ser cumprida em qualquer fase do processo. A a vistoria de arquivos deve ser cautelosa, a m de n o acessar indevidamente informacoes sem a a autorizacao e violar quest es eticas e legais. Isso e v lido especialmente quando e preciso o averiguar e-mails e documentos de texto, os quais podem conter informacoes condenciais, situacao que ocorre com freq encia. u Al m de eventualmente anular os resultados da an lise forense, o corpo investigativo poe a der sofrer processo legal por violacao de privacidade. A n o ser em situacoes especiais, onde a a for emitido um mandado judicial autorizando o acesso a esses dados, a investigacao n o deve a acessar dados particulares deliberadamente. Claro que quando se trata de uma investigacao organizacional, possivelmente existem polticas que estabelecem nveis de privacidade dos dados de cada um de seus funcion rios. a Se a organizacao publica polticas claras a respeito de como e tratada a privacidade em seu ambiente, os usu rios consentem que eventualmente podem ter seus dados averiguados. No a entanto, se polticas n o forem denidas, a melhor opcao e conseguir uma autorizacao judicial a para que o acesso aos dados seja legtimo [Solomon et al., 2004]. Um caso real descrito em [Casey, 2004] ilustra essa quest o da violacao de privacidade. Em a 1990, a Steve Jackson Games, uma empresa do ramo de livros de ccao e RPG nos Estados Unidos, teve diversos materiais apreendidos por agentes federais norte-americanos por suspeita 40

Antiforense

41

` de envolvimento com um grupo de hackers que promoviam ataques aquela epoca. Ap s nada o ter sido provado contra a empresa, n o foi possvel recuperar os materiais que haviam sido a apreendidos, como computadores e livros ainda n o publicados. Em decorr ncia disso, a Steve a e Jackson Games moveu uma acao contra o Servico Secreto norte-americano. Durante o processo legal, foi constatado que agentes federais leram e-mails da empresa que n o haviam ainda sido a transferidos para as m quinas da mesma, o que constituiu violacao de diversos Atos de Privacia dade presentes naquele pas. Ao nal, a justica determinou que fosse pago em torno de U$ 300 ` 000 a empresa, devido a perdas e outros custos. Esse caso ilustra que a violacao de privacidade apenas trouxe custos elevados ao Estado e n o solucionou o crime original, que era capturar hackers que estavam cometendo crimes por a ` computador aquela epoca. Portanto, al m de possuir conhecimentos de areas diversas da Computacao para poder chee gar a resultados que podem resolver um caso, um perito de forense computacional deve possuir um conhecimento detalhado sobre a legislacao local, regional, nacional e eventualmente in ternacional [Solomon et al., 2004], para que possa enquadrar seu trabalho na lei, tornando-o v lido. Um exemplo dessa necessidade surge em crimes que abrangem sistemas distribudos a espalhados pelo mundo.

4.2

Antiforense

Se por uma lado a forense computacional procura por vestgios de acao criminosa ocorrida, a antiforense faz o oposto; ela diz a respeito a qualquer estrat gia de eliminacao de informacao e ` que possa ser utilizada em um processo de an lise forense. As vezes e usado o termo contramea didas para referir-se a essas acoes, que podem incluir tamb m a ocultacao de vestgios. e Nesse ponto, e interessante fazer uma distincao importante entre privacidade e contramedi das. Um usu rio pode fazer o uso de procedimentos que realizam a exclus o segura nas suas a a mdias de armazenamento antes de revend -las. A n o ser que esteja usando sua m quina para e a a prop sitos ilegais, a eliminacao segura de dados e um direito civil. Isso lhe permite que as suas o informacoes possam ser apagadas com seguranca, diminuindo a chance de terceiros acessarem sem autorizacao vestgios dessa informacao na mdia. ` J contramedidas para realizar pr ticas antiforense dizem respeito a exclus o e ocultacao de a a a dados que poderiam, por exemplo, comprometer ou identicar um intruso. Outra situacao seria a ocultacao de dados (geralmente ilegais, mantidos na m quina vtima para futuro acesso pelo a intruso) em areas de difcil acesso, para que essa informacao seja encontrada apenas por quem a escondeu. A obtencao de informacoes escondidas no disco ser descrita com mais detalhes a no Captulo 6.

Antiforense

42

4.2.1

Excluso Segura a

Destruir uma informacao e muito difcil; apesar de ser dito em captulos posteriores que a recuperacao de dados por meio dos softwares comumente usados (EnCase, GetDataBack etc.) n o recupera uma informacao sobrescrita por outra mais recente, existem t cnicas especiais a e para recuperacao da informacao em laborat rio. Essas t cnicas n o tratam apenas de recuperar o e a informacoes sobrescritas uma ou mais vezes; elas tratam tamb m de situacoes onde a mdia e sofreu algum tipo de comprometimento fsico, seja acidental ou n o. a Um inc ndio ocorrido na sala de computacao, um disquete importante que serviu de brine quedo a criancas, uma queda de disco rgido s o alguns exemplos de danos fsicos que podem a ocorrer em mdias de armazenamento. [Vacca, 2002] apresenta diversos casos em que foram recuperados dados em situacoes adversas, como: Um disco rgido sofreu uma queda que danicou alguns de componentes eletr nicos. Foi o possvel substituir os componentes e restabelecer o funcionamento normal da mdia sem perda de dados. Disquetes mastigados por animais dom sticos sofreram danos severos na superfcie do e disco. Foi possvel recuper -los com dano de apenas 15% do total de setores. Houve a necessidade de criar uma nova tabela de alocacao FAT. Ao nal, foi possvel criar uma imagem da mdia e recuperar arquivos. Para a recuperacao avancada de informacoes como nos problemas listados acima, e ne cess rio conhecimento t cnico especializado e ambiente pr prio, como salas esterilizadas de a e o recuperacao. Por outro lado, existe uma preocupacao quanto ao descarte de informacao de forma se gura. Empresas de cart es de cr dito, bancos, ag ncias policiais etc. n o querem que seus o e e a discos rgidos usados sejam descartados e caiam eventualmente em m os de pessoas capazes a de recuperar esses dados. Como mencionado, mesmo estando os discos formatados e possvel recuper -los usando t cnicas especiais. Em verdade, existem diversas empresas, tanto no Brasil a e como no exterior, que fornecem esse servico. Para possibilitar a exclus o segura de informacoes, uma forma de baixo custo existente e um a processo denominado wipping de informacoes. O wipping consiste em sobrescrever a porcao de dados que se quer limparpor padr es de bits pr -estabelecidos e rand micos um certo n mero o e o u de vezes [Gutmann, 1996]. Cada passagem de um certo n mero de operacoes de sobrescrita e u denominada de pass, que e tamb m executada diversas vezes. Portanto, ao m do wipping, e ` s o feitas dezenas de sobrescritas desses bits nos mesmos lugares, o que torna, a maioria dos a esquemas de recuperacao via software, praticamente impossvel recuperar esses dados. Considere o seguinte exemplo: se for necess rio excluir de forma segura um documento a condencial do Microsoft Word, a limpezadever executar diversas passes, cada uma insea

Antiforense

43

rindo bits rand micos e pr -estabelecidos no arquivo todo diversas vezes. Ao nal, o arquivo o e ter sido sobrescrito dezenas de vezes. O mesmo procedimento d -se com qualquer outra mdia a a de armazenamento. A desvantagem da eliminacao de dados descrita e ser um processo lento, que pode demorar dias para limparcompletamente um disco rgido de 80GB, por exemplo. Mas e prefervel um ` tempo demorado as piores conseq encias de violacao e acesso indevido a informacoes conu denciais. E e um processo relativamente barato para ser implementado, com excecao do fator tempo. A destruicao fsica da mdia de armazenamento como uma forma de descarte pode apresen tar um custo bem mais alto que a eliminacao de dados via software. Essa acao inviabilizaria a revenda de dispositivos antigos para cobrir parte do custo de sua aquisicao, o que pode ser um valor consider vel dependendo do porte da organizacao. N o obstante, pode n o ser possvel o a a a descarte fsico, especialmente quando a mdia e alugada. Muitas vezes e necess rio transportar a mdia de armazenamento do seu ambiente de funcioa namento para fora, como, por exemplo, para uma ocina de reparos terceirizada. Para o caso de a mdia conter informacoes sigilosas e importantes, o ideal e eliminar com seguranca os dados da mdia antes de ela deixar o seu ambiente, visto que n o deve ser descartada a possibilidade de a ocorrerem violacoes de acesso durante o trajeto. Quando a mdia for retornada ao seu ambiente normal, o conte do pode ser restaurado de volta. u Outro ponto em quest o a respeito do descarte fsico e que n o e possvel garantir que, a a descartando as mdias, a informacao n o poder ser recuperada mais. Como foi mencionado, a a mesmo que um disco sofra danos fsicos (mergulhado na agua, queimado etc.) e seja jogado no lixo, e quase sempre possvel recuperar ao menos alguma parte das informacoes que essa mdia armazenava. Outros exemplos de alteracoes no ambiente de armazenamento que requerem eliminacao segura de dados [Oltsik and Biggar, 2006]: Conserto - quando devem ser reparados, dispositivos que armazenam informacoes sensveis devem sofrer exclus o segura de dados antes de deixar o seu ambiente nativo para o local a de conserto. Fim de vida util - dispositivos de armazenamento devem ter seus dados excludos de forma segura no nal do ciclo de vida util, para que possam ser usados em outros setores da organizacao ou revendidos ao mercado; Terceirizao - relocacao ou reparticionamento da mdia de armazenamento quando comca partilhada. A terceirizacao deve ser feita tendo em mente a eliminacao segura de dados para que informacoes sensveis mais antigas n o possam ser recuperadas devido a novas a alocacoes e redistribuicoes de espaco.

Antiforense

44

4.2.2

Criptograa

` A criptograa est intimamente ligada a seguranca da informacao, especialmente no atual a cen rio mundial, onde volumes expressivos de informacoes condenciais s o trocados diariaa a mente pela Internet. A criptograa prov mecanismos para proteger informacoes por meio da e condencialidade, integridade, autenticidade e n o-rep dio, de modo que apenas o destinat rio a u a correto seja capaz de decifrar e entender uma informacao cifrada. A criptograa e implementada por um conjunto de algoritmos matem ticos empregados a para cifrar dados, de modo que sejam entendveis apenas pelos destinat rios apropriados. Na a atual conjuntura de comunicacao mundial via Internet, a criptograa torna-se extremamente ne ` cess ria para evitar que intrusos capturem e tenham acesso a informacoes particulares trocadas a entre entes. Se dois entes est o trocando informacoes criptografadas entre si, mesmo que um a intruso consiga acesso a elas, h um nvel de seguranca nessa informacao. a Se por um lado a criptograa fornece um nvel de seguranca as informacoes trocadas entre ` entidades por meio da cifragem de dados, ela pode ser usada para cifrar dados comprometedores para evitar o conhecimento de seu conte do. Isso representa um grande entrave para a forense, u dada a diculdade em decifrar o conte do suspeito. u Um caso verdico apresentado por [Casey, 2004] mostra como a cifragem de informacoes ilegais pode dicultar a persecucao criminal de infratores. Agentes legais investigavam crculos de pornograa infantil em salas de bate-papo, denominados Orchid Club e Wonderland Club. Os indivduos que trocavam dados nessas salas descobriram que estavam sob investigacao, o que os levou a criptografar as informacoes que trocavam. As m quinas dos indivduos suspeitos a foram apreendidas e enviadas a outras ag ncias de seguranca, como o FBI, a m de auxiliar a e tentativa de decifrar o conte do suspeito, no entanto, sem sucesso. Como resultado, os avancos u das investigacoes foram consideravelmente impedidos, resultando em uma baixa quantidade de processos legais bem sucedidos contra os indivduos infratores dessas salas de conversacao. Em uma investigacao forense, pode ser necess rio vencer barreiras impostas por dados pro a tegidos por senha ou criptografados. Pode ser necess rio acessar o disco de um suspeito de a manter documentos de fraudes, mas as informacoes est o criptografadas. Pode ser necess rio a a acessar planilhas eletr nicas e documentos de texto de m quinas apreendidas de grupos terroo a ristas. Portanto, muitas vezes e preciso vencer essas barreiras para obter provas sucientes da acao criminosa. Por m, e importante ressaltar que a criptograa pode ser aplicada a arquivos ou a um disco por completo. Nesse ultimo caso, ocorre uma diculdade ainda maior para a investigacao, visto que possivelmente n o ser possvel mensurar o conte do da mdia. a a u Para auxiliar uma investigacao nesse sentido, existem diversas ferramentas1 que anulam a
1

A t tulo de exemplo, algumas ferramentas que podem auxiliar uma investigao nesse sentido: Pasca

sword Recovery Toolkit e Distributed Network Attack (DNA).

Antiforense

45

barreira de protecao por senha ou descobrem a senha. Dependendo do esquema de criptogra a usado, pode ser vi vel tentar pelo m todo da forca bruta decifrar o conte do criptografado. a e u Claro que esse processo pode demorar um tempo consider vel e requerer muitos recursos coma putacionais. A viabilidade da forca bruta depende do esquema de criptograa usado. Segundo [Casey, 2004], e possvel quebrar em 5 dias a seguranca de uma informacao cripto grafada com 40 bits, usando um cluster de 100 desktops. Arquivos criptografados (criptograa de 40 bits) encontrados em um computador de um grupo terrorista foram decifrados pelo Wall Street Journal. No entanto, se fosse utilizado um esquema criptogr co de 128 bits, como o esa quema geralmente usado pelo Microsoft Windows EFS (Encrypting File System), seria invi vel a aplicar o m todo da forca bruta, visto que seriam necess rios milh es de anos para testar todas e a o as combinacoes (sem contar nos recursos computacionais necess rios). a

4.2.3

Esteganograa

Diferentemente da criptograa, que busca cifrar o conte do de uma informacao mascarando u o seu real conte do, a esteganograa busca ocultar a exist ncia de uma informacao. Para realizar u e tal feito, e usado um objeto para conter essa informacao que se pretende esconder. A ocultacao e feita de tal modo que apenas o destinat rio e remetente devam ser capazes de vericar a sua a exist ncia e extrai-la do objeto usado [Kessler, 2004]. e N o obstante, e possvel estabelecer t cnicas de deteccao de informacao oculta em objea e tos, como an lises estatsticas de caractersticas dos objetos usados para inserir a informacao a ` oculta [Vacca, 2002]. Por outro lado, o sucesso da esteganograa est ligado a exploracao das a limitacoes da percepcao humana no campo da vis o ou audicao, por exemplo. a E possvel esconder informacoes dentro de diversos tipos de arquivos, como uma imagem digital ou um arquivo de som WAVE, da seguinte forma [Vacca, 2002]: Inserir a informacao a ser escondida em um arquivo de audio, por meio da alteracao do bit menos signicativo (LSB) de cada amostra de audio. Ao ouvido humano, o arquivo soa da mesma forma. O tamanho do arquivo n o e alterado. a Inserir a informacao a ser escondida em uma imagem digital, fazendo a mudanca do LSB do componente de brilho (brightness) de cada pixel. Em uma imagem de dimens es o 1024x768 podem ser inseridas muitas informacoes dessa forma. A insercao de bits de informacoes nesses objetos possivelmente n o causar mudanca apa a a rente quando percebidos por seres humanos. No entanto, uma comparacao de componentes dos pixels da imagem original e da imagem com informacoes ocultas, por exemplo, mostrar a ` alteracoes provocadas pela alteracao de bits devido a insercao da informacao ocultada. A Figura 4.1 ilustra como um texto ASCII (This is a test. This is only a test.) escondido em uma imagem praticamente n o provoca alteracoes perceptveis. a

Concluses o

46

Figura 4.1: Esteganograa - (A) Imagem original. (B) Imagem com texto escondido (adaptado de [Westphal, 2003]) A deteccao da estegranograa em objetos e denominada de esteganoan lise e compreende a a an lise de padr es de bits e busca por assinaturas de ferramentas que fazem a esteganograa a o para tentar uma possvel recuperacao do dado oculto. A esteganoan lise pode ser auxiliada por a diversas ferramentas, como: StegAlyzer Artifact Scanner procura por artefatos de aplicacoes esteganogr cas pre a sentes no sistema. Pode buscar no registro do Windows tamb m. e ` StegAlyzer Signature Scanner varre o conte do do disco suspeito a procura de padr es u o hexadecimais ou assinaturas de aplicacoes esteganogr cas. Se um padr o for reconhe a a cido, existe a possibilidade de a informacao oculta ser extrada. Ambas as ferramentas acima s o desenvolvidas pela SARC. Maiores informacoes est o a a disponveis em http://www.sarc-wv.com.

4.3

Concluses o

` Este Captulo colocou em pauta algumas quest es relevantes a privacidade dos dados o passveis de serem averiguados durante uma investigacao forense. E sempre interessante a ` adocao de polticas explcitas quanto a privacidade em uma organizacao, e para os peritos e importante n o violarem o sigilo de informacoes sem autorizacao judicial. a

Concluses o

47

As t cnicas antiforenses mostram um desenvolvimento r pido no sentido oposto denido e a pela forense computacional. Outros exemplos de contramedidas ser o mostradas no Captulo 6, a principalmente em nveis de abstracao mais baixos, mostrando lugares onde um investigador pode conduzir buscas quando houver suspeitas da exist ncia de informacao escondida. e

Cap tulo 5 Forense na Web


Neste Captulo, s o apresentados conceitos e aspectos de alguns itens que merecem des a taque na chamada Web forensics ou forense na Web, que trata da investigacao de elementos ` relacionados a Web, como navegadores de Internet e seus artefatos. S o apresentadas caraca ` tersticas relevantes a forense de itens como cookies, hist rico e cache, e como funcionam esses o recursos durante o uso de navegadores.

5.1

Cookies

Cookies s o mecanismos utilizados pelos navegadores de Internet com a nalidade de mana ter secoes HTTP de usu rios no decorrer da conex o cliente-servidor [Kurose and Ross, 2006]. a a Os cookies s o armazenados em arquivos de texto (codicados) na m quina cliente. Os a a RFCs 2965 [Kristol and Montulli, 2000] e 2109 [Kristol and Montulli, 1997] descrevem os cookies. Apesar de relativamente simples, s o um mecanismo poderoso que se estabea lece na m quina cliente da conex o e bastante uteis em determinadas aplicacoes da Web a a [Netscape, 1997]. Assim, diversas comodidades s o adquiridas durante a navegacao pela Web, a como [Kurose and Ross, 2006, Netscape, 1997]: Comrcio eletrnico - armazenamento da lista de produtos que se deseja comprar numa e o loja online (CDs, livros, por exemplo); Navegao em geral - as prefer ncias pessoais determinadas por cada usu rio na visita de ca e a um site (estilo, cor, m sica de fundo, p ginas acessadas etc.), para oferecer-lhe propau a ganda dirigida ou indicacao de sites especcos; Para explicitar o uso de cookies durante a sess o HTTP em vigor, o servidor envia a linha a de cabecalho Set-Cookie: <cabealho cookie1> ao agente usu rio, isto e, ao navegador c a de Internet, junto da resposta de requisicao HTTP [Kurose and Ross, 2006]. O cookie e salvo em um arquivo no disco da m quina cliente, usando um nome especco que o identica dos a 48

Cookies

49

demais. Quando o usu rio agente da m quina cliente for acessar novamente o domnio do a a qual recebeu o cookie, ele envia, junto ao cabecalho de requisicao HTTP, a linha Cookie: <cabealho cookie1> para identicar-se junto ao servidor. Esse envio de linhas de cabecalho c prossegue enquanto houver solicitacoes de dados por um usu rio agente para um servidor que a utilize cookies [Netscape, 1997]. A Figura 5.1 ilustra esse processo.

Figura 5.1: Recebimento e envio de cookies entre servidor e cliente E normal que haja diversos cookies gerados em solicitacoes ao mesmo domnio, especial mente quando h solicitacoes de arquivos ou diret rios diferentes. O conte do de um cookie e a o u o seu pr prio cabecalho, que pode apresentar diversos campos, como: [Jones, 2005] o Set-Cookie: <NAME>=<CONTENT>; expires=<TIMESTAMP>; path=<PATH>; domain=<DOMAIN> Cada campo presente no cabecalho de um cookie desempenha uma funcao para o servidor. Exemplos podem ser vistos na Tabela 5.1. Um exemplo de cookie gerado pelo Google e Set-Cookie: PREF=ID=d7737e96ae7ef6aa:TM=1178780818:LM=1178780818:S=9NxvKkfiTZLK51ic; expires=Sun, 17-Jan-2038 17:14:08 GMT; path=/; domain=.google.com.br Interpretando o cabecalho acima vericamos que e um cookie de nome PREF, cujo conte do e ID=d7737e96ae7ef6aa:TM=1178780818:LM=1178780818:S=9NxvKkTZLK51ic, u

Cookies

50

Campo NAME CONTENT TIMESTAMP PATH DOMAIN

Descriao e funao c c Um nome exclusivo que identica o cookie Cadeia de informao armazenada pelo servidor para ca algum propsito espec o co. Geralmente cifrada e Data e hora para indicar quando o navegador do usurio a ou o servidor deve remover o cookie Denota o diretrio no web site onde o cookie se aplica o (/ geralmente usado e refere-se a todo o site) e Denota o escopo de aplicao do cookie, isto , em quais ca e hosts de um dom nio ele se aplica

Tabela 5.1: Campos que podem estar presentes no cabealho de um cookie (adaptado de c [Jones, 2005]) o qual ser mantido pelo navegador at Domingo, 17-Jan-2038 17:14:08 GMT, aplic vel em a e a qualquer host do domnio .google.com.br, e em qualquer diret rio (devido ao /denido no o campo path). Tentar decifrar o campo de conte do de um cookie pode ser uma atividade forense basu tante desaadora, uma vez que e um complexo quebra-cabeca [Jones, 2005]. A observacao de sucessivos cookies gerados por um web site pode dar pistas sobre possveis signicados que informacoes armazenadas nesse campo do cabecalho podem assumir. Para realizar a visualizacao, edicao e exclus o de cookies pode ser utilizada uma innidade a de programas, como: Cookie monster; Extens es do Mozilla Firefox. o ` Existem diversas quest es ligadas a violacao de privacidade decorrente do uso de cookies. o Tal fato e atribudo ao desconhecimento, por parte do usu rio, do real conte do ou prop sito dos a u o cookies gerados pelos sites da Internet [Bunting and Wei, 2006]. Mesmo usando visualizadores de cookies como os citados, os campos de conte do (content, por exemplo) de um cookie, os u quais indicam a parte de dados uteis ao servidor, s o cifrados, o que impede o conhecimento a detalhado da mensagem. Nesse sentido, surgiram in meros programas para automatizar a exu clus o de cookies do sistema de um usu rio, a m de garantir, ao menos em parte, a privacidade a a que muitas pessoas dizem estar ameacada pelo uso desse mecanismo.

Histrico e Cache o

51

5.2

Histrico e Cache o

Ao contr rio dos cookies, que na maioria das vezes fornecem pouca informacao conclusiva, a os itens de hist rico e cache possibilitam tirar conclus es s lidas a respeito da navegacao na o o o Internet realizada na m quina investigada. Esses dois itens foram criados, originalmente, como a um meio de agilizar a navegacao e facilitar consulta a sites rec m acessados. Dessa forma, e eles podem ser usados na forense para reconstruir a navegacao de usu rios. O hist rico de um a o navegador de Internet registra a lista de URLs (p ginas de hipertexto, guras etc.) acessados a recentemente pelos usu rios do sistema. O cache diz respeito ao arquivamento de conte do a u acessado, como p ginas e imagens, na m quina cliente. a a De maneira geral, cada navegador adota uma implementacao diferente para guardar os re gistros de hist rico de um usu rio. Por exemplo, no Internet Explorer e denido um arquivo o a de ndice denominado index.dat, um para cada dia de navegacao [Bunting and Wei, 2006]. J no Mozilla Firefox e denido um unico arquivo (history.dat) o qual armazena todas as a entradas de hist rico. Claro que para cada usu rio est o associados hist ricos, cache e cookies o a a o armazenados em locais diferentes. Particularmente, no Windows os arquivos de ndice n o registram apenas p ginas e arquivos a a da Web acessados via Internet Explorer; quaisquer arquivos abertos dentro da pr pria m quina o a ser o registrados no seu respectivo ndice. Por exemplo, arquivos de texto, imagens, MP3 a etc. acessados no dia XX ser o inseridos no index.dat desse dia, por m usando o termo inicial a e le:///para indicar que e um arquivo local.

5.2.1

Localizao no Disco ca

A localizacao dos itens de hist rico, cache e cookies no Internet Explorer est descrita na o a Tabela 5.2. No Firefox, o hist rico e encontrado na pasta abaixo (pode sofrer pequenas alteracoes de o acordo com a vers o do navegador usado): a X:\Documents and Settings\<usurio>\Dados de aplicativos a \Mozilla\Firefox\Profiles\<nome-aleatrio>\history.dat o Em se tratando de reconstruir a atividade de web sites visitados, temos de estudar o comportamento do cache e hist rico. Vamos considerar dois casos: Internet Explorer e Firefox. o

5.2.2
itens:

Internet Explorer

` No Internet Explorer (IE) temos a disposicao, sem fazer uso de nenhuma ferramenta, dois

Histrico e Cache o

52

Item Cache (Temporary Internet Files)

Localizaao c

X:\Documents and Settings\<usurio> a \Configura~es locais\Temporary Internet Files co \Content.IE5

Histrico (History) o X:\Documents and Settings\<usurio> a \Configura~es locais\Histrico co o \History.IE5 Cookies X:\Documents and Settings\<usurio>\Cookies a

Tabela 5.2: Localizaao de artefatos do Internet Explorer c Histrico - compreende diversos arquivos de ndice. Cada arquivo de ndice e armazenado o no seu respectivo diret rio, nomeado de acordo com a data que representa, por exemplo o MSHist012007032220070323. O arquivo de ndice e um arquivo bin rio e propriet rio a a da Microsoft, mas e possvel visualizar facilmente os seus registros, pois essa informacao e armazenada textualmente. Outras informacoes n o textuais que est o armazenadas s o, a a a por exemplo, uma tabela hash para que o navegador seja capaz de montar e exibir o arquivo de ndice. Cache - compreende um arquivo de ndice e alguns diret rios (geralmente 4) para armazenar o ` o conte do de cache. O arquivo de ndice do cache tem estrutura similar a do arquivo u de ndice do hist rico, ou seja, possui uma tabela hash e os pr prios registros de cada o o item de cache, estes ultimos armazenados de forma textual. Nos diret rios do cache est o o a presentes os arquivos acessados no IE, como p ginas, guras e folhas de estilo. Assim, e a possvel fazer uma averiguacao do cache apenas vericando o conte do desses diret rios, u o n o sendo necess rio fazer uso do arquivo de ndice. a a Ferramentas Para facilitar o nosso trabalho de busca pelas pastas dentro do cache, podemos usar algumas ferramentas que nos fornecem listagens de hist rico e cache do IE, automatizando a tarefa de o vericacao manual de arquivos de ndice e pastas de conte do. Exemplos de programas que u

Histrico e Cache o

53

trabalham nisso: Pasco - trabalha sobre o arquivo de ndice do cache. A sada e um arquivo de texto contendo os registros encontrados. O uso principal e no processamento de arquivos de ndice de cache do IE, mas pode ser usado para processar arquivos de ndice de hist rico desse o navegador tamb m. Abaixo encontra-se um trecho de um arquivo de ndice de cache que e usamos para testar o programa: History File: index.dat TYPE URL MODIFIED TIME ACCESS TIME FILENAME DIRECTORY Tue Apr HTTP HEADERS 3 09:16:16 2007

URL http://mail.google.com/mail/images/corner_br.gif 05:29:18 2007 corner_br[2].gif OZVI56BW Wed Aug OZVI56BW Content-Type: image/gif Content-Length: 46

HTTP/1.1 200 OK ~U:marcos 3 01:32:34 2005 HTTP/1.1 200 OK

URL http://gfx2.hotmail.com/sbtnbk.gif Mon Jun 11 14:24:41 2007 sbtnbk[1].gif Content-Length: 146 OUR PHY SAMo TELo REDR ETag: "025fa38cb97c51:7a69"

Content-Type: image/gif P3P: CP=BUS CUR CONo FIN IVDo ONL ~U:marcos X-Powered-By: ASP.NET

http://cpvtext.cpvfeed.com/cpi.jsp?p=110894&aid=20298

&partnerMin=0&ron=on&ronMin=0&url=undefined&context =entertainmentundefined&cat=entertainment&cpviw=468&cpvih=60 Web Historian - ferramenta que processa arquivos de hist rico do IE e de outros navegadoo res tamb m (Firefox, Opera e Safari). Permite a escolha de diversos formatos de sada, e como, por exemplo, em uma planilha do Microsoft Excell, o que facilita a visualizacao dos resultados. Um trecho extrado pode ser visto na Figura 5.2.

Forensic Tool Kit (FTK) - possui um navegador embutidopara tornar imediata a associacao entre registro do item de cache e o respectivo arquivo de cache no disco. O FTK e uma ferramenta forense de uso geral, n o se limitando a apenas trabalhar com a itens de navegadores (consulte o Ap ndice A para maiores informacoes). e Os relat rios gerados pelas ferramentas acima apresentam de forma simples e automatizada o informacoes sobre cada acesso realizado na m quina investigada. O hist rico e cache do IE a o denem diversos campos em seus arquivos de ndice, como: URL;

Histrico e Cache o

54

Figura 5.2: Excerto de um relatrio gerado pelo Web Historian no formato de planilha o eletrnica o Data de modicacao; Data de acesso; Tipo (URL ou REDR, isto e, redirecionado); Status (existe no disco ou n o); a Nome do arquivo no disco; Cabecalho HTTP (mensagens de status HTTP, Content-type e outros). Por meio dos relat rios gerados podemos vasculhar o conte do do cache e hist rico usando, o u o por exemplo, uma busca por palavras-chave para checar se foram realizados acessos a sites especcos ou arquivos locais suspeitos. O acesso aos itens de cache n o deixa de ser trabalhoso a no entanto, visto que a maioria das ferramentas apenas gera uma listagem de conte do; o acesso u deve ser feito manualmente, com excecao do FTK, que disp e de uma esp cie de navegador o e embutido.

5.2.3

Mozilla Firefox

Conforme foi mencionado, o hist rico do Firefox e armazenado como um arquivo o (history.dat), cuja localizacao foi citada nesta secao. Para processar o seu conte do, e u

Histrico e Cache o

55

possvel utilizar ferramentas como Web Historian, que criar relat rios de visitas. No entanto, a o esse procedimento n o far a associacao do hist rico ao conte do do cache armazenado em a a o u disco, que est localizado em a X:\Documents and Settings\<usurio>\Configura~es locais\Dados de a co aplicativos\Mozilla\Firefox\Profiles\<nome\_aleatrio>.default\Cache o Um esquema para visualizar o conte do do cache do Firefox e provido pelo comando u about:cache, digitado no campo de URL do navegador1 . Visualizaremos uma p gina cona tendo informacoes diversas sobre o cache na mem ria e no disco, como n mero de registros o u em cada dispositivo, total reservado para uso e total alocado atualmente. Por exemplo, ao acessar a listagem do cache do disco, temos informacoes pertinentes a cada item de hist rico: o URL; Tamanho; Contador de acessos; Data de modicacao; Data de expiracao; Informacoes de cabecalho HTTP. Uma quest o importante para a investigacao e o campo data de expiracao: se estivermos a interessados em um item, o qual localizamos por meio do comando about:cache, mas cuja data de expiracao estiver vencida, n o ser possvel acessar esse item dessa forma. E mais, ap s a a o a tentativa de acesso do item vencido, o Firefox ir remover esse item do cache. Portanto, a temos de buscar outra forma de acessar esses itens. Mas antes, vamos descrever como e estrutura de cache do Firefox. Estrutura do Cache O acesso ao cache do Firefox e feito pelo diret rio listado acima. H diversos arquivos o a nesse diret rio, mas eles formam tr s tipos b sicos de informacao de cache, como apresenta a o e a Tabela 5.3. O arquivo de mapeamento do cache, CACHE MAP , e o principal elemento de cache do Fi refox. Nesse arquivo existe um cabecalho e diversos buckets, estes ultimos contendo registros para os itens de cache. Dessa forma, a localizacao de qualquer item do cache e encontrada
1

Fonte: documentao ocial do Mozilla Firefox, dispon ca vel em http://br.mozdev.org/firefox/

arquivos-do-cache

Histrico e Cache o

56

Quantidade 1 3 Vrios a

Item Arquivo de mapeamento Arquivo de bloco Arquivo de dados separado

Nome no disco CACHE MAP CACHE 00N Depende do valor de hash associado

Tabela 5.3: Estrutura de cache do Mozilla Firefox (adaptado de [Jones and Belani, 2005]) nos buckets do arquivo de mapeamento. Para cada registro de item do cache s o denidos ala guns campos, como n mero de hash, localizacao de dados, de meta-informacoes e n mero de u u requisicoes do item. Feito o mapeamento de itens do cache, para armazenar o seu conte do o Firefox adota duas u polticas [Jones and Belani, 2005]: Armazenar em arquivo de bloco encapsulao item de cache em um dos tr s arquivos e de bloco descritos na Tabela 5.3. Armazenar em arquivo separado quando o arquivo e grande demais para ser armaze nado dentro de um arquivo de bloco, ele e armazenado separadamente no diret rio de o cache, com um nome denido pelo seu valor de hash. Uma averiguacao no diret rio de o cache mostra que e comum haver diversos itens de cache gravados como arquivos separados. Ferramenta ` Voltando a quest o do acesso a itens do cache do Firefox, especialmente itens vencidos, a existe uma ferramenta que nos permite acessar e copiar qualquer item de cache: Cache View ferramenta que permite ao usu rio acessar, copiar e mover qualquer item do a cache do Firefox e do IE. O programa exibe diversas informacoes a respeito dos registros, como datas, nomes em disco e URL. A vantagem do Cache View sobre o simples uso do comando about:cache e que ele permite que praticamente qualquer item do cache seja acessado, a n o ser que o item n o exista em a a cache. Nesse caso, h o registro para o item, mas ele n o est disponvel, possivelmente devido a a a ` as limitacoes de espaco destinado ao cache (50 MB, por exemplo), o que obriga o Firefox a ` adotar uma substituicao de itens a medida em que for necess rio. a

Concluses o

57

5.2.4

Mtodo GET em Consultas da Web e

A maneira como dados s o submetidos em formul rios pode deixar rastros no hist rico de a a o um navegador, provendo uma fonte de informacoes uteis. O campo method de um formul rio a indica o seu m todo de processamento: caso seja declarado como GET, as informacoes pree ` sentes nos campos de um formul rio de p gina da Web ser o enviadas junto a URL do script a a a a ser processado [Berners-Lee and Conolly, 1995]. Por exemplo, a pesquisa pelo termo forensicsno site de busca Google gera o URL http://www.google.com.br/search?hl=pt-BR&q=forensics&btnG=Pesquisa+ Google&meta= o qual ser armazenado desta forma no hist rico. Isto s e v lido para formul rios cujo a o o a a m todo de requisicao seja GET. O m todo POST n o gera p ginas hipertexto com esse aspecto e e a a na URL do formul rio. a

5.3

Concluses o

A reconstrucao do hist rico de visitas a sites e feita com base no cache, hist rico e cookies o o de navegador, sendo um valioso recurso que pode permitir o esclarecimento de um incidente de seguranca ou crime de computador. Apesar disso, experimentos realizados com cookies t m e mostrado que e difcil extrair informacoes conclusivas deles, mas n o e descartada a hip tese. a o Em seq encia, as diculdades que um investigador possivelmente ter de enfrentar est o u a a ` ligadas, em um primeiro momento, a habilidade requerida para compreender a estrutura e funcionamento do hist rico e cache, e ser capaz de extrair essa informacao. Alguns navegadoo res s o desenvolvidos com arquitetura fechada, o que imp e um certo nvel de diculdade de a o percia manual, mas que pode ser auxiliada por ferramentas diversas, como as que citamos neste captulo. Em um segundo momento, surgem necessidades de estabelecer provas ou indcios sucien tes que provem que um determinado usu rio foi ou n o o indivduo respons vel pelos acessos. a a a Isso requer investigar pessoas, al m do pr prio sistema. Se houver indcios de que o usu rio e o a dono da conta no sistema comprometido n o for o autor verdadeiro das acoes ilcitas, uma boa a ` poltica e procurar saber de que forma o intruso poderia ter tido acesso as informacoes da conta de login (explorando vulnerabilidades no sistema, usando de engenharia social etc.). No pr ximo captulo continuaremos a busca por informacao armazenada no sistema inveso ` tigado, especicamente discutindo quest es ligadas a recuperacao de dados em v rios nveis de o a abstracao.

Cap tulo 6 Forense em Sistemas de Arquivos


Neste Captulo, s o descritos fundamentos de recuperacao de dados levando em conta as a pectos da estrutura de sistemas de arquivos e de camadas de abstracao. S o exibidos alguns a locais onde podem ser encontrados dados ocultos, tanto pelo sistema de arquivos como em um nvel de abstracao mais baixo. Por m, e apresentada uma discuss o a respeito da forense em a CD-ROM.

6.1

N veis de Abstrao ca

Os diversos sistemas de arquivos usados atualmente (e.g., FAT, NTFS, ext2) proporcionam um modelo de armazenamento de informacoes computacionais. Arquivos s o estruturas l gicas a o criadas pelos sistemas de arquivos com objetivo de facilitar a manipulacao de dados computa cionais atrav s de nveis de abstracao mais elevados. Nveis de abstracao mais elevados signie cam a superposicao de camadas de abstracao para tornar as acoes e percepcoes dos dados mais ` parecidos a organizacao dos seres humanos. A Figura 6.1 ilustra como se d esse modelo de abstracao desde a mdia fsica (sem a ` abstracao) passando pelo sistema de arquivos chegando a abstracao presente nos programas aplicativos. Um aspecto importante para a investigacao forense que essa alta abstracao traz e, de uma certa fora, uma perdado real signicado da informacao, pois passamos a ver a ` informacao com diversas camadas, uma sobreposta a outra. Isso provoca uma ilus oreferente a aos dados em sua forma mais b sica, isto e, em sua forma bin ria [Farmer and Venema, 2004]. a a Eventualmente, durante o processamento realizado para converterdados de uma camada de abstracao a outra camadas podem ser introduzidos erros. Uma ferramenta mal projetada pode gerar erros devido a, por exemplo, interpretacao incorreta dos dados da camada ante rior ou implementacao com erros. O investigador tamb m tem de interpretar corretamente as e informacoes fornecidas por ferramentas ou quando est extraindo dados manualmente. Uma a boa poltica e, sempre que possvel, realizar os experimentos com mais de uma ferramenta para diminuir a probabilidade de erro e tornar as conclus es mais seguras. o 58

Conceitos de Recuperao de Dados ca

59

Figura 6.1: N veis de abstrao do hardware a programas aplicativos (adaptado de ca [Carrier, 2003]) Segundo [Carrier, 2003], uma camada de abstracao e uma esp cie de funcao que converte e uma entrada em uma sada por meio de um conjunto de regras. Esse conjunto de regras dene como as entradas s o convertidas em sada. A Figura 6.2 ilustra o processo envolvido em camaa das de abstracao. Tomemos por exemplo a convers o de dados bin rios em sua representacao a a ASCII. A entrada corresponde ao dados bin rios, a sada corresponde ao texto ASCII gerado. a As regras de convers o determinam como e realizado o mapeamento de um byte em sua corresa pondente representacao alfanum rica ASCII. e

Figura 6.2: Converso de dados entre camadas de abstrao (adaptado de [Carrier, 2003]) a ca Posteriormente, o texto ASCII, em conjunto com especicacoes da linguagem HTML, pode ser convertido em um documento hipertexto exibido por um navegador de Internet, gerando uma nova camada de abstracao. Neste caso, a entrada e o texto ASCII e o conjunto de regras s o as especicacoes HTML para gerar um documento hipertexto exibido pelo navegador. A a Figura 6.1 mostra as camadas envolvidas na geracao de um documento HTML. Esse exemplo visa mostrar que a sada de uma camada pode ser usada como entrada em outra [Carrier, 2003].

6.2

Conceitos de Recuperao de Dados ca

A recuperacao de dados computacionais e um dos recursos mais valiosos e explorados em exames forenses. Durante o uso normal de sistemas operacionais como Windows e Linux, a delecao de um arquivo n o signica que essa informacao foi eliminada denitivamente; e a

Conceitos de Recuperao de Dados ca

60

possvel recuper -la na maior parte das vezes. Quando um arquivo e deletado, seus dados ainda a permanecem no disco por algum tempo - dependendo de fatores como taxa de criacao de novos arquivos - e podem ser recuperados. Para recuperar qualquer informacao deletada podemos usar ferramentas de recuperacao de dados, disponveis nos mais variados sabores. N o obstante, e importante conhecer a meto a dologia envolvida na recuperacao de dados, tanto para saber qual ferramenta usar em cada caso, quanto para eventualmente realizar uma recuperacao manual no disco em nveis mais baixos de abstracao (por exemplo, executando operacoes de raw I/O ou ignorando limitacoes impostas pelos sistemas de arquivos). Para entendermos as id ias principais que permitem a recuperacao de informacoes em e mdias computacionais, e importante fazer uma breve exposicao a respeito de alguns aspec tos da estruturacao da informacao nessas mdias. Antes de adotar um ou mais sistemas de arquivos em uma mdia como um disco rgido, e necess rio estabelecer quais particoes constituir o o disco. As particoes indicam quanto de a a espaco do disco ser alocado a cada uma delas no disco. Informacoes sobre cada particao, como a tamanho, sistema de arquivos etc. cam localizadas na chamada tabela de particoes. A tabela de particoes est inserida na area do MBR (Master Boot Record) do disco, o qual est localizado no a a primeiro setor do disco1 [Casey, 2004]. A Figura 6.3 ilustra a distribuicao de espaco e estrutura em disco de duas particoes formatadas com sistema FAT.

Figura 6.3: Estrutura de disco com duas partioes FAT (adaptado de [Casey, 2004]) c Ap s a criacao das particoes, e possvel format -las com algum sistema de arquivos. A o a formatacao dene que area ser ocupada pelo sistema de arquivos na particao, criando o con a ceito de volume. Ainda na Figura 6.3, note que h o chamado setor de boot, que ca situado no a primeiro setor de um volume [Bunting and Wei, 2006]. Nesse setor, h diversas informacoes a a respeito do sistema de arquivos, como (tomando por exemplo uma particao FAT) [Casey, 2004]: Total de bytes por setor - 512, geralmente;
1

Para se referir ao primeiro setor do disco, alguns autores adotam a numerao a partir de 0 (zero), ca

enquanto outros preferem numerar a partir de 1 (um).

Conceitos de Recuperao de Dados ca

61

Quantia de setores que comp e um bloco (cluster) - 8K, 16K, 32K etc.; o N mero de c pias da tabela FAT (incluindo a c pia prim ria); u o o a N mero de setores por trilha (cilindro); u Total de setores ocupados por cada tabela FAT. Note que a c pia secund ria da tabela FAT e mantida como c pia de seguranca da tabela o a o principal (tamb m denominada de c pia prim ria), caso esta ultima sofra danos ou corrupcao. e o a Nesse ponto, cabe fazer uma avaliacao de efeitos da estruturacao de dados impostas pelos sistemas de arquivos. Ao formatar uma particao com um sistema de arquivos, pode ocorrer de esse sistema de arquivos n o alocar todo o espaco da particao. Quando isso ocorre, surge o a chamado volume slack, que consiste em uma forma de espaco subaproveitado [Casey, 2004]. Por outro lado, o ponto inicial de alocacao de dados em uma particao geralmente inicia-se no comeco de alguma trilha do disco [Casey, 2004]. Portanto, entre o nal de uma particao e o comeco da seguinte, pode haver espaco livre, denominado de partition slack. E importante que durante uma an lise forense sejam averiguados esses espacos subaproveia tados, uma vez que existe a possibilidade de informacoes importantes ao caso em investigacao serem escondidas nesses locais. Sob a otica da recuperacao de arquivos, alguns aspectos da estruturacao de dados imple mentada pelos sistemas de arquivos permitem algumas consideracoes relevantes. Quando um arquivo e apagado, sua entrada no sistema de arquivos e atualizada para indicar isso. Dessa forma, os blocos de dados que antes ocupava s o desalocados e podem ser utilizados por noa vos arquivos [Casey, 2004]. No entanto, a informacao permanece no disco. Frequentemente, e possvel recuperar por completo um arquivo apagado imediatamente ap s a sua exclus o. Seus o a dados permanecer o no disco enquanto n o forem sobrescritos por novos dados. a a Quando arquivos novos s o criados, e comum serem alocados blocos de dados que antes a faziam parte de arquivos apagados. Se durante alocacoes mais recentes n o for necess rio a a alocar blocos por completo, uma parte de arquivos antigos permanecer no disco, constituindo a o le slack. Essa situacao e ilustrada na Figura 6.4. O le slack e uma outra forma de espaco subaproveitado e pode ocupar um ou mais setores no disco, dependendo da relacao entre a quantidade de informacao armazenada no bloco que cont m esse espaco e o tamanho de bloco e denido para a particao.

Sistemas de Arquivos

62

Figura 6.4: Espao subaproveitado em um arquivo (le slack ) c

6.3
6.3.1

Sistemas de Arquivos
FAT

O sistema de arquivos File Allocation Table (FAT) existe em tr s vers es: FAT12, FAT16 e e o FAT32. A numeracao diz respeito ao tamanho das entradas na tabela FAT. No sistema FAT12 cada bloco de dados e identicado por uma entrada de 12 bits na tabela FAT, no FAT16 s o a usados 16 bits, e, por m, no FAT32 cada entrada e identicada por 28 bits (4 dos 32 s o a reservados) [Bunting and Wei, 2006]. FAT12 e usado principalmente em disquetes. Em seguida surgiu FAT16, que permite no m ximo 216 = 65 536 blocos enderecaveis, o que foi logo uma limitacao para a crescente capaa cidade dos discos rgidos2 . E assim surgiu a FAT32, capaz de enderecar um n mero muito maior u de blocos, permitindo menor desperdcio de espaco, pois foi possvel usar blocos de dados de tamanho menor. Uma particao formatada com sistema FAT possui tr s areas diferenci veis, ilustradas na e a Figura 6.5. A seguir, uma breve descricao dessas areas [Bunting and Wei, 2006]:

Figura 6.5: A estrutura do sistema FAT (adaptado de [Carrier, 2005])

Area reservada - corresponde ao setor de boot (ou volume boot sector) e pode ocupar 1 ou mais setores, dependendo da vers o do sistema FAT. a Tabela FAT - descreve quais blocos de dados est o em uso, e, se estiverem, qual e o pr ximo a o bloco no encadeamento.
2

Para se ter uma idia, um disco de 2GB formatado com FAT16 exigia blocos de tamanho 32KB para e

poder enderear o mximo nmero de clusters, o que representava um desperd em sistemas onde havia c a u cio muitos arquivos de tamanho relativamente pequeno.

Sistemas de Arquivos Area de dados - armazena blocos de dados de arquivos e entradas de diret rios o

63

Para localizar uma informacao, o sistema FAT usa de diret rios e da tabela FAT. O diret rio o o raiz tem localizacao xa estabelecida no setor de boot da particao que o cont m, a m de que e o sistema operacional seja capaz de encontr -lo [Casey, 2004]. Dessa forma, e possvel acessar a qualquer arquivo situado no diret rio raiz ou em outro subdiret rio encontrando o seu respectivo o o bloco inicial. Um subdiret rio e um tipo especial de arquivo que cont m informacoes a respeito o e do seu conte do, como: nomes, data e hora, tamanho, bloco inicial etc. a respeito de seus u arquivos. Na tabela FAT cada bloco da area de dados e identicado por uma unica entrada. Se o valor de uma entrada for maior que zero, ent o o bloco a que ela faz refer ncia est alocado a algum a e a arquivo. Se o valor for zero, o bloco est disponvel para ser novas alocacoes. Dessa forma, a quando um arquivo ou diret rio e apagado, as entradas dos blocos que utilizava s o marcadas o a como zero [Bunting and Wei, 2006]. A Figura 6.6 corresponde a um trecho de uma tabela FAT.

Figura 6.6: Trecho de um tabela FAT [Bunting and Wei, 2006] Quando uma entrada possui valor maior que zero, esse valor indica a pr xima entrada a ser o lida no encadeamento de blocos de um dado arquivo ou diret rio [Casey, 2004]. Assim, a leitura o de um arquivo ou diret rio na FAT busca o endereco do seu bloco inicial na tabela FAT e l o o e bloco de dados no disco. Terminada a leitura do bloco inicial, e vericado na entrada na tabela FAT se h mais blocos a serem lidos. Se a entrada do bloco lido estiver marcada com EOF, o a arquivo n o tem mais blocos a serem lidos, e a leitura encerra nesse ponto. Caso contr rio, a a a entrada do bloco inicial indicar o endereco do pr ximo bloco a ser lido. O processo continua a o at que seja lida uma entrada de bloco contendo EOF, que ser o ultimo bloco do arquivo, e a encerrando a leitura. H basicamente duas fontes de dados quando pensamos na recuperacao de arquivos em um a sistema FAT: espaco n o alocado e espaco subaproveitado (slack space). a

Sistemas de Arquivos

64

Recuperao de Dados em Espao no Alocado ca c a Para recuperar arquivos apagados, devemos procurar nomes de arquivos cujo primeiro ca ractere seja a letra grega sigma (0xE5), que e o caractere usado pelo sistema FAT para indicar que um arquivo foi excludo. Encontrado o arquivo que queremos recuperar, substitumos o sigma por outro caractere (geralmente e usado o caractere sublinha( ) para tal). Na entrada de diret rio do arquivo excludo h algumas informacoes importantes, como a o a localizacao do bloco inicial e tamanho do arquivo [Casey, 2004]. Assim, sabendo o tamanho do arquivo, a localizacao do seu bloco inicial e o tamanho de bloco denido na particao FAT (8K, 16K etc.), e possvel determinar quantos blocos o arquivo ocupava. Por exemplo, suponha que o arquivo excludo comecava no bloco 150 e tinha tamanho de 40 960 bytes. A particao que o continha foi formatada com blocos de tamanho 8K (8 192 bytes), dessa forma para armazenar o arquivo foram necess rios 40 960/8 192 = 5 blocos. a Sabendo quantos blocos o arquivo ocupava, podemos reconect -los a partir do bloco inicial. a Se algum dos blocos na seq encia n o tiver sua entrada marcada com 0 na tabela FAT, signica u a que o bloco foi alocado a um arquivo novo [Bunting and Wei, 2006]. Por conseguinte, ser a inserida informacao n o relacionada ao arquivo que estamos tentando recuperar. a Esse e o processo geralmente usado pelas ferramentas de recuperacao de arquivos. Esse esquema de recuperacao presume que os blocos ocupavam posicoes consecutivas no disco, o que nem sempre ocorre. Se o arquivo estiver fragmentado, o arquivo tem de ser recuperado manualmente, tentando determinar quais blocos faziam parte do encadeamento original. Esse e um processo trabalhoso e que requer estabelecer crit rios para tentar determinar de que forma e blocos desalocados poderiam estar relacionados ao arquivo que queremos recuperar. Uma busca por classes de caractersticas relacionadas ao tipo de dados do arquivo pode auxiliar, como eventuais segmentos de cabecalho espalhados pelo arquivo. Quando um diret rio e excludo, consequentemente os arquivos que estavam contidos nele o tamb m o s o, e os blocos de disco que estavam atribudos a ele e aos seus arquivos s o marcae a a dos como disponveis. Se o bloco de disco antes alocado ao diret rio for usado, ser o perdidas o a as entradas dos arquivos antes contidos nesse diret rio [Casey, 2004]. Por outro lado, caso os o blocos de dados dos arquivos n o estiverem sido alocados, e possvel recuperar essa informacao. a No entanto, n o dispomos das entradas de diret rio desses arquivos, o que impossibilita saber o a o bloco inicial de cada um e outras informacoes como data e hora. Nesse caso, para reconstruir os arquivos e necess rio mold -losnovamente, isto e, tena a tar encontrar seu bloco de disco inicial para restabelecer sua cadeia de blocos de forma ma nual. Esse processo e denominado de le carving, e basicamente consiste em buscar por caractersticas peculiares (n mero m gico, rodap , e.g.) de tipos de dados que queremos recuperar u a e no disco. Por exemplo, se queremos recuperar uma imagem JPEG que pertencia ao diret rio excludo, o

Sistemas de Arquivos

65

podemos buscar pelo n mero m gico do JPEG, que e 0xFFD8FF3 . Encontrando o bloco inicial, u a basta fazer como na leitura de um arquivo at encontrar EOF. Dessa forma o arquivo pode e ser extrado para alguma mdia no sistema forense, a m de evitar criar uma nova entrada de diret rio para o arquivo na mdia em an lise (o que poderia sobrescrever eventuais evid ncias). o a e Nessa situacao, foi suposto que os blocos alocados pelos arquivos estavam intactos, isto e, ainda n o haviam sido alocados a novos arquivos. No entanto, e importante saber que durante a a moldagem de espaco n o alocado nem sempre ser o encontrados cabecalhos intactos. Parte a a do espaco antes ocupado por arquivos pode ter sido alocada a outros arquivo no disco. Diante disso, o cabecalho pode car fragmentado ou ser completamente perdido. Para tentar recuperar (e reconhecer) os pedacos de informacao contida em blocos do arquivo antigo que ainda n o foram alocados e necess rio procurar por informacoes caractersticas de a a tipos de dados em fragmentos do espaco n o alocado, como data e hora de documentos Word, a frames de arquivos MP3 etc. [Carvey, 2004]. Essa t cnica de extracao de dados em sua forma e crua (raw data) ser estudada com mais detalhes no Captulo 7, referente ao prot tipo de an lise a o a na swap que desenvolvemos neste trabalho. Recuperao de Dados em Espao Subaproveitado ca c Nos espacos subaproveitados podem ser recuperados fragmentos de dados excludos, mas raramente e possvel reconstru-los em arquivos completos [Casey, 2004]. No entanto, se um arquivo pequeno sobrescreveu um arquivo grande, e possvel recuperar grande parte do arquivo anterior. Informacao textual, como, por exemplo, fragmentos de arquivos de texto ASCII e de documentos HTML, e mais f cil de ser recuperada, visto que e mais reconhecvel ao ser a humano. O mesmo esquema de le carving pode ser aplicado aqui: como possivelmente o n mero u m gico, cabecalho etc. estar o fragmentados ou perdidos, deve ser conduzida uma pesquisa a a para tentar recuperar trechos de informacao com base em caractersticas comuns aos tipos de arquivos procurados.

6.3.2

NTFS

O sistema de arquivos New Technologies File System (NTFS) foi desenvolvido pela Microsoft para substituir os antigos sistemas FAT, e originalmente para ser usado como sistema de arquivos nativo do Windows NT (sendo utilizado tamb m no Windows 2000/XP). e O NTFS usa enderecamento em disco de 64 bits, permitindo teoricamente 264 blocos de disco [Tanenbaum, 2003b]. O NTFS permite que sejam aplicados crit rios de seguranca individual, e compress o e criptograa de arquivos. a
3

Esse o trecho de nmero mgico que toda forma de JPEG deve ter. No entanto, na implementao e u a ca

JPEG/JFIF uma imagem JPEG pode ser localizada pelo nmero mgico 0xFFD8FFE0. u a

Sistemas de Arquivos

66

No NTFS tudo e arquivo: a porcao de dados que mant m informacao essencial do sistema, e como mapeador de blocos alocados no disco, e implementada em arquivos. No sistema FAT existe a tabela FAT para manter registro dos blocos de dados alocados; no NTFS isso e feito por arquivos especiais denominados arquivos de metadados. A unica separacao estabelecida em um volume NTFS e entre os setores de boot e a area de arquivos [Carrier, 2005]. A tabela mestre de arquivos ou MFT (Master File Table) e o elemento principal de um volume NTFS, pois cont m informacoes a respeito de todos os arquivos e diret rios. A e o MFT e uma estrutura de dados que armazena seus registros de forma seq encial e linear u [Tanenbaum, 2003b]. Cada arquivo e diret rio devem ter ao menos uma entrada (registro) na o MFT. O tamanho de qualquer registro na MFT e 1KB4 . Um registro e composto por diversos atributos, usados para identicar caractersticas de cada arquivo e diret rio, como nome, marcas de tempo, lista de enderecos de blocos que ocupam no o disco etc. Cada atributo e composto pelo par (cabecalho do atributo, valor do atributo). A estrutura de um registro e ilustrada na Figura 6.7. O primeiro atributo de um registro e o seu cabecalho. A seguir, vem os diversos atributos que um arquivo pode ter (nem todos s o obrigat rios). Internamente a um registro, alguns exemplos a o de atributos s o $STANDARD INFORMATION, $FILE NAME e $DATA. Observando ainda a a Figura 6.7, podemos notar que e possvel que no m de um registro haja espaco livre, para o caso de as informacoes de atributos n o preencherem toda a capacidade de um registro (1 KB). a Como o tamanho de um registro na MFT e de 1KB, pode ocorrer de n o ser possvel armaa zenar um atributo grande nesse registro. Nesse caso, e inserido um ponteiro e o valor do atributo e armazenado em outro lugar do disco [Tanenbaum, 2003b]. Atributos armazenados foram do seu registro origin rio (chamado tamb m de registro-base) s o denominados de atributos n o a e a a residentes. Por outro lado, se um atributo puder ser armazenado no registro a que pertence, ele e chamado de atributo residente. Arquivos pequenos podem ser armazenados dentro da sua entrada na MFT devido a essa caracterstica. J arquivos grandes precisam de ser armazenados em blo a cos do disco, sendo localizados por meio de ponteiros denidos no atributo de dados ($DATA) do arquivo. Importante observar que arquivos de metadados tamb m possuem atributos e dados e da mesma forma que arquivos comuns. Os 16 primeiros registros na MFT s o reservados pelo sistema para armazenar os arquivos de a metadados, que s o registros para prop sitos de gerenciamento do volume NTFS. A Tabela 6.1 a o exibe o nome dos registros e uma breve descricao de cada. Notemos que na Tabela 6.1, que os registros de 0 a 15 iniciam com $para indicar que ` representa um arquivo de metadados. Al m disso, o primeiro registro (registro 0) corresponde a e entrada da pr pria MFT, que indica onde no disco est localizada a MFT, isto e, em quais blocos o a
4

O tamanho de uma entrada na MFT na verdade denido no setor de boot, no entanto a Microsoft e

implementa registros de 1KB em todas as verses [Carrier, 2005]. o

Sistemas de Arquivos

67

Figura 6.7: A estrutura de um registro da MFT com seus pares de (cabealho de atributo, c valor) (adaptado de [Carrier, 2005]) (1 KB) ... 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ... Primeiro arquivo de usurio a (Reservado para uso futuro) (Reservado para uso futuro) (Reservado para uso futuro) (Reservado para uso futuro) $Extend Extenses o $Upcase Tabela de converso maisculas a u $Secure Descritores de segurana para todos os arquivos c $BadClus Lista de blocos clusters defeituosos $Boot Carregador do boot $Bitmap Mapa de bits dos blocos usados $ Diretrio-raiz o $AttrDef Denioes de atributos c $Volume Arquivo de volume $LogFile Arquivo de registro de eventos para recuperao ca $MftMirr Cpia espelho da MFT o $Mft Tabela de arquivos-mestre

Tabela 6.1: Tabela de arquivos-mestre do NTFS [Tanenbaum, 2003b] (clusters). A localizacao desse registro ($Mft) e mantida no setor de boot (que ca localizado sempre no primeiro setor do volume NTFS), para que o sistema operacional possa encontr -lo a e, assim, determinar o layout da MFT [Carrier, 2005]. Como tudo em NTFS e um arquivo, a MFT tamb m o ser . Ela n o precisa estar localie a a zada necessariamente em uma trilha predenida (e.g., primeira trilha). Portanto, ela pode ser armazenada em outro local do disco caso a sua localizacao normal esteja corrompida. A MFT poderia estar localizada, digamos, nos intervalos de blocos de 4045 e 5254. Assim como no sistema FAT, setores de disco s o agrupados em unidades maiores denominadas clusters, a

Sistemas de Arquivos

68

podendo variar de 512 bytes a 64 KB [Tanenbaum, 2003b]. A seguir, descreveremos alguns pontos que podem ser analisados forensicamente, pois s o a bons candidatos a fornecerem evid ncias. e Alternate Data Streams Todo arquivo e diret rio no NTFS e constitudo de v rios atributos. Cada atributo correso a ponde a um uxo de dados, podendo ser curto (nome do arquivo, sua ID unica etc.), ou longo, como atributo de dados ($DATA). Quando existe apenas 1 uxo de dados no atributo $DATA, esse uxo n o recebe nenhum nome. Podem existir 2 ou mais uxos referenciados no atributo a $DATA, denominados de alternate data streams (ADS) [Tanenbaum, 2003b]. Por m, esses uxos alternativos devem receber nomes a m de diferenci -los entre si e do e a uxo prim rio. Por exemplo, suponha que exista um arquivo chamado ge esse arquivo posa sua um outro uxo de dados denominado stream1. Dessa forma, o uxo prim rio e acessado a simplesmente abrindo o arquivo da forma usual, uma vez que esse uxo n o possui nome. Para a acessar o uxo stream1, e preciso cham -lo pela notacao g:stream1. a Os uxos foram criados originalmente para diversos ns, como permitir a compatibilidade entre servidores NTFS e clientes Macintosh. Outra situacao onde uxos alternativos s o usados a e em processadores de texto, que podem manter uma vers o tempor ria para usar durante a a a edicao, e uma nal para quando o usu rio terminar a edicao. Nesse caso, a vers o tempor ria a a a corresponderia ao uxo com nome, enquanto que a vers o nal corresponderia ao uxo sem a nome. O tamanho m ximo de um uxo e 264 bytes [Tanenbaum, 2003b]. a Os ADS s o potenciais locais de ocultacao de evid ncias. E possvel esconder qualquer a e tipo de informacao em uxos alternativos, desde programas execut veis a arquivos de texto. H a a diversas ferramentas para realizar a procura por ADS, os quais podem estar associados tanto a arquivos como diret rios. Exemplos de ferramentas de linhas de comando para detectar ADS: o List Alternate Data Streams (LADS) Streams ` Uma observacao importante cabe fazer quanto as ADS de arquivos copiados de um volume NTFS para um volume formatado com outro sistema de arquivos. Se o sistema de arquivos destinat rio n o suportar m ltiplos uxos, como acontece no sistema FAT, os ADS ser o perdidos a a u a [Berghel and Brajkovska, 2004]. Aspectos do Sistema de Criptograa do NTFS Como mencionamos, existe um recurso nativo de criptograa do conte do de arquivos ou u diret rios de um volume ntfs. Primeiramente, e gerada uma chave aleat ria de 128 bits usada o o

Busca por Evidncias Ocultas e

69

pelo algoritmo de criptograa sim trica (algoritmo DESX) [Carrier, 2005]. Todos os blocos de e dados do arquivo s o cifrados com a mesma chave [Tanenbaum, 2003b]. Em seguida, a pr pria a o chave e criptografada (por chave p blica) e armazenada no disco. u Para decifrar um arquivo, e buscado a sua chave aleat ria de 128 bits no disco. E preciso o decifrar a chave: para isso o usu rio deve fornecer a sua chave privada gerada no processo de a criptograa [Tanenbaum, 2003b]. Em seguida, a chave e usada para decifrar os blocos de dados do arquivo. ` Segundo [Carrier, 2005] existe uma falha no projeto do NTFS devido a geracao de um ar quivo tempor rio no disco (efs0.tmp) com o conte do (n o criptografado) do arquivo que est a u a a sendo criptografado. Ap s o sistema operacional terminar de criptografar o arquivo original, o o arquivo tempor rio e apagado, mas n o sofre wipping (exclus o com seguranca). Portanto, se a a a o registro na MFT desse arquivo ainda n o tiver sido sobrescrito (uma vez que esse espaco a tornou-se disponvel para ser realocado), e possvel recuper -lo. O arquivo de swap tamb m a e pode conter c pias n o criptografadas dos dados. o a

6.4

Busca por Evidncias Ocultas e

Dados podem estar ocultos no disco sob diversas formas. Uma forma prim ria e alterar o a atributo de um arquivo para oculto(hidden). Uma segunda maneira simples e alterar a extens o do arquivo no Windows, tentando ocultar o seu tipo verdadeiro de dados, com objetivo a de desviar a atencao. A primeira vista, essa acao pode ter algum efeito no Windows, visto que ` esse sistema associa o programa respons vel pela abertura de arquivos com base na extens o a a deste, deixando a vericacao entre tipo de arquivo e arquivo aberto a cargo do programa cha mado pelo Windows. Essa acao, no entanto, n o teria efeito em sistemas Unix, visto que nesses a sistemas e vericado o cabecalho do arquivo para determinar o seu tipo de dados. Apesar dessa forma de associacao entre arquivo e programa estabelecida pelo Windows, existem diversas ferramentas (e.g., EnCase) que fazem a leitura do cabecalho de um arquivo para vericar se a extens o corresponde ao conte do encontrado. Isso elimina o problema. a u Tendo algum conhecimento sobre cabecalhos de arquivos - n mero m gico, por exemplo, e u a possvel, tamb m, vericar em qualquer editor hexadecimal se a correspond ncia est correta. e e a Por outro lado, e importante ter conhecimento de outra forma de ocultacao de informacao que pode ocorrer. Um indivduo pode, al m de modicar a extens o de um arquivo, deliberada e a mente alterar bytes do seu cabecalho. O reconhecimento do arquivo original j seria uma tarefa a mais complexa, dependendo de como o cabecalho foi alterado. Nesse caso, um conhecimento apurado de cada parte constituinte do cabecalho de um determinado tipo de dado (imagem JPEG, por exemplo) e uma an lise estatstica do cabecalho podem ajudar o reconhecimento a manual de tipos de dados mascarados por essa t cnica. Dependendo do nvel de alteracao reae

Busca por Evidncias Ocultas e

70

lizado no cabecalho, pode ser necess rio reconstru-lo manualmente [Carvey, 2004]. a Essas formas de ocultar informacoes descritas presumem que existem um ou mais arqui vos alocados no disco, com entradas de diret rio etc. No entanto, e importante salientar que o informacoes podem estar escondidas em areas n o usuais ou de difcil acesso do disco. Um a exemplo tpico e armazenar informacoes nos slack spaces. Nesse caso, a informacao est dis a ponvel, mas deve ser extrada com maior cuidado, podendo ser auxiliada por ferramentas de disco (e.g., The Coroners Toolkit - TCT). H uma diversidade de locais onde pode ser encontrada informacao escondida, o que dea pende do sistema de arquivos em uso e da pr pria estrutura fsica do disco. Abaixo citamos alo guns locais onde devem ser conduzidas pesquisas por informacao oculta [Huebner et al., 2006, Casey, 2004, dos Reis and de Geus, 2002]: Setores defeituosos (bad blocks) marcados no disco - um indivduo pode ter mar cado setores normais como setores defeituosos, alterando informacoes na chamada trilha ` de manutencao do disco, que corresponde a primeira trilha no disco [Casey, 2004]. Essa trilha e usada para manter informacoes a respeito do disco, como sua geometria e seto res defeituosos atuais no disco. Uma extracao desses setores marcados como defeituosos pode revelar evid ncias ocultas, as quais n o s o acessveis pelo sistema de arquivos. e a a Espao de swap - o espaco de swap e uma area alocada no disco quando a mem ria precisa c o de mais espaco do que sua capacidade permite, copiando processos n o usados no mo a mento para o disco, e liberando espaco na mem ria principal para processos que precisam o executar no momento. Al m de ser uma fonte valiosa de possveis evid ncias digitais, o e e espaco de swap pode ser utilizado, tamb m, para a ocultacao proposital de informacoes. e O exame forense do espaco de swap ser feito com detalhes no Captulo 7. a Blocos (clusters) em excesso alocados a um arquivo - e possvel que um usu rio a aumente a quantidade de blocos alocada a um arquivo, alterando seu registro na MFT do sistema de arquivos NTFS. Se arquivo necessita de 5 clusters, por exemplo, e, no en tanto, est o alocados a ele mais clusters, e possvel que os clusters em excesso contenham a informacoes escondidas. Slack space - os espacos subaproveitados tamb m podem conter dados ocultos deliberada e mente, seja no volume slack, partition slack ou no le slack. A ocultacao de dados nos le slacks e, no entanto, uma pr tica n o muito interessante para quem oculta os dados, a a uma vez que o crescimento de um arquivo potencialmente ir sobrescrev -los. a e Clusters no alocados - e possvel que dados estejam escondidos em espacos n oa a alocados no disco. No entanto, essa t cnica e bastante inecaz e provavelmente n o e a ser utilizada, uma vez que a probabilidade de esses dados escondidos sejam sobrescritos a e muito alta.

Forense em CD-ROM

71

Blocos defeituosos (bad clusters) marcados no NTFS - al m da possibilidade de e marcar setores normais como defeituosos pela trilha de manutencao do disco, e possvel marcar setores perfeitos como sendo defeituosos na MFT de um volume NTFS. Dessa forma, e possvel que esses setores contenham evid ncias escondidas deliberadamente. e Alternate data streams no NTFS - esse recurso, descrito anteriomente neste Captulo, permite embutirum arquivo em outro, sem alterar seu tamanho. Portanto, e um mecanismo atraente para um atacante ocultar dados. Recuperar dados ocultos n o e uma tarefa f cil, no entanto. E preciso saber onde procurar; a a pistas podem aparecer observando se h anomalias nas areas descrita acima. Um exemplo e a quando o sistema operacional detecta blocos defeituosos (bad blocks) antes do disco rgido ` [Huebner et al., 2006]. Um segundo problema e quanto a diculdade de reorganizar os blocos de dados ocultos que foram recuperados. Se os dados estiverem espalhados pelo disco de forma aleat riae sem cabecalho, a recuperacao e reorganizacao dessa informacao torna-se muito o difcil, sen o impossvel. a

6.5

Forense em CD-ROM

A investigacao em CD-ROM (abreviado como CD) e uma tarefa forense importante atual mente, dada a popularizacao desse tipo de mdia. Desde o seu surgimento na d cada de 1980, e inicialmente como um disco para armazenamento de audio [Crowley, 2007], o custo de mdia e de aparelhos de gravacao caseiros tem se tornado cada vez menor, resultando no uso em massa de CDs (e mais recentemente dos discos de DVDs tamb m). Dadas as facilidades de mobilie dade da mdia e diversos formatos possveis de utilizacao ( udio, dados, photo-cd etc.), o seu a custo-benefcio e bastante interessante. Inicialmente, foram propostos alguns sistemas de arquivos para serem adotados em CDs, como Rock Ridge [Crowley, 2007]. Esses sistemas foram aprimorados culminando na criacao do ISO-9660, um sistema de arquivos limitado a poucos aninhamentos de diret rios e nomes o de arquivos no formato 8.3. Alguns anos depois, a Microsoft desenvolveu uma extens o para a esse sistema de arquivos, denominada Joliet[Microsoft, 1995], que permitiu diversos avancos em relacao ao ISO-9660, como nomes de arquivos e aninhamento de diret rios longos. As o sucessivas criacoes de padr es ISO e similares resultaram em dois mecanismos importantes: o discos multisess o e a denicao de discos regrav veis (CD-RW), os quais descrevemos nesta a a secao.

Forense em CD-ROM

72

6.5.1

Acesso a M ltiplas Sesses u o

Um ponto importante na an lise forense de CDs e a an lise forense de CDs que possuem a a m ltiplas sess es gravadas (multissession disc). E importante ser capaz de acessar todas as u o sess es gravadas no disco para ter acesso completo aos dados gravados no CD, pois podem o haver sess es que n o foram referenciadas na hierarquia de diret rio da sess o mais recente o a o a [Microsoft, 1995]. Um exemplo: em um disco que contenha tr s sess es, 1, 2 e 3, pode ocorrer e o de a sess o 3 (a mais recente) n o referenciar a sess o 1, mas referenciar a sess o 2. Uma a a a a listagem de conte do iria mostrar apenas o conte do das sess es 2 e 3, dando a falsa impress o u u o a que o conte do da sess o 1 n o se encontra disponvel mais. u a a Para acessarmos o conte do de todas as sess es do disco, podemos usar o software IsoBuster u o ou comandos no linux para montar a sess o que desejarmos. a Para uma an lise forense, existe um fato interessante que ocorre em alguns esquemas de a gravacao multisess o quando um arquivo de mesmo nome e gravado em sess es subseq en a o u tes. Geralmente os softwares de gravacao adotam a poltica de manter apenas a vers o mais a ` recente na hierarquia de diret rio atual - a que corresponde a ultima sess o. Se realizarmos o a ` uma listagem normaldo conte do do CD, iremos ter acesso apenas a ultima vers o gravada u a do arquivo. No entanto, as vers es anteriores do arquivo, pertencentes a sess es mais antigas, o o ainda permanecem no CD. Essas vers es podem ser de grande valia para a investigacao forense, pois guram uma fonte o de evid ncias difcil de ser eliminada e por vezes desconhecida pelo autor da informacao da sua e ` o exist ncia. O car ter permanente dessas potenciais evid ncias deve-se a pr pria caracterstica de e a e disco ROM (excetuando-se os discos regrav veis, e claro), a n o ser que a mdia seja danicada a a sicamente (arranhada, quebrada etc.).Essas vers es anteriores de arquivos podem ser obtidas o da mesma forma descrita acima para acessar sess es em CDs. o

6.5.2

Recuperao de Dados em CD-RW ca

A recuperacao de dados em CDs regrav veis e um processo mais complexo que a a recuperacao em outros tipos de mdias, como HDs e disquetes. Isso porque se um disco regrav vel n o contiver ao menos uma sess o gravada, o leitor de CD n o ler nenhuma a a a a a ` informacao do disco, devido a programacao do rmware [Crowley, 2007]. Mesmo que o disco tenha sido formatado no modo r pido (quick erase), n o e possvel ler a informacao que cou a a desde a formatacao (pelo menos na maioria dos leitores). Claro que quando e usada a formatacao completa (full erase), os dados do disco s o de a fato apagados, isto e, toda a regi o de dados e sobrescrita. Alguns softwares de gravacao de a CDs (e.g., Ahead Nero) inclusive alertam sobre a necessidade de usar formatacao completa para proteger informacoes condenciais, o que mostra alguma possibilidade na recuperacao de discos formatados no modo r pido. a

Forense em CD-ROM

73

Para uma investigacao forense, pode ser necess rio realizar a recuperacao de um disco re a grav vel. Um possvel esquema de recuperacao tem de levar em conta alguns aspectos para a atingir tal objetivo: Acesso aos dados - primeiramente e necess rio que sejamos capazes de acessar os dados na a mdia. Uma maneira para realizar isso e criando uma sess o que contenha ao menos 1 a arquivo. Esse arquivo deve ocupar todo o restante do espaco disponvel da mdia; se a mdia tiver capacidade de 700 MB, o arquivo dever ocupar um pouco menos que isso a (alguns megabytes s o usados para denir as regi es de delimitacao - lead-in e lead-out) a a o m de aumentar a eci ncia do processo de recuperacao. Lembremos que o leitor apenas e ler os dados de sess es, portanto, ele n o ler dados que est o al m da ultima sess o a o a a a e a (neste caso, a primeira e unica). Arquivo ct cio - n o podemos gravar os dados desse arquivo grande no disco, caso a contr rio estaramos sobrescrevendo os dados que queremos recuperar. Deve haver uma a entrada de diret rio para ele na qual deve ser alocado todo o espaco disponvel (com o excecao das regi es de delimitacao do disco), mas sem inserir dados do arquivo propria o mente dito na area de dados do disco. Dessa forma, criamos uma sess o que engloba toda a a area de dados do disco, o que nos permite acessar os dados que residem da formatacao realizada. Extrao de dados - ap s gravar o disco com esse formato, podemos extrair seus dados ca o para comecar a recuperar arquivos antigos. E preciso fazer uma imagem do disco (via dd, por exemplo) ou usar alguma ferramenta para extrair os blocos de dados do CD-RW5 , como o IsoBuster. Dessa forma, temos uma c pia de praticamente todos os dados que o haviam antes da formatacao (possivelmente de outras formatacoes r pidas tamb m). a e Moldagem de arquivos - um problema que surge e que n o temos a listagem dos arquia ` vos que estamos tentando recuperar (a formatacao somada a criacao da nossa sess o para a recuperacao insere uma nova listagem de arquivos), portanto temos que moldar os arqui vos (le carving) a partir dos blocos de dados que extramos. De modo similar ao le carving que descrevemos na recuperacao de dados no sistema FAT e na area de swap (Captulo 7), ele pode ser usado para moldar arquivos do CD-RW com base em suas caractersticas, como n mero m gico, cabecalho, rodap etc. u a e Claro que o uso de uma ferramenta que automatize essas tarefas seria ben co para o ine vestigador. S o muitos os detalhes necess rios para gravar essa sess o especicada, o que iria a a a
5

Em um CD-ROM, os blocos de dados so de tamanho xo 2 KB, porm alguns bytes a mais so a e a

denidos em cada bloco, destinados, por exemplo, a deteco e correo de erros, o que torna o bloco um ca ca pouco maior que 2 KB [Tanenbaum, 2003b].

Concluses o

74

requer tempo e preparo do investigador. Portanto, uma ferramenta seria importante para permi tir um processo mais agil a um nvel de abstracao mais elevado. No entanto, ao que parece essa e uma tarefa pouco explorada at o momento, o que requer o projeto de uma ferramenta desse e tipo para auxiliar a recuperacao de discos regrav veis. a

6.6

Concluses o

Vimos neste captulo que, na recuperacao de arquivos, quanto mais blocos tiverem sido sobrescritos, totalmente ou parcialmente, por novas alocacoes em disco, menos eciente e mais difcil ser a recuperacao. Portanto, podemos armar que a eci ncia diz respeito ao quanto de a e informacao original podemos recuperar. J o grau de diculdade e expresso, por exemplo, pela a perda do cabecalho (header, n mero m gico etc.) do arquivo e pela fragmentacao do arquivo u a no disco, isto e, o qu o fragmentado no disco est o arquivo. a a A perda, parcial ou completa, do cabecalho de um arquivo apresenta um nvel de diculdade a mais para recuperar uma evid ncia digital, pois muitas informacoes essenciais a respeito do e arquivo est o no seu cabecalho. Em uma imagem JPEG, por exemplo, a perda de partes do a cabecalho pode implicar a incorreta ou incapacidade de exibicao da gura pelos programas decodicadores, visto que e uma informacao fundamental para os c lculos de descompress o. a a J um arquivo de texto ASCII ou um documento Microsoft Word parcial pode ser bem mais a f cil de ser entendido, pois t m mais elementos identic veis aos seres humanos, mesmo que a e a parcialmente. A an lise de ocultacao de dados mostraram diversos locais onde poderia ser escondida uma a ` evid ncia. Possivelmente, alguns locais s o preferveis a outros devido a segurancaque podem e a proporcionar ao dado oculto, isto e, qu o difcil ser para que terceiros apaguem (um usu rio a a a da m quina vtima que formate o disco, por exemplo) ou recuperem (um investigador forense, a por exemplo) essa informacao com eci ncia. e De um modo geral, a recuperacao de dados, tanto em sistema de arquivos como em areas usadas para ocultar dados ou em CDs, pode terminar em uma busca por classes de caractersticas relativas ao tipo de arquivo que queremos recuperar. Diante disso, apresentamos no pr ximo o captulo um prot tipo desenvolvido para realizar a recuperacao de dados na area de swap de um o sistema operacional.

Cap tulo 7 Forense no Espao de Swap c


Neste Captulo, s o apresentados alguns t picos sobre an lise forense na mem ria principal a o a o e na area (ou espaco) de swap. E feita uma descricao de como funciona a troca de processos entre a mem ria e a area de swap, al m de descrever algumas possveis informacoes de inteo e ` resse a forense que podem ser encontradas na swap. Por m, e apresentado um prot tipo para o automatizar a busca e extracao de conte do (imagens JPEG e URLS) na swap e locais ans. u

7.1

Investigando a Memria Principal o

Diante do grande uxo de informacoes (processos, dados, drivers de dispositivos etc.) arma ` zenadas na mem ria principal em um curto intervalo de tempo, surgem diculdades inerentes a o obtencao de dados armazenados nesse dispositivo. N o obstante, e uma area importante para a a an lise forense, pois pode conter diversas informacoes, como senhas, textos em claro de mena sagens cifradas etc. [de Souza Oliveira, 2002]. Um importante ponto a considerar na busca por informacoes nesse dispositivo e o seu alto car ter de volatilidade. a Segundo [Farmer and Venema, 2004], o tempo de vidadas informacoes armazenadas na mem ria e da ordem de nanossegundos. Por si s , a captura o o de informacoes j apresenta um desao ao investigador, uma vez que as evid ncias tem de a e ser capturadas rapidamente. Tem de ser levado em conta, tamb m, que a ltragem dos e dados presentes na mem ria e trabalhosa e nem sempre os dados podem estar completos o [de Souza Oliveira, 2002]. Uma segunda quest o crucial para a an lise forense, j exposta no Captulo 3, diz resa a a ` peito a alteracao da mem ria durante a execucao de algum procedimento para acess -la e o a copi -la. Caso seja utilizado o programa dd para copiar, no Linux, o conte do da mem ria, a u o a simples execucao desse programa j altera a mem ria. Isso porque o programa requer a o espaco na mem ria para ser executado. A investigacao do conte do da mem ria sem causar o u o lhe dist rbios e uma tarefa bastante complexa e requer conhecimento altamente especializado u [dos Reis, 2003]. 75

Investigando a Memria Principal o

76

A mem ria principal dos PCs e implementada via dispositivos eletr nicos vol teis, ou seja, o o a teoricamente s mant m a informacao enquanto houver alimentacao de energia el trica. Dada o e e essa caracterstica, o procedimento usual e coletar dados da mem ria com o sistema nativo o ligado, ou seja, trata-se de uma live analysis. E possvel copiar a mem ria principal do Linux o no pr prio sistema operacional da seguinte forma: o # dd if=/dev/mem of=/memdump bs=512 Algumas an lises podem ser feitas na evid ncia coletada acima. Um exemplo simples e a e pr tico e fazer buscas por express es regulares usando os comandos grep e strings, conforme a o abaixo: 1. O primeiro exemplo usa o comando strings para, primeiramente, ltrar cadeias de pelo menos 7 caracteres imprimveis usando o arquivo de dump da mem ria criado anterior o mente. Foi escolhido tamanho 7 para casar mais facilmente com http://. O resultado de strings e usado como entrada no comando egrep, que buscar pela express o rea a gular http://[!-]*, que corresponde aos caracteres que podem ocorrer em uma URL [Berners-Lee, 1994]. A sada e armazenada em um arquivo de texto, resultado. # strings -a --bytes=7 /memdump | egrep http://[!-~]* > resultado.txt

2. J no segundo exemplo s o retornadas cadeias com pelo menos 3 caracteres. Em seguida, a a essas cadeias s o usadas como entrada na pesquisa envolvendo uma maior diversidade de a URLs, que incluem, al m do protocolo HTTP, os protocolos FTP, HTTP seguro e servidor e de news. Tamb m foi incluso pesquisar por caminhos de arquivos do disco que foram e abertos, localizados como file:///. Por m, nesse exemplo foi escolhido visualizar na ` tela as URLs a medida em que s o encontradas (pelo comando more). a # strings -a --bytes=3 /memdump | egrep (http|https|ftp|news|file)://[!-~]* | more 3. No terceiro exemplo, foi usado o xxd para visualizar, na tela, todas as cadeias de texto com pelo menos 4 caracteres. Essa visualizacao pode ser interessante para observar os valores hexadecimais ou bin rios das cadeias retornadas. a # strings -a /memdump | xxd | more

O Espao de Swap c

77

7.2

O Espao de Swap c

O espaco de swap est intrinsecamente relacionado ao esquema de mem ria virtual ado a o tado por muitos sistemas operacionais. Deve-se lembrar que o espaco de swap e criado quando a mem ria principal precisa executar mais processos do que a sua capacidade poso sibilita [Silberschatz et al., 2001]. Esse espaco e alocado no armazenamento auxiliar (disco rgido, por exemplo), adotando a poltica de armazenar os processos que n o est o em execucao a a no momento, liberando espaco na mem ria principal para aqueles que est o em execucao o a [Scheetz, 2001]. Como todo processo tem de estar na mem ria para ser executado, torna-se, ent o, necess rio o a a ` copiar os processos da swap para a mem ria quando eles precisam voltar a execucao. Essa o operacao e denominada de swap in. A situacao inversa ocorre quando um processo e copiado da mem ria para a area de swap, operacao denominada de swap out. A Figura 7.1 ilustra essas o operacoes.

Figura 7.1:

Troca de processos entre a memria principal e o espao de swap o c

[Silberschatz et al., 2001] Em geral, o armazenamento de swap e implementado de duas maneiras: via arquivo ou via particao. A primeira forma cria um arquivo (localizado no pr prio sistema de arquivos nativo o - NTFS, por exemplo), no qual processos s o armazenados. Na segunda forma, os procesa sos s o armazenados em uma particao destinada unicamente a esse m. Como exemplo de a implementacao via arquivo, h o Microsoft Windows; j a implementacao via particao e utili a a zada pelo Linux (embora possa ser congurado para utilizar arquivo de swap, tamb m, mas n o e a e a conguracao padr o). a No espaco de swap podem ser encontrados dados dos mais variados tipos, como: senhas que n o chegaram a ser armazenadas no disco rgido, arquivos condenciais (completos e parciais), a rascunhos n o salvos etc. [Caloyannides, 2004]. Tamb m podem ser encontradas nessa area: a e dados de processos e do kernel do sistema, buffers de impressora, assim como dados ocultados deliberadamente [dos Reis, 2003]. Portanto, analisar a area de swap e uma tarefa importante na

Anlise do Espao de Swap a c

78

busca de dados - possveis evid ncias - que provavelmente nunca seriam encontrados em outra e area do disco.

7.3
7.3.1

Anlise do Espao de Swap a c


Partio de Swap do Linux ca

Como foi dito, no Linux a opcao mais comum e implementar o espaco de swap como uma particao especca para tal m. Mas pode ser usado arquivo de swap (semelhante ao modo feito no Windows), no lugar da particao. No entanto, para se ter um uso mais eciente da swap no Linux, e recomendado o uso da armazenagem da Swap em particao em lugar de um arquivo [Scheetz, 2001]. Para copiar o conte do da particao de swap no linux, e possvel utilizar o comando dd da u seguinte forma: # dd if=/dev/hdaX of=/swap/swaplinux bs=1024 count=131070 que copiar o conte do da particao de swap, localizada em /dev/hdaX (hdaX o n mero a u e u ctcio de dispositivo neste exemplo) para o arquivo /swap/swaplinux. Observe que estamos instruindo o dd a copiar 131070 blocos de 1024 bytes cada, resultando em 128MB, que e o tamanho da particao de swap (esse valor depende do tamanho da particao de swap congurada no sistema). E interessante parar nesse momento para fazer algumas consideracoes importantes com relacao ao procedimento de captura do conte do da swap no Linux descrito acima. O pro u cedimento e executado com o sistema nativo (Linux) ligado. Quando e chamada a execucao do programa dd, ele tem de ser armazenado na mem ria principal para ser executado, assim como o outro processo qualquer. Acontece que podem ocorrer operacoes de swap in e swap out entre o armazenamento auxiliar e a mem ria principal, para que o processo dd possa executar. o Conclus o: talvez n o seja possvel copiar a swap sem causar o mnimo de alteracao a ela. a a Mas isso n o quer dizer que a an lise ser em v o, pois deve-se ter em mente que este e um a a a a caso de live analysis. Deve-se procurar minimizar os efeitos da coleta de evid ncias no sistema e em funcionamento, causando o menor dist rbio possvel. u

7.3.2

Arquivo de Swap do Windows (Pagele)

Para analisar o arquivo de swap do Windows 2000/XP no Linux, pode-se proceder da seguinte forma (seguindo os tr s A da Forense Computacionaldescritos no Captulo 3): e Aquisio e Autenticao Primeiramente, deve-se montar a particao (FAT ou NTFS) onde ca ca reside o arquivo de swap do Windows em modo somente leitura. No exemplo abaixo, foi

Anlise do Espao de Swap a c

79

considerada uma instalacao do Windows usando o sistema de arquivos NTFS alcancavel no Linux pelo dispositivo /dev/hda1(apenas a ttulo de exemplo): # mount -t ntfs -r /dev/hda1 /mnt/hd/C Assim, se a particao do Windows for montada em /mnt/hd/C, o arquivo de swap dever a estar localizado em /mnt/hd/C/pagele.sys. O pr ximo passo e calcular o seu MD5: o # md5sum -b /mnt/hd/C/pagefile.sys > /swap/md5fonte_antes Para adquirir efetivamente o arquivo de swap, e preciso fazer uma c pia bit-a-bit do seu o conte do para um arquivo imagem no Linux. Isso pode ser feito via comando dd: u # dd if=/mnt/hd/C/pagefile.sys of=/swap/pagefile.sys bs=512 Vericando se a fonte permanece inalterada: # md5sum -b /mnt/hd/C/pagefile.sys > /swap/md5fonte_depois Nesse ponto, e necess rio vericar se os arquivos md5fonte antes e md5fonte depois a apresentam os mesmos valores de hash criptogr co: a # cat /swap/md5fonte_antes f3db4f45f5adcfc61a562123b7fb214b * /mnt/hd/C/pagefile.sys # cat /swap/md5fonte_depois f3db4f45f5adcfc61a562123b7fb214b * /mnt/hd/C/pagefile.sys Terminada a fase de aquisicao da evid ncia, e preciso gerar o MD5 para a c pia e com e o parar com o valor gerado para a fonte de dados: # md5sum -b /swap/pagefile.sys > /swap/md5copia # cat /swap/md5copia f3db4f45f5adcfc61a562123b7fb214b * /swap/pagefile.sys Fica vericado, assim, que a integridade da fonte de dados foi mantida e a r plica e e aut ntica, visto que o resultado das tr s execucoes do comando cat acima foi o mesmo. e e Anlise - A seguir, s o descritos alguns exemplos de como pode ser feita a an lise da a a a evid ncia usando comandos comuns do Linux. e

Prottipo Desenvolvido o

80

1. Pesquisar um padr o de caracteres, usando o comando grep. A sada ser armazea a nada em um arquivo denominado resultgrep. Veja: # grep -a http:// /swap/pagefile.sys > /swap/resultgrep Neste caso, foi pesquisado, na c pia da swap, pela exist ncia da cadeia http://. o e Abrindo o arquivo resultgrep num editor de texto e possvel visualizar diversas informacoes textuais e n o-textuais (uma vez que foi usada a opcao -a). Dentre as a informacoes textuais, pode-se destacar alguns itens encontrados que mostram, pelo menos em parte, rastros de atividades do usu rio no sistema, como: a URLs e c digos de status de requisicoes (401, 200 etc.) de p ginas da Web; o a C digo-fonte de p ginas da Web; o a C digo-fonte de scripts (e.g., Java scripts); o Cookies; Requisicoes de senha e nome de usu rio; a Nomes e trechos de imagens GIF, JPEG etc. 2. No exemplo abaixo, foi usado o comando strings para salvar o resultado da busca por qualquer cadeia de caracteres (com pelo menos 4 caracteres de texto) no arquivo de texto resultstrings: # strings /swap/pagefile.sys > resultstrings A an lise do conte do de cadeias de caracteres fornecidas por strings e bastante a u trabalhosa, o que pode ser melhorado com o emprego de m todos de busca e an lise, e a como a busca por determinada string relacionada ao contexto de investigacao (por exemplo, crimes de pedolia). Os arquivos gerados nos dois exemplos acima poder o ter dezenas de megabytes de taa manho, especialmente se o espaco de swap for da ordem de centenas de megabytes.

7.4

Prottipo Desenvolvido o

Neste trabalho, foi desenvolvido um prot tipo que automatiza algumas tarefas de uma o an lise forense. Nessa primeira fase de implementacao, foram desenvolvidas duas funcoes a principais: Extracao de imagens JPEG; Extracao de URLs.

Prottipo Desenvolvido o

81

7.4.1

Extrao de Imagens JPEG ca

Para realizar a extracao de imagens JPEG presentes na area de swap, foi considerado o conceito de le carving [Roussev et al., 2007]: extrair dados sem dispor de sua estrutura no sistema de arquivos, como entrada de diret rio. A busca e realizada por meio de classes de o caractersticas relativas a tipos de arquivos (guras, arquivos de audio, documentos do Micro soft Word, arquivos execut veis etc.). Essas classes de caractersticas dizem respeito a diversas a informacoes que podem ser usadas para identicar tipos de dados; neste caso, foram utiliza das informacoes de cabecalho, n meros m gicos, identicadores de segmentos e rodap para u a e permitir a identicacao dos dados que se quer recuperar. O esquema de paginacao adotado pelos sistemas operacionais faz com que os processos (e os dados que esse processo manipula) trocados entre mem ria e disco n o precisem estar o a localizados sequencialmente na area de swap [Tanenbaum, 2003b]. Portanto, dependendo da area de swap analisada, e muito prov vel que ser o extradas imagens parciais, distorcidas ou a a sem visualizacao (veja logo abaixo a explicacao). Estrutura da Imagem JPEG Neste trabalho, foi considerado o padr o JPEG/JFIF (File Interchange Format), que e uma a implementacao do formato JPEG bastante usada atualmente. Em uma imagem JPEG/JFIF exis tem diversos segmentos (tamb m chamados de marcadores) que denem seu cabecalho, como e mostrado na Tabela 7.1 [Hamilton, 1992]: Segmento Nmero u JPEG/JFIF Identicador JFIF In do quadro 0 cio Tabela de Human In da varredura cio Fim da imagem 0x4A464946 0xFFC0 0xFFC4 0xFFDA 0xFFD9 Valor de identicao(hexadecimal) ca

mgico 0xFFD8FFE0 a

Tabela 7.1: Alguns segmentos que compe uma imagem JPEG o Os valores da Tabela 7.1 mostram apenas os valores iniciais de cada segmento, ou seja, ap s o esses valores aparecem, de fato, as informacoes pertinentes a cada segmento. Ap s o t rmino o e do segmento de incio de varredura (0xFFDA), comeca a area de dados da imagem, e e partir da que os visualizadores gr cos comecam a decodicacao e exibicao dos pixels que constituem a a imagem. Quando e encontrado o segmento de m da imagem (0xFFD9), a decodicacao termina.

Prottipo Desenvolvido o

82

Al m dos segmentos descritos na Tabela 7.1, h , ainda, outros segmentos como segmento e a de coment rios (opcional), miniatura (thumbnail), tamb m opcional, e de tabela de quantizacao a e (obrigat rio). A Figura 7.2 ilustra os segmentos da Tabela 7.1 (com excecao do segmento de o m da imagem) em uma imagem JPEG/JFIF comum. Os segmentos marcados s o, na ordem: a numero m gico JPEG/JFIF; identicador JFIF; incio do quadro 0; tabela de Huffman; a incio da varredura.

Figura 7.2: Trecho inicial de uma imagem JPEG/JFIF com alguns segmentos selecionados

Vericaes Experimentais co Para a forense, interessa extrair essas imagens, por isso e necess rio entender o cabecalho, a visto que a aus ncia de alguns segmentos fundamentais possivelmente provocar falha na e a decodicacao da imagem. Por exemplo, se for retirado propositadamente o segmento de incio da varredura (0xFFDA) ou o segmento de incio do quadro 0 (0xFFC0), a imagem n o po a der ser exibida. Essa foi uma situacao que ocorreu diversas vezes nas imagens extradas pelo a prot tipo. o Uma possvel solucao simples e acrescentar manualmente os segmentos que estiverem fal tando, mas essa solucao tem algumas limitacoes: Uma imagem sempre comeca imediatamente ap s o t rmino do segmento de incio de o e varredura [Hamilton, 1992]. Portanto, mesmo que seja inserido esse segmento manualmente, o comeco da imagem n o estar logo a seguir, provocando novamente um erro de a a

Prottipo Desenvolvido o

83

decodicacao. Na verdade, esse segmento e a area de pixels da imagem est o localizados a em outro ponto da swap (desconhecido a princpio), ou seja, em outra p gina. a O enxertode um segmento de incio do quadro 0 provoca distorcoes consider veis a quando a imagem e decodicada. Isso porque esse segmento e usado para armazenar as dimens es da imagem (altura e largura), e quando as dimens es est o erradas, os pio o a xels da imagem podem car consideravelmente baguncados. Um outro problema vericado ocorre quando a imagem apresenta todos os seus segmentos de cabecalho e o incio da area de dados correto, mas em algum ponto da imagem e inserido lixo, ou seja, outra p gina da swap, provocando erro de decodicacao da imagem antes que a a imagem atinja o segmento de m de imagem (0xFFD9). Alguns testes foram realizados e foi vericado que a insercao manual do segmento de m de imagem logo antes da insercao de lixo faz com que a imagem possa ser decodicada, contornando esse problema. Claro que provavelmente ser exibida apenas uma parte da imagem, visto que ela est fragmentada na a a swap. Implementao ca O prot tipo busca exaustivamente, byte a byte, pelo n mero m gico JPEG/JFIF o u a (0xFFD8FFE0). Ele armazena todas ocorr ncias desse n mero m gico e depois extrai todos e u a os arquivos. Foi adotado neste trabalho uma implementacao em Java que faz dumps de imagens JPEG de tamanho 256 KB (de f cil alteracao no c digo fonte). Esse tamanho e razoavelmente a o suciente para a grande maioria das imagens que foram testadas, at mesmo de outras fontes de e dados (veja logo abaixo). Uma opcao de implementacao futura para agilizar o processo de busca e realizar a busca por blocos, isto e, denir tamanho de bloco (512 KB, por exemplo) e buscar o n mero m gico u a apenas no incio do bloco. Caso o n mero m gico n o seja identicado no comeco do bloco, a u a a busca passa para o pr ximo bloco. Essa abordagem e muito mais r pida, por m os resultados o a e ser o menos ecientes, visto que estaramos ignorando qualquer imagem que comece logo ap s a o o incio do bloco que a cont m, ou antes do incio do bloco seguinte. e Cada arquivo extrado recebeu um nome no formato img_rec_<string>.jpg, onde string e uma cadeia num rica gerada pelo programa, unica para cada imagem extrada. e Escopo A funcao de extracao de imagens JPEG do prot tipo pode ser usada em outras fontes de o dados al m da swap, como: e Arquivo de hibernacao do Windows (hiberfil.sys);

Prottipo Desenvolvido o

84

Documentos do Microsoft Word; Arquivos de apresentacoes do Microsoft PowerPoint. Foram realizados testes e foi possvel extrair imagens armazenadas nos tipos de arquivos citados acima. E mais, a extracao de imagens dos programas Microsoft acima foi bastante eci ente, visto que nesses arquivos a imagem e armazenada contiguamente. Em verdade, a extracao viabilizada pelo prot tipo pode dar-se em qualquer fonte que seja possvel a identicacao, via o cabecalho, de imagens JPEG.

7.4.2

Extrao de URLs ca

Foi vericado que a swap apresenta diversas URLs armazenadas, o que pode congurar uma fonte interessante de informacao. No prot tipo, foi implementada a busca de URLs por meio o de classes em Java para express es regulares. A express o regular usada foi: o a (http|https|ftp|news|file)://[!- ~&&[^<\">]]* Com isso, foram buscados diversos tipos de enderecos: HTTP HTTPS FTP NEWS FILE (notacao de navegadores para indicar arquivos locais da m quina) a Os resultados s o armazenados em um arquivo de texto nomeado swap_urls.txt, uma a URL por linha.

7.4.3

Experimentos Realizados

Execuo do Programa ca Os diversos testes do prot tipo foram realizados em um computador equipado com proceso sador Athlon-64 2800+ com 512 MB de mem ria RAM. A fonte de dados foi um trecho de area o de swap (200 MB) do Windows XP, extrado no Linux por meio da seq encia de comandos u descrita no comeco deste Captulo. A execucao do programa pode ser observada abaixo: C:\PrototipoSwap\dist>java -jar PrototipoSwap.jar Ferramenta forense de extraao de imagens JPEG e URLs da area de swap c~ e afins. Armazena as URLs encontradas em um arquivo de texto

Prottipo Desenvolvido o

85

swap_urls.txt e as imagens encontradas usando nomes variveis no diretrio a o destino especificado. SINTAXE: PrototipoSwap.jar [OPCOES] [ORIGEM] [DESTINO] Opcoes -i extrai imagens JPEG -u extrai URLs Origem Caminho absoluto do arquivo de swap Destino Diretorio (pre-existente) para armazenar itens extraidos Exemplos de uso: PrototipoSwap.jar -u c:\swapcopy\swap.dd c:\swapcopy\ext_url PrototipoSwap.jar -i c:\swapcopy\swap.dd c:\swapcopy\ext_jpeg PrototipoSwap.jar -iu c:\swapcopy\swap.dd c:\swapcopy\extracao C:\PrototipoSwap\dist> java -jar PrototipoSwap.jar-iu c:\swapwin\swap.dd c:\swapwin\result 3903 URL(s) extraida(s). 28 imagem(ns) extraida(s). Tempo de processamento foi de 3min16s. Sa do Programa da O programa gravou os seguintes arquivos no diret rio destino (c:\swapwin\resul): o

C:\swapwin\result>dir O volume na unidade C n~o tem nome. a O nmero de srie do volume e 44E9-1D64 u e Pasta de C:\swapwin\result 13/06/2007 13/06/2007 13/06/2007 07:24 07:24 05:07 <DIR> <DIR> . .. 524.288 img_rec_122394704.jpg

Prottipo Desenvolvido o

86

13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007 13/06/2007

05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:08 05:08 05:08 05:08 05:08 05:08 05:08 05:08 05:07 05:07 05:07 05:07 05:07 05:07 05:07 05:05 29 arquivo(s) 2 pasta(s)

524.288 img_rec_126819489.jpg 524.288 img_rec_126819919.jpg 524.288 img_rec_126820756.jpg 524.288 img_rec_126821186.jpg 524.288 img_rec_126838231.jpg 524.288 img_rec_126838661.jpg 524.288 img_rec_152634684.jpg 524.288 img_rec_169684024.jpg 524.288 img_rec_169689096.jpg 524.288 img_rec_169697168.jpg 524.288 img_rec_169709248.jpg 524.288 img_rec_178074936.jpg 524.288 img_rec_178761740.jpg 524.288 img_rec_180715359.jpg 524.288 img_rec_189319952.jpg 524.288 img_rec_196595701.jpg 524.288 img_rec_197001205.jpg 524.288 img_rec_197382021.jpg 524.288 img_rec_198340485.jpg 524.288 img_rec_199358816.jpg 524.288 img_rec_48656124.jpg 524.288 img_rec_57613979.jpg 524.288 img_rec_87146736.jpg 524.288 img_rec_88166408.jpg 524.288 img_rec_90595301.jpg 524.288 img_rec_90678584.jpg 524.288 img_rec_91189488.jpg 231.658 swap_urls.txt 14.911.722 bytes 741.470.208 bytes disponveis

Nas Figuras 7.3 e 7.4 seguem dois exemplares de imagens extradas da area de swap. Abaixo encontra-se um trecho do arquivo swap_urls.txt: http://www.casabrasil.gov.br http://www.w3.org/2000/09/xmldsig# http://schemas.xmlsoap.org/soap/envelope/ http://imagine-msn.com/hotmail/tab/default.aspx?locale=en-us

Antiforense no Espao de Swap c

87

Figura 7.3: Exemplar de gura extra pelo prottipo da o

Figura 7.4: Exemplar de gura extra pelo prottipo da o http://schemas.xmlsoap.org/soap/envelope/ https://www.netlock.net/docs http://www.usertrust.com1604 http://www.usertrust.com1604 http:// http://zone.msn.com/messengertab/?loc=en-us http://www.entrust.net/CRL/net1.crl0+ http://www.casabrasil.gov.br http://bmm.imgag.com/bmm/xml/menuitem_us_em_5.xml http://rad.msn.com/ADSAdClient31.dll?GetAd?PG=IMUSCI

7.5

Antiforense no Espao de Swap c

Deve-se ter em mente que, apesar da caracterstica do espaco de swap permitir o armazena mento de dados (e posterior coleta pelo investigador) eventualmente importantes numa an lise a forense, tamb m existe o outro lado da an lise, a antiforense j comentada no Captulo 4. No e a a caso da an lise do espaco de swap, pode-se entender a antiforense como a tentativa de eliminar a informacoes dessa area, o que pode ser feito de diversas formas. E possvel que um indivduo altere certas conguracoes no registro do Windows para que as p ginas do arquivo de swap sejam sobrescritas com zeros ao desligar o sistema a [Caloyannides, 2004]. Essa medida de seguranca fornecida pelo Windows 2000/XP n o apaga a todas as p ginas da swap no entanto, uma vez que algumas ainda estar o em uso pelo sistema. a a Em termos de ferramentas, existem diversos programas que fazem a exclus o segura (wipa

Concluses o

88

ping), do arquivo de swap no Windows [Caloyannides, 2004]. Exemplos: PGP for DOS1 BCWipe2 . O BCWipe apresenta uma funcao que permite cifrar a swap durante o uso do Windows. Permite que o usu rio escolha diversos algoritmos de cifragem e preencher areas que n o est o a a a em uso atualmente com dados rand micos. Assim como a criptograa discutida anteriormente, o ` a cifragem da swap apresenta obst culos a investigacao forense, apesar de ser um recurso de a seguranca legtimo para um usu rio comum. a

7.6

Concluses o

Neste captulo, foi apresentado um prot tipo que realiza recuperacao de dados na area de o swap. Primeiramente foi necess rio apresentar uma breve discuss o sobre a coleta de dados na a a mem ria principal e em que contexto e criado o espaco de swap nas atividades de rotina de um o sistema operacional. Al m dessa caracterizacao, foram exemplicados processos de obtencao e do espaco de swap do Windows e do Linux, ambos por meio da ferramenta dd no Linux. O prot tipo e suas caractersticas foram, ent o, apresentados,e de que forma ele lida com o a imagens JPEG, o que requereu uma descricao da estrutura de imagens JPEG. Uma limitacao percebida foi a extracao parcial que e feita pelo prot tipo, mas deve-se levar em conta que e o uma primeira vers o, e que as imagens extradas, apesar disso, n o deixam de ser uma fonte de a a valiosa informacao forense. Um aspecto importante s o as contramedidas que podem ser tomadas por atacantes ou at a e mesmo usu rios sem intencoes criminosas que realizam o wipping ou cifragem da swap, aprea ` sentando uma barreira por vezes intransponvel a forense. Existem diversas melhorias que podem ser realizadas no prot tipo que ser o mencionadas o a no Captulo 8, podendo servir de base para uma ferramenta mais abrangente de percia forense na area de swap em trabalhos futuros.

PGP for DOS pode ser encontrado em: http://www.pgpi.org/products/pgp/versions/freeware/

dos/ 2 BCWipe pode ser encontrado em: http://www.jetico.com

Cap tulo 8 Concluses o


Na atual conjuntura mundial est claro que o papel da investigacao forense e fundamental a para permitir uma sociedade mais justa e cienticamente capaz de tratar de crimes realizados por meio de um computador. Esse ramo da criminalstica e recente e, por isso, cresce expres sivamente, tanto em uso como em evolucao como ci ncia. Por outro lado, sofre da falta de e padr es, especialmente quando comparado a outros ramos j consagrados da ci ncia forense, o a e como a Psicologia Forense ou a Medicina Forense, os quais s o praticados a muito mais tempo. a Para realizar percias forenses computacionais com eci ncia e necess rio conhecer e es e a tabelecer procedimentos con veis, bem como document -los e auxili -los com ferramentas a a a seguras. Uma quest o fundamental e que os resultados t m de ser con veis e devem seguir a e a uma cadeia rigorosa de procedimentos, a m de que possam servir como prova em um caso ` criminal. Al m disso, as provas coletadas t m de estar a disposicao para novos esclarecimentos e e ou percias, assim como ocorre em todas as areas das ci ncias do crime. e Neste trabalho, foram feitas pesquisas em diversas fontes de informacao em um computador, como navegadores de Internet, sistemas de arquivos, CD-ROM e area de swap. Foram apresentados diversos aspectos dessas fontes, tendo em mente quais evid ncias podem ser extradas e e de que forma. O prot tipo desenvolvido fez uma implementacao inicial de uma ferramenta de o an lise forense na swap, com o objetivo de estabelecer de que forma m todos de recuperacao a e de dados podem ser aplicados nessa situacao. Foram mostradas as diculdades desse processo, como, por exemplo, a fragmentacao existente no espaco de swap. Isso requereu, tamb m, o es e tudo detalhado da estrutura de imagens JPEG a m de compreender os resultados obtidos pelo prot tipo. o O que podemos atestar durante o desenvolvimento deste texto e que a forense computacional requer estudo aprofundado de hardware e software, pois e necess rio entender as suas estruturas a para poder coletar evid ncias e analis -las da melhor forma possvel. E preciso saber medir e a o impacto do investigador no sistema em an lise, especialmente quando e necess rio coletar a a a evid ncias durante sua execucao. E isso nem sempre e f cil, dada a velocidade gigantesca em e que as informacoes s o processadas em um computador. a 89

Trabalhos Futuros

90

8.1

Trabalhos Futuros

Devido ao escopo e limitacoes deste trabalho, o prot tipo desenvolvido implementou apenas o uma vers o inicial de um programa de recuperacao de dados na swap. Dessa forma, sugest es a o que podem ser interessantes para desenvolvimentos futuros nesse sentido s o: a Melhorar a eci ncia do programa, seja por meio da adocao de linguagens de e programacao mais r pidas ou pelo uso de estruturas de programacao mais ecientes na a entrada e sada; Desenvolver uma interface gr ca; a Lidar melhor com a fragmentacao presente na area de swap; Implementar a extracao de outros tipos de informacao, como outros tipos de imagens (BMP, GIF, PNG etc.), arquivos MP3, bytecodes Java, c digos fonte de linguagens de o programacao, documentos do Microsoft Word etc. Esperamos que este trabalho sirva de incentivo para futuras pesquisas sobre a t cnicas e e ferramentas de forense computacional, especialmente na recuperacao de dados na area de swap.

Referncias Bibliogrcas e a
[An nimo, 2001] An nimo (2001). Seguranca M xima. Campus, Rio de Janeiro, terceira o o a edition. [Berghel and Brajkovska, 2004] Berghel, H. and Brajkovska, N. (2004). Wading into alternate data streams. In Communications of the ACM, volume 47, pages 2127, New York, USA. ACM Press. [Berners-Lee, 1994] Berners-Lee, T. (1994). Overview.html. [Berners-Lee and Conolly, 1995] Berners-Lee, T. and Conolly, D. (1995). Hypertext markup language 2.0 (RFC 1866). RFC Editor. Disponvel em ftp://ftp.rfc-editor.org/ in-notes/rfc1866.txt. [Bunting and Wei, 2006] Bunting, S. and Wei, W. (2006). The Ofcial EnCE: Encase Certied Examiner. Wiley Publishing, Indianapolis, USA, primeira edition. [Caloyannides, 2004] Caloyannides, M. A. (2004). Privacy Protection and Computer Forensics. Artech House, Norwood, USA, segunda edition. [Carpanez, 2006] Carpanez, J. (07/01/2006). Legislacao tradicional julga crimes de in form tica. a Folha Online. Disponvel em http://www1.folha.uol.com.br/folha/ informatica/ult124u19453.shtml. Acessado em abril de 2007. [Carrier, 2003] Carrier, B. D. (2003). Dening digital forensic examination and analysis tools using abstraction layers. International Journey of Digital Evidence, 1. Disponvel em http: //www.ijde.org. [Carrier, 2005] Carrier, B. D. (2005). File System Forensic Analysis. Addison Wesley Professional, Boston, USA, primeira edition. [Carvey, 2004] Carvey, H. (2004). Windows Forensics and Incident Response. Addison Wesley, Boston, USA, primeira edition. 91 Universal resource identiers in www.

World Wide Web Consortium. Disponvel em http://www.w3.org/Addressing/URL/

REFERENCIAS BIBLIOGRAFICAS

92

[Casey, 2004] Casey, E. (2004). Digital Evidence and Computer Crime: Forensic Science, Computers, and the Internet. Academic Press (Elsevier), San Diego, USA, segunda edition. [Comiss o de Educacao, 2006] Comiss o de Educacao (2006). Parecer sobre projeto de lei a a da c mara no 89, de 2003, e projetos de lei do senado no 137, de 2000, e no 76, de 2000. a M dulo Security Magazine. Disponvel em http://www.modulo.com.br/pdf/PLS-76_ o 2000.pdf. Acessado em marco de 2007. [Crowley, 2007] Crowley, P. (2007). CD and DVD Forensics. Syngress Publishing, Rockland, USA, primeira edition. [da Motta Pires, 2003] da Motta Pires, P. S. (2003). Forense computacional: uma proposta de ensino. V Simp sio de Seguranca em Inform tica. Disponvel em http://www.dca.ufrn. o a br/~pmotta/ensino-forense.pdf. [da Silva Rodrigues and Caricatti, 2004] da Silva Rodrigues, J. and Caricatti, A. M. (2004). Criminalstica computacional - alguns procedimentos legais. VI Simp sio de Seguranca o em Inform tica. Disponvel em http://linorg.cirp.usp.br/SSI/SSI2004/Artigos/ a Art010_ssi04.pdf. [de Almeida, 2006] de Almeida, G. M. (29/06/2006). Lei dos crimes de inform tica mais perto a de ser votada. M dulo Security Magazine. Disponvel em http://www.afrac.com.br/ o si/site/1623. Acessado em abril de 2007. [de Andrade Martins, 2001] de Andrade Martins, G. (2001). Manual para Elaboracao de Tra balhos Acad micos. Editora Atlas, S o Paulo, primeira edition. e a [de Freitas, 2004] de Freitas, A. R. (2004). Terminologia pericial. In de Freitas, A. R., editor, Evid ncia Digital Magazine, volume 4, pages 66. e 2007. [de Freitas, 2006] de Freitas, A. R. (2006). Percia Forense Aplicada a Inform tica - Ambiente a ` Microsoft. Brasport, Rio de Janeiro, primeira edition. [de Geus et al., 2001] de Geus, P. L., Guimar es, C. C., de Souza Oliveira, F., and dos Reis, a M. A. (2001). Forense computacional: Aspectos legais e padronizacao. I Workshop em Seguranca de Sistemas Computacionais. Disponvel em http://www.las.ic.unicamp. br/paulo/papers/2001-WSeg-flavio.oliveira-marcelo.reis-forense.pdf. [de Paula Bueno, 2007] de Paula Bueno, M. L. (2007). Um prot tipo de percia forense digital o na area de swap. In 4o Semana da inform tica, Catal oGO. Centro de Ensino Superior de a a Catal o. a Disponvel em http:// www.guiatecnico.com.br/EvidenciaDigital/principal.asp. Acessado em marco de

REFERENCIAS BIBLIOGRAFICAS

93

[de Paula Bueno and da Silva Sendin, 2006] de Paula Bueno, M. L. and da Silva Sendin, I. (2006). An lise de ferramentas de forense computacional. In Bueno, M., editor, Revista a CEPPG, number 15, pages 119134, Catal oGO. Centro de Ensino Superior de Catal o. a a [de Souza Oliveira, 2001] de Souza Oliveira, F. (2001). Metodologias de an lise foa

rense para ambientes baseados em NTFS. III Simp sio de Seguranca em Inform tica. o a Disponvel em http://www.las.ic.unicamp.br/paulo/papers/2001-SSI-flavio. oliveira-forense.ntfs.pdf. [de Souza Oliveira, 2002] de Souza Oliveira, F. (2002). forense para redes baseadas em windows 2000. dual de Campinas. Resposta a incidentes e an lise a

Masters thesis, Universidade Esta-

Disponvel em http://www.las.ic.unicamp.br/paulo/teses/

20021121-MSc-Flavio.Oliveira-Resposta.a.incidentes.e.analise.forense. para.redes.baseadas.em.Windows.2000.pdf. [dos Reis, 2003] dos Reis, M. A. (2003). seguranca imunol gica. o Forense computacional e sua aplicacao em Dis-

Masters thesis, Universidade Estadual de Campinas.

ponvel em http://www.las.ic.unicamp.br/paulo/teses/20030226-MSc-Marcelo. Abdalla.dos.Reis-Forense.computacional.e.sua.aplicacao.em.seguranca. imunologica.pdf. [dos Reis and de Geus, 2002] dos Reis, M. A. and de Geus, P. L. (2002). forense de intrus es em sistemas computacionais: o ramentas. em Technical report, Universidade Estadual de Campinas. An lise a Disponvel

T cnicas, procedimentos e fere

http://www.las.ic.unicamp.br/paulo/papers/2002-Pericia-marcelo.

reis-forense.tecnicas.procedimentos.pdf. [Eckert, 1997] Eckert, W. G. (1997). Introduction to Forensic Sciences, chapter Introduction to the Forensic Sciences, pages 1120. CRC Press, New York, USA, primeira edition. [Farmer and Venema, 2004] Farmer, D. and Venema, W. (2004). Forensic Discovery. Addison Wesley Professional, Boston, USA, primeira edition. [Gutmann, 1996] Gutmann, P. (1996). Secure deletion of data from magnetic and solid-state memory. In Sixth USENIX Security Symposium, Focusing on Applications of Cryptography, pages 7790. USENIX. Disponvel em http://www.usenix.org/publications/ library/proceedings/sec96/full_papers/gutmann/index.html. [Hamilton, 1992] Hamilton, E. (1992). JPEG File Interchange Format. Disponvel em http: //www.w3.org/Graphics/JPEG/jfif3.pdf. Acessado em maio de 2007. [Huebner et al., 2006] Huebner, E., Bem, D., and Wee, C. K. (2006). Data hiding in the NTFS le system. Digital Investigation, 3(4):211226.

REFERENCIAS BIBLIOGRAFICAS

94

[Icove et al., 1995] Icove, D., Seger, K., and VonStorch, W. (1995). Computer Crime: A Crimeghters Handbook. OReilly and Associates, Sebastopol, USA, primeira edition. [InfoGuerra, 2004] InfoGuerra (2004). Novo projeto de lei tipica crimes no pas. In de Freitas, A. R., editor, Evid ncia Digital Magazine, volume 3, page 1. Disponvel em http://www. e guiatecnico.com.br/EvidenciaDigital/principal.asp. Acessado em abril de 2007. [Jones and Belani, 2005] Jones, K. J. and Belani, R. (2005). Web browser forensics. Security Focus. Disponvel em http://www.securityfocus.com/infocus/1827 e http://www. securityfocus.com/infocus/1832. Acessado em maio de 2007. [Jones, 2005] Jones, R. (2005). Internet Forensics. OReilly, Sebastopol, USA, primeira edition. [Kessler, 2004] Kessler, G. C. (2004). An overview of steganography for the computer forensics examiner. In DiZinno, J. A., editor, Forensic Science Communications, volume 6. Disponvel em http://www.fbi.gov/hq/lab/fsc/backissu/july2004/index.htm. Aces sado em marco de 2007. [Kristol and Montulli, 1997] Kristol, D. and Montulli, L. (1997). in-notes/rfc2109.txt. [Kristol and Montulli, 2000] Kristol, D. and Montulli, L. (2000). in-notes/rfc2965.txt. [Kurose and Ross, 2006] Kurose, J. F. and Ross, K. W. (2006). Redes de computadores e a Internet: uma abordagem top-down. Pearson Addison Wesley, S o Paulo, terceira edition. a [Lau and Sanchez, 2006] Lau, M. and Sanchez, P. L. P. (2006). T cnicas utilizadas para e Http state management Http state management

mechanism (RFC 2109). RFC Editor. Disponvel em ftp://ftp.rfc-editor.org/

mechanism (RFC 2965). RFC Editor. Disponvel em ftp://ftp.rfc-editor.org/

efetivacao e contencao das fraudes sobre internet banking no brasil e no mundo. Perito Criminal. Disponvel em http://www.peritocriminal.com/artigos/fraudesi.htm. Acessado em abril de 2007. [Liu and Brown, 2006] Liu, V. and Brown, F. (2006). Bleeding-edge anti-forensics. In Infosec World - Conference & Expo. Disponvel em http://www.metasploit.com/projects/ antiforensics. Acessado em abril de 2007. [Microsoft, 1995] Microsoft (1995). Joliet specication. Microsoft. Disponvel em http: //littlesvr.ca/isomaster/resources/JolietSpecification.html. Acessado em maio de 2007.

REFERENCIAS BIBLIOGRAFICAS

95

[Microsoft, 2005] Microsoft (2005). Descricao de cookies. Microsoft Corporation. Disponvel em http://support.microsoft.com/kb/260971/pt. Acessado em fevereiro de 2007. [Netscape, 1997] Netscape (1997). Persistent client state http cookies. Netscape. Disponvel em http://wp.netscape.com/newsref/std/cookie_spec.html. Acessado em maio de 2007. [Oltsik and Biggar, 2006] Oltsik, J. and Biggar, H. (2006). Seguranca centrada nas informacoes e eliminacao de dados. Enterprise Strategy Group. Disponvel em http://brazil.emc. com/analyst/pdf/ESG_WP_EMC_Security_Jul_06.pdf. [Rodrigues, 2006] Rodrigues, G. (21/03/2006). Lucro faz cibercrime se estabelecer mundialmente. InfoGuerra. Disponvel em http://www.infoguerra.com.br/infonews/ viewnews.cgi?newsid1142964693,29218,. Acessado em abril de 2007. [Roussev et al., 2007] Roussev, V., III, G. G. R., and Marziale, L. (2007). In-place le carving. Research Advances in Digital Forensics, III:113. Disponvel em http://www.cs.uno. edu/~golden/Stuff/ifip2007-final.pdf. [Scheetz, 2001] Scheetz, D. (2001). Dwarfs guide to Debian GNU/Linux. Debian Project. Disponvel em http://people.debian.org/~psg/ddg/dwarfs-debian-guide.html. Acessado em maio de 2007. [Silberschatz et al., 2001] Silberschatz, A., Galvin, P., and Gagne, G. (2001). Sistemas Operacionais: Conceitos e Aplicacoes. Elsevier - Campus, Rio de Janeiro, primeira edition. [Solomon et al., 2004] Solomon, M. G., Barrett, D., and Broom, N. (2004). Computer forensics (JumpStart). Sybex, Indianapolis, USA, primeira edition. [Stephenson, 2000] Stephenson, P. (2000). Investigating computer-related crime: handbook for corporate investigations. CRC Press, New York, USA, primeira edition. [Tanenbaum, 2003a] Tanenbaum, A. S. (2003a). Redes de Computadores. Elsevier, Rio de Janeiro, quarta edition. [Tanenbaum, 2003b] Tanenbaum, A. S. (2003b). Sistemas operacionais modernos. Prentice Hall, S o Paulo, segunda edition. a [Vacca, 2002] Vacca, J. R. (2002). Computer forensics: computer crime scene investigation. Charles River Media, Hingham, USA, primeira edition. [Westphal, 2003] Westphal, K. (2003). Steganography revealed. SecurityFocus. Disponvel em http://www.securityfocus.com/infocus/1684. Acessado em junho de 2007.

Glossrio a
Bruta fora teste exaustivo de senhas, isto e, aplicacao de todas as combinacoes possveis c de senhas at que a senha correta seja encontrada ou o processo de busca encerre. Esse e termo geralmente e empregado no chamado ataque de bruta forca para descobrir senhas de arquivos de login de um sistema operacional, por exemplo. Canal oculto (covert channel ) m todo de transmiss o camuada de informacao insee a rida em um objeto, como uma imagem ou um arquivo de audio. Canais ocultos s o a empregados principalmente na Esteganograa. Criminal stica estudo e esclarecimento de casos criminais, averiguando o fato delituoso e suas circunst ncias por meio de tarefas como colheita de vestgios e realizacao de percias. a Deteco de intruso uso de hardware e software na monitoracao de tr fego de rede em ca a a busca de padr es de atividades que possam indicar possveis tentativas de intrus o. o a Engenharia social diz respeito a maneiras de obtencao de informacoes importantes ou si gilosas de empresas por meio da exploracao da natureza humana. As vulnerabilidades do fator humano s o, frequentemente, o elo mais fraco de sistemas de seguranca. A a obtencao de informacoes privilegiadas com uso da engenharia social pode ser feita por diversos modos como, por exemplo, usando identicacoes falsas ou adquirindo conanca de funcion rios. a Honeypot recurso computacional vulner vel propositadamente para atrair intrusos, a m de a rastrear e estudar suas acoes e uso de recursos do sistema. Marcas de tempo (Timestamp) atributos pertences a arquivos e diret rios, como datas o e horas de criacao, acesso, modicacao (estes tr s s o conhecidos como MAC times), e e a exclus o, este ultimo presente em apenas alguns sistemas de arquivos, como o usado pelo a Linux. As marcas de tempo s o fundamentais na reconstrucao temporal dos eventos em a uma investigacao forense. MD5 (Message Digest 5 ) Algoritmo de resumo de mensagem usado para checar a inte gridade de um conjunto de dados. E usado para vericar se de dados transmitidos entre 96

duas entidades (um par cliente-servidor, por exemplo) n o foram corrompidos durante a a transmiss o. Outra utilidade do MD5 e vericar se a extracao de dados de uma mdia, a como HD ou CD-ROM, n o adulterou a fonte de dados (caso exista essa possibilidade) e a os dados extrados s o aut nticos em relacao a essa fonte. A especicacao do MD5 pode a e ser encontrada no RFC 1321. Metadados (meta-arquivos) em sistemas de arquivos dizem respeito a arquivos especiais que descrevem o conte do de uma particao de disco, como mapeamento de blocos usados, u rastreamento de setores defeituosos, arquivos de log do volume, dentre outros. Resposta a incidentes conjunto de medidas tomadas por uma equipe treinada e preparada (time de resposta) para reconhecer e resolver qualquer incidente de seguranca em uma organizacao, seja durante ou ap s a sua ocorr ncia. o e RFC (Request For Comments) documentos que representam padr es em vigor na Ino ternet, desenvolvidos por diversos pesquisadores e entidades. O IETF (Internet Enginee ring Task Force) e a entidade respons vel por aceitar submiss es de novos RFCs, inclua o sive propondo alguns desses padr es tamb m. Documentos RFCs est o espalhados em o e a diversos servidores na Internet, como o RFC Editor http://www.rfc-editor.org/. Tamanho f sico de arquivo quantidade de espaco ocupada pelo arquivo ou diret rio no o ` disco. Devido a estruturacao dos sistemas de arquivos, em um dado momento um bloco de disco pode ser alocado a apenas um unico arquivo. Dessa forma, o tamanho fsico de um arquivo e sempre um ou mais blocos de disco. Por exemplo, se um arquivo tem 1,5 KB e os blocos em disco s o de tamanho 4 KB, ent o o tamanho l gico do arquivo e 1,5 a a o KB, enquanto que o tamanho fsico e 4 KB. Na contabilidade de espaco alocado o que conta e o espaco fsico. Tamanho lgico de arquivo quantidade exata de espaco requerida por uma informacao o computacional. Geralmente os sistemas operacionais registram o tamanho l gico e o o tamanho fsico, os quais quase sempre apresentam valores diferentes.

97

Apndice A e Ferramentas Usadas em Per cia Forense Computacional


Neste Ap ndice apresentamos uma listagem das ferramentas que descrevemos durante este e trabalho e algumas outras auxiliares. Separamos por categorias onde foram aplicadas para facilitar a procura pela ferramenta de interesse.

A.1
A.1.1

Uso geral
WinHex

Descrio editor hexadecimal completo, incluindo c lculo de resumo de mensagem utica a lizando diversos algoritmos disponveis, interpretador de dados em diversos formatos, busca por express es regulares (similar ao grep do Linux), dentre outras funcoes. Apreo senta diversas funcoes interessantes a investigacao forense, como: interface especial para forense, incluindo criacao de modelos de relat rios, criacao o de imagens de disco, an lise de ADS do NTFS, catalogacao de arquivos etc.; a possibilidade de acessar a mem ria principal com o sistema ligado, permitindo que o dados sejam copiados de l ; a le carver disponvel para recuperar uma gama consider vel de tipos de dados, a sendo possvel denir alguns crit rios de pesquisa de cabecalhos dos arquivos que e se requer buscar; Desenvolvedor X-Ways Software Technology AG Licena propriet rio c a Site http://www.x-ways.net 98

Rede

99

A.1.2

EnCase

Descrio sute de aplicativos forenses bastante variada. Auxilia na geracao de relat rios ca o e laudos forenses, calcula hashes criptogr cos, extrai espacos subaproveitados (slack a spaces), recupera dados excludos, permite an lise da lixeira, registro e outros artefatos a do Windows, dentre muitas outras funcoes. Desenvolvedor Guidance Software Licena propriet rio c a Site http://www.guidancesoftware.com

A.1.3

Forensic Toolkit (FTK)

Descrio ferramenta forense de uso geral com interface gr ca, dispondo de diversos reca a cursos como busca avancada, capacidade de trabalhar com diversos formatos de arquivos, an lise de arquivos ZIP, an lise de e-mails e registro do Windows. Disp e de uma esp cie a a o e de navegador embutido para visualizar conte do de cache de navegadores. Classica e u ltra o conte do do cache para auxiliar a an lise. Desvantagem do FTK e que o procesu a samento de arquivos de ndice (index.dat) n o permite a geracao de relat rios (Excell a o ou texto puro, por exemplo) e a sada e complexa para leitura. Desenvolvedor AccessData Licena propriet rio c a Site http://www.accessdata.com

A.2
A.2.1

Rede
tcpdump

Descrio ferramenta de linha de comando para capturar tr fego de rede de protocolos dica a ` versos, como TCP/IP. A ferramenta permite que os dados sejam exibidos a medida em que s o capturados, isto e, em tempo real, ou armazenados em um arquivo para an lise a a posterior. Os dump les gerados pelo tcpdump podem ser analisados por outros progra` mas mais adequados a visualizacao de datagramas, como o ethereal e tcptrace. H a uma vers o do tcpdump portada para Windows denominada WinDump. Ferramentas que a executam tarefas de captura de tr fego de rede s o denominadas comumente de sniffers. a a Desenvolvedor LBL

Forense na Web

100

Licena open source (BSD) c Site http://www.tcpdump.org

A.2.2

snort

Descrio e uma ferramenta que atua como packet sniffer e sistema de deteccao de intrus o ca a (Intrusion Detection System - IDS). O snort faz uso de regras para analisar conte do u transmitido pelas interfaces de rede, permitindo detectar e eliminar diversos tipos de ataques. Desenvolvedor Sourcere Licena open source (GNU) c Site http://www.snort.org

A.3
A.3.1

Forense na Web
Cookie monster

Descrio permite ao usu rio visualizar, excluir, marcar e salvar cookies armazenados em ca a seu sistema. O programa apresenta os cookies classicando-os de acordo com o navegador no qual foram gerados. Mostra os atributos internos de um cookie, como name, value, expiration, e seus valores, al m da localizacao do cookie no disco e o site que o gerou. e Desenvolvedor AMPSoft Licena freeware c Site http://www.ampsoft.net

A.3.2

Extenses do Mozilla Firefox o

Descrio s o diversas as extens es, como, por exemplo, Edit Cookies (visualiza o conte do ca a o u e permite editar o conte do de cookies), allcokies (copia todos os cookies para um arquivo u de texto), CookieSafe (permite ao usu rio determinar a permiss o, negacao ou permiss o a a a tempor ria de cookies), dentre outras. a Site https://addons.mozilla.org

Forense na Web

101

A.3.3

Pasco

Descrio ferramenta de linha de comando para geracao de relat rio de cache do IE. Pasco ca o recebe como entrada o arquivo de ndice de cache (index.dat) e exibe na tela ou arma zena em um arquivo de texto os registros encontrados. H tamb m algumas opcoes para a e o formato do resultado gerado. Desenvolvedor Foundstone Licena open source c Site http://www.foundstone.com

A.3.4

Web Historian

Descrio ferramenta com interface gr ca que realiza o processamento de arquivos de ca a hist rico de navegadores diversos, como IE, Firefox, Opera e Safari. O Web Historian o permite ao usu rio duas opcoes de execucao: especicar o arquivo de ndice do hist rico a o ou especicar o diret rio onde se encontram. Essa segunda opcao e util para proceso sar diversos arquivos simult neos e inserir os resultados em um s arquivo de sada. A a o ferramenta apresenta diversos formatos de sada, como planilhas do Microsoft Excell e p ginas HTML. a Desenvolvedor Mandiant Licena freeware c Site http://www.mandiant.com

A.3.5

Cache View

Descrio ferramenta com interface gr ca que mostra ao usu rio o conte do de cache do ca a a u Mozilla Firefox, IE, Opera e Netscape. Permite ao usu rio fornecer o caminho do cache a a ser exibido ou buscar automaticamente pelo cache (v lido apenas para o IE), resultando a numa listagem dos itens encontrados e diversas informacoes relativos a eles, como por exemplo: nome - permite identicar se o item est armazenado em um arquivo de bloco ou a separadamente. No caso do IE, mostra em qual dos diret rios de cache est armao a zenado o item; tamanho; tipo de arquivo;

Disco

102

datas - download, modicacao e expiracao; URL; Oferece ao usu rio diversas acoes sobre os itens listados, como copi -los para o disco, a a delet -los e acessar a URL original. a Desenvolvedor Tim Johnson Licena propriet rio c a Site Disponvel em http://www.progsoc.org/~timj/cv/

A.4
A.4.1

Disco
dd

Descrio ferramenta para copiar e converter dados de qualquer mdia, com diversas opcoes ca uteis, como especicacao de tamanho de bloco e bloco de incio de c pia. E um utilit rio o a amplamente usado na forense, especialmente por permitir a geracao de imagens de disco is por meio da c pia bit-a-bit dos dados (tamb m conhecida por bitstream copy). e o e Desenvolvedor Free Software Foundation Licena GNU c Site http://www.gnu.org

A.4.2

List Alternate Data Streams (LADS)

Descrio ferramenta de linha de comando que lista todas as alternate data streams (ADS) ca encontradas no diret rio especicado. Lista tanto ADS pertencentes ao diret rio quanto o o as pertencentes aos arquivos do diret rio. A listagem mostra, tamb m, o tamanho dos o e uxos. Desenvolvedor Frank Heyne Licena freeware c Site http://www.heysoft.de/Frames/f_sw_la_en.htm

Disco

103

A.4.3

IsoBuster

Descrio ferramenta gr ca que tem por funcao principal acessar discos de CD e DVD, ca a e imagens de dados de formatos diversos (ISO, Nero, BIN etc.), possibilitando diversas acoes como leitura de sess es, vericacao de erros de leitura da mdia e recuperacao de o dados; o IsoBuster e na verdade um pacote de pequenos aplicativos embutidos. E possvel tamb m realizar tarefas de baixo nvel, como extracao de dados de CD/DVD em divere sos modos (user mode, raw mode etc.), possibilitando um gama de opcoes interessantes. Disp e de um visualizador de setor (sector view), similar a um editor hexadecimal. o Desenvolvedor Smart Projects Licena propriet rio c a Site http://www.isobuster.com

A.4.4

The Coroners Toolkit (TCT)

Descrio conjunto de ferramentas de percia designado para uso em an lises post-mortem ca a em sistemas Unix. Compreende alguns itens com as seguintes funcionalidades: grave-robber coleta informacoes gerais sobre componentes do sistema, como proces sos, atributos de arquivos, e arquivos e diret rios excludos. Alguns arquivos gerao dos pelo grave-robber s o usados como entrada em outras ferramentas do TCT, a como o mactime. ils, mactime e outros utilit rios de uso geral e para vericar alteracoes realizadas a nos MAC times de arquivos e diret rios. o unrm, lazarus recuperam arquivos excludos; findkey recupera chaves criptogr cas de processo em execucao ou de arquivos. a Desenvolvedor Dan Farmer e Wietse Venema Licena open source c Site http://www.porcupine.org/forensics/tct.html

Apndice B e Cdigo Fonte do Prottipo o o Desenvolvido


Neste Ap ndice inclumos o c digo fonte do prot tipo que foi desenvolvido neste trabalho. e o o Brevemente descrito, e um le carver bem simples que busca por imagens JPEG e URLs em um arquivo de swap. Em verdade, o programa pode trabalhar com qualquer fonte de dados onde possam haver arquivos de imagens JPEG, como documentos do Microsoft Word e apresentacoes do Microsoft PowerPoint, situacoes que testamos e conseguimos extrair imagens com sucesso. Essa primeira vers o do prot tipo foi implementada na linguagem Java e empacotada em um a o JAR (Java arquive) para automatizar a execucao por linha de comando. A sintaxe da chamada do prot tipo e: o java -jar PrototipoSwap.jar [OPCOES] [ORIGEM] [DESTINO] Qualquer chamada diferente da acima resultar na exibicao de um pequeno menu de ajuda a que descreve como o programa pode ser chamado corretamente.

B.1

Classe Main
Listagem B.1: Implementaao da classe Main (executora) c

package f o r e n s i c s . swap ; import j a v a . i o . ; p u b l i c c l a s s Main {


5

p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g ) { S t r i n g [ ] param = a r g ; / Menu de a j u d a do programa /

104

Classe Main

105

10

i f ( ! ( param . l e n g t h ==3) | | ! ( param [ 0 ] . e q u a l s ( "-i" ) | | param [ 0 ] . e q u a l s ( "-u" ) | | param [ 0 ] . e q u a l s ( "-ui" ) | | param [ 0 ] . e q u a l s ( "-iu" ) ) ) { System . o u t . p r i n t l n ( " Ferramenta forense de extracao de imagens JPEG e URLs da area de swap e afins . Armazena as URLs encontradas em um arquivo de texto swap_urls .txt e as imagens encontradas usando nomes variaveis no diretorio destino especificado ." ) ; System . o u t . p r i n t l n ( "\ nSINTAXE : PrototipoSwap .jar [ OPCOES ] [ ORIGEM ] [ DESTINO ]" ) ; System . o u t . p r i n t l n ( "\n\ tOpcoes " ) ; System . o u t . p r i n t l n ( "\t\t-i extrai imagens JPEG" ) ;

15

System . o u t . p r i n t l n ( "\t\t-u extrai URLs" ) ; System . o u t . p r i n t l n ( "\ tOrigem " ) ; System . o u t . p r i n t l n ( "\t\ tCaminho absoluto do arquivo de swap" ) ; System . o u t . p r i n t l n ( "\ tDestino " ) ; System . o u t . p r i n t l n ( "\t\ tDiretorio (pre - existente ) para armazenar itens extraidos " ) ;

20

System . o u t . p r i n t l n ( "\ nExemplos de uso:" ) ; System . o u t . p r i n t l n ( "\ tPrototipoSwap .jar -u c:\\ swapcopy \\ swap. dd c:\\ swapcopy \\ ext_url " ) ; System . o u t . p r i n t l n ( "\ tPrototipoSwap .jar -i c:\\ swapcopy \\ swap. dd c:\\ swapcopy \\ ext_jpeg " ) ; System . o u t . p r i n t l n ( "\ tPrototipoSwap .jar -iu c:\\ swapcopy \\ swap. dd c:\\ swapcopy \\ extracao " ) ; }

25

else { ArquivoSwap a r q = new ArquivoSwap ( param [ 1 ] ) ; i f ( param [ 0 ] . e q u a l s ( "-i" ) ) { / / e x t r a i r i m a g e n s a p e n a s E x t r a t o r J P E G e = new E x t r a t o r J P E G ( ) ; e . e x t r a i J P E G ( a r q , param [ 2 ] ) ;

30

} e l s e i f ( param [ 0 ] . e q u a l s ( "-u" ) ) { / / e x t r a i r a p e n a s URLs E x t r a t o r U R L e x t = new E x t r a t o r U R L ( ) ; e x t . e x t r a i U R L ( a r q , param [ 2 ] ) ; }

35

e l s e { / / e x t r a i r URLs e i m a g e n s E x t r a t o r U R L e x t = new E x t r a t o r U R L ( ) ; e x t . e x t r a i U R L ( a r q , param [ 2 ] ) ; E x t r a t o r J P E G e = new E x t r a t o r J P E G ( ) ; e . e x t r a i J P E G ( a r q , param [ 2 ] ) ;

40

} // else } // else } / / metodo } / / classe

Classe ArquivoSwap

106

B.2

Classe ArquivoSwap
Listagem B.2: Implementaao da classe ArquivoSwap c

package f o r e n s i c s . swap ; import j a v a . i o . ; p u b l i c c l a s s ArquivoSwap {


5

p r i v a t e F i l e swap ; private InputStream inBuffer = null ; private BufferedReader reader = null ;


10

p u b l i c ArquivoSwap ( S t r i n g a r q u i v o ) { swap = new F i l e ( a r q u i v o ) ; / j a d e i x a a s t r e a m b u f f e r i z a d a p r o n t a p a r a u s o com o a r q u i v o passado no a r g u m e n t o / try { i n B u f f e r = new B u f f e r e d I n p u t S t r e a m ( new F i l e I n p u t S t r e a m ( a r q u i v o )); / p a r a c l a s s e de Exp . Reg . / r e a d e r = new B u f f e r e d R e a d e r ( new F i l e R e a d e r ( a r q u i v o ) ) ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } } public boolean r e a d e r E s t a P r o n t o ( ) {

15

20

25

try { return r e a d e r . ready ( ) ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; }

30

return f a l s e ; / / erro }

p u b l i c i n t leSwap ( ) {
35

try { return ( i n B u f f e r . read ( ) ) ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; }

40

r e t u r n ( 2) ; / / e r r o

Classe ArquivoSwap

107

} p u b l i c void marcaPosicao ( i n t pos ) { try {


45

i n B u f f e r . mark ( p o s ) ; inBuffer . reset () ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } }

50

public void r e t o r n a P o s i c a o ( ) { try { inBuffer . reset () ; }


55

c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } } public void fechaStream ( ) { try {

60

i f ( i n B u f f e r != n u l l ) inBuffer . close () ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } }

65

public void fechaReader ( ) { try { reader . close () ; }


70

c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } } public String leLinha ( ) { try {

75

return r e a d e r . readLine ( ) ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } r e t u r n ( " -1" ) ; / / e r r o }

80

public void setSwap ( F i l e arq ) { swap = a r q ; } p u b l i c F i l e getSwap ( ) {

85

Classe ArquivoSaida

108

r e t u r n swap ; } public long b y t e s D i s p o n i v e i s ( ) {


90

try { return i n B u f f e r . a v a i l a b l e ( ) ; } catch ( IOException e ) { ;

95

} r e t u r n ( 1) ; } public InputStream getBufferEntrada ( ) {

100

return i n B u f f e r ; } }

B.3

Classe ArquivoSaida
Listagem B.3: Implementaao da classe ArquivoSaida c

package f o r e n s i c s . swap ; import j a v a . i o . ; public c l a s s ArquivoSaida {


5

private File out ; private OutputStream outBuffer = null ; p r i v a t e P r i n t W r i t e r pw = n u l l ;


10

public ArquivoSaida ( S t r i n g saida ) { o u t = new F i l e ( s a i d a ) ; try { out . createNewFile ( ) ; o u t B u f f e r = new B u f f e r e d O u t p u t S t r e a m ( new F i l e O u t p u t S t r e a m ( o u t ));

15

pw = new P r i n t W r i t e r ( o u t B u f f e r ) ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } } public void escreveNoArquivo ( i n t v a l o r ) { try {

20

Classe BuscadorNumeroMagico

109

outBuffer . write ( valor ) ; } catch ( IOException e ) {


25

System . o u t . p r i n t l n ( e . g e t M e s s a g e ( ) ) ; } } public void f l u s h E s c r i t a ( ) {

30

pw . f l u s h ( ) ; } public void imprimeLinha ( S t r i n g s a i d a ) { pw . p r i n t l n ( s a i d a ) ;

35

} public void fechaStream ( ) { try { i f ( o u t B u f f e r != n u l l )

40

outBuffer . close () ; } c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } } }

45

B.4

Classe BuscadorNumeroMagico
Listagem B.4: Implementaao da classe BuscadorNumeroMagico c

package f o r e n s i c s . swap ; import j a v a . i o . ; p u b l i c c l a s s BuscadorNumeroMagico {


5

p r i v a t e i n t [ ] numeroMagico ; p u b l i c BuscadorNumeroMagico ( i n t [ ] nm ) { numeroMagico = nm ;


10

} p u b l i c v o i d setNumeroMagico ( i n t [ ] nm ) { numeroMagico = nm ; }

15

Classe BuscadorNumeroMagico

110

p u b l i c i n t [ ] getNumeroMagico ( ) { r e t u r n numeroMagico ; } p u b l i c l o n g buscaNumeroMagico ( ArquivoSwap swap ) { / o n d e e n c o n t r o u tem de s e r 1 no INICIO . O v a l o r z e r o nao d e v e s e r usado p o i s e l e pode s e r a t r i b u i d o a v a r i a v e l c a s o e x i s t a a p r i m e i r a ` ocorrencia do n . m . , i s t o eh , nm [ 0 ] c a s a r com a p r i m e i r a p o s i c a o do a r q u i v o de swap posicao ( zero ) /
25

20

l o n g o n d e e n c o n t r o u = 1; int byteLido ; / v a r i a v e l p a r a c o n t a g e m de c o r r e s p o n d e n c i a s e n t r e NM e a swap a partir do p r i m e i r o c a s a m e n t o / i n t j =1;

30

while ( true ) { b y t e L i d o = swap . leSwap ( ) ; i f ( b y t e L i d o == 1) { r e t u r n ( 1) ;


35

} e l s e i f ( b y t e L i d o == numeroMagico [ 0 ] ) { / / e n c o n t r o u p r i m e i r a ocorrencia ! swap . m a r c a P o s i c a o ( numeroMagico . l e n g t h ) ; o n d e e n c o n t r o u = swap . getSwap ( ) . l e n g t h ( ) swap . bytesDisponiveis () 1;

40

/ l a c o p a r a v e r i f i c a r s e a s p r o x i m a s o c o r r e n c i a s do numero magico batem com o s p r o x i m o s b y t e s l i d o s da swap / w h i l e ( j <numeroMagico . l e n g t h && numeroMagico [ j ] == swap . leSwap ( ) ) { j ++; }

45

/ nao c h e g o u a e n c o n t r a r o n . m . c o m p l e t o e s s e t e s t e

if e

n e c e s s a r i o p a r a nao p e r m i t i r que a soma de NM i n c o m p l e t o s i n c r e m e n t e a v a r i a v e l j a t e que e l a a t i n j a o c o m p r i m e n t o de nm . l e n g t h , o que c a u s a r i a uma f a l s a o c o r r e n c i a de n . m . r e t o r n a d a l o g o a b a i x o no i f /


50

i f ( j <numeroMagico . l e n g t h ) { j =1;

Classe ExtratorURL

111

swap . r e t o r n a P o s i c a o ( ) ; } / encontrou n .m. completo / e l s e i f ( j == numeroMagico . l e n g t h ) { return onde encontrou ; } }// if


60

55

} / / while } / / metodo }

B.5

Classe ExtratorURL
Listagem B.5: Implementaao da classe ExtratorURL c

package f o r e n s i c s . swap ; import j a v a . u t i l . r e g e x . ; import j a v a . i o . ;


5

public c l a s s ExtratorURL { private String regex=null ; public ExtratorURL ( ) { r e g e x ="(http| https |ftp|news|file)://[! -~&&[^ <\" >]]*" ;

10

} p u b l i c v o i d e x t r a i U R L ( ArquivoSwap swap , S t r i n g d e s t i n o ) { String input=null ; l o n g c o n t = 0 ; / c o n t a d o r de l i n h a s /

15

/ d e t e r m i n a n d o onde s e r a c r i a d o o a r q u i v o d e s t i n o / A r q u i v o S a i d a o u t = new A r q u i v o S a i d a ( d e s t i n o +swap . getSwap ( ) . s e p a r a t o r +" swap_urls .txt" ) ; P a t t e r n pregex = P a t t e r n . compile ( regex ) ; M a t c h e r m = p r e g e x . m a t c h e r ( "" ) ;

20

while ( true ) { i f ( ! swap . r e a d e r E s t a P r o n t o ( ) ) { / nao ha m a i s l i n h a s p a r a l e r / swap . f e c h a R e a d e r ( ) ; out . f l u s h E s c r i t a ( ) ;


25

out . fechaStream ( ) ; System . o u t . p r i n t l n ( "\t"+ c o n t +" URL(s) extraida (s)." ) ;

Classe ExtratorJPEG

112

break ; } else {
30

i n p u t = swap . l e L i n h a ( ) ; m = pregex . matcher ( input ) ; i f (m. f i n d ( ) ) { o u t . i m p r i m e L i n h a (m. g r o u p ( ) ) ; / e s c r e v e a URL no a r q u i v o destino / c o n t ++; } } // else } / / while } / / m e todo } / / classe

35

B.6

Classe ExtratorJPEG
Listagem B.6: Implementaao da classe ExtratorJPEG c

package f o r e n s i c s . swap ; import j a v a . i o . ; import j a v a . u t i l . Random ;


5

public c l a s s ExtratorJPEG { p r i v a t e i n t [ ] magico = {0 xFF , 0 xD8 , 0 xFF , 0 xE0 } ; private int []


10

t r a i l e r = {0 xFF , 0 xD9 } ;

p r i v a t e i n t dumpSize = 1 0 2 4 2 5 6 ; / / 256KB public ExtratorJPEG ( ) { } p u b l i c v o i d e x t r a i J P E G ( ArquivoSwap swap , S t r i n g d e s t i n o ) {


15

c o p i a I m a g e n s ( swap , d e s t i n o , l o c a l i z a T o d a s O c o r r e n c i a s ( swap ) ) ; } p u b l i c l o n g [ ] l o c a l i z a T o d a s O c o r r e n c i a s ( ArquivoSwap swap ) { BuscadorNumeroMagico b = new BuscadorNumeroMagico ( magico ) ;

20

i n t q u a n t = 0 ; / q u a n t i d a d e de NM e n c o n t r a d o s / l o n g [ ] p o s =new l o n g [ 5 0 0 0 ] ; / g u a r d a 5000 p o s i c o e s d o s NM encontrados / f o r ( i n t i = 0 ; i <p o s . l e n g t h ; i ++) / l i m p a n d o a r r a y de p o s i c o e s / p o s [ i ] = 1;

Classe ExtratorJPEG

113

25

p o s [ q u a n t ] = b . buscaNumeroMagico ( swap ) ; w h i l e ( p o s [ q u a n t ] ! = 1 ) { q u a n t ++; p o s [ q u a n t ] = b . buscaNumeroMagico ( swap ) ; }

30

return pos ; } p u b l i c v o i d c o p i a I m a g e n s ( ArquivoSwap swap , S t r i n g d e s t i n o , l o n g [ ] p o s ) {


35

try { R a n d o m A c c e s s F i l e r a f = new R a n d o m A c c e s s F i l e ( swap . getSwap ( ) , "r" ); f o r ( i n t i = 0 ; i <p o s . l e n g t h ; i ++) { i f ( p o s [ i ] == 1) { / f i m /

40

System . o u t . p r i n t l n ( "\t"+ i +" imagem (ns) extraida (s)." ) ; break ; } else { A r q u i v o S a i d a o u t = new A r q u i v o S a i d a ( d e s t i n o +swap . getSwap ( ) . s e p a r a t o r +" img_rec_ "+ p o s [ i ] + ".jpg" ) ;

45

r a f . s e e k ( p o s [ i ] ) ; / p o s i c i o n a o c a b e c o t e de l e i t u r a no comec o do NM / f o r ( i n t j = 0 ; j <dumpSize ; j ++) out . escreveNoArquivo ( r a f . read ( ) ) ; out . fechaStream ( ) ; } // else

50

} / / for } // try c a t c h ( I O E x c e p t i o n e ) { System . o u t . p r i n t l n ( "erro de I/O" ) ; } } }

55

Indice Remissivo
Area de swap, 76 Alternate Data Streams, 67 deteccao de, 67 tamanho m ximo, 67 a File carving, 80 Honeypot, 90 Live analysis, 26 autenticacao de evid ncias, 32 e captura de tr fego de rede, 26 a compilacao est tica de ferramentas, 27 a estado de processos, 26 registro do Windows, 26 Pagele, 77 Wipping desvantagens do processo de, 42 Gutmann, 41 slack space, 64 timestamp, 90 An lise post-mortem, 25 a An lise de evid ncias, 33 a e espaco de swap, 78 roubo de identidade, 33 Antiforense, 40 Aquisicao de evid ncias, 30 e espaco de swap, 77 Arquivo tamanho fsico, 91 tamanho l gico, 91 o Artefatos de intrus o a eliminacao de, 40 Ataques pharming, 19 phishing, 19 scam, 19 Autenticacao de evid ncias, 31 e espaco de swap, 77 MD5, 90 Automacao criminal, 18 Cabecalho JPEG, 80 reconstrucao, 81 Cache de navegador, 51 Cadeia de cust dia, 34 o exemplo de, 35 CD-ROM hist rico, 70 o multisess o, 70 a recuperacao de sess es, 71 o CD-RW investigacao forense, 71 recuperacao de dados apagados em, 71 Ci ncia Forense, 22 e autenticidade de documentos, 23 impress es digitais, 23 o m todo de Bertillon, 22 e Princpio de Locard, 27 Com rcio eletr nico, 18 e o Cookies, 47 cabecalho, 48 Exemplos, 48 Crime digital, 23 Criminalstica, 23, 90 Criptograa 114

INDICE REMISSIVO

115

forca bruta, 44, 90 NTFS, 67 objetivos, 43 ` obst culos a forense, 43 a e-mail privacidade, 39 Espaco de swap, 76 antiforense, 86 evid ncias digitais, 76 e no Linux, 77 no Windows, 77 operacoes de troca, 76 Espaco subaproveitado, 64 le slack, 60 partition slack, 60 volume slack, 60 Esteganograa canal oculto, 90 denicao, 44 deteccao, 44 t cnicas, 44 e Evid ncia digital e custo de coleta, 28 denicao, 27 espaco de swap, 79 exemplos, 29 na swap, 76 validacao, 24 Evid ncias fsicas, 23 e Exclus o segura a destruicao de informacao, 41 destruicao fsica da mdia, 42 recuperacao avancada, 41 transporte de mdias, 42 usos, 42 Extracao de evid ncias e espaco de swap, 77

FAT, 61 exclus o de arquivos, 62 a recuperacao de dados, 62, 64 tabela FAT, 62 Ferramentas Cache de navegador, 51 Hist rico de navegador, 52 o Ferramentas de aquisicao dd, 30 Ferramentas de percia, 24 Forense Computacional denicao, 23 Forense na mem ria principal, 27 o GET (m todo), 55 e Hist rico de navegador, 49 o localizacao, 50 Windows, 50 Identicacao de evid ncias, 30 e Incidente de seguranca, 23 Internet Banking, 19 Internet Explorer, 50, 51 JPEG, 79 cabecalho, 80 decodicacao, 80 estrutura, 80 Legislacao, 19 MD5 espaco de swap, 78 Mem ria principal o dump de, 75 busca por strings , 75 busca por URLs, 75 investigacao forense, 74 processos na, 76 Meta-arquivos, 91

INDICE REMISSIVO

116

Metadados, 91 MFT, 65 atributos, 65 registros, 65 tamanho de registro, 65 Mozilla Firefox, 51, 53 estrutura do cache, 54 expiracao de item de cache, 54 NTFS, 64 criptograa, 67 MFT, 65

apresentacao de, 34 documentacao de, 34 reproducao de, 28 Senhas ferramentas, 43 Sistema de arquivos, 59, 61, 64 snort, 26, 94 tcpdump, 26, 93 URL, 85 Vulnerabilidades

Padronizacao, 35 entidades, 36 modelo de, 36 SOPs, 37 Paginacao, 80 Particoes, 59 Percia forense computacional procedimentos, 25 r plica de dados, 25 e Preservacao de evid ncias, 31 e Privacidade, 39 cookies, 49 violacao de, 39 Projetos de Lei, 20 Prot tipo de an lise na swap, 79 o a extracao de JPEG, 80 extracao de URLs, 83 funcionalidades, 79 implementacao, 82 Recuperacao de dados, 24, 58 Registro (Windows), 26 Resposta a incidentes, 91 entidades no Brasil, 37 time de resposta, 91 Resultados de percia

hardware, 17 software, 17 dados, 18

Anda mungkin juga menyukai