Prévia do material em texto
Centro Universitário de Brasília – UNICEUB FATECS – Faculdade de Tecnologia e Ciências Curso de Engenharia da Computação Disciplina: Projeto Final Prof. Francisco Javier LUIS GUSTAVO SANTOS FERNANDEZ ANÁLISE FORENSE DE INTRUSÕES EM SISTEMAS COMPUTACIONAIS Brasília / DF 1º Semestre de 2009 II LUIS GUSTAVO SANTOS FERNANDEZ ANALISE FORENSE DE INTRUSÕES EM SISTEMAS COMPUTACIONAIS Monografia apresentada ao Curso de Engenharia da Computação, como requisito parcial para obtenção do grau de Engenheiro de Computação. Orientador: Marco Antonio Araújo . Brasília / DF 1º Semestre de 2009 III Resumo Este trabalho tem como objetivo desenvolver uma metodologia forense para coleta e análise de dados de intrusões digitais, que consiste no uso de um protótipo que por meio do levantamento de evidências criminais seja capaz de indiciar um indivíduo judicialmente. A análise forense em sistemas computacionais tem como objetivo buscar provas de evidências após uma intrusão ao sistema. Essas provas podem ser usadas como evidências judiciais e assim indiciar uma pessoa judicialmente. A construção de uma arquitetura computacional específica permite levantar essas evidências e minimizar as intrusões digitais. Palavras-chave: Intrusão, intruso, forense, segurança, prevenção, detecção, metodologia, captura, armazenamento, análise. IV Abstract The present work main objective is develop a forensic methodology for collection and analysis of data of digital intrusions, what consists in the use of a prototype that through the lifting of you show up you criminate that it is able to charge an individual judicially. The forensic analysis in computational systems has as objective looks for proofs of you show up after an intrusion to the system. These proofs can be used as you show up that you judge, and show up that you criminate to charge a person judicially. The construction of a specific computer architecture allows us to raise these criminal evidence and minimize intrusion digital. Keywords: Intrusion, intruder, forensic, security, prevention, detection, methodology, capture, storage, analysis. V Eu dedico esse trabalho especialmente a minha mãe, Miriam dos Anjos Santos, que sempre esteve do meu lado, sempre insistindo e apoiando minha caminhada. VI Agradecimentos Agradeço preferencialmente aos meus familiares que sempre me apoiaram incondicionalmente e sempre pacientes. Agradeço aos meus amigos que sempre estão ao meu lado nos momentos bons e ruins, sempre me apoiando e me dando forças para seguir meu caminho em frente. Além de agradecer aos meus amigos não posso esquecer-me de citar grandes pessoas, amigos e irmãos que sempre estarão ao meu lado na luta do dia a dia são eles Adriel Kendrick de Melo, Eduardo Moreira Braga Neto, Felipe Kladi Gonçalves, Rômulo Cavalcante Pessoa e Thiago Edecio Galitezi. Agradeço ao meu pai, José Luiz Rozatto Fernandez, por me ajudar especialmente nessa monografia com o seu empenho de ver seu filho se formando. Agradecimento em especial para duas pessoas que estiveram sempre ao meu lado. Quero que seu caminho seja iluminado com brilho forte feito pelo sol do amanhecer, vamos tocar a vida com cuidado não quero ver nada de ruim acontecer. E finalmente agradeço a todos que estavam me acompanhando nessa jornada nesses últimos meses e que sentiram a minha falta nas atividades de companheirismo e brincadeiras. VII Sumário 1 INTRODUÇÃO .................................................................................................. 14 1.1 Estrutura do Trabalho ........................................................................................ 15 2 O INTRUSO E A INTRUSÃO ............................................................................ 16 2.1 O intruso ............................................................................................................ 16 2.1.1 Tipos de intruso ............................................................................................. 17 2.2 A intrusão .......................................................................................................... 18 2.2.1 Método de operação do atacante .................................................................. 20 2.2.1.1 Negação de serviço (DoS) ......................................................................... 20 2.2.1.2 Sniffing ....................................................................................................... 23 2.2.1.3 Engenharia Social ...................................................................................... 24 2.2.1.4 Spoofing ..................................................................................................... 25 2.2.1.5 Cavalo de Tróia .......................................................................................... 27 2.3 Crescimento dos Ataques ................................................................................. 28 3 A ANÁLISE FORENSE ...................................................................................... 31 3.1 Análise Forense Computacional ........................................................................ 31 3.2 Análise Física .................................................................................................... 32 3.3 Análise Lógica ................................................................................................... 33 4 METODOLOGIAS ESTUDADAS ....................................................................... 34 4.1 Metodologia da Polícia Civil do Distrito Federal ................................................ 34 4.1.1 Preservação do Sistema ................................................................................ 35 4.1.1.1 Preservação de Sistemas Computacionais Ligados .................................. 36 4.1.1.2 Preservação de Sistemas Computacionais Desligados ............................. 37 4.1.2 Coleta de Evidências ..................................................................................... 38 4.1.3 Análise de evidências .................................................................................... 39 4.1.3.1 Análise ao Vivo ........................................................................................... 39 VIII 4.1.3.2 Análise Post Mortem .................................................................................. 40 4.1.4 Reconstrução dos Eventos ............................................................................ 42 4.2 Metodologia do Departamento de Justiça norte americano (U.S Departament of Justice) ..................................................................................................................... 43 4.2.1 Segurança e Avaliação do Local do Crime .................................................... 44 4.2.1.1 Documentação do Local do Crime ............................................................. 45 4.2.2 Preservação do Sistema ................................................................................ 45 4.2.2.1 Preservação em Ambiente de Complexidade Baixa .................................. 45 4.2.2.2 Preservação em Ambiente de Complexidade Alta ..................................... 46 4.2.3 Análise das Evidências .................................................................................. 47 4.2.3.1 Análise dos Dados Extraídos ..................................................................... 48 4.2.3.2 Análise Timeframe .....................................................................................48 4.2.3.3 Análise em Dados Ocultos ......................................................................... 48 4.2.3.4 Análise em Arquivos e Aplicação ............................................................... 49 4.2.3.5 Análise Propriedade e Posse ..................................................................... 49 4.2.4 Armazenamento ............................................................................................. 50 4.3 Análise das metodologias .................................................................................. 52 5 METODOLOGIA PROPOSTA ........................................................................... 55 5.1 Preservação do sistema .................................................................................... 56 5.2 Coleta das informações ..................................................................................... 57 5.2.1 Imagem do Disco ........................................................................................... 59 5.2.2 Gerando a imagem ........................................................................................ 61 5.3 Análise das evidências ...................................................................................... 63 5.3.1 Memória Principal do Sistema ....................................................................... 64 5.3.2 Tráfego de rede ............................................................................................. 66 5.3.3 Processos em execução ................................................................................ 68 5.3.4 Interface e conexões de rede ........................................................................ 70 IX 5.3.5 Módulos de Kernel ......................................................................................... 71 5.3.6 Dispositivos de armazenagem secundária .................................................... 72 5.3.6.1 Analisando sistema de arquivos ................................................................. 72 5.3.6.2 Arquivos de configuração ........................................................................... 73 5.3.6.3 Diretórios temporários ................................................................................ 73 5.3.6.4 Diretório de arquivos de dispositivos .......................................................... 74 5.3.6.5 Arquivos e diretórios escondidos ou não usuais ........................................ 74 5.3.6.6 Executáveis e bibliotecas ........................................................................... 75 5.3.6.7 Arquivos de log ........................................................................................... 76 5.4 Documentação .................................................................................................. 78 6 ESTUDO DE CASO .......................................................................................... 81 6.1 Ferramenta utilizada .......................................................................................... 81 6.2 Objeto investigado ............................................................................................. 82 6.3 Utilização da metodologia proposta ................................................................... 83 6.4 Resultados obtidos ............................................................................................ 87 7 CONCLUSÃO .................................................................................................... 89 7.1 Trabalhos futuros ............................................................................................... 90 REFERÊNCIAS ........................................................................................................ 91 X Índice de Tabelas Tabela 1 – Relacionamento das metodologias estudadas ....................................... 54 Tabela 2 – Comando PsList.exe, relacionamento dos parâmetros .......................... 68 Tabela 3 – Informações contidas em sistema de arquivos ....................................... 73 Tabela 4 – Principais arquivos de log, sistemas GNU/Linux. ................................... 76 XI Índice de Figuras Figura 1 – Ataque DoS ............................................................................................. 21 Figura 2 - Ataque DDoS ........................................................................................... 21 Figura 3 – Ataque Smurf ........................................................................................... 23 Figura 4 – Ataque Sniffing, captura de dados. .......................................................... 24 Figura 5 – Troca de mensagens SYN ACK .............................................................. 26 Figura 6 – Ataque Spoofing ...................................................................................... 26 Figura 7 - Esquema trojan ........................................................................................ 27 Figura 8 – Dump de memória ................................................................................... 65 Figura 9 – Captura do trafego de rede pelo Wireshark ............................................. 67 Figura 10 – Ferramenta PsList, utilizando argumento -M ......................................... 69 Figura 11 – Comando NETSTAT, utilizando o argumento -AN ................................ 71 Figura 12 – Comando cat, utilizando o argumento -A............................................... 75 Figura 13 – Diretivas de segurança, sistema Windows ............................................ 77 Figura 14 – Partições do objeto investigado ............................................................. 82 Figura 15 – Resumo da geração da imagem ............................................................ 84 Figura 16 – Analisando o sistema de arquivos ......................................................... 85 Figura 17 – Setor de Boot do NTFS. ........................................................................ 87 XII Índice de Fluxogramas Fluxograma 1 – Metodologia PCDF ......................................................................... 35 Fluxograma 2 – Estado inicial do sistema, ligado ..................................................... 36 Fluxograma 3 – Estado inicial do sistema, desligado ............................................... 37 Fluxograma 4 – Metodologia proposta ..................................................................... 56 XIII Índice de Gráficos Gráfico 1 – Total de incidentes reportados ao CERT ............................................... 28 Gráfico 2 – Gráfico de Ataque Acumulado, reportados ao CERT ............................. 29 Gráfico 3 – Tipos de Ataque Acumulado, reportados ao CERT ............................... 29 Gráfico 4 – Origem de Ataques, reportados ao CERT ............................................. 30 Gráfico 5 – Softwares instalados no Objeto investigado........................................... 83 14 1 INTRODUÇÃO A Tecnologia da Informação (T.I) avançou rapidamente em pouco tempo. As instituições estão utilizando esses recursos tecnológicos para melhorar as operações empresarias e indiretamente o mercado. Por meio dessas tecnologias é possível realizar, por exemplo, pagamentos bancários e a venda e compra de objetos e mantimentos, de forma digital. Por outro lado, uma vasta quantidade de dados sensíveis e confidenciais pode cair em mãos maliciosas aumentando o número de criminosos que utilizam computadores ou servidores de rede em suas atividades ilícitas. A importância do uso doscomputadores na vida cotidiana é inegável, mas, por outro lado, pode prover meios para a consumação de um crime virtual, como obtenção de informação sigilosa e confidencial de sistema empresarial ou pessoal. O combate aos crimes relacionados à tecnologia da informação requer o desenvolvimento de novas táticas e técnicas que visem obter evidências digitais armazenadas em um computador. Toda investigação, mesmo que não seja para iniciar um processo criminal, deve considerar como prática comum o uso de metodologias e protocolos que garantam sua possível aceitação em uma corte judicial [WARREN; KRUSE, 2002]. Além disso, conduzir o caso com a formalidade de um processo criminal ajuda a desenvolver bons hábitos de investigação. Sob essa perspectiva foi desenvolvida, neste trabalho, uma metodologia para a investigação forense de intrusões digitais em sistemas computacionais, visando fornecer procedimentos válidos e confiáveis que possibilitam adquirir evidências digitais em atividades ilícitas. A metodologia proposta tem por base aquelas utilizadas pela Polícia Civil do Distrito Federal e pelo Departamento de Justiça norte americano (U.S Departament of Justice), sendo estruturada por procedimentos de preservação do sistema, coleta de dados, análise forense e documentação. 15 1.1 Estrutura do Trabalho Além do capítulo introdutório e conclusão, o trabalho está estruturado em mais cinco capítulos, assim descritos: • Capítulo 2 – O intruso e a Intrusão: apresenta os conceitos teóricos, os diversos tipos de intruso e alguns tipos de intrusão realizada pelo intruso; • Capítulo 3 – A Análise Forense: conceitua a análise forense computacional (análise física e lógica); • Capítulo 4 – Metodologias Estudadas: apresenta as duas metodologias que serviram de base para a metodologia proposta neste estudo ([SHIMABUKO, 2009]; [CASEY, 2000]); • Capítulo 5 – Metodologia Proposta: apresenta a metodologia forense desenvolvida neste trabalho, a qual integra os pontos fortes das duas metodologias pesquisadas e adéquam os pontos fracos das mesmas; • Capítulo 6 – Estudo de Caso: apresenta os resultados da análise realizada em um disco rígido de um computador de uso pessoal aplicando-se a metodologia proposta; 16 2 O INTRUSO E A INTRUSÃO Se você conhece o inimigo e conhece a si mesmo, não precisa temer o resultado de cem batalhas. Se você se conhece, mas não conhece o inimigo, para cada vitória ganha sofrerá também uma derrota. Se você não conhece nem a si mesmo perderá todas as batalhas (Sun Tzu – A Arte da Guerra, 1983). 2.1 O intruso Manipular dados sem permissão, obter acesso indevido ao meio eletrônico ou sistema informatizado, introduzir vírus em computadores, clonar celular e falsificar cartão de crédito, entre outros atos, são ações de um intruso. Com a popularização dos microcomputadores o termo hacker tem sido designado, atualmente, como o intruso virtual que tenta obter informações confidenciais através da espionagem quebrando a segurança de redes. Neste estudo, o uso do termo intruso será considerado por suas ações. Para os administradores de sistema, uma intrusão ou tentativa de intrusão só é considerada quando existe uma quantificação mínima aceitável de um dado comportamento. Que personaliza um limite aceitável de erros que não pode ser considerado como ataques, distinguindo-se assim o intruso de uma falha de sistema. Segundo Oliveira (1999) existe dois tipos de intruso: interno e externo. Para contextualizar o que seja um ataque interno ou externo devemos esclarecer o que seja um ambiente interno e externo. O primeiro se refere ao local aonde o administrador do parque tecnológico tem acesso físico e lógico, enquanto o segundo é o local aonde esse não tem acesso ao parque tecnológico tanto na parte física quanto na lógica. Assim, as intrusões externas consistem em ataques originados do ambiente externos, por exemplo, um ataque oriundo da maior rede mundial, a internet. E as intrusões internas são ataques originados do ambiente interno, como ataques internos a corporação por um funcionário tentando obter um dado confidencial da empresa. À medida que a complexidade dos programas vai evoluindo, novas vulnerabilidades vão aparecendo assim como novas formas de invadir são desenvolvidas. Com o mínimo de conhecimento em redes de computadores e 17 consultas na internet qualquer pessoa pode obter gratuitamente uma ferramenta que permite invadir um sistema computacional. 2.1.1 Tipos de intruso Existe uma hierarquia imposta a quem decide entrar na jornada do mundo de intrusões. Os intrusos podem agir sozinhos ou formarem grupos, comumente chamados de “clãs”. A classificação desses intrusos é um folclore no meio dos hackers e dependendo do “clã” que o intruso pertença essa classificação pode ser uma regra ou apenas um tratamento informal. Segundo [ULBRICH; VALLE, 2004] podem ser classificados, como: • Newbie: Intruso iniciante, geralmente estudando e colhendo informações para realizar sua primeira intrusão; • Luser: Intruso que objetiva ter o conhecimento mínimo e necessário para operar o computador e realizar sua intrusão o mais rápido possível. Ao contrário do Newbie, não se interessa por aprender nada. A própria formação da palavra, de origem inglesa, reflete isso: user (usuário) e loser (perdedor). Geralmente os hackers utilizam esses intrusos como vítimas intermediárias para chegarem a um objetivo maior; • Lamer: Intrusos comuns que aprendem a utilizar softwares básicos para realizarem suas intrusões. Geralmente os Lamers utilizam basicamente três tipos de ferramentas: scan, exploit e trojan; • Wannabe: Intruso que almeja ser hacker, podendo ser uma pessoa que já se aprimorou bastante ou que pretenda entrar no mundo do “hackerismo”, não tendo idéia do que se trata esse novo mundo. Essa palavra foi utilizada primeiramente nos anos 80 tendo como referência os fãs da Madonna que se vestiam e agiam segundo os costumes da cantora. • Larval Stage: Indivíduo que se encontra no estágio larval ou Spawn (etapa anterior para se tornar um hacker), que pode durar de seis meses a dois anos. Para se atingir essa etapa o indivíduo deve possuir um alto nível de conhecimento em programação; • Hacker: Indivíduo que se dedica a explorar detalhe de sistemas programáveis, sendo um profundo conhecedor de computadores, geralmente utiliza sistemas 18 operacionais como Unix e Windows e programas em linguagens como Assembly, C entre outras. Os hackers possuem um rígido código de ética no qual nunca usam os seus conhecimentos para o “mal”, mesmo que a noção da palavra “bem” seja contra a lei. O termo hacker, de origem inglesa, derivada do verbo hack (cortar, cavar) que originalmente significava alguém que fabricava móveis utilizando um machado. • Cracker: Indivíduo que utiliza dos seus conhecimentos técnicos para “quebrar” todo e qualquer tipo de barreira em sistemas de segurança de programas ou para acessar de forma ilícita informações armazenadas em computadores, que na maioria das vezes são conteúdos confidenciais. De modo simplista, o cracker é o “hacker do mal”. • Phreaker: é o cracker dos sistemas telefônicos com alto nível de conhecimento nas áreas de eletrônica e telefonia, podendo fazer chamadas telefônicas de qualquer lugar sem pagar por elas. • Carder: Intruso especialista em cartões de créditos, com que conhecimento para adquiri-los através de uma em sites que os utilizam, de modo a clonar os cartões e gerar números falsos que passam pelas validações dos sites; • War Driver: Intruso comparado aos crackers e war driver, que aproveitam as inúmeras vulnerabilidades das redes sem fios, wireless, e se conectam a elas. Esta classificação de intruso é recente. Para a obtenção de dados relevantesaos intrusos, é preciso que haja uma intrusão no sistema visado por eles. De certo modo, os intrusos se utilizam de técnicas para conseguir burlar as seguranças de rede. 2.2 A intrusão A intrusão pode ser entendida como qualquer ação ou conjunto de ações que tenham como objetivo denegrir a integridade, confiabilidade e disponibilidade de um sistema, ou seja, qualquer violação de segurança de um sistema computacional. Novas formas de denegrir e invadir um sistema computacional são desenvolvidos diariamente. Com o mínimo de conhecimento, na área de Tecnologia de Informação, indivíduos adquirem ferramentas gratuitas da Internet que podem ser utilizadas para invadir e provocar algum dano em sistemas computacionais. 19 Esse procedimento tem sido classificado, por muitos países, como um risco à segurança nacional, e por isso estimulando a realização de estudos que propiciem a compreensão deste e os métodos utilizados. A intrusão a sistemas computacionais são motivadas por diversas finalidades, destacando [ULBRICH; VALLE, 2004]: • Utilização do sistema para apropriação tendo por objetivo distinto disseminar ataques distribuídos; • Obtenção de informações confidenciais dos sistemas, por exemplo, de números de cartões de crédito; • Denegrir o sistema para promover algum tipo de estrago como, por exemplo, a pichação a sites; A primeira linha de raciocínio de um hacker ou cracker é escolher seu alvo em potencialidade. Com seu alvo pré-estabelecido, o intruso começa a coletar dados sobre o sistema alvo com o intuito de identificar possíveis vulnerabilidades ou processos de rede disponíveis. Ao descobrir um ponto de entrada utiliza-se de métodos para a obtenção de senhas; caso contrário, usa a engenharia social para obter o ponto de entrada no sistema alvo. Após isso, realiza o comprometimento inicial do sistema. Nessa primeira intrusão, o sistema cria alardes caso esteja devidamente protegido, que costuma acontecer nos horários que não tenha um administrador presente. Esses alardes são criados na tentativa de adivinhar usuários e senhas para o sistema, essas tentativas geram registros de logon falhos. Com todos os seus objetivos primordiais obtidos, ou seja, sucesso na intrusão e usuário com logon no sistema, a busca do intruso é por privilégios irrestritos do sistema (perfil de administrador ou root). Quando na intrusão o usuário não tem o privilégio irrestrito do sistema, o invasor estabelece a transferência de programas maliciosos, conhecidos como exploits, na tentativa de explorar as vulnerabilidades que possam ajudá-lo na obtenção do acesso com privilégios irrestritos, quando então começa a remover traços que comprovem sua intrusão utilizando programas como rootkits e trojan hourses, tornando-se “invisível”. Com a “invisibilidade” perante o sistema alvo, o intruso instala outros programas, chamados backdoors, que facilitam o seu retorno e apaga os traços de sua intrusão. Na utilização desses programas o intruso retorna ao sistema alvo mais 20 discreto, que na fase inicial, e pode ser feito um inventário acerca dos dados da máquina invadida e possíveis alvos ao redor. Para se apropriar do sistema alvo, o intruso pode utilizar alguns métodos ou tipos de ataque ao sistema para estabelecer o primeiro contato com o sistema alvo. 2.2.1 Método de operação do atacante Com a popularização da Internet, a segurança da informação se tornou um assunto constante nas empresas. Cada empresa se conecta na Internet deixando seus dados expostos, gerando uma quantidade de dados que ao trafegarem na rede aumentam o interesse dos intrusos. Isso faz com que empresas e pessoas aumentem o interesse pela segurança da rede, propiciando o aparecimento de várias formas de ataques e conseqüentemente à defesa a essas invasões. Para a aquisição de dados vitais do sistema alvo escolhido existem algumas técnicas, como: 2.2.1.1 Negação de serviço (DoS) Esse ataque também é conhecido simplesmente como DoS (Denial of Service), e consiste em tentativas de impedir que usuários da máquina alvo utilizem um determinado serviço do sistema. O DoS pode ser executado localmente ou remotamente, sendo necessário para o primeiro estar dentro da rede ou logado ao sistema. O ataque remoto não precisa que o invasor esteja logado no sistema alvo, visto que esse ataque funciona independente dos sistemas operacionais. Esses ataques DoS consistem em aproveitar das vulnerabilidades e/ou falhas presentes no sistema alvo ou enviar um grande número de pacotes que esgotem algum recurso do sistema alvo, conforme ilustrado na Figura 1. 21 Figura 1 – Ataque DoS Para se executar esse ataque é necessário uma máquina com capacidade de processamento e banda “poderosas”, capazes de gerar inúmeros pacotes que possam causar a interrupção do sistema alvo. Outra forma de se executar esse ataque é através da negação de serviço distribuído ou DDoS (Distributed Denial of Service) que consiste de um grupo de máquinas, que juntas, enviam pacotes ao sistema alvo, causando a interrupção do alvo, conforme a Figura 2. Figura 2 - Ataque DDoS Embora qualquer forma de ataque DoS seja perigoso para o sistema alvo, a forma distribuída se torna um risco maior, justamente por se tratar de um ataque em 22 máquinas distintas que podem estar separadas geograficamente e não possuir uma relação entre si, somente que estão sob controle do invasor. Os ataques de DoS pode ser classificados em: • Ataque por inundação: é a inundação do tráfego da rede ocasionado por aberturas de conexões, sendo utilizado em serviços que necessitam de entrega confiável de dados; • Ataque reflexivo: é uma variação do ataque de inundação, que exige a presença de um agente entre o atacante e a vítima. Esse agente espelha o tráfego de ataque em direção a vítima objetivando exaurir os recursos dessa com os recursos do agente; • Ataque à infra-estrutura da rede: exigem grandes recursos de processamento e memória. Os recursos de DDoS de pequena escala não conseguem exaurir rapidamente os recursos para que os usuários tenham serviços negados. Outra forma desse ataque seria concentrar recursos em algum elemento vital de fornecimento de serviços, como consumir toda a banda passante 1 da vítima com o tráfego de ataque, ocasionando perdas de requisição na infra- estrutura da rede; • Ataque de vulnerabilidade: tem por objetivo principal deixar a vítima inoperante. O intuito desse ataque é explorar por vulnerabilidades na implementação da pilha de protocolos ou da aplicação do sistema alvo; Alguns subtipos de ataque por negação de serviço são: Smurf muito utilizado em servidores de divulgação, broadcast; Sniffing; Engenharia Social; Spoofing e Cavalo de Tróia; 2.2.1.1.1 Smurf O ataque Smurf consiste na utilização dos servidores de divulgação, broadcast 2, para paralisar a rede. Um servidor de divulgação, ou servidor de broadcast, tem a capacidade de difundir uma mensagem a todas as máquinas presentes na rede. O cenário do ataque consiste em se ter uma máquina fonte (máquina do atacante) que faz uma requisição a um ou vários servidores de broadcast 1 É usada para especificar a quantidade de dados que podem ser enviados em um canal de comunicação. 2 O processo que transmite informações à um conjunto de máquinas da mesma rede, com a característica que esses dados contenham a mesma informação. 23 falsificando o endereço para o qual o servidor deve responder, ou fornecendo um endereço de outra máquina orientada. O servidor de broadcast reflete o conjunto de dados a ser enviado à rede. Todas as máquinas que receberam o pedido do servidor enviam uma resposta. Por final o servidor de divulgação reflete as mensagens de respostas das máquinas para a máquinaorientada, conforme ilustrado na Figura 3. Figura 3 – Ataque Smurf Com isso o trabalho do atacante é descobrir na rede servidores de divulgação e falsificar o endereço de resposta com o intuito de dirigir o conjunto de pacotes à máquina orientada. 2.2.1.2 Sniffing É o processo no qual os intrusos capturam e analisam todo o conteúdo no tráfego da rede (Figura 4). As ferramentas utilizadas são chamadas de Sniffer, sendo usadas para monitorar, identificar e obter informações da rede. Esse processo é utilizado pelos hackers para obterem acesso às informações sigilosas que trafegam na rede. Os Sniffers podem analisar somente um protocolo ou um conjunto, dependendo da funcionalidade e projeto do software. Os protocolos mais comuns para essa análise são: • Ethernet padrão; • TCP/IP; • IPX; 24 • DECnet; Figura 4 – Ataque Sniffing, captura de dados. 2.2.1.3 Engenharia Social O termo engenharia social, à primeira vista, parece algo distante ao mundo hacker. Este tipo de ação busca informações vitais sobre uma determinada pessoa, empresa ou organização, utilizando-se de informações obtidas de pessoas próximas ao alvo ou do próprio quadro de funcionários de uma empresa ou organização. Em outras palavras, pode ser tida como “espionagem”, por utilizar táticas que vão de cartas e telefonemas, passando por pesquisa nos depósitos de lixo até uma abordagem pessoal. As técnicas dessa metodologia necessitam de uma preparação psicológica profunda e contínua, pois o candidato a invasor deve estudar o comportamento diário do seu alvo. Mesmo com grandes investimentos na área de segurança a maioria das empresas não está preparada para lidar com esse tipo de situação, cuja abordagem de ataque pode ser indireto ou direto. O primeiro consiste na utilização de ferramentas, como cavalos de tróia e imposturas como cartas para a obtenção das informações pessoais. O usuário, de quem o hacker extrai os dados, são apenas intermediários para a coleta de informações. O objetivo maior desse ataque não é atacar os usuários e sim a entidade a que eles pertencem. O segundo método é caracterizado pelo contato pessoal, geralmente feito por telefone ou pessoalmente, exigindo um planejamento detalhado. O invasor deve ser bem articulado e ter um 25 raciocínio rápido para encontrar saídas caso ocorra algum imprevisto no seu planejamento. Em resumo, o invasor utiliza dois métodos na elaboração do ataque por engenharia social: a pesquisa e aquisição de material, por exemplo, lista de pagamento, aonde o hacker descobre o indivíduo que detém a informação necessária para executar a invasão e a impostura, no qual o hacker obtém as informações de outras pessoas como funcionários da mesma empresa, cliente ou fornecedor. De posse das informações inicia sua invasão. Comportamentos como descuidos dos usuários e administradores de rede das empresas ou organizações facilitam a execução desse tipo de ataque. Mesmo empresas com sofisticado mecanismo de segurança pode deixar escapar alguma informação, basta uma informação óbvia apenas, para que o hacker prontamente se apodere desta e diminua o tempo utilizado na engenharia social. 2.2.1.4 Spoofing É uma técnica, usada por hackers, de se fazer passar por um computador da rede para conseguir o acesso ao sistema alvo, ocasionando falsificação do endereço de origem. Para entender o mecanismo dessa técnica é necessário conhecer o processo de autenticação dos protocolos TCP (Transmission Control Protocol) e IP (Internet Protocol), criados com o intuito de estabelecer a intercomunicação entre os computadores de uma rede. O TCP tem como principal objetivo de intercomunicar aplicações de diferentes máquinas, sendo um protocolo da camada de transporte para trabalhar com mensagens de reconhecimento, especificação dos pacotes e mecanismos de segurança. O IP tem como principal atribuição transportar os datagramas de uma rede a outra. Todo processo de autenticação da máquina pela rede começa na troca de mensagens entre o computador de origem e o destino, no qual o primeiro utiliza mensagens SYN para iniciar a conexão no destino. A máquina de destino confirma a mensagem SYN retornando uma mensagem SYN-ACK para a máquina de origem que recebe as mensagens completando a conexão e retorna a mensagem ACK. 26 Assim a conexão entre as duas máquinas é estabelecida e os dados entre essas podem ser trocados (Figura 5). Figura 5 – Troca de mensagens SYN ACK Para realizar o ataque o intruso pode optar por duas formas, falsificando o endereço de origem ou mantendo o número seqüencial com o destino. Essa última é a mais complicada de se aplicar, pois o destino configura o número seqüencial inicial e o intruso deve responder de forma correta a esse número, exigindo um ajuste correto do número seqüencial para que o intruso possa efetuar a sincronização com o destino e estabelecer uma conexão confiável (Figura 6). Intruso Endereço TCP/IP: 1.1.1.1 IP IP TCP Internet Vítima Endereço TCP/IP: 2.2.2.2 De: 3.3.3.3 Para: 2.2.2.2 IP IP TCP De: 2.2.2.2 Para: 3.3.3.3 Máquina confiável Endereço TCP/IP: 3.3.3.3 Figura 6 – Ataque Spoofing 27 2.2.1.5 Cavalo de Tróia Cavalo de tróia, do inglês “Trojan horse”, também conhecido como trojans, é outra forma do intruso estabelecer uma comunicação com o alvo em potencial, e consiste na utilização de programas maliciosos, com aparência inofensiva e atrativa, como pequenos aplicativos de jogos, fotos entre outros, que uma vez executados instalam na máquina alvo programas maliciosos (vírus, worm, malware3), normalmente são utilizados backdoor (utilitário que permite ao intruso acessar o computador infectado a qualquer hora) (Figura 7). Diferentes dos vírus, os trojans não possuem instruções de auto-replicação, pois são autônomos (não precisando infectar outras máquinas) e não objetivam a própria disseminação, mas costumam permanecer indefinidamente na máquina hospedeira. Figura 7 - Esquema trojan Os trojans são aplicativos que aparentemente estão realizando uma tarefa inofensiva, mas na verdade estão infectando a máquina hospedeira. São ferramentas usadas por crackers para monitorar e controlar os alvos. As funções do cavalo de tróia são [ULBRICH; VALLE, 2004]: • Fornecer um Shell para o cliente com acesso irrestrito; 3 Qualquer software desenvolvido para causar danos em outros computadores. 28 • Controlar todos os dispositivos de hardware da máquina; • Gravar uma imagem da tela do computador invadido; • Fazer exames da rede, podendo obter senhas e outras informações; • Gravar um arquivo contendo informações sobre tudo o que foi teclado no micro; • Possibilitar a abertura de janelas DOS remotamente; Um problema comum com os cavalos de tróia tradicionais, como aplicativos externos ao sistema, é que são facilmente detectados por ferramentas de auditoria, mesmo quando camuflados no sistema com nomes insuspeitos entre os arquivos do sistema alvo. 2.3 Crescimento dos Ataques No Brasil, os incidentes sobre ataques virtuais como fraude, invasão para obtenção de informações sigilosas entre outros são registrados pelo grupo de resposta a incidente de segurança na internet mantido pelo NIC (Núcleo de Informação e Coordenação do Ponto BR) do Centro de Estudos e Tratamento de Incidentes de Segurança no Brasil - CERT. De acordo com o Gráfico 1, observa- se que os incidentes tiveram um acréscimo de cerca de 72 vezes entre os anos de 1999 e 2008. Gráfico 1 – Total de incidentes reportados ao CERT (Fonte: www.cert.br) 29 Analisando os dados divulgados pelo CERT, observa-se que no período de janeiro a dezembro de 2008, os principais ataques registrados no Brasil foram à fraude (62,94%) e o Scan (19,69%),segundo os Gráficos 2 e 3. Gráfico 2 – Gráfico de Ataque Acumulado, reportados ao CERT (Fonte: www.cert.br) Gráfico 3 – Tipos de Ataque Acumulado, reportados ao CERT (Fonte: www.cert.br) 30 Quanto à origem dos ataques, observa-se que o Brasil é o país mais prevalente (68,43%) (Gráfico 4). Gráfico 4 – Origem de Ataques, reportados ao CERT (Fonte: www.cert.br) A melhor ferramenta de combate aos incidentes é a análise forense que possibilita aos administradores dos sistemas identificar e coletar informações, reconhecer as evidências e documentar o incidente. 31 3 A ANÁLISE FORENSE 3.1 Análise Forense Computacional De acordo com J. Thorton [THORTON, 1997], a ciência forense é exercida em favor da lei para uma justa resolução de um conflito. Em outras palavras, seria aquela que se baseia em procedimentos científicos para obtenção de informações que possam ser úteis durante uma disputa judicial. Este termo é muito comum no meio policial e até poucos anos atrás não se tinha qualquer relação com o meio computacional. De acordo com o Manual de Patologia Forense do Colégio de Patologistas Americanos (1990), a ciência forense é “a aplicação de princípios das ciências físicas ao direito na busca da verdade em questões cíveis, criminais e de comportamento social para que não se cometam injustiças contra qualquer membro da sociedade”. A forense computacional foi criada em função dessa nova vertente de crime para apoiar as instituições legais4, na aplicação da justiça. Sendo a ciência que compreende a aquisição, preservação, identificação, restauração, análise e documentação de evidências computacionais [NOBLETT, 2000], através da: • Coletas de informações: na coleta evidências para análise existem dois perigos: perda e alteração [Atílio, 2003]. Se cuidados necessários não forem tomados, dados relevantes a análise podem ser sobrescritos e/ou apagados; • Reconhecimento das evidências: caracterização da ameaça e seus efeitos nos sistemas alvos; • Coleta, restauração, documentação e preservação das evidências encontradas; • Correlação das evidências: retomada das atividades em andamento antes do incidente ocorrer. E restauração de dados se necessário • Reconstrução dos eventos: correlacionamento de logs, recuperação de arquivos apagados, analise de artefatos encontrados no sistema; O processo de análise, como em outras disciplinas forenses, deve ser metódico e seguir procedimentos previamente testados e validados cientificamente, 4 Polícia, Departamento de Segurança Civil e Militar. 32 de forma que todos os resultados obtidos na fase de análise sejam passíveis de reprodução. A análise forense pode ser dividida em duas partes: a análise física e a lógica [Freitas, 2003]. 3.2 Análise Física A análise física é a pesquisa de seqüências e a extração dos dados, onde são investigados os dados brutos do equipamento de armazenamento. Em alguns casos, a análise forense inicia-se a partir dessa investigação, quando o objeto de análise é o conteúdo de um disco rígido desconhecido. Para tal, deve-se manter o objeto de estudo intacto, utilizando-se para isso softwares de criação de imagens que criam uma cópia idêntica ao do objeto de estudo, fixando as provas do sistema. Os dados podem ser investigados e analisados através dos seguintes processos: • Pesquisa de seqüência: é feito uma pesquisa de seqüências de byte em todo sistema, retornando o conteúdo da pesquisa de seqüências e o deslocamento de byte do inicio do arquivo; • Busca e Extração: é a pesquisa mais especializada de seqüências, onde se analisa uma evidência em busca de cabeçalhos dos tipos de arquivos, de acordo com o tipo que estiver sendo analisado; • Extração de Espaços Subaproveitados e Livre de Arquivos: é a extração do espaço dos resíduos dos sistemas que são classificados de resíduos livre5 e resíduos subaproveitados6, através de uma ferramenta que distingue a estrutura particular desses sistemas de arquivos. Todos esses processos são realizados nas evidências ou copias restauradas. As pesquisas de seqüências produzem listas de dados, que serão úteis em fases posteriores, algumas dessas informações são: • As URL’s encontradas nas evidências; • Endereços de e-mail encontrado no dispositivo de armazenamento; • Entre outros; 5 Qualquer dado encontrado no disco rígido que não esteja alocado em um arquivo. 6 São dados escritos nos discos rígidos em blocos, no qual o tamanho da escrita seja menor que o pré- estabelecido pelo sistema operacional. 33 3.3 Análise Lógica Análise lógica consiste na investigação dos arquivos das partições. O sistema de arquivos é analisado percorrendo-se a árvore de diretórios do objeto de estudo, de forma que no decorrer da análise o conteúdo de cada arquivo lógico é pesquisado. Neste estágio o perito responsável pela investigação lógica dos dados precisa estar ciente de todos os procedimentos tomados na cópia restaurada, evitando erros de manipulação das provas, bastante comuns nesta fase. Seguindo assim o objetivo primordial de preservação e proteção das evidências encontradas contra alterações oriundas de um meio externo. A restauração da imagem, normalmente, não é documentada, nem disponível ao público e não pode ser verificada. Essa imagem deve ser preservada e protegida geralmente montada em um sistema de arquivos somente leitura. 34 4 METODOLOGIAS ESTUDADAS Este capítulo aborda as metodologias forenses utilizadas pela Polícia Civil do Distrito Federal (PCDF) e pelo Departamento de Justiça norte americano (U.S Departament of Justice). Segundo Aidil Barros e Neide Lehfeld (2000), no livro Fundamentos de Metodologia Cientifica, metodologia é “estudar e avaliar os vários métodos disponíveis, identificando suas limitações ou não em nível das implicações de suas utilizações”. A metodologia avalia e examina as técnicas de pesquisa, alem da geração de novos métodos que conduzem à captação e processamento de informações com vistas à resolução de problemas de investigação [BARROS; LEHFELD, 2000]. Portanto, para se obter evidências digitais de uso forense é necessário adotar um conjunto de procedimentos e métodos (metodologia) que garantam sua legitimidade. A metodologia não procura soluções, mas escolhe as maneiras de encontrá-las, integrando os conhecimentos a respeitos dos métodos e vigor nas diferentes disciplinas cientificas ou filosóficas [BARROS; LEHFELD, 2000], tendo o interesse pelo estudo, descrição e análise dos métodos e esclarecimentos do objetivo. As informações relativas à metodologia utilizada pela PCDF foram obtidas nas diversas reuniões realizadas com os peritos criminais e pelo questionário enviado a esses. Os arquivos do U.S Departament of Justice foram obtidos nas reuniões acima referidas. 4.1 Metodologia da Polícia Civil do Distrito Federal Com o crescimento de crimes cibernéticos, as autoridades responsáveis se adéquam com novas formas de criminalidade. Visando uma forma prática e metódica, a Polícia Civil do Distrito Federal (PCDF), concretizou uma metodologia para a investigação digital que consiste nos seguintes pontos seqüenciados (Fluxograma 1): • Preservação do sistema: cuidado com o estado inicial do sistema, cuja preservação do sistema é essencial; • Coleta de evidências: extração das evidências digitais, após o procedimento acima; 35 • Análise de evidências: análise das evidências digitais, possibilitando o investigador incriminar judicialmente o intruso; Fluxograma 1 – Metodologia PCDF 4.1.1 Preservação do Sistema O artigo 169 Código de Processo Penal,[BRASIL, 1941]: “Art 169. Para o efeito de exame do local onde houver sido praticada a infração, a autoridade providenciará imediatamente para que não se altere o estado das coisas até a chegada dos peritos, que poderão instruir seus laudos com fotografias, desenhos ou esquemas elucidativos. Parágrafo único. “Os peritos registrarão, no laudo, as alterações do estado das coisas e discutirão, no relatório, as conseqüências dessas alterações na dinâmica dos fatos.” O responsável pela cena da infração, contendo sistemas ligados, deve fazer uma análise ao vivo ou desligar os equipamentos. Numa análise ao vivo, realizada com o sistema ligado, deve-se ter o cuidado de preservar a memória principal (RAM), que por sua vez pode ser a única evidência digital útil. O desligamento de 36 um sistema pode ser executado pelo sistema operacional, de modo ordenado; alternativamente, pode ser de súbito, cortando o fornecimento da energia como botão desligar ou desconectando o cabo de alimentação elétrica [SHIMABUKO, 2009]. Segundo Shimabuko (2009), é importante em qualquer dos procedimentos adotados que todos os passos realizados sejam devidamente documentados, pois se alguma decisão incorreta for adotada, a documentação permitirá a avaliação dos prejuízos para a investigação. Além disso, equipamentos eletrônicos podem conter vestígios físicos, tais como digitais ou resíduos orgânicos (sangue, cabelo e outros). 4.1.1.1 Preservação de Sistemas Computacionais Ligados Segundo Shimabuko (2009), a maneira correta de lidar com sistemas computacionais ligados pode ser expresso, conforme o fluxograma 2. Fluxograma 2 – Estado inicial do sistema, ligado A primeira ação a ser tomada diante de um sistema ligado, se possível, fotografar a imagem que aparece no monitor. O Departamento de Justiça norte 37 americano acrescenta que todas as ações e quaisquer mudanças, identificadas pelo perito, no monitor, impressora e/ou outros periféricos devem ser anotadas. O responsável pela análise deve realizar o desligamento súbito do sistema, quando houver indícios de atividades em que os dados estão sendo alterados, apagados e/ou algum processo destrutivo do sistema for detectado. Apesar do Departamento de Justiça norte americano recomendar a retirada do cabo de energia, independente do estado de energia que o sistema se encontre, assim como também a bateria em computadores móveis, o desligamento súbito do sistema não é recomendado quando estiver visível no monitor dados de potencial valor à investigação, tais como, conversação em sala de chats, documentos de texto aberto e armazenamento remoto de dados entre outras evidências. Essas informações devem ser capturadas. 4.1.1.2 Preservação de Sistemas Computacionais Desligados Segundo Shimabuko (2009), a maneira correta de lidar com sistemas computacionais desligados, ocorre conforme o Fluxograma 3. Fluxograma 3 – Estado inicial do sistema, desligado A primeira ação a ser tomada é manter o estado inicial do sistema, sendo que em hipótese alguma deve ser ligado o sistema. Tal procedimento evita que dados preciosos à investigação não se danifiquem. Segundo o Departamento de Justiça 38 norte americano deve ser anotado o estado inicial do sistema com o status de “off”, desligado. O próximo passo do Fluxograma 3 é documentar e fotografar o equipamento com os periféricos (cabos, unidades removíveis e outros), assim como verificar e documentar possíveis unidades removíveis junto ao equipamento e lacrar as unidades removíveis. Deve-se também verificar se existe alguma conectividade com a linha telefônica, em caso positivo, tentar identificar o número do telefone, segundo o Departamento de Justiça norte americano deve ser verificado. Os dispositivos eletro-eletrônicos devem ser manuseados com cuidado, pois dados armazenados nesses dispositivos podem ser alterados ou apagados por meios externos quando expostos a campos eletromagnéticos, transmissores de ondas magnéticas e outros dispositivos. 4.1.2 Coleta de Evidências A preservação do sistema e a busca de evidências são, às vezes, potencialmente excludentes. Assim como ocorre com amostras físicas cuja análise pode provocar sua destruição, algumas evidências digitais somente podem ser obtidas com o sistema ligado (análise ao vivo ou live analysis), o que eventualmente as altera ou destrói [SHIMABUKO, 2009]. Em um sistema ligado, qualquer coleta de evidências poderá acarretar alterações na estrutura do gerenciamento de memória e tabela de processos. Para Shimabuko (2009) uma análise ao vivo pode ser imprescindível para a coleta dessas informações. O simples ato de desligar o computador pode ocasionar a perda de informações como conexão de rede, processos em execução e a identificação de usuários que estejam acessando a máquina entre outras informações. Para uma análise ao vivo é importante identificar qual conjunto de ferramentas a utilizar [SHIMABUKO, 2009]. Por exemplo, num sistema suspeito no qual suas bibliotecas e ferramentas nativas estejam comprometidas, as informações coletadas poderão estar incorretas, sendo aconselhável que as ferramentas utilizadas sejam compiladas estaticamente, executando-as a partir de uma mídia confiável. 39 Outra forma para a obtenção de evidências é a análise post mortem, que possibilita a análise de dados com um mínimo de alteração, sendo os procedimentos efetuados sobre meios de armazenamento permanente, por exemplo, um disco rígido. 4.1.3 Análise de evidências É realizada pela Polícia Civil do Distrito Federal tanto a análise ao vivo quanto a análise post mortem. 4.1.3.1 Análise ao Vivo Segundo Keith Jones e Curtis Rose (colocar ano da referência), os dados coletados durante uma análise ao vivo consistem em dois subconjuntos principais: dados voláteis e não voláteis. Os primeiros são aqueles que estão apenas em memória RAM e serão perdidos com o desligamento do sistema, e os segundos são dados que podem permanecer no sistema durante longos períodos de tempo, sendo recuperados mesmo que o sistema seja desligado, a exemplo de conteúdo de arquivos e logs do sistema. O acesso aos dados não voláteis é difícil devido [SHIMABUKO, 2009]: • Formatos difíceis de analisar, como registro de ocorrências (logs) do Windows; • Dados criptografados; • Dados armazenados em dispositivos remotos via rede, cujo acesso é perdido com o desligamento do sistema ou a desconexão da rede; Alguns dados voláteis de importância na investigação foram obtidos através de comandos executados nos Shell dos sistemas operacionais, no sistema Windows na versão Windows XP Service Pack 3 e o software PsTools [SYSTERNALS,___] [JONES; ROSE, 2006]. Por exemplo: • Data e Hora - utilizando os comandos date /t (obtenção da data) e time /t (obtenção do horário); • Conexões de rede aberta - utilizando o comando netstat –n, esse comando informa às conexões que estão em ativas; 40 • Portas e respectivos serviços TCP e UDP abertos- utilizando o comando netstat –abn; • Tabela de nome NetBIOS; • Usuários com sessões abertas; • Tabela de roteamento IP. O comando netstat –r mostra a tabela de roteamento IP; • Processos e serviços em execução; • Tarefas agendadas; • Arquivos abertos; • Dumps de memória; Segundo Keith Jones e Curtis Rose (2006) alguns dados não voláteis são mais facilmente obtidos com o sistema ligado, por exemplo: • Versão e correção do sistema operacional; • Aplicativos instalados e dados de registro; • Registro de ocorrência em formato legível; • Data e hora do sistema; • Contas de usuários; • Arquivos suspeitos; 4.1.3.2 Análise Post Mortem É realizada, basicamente, em procedimentos efetuados sobre meios de armazenamento permanente, como disco rígidos, em duas etapas. A primeira etapa consiste nageração de imagem de mídia para a preservação da evidência digital e a segunda na pesquisa e recuperação de dados em sistemas de arquivos [SHIMABUKO, 2009]. Devem ser feitas pelo menos duas cópias da mídia original em análise [VACCA, 2005], sendo uma das cópias lacrada na presença do responsável pelo material (dono) e guardada em local seguro, podendo ser aberto somente sob determinação judicial e a segunda seria utilizada para a pesquisa e recuperação de dados. Para Shimabuko (2009), por falta de recursos (tanto para efetuar diversas cópias como para armazenar objetos), no Brasil basta apenas uma cópia, armazenado-se a mídia original para eventual contraprova. 41 No procedimento de geração de cópias das mídias dois requisitos fundamentais devem ser observados [SHIMABUKO, 2009]: • Assegurar a geração da imagem fiel ao original, algumas vezes essa geração de imagens é chamada de cópia bit a bit, e • Garantir que o original não foi alterado. Um método para assegurar que esses requisitos foram corretamente adotados é a utilização de algoritmos de integridade, como uma função hash7. Alguns algoritmos utilizados para essa verificação é o MD-5 ou a SHA-1 para gerar a assinatura original da mídia, antes e depois da operação de cópia. Segundo Shimabuko (2009), deve-se evitar conectar mídias passíveis de escrita, como disco rígidos e pendrives, em sistemas Windows ou Unix que não tenham sido corretamente configurados, pois o conteúdo pode ser indevidamente alterado. A cópia de unidades de armazenamento que contenham sistemas de arquivo com journaling, como o NTFS, é delicada, pois mesmo montando-se um sistema em modo somente leitura, pode ocorrer modificação deste ou a montagem pode nem ser executada. Essas alterações podem ser evitadas através do uso de bloqueadores de escrita (por hardware e por software). Os bloqueadores de escrita por softwares podem operar de dois modos: • Usando um dos serviços da BIOS denominado INT13h. O uso da interrupção INT13h é feito por sistemas limitados, como o DOS [SHIMABUKO, 2009]; • Acessando diretamente a controladora dos discos rígidos; Sistemas operacionais mais atuais, Windows XP ou Linux, em modo protegido, acessam diretamente a controladora utilizando drivers de dispositivos, componentes de software que conheçam os comandos e registradores definidos pelos fabricantes. Existem aplicativos, principalmente para Windows, que efetuam bloqueio de escrita em determinados dispositivos. Alguns foram testados pelo CFTT (Computer Forensic Tool Testing) do NIST (National Institute of Standards and Technology), que estabeleceu uma metodologia de teste para esse tipo de aplicativo [NIST, 2003]. A grande desvantagem da utilização dos bloqueadores de escrita através de dispositivos de softwares é a dependência, dos mesmos, com a plataforma utilizada pelos sistemas operacionais. 7 Sequência de bits gerados por algoritmos de integridade. 42 Os bloqueadores de escrita por hardware suprem a deficiência do bloqueio por software, desvantagem citada anteriormente. Um dispositivo físico é conectado entre o disco rígido e um sistema de cópia impedindo a execução de operações de escrita. Utilizando esses dois métodos de bloqueio de escrita no disco de evidência é realizada a preservação da mídia original, para futuras análises. 4.1.4 Reconstrução dos Eventos A elaboração do laudo pericial, com descrição minuciosa do que foi examinado [BRASIL, 1941], pressupõe o entendimento da sequência dos eventos que produziram as evidências encontradas [SHIMABUKO, 2009]. Nos sistemas computacionais, a cronologia dos fatos é registrada com a utilização de rótulos de tempo cuja precisão dos registros depende do método utilizado para a determinação desses rótulos [SHIMABUKO, 2009]. O Comitê Gestor da Internet no Brasil, por meio de resolução (2003) considera que a sincronização com fontes de tempo confiáveis dos computadores e outros equipamentos interligados à Internet é essencial para a documentação e preservação de evidências que possam vir a ser utilizadas em investigações de crimes de informática e recomenda, [CGI.br, 2008]: 1. Sincronizar, com à Hora Legal Brasileira, todos os dispositivos de rede e servidores conectados à Internet no Brasil, de forma continuada, utilizando-se de programas de computador apropriados e fontes de tempo confiáveis; 2. Sempre que possível e apropriado, sincronizar, com a Hora legal Brasileira, estações de trabalho conectadas à Internet no Brasil, de forma continuada, utilizando-se de programas de computador apropriados e fontes de tempo confiáveis; 3. Estabelecer procedimentos de ajuste do tempo ao fuso horário local e ao horário de verão, quando necessários; 4. Gerar registro de eventos (logs) pertinentes, de forma a manter informações inequívocas sobre o fuso horário em que se deu um evento. 43 5. Utilizar, preferencialmente, o protocolo NTP8 (Network Time Protocol), conforme padrões de referência e instruções presentes na página Web do Projeto NTP do NIC.br; 6. Utilizar, preferencialmente, os servidores de tempo implantados pelo NIC.br, através do projeto NTP.br, como referências de tempo; O sistema operacional conta o tempo usando tiques de um relógio, cuja calibração é executada na inicialização. A sincronização do tempo é geralmente executada optando-se por um dos seguintes métodos: (i) lendo o relógio interno do computador, que é mantido por uma bateria quando o equipamento está desligado; (ii) usando uma fonte externa, via rede pode ser um servidor de tempo na rede local ou um disponível na Internet normalmente usando o protocolo NTP, conforme recomendação do Comitê Gestor da Internet no Brasil [CGI.br, 2008] [SHIMABUKO, 2009]. Registro de ocorrências (logs) consiste em uma fonte importante para se determinar a sequência de eventos. Sistemas operacionais utilizados como servidores possuem, por padrão, registros de ocorrências de segurança, de sistema e de aplicação. Os registros de segurança (security log) registram eventos logons válidos ou inválidos. Registros de ocorrência de sistema (system log) registram eventos pré- definidos, como a inicialização de determinados serviços e sincronização com o relógio. Registros de ocorrências de aplicação (application log) registram eventos definidos pela aplicação. 4.2 Metodologia do Departamento de Justiça norte americano (U.S Departament of Justice) O êxito da investigação e repressão de crimes eletrônicos, segundo o FBI9, requer na maioria dos casos, coleta, preservação e análise forense das evidências, crucial para determinação de culpa ou inocência. Os princípios gerais e processuais forense adotados são: • Medidas de proteção e coleta de evidências digitais que não afetem a integridade das evidências; 8 NTP é um protocolo de sincronização dos relógios, contidos em uma rede de computadores, baseado em UDP. 9 Federal Bureal of Investigation 44 • Treinamento específico dos responsáveis pelo exame das provas digitais; e • Documentação, preservação e disponibilidade para revisão das atividades relacionadas com a apreensão, análise, armazenamento ou transferência de dados digitais. 4.2.1 Segurança e Avaliação do Local do Crime Para U.S Departamento of Justice, a primeira resposta a um incidente é garantir a segurança de todas as pessoas que se encontram no local e proteger a integridade das evidências eletrônicas ou convencionais. Posteriormente, identifica- se visualmente as potencias evidências eletrônicas ou convencionais físicas. O procedimento a ser tomado é a reavaliação da natureza de software e hardware, potenciais evidências procuradas e as circunstancias que rodeiam na aquisição das evidências a ser examinada. O investigador responsáveldeve sempre garantir que o local esteja devidamente assegurado antes e depois da coleta das evidências, adotando os seguintes procedimentos no local do crime: • Identificar a quantidade e o tipo de computadores; • Determinar se existe uma rede; • Entrevistar o administrador e usuários do sistema; • Identificar e documentar os tipos e volumes de mídia e a documentação da localização da mídia ao ser retirada; • Identificar software proprietário; • Determinar o sistema operacional ativo; A evidência digital, devido a sua natureza, é frágil e pode ser alterada, danificada ou destruída pelo manuseio incorreto, não somente a integridade física dos componentes como também a transferência eletrônica de dados. Por essa razão são necessárias precauções especiais na preservação das evidências, pois atitudes incorretas podem inutilizá-las ou conduzir a uma conclusão imprecisa. 45 4.2.1.1 Documentação do Local do Crime A documentação do local do crime cria um registro histórico da cena permanentemente. É importante registrar a localização e condição inicial dos computadores, suporte de armazenamento e outros dispositivos periféricos. Os procedimentos na cena do crime devem ser documentados em detalhes, tais como: • Observar e documentar o local do crime, tais como a posição do mouse e a localização dos componentes em relação a outros componentes. Por exemplo, a localização do mouse a esquerda do computador pode indicar que o usuário é canhoto; • Documentar as condições e local do computador, o status do computador se o mesmo está ligado, desligado ou em modo de hibernação; • Fotografar todo o local do crime, criando um registro visual do mesmo. A documentação completa da cena deve ser registrada em 360 graus de cobertura, quando possível; • Fotografar de frente o computador, assim como o monitor e outros componentes. Tomar notas por escrito sobre o que está aparecendo na tela do computador; 4.2.2 Preservação do Sistema As evidências digitais são recolhidas de acordo com as orientações departamentais da justiça norte americana. Na ausência dessas orientações são adotados os seguintes procedimentos de coleta de dados. 4.2.2.1 Preservação em Ambiente de Complexidade Baixa Computadores portáteis se diferem dos outros na medida em que podem ser alimentado por uma fonte ou bateria elétrica, por isso, exige a remoção da bateria, além dos procedimentos de desligar o computador. Anotar todas as ações executadas pelo investigador e qualquer mudança que venha acontecer no monitor, computador, impressora ou outros periféricos. Identificar certamente se o computador está ligado, desligado ou em modo de 46 espera, e em seguida, decidir quais ações serão aplicadas para a situação descoberta. Para a situação aonde o computador encontra-se ligado e o ambiente de trabalho é visível, o investigador deve fotografar a tela do computador e gravar as informações exibidas. Quando o computador encontra-se em modo de espera, deve- se mover o mouse lentamente (sem pressionar botões), a tela deve apresentar o ambiente de trabalho ou solicitar a senha do computador. Se o movimento do mouse, não resultou no aparecimento do ambiente de trabalho na tela, o investigador deve acionar qualquer tecla ou ação do mouse. Com o aparecimento de informações na tela, deve ser fotografado e gravado qualquer informação que se apresente na tela. E quando o monitor encontra-se desligado deve-se anotar esse fato como condição inicial do monitor. Após a verificação desses três estados que um stand-alone pode ser encontrado, o seguinte procedimento é adotado: • Independente do estado de energia do computador, retirar o cabo de alimentação do computador. Se for um computador portátil retirar também a bateria; O investigador deve verificar qualquer conectividade do computador, como por exemplo, ADSL e modem. Se for identificada uma conectividade, tentar identificar a origem. Para evitar danos a potencias evidências, remover qualquer disquete, que estejam presentes, empacotar e rotular separadamente os disquetes. Se houver presença de CD-ROM, não retirar da unidade. 4.2.2.2 Preservação em Ambiente de Complexidade Alta Em ambientes empresarias que possuem múltiplos computadores interligados por uma rede, por um servidor central ao investigar um ambiente de complexidade alta, deve-se planejar com antecedência ações a serem tomadas e se possível assistência de pessoal especializado. A possibilidade de encontrar diferentes sistemas operacionais e hardwares complexos exige procedimentos especializados para o desligamento, o importante é 47 identificar e reconhecer as diferentes topologias da rede, a assistência especializada poderá auxiliar nesse tratamento. Os itens a seguir podem indicar que um computador está conectado a uma rede: • A presença de múltiplos sistemas computacionais; • A presença de cabos e conectores, correndo entre os computadores ou dispositivos centrais como hubs; e • As informações fornecidas pelo pessoal especializado. 4.2.3 Análise das Evidências Para o U.S. Department of Justice existem dois tipos diferentes de extração de dados: extração física e lógica. O primeiro recupera os dados de toda a unidade física, não levando a respeito o sistema de arquivos, e o segundo recupera os dados e arquivos baseados no sistema operacional instalado e/ou sistema de arquivo. Durante a fase de extração física dos dados, a movimentação dos dados ocorre no nível físico, independente dos sistemas de arquivos presentes nos discos rígidos. Nessa fase pode ser incluso métodos de pesquisa por palavra chave, extração de arquivos da tabela de partição e espaço não utilizado em unidade física. Os arquivos carving (file carving), que é o processo aonde se utilizam uma entrada para a pesquisa de arquivos ou outros tipos de dados com base no conteúdo. Esse processo é utilizado para extrair arquivos e dados que não podem ser contabilizados pelo sistema operacional ou sistema de arquivos. Na fase de extração lógica, a coleta de dados é baseada no sistema de arquivo presentes no disco rígido. Podendo incluir dados provenientes de áreas distintas do sistema de arquivos, tais como arquivos ativos, arquivos excluídos, arquivo de somente leitura e arquivos bloqueados. A extração de dados do sistema de arquivos pode revelar características de estrutura de diretórios, atributos de arquivo, os nomes de ficheiro, data e hora, tamanho do arquivo e localização do ficheiro. Para o investigador identificar e eliminar ficheiros conhecidos pode ser feito pela comparação de valores hash. O U.S. Department of Justice utiliza os seguintes métodos de analise de evidências. 48 4.2.3.1 Análise dos Dados Extraídos De acordo com U.S. Department of Justice, “a análise é o processo de interpretação dos dados extraídos para determinar o seu significado para o caso”. Alguns exemplos dessa análise a ser realizada incluem calendário, os dados do sistema, a aplicação e os tipos de arquivos. 4.2.3.2 Análise Timeframe Essa análise pode ser útil para determinar os eventos ocorridos em um sistema, podendo ser usado como parte da associação do uso do sistema com um determinado indivíduo no momento em que os eventos ocorrem. Dois métodos podem ser utilizados [CASEY, 2000] : • Rever à hora e data contida no sistema de arquivos e nos metadados, para vincular arquivos de interesses para os prazos relevantes para o inquérito. Um exemplo dessa análise seria a utilização da data e hora para definir quando o conteúdo de um arquivo foi modificado; • Rever o sistema e os logs da aplicação que possa estar presente. Esses arquivos podem incluir erro de registros, logs de instalação, logs de segurança entre outros. O exame dos logs de segurança quando a combinação de usuário e senha foi utilizadapara o acesso ao sistema; 4.2.3.3 Análise em Dados Ocultos Os dados de um sistema podem ser ocultados, essa análise em dados ocultos pode ser útil na detecção e recuperação desses dados e poderá indicar o conhecimento, a propriedade, ou intenções contidas nesses dados. Métodos que podem ser utilizados nessa análise: • Correlacionamento do cabeçalho dos arquivos com a correspondente extensão para identificar possíveis desajustes. A presença inadequação dos arquivos pode identificar que o usuário intencionalmente ocultou os dados; • O acesso a dados protegidos por senha, criptografados e arquivos compactados podem identificar uma tentativa de ocultação dos dados a usuários não autorizados; 49 • Acesso a um espaço host-protected área 10 (HPA). A presença de um HPA pode indicar a tentativa de ocultação de dados; 4.2.3.4 Análise em Arquivos e Aplicação Muitos arquivos e programas identificados podem conter informações relevantes para a investigação e dar uma idéia da capacidade do sistema, assim como o conhecimento do usuário. Os resultados dessas análise pode indicar os passos adicionais que devem ser tomados na extração e análise dos processos. Como por exemplo: • Revisão da nomenclatura dos arquivos para a relevância e padrão utilizado; • Examinando o conteúdo dos arquivos; • Identificar o tipo do sistema operacional; • Correlacionar os arquivos para as aplicações instaladas; • Considerar as relações dos arquivos. Podemos citar a Internet com o histórico e arquivos de e-mail; • Identificar os tipos de arquivos desconhecidos determinando o seu valor para o inquérito; • Analisar os usuários padrões de armazenamento local para as aplicações e as estrutura dos fichários, para identificar se os fichários estão armazenados no diretório padrão ou em uma localização alternativa; • Analisar a configuração do sistema operacional; 4.2.3.5 Análise Propriedade e Posse Identificar os usuários que criaram, modificaram ou acessaram um determinado arquivo pode ser essencial para a investigação, sendo necessário e de grande importância obter a informação dos usuários cujos arquivos questionados pertencem. Elementos de propriedade e posse dos usuários podem incluir os seguintes fatores: • Colocar o assunto no computador em uma determinada data e hora (Análise Temporal) pode auxiliar na determinação da propriedade e posse; 10 É definido como uma área reservada em um disco rígido. 50 • Arquivos de interesse podem ser localizados em locais definidos, como por exemplo, um diretório criado pelo usuário chamado “Pornografia Infantil”; • O nome do arquivo questionado pode ser de valor probatório e também pode identificar o conteúdo do arquivo; • Dados ocultos podem identificar a tentativa deliberada de evitar a detecção dos dados; • O acesso a arquivos codificados e protegidos por senha pode identificar a propriedade e posse dos arquivos ao usuário; • O conteúdo do arquivo pode identificar propriedade ou posse por conter informações especificas para o proprietário; 4.2.4 Armazenamento Responsabilidade e muito cuidado deve ser tomando com as evidências digitais e registros devem ser feitos com relação à posse das mesmas. As evidências devem ser armazenadas adequadamente em local seguro, com acesso restrito somente à equipe de investigação. Deve ser utilizado embalagens adequadas e seguras, mantendo a integridade das mesmas, sendo utilizadas para o armazenamento das evidências coletadas para uma futura análise. Ao se realizar cópias eletrônicas de registros, a informação original nunca deve ser alterada. Sendo necessário analisar os dados do mesmo, obter e trabalhar com a cópia. Em caso de evidências coletadas sejam papeis, armazenar os originais e trabalhar sobre as cópias. As medidas adotadas não devem adicionar, modificar ou destruir dados armazenados em um computador ou outros meios de comunicação. Computadores são frágeis, sensíveis à temperatura, umidade, choque físico, eletricidade estática, e fontes magnéticas. Portanto, precauções especiais devem ser tomadas no transporte e armazenamento de dados eletrônicos [CASEY, 2000]. De acordo com o Departamento de Justiça norte americano, os procedimentos para embalagem, transporte e armazenamento das evidências devem ser tomados com precaução. Procedimentos para embalagem das evidências: • Assegurar que todas as evidências recolhidas está devidamente documentado, etiquetado e inventariados antes da embalagem; 51 • Atenção especial nas evidências latentes ou vestígios de provas e tomar medidas para preservá-la; • Pacote de suportes magnéticos em embalagem anti-estática (em papel ou sacos de plástico anti-estático). Evite o uso de materiais que podem produzir eletricidade estática; • Evite dobrar ou encurvar multimídias, como disquetes, CD-ROM e fitas; • Assegurar que todos os recipientes utilizados para armazenar dados são devidamente etiquetados; Procedimentos para o transporte das evidências: • Manter afastado das evidências digitais fontes magnéticas. Rádios transmissores e assentos aquecidos são exemplos de itens que podem danificar as evidências digitais; • Evitar guardar evidências digitais em veículos por períodos prolongados. Condições de calor excessivo, frio ou umidade, pode danificar as evidências digitais; • Assegurar que os computadores e outros componentes que não são armazenados em embalagens, estejam em recipientes que evite choque e excesso de vibração. Por exemplo, os computadores podem ser colocados no chão do veículo; Procedimentos para armazenagem das evidências: • Assegurar que as provas sejam inventariadas; • Armazenar dados em área segura, distantes de temperatura e umidade extremos e proteger de fontes magnéticas; O investigador responsável pelo manuseio das evidências digitais deve elaborar uma documentação das mesmas. Assim todas as evidências estarão armazenadas em recipientes adequados e documentos. 52 4.3 Análise das metodologias Analisando primeiramente a metodologia da Polícia Civil do Distrito Federal e em seguida U.S Departament of Justice. Cada procedimento tem seus pontos fortes e pontos a serem melhorados. Para o início da investigação forense em sistemas computacionais, a PCDF começa destacando a preservação do sistema aonde destaca os pontos fortes em preservação do sistema independente do estado inicial do mesmo, seja ligado ou desligado. Compreendendo o desligamento súbito do sistema em casos extremos, por exemplo, arquivos sendo modificados ou excluídos. Em contra partida poderia ser observado à complexidade do ambiente em que o sistema investigado se encontra, averiguando o conjunto completo do sistema. Com esse procedimento de verificação da complexidade do ambiente o investigador tem um maior domínio da situação ao seu alcance, sendo possível determinar a topologia de rede encontrada no local. O item de complexidade é abordado pela metodologia da U.S Departament of Justice. No qual determina a abordagem do investigador quanto à complexidade do ambiente, no procedimento de preservação do sistema. Para U.S Departament of Justice os sistemas computacionais devem ser mantidos da mesma forma que foram encontrados, se eles estiverem ligados, deixe-os, se eles estiverem desligados, deixe-os. “If it is off, leave it off. If it is on, leave it on.” fazendo a distinção somente entre a complexidade do local do crime. Essa afirmativa de manter o sistema da forma em que foram encontrados é uma falha nesse procedimento, já que em um sistema encontrado ligado e esteja sobre controle de um intruso e o mesmo perceber a presença de investigadores, ele pode começar uma serie de ações para eliminar as evidências deixadas no ato da intrusão. Deixando assim esse procedimento sem ações