live forensics em ambiente microsoft windows

44
Capítulo 6 Live forensics em ambiente Microsoft Windows Bruno Werneck Pinto Hoelz, Frederico Imbroisi Mesquita e Pedro Auler Abstract Conventional digital analysis is being challenged by the presence of encrypted content and the large volume of data to be processed. Live forensics can be applied to secure ac- cess to hard disk data and to perform the triage of evidence. However, this kind of analysis is considered complex due to the variety of information to be processed in a short period of time. This work presents the main concepts of live forensics, including its advantages and disadvantages when compared to the conventional methodology. Additionally, it pro- vides a set of procedures grounded on system commands and open source tools for the Windows operating system, installed in more than 90% of desktop computers in Brazil. Resumo A presença de conteúdo criptografado ou de grande volume de informações a serem pe- riciados são os novos desafios para a perícia digital convencional. A análise live, ou live forensics, pode ser utilizada para garantir o acesso ao conteúdo do disco rígido e realizar a triagem de evidências. Porém, trata-se de uma perícia complexa devido à grande vari- edade de informações a serem analisadas em um curto período de tempo. Este trabalho apresenta os principais conceitos da análise live, incluindo suas vantagens e desvanta- gens quando comparada com a perícia digital convencional. Além disso, fornece um conjunto de procedimentos apoiado em comandos e ferramentas de código aberto para o sistema operacional Windows, presente em mais de 90% dos computadores de mesa do Brasil. 6.1. Introdução A análise live, também chamada de live forensics, consiste em uma análise digital rea- lizada por meio de procedimentos periciais e conduzida no equipamento computacional ainda em execução. O procedimento pode ser relativamente simples e rápido, tal como listar as portas de conexões abertas. Porém, pode também ser complexo e demorado,

Upload: phungtuong

Post on 07-Jan-2017

224 views

Category:

Documents


2 download

TRANSCRIPT

Capítulo

6Live forensics em ambiente Microsoft Windows

Bruno Werneck Pinto Hoelz, Frederico Imbroisi Mesquita e Pedro Auler

Abstract

Conventional digital analysis is being challenged by the presence of encrypted contentand the large volume of data to be processed. Live forensics can be applied to secure ac-cess to hard disk data and to perform the triage of evidence. However, this kind of analysisis considered complex due to the variety of information to be processed in a short periodof time. This work presents the main concepts of live forensics, including its advantagesand disadvantages when compared to the conventional methodology. Additionally, it pro-vides a set of procedures grounded on system commands and open source tools for theWindows operating system, installed in more than 90% of desktop computers in Brazil.

Resumo

A presença de conteúdo criptografado ou de grande volume de informações a serem pe-riciados são os novos desafios para a perícia digital convencional. A análise live, ou liveforensics, pode ser utilizada para garantir o acesso ao conteúdo do disco rígido e realizara triagem de evidências. Porém, trata-se de uma perícia complexa devido à grande vari-edade de informações a serem analisadas em um curto período de tempo. Este trabalhoapresenta os principais conceitos da análise live, incluindo suas vantagens e desvanta-gens quando comparada com a perícia digital convencional. Além disso, fornece umconjunto de procedimentos apoiado em comandos e ferramentas de código aberto parao sistema operacional Windows, presente em mais de 90% dos computadores de mesa doBrasil.

6.1. IntroduçãoA análise live, também chamada de live forensics, consiste em uma análise digital rea-lizada por meio de procedimentos periciais e conduzida no equipamento computacionalainda em execução. O procedimento pode ser relativamente simples e rápido, tal comolistar as portas de conexões abertas. Porém, pode também ser complexo e demorado,

como, por exemplo, realizar buscas por palavras-chave no disco rígido utilizando expres-sões regulares e copiar integralmente o conteúdo deste disco por meio da porta USB. Oprocedimento apresenta vantagens e desvantagens em relação à perícia digital convencio-nal, também chamada de análise post-mortem, realizada após o desligamento do sistema.

Coletar dados digitais em um sistema já desligado traz a vantagem de tornar asobrescrita acidental ou modificação de dados praticamente impossível. Por outro lado,não permite a aquisição de dados voláteis, que são perdidos durante o processo de desli-gamento do sistema. Além disso, há outras situações em que a recuperação de dados per-manentes também é inviabilizada. É o caso, por exemplo, do uso de criptografia, quandosó é possível recuperar as informações com o uso da senha de acesso correta. Mais umavez, esse problema seria contornado caso a aquisição lógica dos dados criptografados ti-vesse se dado com o sistema ainda ligado. Outro exemplo é a aquisição de informaçõesreferentes ao estado da rede e suas portas relacionadas, que também são perdidas ao sedesligar o sistema.

Por isso, a coleta de dados com o computador ainda ligado parece ser uma al-ternativa salvadora. Essa técnica permite a recuperação de valiosas informações que deoutra maneira poderiam ser perdidas. Infelizmente, essa abordagem também tem suaslimitações. A mais importante é que cada computador analisado possui um sistema ope-racional diferente instalado. Assim, o analista precisa ter conhecimento de uma grandevariedade de hardware, software e sistemas operacionais. O examinador precisa verificaro sistema em análise e aplicar os princípios forenses corretamente, de maneira a não invi-abilizar a futura aceitação das evidências coletadas, quando utilizadas no devido processolegal. Parte do processo de aquisição de dados voláteis consiste em executar aplicativosna CPU do sistema suspeito, podendo levar a potenciais alterações de dados de registros,memória RAM ou do próprio disco rígido. Tais alterações devem ser controladas e do-cumentadas. Dependendo de como se dá a abordagem no local de aquisição dos dadosvoláteis, a alteração do sistema pode ser tão expressiva que pode inviabilizar o uso futurodas informações coletadas.

A popularização do uso de programas de criptografia, cada vez mais fáceis deutilizar, e, muitas vezes incorporados aos sistemas operacionais, está tornando mais co-mum o fato de se encontrar sistemas ligados utilizando esta tecnologia. Em geral, não émuito fácil detectar a criptografia em uso no sistema, já que o software utilizado pode sermuito discreto, deixando poucos rastros da sua presença. Assim, a abordagem na coletade dados voláteis em sistemas ligados tem que se ser bastante criteriosa, a fim de detectara presença de criptografia e, se for o caso, fazer uma cópia lógica do sistema antes dedesligá-lo.

A grande capacidade de armazenamento da memória RAM, muitas vezes igual ousuperior a quatro gigabytes nos computadores atuais, é capaz de guardar grande quanti-dade de dados, podendo incluir, entre outras informações, senhas usadas para criptografia.A análise com o volume ainda montado possibilita ainda a aquisição lógica deste volume,que, de outra forma, apareceria como um arquivo criptografado, difícil de ser detectado epraticamente impossível de ser acessado.

Podem ser encontradas várias evidências extremamente úteis na memória RAMcomo, por exemplo, o conteúdo inteiro ou parcial de arquivos apagados, senhas em texto

claro, buffers com conteúdo da área de transferência, informações sobre processos emexecução ou já encerrados. Portanto, não é mais possível ignorar a memória volátil doscomputadores durante a fase de coleta de dados e a análise subsequente.

Apesar dos recentes progressos da análise de memória, as dificuldades ainda sãograndes, devido à falta de flexibilidade das ferramentas existentes, que geralmente sópodem ser utilizadas nos sistemas operacionais específicos e nas respectivas versões paraas quais foram codificadas. A razão para isso é que as estruturas de dados utilizados pelossistemas operacionais mudam a cada nova versão, exigindo que as ferramentas forensestambém precisem ser atualizadas.

Neste trabalho, serão abordados aspectos fundamentais de perícia digital, incluindoquestões de terminologia, um breve histórico da evolução da área e seus principais desa-fios. Posteriormente, os conceitos da análise live – incluindo suas vantagens e desvan-tagens, quando comparada com a perícia digital convencional – são apresentados. Osprocedimentos de coleta e análise de evidências são detalhados, juntamente com um con-junto de ferramentas gratuitas para o ambiente Microsoft Windows, presente em mais de90% dos computadores de mesa do Brasil, conforme dados da NetMarketShare, apresen-tados na Figura 6.1.

Figura 6.1. Base instalada de sistemas operacionais em computadores de mesa

6.2. TerminologiaAntes de aprofundar a discussão sobre análise live, é necessário esclarecer alguns pontoscom relação à tradução dos termos em inglês e de outras denominações utilizadas. Otermo em inglês associado à perícia em computadores é Computer Forensics. Em inglês,o termo forensics é definido como:

a aplicação de conhecimento científico em problemas legais e especialmente

a análise científica de evidências físicas como as encontradas em uma cenade crime1.

Uma tradução muito utilizado comercialmente no Brasil é forense computacional,embora seja uma substantivação forçada do adjetivo forense, que não explicita a mesmasemântica da definição do termo forensics. O termo mais próximo de forensics com basena definição apresentada seria, de fato, perícia e, por conseguinte, Computer Forensicspoderia ser traduzido, adequadamente, como perícia em computadores.

Em relação à análise live, do inglês live analysis, este trabalho optou por mantero termo em inglês, tendo em vista que não há consenso sobre a tradução mais adequada.Opções como "ao vivo"ou simplesmente "viva"carregam uma conotação distinta. Análise"ao vivo"pode parecer mais adequado, no entanto indicaria que todo o processo de análiseé realizado com o sistema ainda em execução, quando, na verdade, apenas a coleta énecessariamente feita nessa condição. Análise "viva", por outro lado, faz um contrapontoà análise post mortem, termo comumente utilizado para se referir a análise de um sistemaque foi desligado.

A definição utilizada neste trabalho para a Informática Forense é emprestada dadefinição de Digital Forensic Science discutida e apresentada em Palmer (2001). Assim,a Informática Forense é definida como:

o uso de métodos cientificamente estabelecidos e comprovados para a preser-vação, coleta, validação, identificação, análise, interpretação, documentaçãoe apresentação da evidência derivada de fontes digitais para o propósito defacilitar ou promover a reconstrução de eventos que causem a perturbação deoperações planejadas.

O Australian Institute of Criminology apresenta uma definição mais adequada aesse ponto de vista, no qual a perícia em Informática é definida como:

o processo de identificar, preservar, analisar e apresentar evidências digitaisde uma maneira legalmente aceitável.

Ainda complementando a definição de Informática Forense, é preciso esclarecer adefinição de evidência digital, que segundo Huebner et al. (2003) é:

qualquer informação de valor probatório que é armazenada ou transmitida deforma digital.

Analogamente, o termo perícias em rede (network forensics) tem sido cada vezmais utilizado. Em Palmer (2001), é apresentada a seguinte definição de perícias emrede:

é o uso de técnicas cientificamente comprovadas para coletar, unir, identificar,examinar, correlacionar, analisar e documentar evidências digitais de múlti-plas fontes digitais processando e transmitindo ativamente, com o propósito

1Definição do dicionário Merriam-Webster disponível em http://www.merriam-webster.com

Tabela 6.1. Objetivos da Informática Forense em áreas diversas, adaptada dePalmer (2001)

Área Objetivo primário Objetivo secundário Quando atuaPolicial Persecução penal – Depois do fatoMilitar Continuidade Persecução penal Tempo real

Comercial Disponibilidade Persecução penal Tempo real

Tabela 6.2. Diferenças entre a segurança de computadores e a perícia em Infor-mática, adaptada de Ruibin and Gaertner (2005)

Segurança PeríciaBusca proteger o sistema Não protege o sistema

de ataques de ataquesAção em tempo real Após os incidentes

ou logo após um incidente (post mortem)Ambientes restritos para A evidência é quase sempre

apresentação dos acontecimentos apresentada para pessoal não técnicoPode ser contornada por A integridade da

indivíduos confiáveis evidência é o mais importante

de descobrir fatos relacionados ao intento planejado ou sucesso apurado deatividades não autorizadas destinadas a perturbar, corromper ou comprome-ter componentes de sistema, bem como prover informação para auxiliar naresposta ou recuperação após atividades.

A definição das perícias em rede apresenta grande semelhança com as áreas desegurança de redes e resposta a incidentes, cujo objetivo principal é a proteção e a ma-nutenção da disponibilidade de seus sistemas e redes. A Tabela 6.1, adaptada de Palmer(2001), apresenta os principais objetivos de cada área com relação à pesquisa e aplicaçãoda perícia em Informática.

Em um cenário que não envolva o desejo de processar os atacantes, mas de pro-teger algum patrimônio ou informação, a ação invasora pode ser interrompida enquantoocorre e, consequentemente, correções no sistema ou rede que implicam perda de evi-dências do ocorrido podem ser feitas. Ou seja, ações que podem ser boas práticas emrespostas a falhas de segurança podem ser devastadoras do ponto de vista pericial. Essasituação é encontrada pelos profissionais de segurança de redes e detecção de intrusão,cujos procedimentos nem sempre estão em sintonia com os procedimentos periciais, jáque a persecução penal, nesse caso, é uma preocupação secundária. Portanto, apesar dassemelhanças entre a perícia em Informática e a segurança de computadores, tanto emtermos de conhecimento quanto de ferramentas, existem algumas diferenças significati-vas, como as apresentadas por Ruibin and Gaertner (2005), aqui adaptadas e exibidas naTabela 6.2.

A análise live busca aproximar os procedimentos das duas áreas. A realização doexame pericial tende a se aproximar do momento do incidente e a realizar procedimentosque, embora não mantenham o máximo de integridade da evidência, ainda são seguros do

ponto de vista jurídico.

6.3. HistóricoSegundo Huebner et al. (2003), o primeiro caso criminal relacionado ao uso de computa-dores conhecido foi registrado nos EUA, em 1966, e resultou em uma pena de cinco anosde prisão2. Nas décadas de 1970 e 1980, os computadores tornaram-se mais comuns ebaratos, permitindo a utilização pessoal e comercial em maior escala. Com isso, a políciaidentificou o surgimento de uma nova classe de crimes: os crimes relacionados a compu-tadores. Nas décadas seguintes, a tecnologia passou por diversas evoluções significativas,que exigiram a adaptação contínua dos procedimentos periciais. Na década passada, aperícia em Informática caracterizou-se, predominantemente, pelo tratamento de dispositi-vos com capacidades de armazenamento relativamente pequenas e poucas quantidades deinformação. Isso permitia que cópias completas dos discos rígidos originais fossem feitaspara outro disco, sendo o exame realizado sobre a cópia, preservando, assim, a evidênciaoriginal.

Com o surgimento da Internet comercial no Brasil no início de 19953, surge umanova demanda relacionada à prática de crimes com o auxílio da Internet, hoje conhecidoscomumente como crimes cibernéticos. Com o crescimento explosivo da Internet, tambémcresceram as ocorrências de incidentes relacionados, como a invasão de servidores e aprática de defacement de páginas web.

Além do crescimento da Internet, é importante destacar, também, a evolução datelefonia móvel e dos meios de armazenamento de dados. Ambos tornaram-se extrema-mente acessíveis e hoje fazem parte da vida cotidiana. Da mesma forma, pode-se afirmarque fazem parte do cotidiano de criminosos, que muitas vezes fazem uso dessas tecnolo-gias, mesmo que os crimes que cometam não tenham relação direta com a Informática.Hoje, discos rígidos com capacidade da ordem de terabytes podem ser adquiridos. Essegrande volume de dados e diversidade de mídias é um dos grandes desafios enfrentadospela Informática Forense, que precisa buscar novas soluções para cenários onde não émais possível realizar uma cópia integral de todos os dados originais, como em ambientesde rede complexos.

No Brasil, cabe ainda considerar a carência de uma legislação específica parapunir diversas condutas no meio cibernético, que em muitos países já são consideradascrimes, como a disseminação de programas maliciosos (malware). Diversos projetos delei foram propostos ao longo dos anos, mas até a conclusão deste trabalho nenhum haviasido aprovado em caráter conclusivo.

6.4. Desafios da perícia digitalMuitos dos desafios enfrentados hoje na Informática Forense são produto dos grandesavanços tecnológicos observados nos últimos 15 anos. Esta seção apresenta alguns dodesafios mais discutidos e que são os principais alvos de pesquisas.

Nas discussões do First Digital Forensic Research Workshop, ocorrido em 2001, e

2Tratava-se de um caso de furto de programa de computador.3Considerando a data de criação do Comitê Gestor de Internet em maio de 1995.

apresentado em Palmer (2001), alguns dos desafios de alta prioridade citados então erama confiabilidade da evidência digital e as perícias em ambientes de rede. Essas questõesainda estão presentes, atualmente, e em escala cada vez maior. As evidências digitaistornaram-se cada vez mais comuns e as redes de computadores, maiores e mais presentes.Comentou-se, então, que a ubiquidade dos sistemas de informática e equipamentos eletrô-nicos, cada vez mais, indicava que um dia todos os crimes teriam uma "ciberdimensão".

Uma tendência observada nos últimos anos é a expansão da perícia além do sim-ples exame dos discos rígidos. A análise de memória volátil e de sistemas em operaçãotem recebido bastante atenção em termos de pesquisa e de ferramentas específicas. Éinteressante notar que a perícia em sistemas em operação "desrespeita"um dos princípiosbásicos da perícia em mídias de armazenamento, que é a preservação total dos dados ori-ginais. Isso porque qualquer atividade em um sistema em operação causa mudanças nosdados armazenados na memória. Como tal situação é inevitável, Huebner et al. (2003)argumentam que evidências coletadas dessa forma têm que ser aceitáveis em juízo.

Além das dificuldades discutidas acima, que afetam de maneira geral o trabalhopericial em Informática, Huebner et al. (2003) apresenta ainda diversos desafios técnicoscomo:

1. sistemas de arquivos que permitem ocultar dados do usuário comum, sendo visíveisapenas se utilizadas ferramentas especiais;

2. propriedades e mecanismos de sistemas operacionais e aplicativos sem documenta-ção ou utilizados para ocultar dados;

3. armazenamento de dados online, que permite o armazenamento de dados em servi-ços da Internet, cujo acesso pode ser difícil ou pode encontrar-se fora da jurisdiçãolegal daquela polícia e pode até requerer ações demoradas de cooperação internaci-onal;

4. uso extensivo de criptografia forte, que sugere a necessidade de um trabalho maiorde investigação para evitar que as evidências digitais do suspeito estejam protegidasdessa forma;

5. dispositivos móveis de alta capacidade e dimensões muito reduzidas, que podemser facilmente destruídos ou ocultados, ou que podem ser utilizados para evitarque dados importantes fiquem armazenados nos discos rígidos dos computadoresutilizados;

6. serviços online diversos como webmail, redes sociais ou programas de mensagensinstantâneas, cujos vestígios encontram-se nas mãos dos provedores dos serviços, oque dificulta sua coleta.

O uso de técnicas cada vez mais sofisticadas de proteção e ocultação de dados,como criptografia integral de disco e esteganografia, também reforçam a necessidade deuma ação mais proativa para identificar e preservar vestígios. A análise live surge comouma possível resposta para alguns desses desafios.

6.5. Princípios de perícia digitalSegundo Palmer (2001), por definição, a perícia em Informática tem uma natureza inves-tigativa e seus praticantes devem seguir um processo investigativo na realização de seutrabalho. Ao investigar crimes relacionados a computadores, deve ficar claro que os prin-cípios básicos aplicados a cenas de crime "comuns"também se aplicam. Nesta seção, sãoapresentados alguns princípios de perícia digital que serão utilizados ao longo do traba-lho. Também são detalhadas as fases do trabalho pericial, que se aplicam tanto à análiseconvencional quanto à análise live.

De acordo com Huebner et al. (2003), a primeira coisa de que um investigadordeve estar ciente é o Princípio da Troca de Locard, segundo o qual

qualquer pessoa ou coisa entrando em uma cena de crime leva algo da cenaconsigo ou deixa algo de si para trás quando sai da cena,

ou, como apresentado por Reith et al. (2002), toda atividade em um computador provavel-mente produzirá uma modificação no sistema em que foi realizado como, por exemplo,modificações no sistema de arquivos ou, no mínimo, modificações na sua memória princi-pal. Nesse sentido, um princípio básico é o da preservação dos vestígios originais. Sempreque possível, procura-se trabalhar sobre uma cópia integral e exata dos dados originais.Um alto nível de integridade dos vestígios é necessário em todos os exames periciais deInformática, já que materiais digitais são mais facilmente adulterados e forjados do quemateriais físicos.

Com o desenrolar dos exames e a descoberta de evidências no material exami-nado, é importante manter a rastreabilidade dessas descobertas e de suas correlações. Damesma forma, os dados são transformados e interpretados por ferramentas diversas. É de-sejável que todos os procedimentos realizados sejam claros e totalmente compreendidospelos especialistas, embora nem sempre as ferramentas utilizadas permitam uma análisee avaliação mais profunda do seu funcionamento.

6.5.1. Cadeia de custódia

A cadeia de custódia é um processo usado para manter e documentar a história cronoló-gica da evidência, para garantir a idoneidade e o rastreamento das evidências utilizadasem processos judiciais. A cadeia de custódia trata dos procedimentos que buscam garantira idoneidade das evidências por meio da descrição e documentação detalhada de como aevidência foi encontrada e de como foi tratada dali por diante.

Todo o procedimento deve ser documentado para que fique registrado onde, quandoe por quem a evidência foi descoberta, manipulada, coletada e armazenada. Quando aevidência passa para a responsabilidade de outra pessoa, esse fato, com todos os detalhesenvolvidos, incluindo número de lacres e outros procedimentos de segurança, deve ser,também, cuidadosamente documentado. Turner (2005) discute extensivamente a impor-tância de comprovar a procedência das evidências obtidas em meios digitais. A incapa-cidade de demonstrar a continuidade dessa cadeia de custódia em um processo tem umsério impacto na aceitação da prova.

6.5.2. Fases

Beebe and Clark (2005) sugerem uma divisão em seis fases, nas quais um número arbitrá-rio de subfases pode ser definido, considerando a necessidade de sua execução conformea natureza do caso. As seis fases são:

1. preparação (pré-incidente);

2. resposta ao incidente;

3. coleta de dados;

4. análise;

5. apresentação das descobertas;

6. encerramento do incidente.

A Figura 6.2 apresenta a relação das seis fases com a possibilidade de iteraçãoentre elas ou de todo o processo.

Figura 6.2. Fases do trabalho pericial, adaptada de Beebe and Clark (2005)

A diferença da análise live para a convencional está principalmente na fase decoleta de dados e análise, que são realizadas com o sistema ainda em execução. Naanálise convencional, o sistema seria desligado antes de qualquer outro procedimento serrealizado.

6.5.3. Funções de hash

As funções de hash têm uma importância fundamental nos procedimentos da perícia di-gital. Elas são funções que relacionam uma entrada de tamanho variável a uma saída detamanho fixo. Essas funções de hash são comumente utilizadas em criptografia, autenti-cação e assinatura digital. Alguns exemplos de algoritmos utilizados são MD5, SHA-1,SHA-256 e SHA-512. Uma característica fundamental das funções de hash é que é muitodifícil encontrar dois conteúdos de entrada que produzam o mesmo resultado na saída,e, a partir da saída, é computacionalmente inviável encontrar a entrada. Dessa forma,essas funções são utilizadas para garantir a integridade de arquivos digitais. No caso de

modificação no conteúdo de um arquivo, mesmo que mínima, o valor da função de hashmuda drasticamente, evidenciando a existência de alteração. O quadro a seguir apresentaum exemplo de modificação no conteúdo e seu reflexo no resultado da função de hashutilizando o algoritmo MD5.

> Conteúdo : < t e s t >>> MD5: a55ab7512f0d0 f f4527d898d06a fd5c5

> Conteúdo : < t e s t e >>> MD5: c0d810f61f37025e600c f41e716c8576

A utilização das funções de hash para garantir a integridade das evidências en-contradas será abordada posteriormente neste trabalho, como parte dos procedimentosa serem executados durante a perícia, assim como uma indicação de ferramentas pararealizar o processo.

6.6. Análise liveConforme descrito inicialmente, a análise live, também chamada de live forensics, con-siste em uma análise digital realizada por meio de procedimentos periciais e conduzida noequipamento computacional ainda em execução. Portanto, a análise live ocorre quando osistema é mantido em execução e os investigadores usam o próprio sistema operacionalda máquina para acessar os seus dados.

Segundo Anson and Bunting (2007), os ingredientes principais para realizar umaanálise live bem-sucedida são:

• interagir o mínimo possível com o sistema em análise;

• utilizar ferramentas confiáveis;

• pensar e repensar, pois uma vez feito o procedimento em um sistema em execução,o sistema modificará o estado atual, sendo impossível retornar ao estado inicial;

• documentar todo o procedimento.

Para melhor compreender o potencial da análise live com relação a análise conven-cional, pode-se fazer uma reflexão sobre as fontes de dados existentes em um computador,conforme apresentado na seção a seguir.

6.6.1. Fontes de dados em um computador

Os componentes de um computador são agrupados em três componentes básicos: unidadecentral de processamento (CPU), a memória principal (RAM) e os dispositivos de entradae saída. A Figura 6.3 ilustra a interação desses componentes.

Processadores O processador, ou Unidade Central de Processamento (CPU), tem comofunção principal unificar todo o sistema, controlando as funções realizadas pelos outros

Figura 6.3. Interação entre os componentes básicos do computador

componentes. A CPU é composta por dois componentes básicos, a unidade de controle(UC), e a unidade lógica e aritmética (ULA).

A função da CPU é buscar instruções na memória e executá-las, em seguida. Seuciclo básico de execução é buscar a instrução da memória, decodifica-la para determinarseus operandos e funções a executar, executá-la, e em seguida, tratar a instrução seguinte,até que o programa pare.

Registradores São dispositivos de alta velocidade, localizados fisicamente na CPU,para armazenamento temporário de dados. Um registrador é o elemento superior da pi-râmide da memória, por possuir a maior velocidade de transferência dentro do sistema,menor capacidade de armazenamento e maior custo. O sistema operacional deve estarsempre atento ao estado e ao conteúdo dos registradores. Quando o sistema operacionalcompartilha a CPU com mais de um programa, necessita, às vezes, interromper um pro-grama e iniciar outro. Nesse caso, é necessário que os dados contidos nos registradoressejam salvos, para que possam ser recuperados posteriormente, quando seu programa deorigem voltar a ser executado.

Memória cache Esta memória, hierarquicamente, está abaixo da camada de registrado-res, sendo controlada, principalmente, por hardware. É uma memória de alta velocidade,mais lenta que os registradores, mas mais rápida que a memória principal. Os moder-nos computadores costumam ter dois ou até três níveis de cache, sendo o seu tamanholimitado pelo alto custo. A cada nível subsequente, diminui a velocidade e aumenta a ca-pacidade de armazenamento. Todas as requisições da CPU que não podem ser atendidaspela memória cache são direcionadas para a memória principal.

Memória principal (RAM) Também conhecida como memória primária, real ou RAM(random access memory). Posições de memória frequentemente ou recentemente utiliza-das são mantidas na memória cache. Quando o programa precisa ler um dado na memó-ria, o hardware verifica se o dado está na memória cache. Se estiver (cache hit), nenhuma

requisição adicional é necessária. Caso contrário (cache miss), há necessidade de umarequisição adicional, enviada à memória principal, com perda substancial de tempo.

Memória secundária É um meio permanente de armazenamento. Enquanto os dadoscontidos em registradores, memória cache e memória principal são voláteis – sendo per-didos no momento de desligamento do computador – a memória secundária permanecearmazenada mesmo depois do desligamento da máquina. Trata-se de uma memória deacesso bem mais lento, quando comparado às memórias voláteis. Sua vantagem, porém,está no menor custo e na alta capacidade de armazenamento. Exemplos desse tipo dememória são os discos rígidos e os flash drives.

Dispositivos de entrada e saída São os dispositivos que permitem a comunicação entreo computador e o mundo externo. Podem ser divididos em duas categorias: na primeira,estão os dispositivos utilizados como memória secundária e na segunda, os dispositivosque permitem a interação do ser humano com o computador, como teclado, monitor,mouse, impressora e scanners.

O objetivo de discutir os componentes da arquitetura básica do computador é cha-mar a atenção para as possíveis fontes de evidências digitais. Observa-se que a volatilitadediminui a medida que a capacidade de armazenamento aumenta. Elementos com maiorvolatilidade como registradores e caches não apresentam vantagem do ponto de vista pe-ricial em relação ao conteúdo da memória RAM, que por ser menos volátil é mais fácil deser analisada. Assim como os discos rígidos apresentam um volume bem maior de mate-rial potencialmente interessante para o exame pericial. Deve-se ter em mente que apesardos dispositivos de entrada e saída não terem função primordial de armazenamento dedados, alguns deles fazem uso de algum tipo de memória para viabilizar sua operação.Como exemplo, algumas impressoras utilizam um disco rígido que armazena cópias dearquivos a serem impressos.

6.7. Diferenças com relação à perícia convencionalA perícia convencional ocorre com o sistema investigado desligado. Para evitar novasescritas no disco, remoção de arquivos temporários ou qualquer modificação no sistema,aconselha-se desligar o computador utilizando o procedimento pull the plug. Esse proce-dimento consiste na interrupção do fornecimento de energia ao equipamento pela retiradado cabo de energia da tomada. Após a coleta do equipamento computacional, uma cópiaintegral do disco rígido do sistema é realizada e, a partir daí, essa imagem é analisada emlaboratório, utilizando-se um sistema operacional e aplicações forenses confiáveis (Car-rier, 2006).

Diferentemente da perícia convencional, que fornece apenas uma visão limitadadas informações do sistema, ferramentas para análise live podem informar ao investiga-dor um cenário mais completo do estado do computador (Hay et al., 2009). SegundoAdelstein (2006), enquanto a perícia convencional tenta preservar os discos rígidos emum estado inalterado, as técnicas de análises em equipamentos computacionais ligadostêm como objetivo tirar snapshots do estado da máquina, similar às fotografias de uma

cena de crime.

Ferramentas periciais, na maioria das vezes, são bem-sucedidas na extração dedados dessas mídias, inclusive na recuperação de arquivos apagados não sobrescritos ebuscas por palavras-chave. A perícia convencional, apesar de amplamente usada atual-mente na persecução penal, apresenta limitações nos seguintes casos:

1. impossibilidade de coletar o equipamento computacional;

2. necessidade de estabelecer o flagrante do suspeito;

3. uso de criptografia forte.

No item 1, existem casos em que não há permissão legal ou viabilidade técnicapara coletar o equipamento computacional devido à importância deste para a organização.Equipamentos de grande porte, como mainframes, também inviabilizam sua apreensãopela dificuldade de transporte e armazenamento do hardware.

No item 2, o desligamento sumário do equipamento computacional inviabilizaráo flagrante, já que não haverá a constatação dos requisitos necessários para a sua configu-ração. Sendo assim, a prova deve ser extraída e documentada antes do procedimento dedesligamento e coleta do equipamento.

O item 3 refere-se ao mais recente desafio da perícia digital: o uso, cada vez maisdifundido, de esquemas criptográficos robustos nos computadores pessoais, dificultando,consideravelmente, a extração de dados pela perícia convencional, podendo até mesmoinviabilizá-la por completo.

A análise live possui vantagens e desvantagens se comparada com a perícia con-vencional. Segundo Anson and Bunting (2007), o investigador deve determinar qual op-ção representa uma ameaça maior à perícia: a perda dos dados da memória RAM ou amodificação dos dados no disco rígido.

6.8. Vantagens da análise liveDevido à análise em um computador ligado fornecer uma visão mais completa do sistemainvestigado, com acesso a informações na memória RAM, ela pode ser usada para resolveralgumas das limitações encontradas pela perícia convencional. Entre as vantagens obtidasno uso desse tipo análise, é possível elencar como as principais:

• extração de dados voláteis;

• triagem de equipamentos;

• triagem de dados;

• preservação de dados criptografados;

• possiblidade de estabelecer o flagrante.

Cada uma dessas vantagens é detalhada nas seções que se seguem.

6.8.1. Extração de dados voláteis

De acordo com Adelstein (2006), a análise live pode resguardar tanto as informações vo-láteis quanto as informações estáticas sobre o sistema de arquivos. De acordo com Carrierand Spafford (2005), o pré-processamento de dados na cena de crime é apenas uma dasfases na investigação digital. A perícia em um computador ainda ligado permite ao in-vestigador analisar um elemento indisponível durante a perícia convencional: a memóriaRAM. Sendo assim, o investigador terá acesso a informações não tipicamente escritas emdisco, tais como: portas abertas, conexões de rede ativas, programas em execução, dadostemporários, interação com usuário, chaves criptográficas e conteúdos não criptografados.

Com o uso apenas da perícia convencional, essas informações eram, simples-mente, ignoradas, o que pode ser prejudicial à investigação. Quanto maior a probabilidadede alteração nas informações do dispositivo computacional, maior é a prioridade de ex-tração e preservação desses dados. Como a memória RAM é mais suscetível a mudanças,alerta que a extração deve seguir a ordem de volatilidade. Portanto, na maioria das vezes,é necessário que as informações sejam extraídas da memória antes da extração dos dadosdo disco rígido.

6.8.2. Triagem de equipamento

A presença crescente de computadores e mídias de armazenamento computacional na vidacotidiana refletiu-se também nas cenas de crime, onde comumente são encontrados com-putadores que apresentam relação com o fato sob investigação (Hoelz, 2009). SegundoAdelstein (2006), discos rígidos com mais capacidade de armazenamento aumentam otempo necessário para análise, dificultando e encarecendo-a quando há a coleta de todosos discos rígidos.

A análise live permite ao investigador filtrar os equipamentos computacionais quesão realmente de interesse à investigação. A busca por palavras-chave no disco rígido oupor aplicativos instalados na máquina, por exemplo, podem evitar a apreensão desneces-sária de computadores. Em casos nos quais os resultados da perícia devem ser disponibi-lizados em um curto espaço de tempo, um modelo para triagem de equipamentos pode serutilizado durante a análise live (Rogers et al., 2006). Esse modelo envolve consultas nocomputador investigado em busca de informações contidas nos arquivos de registro, his-tórico de Internet, mensagens eletrônicas entre outros. A triagem de equipamentos ajudao perito a dedicar-se à perícia dos equipamentos computacionais relevantes, pois reduz aquantidade total de equipamentos apreendidos. Sendo assim, as análises resultam em umrelatório com mais qualidade e tempestividade.

6.8.3. Triagem de dados

Devido ao atual aumento da quantidade de evidências digitais disponíveis, em breve seráimpossível obter todos os dados referentes ao caso. Com isso, o paradigma da análiselive poderá se tornar o procedimento padrão. Técnicas como mineração de dados e usode filtros de arquivos conhecidos estão sendo utilizadas para processar casos contendogrande volume de dados, porém não resolvem o problema por completo.

A extração seletiva de dados no computador investigado em execução pode fa-cilitar a perícia posterior, principalmente em casos onde os dados estão em servidores

corporativos (banco de dados, servidores de e-mail), mainframes ou máquinas que con-tenham hardware que dificulte a perícia convencional, como RAID (Redundant Array ofIndependent Disks), por exemplo. Segundo Aquilina et al. (2008), nem sempre é possívelextrair todos os dados de todas as máquinas envolvidas no incidente, sendo mais eficientea extração de alguns dados de cada máquina para determinar quais sistemas realmenteforam afetados.

6.8.4. Preservação de dados criptografados

A criptografia é um dos melhores métodos para ocultar informação e tem sido ampla-mente utilizada por criminosos para esconder o conteúdo de seus arquivos. O uso devolumes criptografados complica, significativamente, a perícia convencional. Supondo ouso de algoritmos fortes, métodos convencionais de investigação, em geral, possuem umbaixo retorno em função do investimento. Uma vez que o sistema é desligado, a chavecriptográfica necessária para acessar a mídia de armazenagem normalmente não está maisdisponível (Hay et al., 2009). Houve avanços no processamento de dados criptografados,como o uso de rainbow tables e ataques por dicionário. No entanto, técnicas anti-forensestambém evoluíram para dificultar a decifração desses conteúdos criptografados. Caso osistema não seja desligado, a análise live permite ao investigador acessar os dados deforma transparente, como um usuário do sistema, e realizar uma cópia para analisá-losposteriormente.

6.8.5. Possibilidade de estabelecer flagrante

Outra grande vantagem do uso de técnicas de análise em computadores ligados é a pos-sibilidade de constatação de uma situação de flagrante. A perícia convencional simples-mente ignorava tal possibilidade e desligava a máquina investigada, perdendo a oportuni-dade de registrar o estado da máquina, processos em execução e arquivos que serviriampara estabelecer a situação de flagrante.

6.9. Desvantagens da análise liveApesar de resolver alguns problemas encontrados na perícia convencional, a perícia emequipamentos computacionais em execução também introduz novos desafios e possui suaspróprias limitações. Além de aumentar a quantidade de informações que o perito deveanalisar, é possível citar as seguintes desvantagens no uso desse tipo de análise:

1. aspectos legais e impossibilidade de reprodução do exame;

2. tempo gasto;

3. complexidade e variedade de cenários;

4. mudança de paradigma na investigação;

5. rootkits e malware.

Analogamente, cada uma dessas devantagens é detalhada nas seções que se se-guem.

6.9.1. Aspectos legais e impossibilidade de reprodução do exame

É necessário considerar as indagações sobre aspectos legais como uma parte do esforçode pesquisa nas análises de sistemas em execução (Hay et al., 2009). Caso a prova digitalnão seja válida legalmente, pouco adianta os resultados da análise live.

Durante a realização da perícia em um computador ligado, é muito fácil conta-minar a prova no sistema, exigindo que os procedimentos sejam feitos por um profissio-nal qualificado. Durante a realização dos exames, o sistema se modifica continuamente,impossibilitando obter exatamente os mesmos resultados ao se repetir a perícia. A boaprática exige que o investigador, quando realizando um procedimento em uma máquinainvestigada, minimize o impacto e compreenda o efeito desse procedimento no sistemaanalisado.

Uma vez que a análise live extrai dados da memória volátil, esse exame não poderáser repetido posteriormente produzindo exatamente os mesmos resultados. Essa impos-sibilidade de reprodução exige uma documentação precisa dos procedimentos realizadose uma atenção ainda maior na preservação da integridade dos dados extraídos durante aanálise dos equipamentos computacionais ligados.

Os dados extraídos durante os exames devem seguir o mesmo tratamento dispen-sado à perícia convencional. Deve-se utilizar uma função de hash para garantir integridadedesses dados. Além disso, a análise live deve se manter em harmonia com os preceitosda cadeia de custódia. O objetivo de manter, cuidadosamente, a cadeia de custódia nãoconsiste apenas em proteger a integridade da evidência, mas, também, de tornar difícil aoadvogado de defesa arguir que a evidência foi mal manipulada enquanto esteve na possedo investigador.

6.9.2. Tempo gasto

A utilização racional do tempo é sempre importante e, para tanto, a escolha entre asatividades de análise que devem ser feitas no ambiente em execução e quais podem serrealizadas posteriormente sem prejuízo às investigações é essencial.

Alguns procedimentos utilizados quando os computadores estão ligados, tais comoa cópia integral do disco rígido, podem ser demorados. O local da análise live, ao menosno caso policial, não é o local mais adequado para realização de exames periciais. Sendoassim, espera-se que esses procedimentos sejam os mais breves possíveis. Para Adelstein(2006), o investigador pode realizar uma triagem e coletar dados essenciais, examiná-lose usar o resultado dessa análise para decidir o que é mais necessário.

6.9.3. Complexidade e variedade de cenários

A grande quantidade de aplicativos, sistemas operacionais e dispositivos computacionaisencontrados durante a perícia em um equipamento ligado frustram a preparação do peritona realização desse tipo de análise. A preparação é requisito fundamental para o sucessoda análise, sendo inadmissível testar ferramentas e procedimentos durante a realização daanálise live (Mandia et al., 2003).

O sucesso nesse tipo de análise depende de um treinamento constante do peritona área de computação, assim como do estudo e da evolução contínua dos procedimentos

periciais realizados em um computador ligado. Como visto, o investigador deve ter umconhecimento amplo em diversas áreas computacionais, porém é humanamente impos-sível exigir o domínio em todas as particularidades encontradas durante a análise live,sendo necessária a utilização de uma ferramenta para auxiliá-lo nesse processo.

6.9.4. Mudança de paradigma na investigação

Para a realização de uma análise live, é indispensável que a máquina esteja ligada. Casoa máquina esteja desligada, não existe nada mais a fazer, além de coletar o equipamentopara realização de perícia convencional e esperar que a máquina não esteja utilizandoalgum algoritmo de criptografia forte. Caso seja necessário realizar a análise de umamáquina ligada, a investigação deve se adaptar à necessidade imposta por esse tipo deanálise, ou seja, realizar a coleta apenas se tiver certeza de que o equipamento computa-cional estará ligado.

6.9.5. Rootkits e malware

Um rootkit é um software que permite acesso privilegiado e contínuo a um computador,ao mesmo tempo em que fica invisível aos administradores do sistema, subvertendo asrespostas normais e esperadas de comandos do sistema operacional ou de outros aplicati-vos. O termo rootkit é uma concatenação dos termos root e kit. Root é nome tradicionalda conta com privilégios de administrador do sistema, nos sistemas operacionais UNIX,enquanto o termo kit refere-se aos componentes de software com integram a ferramenta.Tipicamente, o rootkit é instalado na máquina pelo atacante, após ter obtido poderes deadministrador do sistema, explorando alguma vulnerabilidade conhecida ou tendo acessoà senha de administrador. Os rootkits são de difícil detecção, já que podem subverter opróprio software que supostamente deveria detectá-lo.

Rootkits podem ser classificados em dois níveis: de aplicativo e de kernel. Oprimeiro tipo é encontrado em aplicativos nativos do próprio sistema operacional, sendocapaz de omitir resultados de uma consulta desse aplicativo modificado por meio de umfiltro pré-determinado. Já o segundo é incorporado ao sistema operacional e, por isso,utiliza um filtro para omitir resultados independentemente do aplicativo que está sendoexecutado. Segundo Carrier (2006), os rootkits de nível de aplicativo podem ser con-tornados utilizando executáveis conhecidos e trazidos pelo próprio investigador, mas osrootkits de nível de kernel necessitam da utilização de uma abordagem mais complexa,sendo necessário buscar inconsistências ao correlacionar diversas estruturas em memória.

Além dos rootkits, é importante estar atento para a presença de malware. Estetermo vem do inglês (malicious software), significando software malicioso. Refere-sea programas desenvolvidos para alterar ou danificar o sistema, roubar informações ouprovocar outras ações não realizadas pelo usuário atual. Exemplos comuns de malwareincluem vírus, worms, trojans e spyware. Embora não afetem diretamente os resultadosdo exame, como no caso dos rootkits, podem ser utilizados como estratégia de defesa,com a alegação de que "a culpa foi do malware".

A análise e engenharia reversa de malware é um assunto amplo e de grande valiapara o exame pericial, mas que está além do escopo deste trabalho.

6.10. Análise da memória RAMA grande vantagem do uso da análise live em relação à análise convencional é o acessoaos dados residentes na memória do computador investigado. Apesar de ser substancial-mente menor que a capacidade de armazenamento dos discos rígidos, a memória RAMé uma rica fonte de informações para investigação. É possível extrair da memória infor-mações como: processos em execução, arquivos abertos, conexões estabelecidas, portasabertas e possíveis senhas. Em sistemas Windows pode-se extrair a lista de DLLs e osarquivos de registro (hive files), que permanecem residentes na memória. Essas infor-mações, com exceção dos arquivos de registro – que também são acessíveis pelo discorígido –, eram simplesmente ignoradas pela perícia convencional. Com o uso da períciaem equipamentos em execução, essas informações ganham papel de destaque, tornandoesse tipo de análise uma importante fase da perícia digital.

A RAM é uma memória volátil e bastante dinâmica que exige cuidado durantesua análise. Devido à volatilidade da memória, a análise em equipamentos computacio-nais ligados oferece ao perito uma breve janela de oportunidade para extração de dadosdesta, antes que seja efetuado o desligamento e apreensão do equipamento computaci-onal. A memória RAM de um computador ligado permanece continuamente alterandoseu conteúdo. Sendo assim, torna-se necessária uma documentação criteriosa das açõesrealizadas pelo perito.

6.10.1. Análise com ferramentas específicas

Além de aplicativos próprios do sistema operacional, existem outras ferramentas digitaisforenses, aplicativos de administração de rede e utilitários de diagnósticos, que podemser usados durante a análise live. Não se pode subestimar a importância do processomonótono de criação de um kit de ferramentas para realizar esse tipo de análise. O tempogasto nesse processo será compensado pelos resultados mais rápidos, profissionais e bem-sucedidos (Mandia et al., 2003).

Mesmo utilizando ferramentas específicas, é possível a ocorrência de falsos nega-tivos caso um rootkit de nível de kernel esteja instalado no sistema operacional. Sendoassim, o sistema operacional pode omitir informações de interesse à investigação inde-pendentemente da ferramenta que esteja sendo utilizada.

6.10.2. Análise do dump da memória

Neste tipo de análise, o conteúdo integral da memória RAM é copiado para um arquivodenominado dump. Este arquivo é então processado em um ambiente preparado e contro-lado por meio do uso de analisadores, responsáveis por percorrer o conteúdo do arquivoem busca de padrões. Na análise do arquivo de dump da memória é feita a busca porassinaturas das estruturas de dados em memória.

Por não utilizar as APIs do próprio sistema operacional, essa abordagem de análiseapresenta uma desvantagem: incompatibilidade com os diversos sistemas operacionais eversões. As estruturas de dados usadas e a organização dos elementos carregados emmemória dependem do sistema operacional do computador. Suas assinaturas variam comcada versão do sistema operacional, incluindo atualizações significativas como servicespacks. É necessário conhecer profundamente essa organização para realizar a extração

desses elementos do arquivo da memória dump.

Apesar de não ser possível extrair novamente o conteúdo da memória após o des-ligamento da máquina investigada, é possível reanalisar o arquivo de dump. Essa proprie-dade é desejável para a filosofia da perícia digital, já que permite uma reprodução parcialdo procedimento, além de permitir a extração de outros dados não extraídos durante aprimeira análise.

6.10.3. Mecanismos para cópia da memória RAM

Diferentemente da duplicação de discos rígidos pela perícia convencional, a memóriaRAM não pode ser desconectada do sistema para realização de cópia devido à volatili-dade de seus dados. Conforme a arquitetura física, uma vez que a memória não é maisalimentada de energia, o estado dos dados na RAM é desconhecido. Existem duas formaspara realizar a cópia total dos dados da memória RAM para um arquivo de dump: comsuporte de software ou de hardware.

Cópia com suporte de software Consiste na técnica mais utilizada para cópia do con-teúdo da memória física. Existem diversos aplicativos que realizam essa cópia, porémcomo esses aplicativos são executados no próprio sistema operacional investigado, háuma alteração do conteúdo na memória. Sendo assim, o examinador deve dar preferênciaàs ferramentas menos invasivas, ou seja, que alterem o mínimo possível do conteúdo damemória. Um conjunto contendo um bloqueador de escrita para extração de memória vo-látil de um computador investigado integrado pode ser utilizado para diminuir ainda maisa interação com o sistema.

Cópia com suporte de hardware Devido à volatilidade dos dados, não existe um hard-ware específico para realizar uma cópia do conteúdo da memória RAM, porém é possívelutilizar a propriedade DMA (Direct Memory Access) de alguns dispositivos de hardwarepara realizar essa cópia. O DMA fornece transferência de dados entre o barramento PCIe a memória sem que seja necessário usar recursos do processador. A cópia física do con-teúdo da memória RAM é possível pelo acesso direto à memória na porta Firewire (IEEE1394). Apesar de menos invasiva em relação à cópia física por software, essa abordagemnão é sempre possível. Porém, é recomendada quando o computador encontra-se bloque-ado com senha pelo usuário. Essa técnica permite o acesso à memória do computadorbloqueado e, por meio da alteração de processos em execução, seu desbloqueio.

6.11. MetodologiaA Figura 6.4 apresenta a metodologia para a realização da análise live. Um dos aspectosmais importantes do campo da computação forense é a documentação. Além de docu-mentar seus próprios atos durante a coleta dos dados, o analista deve também documentaro ambiente antes de começar efetivamente a intervir nos sistemas. Para que a documenta-ção seja feita da melhor forma possível, é recomendado que haja uma pessoa responsávelexclusivamente por essa tarefa. Alguns itens que devem ser documentados com atençãoincluem:

1. telas do computador, com resolução suficiente para leitura de textos ali presentes,se necessário;

2. conexões de rede, mostrando quaisquer cabos de rede conectados ao computador.As duas pontas do cabo devem ser fotografadas, para o caso em que o analista tenhaque provar que o computador estava conectado a algum equipamento específico;

3. conexões de periféricos, para provar que estavam conectados ao computador.

Figura 6.4. Metodologia para a realização da análise live

Deve-se impedir que um equipamento ligado seja desligado por intervenção hu-mana ou que fique indisponível, por exemplo, em modo de hibernação automática ou deproteção de tela com senha, já que será alvo de captura de dados voláteis. É necessá-rio, também, impedir que outras evidências sejam ocultadas, adulteradas ou destruídas.Um reconhecimento do local, a fim de localizar equipamentos, verificando as conexõescitadas anteriormente deve ser realizado.

É recomendado que sejam tiradas fotografias para ilustrar o estado em que seencontra o ambiente. As fotografias, de preferência digitais, e com bastante resolução,devem fazer parte da documentação. A presença de testemunhas é sempre recomendadae em muitos casos é uma exigência processual. De preferência, devem ser utilizadas

máquinas fotográficas com capacidade para salvar as fotos no formato TIFF, evitando aperda de qualidade causada pela compressão para o formato JPEG.

Se o computador estiver desligado, deve assim permanecer e deve ser levado paraexames posteriores, em laboratório. A integridade das fotografias deve ser garantida pormeio de uma função de hash, cujo resultado deve fazer parte da documentação, permi-tindo verificação posterior da autenticidade das fotografias. Todas as informações rele-vantes para futuros exames, tais como senhas, nomes de usuários ou peculiaridades daconfiguração dos sistemas, devem ser documentadas. Muitas vezes elas podem ser soli-citadas ao responsável técnico pelo local. Se o computador estiver ligado, deve-se tiraruma fotografia da sua tela e providenciar algum mecanismo que o impeça de hibernar ouativar a proteção de tela, pois pode estar protegido por senha e não ser possível voltar ater acesso ao sistema.

Em seguida, é inserido algum dispositivo externo como pen drive ou disco rígidocontendo os aplicativos automatizados de coleta de dados voláteis. O simples ato deconectar esse dispositivo gerará alteração no registro do Windows. Portanto, deve-seregistrar os dados do dispositivo usado a fim de identificá-lo posteriormente em meio aosresultados. As ferramentas são, então, executadas para realizar a coleta de dados. Osprocedimentos de coleta são apresentados na seção seguinte.

Os resultados devem ser armazenados no próprio dispositivo externo. Eles de-vem ser analisados em sequência para identificar a possível presença de criptografia devolumes, criptografia de sistema ou virtualização do sistema operacional, o que exigeprocedimentos específicos.

Após a coleta, o dispositivo deve ser inserido em um computador do examinadorpara os procedimentos finais. Caso tenham sido tiradas fotografias durante o procedi-mento, elas devem ser juntadas aos resultados da coleta. Deve-se aplicar, então, umafunção de hash em cada arquivo e gravar todos os valores em um arquivo que acompa-nhará os demais.

Para fins de logística, sugere-se que todos os arquivos sejam transferidos paramídias óticas, como CD ou DVD. Considerando os tamanhos comuns de memória física,basta um DVD, na maioria dos casos, ou dois, em casos excepcionais. Dessa forma, oanalista forense continua com o dispositivo de coleta e a mídia ótica pode acompanhar otrâmite do processo judicial sem qualquer prejuízo. No entanto, um processo adicionalé necessário para garantir que não haja substituição dessa mídia ou adulteração do seuconteúdo. Para isso, deve-se calcular o hash do arquivo de hashes citado anteriormente.O resultado deve ser registrado no relatório da perícia, que conterá também a assinaturado analista. Com isso, é possível garantir a integridade e a autenticidade dos resultadosencaminhados.

Nos casos em que houver necessidade de cópia lógica de arquivos para discosrígidos externos, devido ao maior volume de dados, o próprio disco rígido utilizado deveacompanhar o restante do material de informática relacionado apreendido. Novamente, omesmo procedimento de cálculo de hashes dos arquivos coletados deve ser realizado.

6.12. Coleta de dadosA coleta de dados voláteis deve ser feita em uma sequência que parta dos dados maisvoláteis para os menos voláteis. Os dados mais voláteis tendem a desaparecer mais ra-pidamente, tendo a preferência na ordem de coleta. Um exemplo de ordem de coleta,partindo dos dados mais voláteis para os menos voláteis, é apresentado a seguir:

• memória RAM;

• registro do Windows;

• estado da rede;

• processos em execução;

• volumes criptografados montados.

As ferramentas preferencialmente utilizadas para a coleta são as de linha de co-mando, que comprometem menos recursos da máquina alvo, já que a ferramenta utilizadavai ocupar parte da memória RAM do sistema alvo. Existem diversas ferramentas vol-tadas para resposta a incidentes e segurança de Tecnologia da Informação (TI). Um dosproblemas de se utilizar essas ferramentas está no fato de que o usuário tem que lembrartodos os comandos e parâmetros para executar as ferramentas corretamente em linha decomando. Em seguida, o investigador terá que consolidar os resultados de forma a realizarseu relatório. Assim, para utilizar essas ferramentas em todo o seu potencial, é necessárioagregá-las em um aplicativo que as execute de forma automática e na ordem correta, aten-dendo aos princípios forenses relacionados, e salvando os resultados de forma integradae lógica em um arquivo, para análise posterior.

Existem algumas soluções integradas para o problema da coleta de dados volá-teis no mercado. Entretanto, a maioria delas tem fins comerciais e não permite fácilatualização e adequação. As soluções encontradas, em geral, têm foco na segurança dainformação e visam uma resposta imediata, enquanto o foco pericial é na preservação e/ourecuperação de dados, senhas e informações relevantes para a análise.

Devido à rápida evolução da computação forense, dos sistemas de informática edos crimes relacionados, as ferramentas de análise forense não conseguem acompanharno mesmo passo. Para cada novo sistema operacional, nova versão ou novo programa deroubo de dados desenvolvido, há necessidade de adequação, atualização e adaptação dasferramentas.

Perícia em sistemas ligados exige uma abordagem muito mais complexa e crite-riosa do que o exame tradicional, com o sistema desligado. Deve haver extremo cuidadopara minimizar o impacto das ferramentas utilizadas. Na avaliação de ferramentas paracoleta de dados voláteis, devem ser considerados, entre outros aspectos:

• o total de memória alocada pela ferramenta;

• o impacto da ferramenta nos Registros do Windows;

• o impacto da ferramenta no sistema de arquivos;

• o uso de DLLs presentes no sistema.

É aconselhável que se capture todos os dados voláteis possíveis. A ordem de coletapode ser crucial para a investigação. O examinador deve avaliar o caso cuidadosamente,para decidir a ordem de coleta, partindo dos dados mais voláteis para os menos voláteis.Os princípios fundamentais que norteiam a extração de dados são os seguintes:

• deve-se coletar todos os dados que serão perdidos ao desligar o sistema;

• deve-se coletar, primeiramente, os dados mais voláteis, deixando os menos voláteispara o final;

• os dados devem ser coletados no menor tempo possível e levando em conta a suaimportância;

• os dados coletados devem permanecer disponíveis para futuras análises, se neces-sárias, e os exames realizados devem ser tão repetíveis quanto possível;

• deve-se manter a integridade dos dados coletados;

• as ferramentas de coleta devem capturar os dados de forma fidedigna;

• as ações realizadas devem ser pertinentes ao caso.

Cabe lembrar que a inserção de qualquer dispositivo em um computador ligadovai produzir pequenas alterações no sistema. O uso apropriado das ferramentas de cap-tura de dados voláteis e a inserção destes dispositivos não adicionará nenhuma evidênciaao sistema. Executar uma ferramenta capaz de realizar a coleta de memória RAM, porexemplo, vai necessitar de uma pequena porção da própria memória a ser capturada. As-sim, a inserção de um dispositivo USB também vai adicionar uma entrada no registrodo Windows. Todas essas pequenas alterações não produzem grandes consequências nosistema como um todo e podem ser explicadas posteriormente, com o exame minuciosoe detalhado do material coletado. Essas pequenas alterações são produzidas pela intera-ção das ferramentas com o sistema operacional do Windows, interferindo, apenas, nosarquivos do sistema operacional, não acarretando nenhuma mudança importante no con-teúdo dos dados salvos no sistema. Ainda assim, é preciso enfatizar a necessidade dedocumentar ao máximo todo o processo.

Os dados voláteis incluem qualquer dado armazenado, na memória ou em trânsito,que será perdido com a interrupção da energia ou quando o sistema for desligado. Da-dos voláteis são encontrados em registradores, memória cache e memória RAM. Dadosvoláteis passíveis de coleta incluem:

• data e hora do sistema;

• usuários ativos e suas credenciais de autenticação;

• informação sobre processos em execução;

• informações dos registros do Windows;

• dispositivos conectados ao sistema;

• informações do sistema;

• conexões de rede;

• estado da rede;

• conteúdo da área de transferência;

• histórico de comandos;

• arquivos abertos.

Durante a coleta, se constatada a presença de criptografia de volumes, criptografiade sistema ou virtualização do sistema operacional, deve-se realizar a cópia lógica dosarquivos encontrados no volume criptografado ou a cópia de todo o sistema, dependendodo tipo de criptografia utilizada. Se o sistema estiver sendo executado em máquina vir-tual, também deve ser realizada cópia lógica de todo o sistema. A cópia lógica pode serrealizada com o programa FTK Imager, apresentado na seção seguinte, e o resultado deveser direcionado a um disco rígido externo conectado a outra porta USB.

Ao final, deve ser verificado se há mais algum dado a copiar, como arquivos lógi-cos ou memória física. Caso contrário, o dispositivo externo de coleta deve ser retiradoe o computador, desligado – retirando-se o cabo da fonte de alimentação. No caso decomputadores portáteis, além de retirar o cabo da fonte de alimentação, deve-se retirar abateria.

É importante ressaltar que o estado de um computador ligado não é estático, poiseste encontra-se em funcionamento e em constante alteração de dados tanto de memóriaquanto de disco e processos. Assim, uma coleta de memória levará a resultados diferentes,a cada vez que for executada. Consequentemente, não há como executar uma funçãode hash de memória, pois os resultados serão sempre diferentes, quando se baseia notempo. O que se recomenda, e deve ser feito, é um hash do arquivo resultante da coletade memória. O resultado do hash desse arquivo deve ser documentado, buscando garantira cadeia de custódia e evitar que haja questionamentos futuros. Agindo dessa forma,teremos um arquivo contendo a cópia da memória física, com garantia de integridade,possibilitando a repetição dos exames, caso necessário.

6.12.1. Ferramentas para coleta do dump de memória

MDD Utilitário desenvolvido pela Mantech International Corporation, para coleta damemória física (RAM) dos computadores ligados. Esse programa é disponibilizado paraórgãos governamentais e uso privado, sob licença GPL e é capaz de coletar imagens dememória dos sistemas Windows 2000, Windows Server 2003, Windows XP, WindowsVista e Windows Server 2008 (MDD, 2011). A memória é coletada em formato binário

e a integridade do arquivo resultante é verificada pelo algoritmo MD5. Posteriormente,o arquivo coletado pode ser verificado em laboratório, com programas específicos paraeste fim como, por exemplo, o Volatility. O programa foi projetado especificamente paracoletar uma imagem da memória física de sistema com até 4 GB de memória. O comandopara realizar o dump da memória e gravá-lo em um arquivo é apresentado a seguir eilustrado pela Figura 6.5.

mdd_1 . 3 −o a r q u i v o _ d e _ s a í d a . img

Figura 6.5. Tela de captura de memória do MDD

FTK Imager Utilitário fornecido gratuitamente pela AccessData. É capaz de criardumps de memória em computadores de 32 e 64 bits. A Figura 6.6 apresenta a telada ferramenta. Embora exista uma versão do FTK Imager para linha de comando, aindanão há suporte para captura de memória.

6.13. Ferramentas para análise indiretaApós realizar a captura da memória, é necessário analizar o conteúdo do dump, ou seja,realizar a análise indireta da memória. Duas ferramentas gratuitas para realizar esse pro-cedimento são apresentadas a seguir. Como citado anteriormente, a abordagem de análiseindireta da memória via arquivo de dump evita a alteração demasiada do estado da má-quina, uma vez que substitui vários aplicativos de coleta de dados utilizados na análisedireta da memória RAM. Além disso, a análise indireta permite a execução de novas con-sultas ou confirmações de resultados, o que não é possível utilizando a abordagem direta.Todavia, a análise do dump de memória depende fortemente da capacidade dos scriptsem reconhecer a organização dos dados na memória RAM, sendo que cada sistema ope-racional, até mesmo em versões (services packs) diferentes, possuem formas distintas dearmazenar dados em memória.

MANDIANT Memoryze A ferramenta pode realizar a captura da memória completado sistema, da memória de um processo, DLL ou driver carregado na memória. Combase em um arquivo de dump ou a partir do conteúdo da memória em execução, ela pode:

Figura 6.6. Tela de captura de memória do FTK Imager

• listar todos os processos em execução, incluindo rootkits;

• listar arquivos abertos e chaves de registro em uso;

• especificar funções importadas ou exportadas por executáveis e DLLs;

• listar strings em memória para cada processo;

• identificar hooks, comumente usados por rootkits.

A ferramenta recebe como entrada um arquivo XML com os parâmetros de exe-cução, incluindo a localização do arquivo de dump, e gera relatórios em formato XML.Para facilitar seu uso, vários arquivos de lote (.bat) são fornecidos. Eles são listados aseguir:

• MemoryDD.bat: para obter a imagem da memória física;

• ProcessDD.bat: para obter a imagem do espaço de memória de um processo;

• DriverDD.bat: para obter a imagem de um driver;

• Process.bat: para enumerar tudas as informações de um processo incluindohandles, memória virtual, portas de rede e strings;

• HookDetection.bat: para procurar hooks no sistema operacional;

• DriverSearch.bat: para encontrar drivers;

• DriverWalkList.bat: para enumerar todos os módulos do kernel e drivers.

A Figura 6.7 apresenta um exemplo da análise das portas abertas por um processoe o estado da conexão. A saída em XML foi simplificada para facilitar a compreensão.

Figura 6.7. Análise das portas abertas com a ferramenta memoryze

Volatility O framework Volatility consiste em um conjunto de scripts capazes de extrairinformações de execução a partir da análise do arquivo de dump de memória do computa-dor investigado. Essa ferramenta percorre o conteúdo do arquivo em busca de assinaturase estruturas de dados dos elementos contidos em memória, tais como: processos em exe-cução, arquivos abertos, conexões estabelecidas, portas abertas, entre outros. Uma listacompleta de parâmetros do Volatility 1.3a é apresentada a seguir:

• connections: exibe a lista de conexões estabelecidas com endereço local, en-dereço remoto e o PID (Process ID);

• connscan: além da lista de conexões estabelecidas, exibe conexões escondidas ehistórico de conexões, caso estejam ainda em memória;

• connscan2: exibe as mesmas informações da opção connscan;

• datetime: exibe hora e data do sistema em que foi feita a cópia da memóriaRAM;

• dlllist: lista as DLLs na memória referenciadas para cada processo;

• dmp2raw: converte um arquivo dump de falha de sistema em um arquivo de dumpda memória;

• dmpchk: exibe as informações de um arquivo dump de falha;

• files: lista os arquivos abertos para cada processo;

• hibinfo: converte o arquivo de hibernação em arquivo de dump da memória;

• ident: exibe propriedades do arquivo de dump da memória, tais como: nome doarquivo, tipo do sistema operacional e hora de criação do arquivo;

• memdmp: extrai a memória endereçada de um processo;

• memmap: exibe o mapa de memória;

• modscan: busca módulos com os atributos de nome, base e tamanho;

• modscan2: exibe as mesmas informações da opção modscan;

• modules: exibe a lista com os módulos carregados;

• procdump: extrai o conteúdo de um processo para um arquivo executável;

• pslist: exibe a lista de processos em execução;

• psscan: busca por objetos EPROCESS;

• psscan2: exibe as mesmas informações da opção psscan;

• regobjkeys: lista as chaves de registro abertas para cada processo;

• sockets: lista as sockets abertos, contendo os atributos PID, porta, código doprotocolo e data de criação;

• sockscan: busca por sockets abertos;

• sockscan2: exibe as mesmas informações da opção sockscan;

• strings: realiza a correspondência entre os deslocamentos físicos e os endereçosvirtuais;

• thrdscan: busca por objetos ETHREAD;

• thrdscan2: exibe as mesmas informações da opção thrdscan;

• vaddump: extrai as seções VAD (Virtual Address Descriptors) para um arquivo;

• vadinfo: extrai as informações VAD;

• vadwalk: percorre a árvore VAD.

A Figura 6.8 apresenta a listagem de processos em execução obtida com a opçãopslist. É importante notar a presença de dois processos na lista abaixo: cmd.exe emdd_1.3.exe, que são produtos do processo de coleta. Além deles, deve-se destacaro uso de criptografia (truecrypt.exe) e de máquinas virtuais (VMWareUser.exe),que podem ser ameaças ao exame pericial e exigem uma coleta mais cuidadosa.

Figura 6.8. Listagem de processos exe execução com o volatility

6.14. Ferramentas para análise diretaEsta seção apresenta um conjunto de ferramentas e comandos do sistema operacionalpara realizar a coleta de dados com o sistema em execução. Essa abordagem se opõeàquela da análise do dump de memória. Cabe lembrar que a execução dessas ferramentas,invariavelmente, gerará alterações na memória do sistema e seu uso deve ser documentadodetalhadamente.

6.14.1. Comandos do sistema operacional

Os sistemas Windows disponibilizam alguns comandos que podem ser utilizados paradiagnosticar e resolver problemas do computador, além de servirem para coletar dadosde interesse. Alguns comandos úteis aos procedimentos de coleta de dados são: cmd,time, date, echo, ipconfig, netstat e tasklist. Parte desses comandos exigeprivilégios de administrador do sistema para serem executados. Para a coleta de dados,não é aconselhável que se utilize o cmd.exe do sistema investigado, que pode responderde forma imprevisível por estar comprometido por algum rootkit instalado na máquina.O kit de coleta de dados utilizado pelo analista deve conter uma cópia do cmd.exesabidamente confiável, para que os comandos ali executados tenham a resposta correta eesperada.

Regedit O editor de registros do Windows possibilita a realização de cópia das chavesda máquina local e do usuário atual com o comando a seguir. O resultado é gravado em

formato texto no arquivo fornecido como parâmetro. A Figura 6.9 apresenta a saída docomando.

r e g e d i t / e r e g i s t r o . t x t

Figura 6.9. Saída do comando regedit /e

Outros comandos de sistema do Windows – nome do computador, nome do usuá-rio da sessão, data e hora do sistema e lista de arquivos recentemente abertos pelo usuárioda sessão – podem ser executados, conforme especificado a seguir. Todos os resultadossão adicionados ao arquivo_de_saída.txt.

echo %COMPUTERNAME% > a r q u i v o _ d e _ s a í d a . t x techo %USERNAME% > a r q u i v o _ d e _ s a í d a . t x td i r "% U s e r P r o f i l e %\ Recen t " > a r q u i v o _ d e _ s a í d a . t x td a t e / t > a r q u i v o _ d e _ s a í d a . t x tt ime / t > a r q u i v o _ d e _ s a í d a . t x t

A lista de processos e serviços em execução pode ser obtida com o comandotasklist. A Figura 6.10 apresenta a saída do comando.

t a s k l i s t /V

O comando netstat fornece informações sobre conexões de rede, como as por-tas abertas por processos e as conexões estabelecidas. Um exemplo do comando é exibidona Figura 6.11.

n e t s t a t −ano

Informações sobre as interfaces de rede, incluindo endereços físicos e endereçosIP em uso, podem ser obtidas com o uso do comando ipconfig. A saída é exibida naFigura 6.12.

i p c o n f i g / a l l

Figura 6.10. Saída do comando tasklist /V

O comando a seguir apresenta uma lista dos comandos recentemente utilizadospelo usuário. A Figura 6.13 ilustra o comando.

doskey / h i s t o r y > a r q u i v o _ d e _ s a í d a . t x t

6.14.2. Informações do sistema

Esta seção apresenta utilitários que obtém informações do sistema em execução comoarquivos aberto, DLLs carregadas, usuários registrados, data de instalação, dentre outras.

Handle v3.45 Utilitário que mostra a relação de processos com arquivos e pastas aber-tos. Pode ser executado em sistemas Windows XP ou mais recentes. Necessita ser execu-tado por usuário com poderes de administrador do sistema.

h a n d l e −a c c e p t e u l a > a r q u i v o _ d e _ s a í d a . t x t

Figura 6.11. Exemplo do comando netstat

ListDLLs v3.0 Este utilitário relaciona as DLLs carregadas no sistema. Pode ser exe-cutado em sistemas Windows XP ou mais recentes, retornando o nome completo dosmódulos carregados. Além disso, sinaliza as DLLs que apresentam número de versãodiferente dos seus arquivos correspondentes gravados em disco (isso ocorre quando umarquivo é atualizado depois que o programa carrega suas DLLs), podendo ainda informarquais DLLs foram realocadas.

l i s t d l l s

PsFile v1.02 Este utilitário de linha de comando mostra os arquivos que foram abertosremotamente. Pode ser executado em sistemas Windows XP ou mais recentes.

p s f i l e −a c c e p t e u l a

PsInfo v1.77 Ferramenta de linha de comando que retorna informações importantessobre o sistema, incluindo tipo de instalação, usuário registrado, organização, número etipo de processador, quantidade de memória física, data de instalação do sistema, entreoutras. Pode ser executado em sistemas Windows XP ou mais recentes.

p s i n f o −a c c e p t e u l a

PsList v1.29 Ferramenta de linha de comando que lista os processos em execução. Podeser executado em sistemas Windows XP ou mais recentes.

Figura 6.12. Exemplo do comando ipconfig /all

p s l i s t −a c c e p t e u l a

PsLoggedOn v1.34 Este utilitário permite determinar quem está utilizando ativamenteo sistema, seja localmente ou remotamente. Pode ser executado em sistemas WindowsXP ou mais recentes.

p s l o g g e d o n −a c c e p t e u l a

pclip Copia o conteúdo da área de transferência.

p c l i p > a r q u i v o _ d e _ s a í d a . t x t

6.14.3. Navegadores de Internet

Esta seção apresenta utilitários que extraem informações dos navegadores de Internetcomo histórico de navegação, senhas gravadas, arquivos temporários do cache e buscasrealizadas.

IEHistoryView v1.61 Utilitário que permite visualizar as páginas acessadas com o na-vegador Internet Explorer.

i e h v / s t e x t a r q u i v o _ d e _ s a í d a . t x t

Figura 6.13. Exemplo do comando doskey /history

MozillaHistoryView v1.35 Programa utilitário que permite visualizar as páginas aces-sadas com o navegador Mozilla Firefox.

m o z i l l a h i s t o r y v i e w / s t e x t a r q u i v o _ d e _ s a í d a . t x t

ChromeHistoryView v1.00 Utilitário que permite visualizar as páginas acessadas como navegador Google Chrome. A Figura 6.16 apresenta um exemplo da saída na tela.

c h r o m e h i s t o r y v i e w / s t e x t a r q u i v o _ d e _ s a í d a . t x t

IE PassView v1.26 Utilitário que revela as senhas armazenadas pelo navegador InternetExplorer, suportando desde a versão 4.0 até a 9.0.

i e p v / s t e x t a r q u i v o _ d e _ s a í d a . t x t

ChromePass v1.20 Utilitário que revela as senhas armazenadas pelo navega-dor Google Chrome.

ChromePass / s t e x t a r q u i v o _ d e _ s a í d a . t x t

PasswordFox v1.30 Utilitário que revela as senhas armazenadas pelo navegador Mo-zilla Firefox, suportando qualquer versão do Windows 2000, XP, Server 2003, Vista, atéo Windows 7. Caso uma senha mestre esteja sendo utilizada para proteger as senhas,ela pode ser especificada pelo parâmetro /master. Caso ela seja desconhecida, nãoserá possível recuperar as senhas. Ao contrário do Google Chrome, o Firefox permitearmazenar senhas incorretas. A Figura 6.17 exibe a tela do aplicativo.

Figura 6.14. Saída do aplicativo handle

Figura 6.15. Saída do aplicativo ListDLLs

Figura 6.16. Tela do aplicativo ChromeHistoryView

Figura 6.17. Tela do aplicativo PasswordFox

pas sword fox / s t e x t a r q u i v o _ d e _ s a í d a . t x t

MyLastSearch v1.50 Utilitário que permite para visualizar os últimos termos pesquisa-dos em diversos programas de busca (Google, Yahoo e MSN) e em sites de redes sociais(Twitter, Facebook, MySpace). A Figura 6.18 ilustra os resultados obtidos com esta fer-ramenta. No caso de buscar realizadas com o recurso de resultados instantâneos, comono navegador Google Chrome, uma busca é registrada para cada letra digitada.

m y l a s t s e a r c h / s t e x t a r q u i v o _ d e _ s a í d a . t x t

6.14.4. Mensageria e comunicação

Utilitários que extraem informações de aplicativos de mensageria e comunicação sãoapresentados nesta seção, incluindo registros de conversas, ligação utilizando VoIP e se-nhas gravadas.

SkypeLogView v1.21 Este utilitário acessa os arquivos de log criados pelo Skype emostra detalhes, como chamadas realizadas ou recebidas, mensagens de chat e transfe-rências de arquivos. A Figura 6.19 ilustra os resultados obtidos com essa ferramenta.

s k y p e l o g v i e w / s t e x t a r q u i v o _ d e _ s a í d a . t x t

MessenPass v1.42 Utilitário que permite a recuperação de senhas do usuário atual-mente ativo no sistema e somente funciona se o usuário configurar o programa para salvaras senhas utilizadas. Os programas de mensagem instantânea suportados são os seguintes:MSN Messenger, Windows Messenger (em Windows XP), Windows Live Messenger (emWindows XP/Vista/7), Yahoo Messenger (versões 5.x e 6.x), Google Talk, ICQ Lite (ver-sões 4.x/5.x/2003), AOL Instant Messenger (versão 4.6 ou abaixo, AIM 6.x e AIM Pro),Trillian, Trillian Astra, Miranda, GAIM/Pidgin, MySpace IM, PaltalkScene e Digsby.

mspass / s t e x t a r q u i v o _ d e _ s a í d a . t x t

Figura 6.18. Tela do aplicativo MyLastSearch

Mail PassView v1.73 Este utilitário pode ser executado em qualquer versão do Win-dows, desde a versão 98 até o Windows 7, e permite recuperar senhas de programas dee-mail, tais como: Outlook Express, Microsoft Outlook 2000 (POP3 e SMTP), MicrosoftOulook 2002/2003/2007/2010 (POP3, IMAP, HTTP e SMTP), Windows Mail, WindowsLive Mail, IncrediMail, Eudora, Netscape 6.x/7.x (se a senha não estiver criptografadacom senha mestre), Mozilla Thunderbird (se a senha não estiver criptografada com senhamestre), Group Mail Free, Yahoo! Mail (se a senha estiver salva em alguma aplicação doYahoo! Messenger) e Gmail (se a senha estiver salva na aplicação Gmail Notifier, GoogleDesktop ou Google Talk).

ma i lpv / s t e x t a r q u i v o _ d e _ s a í d a . t x t

Figura 6.19. Tela do aplicativo SkypeLogView

6.14.5. Dispositivos

Informações sobre dispositivos USB, conexões sem fio, volumes criptografados e máqui-nas virtuais podem ser extraídas com o auxílio dos utilitários apresentados nesta seção.

WirelessKeyView v1.35 Utilitário que recupera as senhas de internet sem fio (WEP/WPA)armazenadas no computador, em sistemas Windows XP e Vista.

w i r e l e s s k e y v i e w / s t e x t a r q u i v o _ d e _ s a í d a . t x t

USBDeview v1.89 Utilitário que lista os dispositivos USB conectados ao computador,bem como aqueles que estiveram conectados recentemente.

usbdeview / s t e x t a r q u i v o _ d e _ s a í d a . t x t

Encrypted Disk Detector (EDD) 1.2.0 Ferramenta de linha de comando que verifica apresença de volumes criptografados para os programas TrueCrypt, PGP, Safeboot (McA-fee Endpoint Encryption) e Bitlocker. O programa foi testado pelo desenvolvedor emsistemas Windows XP, Vista e 7 (32 e 64 bits), necessitando de apenas 40 KB de espaçoem disco e, aproximadamente, 3 MB de memória. Atualmente, o programa é disponi-

Figura 6.20. Tela do aplicativo usbdeview

bilizado gratuitamente. A Figura 6.21 apresenta um exemplo em que não foi detectadoqualquer volume criptografado.

edd120 . exe / b a t c h a r q u i v o _ d e _ s a í d a . t x t

Figura 6.21. Saída do aplicativo EDD

ScoopyNG v1.0 Este utilitário combina as técnicas de outras duas ferramentas maisantigas, ScoobyDoo e Jerry, e incorpora algumas novas técnicas para determinar se o sis-tema operacional corrente está sendo executado dentro de uma máquina virtual VMwareou em um sistema nativo. O aplicativo funciona em qualquer CPU moderna, indepen-dentemente do número de processadores utilizados. Além disso, é capaz de detectar apresença do VMware mesmo quando utilizados mecanismos anti-detecção.

scoopyng > a r q u i v o _ d e _ s a í d a . t x t

6.14.6. Ferramentas auxiliares

As ferramentas apresentadas nesta seção auxiliam o trabalho pericial na manipulação dosresultados gerados pelas demais ferramentas.

strings v2.41 Utilitário que permite a extração de caracteres UNICODE (ou ASCII) emarquivos, incluindo arquivos executáveis e DLLs.

s t r i n g s −a c c e p t e u l a a r q u i v o _ d e _ e n t r a d a

grep Este é um aplicativo de linha de comando proveniente de sistemas Unix/Linux,capaz de fazer buscas no conteúdo de arquivos ou saídas de outros comandos executados,estando também disponível para ambiente Windows. O quadro a seguir apresenta doisexemplos de utilização. No primeiro, é realizada a procura pela palavra "truecrypt"nosprocessos listados pelo comando pslist. A opção -i faz com que a diferença entreletras maiúsculas e minúsculas seja ignorada. No segundo, é feita a procura pela palavra"truecrypt"no arquivo teste.txt.

p s l i s t | g r ep − i t r u e c r y p tg rep − i t r u e c r y p t t e s t e . t x t

fsum v2.52 Utilitário de linha de comando para verificar a integridade de arquivos. Per-mite a escolha entre várias funções de hash. O quadro a seguir apresenta três exemplos.No primeiro, a ferramenta é executada sobre a pasta "Resultados", de forma recursiva(-r), e a saída é gravada no arquivo hashes.txt. No segundo, a ferramenta calculao hash do arquivo hashes.txt, salvando o resultado em hash_do_hashes.txt.No terceiro, é pedida a verificação (-c) dos hashes contidos no arquivo hashes.txt,mostrando apenas eventuais falhas de verificação na tela (-jf).

fsum −d " . \ R e s u l t a d o s " −r −sha256 ∗ > h a s h e s . t x tfsum −d " . " h a s h e s . t x t > h a s h _ d o _ h a s h e s . t x tfsum − j f −c h a s h e s . t x t

Entre as ferramentas citadas, as distribuídas pela empresa Nirsoft são as seguintes:IEHistoryView v1.60, MozillaHistoryView v1.31, MyLastSearch v1.50, SkypeLogViewv1.21, MessenPass v1.41, Mail PassView v1.72, IE PassView v1.26. Todas elas podemser executadas em linha de comando sem utilização de interface gráfica, podendo o resul-tado da pesquisa ser direcionado para um arquivo de texto (/stext arquivo.txt),para um arquivo HTML (/shtml arquivo.html), para um arquivo XML (/sxmlarquivo.xml) ou outros formatos, que podem ser consultados no site da Nirsoft. Osutilitários são distribuídos gratuitamente, podendo ser utilizados livremente para uso par-ticular ou empresarial, desde que não haja fins lucrativos ou cobranças de qualquer natu-reza para recuperar senhas de eventuais clientes, a não ser com autorização expressa dosautores do software. Os aplicativos podem ser livremente distribuídos, desde que todosos arquivos do pacote sejam incluídos sem qualquer modificação e que não haja nenhumtipo de cobrança financeira.

Algumas ferramentas de linha de comando da Microsoft Sysinternals costumamretornar uma janela perguntando se o usuário aceita as condições da licença de uso. Oinconveniente dessa janela é que a coleta automatizada fica interrompida até que o usuárioaceite ou não a licença do software. Para evitar este inconveniente em uma ferramenta

automatizada de linha de comando, em que os resultados são dirigidos a um arquivopara análise posterior, deve ser utilizada a opção -accepteula logo após o comando,aceitando, assim, as condições da licença e evitando o aparecimento da janela.

Algumas vezes, os aplicativos utilizados para fins periciais são classificados in-corretamente como vírus ou cavalos-de-troia pelos antivírus eventualmente instalados namáquina em análise. Isso devido ao fato de algumas das ferramentas recuperarem infor-mações sensíveis, como senhas, chaves de instalação e registros do Windows. Logo, essecomportamento é considerado suspeito pelos antivírus. Assim, é recomendável que se de-sabilite qualquer antivírus instalado antes de iniciar a coleta dos dados, quando possível.

6.15. Considerações finaisA análise de memória RAM tem ser tornado parte importante de qualquer investigaçãoforense computacional, permitindo o acesso aos dados voláteis não encontrados em umaimagem de disco rígido. Apesar dos recentes progressos da análise de memória, as difi-culdades ainda são grandes, devido à falta de flexibilidade das ferramentas existentes, quegeralmente só podem ser utilizadas nos sistemas operacionais específicos e respectivasversões para os quais foram codificadas.

Como citado anteriormente, a abordagem forense tradicional consiste em retirar ocabo de energia da máquina suspeita, para analisar os dados presentes na mídia de arma-zenamento posteriormente, em laboratório. Esta técnica pode levar à perda de importantesevidências presentes nos dados voláteis, devido ao crescente uso de criptografia de discoe de sistema. No caso de utilização de criptografia, principalmente de disco, conseguiracesso aos dados com o sistema ainda ligado é de vital importância. Além disso, háuma forte tendência a se utilizar armazenamento remoto de dados, em servidores remo-tos, por meio de conexões de rede ou Internet. Neste caso, o desligamento precoce dosistema pode inviabilizar a coleta de dados remotos que estão acessíveis somente naquelemomento.

Um dos princípios mais importantes da perícia é o Princípio da Troca de Locard,que, adaptado à Informática Forense, afirma que ocorrem mudanças em um sistema de in-formática ativo, simplesmente pela passagem do tempo. Isso ocorre devido aos processosque estão em execução, aos dados que estão sendo gravados na memória ou apagados, àsconexões de rede sendo criadas ou finalizadas, e assim por diante. Se as mudanças ocor-rem simplesmente pela passagem do tempo, são agravadas quando o investigador executaseus programas de coleta de dados. Afinal, a execução de ferramentas no sistema provocao seu carregamento na memória RAM, sobrescrevendo outros dados ali presentes.

A coleta de dados em computadores ligados deve ser realizada com impacto mí-nimo sobre a integridade do sistema. Há pouco tempo, os resultados obtidos dessa formanão eram bem aceitos na Justiça, devido à interferência do analista forense no sistemaoriginal. Entretanto, não há mais como fugir dessas técnicas, para que não haja perdadefinitiva de informações valiosas. A cadeia de custódia deve ser criteriosamente docu-mentada, com a ajuda de hashes do material coletado, utilização de fotografias e filmagense presença de testemunhas durante a coleta. Pequenas interferências no sistema podeme devem ser aceitas, desde que bem documentadas, com o objetivo maior de preservar ainformação vital para a investigação e para o processo judicial.

A computação forense é uma área que evolui rapidamente. Como consequência,os crimes de informática também evoluem na mesma proporção. Mais ainda, os sistemasde informática evoluem em velocidade superior à das ferramentas de análise desenvol-vidas. Apesar da intensa pesquisa realizada nos últimos anos, a captura e a análise damemória física em sistemas operacionais baseados em Windows ainda está em um está-gio inicial de compreensão e desenvolvimento e ainda não existe uma técnica totalmenteeficiente. Apesar disso, a análise live é capaz de recuperar informações valiosas que, deoutra maneira, seriam perdidas se fosse utilizada a técnica de retirar o cabo de energia. Éaltamente recomendável que a análise tradicional, baseada em disco rígido, seja comple-mentada com a análise live, que está se tornando cada vez mais importante e, em algunscasos, determinante, na medida em que as ferramentas de captura e análise se tornam maissofisticadas e eficientes.

ReferênciasAdelstein, F. (2006). Diagnosing your system without killing it first. Communications of

the ACM, 49:63–66.

Anson, S. and Bunting, S. (2007). Mastering Windows Network Forensics and Investiga-tion. Sybex.

Aquilina, J. M., Casey, E., and Malin, C. H. (2008). Malware Forensics - Investigatingand Analyzing Malicious Code. Syngress.

Beebe, N. L. and Clark, J. G. (2005). A hierarchical, objectives-based framework for thedigital investigations process. Digital Investigation, 2(2):147–167.

Carrier, B. (2006). Risks of live digital forensic analysis. Communications of the ACM,49:56–61.

Carrier, B. D. and Spafford, E. H. (2005). Automated digital evidence target definitionusing outlier analysis and existing evidence. In Digital Forensic Research Workshop(DFRWS).

FTK Imager (2011). <http://accessdata.com/support/adownloads>. Úl-timo acesso em 22/09/2011.

Hay, B., Nance, K., and Bishop, M. (2009). Live analysis: Progress and challenges.digital forensics. IEEE Security and Privacy, 7:30–7.

Hoelz, B. W. P. (2009). Madik: Uma abordagem multiagente para o exame pericial desistemas computacionais. Master’s thesis, Universidade de Brasília, Brasília.

Huebner, E., Bem, D., and Bem, O. (2003). Computer Forensics: Past, Present AndFuture. Information Security Technical Report, 8(2):32–36.

Mandia, K., Prosise, C., and Pepe, M. (2003). Incident Response & Computer Forensics.McGraw-Hill, 2nd edition.

MANDIANT Memoryze (2011). <http://www.mandiant.com/products/free_software/memoryze>. Último acesso em 22/09/2011.

MDD (2011). <http://sourceforge.net/projects/mdd>. Último acesso em22/09/2011.

Microsoft Sysinternals (2011). <http://technet.microsoft.com/sysinternals>. Último acesso em 22/09/2011.

NetMarketShare (2011). <http://www.netmarketshare.com/>. Último acessoem 23/09/2011.

Nirsoft (2011). <http://www.nirsoft.com/>. Último acesso em 22/09/2011.

Palmer, G. (2001). A Road Map for Digital Forensic Research. Technical Report DTR -T001-01 FINAL, DFRWS. Report from the First Digital Forensic Research Workshop(DFRWS).

Reith, M., Carr, C., and Gunsch, G. (2002). An Examination of Digital Forensic Models.International Journal of Digital Evidence, 1(3).

Rogers, M. K., Mislan, R., Goldman, J., Wedge, T., and Debrota, S. (2006). Computerforensics field triage process model. In Conference on Digital Forensics, Security andLaw, pages 27–40.

Ruibin, G. and Gaertner, M. (2005). Case-Relevance Information Investigation: BindingComputer Intelligence to the Current Computer Forensic Framework. InternationalJournal of Digital Evidence, 4(1).

Turner, P. (2005). Digital provenance - interpretation, verification and corroboration.Digital Investigation, 2:45–49.

Volatility (2011). <https://www.volatilesystems.com/default/volatility. Último acesso em 22/09/2011.