Prévia do material em texto
UFPI – UNIVERSIDADE FEDERAL DO PIAUÍ GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATEUS TITO BURNETT PERÍCIA FORENSE COMPUTACIONAL: ANÁLISE DE VESTÍGIOS VOLÁTEIS E NÃO VOLÁTEIS PARA O LAUDO PERICIAL TERESINA – PI 2020 Mateus Tito Burnett PERÍCIA FORENSE COMPUTACIONAL: Análise de Vestígios Voláteis e Não Voláteis para o Laudo Pericial Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação da Universidade Federal do Piauí (UFPI) como requisito parcial à obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Dr. Carlos André Batista de Carvalho TERESINA – PI 2020 RESUMO O avanço tecnológico nas últimas décadas proporcionou uma facilidade ao acesso às máquinas e à Internet, ambas essenciais para a produtividade na sociedade moderna. Por outro lado, são ferramentas férteis para criminosos cometerem delitos, permanecendo frequentemente impunes. Entretanto, tais delitos podem deixar vestígios digitais, que, se analisados de forma técnica, podem produzir evidências indispensáveis a uma investigação e uma futura ação penal. Este trabalho de conclusão de curso descreve as etapas da perícia forense computacional e seus principais conceitos, apresentando de forma prática, ferramentas de análise de vestígios em discos rígidos, memória RAM, arquivos e redes TCP/IP, fazendo comparativos de desempenho, a fim de melhorar os resultados obtidos em uma investigação. Por fim, documenta-se em um laudo pericial, garantindo dados íntegros que podem influenciar em uma futura decisão judicial. Palavras-chaves: forense computacional, vestígios digitais, laudo pericial. ABSTRACT Technological advances in recent decades have provided easy access to machines and the Internet, both essential for productivity in modern society. On the other hand, they are fertile tools for criminals to commit crimes, often remaining unpunished. However, such offenses can leave digital traces, which, if analyzed in a technical manner, can produce essential evidence for an investigation and future criminal action. This course conclusion work describes the stages of computer forensic expertise and its main concepts, presenting in a practical way tools, for analyzing traces on hard disks, RAM, files and TCP/IP networks, making performance comparisons in order to improve the results obtained in an investigation. Finally, it is documented in an expert report, guaranteeing complete data that can influence a future judicial decision. Keywords: computational forensics, digital traces, forensic report. LISTA DE FIGURAS Figura 1: Etapas da perícia forense computacional. Fonte: Traduzido de [7]..........................13 Figura 2: Equipamento Tableau T35u Forensic Bridge...........................................................18 Figura 3: Geração de códigos Hash sobre três arquivos de texto.............................................20 Figura 4: Captura de tráfego utilizando o tcpdump...................................................................21 Figura 5: Estado e informações das portas TCP e UDP com o uso do TCPView.....................23 Figura 6: Histórico de páginas web com o uso do BrowsingHistoryView................................24 Figura 7: Histórico de conexão de dispositivos com o uso do USBDeview..............................25 Figura 8: Abertura de um arquivo em hexadecimal..................................................................28 Figura 9: Execução do comando para extração dos dados do arquivo Thumbs.db...................31 Figura 10: Imagens extraídas pela ferramenta vinetto e o relatório “index.html”....................31 Figura 11: Exibição do relatório “index.html” gerado pelo vinetto..........................................32 Figura 12: Geração de um dicionário de palavras com a ferramenta Crunch...........................33 Figura 13: Carregamento dos arquivos com os Hashes das senhas..........................................35 Figura 14: Recuperação dos usuários e senhas de vários sites..................................................36 Figura 15: Execução do software MiniTool Partition Wizard para wipe de disco...................46 Figura 16: Execução do software Hide & Reveal para ocultação de uma mensagem..............48 Figura 17: (a) Imagem original; (b) Imagem hospedeira ocultando as mensagens secretas.....49 Figura 18: Análise em bytes da imagem original (“branquinha.bmp”) e da hospedeira (“hidden_branquinha.bmp”)......................................................................................................50 Figura 19: (a) Tamanho da imagem original e sua data de criação; (b) Imagem hospedeira.. .51 Figura 20: Geração do código Hash da imagem original e da hospedeira................................51 Figura 21: Exibição da mensagem secreta e dos comentários ocultados na imagem hospedeira por meio da esteganografia.......................................................................................................52 Figura 22: Criptografia de um arquivo com a ferramenta Ccrypt.............................................53 Figura 23: Descriptografia de um arquivo com a ferramenta Ccrypt.......................................54 Figura 24: Mídias presentes na máquina com o comando “fdisk -l”........................................59 Figura 25: Criação da imagem de mídia do HD e geração dos Hashes com a md5sum...........60 Figura 26: Criação da imagem de mídia do pendrive e geração do Hash.................................61 Figura 27: Abertura da imagem de mídia do HD no Autopsy...................................................63 Figura 28: Imagens recuperadas da imagem de mídia do HD pelo Autopsy............................64 Figura 29: Extração dos arquivos da imagem de mídia do HD utilizando o Foremost............65 Figura 30: Resultado da extração ao final da execução do Foremost.......................................66 Figura 31: Dados extraídos utilizando-se a ferramenta Photorec.............................................66 Figura 32: Arquivo de configuração da ferramenta Scalpel.....................................................67 Figura 33: Extração dos arquivos utilizando-se a ferramenta Scalpel......................................68 Figura 34: Resultado da extração ao final da execução do Scalpel..........................................68 Figura 35: Abertura da imagem de mídia do pendrive no Autopsy...........................................69 Figura 36: Dados do arquivo compactado bloqueados por senha.............................................70 Figura 37: Obtenção da senha em Hash do arquivo compactado.............................................70 Figura 38: Descoberta da senha por meio da ferramenta John The Ripper..............................71 Figura 39: Extração bem-sucedida dos dados presentes no arquivo “arq-secretos.zip”...........72 Figura 40: Análise dos eventos ocorridos nos sistemas referentes às conexões USB..............74 Figura 41: Dados recuperados, organizados em uma pasta referente ao caso..........................75 Figura 42: Imagens descompactadas do arquivo “zip” protegido por senha............................76 Figura 43: Geração do código de Hash para todas as imagens.................................................76 Figura 44: Documento de texto contendo os Hashes de todas as imagens ilícitas...................77 Figura 45: Geração do código de Hash do documento de texto que contém os Hashes..........77 Figura 46: Hash dos Hashes.....................................................................................................78 Figura 47: Análise de tráfego de uma sala de bate-papo utilizando o software Wireshark......83 Figura 48: Análise de tráfego em uma rede anônima Tor.........................................................84 Figura 49: Servidor Apache do relé da rede Tor.......................................................................85Figura 50: Captura dos processos em execução com o Process Explorer................................86 Figura 51: Estado das conexões TCP e UDP com o TCPView.................................................87 Figura 52: Uso do tcpdump na análise de tráfego TCP/IP do malware....................................88 Figura 53: Abertura da captura de tráfego no Wireshark..........................................................88 LISTA DE TABELAS Tabela 1: Exemplo de formulário de cadeia de custódia [3].....................................................15 Tabela 2: O ciclo de vida esperado dos dados. Fonte: Extraído de [10]...................................16 Tabela 3: Comparativo das principais plataformas da deep web. Fonte: Extraído de [14].......26 Tabela 4: Arquivos recuperados / íntegros. Adaptado de [13]..................................................29 Tabela 5: Principais arquivos de log gerados nos sistemas Linux............................................39 Tabela 6: Chaves raízes do registro do Windows e suas descrições. Adaptado de [13]...........40 Tabela 7: Seções do laudo técnico pericial. Fonte: adaptado de [1].........................................43 Tabela 8: Ações antiforenses e suas categorias. Traduzido e adaptado de [20].......................44 Tabela 9: Início do formulário da cadeia de custódia...............................................................58 Tabela 10: Continuação do formulário de cadeia de custódia..................................................61 Tabela 11: Arquivos recuperados por ferramenta com base no formato..................................73 Tabela 12: Laudo técnico pericial do estudo de caso em questão.............................................78 Tabela 13: Acrescenta-se o evento à cronologia dos fatos no formulário de cadeia de custódia. ...................................................................................................................................................81 SUMÁRIO INTRODUÇÃO 8 PRINCIPAIS CONCEITOS NA FORENSE COMPUTACIONAL 10 TRABALHOS RELACIONADOS 11 METODOLOGIA DA PERÍCIA FORENSE COMPUTACIONAL 13 4.1 ETAPA DE COLETA 14 4.1.1 Coleta em Dispositivos de Armazenamento 17 4.1.2 Coleta de Dados Voláteis (Live Forensics) 20 4.2 ETAPA DE EXTRAÇÃO 25 4.2.1 Recuperação de Dados Excluídos 26 4.2.2 Recuperação de Senhas 30 4.3 ETAPA DE ANÁLISE 33 4.3.1 Análise de Logs e Registros 34 4.3.2 Análise por Palavras-Chave 36 4.4 ETAPA DE FORMALIZAÇÃO 37 ANTIFORENSE COMPUTACIONAL 38 5.1 DESTRUIÇÃO 40 5.2 OCULTAÇÃO 42 5.3 PROTEÇÃO 46 PROPOSTA DE TRABALHO 47 6.1. DESIGN DO CENÁRIO 1 48 6.2. DESIGN DO CENÁRIO 2 49 ESTUDO DE CASO 1 50 7.1 COLETA 51 7.2 EXTRAÇÃO 54 7.3 ANÁLISE 63 7.4 FORMALIZAÇÃO 68 ESTUDO DE CASO 2 71 8.1 DADOS TRAFEGADOS EM REDE TCP/IP 71 8.2 ANÁLISE DE MALWARE NA MEMÓRIA RAM 74 CONCLUSÃO E TRABALHOS FUTUROS 77 REFERÊNCIAS 78 8 1. INTRODUÇÃO A popularização dos computadores e a facilidade do acesso à Internet permitiram que muitos criminosos passassem a utilizar esses meios para cometerem infrações tipificadas no Código Penal (CP) brasileiro. “Crimes sempre deixam vestígios” [1] é uma frase que ganha destaque no meio pericial, sendo usada como motivação, visto que nesse campo dos vestígios se encaixa a perícia forense, cujo objetivo é coletar dados, em conformidade ao artigo 158 do Código de Processo Penal (CPP) [2] e as inclusões da lei 13.964/19 (Pacote Anticrime) [3]. Atividades envolvendo aparelhos informáticos e redes aumentam de forma bastante acelerada. Segundo o relatório do Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil (CERT), o número de fraudes na Internet cresceu muito após o ano de 2008 [4]. Atingiu-se uma marca de 222.528 incidentes reportados nesse mesmo ano; em 2014, 1.047.03, mantendo-se em altos índices até o ano de 2019 (875.327) [4]. Devido esse alavancado crescimento de crimes cibernéticos, há a necessidade de técnicas investigativas eficazes para apuração dessas infrações, bem como o registro formalizado em laudos periciais que contenham validade jurídica. Em relação ao formalismo, há o artigo 473 da lei 13.105/15 do Código de Processo Civil (CPC) [5] que descreve esse laudo pericial. Além disso, há a questão da documentação cronológica dos fatos durante o processo investigativo, denominada cadeia de custódia (artigo 158-A da lei 13.964/19) [3]. Tanto o laudo, quanto a cadeia de custódia, são usados para garantir a veracidade dos eventos ocorridos no curso da investigação, e, consequentemente, um julgamento justo nos tribunais judiciários. A norma internacional ISO/IEC 27037:2013 [6], que também tem por finalidade padronizar o tratamento de evidências digitais, assegura que os indivíduos possam gerenciar a evidência digital por meio de métodos práticos aceitáveis internacionalmente, com o objetivo de padronizar a investigação envolvendo dispositivos digitais de maneira sistemática e imparcial, com o objetivo de preservar a integridade desses dispositivos. Segundo essa norma, toda evidência digital válida é mantida por alguns aspectos fundamentais, cabendo ressaltar o da repetibilidade, ou seja, quando os mesmos 9 procedimentos e métodos são utilizados sob as mesmas condições, sempre produzem os mesmos resultados; e o aspecto da justificabilidade, onde deve-se justificar todas as ações e métodos tomados no decorrer do processo de tratamento das evidências digitais [6]. A ISO/IEC 27037:2013 [6] também menciona o termo cadeia de custódia, exigindo algumas informações mínimas na documentação, como: identificador único da evidência; quem acessou tal evidência, o tempo e local que ocorreu; quem checou a evidência interna e externamente nas instalações de preservação e quando o fato ocorreu; documentar qualquer alteração inevitável da evidência digital, bem como o nome do indivíduo responsável e a justificativa para a alteração [6]. A principal motivação deste trabalho é poder contribuir de alguma forma na exposição do minucioso processo que é a perícia forense computacional, apresentando os principais conceitos, etapas (coleta, extração, análise e formalização) [7] e ferramentas utilizadas. São realizados comparativos entre essas ferramentas abordando suas vantagens e limitações, além dos resultados obtidos por cada uma, o que pode influenciar bastante nos vestígios obtidos e na agilidade do processo pericial. Além disso, relata-se os empecilhos que podem ser encontrados pelos profissionais que atuam na área, a fim de melhorar os resultados obtidos dentro da investigação. Dois estudos de caso reforçam de maneira prática o processo forense: o primeiro realizado sobre mídias de armazenamento (HD e pendrive), e o segundo sobre redes TCP/IP e memória RAM. Ao fim, realiza-se demonstrações de como esse procedimento pode ser documentado formalmente, seguindo as leis e os pontos da norma ISO/IEC 27037:2013 [6], obtendo-se validade jurídica probatória. O restante deste trabalho está organizado da seguinte forma: no Capítulo 2 são apresentados os principais conceitos dessa área; no Capítulo 3, os trabalhos relacionados; no Capítulo 4, a metodologia da perícia forense computacional e suas etapas, somado aos principais conceitos e algumas ferramentas eficientes de cada uma; Capítulo 5, técnicas antiforenses que acabam por dificultar o trabalho pericial; no Capítulo 6, as propostas de trabalho; por fim, nos Capítulo 7 e 8, são realizados, respectivamente, dois estudos de casos, um sobre dispositivos de armazenamento (HD e pendrive), e outro sobre redes TCP/IP e memória RAM (análise de um software malicioso). 10 2. PRINCIPAIS CONCEITOS NA FORENSE COMPUTACIONAL A abrangente área da forense computacional envolve alguns conceitos que são abordados no decorrer deste trabalho, fazendo-se necessáriomencioná-los de forma sucinta nesse Capítulo. Inicialmente, a forense computacional pode ser conceituada como a área destinada a determinar a materialidade e a autoria de ilícitos ligados à área de informática, tendo como questão principal a identificação e o processamento de evidências digitais em provas materiais de crimes, por meio de métodos técnico- científicos, conferindo-lhe validade probatória em juízo [1]. Essas evidências digitais, encontradas em dispositivos informáticos diversos, podem ser classificadas em dados voláteis e não voláteis [1], levando-se em consideração o tempo que os dados permanecem disponíveis. Os voláteis têm um tempo de vida curto, geralmente de segundos ou milissegundos, podendo estar em constante alteração, como dados trafegados em uma rede ou em uma memória RAM. Já os não voláteis, têm um tempo de armazenamento bem mais longo, podendo chegar a anos, como discos rígidos (HDs), CD-ROMs e pendrives. Na metodologia forense existem etapas [7] que têm o objetivo de tornar o trabalho do profissional que realiza o exame pericial mais organizado e eficiente. A seguir, essas etapas são descritas de modo breve, e estão mais detalhadas no decorrer deste trabalho. A etapa inicial é a fase de coleta, onde todos os equipamentos que armazenam algum dado não volátil ou informações voláteis são colhidos e preservados, a fim de manter os dados íntegros. As próximas etapas são a extração e a análise, onde, respectivamente, esses dados são filtrados com base no objetivo da investigação e analisados a fim de relacioná-los com o fato em questão. Na etapa final, a formalização, a cronologia dos eventos deve ser detalhada na cadeia de custódia [3], registrando-se tudo em um documento que contenha validade jurídica probatória, o laudo técnico pericial [5]. A metodologia completa está descrita no Capítulo 4. Durante a realização das etapas do processo forense computacional, o profissional pode deparar-se com uma ampla gama de ferramentas disponíveis e com procedimentos antiforenses que podem ter sido empregados pela outra parte para embaraçar o andamento da investigação, dificultando, assim, o acesso aos dados por parte do perito. 11 Dessa forma, conclui-se que é de notável importância ter conhecimento de ferramentas que sejam eficientes e tragam bons resultados quanto à coleta, extração e análise dos dados, bem como ter conhecimento das técnicas antiforenses e saber como lidar em certas circunstâncias, documentando-se em um laudo técnico bem redigido. 3. TRABALHOS RELACIONADOS Sobre os trabalhos relacionados e referencial teórico, há literaturas e artigos científicos que descrevem de forma objetiva a metodologia que deve ser utilizada durante os exames periciais, mencionando as ferramentas mais utilizadas em cada etapa do processo. Há uma grande diversidade dessas ferramentas, logo a utilização de cada uma fica a critério do profissional que realiza o exame e de cada vestígio que está sendo analisado. Também há divergências de desempenho entre elas, ou seja, uma ferramenta pode trazer bons resultados sob certas circunstâncias e a outra não, e vice-versa. Assim, é relevante a realização de experimentos comparativos, abordados com mais detalhes nos capítulos posteriores. A obra de Eleutério e Machado [1] aborda as fases que são executadas durante uma análise forense computacional, bem como a correta preservação das evidências encontradas. No decorrer da obra, os autores abordam as ferramentas mais comuns utilizadas em cada etapa, além de mencionarem que a maior parte dos crimes da atualidade utilizam dispositivos informáticos como meio. Segundo Kent et al. [7], o objetivo mais comum de se realizar análises forenses é entender melhor um evento de interesse e analisar os fatos relacionados a esse evento. Para isso, o autor menciona quatro etapas que tornam o exame pericial mais organizado: coleta, extração, análise e formalização; essa metodologia foi adotada neste trabalho por ser a mais referenciada nos trabalhos e literaturas relacionados ao tema. O artigo científico de Ling Tang [9], publicado no IEEE Xplore, faz um estudo a respeito dos logs gerados pelo sistema operacional Linux, podendo ser utilizados como material de coleta e análise durante o processo investigativo. Esses logs são registros feitos pelo sistema operacional no decorrer do tempo com as ações do usuário. 12 Dan Farmer e Wietse Venema [10] fazem um estudo mais detalhado sobre arquivos, metadados (informações sobre os dados) e sistemas operacionais, além de apresentarem um tema bastante relevante: a análise de MACtimes, que são metadados gerados pelo sistema de arquivos contendo as datas de modificação, acesso e alteração de cada arquivo. De acordo com João Eriberto Mota Filho [11], a análise de tráfego em rede é uma forma essencial de se detectar anomalias dentro de uma rede, encontrar pontos de bloqueio, detectar falhas de segurança e descobrir “tráfego pirata”, sendo um campo de conhecimento fundamental aos profissionais da área forense. A ferramenta recomendada pelo autor para esse fim é o tcpdump1, que além de gratuita, tem uma ampla gama de funcionalidades. Galvão [12] também realiza uma análise forense voltada à rede de computadores, mas abordando ferramentas diferentes e em alguns casos mais eficientes dependendo do cenário, introduzindo o conceito “grampo de rede” para a captura do tráfego em rede. Evandro Della Vecchia [13], como diferencial, aprofunda conceitos da área jurídica bem relevantes ao trabalho de um perito criminal, mostrando recomendações que facilitam na formalização dos dados. Além disso, trata de forma mais técnica e prática a investigação forense computacional, voltando-se aos profissionais da área da tecnologia, apresentando as ferramentas mais utilizadas em cada etapa do processo. Por fim, Alesandro Barreto e Hericson dos Santos [14] fazem um estudo aprofundado sobre a deep web, ou seja, redes para interconexão de máquinas diferentes da Internet comum, descrevendo o funcionamento das mais utilizadas. Também relatam o processo investigativo nesse “submundo da Internet”, já que nesse meio há uma grande quantidade de crimes sendo cometidos, como o tráfico de drogas e a pornografia infantojuvenil, que são os mais comuns. Dessa forma, este trabalho de conclusão de curso visa descrever os principais conceitos relacionados à perícia forense computacional, aplicando a metodologia de Kent et al. [7] de forma prática na análise de vestígios em discos rígidos, arquivos, memória RAM e redes TCP/IP, fazendo comparativos de desempenho, a fim de melhorar os resultados obtidos em uma investigação. Além disso, demonstra-se como registrar formalmente os resultados obtidos, seguindo os critérios exigidos no CPP [2] e nas alterações feitas pelo Pacote Anticrime 1 Disponível em: <https://www.tcpdump.org/manpages/tcpdump.1.html>. Acesso em 8 de março de 2020. 13 [3], que trouxe novas exigências referentes ao tratamento das evidências, objetivando-se garantir uma maior integridade das provas. 4. METODOLOGIA DA PERÍCIA FORENSE COMPUTACIONAL A perícia forense computacional é uma área que tem como objetivo entender melhor um incidente e encontrar fatos relacionados a ele, levando-se em consideração a gama de situações existentes, como malwares (malicious software, ou programas maliciosos), coleta de evidências para procedimentos legais e ações disciplinares ou problemas operacionais incomuns, seja dentro de um ambiente civil ou empresarial [1]. A fim de tornar o trabalho dos profissionais juridicamente seguro, há uma metodologia que pode ser adotada no decorrer da perícia forense computacional. Essa metodologiapode ter suas etapas adaptadas conforme a dinamicidade dos fatos do incidente em questão. Como este trabalho trata do procedimento iniciado no local de crime, com a descoberta do incidente, até o momento da formalização para o meio jurídico, essa metodologia envolve todas as etapas integralmente. De modo geral, independente da natureza das evidências, é recomendado segmentar o processo pericial em quatro etapas, divididas com base nos exames realizados em cada uma e nos dados obtidos, com o objetivo de torná-lo mais consistente: coleta, extração, análise e formalização [7]. Observa-se esse processo e suas etapas na Figura 1, onde cada uma tem seu respectivo material obtido (mídias, dados, informações e evidências). Sua usabilidade é cíclica, pois pode ser repetido até que os recursos analisados se esgotem, ou conforme a discricionariedade do profissional forense responsável pelo exame. Figura 1: Etapas da perícia forense computacional. Fonte: Traduzido de [7]. 14 Cada etapa retratada é apresentada no decorrer das subseções seguintes, abordando-se o conceito e as principais ferramentas que podem ser utilizadas em cada uma, a fim de se obter o conteúdo desejado (mídias, dados, informações e evidências). 4.1 ETAPA DE COLETA A primeira etapa da perícia forense é denominada de coleta, sendo realizada sobre uma variedade de dispositivos informáticos, onde as fontes mais comuns e óbvias são os computadores de mesa, servidores, dispositivos de armazenamento em rede e laptops. Outros dispositivos externos ou móveis também podem ser coletados, como telefones celulares, câmeras digitais, gravadores e reprodutores de áudio. A escolha de quais dispositivos vão ser apreendidos fica a critério do profissional que realiza a perícia [1]. Ocasionalmente, nessa fase, necessita-se também coletar dados em meios voláteis, com a utilização de técnicas de interceptação de sinais informáticos e eletromagnéticos, conforme a lei 9.296/96 [15], que regulamenta a obtenção dos dados trafegados em uma rede de computadores ou dentro de um sistema telemático, com o objetivo de buscar vestígios que possam sustentar a investigação, como: endereços IPs de origem e destino, cabeçalho e payload dos pacotes. Nesta etapa, procede-se o início da cadeia de custódia [3], definida como o conjunto de todos os procedimentos utilizados para manter e documentar a história cronológica dos vestígios coletados, permitindo rastrear sua posse e manuseio a partir de seu reconhecimento até o descarte. Esse conceito está definido no artigo 158-B do CPP [2], a fim de garantir a idoneidade dos resultados obtidos, refutando possíveis contestações futuras. No caso dos dispositivos de armazenamento, essa documentação se inicia no próprio local de crime quando os equipamentos são identificados e apreendidos, registrando-se todas as informações possíveis. As informações de identificação dos equipamentos devem ser bem precisas para garantirem a identificação posterior dirimindo qualquer dúvida. Um exemplo é não descrever somente a cor de um certo dispositivo tendo vários com essa mesma cor. 15 Para exemplificar, em um caso de formulário envolvendo um disco rígido, deve- se apresentar todos os detalhes da mídia, responsáveis e datas (comuns a todos os formulários), bem como uma identificação particular, que no caso apresentado na Tabela 1, é um número de série (Serial Number), reforçado pela descrição, modelo e fabricante. Tabela 1: Exemplo de formulário de cadeia de custódia [3]. FORMULÁRIO DE CADEIA DE CUSTÓDIA Número do Caso: 70020091996 DETALHES DA MÍDIA OU EQUIPAMENTO ITEM DESCRIÇÃO 1 HD do Notebook ‘X’ com 80 GB de Capacidade FABRICANTE MODELO NÚMERO DE SÉRIE Dell Inspiron 15 5000 ABC123456 CRONOLOGIA DOS FATOS CÓDIGO ORIGEM DATA HORA DESTINO DATA HORA 1 Local 20/09/2019 16:10 Perícia 20/09/2019 16:55 Sobre a coleta realizada em meios voláteis, como em uma rede TCP/IP, onde os dados obtidos não provêm de dispositivos de armazenamento que podem ser facilmente identificados, algumas informações de descrição elencadas na Tabela 1 podem ser inviáveis, como o modelo ou número de série. Logo, deve-se seguir o artigo 8-A da lei 9.296/96 [15] (incluído pela 13.964/19 [3]), onde se exige que, circunstanciadamente, deve ser descrito o local e a forma de instalação do dispositivo de captação ambiental. Uma das recomendações que devem ser levadas em consideração na coleta é o plano de aquisição desses dados, visto que existem várias fontes de dados e algumas devem ser priorizadas seguindo fatores como valor provável, volatilidade e esforço necessário para aquisição [7]. O valor provável baseia-se no entendimento do analista da situação e experiência anterior em situações semelhantes, podendo-se estimar o valor relativo de cada fonte de dados [7]. A volatilidade refere-se ao tempo em que dos dados podem ser perdidos 16 devido ao desligamento do computador, ações executadas dentro do sistema ou no simples decorrer do tempo, recomendando-se dar mais prioridade aos dados de natureza mais volátil [7]. Já a quantidade de esforço necessário refere-se ao esforço para adquirir o dado em questão, tanto relativo ao tempo gasto como ao custo com equipamentos e serviços [7]. A ordem de volatilidade dos dados merece relevância, pois como alguns dados têm maior propensão do que outros de serem perdidos, há uma maior probabilidade de não ser mais possível recuperá-los [10]. A expectativa de vida desses dados pode variar de nanossegundos a anos, como pode ser visto na Tabela 2. Tabela 2: O ciclo de vida esperado dos dados. Fonte: Extraído de [10]. Tipo de dados Tempo de vida Registradores, memória periférica, caches, etc. Nanossegundos Memória principal Dez nanossegundos Estado da rede Milissegundos Processos em execução Segundos Disco Minutos Disquetes, mídia de backup, etc. Anos CD-ROM, impressões, etc. Dezenas de anos Seguindo essa ordem, sabe-se que há uma menor probabilidade de se conseguir preservar os detalhes mais efêmeros (topo da tabela), mas tudo depende da situação analisada, visto que não é possível realizar a captura de todos os dados de uma só vez, pois quando se captura dados em uma determinada área de um computador, outra pode estar sendo alterada. Tal princípio é descrito como princípio da incerteza de Heisenberg, sendo essencialmente impossível a coleta de todos os dados de um computador para análise, pois este é considerado um sistema determinístico [10]. Após identificar as fontes de dados e iniciar-se a cadeia de custódia [3], a equipe pericial deve preservar as mídias originais encontradas no local de crime, acondicionando-as de forma individualizada, com a data, hora e nome do responsável pelo procedimento, garantindo que todas as informações ali presentes permaneçam 17 inalteradas durante o transporte até o laboratório, a fim de garantir a formalidade do processo [1]. 4.1.1 Coleta em Dispositivos de Armazenamento Tratando-se de dispositivos de armazenamento de dados (não voláteis), ao receber o equipamento e documentar formalmente sua posse, é necessário o perito realizar uma cópia dessa mídia, garantindo que nenhum bit seja alterado (cópia fiel), que se dá através de equipamentos de hardware ou software, como bloqueadores de escritas em disco e duplicadores forenses [1]. Isso é necessário para que a mídia original fique sempre preservada, podendo servir de prova nos tribunais judiciais. Essa cópia pode ser realizada de duas maneiras, através de um backup lógico, onde todos os diretórios e arquivos são capturados de um volume lógico, não copiando arquivos excluídos nem fragmentos do disco; ou através de um fluxo de bits, mais conhecido como backup físico, ondese gera uma imagem bit a bit, ou seja, uma cópia idêntica do disco total, porém consumindo mais espaço e tempo que o backup lógico [7]. Os formatos mais comuns gerados são os “.dd” e os “.img”, conhecidos como imagens de mídia. Os bloqueadores de escrita evitam que gravações sejam realizadas no disco durante o procedimento de cópia, garantindo a integridade dos dados originais. Esse bloqueio também pode ser realizado simplesmente com algum código executável que altera as variáveis de ambiente do sistema operacional. Já os duplicadores forenses, geralmente, são mais completos, pois além de realizarem o bloqueio de escrita, fazem o processo de geração de cópia. Os equipamentos de hardware mais utilizados para esse fim são: o Espion Forensics Fast Block2 e o Tableau T35u Forensic Bridge3. Esses hardwares são independentes de qualquer outro dispositivo, sendo necessário somente a mídia alvo (HD ou pendrive) e o destino. O Tableau T35u Forensic Bridge possui compatibilidade para dispositivos de armazenamento com entrada IDE e SATA, compatíveis também com entrada USB 3.0, apresentado na Figura 2. 2 Disponível em: <https://www.insectraforensics.com/FastBloc3>. Acesso em 19 de fevereiro de 2020. 3 Disponível em: <https://www.guidancesoftware.com/tableau/hardware/t35u>. Acesso em 19 de fevereiro de 2020. 18 Sobre os softwares, os mais comuns são: o Forensic ToolKit Imager4 (FTK Imager) e o Encase5 (ambos compatíveis com o Windows) [1], sendo este último pago em sua versão mais completa. Há também outros gratuitos, como: o Duplicate Disk (dd) e o dc3dd6, que é uma versão aprimorada do dd, desenvolvido pelo Department of Defense’s Cyber Crime Center (DC3), acrescentando-se algumas funcionalidades, como geração instantânea do Hash7, gravação de erros e possibilidade de se fragmentar a saída gerada. Também existem sistemas operacionais gratuitos que oferecem suporte semelhante, como o Linux CAINE8 (Computer Aided Investigative Environment) e o Kali Linux9, ambos podendo funcionar em modo live, ou seja, com uma imagem do sistema operacional montada em um CD-ROM ou USB pode-se inicializar a máquina alvo sem a instalação do sistema no disco rígido. A fim de garantir uma maior agilidade ao processo de geração da cópia e o andamento das investigações, cabe dizer que o procedimento pode ser demorado se for 4 Disponível em: <https://accessdata.com/products-services/forensic-toolkit-ftk/ftkimager>. Acesso em 19 de fevereiro de 2020. 5 Disponível em: <https://www.guidancesoftware.com/encase-forensic?cmpid=nav_r>. Acesso em 19 de fevereiro de 2020. 6 Disponível em : <https://sourceforge.net/projects/dc3dd/>. Acesso em 2 de abril de 2020. 7 Um algoritmo de Hash recebe como entrada uma sequência de bits de qualquer tamanho e retorna uma saída de tamanho fixo, unidirecionalmente, ou seja, a saída é única e irreversível. 8 Disponível em: <https://www.caine-live.net/>. Acesso em 24 de março de 2020. 9 Disponível em: <https://www.kali.org/>. Acesso em 24 de março de 2020. Figura 2: Equipamento Tableau T35u Forensic Bridge. 19 realizado diretamente sobre o HD com o uso do Tableau T35u Forensic Bridge (hardware), por exemplo, pois é realizado uma cópia completa do HD, bit a bit. Em casos onde a extração do HD não é possível, faz-se necessário o uso dos sistemas operacionais atuando no modo live, como o CAINE, por exemplo, que acessa o disco diretamente mesmo havendo um bloqueio de senha no sistema operacional nativo ou no próprio disco (senha de boot). Logo, pode-se levar um tempo ainda maior para realizar o processo de geração da cópia, principalmente se o armazenamento for muito grande. Essa diferença de tempo se dá pelo fato de o Tableau T35u Forensic Bridge acessar diretamente o hardware, já que o dispositivo alvo (HD ou USB) é conectado diretamente nele. No entanto, utilizando-se um sistema operacional, há a necessidade do intermédio de um software para acesso aos dados, retardando ainda mais o processo. Uma forma bem eficiente e ágil de assegurar a integridade dos dados, além do bloqueio de escrita, é por meio da geração de um código Hash sobre a mídia original e/ou arquivos investigados antes e depois da realização da cópia, sendo que se ambos os códigos Hashes gerados forem iguais pode-se garantir que não houve alteração dos bits durante o procedimento, mantendo-se íntegro. Os códigos Hashes gerados devem ser registrados na cadeia de custódia [3], para formalização. O problema de se usar somente os algoritmos Hash para assegurar a integridade da cópia dos discos de armazenamento é que eles identificam o problema, mas não conseguem impedir que ele ocorra, ou seja, se após a cópia for identificado que a integridade não foi mantida, a mídia original já haverá sofrido a alteração, danificando-se o dado irreversivelmente. Esses algoritmos de Hash podem ser utilizados, principalmente, sobre os arquivos ilícitos obtidos na investigação, assegurando-os de que nenhuma alteração ocorreu, garantindo-se a integridade desses dados obtidos. Para exemplificar, utiliza-se o software HashMyFiles10, que aplica os algoritmos mais utilizados, como MD5, SHA-1, SHA-256 e SHA-512, gerando-se o código sobre três arquivos de texto: o primeiro, com o conteúdo “mateus”; o segundo, “mateust”; e o terceiro, “mateus”. Ao exibir os códigos gerados, observa-se que o programa identificou que o conteúdo (bits) do primeiro é igual ao terceiro, destacando-os em vermelho. A Figura 3 exibe esse procedimento. 10 Disponível em: <https://www.nirsoft.net/utils/hash_my_files.html>. Acesso em 6 de março de 2020. 20 Em relação aos dispositivos de armazenamento móveis compatíveis com tecnologia GSM (Global System for Mobile) e que permitem a conexão de um cartão SIM (Subscriber Identity Module), como telefones celulares, os procedimentos de preservação e coleta podem conter alguns detalhes específicos para se garantir a integridade das evidências. Logo, tal conteúdo não é abordado por fugir do escopo deste trabalho. As próximas etapas do processo forense de investigação sobre esses dispositivos de armazenamento são feitas sobre as cópias fiéis realizadas [1], deixando-se as mídias originais resguardadas e todos os fatos registrados formalmente na cadeia de custódia [3]. 4.1.2 Coleta de Dados Voláteis (Live Forensics) Sobre a coleta de dados voláteis, como a realizada em redes TCP/IP, deve-se levar em consideração a alta volatilidade do estado de rede (conforme a Tabela 2). Assim, essa coleta pode ser chamada de “live forensics” (ou forense “ao vivo”), pois os dados dos pacotes trafegados vão sendo capturados em tempo real, podendo ser salvos em arquivos “pcap” para análise posterior [12]. Uma ferramenta que cumpre esse papel é o tcpdump, baseada na libcap, uma API para captura de pacotes de rede durante o seu tráfego e disponibilizada nativamente em sistemas operacionais Linux [11]. Uma outra ferramenta de análise de tráfego em rede Figura 3: Geração de códigos Hash sobre três arquivos de texto. 21 bastante conhecida e eficiente é o Wireshark11, que apresenta uma interface bastante amigável e permite capturar, filtrar e analisar os mais diversos tipos de pacotes de rede. A Figura 4 exibe um exemplo de uso do tcpdump, onde todos os pacotes com destino ao IP 157.240.22.35 (Facebook), na interface wlan0, e que utilizam o protocolo ICMP, são capturados e exibidos em tela. Sabendo-se que essa forma de coleta em rede, geralmente, é realizada sem a presença física do profissional no local do crime, logo, em alguns casos, como no de pornografia infantojuvenil, cabe ao perito, se possível, verificar a máquina questionada no próprio local do crime, pois há a possibilidade de haver o compartilhamento de arquivos ilícitos para outros usuáriosvia Internet [1]. A forma mais comum desse compartilhamento é por meio de conexões “ponto a ponto” (P2P), como eMule12, uTorrent13 e Ares Galaxy14, onde não existe a figura de um servidor central, assim a comunicação entre os computadores é por meio de nós descentralizados e interconectados [16]. Logo, faz-se necessário o perito verificar se algum desses programas estão em execução na máquina, registrando o incidente em forma de foto, vídeo ou uma captura de memória RAM (dump de memória). 11 Disponível em: <https://www.wireshark.org>. Acesso em 8 de março de 2020. 12 Disponível em: <https://www.emule-project.net/home/perl/general.cgi?l=33>. Acesso em 6 de março de 2020. 13 Disponível em: <https://www.utorrent.com/intl/pt/>. Acesso em 6 de março de 2020. 14 Disponível em: <https://aresgalaxy.io>. Acesso em 6 de março de 2020. Figura 4: Captura de tráfego utilizando o tcpdump. 22 Além desses dados relacionados ao estado da rede, pode ser útil a captura de outros dados voláteis, como processos em execução, conexões de rede, arquivos abertos, atividades recentes e histórico de navegação [13]. Essa coleta pode ser facilitada se algum software específico for utilizado, garantindo que esses dados sejam gravados em formatos de fácil visualização (como planilhas ou tabelas), para posteriormente serem analisados com mais cautela [13]. Como exemplo de softwares, vale a pena destacar alguns por serem gratuitos e de fácil utilização. Esses estão apresentados na seguinte ordem, com base nos dados coletados: dump de memória RAM, processos em execução, portas TCP/UDP em execução, histórico de navegação dos browsers e o histórico de hardwares conectados. Para coleta do dump de memória, pode-se utilizar o BelkaSoftware Live RAM15, pois é de fácil uso, por meio de interface gráfica, e armazena o conteúdo em um arquivo no formato “mem”, nomeado de acordo com a data, seguindo o modelo “AnoMêsDia.mem”. Outros exemplos, são as ferramentas mdd (ambiente Windows) e dd (ambiente Linux), executados via linha de comando no terminal. Sobre os processos em execução e os arquivos abertos relacionados a eles, há o software Process Explorer16, que atua por meio de uma interface gráfica. É uma ferramenta bem mais ampla que o Gerenciador de Tarefas, pois mostra até mesmos processos configurados para não serem exibidos nele, como no caso de malwares. Essa ferramenta também permite salvar a captura em um arquivo de texto, ou outro formato mais conveniente. Sobre a coleta de dados das portas TCP e UDP, pode-se utilizar o software TCPView17. Nele, além de apresentar o estado das portas, pode-se observar também o processo que está em execução nela, bem como o PID (número identificador de processo), o número da porta, o endereço remoto da execução e o estado da conexão. Isso é útil em caso de investigação de algum malware sendo executado em alguma porta que não seja muito comum (por exemplo, 22: SSH; 80: HTTP; 25: SMTP), podendo enviar dados remotamente a um atacante. A Figura 5 apresenta esse software em execução. 15 Disponível em: <https://belkasoft.com/ram-capturer>. Acesso em 30 de fevereiro de 2020. 16 Disponível em: <https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer>. Acesso em 6 de março de 2020. 17 Disponível em: <https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview>. Acesso em 6 de março de 2020. 23 As buscas no histórico dos browsers também pode ser bastante eficaz para se ter uma abordagem sobre os sites visitados pelo suspeito, na tentativa de criar alguma relação com o fato investigado [13]. O empecilho é que há uma variedade desses browsers, e cada um armazena suas informações em diretórios diferentes. No entanto, a ferramenta BrowsingHistoryView18 auxilia buscando de forma automatizada essas informações nos principais navegadores existentes, como Google Chrome, Internet Explorer, Mozilla Firefox, Opera e Safari, agrupando-as em uma tela para visualização. Essa ferramenta agrupa a URL da página visitada, seu título, a data em que foi realizado o acesso, a quantidade de vezes em que foi visitada, o browser utilizado e o usuário que estava logado no momento. Observado na Figura 6. 18 Disponível em: <https://www.nirsoft.net/utils/browsing_history_view.html>. Acesso em 6 de março de 2020. Figura 5: Estado e informações das portas TCP e UDP com o uso do TCPView. 24 O último software apresentado é o USBDeview19, responsável por exibir todos os dispositivos de hardware atualmente conectados na máquina, incluindo todos que já foram conectados, como pendrives, HDs externos e smart cards. Observa-se na Figura 7 o nome do dispositivo, tipo de equipamento, número serial, data que foi plugado, data da última vez que havia sido plugado e se o dispositivo está conectado ou não no momento (grifado na cor verde se estiver). 19 Disponível em: <https://www.nirsoft.net/utils/usb_devices_view.html>. Acesso em 6 de março de 2020. Figura 6: Histórico de páginas web com o uso do BrowsingHistoryView. 25 Retornando à coleta dos dados voláteis relativos às redes, sabendo-se que essa pode estar sendo usada para o compartilhamento de dados ilícitos por conexões P2P, é importante ressaltar que podem haver distinções quanto a arquitetura da rede envolvida na investigação. Doutrinariamente, pode-se dividir a Internet em surface web, deep web e darknet [14]. A surface web, ou “internet comum”, é constituída, basicamente, por páginas, sites e conteúdos que utilizam a arquitetura cliente/servidor, onde o conteúdo oferecido está indexado em algum local e pode ser rapidamente encontrado pelos principais buscadores, como Google, Bing e Yahoo!. Já a deep web, é caracterizada pelo anonimato, criptografia e descentralização dos nós da rede, cujo identificar onde o conteúdo está indexado é algo bastante árduo, pois a arquitetura predominante da rede é P2P, onde todos os nós da rede podem servir de cliente/servidor, e os três pontos são alcançados. A darknet é uma classificação de uma rede da deep web, ou parte dela, onde há um alto grau de anonimato e segurança, pois necessita-se de uma verificação mais criteriosa sobre todos os nós da rede [14]. As principais plataformas de acesso à deep web são a Tor20, Freenet21 e I2P22, todas seguindo as principais características de uma rede anônima, descentralizada, segura 20 Disponível em: <https://www.torproject.org/>. Acesso em 27 de fevereiro de 2020. 21 Disponível em: <https://freenetproject.org/>. Acesso em 27 de fevereiro de 2020. 22 Disponível em: <https://geti2p.net/en/>. Acesso em 27 de fevereiro de 2020. Figura 7: Histórico de conexão de dispositivos com o uso do USBDeview. 26 e criptografada. Em relação aos objetivos, denominação de páginas e nós, podem haver algumas distinções, como pode ser observado na Tabela 3. Tabela 3: Comparativo das principais plataformas da deep web. Fonte: Extraído de [14]. I2P Freenet Tor Página Eepsite Freesite Site Extensão .i2p Sequência de chaves (SSK) .onion Nome do nó Roteador Node Relé Objetivo Comunicação anônima e segura Armazenamento Distribuído Comunicação anônima e segura Comunicação Criptografada Criptografada Criptografada Dessa forma, na investigação policial, a coleta e os registros dos conteúdos ilícitos encontrados na surface web são diferentes dos encontrados na deep web, visto que encontrar a autoria dos crimes cometidos na deep web é algo bastante difícil, pois os meios de coleta em rede descritos anteriormente não são eficazes, como análise de pacotes, sendo todo o tráfego anônimo, criptografado e descentralizado. Nesse meio “obscuro”, o mecanismo mais utilizado para se tentar obter a autoria delitiva é a infiltração policial na deep web [14], onde o profissional oculta suaidentidade e documenta os incidentes observados, previsto na lei 13.441/17 [8]. Algumas operações realizadas pela Polícia Federal utilizaram esse método: a Darknet23, que ocorreu no ano de 2014; a Darknet II24, em 2016; e a Undergroud 225, em 2017, culminando no total em torno de 200 mandados de busca e apreensão em 18 estados brasileiros. Outra ferramenta de auxílio no combate à pornografia infantojuvenil é o programa CPS (Child Protection System)26, o qual realiza uma identificação automática 23 Disponível em: <http://www.mpf.mp.br/rs/sala-de-imprensa/docs/outros-documentos/operacao-darknet>. Acesso em 27 de fevereiro de 2020. 24 Disponível em: <http://www.pf.gov.br/agencia/noticias/2016/11/pf-combate-crime-de-pornografia-infantil- na-deep-web>. Acesso em 27 de fevereiro de 2020. 25 Disponível em: <http://www.pf.gov.br/agencia/noticias/2018/04/pf-combate-distribuicao-de-imagens- pornograficas-com-criancas-na-deepweb>. Acesso em 27 de fevereiro de 2020. 26 Disponível em: <https://childrescuecoalition.org/law-enforcement/>. Acesso em 27 de fevereiro de 2020. https://childrescuecoalition.org/law-enforcement/ 27 baseada nos Hashes de arquivos ilícitos conhecidos, principalmente àqueles que envolvem criança ou adolescente, sendo utilizado em 77 países [17]. Nos experimentos realizados no Capítulo 8, demonstra-se a análise de tráfego e conexões em redes TCP/IP por meio de um estudo de caso prático com as ferramentas tcpdump, Wireshark e TCPView, tanto na surface web quanto na deep web, comparando- as. Sobre os dados voláteis da memória RAM e análise de malware, utiliza-se o ProcessExplorer. 4.2 ETAPA DE EXTRAÇÃO Na etapa de extração, o objetivo principal é extrair informações relevantes das cópias fiéis realizadas na coleta. No início da etapa de extração é comum que exista uma quantidade massiva de arquivos de dados [7], alguns até deletados ou bloqueados por senha. A recuperação desses arquivos é um outro objetivo dessa etapa. Para facilitar esse processo, existem algumas ferramentas e técnicas que podem ser usadas para filtrar uma enorme quantidade de dados, recuperar arquivos excluídos e até realizar a recuperação de senhas. A filtragem dos dados pode ser baseada em busca por padrões, por exemplo, realizar essa filtragem baseada no tipo ou formato de conteúdo relacionado à investigação [1], como textos, imagens ou arquivos compactados. Por exemplo, no crime de pornografia infantojuvenil, busca-se por imagens ilícitas como prova da infração. O principal objetivo da filtragem é justamente descartar dados irrelevantes ao fato investigado. No entanto, o conteúdo dos arquivos precisam fazer sentido com o que está sendo buscado, observando-se sua extensão, como por exemplo, uma extensão jpg indica um arquivo gráfico, e um mp3 indica um arquivo de áudio. Porém, essa extensão do arquivo pode ser alterada pelo usuário e essa informação ficar oculta ou inconsistente [7]. Logo, a forma mais precisa é analisar o cabeçalho dos arquivos abrindo-os com uma ferramenta que faça a leitura dos dados em hexadecimal, exibido na Figura 8, usando a ferramenta xxd nativa nos sistemas operacionais Linux. 28 Observando-se o retorno da execução dessa ferramenta, verifica-se que os primeiros bytes do cabeçalho do arquivo (conhecido como magic number) são “FF D8”, indicando que é um arquivo no formato JPEG. Esse procedimento pode ser realizado em outros arquivos, a fim de extrair-se somente o que for realmente necessário à investigação. As próximas subseções tratam da recuperação de arquivos, abordando, respectivamente, as ferramentas que auxiliam na recuperação de dados excluídos e na recuperação de senhas. 4.2.1 Recuperação de Dados Excluídos Os arquivos podem ser deletados de forma intencional por um usuário ou de forma automática pelo próprio computador, como ocorre no caso de arquivos temporários utilizados para uso interno da máquina e em caches dos navegadores Web [10]. A recuperação é possível, pois ao ser apagado o sistema operacional não remove os dados referentes a esse arquivo, mas apenas altera o status do espaço que antes estava como ocupado para disponível, dessa forma os dados vão se sobrescrevendo. Assim, quanto mais recente a exclusão, maior a probabilidade de sucesso na recuperação da informação [1]. Figura 8: Abertura de um arquivo em hexadecimal. 29 Essa recuperação de arquivos apagados é também conhecida como data carving, que ocorre através de uma busca por assinaturas conhecidas nos cabeçalhos dos arquivos, como demonstrado na Figura 8, só que de maneira automatizada. Essa busca é realizada em toda a área disponível do dispositivo de armazenamento, e ao ser encontrado, o restante do arquivo é recuperado [1]. Algumas ferramentas de software que cumprem essa função são o Foremost27, Recuva28, Photorec29, Autopsy30 e o Scalpel31. Vale ressaltar que, na maioria dos casos, o perito não pode utilizar apenas um único software para a recuperação de dados (data carving), mas sim utilizar uma combinação deles para potencializar os efeitos, pois cada software apresenta distinções no desempenho em determinadas áreas e sobre formatos diferentes [13]. Para exemplificar, observa-se na Tabela 4, uma comparação entre o Photorec e o Foremost, ambos aplicados na recuperação de 90 arquivos excluídos (10 de cada tipo), apresentando quantos destes arquivos foram recuperados e quantos estavam íntegros após o carving, com a taxa percentual de rendimento total de cada um. Tabela 4: Arquivos recuperados / íntegros. Adaptado de [13]. Tipo Photorec Foremost Recuperados Íntegros Taxa Recuperados Íntegros Taxa DOCX 6 6 100% 9 0 0% XLSX 6 6 100% 6 6 100% PDF 10 10 100% 5 5 100% JPG 8 8 100% 9 8 88,8% PNG 10 9 90% 9 9 100% RAR 10 10 100% 8 8 100% ZIP 10 10 100% 8 3 37,5% RTF 10 10 100% 0 0 - BMP 10 10 100% 10 10 100% Total 80 79 98,7% 64 49 76,6% 27 Disponível em: <http://foremost.sourceforge.net/>. Acesso em 3 de março de 2020. 28 Disponível em: <https://www.ccleaner.com/recuva>. Acesso em 19 de fevereiro de 2020. 29 Disponível em: <https://www.cgsecurity.org/wiki/PhotoRec>. Acesso em 19 de fevereiro de 2020. 30 Disponível em: <https://www.sleuthkit.org/autopsy/>. Acesso em 19 de fevereiro de 2020. 31 Disponível em: <https://github.com/sleuthkit/scalpel>. Acesso em 2 de abril de 2020. 30 Há outros meios além do data carving que podem ser utilizados para se recuperar dados que foram apagados, como através do conhecimento do sistema operacional e como ele trata determinados dados. Um exemplo que vale citar é o armazenamento das miniaturas das imagens em um arquivo no formato “.db” (database ou banco de dados) feito pelo sistema operacional Windows com o objetivo de agilizar a exibição das imagens de uma pasta em modo miniatura, atuando como um cache. Essas miniaturas das imagens são armazenadas no arquivo “Thumbs.db”, presente na própria pasta, mas oculto ao usuário. O fato é que mesmo as imagens originais sendo apagadas, suas miniaturas continuam guardadas nesse arquivo. Tomando conhecimento desse fato, em um caso de investigação de imagens ilícitas, por exemplo, esse arquivo não pode ser esquecido pelo perito, pois o suspeito pode ter excluídos as imagens a fim de ocultar provas, visto que as miniaturas podem ter ficado armazenadas no “Thumbs.db”. As ferramentas que podem ser utilizadas para extração dos dados presentes nesse arquivo são: vinetto32 (disponível para Linux, MacOS e Windows, escrito em Python) e o Thumbs Viewer33 (disponível somente para Windows). Ambas são gratuitas e auxiliam no processo de documentação, pois geram um relatório em formato “.html” de fácil visualização em qualquer browser, incluindo o código Hash (algoritmo MD5) para garantia de integridade. Para exemplificar a extraçãosobre esse tipo de arquivo de banco de dados de miniaturas, realiza-se uma aplicação da ferramenta vinetto. A versão utilizada foi a “0.8.0”, pois essa é compatível com os “Thumbs.db” gerados por todas as versões do Windows até o Windows 10, sendo que sua versão anterior (“0.7.0”) só é compatível até o Windows Server 2003. Já o Thumbs Viewer é compatível com todas suas versões. A Figura 9 exibe a execução da vinetto. 32 Disponível em: <http://vinetto.sourceforge.net/>. Acesso em 31 de março de 2020. 33 Disponível em: <https://thumbsviewer.github.io/>. Acesso em 31 de março de 2020. 31 Nessa execução, utiliza-se um arquivo “Thumbs.db” referente ao sistema operacional Windows 10. Passa-se “-H” como parâmetro para que o relatório em formato “html” seja criado, indicando-se também o diretório de extração, especificado pelo parâmetro “-o” (“/root/UFPI/TCC/vinetto_output”), além do diretório onde se encontra o arquivo “Thumbs.db” (“/root/UFPI/TCC/Thumbs.db”). A Figura 10 exibe o resultado dessa extração. Figura 9: Execução do comando para extração dos dados do arquivo Thumbs.db. Figura 10: Imagens extraídas pela ferramenta vinetto e o relatório “index.html”. 32 Para documentação, pode-se anexar somente o relatório “html” gerado, pois nele estão contidas todas as imagens, o Hash MD5, sua data de criação, e informações sobre os metadados dos arquivos (MACtimes), bem como a data de modificação do “Thumbs.db”. Uma parte desse relatório, aberto no browser, pode ser visualizado na Figura 11. Mais experimentos a respeito do “Thumbs.db” não estão no escopo deste trabalho, por isso não são abordados novamente nos estudos de caso. Por fim, cabe ressaltar que, em alguns casos, esses dados podem ser permanentemente perdidos devido às técnicas antiforenses, como a sanitização (“wipe”) e a desmagnetização de discos, apresentadas com mais detalhes no Capítulo 5. Figura 11: Exibição do relatório “index.html” gerado pelo vinetto. 33 4.2.2 Recuperação de Senhas Outro caso que pode ocorrer dentro da etapa de extração é a necessidade de se utilizar ferramentas que possibilitem o acesso ao conteúdo de arquivos protegidos por senha. Essa recuperação de senha varia de acordo com o contexto e de onde a senha está armazenada. Há algumas técnicas conhecidas para esse fim, como ataque por força bruta, ataque de dicionário e Rainbow Tables, explicados nessa subseção, podendo realizar descoberta dessa senha [1]. Esses ataques são por tentativa e erro, ou seja, onde várias senhas vão sendo testadas até se encontrar a correta; um exemplo de ferramenta de ataque por força bruta é a John the Ripper34. Esse processo testa todas as senhas possíveis, podendo ser um processo bastante custoso e até inviável, dependendo do tamanho e modelo de senha utilizado. Logo, recomenda-se a criação de um dicionário de possíveis senhas para teste, através de softwares específicos, como o Crunch35. Ele limita a ampla gama de possibilidades de senhas para tornar o ataque mais ágil (ataque de dicionário). Esse procedimento é demonstrado na Figura 12. 34 Disponível em: <https://www.openwall.com/john/>. Acesso em 19 de fevereiro de 2020. 35 Disponível em: <https://tools.kali.org/password-attacks/crunch>. Acesso em 19 de fevereiro de 2020. Figura 12: Geração de um dicionário de palavras com a ferramenta Crunch. 34 Gera-se um dicionário de palavras que tenham tamanho mínimo de 9 dígitos (parâmetro “9”) e máximo 9 (parâmetro “9”), além de especificar que as palavras devem começar com “mateus” e possuir três dígitos no final (de 0 a 9), onde o “@” é substituído pelo caractere ou conjunto de caracteres passados como parâmetro, que no caso é “0123456789”. Após a execução, os dados são salvos em um documento de texto (“dic_caso01.txt”) para que possam ser utilizados futuramente em um ataque de dicionário com as possíveis senhas geradas. Os parâmetros podem ser moldados pelo perito conforme a suspeita de senhas ou mediante algumas pistas que já tiverem sido obtidas. Já os ataques de RainBow Tables são utilizados sobre Hashes criptográficos com o objetivo de revertê-las, por meio do uso de tabelas pré-computadas. Essas tabelas contêm vários códigos Hashes com suas respectivas mensagens em claro. Os códigos da tabela vão sendo comparados com o Hash que se deseja reverter, e assim que ambos forem iguais, descobre-se também a mensagem original. Há alguns empecilhos que dificultam o ataque por RainBow Tables, como a necessidade de se ter o Hash da senha como condição obrigatória. Outro ponto, é a possibilidade de uso de um salt, ou seja, um pequeno valor (aleatório ou não) que é agregado à senha antes de gerar o Hash, a fim de aumentar a aleatoriedade da saída produzida. Mais detalhes sobre esse assunto fogem do escopo deste trabalho. Para aumentar a efetividade do processo, as tabelas de Hashes pré-computadas devem ser criadas de acordo com características específicas do sistema alvo. Por exemplo, se o sistema permite apenas senhas contendo letras e números, com tamanho mínimo de cinco e máximo de oito, e utiliza o algoritmo MD5, os Hashes devem ser criados a partir dessas características. Alguns softwares que podem ser utilizados para esse fim são o Ophcrack36 e o FindMyHash37. O software Ophcrack, disponível tanto para sistemas Windows quanto Linux, pode ser utilizado, como exemplo, para a descoberta da senha de login do sistema. Para exemplificar, utiliza-se o sistema operacional Windows 10, onde são extraídos os arquivos “SAM” e “system” localizados em “C:/Windows/System32/config”, pois esses arquivos armazenam os dados dos usuários incluindo a senha em código Hash, carregando-os no programa. Observa-se esse processo na Figura 13. 36 Disponível em: <https://ophcrack.sourceforge.io/>. Acesso em 19 de fevereiro de 2020. 37 Disponível em: <https://code.google.com/archive/p/findmyhash/>. Acesso em 19 de fevereiro de 2020. 35 Conclui-se que há somente um único usuário, o “Administrador” de nome “mateu”, pois apenas um único Hash foi identificado. As tabelas pré-computadas, utilizadas no ataque, são disponibilizadas pelo próprio software. A recuperação de senhas também pode ser realizada de forma direta quando alguns softwares armazenam essas senhas com alguma codificação simples dentro do registro do Windows ou as cifram utilizando uma chave conhecida e armazenam o criptograma da senha concatenado-a ao arquivo criptografado. Nesse caso, utilizando-se as ferramentas de recuperação adequadas, é possível obter-se a senha ou a chave de maneira rápida e eficiente [13]. Um exemplo disso é o armazenamento de senhas realizado por parte da maioria dos browsers quando o usuário opta por guardar suas senhas para poupar o esforço de ter que digitá-las toda vez que for realizar o login em determinadas páginas. Assim, recomenda-se que o perito tenha conhecimento de onde essas informações ficam armazenadas no sistema, pois isso pode variar conforme o browser [13]. A maioria desses browsers, como o Google Chrome e o Opera, armazenam os logins e senhas dos sites visitados em um arquivo no formato de banco de dados SQLite Figura 13: Carregamento dos arquivos com os Hashes das senhas. 36 denominado Login Data no armazenamento local. No Windows, as senhas encontram-se criptografadas por meio de uma API própria desse sistema, podendo ser descriptografadas por meio dela se for utilizada a mesma máquina e o mesmo usuário que a criptografou (possuidor da chave). Para auxiliar nessa tarefa, há o site SecurityXploded38, que especifica o caminho onde esses arquivos de senhas de diversos browser são salvos localmente, além de disponibilizar softwares responsáveispor extrair e descriptografar essas senhas por meio dessa mesma API do Windows. Utilizando-se o browser Opera como exemplo, os arquivos de senhas registradas são salvos em “C:/Users/[Nome_do_Usuário]/Appdata/Roaming/Opera Software/Opera Stable/Login Data” (sistema operacional Windows 10), podendo ocorrer pequenas variações de nomes e diretórios dependendo do sistema operacional em questão. Tomando conhecimento desse fato, o perito pode extrair esse arquivo (“Login Data”) e utilizá-lo no software específico que realiza a recuperação das senhas, no caso, o Opera Password Decryptor39, que é destinado ao Opera, observado na Figura 14. 38 Disponível em: <https://securityxploded.com/passwordsecrets.php>. Acesso em 6 de março de 2020. 39 Disponível em: <https://securityxploded.com/download-software.php?id=4281>. Acesso em 6 de março de 2020. Figura 14: Recuperação dos usuários e senhas de vários sites. 37 Assim, são exibidas as URLs (coluna “Website URL”) dos sites com seus respectivos dados de usuário (coluna “Username”) e senhas salvas em texto claro, na coluna “Password”. 4.3 ETAPA DE ANÁLISE A análise consiste em um exame realizado sobre as informações extraídas do material apreendido buscando a identificação de evidências digitais que possuam relação com o fato investigado [1], podendo ser feita por meio de arquivos de logs e de registros efetuados pelos sistemas operacionais. Assim, o perito deve estudar os dados para tirar conclusões a partir deles, como identificação de pessoas, lugares, itens, eventos e qual a relação desses dados com o incidente em questão [7]. Embora a etapa de extração tenha recuperado e identificado informações mais relevantes atuando como uma espécie de filtro, a quantidade de dados permanece grande, como por exemplo, um disco de 80 Gigabytes (80GB) — uma capacidade pequena comparada aos discos mais atuais de 1 Terabyte (1TB) — após ser peneirado ainda pode conter milhares de arquivos [1]. Analisar visualmente todo o conteúdo filtrado é uma tarefa árdua, visto que o tempo é um fator importante no processo investigativo, pois existem prazos para sua conclusão. Dessa forma, ferramentas como filtros de palavras-chave podem ser utilizados a fim de poupar esse tempo. Cabe distinguir os filtros utilizados na etapa anterior, a extração, dos utilizados na análise. Os filtros da etapa anterior atuam de modo mais genérico, filtrando dados em sua maioria, baseados em formatos, por exemplo. Nessa etapa, busca-se por dados de maneira mais específica, como por exemplo, o próprio conteúdo do dado, verificando-o como sendo ilícito ou não. Outro ponto relevante da etapa de análise é que há a possibilidade de alguns arquivos extraídos conterem informações ocultas, ou seja, tem-se um arquivo ocultando outro arquivo (ou uma mensagem). O exemplo de técnica antiforense mais comum para ocultação de informação é a esteganografia, podendo ser aplicada sobre imagens, áudios, vídeos ou textos [18]. Essa técnica é apresentada com mais detalhes no Capítulo 5. 38 Dessa forma, o perito deve estar apto na utilização de ferramentas que auxiliem na busca e organização dos dados extraídos, poupando-se o tempo de investigação. As próximas subseções abordam, respectivamente, ferramentas para análise de logs e registros gerados pelos sistemas operacionais Linux e Windows; e para análise baseada em filtros de palavras-chave. 4.3.1 Análise de Logs e Registros Em alguns casos, saber quando algo aconteceu pode ser mais valioso do que saber o que aconteceu [7], por isso que as relações dos dados com o tempo são bem importantes, e uma forma de se utilizar esse fator na análise é a partir da observação dos MACtimes [10]. Teoricamente, essa denominação a esses metadados é uma maneira abreviada de se referir aos três atributos do tempo: Atime (última data/hora que o arquivo ou diretório foi acessado), Mtime (tempo que o conteúdo do arquivo foi modificado) e Ctime (tempo da alteração das permissões ou propriedades do arquivo) [10]. A análise baseada em logs gerados pelo sistema operacional Linux tem seu sistema de registro dividido em três componentes: eventos de conexão, logs de auditoria e registros do sistema [9]. No primeiro, os logs armazenam os usuários que acessaram o sistema e a data desse acesso; nos de auditoria, registra-se as informações sobre os recursos usados na execução dos processos, como memória e uso da CPU; já nos registros de sistema (em /var/log) tem-se vários dados sobre alterações gerais da máquina [9]. A Tabela 5 elenca alguns desses principais arquivos de log dos sistemas operacionais Linux encontrados, geralmente, na pasta “/var/log” (alguns ocultos ao usuário), acompanhados de seu respectivo conteúdo. 39 Tabela 5: Principais arquivos de log gerados nos sistemas Linux. Arquivos de log Descrição utmp Registra os usuários conectados no sistema. Pode ser acessado por meio dos comandos w, who ou finger. wtmp Registra os eventos de login e logout do sistema. Pode ser acessado através do comando lastlog. btmp Registra as falhas de conexão ao sistema. Pode ser acessado através do comando lastb. sulog Registra os usos do comando su (superusuário ou root). syslog Registra os eventos ocorridos no sistema, como falhas ou tentativas de invasão. Logs de histórico Arquivos como .history, .bash_history, que registram o histórico de comandos executados por usuário. Algumas ferramentas desse sistema operacional facilitam o acesso e a visualização desses logs no próprio terminal, via linha de comando. Alguns exemplos são a netstat, que exibe as conexões ativas na rede; history, que exibe o histórico de comandos que foram utilizados no terminal; e lastlog, que exibe todos os acessos dos usuários à máquina com a data correspondente [9]. Em sistemas operacionais Windows, esses registros consistem em hives40, armazenados em diferentes arquivos, porém são mostrados como se fossem um único arquivo. Sua funcionalidade é centralizar o armazenamento de informações, como parâmetros, configurações de dispositivos e preferências de usuários [13]. Essa estrutura lógica pode ser observada acessando-se o editor do registro do Windows (Regedit.exe). Suas chaves raízes, com a respectiva descrição, são apresentadas na Tabela 6. 40 Do inglês, “colmeia”. Definido como um grupo de vários nodos em formato de árvore, hierarquicamente, contendo chaves, valores e ponteiros. 40 Tabela 6: Chaves raízes do registro do Windows e suas descrições. Adaptado de [13]. Chave Descrição HKEY_CLASSES_ROOT Link simbólico para HKEY_LOCAL_MACHINE\ SOFTWARE\Classes. HKEY_CURRENT_USER Link simbólico para uma chave sob HKEY_USERS, representando um hive de perfil de usuário. HKEY_LOCAL_MACHINE Espaço reservado sem hive físico correspondente. Essa chave contém outras chaves que são hives. HKEY_USERS Espaço reservado que contém os hives de perfis de usuários de contas em uso (usuários com sessão de login aberta). HKEY_CURRENT_CONFIG Link simbólico para a chave do perfil de hardware atual sob HKEY_LOCAL_MACHINE\ SYSTEMCurrentControlSet\Control\IDConfigDB\ Hardware Profiles. Para análise automática desses hives do Windows, há um software bastante eficiente e de fácil uso, o Windows Registry Recovery41, utilizado para analisar os seguintes dados: nome da máquina (hive “default”), informações sobre os grupos e contas dos usuários (hive “SAM”), e informações sobre a instalação do Windows e de outros softwares (hive “software”) [13]. Os logs gerados no ambiente Windows têm objetivos semelhantes aos do ambiente Linux, que, de modo geral, é registrar os eventos ocorridos na máquina como um todo, podendo ser divididos em cinco categorias: logs de aplicativos, sobre os eventos relacionados aos programas instalados; de segurança, sobre os relacionados às auditorias(se habilitado), como tentativas de logon com/sem sucesso; de instalação, sobre os processos de instalação e remoção de aplicações; de sistema, sobre os eventos de erros, avisos e informações do próprio Windows; e de eventos encaminhados, sobre os eventos de outros servidores [13]. Essa análise de logs é demonstrada de forma prática no estudo de caso no Capítulo 7, em um sistema operacional Linux, por meio da análise de eventos ocorridos nesse sistema. 41 Disponível em: <http://www.mitec.cz/wrr.html>. Acesso em 9 de março de 2020. 41 4.3.2 Análise por Palavras-Chave A pesquisa por palavras-chave nos dispositivos de armazenamento é uma técnica bastante utilizada no meio pericial, sendo realizada sobre os inúmeros dados extraídos na etapa anterior (extração) [1]. Ela consiste em aplicar filtros baseados em palavras-chave ou Hashes de arquivos conhecidos para descartar os dados irrelevantes e destacar os que têm relações com o filtro aplicado. Uma ferramenta que pode auxiliar nesse processo é o Known File Filter42 (KFF), que compara os Hashes de arquivos conhecidos com os dos arquivos extraídos, sendo que esses Hashes são baseados no conteúdo do arquivo e não no nome ou extensão, evitando-se análises errôneas. O KFF pode auxiliar a encontrar arquivos ilícitos e até malwares, além de identificar e ignorar de 40% a 70% dos arquivos irrelevantes ou do sistema operacional, aperfeiçoando a análise [1]. Os softwares Forensic Toolkit (FTK) e o Encase são exemplos de ferramentas que auxiliam essa análise aplicando filtros KFF, filtros por palavras-chave e buscas dentro do sistema de arquivos [1]. Em sistemas operacionais Linux, há outras ferramentas que podem ser úteis para a reconstrução ou rastreio de um incidente, como os comandos básicos grep e find, que filtram dados por palavras-chave [9]; ou o sed e awk, que também realizam esse filtro, mas permitindo o uso de expressões regulares avançadas para refinar ainda mais a busca [9]. Outro ponto importante nessa etapa é no âmbito da busca de pacotes em redes de computadores através de técnicas e ferramentas que identificam e separam do tráfego protocolos desejados, endereços IP de origem/destino ou portas. Essa análise de dados em pacotes TCP/IP apresenta algumas peculiaridades, como por exemplo, a forma e o momento em que é realizada. Ela pode ser feita em um tráfego sendo analisado em tempo real pelo próprio perito ou sobre uma captura de tráfego realizada em um momento anterior (modo offline). No primeiro caso, pode não haver etapa de coleta e extração, iniciando-se diretamente na etapa de análise. No segundo caso, todas as etapas se fazem presentes. 42 Disponível em: <https://ad-pdf.s3.amazonaws.com/ftk/6.3.x/KFF_Install.pdf>. Acesso em 19 de fevereiro de 2020. 42 As ferramentas Wireshark, tcpdump e ngrep43 são alguns exemplos. Essa última permite uma filtragem em rede baseada no foco de cada investigação, criando-se “listas de palavras sujas” (dirty word lists), vulgarmente conhecidas assim por serem palavras suspeitas e que na maioria dos casos têm relação com o incidente em questão [12]. 4.4 ETAPA DE FORMALIZAÇÃO A última etapa do procedimento forense computacional é a formalização, onde um laudo técnico pericial deve ser elaborado contendo idônea validade probatória, ou seja, ser incontestável quanto a sua integridade, assegurando que se os experimentos forem realizados novamente, os mesmos resultados serão obtidos com a mesma precisão. Esse laudo deve seguir as especificações do artigo 473 do Código de Processo Civil [5], relatando-se a cronologia dos fatos na cadeia de custódia [3], esclarecendo-se os procedimentos e métodos utilizados para a obtenção dos vestígios, além de responder aos quesitos apresentados pelo juiz, pelas partes e pelo Ministério Público [5]. Insta ressaltar, que esse laudo passa por uma análise de um delegado e de um juiz, ambos não sendo, necessariamente, conhecedores de informática e nem das ferramentas ou técnicas empregadas pelo profissional que atua na área de tecnologia, sendo responsabilidade do perito que elabora o laudo ser o mais claro e sucinto possível, ou seja, evitar a utilização de termos técnicos e evitar descrever em detalhes a tecnologia utilizada, a fim de dirimir dúvidas [13]. Assim, todas as informações obtidas nas etapas anteriores, como os elementos de materialidade do crime, devem ser anexadas ao laudo de modo objetivo. Geralmente, esse anexo é um CD-ROM contendo os dados obtidos, por ser de fácil acesso às autoridades do direito e terem um custo relativamente baixo. Por fim, essa etapa é fundamental para manter a segurança, a transparência e a validade de eventuais evidências digitais encontradas nos materiais examinados. Em geral, a estrutura seguida nos laudos técnicos periciais apresentam os seguintes tópicos: preâmbulo, histórico, material, objetivo, considerações técnicas ou periciais, exames e respostas aos quesitos ou conclusões [1]. Um exemplo dessa estrutura de laudo está exemplificado na Tabela 7. 43 Disponível em: <http://ngrep.sourceforge.net/usage.html>. Acesso em 19 de fevereiro de 2020. 43 Tabela 7: Seções do laudo técnico pericial. Fonte: adaptado de [1]. Laudo Técnico Pericial (Forense Computacional) Preâmbulo Identificação do laudo: título, subtítulo, número, data de emissão, etc. Histórico Fatos anteriores ao laudo (opcionais). Material Descrição detalhada do material questionado, como marca, modelo, número de série, valor hash, etc. Objetivo Objetivos principais do exame pericial. Considerações técnicas ou periciais Onde o perito pode descrever conceitos para facilitar o entendimento do laudo (opcional). Exames Descrição dos métodos e técnicas utilizadas para localização das evidências. Respostas aos quesitos/conclusões Resumo objetivo dos resultados obtidos. 5. ANTIFORENSE COMPUTACIONAL O termo antiforense computacional pode ser definido como qualquer tentativa de comprometimento à disponibilidade ou à utilidade de evidências para o processo forense. O comprometimento dessa disponibilidade de evidências inclui quaisquer tentativas de impedir que elas estejam evidentes, ocultando-as ou manipulando-as, a fim de garantir que não esteja mais ao alcance do investigador [20]. Assim, preliminarmente, pode-se julgar esse termo como sendo os métodos utilizados para impedir a aplicação da ciência às leis civis e criminais utilizadas pelas agências policiais em um sistema de justiça criminal, comprometendo a disponibilidade ou utilidade de evidências para o processo forense [20]. As ações antiforenses podem ser classificadas em grupos de acordo com suas finalidades em relação aos dados: destruição, ocultação, proteção, eliminação da fonte e falsificação [13][20]. A Tabela 8 reúne essas ações correlacionando-as com seu(s) objetivo(s), dentro de uma categoria. 44 Tabela 8: Ações antiforenses e suas categorias. Traduzido e adaptado de [20]. Ações Categorias Eliminação da fonte Falsificação Destruição Ocultação Proteção Alterações no MACtimes (Modification , Access, Creation time) - Reescrever com dados aleatórios Deletar as informações sobre MACtimes ou reescrevê-las - - Exclusão / sanitização (wipe) dos dados - - Sobrescrever o conteúdo com dados aleatórios ou pôr zero em todos os bits Excluir o arquivo - Destruição física ou desmagnetiza ção do disco - - Destruir fisicamente a mídia de armazenamento - - Ataque Hijacking — sequestro de conta ou sessão - Criar evidências falsas através da conta/sessão de outro usuário - - - Desabilitação de logs Não são disponibiliza das informações sobre atividades realizadas - - - - 45 Criptografia - - - - Codificar os dados de forma que apenas o detentor da chave correta consiga decodificar Encapsulame nto dos dados - - - Ocultar um arquivo em outro -A respeito da eliminação da fonte, essa ação é realizada sobre dispositivos ou softwares que armazenam logs das atividades realizadas pelo usuário. Alguns desses softwares até permitem a desabilitação desses logs nas próprias configurações, dessa forma, há uma eliminação diretamente na fonte, pois os logs nem chegam a ser gerados [13]. As ações de falsificação, como alterações de MACtimes e ataques do tipo hijacking de roubo de conta/sessão, são aplicadas a fim de confundir o perito sobre quem cometeu a infração ou sobre quando essa foi cometida, através de um roubo de token de sessão, por exemplo, fazendo o atacante ser confundido com um usuário legítimo. As outras categorias que envolvem ações de destruição, ocultação e proteção, são abordadas, respectivamente, nas subseções seguintes, pois têm uma maior quantidade de conteúdo relacionado e são as mais comuns no meio pericial. Também são demonstrados alguns softwares relacionados que cumprem esses papéis. 5.1 DESTRUIÇÃO O objetivo principal da técnica de destruição é impossibilitar que o conteúdo seja recuperado de alguma forma. Esses procedimentos podem ser divididos em físicos ou lógicos [13]. A destruição física é causar danos diretamente no dispositivo, seja por meio do uso da força física ou com a utilização de ferramentas, como martelos e furadeiras, ou até 46 mesmo atear fogo no equipamento [13]. Em geral, esse tipo de destruição inviabiliza a recuperação total ou parcial dos dados, também resultando na inutilização do dispositivo. A destruição lógica consiste em destruir os dados logicamente, ou seja, tentar impossibilitar a recuperação desses dados de modo que a integridade física do dispositivo não seja atingida, tentando manter a possibilidade de utilização posterior. Uma maneira de destruir dados logicamente é por meio da desmagnetização do disco utilizando-se equipamentos específicos, como o desmagnetizador Garner HD-3W44. É conveniente destacar que esse processo pode causar danos irreversíveis que podem inutilizar a mídia, logo não deve ser aplicado se tem-se o desejo de reutilizá-la. Outra forma de destruição lógica dos dados, sem riscos de inutilização, é através da técnica conhecida como wipe, que consiste em aplicar valores de bits definidos (somente zeros, somente uns ou bits aleatórios) em todo o disco ou em parte dele. Um exemplo de software que pode ser utilizado para esse fim é o MiniTool Partition Wizard45, com sua interface e funcionalidades apresentadas na Figura 15. 44 Disponível em: <https://garnerproducts.com/products/hard-drive-degausser/hd-3wxl-hard-drive-degausser>. Acesso em 6 de março de 2020. 45 Disponível em: <https://www.partitionwizard.com/free-partition-manager.html>. Acesso em 7 de março de 2020. Figura 15: Execução do software MiniTool Partition Wizard para wipe de disco. 47 Destaca-se na cor verde o disco identificado na máquina (“Disk 1 de 931.51 GB”) e suas partições, bem como a opção de realização do wipe, em “Wipe Disk”. 5.2 OCULTAÇÃO As técnicas de ocultação tratam, em sua maioria, em esconder um arquivo em outro, a fim de que apenas as partes cientes da informação consigam ter acesso ao dado oculto. O arquivo hospedeiro pode ser uma imagem, áudio ou vídeo, sendo essa técnica conhecida como esteganografia. Conceitualmente, esteganografia é considerada um tipo de criptografia, porém com uma grande diferença: a criptografia protege os dados, deixando-os inelegíveis, já a esteganografia apenas os oculta, de forma que quem receba esse dado consiga usá-lo ou visualizá-lo normalmente, mesmo sem tomar ciência da informação escondida [13]. O tipo de hospedeiro mais comum na esteganografia são as imagens, nos formatos “bmp”, “jpg” e “png”, onde mínimas alterações feitas nessas imagens ficam imperceptíveis ao olho humano, escondendo-se a informação desejada. Além disso, o ideal é que o arquivo hospedeiro não tenha seu tamanho alterado. Há softwares que realizam a ocultação de arquivos, mas, na verdade, realizam uma concatenação desses com o hospedeiro, podendo aumentar muito seu tamanho, tornando-o perceptível [13]. A técnica mais comum de esteganografia é a LSB (Least Significant Bit), que consiste em esconder informações em imagens, trocando-se os bits menos significativos dessa imagem, ou seja, os que mudam a intensidade do pixel em menos de 1%, sendo imperceptíveis ao olho humano [18]. Essa técnica é demonstrada nesse subcapítulo de forma experimental. O sistema de cores RGB (Red, Green e Blue) de 24 bits, destina 8 bits para cada cor, ou seja, 28 possibilidades (256) de tons na cor vermelha, verde e azul. Assim, se deseja-se esconder um caractere em uma imagem hospedeira alterando-se somente um único bit ao final de cada cor, a mudança seria imperceptível ao olho humano, pois ele não consegue detectar nem próximo das 16.777.216 (224) cores possíveis desse sistema de cores RGB [13]. 48 Realiza-se um experimento por meio do software Hide & Reveal46, onde uma imagem hospedeira (“branquinha.bmp”) é utilizada para esconder mensagens em formato “txt” (“msg_secret.txt” e um comentário adicional). A Figura 16 exibe esse procedimento e informa o diretório e nome da nova imagem gerada (“hidden_branquinha.bmp”). Após conclusão do processo de esteganografia as duas imagens são apresentadas lado a lado a fim de demonstrar que não há nenhuma alteração visível ao olho humano. As Figuras 17 (a) e (b) confirmam esse resultado. 46 Disponível em: <http://hidereveal.ncottin.net/software.php>. Acesso em 8 de março de 2020. Figura 16: Execução do software Hide & Reveal para ocultação de uma mensagem. 49 Para apresentar os detalhes desse processo de esteganografia, utiliza-se uma ferramenta gratuita e nativa do Kali Linux, o binwalk47, onde se realiza uma análise em hexadecimal de ambas as imagens. Essa ferramenta, recebendo como parâmetro “-W” ou “--hexdump” consegue analisar as semelhanças e diferenças entre as imagens por meio da coloração dos bytes, onde os verdes representam os bytes que são iguais em ambas, e os vermelhos os que são diferentes. A Figura 18 demonstra a execução do binwalk, observando-se que somente alguns bytes foram alterados (em vermelho) para se poder ocultar a mensagem secreta. Além disso, percebe-se também que os bytes iniciais, ou seja, o magic number é “42 4D”, confirmando que ambas estão no mesmo formato “bmp”. 47 Disponível em: <https://github.com/ReFirmLabs/binwalk>. Acesso em 24 de março de 2020. Figura 17: (a) Imagem original; (b) Imagem hospedeira ocultando as mensagens secretas. 50 Outro ponto, é que mesmo as imagens tendo tamanhos iguais, elas têm datas de criação diferentes, sendo que a (b) foi gerada alguns minutos depois. Esse fator tempo auxilia na identificação da hospedeira, pois não há possibilidades da imagem original ser criada antes, logo a que tiver um tempo de criação mais recente, logicamente, deve ser analisada para se extrair a mensagem ocultada. A Figura 19 evidencia essa semelhança de tamanhos e a diferença entre as datas. Figura 18: Análise em bytes da imagem original (“branquinha.bmp”) e da hospedeira (“hidden_branquinha.bmp”). 51 Para uma confirmação mais precisa sobre a distinção de bytes entre as duas imagens, pode-se fazer uma verificação de código Hash de ambas, pois como já visto, esses algoritmos não geram códigos idênticos de arquivos distintos. Observa-se esse fato na Figura 20, com o uso do software HashMyFiles por meio dos algoritmos MD5 e SHA- 512. Figura 19: (a) Tamanho da imagem original e sua data de criação; (b) Imagem hospedeira. Figura 20: Geração do código Hash da imagem original e da hospedeira. 52 Por fim, para se reverter o processo e se obter a mensagem secreta através da imagem hospedeira, pode-se utilizar o mesmo software Hide & Reveal. Após o processo de reversão, um arquivo comprimido no formato “zip” é gerado, contendoa mensagem secreta (“msg_secret.txt”) e o comentário adicional (salvo como “note.txt”). Ambas as mensagens são exibidas na Figura 21. 5.3 PROTEÇÃO Na proteção de dados, a técnica mais utilizada é a criptografia, definida como a conversão de dados legíveis em dados ilegíveis, onde a decodificação se dá por meio de uma chave, ou seja, um segredo [13]. Os algoritmos de criptografia podem ser divididos em simétricos (chave única) e assimétricos (chave pública). Os algoritmos simétricos utilizam uma única chave para cifrar a informação, sendo essa mesma chave usada na descriptografia. Já os algoritmos assimétricos, necessitam de duas chaves, sendo uma privada e uma pública, ou seja, a chave privada é exclusiva do usuário, acessível somente por ele, já a pública é amplamente acessível. A área da criptografia é bem vasta, e um aprofundamento foge do escopo deste trabalho. Figura 21: Exibição da mensagem secreta e dos comentários ocultados na imagem hospedeira por meio da esteganografia. 53 Um experimento com uma ferramenta disponível em sistemas operacionais Linux, a Ccrypt48, é realizado para exemplificar essa técnica antiforense. Essa ferramenta é implementada com o algoritmo AES, uma cifra simétrica baseada no conceito de cifra de bloco de Rijndael, com blocos de 128 bits e chaves secretas de 128, 192 ou 256 bits. A Figura 22 exibe o arquivo “mensagem.txt” destinado à criptografia, bem como o seu conteúdo em claro. Em seguida, utiliza-se a ferramenta Ccrypt através do comando “ccrypt -e” (“e” de encrypt, que no português significa criptografar) passando-se como parâmetro o arquivo que se deseja criptografar. Após, informa-se a chave utilizada na execução do algoritmo simétrico AES, criptografando-se com êxito o arquivo e gerando um novo (“mensagem.txt.cpt”), com a extensão “.cpt” referente ao programa. No processo inverso, de descriptografia, utiliza-se o comando “ccrypt -d” (“d” de decrypt, que no português significa decifrar) passando-se como parâmetro a mensagem cifrada com a mesma extensão “.cpt”. Em seguida, deve-se digitar a mesma chave que foi utilizada para criptografia, pois o algoritmo é de criptografia simétrica. A Figura 23 exibe o conteúdo do arquivo cifrado, visivelmente ilegível, bem como o seu processo de descriptografia, e uma nova exibição do conteúdo em claro. 48 Disponível em: <http://ccrypt.sourceforge.net/>. Acesso em 9 de março de 2020. Figura 22: Criptografia de um arquivo com a ferramenta Ccrypt. 54 Por fim, conclui-se que esse procedimento de criptografia da informação pode deixar os dados confidenciais, sendo necessário o conhecimento de uma chave para descriptografia. No entanto, a chave utilizada é de notória importância, pois, caso uma chave simples (com poucos caracteres, por exemplo) seja utilizada, a quebra dessa senha se torna mais fácil por meio dos métodos de recuperação de senhas, mencionados no Capítulo 4. 6. PROPOSTA DE TRABALHO O trabalho proposto tem como objetivo descrever os passos de uma investigação pericial, expor ferramentas utilizadas e seus respectivos desempenhos. Realiza-se de forma prática as etapas da metodologia sobre dois cenários (estudos de caso): o primeiro, sobre dispositivos de armazenamento (no caso, HD e pendrive); o segundo, sobre dados voláteis (memória RAM e rede) por meio de uma análise de processos e tráfego em rede. O primeiro estudo segue a metodologia descrita de coleta, extração, análise e formalização [7] de forma bem detalhada; o segundo, de maneira mais fluida e direta. No primeiro cenário, além da utilização de ferramentas e obtenção dos dados, é feita uma análise comparativa entre essas ferramentas, demonstrando-se quais obtiveram melhores resultados sobre os vestígios explorados, que, nesse caso, são arquivos no formato de imagens e em formato “zip” (arquivo comprimido). Figura 23: Descriptografia de um arquivo com a ferramenta Ccrypt. 55 No segundo cenário, além da análise de tráfego em uma rede TCP/IP na surface web [14], realiza-se uma análise sobre as informações trafegadas na deep web [14], utilizando-se a plataforma Tor, a fim de demonstrar os empecilhos que podem ser encontrados em uma investigação nesse meio “obscuro”, comparando-se ambos os tráfegos. Outro ponto destacado no segundo cenário é a questão dos malwares (“malicious software” ou software malicioso), pois são riscos comumente encontrados tanto na surface web quanto, principalmente, na deep web. No entanto, realiza-se uma análise de processos na memória RAM e de dados trafegados em rede, a fim de apurar uma possível infecção de um malware que registra as teclas capturadas da vítima e envia esses registros remotamente a um atacante, conhecido como keylogger. 6.1. DESIGN DO CENÁRIO 1 Nesse primeiro cenário, sobre dispositivos de armazenamento, simula-se um exemplo de incidente de pornografia infantojuvenil envolvendo imagens ilícitas. Utiliza- se imagens de cães como sendo a materialidade do suposto crime, substituindo essas imagens ilícitas. A motivação dessa escolha foi o aumento significativo desse tipo de delito no Brasil, chegando a ser apontado, em alguns anos, como o crime mais comum cometido na Internet [16]. Os objetos de sustentação dessa parte do trabalho foram livros didáticos, artigos científicos publicados e informações coletadas no Instituto de Criminalística do Estado do Piauí. Como meio de realização dos experimentos, utiliza-se uma partição de 2GB (para agilizar o processo) do disco rígido como simulação de um disco rígido suspeito, além de um pendrive de 4GB. Ademais, como ferramentas de trabalho, utiliza-se o sistema operacional Kali Linux, pois nele há ferramentas forenses nativas e gratuitas que auxiliam nesse processo, mencionadas a seguir. Na coleta, aplica-se a ferramenta dc3dd para geração da imagem do disco rígido questionado; utiliza-se o algoritmo de Hash MD5, por meio da ferramenta md5sum, para comprovar a integridade do HD original. Segue-se também o processo de abertura e 56 registro da cadeia de custódia em um formulário, conforme artigo 158 do CPP [2]. O mesmo procedimento com as mesmas ferramentas é adotado sobre o pendrive. Na extração, utiliza-se como ferramenta o Autopsy, que permite a visualização da imagem e dos dados excluídos de forma facilitada através de uma interface gráfica aberta localmente no browser. Utiliza-se ferramentas gratuitas de recuperação por data carving, como o Foremost, Scalpel e o Photorec, comparando-as. Também há o arquivo em formato “zip”, que encontra-se protegido por senha, utilizando-se a ferramenta John The Ripper para descoberta dessa senha. Na análise, objetiva-se comprovar que o pendrive foi acessado pela máquina questionada por meio da análise de logs do sistema, utilizando-se o comando “dmesg”, nativo em sistemas operacionais Linux. Por fim, toda a cronologia dos eventos é registrada nos formulários de cadeia de custódia [3], simulando um laudo técnico pericial [5] que contenha validade jurídica, seguindo os padrões determinados em lei e na norma internacional ISO/IEC 27037:2013 [6]. 6.2. DESIGN DO CENÁRIO 2 No segundo cenário, simula-se dois casos envolvendo dados voláteis. Um dos incidentes é a respeito de mensagens ofensivas sendo compartilhadas dentro de um site de bate-papo da “Internet comum”, suspeitando-se de um esquema de venda de entorpecentes. O mesmo incidente é simulado dentro de um ambiente anônimo e descentralizado, como no caso da deep web [14], utilizando-se o navegador Tor. Então, os resultados são comparados por meio de uma análise de tráfego em rede. Como meio de realização dos experimentos, utiliza-se o ambiente Windows, em conjunto da ferramenta de análise de tráfego Wireshark, por ser gratuita, possuir interface amigável, e permitir a aplicação defiltros que facilitam na análise do tráfego dos pacotes. Para navegação em anonimato, utiliza-se a plataforma Tor, por ser uma das mais conhecidas em proporcionar uma navegação anônima, segura e descentralizada [14]. Como a surface web e a deep web são ambientes suscetíveis a riscos de ataques de malwares por um atacante, simula-se um incidente sobre a memória RAM e, também, envolvendo análise de tráfego em rede, onde os processos e os dados trafegados são 57 analisados a fim de apurar uma possível infecção de um keylogger. Esse malware, categorizado com um spyware (software espião), captura de modo oculto ao usuário as teclas digitadas por ele, enviando esses registros remotamente a um suposto atacante. Como ferramentas, utiliza-se um script desenvolvido na linguagem Python49, escrito pelo autor, para atuar como keylogger, usando-se as bibliotecas pynput50 para captura das teclas e smtplib51 para envio a um servidor de email da Google (Gmail) por meio de uma conexão SMTP. Utiliza-se também o Windows 10 virtualizado como ambiente de execução desse keylogger, junto às ferramentas Process Explorer (análise de processos) e TCPView (análise de conexões). Para análise do tráfego na rede TCP/IP pelo malware, utiliza-se nativamente o sistema operacional Kali Linux, por meio das ferramentas tcpdump, que, por ser executada via terminal, garante uma maior agilidade na coleta do tráfego; e o Wireshark, que, por possuir interface gráfica, permite uma melhor visualização dos pacotes. 7. ESTUDO DE CASO 1 Neste capítulo, apresenta-se um trabalho prático com o objetivo de elucidar os procedimentos e algumas ferramentas mencionadas no Capítulo 4, seguindo os passos da metodologia da perícia forense computacional: coleta, extração, análise e formalização [7]. Realiza-se esse estudo de caso sobre um cenário controlado, a fim de simular ao máximo um incidente real. No suposto local de crime, encontra-se um notebook e um pendrive, que sendo identificados pelo perito como possíveis instrumentos de meio para a realização do delito, são apreendidos, iniciando-se a documentação referente à cadeia de custódia, sendo levados ao laboratório para análise. Elabora-se o início do formulário da cadeia de custódia desses materiais apreendidos, observada na Tabela 9. Vale ressaltar, que as informações de identificação dos equipamentos devem ser bem precisas, seguindo as especificações da lei 13.964/19 49 Disponível em: <https://www.python.org/>. Acesso em 6 de julho de 2020. 50 Disponível em: <https://pypi.org/project/pynput/>. Acesso em 6 de julho de 2020. 51 Disponível em: <https://docs.python.org/3/library/smtplib.html>. Acesso em 6 de julho de 2020. 58 [3] e as recomendações da norma ISO/IEC 27037:2013 [6], garantindo a identificação posterior dirimindo dúvidas. Tabela 9: Início do formulário da cadeia de custódia. FORMULÁRIO DE CADEIA DE CUSTÓDIA Número do Caso: 98720091996 DETALHES DAS MÍDIAS OU EQUIPAMENTOS ITEM DESCRIÇÃO 1 HD do Notebook Dell Inspiron 15 com 2 GB de Capacidade 2 Pendrive Kingston com 4GB de Capacidade FABRICANTE MODELO NÚMERO DE SÉRIE Dell Inspiron 15 5000 ABC123456 Kingston Não identificado 070066912B61D587 CRONOLOGIA DOS FATOS CÓDIGO ORIGEM DATA HORA DESTINO DATA HORA 1 Local de Apreensão 03/04/2020 10:16 Laboratório de Perícia 03/04/2020 11:08 Pode-se observar a identificação precisa dos materiais apreendidos, sendo um notebook Dell e um pendrive Kingston, ambos com seus números de série (Serial Number), ou seja, uma identificação única do dispositivo de armazenamento, evitando confusões quanto a sua identificação posterior. Além disso, pode-se verificar a cronologia dos eventos, iniciando-se com a apreensão dos dispositivos no próprio local de crime com destino ao laboratório de perícia, tendo suas datas e horas registradas. Os equipamentos questionados, ao chegarem acondicionados e devidamente identificados ao laboratório pericial [1], dá-se início aos procedimentos forenses com o objetivo de se obter a possível materialidade da infração. 59 As subseções adiante estão divididas conforme as etapas (coleta, extração, análise e formalização) [7] relatadas no decorrer deste presente trabalho, aplicando-se as respectivas ferramentas para se solucionar o incidente do estudo de caso em questão. 7.1 COLETA Inicialmente, na etapa da coleta, tanto o HD original quanto o pendrive, devem ser preservados, adquirindo-se uma cópia fiel de ambos por meio de uma imagem de mídia para uso nas etapas posteriores. Aplica-se também o algoritmo de Hash MD5 sobre as mídias originais e sobre as cópias, a fim de garantir a integridade. Com os dispositivos coletados conectados na máquina utilizada pelo perito, pode- se utilizar o comando “fdisk -l” para exibir todos os dispositivos presentes. Esse procedimento é exibido na Figura 24. Essa aplicação do comando “fdisk -l” tem o objetivo de assegurar que os dispositivos investigados estão conectados e prontos para realização da cópia, bem como o diretório onde estão montados. Observa-se o HD montado em “/dev/sda9” e o pendrive em “/dev/sdb1”, que por ser um componente externo e diferente do disco (“a”), assume a letra “b”. Pode-se observar algumas informações adicionais, como o armazenamento, Figura 24: Mídias presentes na máquina com o comando “fdisk -l”. 60 sendo de 2GB o do HD e 3,6GB o do pendrive (há uma pequena variação), conforme descrito no formulário da cadeia de custódia da Tabela 9. Identificados esses dispositivos conectados à máquina, a próxima ferramenta utilizada é a dc3dd, que tem como diferencial a geração da cópia em conjunto com código Hash, utilizada no sistema operacional Kali Linux. O Hash calculado por essa ferramenta é realizado antes da cópia em si. Além do Hash gerado pela dc3dd, opta-se por gerar um Hash à parte com a ferramenta md5sum (algoritmo MD5), a fim de deixar o processo ainda mais preciso ao comparar-se esses Hashes e identificá-los como idênticos. Esse procedimento é realizado primeiro sobre o HD e em seguida sobre o pendrive, podendo ser observado na Figura 25. Passa-se como parâmetro a mídia alvo (“if=/dev/sda9”) e o destino onde é gerado a imagem dessa mídia (“of=/root/case_98720091996_HD.img”), somado ao parâmetro de identificação do Hash gerado (“hash=md5”). Opta-se por nomear a imagem com o número do caso descrito no formulário da cadeia de custódia (Tabela 9), bem como o material utilizado (HD), a fim de facilitar a identificação posterior. Figura 25: Criação da imagem de mídia do HD e geração dos Hashes com a md5sum. 61 O mesmo procedimento é realizado sobre o pendrive, logicamente alterando-se alguns parâmetros. Utiliza-se o mesmo padrão de nome utilizado na imagem de mídia do HD, conforme observado na Figura 26. Em uma investigação real, o perito responsável pode criar as imagens de mídia colocando como destino algum HD externo próprio, de armazenamento igual ou superior ao do dispositivo investigado [13] para facilitar no transporte, além de garantir uma maior organização dos dados, visto que há a possibilidade de existir mais de um dispositivo sendo investigado e até mesmo mais de um caso em questão. Com as imagens das mídias questionadas criadas, preenche-se o formulário da cadeia de custódia com os novos procedimentos realizados e resultados obtidos, dando-se continuidade ao registro da cronologia dos fatos, apresentado na Tabela 10. Tabela 10: Continuação do formulário de cadeia de custódia. FORMULÁRIO DE CADEIA DE CUSTÓDIA Número do Caso: 98720091996 DETALHES DAS MÍDIAS OU EQUIPAMENTOS Figura 26: Criação da imagem de mídia do pendrive e geração do Hash. 62 ITEM DESCRIÇÃO 1 HD do Notebook Dell Inspiron 15 com 2 GB de Capacidade 2 Pendrive Kingston com 4GB de Capacidade FABRICANTEMODELO NÚMERO DE SÉRIE Dell Inspiron 15 5000 ABC123456 Kingston Não identificado 070066912B61D587 SOBRE A IMAGEM DOS DADOS DATA HORA RESPONSÁVEL FERRAMENTA 03/04/2020 16:20 Mateus Tito dc3dd ITEM TIPO DE CÓPIA HASH (MD5) 1 HD Completo decd62df81cff81dda9ad9cd547ff628 2 Mídia Completa f12cdddf237a82b6c5c56624dd87be2c CRONOLOGIA DOS FATOS CÓDIGO ORIGEM DATA HORA DESTINO DATA HORA 1 Local de Apreensão 03/04/2020 10:16 Laboratório de Perícia 03/04/2020 11:08 Uma nova seção foi adicionada ao formulário de cadeia de custódia, referente à imagem dos dados. Nela descreve-se a data e hora de realização, a ferramenta utilizada e o responsável pelo procedimento, além de detalhar-se o tipo de cópia que é realizada, seja do disco completo ou de somente uma partição (adota-se como se fosse de um disco completo), e seus respectivos Hashes gerados. Ao finalizar com sucesso a obtenção das cópias das mídias originais, seguindo-se as exigências da lei 13.964/19 [3] e as recomendações da norma ISO/IEC 27037:2013 [6], conclui-se que essas cópias são idênticas ao dispositivo de armazenamento original. Assim, pode-se seguir com as próximas etapas do processo forense computacional, posteriormente realizadas sobre essas cópias idênticas. 63 7.2 EXTRAÇÃO Nessa etapa, o objetivo é obter os dados presentes nas mídias questionadas, a fim de se conseguir materialidade suficiente. Sabendo-se que alguns dados podem ter sido excluídos dos dispositivos de armazenamento ou estarem protegidos por senha, faz-se necessário a utilização de ferramentas para a recuperação desses dados. Inicialmente, realiza-se a abertura das imagens das mídias coletadas utilizando-se a ferramenta Autopsy, que além de ser gratuita, apresenta uma interface amigável aberta localmente no browser. Nela, tem-se uma fácil visualização da distribuição das pastas, arquivos e diretórios presentes na imagem de mídia, além de exibir os arquivos que foram apagados. A Figura 27 exibe a imagem de mídia do HD aberta no Autopsy. Observa-se que no campo “File Name Search”, delimitado por uma caixa azul, que se utiliza uma expressão regular (“jpg | bmp | png | jpeg”) para filtrar somente os arquivos que estejam nos formatos passados, pois como se busca por imagens ilícitas, Figura 27: Abertura da imagem de mídia do HD no Autopsy. 64 logicamente, os formatos passados são os mais comuns de imagens. Essa filtragem pode variar dependendo da investigação. Esses arquivos podem estar representados por uma das três cores: azul, vermelho- escuro ou vermelho claro. Os arquivos em azul estão presentes integralmente na imagem da mídia, bem como na mídia original, estando normalmente acessíveis; os em vermelho- escuro foram apagados da mídia original, logo podem ser recuperados pela própria ferramenta; já os arquivos em vermelho claro, foram também excluídos, mas não podem ser recuperados pelo Autopsy. A sexta coluna da esquerda para a direita (delimitada por uma caixa verde) exibe o tamanho dos arquivos em bytes, logo, se o tamanho é zero, não há blocos de dados suficientes que possibilitem sua recuperação (arquivos em vermelho claro). Há outros dados importantes que também são obtidos pelo Autopsy, como as datas de criação, acesso e modificação dos arquivos, ou mais conhecidos como MACtimes [10], observados, respectivamente, nas colunas três, quatro e cinco da esquerda para a direita, delimitados por uma caixa vermelha. Ao clicar sobre o arquivo desejado, uma tela de pré-visualização da imagem é exibida embaixo da tela principal, indicando se o arquivo encontra-se reconhecível pelo Autopsy; em caso positivo, pode-se clicar sobre o botão “Export” e exportá-lo a algum diretório da máquina. As imagens exportadas recebem o nome do diretório de onde estavam originalmente, separadas por um ponto. No caso investigado, busca-se por 16 imagens ilícitas apagadas do dispositivo de armazenamento. Algumas dessas imagens são extraídas com êxito por meio do Autopsy, e estão apresentadas na Figura 28. As outras imagens não são encontradas por essa ferramenta. Figura 28: Imagens recuperadas da imagem de mídia do HD pelo Autopsy. 65 A fim de se obter melhores resultados investigativos, outras ferramentas de extração são utilizadas sobre essa imagem de mídia, como o Foremost, o Photorec e o Scalpel, utilizando a técnica de data carving na recuperação. Assim, mesmo que a extensão do arquivo tenha sido alterada manualmente, ele pode ser encontrado por meio do seu magic number. Cabe ressaltar, que o Autopsy não consegue recuperar de forma rápida e automatizada como as outras ferramentas mencionadas, sendo uma excelente ferramenta para observação da mídia através de sua interface gráfica. Primeiramente, utilizando-se o Foremost, é passado como parâmetro o formato dos arquivos que se deseja extrair separados por vírgula (“jpg, bmp, png, jpeg”), sendo os mesmos passados no Autopsy anteriormente. Além disso, essa ferramenta cria uma pasta com a data em que o evento de extração é realizado, seguindo o padrão “output_DiaDaSemana_Mês_Dia_Hora_Minuto_Segundo_Ano”, que no caso analisado é “output_Sat_Apr_4_18_07_25_2020”, referente ao dia 18 de abril de 2020. A Figura 29 demonstra essa execução. Ao concluir, exibe-se o resultado de todos os arquivos recuperados. O Foremost extrai todos os arquivos de formato especificado no parâmetro, não somente os apagados. Figura 29: Extração dos arquivos da imagem de mídia do HD utilizando o Foremost. 66 Por isso, o resultado total é bem maior em relação aos recuperados pelo Autopsy. Logo, necessita-se de uma análise na etapa posterior para se identificar o que de fato é ou não ilícito. Alguns dos 16 arquivos apagados são recuperados com sucesso pelo Foremost, não ocorrendo o mesmo com o Autopsy. A Figura 30 exibe esse resultado obtido ao fim da extração, dividindo os dados conforme os formatos dos arquivos recuperados. Como se pode observar, extrai-se no total 274 arquivos “jpg” e “png” em 52 segundos. Seguidamente, utiliza-se a ferramenta Photorec sobre a mesma imagem de mídia do HD. Assim como o Foremost, essa ferramenta também recupera os formatos de arquivos passados em sua totalidade, tanto os excluídos do disco quanto os que estão presentes, mas operando somente sobre imagens. Ao fim da execução, obtém-se o resultado exibido na Figura 31, sendo um total de 37 arquivos nos formatos “jpg”, “bmp” e “png”. O tempo de execução não é calculado nessa ferramenta. Figura 30: Resultado da extração ao final da execução do Foremost. Figura 31: Dados extraídos utilizando-se a ferramenta Photorec. 67 Em sequência, utiliza-se a ferramenta Scalpel, seguindo o mesmo objetivo buscado com as ferramentas anteriores. Antes da execução, é necessário ajustar o seu arquivo de configuração em “/etc/scalpel/scalpel.conf”, descomentando-se os formatos que se deseja buscar na extração, pois todos vêm comentados por padrão. Quanto a isso, essa ferramenta perde um pouco de praticidade em relação às outras, já que não admite uma passagem dos formatos como parâmetro. No entanto, pode-se usar o comando “nano /etc/scalpel/scalpel.conf” para abrir esse arquivo de configuração em modo de edição de texto, descomentar as linhas com os formatos interessados (“jpg”, “bmp” e “png”) e salvar as modificações. Observa-se esse processo na Figura 32, onde as linhas brancas são as descomentadas, correspondendo aos formatos buscados e seus respectivos magic numbers. Por fim, utiliza-se o comando “scalpel -v case_98720091996_HD.img -o /root/recup-scalpel”, passando-se como parâmetro somente a imagem de mídia do HD e o diretório que se deseja armazenar os arquivos extraídos. A Figura 33 exibe essa execução. Figura 32: Arquivo de configuração da ferramenta Scalpel. 68 Concluída a execução, exibe-se o resultado finaldos arquivos recuperados, por meio da Figura 34. Recupera-se, no total, 284 arquivos em 23 segundos. Eventualmente, as ferramentas abordadas podem extrair arquivos duplicados ou com pequenas divergências devido ao modo de recuperação aplicado pela ferramenta, como algumas marcas na imagem ou rasuras, podendo ou não inviabilizar a análise do conteúdo dessa imagem. Esses detalhes devem ser analisados posteriormente na etapa de análise. As imagens envolvidas em uma investigação não necessariamente estejam aparentes em seus formatos mais tradicionais, como “jpg”, “png”, “bmp”, podendo estar compactadas e armazenadas em um arquivo comprimido (formato “zip”). Assim, Figura 33: Extração dos arquivos utilizando-se a ferramenta Scalpel. Figura 34: Resultado da extração ao final da execução do Scalpel. 69 demonstra-se essa possibilidade com a utilização de um pendrive que contém um arquivo nesse modelo. Logo, o alvo da extração é outro tipo de arquivo. Sobre esse pendrive, realiza-se procedimento semelhante, abrindo sua imagem de mídia no Autopsy, exibindo os arquivos presentes. Como no pendrive há uma menor quantidade de arquivos e nenhum dado de imagem aparentemente presente, opta-se por não utilizar filtros. Ao se concluir o processo, observa-se um arquivo de nome bastante suspeito, denominado de “arq-secretos.zip” marcado como apagado, como pode ser visualizado na Figura 35. Recupera-se o arquivo por meio da opção “Export” pelo próprio Autopsy. Como um arquivo de compactação não possui valor material na investigação, efetua-se o procedimento de descompactação, com a ferramenta unzip (nativa do Linux), a fim de se obter os dados que estão compactados. Na tentativa, percebe-se que ele está bloqueado por senha, como pode ser observado na Figura 36. Figura 35: Abertura da imagem de mídia do pendrive no Autopsy. 70 Desde já, percebe-se que se trata de uma imagem no formato “jpg”, sendo de total relevância à investigação. Como a senha é desconhecida, faz-se necessária a utilização de ferramentas para descoberta dessa senha. Assim, utiliza-se a ferramenta John The Ripper por meio do comando “zip2john”, responsável por extrair a senha do arquivo compactado em formato “zip”. Essa senha é obtida em código Hash, ou seja, não está em claro. Esse procedimento é observado na Figura 37, onde é passado como parâmetro esse arquivo compactado, direcionando-se a saída de execução para o arquivo “arq- secretos.hash”, contendo o código Hash da senha. Figura 36: Dados do arquivo compactado bloqueados por senha. Figura 37: Obtenção da senha em Hash do arquivo compactado. 71 O próximo passo é obter a senha em claro a partir do Hash obtido. Para isso, utiliza-se novamente a ferramenta John The Ripper por meio do comando “john”. Esse comando aceita como entrada uma lista de senhas pré-computadas (um arquivo de texto, por exemplo), conhecida como dicionário de senhas. Essa forma de descoberta de senha é denominada de Rainbow Tables, onde o Hash que se deseja reverter é comparado de forma automatizada com todos os Hashes das senhas do dicionário de senhas, até se achar o que seja semelhante. Vale ressaltar, que essa lista de senhas pré-computadas pode ser obtida de algum repositório da Internet ou ser criada manualmente pelo próprio perito, com a ferramenta Crunch, por exemplo. Utiliza-se o arquivo de texto “rockyou.txt”, contendo milhares de senhas, como parâmetro na ferramenta John. Em seguida, especifica-se o arquivo com o código Hash que se deseja reverter (“arq-secretos.hash”). Ao fim da execução, observa-se que a senha foi descoberta com sucesso (“mateus”), apresentando uma mensagem de conclusão. Esse processo pode ser observado na Figura 38. Para finalizar a extração dos arquivos comprimidos, pode-se utilizar novamente a ferramenta “unzip”, passando-se a senha descoberta. O resultado obtido pode ser visualizado na Figura 39, onde seis imagens são extraídas com sucesso. Figura 38: Descoberta da senha por meio da ferramenta John The Ripper. 72 Por fim, cabe ressaltar que quaisquer outros dados ou materiais encontrados no curso da investigação podem ser colocados novamente nessa etapa, visto que a metodologia do processo forense computacional é cíclico. Com todos os dados relevantes à investigação já extraídos, tanto da imagem de mídia do HD quanto do pendrive, pode-se iniciar a próxima etapa do procedimento forense computacional, a etapa de análise. 7.3 ANÁLISE O principal objetivo da etapa de análise é analisar o conteúdo dos dados extraídos, verificar o que é relevante ao fato, e tentar relacioná-los com a investigação em questão, a fim de obter provas materiais que possam se enquadrar no delito previsto [1]. Utilizando-se as extrações realizadas na etapa anterior, monta-se uma tabela comparativa incluindo somente os arquivos identificados como ilícitos (imagens de cães) excluídos, demonstrando-se quantos foram recuperados com sucesso por cada ferramenta, separados com base no formato. A ferramenta Autopsy não foi incluída, pois a recuperação dela não é automatizada como as outras, sendo uma excelente ferramenta para se visualizar quais os arquivos excluídos e quais estão no disco. Assim, verifica-se que 16 imagens haviam sido Figura 39: Extração bem-sucedida dos dados presentes no arquivo “arq- secretos.zip”. 73 excluídas no total, sendo 14 no formato “jpg”, e 1 nos formatos “bmp” e “png”. Observa- se esses resultados na Tabela 11. Tabela 11: Arquivos recuperados por ferramenta com base no formato. Total Recuperado Formato Total Excluído Foremost Photorec Scalpel .jpg 14 14 13 14 .bmp 1 0 1 0 .png 1 1 1 0 Taxa de Sucesso 93,75% 93,75% 87,5% Analisando-se a Tabela 11, tanto o Foremost quanto o Photorec apresentam uma mesma taxa percentual de sucesso, embora o Photorec recupere de forma íntegra o arquivo “bmp” não recuperado pelo Foremost, deixando também de recuperar uma das imagens “jpg” obtida pelo Foremost. No entanto, percebe-se que mesmo ambas não atingindo eficácia máxima se utilizadas separadamente, alcançam eficácia máxima de 100% se utilizadas em conjunto. Já o Scalpel, não recupera de forma íntegra os arquivos “bmp” e “png”, por isso apresenta um rendimento inferior aos demais, mesmo tendo uma melhor velocidade de execução (notáveis 23 segundos), não implicando que seja uma ferramenta descartável ao exame pericial. Dessa forma, conclui-se que dentro de uma investigação não se recomenda utilizar somente uma única ferramenta de extração, visto que alguns dados de suma importância na comprovação da materialidade do delito podem acabar não sendo extraídos e passarem despercebidos nessa etapa de análise. Outro ponto dessa etapa é tentar relacionar os eventos encontrados, como analisar se o pendrive foi realmente conectado à máquina suspeita e se as imagens recuperadas são realmente ilícitas. Os eventos ocorridos no sistema operacional podem ser analisados com base em logs, ou seja, arquivos gerados automaticamente que contêm informações sobre “o que” e “quando” algo ocorreu na máquina [9]. Assim, essa análise de logs pode ser útil para identificar se realmente o pendrive foi conectado à máquina investigada. 74 Para facilitar a visualização desses eventos, há uma ferramenta nativa no Linux, o “dmesg”, responsável por obter e exibir informações diretamente do kernel do sistema e desses arquivos de logs. O uso dessa ferramenta pode ser concatenado com outra, como no caso o “grep”, que é uma ferramenta de filtragem, obtendo-se somente os eventos relacionados à conexões USB. A execução desses comandos pode ser visualizada na Figura 40. Conclui-se que o dispositivo USB, cujo número de série é “070066912B61D587”, realmente foi conectado à máquina. Observando-se o formulário de cadeia de custódia [3](Tabela 9), percebe-se que é o mesmo número de série do pendrive Kingston apreendido, logo confirma-se que ele realmente esteve conectado à máquina questionada. As imagens recuperadas no processo de extração com as ferramentas Foremost, Photorec e Scalpel, são organizadas em uma pasta que é gerada automaticamente por cada ferramenta, logo, três pastas foram criadas. Dessa forma, para garantir uma melhor organização das evidências coletadas, essas imagens são agrupadas em uma única pasta, nomeada com o número do caso (“98720091996”), incluindo também a pasta com os arquivos que foram descompactados. A pasta do caso com todos os arquivos pode ser observada na Figura 41. Figura 40: Análise dos eventos ocorridos nos sistemas referentes às conexões USB. 75 Percebe-se que além das 16 imagens excluídas, também encontram-se outras imagens ilícitas que estavam integralmente no dispositivo de armazenamento, sendo também incluídas na pasta do caso. Além disso, as imagens duplicadas são removidas dessa pasta por conterem informação desnecessária. Já a imagem com rasuras (no caso, a “f3129344.bmp”) é mantida, pois, eventualmente, imagens desse tipo podem conter informações relevantes. De modo geral, percebe-se que todas são imagens de cães, tidas como o alvo da investigação. Conclui-se o mesmo ao analisar-se as imagens obtidas pela descompactação do arquivo “zip” (pasta “arq-secretos”), que antes estava bloqueado por senha, observadas na Figura 42. Figura 41: Dados recuperados, organizados em uma pasta referente ao caso. 76 Dessa forma, com todas as imagens analisadas, pode-se obter a materialidade do delito de armazenamento de imagens ilícitas. Para assegurar a integridade de todos esses dados, evitando-se contestações posteriores, realiza-se o cálculo do Hash de todos eles, por meio da ferramenta “md5sum”. Observa-se esse procedimento na Figura 43, onde a saída é direcionada para um arquivo de texto nomeado com o número do caso. Esse arquivo de texto pode ser observado na Figura 44, contendo o código Hash de cada imagem ilícita extraída, seguida do seu nome original com o formato. Figura 42: Imagens descompactadas do arquivo “zip” protegido por senha. Figura 43: Geração do código de Hash para todas as imagens. 77 Realiza-se mais uma operação de geração de código Hash, mas dessa vez sobre o arquivo de texto gerado, ou seja, o Hash dos Hashes. O objetivo desse procedimento final é aumentar o grau de integridade das informações contidas no documento, evitando contestações posteriores. As Figuras 45 e 46 exibem, respectivamente, a geração do Hash dos Hashes e a informação contida nesse documento de texto gerado. Figura 44: Documento de texto contendo os Hashes de todas as imagens ilícitas. Figura 45: Geração do código de Hash do documento de texto que contém os Hashes. 78 Por fim, deve-se documentar o valor desse Hash dos Hashes no fórmulario de cadeia de custódia, com o objetivo de manter um registro de integridade das imagens ilícitas obtidas no curso da investigação, evitando contestações posteriores. Essa documentação está apresentada na subseção seguinte, a etapa de formalização. 7.4 FORMALIZAÇÃO Nessa etapa final, todas as informações obtidas nas etapas anteriores devem ser formalizadas em um laudo técnico pericial [5], incluindo, principalmente, as provas materiais em anexo, que no caso são as imagens ilícitas. Esse anexo pode ser um CD-ROM contendo os dados obtidos. Os dados podem ser comprimidos em um arquivo contendo todas as imagens e os arquivos de texto com os Hashes, ou um relatório em formato “html”, aberto facilmente em qualquer browser. Algumas ferramentas em suas versões pagas, como o Forensic Toolkit (FTK), ao fim do processo, geram um relatório completo em “html” automaticamente, agilizando bastante o trabalho do perito na elaboração do laudo. Esse laudo técnico pericial [5] pode ser visualizado na Tabela 12. Tabela 12: Laudo técnico pericial do estudo de caso em questão. Laudo Técnico Pericial (Forense Computacional) Preâmbulo O laudo pericial desenvolvido, referente ao caso de número 98720091996, tem por finalidade identificar vestígios materiais do crime de armazenamento de imagens ilícitas conforme previsto na lei 11.829/08, tendo sua data de emissão no dia 12 de Figura 46: Hash dos Hashes. 79 abril de 2020. Histórico Os materiais foram apreendidos no local de crime no dia 3 de abril de 2020 por volta das 10:20, chegando ao laboratório no mesmo dia, às 11:08. Os procedimentos periciais iniciaram nesta mesma data às 16:20. Material Os materiais apreendidos foram: um HD com 2GB de capacidade pertencente ao notebook Dell Inspiron 15 com o número de série ABC123456 e código de Hash decd62df81cff81dda9ad9cd547ff628; e um pendrive com 4GB de capacidade da marca Kingston, número de série 070066912B61D587 e código de Hash f12cdddf237a82b6c5c56624dd87be2c. Objetivo O objetivo do exame pericial foi identificar arquivos de imagens ilícitas presentes tanto no HD quanto no pendrive, bem como responder aos quesitos formulados pelo excelentíssimo juiz. Considerações técnicas ou periciais Os códigos Hashes gerados sobre os materiais apreendidos, bem como sobre as imagens ilícitas extraídas no procedimento pericial, têm como objetivo garantir a integridade das provas, visto que é um código único e irreversível, onde qualquer alteração mínima na imagem produziria um código totalmente diferente. O algoritmo de Hash utilizado foi o MD5. Exames Os exames realizados basearam-se na recuperação de arquivos que haviam sido excluídos tanto do HD quanto do pendrive; e na quebra de senha de um arquivo que estava bloqueado, impossibilitado de ter seus dados visualizados. Ao realizar-se a extração das imagens ilícitas, estas passaram pelo procedimento de geração do código Hash por meio do algoritmo MD5, assegurando-se a integridade das mesmas. Respostas aos Quesito 1 – Havia imagens ilícitas nos materiais apreendidos? 80 quesitos Sim, havia imagens ilícitas tanto no HD quanto no pendrive. Quesito 2 – O pendrive havia sido conectado à máquina? Sim, há registros de conexão do pendrive à máquina. Quesito 3 – Há indícios do suspeito de alcunha “Cicrano” nas imagens? Não conseguiu-se obter informações desta natureza. Conclusão A partir dos exames realizados e dos dados obtidos, conclui-se que imagens ilícitas foram encontradas nos materiais descritos. Observando-se o laudo, percebe-se que todas as informações relevantes à identificação do caso e dos materiais são descritas, bem como um histórico cronológico e o objetivo dos exames. A seção de considerações técnicas explica de forma geral a tecnologia utilizada no exame evitando-se o aprofundamento, a fim de não dificultar o entendimento por parte dos profissionais de outras áreas. Ao fim do laudo, estão as respostas aos quesitos formulados pela autoridade policial ou judiciária, seguidas da conclusão geral do perito. Concluindo-se o laudo, preenche-se o registro no formulário de cadeia de custódia [3], pois as mídias investigadas devem seguir do laboratório de perícia para a central de custódia [3], definida como um local de guarda e controle dos vestígios, estando sua gestão vinculada diretamente ao órgão central de perícia oficial de natureza criminal [3]. O formulário final pode ser observado na Tabela 13, incluindo-se a seção sobre o resultado obtido das imagens (Hash dos Hashes das imagens ilícitas), e a cronologia dos fatos. 81 Tabela 13: Acrescenta-se o evento à cronologia dos fatos no formulário de cadeia de custódia. FORMULÁRIO DE CADEIA DE CUSTÓDIA Número do Caso: 98720091996 DETALHES DAS MÍDIAS OU EQUIPAMENTOS ITEM DESCRIÇÃO 1 HD do Notebook Dell Inspiron 15 com 2 GB de Capacidade 2 Pendrive Kingston com 4GBde Capacidade FABRICANTE MODELO NÚMERO DE SÉRIE Dell Inspiron 15 5000 ABC123456 Kingston Não identificado 070066912B61D587 SOBRE A IMAGEM DOS DADOS DATA HORA RESPONSÁVEL FERRAMENTA 03/04/2020 16:20 Mateus Tito dc3dd ITEM TIPO DE CÓPIA HASH (MD5) 1 HD Completo decd62df81cff81dda9ad9cd547ff628 2 Mídia Completa f12cdddf237a82b6c5c56624dd87be2c RESULTADO OBTIDO DAS IMAGENS Hash dos Hashes das imagens ilícitas 0e807db112496b7ba6e6150c7cf5c72 CRONOLOGIA DOS FATOS CÓDIGO ORIGEM DATA HORA DESTINO DATA HORA 1 Local de Apreensão 03/04/2020 10:16 Laboratório de Perícia 03/04/2020 11:08 2 Laboratório de Perícia 10/04/2020 9:35 Central de Custódia 10/04/2020 9:55 82 8. ESTUDO DE CASO 2 Neste Capítulo, o objetivo é demonstrar o mesmo procedimento forense aplicado no estudo de caso anterior, mas sobre dados voláteis: dados trafegados em uma rede TCP/IP e processos sendo executados na memória RAM, mais especificamente na análise de um malware. A fim de deixar o estudo experimental mais fluido, as etapas não estão divididas como anteriormente (coleta, análise, extração e formalização) [7], mas são utilizadas da mesma forma. 8.1 DADOS TRAFEGADOS EM REDE TCP/IP Nesta subseção, o experimento investigativo é realizado sobre uma rede TCP/IP, onde suspeita-se que um indivíduo esteja utilizando um chat de bate-papo online na Internet para oferecer drogas e controlar um esquema de tráfico de entorpecentes. Dessa forma, utiliza-se uma ferramenta de captura de tráfego (ou sniffing de pacotes) para analisar os pacotes trafegados, como um “grampo de rede” [12]. Na etapa de coleta, utiliza-se a ferramenta Wireshark para realizar a captura desse tráfego, salvando-o em um arquivo no formato “pcap” que pode ser armazenado para análise posterior. Para garantir a integridade da informação, pode-se gerar um código Hash desse arquivo “pcap” para servir de prova ao se redigir o laudo pericial na etapa de formalização, como realizado no estudo de caso anterior. Conforme dados da investigação, realiza-se a busca pelo suspeito de alcunha “Sr Fulano”, bem como por mensagens que contenham algum dado que possa remeter ao tráfico de entorpecentes. Para a etapa de análise, vale ressaltar que a criação de filtros torna-se facilitada por meio de uma funcionalidade do próprio Wireshark, que mostra diversas opções de filtros e permite que o usuário vá clicando e montando conforme lhe convém. Há várias formas de se montar um filtro nesse software, pois são aceitas diferentes expressões regulares, como por exemplo, expressões que englobam o nome do protocolo envolvido 83 na comunicação, operadores relacionais como “=!” e “==”, e até operadores lógicos como “and” e “or”. Assim, aplica-se um filtro HTTP para peneirar pacotes que contenham o texto “srfulano”, por meio do filtro “http contains srfulano”. A Figura 47 demonstra esses pacotes após a filtragem. Cabe destacar, que o protocolo HTTP, por si só, não oferece nenhum tipo de comunicação segura, mas se empregado sobre protocolos criptográficos, como o SSL/TLS, a informação estaria criptografada e confidencial entre as partes. Nesse caso, também seria possível a investigação sobre esses dados criptografados, mas envolvendo aspectos judicias mais críticos, como uma permissão para SSL Inspection no servidor. Mais detalhes sobre esses protocolos seguros fogem do escopo deste trabalho. Logo, conclui-se, por meio do payload dos pacotes HTTP filtrados e seus conteúdos, que realmente o Sr Fulano participava da sala de bate-papo e que no momento Figura 47: Análise de tráfego de uma sala de bate-papo utilizando o software Wireshark. 84 conversava com o “anonimo474” e com o “alan”, logo, as mensagens enviadas por ele não estão relacionadas ao tráfico de entorpecentes como se suspeitava. Desse modo, se o suspeito utilizar uma rede anônima, segura e descentralizada, diferente da “Internet comum”, como no caso da rede Tor, a análise de tráfego não se mostra eficiente, pois todos os dados são criptografados e apresentam-se ilegíveis [14]. Para demonstrar o anonimato fornecido pela rede Tor, o mesmo procedimento é realizado com as mesmas ferramentas sobre a mesma sala de bate-papo. Aplicando-se o mesmo filtro (http contains “srfulano”), nenhum resultado é retornado na busca dos pacotes, pois não há texto em claro nos payloads HTTP, visto que estão criptografados por SSL/TLS. A Figura 48 demonstra esse tráfego criptografado. Outra informação que pode ser extraída de ambas análises de tráfego, é que na análise da Figura 47, o endereço IP do servidor da sala de bate-papo também aparece em claro, observado na coluna “Destination” (87.106.68.238), pois é uma conexão típica entre cliente e servidor. Já na Figura 48, percebe-se que o endereço IP de destino é outro (145.239.214.38), não sendo o endereço IP direto do servidor. Figura 48: Análise de tráfego em uma rede anônima Tor. 85 Isso ocorre porque a rede Tor utiliza uma rede de transmissão de dados baseada em múltiplas máquinas, denominadas relés. Cada relé tem seu próprio endereço IP, logo, para se alcançar um destino final na rede, múltiplos saltos entre os relés vão sendo efetuados, e o endereço de destino não é o do servidor final, mas sim, sempre o do relé seguinte [14]. Dessa forma, esse endereço IP observado é o do primeiro relé, sendo desconhecido o endereço do servidor, inviabilizando uma investigação mais profunda como pode ocorrer mesmo nos casos de protocolo HTTP sobre protocolos criptográficos seguros SSL/TLS. Para elucidar, a Figura 49 demonstra que o endereço IP 145.239.214.38 é de um servidor Apache rodando em uma máquina Linux, e não do servidor que abriga a página de bate-papo. 8.2 ANÁLISE DE MALWARE NA MEMÓRIA RAM Nesta subseção, o experimento investigativo sobre dados voláteis trata-se de uma suposta infecção de um keylogger em um sistema operacional Windows 10. Esse Figura 49: Servidor Apache do relé da rede Tor. 86 malware é classificado como um software espião (spyware) que monitora as atividades do usuário em tempo real, as registra e as envia remotamente ao servidor do atacante. Na etapa inicial, a coleta, primeiro realiza-se uma captura dos processos que estão em execução na memória RAM utilizando-se o software Process Explorer. O objetivo dessa captura é analisá-la posteriormente em busca de algum processo que esteja em execução e que seja desconhecido do usuário, podendo ser considerado como uma ameaça. A Figura 50 exibe a captura realizada por esse software. Por meio da Figura acima, pode-se inferir que de fato há um processo não conhecido do sistema operacional (“mtbkey.exe”) com o PID (identificador de processo) de número 7076 utilizando o console para execução (“conhost.exe”). Em sequência, a fim de verificar se esse suposto malware realmente está utilizando conexões remotas para enviar dados a um atacante, utiliza-se um software Figura 50: Captura dos processos em execução com o Process Explorer. 87 capaz de detectar o estado das conexões (tanto TCP quanto UDP) no sistema operacional, o TCPView. Esse software exibe, respectivamente, em colunas, todos os processos que estão utilizando conexões, seu PID, o protocolo que está em uso (TCP ou UDP), o endereço local de execução, a porta local de execução, o endereço do servidor remoto, a porta desse servidor e o estado da conexão. Esses dados podem ser visualizados na Figura 51. Por meio da Figura 51, conclui-se que o mesmo programa (“mtbkey.exe”) está sendo exibido, com o mesmo PID (7076), utilizando uma conexão TCP com o servidor de endereço IP 64.233.186.108 (Google) na porta 465. Observando o número da porta, conclui-se que é um servidor de email utilizando o protocolo SMTP sobre SSL/TLS, ou seja, de fato, esse programa pode enviar dados a um servidor remoto. Para comprovar esseenvio de dados remotamente, é realizado uma captura de tráfego TCP/IP utilizando a ferramenta tcpdump, por ser executada via terminal e permitir a aplicação direta de filtros. Com base nos dados já obtidos, passa-se como parâmetro o destino dos pacotes como sendo um servidor de email da Google (“smtp.gmail.com”) ou qualquer pacote destinado à porta 465. A Figura 52 exibe esse procedimento, salvando-se os dados no arquivo “captura.pcap”. Figura 51: Estado das conexões TCP e UDP com o TCPView. 88 Em seguida, esse arquivo “pcap” é aberto no programa Wireshark para ter seus dados analisados, visto que ele apresenta uma interface gráfica bem amigável. A Figura 53 exibe o resultado. Figura 52: Uso do tcpdump na análise de tráfego TCP/IP do malware. Figura 53: Abertura da captura de tráfego no Wireshark. 89 Logo, por meio da Figura 53, conclui-se que de fato o tráfego está sendo realizado com destino ao endereço IP 64.233.186.108, por meio de uma conexão TCP na porta 465, utilizando criptografia SSL/TLS sobre os dados. Dessa forma, para registrar o incidente detectado de infecção pelo keylogger, pode-se gerar um hash sobre todas as capturas apresentadas, a fim de manter a integridade das provas. Por fim, toda a documentação e procedimento já descritos na etapa de formalização se fazem necessários. 9. CONCLUSÃO E TRABALHOS FUTUROS Neste trabalho de conclusão de curso, por meio dos conceitos e estudos de caso apresentados, observa-se a metodologia e os procedimentos forenses computacionais relacionados a cada etapa (coleta, extração, análise e formalização) [7]. Essa metodologia é aplicada tanto sobre dados voláteis (HD e pendrive) quanto não voláteis (redes TCP/IP e memória RAM), além de demonstrações de ferramentas eficientes que podem ser utilizadas em cada uma dessas etapas. Assim, como o processo forense é algo bem mais extenso e complexo do que foi apresentado, percebe-se que é necessário ser dividido nessas etapas [7] para facilitar o trabalho do profissional que realiza a perícia, garantindo que os vestígios alcançados sejam recuperados e formalizados em um laudo técnico pericial [5], tendo validade jurídica probatória. Observa-se também que existem ferramentas antiforenses computacionais, ou seja, meios que podem ser utilizados para dificultar o trabalho pericial, seja por destruição, ocultação ou proteção dos vestígios, conforme descrito no Capítulo 5. Assim, o perito precisa estar atento a essas possibilidades, a fim de buscar uma análise de vestígios com maior grau de precisão. Por meios dos estudos de casos, conclui-se que durante uma análise forense é relevante o conhecimento de variadas técnicas e ferramentas, pois os resultados podem ser divergentes dependendo das circunstâncias, variando conforme o formato dos arquivos buscados, por exemplo. Essas variações são demonstradas neste trabalho por meio de tabelas comparativas entre as ferramentas utilizadas e resultados obtidos, mais especificamente, sobre arquivos de imagens. 90 Cabe ressaltar, que além deste trabalho ter abordado uma boa diversidade de possibilidades da forense computacional, um exame pericial real pode envolver ambientes bem mais complexos e divergentes do que foi apresentado, sendo necessário aplicar outras ferramentas para a investigação, como por exemplo, ambientes envolvendo aparelhos celulares, outros tipos de dispositivos e arquivos. No geral, conclui-se que a computação forense abrange o conhecimento em áreas diversas da computação, como hardware, software, sistemas operacionais, redes de computadores e ciências jurídicas, sendo dever do profissional que atua nessa área estar sempre buscando conhecimentos atualizados sobre esses diversos campos, pois tanto a tecnologia quanto a legislação, acompanham a evolução social. Trabalho futuros podem ser realizados utilizando ambientes mais complexos, como por exemplo, envolvendo celulares, ou um único caso relacionando todos os contextos abordados: discos rígidos, análise de tráfego TCP/IP e memória RAM. Além disso, novas ferramentas podem ser exploradas e novos comparativos realizados, a fim de reforçar ainda mais os estudos em questão. 10. REFERÊNCIAS [1] ELEUTÉRIO, Pedro. M. S; MACHADO, Márcio. P.. Desvendando a Computação Forense. 1ª Edição. São Paulo: Novatec, 2011. [2] BRASIL-A. Código de Processo Penal. Disponível em: <http://www.planalto.gov.br/ ccivil_03/decreto-lei/del3689.htm>. Acesso em 30 de novembro de 2019. [3] BRASIL-B. Pacote Anticrime – Lei 13.964/2019. Disponível em: <http://www.planalto.gov.br/ccivil_03/_ato2019-2022/2019/lei/L13964.htm>. Acesso em 30 de novembro de 2019. [4] CERT.br. Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil. Disponível em <https://www.cert.br/stats/incidentes/>. Acesso em 30 de novembro de 2019. 91 [5] BRASIL-C. Código de Processo Civil. Disponível em <http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2015/Lei/L13105.htm>. Acesso em 30 de novembro de 2019. [6] ABNT. Catálogo de Normas ABNT. Disponível em: <https://www.abntcatalogo.com.br/norma.aspx?ID=307273>. Acesso em 11 de fevereiro de 2020. [7] KENT, K. et al. Guide to integrating forensic techniques into incident response: recommendations of the National Institute of Standards and Technology. Special publication. Gaithersburg: NIST, 2006. [8] BRASIL-D. Estatuto da Criança e do Adolescente – Lei 13.441/2017. Disponível em: <http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2017/Lei/L13441.htm>. Acesso em 30 de novembro de 2019. [9] TANG, Ling. The Study of Computer Forensics on Linux. IEEE, 2013. Alaa A Altaay. Jabbar; [10] FARMER, Dan; VENEMA, Wietse. Perícia Forense Computacional: teoria e prática aplicada. 4 ed. São Paulo: Pearson, 2007. 190 p. [11] MOTA FILHO, João Eriberto. Análise de Tráfego em Redes TCP/IP: utilize tcpdump na análise de tráfegos em qualquer sistema operacional. São Paulo: Novatec Editora, 2013. 416 p. [12] GALVÃO, Ricardo Kléber M. Introdução à Análise Forense em Redes de Computadores: Conceitos, Técnicas e Ferramentas para “Grampos Digitais”. São Paulo: Novatec, 2013. 152 p. [13] DELLA VECHIA, Evandro. Perícia Digital: da investigação à análise forense. Campinas, SP: Millennium Editora, 2014. 279 p. 92 [14] BARRETO, Alesandro Gonçalves; SANTOS, Hericson dos. Deep Web: Investigação no submundo da internet. Rio de Janeiro: Brasport, 2019. 144 p. [15] Lei de Interceptação de Dados e Sinais Telemáticos. Disponível em: <http://www.planalto.gov.br/ccivil_03/leis/l9296.htm>. Acesso em 17 de fevereiro de 2020. [16] Ministério Público Federal. Coletânea de Artigos – Crimes Cibernéticos. Disponível em: <http://www.mpf.mp.br/atuacao-tematica/ccr2/publicacoes/coletaneas- de-artigos/coletanea_de_artigos_crimes_ciberneticos>. Acesso em 19 de fevereiro de 2020. [17] Child Rescue Coalition. The Solution. Disponível em: <https://childrescuecoalition.org/the-solution/>. Acesso em 20 de fevereiro de 2020. [18] WAYNER, P. Disappearing Cryptography – Information Hiding: Steganography and Watermarking. Morgan Kaufmann Publisher, 2ª Edição, maio 2002. [19] BENDER, Walter et al. Techniques for Data Hiding. In IBM Systems Journal, Vol. 35, fevereiro, 1996. [20] HARRIS, R. Arriving at an Anti-Forensics Consensus: Examining how to define and control the anti-forensics problem. Digital Investigation, Vol.3. Págs. 44-49. Elsevier, 2006.