forence computacional keyloggers

Upload: rafael-egevardt

Post on 08-Jul-2015

545 views

Category:

Documents


0 download

TRANSCRIPT

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

3

Captulo

1Forense Computacional: fundamentos, tecnologias e desafios atuaisEvandro Pereira1, Leonardo Lemes Fagundes2, Paulo Neukamp2, Glauco Ludwig1, Marlom Konrath2Universidade do Vale do Rio dos Sinos - Unisinos1

{evandrodvp, llemes, glaucol}@unisinos.br; 2{pneukamp, marlomk}@gmail.com

Abstract This chapter presents a very current theme that has received substantial attention from both academic and industrial communities: the computer forensics. The scientific and systematic inspection of computational environments, with the goal of figuring out and reconstruct events, still has lot of open research topics. On industry, the interest on this subject is supported by an increasing amount of criminal investigations having digital data as its main evidences. In this chapter, we present basic notions of computer forensics and tools that can be used to collect, keep and analyze evidences. The anatomy of some malicious codes and case studies are also used as a complement on the subject and as a way of increasing its comprehension. Resumo Este captulo trata de um tema bastante atual e que tem recebido significativa ateno tanto da comunidade cientfica quanto da indstria: a forense computacional. A inspeo cientfica e sistemtica em ambientes computacionais com o objetivo de tentar reconstituir eventos apresenta ainda vrios tpicos de pesquisa em aberto. Na indstria, o interesse justifica-se pela grande quantidade de investigaes criminais, cujas principais evidncias esto armazenadas em formato digital. So apresentados neste captulo noes de forense computacional e ferramentas que podem ser utilizadas para auxiliar na coleta, manuteno e anlise de evidncias. A anatomia de alguns cdigos maliciosos e estudos de caso complementam o tema e auxiliam no entendimento do assunto.

4

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

1.1 IntroduoO cyber crime diferencia-se dos crimes tradicionais em funo do seu modo de operao, pois envolve a utilizao de dispositivos eletrnicos, de computadores e da Internet para a execuo de ao ou omisso, tpica, antijurdica e culpvel [Chawki 2005]. Entretanto, tanto quanto os autores dos atos ilcitos convencionais aqueles cometidos sem o uso de computadores os responsveis por crimes virtuais devem ser identificados, julgados e penalizados. Contudo, essa uma tarefa complexa devido possibilidade de anonimato dos contraventores e ao fato de que as evidncias do crime podem estar distribudas em diversos servidores espalhados pela Internet, possivelmente em computadores localizados em regies distantes daquelas onde as vtimas se encontram. Conforme estatsticas apresentadas no Internet Crime Report, um relatrio anual elaborado conjuntamente pelo National White Collar Crime Center (NWCCC) e pelo Federal Bureau of Investigation (FBI), que rene diversas informaes sobre tendncias e padres observados nos crimes praticados via Internet, somente em 2006, aproximadamente U$ 200.000.000,00 (duzentos milhes de dlares) foram perdidos em conseqncia de diferentes tipos de fraudes [NWCCC and FBI 2006]. Entre os crimes apresentados pode-se citar o caso Nigerian Letter Fraud, em que uma vtima induzida a auxiliar um agente de governo estrangeiro a movimentar grandes somas de dinheiro para fora do seu pas em troca de uma generosa comisso. Aps fornecer os dados da conta bancria, ao invs de ter a comisso depositada, as vtimas so roubadas. A pesquisa indica ainda que, assim como neste golpe, aproximadamente 76% dos casos reportados tiveram como meio de comunicao com a vtima o correio eletrnico. Entre as ocorrncias mais comuns esto a calnia, difamao e injria1 via email, o roubo de informaes confidenciais e a remoo de arquivos. Essas aes so motivadas pelo interesse de causar constrangimento ou algum tipo de perda vtima e, normalmente, so protagonizadas por colaboradores insatisfeitos ou por concorrentes de um determinado segmento de mercado. Alm disso, crimes como pedofilia, fraudes e o trfico de drogas via Internet tambm so atos ilcitos constantemente realizados com o apoio de computadores. Institutos de pesquisa como o WebSense indicam que, em 2007, o crime organizado se unir crackers para comprar, vender e negociar commodities, como kits de ferramentas prontas para ataques virtuais e golpes utilizando vulnerabilidades recm descobertas [Bessa 2006]. Com a finalidade de auxiliar na investigao de tais crimes, se faz necessrio o uso da Forense Computacional. De acordo com [Palmer and Corporation 2001] a Forense Computacional pode ser definida como a inspeo cientfica e sistemtica em ambientes computacionais, com a finalidade de angariar evidncias derivadas de fontes digitais, tendo como objetivo, promover a reconstituio dos eventos encontrados (podendo assim, determinar se o ambiente em anlise foi utilizado na realizao de atividades ilegais ou no autorizadas).

Calnia: consiste em atribuir, falsamente, a algum a responsabilidade pela prtica de um fato determinado definido como crime. Difamao: consiste em atribuir a algum fato determinado ofensivo sua reputao. Injria: consiste em atribuir a algum qualidade negativa, que ofenda sua dignidade ou decoro.

1

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

5

Este captulo trata de um tema bastante atual e que tem recebido significativa ateno tanto da comunidade cientfica quanto da indstria: a forense computacional. No mbito acadmico, o interesse deve-se quantidade de questes de pesquisa em aberto, fruto do constante surgimento de novas tecnologias, de inmeras vulnerabilidades e de ameaas cada vez mais sofisticadas [Richard and Roussev 2006]. J no contexto da indstria, tal interesse justifica-se pela grande quantidade de investigaes criminais, cujas principais evidncias esto armazenadas em formato digital, e pela carncia de profissionais especializados para realizar o processo de investigao de maneira precisa a fim de que o resultado obtido possa ser aceito por juzes nos tribunais, tanto como pea de acusao quanto de defesa [Viotto 2007]. O presente captulo est organizado da seguinte forma. A Seo 1.2 apresenta anlises referentes anatomia de diversos tipos de cdigos maliciosos (malwares) e um cenrio de ataque, cujas evidncias deixadas por worms e rootkits sero detalhadamente descritas. Na Seo 1.3 realizada uma introduo Forense Computacional. J na Seo 1.4 so realizadas demonstraes sobre a utilizao de um conjunto de ferramentas que oferecem suporte a cada uma das etapas do processo de investigao forense, bem como so mencionadas tcnicas anti-forense normalmente empregadas por invasores no intuito de ocultar as evidncias das aes realizadas. A Seo 1.5 apresenta quatro estudos de caso que consolidam os conceitos estudados nos captulos anteriores e permitem ao leitor um primeiro contato com a prtica forense. A Seo 1.6 demonstra os desafios atuais em forense digital e este trabalho se encerra apresentando as consideraes finais na Seo 1.7. 1.2 Cdigos Maliciosos Segundo [Skoudis and Zeltser 2003], cdigos maliciosos so conjuntos de instrues executadas em um computador e que fazem o sistema realizar algo que um atacante deseja. Esta definio bastante genrica, buscando assim abordar todas as categorias de software que so comumente consideradas quando se fala de malware. Nos Estados Unidos, a maioria das aes legais contra malware tomada pela Federal Trade Commission (FTC), sendo que o seu foco principal companhias que produzem ou distribuem spyware [Payton 2006]. Como na maioria dos casos estas companhias esto fora dos EUA, a FTC publicou em junho de 2005 uma recomendao para o congresso de mudana na lei para permitir cooperao com rgos internacionais [FTC 2005]. No entanto, este tipo de iniciativa ainda bastante incomum, o que facilita a ao de atacantes que se utilizam de servidores geograficamente dispersos. Esta seo aborda as principais categorias de malware existentes. A classificao aqui apresentada fortemente influenciada por [Skoudis and Zeltser 2003]. 1.2.1 Vrus

Os primeiros cdigos com capacidade de se auto-replicarem de que se tm notcia surgiram em 1962, nos laboratrios Bell, com o jogo Darwin, onde programas lutavam entre si para sobreviverem [Aleph-Null 1971]. No entanto, a utilizao do termo vrus para referenciar-se a programas com capacidade de se auto-replicarem s surgiu em 1984, com o artigo Computer Viruses Theory and Experiments de Fred

6

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

Cohen [Cohen 1987]. Nele, o autor demonstra ainda que no h algoritmo capaz de detectar todos os possveis vrus de computador. Embora recentemente novas definies estejam sendo propostas [Bonfante et al. 2007, Case and Moelius 2007], a definio de vrus aqui apresentada segue o modelo utilizado por [Adleman 1990] em que um vrus considerado uma funo computvel que infecta qualquer programa. Um programa infectado pode realizar ento trs aes disparadas conforme as entradas: (a) executar no programa hospedeiro e propagar a infeco, (b) danificar o sistema ou (c) imitar o programa hospedeiro. Uma das caractersticas de um vrus a necessidade de anexar-se a um programa hospedeiro para funcionar [Skoudis and Zeltser 2003]. O alvo neste caso pode ser um arquivo executvel, o setor de inicializao, um documento que suporte macros ou um arquivo de script. Os vrus propagam-se normalmente atravs de mdias removveis, e-mails, downloads e diretrios compartilhados. Os tipos abaixo apresentados seguem a classificao apresentada em [Kaspersky 2007]: Os chamados vrus acompanhantes (companion viruses) so aqueles nos quais o vrus no infecta um arquivo executvel, mas utiliza o mesmo nome de um arquivo existente, com uma extenso diferente, que preferida pelo Sistema Operacional [Sophos 2001]. Na Figura 1 um exemplo desta tcnica mostrada. Se o usurio clicar em Iniciar => Executar e digitar notepad, sem aspas, o arquivo notepad.com quem ser executado.

Figura 1. Exemplo de Vrus Acompanhante

No caso de vrus que infectam um arquivo executvel existente, modificando o seu cdigo, duas tcnicas de infeco so possveis: (a) infectar o incio do arquivo e (b) infectar o final do arquivo. Na primeira tcnica, o vrus ir adicionar seu cdigo antes do incio do cdigo do programa hospedeiro. Um exemplo de aplicao de tal procedimento o vrus Nimda. J ao infectar o final do arquivo, como o prprio nome diz, o cdigo do vrus adicionado no final do arquivo. Para ser executado, parte do incio do arquivo original sobrescrita com instrues que realizam um salto de execuo para o incio do cdigo do vrus. Ao final deste ltimo, a parte sobrescrita do arquivo original novamente adicionada e um segundo salto desviar o fluxo de execuo para o cdigo original. A maioria dos vrus utiliza esta tcnica, pois a mesma

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

7

possui implementao mais fcil, embora vrus mais robustos geralmente utilizem mais de uma tcnica de infeco. Alm de arquivos executveis, alguns vrus podem instalar-se nos primeiros setores lidos durante a inicializao de um Sistema Operacional. Estes setores so tipicamente os primeiros setores de um disco rgido e aonde a mquina ir inicialmente procurar pelo cdigo a ser executado quando a mesma ligada. O setor mestre de inicializao (tambm chamado Master Boot Record ou MBR) o setor mais comumente utilizado, embora os primeiros setores de uma partio tambm possam ser utilizados. Um dos vrus mais conhecidos que infectava a MBR foi o Michelangelo [IBM 2007]. No entanto, infectar a MBR a partir do Windows NT 4 tornou-se incuo, pois este SO e seus derivados acessam diretamente o hardware [Symantec 2007a]. Vrus de macro, por sua vez, so possveis graas capacidade de alguns softwares de interpretar cdigo presente dentro de arquivos de dados. Os exemplos mais clssicos desta classe so os vrus de macro do Microsoft Word. Por possuir a capacidade de interpretar cdigo em uma linguagem denominada Visual Basic for Applications, vrios vrus desta categoria surgiram no Word no final da dcada passada. Um dos mais conhecidos foi o vrus Melissa [CERT 1999], que era capaz de enviar emails para a lista de contados do usurio, contendo como anexo um documento infectado, gerado pelo vrus ou do prprio usurio. Por ltimo, podem existir vrus com outros alvos em especfico, como o vrus de scripts, que se espalham atravs de arquivos que permitem a execuo de cdigos em scripts [Kaspersky 2007]. O vrus PHP.Pirus, por exemplo, foi o primeiro vrus escrito na linguagem PHP [Symantec 2007b] e pode residir em servidores que possuem suporte a esta linguagem. Em [Subramanya and Lakshminarasimhan 2001] os autores classificam os vrus em 5 geraes: 1. Vrus Simples: no faziam nada muito significativo alm de replicar-se. Freqentemente consumiam toda a memria por replicarem-se indiscriminadamente. 2. Vrus com auto-reconhecimento: detectam um sistema j infectado atravs de alguma assinatura, no gerando duplicidade de infeco. 3. Vrus invisveis (stealth): interceptam chamadas do sistema para tentar esconder a sua presena. 4. Vrus com arsenal (armored): empregam tcnicas para dificultar a anlise de seu cdigo e podem realizar ataques diretos a antivrus presentes no sistema. 5. Vrus polimrficos: tambm chamados de auto-mutantes, este tipo de vrus infecta novos alvos com verses modificadas ou criptografadas de si mesmo. 1.2.2 Backdoor

Segundo [Skoudis and Zeltser 2003], um software que permite uma entrada pelos fundos (backdoor) um programa que habilita um atacante a furar os controles normais de segurana de um sistema, ganhando acesso ao mesmo atravs de um caminho alternativo. Segundo [Zhang and Paxson 2000] normalmente um backdoor

8

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

opera sobre o protocolo Telnet, Rlogin ou SSH e tipicamente fornece uma das seguintes funcionalidades ao atacante: 1. Aumento dos Privilgios Locais (Local Escalation of Privileges): permite que um usurio normal execute programas com privilgios de superusurio. 2. Execuo Remota de Comandos: permite que o atacante envie comandos para a mquina alvo e obtenha as respostas geradas pela execuo dos mesmos. 3. Acesso Remoto Linha de Comando: permite que o atacante utilize um shell remoto na mquina alvo, de onde poder realizar qualquer operao como se estivesse utilizando o teclado em frente mquina real. 4. Controle Remoto da Interface Grfica: permite ao atacante observar e interferir na interface grfica qual o usurio local est conectado, fornecendo assim acesso pleno mquina. Um dos backdoors mais conhecidos o netcat [Giacobbi 2007], tambm chamado de canivete suo. Este apelido se deve ao fato de o netcat poder executar praticamente qualquer comando em uma mquina e desviar a entrada e/ou sada padro para uma conexo de rede. Assim, pode-se programar este software para ficar escutando uma porta TCP ou UDP e esperando por conexes em uma mquina alvo. Ao estabelecer uma conexo, o netcat executa um comando e passa a desviar toda a sada para a conexo estabelecida. Na outra ponta, um atacante executa o programa numa verso cliente e passa a desviar a entrada padro para o programa executando na mquina alvo e obtendo os resultados gerados nesta. A Figura 2 ilustra um exemplo de como o netcat pode ser utilizado para fornecer acesso remoto linha de comando. Outros exemplos de programas que podem ser utilizados como backdoors so Virtual Network Computing (VNC) [Cambridge 2007] e Loki [Phrack 2007]. O primeiro permite que se capture e manipule a interface grfica do usurio e o segundo um backdoor que utiliza o protocolo ICMP, no necessitando portanto, abrir portas TCP ou UDP.

Figura 2. Exemplo de utilizao do Netcat

1.2.3

Cavalos de Tria

Segundo [Kolter and Maloof 2006], um cavalo de tria (Trojan Horse) um programa que se mascara ou aparenta possuir um propsito benigno, mas que arbitrariamente realiza funes maliciosas. Normalmente, um cavalo de tria no capaz de replicar-se

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

9

automaticamente [Haagman and Ghavalas 2005]. Segundo [Newman 2006], quando um cavalo de tria ativado os resultados podem variar, mas freqentemente estes programas criam backdoors (veja Seo 1.2.2) permitindo acesso remoto ou vazamento de informaes. Para no ser descoberto, comum que cavalos de tria tentem esconder seus rastros, bem como disfarar-se de programas legtimos. Para disfarar-se de programa legtimo um cavalo de tria muda seu nome para nomes comuns de serem encontrados no SO hospedeiro, como explorer.exe, iexplore.exe, svchost.exe, csrss.exe*, services.exe*, smss.exe*, spoolsv.exe*, System*, System Idle Process* ou winlogon.exe* no Windows ou init, cron ou httpd em sistemas *nix. A mostra um exemplo de como se pode renomear um programa para escond-lo entre os processos normais do sistema. Nela, primeiramente o nome do arquivo executvel netcat.exe trocado para explorer.exe. Em seguida o programa executado e pode-se notar que seu nome aparece na lista de tarefas do Windows e que este programa passa a escutar a porta 80.

Figura 3. Exemplo de como disfarar um Cavalo de Tria

Segundo [Skoudis and Zeltser 2003] outra prtica comum um programa cavalo de tria ser combinado com um programa executvel normal em um nico executvel. Programas que juntam dois ou mais executveis so chamados de wrappers e o uso destes softwares habilita um atacante a mesclar praticamente qualquer cavalo de tria com qualquer programa legtimo. Como a maioria dos cavalos de tria no ir gerar sadas para a tela, o programa combinado aparenta ser apenas o outro, escondendo sua atividade do usurio. Um caso famoso de um cavalo de tria foi reportado em 2002, quando um atacante invadiu o site oficial do software tcpdump e adicionou cdigos nos scripts de instalao que permitiriam um atacante executar remotamente comandos em uma

10

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

mquina Linux [CERT 2002b]. Em ambiente Windows, programas comumente utilizados como cavalos de tria so sub7 [Crapanzano 2003] e BO2K [Dildog 2007]. 1.2.4 Spyware

De acordo com [Payton 2006], um spyware um software que auxilia a coleta de informaes sobre uma pessoa ou organizao sem o seu conhecimento, que pode enviar tais dados para outra identidade sem o seu consentimento ou que toma controle do computador sem que o usurio saiba disso. De todos os tipos de malware existentes spyware o mais comumente encontrado. Segundo [Weiss 2005], uma pesquisa conduzida pela Dell em setembro de 2004 estimou que aproximadamente 90% dos PCs com Windows possuam no mnimo um spyware. Este tipo de software foi responsvel por metade das falhas em ambientes Windows reportados por usurios da Microsoft [Shukla and Nah 2005]. Outro estudo apontou uma mdia de 25 spywares por PC [Sipior et al. 2005]. Segundo [Solove and Rotenberg 2003], Xupiter e Gator eram as empresas lder na disseminao de programas tidos como spywares em 2003. Estimava-se que neste perodo aproximadamente 35 milhes de PCs nos EUA possuam algum software da Gator Companion. Atualmente no h um consenso quanto s classificaes e tipos de spyware existentes. Algumas proposies englobam inclusive categorias de software que so nesta seo apresentados em separado, como keyloggers por exemplo. Em [Payton 2006], spywares so classificados quanto ao seu tipo em: Advertising displays: cdigos que mostram anncios de vrios tipos no PC do usurio. Automatic download software: instalam conhecimento e consentimento do usurio. outros softwares sem o

Autonomous spyware: programas que so executados fora de um navegador web, normalmente sendo executados na inicializao e permanecendo indetectveis pelo usurio. Tracking software: programas que monitoram os hbitos de um usurio ou os dados fornecidos por ele em pginas web e enviam estas informaes pela Internet para algum servidor remoto.

Para reduzir a presena deste tipo de cdigo malicioso, diversas companhias desenvolveram produtos anti-spyware. Entre as solues mais famosas esto: Spybot Search and Destroy [Kolla 2007], Ad-Aware [Lavasoft 2007], Pest Patrol [Etrust 2007] e Microsoft Windows Defender [Microsoft 2007a]. Estas ferramentas geralmente j possuem ferramentas para automaticamente eliminar os spywares encontrados. Recentemente os softwares de antivrus comearam tambm a detectar e remover este tipo de cdigo malicioso. 1.2.5 Worms

Os worms so caracterizados como programas que se auto-propagam por meio de uma rede de computadores explorando vulnerabilidades em servios usados em larga escala (como programas de e-mail, programas de mensagens instantneas e compartilhamentos

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

11

de rede) [Zou et al. 2005]. Um worm diferencia-se de um vrus pela sua caracterstica de auto-replicao, ou seja, no necessita de interveno humana para se disseminar. A primeira implementao de um worm foi realizada em 1978 por John Shock e Jon Hupp, pesquisadores da Xerox. Na poca, a inteno dos autores foi desenvolver um software capaz de encontrar processadores ociosos disponveis na rede da Xerox e, assim, designar tarefas para esses processadores computarem. Contudo, a partir de 1980, o conceito de worms passou a ser utilizado por atacantes para espalhar malwares de forma rpida e abrangente. Atualmente, os worms so classificados como uma das maiores, ameaas virtuais, chegando a atingir 65% dos incidentes de segurana reportados ao Centro de Estudos, Resposta e Tratamento de Incidentes de Segurana no Brasil (CERT.br) no perodo de Janeiro a Maro de 2007 [CERT.br 2007]. Comumente, os worms executam uma varredura em busca de sistemas e servios vulnerveis. Quando mquinas-alvo so identificadas, os worms exploram as vulnerabilidades encontradas e se propagam infectando essas mquinas. Aps, a procura por novos alvos recomea [Klaus and Nelson 2001]. Um worm pode ter as mais diversas finalidades, como simplesmente espalhar-se consumindo largura de banda, causar ataques de negao de servio, apagar arquivos, enviar arquivos por e-mail e, principalmente, instalar outros malwares como keyloggers, rootkits e backdoors. No decorrer dos ltimos anos, vrios worms tornaram-se conhecidos por suas habilidades de rpida disseminao e pelos danos que causaram. Como exemplo, podese citar o Code Red Worm [Tham 2001]. O Code Red foi detectado em 12 de julho de 2001 pela empresa eEye Digital Security [eEye 2007], explorando uma vulnerabilidade j conhecida [CERT 2002a] em servidores Internet Information Service (IIS) da Microsoft. A vulnerabilidade havia sido reportada um ms antes de o Code Red entrar em ao, indicando o despreparo de muitos administradores de redes. De acordo com o CERT, h uma estimativa de que mais de 250.000 servidores foram infectados em apenas 9 horas. A vulnerabilidade explorada pelo Code Red est baseada no fato de que quando um servidor ISS instalado, diversas extenses do ISAPI (Internet Services Application Programming Interface) so instaladas automaticamente. O ISAPI permite aos programadores estender as potencialidades de um servidor ISS utilizando bibliotecas DLLs. A biblioteca idq.dll, utilizada pelo servio de indexao do ISS, continha erros de programao, pois no realizava a checagem de strings longas de entrada. Assim, permitindo que atacantes ocasionassem um buffer overflow ao enviar dados a essa DLL. Esta vulnerabilidade em especfico dava acesso remoto de super-usurio ao sistema. Todas as verses do ISS que acompanhavam por padro os sistemas Windows NT 4.0, Windows 2000 e Windows XP beta estavam vulnerveis [CERT 2002a]. As operaes realizadas pelo Code Red podem ser classificadas em 6 passos [Tham 2001]: 1. O worm tenta conectar-se na porta TCP 80 de mquinas selecionados randomicamente, assumindo que um servidor web ser encontrado. No caso de obter conexo, o atacante envia uma requisio HTTP GET para o alvo. A presena da seguinte string em um log de um servidor web pode indicar o comprometimento do servidor por parte do Code Red:

12

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9 090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u90 90%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a 2. Uma vez executado, o worm faz uma busca pelo arquivo c:\notworm. Caso esse arquivo seja encontrado, a execuo do Code Red cancelada. Caso contrrio, o worm gera 100 threads; 3. Se a data do sistema invadido foi anterior ao dia 20 do ms, 99 threads so usadas para a tentativa de invadir mais sistemas; 4. A centsima thread responsvel por modificar a pgina principal do servidor web (caso a linguagem padro do sistema o seja o ingls), a qual passar a exibir a mensagem: HELLO! Welcome to http://www.worm.com! Hacked by Chinese!. Essas alteraes so realizadas sem modificar o arquivo da pgina no disco fsico, mas sim, na memria; 5. Caso a data do sistema for entre os dias 20 e 28, o worm tenta ento disparar um ataque de negao de servio ao domnio www.whitehouse.com; 6. Caso a data seja superior ao dia 28, a execuo do worm cancelada. Ao longo dos tempos, algumas variantes do Code Red acabaram sendo desenvolvidas (ex: Code Red II, Code Blue, Code Green). Mais detalhes sobre as mesmas podem ser encontradas em [Tham 2001]. 1.2.6 Key Loggers

Os keyloggers so definidos como um tipo de spyware cuja finalidade capturar tudo o que for digitado em um determinado computador [CERT.br 2007]. As intenes no uso de um keylogger podem ser as mais diversas, como, por exemplo, monitorar as atividades dos funcionrios de uma determinada empresa, capturar conversas em programas de mensagens instantneas e, inclusive, capturar informaes e senhas bancrias. As informaes obtidas podem ento ser enviadas pela Internet para o gerente da empresa ou para um atacante, tudo sem o consentimento da vtima que faz uso do computador infectado. De acordo com [SecurityFocus 2007], os keyloggers podem ser classificados em trs diferentes tipos: Hardware keylogger: trata-se de um dispositivo fsico posicionado entre o teclado e o computador da vtima. Apesar de serem rpidos (por possurem um hardware dedicado para executar sua funo) e por no serem detectados por mecanismos como anti-vrus e anti-spyware, os mesmos podem ser detectados

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

13

visualmente por uma pessoa. Alm disso, possuem espao de armazenamento limitado e necessitam de acesso fsico a mquina vtima para serem instalados; Sofware keylogger usando um mecanismo de hooking: um hook trata-se de uma rotina que tem como objetivo ficar no meio do caminho do tratamento normal da execuo de informaes do Sistema Operacional (SO). Para isso, os programadores utilizam funes disponibilizadas pela API (Aplication Program Interface) do SO. Essas funes so responsveis por capturar as mensagens do sistema (assim como as teclas que so pressionadas) antes que as mesmas sejam tratadas pelas devidas rotinas de tratamento. Keyloggers desse tipo normalmente possuem um mdulo executvel, que dispara a execuo do aplicativo, e uma biblioteca que contm as rotinas para a captura das informaes desejadas. Esses keyloggers podem ser instalados remotamente, no entanto, so os mais lentos e facilmente detectveis por programas como anti-vrus e anti-spywares; Kernel keylogger: este tipo de keylogger trabalha no nvel do kernel e usa suas prprias rotinas para receber os dados diretamente dos dispositivos de entrada (no caso, o teclado). o mtodo mais difcil de ser desenvolvido (por exigir um elevado conhecimento de programao) e tambm de ser detectado (por substituir as rotinas padro do SO e serem inicializados como parte do prprio sistema). Pelo fato de trabalharem no ncleo do sistema, no so capazes de capturar informaes que so trocadas diretamente no nvel de aplicaes (ex: operaes de copiar e colar e operaes de autocompletar). Atualmente, um dos keyloggers que mais se destaca o Perfect Keylogger (BPK), da Blazing Tools Software [BlazingTools 2007]. O BPK trata-se de um keylogger baseado em hooking que pode ser facilmente instalado em sistemas operacionais Windows. Por possuir um processo de instalao bastante simplificado e uma interface grfica amigvel, qualquer usurio, mesmo sem experincia em segurana de computadores, capaz de utilizar o programa e monitorar atividades alheias. A verso completa do BPK pode ser obtida por um preo acessvel (U$ 34,95) via o site do seu fabricante. Uma verso de avaliao do produto tambm disponibilizada, o que facilita ainda mais a disseminao do seu uso. A Figura 4 mostra a interface de configuraes gerais do BPK. Entre suas principais funcionalidades podese citar: capturar tudo o que for digitado no computador; trabalhar em modo invisvel (ocultando o processo em execuo do gerenciador de tarefas, tornando o programa invisvel lista de startup e removendo o programa do menu de inicializao e da lista de desinstalao de programas do Windows); renomear os arquivos que compem o aplicativo para que tenham um nome qualquer (dificultando a busca no sistema de arquivos pelo nome original do keylogger); possibilitar que os processos de instalao, atualizao e desinstalao possam ser realizados remotamente; registrar em arquivos de log os sites que foram visitados;

14

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

enviar as informaes capturadas para um determinado e-mail.

Figura 4. Tela de configuraes gerais do Perfect Keylogger

Pelo fato do BPK ter a possibilidade de rodar em modo background e ficar invisvel ao gerenciador de tarefas do Windows, preciso do auxlio de uma ferramenta como a SysInternals' Process Explorer [Microsoft 2007b] para poder visualizar seu processo em execuo. A Figura 5 apresenta o processo spyware executando em background (representado por bkp.exe).

Figura 5. A ferramenta SysInternals' Process Explorer exibindo a execuo do BPK em modo background

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

15

Nos ltimos anos, foi desenvolvido tambm o conceito de screenlogger [CERT.br 2007]. Um screenlogger tem a finalidade de obter uma cpia (screenshot) da tela do computador da vtima assim que um clicar do mouse for efetuado. Os screenloggers foram uma alternativa utilizada por atacantes para que os mesmos pudessem capturar senhas bancrias quando organizaes passaram a utilizar o conceito de teclados virtuais (modelo de teclado que permite que as senhas sejam informadas utilizando um mouse). Essa funcionalidade tambm est includa nas verses mais recentes do BPK. 1.2.7 Rootkits

Um rootkit pode ser definido como um programa - ou um conjunto de programas usado por um atacante para que o mesmo consiga ocultar sua presena em um determinado sistema e, ainda, para permitir acesso futuro a esse sistema (ex: por meio da instalao de backdoors) [Klaus and Nelson 2001]. Percebe-se que o termo rootkit refere-se a um conjunto de ferramentas utilizadas pelo atacante no para obter privilgios de super-usurio (como no caso do uso de um exploit que d acesso root a um sistema), mas sim, para manter esses privilgios ocultos em seus acessos futuros [Microsoft 2007b]. Os rootkits podem ser classificas em duas categorias [Klaus and Nelson 2001]: os rootkits tradicionais e os rootkits baseados em LKMs (Loadable Kernel Modules). Os rootkits tradicionais comearam a ser desenvolvidos em meados de 1994 e so caracterizados por verses modificadas de comandos do sistema, como ls (usado para listar arquivos), ps (usado para listar processos), ifconfig (usado para configurar dispositivos de rede) e netstat (usado para exibir conexes de rede). Esses comandos passaram a ser programados para ocultarem do administrador do sistema os processos, os arquivos e as conexes utilizadas pelo atacante. No caso do ifconfig, por exemplo, o programa original modificado e substitudo por uma verso maliciosa que oculta o fato de uma determinada interface de rede estar sendo executada em modo promscuo2, dando a iluso ao administrador da mquina de que tudo est ocorrendo normalmente em seu sistema. Os rootkits dessa gerao podem ser neutralizados facilmente. Para isso, preciso fazer uso de programas especficos para monitorar o sistema original e armazenar as informaes obtidas (como tamanho do arquivo e data de criao) em bases de dados. Aps, caso algum arquivo seja alterado, o programa identifica essa alterao e aponta a possibilidade do sistema estar comprometido. Os rootkits baseados em LKM, por sua vez, comearam a ser publicados a partir de 1997. Esses cdigos maliciosos funcionam alterando as chamadas do sistema (system calls). Os mdulos do kernel so componentes que podem ser carregados de forma dinmica, modificando a funcionalidade de um sistema mesmo sem a necessidade de uma reinicializao. Esse tipo de rootkit normalmente altera tambm as chamadas do sistema que permitem listar os mdulos de kernel instalados. O processo de deteco desses malwares muito mais difcil comparado ao processo de deteco dos rootkits

Uma interface de rede sendo executada em modo promscuo passa a aceitar pacotes de maneira passiva, mesmo que esses pacotes no sejam endereadas para essa interface.

2

16

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

tradicionais, pois os comandos do sistema continuam inalterados e o prprio kernel responder s requisies. 1.2.8 Bots

Segundo [Holz 2005] h trs atributos que caracterizam um bot (nome derivado de {Robot}): (a) a existncia de um controle remoto, (b) a implementao de vrios comando e (c) um mecanismo de espalhamento, que permite ao bot espalhar-se ainda mais. De acordo com [Ramachandran and Feamster 2006], acredita-se que a maior parte dos spams enviado por botnes, ora partindo diretamente destes, ora os mesmos sendo utilizados como relay. A famlia de bots mais conhecida provavelmente a famlia Agobot (tambm conhecida como Gaobot). O cdigo foi escrito em C++ com suporte multi-plataforma. Segundo a Sophos [Sophos 2007] h mais de mil variantes do Agobot conhecidas. Ao ser iniciado, o bot tenta conectar-se com alguns endereos previamente conhecidos e realizar um teste de velocidade, o que torna fcil a contabilizao do nmero de infeces [Holz 2005]. Tipicamente um bot conecta-se a uma rede IRC (Internet Relay Chat) e fica esperando por comandos em um canal especfico. Ao identificar seu mestre, o bot ir realizar o que lhe for ordenado atravs de comandos. Um conjunto de bots chamado de uma botnet, bot-network ou mesmo zombie drones. Em [Mclaughlin 2004], os autores apontam um estudo que estimava que, em 2004, o Phatbot possua uma rede aproximadamente 400.000 bots.

1.3 Forense ComputacionalNessa seo ser apresentado uma breve resumo sobre a histria da cincia forense, em seguida sero descritas as etapas do processo de investigao e os desafios inerentes a realizao das tcnicas da Forense Computacional em ambientes de produo ou que no podem ser desconectados (live systems). 1.3.1 Uma Breve Incurso pela Histria da Cincia Forense

A Forense Computacional tem como objetivo, a partir de mtodos cientficos e sistemticos, reconstruir as aes executadas nos diversos ativos de tecnologia utilizados em cyber crimes. Embora as aplicaes de tais mtodos no contexto que envolve a tecnologia seja algo recente, o mesmo no se pode afirmar da cincia forense como um todo, pois ao longo da histria podem ser observados muitos casos de aplicao de mtodos cientficos para fins de comprovao de fraudes e reconstruo de eventos. Um dos primeiros casos de descoberta de fraudes a partir de experimentos cientficos relatado pelo historiador romano Virtrvio, segundo o qual Arquimedes foi chamado pelo rei Hieron para atestar que a coroa encomendada junto a um arteso local no era composta pela quantidade de ouro combinada previamente entre as partes. Embora existisse essa suspeita, o rei Hieron no tinha evidncias que lhe permitissem acusar o fraudador e, portanto, atribuiu a tarefa de investigao sobre o caso a Arquimedes que, depois de algum tempo e quase que por acaso, formulou a teoria do

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

17

peso especfico dos corpos [Inman and Rudin 2000]. A partir dessa nova descoberta Arquimedes comprovou que parte da estrutura da coroa havia sido composta de prata e, portanto, no se tratava de uma pea totalmente de ouro. Outro fato que demonstra que h muito tempo a sociedade faz uso da forense para fins da lei e para atribuir responsabilidades a determinados indivduos, data do sculo VII. Nessa poca, j eram utilizadas impresses digitais para determinar as identidades dos devedores. As impresses digitais dos cidados eram anexadas s contas que ficavam em poder dos credores. Essas contas eram legalmente reconhecidas como prova vlida do dbito. Essa mesma tcnica tambm era empregada pelos chineses para identificar a autoria de documentos e de obras de arte. Em 1823, John Evangelist Purkinji, um professor de anatomia da Universidade de Breslau, Czecheslovakia, publicou o primeiro artigo sobre a impresso digital e sugeriu um sistema de classificao baseado em padres [Inman and Rudin 2000]. J no sculo XX a evoluo da cincia forense pode ser observada a partir de pesquisas que conduziram, por exemplo, identificao do tipo sanguneo e a anlise e interpretao do DNA. Durante este perodo foram publicados os principais estudos referentes a aplicao de mtodos e tcnicas utilizadas na investigao de crimes e, tambm, foi criado The Federal Bureau of Investigation (FBI) uma referncia no que tange a investigao de crimes e a utilizao de tcnicas forense em diversas reas [Inman and Rudin 2000]. Atualmente, existem peritos especializados em diversas reas ou disciplinas como por exemplo: anlise de documentos, antropologia, balstica, criminalstica, gentica, odontologia, patologia, psiquiatria, qumica e toxicologia. De maneira formal, afirma-se que a Forense Computacional uma sub-rea da Forense Digital voltada a anlise de evidncias em computadores isolados e tambm em computadores em rede, embora ambas possam ser definidas como a cincia que estuda a aquisio, a preservao, a recuperao e a anlise de dados que esto em formato eletrnico, a Forense Digital possui um escopo mais abrangente pois engloba evidncias armazenadas e processadas por qualquer tipo de dispositivo eletrnico, por exemplo celulares, mquinas fotogrficas digitais e computadores [Kruse and Heiser 2001]. Na subseo seguinte sero apresentadas as etapas do processo de investigao. 1.3.2 O Processo de Investigao Forense

Conforme mencionado na subseo 1.1, a Forense computacional empregada em diversos cenrios tanto para fins legais (por exemplo: investigar casos de espionagem industrial) quanto para o exerccio de aes disciplinares internas (por exemplo: uso indevido de recursos da instituio) - em ambos os casos o intuito obter evidncias relacionadas realizao desses eventos. As evidncias so peas utilizadas por advogados nos tribunais e cortes do mundo inteiro, mas para que sejam consideradas provas vlidas muito importante que o perito realize o processo de investigao de maneira cuidadosa e sistemtica, para que entre outras coisas todas as evidncias sejam preservadas e detalhadamente documentadas. De acordo com [Kent et al. 2006] e [Kruse and Heiser 2001] as fases de um processo de investigao so:

18

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

Coleta dos dados: nessa fase os dados relacionados a um evento devem ser coletados e a integridade dos mesmos deve ser preservada, posteriormente, os equipamentos devem ser identificados, devidamente embalados, etiquetados e suas identificaes registradas; Exame dos dados: nessa segunda fase so selecionadas e utilizadas ferramentas e tcnicas apropriadas a cada tipo de dado coletado, a fim de identificar e extrair as informaes relevantes ao caso que est sendo investigado, mas sempre com a preocupao de manter a integridade dos dados; Anlise das informaes: a terceira etapa refere-se anlise dos dados filtrados na etapa anterior, cujo objetivo obter informaes teis e relevantes que possam responder s perguntas que deram origem investigao; Interpretao dos resultados: na ltima fase do processo de investigao gera-se um relatrio no qual deve estar descrito os procedimentos realizados e os resultados obtidos.

Figura 6. Fases do processo de investigao

A Figura 6 ilustra as quatro fases mencionadas acima, a seqncia em que devem ser realizadas e os procedimentos relacionados a cada uma das etapas. Alm disso, possvel se observar as transformaes ocorridas durante o processo forense. Por exemplo, a investigao comea a partir da apreenso dos dispositivos (computadores, meios de armazenamento e outras fontes de informaes), em seguida os dados armazenados so coletados e passam pela fase de exame, essa a primeira transformao pois a partir desse momento o perito utiliza ferramentas que lhe permitam separar apenas os dados relevantes ao caso investigado. As outras transformaes que se observam esto relacionadas com as etapas de anlise, da qual se obtm a partir da correlao de eventos informaes importantes, e de elaborao do relatrio da investigao, que tem como resultado um laudo tcnico no qual as evidncias so claramente indicadas e descritas. A seguir as fases do processo forense sero descritas em detalhes.

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

19

Coleta dos Dados Conforme meno anterior, a primeira etapa do processo forense identificar possveis fontes de dados. As fontes de dados mais comuns so computadores pessoais, laptops e dispositivos de armazenamento em rede. Esses sistemas normalmente possuem diversos tipos de conexes que possibilitam o acesso a outras fontes de informaes, tais como: CDs e DVDs. Os equipamentos podem ainda possuir algumas portas de comunicao de vrios tipos, como: USB, Firewire, Flash card e PCMCIA em que outras mdias e dispositivos externos de armazenamento de dados podem estar conectados [Kent et al. 2006]. Os dados tambm podem estar armazenados em locais fora de domnios fsicos da cena investigada, como provedores de Internet, servidores FTP (File Transfer Protocol) e servidores coorporativos. Nesses casos, a coleta dos dados armazenados em um provedor de Internet, por exemplo, somente ser possvel mediante ordem judicial. Aps a identificao das possveis origens dos dados, o perito necessita adquiri-los. Para a aquisio dos dados, utilizado um processo composto por trs etapas: 1. o perito deve estabelecer a ordem (prioridade) na qual os dados devem ser coletados. Os fatores importantes na priorizao dos dados so [Kent et al. 2006]: Volatilidade: os dados volteis representam informaes que sero perdidas, caso o sistema seja desligado e, portanto, devem ser imediatamente coletados pelo perito. Por exemplo, o estado das conexes de rede e o contedo da memria. Esforo: o esforo necessrio para coletar dados de diferentes origens pode variar. O esforo envolve no somente o tempo gasto pelo perito, mas tambm o custo dos equipamentos e servios de terceiros, caso sejam necessrios. Por exemplo, coletar os dados de um roteador da rede local necessita menor esforo do que coletar os dados de um provedor de Internet. Valor estimado: baseado na percepo do perito sobre a situao do ambiente e nas experincias anteriores semelhantes de investigao, ele deve estimar um valor relativo para cada provvel fonte de dados, para, assim, poder definir a seqncia na qual as fontes de dados sero investigadas. Utilizando esses trs fatores para cada provvel fonte de dados, o perito poder definir qual ser a prioridade a ser adotada para a aquisio e quais dados sero coletados. Por exemplo, em uma investigao de invaso da rede, o perito deve preocupar-se, primeiramente, com os dados volteis, como as conexes da rede, o estado das portas TCP e UDP e quais programas esto em execuo. Em seguida, devem ser coletados os dados contidos na memria, as configuraes da rede, informaes sobre quais programas esto em execuo para, ento, iniciar a coleta dos dados novolteis.

20

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

2. Copiar dados: o processo de cpia dos dados envolve a utilizao de ferramentas adequadas para a duplicao dos dados, por exemplo, o utilitrio dd, encontrado na maioria das distribuies Linux, que pode ser usado para coletar os dados volteis como os contidos na memria, e duplicao das fontes de dados no-volteis, garantindo a integridade e segurana dos dados. 3. Garantir e preservar a integridade dos dados: aps a coleta dos dados, o perito deve garantir e preservar a integridade dos mesmos, pois, caso isso no ocorra, eles podero ser invalidados como provas perante a justia. A garantia da integridade das evidncias consiste na utilizao de ferramentas que aplicam algum tipo de algoritmo hash. Esse procedimento deve ser executado nos dados originais e nas cpias, e as strings resultantes devem ser comparadas, para certificar-se de que so idnticas, garantindo, assim, a integridade dos dados. A exemplo dos demais objetos apreendidos na cena do crime, os materiais de informtica apreendidos devero ter anotado em seu relatrio de apreenso, conhecido como cadeia de custdia, o nome de todas as pessoas que estejam de posse dos mesmos e a situao envolvendo o referido material. Exame dos dados O exame dos dados tem a finalidade de avaliar e extrair somente as informaes relevantes investigao, o que representa uma tarefa muito trabalhosa visto a grande capacidade de armazenamento dos dispositivos atuais e a quantidade de diferentes formatos de arquivos existentes, entre eles: imagens, udio, arquivos criptografados e compactados. Em meio aos dados recuperados podem estar informaes irrelevantes e que devem ser filtradas. Por exemplo, o arquivo de log do sistema de um servidor pode conter milhares de entradas, porm somente algumas delas podem interessar investigao. Alm disso, so muitos os formatos de arquivos que possibilitam o uso de esteganografia para ocultar dados, o que exige que o perito esteja atento e apto a identificar e recuperar esses dados. A correta aplicao das diversas ferramentas e tcnicas disponveis, atualmente, pode reduzir muito a quantidade de dados que necessitam de um exame minucioso. A utilizao de determinados filtros como palavras-chave ou tipos de arquivos nas pesquisas podem agilizar a localizao das informaes, tais como encontrar documentos que mencionem um determinado assunto, pessoa em particular ou ainda identificar entradas entre os registros de e-mail para um endereo especfico. Outra prtica vantajosa utilizar ferramentas e fontes de dados que possam determinar padres para cada tipo de arquivo como texto, imagem, msica, vdeos, entre outros. Por exemplo, o projeto denominado National Software Reference Library (NSRL), contm uma coleo de assinaturas digitais referentes a milhares de arquivos o que pode ser usado para identificar e filtrar, por exemplo, arquivos que tenham sido manipulados por ferramentas de esteganografia [Kruse and Heiser 2001] e [Farmer and

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

21

Venema 2006]. As tcnicas e ferramentas que podem ser utilizadas nesta fase da investigao sero descritas na prxima seo. Anlise das informaes Uma vez que as informaes relevantes foram extradas dos dados coletados, o perito deve concentrar suas habilidades e conhecimentos na etapa de anlise e interpretao das informaes. A etapa de anlise tem a finalidade de identificar pessoas, locais e eventos, determinando como esses elementos esto inter-relacionados, pois, dessa maneira, ser possvel realizar uma descrio precisa e conclusiva da investigao [Kent et al. 2006] e [Farmer and Venema 2006]. Normalmente, nessa etapa, necessrio correlacionar informaes de vrias fontes de dados. Por exemplo, algum tenta realizar um acesso no autorizado a um determinado servidor, atravs da anlise dos eventos registrados nos arquivos de log do sistema, possvel identificar o endereo IP, utilizado pelo equipamento de onde a tentativa de acesso no autorizado. Alm disso, os registros gerados pelos firewalls, sistemas de deteco de intruso (tanto de rede quanto de host) e demais aplicaes so extremamente importantes nesta etapa do processo. Essa uma fase que alm de consumir muito tempo, esta muito suscetvel a equvocos pois depende muito da experincia e do conhecimento dos peritos, j que so poucas as ferramentas que realizam esse tipo de anlise com preciso [Casey 2006]. Interpretao dos Resultados A interpretao dos resultados obtidos a etapa conclusiva da investigao onde o perito constri um laudo pericial que deve ser escrito de forma clara e concisa, elencando todas as evidncias localizadas e analisadas, com base em todas as etapas anteriores da investigao. O laudo pericial deve apresentar uma concluso imparcial e final a respeito da investigao. Para que o laudo pericial se torne um documento de fcil interpretao por qualquer pessoa, seja ela do meio jurdico ou tcnico, indicado que o mesmo seja organizado em sees como: finalidade da investigao, autor do laudo, resumo do incidente, relao de evidncias analisadas e seus detalhes, concluso, anexos e glossrio [Kent et al. 2006]. Nesse documento deve constar informaes sobre a metodologia utilizada durante a realizao do processo, as tcnicas, os softwares e os equipamentos empregados, isso para que se necessrio as fases da investigao possam ser reproduzidas. Na subseo 1.4.1 sero apresentadas mais informaes sobre a elaborao do relatrio final de uma investigao. A seo seguinte descreve as vantagens existentes e os cuidados que devem ser tomados durante a execuo da investigao em dispositivos conectados a redes coorporativas e Internet. 1.3.3 Live Forensics: Diagnstico de sistemas on-line

Em muitos casos os profissionais de forense computacional esto mediante uma difcil tomada de deciso, desligar os equipamentos ou mant-los operando a fim de executar

22

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

os procedimentos de uma investigao. Por exemplo, o sistema de deteco de intruso gera alertas que indicam que o servidor web de uma organizao esta sob um determinado ataque, o que pode ser um falso positivo, nesse momento a equipe de resposta a incidentes acionada e tem que decidir entre a parada do servidor, o que pode representar a perda de dinheiro para a instituio, mas garante o tempo e as condies necessrias para que os peritos realizem as suas atividades, ou mant-lo online o que permite ao investigador coletar dados volteis - que so de grande importncia para o entendimento e reconstruo dos eventos realizados - mas mediante qualquer descuido existe a possibilidade de haver a contaminao das evidncias. De acordo com [Carrier 2006] e [Adelstein 2006] o processo de investigao forense envolve basicamente dois tipos de tcnicas: post-mortem e live analysis. A abordagem tradicional da Forense Computacional (post-mortem) tem como premissa a preservao de todas as evidncias armazenadas nos discos rgidos e outras mdias, enquanto que a abordagem denominada de live computer forensics tem como objetivo obter o mximo de informaes relacionadas ao contexto (por exemplo: estado das conexes, contedo da memria e dados referentes aos processos em execuo), algo como uma fotografia da cena do crime. Essas tcnicas quando realizadas de forma correta, claramente, se complementam e contribuem para que o resultado da investigao seja conclusivo e preciso. Quando o processo forense realizado nas mdias apreendidas (tais como discos rgidos, CDs e DVDs) o desafio, conforme mencionado anteriormente, localizar entre um grande volume de dados, aqueles que so pertinentes ao caso investigado. Nesse tipo de cenrio, a nica e principal fonte de informao o contedo gravado nos meios de armazenamento no volteis. Esses dados podem ser obtidos a partir de ferramentas desenvolvidas ou instaladas e compiladas pela prpria equipe de investigao e, portanto a priori confiveis. Entretanto, quando se trata de cenrios em que os dispositivos no foram desligados importante que o perito certifique-se que as ferramentas utilizadas para executar os procedimentos de coleta, exame e anlise dos dados no foram comprometidas a fim de gerar dados falsos ou omitir informaes, como por exemplo ocultar processos em execuo no sistema operacional ou no mostrar determinadas entradas do arquivo de log do servidor [Skoudis and Zeltser 2003]. Conforme [Skoudis and Zeltser 2003] e [Carrier 2006] os rootkits so, entre todos os cdigos maliciosos, os principais causadores ou fontes de dados falsos, pois podem modificar as ferramentas (comandos) do sistema operacional e assim permanecerem com acesso ao host e no serem identificados. Os rootkits inserem filtros em determinadas partes do sistema operacional que impedem a visualizao de algumas informaes. Por exemplo, a Figura 2 mostra um filtro que impede que o arquivo passwds.txt, mesmo existindo no sistema de arquivos, seja exibido com a sada de um comando para listar o contedo de diretrios.

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

23

Figura 7. Exemplo de um filtro utilizado por rootkits [Carrier 2006]

Os rootkits, conforme visto na subseo 1.2.7, podem realizar modificaes em diversas camadas do sistema operacional, ou seja, (a) podem atuar diretamente na aplicao, (b) redirecionar as chamadas de sistema, (c) substituir as bibliotecas compartilhadas e (d) subverter o kernel do sistema operacional [Hoglund and Butler 2005]. A fim de mitigar os riscos mencionados, sugere-se que o perito utilize um live CD com um conjunto de ferramentas apropriadas e que sejam confiveis, pois isso servir como contramedida para rootkits que atuam no nvel da aplicao e de bibliotecas. Atualmente, existem algumas distribuies Linux voltadas a Forense Computacional que podem auxiliar no processo de investigao forense, entre elas sugere-se a utilizao o projeto denominado FDTK [Neukamp 2007]. Contornar os problemas com rootkits que atuam no nvel do kernel um pouco mais complicado porque no h como acessar a memria ou o hardware sem passar pelo kernel. Neste caso a principal recomendao ainda utilizar os detectores de rootkits, mas esse tipo de ferramenta pode interferir no sistema de alguma forma [Carrier 2006] e [Adelstein 2006]. Alm disso, importante relembrar que o perito deve (a) manter uma lista contendo a hash de todas as evidncias coletadas, para que se necessrio posteriormente possa demonstrar que nada foi alterado, e (b) ter em mente que alguns dados so mais efmeros do que outros e, portanto, a ordem de volatilidade deve ser considerada no momento da coleta dos dados [Farmer and Venema 2006]. Em suma, alm dos tipos de dados que podem ser coletados a diferena mais significativa entre live e post-mortem analysis o grau de confiana existente nos resultados obtidos. Isso porque as ferramentas e comandos instalados no sistema investigado podem ter sido modificados para produzir dados falsos e tambm porque qualquer erro do perito pode contaminar ou alterar os dados existentes [Carrier 2006].

1.4 Tcnicas e Ferramentas ForensesNa seo anterior, foram apresentados alguns dos conceitos bsicos sobre Forense Computacional e descritas as etapas em uma investigao forense. Essa seo retomar

24

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

este assunto, mas agora sob uma perspectiva mais tcnica, com o intuito de aprofundar a compreenso do leitor sobre cada uma das etapas. Ao final, esta seo apresentar ainda uma introduo ao assunto das tcnicas anti-forense. 1.4.1 Tcnicas Forenses

Antes de iniciar a descrio sobre as tcnicas e os procedimentos a serem adotados pelo perito em cada uma das fases do processo de investigao, importante mencionar algumas das boas prticas que antecedem a coleta dos dados. Por exemplo [Farmer and Venema 2006]: 1. esterilizar todas as mdias que sero utilizadas ou usar mdias novas a cada investigao; 2. certificar-se de que todas as ferramentas (softwares) que sero utilizadas esto devidamente licenciadas e prontas para utilizao; 3. verificar se todos os equipamentos e materiais necessrios (por exemplo, a estao forense, as mdias para coleta dos dados, etc.) esto a disposio; 4. quando chegar ao local da investigao, o perito deve providenciar para que nada seja tocado sem seu consentimento, com o objetivo de proteger e coletar todos os tipos de evidncias; 5. os investigadores devem filmar ou fotografar o ambiente e registrar detalhes sobre os equipamentos como: marca, modelo, nmeros de srie, componentes internos, perifricos, etc. 6. manter a cadeia de custdia. Uma vez tomados esses cuidados, o perito poder dar incio a coleta de dados junto aos dispositivos eletrnicos apreendidos. Coleta dos Dados Uma vez que os equipamentos estejam protegidos e devidamente registrados, o perito poder dar incio coleta dos dados. A primeira ao a ser tomada manter o estado do equipamento, ou seja, se o equipamento estiver ligado, o mesmo no deve ser desligado e, se o equipamento estiver desligado, o mesmo no deve ser ligado, pois dessa forma no haver modificaes nas evidncias. Conforme mencionado na subseo 1.3.3, o estado no qual os equipamentos se encontram muito importante, pois determinar a prioridade durante a coleta dos dados que so classificados em volteis e no-volteis. A lista abaixo apresenta um conjunto de dados volteis organizada pela ordem recomendada para coleta, segundo [Kent et al. 2006]: Conexes de rede: os sistemas operacionais oferecem recursos que permitem visualizar informaes sobre as conexes de rede atuais. Por exemplo, os endereos IP de origem e destino, o estado das conexes e o programa associado a cada uma das portas. Alm disso, a lista de sistemas de arquivos montados remotamente e o estado da interface de

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

25

rede tambm so dados relevantes e que podem auxiliar a anlise dos dados; Sesses de Login: dados como a lista dos usurios atualmente conectados, o horrio em que a conexo foi realizada e o endereo de rede de onde partiu essas conexes, quando correlacionados com outras informaes como aquelas obtidas atravs das conexes de redes podem auxiliar, por exemplo, na identificao (a) dos usurios, (b) das aes realizadas e (c) do horrio em que essas atividades foram executadas, o que permite a reconstruo dos fatos segundo a ordem cronolgica dos eventos ocorridos; Contedo da memria: o espao de troca e a memria principal, normalmente, contm os dados acessados recentemente tais como: senhas e os ltimos comandos executados. Alm disso, como em um sistema de arquivos, a memria pode conter resduos de dados nos espaos livres ou que no esto em utilizao, por exemplo: partes ou at mesmo arquivos inteiros que foram manipulados [Farmer and Venema 2006]; Processos em execuo: a lista e o estado de cada um dos processos do sistema so dados importantes, pois possibilitam identificar quais os programas que esto sendo executados; Arquivos abertos: comandos como o lsof presente em sistemas operacionais Linux geram uma lista contendo o nome de todos os arquivos que esto abertos no momento essa informao pode ser um indicador para o perito do que deve ser coletado e, posteriormente analisado; Configurao de rede: as configuraes da rede incluem informaes como o nome da mquina, o endereo IP e o MAC Address (Media Access Control) de cada uma das interfaces de rede; Data hora do sistema operacional: a data e hora atual do sistema e as configuraes de fuso horrio esses dados so importantes para reconstruir os eventos segundo a ordem cronolgica de realizao dos eventos. Ao contrrio dos dados volteis, os dados no-volteis so menos sensveis manipulao e podem ser coletados aps o equipamento ser desligado, pois no sofrem alteraes. Para realizar a cpia dos dados existem pelo menos dois mtodos: Cpia lgica (Backup): as cpias lgicas gravam o contedo dos diretrios e os arquivos de um volume lgico. No capturam outros dados que possam estar nas mdias, tais como os arquivos deletados ou fragmentos de dados armazenados nos espaos no utilizados, mas alocados por arquivos. Imagem: a imagem do disco, ou imagem bit-a-bit dos dados das mdias, inclui os espaos livres e os espaos no utilizados. As imagens bit-abit dos dados necessitam mais espao de armazenamento e consomem

26

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

muito mais tempo para serem realizadas, porm permite ao investigador realizar as etapas de exame e anlise com base em uma cenrio mais prximo do real, pois possibilita por exemplo a recuperao de arquivos excludos j que se trata de uma imagem da mdia apreendida. A principal fonte de dados no-volteis o sistema de arquivos que armazena diversos tipos de dados, entre eles [Kent et al. 2006] e [Farmer and Venema 2006]: Arquivos temporrios: durante a instalao e execuo das aplicaes so gerados arquivos temporrios que nem sempre so excludos ao desligar os equipamentos. Esse tipo de arquivo pode conter dados relevantes como cpias de arquivos do sistema, dados sobre as aplicaes e outras evidncias; Arquivos de Configurao: esse tipo de arquivo fornece uma srie de informaes, como por exemplo: a lista dos servios que devem ser ativados durante o processo de inicializao, a localizao de arquivos de log, a relao de grupos e usurios do sistema e tambm os arquivos de senha e de agendamento de tarefas; Arquivos de Swap: os arquivos de swap (ou de troca) quando utilizados fornecem dados sobre aplicaes, nome e senha de usurios, entre outros tipos de dados; Arquivos de Dados: so aqueles arquivos gerados por softwares como editores de texto, planilhas, agendas, etc.; Arquivos de Hibernao: arquivos de hibernao so criados para preservar o estado do sistema e contm dados sobre a memria do dispositivo e os arquivos em uso esses arquivos so utilizados para restaurar o sistema; Arquivos de Log: normalmente os sistemas operacionais registram diversos eventos relacionados ao sistema. Alm disso, as aplicaes tambm geram os seus prprios arquivos de log, nos quais so registrados dados como horrio de acesso e de inicializao de servios e transaes, entre outros.

Durante a aquisio dos dados mencionados acima muito importante manter a integridade dos atributos de tempo mtime (modification time), atime (access time) e ctime (creation time) denominados de MAC Times - que esto relacionados aos arquivos e diretrios. [Farmer and Venema 2006]. Segue abaixo uma breve descrio destes atributos: Modificao: registro da data e hora em que ocorreu a ltima alterao no arquivo; Acesso: registro da data e hora em que ocorreu o ltimo acesso ao arquivo; Criao: registro da data e hora em que o arquivo foi criado, entretanto, quando um arquivo copiado de um local para outro em um sistema, o registro de criao assume a data e hora do destino e as informaes de modificao permanecem inalteradas.

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

27

Essas informaes so teis para identificar o que ocorreu em um incidente, mas tambm so muito suscetveis a alteraes. Por exemplo, o simples acesso a um diretrio altera o atributo atime e pode induzir a equvocos durante as fases seguintes.

1.5 Exame dos DadosAps a restaurao da cpia dos dados, o perito inicia o exame dos dados coletados e faz uma avaliao dos dados encontrados, incluindo os arquivos que haviam sido removidos e foram recuperados, arquivos ocultos e fragmentos de arquivos encontrados nas reas livres ou nas reas no utilizadas das mdias. Esse exame minucioso dos dados coletados tem como finalidade localizar, filtrar e extrair somente as informaes que possam de alguma maneira, contribuir para a reconstruo dos eventos que deram origem investigao. A seguir, sero descritos as tcnicas envolvidas nesta fase do processo. Extrao dos dados A extrao manual dos dados um processo difcil e demorado, pois exige do perito conhecimento aprofundado, principalmente, sobre o sistema de arquivos. Entretanto, existem algumas ferramentas disponveis que podem automatizar o processo de extrao dos dados, bem como na recuperao dos arquivos deletados. Localizao de arquivos A tarefa de localizao e identificao do contedo dos diversos tipos de arquivos, com os quais o perito ir se deparar durante a investigao, pode ser facilitada se o mesmo possuir um bom conhecimento dos diversos formatos de arquivos existentes, por exemplo, uma extenso JPG identifica um arquivo grfico, uma extenso mp3 identifica um arquivo de udio. Mas, os usurios podem alterar a extenso de qualquer tipo de arquivo, por exemplo, renomear um arquivo de texto para a extenso mp3. Alm disso, esses arquivos podem armazenar outros dados, vide aplicao de tcnicas de esteganografia em udio, vdeo e arquivos de imagem. Os dados armazenados nos arquivos podem ser identificados com maior preciso, utilizando ferramentas de anlise de cabealhos. O cabealho de um arquivo contm assinaturas particulares que possibilitam identificar qual o tipo de dado que o arquivo contm, podendo tambm indicar se ele foi cifrado. Uma prtica comum utilizada pelos atacantes renomear a extenso dos arquivos, entretanto comandos como o file permite identificar o tipo de arquivos independentemente do tipo de tipo de extenso. A criptografia est freqentemente presente entre os desafios enfrentados pelos peritos. Os usurios podem cifrar arquivos, pastas, volumes ou parties para que outras pessoas no possam acessar o seu contedo sem conhecer a chave ou a senha. Em alguns casos, no possvel decifrar esses arquivos, pois, mesmo com a ajuda de ferramentas como John the Ripper, esta tarefa pode exigir um tempo excessivo para a descoberta da senha [Farmer and Venema 2006]. J para identificar e localizar arquivos que tenham sido submetidos esteganografia, normalmente, a procura se d nos registros dos metadados, atravs de

28

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

histogramas. Outra evidncia a presena de programas de esteganografia armazenados no equipamento [Kent et al. 2006]. Uma vez determinada a presena de arquivos que tenham sido submetidos esteganografia, importante empregar tcnicas de esteganoanlise a fim de recuperar os dados ocultados. Anlise dos Dados A etapa de anlise das informaes, muitas vezes, ocorre paralelo etapa de exame, pois, conforme as evidncias vo sendo identificadas e extradas dos dados, o perito tem condies de efetuar um cruzamento e correlacionamento entre as mesmas, a fim de estabelecer e recriar o(s) evento(s) que esto sendo investigado(s). A correlao das evidncias tem o propsito de responder s perguntas-chave que normalmente do origem a uma investigao: quando e como um fato ocorreu e quem o responsvel pelos mesmo. A escolha das ferramentas a serem utilizadas nesta fase depende de cada caso. Por exemplo, para investigar ataques ou tentativas de invaso em sistemas informatizados, sero necessrias ferramentas que auxiliem na identificao da origem do ataque. Uma vez determinada a origem dos ataques, atravs do endereo IP utilizado no ataque por exemplo, necessria a identificao do responsvel. Esta ltima pode exigir a utilizao de outras ferramentas. No caso do responsvel pelo endereo do atacante ser um ISP (Internet Service Provider), ser necessria a solicitao de um mandado judicial, solicitando ao ISP informaes a respeito do seu cliente que utilizava o endereo IP identificado no incio da investigao. Todas as etapas e concluses sobre as anlises realizadas devem ser devidamente registradas e ao final anexadas ao laudo pericial. Interpretao dos Dados Durante as etapas iniciais de uma investigao, so gerados documentos especficos referentes s atividades realizadas em cada fase. Ao longo dessa documentao, ser necessrio identificar somente as informaes que sejam especificamente relevantes investigao e organiz-las em categorias. A seguir, sero descritos alguns procedimentos que podem ser benficos organizao da documentao necessria para a confeco do laudo pericial [Kent et al. 2006]. Reunir todas as documentaes e anotaes geradas nas etapas de coleta, exame e anlise dos dados, incluindo as concluses prvias j alcanadas; Identificar os fatos que fornecero suporte s concluses descritas no laudo pericial; Criar uma lista de todas as evidncias analisadas, para que as mesmas sejam enumeradas no laudo pericial; Listar as concluses que devem ser relatadas no laudo pericial; Organizar e classificar as informaes recolhidas para garantir a redao de um laudo conciso e inquestionvel.

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

29

Redao do Laudo Posteriormente organizao devida de todas as informaes, inicia-se a redao do laudo pericial. imprescindvel que resultado da investigao seja registrado de forma clara e concisa, evitando a utilizao de termos tcnicos complexos ou expresses somente conhecidas por pessoas ligadas tecnologia. A seguir, so referidas algumas das sees e informaes que podem auxiliar na redao do laudo pericial [Kent et al. 2006]. Finalidade do relatrio: Explicar claramente os objetivos do laudo; Autor do relatrio: listar todos os autores e co-autores do relatrio, incluindo suas especialidades e responsabilidades, durante a investigao, e informaes para contato; Resumo do incidente: sntese, explicando o incidente investigado e suas conseqncias. O resumo deve ser redigido de forma que uma pessoa notcnica, como um juiz ou um jri, compreenda como e quais os fatos que ocorreram e esto sob investigao. Evidncias: fornecer descries sobre o estado das evidncias: como, quando e por quem elas foram adquiridas no decorrer das investigaes. Detalhes: fornecer uma descrio detalhada de quais evidncias foram analisadas, quais os mtodos utilizados e quais as concluses alcanadas, descrevendo os procedimentos e as tcnicas adotados, durante a investigao. Concluses: na concluso, os resultados da investigao devem ser somente descritos, citando especificamente as evidncias que comprovem as concluses, evitando pormenores excessivos sobre como as evidncias foram obtidas, pois essas informaes j foram descritas na seo detalhes. A concluso deve ser clara e no oferecer dupla interpretao. Anexos: todas as documentaes, referentes investigao, devem ser anexadas, ao final do laudo, tais como: diagramas da rede, formulrios descritivos dos procedimentos utilizados, formulrio de cadeia de custdia e informaes gerais sobre as tecnologias envolvidas na investigao, para que, em caso de necessidade, possam ser consultadas. Outro detalhe significativo referente aos anexos. Eles devem fornecer todas as informaes complementares ao laudo, para que o leitor compreenda completamente o incidente investigado.

Outro aspecto relevante redao do laudo refere-se ao glossrio. O perito, sempre que possvel, precisa adicionar um glossrio dos termos utilizados no laudo, que poder esclarecer muitas dvidas que possam surgir durante a leitura do juiz e/ou dos jurados. Concludas todas as etapas de uma investigao, vale lembrar que, durante o decorrer do processo, o perito manter contato com informaes que podem ser sigilosas (por exemplo: segredos industriais ou de justia). Sendo assim, necessrio que o perito entenda a importncia e as suas responsabilidades no que se refere a preservao dos dados.

30

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

1.5.1

Ferramentas

Na etapa de coleta dos dados sero abordadas ferramentas utilizadas a fim de salvaguardar os dados contidos no equipamento suspeito, para posterior anlise. Entre as ferramentas mais conhecidas para coleta de dados esto o dd [OpenGroup 2007] (Disk Definition) e o dcfldd [DCFL 2007] (Department of Defense Computer Forensics Lab Disk Definition). O segundo uma verso aprimorada do primeiro, criado pelo Laboratrio Forense do Departamento de Defesa Americano, na qual foram adicionadas funcionalidades como a gerao do hash dos dados durante a cpia dos mesmos, visualizao do processo de gerao da imagem e diviso de uma imagem em partes, a fim de facilitar o armazenamento e o transporte desta. Visando facilitar a utilizao destas duas ferramentas, um frontend, chamado Automated Image & Restore (AIR) [Gibson 2007], foi desenvolvido. O AIR uma interface grfica para os comandos dd/dcfldd que auxilia na criao ou restaurao de imagens dos dados (evidncias), tanto das mdias conectadas fisicamente ao equipamento, quanto imagens geradas atravs de uma rede. Alm da criao de imagens, o AIR gera e compara automaticamente hashes MD5 ou SHA e produz um relatrio contendo todos os comandos utilizados durante a sua execuo. Uma das grandes funes deste utilitrio eliminar o risco da utilizao de parmetros errados por usurios menos capacitados. Entretanto, a utilizao do AIR no elimina a necessidade do perito conhecer basicamente como os utilitrios dd ou dcfldd funcionam. A Figura 8 ilustra a tela principal da ferramenta AIR.

Figura 8. Imagem do utilitrio AIR

Ainda dentro da etapa de coleta dos dados existe uma ferramenta, chamada aimage, que faz parte da biblioteca de ferramentas AFFLIB [Garfinkel 2007] (Advanced Forensic Format Library) e que oferece uma srie de benefcios ao perito. Dentre estes benefcios esto: (a) a facilidade de utilizao, (b) a automao na gerao de hashes dos dados, (c) a reduo de 30 a 50% no tamanho dos arquivos de imagem gerados

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

31

(atravs de compactao LZMA (Lempel-Ziv-Markov Chain-Algorithm) [Pavlov 2007] e (d) a possibilidade de extrao de informaes contidas nas imagens sem a necessidade de descompact-las. Exame dos Dados A etapa de exame dos dados pode se tornar muito cansativa para o perito, caso o mesmo no utilize um conjunto de ferramentas adequadas que possibilite a filtragem e o foco de suas habilidades nos dados mais importantes da investigao. Diante deste cenrio, o National Institute of Standards and Technology (NIST) [NIST 2007] mantm um projeto denominado National Software Reference Library (NSRL) [NSRL 2007], o qual disponibiliza uma coleo de assinaturas digitais (hashes) de aplicaes e arquivos conhecidos. Disponveis no formato ISO, estas colees de assinaturas permitem que o perito elimine um conjunto de arquivos coletados e que no sofreram modificaes, reduzindo assim a superfcie de anlise. Por exemplo, em uma investigao suponha que seja gerada a imagem de um disco com 240GB de dados. Dentre os arquivos existentes provavelmente vrios deles sero parte dos arquivos do sistema operacional sendo utilizado, alm de um conjunto de arquivos pertencentes aos programas instalados no equipamento. A utilizao destas bases permite que o perito elimine os arquivos cujos hashes casem com os presentes na base de dados. Atualmente, diversas ferramentas disponveis, tanto proprietrias, quanto baseadas em cdigo aberto, j permitem a utilizao dos bancos de dados supracitados. Entre elas, pode-se citar o Encase [Guidance 2007], a Autopsy [Carrier 2007a , Carrier 2007c] e o pyFLAG [Collett and Cohen 2007]. A Figura 9 ilustra um exemplo da tela principal da ferramenta Autopsy. Como se pode notar, a interao d-se atravs de uma interface web, o que dispensa a necessidade de se instalar um software especfico para esta finalidade.

Figura 9. Imagem do utilitrio Autopsy

Anlise dos Dados Dentre as ferramentas utilizadas na etapa de anlise dos dados, importante ressaltar os utilitrios para construo da linha de tempo dos eventos. Nesta categoria, uma

32

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

ferramenta particularmente interessante o mactime [Carrier 2007b], que permite que a partir das informaes contidas nos metadados dos arquivos e diretrios, os mesmos possam ser classificados de acordo com a sua data de criao ou modificao, fornecendo assim uma viso cronolgica dos acontecimentos. Muitos arquivos importantes que fazem parte dos sistemas operacionais da famlia Windows no possuem uma clara explicao de suas estruturas dificultando assim o acesso e a compreenso do contedo dos mesmos. Diante desta constatao foram desenvolvidas algumas ferramentas capazes de amenizar algumas destas dificuldades e que podem ser verificadas na pagina da Foundstone [Foundstone 2007]. Dentre as ferramentas disponveis neste site pode-se ressaltar: Pasco [Jones 2007b] e Galleta [Jones 2007a]. O utilitrio Pasco foi criado com a finalidade de analisar os ndices dos arquivos do Internet Explorer. Esta ferramenta analisa gramaticalmente as informaes contidas nos arquivos index.dat, exportando os resultados em um formato de texto padro, inteligvel por humanos e que utiliza como delimitador de campos o caractere |. Dessa forma, pode-se analisar as informaes do arquivo ndex.dat com a ajuda de outros softwares. Aps a importao destas informaes o perito poder facilmente verificar a ocorrncia de situaes como, por exemplo, o acesso a sites ou contedos proibidos, ou at mesmo a utilizao dos recursos da empresa em benefcio prprio durante o horrio de trabalho. A Figura 10 ilustra o local onde o arquivo index.dat fica armazenado, dependendo do sistema operacional sendo utilizado.

Figura 10. Localizao do arquivo index.dat do Internet Explorer

Em algumas situaes o perito necessita reconstruir a seqncia das aes realizadas via web por um suspeito, na qual os arquivos cookies do Internet Explorer podero fornecer valiosas informaes. Neste caso, a ferramenta Galleta [Jones 2007a] capaz de analisar os cookies existente em uma mquina e separar as informaes teis em campos para que possam ser manipuladas por outros programas. A Figura 11mostra onde os cookies so armazenados, dependendo da verso do Windows sendo utilizada.

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

33

Figura 11. Localizao dos Cookies

1.5.2

Mtodos e Ferramentas Anti-Forense

Os mtodos anti-forenses tem como objetivo deliberadamente destruir, ocultar ou modificar as evidncias existentes em um sistema a fim de dificultar o trabalho realizado pelos investigadores [Harris 2006]. A seguir uma breve descrio destes mtodos. Destruio dos Dados Para impedir, ou pelo menos dificultar, a recuperao dos dados os atacantes utilizam ferramentas (conhecidas como wiping tools) para remoo dos dados, tais como: wipe, secure-delete, pgp wipe e The Defiler's Toolkit. Essa categoria de ferramentas emprega uma variedade de tcnicas para sobrescrever o contedo dos arquivos, por exemplo, gravar dados de forma randmica e sobrepor o contedo dos arquivos com bytes nulos. Essas ferramentas tambm alteram o inode dos arquivos o que torna a tarefa de recuperao dos arquivos ainda muito complexa, embora seja possvel [Harris 2006]. Alm da destruio lgica, o atacante, em alguns casos, pode danificar fisicamente as mdias utilizadas o que dificulta e muitas vezes impossibilita a recuperao dos dados. Ocultao dos Dados Os dados de um arquivo podem ser escondidos pelo menos de duas formas: (a) fragmentando um arquivo e armazenando esses fragmentos em espaos no alocados ou naqueles marcados como bad blocks e (b) utilizando recursos como Alternate Data Stream (ADS), existente em sistemas de arquivos NTFS, que possibilitam esconder arquivos que no sero visualizados por comandos de listagem de contedo de diretrios dentro de outros arquivos, por exemplo executveis [Zadjmool 2004]. Alm desses mtodos, a aplicao de criptografia e esteganografia em arquivos de texto, imagem, vdeo e udio representam uma barreira difcil de ser superada, pois exigem tempo e recursos nem sempre disponveis para identificao dos dados ocultos. Por exemplo, utilizar ferramentas de esteganoanlise em uma mdia de 80GB requer muito tempo e na prtica nem sempre algo vivel de se realizar. O mesmo ocorre quando se trata de arquivos criptografados [Harris 2006]. Os rootkits, conforme j mencionados neste captulo, implementam mtodos eficientes para ocultar informaes como arquivos e dados sobre os processos em execuo no sistema operacional.

34

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

Modificao dos Dados Os mtodos mais comuns para realizar a modificao dos dados so: alterar a extenso e o contedo do cabealho dos arquivos [Harris 2006]. A troca da extenso pode ser facilmente detectvel por comandos dos sistema operacional como file, j a modificao do cabealho altera a assinatura do arquivo e, portanto, impede que as ferramentas associem o contedo do cabealho a um determinado tipo de arquivo. Outros mtodos de modificao incluem a alterao dos atributos de tempo, atravs de ferramentas como touch e timestamp, e ataques de coliso em hash do tipo MD5, que podem ser utilizados por atacantes para criar arquivos com valores de hash idnticos, o que permite substituir arquivos legtimos por arquivos com cdigos maliciosos, entre outras ameaas [Wang and Yu 2005]. Os mtodos anti-forense mencionados nesta seo so implementados em diversas ferramentas tais como Metasploit Anti-Forensic Investigation Arsenal (MAFIA) e Windows Memory Forensic Toolkit [Harris 2006].

1.6 Estudos de CasoCom base em investigaes realizadas pelos autores, quatro estudos de caso sero apresentados nesta seo. Estes casos so verdicos, entretanto, algumas informaes so omitidas com o objetivo de preservar a identidade das partes envolvidas. No primeiro caso ser mostrado um acesso remoto de uma empresa outra, considerado pela denunciante como indevido (sem permisso). Nesse processo, sero explicadas passo a passo todas as etapas da forense computacional. No segundo caso ser mostrada uma investigao de um possvel roubo de informaes, mais especificamente, de dados bancrios (onde o uso de um malware pode ter sido utilizado). J no terceiro e no quarto caso sero mostradas investigaes para a descoberta da origem de e-mails. A diferena entre os dois ltimos casos que no terceiro no se tem o cabealho do e-mail para anlise, mas h um computador suspeito. J no quarto caso, o perito possui o computador da vtima para anlise, logo pode analisar o cabealho do e-mail. 1.6.1 Acesso Indevido

O primeiro caso trata do acesso indevido a um sistema, envolvendo a empresa acusada, denominada invasora, a empresa que realizou a denncia, denominada como vtima e um sistema, denominado sistema X. O sistema X possui informaes fundamentais para determinado ramo empresarial. Assim, o acesso ao mesmo controlado e existe a cobrana de uma mensalidade. Para evitar que mais de uma empresa utilize o sistema com o pagamento de apenas uma mensalidade, a autenticao baseada no endereo IP. Em determinado momento os responsveis pela auditoria do sistema X verificaram que havia mais de uma empresa acessando o sistema, sendo que aquela que no possua cadastro estava acessando atravs daquela que possua. Ou seja, uma empresa estava conectando-se quela que possua acesso ao sistema X e a partir dela acessava o sistema. Neste momento, o acesso foi bloqueado, ocasionando grande prejuzo empresa invadida, visto que ela possua clientes que dependiam de informaes acessadas no sistema X.

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

35

A empresa vtima verificou em seus logs o acesso remoto da empresa invasora, os imprimiu e levou s autoridades para investigao. Contudo, logs impressos ou capturados na empresa invadida no so consideradas evidncias consistentes, visto que logs podem ser alterados facilmente com os devidos cuidados (datas de criao/alterao de arquivo), podendo burlar qualquer situao. Diante dos fatos, as autoridades decidiram apreender os computadores da empresa invasora, o que pode ser considerado por muitos uma deciso arriscada, visto que a empresa dependia do uso dos mesmos para trabalhar e o backup do sistema e informaes poderiam estar nelas. Tratava-se de dez computadores e havia certa urgncia na concluso da investigao. Ento, foi decidido que cada perito realizaria a percia em um conjunto de mquinas (em paralelo) e, toda informao considerada importante deveria ser compartilhada com todos para facilitar a correlao de eventos. A metodologia aplicada na percia foi a post mortem forensic, visto que os computadores foram enviados aos peritos. Caso algum perito fosse requisitado para comparecer no local da apreenso, a metodologia live forensic poderia ser aplicada, podendo inclusive detectar o flagrante de conexes efetuadas entre as empresas envolvidas. Seguindo as etapas explicadas na seo 3, primeiramente todos os computadores foram fotografados, identificados e seus componentes foram descritos. Todas as mdias encontradas foram associadas ao computador em que se encontravam conectadas. Por exemplo, se dois discos rgidos (HDs) foram encontrados no computador identificado como CPU01, os HDs podem ser identificados como HD01-CPU01 e HD02CPU01. Cabe salientar que as fotografias devem ser tiradas tambm do interior dos computadores, identificando os componentes que o compem (mesmo que a descrio tambm seja feita) e, como estava o estado das conexes (ex: se todos HDs estavam conectados, se um drive de CD-ROM ou DVD-ROM estava conectado, entre outros). As fotografias so importantes no sentido de documentar o passo a passo realizado pelo perito e ajudar a entender algumas situaes. Por exemplo, pode-se encontrar contedo totalmente fora de contexto em um HD. J em outro HD, no mesmo computador, podese encontrar contedo coerente com a investigao. Muitas vezes, analisando as fotografias realizadas do interior do computador possvel verificar que um HD estava desconectado, talvez por ser um HD antigo e tiver sido desativado. Se tivesse sido solicitada a presena do perito no local da apreenso, o ambiente onde os equipamentos se encontravam instalados, os prprios computadores, dispositivos de conexo, cabos, mdias e tudo o que pudesse ajudar na montagem do cenrio poderia ser fotografado. Alm das fotografias, seria possvel ainda a identificao dos computadores de acordo com a localizao. Por exemplo, se foi encontrado na recepo (possivelmente seria o computador da secretria), na sala com identificao de Gerncia, Contabilidade, em um armrio de telecomunicaes (possivelmente um servidor), etc. Depois de realizada a identificao do material questionado, foi realizada a coleta do contedo de cada mdia. Para isto foi utilizada a ferramenta Encase, uma das mais utilizadas na rea de forense computacional. Contudo, poderiam ser utilizadas ferramentas baseadas em software livre. Mas, como mencionado na Seo 1.4, no

36

VII Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais

existe, ou no existia no momento da percia, uma distribuio Linux contendo um bom conjunto de ferramentas para forense computacional. Com um disco de boot do Encase possvel realizar uma cpia da imagem (bita-bit) de uma mdia para outra, sem contaminar a mdia questionada. Para certificar-se de que a integridade no foi afetada, a opo de gerao de hash foi ativada no momento da gerao da cpia. O hash gerado na mdia questionada e, depois de realizada a cpia, gerada tambm nesta, para que seja possvel o confronto dos dois cdigos gerados e assim garantir que no houve escrita na mdia questionada. H todo este cuidado para que no caso de um pedido de contra-prova, pela parte da defesa, em um julgamento, no seja constatada uma possvel escrita na mdia questionada aps a apreenso da mesma. Assim, a defesa no pode alegar que algum possa ter colocado dados que incriminem o acusado durante a cadeia de custdia (aps o desligamento dos computadores at a realizao da percia). Depois de realizada a coleta dos dados, foi possvel realizar o exame dos mesmos. Como o objetivo da percia era verificar o acesso da empresa invasora empresa invadida e os peritos possuam em mos impresses de logs, o primeiro passo foi procurar em diretrios onde geralmente existem logs, tpico em sistemas Linux. No entanto, a maioria dos computadores possua sistema operacional da famlia Windows. Em um primeiro momento, poderia-se pensar em no analisar estes computadores e partir apenas para os que possuam sistema Linux. Entretanto, isto seria uma irresponsabilidade dos peritos (deduzir onde tem e onde no tem evidncias). Os computadores com sistema Windows possuam diversos e-mails comerciais, documentos, entre outros. Durante este exame, os peritos verificaram dentro da imagem gerada pelo Encase (semelhante ao Windows Explorer) o que poderia conter evidncias, olhando rapidamente alguns arquivos. Contudo, a visualizao de muitos tipos de arquivos prejudicada dentro desta ferramenta, ento todos diretrios e arquivos candidatos a conterem dados importantes para investigao foram selecionados e extrados. Fora da imagem possvel analisar com mais detalhes os arquivos, utilizando ferramentas especficas, como editores de texto e planilhas eletrnicas, visualizadores de imagens, e-mails e histricos de acesso a pginas Web. Com a anlise dos dados extrados, foi verificado que havia uma troca de emails entre as duas empresas. Ainda, foi encontrado um contrato onde constava um acordo comercial de acesso ao sistema X pelas d