Forense Computacional: fundamentos, tecnologias e

Transcrição

Forense Computacional: fundamentos, tecnologias e
Forense Computacional: fundamentos, tecnologias e
desafios atuais
Evandro Della Vecchia Pereira, Leonardo Lemes Fagundes,
Paulo Neukamp, Glauco Ludwig, Marlom Konrath
Universidade do Vale do Rio dos Sinos (UNISINOS)
[email protected]
SBSeg 2007
Autores
Mestre em Ciência da Computação pela UFRGS, Bacharel em Ciência da
Computação pela PUCRS. Atualmente é perito criminal do Estado do Rio Grande
do Sul (SSP/IGP – Instituto Geral de Perícias) e professor da Graduação
Tecnológica em Segurança da UNISINOS. Contato: [email protected]
Mestre em Computação Aplicada e Bacharel em Informática - Hab. Análise de
Sistemas pela Universidade do Vale do Rio dos Sinos – UNISINOS. Atualmente é
coordenador executivo e professor da Graduação Tecnológica em Segurança da
UNISINOS. Contato: [email protected]
Tecnólogo em Segurança da informação – Graduado na Universidade do Vale do
Rio dos Sinos – UNISINOS. Criador e mantenedor da distribuição FDTKUbuntuBr (Forense Digital ToolKit), Analista de suporte em uma multinacional
química em Novo Hamburgo - RS. Contato: [email protected]
Mestre em Computação Aplicada e Especialista em Redes de Computadores pela
Universidade do Vale do Rio dos Sinos – UNISINOS. Atualmente é professor da
Graduação Tecnológica em Segurança, Desenvolvimento de Jogos e Engenharia da
Computação desta instituição. Contato: [email protected]
Mestre em Computação Aplicada e Bacharel em Informática (Análise de Sistemas)
pela Universidade do Vale do Rio dos Sinos – UNISINOS. Atualmente trabalha em
uma empresa de desenvolvimento de software em São Paulo. Possui interesse nas
áreas: Peer-to-Peer, Redes e Segurança. Contato: [email protected]
2
Roteiro
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Introdução
Códigos maliciosos (malware)
Forense computacional
Técnicas forenses
Exame dos dados
Ferramentas forenses
Estudos de caso
Desafios atuais em forense computacional
Considerações finais
3
Introdução
ƒ Cyber crime: são utilizados dispositivos eletrônicos, computadores e
Internet
y Mais difícil de ser investigado devido à possibilidade de anonimato
y As evidências podem estar distribuídas em diversos servidores
ƒ Segundo estatísticas, em 2006, aproximadamente U$200.000.000,00
foram perdidos em fraudes eletrônicas
y Ex.: Nigerian Letter Fraud
y Cerca de 76% dos casos reportados tiveram o e-mail como meio de
comunicação com a vítima
4
Introdução
ƒ Ocorrências mais comuns:
y Calúnia, difamação e injúria via e-mail
y Roubo de informações confidenciais
y Remoção de arquivos
ƒ Outros crimes:
y Pedofilia
y Fraudes
y Tráfico de drogas via Internet
5
Introdução
ƒ Investigações começam a depender de conhecimento técnico para
desvendar crimes cibernéticos Æ forense computacional
ƒ “Forense Computacional pode ser definida como a inspeção
científica e sistemática em ambientes computacionais, com a
finalidade de angariar evidências derivadas de fontes digitais para
que seja possível promover a reconstituição dos eventos
encontrados (podendo assim, determinar se o ambiente em análise
foi utilizado na realização de atividades ilegais ou não autorizadas)”
6
Códigos maliciosos (Malware)
ƒ “Conjunto de instruções executadas em um computador e que fazem
o sistema realizar algo que um atacante deseja”
ƒ Cada malware é classificado em uma ou mais categorias, de acordo
com ações que este realiza
ƒ Geralmente conhecidos como vírus ou trojans (cavalos de tróia), mas
existem outras categorias:
y
y
y
y
y
y
Backdoors
Spywares
Worms
Keyloggers
Rootkits
Bots
7
Códigos maliciosos - Vírus
ƒ Possuem a capacidade de se auto-replicarem
ƒ “Um vírus é considerado uma função computável que infecta
qualquer programa. Um programa infectado pode realizar três ações,
disparadas conforme as entradas:”
y Ser executado para propagar a infecção
y Danificar o sistema
y Se faz passar por algum programa
ƒ Uma das características de um vírus: necessidade de anexar-se a
um “arquivo hospedeiro”
y Arquivo executável
y Setor de inicialização
y Documento que suporte macros
8
Códigos maliciosos - Vírus
ƒ Propagação de vírus:
y
y
y
y
Mídias removíveis
E-mails
Downloads
Diretórios compartilhados
ƒ Os vírus possuem diferentes classificações, de acordo com autores
de publicações
ƒ “Vírus acompanhantes”: não infectam arquivos executáveis, mas
utilizam o mesmo nome, com extensão diferente (aquela que tem
prioridade)
y Ex.: Se o usuário clicar em Iniciar Æ Executar, e digitar “notepad”, será
executado um arquivo com nome “notepad” e com qual extensão?
9
Códigos maliciosos - Vírus
10
Códigos maliciosos - Vírus
ƒ Nos vírus que infectam um arquivo executável, modificando seu
código, a infecção pode ser feita:
y No início do arquivo. Ex.: Nimda
y No fim do arquivo (mais utilizado). Ex.: Natas
ƒ Alguns vírus podem se instalar nos primeiros setores lidos durante a
inicialização de um S.O. (vírus de boot) Ex.: Michelangelo
ƒ Vírus de macro são executados em softwares que têm a capacidade
de interpretar código presente dentro dos arquivos de dados
y Microsoft Word, ex.: Melissa
11
Códigos maliciosos - Vírus
ƒ Vírus simples: não fazem nada muito significativo além de replicarse, podendo consumir toda memória. Ex.: Jerusalem.
ƒ Vírus com auto-reconhecimento: detectam um sistema já infectado
através de alguma assinatura, não gerando duplicidade de infecção.
Ex.: Lehigh.
ƒ Vírus invisíveis: interceptam chamadas de sistemas para tentar
esconder a sua presença. Ex.: Tequila, Frodo.
ƒ Vírus com arsenal: empregam técnicas para dificultar a análise de
seu código e podem atacar antivírus presentes no sistema. Ex.:
Whale, Samara.1536.
ƒ Vírus polimórficos: infectam novos alvos com versões modificadas ou
criptografadas de si mesmo. Ex.: V2P6, Nuah.
12
Códigos maliciosos - Backdoor
ƒ “Software que permite uma entrada pela porta dos fundos”
ƒ Habilita um atacante a furar os controles normais de segurança de
um sistema, ganhando acesso ao mesmo através de um caminho
alternativo
ƒ Normalmente opera sobre Telnet, rlogin ou SSH
ƒ Tipicamente fornece uma das seguintes funcionalidades ao atacante:
y Aumento dos privilégios locais
y Acesso remoto e execução de comandos
y Controle remoto da interface gráfica
13
Códigos maliciosos - Backdoor
ƒ Netcat (“canivete suiço”): pode ser utilizado como um backdoor
y Pode executar praticamente qualquer comando em uma máquina e
desvia a entrada/saída padrão para uma conexão de rede
y Pode-se programar para escutar em uma porta UDP ou TCP (máquina
alvo)
y Exemplo: “-l” = listening, “-p” = porta, “-e” = comando, “-vv” = modo
detalhado de visualização
14
Códigos maliciosos - Backdoor
ƒ Virtual Network Computing (VNC): utilizado comumente para
administração remota
15
Códigos maliciosos – Cavalo de Tróia
ƒ Comumente chamado de trojan (trojan horse)
ƒ É um programa que se mascara ou aparenta possuir um propósito
benigno, mas que arbitrariamente realiza ações maliciosas
ƒ Normalmente não é capaz de replicar-se automaticamente
ƒ As ações de um cavalo de tróia podem variar, mas geralmente
instalam backdoors
ƒ Para não ser descoberto, é comum que cavalos de tróia tentem
disfarçar-se de programas legítimos
16
Códigos maliciosos – Cavalo de Tróia
17
Códigos maliciosos – Cavalo de Tróia
ƒ Outra prática comum é um programa cavalo de tróia ser combinado
com um programa executável normal em um único executável
ƒ Programas que juntam dois ou mais executáveis são chamados de
wrappers, ex.: File Joiner
18
Códigos maliciosos – Spyware
ƒ Software que auxilia a coleta de informações sobre uma pessoa ou
organização sem o seu conhecimento
y Pode enviar informações a alguém sem o consentimento do proprietário
y Pode tomar o controle do computador sem que o usuário saiba
ƒ Pesquisa conduzida pela Dell (set/2004)
y Aproximadamente 90% dos PCs com Windows possuíam no mínimo
um spyware
ƒ Este tipo de software foi responsável por metade das falhas em
ambientes Windows reportados por usuários da Microsoft
19
Códigos maliciosos – Spyware
ƒ Advertising displays: códigos que mostram anúncios de vários tipos
no PC do usuário;
ƒ Automatic download software: instalam outros softwares sem o
conhecimento e consentimento do usuário;
ƒ Autonomous spyware: programas que são executados fora de um
navegador Web, normalmente sendo executados na inicialização e
permanecendo indetectáveis pelo usuário;
ƒ Tracking software: programas que monitoram os hábitos de um
usuário ou os dados fornecidos por ele em páginas web e enviam
estas informações pela Internet para algum servidor remoto;
20
Códigos maliciosos – Spyware
21
Códigos maliciosos – Spyware
ƒ Anti-spywares mais conhecidos:
y
y
y
y
Spybot Search and Destroy
Ad-Aware
Pest Patrol
Microsoft Windows Defender
ƒ Recentemente os softwares de antivírus começaram também a
detectar e remover este tipo de código malicioso
22
Códigos maliciosos – Worm
ƒ “Caracterizados como programas que se auto-propagam por meio de
uma rede de computadores explorando vulnerabilidades em serviços
usados em larga escala”
ƒ Não necessita de intervenção humana para se disseminar
ƒ Considerados uma das maiores ameaças virtuais
y No Brasil chega a atingir 65% dos incidentes de segurança (Centro de
Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil
(CERT.br) - período de Janeiro a Março de 2007)
ƒ Um worm pode ter as mais diversas finalidades:
y
y
y
y
y
espalhar-se consumindo largura de banda
causar ataques de negação de serviço
apagar arquivos
enviar arquivos por e-mail
instalar outros malwares como keyloggers, rootkits e backdoors
23
Códigos maliciosos – Worm
ƒ
Exemplo: Code red
1. O worm tenta conectar-se na porta TCP 80 de máquinas selecionadas
aleatoriamente. No caso de obter conexão, o atacante envia uma
requisição “HTTP GET” para o alvo. A presença da seguinte string em
um log de um servidor web pode indicar o comprometimento do
servidor por parte do Code Red:
/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u
6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090
%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00
=a
24
Códigos maliciosos – Worm
2. Uma vez executado, o worm faz uma busca pelo arquivo c:\notworm.
Caso esse arquivo seja encontrado, a execução do Code Red é
cancelada. Caso contrário, o worm gera 100 threads;
3. Se a data do sistema invadido for anterior ao dia 20 do mês, 99
threads são usadas para a tentativa de invadir mais sistemas;
4. A centésima thread é responsável por modificar a página principal do
servidor Web (caso a linguagem padrão do sistema seja o inglês), a
qual passará a exibir a mensagem: “HELLO! Welcome to
http://www.worm.com! Hacked by Chinese!”. Essas alterações são
realizadas sem modificar o arquivo da página no disco físico, mas sim,
na memória;
5. Caso a data do sistema for entre os dias 20 e 28, o worm tenta então
disparar um ataque de negação de serviço ao domínio
www.whitehouse.com;
6. Caso a data seja superior ao dia 28, a execução do worm é cancelada.
25
Códigos maliciosos – Keyloggers
ƒ Tipo de spyware cuja finalidade é capturar tudo o que for digitado em
um determinado computador
ƒ As intenções no uso de um keylogger podem ser as mais diversas:
y monitorar as atividades dos funcionários de uma determinada empresa
y capturar conversas em programas de mensagens instantâneas
y capturar informações e senhas bancárias
ƒ As informações obtidas podem então ser enviadas pela Internet para:
y o gerente da empresa (com ou sem consentimento do funcionário)
y um atacante (sem o consentimento do usuário)
26
Códigos maliciosos – Keyloggers
ƒ Hardware keylogger: trata-se de um dispositivo físico posicionado
entre o teclado e o computador da vítima
27
Códigos maliciosos – Keyloggers
ƒ Sofware keylogger usando um mecanismo de hooking: um hook
trata-se de uma rotina que tem como objetivo “ficar no meio do
caminho” do tratamento normal da execução de informações do S.O.
ƒ Kernel keylogger: trabalha no nível do kernel e usa suas próprias
rotinas para receber os dados diretamente dos dispositivos de
entrada (no caso, o teclado).
y método mais difícil de ser desenvolvido, por exigir um elevado
conhecimento de programação
y Mais difícil de ser detectado (substitui as rotinas padrão do S.O. e é
inicializado como parte do próprio sistema)
y Não são capazes de capturar informações que são trocadas
diretamente no nível de aplicações (ex: operações de copiar e colar e
operações de autocompletar)
y Exs.: THC vlogger, ttyrpld
28
Códigos maliciosos – Keyloggers
ƒ Um dos mais conhecidos: BPK (Blazing Perfect Keylogger)
y
y
y
y
y
y
Baseado em hooking
Processo de instalação simples
Interface amigável
Preço acessível: U$ 34,95
Versão de avaliação disponível
Pode ser executado em modo background e ficar invisível ao
gerenciador de tarefas do Windows!
ƒ Nos últimos anos foi desenvolvido também o conceito de
screenlogger
y Obtém uma cópia (screenshot) da tela do computador da vítima assim
que um clicar do mouse for efetuado.
y Alguns keyloggers possibilitam a captura de tela a cada período de
tempo, formando um “filme” (videologger)
29
Códigos maliciosos – Keyloggers
30
Códigos maliciosos – Keyloggers
31
Códigos maliciosos – Rootkits
ƒ “Conjunto de programas usado por um atacante para que o mesmo
consiga ocultar sua presença em um determinado sistema e, ainda,
para permitir acesso futuro a esse sistema”
ƒ Rootkits tradicionais: caracterizados por versões modificadas de
comandos do sistema, como ls, ps, ifconfig e netstat.
y Esses comandos passaram a ser programados para ocultarem do
administrador do sistema os processos, os arquivos e as conexões
utilizadas pelo atacante.
y Ex.: ifconfig substituído por uma versão maliciosa que oculta o fato de
uma determinada interface de rede estar sendo executada em modo
promíscuo
32
Códigos maliciosos – Rootkits
ƒ Rootkits baseados em LKM (Loadable Kernel Modules): funcionam
alterando as chamadas do sistema.
y Normalmente altera as chamadas do sistema que permitem listar os
módulos de kernel instalados.
y O processo de detecção desses malwares é muito mais difícil, pois os
comandos do sistema continuam inalterados e o próprio kernel
responderá às requisições.
33
Códigos maliciosos – Bots
ƒ Há três atributos que caracterizam um bot (nome derivado de Robot):
y Existência de um controle remoto
y Implementação de vários comando
y Mecanismo de espalhamento, que permite ao bot espalhar-se ainda
mais.
ƒ Tipicamente um bot conecta-se a uma rede IRC (Internet Relay Chat)
e fica esperando por comandos em um canal específico
ƒ Ao identificar seu mestre, o bot irá realizar o que lhe for ordenado
através de comandos.
y Ataques de negação de serviço
y Spam
y ...
34
Forense Computacional - Introdução
ƒ Objetivo: a partir de métodos científicos e sistemáticos, reconstruir as
ações executadas nos diversos ativos de tecnologia utilizados em
cyber crimes.
ƒ A forense aplicada à tecnologia é muito recente, porém a ciência
forense como um todo existe há muito tempo.
y Historiador romano Virtrúvio relata que Arquimedes foi chamado pelo rei
Hieron para atestar que a coroa encomendada junto a um artesão local
não era composta pela quantidade de ouro combinada previamente
entre as partes (teoria do peso específico dos corpos).
y No século VII já eram utilizadas impressões digitais para determinar as
identidades dos devedores. As impressões digitais dos cidadãos eram
anexadas às contas que ficavam em poder dos credores.
35
Forense Computacional - Introdução
ƒ Século XX: evolução da ciência forense
y Pesquisas que conduziram à identificação do tipo sanguíneo e a análise
e interpretação do DNA;
y Publicação dos principais estudos referentes à aplicação de métodos e
técnicas utilizadas na investigação de crimes;
y Criado o “The Federal Bureau of Investigation (FBI)” – uma referência
no que tange à investigação de crimes e a utilização de técnicas
forenses em diversas áreas.
36
Forense Computacional - Introdução
ƒ Atualmente, existem peritos especializados em diversas áreas:
y
y
y
y
y
y
y
Análise de documentos (documentoscopia);
Balística;
Criminalística;
Genética;
Odontologia;
Química;
Computação (Forense Computacional? Forense Digital?)
37
Forense Computacional – Processo de investigação
ƒ Relembrando...a forense computacional é empregada:
y para fins legais (ex.: investigar casos de espionagem industrial);
y em ações disciplinares internas (ex.: uso indevido de recursos da
instituição);
ƒ O intuito é obter evidências relacionadas à realização dos eventos.
ƒ Evidências: peças utilizadas por advogados nos tribunais e cortes do
mundo inteiro.
ƒ Para serem consideradas provas válidas, é muito importante que o
perito realize o processo de investigação de maneira cuidadosa e
sistemática.
y Preservação das evidências
y Documentação detalhada
38
Forense Computacional – Processo de investigação
ƒ Fases de um processo de investigação:
39
Forense Computacional – Coleta dos dados
ƒ Identificação de possíveis fontes de dados:
y
y
y
y
y
Computadores pessoais, laptops;
Dispositivos de armazenamento em rede;
CDs, DVDs;
Portas de comunicação: USB, Firewire, Flash card e PCMCIA;
Máquina fotográfica, relógio com comunicação via USB, etc.
40
Forense Computacional – Coleta dos dados
ƒ Os dados também podem estar armazenados em locais fora de
domínios físicos da cena investigada.
y Provedores de Internet
y Servidores FTP (File Transfer Protocol)
y Servidores coorporativos
ƒ Nesses casos, a coleta dos dados somente será possível mediante
ordem judicial.
41
Forense Computacional – Coleta dos dados
ƒ Após a identificação das possíveis origens dos dados, o perito
necessita adquiri-los.
ƒ Para a aquisição dos dados, é utilizado um processo composto por
três etapas:
y identificação de prioridade;
y cópia dos dados;
y garantia e preservação de integridade.
42
Forense Computacional – Coleta dos dados
ƒ
Identificar a prioridade da coleta: o perito deve estabelecer a
ordem (prioridade) na qual os dados devem ser coletados
y
y
y
Volatilidade: dados voláteis devem ser imediatamente coletados pelo
perito. Ex.: o estado das conexões de rede e o conteúdo da memória
Esforço: envolve não somente o tempo gasto pelo perito, mas
também o custo dos equipamentos e serviços de terceiros, caso sejam
necessários. Ex.: dados de um roteador da rede local x dados de um
provedor de Internet
Valor estimado: o perito deve estimar um valor relativo para cada
provável fonte de dados, para definir a seqüência na qual as fontes de
dados serão investigadas
43
Forense Computacional – Coleta dos dados
ƒ Exemplo: investigação de invasão de rede, ordem da coleta de
dados:
y dados voláteis: conexões da rede, estado das portas TCP e UDP e
quais programas estão em execução;
y dados não-voláteis: a principal fonte de dados não-voláteis é o sistema
de arquivos que armazena arquivos:
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
temporários;
de configuração;
de swap;
de dados;
de hibernação;
de log.
44
Forense Computacional – Coleta dos dados
ƒ
Copiar dados: envolve a utilização de ferramentas adequadas para
a duplicação dos dados
y
ƒ
Garantir e preservar a integridade dos dados: após a coleta dos
dados, o perito deve garantir e preservar a integridade dos mesmos
y
y
ƒ
Ex.: utilitário dd (Linux) - pode ser usado para coletar os dados voláteis
como os contidos na memória e para realizar a duplicação das fontes
de dados não-voláteis.
Se não for garantida a integridade, as evidências poderão ser
invalidadas como provas perante a justiça
A garantia da integridade das evidências consiste na utilização de
ferramentas que aplicam algum tipo de algoritmo hash
Assim como os demais objetos apreendidos na cena do crime, os
materiais de informática apreendidos deverão ser relacionados em
um relatório (cadeia de custódia)
45
Forense Computacional – Coleta dos dados
46
Forense Computacional – Exame dos dados
ƒ Finalidade: avaliar e extrair somente as informações relevantes à
investigação Æ tarefa trabalhosa!
y Capacidade de armazenamento dos dispositivos atuais
y Quantidade de diferentes formatos de arquivos existentes (imagens,
áudio, arquivos criptografados e compactados)
ƒ Em meio aos dados recuperados podem estar informações
irrelevantes e que devem ser filtradas
y Ex.: o arquivo de log do sistema de um servidor pode conter milhares de
entradas, sendo que somente algumas delas podem interessar à
investigação
y Muitos formatos de arquivos possibilitam o uso de esteganografia para
ocultar dados, o que exige que o perito esteja atento e apto a identificar
e recuperar esses dados
47
Forense Computacional – Exame dos dados
ƒ A correta aplicação das diversas ferramentas e técnicas disponíveis
pode reduzir muito a quantidade de dados que necessitam de um
exame minucioso
y Utilização de filtros de palavras-chave (com ou sem expressões
regulares)
y Utilização de filtros de arquivos, por:
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Tipo
Extensão
Nome
Permissão de acesso
Caminho
Etc.
48
Forense Computacional – Exame dos dados
49
Forense Computacional – Exame dos dados
50
Forense Computacional – Exame dos dados
51
Forense Computacional – Exame dos dados
ƒ Outra prática vantajosa é utilizar ferramentas e fontes de dados que
possam determinar padrões para cada tipo de arquivo
y Úteis para identificar e filtrar arquivos que tenham sido manipulados por
ferramentas de esteganografia, arquivos de sistema, imagens de
pedofilia, etc.
y Projeto National Software Reference Library (NSRL): contêm uma
coleção de assinaturas digitais referentes a milhares de arquivos
52
Forense Computacional – Análise das informações
ƒ Após a extração dos dados considerados relevantes, o perito deve
concentrar suas habilidades e conhecimentos na etapa de análise e
interpretação das informações.
ƒ Finalidade: identificar pessoas, locais e eventos; determinar como
esses elementos estão inter-relacionados
ƒ Normalmente é necessário correlacionar informações de várias
fontes de dados
y Ex. de correlação: um indivíduo tenta realizar um acesso não autorizado
a um determinado servidor
ƒ É possível identificar por meio da análise dos eventos registrados nos
arquivos de log o endereço IP de onde foi originada a requisição de
acesso
ƒ Registros gerados por firewalls, sistemas de detecção de intrusão e
demais mecanismos de proteção
53
Forense Computacional – Análise das informações
ƒ Além de consumir muito tempo, a análise de informações está muito
suscetível a equívocos, pois depende muito da experiência e do
conhecimento dos peritos.
ƒ Poucas ferramentas realizam análise de informações com precisão.
54
Forense Computacional – Resultados
ƒ A interpretação dos resultados obtidos é a etapa conclusiva da
investigação.
ƒ O perito elabora um laudo pericial que deve ser escrito de forma
clara e concisa, elencando todas as evidências localizadas e
analisadas.
ƒ O laudo pericial deve apresentar uma conclusão imparcial e final a
respeito da investigação.
55
Forense Computacional – Resultados
ƒ Para que o laudo pericial torne-se um documento de fácil
interpretação é indicado que o mesmo seja organizado em seções:
y
y
y
y
y
y
y
Finalidade da investigação
Autor do laudo
Resumo do incidente
Relação de evidências analisadas e seus detalhes
Conclusão
Anexos
Glossário (ou rodapés)
56
Forense Computacional – Resultados
ƒ Também devem constar no laudo pericial:
y Metodologia
y Técnicas
y Softwares e equipamentos empregados
ƒ Com um laudo bem escrito torna-se mais fácil a reprodução das
fases da investigação, caso necessário.
57
Forense Computacional – Live forensics
ƒ Qual o melhor procedimento, desligar os equipamentos ou mantêlos operando a fim de executar os procedimentos de uma
investigação?
y Ex.: IDS gera alerta que o servidor Web da empresa está sendo
atacado, o que fazer no servidor?
ƒ Desligá-lo (o que pode representar a perda de dinheiro para a
instituição, mas garante o tempo e as condições necessárias para que
os peritos realizem as suas atividades)?
ƒ Mantê-lo ligado (coletar dados voláteis, correndo o risco de
contaminação das evidências)?
58
Forense Computacional – Live forensics
ƒ Pode ser considerada uma fotografia da cena do crime.
ƒ Tem como objetivo obter o máximo de informações relacionadas ao
contexto:
y estado das conexões
y conteúdo da memória
y dados referentes aos processos em execução
ƒ Quando realizada de forma correta, complementa e contribui para
que o resultado da investigação seja conclusivo e preciso.
59
Forense Computacional – Live forensics
ƒ Em cenários em que os dispositivos não foram desligados é
importante que as ferramentas utilizadas para executar os
procedimentos forenses não tenham sido comprometidas para
evitar:
y Geração de dados falsos: caso um rootkit esteja instalado;
y Omissão de informações, ex.: ocultar processos em execução no
sistema operacional ou não mostrar determinadas entradas do
arquivo de log do servidor.
ƒ Rootkits podem:
y Modificar as ferramentas (comandos) do sistema operacional e assim
permanecerem com acesso ao host e não serem identificados;
y Inserir filtros em determinadas partes do S.O. que impedem a
visualização de algumas informações;
60
Forense Computacional – Live forensics
61
Forense Computacional – Live forensics
ƒ A fim de evitar os riscos mencionados, sugere-se que o perito
utilize um live CD com um conjunto de ferramentas apropriadas e
que sejam confiáveis, pois isso servirá como contramedida para
rootkits que atuam no nível da aplicação e de bibliotecas
ƒ Atualmente, existem algumas distribuições Linux voltadas a
Forense Computacional
y FDTK (Forense Digital ToolKit): baseado na análise de 10
distribuições voltadas a Forense Computacional, conta com quase
100 ferramentas, organizadas de acordo com as fases de um
processo de investigação.
ƒ http://fdtk-ubuntubr.110mb.com/
62
Forense Computacional – Live forensics
ƒ Contornar os problemas com rootkits que atuam no nível do kernel
é mais complicado porque não há como acessar a memória ou o
hardware sem passar pelo kernel
y Principal recomendação é utilizar os detectores de rootkits, mas esse
tipo de ferramenta pode interferir no sistema de alguma forma
63
Forense Computacional – Live forensics
ƒ É importante relembrar que o perito deve:
y manter uma lista contendo hash de todas as evidências coletadas,
para garantir a integridade;
y ter em mente que alguns dados são mais efêmeros do que outros e,
portanto, a ordem de volatilidade deve ser considerada no momento
da coleta dos dados.
ƒ Em suma, além dos tipos de dados que podem ser coletados, a
diferença mais significativa entre live e post-mortem analysis é o
grau de confiança existente nos resultados obtidos.
y Ferramentas e comandos instalados no sistema investigado podem
ter sido modificados para produzir dados falsos e também porque
qualquer erro do perito pode contaminar ou alterar os dados
existentes.
64
Técnicas Forenses
ƒ Relembrando...Boas práticas que antecedem a coleta dos dados:
y Esterilizar todas as mídias que serão utilizadas ou usar mídias novas
a cada investigação
y Certificar-se de que todas as ferramentas (softwares) que serão
utilizadas estão devidamente licenciadas e prontas para utilização
y Verificar se todos os equipamentos e materiais necessários (por
exemplo, a estação forense, as mídias para coleta dos dados, etc.)
estão a disposição
y Quando chegar ao local da investigação, o perito deve providenciar
para que nada seja tocado sem o seu consentimento, com o objetivo
de proteger e coletar todos os tipos de evidências
y Os investigadores devem filmar ou fotografar o ambiente e registrar
detalhes sobre os equipamentos como: marca, modelo, números de
série, componentes internos, periféricos, etc.
y Manter a cadeia de custódia.
65
Técnicas Forenses – Coleta de dados voláteis
ƒ A primeira ação a ser tomada é manter o estado do equipamento
(ligado – dados voláteis ou desligado – dados não-voláteis)
ƒ Conexões de rede: os sistemas operacionais oferecem recursos
que permitem visualizar informações sobre as conexões de rede
atuais. (endereços IP de origem e destino, estado das conexões e o
programa associado a cada uma das portas, etc.)
66
Técnicas Forenses – Coleta de dados voláteis
ƒ Sessões de Login: dados como a lista dos usuários atualmente
conectados, o horário em que a conexão foi realizada e o endereço
de rede de onde partiu essas conexões podem ajudar na
identificação:
y dos usuários;
y das ações realizadas;
y do horário em que essas atividades foram executadas
Æ auxiliam na correlação!
ƒ Conteúdo da memória: o espaço de troca e a memória principal
normalmente contêm os dados acessados recentemente:
y senhas e os últimos comandos executados;
y resíduos de dados nos espaços livres ou que não estão em utilização.
67
Técnicas Forenses – Coleta de dados voláteis
ƒ Processos em execução: lista o estado de cada um dos
processos do sistema.
ƒ Arquivos abertos: comandos como o lsof (Linux) geram uma lista
contendo o nome de todos os arquivos que estão abertos no
momento.
ƒ Configuração de rede: incluem informações como o nome da
máquina, o endereço IP e o MAC Address de cada uma das
interfaces de rede.
ƒ Data e hora do sistema operacional: a data e hora atual do
sistema e as configurações de fuso horário.
68
Técnicas Forenses – Coleta de dados não voláteis
ƒ Cópia lógica (Backup): as cópias lógicas gravam o conteúdo dos
diretórios e os arquivos de um volume lógico. Não capturam outros
dados:
y arquivos excluídos;
y fragmentos de dados armazenados nos espaços não utilizados, mas
alocados por arquivos.
ƒ Imagem: imagem do disco ou imagem bit-a-bit inclui os espaços
livres e os espaços não utilizados:
y mais espaço de armazenamento, consomem muito mais tempo;
y permitem a recuperação de arquivos excluídos e dados não alocados
pelo sistema de arquivos. Exemplo: setor de 4KB, arquivo com 9KB (3
setores ocupados)
Parte utilizada pelo arquivo
Parte não utilizada pelo arquivo
69
Técnicas Forenses – Coleta de dados não voláteis
70
Técnicas Forenses – Coleta de dados não voláteis
ƒ A principal fonte de dados não-voláteis é o sistema de arquivos que
armazena diversos tipos de dados:
y Arquivos temporários: durante a instalação e execução das
aplicações são gerados arquivos temporários, que nem sempre são
excluídos ao desligar os equipamentos
y Arquivos de configuração: fornecem uma série de informações, como
a lista dos serviços que devem ser ativados durante o processo de
inicialização, a localização de arquivos de log, a relação de grupos e
usuários do sistema, etc.
y Arquivos de swap: fornecem dados sobre aplicações, nome e senha
de usuários, entre outros tipos de dados
71
Técnicas Forenses – Coleta de dados não voláteis
y Arquivos de Dados: são aqueles arquivos gerados por softwares
como editores de texto, planilhas, agendas, etc.
y Arquivos de Hibernação: arquivos de hibernação são criados para
preservar o estado do sistema e contêm dados sobre a memória do
dispositivo e os arquivos em uso.
y Arquivos de Log: normalmente os sistemas operacionais registram
diversos eventos relacionados ao sistema.
72
Técnicas Forenses – Coleta de dados não voláteis
ƒ Durante a aquisição dos dados é muito importante manter a
integridade dos atributos de tempo mtime (modification time), atime
(access time) e ctime (creation time) – MAC Times.
y Modificação: registro da data e hora em que ocorreu a última
alteração no arquivo;
y Acesso: registro da data e hora em que ocorreu o último acesso ao
arquivo;
y Criação: registro da data e hora em que o arquivo foi criado.
73
Técnicas Forenses – Coleta de dados não voláteis
74
Exame dos dados
ƒ Após a restauração da cópia dos dados, o perito inicia o exame dos
dados coletados e faz uma avaliação dos dados encontrados:
y
y
y
y
arquivos que haviam sido removidos e foram recuperados;
arquivos ocultos;
fragmentos de arquivos encontrados nas áreas não alocadas;
fragmentos de arquivos encontrados em setores alocados, porém não
utilizados pelo arquivo.
ƒ Finalidade: localizar, filtrar e extrair somente as informações que
possam de alguma maneira contribuir para a reconstrução dos
eventos que deram origem à investigação.
75
Exame dos dados – Extração dos dados
ƒ A extração manual dos dados é um processo difícil e demorado:
y exige do perito conhecimento aprofundado, principalmente, sobre o
sistema de arquivos;
y existem algumas ferramentas disponíveis que podem automatizar o
processo de extração dos dados, bem como na recuperação dos
arquivos excluídos.
76
Exame dos dados – Localização de arquivos
ƒ O perito não deve se basear apenas na extensão de arquivos
(Windows)
y Arquivos podem armazenar outros dados (esteganografia em áudio,
vídeo e imagem)
y Usuários “espertos” podem modificar a extensão Æ utilizar
ferramentas de análise de cabeçalhos (“assinatura de arquivo”), site:
http://filext.com/
y Não funciona para Linux Æ comando file
77
Exame dos dados – Localização de arquivos
78
Exame dos dados – Localização de arquivos
ƒ A criptografia está freqüentemente presente entre os desafios
enfrentados pelos peritos
y Criptografia de arquivos, pastas, volumes ou partições
y Em alguns casos não é possível decriptografar esses arquivos, pois
mesmo com a ajuda de ferramentas como John the Ripper, esta
tarefa pode exigir um tempo excessivo para a descoberta da senha
ƒ Para identificar o uso de esteganografia, normalmente se utiliza
histogramas, mas a presença de programas de esteganografia é
uma evidência de que arquivos podem ter sido esteganografados.
y Uma vez determinada a presença de arquivos que tenham sido
submetidos à esteganografia, é importante empregar técnicas de
esteganoanálise.
79
Exame dos dados – Localização de arquivos
Imagem
original (1)
Imagem a ser
escondida (2)
Imagem
(1) + (2)
Fonte: http://www.ene.unb.br/~juliana/cursos/pimagens/projetos/alunos/alaorandre
80
Exame dos dados – Análise dos dados
ƒ
A escolha das ferramentas a serem utilizadas nesta fase depende
de cada caso, exemplo: ataque ou tentativa de invasão
1. Ferramentas que auxiliem na identificação da origem do ataque
(endereço IP)
2. Identificação do responsável
3. No caso do responsável pelo endereço do atacante ser um ISP
(Internet Service Provider), será necessária a solicitação de um
mandado judicial, pedindo informações a respeito do seu cliente que
utilizava o endereço IP identificado, na data/hora do incidente
ƒ
Todas as etapas e conclusões sobre as análises realizadas
devem ser devidamente registradas e ao final anexadas ao laudo
pericial.
81
Exame dos dados – Interpretação dos dados
ƒ Alguns procedimentos que podem ser benéficos à organização da
documentação necessária para a confecção do laudo pericial:
y Reunir todas as documentações e anotações geradas nas etapas de
coleta, exame e análise dos dados, incluindo as conclusões prévias
já alcançadas;
y Identificar os fatos que fornecerão suporte às conclusões descritas
no laudo pericial;
y Criar uma lista de todas as evidências analisadas, para que as
mesmas sejam enumeradas no laudo pericial;
y Listar as conclusões que devem ser relatadas no laudo pericial;
y Organizar e classificar as informações recolhidas para garantir a
redação de um laudo conciso.
82
Exame dos dados – Redação do laudo
ƒ Algumas das seções e informações que podem auxiliar na redação
do laudo pericial:
y Finalidade do relatório: explicar claramente os objetivos do laudo;
y Autor do relatório: listar todos os autores e co-autores do relatório,
incluindo suas especialidades, responsabilidades e informações para
contato;
y Resumo do incidente: síntese do incidente investigado e suas
conseqüências;
y Evidências: descrição sobre o estado das evidências: como, quando
e por quem elas foram adquiridas no decorrer das investigações
(cadeia de custódia).
83
Exame dos dados – Redação do laudo
y Detalhes: descrição detalhada de quais evidências foram analisadas,
quais os métodos utilizados e quais as conclusões alcançadas
y Conclusões: os resultados da investigação devem ser somente
descritos, citando as evidências que comprovem as conclusões. A
conclusão deve ser clara e não oferecer dupla interpretação
y Anexos: documentação referente à investigação (diagramas da rede,
formulários descritivos dos procedimentos utilizados, formulário de
cadeia de custódia, informações gerais sobre as tecnologias
envolvidas na investigação, conteúdo dos dados encontrados
84
Ferramentas Forenses
ƒ Algumas ferramentas forenses serão mostradas nas etapas:
y Coleta dos dados
y Exame dos dados
y Análise dos dados
85
Ferramentas Forenses – Coleta dos dados
ƒ dd (Disk Definition)
ƒ dcfldd (Department of Defense Computer Forensics Lab Disk
Definition): versão aprimorada do dd, com mais funcionalidades:
y geração do hash dos dados durante a cópia dos mesmos
y visualização do processo de geração da imagem
y divisão de uma imagem em partes
ƒ Automated Image & Restore (AIR): interface gráfica para os
comandos dd/dcfldd
y gera e compara automaticamente hashes MD5 ou SHA
y produz um relatório contendo todos os comandos utilizados durante a
sua execução
y elimina o risco da utilização de parâmetros errados por usuários menos
capacitados
86
Ferramentas Forenses – Coleta dos dados
87
Ferramentas Forenses – Exame dos dados
ƒ Utilizando assinaturas de arquivos (ex.: projeto National Software
Reference Library (NSRL)), a quantidade de arquivos a ser analisada
pode ser reduzida significativamente
y http://www.nsrl.nist.gov/Downloads.htm#isos
y Total de 43.103.492 arquivos, distribuídos em 4 “discos”
88
Ferramentas Forenses – Exame dos dados
ƒ Diversas ferramentas já permitem a utilização dos bancos de dados
citados, por exemplo:
y Encase
y Autopsy
y pyFLAG
89
Ferramentas Forenses – Análise dos dados
ƒ Utilitários para construção da linha de tempo dos eventos
y Mactime: permite que a partir das informações contidas nos metadados
dos arquivos e diretórios, uma visão cronológica dos acontecimentos
seja mostrada
ƒ Muitos arquivos importantes que fazem parte dos sistemas
operacionais da família Windows não possuem uma clara explicação
de suas estruturas
y Pasco: analisa os índices dos arquivos do Internet Explorer (index.dat),
exportando os resultados em um formato de texto padrão, inteligível por
humanos e que utiliza como delimitador de campos o caractere “|”
y Galleta: analisa os cookies existentes em uma máquina e separa as
informações úteis em campos para que possam ser manipuladas por
outros programas
90
Ferramentas Forenses – Anti-forense
ƒ Objetivo: destruir, ocultar ou modificar as evidências existentes em
um sistema a fim de dificultar o trabalho realizado pelos
investigadores
y Também podem ser utilizadas antes de venda ou doação de mídias a
outras pessoas (evita recuperação de dados)
ƒ Destruição dos Dados: para impedir ou pelo menos dificultar a
recuperação dos dados, são utilizadas ferramentas conhecidas como
wiping tools para a remoção dos dados
y
y
y
y
Wipe
secure-delete
pgp wipe
The Defiler's Toolkit.
91
Ferramentas Forenses – Anti-forense
ƒ Ferramentas de destruição de dados empregam uma variedade de
técnicas para sobrescrever o conteúdo dos arquivos
y
y
y
y
Sobrescrita de bits “1”
Sobrescrita de bits “0”
Sobrescrita de bits aleatórios
Combinação das anteriores n vezes
ƒ Além da destruição lógica, o atacante pode danificar fisicamente as
mídias utilizadas
92
Ferramentas Forenses – Anti-forense
ƒ Ocultação dos Dados: os dados de um arquivo podem ser
escondidos pelo menos de duas formas:
y fragmentando um arquivo e armazenando esses fragmentos em
espaços não alocados ou naqueles marcados como bad blocks
y utilizando recursos como Alternate Data Stream (ADS), existente em
sistemas de arquivos NTFS, que possibilitam esconder arquivos que
não serão visualizados por comandos de listagem de conteúdo
ƒ Criptografia e esteganografia podem ser aplicados em arquivos,
tornando-se uma barreira difícil de ser superada
y Utilizar ferramentas de esteganoanálise em uma mídia de 80GB requer
muito tempo e na prática nem sempre é algo viável de se realizar
y O mesmo ocorre quando se trata de arquivos criptografados
93
Ferramentas Forenses – Anti-forense
ƒ Os rootkits (conforme mostrado anteriormente) implementam
métodos eficientes para ocultar informações como arquivos e dados
ƒ Modificação dos Dados: os métodos mais comuns para realizar a
modificação dos dados são:
y alterar a extensão dos arquivos
y alterar o conteúdo do cabeçalho dos arquivos
ƒ Outros métodos de modificação incluem a alteração dos atributos de
tempo, através de ferramentas como touch e timestamp, e ataques
de colisão em hash do tipo MD5
ƒ Algumas ferramentas:
y Metasploit Anti-Forensic Investigation Arsenal (MAFIA)
y Windows Memory Forensic Toolkit
94
Estudos de caso
ƒ Com base em investigações reais, quatro estudos de caso serão
apresentados
ƒ Acesso remoto de uma empresa à outra, considerado pela
denunciante como indevido (sem permissão)
ƒ Investigação de um possível roubo de informações, mais
especificamente, de dados bancários
ƒ Investigações para a descoberta da origem de e-mails
y Máquina suspeita (origem do e-mail)
y Máquina da vítima
95
Estudo de caso 1 – Acesso indevido
vítima
invasora
X
ƒ Uma empresa “vítima” acusa uma outra empresa (“invasora”) de ter
acessado um sistema “X” através da rede da vítima
ƒ O sistema X possui informações fundamentais para determinado
ramo empresarial
y O acesso ao mesmo é controlado e existe a cobrança de uma
mensalidade
y Para evitar que mais de uma empresa utilize o sistema com o
pagamento de apenas uma mensalidade, a autenticação é baseada no
endereço IP
96
Estudo de caso 1 – Acesso indevido
ƒ Os responsáveis pela auditoria do sistema X verificaram que havia
mais de uma empresa acessando o sistema através da rede da
vítima
ƒ O acesso foi bloqueado, ocasionando grande prejuízo à empresa
vítima, visto que ela possuía clientes que dependiam de informações
acessadas no sistema X
ƒ A empresa vítima verificou em seus logs o acesso remoto da
empresa invasora, os imprimiu e levou às autoridades para
investigação
ƒ As autoridades decidiram apreender os computadores da empresa
invasora, o que pode ser considerado por muitos uma decisão
arriscada:
y A empresa dependia do uso dos mesmos para trabalhar
y Logs podem ser facilmente construídos ou manipulados (texto!)
97
Estudo de caso 1 – Acesso indevido
ƒ Metodologia aplicada: post mortem forensic, visto que os
computadores foram enviados aos peritos
ƒ Todos computadores foram fotografados (internas e externas),
identificados e seus componentes foram descritos
ƒ Todas as mídias encontradas foram associadas ao computador em
que se encontravam conectadas (“CPU01”, “HD01-CPU01”, “HD02CPU01”,...)
ƒ Foi realizada a coleta do conteúdo de cada mídia. Para isto foi
utilizado um disco de boot da ferramenta Encase (cópia bit-a-bit com
geração de hash)
98
Estudo de caso 1 – Acesso indevido
ƒ Exame dos dados: como o objetivo da perícia estava bem definido,
identificar possíveis acessos conforme os logs impressos, a seqüência dos
procedimentos foi definida:
ƒ Procurar em diretórios onde geralmente existem logs (Linux). No entanto, a
maioria dos computadores possuía sistema operacional Windows
ƒ Os computadores com sistema Windows possuíam diversos e-mails
comerciais, documentos, entre outros
ƒ Durante a análise dos e-mails foi encontrado um contrato onde constava um
acordo comercial de acesso ao sistema X pelas duas empresas,
compartilhando o acesso
ƒ Com a análise mais aprofundada dos e-mails e documentos encontrados foi
possível elaborar uma lista de palavras-chave, contendo nomes de
funcionários, endereços de e-mail, nomes de empresas, entre outros
ƒ Estas chaves foram colocadas no Encase e uma busca foi realizada
ƒ Foram encontrados arquivos excluídos, trechos de texto encontrados em
parte do disco não alocada pelo sistema de arquivos e trechos de texto
encontrados em setores alocados por outros arquivos
99
Estudo de caso 1 – Acesso indevido
ƒ Além das constatações já relacionadas, ainda foi possível verificar
em alguns casos evidências de formatação de discos e
redimensionamento de algumas partições
ƒ Quanto mais se encontrava evidências de comunicação entre as
empresas, mais se encontrava palavras-chave. Assim, mais buscas
eram realizadas
ƒ Nenhum indício de acesso entre as empresas havia sido encontrado
até então. Tudo indicava que as máquinas com sistema Windows
eram apenas utilizadas por pessoas da área administrativa/comercial
ƒ Porém, estas informações foram úteis para mostrar que se houve
acesso entre elas, tudo indicava que era um acesso lícito, pois havia
inclusive um contrato entre elas
ƒ Continuando as buscas, acabou sendo encontrado um
desentendimento (e-mails e documentos de texto) e a parceria teria
sido rompida
100
Estudo de caso 1 – Acesso indevido
ƒ Na perícia em máquinas com sistema Linux foi verificado que essas
não possuíam e-mails ou dados comerciais, indicando que se
tratavam de servidores (serviços típicos de um provedor de acesso
Internet)
ƒ Foram realizadas buscas por comandos e endereços IP que
poderiam gerar os logs apresentados em formato impresso
ƒ Finalmente foi encontrado um comando de acesso ao endereço IP
da empresa vítima!
ƒ No entanto, em nenhum momento foi encontrado algum indício de
invasão propriamente dita, e sim, um acesso remoto com um
usuário e senha legítimos
101
Estudo de caso 1 – Acesso indevido
ƒ Após reunidas as informações e analisada a cronologia dos eventos,
concluiu-se que:
y havia um contrato de parceria entre as empresas envolvidas
y foi constatado certo desentendimento entre as empresas e a parceria
teria sido interrompida
y foram verificadas seqüências de comandos compatíveis com a geração
dos logs impressos pela empresa vítima, sendo as datas posteriores ao
possível desentendimento relatado
y não foi constatado nenhum tipo de ataque, foram constatados acessos
legítimos utilizando credenciais autênticas e válidas
102
Estudo de caso 1 – Acesso indevido
ƒ Elaboração do laudo pericial:
Metodologia, como foi feita a coleta de dados
Descrição do incidente, objetivo da perícia
Peritos designados (relator e revisor)
Descrição do que foi encontrado de relevante
Todos os arquivos e dados considerados relevantes para a elaboração
do laudo foram gravados em CD (anexo)
y Garantia da integridade do CD: hash para cada arquivo, esses códigos
foram gravados em um novo arquivo. Um novo hash foi gerado no
arquivo de hashes. Este último foi adicionado ao laudo juntamente com
a explicação de como comprovar a integridade dos arquivos.
y No CD foi gravado um software livre que gera códigos hash utilizando o
algoritmo MD5 e instruções de como utilizá-lo.
y Conclusão do laudo (já descrita)
y
y
y
y
y
103
Estudo de caso 1 – Acesso indevido
ƒ Importante: Se tivesse sido solicitada a presença do perito no local
da apreensão, o ambiente poderia ser fotografado e detalhado
y Ajudaria na identificação dos computadores de acordo com a
localização (recepção, contabilidade, servidor, etc.)
104
Estudo de caso 2 – Malware
ƒ Um funcionário de confiança possuía os dados da conta bancária e
senha da empresa onde trabalhava
ƒ Após a conferência de um extrato bancário, foi constatada a
transferência de uma grande quantia de dinheiro para outra conta
ƒ Apenas este funcionário e o dono da empresa sabiam a senha da
conta bancária e ambos garantiam que a transferência não tinha sido
feita por eles
ƒ Foi instaurado inquérito policial
ƒ Investigações concluíram que dono da conta para a qual foi feita a
transferência era uma pessoa com poucos recursos, semianalfabeto, e que a conta havia sido aberta há poucos dias
ƒ Este foi interrogado e falou que um desconhecido lhe ofereceu uma
pequena quantia em dinheiro para que ele abrisse uma conta
bancária e que entregasse o cartão eletrônico ao tal desconhecido
105
Estudo de caso 2 – Malware
ƒ Neste caso, a empresa vítima solicitou ao banco o ressarcimento do
valor transferido, alegando que alguma fraude eletrônica deveria ter
ocorrido
ƒ O banco concordou, entretanto, a fraude deveria ser provada
ƒ Por se tratar de suspeita de crime e não haver nenhum suspeito, a
solução adotada foi apreender (ou neste caso, solicitar) o
computador utilizado pela vítima na empresa
ƒ Coleta dos dados (cópia bit-a-bit e garantia de integridade)
ƒ Objetivo bem definido: procurar evidências de roubo de informações
ƒ Começou-se a análise das caixas de e-mail (meio mais utilizado para
contato com vítimas)
ƒ Foi encontrada uma mensagem de phishing scam solicitando ao
usuário para clicar em um determinado link
106
Estudo de caso 2 – Malware
ƒ Para verificar se o link ainda estava ativo, foi clicado no mesmo. O
link já não estava mais ativo
ƒ No entanto, era possível verificar o nome do arquivo que seria
baixado (exemplo: fotos.exe). Procurou-se então pelo arquivo
fotos.exe na imagem e o mesmo foi encontrado
ƒ Alguns softwares antivírus foram executados e constatou-se que o
arquivo continha o keylogger o BPK
ƒ Uma pesquisa foi realizada e foi constatado que o BPK foi
desenvolvido para monitorar, entre outros, filhos e esposo(a),
segundo o site do fabricante
107
Estudo de caso 2 – Malware
ƒ O keylogger este foi extraído da imagem para análise. Nas
configurações foram encontrados:
y armazenamento de logs (teclas digitadas) e telas (arquivos .gif com
“pedaços” de tela capturada) a partir do acesso a seis sites de bancos
pré-definidos
y envio dos arquivos gerados para um servidor FTP, com usuário e senha
pré-definidos
ƒ Partiu-se para uma nova busca: evidências de que os dados
bancários teriam sido enviados para o servidor FTP mencionado
ƒ Foi realizada então uma busca por palavras-chave sem a utilização
de expressões regulares, pois se procuravam palavras específicas,
incluindo usuário e endereço IP do servidor
108
Estudo de caso 2 – Malware
ƒ Foram encontrados indícios na memória virtual com conexões
realizadas ao servidor FTP mencionado e com o usuário configurado
ƒ Por se tratar de memória virtual, não foi possível extrair grande
quantidade de informação útil, sem haver “sujeira” entre um comando
e outro
ƒ Contudo, os fragmentos encontrados puderam indicar a conexão
com o servidor e algumas datas e horários puderam ser coletadas
em texto claro
ƒ O servidor FTP encontrava-se em outro país e possuía a modalidade
de contas gratuitas
y Um teste foi realizado no site da empresa provedora do serviço e uma
conta foi criada sem informação de dados pessoais validados
109
Estudo de caso 2 – Malware
ƒ Todas as informações mostradas foram relatadas no laudo pericial,
incluindo o endereço IP do servidor FTP, caso a investigação tivesse
algum acesso a logs do servidor
ƒ Não foi possível concluir que os dados da conta foram enviados a
algum destinatário, porque os arquivos de log gerados pelo BPK
eram excluídos de tempos em tempos
ƒ Mesmo com uma busca por arquivos excluídos, não foram
encontrados dados relativos à conta. Mas foi possível relatar que:
y que o computador estava infectado
y foi infectado logo após o recebimento da mensagem com phishing scam
y Há indícios de conexões com um servidor FTP previamente configurado
no keylogger
110
Estudo de caso 3 – Ameaça por e-mail (sem cabeçalho)
ƒ Um diretor de uma empresa recebeu uma ameaça por e-mail, com
cópia a diversos membros da diretoria
ƒ O diretor imprimiu o e-mail e o entregou à polícia
ƒ O cabeçalho do e-mail não foi impresso e o computador contendo o
e-mail recebido não foi entregue para a perícia
ƒ O conteúdo do e-mail mencionava fatos ocorridos na empresa
y
y
y
y
y
Foi utilizado um Webmail
Suspeitou-se que seria um dos funcionários
Os funcionários tinham acesso a uma máquina com Internet no serviço
Cada funcionário entrava com seu usuário no sistema
Esta máquina foi apreendida e enviada à perícia
111
Estudo de caso 3 – Ameaça por e-mail (sem cabeçalho)
ƒ Objetivo da perícia: verificar se aquele e-mail impresso foi originado
na máquina enviada para perícia
ƒ Coleta dos dados: cópia bit-a-bit do disco rígido questionado
ƒ No exame dos dados foram realizadas duas atividades em paralelo:
y Seleção de palavras-chave com erros de grafia ou palavras muito
específicas encontradas no e-mail
y Verificação de arquivos encontrados na pasta de arquivos temporários
da Internet
ƒ Diversos acessos a sites de Webmail foram encontrados, com um
total de seis usuários diferentes
ƒ Na pasta de arquivos temporários não foi encontrado o e-mail com as
ameaças nem mesmo os dados da conta de e-mail que foi utilizada
112
Estudo de caso 3 – Ameaça por e-mail (sem cabeçalho)
ƒ Antes de continuar a análise “manual”, o processamento da busca foi
concluído, mostrando algumas ocorrências para as palavras-chave
selecionadas
ƒ Analisando as ocorrências, foi encontrado a maior parte do e-mail
dentro do arquivo de memória virtual (Windows)
ƒ Antes do início da mensagem havia o seguinte metadado:
<?xml:namespace prefix = o ns = "urn:schemas-microsoftcom:office:office"
ƒ Este metadado indica a utilização de um dos aplicativos do Microsoft
Office
ƒ Não houve uma conclusão de que a mensagem foi originada na
máquina analisada. Porém indícios foram encontrados, podendo
ajudar na investigação
113
Estudo de caso 4 – Injúria por e-mail (com cabeçalho)
ƒ Uma mensagem de e-mail contendo injúria (racismo) foi enviado para
a amiga da vítima
ƒ A amiga mostrou para a vítima e esta decidiu registrar ocorrência,
levando consigo o e-mail impresso
ƒ O delegado decidiu então solicitar o computador da amiga para
enviar à perícia
ƒ Neste caso, foi possível analisar o cabeçalho do e-mail
114
Estudo de caso 4 – Injúria por e-mail (com cabeçalho)
115
Estudo de caso 4 – Injúria por e-mail (com cabeçalho)
ƒ Foi possível consultar na base de dados de domínios brasileiros e os
dados da empresa, como endereço, telefone do responsável, entre
outros, puderam ser coletados
ƒ Estes dados foram colocados no laudo, indicando a origem do e-mail
sendo a empresa descrita como detentora do domínio
“empresa.com.br”
y A empresa estava localizada na mesma cidade onde morava a vítima e
o acusado
y Segundo informações que a investigação passou para os peritos
posteriormente, esta seria a empresa onde o acusado trabalhava
116
Desafios atuais em forense computacional
Coleta dos dados
ƒ Para facilitar e agilizar a aquisição das evidências em hosts que
estejam conectados a rede, foram desenvolvidas ferramentas
remotas que a partir de uma console central coletam
simultaneamente dados de diversos hosts
ÆEntretanto, este tipo de aplicação não é capaz de realizar a cópia
completa da memória ou inspecionar as áreas de memória alocadas por
um determinado processo
ÆCom este tipo de ferramenta não é possível adquirir evidências
localizadas em arquivos abertos ou referentes a processos em
execução
117
Desafios atuais em forense computacional
Coleta dos dados
ƒ O desenvolvimento de padrões abertos bem documentados, que
contemplem acesso aos metadados, que garantam a integridade dos
dados e cujas evidências possam ser examinadas e analisadas por
múltiplas ferramentas é um desafio em aberto.
ƒ Outras características desejáveis são:
y a definição da estrutura e implementação de trilhas de auditoria que
gerem a cadeia de custódia
y a implementação das seguintes características de segurança:
ƒ
ƒ
ƒ
ƒ
mecanismos de autenticação
verificação de integridade
controle de acesso as evidências
não-repúdio
118
Desafios atuais em forense computacional
Exame dos dados
ƒ Atualmente não existem ferramentas para inspecionar e interpretar
de maneira ágil as estruturas de dados da memória virtual
ƒ Desenvolvimento de métodos que possibilitem identificar a presença
de arquivos, cujos fragmentados foram gravados em espaços não
alocados do disco – técnica utilizada por algumas ferramentas antiforense
119
Desafios atuais em forense computacional
Análise dos dados
ƒ Sistemas especialistas que possuam em suas bases de dados
informações sobre como agregar as diversas entradas dos arquivos de
log distribuídos pelos ativos da organização em um único evento e
correlacionar eventos de forma automatizada, ex.: ferramenta
proprietária Analysts Notebook
120
Desafios atuais em forense computacional
Análise dos dados
121
Considerações finais
ƒ Forense computacional é um tema bastante atual e que tem recebido
significativa atenção tanto da comunidade científica quanto da
indústria.
ƒ Muitas fraudes eletrônicas se baseiam na ingenuidade de usuários e
conseqüentemente na execução de malwares.
ƒ Muitas vezes a investigação não pode prosseguir sem a verificação
de computadores de suspeitos Æ necessidade de pessoal
qualificado!
ƒ Sobre a análise post mortem existe mais material disponível para
pesquisa, porém a demanda pela análise live deve aumentar (casos
de flagrante).
ƒ É extremamente importante seguir as boas práticas de forense para
evitar o descarte de um laudo em um processo judicial.
122
Considerações finais
ƒ Há ainda muito a ser pesquisado, como mostrado em “desafios
atuais”, muitas tarefas ainda dependem exclusivamente do perito.
ƒ Novas ferramentas/bases de “assinaturas de arquivos” ajudariam os
peritos no exame dos dados, especialmente na análise live.
ƒ O surgimento de legislação e padrões a serem aplicados (Brasil)
referentes à forense computacional tornariam menor a chance de
laudos serem inutilizados por falta de experiência dos peritos.
123
Dúvidas?
Muito obrigado!
124