Prévia do material em texto
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 1/166 UNIVERSIDADE CATÓLICA DE BRASÍLIA PROGRAMA DE PÓS-GRADUAÇÃO LATO SENSU EM SEGURANÇA EM REDES DE COMPUTADORES ESPECIALIZAÇÃO Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Autor: Daniel Linhares Lim-Apo Orientador: Prof. MSc. Jerônimo Osvaldo Dias Jardim Brasília-DF - BRASIL 2004 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 2/166 DANIEL LINHARES LIM-APO Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Monografia apresentada em Programa de Pós-Graduação Lato Sensu em Segurança em Redes de Computadores da Universidade Católica de Brasília, como requisito para a obtenção de título de pós-graduado em Segurança em Redes de Computadores Orientador: Prof. MSc. Jerônimo Osvaldo Dias Jardim Brasília 2004 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 3/166 Dedico este trabalho às pessoas próximas a mim que tanto me apoiaram e incentivaram e a toda a comunidade de alguma forma relacionada à segurança digital. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 4/166 Agradecimentos Ao Prof. MSc. Jerônimo Jardim e à Simone, que me mostraram como traçar e retraçar caminhos. A meu pai pela torcida. À minha mãe pela base que me propiciou. Ao meu filho, que cedeu diversos momentos com o pai. A Valéria Soares, que é companheira e tanto me apóia. À minha madrinha e tias pela ajuda na formação de caráter. Ao Alex Pinheiro Machado Rodrigues pela amizade e por sua abertura em sempre compartilhar seus conhecimentos técnicos. À comunidade do grupo de discussão sobre "Perícia Forense Aplicada à Informática" do Yahoo e, em especial, ao moderador Andrey Rodrigues de Freitas pela saudável troca de informações em público. Ao Delegado Zanata por fazer bem o seu trabalho na Polícia Civil-DF. Ao Google por ser uma excelente ferramenta de pesquisa e de trabalho. À Internet na forma de seus usuários por ser uma via de comunicação cada vez mais universal e completa. Àqueles que fizeram e fazem tudo acontecer em informática, em redes e em segurança. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 5/166 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet SUMÁRIO SUMÁRIO.................................................................................................................................. 5 Capítulo I - INTRODUÇÃO E CONCEITOS ............................................................................. 7 1.1 Aplicação de técnicas de forense computacional e respostas a incidentes na Internet ......... 7 1.2 Introdução ......................................................................................................................... 8 1.3 Observações iniciais ........................................................................................................ 12 1.4 A evolução da criminalidade a evolução tecnológica ....................................................... 13 1.5 Forense Computacional ................................................................................................... 14 Capítulo II - INVESTIGANDO ................................................................................................ 16 2.1 O profissional.................................................................................................................. 16 2.2 Uso de metodologias em forense computacional.............................................................. 18 2.3 Scientific Working Group on Digital Evidence (SWGDE) - Grupo de Trabalho Científico em Evidência Digital............................................................................................................. 21 2.4 Sistema operacional não mais confiável........................................................................... 34 2.5 Proteção da evidência ...................................................................................................... 36 2.6 Cadeia de custódia........................................................................................................... 37 2.7 Obtenção e Coleta de dados............................................................................................. 38 2.8 A decisão de desligar ou não, eis a questão...................................................................... 39 2.9 Duplicação pericial.......................................................................................................... 40 2.10 Examinando a Rede....................................................................................................... 41 2.11 Cavalos de Tróia e Backdoors ....................................................................................... 45 2.11.1 Definição de Cavalo de Tróia.................................................................................. 46 2.11.2 BACKDOORs ........................................................................................................ 46 2.12 Investigando Ferramentas .............................................................................................. 49 2.12.1 Investigando software de código malicioso ............................................................. 49 2.13 Procurando dados .......................................................................................................... 52 2.14 Obtendo informações em discos .................................................................................... 54 2.14.1 Arquivos deletados ................................................................................................. 56 2.15 Sistemas de arquivos NTFS........................................................................................... 57 2.15.1 Sistemas de arquivos NTFS ........................................................................................ 57 2.15.2 O NTFS...................................................................................................................... 57 2.15.2.1 Versões do NTFS................................................................................................. 59 2.15.2.2 NTFS 1.1 / 4.0 ..................................................................................................... 59 2.15.2.3 NTFS 5.0 parte do Windows 2000 ....................................................................... 59 2.15.2.4 Explanando sobre o NTFS ................................................................................... 60 2.15.2.5 Lista de controle de acesso (Access Control Lists - ACLs) e entradas controle de acesso (Access Control Entries - ACEs) ............................................................................ 61 2.15.2.6 NTFS - Permissões .............................................................................................. 63 2.15.2.7 Auditoria no NTFS .............................................................................................. 64 2.15.2.8 Master File Table (MFT) ..................................................................................... 64 2.15.2.9 Zona MFT ...........................................................................................................66 2.15.2.10 NTFS - Nomenclatura de arquivos ..................................................................... 68 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 6/166 2.15.2.11 NTFS - Atributos de arquivos ........................................................................... 69 2.15.2.12 NTFS - Arquivos e armazenamento de dados..................................................... 71 Capítulo III - FERRAMENTAS................................................................................................ 74 3.1 F.I.R.E. Linux ................................................................................................................. 74 3.1.1 F.I.R.E. Linux (Forensic and Incident Response Environment) ................................. 74 3.1.2 Comparando o F.I.R.E. com algumas outras distruições baseadas em CD ou em disquete............................................................................................................................. 75 3.1.3 Plataforma necessária ............................................................................................... 76 3.1.4 F.I.R.E. Linux Pacotes disponíveis ........................................................................... 77 3.1.4.1 Ferramentas incluídas no F.I.R.E ........................................................................... 77 Ferramentas Windows........................................................................................................... 90 Knoppix-STD ....................................................................................................................... 92 Versão: Knoppix STD 0.1 ................................................................................................. 92 Knoppix-STD - Pacotes..................................................................................................... 94 AIDE ...................................................................................................................................104 Capítulo V - CASOS E EXEMPLOS .......................................................................................105 Casos estudados de exemplo ................................................................................................105 CONCLUSÃO.........................................................................................................................132 Glossário de siglas e termos .................................................................................................136 Bibliografia ..........................................................................................................................146 ANEXOS.................................................................................................................................151 Roteiro de apresentação: forense computacional e uso de cópia pericial. ..............................151 Manual do AIDE (Tradução livre por Daniel Lim-Apo) .......................................................153 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 7/166 Capítulo I - INTRODUÇÃO E CONCEITOS 1.1 Aplicação de técnicas de forense computacional e respostas a incidentes na Internet Este trabalho apresenta uma metodologia e aplicação de uma ferramenta para a investigação de incidentes de segurança num ambiente forense seguro, em redes conectadas à internet. Serão apresentados estudos de casos reais onde a investigação tem por finalidade traçar a possível origem e as técnicas utilizadas pelo atacante. Objetivo: estudar uma metodologia e técnicas de forense computacional aplicada em resposta a incidentes de segurança em redes conectadas à internet. Resultados esperados: aprofundar o conhecimento de ferramentas de forense computacional e de aplicação de uma metodologia investigativa em incidentes reais. Diretrizes: este trabalho será desenvolvido utilizando-se bibliografia específica sobre o assunto e documentos disponíveis na internet. Infra-estrutura tecnológica: computadores com sistema operacional Linux e Windows, acesso à internet, ambiente de testes (Laboratório de Segurança em Redes da Universidade Católica de Brasília) e softwares específicos para forense computacional. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 8/166 1.2 Introdução As últimas décadas e em especial os últimos anos marcaram mudanças revolucionárias no uso de computadores pelos cidadãos do mundo. A Internet trouxe uma capacidade de comunicação e integração de computadores que há uma década seria difícil de se prever. Tudo isso, num crescimento tão acelerado que chega a ser assustador. Inúmeras relações humanas são espelhadas na internet, a ponto de se dizer que se trata de um mundo virtual. Mas, não existe mundo virtual e sim o mesmo mundo real só que com diferentes ferramentas e novos paradigmas de relacionamento humano. As comunicações, as relações de poder, os governos, as religiões, a política, as atividades culturais e o comércio acontecem na internet. Na mesma internet, vemos também o crescimento das guerras, o terrorismo, os furtos, as chantagens, difamações, extorsões, corrupção, pedofilia, quebra de direitos autorais, pichações, furto de informações, estelionatos, falsidade ideológica, brigas pessoais, guerras internacionais e praticamente qualquer outra prática indevida, inadequada e muitas vezes criminosa. É o mundo real e sujeito às leis reais já existentes e às novas leis que vêem sendo criadas. Mesmo crimes que não sejam cometidos via internet, como terrorismo em massa, um estupro ou homicídio, podem ser cometidos deixando evidências em um computador ou em ativos de rede de computadores. Sendo assim, é crescente a necessidade dos estudos na área de forense computacional que auxiliem o desenvolvimento de metodologias e a acumulação de conhecimentos para a descoberta, manipulação e análise de evidências digitais. Para entender a aplicação de técnicas de forense computacional basta ir se familiarizando com os conceitos e objetivos desta prática. A analogia com a prática forense e pericial de uma Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 9/166 forma geral é comum e bastante esclarecedora. Por exemplo, o ambiente computacional é tratado como uma cena de crime, um host pode ser tratado como um cadáver sendo dissecado em autópsia. Em outros casos pode-se ter um ativo de rede sendo analisado como um paciente que ouve do médico que não é nada, pois o sintoma está dentro de padrões normais. Claro que a necessidade de legalidade jurídica e a ética são partes da prática de forense computacional, pois de que valem as ações de um perito investigador se as suas ações apagam ou invalidam provas cruciais desnecessariamente. Respostas a incidentes na Internet abrangem uma grande gama de tópicos da segurança de redes de computadores, tanto no que diz respeito ao escopo de abrangência de tempo quanto no que diz respeito a itens de segurança física e segurança lógica. No quesito tempo, a necessidade de providências abrange desde muito antes até muito depois de um incidente de segurança. Quanto à proximidade física é preciso saber que há o macro e o micro, afinal às vezes é necessário preocupar-se com um eventual atacante que está no outro lado do planeta ou com umas poucas linhas de código malicioso implantadas apenas na memória volátil de um host comprometido cujo teclado está sob seus dedos. A aplicação de técnicas de forensecomputacional e as respostas a incidentes de segurança estão diretamente relacionadas aos interesses finais que se quer obter. As diretivas de regulamentos internos e objetivos das partes envolvidas e à legislação pertinente ao caso devem ser consideradas de forma especial. Uma empresa comercial pode priorizar a restauração de um sistema sem tirá-lo de funcionamento e com total sigilo. A empresa investigadora particular pode ter limitações legais principalmente ao envolver ambientes de rede de terceiros. Uma instituição Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 10/166 investigadora policial do governo pode querer ter todas as provas preservadas e ter dificuldades ao lidar com países estrangeiros. O administrador de rede do sistema atacado pode ser bem solícito, mas ser o culpado de fato. O uso de uma metodologia para uma investigação possibilita obter resultados melhores e mais eficientes com um custo menor de tempo e trabalho. No pré, pós e durante o incidente sente- se o calor da hora e as pressões são corriqueiras, parte do cotidiano do investigador. Assim, a metodologia é uma necessidade para tornar claro o que se quer e tornar possível conseguir isto. As ferramentas para a investigação de incidentes de segurança são essenciais. É uma guerra. Quer seja física ou lógica, estamos todos num território de guerra. Numa guerra usam-se armas. Como em qualquer guerra, as armas de defesa servem para ataque e vice-versa. As ferramentas na forma de softwares individuais ou como kits completos e robustos são as armas dos atacantes e a dos seus oponentes. É preciso conhecer as armas para poder usá-las, no ataque ou defesa. Mas para trabalhar com forense computacional é bom ter uma visão superficial e profunda das armas reais e das armas hipotéticas possíveis, para poder supor o que pode ter acontecido, estar acontecendo ou vir a acontecer. Pode-se ter um melhor entendimento do poder do agressor se puder comparar e entender o que ele fez com uma determinada arma e o que ele poderia ter feito, principalmente se for necessário saber como ele age, pode agir, como ele é, quem ele é, onde ele está e, mais ainda, pegá-lo. A segurança neste caso se refere principalmente à segurança das provas e dos procedimentos. Pense na situação análoga do tipo "não toquem em nada até que os peritos Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 11/166 terminem", mas lembre-se que os peritos também têm que tentar deixar certas, muitas, coisas preferencialmente intactas. A estratégia de uso de um ambiente de forense computacional seguro minimiza as possibilidades de que as provas ou procedimentos possam ser comprometidos propositalmente ou não pelas partes envolvidas, por terceiros, por programas de computador e, inclusive, pelos próprios peritos investigadores. Os estudos de casos reais dão uma visão real do lado prático e excitante da ação em si. É extensa a gama de aplicabilidades das técnicas de forense computacional na resposta a incidentes na internet. Essas técnicas são componentes do presente em constante mutação. Sendo assim, as informações aqui apresentadas são baseadas em bibliografia recente e fontes de informações diversas, inclusive da Internet, tais como sites, revistas eletrônicas e fóruns. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 12/166 1.3 Observações iniciais Neste trabalho a palavra "máquina" será usada para se referenciar a um computador de qualquer porte independentemente de seu uso como servidor, máquina individual ou outra funcionalidade. Os exemplos de comandos de linha serão com um sinal de buffer antes do exemplo e eventualmente entre aspas (""). Assim, se um exemplo é "# /bin/ls -la *.*" ou # /bin/ls -la *.* então o comando a ser executado em seu prompt de comando é: /bin/ls -la *.* Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 13/166 1.4 A evolução da criminalidade a evolução tecnológica É a velha história, coloca-se uma cerca de arame e o ladrão usa um alicate. Então, coloca- se uma cerca de arame farpado e o ladrão usa um alicate e uma luva. Veja como funcionou com a criptografia. Ao longo da história a criptografia foi uma das tecnologias que evoluiu com as necessidades de sigilo nas comunicações da humanidade e sempre que foi criado um método de cifragem mais moderno ele foi mais cedo ou mais tarde quebrado, em seguida surgia um novo método mais seguro e uma estratégia de quebrar mais eficiente e assim continua a acontecer. A criptografia quântica existe em teoria e os estudos para suas vulnerabilidades e quebra também já existem. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 14/166 1.5 Forense Computacional Ramo da criminalística que compreende a descoberta, preservação, restauração e análise de evidências computacionais. O termo forense origina-se do meio policial, onde peritos investigadores procuram analisar de forma minuciosa tudo o que encontram na cena do crime, desde um cadáver até um minúsculo fio de cabelo ou pequena mancha de tinta e com um isolamento adequado da área, procurando preservar as evidências seguem ao passo seguinte de examinar com as técnicas adequadas, como balística e exames laboratoriais. A contaminação ou incorreção na aplicação das metodologias pode invalidar as provas para um tribunal. A mesma analogia pode ser dada à forense computacional. Cada crime de computador deixa rastros e é preciso saber encontrá-los. Os computadores sempre foram suscetíveis aos ataques e intrusões, mas assim como cresce a sofisticação da tecnologia dos computadores, também é crescente a necessidade de antecipar e se resguardar diante da taxa de crescimento da atividade de crimes de computador. A análise forense está se tornando uma parte integrada à resposta a incidentes de segurança juntamente com o crescimento do número de investigadores treinados em forense computacional e da disponibilidade de kits de ferramentas de forense computacional. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 15/166 São etapas fundamentais na forense computacional a coleta de informações, a identificação de evidências, a obtenção e coleta das evidências e a reconstrução dos eventos. O objetivo da forense computacional é conduzir uma investigação estruturada com uma metodologia que permita determinar o que aconteceu, quem foi responsável e, a investigação deve ser executada de uma forma que os resultados sejam úteis em um processo criminal. Forense computacional é a aplicação de técnicas de análise e investigação em computadores com o interesse de determinar evidências legais em potencial. A evidência em forense computacional é freqüentemente procurada em um vasto número de crimes de computador ou no emprego inaceitável, incluindo roubo de segredos comerciais, roubo ou destruição de propriedade intelectual e fraudes. Os especialistas em forense computacional usam uma ampla gama de métodos para encontrar dados que se encontram em um sistema computacional e freqüentemente recuperar arquivos que foram deletados, cifrados ou danificados, em algumas vezes, há anos atrás. As evidências colhidas por um especialista em forense computacional são úteis e freqüentemente necessáriasdurante a busca, depoimentos e disputa judicial. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 16/166 Capítulo II - INVESTIGANDO 2.1 O profissional O profissional que atua na área de forense computacional pode ser chamado de perito ou investigador. São características interessantes para um investigador na aplicação de técnicas de forense computacional: - Conhecimento e entendimento profundo das características de funcionamento de sistemas de arquivos, programas de computador e padrões de comunicação em redes de computadores; - Familiaridade com as ferramentas, técnicas, estratégias e metodologia de ataques conhecidos, inclusive as que não se tem registro de ter ocorrido, mas que já são vistas como uma exploração em potencial de uma determinada vulnerabilidade de um sistema. - Faro investigativo para perceber rastros sutis de ações maliciosas - Esmero pela perfeição e detalhes. Sempre deve haver rastros, mesmo que muito sutis. - Entendimento sobre o encadeamento de causas e conseqüências em tudo o que ocorre num sistema para construir a história lógica formada por ações maliciosas ou normais que já tenham ocorrido, que estejam em curso e que possam vir a acontecer; - Conhecimento da legislação envolvida; Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 17/166 - Conhecimento das diretivas internas das empresas e instituições envolvidas no processo investigativo, com especial atenção às limitações como diretivas de privacidade, sigilo e escopo ou jurisdição de atuação; - Cuidado com a manipulação e preservação de provas legais em potencial, inclusive com uma metodologia de cadeia de custódia. O que não é visto como prova hoje pode vir a ser uma prova e então é bom ter sido preservada o suficiente para ser aceita em um tribunal. - Noções sobre a psicologia dos atacantes em potencial a respeito de perfis de comportamento e motivações. - Experiência ao examinar os rastros em um incidente perceber o nível de sofisticação e conhecimento de um atacante, especialmente interessante se o atacante usa subterfúgios para parecer menos capaz, como deixar rastros óbvios e parecer um ataque simples para ocultar ações maliciosas muito mais perigosas e muito mais escondidas. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 18/166 2.2 Uso de metodologias em forense computacional A padronização e a quantidade de metodologias na área de forense computacional são ainda insuficientes considerando-se a grande demanda de aplicabilidade. É crescente o número de incidentes que transpõe os níveis de escopo de atuações de empresas, instituições, jurisdições policiais e até países. Para uma perfeita adequação das práticas e procedimentos da forense computacional às legislações pertinentes a cada um dos envolvidos em um caso de incidente de segurança, é crescente a necessidade de metodologias com padrões internacionalmente aceitos para a forense computacional. Algumas questões que dificultam a padronização e definição de metodologias estão relacionadas à grande diversidade de equipamentos, programas de computador e sistemas existentes. A cada dia surgem novas versões de sistemas operacionais, novos ativos de rede e novas mídias portáteis ou não. Isto aumenta a necessidade e ao mesmo tempo torna mais difícil a padronização de procedimentos e a criação e implementação de metodologias. Princípios Internacionais para Evidência Computacional e Organização Internacional de Evidência Computacional (International Principles for Computer Evidence - International Organization on Computer Evidence - IOCE) A Organização Internacional de Evidência Computacional (International Organization on Computer Evidence - IOCE) foi estabelecida em 1995 para prover às agências internacionais da Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 19/166 lei um fórum para troca de informação a respeito de investigações de crimes de computadores e outras matérias de forense computacional. Comprometida com as agências, com credibilidade do governo dos EUA, envolvidas em investigação forense computacional, a IOCE identifica e discute temas de interesse em seus continentes, facilita a disseminação internacional da informação e desenvolve recomendações por consideração de suas agências membro. Também para formular padrões de evidência de computador a IOCE desenvolve comunicações entre agências membro e mantém conferências engrenadas para o estabelecimento de relações de trabalho. Em resposta ao Plano de ação e comunicação do G8 ("G-8 Communique and Action Plans") de 1997 a IOCE recebeu a tarefa de desenvolver padrões internacionais para a troca e recuperação de evidência eletrônica. Grupos de trabalho no Canadá, Europa, Reino Unido e nos Estados Unidos foram formados para sediar estes padrões de evidência computacional. Durante a Conferência Internacional de Crimes de Alta Tecnologia e Forense ("International Hi-Tech Crime and Forensics Conference - IHCFC") de Outubro de 1999, a IOCE realizou reuniões e "workshops" nos quais revisaram o Guia de Boas Práticas do Reino Unido ("United Kingdom Good Practice Guide") e o Rascunho de Padrões do SWGDE ("SWGDE Draft Standards"). O grupo de trabalho propôs os seguintes princípios apresentados com aprovação unânime: Princípios Internacionais da IOCE: Os princípios internacionais desenvolvidos pela IOCE para recuperação padronizada de evidências baseadas em computador têm como centro os seguintes atributos: - Consistência com todos os sistemas legais; Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 20/166 - Permissão para o uso de uma linguagem comum; - Durabilidade; - Habilidade de cruzar limites internacionais; - Habilidade de dar confiança em relação à integridade da evidência; - Aplicabilidade de toda a evidência forense; - Aplicabilidade em todos os níveis inclusive do indivíduo, agência e país. Tais princípios são: - Ao se apreender uma evidência digital, as ações não devem mudar aquela evidência; - Quando for necessário para uma pessoa acessar a evidência digital original aquela pessoa deve ser legalmente e tecnicamente competente; - Toda atividade relacionada à obtenção (apreensão), acesso, armazenagem ou transferência de uma evidência digital deve ser completamente documentada, preservada e disponível para revisão; - Um indivíduo é responsável por todas as ações tomadas a respeito de uma evidência digital enquanto a evidência digital estiver em seu poder; - Qualquer agência que é responsável por obter, acessar, armazenar ou transferir uma evidência digital é responsável em acordo com estes princípios; Outros itens recomendados pela IOCE para debate futuro e/ou facilitação incluem: - Competência forense e a necessidade de gerar adesão na aceitação internacional e na validação de ferramentas, técnicas e treinamento; Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 21/166 - Temas relacionados a práticas e procedimentos para a análise de evidência digital e o compartilhamento de informação relativa a crimes de alta tecnologia e forense computacional, tais como eventos, ferramentas e técnicas. 2.3 Scientific Working Group on Digital Evidence (SWGDE) - Grupo de Trabalho Científico em Evidência DigitalO grupo The Federal Crime Laboratory Directors (Diretores de Laboratórios de Criminalística Federais) formou o SWGDE in 1998 com objetivo de explorar evidências digitais como uma disciplina forense. Os membros iniciais foram os laboratórios de forense do ATF, DEA, FBI, IRS-CID, US Customs, US Postal Inspection Service e o US Secret Service. A NASA e o Department of Defense Computer Forensics Laboratory participaram desde o início. Diversos outros membros foram integrando o grupo, sendo que os membros individualmente tinham muitos anos de experiência em forense digital. Muitos dos membros do SWGDE são membros de proeminentes organizações, tais como American Academy of Forensic Science, IACIS, HTCIA, e IOCE. Logo as discussões revelaram que de fato existiam muitas semelhanças, sobreposição nas disciplinas de análise de áudio, vídeo, imagem e que era desejável desenvolver padrões e harmonizar as operações interdisciplinares. Como resultado o Scientific Working Group on Digital Evidence (SWGDE) foi criado sob o guarda chuva que cobria os outros "Scientific Working Groups" sobre DNA (SWGDAM), Questioned Documents (Documentos questionados) Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 22/166 (SWGDOC), Trace Evidence (SWGMAT), Drugs (Drogas) (SWGDRUG), Fire and Explosives (Fogo e Explosivos) (SWGFEX), Fingerprints (Impressões digitais) (SWGFAST) e Imaging (imagem) (SWGIT). SWGDE é focado na prática de forense de evidências digitais primeiramente em laboratório. Entretanto, os documentos gerados por ele são úteis para executar procedimentos em um laboratório não tradicional ou em campo. Alguns dos trabalhos do SWGDE exploraram os princípios da forense digital e desenvolveram definições básicas. Em 1999, o SWGDE adotou uma série de princípios e definições que o grupo sentiu que eram tão universais o quanto possível. Estes princípios foram publicados no "Forensic Science Communications" e submetidas em outubro de 1999 ao "International Organization on Computer Evidence (IOCE). A reunião da IOCE foi feita em conexão com uma conferência maior, a International High Tech Crime and Computer Forensics Conference". Os delegados na reunião usaram o material da SWGDE assim como o material contido no "United Kingdom's Association of Chief Police Officers (ACPO) Best Practice Guide" (Guia de Boas Práticas da Associação de Chefes de Polícia do Reino Unido) para formar os princípios da IOCE. Os princípios da IOCE adotaram as definições do SWGDE. O SWGDE e o ASCLD/LAB American Society of Crime Laboratory Directors (Associação Americana de Diretores de Laboratórios de Criminalística) propuseram colocar a evidência digital como uma disciplina amplamente aceita. Foi gerado um documento, o ASCLD/LAB Manual , importante para reconhecer que evidência digital inclui exame de Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 23/166 vídeo/imagem digital e áudio digital. Cada item no ASCLD/LAB Manual é marcado com um E, I ou D, que representam "essential" (essencial), "important" (importante) e "desirable" (desejável). O documento, em discussão, de boas práticas (Best Practices) é projetado para prover diretrizes para laboratórios os quais tenham ou visam ter unidades de evidência digital (computador, áudio, vídeo ou imagem digital) aceitas como confiáveis. Este documento pode e deve ser usado de forma personalizada, sendo que certos itens podem ser documentados como sendo inaplicáveis em um determinado caso. Partes do documento foram deixadas propositalmente vagas para permitir às agências a habilidade de determinar internamente as especificidades. Há muita discussão a respeito dos termos de credibilidade, certificação e qualificação. Deve ser observado que o SWGDE não determina credibilidade, certificação, aprovação ou qualificação a indivíduos ou laboratórios. Para evitar este tipo de confusão o nome do documento foi dado como "Best Practices for Digital Evidence Laboratory Programs" (Boas Práticas para Evidência Digital em Programas de Laboratórios). A respeito do assunto é interessante observar os seguintes materiais: http://www.fbi.gov/hq/lab/fsc/backissu/july2000/swgroups.htm http://www.fbi.gov/hq/lab/fsc/backissu/april2000/swgde.htm http://www.ioce.org/2002/G8%20Proposed%20principles%20for%20forensic%20evidenc e.pdf http://www.ascld.org/accreditation.html http://www.ASCLD-LAB.org/pdf/aslabrevisions.pdf Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 24/166 http://www.ASCLD-LAB.org/aslab08.html A missão do SWGDE é estabelecer e promover diretrizes e definições para o manuseio de evidências digitais. Visando esta missão, a SWGDE tem seis objetivos: 1- Manter juntas as organizações ativamente engajadas na análise e exame de evidência digital no esforço de legislação das agências ("Law Enforcement Agencies" Agências da Lei) para a troca e disseminação de informações; 2- Discutir, compartilhar e comparar métodos, protocolos e pesquisa na análise de evidência digital no esforço de legislação das agências ("Law Enforcement Agencies" Agências da Lei); 3- Estabelecer diretrizes de garantia de qualidade para a análise de evidências digitais; 4- Cooperar com outros organismos dos EUA e internacionais no desenvolvimento de diretrizes para a análise de evidências digitais; 5- Servir como um mecanismo para rever e revisar diretrizes para a análise de evidências digitais; 6- Disseminar as diretrizes das "Law Enforcement Agencies SWGDE" (Agências da Lei), recomendações e outros produtos de trabalhos para benefício dos membros da "Law Enforcement Agencies". Em março de 1998 nos princípios propostos pelo G8 para procedimentos relativos às evidências digitais, a IOCE (International Organization on Digital Evidence) direcionou-se para Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 25/166 esboçar princípios internacionais relativos a evidências digitais, para assegurar a harmonização dos métodos e práticas entre nações e garantir a habilidade de usar uma evidência digital coletada em um estado em um tribunal em um outro estado. Em março de 2000, o primeiro relatório da IOCE foi apresentado ao sub-grupo, propondo uma série de definições e princípios em seguida à Conferência Internacional de Crimes de Alta Tecnologia e Forense (International high-tech crimes and forensics conference) em Londres em outubro de 1999. Depois de revistas pelos especialistas do sub-grupo, as seguintes recomendações foram feitas: 1. Cada estado membro é encorajado a considerar os seguintes princípios ao estabelecer procedimentos para coleta, preservação e uso de evidência digital, de acordo com sua legislação nacional, padrões institucionais e para estar ciente das potenciais diferenças ao coletar evidências conforme o exigido em outros estados. 2. Estes princípios devem ser submetidos a IOCE ou outro padrão nacional, regional ou internacional tornando instituições e organizações responsáveis pela promoção de procedimentos relativos a evidência digital para revisão. 3. A IOCE deve desenvolver em consulta com as instituições acima mencionadas um guia de boas práticas genérico para coleta, preservação e uso de evidência digital, abrangendo a vastidão de fontes existentes de evidências digitais; 4. O sub-grupo de crimes de alta tecnologia deve revisar regularmente o trabalho da IOCE. Aplicação de Técnicasde Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 26/166 Princípios: - Quando lidar com evidência digital todos os princípios de forense em geral e procedimentos devem ser aplicados; - Ao apreender uma evidência digital as ações tomadas não devem modificar a evidência; - Quando é necessário para uma pessoa acessar a evidência digital original, tal pessoa deve ter sido treinada para este propósito; - Toda atividade relativa à apreensão, acesso, armazenamento ou transferência de evidência digital deve ser completamente documentada, preservada e disponível para revisão; - Um indivíduo é responsável por todas as ações tomadas com respeito à evidência digital enquanto a evidência digital estiver em seu poder; - Qualquer agência, a qual é responsável pela apreensão, acesso, guarda ou transferência de evidência digital é responsável em conformidade com estes princípios; Definições gerais relativas à evidência digital Evidência digital Informação armazenada ou transmitida em uma forma binária que pode ser fidedigna (confiável) em um tribunal. Evidência digital original Itens físicos e objetos de dados associados a estes itens no momento da apreensão. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 27/166 Duplicata de Evidência Digital Uma duplicata é uma reprodução precisa de todos os objetos de dados contidos em um item físico. Cópia Uma cópia é uma reprodução precisa da informação contida em objetos de dados independentemente do item físico original. O SWGDE (Scientific Working Group on Digital Evidence) é um representante norte-americano na International Organization on Computer Evidence (IOCE). Padrões foram apresentados durante a International Hi-Tech Crime and Forensics Conference (IHCFC), realizada em Londres, de 4 a 7 de outubro de 1999. Os padrões desenvolvidos pelo SWGDE seguem um único princípio: o de que todas as organizações que lidam com a investigação forense devem manter um alto nível de qualidade a fim de assegurar a confiabilidade e a precisão das evidências. Esse nível de qualidade pode ser atingido através da elaboração de SOPs (Standard Operating Procedures Procedimentos Padronizados de Operação), que devem conter os procedimentos para todo tipo de análise conhecida e prever a utilização de técnicas, equipamentos e materiais largamente aceitos na comunidade científica internacional [10]. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 28/166 O Scientific Working Group on Digital Evidence (SWGDE) foi alterado com o desenvolvimento de diretrizes interdisciplinares para a recuperação, preservação e exame de evidência digital, incluindo áudio, imagens e equipamentos eletrônicos. Um documento foi rascunhado pelo SWGDE e apresentado na "International Hi-Tech Crime and Forensics Conference (IHCFC)" em Londres em 4 a 7 de outubro de 1999. Seu propósito é o estabelecimento de traços de evidências digitais entre nações e tem a intenção de levar a uma discussão construtiva a respeito de evidência digital. Este documento foi adotado como rascunho padrão pelas agências da lei nos EUA. A última parte do século vinte foi marcada pelos transistores eletrônicos e as máquinas e idéias fizeram isso possível. Como resultado, o mundo mudou de analógico para digital. Embora o computador reine absoluto no reino digital, ele não é o único equipamento digital. Uma diversidade de equipamentos de áudio, vídeo, comunicações e fotografia estão se tornando próximos a um computador. Na perspectiva das leis mais informações que podem ser usadas em tribunais estão sendo armazenadas, transmitidas ou processadas de forma digital. A conectividade resultante da globalização da economia com empresas fornecendo produtos e serviços é de fato internacional e tem permitido a criminosos agirem transpondo jurisdições com facilidade. Conseqüentemente um atacante pode ser trazido a um tribunal em uma jurisdição, enquanto as evidências digitais necessárias para o processo judicial de acusação ocorrer com sucesso podem estar em outras jurisdições. Esta situação requer que todas as nações tenham a habilidade de coletar evidências digitais para suas próprias necessidades e para outras nações. Cada jurisdição tem seu próprio sistema de governo e administração e sua própria justiça, mas para um país Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 29/166 proteger a si mesmo e seus cidadãos, ele deve estar capacitado a fazer uso de evidências digitais coletadas por outras nações. Pensando assim, não é razoável esperar que todas as nações conheçam e concordem com as leis e regras das outras nações, mas é possível encontrar um meio de permitir a troca de evidências. Este documento apresentado foi uma primeira tentativa de definir os aspectos técnicos destas trocas. O formato do documento foi adotado em acordo com o formato do manual da "American Society of Crime Laboratory Directors/Laboratory Accreditation Board" (Associação Americana de Diretores de Laboratórios de Criminalística/Mesa de Aprovação de Laboratórios) Definições Aquisição de evidência digital: Inicia quando a informação e/ou itens físicos são coletados ou guardados para finalidade de análise. O temo "evidência" implica em que o coletor da evidência é reconhecido em tribunais. O processo de coleta é assumido como sendo um processo legal e apropriado para as regras de evidência naquela localidade. Um objeto de dados ou um item físico torna-se evidência quando assim o for julgado por um oficial da lei ou designado. Objeto de dados: Objetos ou informação com valor de prova em potencial que são associados com itens físicos. Objetos de dados podem ocorrer em diferentes formatos sem alterar a informação original. Evidência Digital: Informação com valor de prova armazenado ou transmitido de forma digital. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 30/166 Itens físicos: Itens nos quais objetos de dados ou informação podem ser armazenados e/ou através dos quais os objetos de dados são transferidos. Evidência digital original: itens físicos e objetos de dados associados a estes itens no momento da apreensão. Duplicata de Evidência Digital Uma duplicata é uma reprodução precisa de todos os objetos de dados contidos em um item físico. Cópia Uma cópia é uma reprodução precisa da informação contida em objetos de dados independentemente do item físico original. Padrões Princípio 1 Para garantir que a evidência digital é coletada, preservada, analisada ou transferida de forma a preservar a precisão e confiabilidade da evidência a organizações da lei e organizações forenses devem estabelecer e manter um efetivo sistema de controle de qualidade. Padrões de Procedimentos Operacionais (Standard Operating Procedures SOPs) definem uma diretriz de controle de qualidade documentada que deve ser personalizada para registrar o caso apropriadamente e usar procedimentos, equipamentos e materiais amplamente aceitos. Padrões e critério 1.1 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 31/166 Todas as agências que apreendem ou examinam evidências digitais devem manter um documento SOP (Standard Operation Processess - Procedimentos Operacionais Padrão). Todos elementos de umaagência policial e os procedimentos a respeito de uma evidência digital devem ser claramente determinados neste documento SOP, o qual deve ser emitido pela autoridade competente da gerência da agência. O uso das SOPs é fundamental para ambos o legislativo e a ciência forense. Diretrizes que são consistentes com os princípios científicos e legais são essenciais para a aceitação dos resultados e conclusões por tribunais e outras agências. O desenvolvimento e implementação destas SOPs devem ser sob os poderes de uma autoridade competente da gerência da agência. Padrões e critérios 1.2 A gerência da agência deve rever as SOPs numa freqüência anual para certificar-se de que continuam apropriadas e efetivas em vista das mudanças tecnológicas que envolvem os tipos, formatos e métodos para apreensão e análise de evidências digitais. A revisão também serve para se assegurar que o pessoal, treinamento, equipamento e procedimentos continuam apropriados e efetivos. Padrões e critérios 1.3 Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 32/166 Procedimentos devem ser aceitos de uma forma geral em campo ou apoiados por obtenção de dados e gravados de uma forma científica. Devido à variedade de procedimentos científicos que podem validamente ser aplicados a um dado problema, os padrões e critérios para procedimentos de análise precisam ser flexíveis. A validade de um procedimento deve ser estabelecida pela demonstração de precisão e confiabilidade de técnicas específicas. Na área de evidência digitais revisões de SOPs em conjunto com outras agências podem ser úteis. Padrões e critérios 1.4 A agência deve manter cópias escritas dos procedimentos técnicos apropriados. Os procedimentos devem ter determinados sua aplicação e finalidade. Elementos necessários e exigidos tais como hardware e software devem ser listados e os passos apropriados para o uso devem ser listados ou discutidos. Quaisquer limitações no uso do procedimento ou no uso ou na interpretação dos resultados devem estar estabelecidas. O pessoal que usa estes procedimentos deve estar familiarizado com eles e estarem disponíveis para referência. Padrões e critérios 1.5 A agência deve usar hardware e software que é apropriado e efetivo para a obtenção e apreensão ou processo de análise. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 33/166 Embora muitos procedimentos aceitos devam ser usados para efetuar uma tarefa, considerar a variação entre casos requer que o pessoal tenha a flexibilidade de exercitar o julgamento em escolher um método apropriado ao problema. O hardware usado na obtenção e/ou análise da evidência digital deve estar em boas condições operacionais e ser testado para ter certeza de que opera corretamente. O software deve ser testado para ter certeza de que produz resultados confiáveis para uso com a finalidade de obtenção e apreensão e/ou análise. Padrões e critérios 1.6 Toda a atividade relacionada à obtenção, armazenagem, análise ou transferência de uma evidência digital deve ser guardada por escrito e deve estar disponível para revisão e testemunho. Em geral, a documentação de apoio a conclusões deve ser de tal forma que na ausência de quem a originou, outra pessoa competente possa avaliar o que foi feito, interpretar os dados e chegar às mesmas conclusões de quem originou a documentação. A exigência para as necessidades de confiabilidade requer uma cadeia de custódia para todos os itens da evidência. A documentação da cadeia de custódia deve ser mantida para toda evidência digital. Anotações do caso e registros de observações devem ser feitas de uma forma permanente. Anotações de próprio punho (à mão) devem ser feitas à tinta, não usando lápis, embora a caneta (inclusive colorida) deve ser apropriada para diagramas ou para fazer traços. Quaisquer correções às notas devem ser feitas por um traço único rubricado, Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 34/166 sendo que nada nas informações escritas à mão deve ser sobreposta ou apagada. As anotações e registros devem ser autenticados por assinaturas à mão, iniciais, assinaturas digitais ou outras formas de marca. Padrões e critérios 1.7 Qualquer ação que tenha o potencial de alterar, danificar ou destruir qualquer aspecto de uma evidência original deve ser feita por pessoal qualificado do ponto de vista forense. Como esboçado nos padrões e critérios anteriores, a evidência digital tem valor apenas se puder ser precisa, confiável e controlada. Um programa de qualidade em forense consiste em pessoal treinado, equipamento apropriado, software e procedimentos para em conjunto garantir estes atributos. 2.4 Sistema operacional não mais confiável Após um incidente de segurança em um host deve-se procurar sempre trabalhar com binários confiáveis. Um invasor pode alterar os arquivos binários substituindo-os por códigos maliciosos. Uma boa execução de procedimentos na preparação pré-incidente, na detecção de um incidente e na recuperação ajuda a evitar ou minimizar problemas com códigos binários alterados. No pré-incidente pode ser calculado o "hash" dos arquivos a serem protegidos, isto pode ser feito utilizando uma ferramenta de cálculo de verificação com por exemplo o MD5sum e com Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 35/166 ferramentas como o Tripwire. Feito isso, pode-se ter uma verificação periódica com vistas a detectar alterações dos mesmos arquivos fazendo o cálculo de hash dos arquivos atuais com o hash que foi anteriormente guardado e, se estiver diferente, o arquivo foi necessariamente alterado. Já na fase de recuperação, principalmente se a recuperação foi parcial, ou seja, se o sistema não foi formatado ou instalado em um novo HD e, então, não foi instalado a partir do zero, o cálculo de hash pode ajudar a saber se os arquivos cruciais do sistema estão com um cálculo de verificação hash correto o que quer dizer que tem o conteúdo original inalterado. Um preceito de um programa de hash é que dois arquivos diferentes tenham possibilidade tendendo a zero de repetir um mesmo resultado de cálculo de hash, mesmo que a diferença seja de um único bit, ao mesmo tempo, dois arquivos com conteúdos iguais dão o mesmo resultado de cálculo de hash. Em alguns ataques até o próprio kernel pode ser alterado e, então, todo o sistema passa a não ser confiável. Um atacante pode alterar os seus arquivos binários importantes de forma a modificar a resposta que deveria ser dada para, por exemplo, filtrar uma resposta e dar outra no lugar e então ocultar conexões de redes, alterações, processos maliciosos em execução e tudo o mais que a criatividade dele permitir. Exemplos: Se é sabido que é utilizado o netstat para verificar conexões de rede ativas e recentes, o atacante pode colocar uma versão alterada do netstat onde todas as outras conexões são mostradas e todas as conexões espúrias que ele desejar podem ser ocultadas por uma resposta irreal. Se não se sabe que o arquivo binário do nestat está alterado, então se acredita que está tudo Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 36/166 normal. O mesmo pode acontecer com o comando ps, que se alterado pode esconder processos ativos maliciosos não mostrandoos mesmos na resposta do ps. O comando ls pode ser alterado para não mostrar arquivos espúrios deixados pelo atacante. Nos procedimentos investigativos, ao se usar binários não confiáveis de um host sendo investigado, pode-se acionar uma armadilha deixada por um atacante e se o usuário ativo estiver com poderes de super usuário (root ou administrador) talvez venha a disparar uma arma deixada pelo atacante com a sua própria mão e contra a sua própria máquina ou contra sistemas de terceiros. Para usar arquivos binários confiáveis pode ser interessante você tê-los em uma mídia que não possa ser alterada, como um CD-R, que com o espaço restante queimado é gravável apenas uma vez. E, deixar esta mídia guardada em um local seguro como em um cofre. 2.5 Proteção da evidência A proteção da evidência é algo crítico. . Um investigador de forense computacional experiente vai procurar ter certeza de que um sistema de computador seja cuidadosamente manuseado para se assegurar de que: - Nenhuma evidência seja danificada, destruída ou mesmo comprometida pelos procedimentos usados na investigação; - Nenhum vírus ou código malicioso seja introduzido em um computador durante a análise forense. - A evidência extraída seja adequadamente manuseada e protegida de danos mecânicos, elétricos ou eletromagnéticos. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 37/166 - Uma cadeia de custódia seja estabelecida e mantida; - Se for necessário interromper ou interferir nas atividades normais da rede ou sistema computacional, que seja por uma porção reduzida e limitada de tempo; - Qualquer informação sigilosa e privativa que seja inadvertidamente obtida durante uma análise forense e que não fizer parte do objetivo da investigação será eticamente e legalmente respeitada e não divulgada. 2.6 Cadeia de custódia Na forense computacional é uma arte obter, guardar e analisar dados a respeito de uma possível atividade criminal de forma a poder usar as provas obtidas em um tribunal com aceitação jurídica. O cuidado na manipulação das provas vem junto com a necessidade fundamental de documentação de toda a investigação. Todas as precauções devem ser consideradas e implementadas para se ter a certeza de que os dados coletados são precisos, verdadeiros, confiáveis e que não foram modificados desde a sua obtenção e coleta. A coleta de dados eletrônicos que possam ser usados como provas em atividades ilegais ou inaceitáveis deve ser feita com grande atenção. Devem ser registradas as informações a fim de identificar cada pessoa que lidar com as provas, assim como, cada pessoa que tiver acesso às provas e quando as provas são repassadas de uma pessoa a outra. Documentar cada passo dado na coleta e processamento dos dados e seguir seus movimentos, ou seja, identificar cada vez que a mídia de prova mudar de um responsável para outro, com nome, data, hora, local, motivo e observações. Isto é a cadeia de custódia. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 38/166 Uma boa prática é usar ferramentas confiáveis, salvar os dados em mídia removível e garantir que estes dados possam ser autenticados desde a sua obtenção e coleta, com métodos de cálculo de "hash", assinaturas e testemunhas. 2.7 Obtenção e Coleta de dados Mesmo que não haja a intenção de usar em um tribunal as provas obtidas. Os procedimentos adotados na coleta de dados devem ser formais e seguindo uma metodologia como se as provas obtidas fossem para serem usadas em um tribunal. Durante o andamento do caso outros acontecimentos podem provocar a mudança na intenção de levar o caso a um tribunal. Todas as informações que sejam relevantes devem ser coletadas. Em determinadas ocasiões as informações obtidas levarão à descoberta de novas provas e até de novos crimes e haverá a necessidade de iniciar os procedimentos referentes ao fato novo descoberto. Muitas vezes é necessário restaurar informações de arquivos apagados ou de mídias danificadas. Há vários softwares específicos para esta tarefa. São fontes de informações em potencial: - A CPU e seus dispositivos internos de registro (cachê e registradores) - A memória de componentes, tais como placas. - A Memória RAM - O tráfego de rede - As informações voláteis de estado do sistema (processos, usuários logados e conexões de rede abertas) Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 39/166 - dispositivos de armazenagem (Disquetes, HDs, ZIP Drives e outras mídias) 2.8 A decisão de desligar ou não, eis a questão. Quando se começa a análise forense em um host, não se pode confiar em nada no host. Deve-se considerar o sistema como estando completamente comprometido, alterado, cheio de "rootkits" e armadilhas e completamente monitorado por vários atacantes em caso de ser examinado. Uma das primeiras decisões importantes é determinar se o sistema será desligado e quando o sistema será desligado. A decisão chave a respeito do desligamento do sistema deve ser baseada em uma avaliação a respeito dos dados voláteis que serão perdidos ao se desligar o sistema, a questão de que o atacante vai perceber imediatamente que a invasão foi detectada e não será mais possível examinar seu comportamento e até guardar mais provas. Pode-se obter e guardar os dados voláteis, desligar o sistema e partir para uma duplicação pericial. Pode-se manter o sistema ligado, isolar logicamente na rede o sistema, colocar uma monitoração em nível de rede e guardar mais dados e provas sobre as ações do atacante. Assim, pode-se conhecer mais o atacante determinando melhor suas habilidades, perfil, técnicas de ataque, identidade, localização, motivações e ações. É uma decisão chave. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 40/166 2.9 Duplicação pericial Duplicação pericial é o procedimento relativo a providenciar uma ou mais cópias de mídia envolvida em um incidente de segurança. A decisão sobre fazer ou não uma duplicação pericial é de extrema importância e deve ser tomada com brevidade. Os objetivos podem ser: - Preservar o original intocável; - Poder restabelecer o funcionamento do "host", mas ter um espelho do conteúdo do mesmo referente ao momento da duplicação pericial. - Ter mais de uma cópia para poder entregar usando o conceito de "melhor prova" * - Poder usar todo o sistema a ser investigado, inclusive inicializando um sistema idêntico ao original, para fazer investigação e testes de funcionamento sem comprometer os dados na mídia original; *Melhor prova: às vezes você não vai poder levar a mídia original a um tribunal, mas você pode ter uma "melhor prova" como uma cópia de dados em outra mídia ou até impresso em papel, por exemplo, desde que sejam seguidos procedimentos operacionais de investigação que montem uma cadeia de custódia que possibilite ao judiciário a garantia suficiente sobre a veracidade dos dados. Imagem de disco (disk image) Uma imagem de disco é um espelho do conteúdo lógico de um drive lógico que é guardado em um único arquivo. Isto pode ser útil para guardar o conteúdo de todo um drive para recuperar depois. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 41/166 2.10 Examinando a Rede Um dos principais sintomas para determinar com precisão que um incidente de segurança estáacontecendo e o que está acontecendo é o tráfego de rede anormal. Para verificar o que está acontecendo e separar o tráfego normal do tráfego suspeito, talvez tudo o que se precise seja de um notebook com alguma distribuição de Linux e examinar a rede com atenção aos detalhes fazendo uso de algumas ferramentas como as seguintes: * Tcpdump - http://www.tcpdump.org/ - Um dos principais programas de captura de pacotes de rede, base para inúmeros outros programas de captura de pacotes de rede. O tcpdump obtém e guarda ou imprime em tela os cabeçalhos dos pacotes de uma rede que combinem com uma determinada expressão. * Snort IDS - http://www.snort.org/ - Um excelente sistema de detecção de intrusões de rede, open source. * Ethereal - http://www.ethereal.com/ - Permite capturar e inspecionar graficamente o tráfego de rede e pode rodar em plataforma Linux ou Windows. * EtherApe - http://etherape.sourceforge.net/ - Mostra a atividade de rede graficamente. Hosts e links mudam de tamanho conforme o tráfego. Os protocolos são identificados por cores. * Tcpreplay - http://tcpreplay.sourceforge.net/ - Permite reenviar à rede pacotes criados a partir de tráfego capturado anteriormente e guardados em um arquivo pcap numa velocidade controlada. Ele faz o contrário do tcpdump. O objetivo principal de conhecer a rede é identificar o comportamento normal do tráfego e os desvios que por ventura venham a ocorrer. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 42/166 Na forense computacional aplicada a redes há o estudo do tráfego da rede procurando o que de fato acontece para questões cíveis, criminais e administrativas no intuito de proteger usuários, ativos de rede e/ou recursos de exploração, invasão e qualquer outro crime ou ato inaceitável para determinada política de segurança ou legislação. A monitoração de rede pode ter como objetivos: - Confirmar ou descartar a ocorrência de um incidente de segurança; - Acrescentar mais informações à investigação; - Obter e coletar provas; - Verificar o escopo de abrangência do incidente; - Identificar se a rede ou máquina comprometida está sendo ponto de partida para novos ataques; - Identificar quais máquinas, redes e ativos de rede foram comprometidos; - Determinar quais senhas e contas de usuários foram comprometidas; - Determinar quais senhas e contas de usuários estão sendo usadas pelo atacante; -Guardar dados e logs de eventos de forma mais segura fora da máquina comprometida; - Identificar data, hora e atividades de rede suspeitas; - Determinar quais endereços de IPs estão envolvidos no incidente de segurança; -Auxiliar a identificação de personagens importantes. Por exemplo, qual IP corresponde à vítima, ao atacante, a um repositório de ferramentas do atacante, a depósitos de informações obtidas pelo atacante, etc... - Determinar e-mails ou sites envolvidos no incidente de segurança; Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 43/166 - Avaliar o perfil, forma de agir (modus operandi) e capacidades aparentes do atacante. - Determinar se há mais atacantes e grupos de atacantes envolvidos. É crescente o número de protocolos em uso nas redes tornando o trabalho pericial mais difícil. Para fazer frente ao trabalho duro o investigador deve ter um bom kit de ferramentas. É grande o valor de se usar a ferramenta certa. Em algumas vezes, torna-se necessário um completo e complexo programa de segurança com inúmeras funções e em outra ocasião pode ser interessante ter um kit de centenas de programas, que tem funcionamento leve, bem controlado e servem exatamente para obter aquilo que se necessita, nem mais nem menos. A monitoração de rede, assim como todo o trabalho de forense computacional deve ter o seu objetivo muito bem definido, por exemplo, o que se quer monitorar é: - o tráfego que chega e sai de uma determinada máquina? - o tráfego que chega e sai de uma determinada rede? - um usuário específico? - tentativas de invasão? - assinaturas de ataque específicas? - um protocolo específico? A monitoração de rede pode ajudar a inocentar ou culpar alguém envolvido em um incidente de segurança. Por exemplo, um acusado pode ter um programa cavalo-de-tróia em sua máquina que dá controle total de sua máquina a um atacante qualquer a partir da internet. Assim o acusado pode fazer uso da "negativa plausível" dizendo que não sabe nada sobre as atividades Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 44/166 ilegais originadas em sua máquina. Se houve monitoração de rede pode ser que seja possível identificar se o cavalo-de-tróia estava em uso no momento da atividade ilegal, caso contrário pode ser que o próprio acusado tenha deixado instalado este cavalo-de-tróia para ter uma desculpa e se eximir de responsabilidades. Ter um monitor na rede guardando informações do tráfego de redes e que também guarde cópias dos logs locais das máquinas é uma opção que aumenta a segurança e confiabilidade destes logs. A localização de um monitor de rede é crucial em um sistema de segurança. Deve-se levar em conta o objetivo deste monitor, pois conforme o objetivo será determinada a sua posição na topologia de rede. Às vezes pode ser necessário usar a função de análise comutada de portas (espelhamento de portas) (SPAN) que permite que uma única porta do switch receba cópias de todos os pacotes destinados às outras portas para esta porta. As etapas principais da análise forense de rede são: - Capturar o tráfego conforme o objetivo determinado; - Guardar adequadamente e assinar digitalmente os dados obtidos; - Reconstruir as sessões suspeitas; - Interpretar o ocorrido considerando as relações causa e efeito; Diferentemente de vândalos e pichadores de sites, o atacante de elite e o atacante interno têm o interesse de não ter sua ação percebida procurando limitar suas atividades àquelas que são: Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 45/166 - normalmente não monitoradas, como o tráfego em portas como 80(web), 110(pop), 25(smtp), etc... - passíveis de evadir a monitoração, se houver. Por exemplo, podendo ser feito o uso por tunelamento em outra porta não monitorada; - difíceis de detectar ao usar um tráfego de forma a parecer com o tráfego normal ou com uso de técnicas como esteganografia; - de reprodução difícil, por exemplo, usando criptografia; - difíceis de atribuir ao endereço IP realmente de origem, ao usar, por exemplo pacotes UDP ataques distribuídos; - dificultem a coleta de provas, por exemplo, alterando continuamente as portas; - facilidade de manter uma negativa plausível ou álibi. 2.11 Cavalos de Tróia e Backdoors A porta da frente pode não ter sido a entrada e tem possibilidade de não ser a única entrada viável para um atacante, principalmente após o comprometimento inicial do sistema. Depois de entrar um atacante pode providenciar novos meios de entrar, normalmente com o objetivo de facilitar e ocultar ainda mais as ações futuras. Estas entradas implantadas no sistema são chamadas de portas dos fundos ("backdoors"). Na investigação é bastante importante procurar por indícios de códigos maliciosos que possam ter sido injetados no sistema com esta finalidade. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 46/1662.11.1 Definição de Cavalo de Tróia Cavalo de Tróia é um programa destrutivo que se apresenta aparentemente como uma aplicação benigna. Diferentemente dos vírus um cavalo de tróia não se replica por si só, mas pode ser tão destrutivo quanto um vírus. É comum um programa prometer remover vírus e cavalos de tróia e ao ser executado pode fazer exatamente o contrário colocando códigos maliciosos como vírus e cavalos de tróia no computador. Alguns cavalos de tróia podem vir em forma de proteção de tela, por exemplo, um protetor de tela de um simples gatinho lindo e delicado que fica andando pela sua tela por ter em seu interior códigos maliciosos de captura de teclas pressionadas em seu teclado (keylogger) ou que captura a área da tela de cada clique dado por seu mouse (mouselogger), então há sim o benefício de ter o gatinho divertindo o usuário, mas talvez a partir da próxima vez que for utilizado um internet banking alguma quadrilha passará a se divertir com os dados de uma conta bancária, senha, frase secreta e até as imagens com os números na seqüência que foram clicados no teclado virtual do site do banco. Na investigação é importante perceber se há rastros de o atacante ter instalado cavalos de tróia. 2.11.2 BACKDOORs Uma "backdoor" é um mecanismo sorrateiramente introduzido nos sistema de um computador para facilitar o acesso não autorizado a este sistema. As "backdoors" podem ser instaladas para acessar uma variedade de serviços, sendo particularmente interessante as que oferecem acesso interativo. Estas são as mais freqüentemente instaladas pelos atacantes que Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 47/166 tenham comprometido um sistema para tornar mais fácil o seu retorno ao sistema, preferencialmente de forma menos visível. Na perspectiva de monitoração, as backdoors interativas rodam sobre protocolos tais como Telnet [PR83a], Rlogin [Ka91] ou SSH [YKSRL99] Um exemplo de uma backdoor não interativa pode ser um servidor SMTP não autorizado para facilitar o envio de e-mails por um "spammer" e um exemplo parcialmente interativo seria um servidor de FTP ilegal rodando em porta não autorizada para disponibilização de material ilegal como pirataria ou pornografia infantil. Na pesquisa para determinar quais portas TCP estão abertas ou oferecendo serviços pode ser usando o comando 'netstat'. Uma atenção especial deve ser dada se for encontrado algum serviço ilícito ou não autorizado sendo oferecido em porta baixa, ou seja, inferior a 1024. Se isso acontece é porque o atacante teve acesso a nível raiz. Um princípio básico para detecção de backdoors é encontrar características indicativas de atividade de rede suspeita, como acesso interativo, tráfego criptografado ou uso de um protocolo específico como SSH. A característica mais importante a considerar na detecção de "backdoors" é a capacidade de diferenciação entre tráfego normal e anormal. A detecção se torna mais difícil com os atacantes que ativamente procuram se evadir de uma eventual monitoração e fazem o possível para ocultar suas "backdoors". A detecção de "backdoors" pode ser com monitoração de rede ativa, injetando pacotes, ou passiva, evitando provocar quaisquer distúrbios na rede. Alguns dos tipos comuns de backdoors tem propósito de disponibilizar serviços tais como: Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 48/166 SSH Rlogin Telnet FTP Root prompt Napster Gnutella Para critérios de filtragem para detecção de "backdoors" podem ser considerados: * Tamanho dos pacotes. Muito do conteúdo é digitação e está em pequenos pacotes. A filtragem para obter apenas os pacotes pequenos tende a reduzir significativamente a carga de captura dos pacotes em alguns casos. * Direção. A não ser que o atacante use algum tipo de serviço abrindo no estilo "callback" normalmente se pode criar critérios de filtragem para procurar por tráfego que é anormal por sua direção, por exemplo, para detectar o uso de um programa servidor ftp instalado em uma máquina que deveria ter apenas cliente de ftp. * Conteúdo dos pacotes. Procurando por palavras ou "strings" que denunciem um tráfego suspeito, por exemplo, sinais de "prompt" e comandos de linha em uma conexão na porta 80. Referência: "Detecting Backdoors - Yin Zhang Department of Computer Science - Cornell University - Ithaca, NY 14853 - yzhang@cs.cornell.edu - Vern Paxson1 AT&T Center for Internet Research at ICSI Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 49/166 International Computer Science Institute Berkeley, CA 94704 vern@aciri.org http://www.icir.org/vern/papers/backdoor/ " 2.12 Investigando Ferramentas 2.12.1 Investigando software de código malicioso É comum o atacante deixar software de código malicioso numa máquina comprometida. O estudo para entender o funcionamento de qualquer software deixado por um atacante pode ser importante para: - Aprender detalhes sobre o funcionamento e criar defesas para os sistemas no futuro; - Avaliar a capacidade técnica do atacante; - Determinar a grandeza do comprometimento e dos danos provocados pelo uso do software; - Determinar se há o envolvimento de um ou mais atacantes; - Verificar se o uso do software envolve redes e computadores de terceiros. Há dois tipos básicos de análise para entender um software de código malicioso, tratam-se da análise estática e a análise dinâmica. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 50/166 Na análise estática: - Identificar o tipo de arquivo de que se trata o software, como foi compilado. Pode-se usar o comando file do Unix. Digitando-se, por exemplo: "# file /bin/chmod" Obtém-se a resposta: /bin/chmod: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped A resposta para todos os arquivos do diretório, pode ser obtida usando: # file * E ter como resposta: arquivo_export.txt: Bourne-Again shell script text executable ippg9.txt: ASCII text arquivo_comp.tgz: gzip compressed data, from Unix arquivo_teste.txt: ASCII text arquivo_de_log.log: ASCII text arquivo_teste_vazio: empty arquivo_instucoes.txt: ISO-8859 text mbox: ASCII mail text arquivo_teste_html.htm HTML document text Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet Daniel Linhares Lim-Apo Pág. 51/166 É importante observar que o atacante pode mudar o nome do arquivo para usar uma extensão inócua como .txt, mas se for usado o comando file vai entender que há algo estranho, por exemplo: # file nome_inocente* nome_inocente.txt: ASCII text nome_inocente2.txt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped nome_inocente3.txt: ASCII mail text Nota-se que o único arquivo que tem conteúdo realmente de texto ASCII é o primeiro. O comando file, com baseado no arquivo /usr/share/magic reconhece cerca de 5.000 tipos diferentes de arquivos Em plataforma windows um equivalente ao comando file é o "exetype" do NT Resource Kit. Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet