Você está na página 1de 79

FACULDADE SALESIANA DE VITRIA PS-GRADUAO EM SEGURANA DE REDES DE COMPUTADORES

SABRINA VITRIO OLIVEIRA

PERCIA FORENSE EM SISTEMAS GNU/LINUX

VITRIA 2007

SABRINA VITRIO OLIVEIRA

PERCIA FORENSE EM SISTEMAS GNU/LINUX

Monografia apresentada ao Curso de Psgraduao em Segurana de Redes de Computadores da Faculdade Salesiana de Vitria, como requisito parcial para obteno do ttulo de Especialista em Segurana de Redes de Computadores. Orientador: Prof. M.Sc. Srgio Nery Simes

VITRIA 2007

Dados Internacionais de Catalogao-na-publicao (CIP) (Biblioteca da Faculdade Salesiana de Vitria, Esprito Santo, ES, Brasil)

048p

Oliveira, Sabrina Vitrio, 1978 Percia Forense em Sistemas GNU/Linux / Sabrina Vitrio Oliveira. 2007. 79 f. : il. Orientador: Srgio Nery Simes. Monografia Faculdade Salesiana de Vitria.Monografia (psgraduao em Segurana de Redes de Computadores) Faculdade Salesiana de Vitria. 1.Redes de Computadores - Segurana. 2. Percia Forense. 3. Evidncia Digital. I. Simes, Srgio Nery. II. Faculdade Salesiana de Vitria. III. Ttulo. CDU: 004

SABRINA VITRIO OLIVEIRA

PERCIA FORENSE EM SISTEMAS GNU/LINUX


Monografia apresentada ao Curso de Ps-graduao em Segurana de Redes de Computadores da Faculdade Salesiana de Vitria, como requisito parcial para obteno do ttulo de Especialista em Segurana de Redes de Computadores. Aprovada em 4 de maio de 2007.

COMISSO EXAMINADORA

______________________________________ Prof. M.Sc. Srgio Nery Simes Orientador

_________________________________________ Prof. M.Sc. Srgio T eixeira Co-orientador

_________________________________________ Prof. Esp. Paulo Fernandes Coelho Ceotto Faculdade Salesiana de Vitria

Dedico este trabalho ao mundo do software livre. Tudo comeou como uma curiosidade de se conhecer algo diferente e hoje estou trabalhando e usando cada vez mais o pinguim.

AGRADECIMENTOS

A Deus, a minha famlia, tanto os de sangue quanto os de corao e a todos, que direta ou indiretamente forneceram alguma ajuda para que este trabalho fosse feito.

Os problemas significativos com os quais nos deparamos no podem ser resolvidos no mesmo nvel de pensamento em que estvamos quando eles foram criados. (Albert Einstein)

RESUMO
Esse trabalho apresenta conceitos e fundamentos sobre percia forense, buscando demonstrar ao longo do texto as formas mais comuns de ataque, o que vem a ser segurana da informao, como so as evidncias digitais deixadas nas mquinas invadidas, como funciona o processo de investigao, quais os cuidados necessrios a serem seguidos para que nada seja alterado indevidamente, quais os mtodos mais comuns de coleta de dados e quais so os softwares livres que podem ser utilizados, no intuito de auxiliar e otimizar o trabalho do investigador.

Palavras-chave: Redes de Computadores Segurana, Percia Forense, Evidncia Digital.

ABSTRACT
This paper presents bases and concepts on forensic science, looking to demonstrate trough the text the most usual attack methods, what is information security, witch are the digital evidences left on the compromised hosts, how the investigation process works, witch are the necessary cares to avoid things to get altered improperly, witch are the most usual data collect methods and witch are the open source softwares available to help and optimize the investigator job.

Keywords: Computer Networks Security, Digital Forensics, Digital Evidences.

LISTA DE FIGURAS
Figura 1: Total de Incidentes Reportados ao Cert.br por Ano................................................................. .............21 Figura 2: Incidentes Reportados por Tipo de Ataque................................................................................... ........22 Figura 3: Capturando a tela atravs do comando xwd................................................................ ........................35 Figura 4: Comando que permite visualizar a tela capturada atravs do comando xwud....................................35 Figura 5: Fazendo um dump da memria usando o comando dd................................................... ....................35 Figura 6: Procurando palavras-chaves no arquivo de dump......................................................... ......................35 Figura 7: Exemplo de comando que exclui um processo e cria um arquivo de core..........................................36 Figura 8: Verificando o tipo de arquivo atravs do comando file..................................................... ....................36 Figura 9: Capturando e exibindo datagramas atravs do comando tcpdump...................................... ...............37 Figura 10: Verificando quais processos esto rodando e enviando para um arquivo na mquina remota.........38 Figura 11: Verificando os processos correntes utilizando comando de um cd................................... .................39 Figura 12: Visualizando arquivos abertos decorrentes de um processo atravs do lsof.................................. ...39 Figura 13: Listando informaes de um determinado processo dentro do /proc.............................................. ...40 Figura 14: Adquirindo dados da interface eth0 atravs do comando ifconfig....................................... ...............41 Figura 15: Verificando o estado das conexes e portas abertas atravs do comando netstat...........................41 Figura 16: Visualizando o dia e a hora da ltima conexo de cada usurio atravs do comando lastlog..........42 Figura 17: Listando quais usurios esto conectados no sistema atravs do comando w.................................42 Figura 18: Listando os mdulos ativos atravs do comando lsmod................................................. ...................43 Figura 19: Montando uma imagem do disco atravs do comando dd.................................................... .............45 Figura 20: Gerando uma imagem em outro disco atravs do comando dd.................................................... .....45 Figura 21: Limpando o disco que ir receber os dados do disco invadido............................................... ...........45 Figura 22: Montando uma imagem do disco atravs de um cd............................................................ ...............45 Figura 23: Transmitindo o arquivo de imagem pela rede.............................................................................. .......46 Figura 24: Montando a imagem somente como leitura................................................................................. .......46 Figura 25: Visualizando o contedo de um inode atravs do comando stat................................ .......................47 Figura 26: Procurando arquivos regulares dentro de /dev atravs do comando find..........................................48 Figura 27: Procurando arquivos ocultos ou com caracteres especiais no nome................................................48 Figura 28: Procurando todos os arquivos executveis do sistema................................................................... ...48 Figura 29: Verificando a integridade do arquivo /etc/shadow......................................................... .....................49 Figura 30: Helix em funcionamento.................................................................................................................. ....51 Figura 31: PHLAK em funcionamento.......................................................................................................... ........52 Figura 32: Menu principal do Snarl............................................................................................ ..........................53 Figura 33: Criando a partio.................................................................................................................... ...........54 Figura 34: Criando o sistema de arquivos na imagem....................................................................................... ..54 Figura 35: Montando a imagem em /mnt/tmp................................................................................ ......................54 Figura 36: Criando um arquivo qualquer na imagem................................................................................... ........55 Figura 37: Verificando informaes sobre o novo arquivo criado......................................................... ...............55 Figura 38: Apagando o arquivo criado anteriormente............................................................................. .............55

Figura 39: Verificando se o arquivo foi realmente apagado........................................................................... ......55 Figura 40: Desmontando a imagem....................................................................................................... ..............55 Figura 41: Instalando o autopsy no Debian......................................................................................................... .55 Figura 42: Tela de execuo do autopsy.......................................................................................................... ....56 Figura 43: Tela inicial do autopsy....................................................................................................... ..................57 Figura 44: Criando um novo caso................................................................................................... .....................57 Figura 45: Informando que o caso foi criado com sucesso e solicitando um host..............................................58 Figura 46: Adicionando um host ao caso........................................................................................... ..................59 Figura 47: Solicitando uma imagem para ser analisada......................................................................... .............60 Figura 48: Informando onde se encontra a imagem......................................................................... ...................61 Figura 49: Informando detalhes a respeito da imagem selecionada................................................ ...................62 Figura 50: A imagem foi adicionada ao caso....................................................................................................... .62 Figura 51: Informaes sobre a imagem do caso....................................................................................... .........63 Figura 52: Gerando banco de dados de acesso ao sistema de arquivos da imagem.................................. .......63 Figura 53: Selecionando qual imagem ser usada para criar o banco de dados............................................. ...64 Figura 54: Gerando a lista de acesso ao sistema de arquivos............................................................. ...............65 Figura 55: Informaes sobre o processo..................................................................................................... .......66 Figura 56: Histrico de acesso ao sistema de arquivos..................................................................................... ..66 Figura 57: Anlise do sistema de arquivos.......................................................................................................... .67 Figura 58: Exemplo de arquivo deletado............................................................................................................ ..67

SUMRIO
1. INTRODUO....................................................................................................................... ................14 1.1. MOTIVAO............................................................................................................................ ......15 1.2. OBJETIVOS......................................................................................................................... ..........16 1.3. METODOLOGIA....................................................................................................... .....................16 1.4. ORGANIZAO DO TRABALHO....................................................................... ..........................17 2. FUNDAMENTAO TERICA.......................................................................................................... ....18 2.1. SEGURANA DA INFORMAO.................................................................................... .............18 2.1.1. TIPOS DE ATAQUES EM REDES DE COMPUTADORES.............................................. .....19 2.1.1.1. Ataques de Negao de Servio.......................................................................... .........19 2.1.1.2. Ataques de Worms........................................................................................ ................20 2.1.1.3. Prospeces em redes de computadores..................................................................... 20 2.1.2. POLTICA E INCIDENTE DE SEGURANA....................................................................... ..21 2.2. FORENSE COMPUTACIONAL................................................................................ .....................25 2.2.1. EVIDNCIAS DIGITAIS................................................................................................... ......28 2.2.1.1. Dispositivos de armazenagem da CPU................................................. .......................28 2.2.1.2. Memria de perifricos........................................................................................... .......29 2.2.1.3. Memria principal do sistema............................................................. ..........................29 2.2.1.4. Trfego de rede.............................................................................................. ...............29 2.2.1.5. Estado do sistema operacional...................................................................... ...............30 2.2.1.6. Mdulos de kernel........................................................................................... ..............30 2.2.1.7. Dispositivos de armazenagem secundria............................................. ......................31 2.2.1.8. Sistemas de arquivos....................................................................................... .............31 2.2.1.9. Arquivos de log.................................................................................................... ..........33 2.3. PROCESSO DE INVESTIGAO........................................................................ ........................33 2.3.1. Preparao do ambiente.................................................................................... ...................34 2.3.2. Anlise............................................................................................................... ....................35 2.4. CONSIDERAES................................................................................................ .......................35 3. MTODOS PARA A COLETA DE MATERIAL PARA ANLISE..................................... ........................36 3.1. TIPOS DE MTODOS.................................................................................................... ...............36 3.1.1. COLETA NAS MEMRIAS PERIFRICAS................................................ ..........................36 3.1.2. COLETA NA MEMRIA PRINCIPAL....................................................................... ..............37 3.1.2.1. Dump da memria................................................................................................ .........37 3.1.2.2. Core file....................................................................................................... ..................38 3.1.2.3. Diretrio /proc...................................................................................................... ..........38 3.1.3. COLETA DO TRFEGO DE REDE.............................................................................. .........39 3.1.4. COLETA DO ESTADO DO SISTEMA OPERACIONAL................................ ........................40 3.1.4.1. Coleta dos processos em execuo........................................................... ..................40 3.1.4.2. Coleta de informaes da interface e das conexes de rede................................... ....43 3.1.4.3. Coleta do acesso dos usurios...................................................................... ...............44

3.1.5. COLETA DOS MDULOS DO KERNEL.......................................................................... .....45 3.1.6. COLETA DOS DISPOSITIVOS DE ARMAZENAGEM SECUNDRIA.................................46 3.1.7. ANALISANDO O SISTEMA DE ARQUIVOS....................................................... ..................49 3.1.8. ANALISANDO OS ARQUIVOS DE LOG...................................................................... .........52 3.2. CONSIDERAES................................................................................................ .......................53 4. PROPOSTA DE ANLISE FORENSE UTILIZANDO SOFTWARE LIVRE.......................................... ..54 4.1. LIVE-CD.............................................................................................................................. ...........54 4.2. SOFTWARE LIVRE PROPOSTO.......................................................................................... ........56 4.2.1. Autopsy Forensic Browser............................................................................................. ........56 4.3. CONSIDERAES................................................................................................ .......................71 5. CONSIDERAES FINAIS E TRABALHOS FUTUROS........................................................ ..............72 REFERNCIA BIBLIOGRFICA................................................................................................................ 74 ANEXO.............................................................................................................................................. .........77 LEGISLAO BRASILEIRA...................................................................................................... ...........77 Classicao dos Crimes de Informtica.......................................................................... ................78 Crime de informtica puro........................................................................................... ...............78 Crime de informtica misto..................................................................................................... ....78 Crime de informtica comum............................................................................. ........................78 Leis.......................................................................................................................... ........................78 Novo Cdigo Civil (Lei no 10.406)............................................................................................. .78 Medida Provisria 2.200-2................................................................................ .........................79 Lei 9.296/96....................................................................................................................... .........79 Lei 9.983/00....................................................................................................................... .........79 Lei 9.800/99....................................................................................................................... .........80

14

1. INTRODUO

Ns trabalhamos no escuro. Fazemos o possvel para combater o mal, que do contrrio nos destruiria. Mas se o carter de um homem seu destino, a luta no uma escolha mas uma vocao. Fox Mulder

O atual perodo histrico apresenta grandes modificaes nos contextos polticos, sociais, econmicos e culturais. Grande parte destas modificaes tiveram origem nos avanos na rea de informtica que modificaram os relacionamentos humanos atravs de novas tecnologias de informao e comunicao . Cada vez mais a informao e sua difuso de forma digital passa a ter um valor importante para a sociedade moderna (CYCLADES, 2003) e o melhor exemplo dessa difuso da informao no formato digital a Internet, a rede das redes. A facilidade e a velocidade em que a informao circula pela Internet trouxe inmeras vantagens para a sociedade moderna, pois atravs de pequenos dispositivos possvel realizar transaes bancrias, consultar qualquer tipo de informao, conectar e interagir com lugares distantes e trocar mensagens com pessoas do mundo todo em questo de poucos minutos. Ao mesmo tempo, criminosos viram na Internet possibilidades infinitas de fraudar ou roubar informaes, utilizando programas disponveis na prpria rede ou devido falta de conhecimento dos usurios atravs de e-mails falsificados. Alm disso, surgiram novos criminosos com o objetivo de prejudicar as redes de empresas, deixando seus sistemas inacessveis por um perodo, pelo simples prazer de testar seus prprios conhecimentos de invaso. Diante desse panorama, este trabalho busca auxiliar profissionais de informtica, oferecendo informaes sobre ferramentas e mtodos que podem auxiliar o trabalho de investigao e coleta de dados de quem sofreu uma invaso ou deseja identificar o criminoso que invadiu a rede. Adicionalmente, sero apresentadas informaes sobre a importncia da implementao de uma poltica de segurana, quais so os tipos de crimes mais comuns e o que deve ser analisado na ocorrncia de um ataque para que nenhuma evidncia seja perdida. Em seguida, sero apresentados conceitos e fundamentos sobre percia forense e evidncia digital, apresentando a justificativa e a importncia desse tipo de trabalho para as investigaes de crimes digitais em tribunais de justia.

15 Por fim, sero apresentados alguns softwares livres que podem auxiliar o trabalho de investigao de crimes digitais. Ser apresentado um passo a passo dos procedimentos que devem ser feitos para que no ocorram problemas na coleta dos dados, pois a ordem de execuo dos procedimentos pode prejudicar o trabalho. Alm disso, ser apresentada uma lista de softwares, obtidos na Internet, que devem ser copiados para o CD que ser utilizado no trabalho de percia. Como estudo de caso, foi proposta a utilizao do software livre autopsy, fcil e simples de utilizar, como um exemplo prtico da utilizao de software que busca evidncias digitais que foram apagadas durante a invaso do sistema.

1.1. MOTIVAO
A Internet de fcil acesso para qualquer indivduo munido de um computador e uma conexo de rede. Pessoas fsicas e jurdicas, em todo o mundo, podem achar qualquer ponto da rede sem se preocupar com nacionalidade, localizao geogrfica ou fuso horrio. Entretanto, todas essas facilidades de acesso trazem riscos intrnsecos a seus mtodos. H o risco das informaes serem perdidas, roubadas, corrompidas ou misturadas. Novas formas de invadir e interferir em sistemas alheios so desenvolvidas a cada dia. Com o mnimo de conhecimento de redes de computadores, qualquer pessoa pode obter ferramentas gratuitamente na Internet e utiliz-las para invadir um sistema computacional e provocar algum tipo de prejuzo para a pessoa ou organizao invadida. De acordo com o CERT.br o nmero de crimes relacionados com computadores duplicou de 2005 para 2006, passando de 68.000 em 2005 para 137.509 em 2006 (CERT, 2006). Estes nmeros indicam a necessidade do desenvolvimento de novas tcnicas de abordagem e combate aos crimes digitais. preciso desenvolver ferramentas que permitam obter as evidncias eletrnicas armazenadas nos computadores que sofreram algum tipo de invaso. Para tal, pretende-se apresentar atravs deste trabalho um modelo para a investigao forense de intruses em sistemas operacionais GNU/Linux, visando fornecer procedimentos vlidos e confiveis que permitam recuperar dados de computadores envolvidos em atividades ilcitas. Quem e quando invadiu?, Como conseguiu e o que fez enquanto estava invadindo?, Como conseguiu invadir? , so algumas das perguntas que uma Percia Computacional tem a inteno de responder. As evidncias coletadas so a maior preocupao em todo processo de anlise forense. Se o perito no conseguir comprovar a autenticidade dos resultados obtidos durante a anlise forense, todo o processo pode ser refutado durante sua aplicao em um processo criminal. recomendvel que o perito documente todos os procedimentos adotados, e, ainda, garanta a integridade das informaes.

16

1.2. OBJETIVOS
O escopo deste trabalho restringe-se investigao de uma categoria de crime no qual um sistema computacional usando o sistema operacional GNU/Linux o alvo, tradicionalmente denominada de intruso de sistemas computacionais. Este trabalho prope um padro de coleta de informaes para a investigao forense em computadores comprometidos, envolvendo conceitos e procedimentos tomados em uma anlise forense computacional de ambientes GNU/Linux. Alm disso, ser apresentada a importncia e a necessidade de padronizao e definio de procedimentos para a forense computacional, uma vez que existem vrios tipos de mdia, sistemas operacionais com inmeras verses e diferentes tipos de hardware e arquiteturas.

1.3. METODOLOGIA
Atravs da interao e do intercmbio de idias sobre percia forense com outros leitores das revistas digitais Percia Forense Aplicada Informtica e Evidncia Digital, foi constatado, por meio dos fruns de discusso, que a Percia Forense uma rea em expanso, com demanda de material e carente de pesquisas sobre o assunto. Alm disso, existe algum material disponvel para o Sistema Operacional Windows, entretanto, muito pouco para o GNU/Linux. Foram identificados e pesquisados os principais e mais freqentes tipos de ataques com o objetivo de roubo de informaes digitais. Buscou-se a compreenso dos mtodos mais comuns de ataques. Com isso, foi possvel conceber um processo de percia forense que fosse capaz de identificar o rastro deixado pelo invasor. Alm disso, as pesquisas ajudaram a constatar a importncia de uma poltica de segurana da informao para ajudar a prevenir falhas na segurana que podem contribuir ou facilitar o trabalho do invasor. Foi pesquisado na Internet para verificar a existncia de softwares livres voltados para o apoio ao trabalho de investigao e levantamento de informaes digitais para peritos de crimes digitais. Foi localizado o software livre de fcil utilizao denominado Autopsy. Foram feitos diversos testes e experimentos para verificar a eficcia e viabilidade do software. Foi constatado que o software eficaz para o trabalho de levantamento de evidncias digitais. Foi pesquisado e definido um passo a passo de um processo de investigao e quais as dvidas e problemas que poderiam surgir durante o trabalho. Em seguida, foram identificados e enumerados vrios dispositivos que armazenam informaes digitais teis ao processo de percia forense. Foi verificado que desde as informaes mais volteis (registradores do processador) at as menos volteis (disco rgido) podem vir a se tornar evidncias digitais. Foi pesquisado e apresentado como possvel identificar a autoria de uma invaso por meio da recuperao de informaes digitais com a utilizao do software Autopsy. Com isso, foi possvel identificar os mtodos mais eficazes de coleta de informaes digitais de acordo com o tipo de dispositivo.

17

Buscou-se identificar e pesquisar na legislao vigente toda referncia relacionada a crimes digitais no Brasil. Dessa forma, foi possvel orientar e prevenir o perito de problemas legais no processo de investigao, pois a eficcia do trabalho est na correta interpretao das leis, caso contrrio, o levantamento no ter validade para a justia.

1.4. ORGANIZAO DO TRABALHO


Esta monografia foi dividida em cinco captulos. O presente captulo faz uma pequena introduo ao tema proposto, relata os objetivos do trabalho e como ele ser desenvolvido. Fundamentao Terica apresenta informaes sobre a disciplina forense computacional e evidncias digitais, especificando detalhadamente as principais fontes de informao de um sistema computacional. Mtodos para a coleta de material para anlise apresenta caractersticas, tcnicas, procedimentos e algumas ferramentas de anlise forense necessrias para a extrao das evidncias digitais. Proposta de anlise forense utilizando software livre tem por objetivo apresentar uma proposta de anlise forense utilizando alguns softwares livres, buscando auxiliar o trabalho de investigao, permitindo agilidade e padronizao. Consideraes finais e trabalhos futuros apresenta as consideraes finais sobre o trabalho e prope possveis trabalhos futuros acerca do tema percia forense computacional. Finalmente, Referncias Bibliogrficas apresenta as referncias bibliogrficas. Neste captulo introdutrio foi possvel esclarecer o objetivo final do trabalho e como este ser desenvolvido ao longo das pginas que se seguem. Dessa forma, o prximo captulo ir apresentar a fundamentao terica, alguns pontos bsicos e o conhecimento necessrio de palavras, expresses e conceitos usados na percia forense.

18

2. FUNDAMENTAO TERICA

Neste captulo sero apresentados os conceitos utilizados na compreenso do contedo presente no restante deste documento. Estes conceitos sero de fundamental importncia para o entendimento do modelo proposto.

2.1. SEGURANA DA INFORMAO


A informao um ativo que, como qualquer outro ativo importante, essencial para os negcios de uma organizao ou de uma pessoa e conseqentemente necessita ser adequadamente protegida. Isso especialmente importante no ambiente de negcios, cada vez mais interconectado. Como um resultado deste incrvel aumento da interconectividade, a informao est agora exposta a uma grande variedade de ameaas e vulnerabilidades (ASSOCIAO BRASILEIRA DE NORMAS TCNICAS, 2005). Nesse sentido, segurana da informao se aplica todos os aspectos de proteo e armazenamento de informaes e dados, em qualquer forma. a proteo da informao de uma organizao a partir da implementao de um conjunto de controles adequados incluindo polticas, processos, procedimentos, estruturas organizacionais e funes de software e hardware. Estes controles precisam ser estabelecidos, implementados, monitorados, analisados criticamente e melhorados para ajudar a garantir que os objetivos do negcio e de segurana da organizao sejam atendidos (ABNT NBR ISO/IEC, 2005). Assim, a Segurana Computacional caracterizada pelo estudo de tcnicas que visam fornecer um estado de proteo ao patrimnio computacional e intelectual de uma organizao. Ela est relacionada com vrios e diferentes aspectos referentes :

Confidencialidade: dados privados que devem ser apresentados somente aos donos dos dados ou ao grupo por ele liberado.

Disponibilidade: o sistema deve estar disponvel sempre que que houver necessidade de acesso. Dados crticos devem estar disponveis ininterruptamente. Confiana: o sistema deve ter condies de verificar a identidade dos usurios, e este ter condies de analisar a identidade do sistema. Integridade: o sistema deve estar sempre ntegro e em condies de ser usado.

Observando os pontos bsicos acima, tem-se que a origem dos problemas de segurana reside:

nos softwares quando apresentam comportamento imprevisto, surgem vulnerabilidades. Alm disso, existem muitos softwares maliciosos, tais como vrus, worms e backdoors, que aumento o problema;

nas pessoas responsveis pela segurana, pois a falta de uma poltica de segurana ou a falha de

19 configurao e uso incorreto de sistemas e recursos tem agravado a cada dia, permitindo um nmero cada vez maior de ataques aos sistemas computacionais.

2.1.1. TIPOS DE ATAQUES EM REDES DE COMPUTADORES


De acordo com Anderson, deteco de intruso uma tentativa de intruso ou ameaa que se caracteriza pela possibilidade de ocorrncia de uma tentativa deliberada e no autorizada para acessar ou manipular informaes ou tornar um sistema indisponvel (ANDERSON, 1980). De modo geral, as intruses podem ser divididas em seis tipos principais (CHAVES, 2002):

Tentativa de invaso (Attempted Break-in): detectado atravs de perfis de comportamento atpico ou violaes de restries de segurana. Ataque (Masquerade Attack): tambm detectado atravs de perfis de comportamento atpico ou violaes de restries de segurana. Penetrao (Penetration of the Security Control System): detectado atravs do monitoramento de padres especficos de atividade. Vazamento (Leakage): detectado pelo uso atpico dos recursos do sistema. Negao de servios (Denial of Service): tambm detectado pelo uso atpico dos recursos do sistema. Uso mal intencionado (Malicious Use): detectado atravs de perfis de comportamento atpico, violaes de restries de segurana, ou uso de privilgios especiais.

Explorando vulnerabilidades ou brechas nos sistemas computacionais, diversos tipos de ataques podem ser desencadeados. Esses ataques se caracterizam desde simples tentativas de prospeco at a ataques sofisticados para ganho de acesso privilegiado ao sistema. Esse trabalho busca fornecer informaes sobre trs tipos de ataques distintos:

ataques de negao de servio worms prospeces em busca de informaes sobre a rede

O funcionamento bsico destes ataques fornecer o subsdio necessrio para a deteco correta e uma possvel reao.

2.1.1.1. Ataques de Negao de Servio


De acordo com o CERT, ataques de negao de servio so aqueles que tentam impedir que a vtima tenha acesso a algum recurso computacional. Existem duas classes principais de ataques de negao de servio: os ataques lgicos e os ataques de inundao (ou flooding). A primeira classe de ataques explora vulnerabilidades nos programas ligados rede, tal como o ping da morte (Ping-of-death), e causam a interrupo do servio oferecido pela vtima. Os ataques de negao de servio do tipo lgico so prevenidos atravs da instalao de consertos (ou patches) para os programas instalados e a filtragem de certos tipos de pacotes suspeitos no permetro da rede (CERT, 2006). Os ataques de flooding inutilizam os recursos da vtima CPU, memria ou banda de rede atravs do envio

20 indiscriminado e ininterrupto de pacotes contendo informaes ou opes no-legtimas. No h uma maneira eficiente de realizar a distino do trfego de rede bom do ruim e, por isso, extremamente difcil implementar defesas contra ataques de negao de servio do tipo inundao. O popular ataque de SYNflooding um exemplo de ataque de negao de servio do tipo inundao. A utilizao indevida de recursos tambm pode causar ataques de negao de servio. Um atacante pode utilizar um servidor ftp annimo para armazenar informaes ilegais em grande quantidade, consumindo todo espao de disco e gerando uma quantidade de trfego de rede acima do normal (CERT, 2006). Outros tipos de ataques mais complexos tambm podem incluir em alguma fase a utilizao de tcnicas de ataques de negao de servio ou a indisponibilidade do servio oferecido a usurios legtimos. Ataques de negao de servio podem ser ainda piores quando provenientes de mais de um atacante. Um nico atacante pode comprometer inmeras mquinas na Internet e utiliz-las para amplificar os efeitos do ataque na vtima. Esse tipo de ataque chamado de negao de servio distribudo ou Distributed Denial of Service (DDoS). Este ltimo tipo de ataque de negao de servio ainda mais difcil de detectar e implementar contra-medidas. Os ataques ainda podem ser lanados com endereos IP de origem falsos (os chamados ataques que utilizam falsificao de endereo IP ou IP Spoofing), o que dificulta ainda mais a determinao da origem do ataque.

2.1.1.2. Ataques de Worms


De acordo com Arce, um worm um programa auto-executvel que pode propagar verses completamente funcionais de si mesmo para outras mquinas (ARCE, 2003). O termo derivado de tapeworm3, um organismo parasita que utiliza os recursos de um hospedeiro para manter-se vivo. Eugene Spafford cunhou esta nomenclatura em 1988 quando Robert T. Morris criou o primeiro worm da Internet (SPAFFORD, 1988). Ou seja, um worm um programa que utiliza das vulnerabilidades encontradas em outros programas para infectar outras mquinas fazendo cpias de si mesmo. Como o comportamento deste tipo de programa malicioso no depende da ao humana, muitas vezes necessrio o bloqueio de toda comunicao e a atualizao dos programas instalados para impedir a infeco. Os worms geralmente carregam informaes ou cdigos executveis de outros tipos de ataques, tais como ataques de negao de servio e ataques de defacement1 em pginas web. Essa capacidade de lanar outros ataques torna os worms extremamente destrutivos. Muitas vezes, devido ao nmero elevado de prospeces que o worm realiza para se propagar, os ataques de worm so acompanhados de negao de servio do tipo inundao (HOUSEHOLDER, 2002).

2.1.1.3. Prospeces em redes de computadores


Geralmente na primeira fase de um ataque, a prospeco (ou mapeamento) da rede utilizada para 1 Defacement consiste em modificar a pgina inicial de um site ou qualquer parte dele por uma previamente feita por eles. Algumas vezes por motivos polticos, outras por simples brincadeira. Tambm conhecidos como pichadores virtuais, agem como os pichadores de muro, deixam sua mensagem e pseudnimo (WIKIPEDIA, 2007).

21 reconhecer os servios disponveis em uma rede ou sub-rede, buscando por servios e hosts vulnerveis (NORTHCUTT, 2001). Nesta primeira etapa, o atacante rene as informaes necessrias para disparar os ataques. Existem programas especialmente desenvolvidos para facilitar, e muitas vezes tornar invisvel para o administrador da rede, o processo de reconhecimento ou prospeco de redes. Estes programas so freqentemente chamados de port scanners2. Dentre os programas de prospeco mais conhecidos esto o Nmap3 e o Nessus4. Para os analistas de segurana, a deteco de prospeces em redes funciona como um pr-alarme de um ataque, principalmente devido a rapidez de alguns tipos de ataques que podem ter a durao de apenas alguns segundos, assim a deteco das prospeces pode ser o nico alarme disponvel (NORTHCUTT, 2001). Infelizmente, as prospeces de rede so muito comuns na Internet, e o desafio principal para os analistas de segurana a determinao dos tipos de prospeco j conhecidos das prospeces mais recentes, com o objetivo de determinar os objetivos do atacante e quais servios so procurados. As prospeces so realizadas em duas etapas. A primeira delas o reconhecimento da rede e a identificao dos hosts ativos. Aps o reconhecimento, realiza-se uma prospeco mais detalhada nos hosts encontrados na fase anterior. Esta segunda etapa poder ser executada varrendo todas as portas disponveis de um determinado host (as portas de 1 a 65535), que so aquelas da camada de transporte que realizam a multiplexao e desmultiplexao dos dados para a aplicao (KUROSE, 2003). Ainda na segunda etapa, possvel para o atacante determinar quais programas esto funcionando e o sistema operacional de uma determinada mquina. Esta tcnica chamada de fingerprint5 e baseia-se no fato de que a pilha de protocolos TCP/IP no foi desenvolvida para ser um conjunto de protocolos seguros, mas para oferecer conectividade entre as mquinas, oferecendo livremente informaes para outros hosts.

2.1.2. POLTICA E INCIDENTE DE SEGURANA


A poltica de segurana atribui direitos e responsabilidades as pessoas que lidam com os recursos computacionais de uma instituio e com as informaes neles armazenados. Ela tambm dene as atribuies de cada um em relao a segurana dos recursos com os quais trabalham (CERT, 2006). Uma poltica de segurana tambm deve prever o que pode ser feito na rede da instituio e o que ser considerado inaceitvel. Tudo o que descumprir a poltica de segurana pode ser considerado um incidente de segurana. Na poltica de segurana tambm so denidas as penalidades as quais esto sujeitos aqueles que no cumprirem a poltica. 2 Port Scanner um programa que faz uma varredura nas portas de uma mquina para identificar os servios existentes, ou mesmo a presena de um servio no autorizado. 3 Nmap um famoso port scan, conhecido pela sua rapidez e pelas opes que dispe. 4 Nessus um programa de verificao de falhas/vulnerabilidades de segurana. Ele composto por um cliente e servidor, sendo que o scan propriamente dito feito pelo servidor (WIKIPEDIA, 2007). 5 Fingerprint um mtodo para identificar o sistema operacional de um host remoto com base em certas caractersticas dos pacotes TCP SYN gerados pelo host. Esta informao pode ento ser usada como critrio em regras de filtragem.

22 A poltica de uso aceitvel (AUP, de Acceptable Use Policy) um documento que dene como os recursos computacionais de uma organizao podem ser utilizados. Tambm ela quem dene os direitos e responsabilidades dos usurios. J um incidente de segurana pode ser denido como qualquer evento adverso, confirmado ou sob suspeita, relacionado a segurana de sistemas de computao ou de redes de computadores. So exemplos de incidentes de segurana:

sabotagem interna (espionagem ou empregado insatisfeito); tentativas de ganhar acesso no autorizado a sistemas ou dados; ataques de negao de servio; uso ou acesso no autorizado a um sistema; monitorao eletrnica desautorizada (sniffers6, keyloggers7); desconfigurao de sites; cdigos maliciosos (vrus, worms, cavalo de tria); uso inapropriado do sistema; acesso a informao confidencial; modificaes em um sistema, sem o conhecimento, instrues ou consentimento prvio do dono do sistema; desrespeito a poltica de segurana ou a poltica de uso aceitvel de uma empresa ou provedor de acesso.

A figura 1 abaixo apresentam o total de incidentes de segurana reportados ao cert de 1999 at 2006.

6 Sniffer capaz de interceptar e registrar o trfego de dados em uma rede de computadores. Conforme o fluxo de dados trafega na rede, o sniffer captura cada pacote e eventualmente decodifica e analisa o seu contedo. 7 Keylogger um software cuja finalidade monitorar tudo o que digitado no computador (WIKIPEDIA, 2007).

23

Figura 1: Total de Incidentes Reportados ao Cert.br por Ano

A figura 2 apresenta o total de incidentes de segurana reportados ao CERT durante o ano de 2006 do incio do incio do ms de Julho ao final do ms de setembro.

Figura 2: Incidentes Reportados por Tipo de Ataque

A invaso de sistemas computacionais ocorre com finalidades diversas, podendo ser destacadas as

24 seguintes:

Obteno de informaes (roubo de segredos, nmeros de cartes de crdito, senhas e outros dados relevantes ao intruso); Promover algum estrago (desconfigurao de sites, destruio de informaes e paralisao do sistema, por exemplo); Utilizao dos recursos do sistema (repositrio de dados, disseminao de ataques distribudos, provimento de servios, por exemplo); Dinheiro, lucro; Vandalismo; Revanche, vingana pessoal; Curiosidade; Busca por ateno e projeo.

Dependendo da finalidade e da habilidade, o mtodo de operao de um invasor pode sofrer algumas variaes. Entretanto, os passos tomados pelo atacante para comprometer um sistema computacional podem ser generalizados como segue (DHANJANI, 2003):

identificao do alvo; busca de vulnerabilidades no alvo; comprometimento inicial; aumento de privilgio; tornar-se invisvel; reconhecimento do sistema; instalao de backdoors; limpeza de rastros; retorno por um backdoor; inventrio e comprometimento de mquinas vizinhas.

A primeira atitude do atacante a escolha de um alvo em potencial. Aps a localizao, o atacante comea a reunir informaes sobre o sistema alvo a fim de identificar vulnerabilidades no sistema operacional ou servios de rede disponveis. Se o invasor ainda no possui uma combinao de usurio e senha vlida para o sistema alvo, ele utiliza mtodos como sniffing e adivinhao de senhas, engenharia social ou scanning para encontrar um ponto de entrada (GEUS, 2002). Uma vez encontrado um ponto de entrada (conta de usurio ou vulnerabilidade em um servio, por exemplo) o invasor realiza o comprometimento inicial do sistema. Essa primeira intruso geralmente provoca muito barulho, especialmente se o sistema alvo estiver devidamente guardado e costuma ocorrer quando ningum est presente para ouvir. Tentativas de adivinhar senhas criam um nmero incomum de registros de logon falhos, comprometimento de aplicativos atravs de buffer overflow geralmente ficam registrados nos arquivos de log ou geram core files8, e mensagens de advertncia so produzidas em decorrncia das vrias tentativas de se invadir o sistema (WARNEN, 2002).

8 Core file criado quando um programa termina inexperadamente.

25 Depois que o atacante ganha acesso ao sistema, ele busca por privilgios irrestritos (conta de administrador ou root) assumindo que o comprometimento inicial j no lhe forneceu acesso conta root. O invasor transfere programas maliciosos (conhecidos por exploits9) para o sistema e tenta explorar vulnerabilidades conhecidas que possam fornecer o acesso de root. Com acesso ilimitado, o atacante procura remover traos de sua presena, tornando-se invisvel, atravs da instalao de rootkits10 e trojan horses11. (HONEYNET , 2000). Quando o invasor obtm acesso de root e garante sua invisibilidade, ele executa uma verdadeira varredura no sistema (WARNEN, 2002). O atacante procura saber o quanto sua presena perturba o sistema invadido e, por conseguinte, pode ser descoberta (analisando a configurao de log). Em seguida, ele investiga as medidas de segurana implementadas no sistema invadido em alguns casos, o atacante at corrige vulnerabilidades existentes para impedir que outro invasor faa uso do sistema. Aps compreender as configuraes do sistema, o atacante instala backdoors12 para facilitar seu retorno e apaga os rastros deixados por sua presena no sistema. Utilizando um backdoor, o invasor retorna de maneira mais discreta que o comprometimento inicial e faz um inventrio acerca das informaes existentes na mquina invadida e dos potenciais alvos da vizinhana.

2.2. FORENSE COMPUTACIONAL


Forense computacional o ramo da criminalstica que consiste no uso de mtodos cientficos na preservao, coleta, restaurao, identificao, anlise, interpretao, documentao e apresentao de evidncias computacionais, quer sejam componentes fsicos ou dados que foram processados eletronicamente e armazenados em mdias computacionais (NOBLETT, 2000). Seu propsito facilitar ou possibilitar posterior reconstruo de eventos criminais, ou ajudar a antecipar aes no autorizadas que se mostram anmalas a comportamentos operacionais esperados ou planejados (PALMER, 2001). O propsito do exame forense a procura e extrao de evidncias relacionadas com o caso investigado, que permitam a formulao de concluses acerca da infrao (ESPINDULA, 2003). Existem duas abordagens no que diz respeito ao objetivo final da anlise forense. Na primeira, a anlise forense busca obter informaes que possam ser utilizadas em um processo criminal. Na segunda abordagem, o exame realizado dentro de uma corporao com o objetivo de determinar a causa de um incidente e assegurar que o mesmo no ocorra 9 Exploit um programa de computador que se aproveita das vulnerabilidades de um sistema operacional a fim de ganhar acesso no autorizado ao sistema. 10 Rootkit um software capaz de interceptar as solicitaes feitas ao sistema operacional, podendo alterar o seu resultado. 11 Trojans horses so programas executveis que eliminam as protees que impedem a transferncia de informaes, ou seja, abrem uma porta de comunicao (backdoor) no monitorada. 12 Backdoor um trecho de cdigo mal-intencionado que cria uma ou mais falhas de segurana para dar acesso ao sistema operacional para pessoas no autorizadas.

26 novamente. Para suportar os resultados de uma anlise forense so necessrios procedimentos e protocolos detalhados, documentados e revisados (NOBLETT, 2000). A disciplina forense tem produzido, ao longo dos anos, resultados que so considerados vlidos e confiveis. Mesmo que no se tenha interesse de inicializar um processo criminal, toda investigao deve considerar como prtica comum o uso de mtodos e protocolos que garantam sua possvel aceitao em uma corte judicial (WARNEN, 2002). Alm disso, conduzir o caso com a formalidade de um processo criminal ajuda a desenvolver bons hbitos de investigao. Nesse sentido, existem alguns aspectos chave que constituem as etapas do processo de anlise forense de um sistema computacional (CASEY, 2000):

coleta de informaes; reconhecimento das evidncias; restaurao, documentao e preservao das evidncias encontradas; correlao das evidncias; reconstruo dos eventos.

Toda informao relevante deve ser coletada para anlise e, conforme as evidncias digitais so encontradas, elas devem ser extradas, restauradas quando necessrio (evidncias danificadas ou cifradas, por exemplo), documentadas e devidamente preservadas. Em seguida, as evidncias encontradas podem ser correlacionadas, permitindo a reconstruo dos eventos relacionados ao ato ilcito. Deve-se definir a melhor abordagem para a investigao, identificando as principais atividades que precisaro ser executadas (considerando as condies iniciais em que o sistema ser entregue para a investigao). Muitas vezes a anlise das evidncias (correlao e reconstruo) resulta na descoberta de novas informaes, formando um ciclo no processo de anlise forense (CASEY, 2000). Caso a mquina ainda esteja em execuo, o investigador pode deparar-se com situaes do tipo:

O atacante ainda se encontra no sistema (o investigador pode mant-lo no sistema para coletar informaes e iniciar um rastreamento ou o investigador pode tentar repreender o intruso a deixar o sistema e no mais retornar (STEPHENSON, 2000);

H processos em execuo ou conexes abertas deixadas pelo atacante, representando evidncias importantes para a investigao; O atacante preparou armadilhas que visam destruio das evidncias deixadas ou a danificao do sistema.

Desse modo, em um primeiro contato com o sistema suspeito, o investigador deve estabilizar a condio inicial da mquina para a etapa seguinte de coleta de informaes, com o objetivo de preservar o mximo de evidncias e proteger os sistemas e dados fora do escopo da investigao. Nesse momento, algumas decises importantes devem ser tomadas, por exemplo, com relao ao mtodo de coleta de informaes

27 mais adequado, necessidade de coleta de dados volteis13, ao mtodo de desligamento do sistema, caso seja necessrio e possvel, necessidade de coleta de trfego de rede e possibilidade de rastreamento do atacante e necessidade do sistema para um ambiente controlado de anlise. Decidir entre manter a mquina em funcionamento, deslig-la imediatamente atravs da interrupo do fornecimento de energia, ou realizar o desligamento administrativo normal do sistema uma das questes mais discutidas no campo forense computacional (WARNEN, 2002). Muitos investigadores alegam que o desligamento imediato pelo cabo de energia a melhor opo para congelar o sistema em seu estado corrente, considerando aceitvel que algumas evidncias sejam perdidas em face preservao da integridade daquelas presentes nos dispositivos de armazenagem secundria (CASEY, 2000). O principal argumento a favor dessa abordagem que qualquer erro cometido em um sistema em funcionamento no pode ser remediado, de modo a desfazer todas as suas conseqncias, que podem incluir, por exemplo, a alterao ou destruio de informaes fundamentais investigao (WARNEN, 2002). Alm disso, a manuteno do sistema em funcionamento e o seu desligamento administrativo normal podem expor o investigador a situaes potencialmente catastrficas, como, por exemplo:

Muitos atacantes instalam armadilhas que destroem seus rastros ou at mesmo o sistema todo, quando o mesmo desligado. No ambiente GNU/Linux existem diversos arquivos envolvidos no processo de desligamento que podem ser facilmente alterados (STEPHENSON, 2000);

O prprio processo de desligamento pode alterar ou remover arquivos como parte do procedimento normal; Um atacante ainda no sistema pode desconfiar da investigao e iniciar uma limpeza das evidncias deixadas, podendo at danificar o sistema.

Por outro lado, o desligamento imediato pelo cabo de energia, antes da coleta das informaes volteis, pode resultar em uma grande perda de evidncias (principalmente aquelas associadas a um ataque em andamento), que talvez possam ser encontradas apenas enquanto o sistema estava em operao (CASEY, 2000). Alm disso, um desligamento abrupto do sistema pode corromper dados importantes ou danificar algum dispositivo fsico. importante ressaltar que qualquer atividade executada sobre um sistema suspeito no deve utilizar os programas nele encontrados, com o risco deste tambm estar comprometido, pois o atacante pode ter antecipado uma possvel investigao e alterado alguns dos executveis do sistema (WARNEN, 2002). Conforme o apresentado, cada abordagem relacionada ao desligamento do sistema apresenta vantagens e desvantagens, que devem ser ponderadas pelo investigador de acordo com situaes particulares da investigao em questo. O importante conhecer as implicaes de cada abordagem e manter-se flexvel quanto utilizao de cada uma.

13 Dados volteis so dados que se perdem rapidamente, como as informaes que se encontram na memria RAM ou arquivos que podem ser sobrescrevidos no disco rgido.

28

2.2.1. EVIDNCIAS DIGITAIS


O termo evidncia digital refere-se a toda e qualquer informao digital capaz de determinar que uma intruso ocorreu ou que prov alguma ligao entre a intruso e as vtimas ou entre a intruso e o atacante (CASEY, 2000). A evidncia digital no deixa de ser um tipo de evidncia fsica, sendo ela composta de campos magnticos e pulsos eletrnicos que podem ser coletados e analisados atravs de tcnicas e ferramentas apropriadas (LEIMKUELLER, 1995). Entretanto, a evidncia digital possui algumas caractersticas prprias:

ela pode ser duplicada com exatido, permitindo a preservao da evidncia original durante a anlise; com os mtodos apropriados relativamente fcil determinar se uma evidncia digital foi modificada; por outro lado, a evidncia digital extremamente voltil, podendo ser facilmente alterada durante o processo de anlise.

A busca de evidncias em um sistema computacional constitui-se de uma varredura minuciosa nas informaes que nele residem, sejam dados em arquivos ou em memria, deletadosou no, cifrados ou possivelmente danificados. Dan Farmer e Wietse Venema introduziram um conceito denominado ordem de volatilidade (FARMER, 1999). Tal conceito determina que o tempo de vida de uma evidncia digital varia de acordo com o local onde ela est armazenada. As principais fontes de informao de um sistema computacional so apresentadas, na ordem descendente de volatilidade, como segue:

dispositivos de armazenagem da CPU (registradores e caches); memria de perifricos (memria de vdeo, por exemplo); memria principal do sistema; trfego de rede (pacotes em trnsito na rede); estado do sistema operacional (como, por exemplo, estado das conexes de rede e dos processos em execuo, usurios logados e configuraes do sistema); mdulos de kernel; dispositivos de armazenagem secundria; sistema de arquivos; arquivos de log.

Quanto maior a volatilidade de uma informao, mais difcil se torna sua extrao e menos tempo h para captur-la. O simples ato de observar informaes altamente volteis pode alter-las, por exemplo (WARNEN, 2002). Entretanto, informaes volteis como o contedo da memria principal do sistema, o trfego da rede e o estado do sistema operacional podem ser capturadas com relativa facilidade e podem conter pistas valiosas a respeito de intruses em andamento.

2.2.1.1. Dispositivos de armazenagem da CPU


As informaes contidas nos registradores da CPU so de mnima utilidade e sua captura impraticvel. As caches podem conter informaes que ainda no foram atualizadas na memria principal do sistema,

29 entretanto sua captura tambm pode ser impraticvel (WARNEN, 2002).

2.2.1.2. Memria de perifricos


Muitos dispositivos como modems, placas de vdeo, pagers, aparelhos de fax e impressoras, contm memrias que podem ser acessadas e salvas (HOSMER, 2000). Nelas podem estar armazenadas informaes que no mais residem no sistema analisado, como documentos e mensagens de texto ou nmeros de fax e telefone.

2.2.1.3. Memria principal do sistema


A memria principal contm todo tipo de informao voltil, como por exemplo, informaes de processos que esto em execuo, dados que esto sendo manipulados e ainda no foram salvos no disco, e informaes do sistema operacional. Tais informaes podem ser facilmente capturadas por meio de dumps da memria (captura das informaes da memria), pela gerao de core files ou pela interface provida pelo diretrio /proc (WARNEN, 2002). Ao fazer a captura das informaes da memria, uma poro da mesma ser alterada (MANDIA, 2001). Quando o utilitrio usado para fazer o dump (backup) executado, o sistema operacional aloca uma rea da memria para o processo em execuo. Portanto no possvel verificar se as informaes capturadas so exatamente iguais. Alm dos core files, existe outra fonte de informao bastante semelhante, denominada de crash dump, que contm uma imagem da memria do sistema no momento em que uma falha inesperada acontece (denominada de crash), funcionando como uma espcie de caixa preta do sistema, pois todo tipo de informao que estava na memria no momento da falha ser salva nele. Esse arquivo, gerado pela funo panic(), contm informaes sobre o programa que causou a falha, alm de outros dados que estavam na memria, como senhas, por exemplo (STEPHENSON, 2000).

2.2.1.4. Trfego de rede


A partir dos datagramas capturados, possvel reconstruir a comunicao entre o atacante e a mquina alvo, de modo que uma seqncia de eventos pode ser estabelecida e comparada com as outras evidncias encontradas na mquina comprometida (CASEY, 2000). Existem vrios programas que podem ser usados para capturar o trfego de rede, comumente denominados de sniffers. Alm de capturar os datagramas que trafegam na rede, estes programas podem decodific-los e exib-los em um formato mais legvel, ou ainda executar operaes mais complexas como reconstruo de sesso e recuperao de arquivos transferidos pela rede (CASEY, 2000). Alm dos sniffers, alguns sistemas de deteco de intruso podem ser usados para capturar e analisar o trfego de rede, ou ainda inspecionar o trfego e armazenar apenas os dados que paream suspeitos (CASEY, 2000). Entre as evidncias mais comuns que podem ser encontradas na anlise do trfego de rede esto:

Endereo IP invlido ou suspeito (endereos reservados ou conhecidos de outros ataques, por

30 exemplo);

Portas suspeitas (como, por exemplo, programa servidor utilizando uma porta desconhecida acima de 1024); Porta destino que no deveria estar aceitando datagramas; Trfego no condizente com o padro do protocolo (flags, opes, fragmentao e tamanho dos datagramas invlidos); Tamanho suspeito do datagrama (no condizente com o normal para o servio); Trfego TCP sem estabelecimento de conexo, sem flags ou com nmeros de seqncia invlidos (estticos, aleatrios ou sobrepostos); Trfego intenso de datagramas incomuns rede ou que deveriam estar desabilitados (ICMP, echo request e reply, por exemplo); rea de dados dos datagramas contendo comandos GNU/Linux, prompts de shell e sadas de comandos; Flood de datagramas para um determinado servio ou mquina (datagramas chegando com intervalo de tempo muito pequeno); Requisies HTTP suspeitas (mesma URL em vrias requisies ou URLs contendo referncias a comandos GNU/Linux ou a scripts suspeitos).

2.2.1.5. Estado do sistema operacional


Informaes relacionadas com o estado do sistema operacional podem fornecer pistas importantes quanto existncia, tipo e origem de um ataque em andamento (WARNEN, 2002). Tais informaes representam uma imagem do sistema operacional em um determinado instante (processos em execuo, conexes de rede estabelecidas, usurios logados, tabelas e caches mantidas pelo sistema) e geralmente so perdidas quando o sistema desligado. A coleta de informaes acerca dos processos em execuo no sistema analisado de grande importncia. Cada processo executado em um ambiente com privilgios especficos que determinam quais recursos do sistema, programas e arquivos de dados podem ser acessados e de que modo (SILBERSCHA TZ, 1998). Um invasor pode desvirtuar a execuo de um programa ou servio, causando sua falncia, ou fazendo com que ele opere de maneira inesperada ao administrador ou usurio (acessando informaes no autorizadas ou consumindo recursos excessivos, por exemplo). Alm disso, o atacante pode executar processos maliciosos como rootkits, backdoors e trojan horses. Coletar informaes acerca dos usurios logados no sistema, do estado das interfaces de rede e contedo das tabelas podem evidenciar um ataque ou de alguma atividade incomum, como por exemplo, a existncia de um possvel sniffer no sistema ou identificar uma alterao da tabela de rotas.

2.2.1.6. Mdulos de kernel


O ncleo do sistema (kernel) contm as funcionalidades bsicas para o funcionamento do sistema operacional. Os ncleos anteriormente eram monolticos, ou seja, para adicionar ou retirar uma funcionalidade era necessrio compilao e instalao do novo kernel, alm de necessidade de reiniciar o equipamento para

31 o novo kernel entrar em uso. Para minimizar esse processo, pensou-se em permitir adicionar ou retirar recursos com o sistema no ar, criando, ento, os mdulos de kernel. Os mdulos podem servir a vrios propsitos, como fornecer recurso para um novo dispositivo (device driver), incorporar uma nova linguagem ao sistema (Java, por exemplo), permitir tratamento de novos tipos de sistemas de arquivos (file system) e reescrever as chamadas do sistema operacional (system calls), sendo essa ltima a principal ao promovida pelos LKM (loadable kernel modules) maliciosos (RUFINO, 2001). O que uma vantagem tambm pode ser um problema para os sistema, pois uma vez invadido, o atacante pode carregar um mdulo de kernel malicioso, com o propsito de esconder suas atividades das ferramentas de auditoria do sistema. Mdulos maliciosos instalados pelos atacantes podem comprometer totalmente o funcionamento do sistema operacional, interceptando comandos do sistema e produzindo resultados falsos. Como as aplicaes trabalham no chamado espao de usurio (user space), chamando funes do espao de kernel (kernel space), qualquer informao adulterada no ncleo do sistema passar desapercebida pela aplicao. Entretanto, a identificao desse mdulos maliciosos representa uma evidncia de intruso.

2.2.1.7. Dispositivos de armazenagem secundria


O disco representa a maior fonte de informao para o exame forense. Do ponto de vista da forense computacional, o disco muito mais que um conjunto de parties e sistemas de arquivos. De fato, cada poro do disco, por menor que seja, onde se possa ler e/ou escrever um conjunto de bits, representa uma possvel fonte de informao para a anlise forense. Determinadas reas do disco no so acessveis atravs do sistema de arquivos e podem conter informaes que o atacante mantm escondidas ou, ainda, vestgios que o mesmo tentou apagar. Sendo assim, pode-se classificar as informaes armazenadas em disco em duas classes: aquelas acessveis pelo sistema de arquivos (os arquivos propriamente ditos e seus atributos) e as informaes armazenadas em reas no acessveis atravs do sistema de arquivos (espaos no alocados, por exemplo). Alm disso, reas do dispositivo de armazenagem podem conter informaes deletadas. Quando um arquivo deletado, sua referncia removida das estruturas do sistema de arquivos, entretanto os dados contidos no arquivo no so apagados do disco (CASEY, 2000). Tais dados permanecem no disco indefinidamente, at que sejam sobrescritos por outros arquivos. Sendo assim, arquivos completos ou pores menores podem ser recuperados aps terem sido deletados e parcialmente sobrescritos (WARNEN, 2002). Alm de obter informaes sobre a configurao do disco, importante efetuar a imagem bit a bit do dispositivo. Este tipo de imagem diferente de uma cpia normal de arquivos, pois todo contedo do disco ser copiado, incluindo os espaos no utilizados.

2.2.1.8. Sistemas de arquivos


O sistema de arquivos a poro do sistema operacional responsvel por organizar as informaes do disco na forma de arquivos (SILBERSCHA TZ, 1998). Em um sistema GNU/Linux, cada arquivo representado por uma estrutura de dados chamada inode, que contm a localizao do arquivo no disco e informaes sobre a propriedade, permisses de acesso e marcas de tempo (timestamps).

32

Um inode no contm o nome do arquivo, de modo que essa informao encontra-se na entrada de diretrio que aponta para o inode. Quando uma entrada de diretrio aponta para um inode tem-se um link. Dessa forma, um inode pode ser referenciado por vrias entradas de diretrio diferentes. Sendo assim, durante a anlise forense, importante lembrar que um mesmo arquivo pode aparecer em mltiplos diretrios simultaneamente e que esse arquivo pode ter nomes diferentes em cada diretrio (WARNEN, 2002). As marcas de tempo dos arquivos (mactime) representam recursos importantes para a reconstruo dos eventos associados a uma invaso (CASEY, 2000). Entretanto, elas so facilmente modificadas e extremamente efmeras, ou seja, a prxima vez que algum acessar ou modificar um arquivo de qualquer forma, os valores anteriores dos mactimes atualizados sero perdidos. Sendo assim, se houver certeza de que os mactimes no foram deliberadamente distorcidos, eles podem fornecer pistas valiosas sobre os arquivos e diretrios acessados e/ou modificados pelo invasor, os programas compilados e executados na mquina invadida e outros eventos que envolvam o sistema de arquivos. No processo de anlise, preciso montar o sistema que est sendo analisado para se ter acesso aos arquivos e diretrios do mesmo. importante observar que o sistema de arquivos analisado deve ser montado apenas para leitura, impedindo qualquer tipo de alterao, sendo esta uma das habilidades dos sistemas GNU/Linux. Algumas das principais fontes de informaes contidas no sistema de arquivos apresentado abaixo:

Arquivos e diretrios de configurao. O sistema GNU/Linux mantm certos arquivos de configurao que so comumente acessados e/ou alterados pelos atacantes. Como exemplo, eles so os scripts de inicializao, arquivos de informaes sobre contas e senhas, configurao dos servios de rede, tarefas agendadas, relaes de confiana e do sistema de log.

Filas. Incluem informaes sobre processos em execuo e atividades incompletas. Podem conter mensagens de correio eletrnico. rea de troca. Quando a demanda do sistema excede a capacidade da memria, algumas informaes so retiradas da memria e armazenadas temporariamente nos arquivos de swap. Tais arquivos podem conter fragmentos de dados ou at mesmo um arquivo completo que nunca foi salvo no disco.

Diretrios temporrios. Diretrios temporrios servem como diretrios de rascunho para todo o sistema. Como eles so limpos periodicamente (em teoria), acabam se tornando locais apropriados para armazenar dados que no sero usados no futuro. Por esta razo, muitos atacantes usam esses diretrios como diretrios de trabalho, no se importando em apagar os rastros deixados.

Arquivos e diretrios escondidos ou no usuais. Arquivos e diretrios invisveis ou com nomes pouco usuais so freqentemente usados pelos atacantes para esconder informaes. Executveis e bibliotecas. Os atacantes comumente instalam trojan horses, rootkits e exploits no sistema invadido. Esses programas geralmente modificam algum executvel do sistema ou alguma biblioteca carregada dinamicamente. Alm disso, muitos atacantes deixam para trs seus cdigos maliciosos (executveis ou cdigos fonte) que podem ser analisados em busca de detalhes sobre a intruso.

33

2.2.1.9. Arquivos de log


Os arquivos de log representam um papel crucial na anlise do sistema de arquivos, pois permitem a reconstituio de fatos que ocorreram no sistema. Tais arquivos podem registrar, entre outras informaes, as atividades dos usurios, dos processos e do sistema, as conexes e atividades da rede, e informaes especficas dos aplicativos e servios. No caso de logs relativos a incidentes de segurana, eles normalmente so gerados por rewalls ou por sistemas de deteco de intruso. Convm que os recursos e informaes de registros sejam protegidos contra falsificao e acesso no autorizado (ABNT NBR ISO/IEC, 2005). Os logs relativos a ataques recebidos pela rede, em geral, possuem as seguintes informaes:

Data e horrio em que ocorreu uma determinada atividade; Endereo IP de origem da atividade; Portas envolvidas.

Dependendo do grau de refinamento da ferramenta que gerou o log ele tambm pode conter informaes como:

O time zone do horrio do log; Protocolo utilizado (TCP, UDP, ICMP, etc); Os dados completos que foram enviados para o computador ou rede.

Algumas das principais circunstncias suspeitas encontradas com relao aos arquivos de log so resumidas a seguir:

Ausncia de um ou mais arquivos de log; Inconsistncia em seus registros como, por exemplo, tempos cronolgicos desordenados; Arquivos de log contendo caracteres ilegveis ou fora do padro normal, podem indicar uma tentativa de ataque de estouro de buffer; Conexes de rede provenientes de origens suspeitas ou a servios que deveriam estar desabilitados; Tentativas mal sucedidas de login; Incio ou trmino de servios no programados; Atividades atpicas de usurios, principalmente do root.

O investigador pode encontrar uma grande dificuldade de analisar os arquivos de logs por conter muita informao. Uma forma de solucionar esse problema utilizar ferramentas automatizadas que permitam percorrer um arquivo de log em busca de padres especficos que o prprio investigador determina de acordo com o que est procurando.

2.3. PROCESSO DE INVESTIGAO


O processo de investigao forense deve garantir a autenticidade e integridade das evidncias coletados e dos resultados produzidos. Em outras palavras, a investigao forense deve assegurar que as informaes obtidas existem nas evidncias analisadas e no foram alteradas ou contaminadas pelo processo de investigao. Por esse motivo, importante que a investigao seja conduzida de maneira metdica, bem organizada e em sintonia com a tecnologia envolvida (CASEY , 2000).

34

Os mtodos e procedimentos simplificam o processo de coleta, armazenagem e anlise de evidncias, necessitam de uma fase de planejamento para sua correta aplicao; reduzem o pnico e reaes negativas em circunstncias em que a percia conduzida sobre elevados nveis de estresse; contribuem para validar as evidncias coletadas em um processo criminal e ajudam a definir a melhor abordagem para a investigao, identificando as principais atividades que precisaro ser executadas (considerando as condies iniciais em que os sistema ser entregue para a investigao).

2.3.1. Preparao do ambiente


Para a preparao do ambiente, relevante que se determine o tipo de equipamento e sistema operacional alvo do cdigo malicioso. Com estas informaes, pode-se preparar uma mquina exclusivamente para realizar esta anlise. Uma mquina utilizada para anlise dinmica no deve ser reutilizada, afinal, estar comprometida aps a execuo do cdigo. importante que o ambiente de anlise seja flexvel, pois diferentes configuraes de rede e sistema podem fazer com que o fluxo de execuo do cdigo atue de maneiras diferentes. Se uma requisio a um servio SMTP, DNS ou IRC especificado pelo cdigo fonte do programa, a rede precisa prover estes recursos, da maneira a proporcionar a configurao que o cdigo espera. Assim, o analista pode observar total performance do programa malicioso. O ambiente deve ter acesso controlado, ou seja, quaisquer alteraes realizadas no sistema no passam desapercebidas. Qualquer tipo de alterao observada durante a execuo do cdigo deve ser levada em considerao. Para que este objetivo seja alcanado, devem-se utilizar as ferramentas corretas para tal. Desse modo, para suportar os resultados da investigao forense, so necessrios procedimentos e protocolos que garantam que as evidncias so coletadas, preservadas e analisadas de maneira consistente, minuciosa e livre de contaminaes. Tais procedimentos so comumente definidos pelo termo Standard Operating Procedures (SOP), como sendo um guia prtico, documentado, de controle de qualidade, que deve ser aplicado toda vez que um sistema analisado (CASEY, 2000). Alguns princpios com os quais um processo de investigao forense deve ser coerente, sugeridos pela Associao de Oficiais Chefes de Polcia do Reino Unido (ACPO) (ACPO, 1999) e pelo Grupo de Trabalho Cientfico em Evidncias Digitais (SWGDE) (SWGDE, 2000) so:

As aes tomadas durante a investigao forense no devem alterar as evidncias; No se deve confiar cegamente no sistema invadido, nem nos programas e bibliotecas dinmicas nele encontradas; Cpias das evidncias originais devem ser produzidas e, sempre que possvel, a investigao deve ser conduzida sobre as cpias. Tais cpias devem ser idnticas s evidncias originais, contendo toda a informao em seu estado original;

Todas as evidncias digitais coletadas e as cpias produzidas devem ser autenticadas por meio de assinaturas criptogrficas, permitindo a verificao de sua integridade; Toda evidncia coletada deve ser identificada, contendo o nmero do caso investigado, uma breve descrio da evidncia e a data e horrio da coleta;

35

Toda evidncia coletada deve ser preservada em local de acesso controlado e livre de alteraes; Todas as informaes relativas investigao devem ser documentadas de maneira permanente; As ferramentas usadas na investigao (hardware e software) devem ser amplamente aceitas na rea e testadas para garantir sua operao correta e confivel.

2.3.2. Anlise
A etapa de anlise representa o objetivo principal do processo de investigao forense. o momento em que todo o material coletado minuciosamente examinado em busca de evidncias, permitindo formular concluses acerca do incidente que originou a investigao. Durante a anlise, importante investigar todas as fontes de informao do sistema analisado, buscando identificar caractersticas anormais e indevidas, possivelmente provocadas pelo atacante. Conhecer o modo de operao dos atacantes um requisito essencial para a eficincia do processo de anlise, pois aumenta a capacidade do investigador de reconhecer possveis evidncias. Uma anlise forense computacional depende acima de tudo, de um conjunto de ferramentas que devero ser utilizadas para coletar, documentar, preservar e processar as informaes provenientes do sistema investigado. O conjunto de ferramentas de investigao deve conter uma estao forense, que a mquina onde idealmente a anlise das informaes coletadas realizada. Esta estao representa um ambiente controlado onde o investigador dispe de todos os dispositivos de hardware e utilitrios de software necessrios s tarefas compreendidas por uma anlise forense em um sistema. Pode-se ainda instalar mltiplos sistemas operacionais na estao forense, possibilitando a escolha durante a inicializao do sistema ou atravs de programas como o VMWARE (VMWARE, 2006).

2.4. CONSIDERAES
De maneira geral, a conceituao tcnica fornecida nesse captulo fundamental para a compreenso do trabalho apresentado. Atravs das evidncias digitais ser possvel no prximo captulo conhecer os comandos que permitiro coletar estas evidncias, demonstrando como pode ser feita uma busca detalhada das informaes de um sistema comprometido.

36

3. MTODOS PARA A COLETA DE MATERIAL PARA ANLISE


Neste captulo, sero apresentados os mtodos de extrao das informaes e evidncias digitais mais comumente encontradas nas principais fontes de informao citadas anteriormente.

3.1. TIPOS DE MTODOS


Ao se coletar material para anlise, existem dois grandes perigos: perda e alterao. Se os cuidados necessrios no forem tomados, dados importantes podem ser sobrescritos e perdidos totalmente, ou apenas parte deles, alterando seu significado ou apagando informaes crticas (STEPHENSON, 2000). Um dos princpios fundamentais da forense o Princpio da Troca de Locard. De acordo com esse princpio, qualquer um, ou qualquer coisa, que entra em um local de crime leva consigo algo do local e deixa alguma coisa para trs quando parte (CASEY, 2000). No mundo computacional, este princpio ainda vlido com algumas adaptaes: onde quer que o intruso v, ele deixa alguns rastros. Tais rastros podem ser extremamente difceis ou praticamente impossveis de serem identificados e rastreados, mas eles existem de fato (STEPHENSON, 2000). Em casos como esses, o processo de anlise forense pode tornar-se extremamente complexo e demorado, necessitando do desenvolvimento de novas tecnologias para a procura de evidncias. Uma vez terminada a etapa de coleta, geralmente no h retorno, de modo que algumas das informaes inicialmente consideradas desnecessrias podem ter desaparecido (WARNEN, 2002). O termo material usado no sentido amplo de tudo que pode ser coletado, seja fisicamente tangvel ou no, como por exemplo, informaes digitais, hardware, documentao, configurao das conexes externas da mquina (cabos de rede, impressoras e outros dispositivos externos) e anotaes.

3.1.1. COLETA NAS MEMRIAS PERIFRICAS


Alguns perifricos como impressora e vdeo possuem suas prprias memrias. Nelas podem estar armazenadas informaes que no existam mais no sistema suspeito. O comando xwd permite capturar informaes da memria ( dump) de vdeo, por exemplo. Numa situao em que o invasor utiliza um terminal ou console grfico, o investigador pode capturar a tela corrente do invasor com o comando xwd. Supondo que o invasor esteja na estao 10.10.0.1, pode-se capturar a sua tela atravs do comando mostrado na figura 3. #xwddisplay10.10.0.1:0root>tela_invasor.xwd
Figura 3: Capturando a tela atravs do comando xwd

37

A opo -display 10.10.0.1:0 serve para identificar o computador e o nmero do terminal grfico da tela. J o parmetro -root especifica que tela inteira deve ser capturada. O arquivo que contm a tela capturada (tela_invasor.xwd) pode ser visualizado atravs do utilitrio xwud demonstrado na figura 4. #xwudintela_invasor.xwd
Figura 4: Comando que permite visualizar a tela capturada atravs do comando xwud

3.1.2. COLETA NA MEMRIA PRINCIPAL


A memria principal contm diversas informaes volteis do sistema, como por exemplo, dados sobre os processos que esto em execuo, dados que ainda esto sendo manipulados e no foram gravados no disco rgido. Tais informaes podem ser obtidas por meio de.

3.1.2.1. Dump da memria


Dump da memria nome do processo de capturar as informaes da memria, e pode ser feito atravs do comando dd mostrado na figura 5. #dd</dev/mem>mem.dump #dd</dev/kmem>kmem.dump
Figura 5: Fazendo um dump da memria usando o comando dd

Sabendo que o sistema operacional GNU/Linux trata tudo como arquivo, a prpria memria principal do sistema e a memria virtual do kernel, so acessadas atravs dos arquivos /dev/mem e /dev/kmem respectivamente. Ao fazer o dump, o investigador pode realizar buscas por palavras-chave atravs dos comandos grep e strings afim de encontrar alguma evidncia relevante. Na figura 6 pode-se ver o comando string lendo o arquivo dump e o grep filtrando a busca pela palavra-chave escolhida. #stringsamem.dump|greppalavrachave
Figura 6: Procurando palavras-chaves no arquivo de dump

Conforme apresentado na figura 6, o comando strings retorna todo contedo de texto do arquivo mem.dump e o grep filtra este resultado exibindo somente as palavras que contenham a string 'palavra-chave'.

3.1.2.2. Core file


Core file ou core dump so arquivos que contm a cpia exata da memria ocupada pelo processo quando este terminado pelo sistema. Tais arquivos s so criados quando o processo recebe sinais cuja ao terminar o processo e gerar o core dump como o SIGQUIT, SIGSEGV, entre outros. Atravs do comando kill, por exemplo, possvel gerar um core file j que ele responsvel pelo envio de

38 sinais a um processo. Supondo que o processo script.sh esteja em execuo com o nmero de identicao (PID) 3313. #killsSIGSEGV3313
Figura 7: Exemplo de comando que exclui um processo e cria um arquivo de core

Na figura 7 tem-se o comando a ser executado. O parmetro -s especifica que o sinal a ser enviado o SIGSEGV para o processo 3313, que ser finalizado e um arquivo com nome "core" ser criado. Para confirmar ou descobrir o sinal e o processo relacionado a este core file, pode utilizar-se do comando file (WARNEN, 2002). #filecore core:ELF32bitLSBcorefile(signal11),Intel80386,version1(SYSV),from 'script.sh'
Figura 8: Verificando o tipo de arquivo atravs do comando file

A anlise do core file apresentado na figura 8 pode revelar, dentre outras informaes, as rotinas que estavam sendo executadas, os valores dos registradores, o contedo do espao de endereamento virtual do processo e a estrutura do usurio (GARFINKEL, 1996). Mas para o investigador, o interessante saber qual programa originou o core file porque esses comportamentos anormais, geralmente, so ocasionados por usurios mal intencionados. Portanto, esse programa considerado suspeito e pode ser uma evidncia, assim como os arquivos a que o programa faz referncia. O sinal recebido tambm relevante, j que pode revelar uma mera falha (bug) do prprio programa.

3.1.2.3. Diretrio /proc


O diretrio /proc um pseudo-sistema de arquivos usado como uma interface para as estruturas de dados do kernel do sistema operacional, permitindo uma viso do ambiente de cada processo em execuo, assim como o estado da memria. A memria pode ser acessada pelo pseudo-arquivo /proc/kcore, que representa a memria fsica do sistema no formato de um core file. Novamente, com auxlio do strings ou um programa de depurao, como gdb, o investigador pode analisar o contedo desse arquivo.

3.1.3. COLETA DO TRFEGO DE REDE


Quando o sistema GNU/Linux falha, ou seja, ocorre um crash do sistema, ele pode criar um arquivo denominado crash dump, que contm uma imagem da memria do sistema no momento em que uma falha inesperada acontece (STEPHENSON, 2000). Esse arquivo, gerado pela funo panic(), contm informaes sobre o programa que causou a falha, alm de outros dados que estavam na memria, como senhas por exemplo. Pode-se usar o comando strings para identificar as informaes contidas no crash dump, ou ainda fazer uma anlise mais profunda com a ajuda de programas de depurao, como gdb (GARFINKEL, 1996). O tcpdump (figura 9) pode ser usado para capturar todo tipo de trfego de rede, decodificar e exibir os

39 datagramas medida que eles so coletados (no caso de uma anlise em tempo real) ou armazenar os datagramas em um arquivo binrio, permitindo uma anlise posterior atravs do prprio tcpdump ou de outros aplicativos. A segunda abordagem permite fazer uma cpia exata das informaes que trafegam na rede, sendo a mais indicada no caso de uma anlise em tempo real no ser necessria (CASEY, 2000).

#tcpdumplnexvvs1500 #tcpdumpwnet.dump #tcpdumpnexvvs1500rnet.dump


Figura 9: Capturando e exibindo datagramas atravs do comando tcpdump

No primeiro exemplo, o tcpdump usado para capturar e exibir os datagramas medida que eles so coletados. A opo l permite a visualizao imediata da sada medida que ela produzida, a opo n impede a converso de endereos em nomes, a opo e imprime o cabealho da camada de enlace, a opo x imprime os datagramas no formato hexadecimal, a opo vv imprime informaes extras na sada do tcpdump e a opo s determina o nmero de bytes de dados que deve ser capturado de cada datagrama (o padro 68 bytes). No segundo exemplo, o tcpdump usado para armazenar os datagramas em um arquivo binrio (net.dump), atravs da opo w. Tal arquivo pode ser processado posteriormente, como no terceiro exemplo, atravs da opo r. O tcpdump possui, ainda, um conjunto de filtros que permitem selecionar os datagramas que devem ser capturados, como por exemplo, em funo do endereo IP origem ou destino dos datagramas. Maiores detalhes sobre as opes e regras de filtragem do tcpdump podem ser encontrados na man page do mesmo. Em primeira instncia, o sniffer deve ser colocado em um ponto da rede que tenha acesso ao trfego relacionado mquina que est sendo investigada. Geralmente, quanto maior a quantidade de dados coletados e maior o nmero de operaes realizadas sobre os datagramas capturados (decodificao, exibio, remontagem ou checagem de assinaturas de ataques, por exemplo), maior ser a carga sobre o sistema de coleta, aumentando a chance de que alguns datagramas sejam descartados (CASEY, 2000). Com a anlise dos datagramas pode-se encontrar evidncias como:

endereo IP invlido ou suspeito; trfego em portas desconhecidas; trfego em servios ou portas que no deveria estar ocorrendo; datagramas com opes ou tamanhos que no respeitam os padres do protocolo (Request for Comment - RFC); flood de datagramas na rede; trfego TCP em portas incomuns.

A anlise dos datagramas capturados geralmente feita com o auxlio de ferramentas que reconstroem e exibem as informaes em um formato mais adequado ao investigador. Algumas ferramentas como, por exemplo, o ethereal e o review (CASEY, 2000), permitem a reproduo da sesso capturada, alm da visualizao dos eventos de uma maneira mais fcil que a oferecida pelo tcpdump. Outra funcionalidade

40 presente em algumas ferramentas (no review por exemplo) a reconstruo de arquivos que foram transferidos durante a sesso capturada, permitindo a recuperao de todo tipo de informao transferida pelo atacante (exploits ou imagens, por exemplo).

3.1.4. COLETA DO ESTADO DO SISTEMA OPERACIONAL


Vale relembrar que o investigador nunca deve confiar nas ferramentas e nem nas bibliotecas do sistema suspeito, pois o invasor pode ter alterado os binrios do sistema j prevendo uma situao de anlise forense. Portanto, todos os comandos apresentados devem ser executados pelo sistema ou equipametos do prprio investigador, caso contrrio, poder perder ou alterar evidncias digitais. Algumas informaes reveladas ao verificar o estado do sistema so:

processos em execuo; interface e conexes de rede; acesso dos usurios; mdulos do kernel.

3.1.4.1. Coleta dos processos em execuo


A anlise dos processos em execuo no sistema de grande importncia, pois indicam o seu comportamento naquele momento. Um invasor pode desvirtuar a execuo de um processo para garantir ou aumentar os seus privilgios no sistema. Se os processos no estiverem funcionando corretamente o sistema tambm no estar. Existem diversas formas de descobrir informaes relacionadas aos processos em execuo. Informaes estas como comando executado, arquivos abertos, consumo de recursos, entre outras, que revelam evidncias de atividades no autorizadas. O comando ps junto com o parmetro aux, por exemplo, uma maneira de obter uma listagem completa de todos os processos em execuo no sistema como no exemplo da figura 10.

#psaux|nclp7777|teeps_aux|md5>ps_aux.md5
Figura 10: Verificando quais processos esto rodando e enviando para um arquivo na mquina remota

Neste caso, a estao forense configurada para receber as informaes pela porta 7777 e armazen-las no arquivo ps_aux. utilizada uma combinao dos comando tee e md5, que permite armazenar as informaes recebidas e gerar sua assinatura criptogrfica no mesmo instante. O comando tee simplesmente recebe um fluxo de dados pela entrada padro e o armazena em um arquivo, replicando de maneira exata o fluxo de dados recebido para a sada padro. Maiores detalhes sobre os comandos envolvidos no exemplo anterior podem ser encontrados na respectivas man pages. No segundo passo (figura 11), o comando desejado executado no sistema suspeito e sua sada redirecionada para o programa nc, informando o endereo IP da estao forense e o nmero da porta configurada para receber os dados (no exemplo a seguir, os programas confiveis so acessados a partir de

41 um CDROM).

#/mnt/cdrom/toolkit/psaux|/mnt/cdrom/toolkit/nc10.10.0.17777
Figura 11: Verificando os processos correntes utilizando comando de um cd

A sada gerada pela execuo do comando no exemplo anterior, ser uma lista de todos os processos correntes no sistema indicando seu nmero de identicao (PID) dono do processo, seu consumo de processador e memria, entre outros. O comando ps possui diversas opes que exibem outros tipos de dados. Outro comando do gnero do ps o top. Diferenciam-se somente porque o top exibe a lista de processos em execuo em tempo real. Agora, para saber quais arquivos esto abertos, decorrentes de um processo em execuo, utiliza-se o lsof (LSOF, 2006) como na figura 12.

#lsofp7566 COMMANDPIDUSERFDTYPEDEVICESIZENODENAME bash7566rootcwdDIR8,1175210620/root bash7566rootrtdDIR8,16242/ bash7566roottxtREG8,168472423/bin/bash bash7566rootmemREG0,00[heap](stat:Nosuchfile ordirectory) bash7566rootmemREG8,1424728159 /lib/tls/i686/cmov/libnss_files2.3.6.so bash7566rootmemREG8,1384208167 /lib/tls/i686/cmov/libnss_nis2.3.6.so bash7566rootmemREG8,1808888199/lib/tls/i686/cmov/libnsl 2.3.6.so bash7566rootmemREG8,1118313619365/usr/lib/locale/locale archive bash7566rootmemREG8,112668328186/lib/tls/i686/cmov/libc 2.3.6.so bash7566rootmemREG8,195928192/lib/tls/i686/cmov/libdl 2.3.6.so bash7566rootmemREG8,126710410560/lib/libncurses.so.5.5 bash7566rootmemREG8,1304288191 /lib/tls/i686/cmov/libnss_compat2.3.6.so bash7566rootmemREG8,19226010518/lib/ld2.3.6.so bash7566root0uCHR136,02/dev/pts/0 bash7566root1uCHR136,02/dev/pts/0 bash7566root2uCHR136,02/dev/pts/0 bash7566root255uCHR136,02/dev/pts/0
Figura 12: Visualizando arquivos abertos decorrentes de um processo atravs do lsof

Considerando novamente o diretrio /proc, cada processo na memria possui um sub-diretrio dentro dele, cujo nome o seu nmero de identicao. Por exemplo, supondo que o processo sshd tem PID igual a 7566, dentro do /proc existir o sub-diretrio 7566 com o contedo demonstrado na figura 13.

42 #lslh/proc/7566 total0 drxrxrx2rootroot02006090917:49attr r1rootroot02006090917:49auxv rrr1rootroot02006090917:43cmdline lrwxrwxrwx1rootroot02006090917:43cwd>/root r1rootroot02006090917:49environ lrwxrwxrwx1rootroot02006090917:43exe>/bin/bash drx2rootroot02006090917:43fd rrr1rootroot02006090917:43maps rw1rootroot02006090917:49mem rrr1rootroot02006090917:49mounts rwrr1rootroot02006090917:49oom_adj rrr1rootroot02006090917:49oom_score lrwxrwxrwx1rootroot02006090917:43root>/ rw1rootroot02006090917:49seccomp rrr1rootroot02006090917:49smaps rrr1rootroot02006090917:43stat rrr1rootroot02006090917:49statm rrr1rootroot02006090917:43status drxrxrx3rootroot02006090917:49task rrr1rootroot02006090917:49wchan
Figura 13: Listando informaes de um determinado processo dentro do /proc

Dentro desse subdiretrio um investigador forense pode descobrir o comando completo (arquivo cmdline), o caminho do binrio executado (o link simblico), os arquivos abertos pelo processo (que so referenciados por links simblicos contidos no sub-diretrio fd), entre outros. Uma outra questo que deve ser observada que o atacante, com o intuito de esconder seus rastros, pode iniciar a execuo de um programa e deletar o binrio correspondente. Entretanto, este programa no est sendo verdadeiramente deletado. O sistema GNU/Linux mantm para cada arquivo um contador, chamado de link count, que representa o nmero de processos usando o arquivo. Quando o link count iguala-se a zero, nenhum processo est usando o arquivo e o mesmo ser deletado. Quando um atacante executa e deleta seu programa, este ser removido da cadeia de diretrios, ou seja, no ser mais visvel atravs do comando ls, o link count do programa decrementado em uma unidade e o tempo de deleo recebe o horrio corrente. Contudo, o link count no se igualar a zero at que o processo do atacante termine. Os arquivos com link count igual a zero so denominados de unlinked files e esto marcados para deleo quando o sistema for desligado (MANDIA, 2001). Com todas essas fontes de informao acerca dos processos em execuo citadas anteriormente, possvel identificar situaes que podem representar evidncias de uma intruso, como por exemplo:

existncia de processos com nome suspeito; acesso a arquivos suspeitos ou no permitidos; ausncia de processos que deveriam estar executando (syslogd, por exemplo); informaes inconsistentes entre o comando ps e diretrio /proc; processo aceitando conexes em portas suspeitas; processo com dono trocado; consumo de recurso incomum de um processo.

43

3.1.4.2. Coleta de informaes da interface e das conexes de rede


Um atacante pode instalar um sniffer na rede com a inteno de capturar algum datagrama que contenha uma senha, por isso importante analisar o estado da interface de rede. O comando ifconfig (figura 14) pode ser utilizado nessa tarefa.

#ifconfigeth0 eth0Linkencap:EthernetHWaddr00:0F:EA:AF:2A:02 inetaddr:192.168.0.2Bcast:192.168.0.255Mask:255.255.255.0 inet6addr:fe80::20f:eaff:feaf:2a02/64Scope:Link UPBROADCASTRUNNINGPROMISCMULTICASTMTU:1500Metric:1 RXpackets:9865errors:0dropped:0overruns:0frame:0 TXpackets:8865errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:7554367(7.2MiB)TXbytes:7549809(7.2MiB) Interrupt:185Baseaddress:0xc000
Figura 14: Adquirindo dados da interface eth0 atravs do comando ifconfig

No exemplo anterior, o comando ifconfig executado com o parmetro eth0, pois deseja-se adquirir dados sobre a interface de rede eth0. Note que na quarta linha est escrito PROMISC, indicando que essa interface est funcionando em modo promscuo. Uma interface de rede funcionando em modo promscuo significa que todos os datagramas sero recebidos pela interface, mesmo que no seja endereado a ela. Por isso, modo promscuo caracteriza a existncia de um sniffer. Alm do estado da interface, as conexes de redes tambm devem ser analisadas. Um exemplo de comando responsvel por exibir o estado das conexes e portas abertas no sistema o netstat demonstrado na figura 15. #netstattupan ActiveInternetconnections(serversandestablished) ProtoRecvQSendQLocalAddressForeignAddressStatePID/Programname tcp600:::993:::*LISTEN5974/couriertcpd tcp600:::995:::*LISTEN5995/couriertcpd tcp600:::110:::*LISTEN5982/couriertcpd tcp600:::143:::*LISTEN5949/couriertcpd tcp600:::22:::*LISTEN6052/sshd
Figura 15: Verificando o estado das conexes e portas abertas atravs do comando netstat

A opo -a permite a visualizao de todas as conexes de rede e o nmero de identificao do processo. O nome do programa associado a cada conexo exibido pela opo -p, as opes -t e -u indicam que devem ser exibidas somente conexes TCP e UDP, respectivamente. Por ltimo, a opo -n desabilita a converso de endereos IP em nomes. Maiores informaes sobre as opes e o funcionamento do netstat podem ser obtidas em sua man page. Pelo resultado do comando netstat possvel obter algumas informaes que podem ajudar o investigador como:

ausncia de servios que deveriam estar habilitados;

44

presena de servios que deveriam estar desabilitados; servios estabelecendo conexes suspeitas; endereos IP suspeitos.

3.1.4.3. Coleta do acesso dos usurios


Verificar quais usurios esto ou estavam conectados podem revelar dados como:

nomes de usurios suspeitos; acesso de usurio em dia ou hora suspeito; conexo de usurio que no deveria ocorrer.

O comando lastlog possibilita exibir o dia e hora da ltima conexo de cada usurio no sistema. Segue um exemplo atravs da figura 16. #lastlog UsernamePortFromLatest rootpts/1192.168.0.1SatSep911:51:4403002006 daemon**Neverloggedin** bin**Neverloggedin** sys**Neverloggedin** sync**Neverloggedin** man**Neverloggedin** lp**Neverloggedin** mail**Neverloggedin** news**Neverloggedin** uucp**Neverloggedin** proxy**Neverloggedin** Debianexim**Neverloggedin** statd**Neverloggedin** hal**Neverloggedin** gdm**Neverloggedin** nagios**Neverloggedin**
Figura 16: Visualizando o dia e a hora da ltima conexo de cada usurio atravs do comando lastlog

Com o comando w, possvel descobrir quais usurios esto conectados no sistema e o que eles esto executando. Um exemplo de uso seria igual o demonstrado na figura 17.

#w 18:00:34up9:12,2users,loadaverage:0.23,0.22,0.21 USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT roottty109:148:452.13s0.00s/bin/sh/usr/bin/X11/startx rootpts/0:0.017:430.00s0.08s0.00sw


Figura 17: Listando quais usurios esto conectados no sistema atravs do comando w

3.1.5. COLETA DOS MDULOS DO KERNEL


Atravs dos chamados loadable kernel modules (LKM) o comportamento do sistema operacional pode ser alterado sem reiniciar o sistema. Mdulos maliciosos instalados pelos atacantes podem comprometer totalmente o funcionamento do sistema operacional, interceptando comandos do sistema, como netstat, ifconfig, ps e ls, e produzindo resultados falsos (MANDIA, 2001).

45

Rootkits que instalam LKMs maliciosos representam um desafio aos investigadores, pois quando o atacante tem controle do sistema no nvel do kernel no prudente confiar nas informaes providas pelos programas executados no sistema analisado, mesmo que estes sejam confiveis. Entretanto, a prpria identificao desse mdulos maliciosos representa uma evidncia de intruso. A investigao dos LKMs do sistema analisado pode ser feita atravs da comparao das informaes fornecidas pelos comandos lsmod e kstat e pela interface /proc/modules. O usuo do comando lsmod segue abaixo na figura 18. #lsmod ModuleSizeUsedby iptable_filter28160 ip_tables175361iptable_filter loop154320 isofs334001 udf746280 nls_iso8859_140320 nls_cp43756960 vfat119680 fat464281vfat usb_storage654080 ide_generic12160[permanent] snd_seq_dummy36520 snd_seq_oss289920 snd_seq_midi84800 snd_seq_midi_event65922snd_seq_oss,snd_seq_midi snd_seq447526 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event parport_pc323240
Figura 18: Listando os mdulos ativos atravs do comando lsmod

A ferramenta kstat permite a visualizao de informaes extradas diretamente de estruturas do kernel, atravs da interface provida pelo arquivo /dev/kmem. Sua utilizao especialmente til quando no se pode confiar no sistema analisado, embora seja possvel modificar o contedo da memria do kernel.

3.1.6. COLETA DOS DISPOSITIVOS DE ARMAZENAGEM SECUNDRIA


Essa parte da anlise feita aps o computador ter sido desligado, logo, s possui a memria no voltil, CDROM, disquetes, discos rgidos, por exemplo. Representa a mais lenta das etapas devido aos discos representarem a maior fonte de informao. Primeiramente, antes de comear a anlise forense no disco suspeito, necessrio fazer uma imagem do disco preservando assim, o original. Imagem de um disco o processo de fazer uma cpia exata dos dados contidos nele, preservando sua estrutura e localizao. J no processo de copiar todos os dados de um disco para outro, os dados sero armazenados nesse outro de forma seqencial. Tanto na imagem quanto na cpia simples, o contedo dos dados no disco sero os mesmos, mas a forma em que esto distribudos no. Uma simples cpia no replica as informaes armazenadas em lugares no acessveis pelo sistema de arquivos. E nesses lugares, citados a seguir, os atacantes podem esconder evidncia do seu delito. Alguns deles so:

O sistema de arquivo pode no ocupar totalmente a partio devido ao tamanho do bloco (cluster)

46 utilizado. Os ltimos setores desperdiados devem ser verificados;

Espaos alocados a arquivos que no so totalmente utilizados , podem ser utilizados para esconder informaes. Por exemplo, um arquivo com tamanho de 2460 bytes, em um sistema de arquivos com tamanho de bloco de 1024 bytes, ocupa trs blocos de alocao(3 * 1024 = 3072) , desperdiando os ltimos 612 (3072 - 2460 = 612) bytes alocados;

A BIOS pode no suportar a geometria do disco de modo que, no permitido o acesso a toda poro fsica do disco; As parties acessveis podem no ocupar todo o disco, podendo surgir assim, espao entre parties ou no final do disco; Podem existir parties que no contm um sistema de arquivos e mesmo assim esconder informaes; Vestgio de arquivos apagados. Quando um arquivo apagado, sua referncia removida das estruturas do sistema de arquivos, entretanto os dados contidos no arquivo no so apagados do disco (CASEY, 2000). Estes dados ficam no disco at que sejam sobrescritos por outros arquivos.

Arquivos de swap podem conter dados importantes que ainda no foram gravados no disco. Programas normais de cpia ou de backup no devem ser utilizados para efetuar uma anlise forense por s conterem os dados reconhecidos pelo sistema de arquivos, no capturando todos os dados residuais (arquivos apagados, slack space, arquivos swap). J a imagem do disco realiza uma cpia bit a bit, possuindo todas as informaes do disco.

Fazer uma imagem do disco um passo essencial no processo de anlise forense, pois com ela que o investigador passa a maior parte do tempo trabalhando na procura de evidncias, despreocupado em danificar a evidncia original. Existem diferentes maneiras de criar uma imagem de um disco, como a seguir:

Remover o disco do computador suspeito e coloc-lo em outro computador para fazer a imagem. De preferncia, esse computador de destino seja uma estao forense; Incluir outro disco no computador suspeito e pr a imagem nele; Atravs de uma conexo de rede, pode-se transferir a imagem do disco suspeito para outro computador ou estao forense.

A escolha e o uso de uma ferramenta correta so imperativos para uma boa anlise computacional forense. De acordo com o National Institute of Standards and Technology (NIST) essa escolha de ferramenta para a criao de uma imagem do disco, deve atender a certas especificaes (NIST, 2006):

Capaz de fazer uma imagem do disco original, uma partio do disco ou uma mdia removvel; Sua execuo no pode alterar o original; Capaz de acessar tanto disco IDE quanto SCSI; Registrar (log) erros de entrada e sada (input/output); A documentao deve estar correta; Deve ser capaz de verificar a integridade do arquivo de imagem do disco.

A ferramenta dd atende a esses requisitos e reconhecida pelo prprio NIST. um utilitrio freeware

47 desenvolvido para o sistema GNU/Linux capaz de fazer imagem e cpia de cada setor dos dispositivos SCSI e IDE. Supondo que o disco suspeito seja instalado na estao forense como master da IDE secundria, um exemplo para armazenar a imagem deste disco em arquivo (hdc_img.dd) segue na figura 19.

#ddif=/dev/hdcof=hdc_img.dd
Figura 19: Montando uma imagem do disco atravs do comando dd

Caso o intuito seja gerar a imagem em outro disco, acessado pelo arquivo /dev/hdb, tem-se o comando da figura 20. #ddif=/dev/hdcof=/dev/hdb
Figura 20: Gerando uma imagem em outro disco atravs do comando dd

Neste exemplo, a imagem da IDE secundria master foi gerada na IDE primria slave. Vale ressaltar que o disco a receber a imagem(/dev/hdb), deve estar "esterilizado", completamente limpo, zerado, para evitar que algum dado de instalaes anteriores possa se confundir com os dados do disco suspeito. A prpria ferramenta dd faz isso como mostrado na figura 21.

#ddif=/dev/zeroof=/dev/hdb dd:writingto`/dev/hdb':Nospaceleftondevice 9815715+0recordsin 9815714+0recordsout


Figura 21: Limpando o disco que ir receber os dados do disco invadido

Neste exemplo observa o uso da ferramenta dd para esterilizar o disco, zerando todos os seus bits. Em uma situao que o investigador depara-se com um sistema suspeito que no pode ser desligado, os dados da imagem devem ser transmitidos pela rede a medida que estes esto sendo gerados. A ferramenta netcat (NETCAT, 2006) auxilia nesta tarefa, pois permite escrever e ler dados atravs de uma conexo de rede, tornando possvel a criao de um ambiente cliente-servidor para transferir a imagem do disco suspeito. O servidor, preferencialmente uma estao forense, precisa estar preparado para receber a imagem. Em carter de exemplo, o servidor escutar a porta 7777. O comando nc, da ferramenta netcat, com parmetros -l -p 7777 indica que a estao ficar em modo de escuta (listen), a espera de pacotes na porta 7777. O comando tee recebe o fluxo de dados da entrada padro, armazena em um arquivo e replica de forma idntica para a sada padro. Com isso, os dados recebidos pela porta 7777 sero guardados no arquivo img_hd.dd e recebidos pelo md5sum para gerar seu hash criptogrfico, sendo este armazenado no arquivo img_hd.md5 como demonstrado na figura 22.

#/mnt/cdrom/ddif=/dev/hda|teeimg_hd.dd|md5sumb>img_hd.md5
Figura 22: Montando uma imagem do disco atravs de um cd

Agora necessrio fazer com que o cliente (a mquina suspeita), transmita os dados pela rede para o

48 servidor. Lembre-se, que o sistema suspeito pode ter sido comprometido o que torna todo e qualquer arquivo contido nele desconfivel. Por isso, o investigador forense deve utilizar os binrios a partir de um CD-ROM, por exemplo, previamente gravados por ele mesmo, pois estes sim so confiveis. Considerando o acesso do CD-ROM pelo diretrio /mnt/cdrom, o cliente pode enviar os dados para o servidor como mostrado na figura 23.

#catimg_hd.dd|/mnt/cdrom/nc10.10.0.17777
Figura 23: Transmitindo o arquivo de imagem pela rede

Ou seja, no primeiro comando foi gerado a imagem e o seu hash ficou armazenado no arquivo img_hd.md5 J no segundo comando feita a transferncia da imagem para o servidor 10.10.0.1 na porta 7777. Aps estas etapas, o investigador deve conferir o contedo do arquivo img_hd.md5 do cliente e servidor, pois se forem iguais est garantida a integridade da imagem enviada.

3.1.7. ANALISANDO O SISTEMA DE ARQUIVOS


Com a imagem do disco feita e o original guardado em um lugar seguro com acesso restrito, pode-se comear a anlise do sistema de arquivos. Todo o trabalho do investigador nessa etapa pode ser feito na imagem, pois conforme explicado na seo anterior, ela idntica ao original. Em posse da imagem, o investigador deve "mont-la" em um diretrio e analisar o sistema suspeito. A montagem deve ser feita como somente leitura para impedir a execuo de binrios e interpretao de device files, assegurando assim a integridade dos dados. Um exemplo dessa montagem demonstrado a seguir pela figura 24:

#mountoro,noexec,nodev,loophdc_img.dd/mnt/analise
Figura 24: Montando a imagem somente como leitura

Com a imagem do computador suspeito devidamente montada, o investigador tem acesso a todo o sistema pronto para comear sua anlise em busca de evidncias digitais. Como existem diversos arquivos e diretrios, o investigador precisa ter conhecimento das principais fontes de informao que podem fornecer alguma concluso sobre o ataque sofrido pelo sistema. A fonte de informao onde o processo de anlise forense geralmente se concentra mais o sistema de arquivos. Como citado anteriormente, em um sistema GNU/Linux, cada arquivo representado por uma estrutura de dados chamada inode, que contem a localizao do arquivo no disco e informaes sobre a propriedade, permisses de acesso e marcas de tempo. O contedo de um inode pode ser visualizado atravs do comando stat como no exemplo da figura 25.

49 #stat/var/log/messages File:`/var/log/messages' Size:76851Blocks:152IOBlock:131072regularfile Device:801h/2049dInode:138520Links:1 Access:(0640/rwr)Uid:(0/root)Gid:(4/adm) Access:2006090708:38:15.0000000000300 Modify:2006090921:08:15.0000000000300 Change:2006090921:08:15.0000000000300


Figura 25: Visualizando o contedo de um inode atravs do comando stat

importante mencionar que os aplicativos como stat e ls, por exemplo, utilizam os valores numricos userid e groupid para indexar os respectivos nomes associados em /etc/passwd e /etc/group da mquina onde o sistema de arquivos est sendo examinado. Desse modo, os nomes dos usurios e dos grupos associados aos userid e groupid pelos aplicativos podem estar inconsistentes com os nomes presentes no sistema investigado, se o sistema de arquivos for analisado em outra mquina (o que deve ser a prtica comum). Por este motivo, recomendado utilizar os valores numricos userid e groupid durante a anlise e fazer manualmente a associao com os respectivos nomes, utilizando os arquivos /etc/passwd e /etc/group do sistema investigado (WARNEN, 2002). Os arquivos de configurao so importantes para determinar se ocorreu uma alterao no comportamento do sistema. Os atacantes costumam alterar estes arquivos objetivando, por exemplo, a criao de meios que permitam o retorno ao sistema, esconder sua presena, entre outros. Arquivos desse gnero que merecem destaque so aqueles relacionados ao controle de acesso mquina (como configurao de um firewall), sistemas de log, configurao de usurios/grupos e scripts de inicializao. Portanto, o responsvel pela anlise do sistema comprometido deve dispor de uma ateno especial a esses tipos de arquivos, para entender qual foi a inteno do atacante ao comprometer a mquina. O sistema GNU/Linux, por padro, possui dois diretrios temporrios: /var/tmp e /tmp. Esses diretrios tm como caracterstica a capacidade de serem utilizados para escrita e leitura por qualquer usurio que deseje guardar seus arquivos provisoriamente. Como conseqncia destas caractersticas, os atacantes quando esto na etapa de escalar privilgios, por exemplo, armazenam seus arquivos maliciosos nestes diretrios. Por isso, a investigao nos diretrios temporrios importante, pois podem conter evidncias relacionadas intruso, como cdigo fonte de programas, arquivos executveis, entre outros. O diretrio /dev um diretrio que, em regra, possui mais de mil arquivos e pouco acessado pelos administradores, j que um diretrio de dispositivo bastante utilizado pelo prprio sistema operacional. Por esses motivos, esse diretrio torna-se interessante para um invasor que deseja guardar arquivos maliciosos no sistema sem alertar o administrador. Pelo fato do diretrio /dev ser um diretrio de dispositivos, qualquer arquivo regular presente em seu contedo pode ser uma evidncia. Uma forma de procurar por arquivos comuns dentro do diretrio /dev atravs do comando find como mostrado na figura 26.

50 #find/devtypef /dev/MAKEDEV
Figura 26: Procurando arquivos regulares dentro de /dev atravs do comando find

No exemplo anterior, o comando find executado em busca de arquivos regulares dentro do diretrio /dev e o nico encontrado foi o MAKEDEV. Este arquivo um script sempre encontrado no /dev, mas ainda assim deve ser verificado sua legitimidade. A presena de outros arquivos alm desse deve ser investigado de forma mais detalhada. Para tentar enganar os administradores, os atacantes criam arquivos e diretrios ocultos ou no usuais para esconder suas informaes. Por exemplo, arquivo que contenha espaos em brancos ou pontos. Para contornar esse inconveniente, pode-se utilizar o comando da figura 27.

#lsla|catA
Figura 27: Procurando arquivos ocultos ou com caracteres especiais no nome

O comando cat com o parmetro -A marca o final de linha com o caractere "$"e permite a visualizao dos caracteres especiais. Com isso, fica mais difcil desses arquivos passarem desapercebidos. Aps um sistema ser comprometido, o atacante costuma instalar backdoors para permitir seu retorno ou rootkits para esconder seus rastros. Aes desse gnero precisam adicionar/alterar os executveis ou bibliotecas do sistema. O investigador deve localizar todos os executveis e bibliotecas do sistema, isolar aqueles que julgar suspeitos e examinar cada um para verificar se so legtimos. Um exemplo de como realizar essa tarefa se encontra na figura 28.

#find.typefexecfilezL'{}'';'|grepE'executable|script'
Figura 28: Procurando todos os arquivos executveis do sistema

O comando find do exemplo anterior localiza todos os executveis do sistema. Porm listar os executveis no suficiente. necessrio verificar se os binrios do sistema esto ntegros, pois caso no estejam, possvel que exista algum rootkit ou backdoor instalado. Para verificar a integridade dos binrios do sistema que, em regra, esto localizados no /bin, /sbin, /usr/bin e /usr/sbin, preciso comparar o hash criptogrfico desses arquivos com os binrios originais. Isso pode ser feito manualmente atravs do md5sum. Essa verificao de integridade tambm deve ser realizada nas bibliotecas do sistema que, por padro, ficam localizadas nos diretrios /lib, /var/lib, /usr/lib. Uma das situaes mais complicadas durante o processo de anlise forense em busca de evidncias saber com exatido o que foi modificado no sistema. Porm, com a verificao de integridade consegue-se descobrir isso. Para tal objetivo utilizado uma ferramenta que gera um hash criptogrfico do arquivo e verifica este, com o hash em seu estado confivel. O procedimento pode ser feito manualmente atravs do comando

51 md5sum como na figura 29 abaixo.

#md5sum/etc/shadow a2952be34a21f07b7698413735468fc5/etc/shadow
Figura 29: Verificando a integridade do arquivo /etc/shadow

3.1.8. ANALISANDO OS ARQUIVOS DE LOG


Os arquivos de log potencialmente representam a fonte de informao mais valiosa sobre as atividades do sistema. Tais arquivos podem registrar, entre outras informaes, as atividades dos usurios, dos processos e do sistema, as conexes e atividades da rede, e informaes especcas dos aplicativos e servios. A maioria dos arquivos de log esto localizados em um diretrio comum, o /var/log. Existem algumas observaes importantes, acerca dos arquivos de log, que devem ser consideradas durante a anlise do sistema invadido:

os arquivos de log binrios geralmente contm mais informaes do que mostrado na sada dos programas que os manipulam; a capacidade de log de alguns servios ou aplicativos pode estar desabilitada, ou pode estar configurada para um nvel de detalhes insuficiente; os arquivos de log podem sofrer alteraes deliberadas, principalmente aqueles armazenados em formato texto. Se o atacante conseguir acesso de root no sistema, ele pode facilmente modicar os arquivos de log, removendo, alterando ou acrescentando entradas nos arquivos;

o syslog utiliza um mecanismo no convel para o envio de mensagens de log para uma mquina remota (protocolo UDP), de modo que no h como determinar se a mensagem de log foi realmente recebida pela mquina remota;

a falta de sincronizao dos relgios dos sistemas que utilizam o syslog pode modicar totalmente a ordem dos eventos registrados. O syslog marca as entradas de log recebidas com a data e a hora da mquina onde a entrada ser armazenada, ao invs dos tempos e da mquina que produziu a mensagem de log. Alm disso, mesmo que as mensagens de log sejam armazenadas localmente, o syslog pode introduzir algum atraso entre o tempo em que a mensagem gerada e o momento em que ela gravada no respectivo arquivo de log.

Algumas das principais circunstncias suspeitas encontradas com relao aos arquivos de log so resumidas a seguir:

remoo do arquivo ou redirecionamento para /dev/null; indicaes de modicaes deliberadas nos arquivos de log, como, por exemplo, a primeira entrada de log com data posterior a data esperada para incio do servio de log, perodos de tempo sem qualquer registro, ausncia de alguma mensagem de log especca (de algum servio que certamente deveria estar gerando mensagens de log ou uma mensagem de logout sem o registro de login correspondente, por exemplo), registros com alguma informao inconsistente ou ausente, ou ainda alguma desordenao nos tempos cronolgicos das entradas (as entradas devem ter sempre um

52 incremento maior ou igual a zero nas marcas de tempo);


atividades em horrios ou datas no usuais (datas e horrios sem expediente, por exemplo); logons de origens suspeitas ou no usuais (provenientes de fora da organizao, de outros pases ou de origens conhecidamente mal intencionadas); logons na conta de root provenientes de origens remotas (alguns sistemas so congurados para recusar logons na conta de root que no sejam provenientes do console); tentativas mal sucedidas de login (principalmente se forem vrias); uso no autorizado ou mal sucedido do comando su (principalmente tentando acessar a conta de root); tentativas de acessar o arquivo /etc/passwd (muitos exploits remotos tentam obter uma cpia do arquivo de senhas); erros provenientes de servios de rede (a maioria dos servios de rede produzem mensagens de erro quando so comprometidos pelos atacantes); reboots e shutdowns suspeitos (datas e horrios imprevistos ou no usuais); alteraes indevidas na data e hora do sistema; entradas de log contendo caracteres no usuais, embaralhados ou no legveis, fora do padro normal, podem indicar tentativas de ataques de buer overow; mensagens de servios que deveriam estar desabilitados (conexes com o servio telnet, por exemplo); conexes de rede provenientes de origens desconhecidas ou suspeitas; conexes no intervalo de tempo em que se suspeita ter acontecido a intruso; transmisso de arquivos suspeitos via FTP; requisies de DNS referentes a endereo no pertencente ao domnio do servidor; mensagens de pacotes rejeitados pelo rewall; mensagens de advertncia produzidas pelo sistema de deteco de intruso.

Algumas circunstncias suspeitas podem ser encontradas exclusivamente nos registros de comandos executados pelos usurios (history les), como, por exemplo:

obteno de informaes sobre o sistema (execuo de comandos como ps, ifconfig, netstat, what e visualizao de arquivos de configurao); remoo ou adio no autorizada de usurios; download de arquivos suspeitos ou provenientes de origens suspeitas; criao ou acesso a arquivos e/ou diretrios com nomes pouco comuns; compilao e/ou instalao de programas; execuo de programas no autorizados ou desconhecidos; remoo de arquivos ou diretrios sensveis (arquivos de log ou de congurao, por exemplo).

A anlise dos arquivos de log representa um verdadeiro desao a medida que eles crescem substancialmente.

3.2. CONSIDERAES
Neste captulo foram demonstrados comandos e tcnicas utilizadas para se descobrir o quanto o sistema foi

53 comprometido pela invaso. O trabalho de coleta de dados digitais exige uma ateno especial, pois qualquer erro poder alterar ou destruir as evidncia digitais.

4. PROPOSTA DE ANLISE FORENSE UTILIZANDO SOFTWARE LIVRE


Neste captulo sero apresentadas algumas opes de softwares livres (inclusive em liveCD) que podem ser utilizados para facilitar a investigao forense. Ser apresentado um roteiro detalhado de anlise de um sistema comprometido por meio da utilizao do software autopsy, software livre de fcil compreenso que pode ser utilizado como ferramenta de percia forense.

4.1. LIVE-CD
Live-CD um CD-ROM bootvel contendo o sistema operacional GNU/Linux que funciona diretamente do CDROM sem a necessidade de instalao. J existem muitos live-CD's desenvolvidos para atender quem deseja fazer o processo de anlise computacional forense. Alguns que merecem destaque so: HELIX: uma verso "live-cd" do Knoppix Live Linux CD, que foi especialmente otimizada para percia forense. A figura 30 mostra uma tela do sistema helix em funcionamento. Maiores informaes podem ser obtidas no endereo http://www.e-fense.com/helix/

Figura 30: Helix em funcionamento

PHLAK (figura 31): distribuio bootvel com ferramentas para testes de penetraes ( pentest), auditoria e forense. http://www.phlak.org/

54

Figura 31: PHLAK em funcionamento

SNARL: voltado exclusivamente para a anlise forense e baseado no sistema unix FreeBSD. Exemplo de funcionamento se encontra na figura 32. Para maiores informaes, segue o site do projeto: http://snarl.eecue.com

55

Figura 32: Menu principal do Snarl

The Sleuth Kit (TSK) um conjunto de ferramentas de cdigo aberto e gratuito, capaz de fazer anlise forense em sistemas GNU/Linux e Windows, suportando os sistemas de arquivos: NTFS, FAT, FFS, EXT2FS e EXT3FS. Outra funcionalidade importante a capacidade de ser executada a partir de um live-CD em uma resposta a incidentes de segurana.

possvel tambm que o prprio investigador crie o seu prprio live-CD, baseado na distribuio que tiver mais afinidade, e assim, realizar com confiana seu trabalho investigativo. Para isso, basta procurar no site responsvel pela sua distribuio preferida para obter explicaes de como criar um CD bootvel.

4.2. SOFTWARE LIVRE PROPOSTO 4.2.1. Autopsy Forensic Browser


Autopsy Forensic Browser (AFB) uma ferramenta de cdigo aberto e gratuito, desenvolvida por Brian Carrier, que prov uma interface grfica para o Sleuth Kit em HTML semelhante a um gerenciador de arquivos, exibindo detalhes sobre dados apagados e estruturas de sistemas de arquivos, cujo resultado pode ser acessado de qualquer plataforma utilizando um navegador HTML. O AFB considerado somente uma interface grfica do Sleuth Kit, pois todos os procedimentos realizados em sua interface geram comandos do Sleuth Kit que so interpretados e exibidos novamente pelo AFB. O AFB

56 no necessita que nenhuma ferramenta seja executada anteriormente, podendo trabalhar diretamente sobre parties montadas ou sobre arquivos de imagem gerados com o aplicativo dd. A execuo simples. Depois de instalado basta executar o binrio autopsy que indicar o endereo/porta para ser acessado via browser. Estes dados podem ser padronizados no arquivo de congurao do Autopsy Forensic Browser. O AFB solicita a criao de um novo caso forense ou a abertura de um j existente. Cada caso criado armazenado sob a forma de diretrio para facilitar a busca por auditorias feitas com o Autopsy. Dentro de cada caso deve-se especificar um ou mais hosts que sero subdiretrios dos casos especificando, por exemplo, auditorias em mais de uma mquina em um mesmo processo. Depois disso todos os menus apresentam funcionalidades do Sleuth Kit que ser invocado a cada solicitao na interface web. Os testes sero feitos numa mquina com sistema operacional Debian GNU/Linux. A idia ser criar uma partio com sistema de arquivos fat, mont-la no diretrio /mnt/tmp, criar um arquivo simples e depois apaglo. Com isto teremos uma imagem de uma partio com um arquivo deletado. Com esse procedimento ficar mais fcil de visualizar o arquivo deletado e fica claro a funcionalidade do autopsy. Primeiramente ser necessrio criar uma imagem vazia atravs do comando dd apresentado na figura 33.

root@hades:~#ddif=/dev/zeroof=virt_disk.imgbs=1024count=40000 40000+0recordsin 40000+0recordsout 40960000bytes(41MB)copied,0.282146seconds,145MB/s


Figura 33: Criando a partio

Depois de alocar o espao da imagem, necessrio formatar a imagem, no caso o mkfs.vfat far o trabalho criando o sistema de arquivos vfat como demonstrado na figura 34.

root@hades:~#mkfs.vfatvirt_disk.img mkfs.vfat2.11(12Mar2005)
Figura 34: Criando o sistema de arquivos na imagem

Na figura 35 tem-se a montagem da nova imagem em /mnt/tmp para que um arquivo seja gravado dentro da imagem.

root@hades:~#mountoloopvirt_disk.img/mnt/tmp/
Figura 35: Montando a imagem em /mnt/tmp

Com a imagem montada criamos um arquivo simples contendo a sada do comando dmesg e sincronizamos o

57 disco para termos certeza de que o arquivo foi gravado como na figura 36.

root@hades:~#dmesg>/mnt/tmp/dmesg.txt root@hades:~#sync
Figura 36: Criando um arquivo qualquer na imagem

Para verificar as informaes do novo arquivo criado usamos o comando stat (figura 37) que apresenta dados sobre o inode do arquivo.

root@hades:~#stat/mnt/tmp/dmesg.txt File:`/mnt/tmp/dmesg.txt' Size:56386Blocks:112IOBlock:2048regularfile Device:700h/1792dInode:855Links:1 Access:(0755/rwxrxrx)Uid:(0/root)Gid:(0/root) Access:2007032418:38:13.0000000000300 Modify:2007032418:38:13.0000000000300 Change:2007032418:38:13.0000000000300


Figura 37: Verificando informaes sobre o novo arquivo criado

Depois de verificar anteriormente que o arquivo realmente existe o prximo passo apag-lo como na figura 38, pois esse arquivo deletado ser nosso objeto de estudo.

root@hades:~#rmi/mnt/tmp/dmesg.txt rm:removeregularfile`/mnt/tmp/dmesg.txt'?y
Figura 38: Apagando o arquivo criado anteriormente

Atravs do comando stat verifica-se que o arquivo no existe mais no disco como no exemplo da figura 39.

root@hades:~#stat/mnt/tmp/dmesg.txt stat:cannotstat`/mnt/tmp/dmesg.txt':Nosuchfileordirectory
Figura 39: Verificando se o arquivo foi realmente apagado

Neste ponto pode-se desmontar a imagem usando o comando umount como na figura 40.

root@hades:~#umount/mnt/tmp/
Figura 40: Desmontando a imagem

Aps este pequeno trabalho, vamos instalar e rodar o autospy no GNU/Debian. Para instalar pode-se usar o

58 programa apt-get como mostrado no figura 41.

#aptgetinstallautopsy
Figura 41: Instalando o autopsy no Debian

Aps a instalao, necessrio rodar o autopsy na linha de comando. Na tela ir aparecer as informaes de como acessar o autospy via browser atravs da porta 9999. As telas que se seguem mostram o funcionando do autospy usando a imagem que criamos anteriormente. Um caso ser criado para gravar as informaes da investigao. Depois a imagem ser adicionada ao caso (note que mais de uma imagem pode ser adicionada) e a partir dela poderemos fazer a anlise do arquivo deletado do exemplo anterior.

A figura 42 mostra a tela do autopsy quando esse carregado. Este comando necessrio para que se possa usar o autopsy atravs do browser:

Figura 42: Tela de execuo do autopsy

Na figura 43 temos a tela inicial do autopsy no browser. Apartir dessa tela possvel criar um novo caso para a investigao do arquivo deletado que trabalhamos anteriormente.

59

Figura 43: Tela inicial do autopsy

A tela da figura 44 mostra que o caso foi criado com sucesso e onde os dados sero gravados. O autopsy cria um diretrio para cada caso. Logo abaixo ela solicita que um host seja adicionado ao caso.

Figura 44: Criando um novo caso

60 A figura 45 abaixo mostra as informaes necessrias para se criar um novo caso. Dados como nome do caso, descrio e quais sero as pessoas envolvidas sero solicitados.

Figura 45: Informando que o caso foi criado com sucesso e solicitando um host

Ao adicionar um host um nome ser solicitado e uma descrio pode ser informada permitindo que o investigador posso consultar rapidamente do que se trata esse host. Outras informaes podem ser colocadas como o timezone e um ajuste do clock em segundos tambm pode ser feito. Alm disso pode ser feito um hash do banco de dados com arquivos bons e ruins como na figura 46.

61

Figura 46: Adicionando um host ao caso

O prximo passo aps criar o caso informar qual mquina ( host) ser analisada. O host adicionado e o autopsy cria um subdiretrio para ele dentro do diretrio principal do caso como ilustrado na figura 47.

62

Figura 47: Solicitando uma imagem para ser analisada

O prximo passo informar a localizao de uma ou mais imagens que sero analizadas e se essa imagem um disco ou uma partio de um disco. Em relao ao mtodo, possvel adicionar a imagem ao caso de 3 formas:

criar um link simblico apontando para a real localizao da imagem; fazer uma cpia da imagem para dentro do diretrio onde se encontra as informaes do caso; mover a imagem para dentro do diretrio onde se encontra o caso (em relao a esse ltimo mtodo uma nota apresentada na tela porque ao mover a imagem os dados podem ser corrompidos.

A figura 48 mostra estas informaes.

63

Figura 48: Informando onde se encontra a imagem

Na figura 49 temos detalhes sobre a imagem selecionada. Pode-se usar um hash pra verificar a integridade da imagem e qual o seu sistema de arquivos. Depois dessas informaes pode-se adicionar a imagem ao caso.

64

Figura 49: Informando detalhes a respeito da imagem selecionada

A figura 50 mostra que a imagem foi adicionada com sucesso e que os dados j podem ser acessados.

Figura 50: A imagem foi adicionada ao caso

Neste momento j temos informaes que podem ser analisadas. Se mais de uma imagem for adicionada, deve-se selecionar qual imagem deseja-se analisar. Em nosso exemplo iremos analisar a situao dos arquivos da imagem, se algo foi apagado ou modificado recentemente. A figura 51 mostra a lista de imagens que forma adicionadas ao autopsy.

65

Figura 51: Informaes sobre a imagem do caso

Na figura 52 temos a tela inicial do File Activity Timelines. Dois passos sero necessrios nesse momento: - criar o arquivo de dados, - criar o timeline do arquivo de dados.

Figura 52: Gerando banco de dados de acesso ao sistema de arquivos da imagem

Nesse momento, escolhe-se em qual imagem os dados sero buscados e quais tipos de dados sero selecionados como na figura 53.

66

Figura 53: Selecionando qual imagem ser usada para criar o banco de dados

Na tela da figura 54 determina-se entre qual intervalo de data os dados sero buscados e decide-se o nome que ser usado pro arquivo de timeline. No caso abaixo foi colocado timeline.txt.

67

Figura 54: Gerando a lista de acesso ao sistema de arquivos

Na figura 55 temos uma tela mostrando que o arquivo foi criado com sucesso e qual ser sua localizao dentro do disco do investigador.

68

Figura 55: Informaes sobre o processo

A seguir na figura 56 temos o histrico dos acessos ao sistema de arquivos da imagem. Inclusive informaes sobre o arquivo deletado no incio desse captulo.

Figura 56: Histrico de acesso ao sistema de arquivos

Em seguida, pode-se analizar mais a fundo a respeito do arquivo deletado atravs da opo anlise demonstrado na figura 57.

69

Figura 57: Anlise do sistema de arquivos

Na figura 58 temos as informaes completas e detalhadas do arquivo que foi deletado.

Figura 58: Exemplo de arquivo deletado

O exemplo acima foi para ilustrar o funcionamento do autopsy. Como esperado, ele extremamente simples para se trabalhar e possui um histrico de todas as investigaes feitas, facilitando o retorno as informaes extradas. Mais informaes a respeito do autopsy podem ser encontradas na pgina: http://www.sleuthkit.org/autopsy/.

70

4.3. CONSIDERAES
Neste captulo foram demonstrados softwares livres que permitem facilitar a percia forense, pois para fazer a anlise forense necessrio que o investigador tenha a sua disposio um conjunto de ferramentas que ele utilize para coletar, documentar, preservar e processar as informaes provenientes do sistema investigado.

71

5. CONSIDERAES FINAIS E TRABALHOS FUTUROS

A Informao, cada vez mais, se consolida como um elemento estratgico, altamente valioso, que precisa ser cuidadosamente administrado no mbito das corporaes. Nesse contexto, existe uma preocupao constante em se desenvolver mecanismos de autenticao de usurios de computadores e controle de acesso aos dados armazenados. Infelizmente, aqueles que cometem crimes no esto alheios a revoluo computacional que tem ocorrido nas ltimas dcadas. Um nmero crescente de criminosos fazem uso de pagers, telefones celulares, computadores laptop e servidores de rede no curso de suas atividades ilcitas. O aumento dramtico em crimes relacionados com computadores requer que os organismos policiais invistam em novas tcnicas de abordagem e combate aos crimes, atravs de treinamentos constantes e parcerias com entidades tcnicocientcas, a m de se entender como obter e utilizar evidncias eletrnicas armazenadas em computadores. Registros eletrnicos, como arquivos de log de redes de computadores, correspondncias eletrnicas, arquivos de texto e de imagem, provm evidncias importantes (as vezes essenciais) em algumas investigaes criminais. A forense computacional, por ser um ramo da criminalstica bastante recente e relacionado a uma das reas cientcas que mais evolui atualmente, requer ateno especial. Alm disso, a crescente utilizao de computadores em atividades criminosas fundamenta tal necessidade de desenvolvimento, no sentido de se ampliar o uso de evidncias digitais no amparo justia. Esse trabalho busca contribuir para a ampliao dos estudos e desenvolvimento cientfico na rea da forense computacional. Foram apresentadas vrias fontes de informao de um sistema computacional, detalhando as tcnicas de extrao dos dados e as principais evidncias comumente encontradas, fornece um guia prtico para aqueles que esto se iniciando na rea. Alm disso, a apresentao de diversos comandos (com exemplos prticos) permite orientar o investigador na escolha e manipulao de seus utilitrios de anlise. Nesse momento, fica uma questo a ser discutida: vivel fazer uma percia forense em mquinas de empresas particulares que foram invadidas? Novamente deve-se levar em conta quo importante a informao que foi violada e como esta foi violada. Se estamos falando de roubo de informao talvez seja necessrio uma percia para se buscar quem acessou informao confidencial e levar justia (e por causa disso o trabalho do investigador tem que ser perfeito no intuito de no deixar dvidas quanto a validade do resultado da percia apresentado) para que as punies cabveis sejam realizadas. Cada caso de crime digital deve ser analisado para verificar a viabilidade da percia, pois dependendo da importncia dos dados invadidos e da necessidade de continuidade dos sistemas que funcionavam no computador invadido, pode no ser vivel fazer a percia, pois os prejuzos causados pela interrupo dos servios podem ser maiores. Dessa forma, a melhor alternativa ser a reinstalao do computador invadido.

72 Tudo na informtica relativo e cabe ao administrador da rede decidir o melhor caminho a ser tomado diante de cada situao apresentada pelo dia a dia da organizao. O objetivo desse estudo apresentado foi tentar demonstrar de forma simples algumas ferramentas comuns que, se j no se encontram nos sistemas, podem rapidamente serem instaladas e usadas no intuito de facilitar e agilizar a pessoa que ir investigar a mquina invadida. Em trabalhos futuros, pretende-se desenvolver estudos especcos sobre ferramentas j existentes que auxiliam na forense computacional sob a tica da produtividade e desenvoltura por parte dos investigadores no intuito de se criar um cd que possa atender as vrias necessidades encontradas para se fazer um diagnstico da mquina invadida. Alm disso, pretende-se retomar a discusso sobre poltica de segurana, no intuito de dificultar a invaso do sistema.

73

REFERNCIA BIBLIOGRFICA

ASSOCIAO BRASILEIRA DE NORMAS TCNICAS. NBR ISO/IEC 17799: Tecnologia da informao Tcnicas de Segurana Cdigo de prtica para a gesto da segrurana da informao. Rio de Janeiro, 2005. ACPO: Crime Committe. Good practices guide for computer based evidence. Association of Chief Police Officers of England. Wales and Northern Ireland, 1999. ARCE, I. & LEVY, E. An Analysis of the Slapper Worm. In IEEE Security and Privacy. Vol. 1. N. 1. ANDERSON, J. P. Computer Security Threat Monitoring and Surveillance. James P. Anderson Co, Fort Washington, 1980. Disponvel em: <http://csrc.nist.gov/publications/history/ande80.pdf>. Acesso em: 17 ago. 2006. CASEY, E. Digital Evidence and Computer Crime. Academic Press, San Diego, California, 2000. CASTRO, C. R. Crimes de Informtica e seus Aspectos Processuais, 2003. CHAVES, M. H. Anlise de estado de trfego de redes TCP/IP para aplicao em deteco de intruso, 2002. CERT Coordination Center. Denial of Service Attacks. Disponvel em: <http://www.cert.org/tech_tips/denial_of_service.html>. Acesso em: 12 ago. 2006. CDIGO PENAL. Disponvel em: <http://www.presidencia.gov.br>. Acesso em: 12 ago. 2006. CYCLADES, Guia Linux de Conectividade Cyclades Brasil, 2003 vrios autores. DHANJANI, N. & CLARKE, J. Network Security Tools. O'Reilly, 2005 ESPINDULA, A. Funo pericial do estado. Disponvel em <http://www.espindula.com.br>. Acesso em: 13 ago. 2006 FARMER, D. & VENEMA, W. Computer Analysis: An Introduction. Disponvel em: <http://www.ddj.com/184404242>. Acesso em: 05 jun. 2006 GARFINKEL, S. & SPAFFORD, G. Practical UNIX and Internet Security. O'Reilly & Associates, Sebastopol,

74 1996. GEUS, P. L. & REIS, M. A. Anlise forense de intruses em sistemas computacionais: tcnicas, procedimentos e ferramentas. Anais do I Seminrio Nacional de Percia em Crimes de Informtica. Macei. AL, 2002. HONEYNET Project, The study of an attack. Disponvel em: <http://www.honeynet.org/papers/forensics> Acesso em: 11 ago. 2006 HOSMER, C., FELDMAN, J. & GIORDANO, J. Advancing crime scene computer forensic techniques. WetStone Technologies Inc, 2000. HOUSEHOLDER, A., HOUSE, K. & DOUGBERTY, C. Computer Attack Trends Challenge Internet Security. In Security & Privacy Magazine Suplement to IEEE Computer Magazine, 2002. KUROSE, J. F. & ROSS, K. W. Redes de computadores e a Internet: Uma nova abordagem. AddisonWesley, 2001. LEGISLAO BRASILEIRA. Disponvel em: <http://www.planalto.gov.br>. Acesso em: 25 jul. 2006. LEIMKUELLER, H. Computer evidence. Analysis and recovery of magnetic storage media data. Technical Research and development group. Germany. IEEE, 1995. LSOF. Disponvel em: <http://freshmeat.net/pro jects/lsof>. Acesso em: 20 jul. 2006. MANDIA, K. & PROSISE, C. Incident Response: Investigating Computer Crime. McGraw-Hill. Berkeley, 2001. NETCAT. Disponvel em: <http://netcat.sourceforge.net>. Acesso em: 10 ago. 2006 NIST. National Institute of Standards and Technology. Disponvel em <http://nist.gov>. Acesso em: 28 jun. 2006.

NORTHCUTT, S., FEARNOW, M. & COOPER, M. Intrusion Signatures and Analysis, Sams, 2001. NOBLETT, M., POLLITT, M. & PRESLEY, L. (2000). Recovering and Examining Computer Forensic Evidence. Disponvel em: <http://www.fbi.gov/hq/lab/fsc/backissu/oct2000/computer.htm>. Acesso em: 15 jun. 2006. NOVO CDIGO CIVIL. Disponvel em: <http://www.presidencia.gov.br/ccivil_03/LEIS/2002/L10406.htm>. Acesso em: 10 de jun. 2006.

75 PALMER, G. A Road Map for Digital Forensic Research. In: Digital Forensic Research Workshop (DFRWS). Report. 2001. RUFINO, N. M. Segurana Nacional. Tcnicas e ferramentas de ataque e defesa de redes de computadores. Novatec, 2001.

SPAFFORD, E. H. The Internet Worm Program: An Analysis. Purdue Technical Report CSD-TR-823 -1988 STEPHENSON, P. Investigating Computer-related Crime. CRC Press. Boca Raton, 2000. SILBERSCHATZ, A. & GALVIN, P. Operating System Concepts. John Wiley & Sons, 1998. SWGDE, SCIENTIFIC WORKING GROUP ON DIGITAL EVIDENCE & INTERNATIONAL ORGANIZATION ON DIGITAL EVIDENCE (IOCE). Digital Evidence: Standards and principles. Forensic Science Communucations. U. S. Department of Justive. FBI, 2000. VMWARE. Disponvel em: <http://www.vmware.com>. Acesso em: 05 jul. 2006. WARNEN, G., JAY, G. Computer Forensics: Incident Response Essentials. Addison-Wesley,

Massachusetts, 2002.

76

ANEXO
LEGISLAO BRASILEIRA
Recentemente tem havido muita discusso sobre a atual legislao brasileira e os crimes computacionais. Grande parte das tarefas do nosso dia a dia so transportadas para a rede mundial de computadores, ocasionando fatos e conseqncias, jurdicas e econmicas, assim como ocorre no mundo fsico. Por exemplo, a aplicao das normas comerciais e de consumo nas transaes via Internet, a questo do recebimento indesejado de mensagens por e-mail (spam), a validade jurdica do documento eletrnico, a privacidade e os crimes de informtica. Entende-se por crime de informtica, crime computacional ou crime digital, qualquer ao em que o computador seja o instrumento ou o objeto do delito, ou ento, qualquer delito ligado ao tratamento automtico de dados. A legislao brasileira pode e vem sendo aplicada na maioria dos problemas relacionados rede. O primeiro artigo do cdigo penal diz que: Art. 1o - No h crime sem lei anterior que o defina. No h pena sem prvia cominao legal (CODIGO PENAL, 2006). Ou seja, se no existe uma lei para definir que tipo de ao infrao, ento no existe crime. Grande engano aqueles que acreditam que por no existirem leis especficas para os crimes digitais, eles ficaro impunes. Delitos cometidos como transferncia bancria ilegal pela Internet um crime de furto j previsto pelo atual Cdigo Penal. A nica diferena o meio em que foi realizado, que um novo meio de comunicao. Porm, existe a necessidade de leis que tratem essa nova modalidade de conduta delituosa, para que os advogados busquem a correta tipicidade dentro da legislao, como estabelecer regras acerca da inviolabilidade do sigilo de dados, da valia do e-mail como prova e as conseqncias de sua interceptao, entre outros. O principal problema dos crimes cometidos pela Internet achar o verdadeiro culpado, j que a Internet facilita a anonimidade com provedores que no armazenam registros informando a relao de mquina-IP (Internet Protocol) ou atravs de proxy annimos. Com o advento da Internet, surgiu a possibilidade de uma pessoa estar em um lugar e cometer o crime em outro. Por exemplo, uma pessoa pode estar no Brasil e praticar uma atividade ilcita, como jogos de azar, em um pas da Europa. No Brasil isso tratado pela teoria da ubiquidade, acolhida pelo sexto artigo do Cdigo Penal: Art. 6o - Considera-se praticado o crime no lugar em que ocorreu a ao ou omisso, no todo ou em parte, bem como onde se produziu ou deveria produzir-se o resultado. (CODIGO PENAL, 2006). Para que a jurisdio seja exercida, as autoridades brasileiras explicam que suficiente que o crime tenha

77 "tocado" o territrio brasileiro, e que para esta finalidade basta que parte da conduta criminal ou o resultado tenha ocorrido em territrio brasileiro.

Classicao dos Crimes de Informtica


Os crimes de informtica devem ser classicados quanto ao objetivo material, e no ao simples fato do uso de computador ser considerado indiferente ao direito penal. Eles podem ser de trs modalidades (CASTRO, 2003):

Crime de informtica puro


Toda e qualquer conduta que vise exclusivamente violar o sistema de computador, pelo atentado fsico ou tcnico ao equipamento e seus componentes, inclusive dados e sistemas. As aes fsicas se materializam, por exemplo, por atos de vandalismos contra a integridade fsica do sistema, pelo acesso desautorizado ao computador, pelo acesso indevido aos dados e sistemas contidos no computador.

Crime de informtica misto


So todas as aes em que o uso do sistema de computador condio essencial para efetivao de um crime. Por exemplo, para realizar operaes de transferncia bancria ilcitas pela Internet, imprescindvel o uso do computador para a sua consumao, sendo classicado assim como um crime de informtica misto.

Crime de informtica comum


So todos aqueles em que o sistema de computador uma mera ferramenta para cometer um delito j tipificado na lei penal. Se antes, por exemplo, o crime como pornografia infantil era feito por meio de vdeos ou revistas, atualmente, se d por troca de fotos via e-mail e divulgao em sites. Mudou a forma, mas a essncia do crime permanece a mesma.

Leis
Embora ainda no existam leis especficas para os crimes digitais atualmente, j existem leis vigentes criadas para acompanhar essa revoluo tecnolgica que est acontecendo. Merecem destaque:

Novo Cdigo Civil (Lei no 10.406)


O novo Cdigo Civil no traz nenhum artigo que remeta s aes praticadas pela Internet mas, em compensao, alguns dos novos artigos podem gerar interpretaes que iro afetar o meio eletrnico, como: Art. 225. As reprodues fotogrficas, cinematogrficas, os registros fonogrficos e, em geral, quaisquer outras reprodues mecnicas ou eletrnicas de fatos ou de coisas fazem prova plena destes, se a parte, contra quem forem exibidos, no lhes impugnar a exatido (NOVO CODIGO CIVIL, 2006). Entretanto, necessrio que seja aplicada alguma tecnologia no documento para garantir sua integridade e

78 autenticidade, pois sem isso, a parte contrria pode contestar a veracidade da prova.

Medida Provisria 2.200-2


Institui a Infra-Estrutura de Chaves Pblicas Brasileira - ICP-Brasil, concedendo autonomia ao Instituto Nacional de Tecnologia da Informao, entre outras providncias. Art. 1o Fica instituda a Infra-Estrutura de Chaves Pblicas Brasileira - ICP-Brasil, para garantir a autenticidade, a integridade e a validade jurdica de documentos em forma eletrnica, das aplicaes de suporte e das aplicaes habilitadas que utilizem certificados digitais, bem como a realizao de transaes eletrnicas seguras (LEGISLAO BRASILEIRA, 2006). Essa medida provisria reconhece a assinatura digital baseada na criptografia assimtrica de chave pblica e privada para garantir a identificao e a integridade dos documentos eletrnicos, desde que a chave pblica esteja em uma autoridade certificadora. No impedida a utilizao de outro meio de comprovao da autoria e integridade de documentos em forma eletrnica, inclusive os que utilizem certificados no emitidos pela ICP-Brasil, conforme o segundo pargrafo do dcimo artigo.

Lei 9.296/96
a primeira lei especfica para o meio digital e trata, basicamente, do sigilo das transmisses de dados. O fluxo de comunicaes em sistemas de informtica e telemtica podem ser interceptados somente com autorizao da justia. O segundo artigo desta lei diz que no ser admitida a interceptao desse fluxo de comunicao se (LEGISLAO BRASILEIRA, 2006):

No houver indcios razoveis da autoria ou participao em infrao penal; A prova puder ser feita por outros meios disponveis; O fato investigado constituir infrao penal punida, no mximo, com pena de deteno.

Sendo constitudo crime a interceptao de comunicaes telefnicas, de informtica ou telemtica sem autorizao judicial ou com objetivos no autorizados em lei, alm da quebra de segredo da justia.

Lei 9.983/00
Considera como crime o ato de divulgar, sem justa causa, informaes sigilosas como senhas ou dados pessoais de clientes, por exemplo, contido ou no nos sistemas de informao. Ento a publicao de dados reservados, assim definidos por lei, pela Internet ou qualquer outro, um sistema de informao e infringe a Lei com uma pena de at 4 anos de deteno. Tambm crime, de acordo com a Lei 9983/00 (LEGISLAO BRASILEIRA, 2006), a insero, modicao ou alterao no autorizada de sistema de informaes ou banco de dados.

79

Lei 9.800/99
Essa Lei de 1999, revela que o Brasil est tentando acompanhar o progresso cientfico e o avano tecnolgico ao permitir s partes a utilizao de sistema de transmisso de dados e imagens, para a prtica de atos processuais, como o envio de peties via correio eletrnico(e-mail) ao Poder Judicirio. Isso implica mais comodidade e economia de tempo no envio de peties aos Tribunais de Justia. Entretanto, de acordo com o artigo 4o , quem fizer uso de sistema de transmisso torna-se responsvel pela qualidade e fidelidade do material transmitido, e por sua entrega ao rgo judicirio (LEGISLAO BRASILEIRA, 2006).