Prévia do material em texto
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 1/166
UNIVERSIDADE CATÓLICA DE BRASÍLIA
PROGRAMA DE PÓS-GRADUAÇÃO LATO SENSU EM
SEGURANÇA EM REDES DE COMPUTADORES
ESPECIALIZAÇÃO
Aplicação de Técnicas de Forense Computacional e Respostas a
Incidentes na Internet
Autor: Daniel Linhares Lim-Apo
Orientador: Prof. MSc. Jerônimo Osvaldo Dias Jardim
Brasília-DF - BRASIL 2004
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 2/166
DANIEL LINHARES LIM-APO
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na
Internet
Monografia apresentada em Programa de Pós-Graduação Lato Sensu em Segurança
em Redes de Computadores da Universidade Católica de Brasília, como requisito para a
obtenção de título de pós-graduado em Segurança em Redes de Computadores
Orientador: Prof. MSc. Jerônimo Osvaldo Dias Jardim
Brasília
2004
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 3/166
Dedico este trabalho às pessoas próximas a mim que tanto me apoiaram e
incentivaram e a toda a comunidade de alguma forma relacionada à segurança digital.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 4/166
Agradecimentos
Ao Prof. MSc. Jerônimo Jardim e à Simone,
que me mostraram como traçar e retraçar caminhos.
A meu pai pela torcida.
À minha mãe pela base que me propiciou.
Ao meu filho, que cedeu diversos momentos com o pai.
A Valéria Soares, que é companheira e tanto me apóia.
À minha madrinha e tias pela ajuda na formação de caráter.
Ao Alex Pinheiro Machado Rodrigues pela amizade e por sua abertura em sempre
compartilhar seus conhecimentos técnicos.
À comunidade do grupo de discussão sobre "Perícia Forense Aplicada à Informática" do
Yahoo e, em especial, ao moderador Andrey Rodrigues de Freitas pela saudável troca de
informações em público.
Ao Delegado Zanata por fazer bem o seu trabalho na Polícia Civil-DF.
Ao Google por ser uma excelente ferramenta de pesquisa e de trabalho.
À Internet na forma de seus usuários por ser uma via de comunicação cada vez mais
universal e completa.
Àqueles que fizeram e fazem tudo acontecer em informática, em redes e em segurança.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 5/166
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na
Internet
SUMÁRIO
SUMÁRIO.................................................................................................................................. 5
Capítulo I - INTRODUÇÃO E CONCEITOS ............................................................................. 7
1.1 Aplicação de técnicas de forense computacional e respostas a incidentes na Internet ......... 7
1.2 Introdução ......................................................................................................................... 8
1.3 Observações iniciais ........................................................................................................ 12
1.4 A evolução da criminalidade a evolução tecnológica ....................................................... 13
1.5 Forense Computacional ................................................................................................... 14
Capítulo II - INVESTIGANDO ................................................................................................ 16
2.1 O profissional.................................................................................................................. 16
2.2 Uso de metodologias em forense computacional.............................................................. 18
2.3 Scientific Working Group on Digital Evidence (SWGDE) - Grupo de Trabalho Científico
em Evidência Digital............................................................................................................. 21
2.4 Sistema operacional não mais confiável........................................................................... 34
2.5 Proteção da evidência ...................................................................................................... 36
2.6 Cadeia de custódia........................................................................................................... 37
2.7 Obtenção e Coleta de dados............................................................................................. 38
2.8 A decisão de desligar ou não, eis a questão...................................................................... 39
2.9 Duplicação pericial.......................................................................................................... 40
2.10 Examinando a Rede....................................................................................................... 41
2.11 Cavalos de Tróia e Backdoors ....................................................................................... 45
2.11.1 Definição de Cavalo de Tróia.................................................................................. 46
2.11.2 BACKDOORs ........................................................................................................ 46
2.12 Investigando Ferramentas .............................................................................................. 49
2.12.1 Investigando software de código malicioso ............................................................. 49
2.13 Procurando dados .......................................................................................................... 52
2.14 Obtendo informações em discos .................................................................................... 54
2.14.1 Arquivos deletados ................................................................................................. 56
2.15 Sistemas de arquivos NTFS........................................................................................... 57
2.15.1 Sistemas de arquivos NTFS ........................................................................................ 57
2.15.2 O NTFS...................................................................................................................... 57
2.15.2.1 Versões do NTFS................................................................................................. 59
2.15.2.2 NTFS 1.1 / 4.0 ..................................................................................................... 59
2.15.2.3 NTFS 5.0 parte do Windows 2000 ....................................................................... 59
2.15.2.4 Explanando sobre o NTFS ................................................................................... 60
2.15.2.5 Lista de controle de acesso (Access Control Lists - ACLs) e entradas controle de
acesso (Access Control Entries - ACEs) ............................................................................ 61
2.15.2.6 NTFS - Permissões .............................................................................................. 63
2.15.2.7 Auditoria no NTFS .............................................................................................. 64
2.15.2.8 Master File Table (MFT) ..................................................................................... 64
2.15.2.9 Zona MFT ...........................................................................................................66
2.15.2.10 NTFS - Nomenclatura de arquivos ..................................................................... 68
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 6/166
2.15.2.11 NTFS - Atributos de arquivos ........................................................................... 69
2.15.2.12 NTFS - Arquivos e armazenamento de dados..................................................... 71
Capítulo III - FERRAMENTAS................................................................................................ 74
3.1 F.I.R.E. Linux ................................................................................................................. 74
3.1.1 F.I.R.E. Linux (Forensic and Incident Response Environment) ................................. 74
3.1.2 Comparando o F.I.R.E. com algumas outras distruições baseadas em CD ou em
disquete............................................................................................................................. 75
3.1.3 Plataforma necessária ............................................................................................... 76
3.1.4 F.I.R.E. Linux Pacotes disponíveis ........................................................................... 77
3.1.4.1 Ferramentas incluídas no F.I.R.E ........................................................................... 77
Ferramentas Windows........................................................................................................... 90
Knoppix-STD ....................................................................................................................... 92
Versão: Knoppix STD 0.1 ................................................................................................. 92
Knoppix-STD - Pacotes..................................................................................................... 94
AIDE ...................................................................................................................................104
Capítulo V - CASOS E EXEMPLOS .......................................................................................105
Casos estudados de exemplo ................................................................................................105
CONCLUSÃO.........................................................................................................................132
Glossário de siglas e termos .................................................................................................136
Bibliografia ..........................................................................................................................146
ANEXOS.................................................................................................................................151
Roteiro de apresentação: forense computacional e uso de cópia pericial. ..............................151
Manual do AIDE (Tradução livre por Daniel Lim-Apo) .......................................................153
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 7/166
Capítulo I - INTRODUÇÃO E CONCEITOS
1.1 Aplicação de técnicas de forense computacional e respostas a incidentes na Internet
Este trabalho apresenta uma metodologia e aplicação de uma ferramenta para a
investigação de incidentes de segurança num ambiente forense seguro, em redes conectadas à
internet. Serão apresentados estudos de casos reais onde a investigação tem por finalidade traçar a
possível origem e as técnicas utilizadas pelo atacante.
Objetivo: estudar uma metodologia e técnicas de forense computacional aplicada em
resposta a incidentes de segurança em redes conectadas à internet.
Resultados esperados: aprofundar o conhecimento de ferramentas de forense
computacional e de aplicação de uma metodologia investigativa em incidentes reais.
Diretrizes: este trabalho será desenvolvido utilizando-se bibliografia específica sobre o
assunto e documentos disponíveis na internet.
Infra-estrutura tecnológica: computadores com sistema operacional Linux e Windows,
acesso à internet, ambiente de testes (Laboratório de Segurança em Redes da Universidade
Católica de Brasília) e softwares específicos para forense computacional.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 8/166
1.2 Introdução
As últimas décadas e em especial os últimos anos marcaram mudanças revolucionárias
no uso de computadores pelos cidadãos do mundo. A Internet trouxe uma capacidade de
comunicação e integração de computadores que há uma década seria difícil de se prever. Tudo
isso, num crescimento tão acelerado que chega a ser assustador. Inúmeras relações humanas são
espelhadas na internet, a ponto de se dizer que se trata de um mundo virtual. Mas, não existe
mundo virtual e sim o mesmo mundo real só que com diferentes ferramentas e novos paradigmas
de relacionamento humano. As comunicações, as relações de poder, os governos, as religiões, a
política, as atividades culturais e o comércio acontecem na internet. Na mesma internet, vemos
também o crescimento das guerras, o terrorismo, os furtos, as chantagens, difamações, extorsões,
corrupção, pedofilia, quebra de direitos autorais, pichações, furto de informações, estelionatos,
falsidade ideológica, brigas pessoais, guerras internacionais e praticamente qualquer outra prática
indevida, inadequada e muitas vezes criminosa. É o mundo real e sujeito às leis reais já existentes
e às novas leis que vêem sendo criadas. Mesmo crimes que não sejam cometidos via internet,
como terrorismo em massa, um estupro ou homicídio, podem ser cometidos deixando evidências
em um computador ou em ativos de rede de computadores. Sendo assim, é crescente a
necessidade dos estudos na área de forense computacional que auxiliem o desenvolvimento de
metodologias e a acumulação de conhecimentos para a descoberta, manipulação e análise de
evidências digitais.
Para entender a aplicação de técnicas de forense computacional basta ir se familiarizando
com os conceitos e objetivos desta prática. A analogia com a prática forense e pericial de uma
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 9/166
forma geral é comum e bastante esclarecedora. Por exemplo, o ambiente computacional é tratado
como uma cena de crime, um host pode ser tratado como um cadáver sendo dissecado em
autópsia. Em outros casos pode-se ter um ativo de rede sendo analisado como um paciente que
ouve do médico que não é nada, pois o sintoma está dentro de padrões normais. Claro que a
necessidade de legalidade jurídica e a ética são partes da prática de forense computacional, pois
de que valem as ações de um perito investigador se as suas ações apagam ou invalidam provas
cruciais desnecessariamente.
Respostas a incidentes na Internet abrangem uma grande gama de tópicos da segurança de
redes de computadores, tanto no que diz respeito ao escopo de abrangência de tempo quanto no
que diz respeito a itens de segurança física e segurança lógica. No quesito tempo, a necessidade
de providências abrange desde muito antes até muito depois de um incidente de segurança.
Quanto à proximidade física é preciso saber que há o macro e o micro, afinal às vezes é
necessário preocupar-se com um eventual atacante que está no outro lado do planeta ou com
umas poucas linhas de código malicioso implantadas apenas na memória volátil de um host
comprometido cujo teclado está sob seus dedos.
A aplicação de técnicas de forensecomputacional e as respostas a incidentes de segurança
estão diretamente relacionadas aos interesses finais que se quer obter. As diretivas de
regulamentos internos e objetivos das partes envolvidas e à legislação pertinente ao caso devem
ser consideradas de forma especial. Uma empresa comercial pode priorizar a restauração de um
sistema sem tirá-lo de funcionamento e com total sigilo. A empresa investigadora particular pode
ter limitações legais principalmente ao envolver ambientes de rede de terceiros. Uma instituição
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 10/166
investigadora policial do governo pode querer ter todas as provas preservadas e ter dificuldades
ao lidar com países estrangeiros. O administrador de rede do sistema atacado pode ser bem
solícito, mas ser o culpado de fato.
O uso de uma metodologia para uma investigação possibilita obter resultados melhores e
mais eficientes com um custo menor de tempo e trabalho. No pré, pós e durante o incidente sente-
se o calor da hora e as pressões são corriqueiras, parte do cotidiano do investigador. Assim, a
metodologia é uma necessidade para tornar claro o que se quer e tornar possível conseguir isto.
As ferramentas para a investigação de incidentes de segurança são essenciais. É uma
guerra. Quer seja física ou lógica, estamos todos num território de guerra. Numa guerra usam-se
armas. Como em qualquer guerra, as armas de defesa servem para ataque e vice-versa. As
ferramentas na forma de softwares individuais ou como kits completos e robustos são as armas
dos atacantes e a dos seus oponentes. É preciso conhecer as armas para poder usá-las, no ataque
ou defesa. Mas para trabalhar com forense computacional é bom ter uma visão superficial e
profunda das armas reais e das armas hipotéticas possíveis, para poder supor o que pode ter
acontecido, estar acontecendo ou vir a acontecer. Pode-se ter um melhor entendimento do poder
do agressor se puder comparar e entender o que ele fez com uma determinada arma e o que ele
poderia ter feito, principalmente se for necessário saber como ele age, pode agir, como ele é,
quem ele é, onde ele está e, mais ainda, pegá-lo.
A segurança neste caso se refere principalmente à segurança das provas e dos
procedimentos. Pense na situação análoga do tipo "não toquem em nada até que os peritos
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 11/166
terminem", mas lembre-se que os peritos também têm que tentar deixar certas, muitas, coisas
preferencialmente intactas. A estratégia de uso de um ambiente de forense computacional seguro
minimiza as possibilidades de que as provas ou procedimentos possam ser comprometidos
propositalmente ou não pelas partes envolvidas, por terceiros, por programas de computador e,
inclusive, pelos próprios peritos investigadores.
Os estudos de casos reais dão uma visão real do lado prático e excitante da ação em si. É
extensa a gama de aplicabilidades das técnicas de forense computacional na resposta a incidentes
na internet.
Essas técnicas são componentes do presente em constante mutação. Sendo assim, as
informações aqui apresentadas são baseadas em bibliografia recente e fontes de informações
diversas, inclusive da Internet, tais como sites, revistas eletrônicas e fóruns.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 12/166
1.3 Observações iniciais
Neste trabalho a palavra "máquina" será usada para se referenciar a um computador de
qualquer porte independentemente de seu uso como servidor, máquina individual ou outra
funcionalidade.
Os exemplos de comandos de linha serão com um sinal de buffer antes do exemplo e
eventualmente entre aspas (""). Assim, se um exemplo é
"# /bin/ls -la *.*" ou
# /bin/ls -la *.*
então o comando a ser executado em seu prompt de comando é:
/bin/ls -la *.*
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 13/166
1.4 A evolução da criminalidade a evolução tecnológica
É a velha história, coloca-se uma cerca de arame e o ladrão usa um alicate. Então, coloca-
se uma cerca de arame farpado e o ladrão usa um alicate e uma luva.
Veja como funcionou com a criptografia. Ao longo da história a criptografia foi uma das
tecnologias que evoluiu com as necessidades de sigilo nas comunicações da humanidade e
sempre que foi criado um método de cifragem mais moderno ele foi mais cedo ou mais tarde
quebrado, em seguida surgia um novo método mais seguro e uma estratégia de quebrar mais
eficiente e assim continua a acontecer. A criptografia quântica existe em teoria e os estudos para
suas vulnerabilidades e quebra também já existem.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 14/166
1.5 Forense Computacional
Ramo da criminalística que compreende a descoberta, preservação, restauração e análise
de evidências computacionais.
O termo forense origina-se do meio policial, onde peritos investigadores procuram
analisar de forma minuciosa tudo o que encontram na cena do crime, desde um cadáver até um
minúsculo fio de cabelo ou pequena mancha de tinta e com um isolamento adequado da área,
procurando preservar as evidências seguem ao passo seguinte de examinar com as técnicas
adequadas, como balística e exames laboratoriais. A contaminação ou incorreção na aplicação
das metodologias pode invalidar as provas para um tribunal. A mesma analogia pode ser dada à
forense computacional.
Cada crime de computador deixa rastros e é preciso saber encontrá-los. Os computadores
sempre foram suscetíveis aos ataques e intrusões, mas assim como cresce a sofisticação da
tecnologia dos computadores, também é crescente a necessidade de antecipar e se resguardar
diante da taxa de crescimento da atividade de crimes de computador.
A análise forense está se tornando uma parte integrada à resposta a incidentes de
segurança juntamente com o crescimento do número de investigadores treinados em forense
computacional e da disponibilidade de kits de ferramentas de forense computacional.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 15/166
São etapas fundamentais na forense computacional a coleta de informações, a
identificação de evidências, a obtenção e coleta das evidências e a reconstrução dos eventos.
O objetivo da forense computacional é conduzir uma investigação estruturada com uma
metodologia que permita determinar o que aconteceu, quem foi responsável e, a investigação
deve ser executada de uma forma que os resultados sejam úteis em um processo criminal.
Forense computacional é a aplicação de técnicas de análise e investigação em
computadores com o interesse de determinar evidências legais em potencial.
A evidência em forense computacional é freqüentemente procurada em um vasto número
de crimes de computador ou no emprego inaceitável, incluindo roubo de segredos comerciais,
roubo ou destruição de propriedade intelectual e fraudes.
Os especialistas em forense computacional usam uma ampla gama de métodos para
encontrar dados que se encontram em um sistema computacional e freqüentemente recuperar
arquivos que foram deletados, cifrados ou danificados, em algumas vezes, há anos atrás.
As evidências colhidas por um especialista em forense computacional são úteis e
freqüentemente necessáriasdurante a busca, depoimentos e disputa judicial.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 16/166
Capítulo II - INVESTIGANDO
2.1 O profissional
O profissional que atua na área de forense computacional pode ser chamado de perito ou
investigador.
São características interessantes para um investigador na aplicação de técnicas de forense
computacional:
- Conhecimento e entendimento profundo das características de funcionamento de
sistemas de arquivos, programas de computador e padrões de comunicação em redes de
computadores;
- Familiaridade com as ferramentas, técnicas, estratégias e metodologia de ataques
conhecidos, inclusive as que não se tem registro de ter ocorrido, mas que já são vistas como uma
exploração em potencial de uma determinada vulnerabilidade de um sistema.
- Faro investigativo para perceber rastros sutis de ações maliciosas - Esmero pela
perfeição e detalhes. Sempre deve haver rastros, mesmo que muito sutis.
- Entendimento sobre o encadeamento de causas e conseqüências em tudo o que ocorre
num sistema para construir a história lógica formada por ações maliciosas ou normais que já
tenham ocorrido, que estejam em curso e que possam vir a acontecer;
- Conhecimento da legislação envolvida;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 17/166
- Conhecimento das diretivas internas das empresas e instituições envolvidas no processo
investigativo, com especial atenção às limitações como diretivas de privacidade, sigilo e escopo
ou jurisdição de atuação;
- Cuidado com a manipulação e preservação de provas legais em potencial, inclusive com
uma metodologia de cadeia de custódia. O que não é visto como prova hoje pode vir a ser uma
prova e então é bom ter sido preservada o suficiente para ser aceita em um tribunal.
- Noções sobre a psicologia dos atacantes em potencial a respeito de perfis de
comportamento e motivações.
- Experiência ao examinar os rastros em um incidente perceber o nível de sofisticação e
conhecimento de um atacante, especialmente interessante se o atacante usa subterfúgios para
parecer menos capaz, como deixar rastros óbvios e parecer um ataque simples para ocultar ações
maliciosas muito mais perigosas e muito mais escondidas.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 18/166
2.2 Uso de metodologias em forense computacional
A padronização e a quantidade de metodologias na área de forense computacional são
ainda insuficientes considerando-se a grande demanda de aplicabilidade. É crescente o número de
incidentes que transpõe os níveis de escopo de atuações de empresas, instituições, jurisdições
policiais e até países.
Para uma perfeita adequação das práticas e procedimentos da forense computacional às
legislações pertinentes a cada um dos envolvidos em um caso de incidente de segurança, é
crescente a necessidade de metodologias com padrões internacionalmente aceitos para a forense
computacional.
Algumas questões que dificultam a padronização e definição de metodologias estão
relacionadas à grande diversidade de equipamentos, programas de computador e sistemas
existentes. A cada dia surgem novas versões de sistemas operacionais, novos ativos de rede e
novas mídias portáteis ou não. Isto aumenta a necessidade e ao mesmo tempo torna mais difícil a
padronização de procedimentos e a criação e implementação de metodologias.
Princípios Internacionais para Evidência Computacional e Organização Internacional de
Evidência Computacional (International Principles for Computer Evidence - International
Organization on Computer Evidence - IOCE)
A Organização Internacional de Evidência Computacional (International Organization on
Computer Evidence - IOCE) foi estabelecida em 1995 para prover às agências internacionais da
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 19/166
lei um fórum para troca de informação a respeito de investigações de crimes de computadores e
outras matérias de forense computacional. Comprometida com as agências, com credibilidade do
governo dos EUA, envolvidas em investigação forense computacional, a IOCE identifica e
discute temas de interesse em seus continentes, facilita a disseminação internacional da
informação e desenvolve recomendações por consideração de suas agências membro. Também
para formular padrões de evidência de computador a IOCE desenvolve comunicações entre
agências membro e mantém conferências engrenadas para o estabelecimento de relações de
trabalho.
Em resposta ao Plano de ação e comunicação do G8 ("G-8 Communique and Action
Plans") de 1997 a IOCE recebeu a tarefa de desenvolver padrões internacionais para a troca e
recuperação de evidência eletrônica. Grupos de trabalho no Canadá, Europa, Reino Unido e nos
Estados Unidos foram formados para sediar estes padrões de evidência computacional.
Durante a Conferência Internacional de Crimes de Alta Tecnologia e Forense
("International Hi-Tech Crime and Forensics Conference - IHCFC") de Outubro de 1999, a IOCE
realizou reuniões e "workshops" nos quais revisaram o Guia de Boas Práticas do Reino Unido
("United Kingdom Good Practice Guide") e o Rascunho de Padrões do SWGDE ("SWGDE Draft
Standards"). O grupo de trabalho propôs os seguintes princípios apresentados com aprovação
unânime:
Princípios Internacionais da IOCE:
Os princípios internacionais desenvolvidos pela IOCE para recuperação padronizada de
evidências baseadas em computador têm como centro os seguintes atributos:
- Consistência com todos os sistemas legais;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 20/166
- Permissão para o uso de uma linguagem comum;
- Durabilidade;
- Habilidade de cruzar limites internacionais;
- Habilidade de dar confiança em relação à integridade da evidência;
- Aplicabilidade de toda a evidência forense;
- Aplicabilidade em todos os níveis inclusive do indivíduo, agência e país.
Tais princípios são:
- Ao se apreender uma evidência digital, as ações não devem mudar aquela evidência;
- Quando for necessário para uma pessoa acessar a evidência digital original aquela
pessoa deve ser legalmente e tecnicamente competente;
- Toda atividade relacionada à obtenção (apreensão), acesso, armazenagem ou
transferência de uma evidência digital deve ser completamente documentada, preservada e
disponível para revisão;
- Um indivíduo é responsável por todas as ações tomadas a respeito de uma evidência
digital enquanto a evidência digital estiver em seu poder;
- Qualquer agência que é responsável por obter, acessar, armazenar ou transferir uma
evidência digital é responsável em acordo com estes princípios;
Outros itens recomendados pela IOCE para debate futuro e/ou facilitação incluem:
- Competência forense e a necessidade de gerar adesão na aceitação internacional e na
validação de ferramentas, técnicas e treinamento;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 21/166
- Temas relacionados a práticas e procedimentos para a análise de evidência digital e o
compartilhamento de informação relativa a crimes de alta tecnologia e forense computacional,
tais como eventos, ferramentas e técnicas.
2.3 Scientific Working Group on Digital Evidence (SWGDE) - Grupo de Trabalho Científico
em Evidência DigitalO grupo The Federal Crime Laboratory Directors (Diretores de Laboratórios de
Criminalística Federais) formou o SWGDE in 1998 com objetivo de explorar evidências digitais
como uma disciplina forense. Os membros iniciais foram os laboratórios de forense do ATF,
DEA, FBI, IRS-CID, US Customs, US Postal Inspection Service e o US Secret Service. A NASA
e o Department of Defense Computer Forensics Laboratory participaram desde o início. Diversos
outros membros foram integrando o grupo, sendo que os membros individualmente tinham
muitos anos de experiência em forense digital. Muitos dos membros do SWGDE são membros de
proeminentes organizações, tais como American Academy of Forensic Science, IACIS, HTCIA,
e IOCE.
Logo as discussões revelaram que de fato existiam muitas semelhanças, sobreposição nas
disciplinas de análise de áudio, vídeo, imagem e que era desejável desenvolver padrões e
harmonizar as operações interdisciplinares. Como resultado o Scientific Working Group on
Digital Evidence (SWGDE) foi criado sob o guarda chuva que cobria os outros "Scientific
Working Groups" sobre DNA (SWGDAM), Questioned Documents (Documentos questionados)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 22/166
(SWGDOC), Trace Evidence (SWGMAT), Drugs (Drogas) (SWGDRUG), Fire and Explosives
(Fogo e Explosivos) (SWGFEX), Fingerprints (Impressões digitais) (SWGFAST) e Imaging
(imagem) (SWGIT).
SWGDE é focado na prática de forense de evidências digitais primeiramente em
laboratório. Entretanto, os documentos gerados por ele são úteis para executar procedimentos em
um laboratório não tradicional ou em campo.
Alguns dos trabalhos do SWGDE exploraram os princípios da forense digital e
desenvolveram definições básicas. Em 1999, o SWGDE adotou uma série de princípios e
definições que o grupo sentiu que eram tão universais o quanto possível. Estes princípios foram
publicados no "Forensic Science Communications" e submetidas em outubro de 1999 ao
"International Organization on Computer Evidence (IOCE). A reunião da IOCE foi feita em
conexão com uma conferência maior, a International High Tech Crime and Computer Forensics
Conference". Os delegados na reunião usaram o material da SWGDE assim como o material
contido no "United Kingdom's Association of Chief Police Officers (ACPO) Best Practice
Guide" (Guia de Boas Práticas da Associação de Chefes de Polícia do Reino Unido) para formar
os princípios da IOCE. Os princípios da IOCE adotaram as definições do SWGDE.
O SWGDE e o ASCLD/LAB American Society of Crime Laboratory Directors
(Associação Americana de Diretores de Laboratórios de Criminalística) propuseram colocar a
evidência digital como uma disciplina amplamente aceita. Foi gerado um documento, o
ASCLD/LAB Manual , importante para reconhecer que evidência digital inclui exame de
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 23/166
vídeo/imagem digital e áudio digital. Cada item no ASCLD/LAB Manual é marcado com um E, I
ou D, que representam "essential" (essencial), "important" (importante) e "desirable" (desejável).
O documento, em discussão, de boas práticas (Best Practices) é projetado para prover
diretrizes para laboratórios os quais tenham ou visam ter unidades de evidência digital
(computador, áudio, vídeo ou imagem digital) aceitas como confiáveis. Este documento pode e
deve ser usado de forma personalizada, sendo que certos itens podem ser documentados como
sendo inaplicáveis em um determinado caso. Partes do documento foram deixadas
propositalmente vagas para permitir às agências a habilidade de determinar internamente as
especificidades.
Há muita discussão a respeito dos termos de credibilidade, certificação e qualificação.
Deve ser observado que o SWGDE não determina credibilidade, certificação, aprovação ou
qualificação a indivíduos ou laboratórios. Para evitar este tipo de confusão o nome do documento
foi dado como "Best Practices for Digital Evidence Laboratory Programs" (Boas Práticas para
Evidência Digital em Programas de Laboratórios).
A respeito do assunto é interessante observar os seguintes materiais:
http://www.fbi.gov/hq/lab/fsc/backissu/july2000/swgroups.htm
http://www.fbi.gov/hq/lab/fsc/backissu/april2000/swgde.htm
http://www.ioce.org/2002/G8%20Proposed%20principles%20for%20forensic%20evidenc
e.pdf
http://www.ascld.org/accreditation.html
http://www.ASCLD-LAB.org/pdf/aslabrevisions.pdf
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 24/166
http://www.ASCLD-LAB.org/aslab08.html
A missão do SWGDE é estabelecer e promover diretrizes e definições para o manuseio de
evidências digitais.
Visando esta missão, a SWGDE tem seis objetivos:
1- Manter juntas as organizações ativamente engajadas na análise e exame de evidência
digital no esforço de legislação das agências ("Law Enforcement Agencies" Agências da Lei)
para a troca e disseminação de informações;
2- Discutir, compartilhar e comparar métodos, protocolos e pesquisa na análise de
evidência digital no esforço de legislação das agências ("Law Enforcement Agencies" Agências
da Lei);
3- Estabelecer diretrizes de garantia de qualidade para a análise de evidências digitais;
4- Cooperar com outros organismos dos EUA e internacionais no desenvolvimento de
diretrizes para a análise de evidências digitais;
5- Servir como um mecanismo para rever e revisar diretrizes para a análise de evidências
digitais;
6- Disseminar as diretrizes das "Law Enforcement Agencies SWGDE" (Agências da Lei),
recomendações e outros produtos de trabalhos para benefício dos membros da "Law Enforcement
Agencies".
Em março de 1998 nos princípios propostos pelo G8 para procedimentos relativos às
evidências digitais, a IOCE (International Organization on Digital Evidence) direcionou-se para
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 25/166
esboçar princípios internacionais relativos a evidências digitais, para assegurar a harmonização
dos métodos e práticas entre nações e garantir a habilidade de usar uma evidência digital coletada
em um estado em um tribunal em um outro estado.
Em março de 2000, o primeiro relatório da IOCE foi apresentado ao sub-grupo, propondo
uma série de definições e princípios em seguida à Conferência Internacional de Crimes de Alta
Tecnologia e Forense (International high-tech crimes and forensics conference) em Londres em
outubro de 1999.
Depois de revistas pelos especialistas do sub-grupo, as seguintes recomendações foram
feitas:
1. Cada estado membro é encorajado a considerar os seguintes princípios ao estabelecer
procedimentos para coleta, preservação e uso de evidência digital, de acordo com sua legislação
nacional, padrões institucionais e para estar ciente das potenciais diferenças ao coletar evidências
conforme o exigido em outros estados.
2. Estes princípios devem ser submetidos a IOCE ou outro padrão nacional, regional ou
internacional tornando instituições e organizações responsáveis pela promoção de procedimentos
relativos a evidência digital para revisão.
3. A IOCE deve desenvolver em consulta com as instituições acima mencionadas um guia
de boas práticas genérico para coleta, preservação e uso de evidência digital, abrangendo a
vastidão de fontes existentes de evidências digitais;
4. O sub-grupo de crimes de alta tecnologia deve revisar regularmente o trabalho da
IOCE.
Aplicação de Técnicasde Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 26/166
Princípios:
- Quando lidar com evidência digital todos os princípios de forense em geral e
procedimentos devem ser aplicados;
- Ao apreender uma evidência digital as ações tomadas não devem modificar a evidência;
- Quando é necessário para uma pessoa acessar a evidência digital original, tal pessoa
deve ter sido treinada para este propósito;
- Toda atividade relativa à apreensão, acesso, armazenamento ou transferência de
evidência digital deve ser completamente documentada, preservada e disponível para revisão;
- Um indivíduo é responsável por todas as ações tomadas com respeito à evidência digital
enquanto a evidência digital estiver em seu poder;
- Qualquer agência, a qual é responsável pela apreensão, acesso, guarda ou transferência
de evidência digital é responsável em conformidade com estes princípios;
Definições gerais relativas à evidência digital
Evidência digital
Informação armazenada ou transmitida em uma forma binária que pode ser fidedigna
(confiável) em um tribunal.
Evidência digital original
Itens físicos e objetos de dados associados a estes itens no momento da apreensão.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 27/166
Duplicata de Evidência Digital
Uma duplicata é uma reprodução precisa de todos os objetos de dados contidos em um
item físico.
Cópia
Uma cópia é uma reprodução precisa da informação contida em objetos de dados
independentemente do item físico original.
O SWGDE (Scientific Working Group on Digital Evidence) é um representante
norte-americano na International Organization on Computer Evidence (IOCE).
Padrões foram apresentados durante a International Hi-Tech Crime and Forensics
Conference (IHCFC), realizada em Londres, de 4 a 7 de outubro de 1999.
Os padrões desenvolvidos pelo SWGDE seguem um único princípio: o de que todas as
organizações que lidam com a investigação forense devem manter um alto nível de qualidade a
fim de assegurar a confiabilidade e a precisão das evidências. Esse nível de qualidade pode ser
atingido através da elaboração de SOPs (Standard Operating Procedures Procedimentos
Padronizados de Operação), que devem conter os procedimentos para todo tipo de análise
conhecida e prever a utilização de técnicas, equipamentos e materiais largamente aceitos na
comunidade científica internacional [10].
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 28/166
O Scientific Working Group on Digital Evidence (SWGDE) foi alterado com o
desenvolvimento de diretrizes interdisciplinares para a recuperação, preservação e exame de
evidência digital, incluindo áudio, imagens e equipamentos eletrônicos.
Um documento foi rascunhado pelo SWGDE e apresentado na "International Hi-Tech
Crime and Forensics Conference (IHCFC)" em Londres em 4 a 7 de outubro de 1999. Seu
propósito é o estabelecimento de traços de evidências digitais entre nações e tem a intenção de
levar a uma discussão construtiva a respeito de evidência digital. Este documento foi adotado
como rascunho padrão pelas agências da lei nos EUA.
A última parte do século vinte foi marcada pelos transistores eletrônicos e as máquinas e
idéias fizeram isso possível. Como resultado, o mundo mudou de analógico para digital. Embora
o computador reine absoluto no reino digital, ele não é o único equipamento digital. Uma
diversidade de equipamentos de áudio, vídeo, comunicações e fotografia estão se tornando
próximos a um computador. Na perspectiva das leis mais informações que podem ser usadas em
tribunais estão sendo armazenadas, transmitidas ou processadas de forma digital. A conectividade
resultante da globalização da economia com empresas fornecendo produtos e serviços é de fato
internacional e tem permitido a criminosos agirem transpondo jurisdições com facilidade.
Conseqüentemente um atacante pode ser trazido a um tribunal em uma jurisdição, enquanto as
evidências digitais necessárias para o processo judicial de acusação ocorrer com sucesso podem
estar em outras jurisdições. Esta situação requer que todas as nações tenham a habilidade de
coletar evidências digitais para suas próprias necessidades e para outras nações. Cada jurisdição
tem seu próprio sistema de governo e administração e sua própria justiça, mas para um país
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 29/166
proteger a si mesmo e seus cidadãos, ele deve estar capacitado a fazer uso de evidências digitais
coletadas por outras nações.
Pensando assim, não é razoável esperar que todas as nações conheçam e concordem com
as leis e regras das outras nações, mas é possível encontrar um meio de permitir a troca de
evidências. Este documento apresentado foi uma primeira tentativa de definir os aspectos
técnicos destas trocas.
O formato do documento foi adotado em acordo com o formato do manual da "American
Society of Crime Laboratory Directors/Laboratory Accreditation Board" (Associação Americana
de Diretores de Laboratórios de Criminalística/Mesa de Aprovação de Laboratórios)
Definições
Aquisição de evidência digital: Inicia quando a informação e/ou itens físicos são
coletados ou guardados para finalidade de análise. O temo "evidência" implica em que o coletor
da evidência é reconhecido em tribunais. O processo de coleta é assumido como sendo um
processo legal e apropriado para as regras de evidência naquela localidade. Um objeto de dados
ou um item físico torna-se evidência quando assim o for julgado por um oficial da lei ou
designado.
Objeto de dados: Objetos ou informação com valor de prova em potencial que são
associados com itens físicos. Objetos de dados podem ocorrer em diferentes formatos sem alterar
a informação original.
Evidência Digital: Informação com valor de prova armazenado ou transmitido de forma
digital.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 30/166
Itens físicos: Itens nos quais objetos de dados ou informação podem ser armazenados
e/ou através dos quais os objetos de dados são transferidos.
Evidência digital original: itens físicos e objetos de dados associados a estes itens no
momento da apreensão.
Duplicata de Evidência Digital
Uma duplicata é uma reprodução precisa de todos os objetos de dados contidos em um
item físico.
Cópia
Uma cópia é uma reprodução precisa da informação contida em objetos de dados
independentemente do item físico original.
Padrões
Princípio 1
Para garantir que a evidência digital é coletada, preservada, analisada ou
transferida de forma a preservar a precisão e confiabilidade da evidência a organizações da
lei e organizações forenses devem estabelecer e manter um efetivo sistema de controle de
qualidade. Padrões de Procedimentos Operacionais (Standard Operating Procedures
SOPs) definem uma diretriz de controle de qualidade documentada que deve ser
personalizada para registrar o caso apropriadamente e usar procedimentos, equipamentos
e materiais amplamente aceitos.
Padrões e critério 1.1
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 31/166
Todas as agências que apreendem ou examinam evidências digitais devem manter
um documento SOP (Standard Operation Processess - Procedimentos Operacionais
Padrão). Todos elementos de umaagência policial e os procedimentos a respeito de uma
evidência digital devem ser claramente determinados neste documento SOP, o qual deve ser
emitido pela autoridade competente da gerência da agência.
O uso das SOPs é fundamental para ambos o legislativo e a ciência forense.
Diretrizes que são consistentes com os princípios científicos e legais são essenciais para a
aceitação dos resultados e conclusões por tribunais e outras agências. O desenvolvimento e
implementação destas SOPs devem ser sob os poderes de uma autoridade competente da
gerência da agência.
Padrões e critérios 1.2
A gerência da agência deve rever as SOPs numa freqüência anual para certificar-se
de que continuam apropriadas e efetivas em vista das mudanças tecnológicas que envolvem
os tipos, formatos e métodos para apreensão e análise de evidências digitais. A revisão
também serve para se assegurar que o pessoal, treinamento, equipamento e procedimentos
continuam apropriados e efetivos.
Padrões e critérios 1.3
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 32/166
Procedimentos devem ser aceitos de uma forma geral em campo ou apoiados por
obtenção de dados e gravados de uma forma científica.
Devido à variedade de procedimentos científicos que podem validamente ser
aplicados a um dado problema, os padrões e critérios para procedimentos de análise
precisam ser flexíveis. A validade de um procedimento deve ser estabelecida pela
demonstração de precisão e confiabilidade de técnicas específicas. Na área de evidência
digitais revisões de SOPs em conjunto com outras agências podem ser úteis.
Padrões e critérios 1.4
A agência deve manter cópias escritas dos procedimentos técnicos apropriados.
Os procedimentos devem ter determinados sua aplicação e finalidade. Elementos
necessários e exigidos tais como hardware e software devem ser listados e os passos
apropriados para o uso devem ser listados ou discutidos.
Quaisquer limitações no uso do procedimento ou no uso ou na interpretação dos
resultados devem estar estabelecidas. O pessoal que usa estes procedimentos deve estar
familiarizado com eles e estarem disponíveis para referência.
Padrões e critérios 1.5
A agência deve usar hardware e software que é apropriado e efetivo para a
obtenção e apreensão ou processo de análise.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 33/166
Embora muitos procedimentos aceitos devam ser usados para efetuar uma tarefa,
considerar a variação entre casos requer que o pessoal tenha a flexibilidade de exercitar o
julgamento em escolher um método apropriado ao problema.
O hardware usado na obtenção e/ou análise da evidência digital deve estar em boas
condições operacionais e ser testado para ter certeza de que opera corretamente. O
software deve ser testado para ter certeza de que produz resultados confiáveis para uso com
a finalidade de obtenção e apreensão e/ou análise.
Padrões e critérios 1.6
Toda a atividade relacionada à obtenção, armazenagem, análise ou transferência de
uma evidência digital deve ser guardada por escrito e deve estar disponível para revisão e
testemunho.
Em geral, a documentação de apoio a conclusões deve ser de tal forma que na
ausência de quem a originou, outra pessoa competente possa avaliar o que foi feito,
interpretar os dados e chegar às mesmas conclusões de quem originou a documentação.
A exigência para as necessidades de confiabilidade requer uma cadeia de custódia
para todos os itens da evidência. A documentação da cadeia de custódia deve ser mantida
para toda evidência digital.
Anotações do caso e registros de observações devem ser feitas de uma forma
permanente. Anotações de próprio punho (à mão) devem ser feitas à tinta, não usando
lápis, embora a caneta (inclusive colorida) deve ser apropriada para diagramas ou para
fazer traços. Quaisquer correções às notas devem ser feitas por um traço único rubricado,
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 34/166
sendo que nada nas informações escritas à mão deve ser sobreposta ou apagada. As
anotações e registros devem ser autenticados por assinaturas à mão, iniciais, assinaturas
digitais ou outras formas de marca.
Padrões e critérios 1.7
Qualquer ação que tenha o potencial de alterar, danificar ou destruir qualquer
aspecto de uma evidência original deve ser feita por pessoal qualificado do ponto de vista
forense.
Como esboçado nos padrões e critérios anteriores, a evidência digital tem valor
apenas se puder ser precisa, confiável e controlada. Um programa de qualidade em forense
consiste em pessoal treinado, equipamento apropriado, software e procedimentos para em
conjunto garantir estes atributos.
2.4 Sistema operacional não mais confiável
Após um incidente de segurança em um host deve-se procurar sempre trabalhar com
binários confiáveis.
Um invasor pode alterar os arquivos binários substituindo-os por códigos maliciosos.
Uma boa execução de procedimentos na preparação pré-incidente, na detecção de um
incidente e na recuperação ajuda a evitar ou minimizar problemas com códigos binários
alterados.
No pré-incidente pode ser calculado o "hash" dos arquivos a serem protegidos, isto pode
ser feito utilizando uma ferramenta de cálculo de verificação com por exemplo o MD5sum e com
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 35/166
ferramentas como o Tripwire. Feito isso, pode-se ter uma verificação periódica com vistas a
detectar alterações dos mesmos arquivos fazendo o cálculo de hash dos arquivos atuais com o
hash que foi anteriormente guardado e, se estiver diferente, o arquivo foi necessariamente
alterado. Já na fase de recuperação, principalmente se a recuperação foi parcial, ou seja, se o
sistema não foi formatado ou instalado em um novo HD e, então, não foi instalado a partir do
zero, o cálculo de hash pode ajudar a saber se os arquivos cruciais do sistema estão com um
cálculo de verificação hash correto o que quer dizer que tem o conteúdo original inalterado.
Um preceito de um programa de hash é que dois arquivos diferentes tenham possibilidade
tendendo a zero de repetir um mesmo resultado de cálculo de hash, mesmo que a diferença seja
de um único bit, ao mesmo tempo, dois arquivos com conteúdos iguais dão o mesmo resultado de
cálculo de hash.
Em alguns ataques até o próprio kernel pode ser alterado e, então, todo o sistema passa a
não ser confiável.
Um atacante pode alterar os seus arquivos binários importantes de forma a modificar a
resposta que deveria ser dada para, por exemplo, filtrar uma resposta e dar outra no lugar e então
ocultar conexões de redes, alterações, processos maliciosos em execução e tudo o mais que a
criatividade dele permitir.
Exemplos:
Se é sabido que é utilizado o netstat para verificar conexões de rede ativas e recentes, o
atacante pode colocar uma versão alterada do netstat onde todas as outras conexões são
mostradas e todas as conexões espúrias que ele desejar podem ser ocultadas por uma resposta
irreal. Se não se sabe que o arquivo binário do nestat está alterado, então se acredita que está tudo
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 36/166
normal. O mesmo pode acontecer com o comando ps, que se alterado pode esconder processos
ativos maliciosos não mostrandoos mesmos na resposta do ps.
O comando ls pode ser alterado para não mostrar arquivos espúrios deixados pelo
atacante.
Nos procedimentos investigativos, ao se usar binários não confiáveis de um host sendo
investigado, pode-se acionar uma armadilha deixada por um atacante e se o usuário ativo estiver
com poderes de super usuário (root ou administrador) talvez venha a disparar uma arma deixada
pelo atacante com a sua própria mão e contra a sua própria máquina ou contra sistemas de
terceiros.
Para usar arquivos binários confiáveis pode ser interessante você tê-los em uma mídia
que não possa ser alterada, como um CD-R, que com o espaço restante queimado é gravável
apenas uma vez. E, deixar esta mídia guardada em um local seguro como em um cofre.
2.5 Proteção da evidência
A proteção da evidência é algo crítico.
. Um investigador de forense computacional experiente vai procurar ter certeza de que um
sistema de computador seja cuidadosamente manuseado para se assegurar de que:
- Nenhuma evidência seja danificada, destruída ou mesmo comprometida pelos
procedimentos usados na investigação;
- Nenhum vírus ou código malicioso seja introduzido em um computador durante a
análise forense.
- A evidência extraída seja adequadamente manuseada e protegida de danos mecânicos,
elétricos ou eletromagnéticos.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 37/166
- Uma cadeia de custódia seja estabelecida e mantida;
- Se for necessário interromper ou interferir nas atividades normais da rede ou sistema
computacional, que seja por uma porção reduzida e limitada de tempo;
- Qualquer informação sigilosa e privativa que seja inadvertidamente obtida durante uma
análise forense e que não fizer parte do objetivo da investigação será eticamente e legalmente
respeitada e não divulgada.
2.6 Cadeia de custódia
Na forense computacional é uma arte obter, guardar e analisar dados a respeito de uma
possível atividade criminal de forma a poder usar as provas obtidas em um tribunal com aceitação
jurídica.
O cuidado na manipulação das provas vem junto com a necessidade fundamental de
documentação de toda a investigação.
Todas as precauções devem ser consideradas e implementadas para se ter a certeza de que
os dados coletados são precisos, verdadeiros, confiáveis e que não foram modificados desde a sua
obtenção e coleta.
A coleta de dados eletrônicos que possam ser usados como provas em atividades ilegais
ou inaceitáveis deve ser feita com grande atenção. Devem ser registradas as informações a fim de
identificar cada pessoa que lidar com as provas, assim como, cada pessoa que tiver acesso às
provas e quando as provas são repassadas de uma pessoa a outra.
Documentar cada passo dado na coleta e processamento dos dados e seguir seus
movimentos, ou seja, identificar cada vez que a mídia de prova mudar de um responsável para
outro, com nome, data, hora, local, motivo e observações. Isto é a cadeia de custódia.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 38/166
Uma boa prática é usar ferramentas confiáveis, salvar os dados em mídia removível e
garantir que estes dados possam ser autenticados desde a sua obtenção e coleta, com métodos de
cálculo de "hash", assinaturas e testemunhas.
2.7 Obtenção e Coleta de dados
Mesmo que não haja a intenção de usar em um tribunal as provas obtidas. Os
procedimentos adotados na coleta de dados devem ser formais e seguindo uma metodologia como
se as provas obtidas fossem para serem usadas em um tribunal. Durante o andamento do caso
outros acontecimentos podem provocar a mudança na intenção de levar o caso a um tribunal.
Todas as informações que sejam relevantes devem ser coletadas. Em determinadas
ocasiões as informações obtidas levarão à descoberta de novas provas e até de novos crimes e
haverá a necessidade de iniciar os procedimentos referentes ao fato novo descoberto.
Muitas vezes é necessário restaurar informações de arquivos apagados ou de mídias
danificadas. Há vários softwares específicos para esta tarefa.
São fontes de informações em potencial:
- A CPU e seus dispositivos internos de registro (cachê e registradores)
- A memória de componentes, tais como placas.
- A Memória RAM
- O tráfego de rede
- As informações voláteis de estado do sistema (processos, usuários logados e conexões
de rede abertas)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 39/166
- dispositivos de armazenagem (Disquetes, HDs, ZIP Drives e outras mídias)
2.8 A decisão de desligar ou não, eis a questão.
Quando se começa a análise forense em um host, não se pode confiar em nada no host.
Deve-se considerar o sistema como estando completamente comprometido, alterado, cheio de
"rootkits" e armadilhas e completamente monitorado por vários atacantes em caso de ser
examinado. Uma das primeiras decisões importantes é determinar se o sistema será desligado e
quando o sistema será desligado.
A decisão chave a respeito do desligamento do sistema deve ser baseada em uma
avaliação a respeito dos dados voláteis que serão perdidos ao se desligar o sistema, a questão de
que o atacante vai perceber imediatamente que a invasão foi detectada e não será mais possível
examinar seu comportamento e até guardar mais provas.
Pode-se obter e guardar os dados voláteis, desligar o sistema e partir para uma duplicação
pericial.
Pode-se manter o sistema ligado, isolar logicamente na rede o sistema, colocar uma
monitoração em nível de rede e guardar mais dados e provas sobre as ações do atacante. Assim,
pode-se conhecer mais o atacante determinando melhor suas habilidades, perfil, técnicas de
ataque, identidade, localização, motivações e ações.
É uma decisão chave.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 40/166
2.9 Duplicação pericial
Duplicação pericial é o procedimento relativo a providenciar uma ou mais cópias de
mídia envolvida em um incidente de segurança.
A decisão sobre fazer ou não uma duplicação pericial é de extrema importância e deve ser
tomada com brevidade.
Os objetivos podem ser:
- Preservar o original intocável;
- Poder restabelecer o funcionamento do "host", mas ter um espelho do conteúdo do
mesmo referente ao momento da duplicação pericial.
- Ter mais de uma cópia para poder entregar usando o conceito de "melhor prova" *
- Poder usar todo o sistema a ser investigado, inclusive inicializando um sistema idêntico
ao original, para fazer investigação e testes de funcionamento sem comprometer os dados na
mídia original;
*Melhor prova: às vezes você não vai poder levar a mídia original a um tribunal, mas
você pode ter uma "melhor prova" como uma cópia de dados em outra mídia ou até impresso em
papel, por exemplo, desde que sejam seguidos procedimentos operacionais de investigação que
montem uma cadeia de custódia que possibilite ao judiciário a garantia suficiente sobre a
veracidade dos dados.
Imagem de disco (disk image)
Uma imagem de disco é um espelho do conteúdo lógico de um drive lógico que é
guardado em um único arquivo. Isto pode ser útil para guardar o conteúdo de todo um drive para
recuperar depois.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 41/166
2.10 Examinando a Rede
Um dos principais sintomas para determinar com precisão que um incidente de segurança
estáacontecendo e o que está acontecendo é o tráfego de rede anormal.
Para verificar o que está acontecendo e separar o tráfego normal do tráfego suspeito,
talvez tudo o que se precise seja de um notebook com alguma distribuição de Linux e examinar a
rede com atenção aos detalhes fazendo uso de algumas ferramentas como as seguintes:
* Tcpdump - http://www.tcpdump.org/ - Um dos principais programas de captura
de pacotes de rede, base para inúmeros outros programas de captura de pacotes de rede. O
tcpdump obtém e guarda ou imprime em tela os cabeçalhos dos pacotes de uma rede que
combinem com uma determinada expressão.
* Snort IDS - http://www.snort.org/ - Um excelente sistema de detecção de intrusões
de rede, open source.
* Ethereal - http://www.ethereal.com/ - Permite capturar e inspecionar graficamente o
tráfego de rede e pode rodar em plataforma Linux ou Windows.
* EtherApe - http://etherape.sourceforge.net/ - Mostra a atividade de rede graficamente.
Hosts e links mudam de tamanho conforme o tráfego. Os protocolos são identificados por cores.
* Tcpreplay - http://tcpreplay.sourceforge.net/ - Permite reenviar à rede pacotes criados a
partir de tráfego capturado anteriormente e guardados em um arquivo pcap numa velocidade
controlada. Ele faz o contrário do tcpdump.
O objetivo principal de conhecer a rede é identificar o comportamento normal do tráfego
e os desvios que por ventura venham a ocorrer.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 42/166
Na forense computacional aplicada a redes há o estudo do tráfego da rede procurando o
que de fato acontece para questões cíveis, criminais e administrativas no intuito de proteger
usuários, ativos de rede e/ou recursos de exploração, invasão e qualquer outro crime ou ato
inaceitável para determinada política de segurança ou legislação.
A monitoração de rede pode ter como objetivos:
- Confirmar ou descartar a ocorrência de um incidente de segurança;
- Acrescentar mais informações à investigação;
- Obter e coletar provas;
- Verificar o escopo de abrangência do incidente;
- Identificar se a rede ou máquina comprometida está sendo ponto de partida para novos
ataques;
- Identificar quais máquinas, redes e ativos de rede foram comprometidos;
- Determinar quais senhas e contas de usuários foram comprometidas;
- Determinar quais senhas e contas de usuários estão sendo usadas pelo atacante;
-Guardar dados e logs de eventos de forma mais segura fora da máquina comprometida;
- Identificar data, hora e atividades de rede suspeitas;
- Determinar quais endereços de IPs estão envolvidos no incidente de segurança;
-Auxiliar a identificação de personagens importantes. Por exemplo, qual IP corresponde à
vítima, ao atacante, a um repositório de ferramentas do atacante, a depósitos de informações
obtidas pelo atacante, etc...
- Determinar e-mails ou sites envolvidos no incidente de segurança;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 43/166
- Avaliar o perfil, forma de agir (modus operandi) e capacidades aparentes do atacante.
- Determinar se há mais atacantes e grupos de atacantes envolvidos.
É crescente o número de protocolos em uso nas redes tornando o trabalho pericial mais
difícil. Para fazer frente ao trabalho duro o investigador deve ter um bom kit de ferramentas. É
grande o valor de se usar a ferramenta certa. Em algumas vezes, torna-se necessário um completo
e complexo programa de segurança com inúmeras funções e em outra ocasião pode ser
interessante ter um kit de centenas de programas, que tem funcionamento leve, bem controlado e
servem exatamente para obter aquilo que se necessita, nem mais nem menos.
A monitoração de rede, assim como todo o trabalho de forense computacional deve ter o
seu objetivo muito bem definido, por exemplo, o que se quer monitorar é:
- o tráfego que chega e sai de uma determinada máquina?
- o tráfego que chega e sai de uma determinada rede?
- um usuário específico?
- tentativas de invasão?
- assinaturas de ataque específicas?
- um protocolo específico?
A monitoração de rede pode ajudar a inocentar ou culpar alguém envolvido em um
incidente de segurança. Por exemplo, um acusado pode ter um programa cavalo-de-tróia em sua
máquina que dá controle total de sua máquina a um atacante qualquer a partir da internet. Assim
o acusado pode fazer uso da "negativa plausível" dizendo que não sabe nada sobre as atividades
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 44/166
ilegais originadas em sua máquina. Se houve monitoração de rede pode ser que seja possível
identificar se o cavalo-de-tróia estava em uso no momento da atividade ilegal, caso contrário
pode ser que o próprio acusado tenha deixado instalado este cavalo-de-tróia para ter uma
desculpa e se eximir de responsabilidades.
Ter um monitor na rede guardando informações do tráfego de redes e que também guarde
cópias dos logs locais das máquinas é uma opção que aumenta a segurança e confiabilidade
destes logs.
A localização de um monitor de rede é crucial em um sistema de segurança. Deve-se
levar em conta o objetivo deste monitor, pois conforme o objetivo será determinada a sua posição
na topologia de rede. Às vezes pode ser necessário usar a função de análise comutada de portas
(espelhamento de portas) (SPAN) que permite que uma única porta do switch receba cópias de
todos os pacotes destinados às outras portas para esta porta.
As etapas principais da análise forense de rede são:
- Capturar o tráfego conforme o objetivo determinado;
- Guardar adequadamente e assinar digitalmente os dados obtidos;
- Reconstruir as sessões suspeitas;
- Interpretar o ocorrido considerando as relações causa e efeito;
Diferentemente de vândalos e pichadores de sites, o atacante de elite e o atacante interno
têm o interesse de não ter sua ação percebida procurando limitar suas atividades àquelas que são:
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 45/166
- normalmente não monitoradas, como o tráfego em portas como 80(web), 110(pop),
25(smtp), etc...
- passíveis de evadir a monitoração, se houver. Por exemplo, podendo ser feito o uso por
tunelamento em outra porta não monitorada;
- difíceis de detectar ao usar um tráfego de forma a parecer com o tráfego normal ou com
uso de técnicas como esteganografia;
- de reprodução difícil, por exemplo, usando criptografia;
- difíceis de atribuir ao endereço IP realmente de origem, ao usar, por exemplo pacotes
UDP ataques distribuídos;
- dificultem a coleta de provas, por exemplo, alterando continuamente as portas;
- facilidade de manter uma negativa plausível ou álibi.
2.11 Cavalos de Tróia e Backdoors
A porta da frente pode não ter sido a entrada e tem possibilidade de não ser a única
entrada viável para um atacante, principalmente após o comprometimento inicial do sistema.
Depois de entrar um atacante pode providenciar novos meios de entrar, normalmente com
o objetivo de facilitar e ocultar ainda mais as ações futuras. Estas entradas implantadas no
sistema são chamadas de portas dos fundos ("backdoors").
Na investigação é bastante importante procurar por indícios de códigos maliciosos que
possam ter sido injetados no sistema com esta finalidade.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 46/1662.11.1 Definição de Cavalo de Tróia
Cavalo de Tróia é um programa destrutivo que se apresenta aparentemente como uma
aplicação benigna.
Diferentemente dos vírus um cavalo de tróia não se replica por si só, mas pode ser tão
destrutivo quanto um vírus.
É comum um programa prometer remover vírus e cavalos de tróia e ao ser executado pode
fazer exatamente o contrário colocando códigos maliciosos como vírus e cavalos de tróia no
computador. Alguns cavalos de tróia podem vir em forma de proteção de tela, por exemplo, um
protetor de tela de um simples gatinho lindo e delicado que fica andando pela sua tela por ter em
seu interior códigos maliciosos de captura de teclas pressionadas em seu teclado (keylogger) ou
que captura a área da tela de cada clique dado por seu mouse (mouselogger), então há sim o
benefício de ter o gatinho divertindo o usuário, mas talvez a partir da próxima vez que for
utilizado um internet banking alguma quadrilha passará a se divertir com os dados de uma conta
bancária, senha, frase secreta e até as imagens com os números na seqüência que foram clicados
no teclado virtual do site do banco.
Na investigação é importante perceber se há rastros de o atacante ter instalado cavalos de
tróia.
2.11.2 BACKDOORs
Uma "backdoor" é um mecanismo sorrateiramente introduzido nos sistema de um
computador para facilitar o acesso não autorizado a este sistema. As "backdoors" podem ser
instaladas para acessar uma variedade de serviços, sendo particularmente interessante as que
oferecem acesso interativo. Estas são as mais freqüentemente instaladas pelos atacantes que
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 47/166
tenham comprometido um sistema para tornar mais fácil o seu retorno ao sistema,
preferencialmente de forma menos visível.
Na perspectiva de monitoração, as backdoors interativas rodam sobre protocolos tais
como Telnet [PR83a], Rlogin [Ka91] ou SSH [YKSRL99] Um exemplo de uma backdoor não
interativa pode ser um servidor SMTP não autorizado para facilitar o envio de e-mails por um
"spammer" e um exemplo parcialmente interativo seria um servidor de FTP ilegal rodando em
porta não autorizada para disponibilização de material ilegal como pirataria ou pornografia
infantil.
Na pesquisa para determinar quais portas TCP estão abertas ou oferecendo serviços pode
ser usando o comando 'netstat'.
Uma atenção especial deve ser dada se for encontrado algum serviço ilícito ou não
autorizado sendo oferecido em porta baixa, ou seja, inferior a 1024. Se isso acontece é porque o
atacante teve acesso a nível raiz.
Um princípio básico para detecção de backdoors é encontrar características indicativas de
atividade de rede suspeita, como acesso interativo, tráfego criptografado ou uso de um protocolo
específico como SSH. A característica mais importante a considerar na detecção de "backdoors"
é a capacidade de diferenciação entre tráfego normal e anormal.
A detecção se torna mais difícil com os atacantes que ativamente procuram se evadir de
uma eventual monitoração e fazem o possível para ocultar suas "backdoors".
A detecção de "backdoors" pode ser com monitoração de rede ativa, injetando pacotes,
ou passiva, evitando provocar quaisquer distúrbios na rede.
Alguns dos tipos comuns de backdoors tem propósito de disponibilizar serviços tais
como:
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 48/166
SSH
Rlogin
Telnet
FTP
Root prompt
Napster
Gnutella
Para critérios de filtragem para detecção de "backdoors" podem ser considerados:
* Tamanho dos pacotes. Muito do conteúdo é digitação e está em pequenos pacotes. A
filtragem para obter apenas os pacotes pequenos tende a reduzir significativamente a carga de
captura dos pacotes em alguns casos.
* Direção. A não ser que o atacante use algum tipo de serviço abrindo no estilo "callback"
normalmente se pode criar critérios de filtragem para procurar por tráfego que é anormal por sua
direção, por exemplo, para detectar o uso de um programa servidor ftp instalado em uma
máquina que deveria ter apenas cliente de ftp.
* Conteúdo dos pacotes. Procurando por palavras ou "strings" que denunciem um tráfego
suspeito, por exemplo, sinais de "prompt" e comandos de linha em uma conexão na porta 80.
Referência: "Detecting Backdoors - Yin Zhang
Department of Computer Science - Cornell University - Ithaca, NY 14853 -
yzhang@cs.cornell.edu - Vern Paxson1 AT&T Center for Internet Research at ICSI
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 49/166
International Computer Science Institute Berkeley, CA 94704 vern@aciri.org
http://www.icir.org/vern/papers/backdoor/ "
2.12 Investigando Ferramentas
2.12.1 Investigando software de código malicioso
É comum o atacante deixar software de código malicioso numa máquina comprometida.
O estudo para entender o funcionamento de qualquer software deixado por um atacante
pode ser importante para:
- Aprender detalhes sobre o funcionamento e criar defesas para os sistemas no futuro;
- Avaliar a capacidade técnica do atacante;
- Determinar a grandeza do comprometimento e dos danos provocados pelo uso do
software;
- Determinar se há o envolvimento de um ou mais atacantes;
- Verificar se o uso do software envolve redes e computadores de terceiros.
Há dois tipos básicos de análise para entender um software de código malicioso, tratam-se
da análise estática e a análise dinâmica.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 50/166
Na análise estática:
- Identificar o tipo de arquivo de que se trata o software, como foi compilado.
Pode-se usar o comando file do Unix.
Digitando-se, por exemplo:
"# file /bin/chmod"
Obtém-se a resposta:
/bin/chmod: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
2.2.5, dynamically linked (uses shared libs), stripped
A resposta para todos os arquivos do diretório, pode ser obtida usando:
# file *
E ter como resposta:
arquivo_export.txt: Bourne-Again shell script text executable
ippg9.txt: ASCII text
arquivo_comp.tgz: gzip compressed data, from Unix
arquivo_teste.txt: ASCII text
arquivo_de_log.log: ASCII text
arquivo_teste_vazio: empty
arquivo_instucoes.txt: ISO-8859 text
mbox: ASCII mail text
arquivo_teste_html.htm HTML document text
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 51/166
É importante observar que o atacante pode mudar o nome do arquivo para usar uma
extensão inócua como .txt, mas se for usado o comando file vai entender que há algo estranho,
por exemplo:
# file nome_inocente*
nome_inocente.txt: ASCII text
nome_inocente2.txt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
nome_inocente3.txt: ASCII mail text
Nota-se que o único arquivo que tem conteúdo realmente de texto ASCII é o primeiro.
O comando file, com baseado no arquivo /usr/share/magic reconhece cerca de 5.000 tipos
diferentes de arquivos
Em plataforma windows um equivalente ao comando file é o "exetype" do NT Resource
Kit.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na InternetDaniel Linhares Lim-Apo
Pág. 52/166
2.13 Procurando dados
A procura por evidências pode ter motivos específicos, como encontrar e-mails (ex.
espionagem industrial interna), logs (atividades indevidas ou ataques), arquivos de navegador
(browser) (histórico, cookies) para investigação sobre mau uso da internet por funcionários,
dados em banco de dados e diversos outros conteúdos eletrônicos
A procura em uma mídia pode ser para obter:
Dados específicos;
- Frases;
- Arquivos;
- Números;
- Palavras chave;
- Outros.
Pode ser necessário ou interessante para o andamento da investigação determinar quando
um arquivo ou dado foi criado, acessado, modificado ou destruído
Muitas vezes os dados podem ser recuperados em:
- Arquivos em estado normal;
- Mídias que foram seriamente danificadas;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 53/166
- Discos ou fitas reformatados;
- Discos que tiveram sua tabela de partição e inicialização alterados.
O tipo de mídia e de plataforma de sistema operacional de onde pode ser necessário
pesquisar ou recuperar dados pode variar muito, então é bom ter um ferramental e experiência
profissional diversificado para poder agir rápido mesmo quando for necessário lidar com uma
mídia ou sistema operacional menos comum.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 54/166
2.14 Obtendo informações em discos
O disco é uma fonte importante de obtenção de evidências em uma análise forense. A
quantidade de informações pode ser muito extensa levando um exame de disco a levar até muitos
dias.
Para a análise forense de sistemas de arquivos é considerável levar-se em conta as
especificidades de:
- Análise sobre cópias (duplicação pericial de baixo nível ou não)
- Uso de assinaturas digitais (visando integridade e autenticidade)
- Preservar os dados na mídia original
- MACTimes (datas de criação, acesso, modificação e deleção)
- Arquivos excluídos
- Mídias danificadas, formatadas ou apagadas
Há duas abordagens principais num exame de disco que são examinar os dados acessíveis
normalmente via sistema de arquivos e obter dados que possam estar inacessíveis ao sistema de
arquivos, seja por estarem danificados ou deliberadamente terem sido ocultados.
É grande o número de formas de esconder e recuperar dados em um disco rígido:
- Mudar a tabela de partições mudando determinadas partições para ocultas;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 55/166
- Marcar como defeituosos setores ou trilhas. Ou, seja, marcar como "bad blocks" áreas
que não estão de fato danificadas;
- Alterar a tabela de partições de forma a não mostrar determinadas partições que de fato
existam;
- Espaços não ocupados pelas partições lógicas na partição extendida, restando uma área
que pode ser usada para armazenar dados;
- É comum haver um espaço de setores não gravados entre o setor da tabela de partições e
o primeiro setor do boot da partição;
- O início do setor que contém o MBR com a tabela de partições tem espaços vazios antes
de seu início, de modo a permitir a guarda de informações ali;
- Conforme o tamanho dos blocos o sistema de arquivos pode não usar os últimos setores,
que, então podem ser usados para a guarda de informações ocultas;
- Algumas partições podem ser deixadas sem um sistema de arquivos, mas conter dados;
- A área de SWAP pode ser usada para guardar dados quaisquer que tipicamente não
deveriam estar na SWAP.
- Os dados vistos via sistema de arquivos como um todo podem ser, em alguns casos, um
mero engodo, para atrair a atenção do investigador, quando na verdade os dados importantes
estão sendo guardados sem o uso deste sistema de arquivos;
- Os espaços alocados para um arquivo podem não estar sendo usados pelo arquivo por
causa da divisão inexata do tamanho dos arquivos em relação ao tamanho dos blocos alocados.
Se um arquivo tem 4352 bytes em um sistema de arquivos com tamanho de bloco de 1024 bytes
ele vai ter alocado cinco blocos (1024+1024+1024+1024+1024), mas vai usar efetivamente
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 56/166
apenas uma parte do último bloco (1024+1024+1024+1024+256). Este espaço que sobrou de 768
bytes pode ser usado para guarda de informações.
2.14.1 Arquivos deletados
Ao ser deletar um arquivo o sistema de arquivos sua referência é removida do sistema de
arquivos, mas os dados referentes a este arquivo continuam no disco por anos até serem
sobrescritos por outros arquivos.
Para fazer uma análise forense uma duplicação pericial buscando arquivos ou fragmentos
de arquivos apagados e também examinar o uso indevido de áreas com informações ocultas é
necessário que esta duplicação pericial ter sido feita em forma de imagem bit a bit do disco
original.
O comando unrm no Linux traz as informações contidas em espaços não alocados, mas é
necessária a atenção em considerar que o uso de espaço daquele alocado mas não usado não será
pego pelo unrm, pois é considerado todo como espaço alocado.
O programa "Lazarus" do TCT (The Coroner's Toolkit) tenta reconstruir arquivos ou
dados a partir de um grupo de dados obtidos. Usualmente estes dados obtidos são fornecidos pelo
"unrm". O "Lazarus" pode ser usado para reconstruir objetos oriundos de outras fontes como da
memória do sistema e da memória swap. Esta ferramenta pode ser usada com dados vindos de
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 57/166
sistemas de arquivos UFS, EXT2, NTFS e FAT32, mas pode ser usada em praticamente qualquer
tipo de sistema de arquivos. O Lazarus pode ser usado para analisar dados obtidos em discos, em
dumps da memória, em áreas de swap e em arquivos core e tentar reconstruir dados agrupando-os
em dados coerentes.
2.15 Sistemas de arquivos NTFS
2.15.1 Sistemas de arquivos NTFS
O Windows é um sistema operacional de larga utilização, mas é desafiador para o
investigador porque se trata de um sistema operacional fechado e de documentação escassa.
É sempre interessante fazer a análise forense de um sistema Windows utilizando um
outro sistema operacional para se ter a certeza de não se alterar dados.
2.15.2 O NTFS
A família FAT de sistemas de arquivos, incluindo FAT12, FAT16 e FAT32 têm sido
utilizada em sistemas operacionais da Microsoft deste a década de 80. Praticamente todos aqueles
que utilizaram um PC são familiarizados com pelo menos o básico destes sistemas de arquivos. O
sistema de arquivos FAT é bom o suficiente para uso doméstico, mas é muito antigo e limitado.
As características de segurança, capacidade e confiabilidade do FAT são insuficientes para a
demanda atual de uso em servidores ou estações de trabalho importante em um ambiente
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 58/166
corporativo. Então a Microsoft criou o "New Technology File System" ou NTFS. OS objetivos
do NTFS eram prover com flexibilidade um sistema de arquivos seguro e confiável.
O NTFS (New Technology File System Sistema de Arquivo de Alta Tecnologia) é o
sistema de arquivos utilizado pelo Windows 2000 de forma nativa. O Windows 2000 suporta
também o sistema FAT oriundo do DOS.
O NTFS foi criado para ser totalmentenovo e não baseado em sistemas FAT, mas ele não
é inteiramente novo, porque sua concepção foi baseada no HPFS ("High Performance File
System" - Sistema de Arquivo de Alta Performance).
o NTFS foi desenhado para atingir alguns objetivos, dentre eles:
- Confiabilidade: Para poder ser recuperado em caso de problemas, sem perda de dados o
NTFS implementa procedimentos para permitir a conclusão de transações importantes de uma
forma integral para evitar perda de dados e para melhorar a tolerância a falhas;
- Segurança e controle de acesso: A maior fraqueza dos sistemas de arquivos FAT é não
ter controle de acesso nativo a arquivos e diretórios para gerenciar quem pode ler, escrever ou
executar determinado arquivo.
- Barreiras de tamanho: Na década de 90 o FAT, no caso o FAT16, era limitado a
partições até 4 GB. O NTFS foi projetado para trabalhar com unidades grandes, já prevendo o
crescimento futuro de unidades de disco, assim como o uso de matrizes "raid";
- Eficiência na guarda de dados: Método novo de alocação de espaço para arquivos para
evitar desperdício de espaço na alocação, como acontecia no FAT16.
- Nomes longos para arquivos: O NTFS permite até 255 caracteres, ao invés dos 8+3 do
FAT convencional;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 59/166
- Rede: Algumas características para facilitar o uso em rede em larga escala são do
sistema operacional em conjunto com o sistema de arquivos NTFS
O investigador deve ter em mente que o sistema de arquivos que está sendo o mais usado,
em estações de trabalho e em servidores é o NTFS.
A Microsoft continuou modificando o NTFS. Novas características foram sendo
adicionadas. O NTFS 5.0 foi introduzido como parte do Windows 2000. Ele é similar em muitos
aspectos ao NTFS usado no Windows NT, mas adiciona várias novas características e
capacidades. Foram corrigidos problemas do NTFS para ajudar e ficar mais estável e mais
respeitado como um sistema de arquivo sério.
2.15.2.1 Versões do NTFS
2.15.2.2 NTFS 1.1 / 4.0
Seu nome oficial é NTFS versão 1.1, mas é também chamado de NTFS 4.0, por ter sido
usado no Windows NT versão 4.0.
2.15.2.3 NTFS 5.0 parte do Windows 2000
As características mais importantes que foram acrescentadas ao NTFS com a versão 5.0
são as seguintes:
- "Reparse Points": Arquivos e diretórios dentro do sistema de arquivos podem ter ações
associadas, então quando o objeto é acessado de uma forma em particular a ação ocorre;
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 60/166
- Segurança melhorada e permissões: Os mecanismos para gerenciamento de segurança
do sistema de arquivos e permissões foram melhorados;
- "Change Journals": Os volumes de disco podem ser configurados para registrar todas as
operações executadas nos arquivos e nos diretórios que contêm;
- Criptografia: NTFS 5.0 permite a você cifrar arquivos e automaticamente decifrar
quando eles forem lidos;
- Cotas de disco: OS administradores podem detectar quando espaço em disco está sendo
usado por usuários ou grupos de usuários e também limitar o espaço se necessário;
- Suporte a arquivos "sparse": Para economizar espaço em disco foi adicionado suporte
para uma armazenagem mais eficiente de arquivos "sparse", os quais são arquivos grandes que
são em sua maioria vazios;
- Desfragmentador de disco: O Windows2000 inclui um programa de desfragmentação de
disco e o Windows NT não incluía. Isto diz respeito à mudança no sistema operacional, mas está
diretamente relacionado ao sistema de arquivos.
2.15.2.4 Explanando sobre o NTFS
Tudo no NTFS é um arquivo. O índice para estes arquivos é a MFT (Master File Table).
A MFT lista o setor de boot ($Boot) localizado no início do disco. O boot ($boot) também lista
onde pode ser encontrada a MFT. A MFT também lista a si mesma.
Localizados no centro do disco, encontram-se mais arquivos de metadados. Os mais
interessantes são $MFTMirr e $LogFile. O espelho do MFT ($MFTMirr) é uma cópia exata dos
primeiros 4 registros da MFT. Se a MFT foi danificada é possível recuperar a partir da cópia
espelho. O arquivo de log é o "journal" de todos os eventos aguardando para ser escritos no disco.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 61/166
Se a máquina teve uma interrupção inesperada, então o arquivo de log é usado para ajudar a
trazer o disco de volta em um estado mais coerente.
Escondido no final do volume há uma cópia do setor de boot (cluster 0). O único arquivo
de metadados que faz referência a este é o $Bitmap e apenas diz que o cluster está em uso.
2.15.2.5 Lista de controle de acesso (Access Control Lists - ACLs) e entradas controle de
acesso (Access Control Entries - ACEs)
O gerenciamento de segurança e acesso aos objetos no NTFS inicia no mesmo lugar onde
tudo começa no NTFS, na "Master File Table" (MFT). O registro MFT para cada arquivo e
diretório em um volume NTFS contém um atributo chamado "security descriptor (SD)" que
contém informação relacionada à segurança e permissões do objeto correspondente.
Um dos mais importantes elementos dentro do "security descriptor" para qualquer objeto
é a configuração de listas dentro dele, às quais determinam que usuários podem acessar o objeto e
de que maneira. Elas são chamadas de listas de controle de acesso (Access Control Lists - ACLs).
Cada objeto em uma partição NTFS tem dois diferentes tipos de ACLs:
- "System Access Control List" (SACL): Esta ACL é gerenciada pelo sistema e é usada
para controlar a auditoria de tentativas de acessar o objeto;
- "Discretionary Access Control List" (DACL): Esta é a ACL usada de fato. Aqui são
guardadas as permissões que controlam que usuários e grupos de usuários têm direitos a que tipos
de acesso ao objeto.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 62/166
Cada entrada em uma ACL é chamada de um controle de acesso ou ACE (Access Control
Entries). Cada entrada contém um "ID code" que é o que identifica o usuário ou grupo ao qual a
ACE é aplicada e então a informação específica sobre as configurações de permissões é aplicada
para aquele usuário ou grupo.
A ACL de cada objeto é uma combinação de várias configurações de controle de acesso
contidas em diferentes ACEs. Um objeto típico deve ter diferentes conjuntos de permissões
determinadas para vários usuários ou grupos. De fato, alguns conjuntos de permissões podem
conflitar entre si, uma vez que os usuários podem ser membros de mais que um grupo e os grupos
podem ter permissões diferenciadas. Quando um objeto é acessado, um processo de resolução de
permissões entra em ação e determina que permissões têm precedência e conseqüentemente
quando uma determinada tentativa de acesso deve ser permitida ou negada.
As ACLs são altamente afetadas pelo modelo de herança particular usado pelo sistema
operacional. O Windows NT usa um modelo de herança estática, o qual determina o padrão de
ACL de um novo objeto a partir da ACL da pasta pai. O Windows 2000 usa um esquema de
herança dinâmica mais avançado que provê um melhor controle sobre como as ACLs para um
objeto funcionam, deixa sub pastas e arquivos ter suas ACLs modificadas automaticamente
quando os ACLs de suas pastas pai mudam e permitem um controle mais fino sobre a herança em
geral. Esta funcionalidade mais avançada pode ser aplicada no Windows NT 4.0 usando o
Service Pack4 e o SCM (Security Configuration Manager).Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 63/166
2.15.2.6 NTFS - Permissões
As listas de controle de acesso Access control lists (ACLs) são usadas para gerenciar
quais usuários e grupos tem acesso permitido a diferentes objetos, arquivos e pastas, dentro de
um volume NTFS. Estas ACLs contêm entradas que especificam que direitos cada usuário ou
grupo tem no acesso ao objeto em questão. Estes direitos de acesso são chamados de permissões.
Quando o Windows NT foi criado, seis diferentes tipos de permissões foram criados para
os objetos NTFS. A interface de usuário do NT foi projetada para permitir associar estas
permissões a objetos. Cada tipo de permissão controla um tipo diferente de acesso a um objeto e
cada uma tem uma letra de abreviação. Estes tipos de permissões são chamados de permissões
especiais, para diferencia-las dos grupos de permissões padrões que são aplicadas em um nível
mais alto.Em alguns casos o significado de uma permissão é o mesmo tanto para arquivos, quanto
para pastas e, em outros, o significado é diferente dependendo se a permissão é aplicada a um
arquivo ou a uma pasta.
As diferentes permissões do NT com suas aplicações a arquivos e pastas são:
Tipo de permissão - Letra de abreviação - Descrição
[Read][R][Ler o conteúdo do arquivo ou pasta]
[Write][W][Modificar o conteúdo do arquivo ou criar novos arquivos ou sub-pastas]
[Execute][X][Executar um programa ou executar conteúdos da pasta]
[Delete][D][Apagar arquivo ou pasta]
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 64/166
[Change Permissions][P][Modificar as permissões do arquivo ou pasta]
[Take Ownership][O][Tornar-se proprietário do arquivo ou pasta]
Há um outro tipo fundamental de permissão, que é "Delete Subfolders and Files". Esta
permissão se aplicada em uma pasta pai dá direito a um usuário de apagar arquivos e pastas
dentro da mesma, ainda que não tenha permissão de apagar nos atributos específicos dos arquivos
e pastas em questão..
Até que o Windows 2000 fosse lançado, as seis permissões básicas eram o mais baixo
nível que o NTFS podia acessar. O Windows 2000 introduziu novas permissões, totalizando
treze: "Traverse Folder / Execute File, List Folder / Read Data, Read Attributes, Read
Extended Attributes, Create Files / Write Data, Create Folders /
Append Data, Write Attributes, Write Extended Attributes, Delete Subfolders and Files,
Delete, Read Permissions, Change Permissions, Take Ownership".
2.15.2.7 Auditoria no NTFS
O NTFS permite aos administradores logar de tudo, desde logins, o uso de impressoras a
erros de sistemas. A auditoria pode ser selecionada para arquivos ou pastas e pode ser para
objetos individuais ou hierarquia de pastas, da mesma forma que as permissões são. Isto pode ser
muito útil na investigação de ações em curso seja de um programa ou de um atacante.
2.15.2.8 Master File Table (MFT)
A formatação de uma partição NTFS resulta na criação da MFT (Master File Table) e de
arquivos de sistema. A MFT contém informações sobre todos os arquivos e diretórios de uma
partição NTFS.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 65/166
Um investigador experiente em um trabalho de análise em forense computacional pode
encontrar dados bastante valiosos no arquivo $MFT.
MFT é provavelmente o mais importante dos arquivos chave do sistema (metadados) que
definem um volume NTFS. A tabela de arquivos mestra (Master File Table - MFT) é o lugar
onde ficam as informações sobre todo arquivo ou pasta em um volume NTFS. A MFT é em
essência uma tabela de banco de dados relacional, contendo vários atributos de diferentes
arquivos.
A MFT é o coração da estrutura de arquivos do Windows NT e 2000. Como qualquer
banco de dados a MFT é uma coleção de registros. Cada registro contém informação sobre como
o sistema deve lidar com o arquivo ou diretório associado com o registro.
A MFT funciona como um ponto de partida e gerenciamento central em um volume
NTFS, como um índice do conteúdo do volume. É como a tabela de alocação do sistema FAT,
mas tem mais informações que apenas uma lista de clusters usados e disponíveis.
Quando qualquer arquivo ou pasta é criado em um volume NTFS, um registro é criado
dentro da MFT. O tamanho de cada registro na MFT é igual tamanho de cluster do volume, mas
com um mínimo de 1024 bytes e um máximo de 4096 bytes. Mas, algumas fontes dizem que o
tamanho de cada registro na MFT é fixado em 1024 ou 2048 bytes.
O sistema usa estes registros MFT para guardar informações a respeito do arquivo ou
pasta. Esta informação tem a forma de atributos. Uma vez que o tamanho de cada registro na
MFT é limitado há diferentes meios de o NTFS guardar os atributos de um arquivo: tanto
atributos residentes que são armazenados no registro MFT ou atributos não residentes são
guardados em registros MFT adicionais ou em extensões fora da MFT.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 66/166
Cada registro MFT contém um cabeçalho com informações básicas descrevendo o próprio
registro:
- Números de seqüência, usados para verificação de integridade;
- Ponteiro para o primeiro atributo do registro;
- Ponteiro para o primeiro byte livre no registro;
- Número do registro em relação ao registro base da MFT, caso não seja o primeiro.
A posição padrão da MFT num sistema NTFS vazio é conforme o seguinte:
[Setor de boot][MFT][espaço livre][mais metadados][espaço livre]
O cabeçalho inicial é seguido por um ou mais
atributos que descrevem as características do arquivo.
Registro da MFT:
[Cabeçalho] [Atributos] [Outros cabeçalhos] [Espaço livre]
Cada item é dividido em duas partes:
um cabeçalho que guarda o tipo do atributo, nome, flags e a localização da parte de dados
do registro, e uma parte de dados onde é armazenada a informação do registro. Há várias
possibilidades para o armazenamento de dados nos registros da MFT.
2.15.2.9 Zona MFT
Para evitar que a MFT seja fragmentada, o Windows mantém um "buffer" ao redor dela.
O NTFS reserva um percentual do volume para uso exclusivo da MFT. Nenhum arquivo pode ser
criado nesta região de "buffer". O tamanho deste "buffer" vai sendo modificado conforme a
utilização do disco for tornando outras áreas como cheias.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 67/166
Um dos fatos mais interessantes sobre o MFT é que algumas vezes guarda os dados reais
do arquivo junto com todos os dados do sistema relacionados ao arquivo. Os dados guardados na
MFT são chamados de dados residentes. Isto tem um significado especial ao se considerar a
segurança a respeito do eventual vazamento de dados sensíveis. É também interessante notar que
não há "file slack" (espaço desperdiçado de armazenamento de dados que existe do final do
arquivo ao final do cluster marcado como sendo alocado para este arquivo que poderia ser usado
por um atacante para guardar dados ou analisado por investigador para obter dados antigos), mas
pode haver outro tipo de folga (slack) chamada de "MFT slack". O conhecimento da existência
de "MFT slack" é de grande importância para o investigador. Há ferramentas de forense
computacional que capturam "file slacks", mas que ignoram os "MFT slacks". Existem
ferramentas especializadas em processar e examinar o arquivo $MFT que é o nome formal do
arquivo MFT. Isto é abordado no curso e ferramentasda empresa New Technologies Armor
http://www.forensics-intl.com/intro.html
O investigador deve saber que ao apagar um arquivo apenas o primeiro bit do registro
MFT é apagado.
Além da MFT, o processo de formatação ainda cria um conjunto de arquivos que contém
meta dados usados para implementar a estrutura do sistema de arquivos. Tais arquivos são
mapeados nos primeiros registros da MFT.
Arquivos de Metadados:
Nome do arquivo - Registro MFT - Descrição
$MFT - 0 - Master File Table
$MftMirr - 1 - Cópia de pelo menos os 4 registros da MFT para recuperação
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 68/166
$LogFile - 2 - Arquivo de log das transações no disco
$Volume - 3 - Número de série do volume, data de criação e a flag "dirty"
$AttrDef - 4 - Se presente, contém definição dos atributos utilizáveis em um volume
$. - 5 - Diretório raiz do volume chamado de "." (ponto). O "." é um diretório comum.
$Bitmap - 6 - Representação do disco indicando que clusters estão em uso.
$Boot - 7 - Aponta para o setor de boot do volume
$BadClus - 8 - Lista de todos os clusters defeituosos no volume.
$Quota - 9 (Windows NT) - Informação de cota
$Secure - 9 (Windows 2000) - Lista de dos "security descriptors" de todos os arquivos do
volume
$Upcase - 10 - Arquivo de 128KB cheio de caracteres maiúsculos usado para comparar e
ordenar arquivos
$Extend - 11 (Windows 2000) - É um diretório que contém os arquivos de metadados
$ObjId, $Quota, $Reparse e $UsnJrnl.
$Objid - __ (Windows 2000) - Ids únicos dados a cada arquivo
$Quota - __ (Windows 2000) - Informação de cota
$Reparse - __ (Windows 2000) - Innformação de "reparse points"
$UsnJrnl - __ (Windows 2000) - "Journaling de criptografia"
$Objid - __ (Windows 2000) - Ids únicos dados a cada arquivo
Um_arquivo - > 24 - um arquivo comum
Uma_pasta - > 24 - uma pasta comum
2.15.2.10 NTFS - Nomenclatura de arquivos
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 69/166
As características de nomenclatura de arquivos regulares no sistema de arquivos NTFS
são as seguintes:
• Tamanho: até 255 caracteres.
• Maiúsculas e minúsculas: As características de as letras estarem
maiúsculas e minúsculas são preservadas, mas o NTFS se referencia aos nomes de
arquivos de forma "case-insensitive" ou seja não diferencia maiúsculas e minúsculas ao
lidar com os arquivos, apenas preserva.
• Caracteres: Os nomes podem conter quaisquer caracteres, incluindo
espaços, exceto os seguintes, que são geralmente usados pelo sistema operacional para
delimitadores ou operadores: ? " / \ < > * | :
Armazenamento Unicode: Todos os nomes no NTFS são armazenados no formato
"Unicode".
2.15.2.11 NTFS - Atributos de arquivos
Todos os atributos de arquivos e pastas no NTFS são arquivados de duas diferentes
formas dependendo das características do atributo, em especial do seu tamanho.
- Atributos residentes - Atributos que requerem um espaço de armazenagem
relativamente pequeno são armazenados diretamente dentro do registro MFT primário. Muitos
dos atributos mais simples e comuns são arquivados dentro do arquivo MFT. De fato, o NTFS
requer que sejam residentes no registro MFT para funcionamento adequado. Por exemplo, o
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 70/166
nome do arquivo e suas data e hora de criação, modificação e acesso são residentes para cada
arquivo.
- Atributos não residentes - Se um atributo requer mais espaço do que é disponível dentro
do registro MFT ele não obviamente é guardado naquele registro. Ao invés disto, o atributo é
colocado em um local separado e um apontador é colocado no MFT para levar à localização do
atributo.
Na prática, apenas os menores atributos podem caber nos registros MFT. Muitos outros
atributos vão ser arquivados de forma não residente.
O NTFS tem um número predefinido de atributos, chamados de "system defined
attributes" (atributos definidos pelo sistema). Alguns são associados com um ou mais tipos de
estrutura.
Os atributos definidos pelo sistema mais comuns do NTFS são:
Attribute List: Este é um meta-atributo: Um atributo que descreve outros atributos. É
necessário para um atributo ser feito como não residente. Este atributo é colocado no registro
MFT original para agir como apontador para o atributo não residente;
Bitmap: Contém o bitmap de alocação de clusters. É usado pelo arquivo de metadados
$Bitmap
Data: Contém os dados do arquivo. Por padrão, todos os dados em um arquivo são
armazenados em um único atributo de dados, mesmo se este atributo for quebrado em muitos
pedaços devido ao seu tamanho, este ainda continua sendo um único atributo, mas podem ser
múltiplos atributos de dados para aplicativos especiais.
Extended Attribute (EA) and Extended Attribute Information: Estes são atributos
especiais que são implementados para compatibilidade com o OS/2.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 71/166
File Name (FN): Este atributo guarda um nome associado a um arquivo ou pasta. Note
que um arquivo ou pasta pode ter múltiplos atributos de nome de arquivo para permitir armazenar
o nome "regular" do arquivo junto com um nome no formato curto MS-DOS e também hard links
do tipo POSIX de múltiplos diretórios.
Index Root Attribute: Este atributo contém o índice de arquivos contidos em uma pasta
ou parte de um índice se for muito grande. Se a pasta é pequena o índice inteiro vai caber no
registro MFT, mas se for muito grande alguma informação fica aqui e o restante é armazenado
em atributos externos.
Index Allocation Attribute: Se uma pasta é muito grande para caber no atributo "index
root attribute" o registro MFT para a pasta vai conter este atributo com apontadores para as
entradas que contém o restante da informação de índice da pasta.
Security Descriptor (SD): Este atributo contém informação de segurança que controla o
acesso a um arquivo ou pasta. Listas de controle de acesso (Access Control Lists - ACLs) e dados
relacionados são armazenados neste atributo. A propriedade do arquivo e as informações de
auditoria também são armazenadas aqui.
Standard Information (SI): Contém a informação padrão para todos os arquivos e
diretórios. Isto inclui propriedades fundamentais tais como "date/time-stamps" para quando o
arquivo foi criado, modificado e acessado. Também contém os atributos padrão do tipo FAT
usualmente associados a um arquivo (Por exemplo, se é apenas leitura, oculto e outros).
Volume Name, Volume Information, and Volume Version: Estes três atributos
guardam o nome, versão e outras informações sobre o volume NTFS. É usado pelo arquivo de
metadados $Volume.
2.15.2.12 NTFS - Arquivos e armazenamento de dados
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 72/166
Como a maioria dos sistemas de arquivos a unidade fundamental de armazenamento do
NTFS pela perspectiva do usuário é o arquivo. O arquivo é apenas uma coleção de dados e pode
conter de tudo: programas, arquivos de texto, clipes de áudio e/ou vídeo, registros de banco de
dados e centenas de outros tipos de conteúdo. O sistema operacional não distingue entre tipos de
arquivos. O uso de um arquivo em particular depende em como ele é interpretado pelas
aplicações que o usam.
No NTFS não há distinção especial entre os dados em um arquivo e os atributos que
descrevem o arquivoe todos os arquivos são guardados da mesma forma, como uma coleção de
atributos. Isto inclui os dados por si, que é tratado como um outro atributo (data attribute). Para
entender o funcionamento do NTFS a ponto de se trabalhar com uma análise forense consciente é
necessário entender o funcionamento da arquitetura do NTFS e, em especial, a MFT (Máster File
Table), juntamente com o conhecimento a respeito dos atributos residente e não residentes do
NTFS.
A forma como os dados são armazenados no NTFS depende do tamanho do arquivo. A
estrutura básica de cada arquivo está de acordo com as seguintes informações que são
armazenadas em cada arquivo:
Header (H): O cabeçalho na MFT é um conjunto de dados de gerenciamento de baixo
nível usados pelo NTFS para gerenciar a pasta. Ele inclui números de seqüência usados
internamente pelo NTFS e apontadores para os outros atributos e espaço livre dentro do registro
MFT. O cabeçalho é parte do registro MFT, mas não é um atributo.
Standard Information Attribute (SI): Ver descrição acima, em atributos.
File Name Attribute (FN): Ver descrição acima, em atributos.
Data (Data) Attribute: Contém os dados do arquivo. Ver detalhes em atributos.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 73/166
Security Descriptor (SD) Attribute: Ver descrição acima, em atributos.
Se um arquivo é pequeno o suficiente para que todos os seus atributos caibam dentro do
registro MFT para o arquivo, então o arquivo é armazenado integralmente dentro da MFT.
Quando isto ocorre depende completamente do tamanho dos registros MFT usados no volume. Se
o arquivo é muito grande para todos os atributos caberem no registro MFT, o NTFS inicia uma
série de expansões que movem os atributos para fora da MFT e faz deles atributos não residentes.
A seqüência de passos é mais ou menos assim: O NTFS tenta guardar integralmente o arquivo na
entrada na MFT, isso só vai acontecer com sucesso com arquivos extremamente pequenos. Se o
arquivo é muito grande para caber na MFT, o atributo de dados (data attribute) torna-se não
residente. A entrada para o "data attribute" na MFT contém apontadores para "data runs",
também chamados de "extends", que são blocos de dados armazenados em seções contínuas no
volume fora da MFT.
O arquivo pode tornar-se tão grande que não haja espaço no registro MFT nem mesmo
para a lista de apontadores no atributo de dados. Se isto acontece, a lista de apontadores do
atributo de dados é tornada ela mesma não residente. Assim como um arquivo que não tem
atributo de dados em seu registro MFT principal, ao invés disso, um apontador é colocado no
registro MFT principal para um segundo registro MFT que contém a lista de apontadores para os
dados "data runs".
O NTFS continua expandindo sua estrutura flexível para arquivos grandes que são
criados. Ele pode multiplicar registros MFT se necessário para guardar um grande número de
apontadores para diferentes dados "data runs". Quanto maior o arquivo, a estrutura de
armazenamento se torna mais complexa.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 74/166
Os dados "data runs" (extends) são onde estão a maioria dos arquivos de dados em um
volume NTFS. Eles consistem em blocos contínuos de "clusters" no disco. Os apontadores no
atributo de dados para o arquivo contém uma referência do início e o número de clusters no "data
run". O ponto de partida de cada "data run" é identificado usando um número de cluster virtual
(VCN - virtual cluster number). O uso de um esquema apontador+tamanho significa que no
NTFS não é necessário ler cada "cluster" do arquivo na ordem para determinar onde o próximo
no arquivo está localizado. Este método reduz a fragmentação de arquivos se comparado com o
sistema FAT.
Capítulo III - FERRAMENTAS
3.1 F.I.R.E. Linux
3.1.1 F.I.R.E. Linux (Forensic and Incident Response Environment)
O nome completo é "Forensic and Incident Response Environment Bootable CD" que
significa CD com boot de inicialização com ambiente forense e de resposta a incidentes.
Informações e o download do programa podem ser obtidas em:
URL: http://biatchux.dmzs.com/
As informações desta parte foram traduzidas a partir da versão em inglês no site
http://biatchux.dmzs.com/
O F.I.R.E. é software livre podendo ser copiado, modificado e distribuído sob os termos
da licença GNU da Free Software Foundation.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 75/166
Trata-se de uma distribuição de Linux com ferramentas de segurança e um menu de
sistema feito para tornar fácil o seu uso. Para usá-lo não é necessário mudar nada no computador,
então pode ser experimentado em qualquer computador sem maiores preocupações.
O F.I.R.E. foi criado e é mantido por William Salusky.
Dentre outras coisas o F.I.R.E. pode ser usado para:
- Coletar dados de um host potencialmente comprometido e fazer uma análise forense;
- Responder a um incidente de segurança usando arquivos binários confiáveis;
- Recuperar dados de partições perdidas;
- Efetuar uma checagem procurando por vírus em discos rígidos em um ambiente limpo
de vírus;
- Realizar um teste de penetração ou uma avaliação de vulnerabilidades.
3.1.2 Comparando o F.I.R.E. com algumas outras distruições baseadas em CD ou em
disquete
Knoppix
* Knoppix oferece uma quantidade enorme de aplicações e uma detecção de hardware
excelente, mas o F.I.R.E. oferece mais ferramentas relevantes ao especialista em segurança.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 76/166
Trinux
* Trinux pode ser inicializado a partir de um disquete e pode rodar em computadores
muito antigos, mas o F.I.R.E. inclui mais ferramentas por padrão e um servidor X opcional que
permite rodar softwares disponíveis apenas em versões GUI ("Graphical User Interface" -
Interface gráfica do usuário).
PLAC
* PLAC é uma boa coleção de ferramentas de segurança em um CD-ROM, mas F.I.R.E.
tem um menu de sistema que torna muito fácil o uso e é especializado em recuperanção de dados
e análise forense e é desenvolvido ativamente.
3.1.3 Plataforma necessária
O F.I.R.E. exige um PC compatível com Intel x86 com pelo menos
48MB de RAM.
Para usar o sistema de janelas X (X Window System) sua placa de vídeo
e monitor deve suportar resolução de 800x600 pixels e "VESA frame buffer"
e, você deve ter um mouse, é claro.
Licença do F.I.R.E
Basicamente, pode ser usado e copiado como se quiser, mas deixando os créditos onde
estão.
O F.I.R.E é distribuido sem nenhuma garantia.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 77/166
O F.I.R.E. é distribuído em um arquivo de imagem de CD .iso o qual você pode fazer o
download e gravar em um CD-ROM.
É importante ter muita atenção ao verificar a integridade do arquivo recebido. Para este
trabalho, devido ao cuidado com a confiabilidade e integridade dos dados do arquivo de imagem,
foi obtido o arquivo de diferentes fontes ("mirrors" - sites espelho) oficiais checadas com hash
MD5. As imagens não eram cópias fiéis, pois a resposta de MD5SUM era diferente. Para uma
verificação mais aprofundada foram obtidas diferentes imagens do arquivo para máquinas e redes
totalmente diferentes e a resposta MD5SUM apresentava um resultado diferente para os
diferentes servidores "mirrors". Isto pode ser causado por problemasna transmissão (download)
do arquivo ou o arquivo no servidor "mirror" pode não estar íntegro. Como um servidor e uma
rede na internet estão sempre sujeitos a falhas de disponibilidade e a incidentes de segurança,
muitas vezes inteligentes e complexos há que se cuidar. Ao se lidar com uma ferramenta de
segurança como esta e principalmente levando-se em conta o uso importante que se fará dela é
crítico e necessário fazer uma verificação simples como esta ou pode-se ter uma ferramenta
produzindo resultados incorretos e perigosos.
A versão atual (em 16/maio/2004) é a 0.4a, diponível em:
http://prdownloads.sourceforge.net/biatchux/fire-0.4a.iso?download (578M iso image)
3.1.4 F.I.R.E. Linux Pacotes disponíveis
3.1.4.1 Ferramentas incluídas no F.I.R.E
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 78/166
É extensa a lista de ferramentas, com 196 pacotes disponíveis, sendo que algumas das
ferramentas mais populares são:
* Nessus, Nmap, whisker, hping2, hunt, fragrouter
* Ethereal, Snort, tcpdump, ettercap, dsniff, airsnort
* chkrootkit, F-Prot
* tct, tctutils, Autopsy
* Testdisk, fdisk, gpart
* SSH (client and Server), VNC (client and server)
* Mozilla, ircII, mc, Perl, biew, fenris, gpg
Conjuntos de pacotes (não estão listados todos os pacotes):
- Sistema operacional base (Base OS) (38 Pacotes)
- Forense / Recuperação de dados (Forensics/Data Recovery) (51 Pacotes)
- Resposta a Incidentes (Incident Response) (53 Pacotes)
- Teste de penetração (Pen-Test) (133 Pacotes)
- Binários linkados estaticamente (Static Linked Binary) (5 Pacotes)
- Anti-Vírus (Virus Scanning) (1 Pacotes)
Sistema operacional base Base OS (38 pacotes). Abaixo seguem nomes, descrições e tipo de
licença:
bsed - Editor de "binary stream" - GNU Licença Pública Geral General Public License
(GPL)
burneye v1.0 - Programa de criptografia "burneye ELF", x86-linux binary - GNU General
Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 79/166
cgrep v8.13 - Mostra o contexto de padrões que combinam encontrados em arquivos.
Cgrep provê todas as características de grep, egrep e fgrep - GNU General Public License (GPL)
cpio - GNU cpio copia arquivos para dentro ou para fora de um arquivo cpio ou tar. O
arquivo pode estar em outro arquivo no disco, numa fita magnética ou num "pipe". - GNU
General Public License (GPL)
curl v7.10.4 - Curl é uma ferramenta para transferir arquivos com sintaxe URL,
suportando FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE e LDAP. Curl suporta
certificados HTTPS, HTTP POST, HTTP PUT, upload via FT, kerberos, formulário HTTP de
upload, proxies, cookies, autenticação usuário+senha, reinício (resume) em transferência de
arquivo, tunelamento http proxy e vários outros truques úteis. - GNU General Public License
(GPL)
di v3.8 (disk info) - 'di' é um utilitário de informação de disco, mostrando tudo (e mais)
que o seu comando 'df' mostra. Ele tem a característica de mostrar o uso de disco em qualquer
formato que se queira. - di License
echoping - echoping é um pequeno programa para testar (aproximadamente) a
performances de um host remoto enviando a ele pacotes TCP echo (ou outros protocolos). - GNU
General Public License (GPL)
expect v5.32.2 - Expect é uma ferramenta para automatizar aplicações interativas como
telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect é também útil para testes destas mesmas
aplicações. - GNU General Public License (GPL)
fdisk - fdisk - ferramenta de particionamento em geral - GNU General Public License
(GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 80/166
gentoo v0.11.34 file manager - gentoo é um moderno, poderoso, flexível e altamente
configurável gerenciados de arquivos para sistemas UNIX, escrito usando o GTK+ toolkit. De
acordo com os autores o gentoo é 100% configurável graficamente não sendo necesário editar
arquivos de configuração na mão e então restartar a aplicação. Gentoo é um tanto inspirado no
seu visual e usabilidade no clássico programa DirectoryOpus 4 da Amiga, mas não é um clone. -
GNU General Public License (GPL)
gpg v.1.2.1 - GnuPG ou GNU Privacy Guard é uma ferramenta GNU para comunicação
segura e guarda de dados. Pode ser usado para cifrar dados e criar assinaturas digitais. Inclui um
gerenciamento de chaves avançado e é acordado com o proposto no padrão OpenPGP Internet
como descrito na RFC 2440. Assim como, é apontado como sendo compatível com o PGP da
NAI Inc. - GNU General Public License (GPL)
Java JRE v1.4 - Ambiente run time do Java da Sun - GNU General Public License (GPL)
lha - lha é um arquivador lzh - GNU General Public License (GPL)
links v0.9x - Links é um browser baseado em ambiente texto com suporte a tabelas
HTML e frames. - GNU General Public License (GPL)
lsof v4.66 - Lsof lista arquivos abertos - GNU General Public License (GPL)
lufs v0.8.3 - Suporte a sistemas de arquivos de usuários linux: sshfs, localefs, gvfs, ftpfs,
cefs - GNU General Public License (GPL)
macchanger v1.3.0 - Muda o seu "mac address" (endereço de mac). - GNU General Public
License (GPL)
mc - Interface de commando do Midnight. - GNU General Public License (GPL)
minicom v2.00 - Programa de comunicação Unix. - GNU General Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 81/166
Mozilla v0.9.8 - Mozilla é um browser open-source projetado em conformidade com os
padrões, performance e portabilidade. - GNU General Public License (GPL)
partimage v0.6.2 - Partition Image é um utilitário Linux/UNIX o quell salva partições de
muitos formatos para um arquivo de imagem. (Não parece ser forense, mas bom para o trabalho
de recuperação de um sistema) - GNU General Public License (GPL)
perl 5.8.0 - Compilado com o suporte para arquivos maiores que 2G, incluindo um
including a grupo de módulos perl úteis para o boot. - GNU General Public License (GPL)
ppp - Suporte ao ppp. - GNU General Public License (GPL)
radmind v0.9.2 - Daemon de administração remota. - UMich BSD Style License
rlogin - rlogin - GNU General Public License (GPL)
rpcinfo - Listando o RPC - GNU General Public License (GPL)
secure-delete v2.3 - Utilitários de deleção segura - sswap, srm. - GNU General Public
License (GPL)
snmputils - Utilitários SNMP - GNU General Public License (GPL)
Sonar v1.0BETA4 - Sonar é um utilitário de reconhecimento de rede que roda todas as
buscas a partir de plugins. Os plugins atualmente suportados são ICMP scan e um ACK scan o
qual pode ver se hosts que não respondem a ICMP estão online. Mudanças: Esta versão conserta
alguns bugs. O scan de ICMP foi tornado mais versatile, permitindo a escolha do tipo e código
ICMP. - GNU General Public License (GPL)
sshd v3.1p1 - Esta é a versão com patch aplicado do RedHat's. Sim... Isto está atualizado e
não é vulnerável atualmente (03/06/2004) a exploits. baseados em RedHat's rpm. (até que o
próximo exploit de ssh for encontrado é claro!) - GNU General Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 82/166
tcpdump v3.7.1 - Tcpdump permite a captura de tráfego em uma rede. Pode ser usado
para imprimir os cabeçalhos dos pacotes em uma interface de rede que combine com uma
determinada expressão. Esta ferramenta pode ser usada para investigar problemas de rede,
detectar ataques de ping oumonitorar as atividades na rede. - BSD License
telnetd - Telnetd é o daemon de telnet. - GNU General Public License (GPL)
TestDisk v4.4 - Ferramenta para checar e recuperar (undelete) partições. Funciona com as
seguintes partições: - FAT12 FAT16 FAT32 - Linux - Linux SWAP (versão 1 e 2) - NTFS
(Windows NT) - BeFS (BeOS) - UFS (BSD) - Netware - ReiserFS - GNU General Public
License (GPL)
tftpd - tftpd - Daemon de tftp - GNU General Public License (GPL)
upx v1.24 - "the Ultimate Packer for eXecutables" - GNU General Public License (GPL)
w3m v0.4.1 - Browser baseado em ambiente de texto e Pager. - MIT License
webfsd v1.19 - Daemon de servidor web bom e enxuto. - GNU General Public License
(GPL)
wipe v2.0 - Wipe é um utilitário seguro de limpeza de arquivo. - GNU General Public
License (GPL)
Forense / Recuperação de dados (Forensics/Data Recovery) (51 Pacotes). Abaixo seguem
nomes, descrições e tipo de licença:
AIDE v0.9 - AIDE (Advanced Intrusion Detection Environment) (Ambiente de detecção
de intrusão avançado) é um substituto livre para o Tripwire. Faz o mesmo e algo mais que a
versão semi-livre do Tripwire. - GNU General Public License (GPL)
Argus - O Audit Record Generation and Utilization System (Sistema de auditoria e de
gravação de geração e utilização) de rede. O projeto Argus Open Project é focado no
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 83/166
desenvolvimento de atividades de estratégias de auditoria que podem fazer o trabalho de verdade
para o arquiteto de rede, administrador e usuário de rede. - Quosient public license
Autopsy v1.7.1 - O Autopsy Forensic Browser é um utilitário gráfico baseado em
interface HTML para o The Sleuth Kit e utilitários padrão do UNI. Autopsy automatiza muitas
das tarefas necessárias durante um análise forense digita usando a coleção TASK de poderosas
ferramentas de comando de linha como base. Uma vez que esta interface gráfica é separada das
ferramentas do sistema de arquivos
Um investigador pode ainda usar uma interface de commando de linha se o Autopsy não
puder dar o resultado desejado. - GNU General Public License (GPL)
biew v5.3.2 - BIEW- é um visualizador de arquivos avançado, livre, portável e com um
editor interno para modos binário, hexadecimal e disassembler. - GNU General Public License
(GPL)
bsed - Editor de "binary stream" - GNU General Public License (GPL)
bwplot - Plota informação sobre pacotes capturados. - GNU General Public License
(GPL)
chkrootkit v0.40 - Chkrootkit é uma ferramenta para localmente checar sobre sinais de um
rootkit. - chkrootkit license
CmosPwd v4.2 - Recuperador de senhas de CMOS que trabalha com as seguintes BIOS -
ACER/IBM BIOS - AMI BIOS - AMI WinBIOS 2.5 - Award 4.5x/4.6x - Compaq (1992) -
Compaq (New version) - IBM (PS/2, Activa, Thinkpad) - Packard Bell - Phoenix 1.00.09.AC0
(1994), a486 1.03, 1.04, 1.10 A03, 4.05 rev 1.02.943, 4.06 rev 1.13.1107 - Phoenix 4 release 6
(User) - Gateway Solo - Phoenix 4.0 release 6 - Toshiba - Zenith AMI - GNU General Public
License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 84/166
cryptcat - Netcat com criptografia habilitada. - GNU General Public License (GPL)
dcfldd - (or edd, enhanced dd) - Ferramenta com o comando dd original acrescido de
calculador de hash MD5 interno. Trabalho de desenvolvimmento concluído pelo DoD Computer
Forensics lab. - GNU General Public License (GPL)
Disk Investigator (win32) - Visualizador de disco. - GNU General Public License (GPL)
dsniff tools v2.3 - Dsniff é uma coleção de ferramentas para auditoria de rede e testes de
penetração. Dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, e webspy monitoram passivamente
uma rede procurando por dados interessantes (senhas, e-mail, arquivos, etc.). Arpspoof, dnsspoof,
e macof facilitam a interceptação do tráfego de uma rede normalmente não disponível para um
atacante (ex, devido a switch de camada 2). Sshmitm e webmitm implementam um ataque
monkey-in-the-middle ativo diante de SSH redirecionado e sessões HTTPS explorando fraquezas
nas conexões em PKI ad-hoc. - GNU General Public License (GPL)
editreg - Comando de linha Linux para examinar registros de windows. - GNU General
Public License (GPL)
ethereal v.0.9.11 - Ethereal é um analisador de protocolos de rede para Unix e Windows.
- GNU General Public License (GPL)
fatback v1.3 - Ferramenta desenvolvida pelo DoD Computer Forensics Lab para
recuperar (undelete) arquivos de sistemas de arquivos FAT. - GNU General Public License
(GPL)
fenris v0.3 - Fenris é um traceador de múltipos propósitos, analizador "stateful" e
descompilador na pretendendo simplificar, mas tracear um erro (bug), auditoria de segurança,
código, algorítimo, análise de protocolo e forense computacional provendo um programa de
traceamento estruturado, informação geral sobre construções internar, caminhos de execução
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 85/166
(paths), operações em memória, entrada e saída (I/O), expressões de informação condicional e
muito mais. - GNU General Public License (GPL)
foremost v0.64 - Pesquisa por um arquivo de imagem para encontrar arquivos usando
usando informações de cabeçalho(header information). - GNU General Public License (GPL)
FTimes v3.2.1 - FTimes (a.k.a ftimes) é um sistema base e coleção de ferramentas de
evidência. O propósito primário de FTimes é recolher e/ou desenvolver informação sobre
diretórios especificados de forma a conduzir uma análise de intrusão. - GNU General Public
License (GPL)
gpart 0.1h - Gpart é uma ferramenta que tenta obter a primeira partição da tabela do disco
rígido do PC no caso deste estar danificado, incorreto ou apagado. A tabela achada pode ser
escrita em um arquivo ou dispositivo. - GNU General Public License (GPL)
hbd v0.2.3 - O decompilador HomeBrew Java (HomeBrew Java decompiler). - GNU
General Public License (GPL)
hexedit v1.2.1 - Editor hex baseado em "ncurses" - GNU General Public License (GPL)
LDE - Linux Disk Editor v2.5 - LDE permite ver e editar blocos de discos como
hexadecimal e/ou ASCII, ver/navegar entradas de diretórios e ver e editar inodes formatados.
Muitas das funções podem ser acessadas usando cursos de interfaces de programas ou por linhas
de comando, tornando possível automatizar itens com seus próprios scripts. - GNU General
Public License (GPL)
logdump v1.0 - Extrai entradas no formato do "syslog" de arquivos salvos pelo
"tcpdump". - GNU General Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 86/166
MAC Daddy - Verificador dos tempos de MAC em forense de resposta a incidentes. Esta
ferramenta é uma versão modificada dos dois programas "tree.pl" e "mactime" do kit "the
Coroner's Toolkit" de Dan Farmer e Venema Weiste. - GNU General Public License (GPL)
mac-robber v1.0 - Mac-robber é um programa de resposta forense a incidentes que coleta
tempo de Modificações, Acessos e Mudanças (MAC) de arquivos. Sua saída pode ser usada
como entrada para a ferramenta "mactime" do "The Coroner's Toolkit (TCT)" para fazer uma
linha de tempo da atividade do arquivo. O "mac-robber" é similar em funcionamento à
ferramenta "grave-robber" com a opção '-m', excepcionalemente ele é escrito em C e não em
Perl. Este trabalho foi feito por @stake - GNU General Public License (GPL)
md5deep v0.16 (linux & win32) - md5deep É um programa multi-plataforma paracomputar mensagens MD5 agrupadas em um número arbitrário de arquivos. - GNU General
Public License (GPL)
memfetch v0.04b - Processador para fazer imagens conforme demanda "dump on-
demand" () em Linux. - GNU General Public License (GPL)
ngrep v1.40 - É uma poderosa ferramenta de trabalho de captura de pacotes, a qual
esforça-se em prover a maioria das características da ferramenta "GNU grep", aplicando-as a todo
o tráfego da rede. - Outra licença proprietária com código fonte
ol2mbox - libPST v1.0.4 - libDBX v1.0.3 - Fornece bibliotecas e aplicativos para a
conversão de arquivos do Outlook e do Outlook Express para o formato MBOX do Linux. -
GNU General Public License (GPL)
partimage v0.6.2 - Partition Image é um aplicativo do Linux/UNIX que salva partições em
vários formatos de arquivos de imagem. (Não parece forense, mas é bom para o trabalho de
recuperação de sistemas) - GNU General Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 87/166
perl 5.8.0 - Compilado com suporte para arquivos maiores de 2G, incluindo um grupo de
módulos perl úteis para inicialização ("boot"). - GNU General Public License (GPL)
photorec v1.0 - PhotoRec é uma pequena ferramenta utilizada na recuperação de imagens
da memória de câmeras digitais. - GNU General Public License (GPL)
pwl9x v0.07 - Leitor de Listas de Senhas Windows 9x é um programa que permite ao
usuário ver senhas contidas em seu banco de dados pwl do Windows. É possível checar a
segurança desse arquivo tentando recuperar a senha principal usando força bruta. - GNU
General Public License (GPL)
rda v0.2.1 - RDA é uma ferramenta de computação forense para obter dados
remotamente. - GNU General Public License (GPL)
rec (reverse engineering compiler) - Compilador para engenharia reversa. - Outra licença
proprietária com versão de experimentação.
ree v1.3 - ree significa ROM extension extractor - procura em sua memória em /dev/mem
por extensões "ROM" e as escreve em arquivos de saída. Extensões ROM são "BIOSes" as quais
residem em chips ROM no computador. - GNU General Public License (GPL)
snort v2.0 (inline) - Snort! Excelente programa de detecção de intrusões e de atividades
maliciosas. - GNU General Public License (GPL)
ssldump v0.9b3 - ssldump é uma analizador de protocolo de rede SSLv3/TLS. Identifica
conexões TCP na interface de rede escolhida e tenta interpretá-los. Quando identifica o tipo
SSLv3/TLS, decodifica os registros e indica-os em um formulário textual para saída. Se
alimentado com o material de chave apropriado, irá provavelmente decifrar as conexões e
apresentar os dados de aplicação do tráfego. - GNU General Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 88/166
StegDetect v0.5 - Stegdetect é uma ferramenta automatizada para detectar o conteúdo de
esteganografia nas imagens. É capaz de detectar diversos métodos de esteganografia diferentes
para embutir a informação escondida em imagens do JPEG. Atualmente, os esquemas detectáveis
são "jsteg", "jphide" (Unix e Windows), "invisible secrets", e "outguess 01.3bis". - BSD License
tcpdstat - Proporciona uma informação sumária de um arquivo tcpdump. O tcpdstat lê este
arquivo utilizando a biblioteca do pcap e imprime as estatísticas de um traçado. A saída inclui o
número de pacotes, a taxa média e o desvio padrão, o número de origens únicas e o endereço de
destino dos pares e a quebra dos protocolos. - GNU General Public License (GPL)
tcpdump v3.7.1 - O Tcpdump permite que você obtenha e guarde em formato "dump" o
tráfego em uma rede. Pode ser usado para imprimir os cabeçalhos dos pacotes de uma interface
de rede que combinem com uma dada expressão. Pode-se utilizar essa ferramenta para detectar
problemas da rede, para detectar ataques de "ping" ou para monitorar as atividades da rede. -
BSD License
tcpflow v0.20 - tcpflow é um programa que captura os dados transmitidos como parte das
conexões do TCP (fluxos), e aloja esses dados de uma maneira que seja conveniente para a
análise do protocolo ou para eliminar erros. Um programa como o "tcpdump" mostra um sumário
dos pacotes vistos no cabo de rede, mas geralmente não armazena os dados que estão sendo
transmitidos realmente. No contraste, o tcpflow reconstrui os códigos de dados reais e armazena
cada fluxo em um arquivo separado, para uma análise posterior. - GNU General Public License
(GPL)
tcpreplay v1.4 - Tcpreplay é aclamado para testar o desempenho de um "NIDS" (Network
Intrusion Detection System - Sistema de Detecção de Intrusão de Rede) repetindo o tráfego real
por trás da rede os quais escondem ataques. O Tcpreplay permite controla a velocidade em que o
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 89/166
tráfego é repetido e pode repetir traceamentos do "tcpdump" arbitrários. O tráfego artificial
incomum gerado por via de programação o qual não aciona a inspeção de aplicação ou protocolo
que um "NIDS" faz e não reproduz anomalias do mundo real que aparecem em ambientes de
produção (rotas assimétricas, excesso de tráfego, fragmentação, retransmissões, etc.), já o
"tcpreplay" permite a replicação exata do tráfego real visto em redes reais. - GNU General
Public License (GPL)
tcpslice v1.2a1 - uma ferramenta para extrair partes de uma trilha de pacotes gerada
usando a opção "-w" do "tcpdump". - GNU General Public License (GPL)
tcptrace v6.2.0 - tcptrace é uma ferramenta escrita por Shawn Ostermann, da
Universidade de Ohio, para analisar os arquivos TCP carregados, pegando a entrada de arquivos
produzidas por diversos programas de captura de pacotes, incluindo o "tcpdump", o "snoop", o
"etherpeek", o "HP Net Metrix" e o "WinDump". O Tcptrace pode produzir diferentes tipos de
saída, contendo informações de cada conexão vista, assim como o tempo decorrido, bytes e
segmentos enviados e recebidos, retransmissões, tempos dos ciclos de conexão, janelas de
propagandas, largura de banda e mais. O "tecptrace" pode, inclusive, produzir um número de
gráficos para análises adicionais. - GNU General Public License (GPL)
TCT v1.11 - TCT ("The Coroner's Toolkit" - O kit do agente funerário) é uma coleção de
programas, por Dan Farmer e Wietse Venema, para uma análise pós-morte de um sistema UNIX
após sua quebra. - GNU General Public License (GPL)
TestDisk v4.4 - Ferramenta para checar e recuperar partições apagadas dos seguintes
tipos: FAT12 FAT16 FAT32 - Linux - Linux SWAP (version 1 and 2) - NTFS (Windows NT) -
BeFS (BeOS) - UFS (BSD) - Netware - ReiserFS - GNU General Public License (GPL)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 90/166
The Sleuth Kit v1.61 - The Sleuth Kit (conhecido anteriormente como "task"-TAREFA) é
uma coleção de ferramentas de forense em sistemas de arquivos de comandos de linha em base
UNIX que permite ao investigador examinar sistemas de arquivos NTFS, FAT, FFS, EXT2FS e
EXT3FS de um computador suspeito de uma forma não intrusiva. As ferramentas tem um
desenho baseado em camadas e podem extrair dados de estruturas internas de sistemas de
arquivos. Uma vez que as ferramentas não confiam no sistema operacional para processsar ao
sistema de arquivos, o conteúdo escondido e apagado é mostrado. - GNU General Public License
(GPL)
TNEF v1.2.0 - TNEF fornece uma maneira para desempacotar aqueles anexos do tipo
Microsoft MS-TNEF MIME. Opera como o "tar" para descompactar qualquer arquivo o qual
tenha sidocolocado em anexo "MS-TNEF" ao invés de ser anexado separadamente. - GNU
General Public License (GPL)
VNC - tightvnc - VNC (uma abreviatura para computação virtual da rede - "Virtual
Network Computing" ) é um bom pacote de software cliente/servidor, que permite o acesso
remoto de rede a desktops gráficos. Usado no "biatchux" para emitir consoles remotos! - GNU
General Public License (GPL)
wipe v2.0 - Wipe é uma ferramenta segura de remoção de arquivo. - GNU General Public
License (GPL)
Ferramentas Windows
Ferramentas sugeridas para um conjunto de ferramentas para o investigador para forense
envolvendo plataforma windows e os respectivos objetivos de cada ferramenta:
pslist, psinfo, psfile - Identificar processos anormais
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 91/166
netstat, Fport, psservice - Identificar portas não usuais em estado de escuta
psfile, listdlls, Fport - Identificar arquivos abertos não usuais
psloggedon, nbtstat - Identificar usuários logados
Psloggedon - Identificar os donos dos processos
netstat, route - Examinar tabelas de roteamento
dir, type - Examinar arquivos temporários
dir, Explorer - Examinar arquivos e diretórios suspeitos
at.exe - Agendar e verificar agendamentos de comandos
cmd.exe - Shell de comando de linha
dir.exe - Listar diretórios e arquivos
ipconfig.exe - Verificar as configurações de rede
net.exe
netstat.exe - Analisar conexões de rede executadas de entrada e saída
nslookup.exe - Diagnósticos de rede como por exemplo para determinar configuração de
DNS reverso
route.exe - Verificação e modificação de roteamento do host
tracert.exe - Similar ao traceroute do Linux, também tem a função de traçar rota.
CygWin Tools: Versão para Windows de diversas ferramentas GNU, inclusive o dd.
Possível, graças às bibliotecas cygwin que simulam as chamadas de sistema e geram o ambiente
que tais ferramentas necessitam. - http://sources.redhat.com/cygwin/
MS-DiskEdit: Ferramenta acidentalmente inclusa no SP4 do Windows NT 4.0.
Aparentemente era uma ferramenta de depuração interna, usada pelos desenvolvedores do NTFS.
O importante é que ela pode acessar o disco em baixo nível (hexadecimal); e entende a estrutura
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 92/166
da MFT, interpretando e exibindo o conteúdo dos registros de forma organizada e legível. O
DiskEdit pode ser obtido no endereço http://www.informatik.fh-hamburg.de/pub/nt-
service/sp4en-ex/i386/diskedit.exe
MD5summer: Um exemplo dos inúmeros elementos de software para criação de
assinaturas digitais. Uma das suas vantagens é a compatibilidade com o md5sum do Linux, em
relação ao formato do arquivo de saída. Endereço:
http://homepages.ihug.co.nz/~floydian/md5/md5v11.zip
NetCat: Versão para NT do netcat original do UNIX. Muito usado, como backdoor, pelos
atacantes. Endereço: http://www.l0pht.com/users/10pht/nc11nt.zip
Streams: Programa que detecta a existência de "alternate streams" em um arquivo.
Endereço: http://www.sysinternals.com/files/streams.zip
Strings: Recupera todas as strings contidas em um arquivo executável. Muito útil durante
a identificação da função de um dado software. Endereço:
http://www.sysinternals.com/files/strings.zip
Knoppix-STD
Knoppix STD 0.1 security tools distribution
MD5: de03204ea5777d0e5fd6eb97b43034cb
Versão: Knoppix STD 0.1
O Knoppix-STD é uma distribuição customizada do "Knoppix Live Linux CD". Basta
inicializar pelo CD para se usar o Knoppix-STD. O Knoppix-STD inclui um kernel do linux
customizado (2.4.21 com os patches ntfs rw, openmosix e superfreeswan). Gerenciador de janelas
e possui uma excelente detecção de hardware e centenas de aplicativos. Depois de utiliza-lo é só
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 93/166
inicializar o micro sem o CD e se terá de volta ao sistema operacional original. Além de usar
energia e alguma RAM o Knoppix-STD não toca no computador que o serve de host.
O Knoppix-STD é focado em segurança da informação e ferramentas de gerenciamento
de rede. Isto significa que pode ser usado por um novato para aprender mais sobre segurança da
informação e por profissionais.
As ferramentas do Knoppix-STD são divididas nas seguintes categorias:
* autenticação
* criptografia
* forense
* firewall
* honeypot
* sistemas ids
* utilitários de rede
* ferramentas de senhas
* servidores
* packet sniffers
* ferramentas tcp
* tunelamento
* analizadores de vulnerabilidades
* ferramentas para redes sem fio
Mais informações sobre o Knoppix podem ser obtidas em: http://www.knoppix.net/
Mais informações sobre o Knoppix-STD podem ser obtidas em: http://www.knoppix-
std.org/
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 94/166
O canal #knoppix-std no irc.freenode.org : shop nos domingos às 11:00 PM EST
(Segunda-feira 3:00 AM GMT), chat a qualquer hora.
Knoppix-STD - Pacotes
Ferramentas do Knoppix-STD em grupos:
"Authentication" (Autenticação)
/usr/bin/auth/
* freeradius 0.9.3 : Servidor de cifragem RADIUS GPL
/usr/bin/crypto/
* 2c2 : múltiplos arquivos de texto -> um texto cifrado
* 4c : como o "2c2" (negativa plausível)
* acfe : criptoanálise tradicional (como Vigenere)
* cryptcat : netcat + criptografia
* gifshuffle : ferramenta de esteganografia para imagens gif
* gpg 1.2.3 : "GNU Privacy Guard"
* ike-scan : "VPN fingerprinting" (impressão digital em rede privada virtual)
* mp3stego : ferramenta de esteganografia para mp3
* openssl 0.9.7c
* outguess : ferramenta de esteganografia
* stegbreak : ferramenta de força bruta para quebrar esteganografia em arquivos JPG
* stegdetect : ferramenta para descobrir esteganografia em arquivos JPG
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 95/166
* sslwrap : "SSL wrapper" (encapsulador de SSL)
* stunnel : "SSL wrapper" (encapsulador de SSL)
* super-freeSWAN 1.99.8 : suporte de kernel para IPSEC
* texto : faz o conteúdo "gpg ascii-armour" parecer um inglês estranho
* xor-analyze : outra ferramenta de introdução à criptoanálise
"Forensics" (Forense)
/usr/bin/forensics/
* sleuthkit 1.66 : extensões para o kit de ferramentas forense "The Coroner's Toolkit"
* autopsy 1.75 : Interface Web para o "TASK". Padrão de evidências indo para
/mnt/evidence
* biew : visualizador binário
* bsed : editor de "streams" binários
* consh : shell logado (vindo do F.I.R.E.) . O que se faz é gravado.
* coreography : analisa arquivos "core"
* dcfldd : versão do "dd" do "US DoD Computer Forensics Lab" (Laboratório de
computação forense do Departamento de Defesa dos Estados Unidos)
* fenris : ferramenta para depurar código, fazer traceamento, decompilação e engenharia
reversa
* fatback : recupera arquivos "FAT" apagados
* foremost : recupera arquivos de tipos específicos a partir de imagens de disco (por
exemplo arquivos JPG)
* ftimes : ferramenta de linha base de sistema ("system baseline tool")
* galleta : recupera cookies do "Internet Explorer"
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 96/166
* hashdig : pesquisa em banco de dados de "hash"
* hdb : descompilador java
*mac-robber : escavador do "TCT" escrito em C
* md5deep : roda md5 em múltiplos arquivos e diretórios
* memfetch : força um "dump" de memória
* pasco : navega no index.dat do Internet Explorer
* photorec : obtém arquivos de câmeras digitais
* readdbx : converte arquivos .dbx do Outlook Express para o formato mbox
* readoe : converte um diretório inteiro do Outlook Express para o formato mbox
* rifiuti : navega nos arquivos INFO2 da lixeira do Windows
* secure_delete : apaga de forma segura arquivos, swap, memória, etc...
* testdisk : testa e recupera partições perdidas
* wipe : apaga uma partição seguramente e é bom para preparar uma partição para usar
"dd"
* e outras ferramentas de sistema típicas para uso em forense (dd, lsof, strings, grep, etc.)
"Firewall"
/usr/bin/fw/
* blockall : "script" para bloquear toda entrada TCP (exceto "localhost")
* flushall : limpa todas as regras de firewall
* firestarter : via rápida para um firewall
* firewalk : mapeia uma base de dados de firewall
* floppyfw : transforma um disquete em um firewall
* fwlogwatch : monitora logs de firewall
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 97/166
* iptables 1.2.8
* gtk-iptables : interface GUI
* shorewall 1.4.8-RC1 : pacote baseado no iptables
"Honeypots" (Potes de Mel - Sistemas falsos para intrusos)
/usr/bin/honeypot/
* honeyd 0.7
* labrea : retarda (lento para um "crawl") worms e scaneadores de porta
* thp : honeypot leve
"IDS" (Intrusion detection systems - Sistemas de detecção de intrusões)
/usr/bin/ids/
* snort 2.1.0: O IDS de rede favorito da maioria
* ACID : interface web do snort
* barnyard : processador rápido de log do snort
* oinkmaster : mantém as regras do snort atualizadas
* hogwash : controle de tráfego de rede baseado em assinaturas do snort
* bro : IDS de rede
* prelude : IDS de rede e de máquina
* WIDZ : IDS para interfaces de redes sem fio e ap ("access point" - pontos de acesso de
redes sem fio).
* aide : ferramenta de controle de integridade de máquina, como o "tripwire"
* logsnorter : monitor de logs
* swatch : monitora qualquer arquivo any file, como o "syslog"
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 98/166
* sha1sum
* md5sum
* syslogd
"Network utilities" (Utilitários de rede)
/usr/bin/net-utils/
* LinNeighboorhood : navega em redes SMB como o ambiente de rede do Windows
* argus : auditor de rede
* arpwatch : guarda os traços dos MACs no seu cabo de rede
* cdpr : reporta descobertas de protocolo cisco
* cheops : ferramenta para descobertas na rede e de snmp e de monitoração.
* etherape : ferramenta de monitoramento e visualização de rede
* iperf : mede a performance de IP
* ipsc : calculadora de subnet ip
* iptraf : monitor de rede
* mrtg : "multi router traffic grapher" (faz gráficos de tráfego de rede)
* mtr : ferramenta para traçar rotas
* ntop 2.1.0 : "network top" analisador de protocolos
* rrdtool : banco de dados "round robin"
* samba : suporte a SMB de código aberto
* tcptrack : traceia as conexões existentes
"Password tools" (Ferramentas para senhas)
/usr/bin/pwd-tools/
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 99/166
* john 1.6.34 : quebrador de senhas "John the Ripper"
* allwords2 : dicionário de Inglês CERIAS - 27MB
* chntpw : reseta senhas em uma máquina Windows (inclusive do Administrador)
* cisilia : quebrador de senhas distribuído
* cmospwd : Encontra a senha local da CMOS
* djohn : "John the Ripper" distribuído
* pwl9x : quebra arquivos de senhas do Win9x
* rcrack : quebrador "rainbow" (arco-íris)
Servers (Servidores)
/usr/bin/servers
* apache
* ircd-hybrid
* samba
* smail
* sshd
* vnc
* net-snmp
* tftpd
* xinetd
"Packet sniffers" (Capturadores de pacotes)
/usr/bin/sniff/
* aimSniff : captura tráfego AIM
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 100/166
* driftnet : capturador para imagens
* dsniff : capturador para senhas em texto claro
* ethereal 0.10.0 : o padrão e inclui o Tethereal
* ettercap 0.6.b : captura pacotes em uma rede com switch e mais
* filesnarf : Obtém arquivos fora do tráfego NFS
* mailsnarf : captura tráfego smtp/pop
* msgsnarf : captura tráfego de aol-im, msn, yahoo-im, irc e icq.
* ngrep : "grep" de rede network grep, um capturador de pacotes com capacidades de
filtragem do "grep"
* tcpdump : a base dos outros capturadores
* urlsnarf : registra todas as "URLs" visitadas pelo cabo de rede
* webspy : faz cópias espelho de todas as "URLs" visitadas por uma máquina em um
browser local
"tcp tools" (Ferramentas TCP)
/usr/bin/tcp-tools/
* arpfetch : busca MAC
* arping : "ping" por MAC
* arpspoof : faz "spoof" (falseiamento) de "arp"
* arpwatch : monitora endereços MAC no cabo
* despoof : detecta pacotes "spoofed" (falsificados) por medida de TTL
* excalibur : gerador de pacotes
* file2cable : repete um pacote capturado
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 101/166
* fragroute : ferramenta de fragmentação de pacotes
* gspoof : gerador de pacotes
* hopfake : respostas falsas de contagem de "hops" (nós)
* hunt : sequestrador de conexão tcp
* ipmagic : gerador de pacotes
* lcrzoex : conjunto de ferramentas tcp
* macof : inunda um "switch" com MACs
* packetto : conjunto de ferramentas de "Dan Kaminsky" (inclui 1.10 e 2.0pre3)
* netsed : insere e substiui strings em tráfego em tempo real
* packETH : gerador de pacotes
* tcpkill : mata tcp
* tcpreplay : repete pacotes tcp capturados
"tunnels" (túneis)
/usr/bin/tunnels/
* cryptcat : "netcat" criptografado
* httptunnel : tunelamento de dados sobre http
* icmpshell : tunelamento de dados sobre icmp
* netcat : o incomparável canivete suíço do tcp
* shadyshell : tunelamento de dados sobre udp
* stegtunnel : esconde informações em cabeçalhosTCP/IP
* tcpstatflow : detecta túneis de dados
* tiny shell : pequeno shell criptografado
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 102/166
"Vulnerability assessment" (Testes de vulnerabilidades)
/usr/bin/vuln-test/
* ADM tools : como ADM-smb e ADMkillDNS
* amap 4.5 : mapeia aplicativos rodando em máquinas remotas
* IRPAS : "Internet Routing Protocol Attack Suite" (Conjunto de programas de ataque a
protocolos de roteamento internet)
* chkrootkit 0.43 : procura por "rootkits"
* clamAV : anti-virus com atualização de assinaturas ao vivo com o "freshclam"
* curl : utilitário de comando de linha para transferir qualquer coisa com uma URL
* exodus : auditor de aplicação web
* ffp : Identificador "fuzzy" para conexões criptografadas
* firewalk : mapeia uma base de dados de firewall
* hydra : ferramenta de força bruta
* nbtscan : pesquisa redes SMB
* ncpquery : pesquisa servidores NetWare
* nessus 2.0.9 : detector de vulnerabilidades que atualiza seus "plugins" em tempo real
com o "nessus-update-Plugins"
* nikto : scanner CGI
* nmap 3.48 : padrão em enumeração de máquinas e portas
* p0f : identificador de sistema operacional passivo
* proxychains: canaliza juntos múltiplos servidores de proxy
* rpcinfo :Obtém informações do " RPC"
* screamingCobra : scanner CGI
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 103/166
* siege : Utilitário de teste e comparação de http
* sil : capturador de "banners" de identificação leve
* snot : repete regras do snort de volta para o cabo de rede para testar a resposta de um
"IDS"
* syslog_deluxe : falsifica mensagens de "syslog"
* thcrut : THC's "r you there?" (THC você está aqui?) mapeador de rede
* vmap : mapeia as versões das aplicações
* warscan : ferramenta de automação para "exploit" (exploração não autorizada do
sistema)
* xprobe2 : usa ICMP para identificação
* yaph : outro caçador de proxy
* zz : " zombie zapper" - matador de zumbis que mata zumbis DDoS
"Wireless tools" (Ferramentas para sistemas de rede sem fio)
/usr/bin/wireless/
* airsnarf : utilitário de obtenção de configuração de APs (access points - pontos de
acesso)
* airsnort : captura, encontra e quebra a segurança de redes com padrão 802.11b
* airtraf : analisador de performance de redes com protocolo 802.11b
* gpsdrive : usa GPS e mapas
* kismet 3.0.1 : para 802.11
* kismet-log-viewer : gerencia os logs do "kismet"
* macchanger : muda o seu "MAC address" (endereço de MAC)
* wellenreiter : descoberta e auditoria de 802.11b
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 104/166
* patched orinoco drivers : automático (sem necessidade de scripts)
AIDE
AIDE v0.9 AIDE - Advanced Intrusion Detection Environment (Ambiente avançado
de detecção de intrusões)
AIDE é um substituto de software livre para o Tripwire. AIDE faz o mesmo que o
Tripwire semi-free e mais.
URL antigo: http://www.cs.tut.fi/~rammer/aide.html
Agora como projeto no SourceForge.Net
URL: http://sourceforge.net/projects/aide
Ambiente: console (baseado em texto).
Licença: GNU General Public License (GPL)
Linguagem: Inglês
Sistema operacional: BSD, Linux, Other, SunOS/Solaris
Linguagem de programação: C
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 105/166
Capítulo V - CASOS E EXEMPLOS
Casos estudados de exemplo
Estudo de Casos
Os casos apresentados tem o objetivo de exemplificar diferentes ocorrências de aplicação
de técnicas de forense computacional e respostas a incidentes na internet abrangendo situações de
causas e efeitos desde a fase pré-incidente, durante o incidente e na fase pós-incidente.
Visando a preservar a segurança e imagem das empresas, instituições de governo,
policiais e indivíduos envolvidos e por questões de segurança os casos reais abaixo relatados
estão mesclados a casos hipotéticos, que tiveram ou não a participação direta do autor.
CASO 1: Site pichado
Informado por:
A vítima recebeu um e-mail em inglês de uma empresa que monitora site listados como
pichados em sites internacionais de arquivo on-line de cópias de pichações, informando que seu
site havia sido cadastrado como pichado.
Tipo de alvo: Site institucional
Observações: A pichação foi assinada por um grupo de pichadores que possui em seu
perfil, percebido durante o processo investigativo, a característica de invadir e pichar sites
usando vulnerabilidades do Front Page.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 106/166
Não foram encontrados registros suspeitos de log em FTP.
Não foram encontrados registros suspeitos de log de exploração de vulnerabilidades via
web no IIS.
Não foram encontrados registros suspeitos de log de exploração de vulnerabilidades via
web nos sistemas de detecção de intrusão a nível de rede e nem nos logs dos sistemas de firewall.
Fazia uso de Extensões do Front Page 98 e desatualizadas, quando já deveria estar usando
Extensões do Front Page de versão mais recente.
O site não tinha necessidade de usar Front Page, nem asp, nem de estar em Windows pois
usava apenas as linguagens html e php.
Suspeita: O atacante possivelmente usou o acesso via Front Page para acessar e alterar a
página principal (home page) do site da vítima. Mas isto não pode ser confirmado, pois a vítima
preferiu que o trabalho fosse focado apenas na recuperação e não na investigação e nem em
outras etapas.
Resultado: A vítima não tinha interesse em tomar mais providências, pois desejava apenas
o site no ar. Devido a recomendação do investigador o site foi totamente removido, mudado de
servidor inclusive para uma outra plataforma, no caso a plataforma escolhida foi a plataforma
Linux. O site foi monitorado e não teve mais ocorrências de incidentes de segurança detectadas.
CASO 2: Site pichado
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 107/166
Informado por: Um administrador do sistema vítima verificou que o site havia sido
alterado.
Tipo de alvo: A vítima era um site em construção, ou seja que ainda não havia sido
lançado e não estava em produção.
Observações: Junto ao provedor onde se encontrava o site uma equipe trabalhou em
conjunto com a investigação. Não foram detectadas vulnerabilidades conhecidas, nem logs
suspeitos em rede e nem no acesso via web. Não foram detectados potenciais problemas na
máquina servidora, nem presença de root kits e também o tráfego de rede foi analisado
verificando-se os gráficos passados e o conteúdo do tráfego atual foi capturado em diferentes
períodos e analisados. Nos logs de acesso via FTP, foi observada a exata ocorrência dos passos
do atacante.
O atacante acessou com uso da conta válida da vítima e senha normal, sem errar nenhuma
vez e alterou a página principal. Foi perfeitamente identificado a data, hora e o IP do atacante,
assim como suas ações. Em seguida, no minuto seguinte, o mesmo IP foi registrado acessando o
site via web. Os sistemas de IDS (detecção de intrusão) que estavam logando inclusive este tipo
de atividade, mesmo quando devidamente autorizada (senha e usuário corretos) que estavam com
horários sincronizados ao do servidor de web envolvido, confirmou os dados no log de FTP. A
conexão vinha de um provedor gratuito via conexão discada (dial up).
Resultado: A vítima preferiu adiar a decisão de punir ou não o atacante, então, todos os
procedimentos foram devidamente registrados e documentados, inclusive com cópia pericial de
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 108/166
todo o disco do servidor envolvido e cópias de todos os conteúdos e logs envolvidos. Como
testemunhas assinaram as etiquetas e ficaram com cópias em CDs dos arquivos, dados e todos os
"hashs" a empresa vítima, os investigadores e o um representante administrador do provedor. A
cópia pericial completa do disco principal do servidor que continha o site, por conter dados de
outros clientes, ficou apenas em posse do provedor em envelope lacrado e assinado por todos
acima citados, sendo que a empresa vítima e os investigadores também ficaram com uma cópia
do hash do conteúdo deste disco. A vítima não tinha interesse em tomar mais providências e
solicitou que o provedor de acesso usado pela vítima não fosse informado, pois não quis arcar
com o ônus de um processo judicial e, então ficou com medo de provocar a ira do atacante e seu
grupo judicilmente impunes provocarem novos incidentes de segurança.
CASO 3: Caso Tráfego suspeito
Quem informou: Gráficos de análisesde uso de rede levaram a vítima a estranhar o uso
excessivo de sua rede em horários anormais
Tipo de alvo: Site de notícias
Observações: Devido a um excesso de tráfego de rede por motivo desconhecido, durante
meses, a rede da vítima foi analisada e não foram detectadas anormalidades. Tudo parecia normal
e sem suspeitas nem a nível de host (nas máquinas) nem a nível de rede. Foi instalado um sniffer
de rede para poder ser estudado o comportamento da rede e se percebeu que o tráfego excessivo
inclusive em horários estranhos correspondia a um servidor web, onde a empresa vítima tinha
disponibilizado alguns sites à internet. O tráfego deste host específico foi estudado e só se
encontrava tráfego normal e excessivo apenas na porta 80, que é tipicamente usada pelo servidor
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 109/166
web. Em horários de menor tráfego, como na madrugada, as conexões se resumiam a robôs da
web (como o robô do Google e robô do Altavista) e alguns outros Ips não determinados. Foram
utilizados o MRTG, o TCPDUMP, o NTOP e o ETHEREAL nas análises de rede e "host". As
conexões foram sendo estudadas e foi percebido um padrão de acesso ocorrendo milhares de
vezes por dia e tratava-se de um único IP. A origem do IP foi investigada a partir de serviços de
"whois" e após algum tempo procurando determinar a identidade do suposto atacante a equipe de
investigação chegou a conclusão de que se tratava de um robô da web de uma rede específica. Na
verdade trata-se do robô de um site de serviço de notícias que indexa sites de notícias de todo o
mundo. Em pesquisa, na internet foram encontrados inúmeros comentários de outras vítimas
reclamando do mesmo robô deste site de notícias. A vítima fez inúmeros contatos e por se tratar
de caso internacional não tinha como iniciar um processo judicial contra o site proprietário do
robô, e mesmo se o fizesse, talvez não pudesse fazer nada contra judicialmente, afinal trata-se de
um caso questionável de legalidade se é ou não ilegal usar em excesso ou de forma repetitiva e
automatizada um serviço grátis como o acesso a um site.
Solução: Foram implementadas entradas de arquivos robots.txt nos sites da vítima
bloqueando o robô em questão, além de bloqueios de controle ao IP a nível de firewall "host" e a
nível de firewall rede.
CASO 4: Caso de vulnerabilidade detectada
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 110/166
Quem informou: A vítima contratou os investigadores para verificar a sua rede, por
vontade própria, sem suspeitas específicas.
Tipo de alvo: Servidor de Rede Windows 2000
Observações: Ao se efetuar uma checagem de vulnerabilidades em servidor Windows
foram detectadas portas abertas em estado de escuta ("listen"). As portas tratavam-se de portas
típicas de vírus que abrem o computador para novas invasões em vírus. O anti-vírus do Cliente
estava desatualizado e inúmeros "patchs" conhecidos de segurança não estavam aplicados.
O servidor foi reinstalado do zero, aplicadas as devidas melhorias de segurança
Foram feitas duas imagens idênticas do disco, utilizando o F.I.R.E Linux. Uma das
imagens foi devidamente etiquetada, documentada e guardada. A outra imagem serviu de bas
para investigações. Foi feita uma rede local restrita laboratorial para testes e colocado o host
(máquina) a partir da imagem com IP restrito à esta rede de testes para exame pericial dinâmico,
examinando-se processos em execução provocados ou não pelos investigadores, e estático,
examinando o conteúdo de programas, entradas em registro e conteúdos suspeitos. Foram
analisadas as entradas em registro e utilizado softwares de detecção de vulnerabilidades, como
NESSUS e RETINA, e anti-vírus como SYMANTEC NORTON, AVG, CLAMAV e MCAFEE.
A máquina servidora se encontrava infectada com o "W32.Nimda". Entre as portas investigadas
em especial foram consideradas em especial as portas 25, 69, 80, 137, 138, 139 e 445 utilizadas
tipicamente pelo W32.Nimda. Para detectar como foi a infecção os investigadores foram mais em
frente e perceberam que o "worm" "Code Red II" havia anteriormente comprometido esta
máquina e propiciado a entrada do "W32.Nimda". Tratava-se de uma máquina com anti-virus
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 111/166
desatualizado e com inúmeros "patchs" (pacotes de alterações) de segurança não ainda
implementados. Como haviam logs na máquina, no servidor de replicação de logs e no servidor
IDS de rede guardados foi possível confirmar a data e hora da infecção pela típica entrada: "GET
/default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u
9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%
u0078%u0000%u00=a". Esta entrada constiui a exploração de estouro de "buffer" da DLL do
serviço de indexação do IIS no Windows pelo CODE RED, que é possível em sistemas cujo o
"patch" de segurança correspondente não tenha sido aplicado.
Solução: Como o comprometimento por "CODE RED II" implica em um nível de
comprometimento de sistema, onde atacantes podem utilizar a infecção como via de aplicação de
comandos arbitrários e implantação de código malicioso, o sistema foi reinstalado totalmente a
partir do zero. O novo sistema teve todos os antivírus atualizados e "patchs" já existentes
aplicados via CD antes de ser colocado em rede.
CASO 5: Usuários de SNMP
Informado por: Investigadores do CASO 4.
Observações: No mesmo caso anterior, uma outra questão relevante foi detectada.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 112/166
Devido ao administrador do sistema deixar o serviço de SNMP ativo e com configuração
de comunidade padrão ("default") foi observado que um atacante externo às rede poderia listar
facilmente todos os usuários com logon cadastrados na máquina utilizando simplesmente as
características de gerenciamento de rede SNMP, de forma simples, sem necessidade de fazer
engenharia social ou uma ataque sofisticado.
Solução: Os usuários tiveram seus nomes de acesso (usernames) alterados para novos
nomes e foram feitas as devidas alterações desabilitando serviços desnecessários e configurando
adequadamente os necessários.
CASO 6: Servidor de e-mails de departamento de governo
Informado por: Chefe de departamento de um governo
Sintoma: Sistema linux com serviço de rede parando periodicamente.
Descrição: Em um órgão de governo uma equipe de administração de redes resolveu
trabalhar com sistema de código livre Linux, com Sendmail, para o sistema de e-mails de um
determinado departamento, como experiência para evitar custos de licenciamento de sistemas
Windows. Devido à falta de experiência a equipe fez uso de uma distribuição de Linux antiga e
manteve o sistema sem novas atualizações.
Observações: A equipe de investigadores iniciou a pesquisa, considerando que a equipe
local já havia descartado a hipótese de falha de hardware para paradas inexplicáveis do servido de
rede e interface de rede na máquina em questão. Foi implementada monitoração de rede
capturando e examinando os pacotes que tinham a máquina suspeita como origem ou destino. Foi
observado um tráfego ftp, onde pequenos arquivos criptografadosestavam sendo enviados para
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 113/166
fora da rede de forma periódica e sistemática. O exame do tráfego FTP foi facilitado, pois na rede
em que se encontrava a máquina vítima estava sendo utilizado um "hub" ao invés de um "switch"
de rede, então era possível capturar o tráfego de todos as máquinas naquele segmento com
facilidade. O conteúdo do tráfego FTP suspeito oriundo da máquina vítima não pode ser
identificado por estar criptografado. Após monitorar, capturar e guardar uma boa amostragem do
tráfego de rede a equipe de investigadores resolveu parar a máquina para fazer duas imagens
periciais do disco rígido do sistema vítima, com o utilitário "dd", identificou e preservou uma das
cópias e passou a investigar em uma cópia da imagem. Numa investigação dinâmica, no sistema
vítima, inclusive com os códigos maliciosos em execução, foi bastante fácil perceber com a
execução de um software de detecção de "rootkits", o "chkrootkit", a presença de software
malicioso na máquina infectada fazendo "sniffing"(captura de pacotes) de rede. Ficou explicada a
questão da queda de serviço de rede, pois, como o tráfego da rede era elevado e a captura de
pacotes deixada pelo atacante não foi planejada para alta capacidade, pois tratava-se de um
"rootkit" padrão com poucas alterações do script original, então ocorria sobrecarga na captura e
guarda de pacotes pelo sistema do atacante e isso provocava a queda do serviço de rede. O
tráfego era composto inclusive de documentos importantes trafegando pela rede via web numa
intranet do departamento e mais o tráfego elevado de e-mails passando por esta máquina vítima e
por um sistema de e-mails ainda mais crítico e de uso muito mais demandado que o sistema de e-
mails na máquina vítima. Foi observado que o atacante criou diversos diretórios e arquivos com
nomes "..." (três pontos), isso certamente para enganar um investigador em uma possível
investigação usando o comando "ls", onde o investigador se confundiria com o diretório de "."
(um ponto) que representa o diretório atual ou ".." que representa o diretório superior. Além
disso, o arquivo ou diretório com nome iniciado com um ponto será oculto da visualização via ftp
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 114/166
e via web na maior parte dos sistemas. A equipe de investigação partiu para uma investigação
estática examinando com "cat", "more", "vi", "grep" e "strings" os arquivos encontrados deixados
pelo atacante. Não foi muita surpresa para a equipe de investigadores descobrir que se tratava de
um sistema totalmente automatizado para captura automatizada de usernames e senhas obtidas no
tráfego de rede, sendo guardadas em arquivos locais e depois compactadas, criptografadas e
enviadas por ftp. O destino de FTP por ser automatizado pode ser identificado e examinado pela
equipe de investigação. No destino de FTP não havia nada, apenas diretórios vazios. Mas bastou
procurar por arquivos ocultados com técnicas simples para perceber que haviam diretórios e
arquivos naquele destino que se compunham de arquivos criptografados, possivelmente
resultados de invasões deste sistema vítima e de outros sistemas. E, mais ainda, haviam diversos
kits de ferramentas para pesquisa de portas, identificação de sistemas remotos, detecção de
vulnerabilidades, invasão e exploração de sistemas. Este IP de destino do FTP era em uma
universidade no México.
Solução: O sistema vítima foi considerado como totalmente comprometido. Devido ao
comprometimento de rede, foi necessário, durante duas semanas, proceder a uma avaliação
minuciosa para determinar o escopo de comprometimento das máquinas locais e remotas que se
relacionaram com o sistema como clientes ou como servidores. Devido à profundidade do
comprometimento, com nível de administrador, a data de início do comprometimento foi, na
investigação, melhor se considerada como improvável. Como se tratava de sistema em uso
apenas a quatro meses, o sistema foi considerado como sendo comprometido desde a sua
instalação inicial. Todas as informações, dos últimos quatro meses, foram tidas como quebrada
sua confiabilidade. Como os usernames e senhas de vários serviços utilizados diariamente
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 115/166
naquela rede como FTP, E-MAIL e TELNET circulam em pacotes TCP em texto claro, legíveis
ao serem capturados, foram trocados os usernames e senhas e se partiu para uma reinstalação
metódica de todos os sistemas cujo dados de acesso possam ter sido comprometidos. As
informações de documentos trafegados em rede e os guardados em máquinas da rede foram
reavaliados do ponto de vista de análise de risco para a instituição do governo por uma equipe
formada por 18 pessoas chefiadas pelo chefe do departamento. A investigação foi feita com
formalidades de procedimentos para coleta, preservação e uso das evidência digitais de forma a
propiciar coerência e possibilidade de busca concreta da verdade e permitir o procedimento legal
que se instaurou a partir da investigação. O caso tomou proporções internacionais e a
investigação serviu para alimentar de dados e provas equipes policiais de investigação de outros
países que já estavam na com uma avançada investigação em busca do atacante que agia em
redes de governo internacionais, inclusive em redess militares de alta criticidade.
CASO 7: Servidor Windows com IIS de hospedagem compartilhada
Informado por: Um australiano proprietário de um site de venda de cosméticos em
provedor de acesso e de serviços de hospedagem de sites observou que seu site havia sido
pichado e entrou em contato com o provedor australiano local.
Descrição: Pichação de vários sites em uma mesma máquina.
Foi feita uma imagem do disco afetado.
Foi examinado e observado o que ocasionou.
O atacante tinha uma conta de usuário ftp válida e direitos a executar scripts ASP e
ASP.NET
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 116/166
A investigação foi bastante complexa, pois não se encontravam indícios no IDS de rede
da ação dos atacantes. A nível de máquina também não haviam indícios de ações externas em
massa.
Os investigadores partiram para investigar a possibilidade de ataque de dentro da
máquina.
Observou-se que o usuário e grupo dos usuários de sites compartilhados tinham em
comum um único usuário da web para visitantes de seu sites, com permissões para "Everyone"
(todos). Assim, fazendo uso de instância do FileSystemObjects o atacante que tinha permissão
para colocar e executar scripts ASP em seu site foi capaz de executar um código para alterar a
página inicial de todos os sites de outros usuários. Somente foi possível identificar o usuário que
efetuou a pichação, depois de restaurar arquivos apagados e comprovar a suspeita de que a
exploração de privilégios em outras pastas se deu pela exploração da instanciação do FSO
(FileSystemObjects) via ASP.
Solução: O provedor fez reinstalação completa do sistema a partir de backup em sistema
novo, e implementou novos sitemas com usuários diferenciados, permissões mais examinadas e
mais seguras e aumentou o rigor na aceitação de novos usuários e na monitoração das atividades
dos usuários.
CASO 8: Ataque de DOS (Deny Of Service - Negação de Serviço)
Informado por: Usuários internos e externos começaram a consultar o suporte técnico da
empresa.
Aplicação de Técnicas deForense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 117/166
Descrição: Numa determinada empresa que se utiliza de estrutura própria para hospedar
sites do grupo empresarial, todos os serviços internet relacionados aos sites da empresa
começaram a apresentar mau funcionamento ao final da noite de um sábado. O horário de final de
semana, fora de expediente e à noite despertou a atenção do administrador da rede que logo
pensou em um sério incidente de segurança. A equipe de investigadores foi acionada e iniciou os
procedimentos investigativos. Depois de diversos procedimentos preliminares, a equipe
juntamente com o administrador da rede observaram que o serviços de resolução dos servidores
de nomes (DNS - Domain Name Server) não estava respondendo a contento e que os serviços
estavam funcionais se acessados via número de I.P. Foi identificado que o problema era apenas
no servidor DNS principal e não nos secundários. Como não haviam indícios de ataques logados
no IDS de rede e nem nos logs do servidor de DNS principal, os investigadores partiram para
pesquisar as ações dos usuários examinando principalmente os arquivos bash_history. Foi
observado que um determinado usuário com poderes de administrador fez logon no sistema,
depois mudou para root "usando" e naquela hora foram logados os seguintes comandos deste
usuário entre outros:
# cd /etc/domain/zonefiles/
# vi sitefilial01.com.br.zonefile
# date
# df -h
# du -sh var/log/
# du -sh var/log/
# du -sh /var/log/logsdeintranet/
# rm -rf var/log/logsdeintranet/arquivoantigo1.log
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 118/166
# df -h
# rm -rf var/log/logsdeintranet/arquivoantigo1.*
# rm -rf *
# df -h
# cd /var/log/logsdeintranet
# ls -la
# rm -rf *
# df -h
# exit
Examinando os comandos acima fiou óbvio o que aconteceu. Foi descartada pela equipe
de investigadores a hipótese de incidente de segurança. O que aconteceu foi uma falha provocada
por negligência deste usuário com poderes de administrador. Por preguiça ou falta de malícia o
usuário incidiu em erro e as conseqüências de seu erro foram desastrosas por ter a resolução de
nomes (DNS) importância crítica para o funcionamento de inúmeros serviços de rede. Ficou claro
nos logs a inabilidade do usuário tentando executar comandos, que pode falta de uma "/" (barra)
traziam resultados indesejados para ele. A grande questão foi que ele estava aparentemente dento
do diretório que contém todos os arquivos ZONE que são imprescindíveis para o funcionamento
do servidor de nomes (DNS) para os sites locais, para os quais o servidor de nomes responde com
autoridade. Naquele diretório o usuário esteve porque foi para editar um arquivo zone da filial 01
(sitefilial01.com.br.zonefile) e por algum motivo depois partiu para examinar o espaço em disco
e foi apagar arquivos de logs antigos de um sistema de intranet. Por imperícia este usuário usou
comandos errados e usou indevidamente as opções "-rf" do comando rm, inadvertidamente
tornando um erro de diretório potencialmente muito mais perigoso, pois a opção "r" torna o
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 119/166
comando "rm" recursivo, ou seja, apaga também arquivos e sub-diretórios que combinem com a
chave de pesquisa do comando e a opção "f" faz o comando "rm" não fazer perguntas de
confirmação do tipo "Tem certeza que quer apagar .... (y/n)?". Para piorar o "*" asterisco é
curinga e faz com que todos os arquivos combinem com a chave de pesquisa do comando. Ou
seja, o usuário por azar de seu destino estava no diretório doa arquivos ZONE e usou um
comando "rm -rf", que siginifica grosseiramente: "Apague todos arquivos, diretórios e sub-
diretórios e seus conteúdos, sem me perguntar nada, apenas faça." A questão de os serviços só
terem apresentado mau funcionamento no dia seguinte e a noite é que os serviços de resolução de
nomes (DNS) usados no acesso das máquinas clientes guardavam em "cache" as informações
consultadas por até 36 horas, então os problemas foram aparecendo quando os "caches" foram
sendo expirados. A boa fé do usuário pareceu certa, o que foi considerado pela administração da
companhia, mas ainda assim o usuário apresentou ficou extremamente constrangido e apresentou
seu pedido de demissão à empresa.
CASO 9: Máquina desktop Windows com cavalo de tróia
Informado por: usuário operador de micro em gabinete de deputado
Descrição: Um determinado usuário que trabalhava em gabinete de deputado relatou ao
administrador da rede, que sua máquina estava conectando sozinha e apresentando na tela vários
sites de cassinos, jogos e pornografia e que acreditava que sa máquina estava dominada e que
estes sites eram abertos por um invasor. Ao investigar, pode-se perceber que o usuário tinha o
hábito de acreditar em conteúdos de e-mails que solicitavam ao mesmo clicar para fazer
"download" e executar programas para visualizar cartões virtuais. Com a utilização de
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 120/166
ferramentas de detecção de vírus e um cavalo de tróia. Com sua máquina infectada o usuário
colocava em risco a rede do gabinete do deputado. Por isso, foi feita investigação mais a fundo
para detectar tráfego suspeito em rede e o comprometimento de mais máquinas de estação de
trabalho no gabinete. A máquina estava infectada com o "Cytron" que é um objeto componente
de browser ("Browser Helper Object: (BHO)") instalado poar activeX quando o usuário clica em
e-mail com cartão virtual falso. Ele fica instalado no browser e apresenta publicidade em janelas
("pop-ups") conforme o que o usuário está visitando e principalmente apresentando sites
pornográficos. A rede e demais máquinas foram investigados e não se encontraram mais
problemas.
Solução: A máquina foi desinfectada e passou a ser monitorada constantemente, com
revisão completa quinzenal. O usuário assinou um termo de boas práticas onde se comprometeu
em diversos aspectos no que diz respeito a hábitos mais seguros.
CASO 9: Fórum Web de universidade pichado
Informado por: O webdesigner de um site universidade no interior de São Paulo percebeu
que o fórum em .ASP de seu site estava com um texto na mensagem principal dizendo "Birald
Hacked Here"
Descrição: Os investigadores ao pesquisar o caso procuraram verificar se era possível
determinar o perfil de atividades do atacante que se intitulava como Birald (ps.: Este codinome
não é o codinome real do caso.). Notou-se logo que se tratava de um codinome presente em
centenas de pichações ("defacements") e todas as analisadas pela equipe de investigação
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 121/166
correspondiam a entradas em fóruns web, com pequenas variações no texto. Os investigadores
partiram para analisar a segurança do aplicativo e logo se percebeu que o mesmo tinha uma falha
de segurança séria e de simples exploração. O sistema de fórum tinha administração via web e
um usuário administrador, com plenos poderes de administração do fórum e dos conteúdos das
mensagens. Havia um sistema de logins e senha para acessar a administração do sistema, mas por
um erro de falta ou falha no projeto de segurança do aplicativo, se o atacante soubesse o caminho
completo da URL da página de alteração de senha do administrador, bastava ele não acessar a
página de autenticação e acessar diretamentea página de alteração de senha do administrador,
sair da mesma e entrar de novo, e por uma falha de controle de sessão ele agora poderia mudar a
senha do administrador ou usar o sistema como se fosse o administrador.
Solução: O fabricante do fórum que é distribuído gratuitamente ainda não forneceu
soluções, então, conforme orientações dos investigadores a própria equipe de desenvolvimento
web da universidade acrescentou umas poucas linhas de código para corrigir a falha de controle
de sessão, mensagem "Birald Hacked Here" foi removida e não foi dado mais andamento ao caso.
CASO 10: Acesso não autorizado a intranet
Certo dia um funcionário que estava de plantão à noite recebeu um telefonema. O sujeito
do outro lado da linha dizia que tinha encontrado uma séria falha de segurança e que poderia
provar isso. O funcionário perguntou como ele poderia provar e ele disse que queria falar com o
diretor ou dono da empresa. O funcionário informou que isso não seria possível e o sujeito
enfatizou que era muito sério, perguntou para qual e-mail ele poderia mandar prova de que estava
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 122/166
falando sério e o funcionário informou um e-mail. Minutos após o funcionário recebeu um e-mail
do sujeito contendo dados de um cliente da empresa. O funcionário ficou preocupado e ligou
imediatamente para o administrador da rede da empresa. Este administrador acionou a equipe de
investigadores e a polícia que passaram a acompanhar o caso.
Os investigadores analisaram todos os logs durante os períodos prováveis do atacante,
iniciando a procurar em logs próximos e anteriores ao telefonema inicial. Juntamente com um
exame de vulnerabilidades da rede, foi possível observar que os administradores da rede haviam
deixado a intranet da empresa funcionando em um IP válido e acessível a partir da intranet.
Assim que se fez uma análise ao vivo do sistema da intranet, observou-se em logs exatamente
quando e como o atacante havia obtido os dados. Havia entradas em log com IP exatamente igual
ao IP que estava no e-mail enviado pelo atacante à empresa. Examinando as entradas em logs foi
possível verificar que se tratava de uma exploração de vulnerabilidade da camada de aplicação. O
aplicativo em linguagem ASP acessava os dados em um banco de dados e estava sujeito ao
ataque de "SQL Injection". O atacante explorou a falha colocando entradas do tipo "' Or 1=1 --"
nos campos de logon da intranet e assim, conseguia passar o sistema de logon da intranet e
obtendo dados internos da empresa. Desta forma a empresa estava com sua intranet
inadvertidamente acessível via internet a ainda por cima com o acesso restrito por senha
vulnerável ao ataque de "SQL injection". O atacante não tinha conhecimento de que sua ação já
havia sido rastreada e devidamente documentada pela equipe de investigadores e continuou a
fazer contatos via e-mail e telefone exigindo uma elevada quantia em dinheiro para não "fazer
nada pior", para "não divulgar as informações obtidas" e para mostrar como corrigir a falha. A
diretoria da empresa foi orientada pelos policiais e pela equipe de investigadores a não reagir
grosseiramente e a não mostrar que já tinha os passos e as ações do atacante, que agia de uma
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 123/166
conexão adsl de sua própria casa e que ligava do telefone de sua casa e de telefônes públicos. O
atacante começou a ser mais ameaçador e com atitude de extorsão, que após documentados seus
rastros em computador, em rede, seus e-mails, com telefonemas gravados e com filmagem em
vídeo de suas atitutes extorsivas, culminou com sua prisão.
CASO 11: SPAM usando e-mail de usuário corporativo
Em apenas um dia cerca de 235000 (duzentos e trinta e cinco mil) e-mails foram
recebidos na conta de um único usuário de e-mail, o alan@sitecliente.com.br
Devido à política de segurança da empresa, que prevê punições para uso indevido de e-
mails, inclusive o envio de e-mails em série. O caso do usuário Alan foi levado à equipe de
forense computacional para investigação e parecer sobre o caso.
O caso foi bastante simples de ser resolvido, bastando analisar o conteúdo interno das
mensagens, que estavam retornando ao usuário alan@sitecliente.com.br como se ele houvesse
enviado a mensagem de propaganda típica de SPAM para milhares de destinos.
O conteúdo típico das mensagens era como o seguinte, que indicava ser uma típica
mensagem de retorno por não ser possível a entrega de mensagem.
************************************************************************
**
Return-Path: <>
Delivered-To: alan@tl7.mailserver.com.br
Received: (ludmail 29484 invoked by alias); 23 Sep 2004 21:00:58 -0000
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 124/166
Delivered-To: alias-sitecliente_com_br-climail@sitecliente.com.br
Received: (ludmail 29466 invoked from network); 23 Sep 2004 21:00:58 -0000
Received: from unknown (HELO tl6.mailserver.com.br) (207.88.159.6)
by tl7.mailserver.com.br with SMTP; 23 Sep 2004 21:00:58 -0000
Received: (ludmail 14848 invoked by alias); 23 Sep 2004 21:01:00 -0000
Delivered-To: alan@sitecliente.com.br
Received: (ludmail 14845 invoked for bounce); 23 Sep 2004 21:01:00 -0000
Date: 23 Sep 2004 21:01:00 -0000
From: MAILER-DAEMON@l6.mailserver.com.br
To: alan@sitecliente.com.br
Subject: failure notice
************************************************************************
**
E trazia o cabeçalho da mensagem original em seu conteúdo, que foi o mais importante
para entender o caso:
************************************************************************
**
Return-Path: <alan@sitecliente.com.br>
Delivered-To: alanis@mailserver.com.br
Received: (ludmail 6844 invoked by alias); 24 Sep 2004 01:17:00 -0000
Delivered-To: alias-sitecliente_com_br-climail@sitecliente.com.br
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 125/166
Received: (ludmail 6841 invoked by alias); 24 Sep 2004 01:17:00 -0000
Delivered-To: alias-sitecliente_com_br-climailredir@sitecliente.com.br
Received: (ludmail 6838 invoked by alias); 24 Sep 2004 01:17:00 -0000
Delivered-To: alias-sitecliente_com_br-sitecliente@sitecliente.com.br
Received: (ludmail 6835 invoked from network); 24 Sep 2004 01:17:00 -0000
Received: from unknown (HELO e10.mailserver.com.br) (200.109.000.10)
by l7.mailserver.com.br with SMTP; 24 Sep 2004 01:17:00 -0000
Received: (ludmail 11994 invoked by alias); 24 Sep 2004 01:17:03 -0000
Delivered-To: alias-sisisi_com_br-alesi@sisisi.com.br
Received: (ludmail 11990 invoked by uid 504); 24 Sep 2004 01:17:03 -0000
Received: from eventrix@eventrix.com.br by e10.mailserver.com.br by uid 0 with
ludmail-scanner-1.22st
(clamuko: 0.65. Clear:RC:0(200.139.97.181):SA:1(13.3/5.5):.
Processed in 0.350576 secs); 24 Sep 2004 01:17:03 -0000
X-Spam-Status: Yes, hits=13.3 required=5.5
X-Spam-Level: +++++++++++++
Received: from unknown (HELO 82AV5RD) (200.000.00.181)
by e10.mailserver.com.br with SMTP; 24 Sep 2004 01:17:02 -0000
From: "Cursos e Eventos" <eventrix@eventrix.com.br>
To: marketing@sitecliente.com.br
Subject: [SPAM?] Fraudes Corporativas
Sender: "Cursos e Eventos" <eventrix@eventrix.com.br>
Date: Thu, 23 Sep 2004 22:09:37 -0300
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 126/166X-Priority: 5
X-MSMail-Priority: Low
Content-Type: text/html; charset="iso-8859-1"
X-ludmail-Scanner-Message-ID: <109598862281311981@e10.mailserver.com.br>
************************************************************************
**
Foi comprovada a inocência do usuário, interrompendo o processo administrativo e da
investigação.
CASO 12: Formmail
Informado por: Administrador de rede corporativa de uma empresa de advocacia.
Descrição: O administrador de rede começou a perceber que o site da empresa, uma
empresa de advocacia, estava tendo lentidão por longos períodos e com uma freqüência cada vez
maior. O fornecedor de conexão à internet foi acionado e o mesmo disponibilizou ao
administrador relatórios gráficos de acesso a sua rede (MRTG) onde se podia observar que os
momentos de lentidão coincidiam com grandes utilizações da banda de internet disponível. O
administrador de redes acionou a equipe de investigadores suspeitando que a rede pudesse estar
sendo utilizada para atacar redes de terceiros ou que dados internos da empresa pudessem estar
sendo metodicamente e freqüentemente roubados. A investigação foi iniciada em nível de rede
com a captura de pacotes para examinar o tráfego suspeito. Foi percebido o fato de que a
quantidade de tráfego era principalmente na porta 25, que é tipicamente utilizada no envio de e-
mails. Foi possível determinar que a máquina responsável por todo o tráfego não era o servidor
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 127/166
de e-mails da empresa e também não era uma máquina de funcionário, cliente de e-mail, mas sim
o servidor web da empresa. A equipe de investigadores examinou os logs da máquina e refinou a
configuração de um IDS (sistema de detecção de intrusão) de rede para determinar o que estava
havendo. Foi possível determinar exatamente o que estava acontecendo. Havia um formulário
para contato dos internautas com os advogados a empresa que era processado via um "script"
(programa) chamado "Formmail". O "script" na versão que estava sendo utilizada permitia que
"spammers" (indivíduos que enviam e-mails de propaganda em massa) se utilizassem de um
"bug" do programa para enviar milhares de e-mails. O exame de logs mostrou que a falha estava
sendo explorada por dezenas e dezenas de "spammers" com IPs originados em todo o mundo.
Alguns dos IPs foram analisados e levavam a conexões discadas com ip variável e locais públicos
de conexão à internet. Os sócios da empresa pretendiam processar os "spammers" na justiça, mas
devido à dificuldade de eliminar o anonimato e de agir em esfera mundial em diferentes
jurisdições a opção final foi de eliminar o bug (a falha) instalando uma nova versão do programa.
CASO 13: Pornografia infantil
Informado por: denuncia anônima
Descrição: A polícia recebeu uma denúncia de comercialização ilegal, tráfico, de imagens
de pornografia infantil via internet. A investigação durou meses e foi feita em conjunto com a
participação da polícia com a equipe de investigadores. Depois de muita pesquisa via internet
pôde-se determinar o provedor de acesso uilizado pelo criminoso. O provedor de acesso, de
forma discreta colaborou com a investigação de forma que foi possível identificar a conta do
usuário a partir das datas no exame de tráfego cruzadas com os horários de conexões do usuário.
O envio de imagens era feito utilizando esteganografia (técnica usada para esconder informações
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 128/166
dentro de imagens) colocando imagens dentro de imagens de paisagens. Isso foi detectado com a
captura e remontagem de sessões de comunicação via internet do suspeito e utilizando software
de detecção de esteganografia. Felizmente a informação esteganografada não estava criptografada
e como estava sendo utilizado um software convencional de esteganografia de fácil detecção foi
possível juntar provas do ilícito. A autorização judicial para grampo telefônico para investigar a
residência de onde partiam as conexões foi essencial para identificar quem dentre os moradores
da residência era o criminoso ou criminosa, pois apesar do ilícito estar claro e já haver provas a
identidade do indivíduo precisava ser também incontestável, afinal qualquer um dentro daquela
casa poderia ser o criminoso. O estudo das ligações telefônicas e do tráfego de rede entrada e
saída, juntamente com um flagrante em delito, foram fundamentais para que o criminoso não
pudesse se eximir das culpas. Em defesa posterior ao flagrante, o criminoso alegou ser inocente e
que alguém deveria ter invadido e estar usando seu computador para o ilícito. Realmente o
computador dele tinha um software cavalo de tróia em execução, mas a equipe de investigadores
já tinha tomado o cuidado de investigar e guardar o tráfego de rede de entrada e saída e
documentando formalmente todo o conteúdo e assim foi possível provar que não havia tráfego
nas portas utilizadas pelo cavalo de tróia na maioria das conexões com ações ilícitas e que o
cavalo de tróia foi plantado pelo próprio acusado para servir de álibi.
CASO 14: Caso checkrootkit porta 465 smtps
Um alerta de gravidade emergencial foi iniciado por um administrador de sistemas de um
cliente que havia instalado um novo servidor de e-mails e resolveu instalar um programa de
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 129/166
detecção de rootkits, chamado checkrootkit e notou que a porta 465 apresentava a seguinte
resposta do programa checkrootkit:
*********************************************
Checking `bindshell'... INFECTED (PORTS: 465)
*********************************************
O administrador de sistemas estava visivelmente transtornado por tratar-se de um sistema
altamente crítico nas comunicações sigilosas da empresa.
A equipe de forense computacional iniciou os seus trabalhos e por tratar-se de ambiente
já conhecido e relativamente controlado conforme orientações anteriores da equipe foi rápido
checar que o servidor não se encontrava comprometido e determinar o alarme como falso
positivo e identificar a causa.
O falso positivo se deu porque devido a um novo sistema implementado neste servidor de
e-mails, o mesmo passou a ter suporte a "secure SMTP" (SMTP seguro) que funciona na porta
465 e provoca falso positivo para o programa "checkrootkit".
CASO 15: Caso de funcionário enviando arquivos de imagem de protótipos de produtos
em indústria
Uma determinada indústria estava com suspeita de que um de seus funcionários estivesse
repassando informações sigilosas sobre novos produtos para um concorrente.
Foi contratada a equipe de investigação em forense computacional para monitorar os
usuários e em especial encontrar rastros de atividades já ocorridas.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 130/166
O funcionário em questão tinha privilégio de acesso a informações confidenciais e seu
acesso aos servidores da empresa era em nível de administrador.
Depois de muitas horas de investigação chegou-se a uma prova que demonstrava a ação
do usuário e, mais ainda a sua intenção de manter ocultas suas ações.
Foi utilizado o utilitário "unrm" do conjunto de ferramentas "The Coroner's Toolkit" e
não foi muita surpresa identificar que o usuário que além de enviar os arquivos de imagens via
FTP, tinha conhecimento dos logs de FTP do servidor e os apagava, assim como editava os
conteúdosde seu arquivo .bash.history, que é o arquivo que guarda os comandos digitados do
usuário. Foi observado que o usuário se conectava via FTP partir de um provedor externo
chamado hackprovider.net fora de seu horário de trabalho, cerca de 22:24hrs. Sendo que na
mesma conexão foi identificada atividade normal do usuário enviando um e-mail à sua equipe de
trabalho e acessando uma extranet da empresa, para atividades normais que somente ele poderia
fazer e que eram atividades em que ele se identificava e se autenticava normalmente, sem
nenhuma tentativa de negativa de autoria, ao contrário apresentou relatório requisitando horas
extras trabalhadas remotamente a partir de sua casa.
Para identificar atividade FTP do usuário suspeito de username usersusp em possíveis
logs apagados, o seguinte comando pesquisou na partição /var (/dev/hda7) que guarda os logs e
encontrou atividade FTP a partir do provedor hackprovider.net :
Comando:
bin/unrm /dev/hda7 | strings -a | grep "usersusp ftp" | more
Parte da resposta:
Wed Mar 24 22:24:16 2004 0 200-181-086-059.space705.dsl.hackprovider.net 0
/path_usersusp/dir/PROT0564.gif a _ d r usersusp ftp 0 * c
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 131/166
Wed Mar 24 22:24:16 2004 0 61-181-86-059.sparce756.dsl.hackprovider.net 0
/path_usersusp/dir/PROT0564.psd a _ d r usersusp ftp 0 * c
Wed Mar 24 22:24:16 2004 0 61-181-86-059.sparce756.dsl.hackprovider.net 0
/path_usersusp/dir/PROT0564.doc a _ d r usersusp ftp 0 * c
O comando "unrm" procura por conteúdos em arquivos apagados, o pipeline "|" passa o
que for encontrado para o próximo comando "strings -a" para obter as strings encontradas e o
comando "grep" filtra o resultado mostrando como resultado apenas o que já estavam procurando
que era uma entrada do usuário usersusp, colocando exatamente como é gravada uma ação de ftp
nos logs daquele tipo de servidor FTP. A indústria em questão solicitou que a equipe continuasse
de forma discreta, inclusive com monitoração de rede e muito mais foi sendo descoberto a
respeito do mesmo usuário avançado e suspeito.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 132/166
CONCLUSÃO
O desenvolvimento deste trabalho de projeto final traz várias conclusões a respeito
do tema estudado de forense computacional como descrito a seguir.
Conhecer as características do ambiente de trabalho de forense computacional foi
um dos resultados mais interessantes entre os obtidos. A determinação extrema dos
profissionais envolvidos nas atividades de forense computacional mostra o quanto a atenção
aos detalhes é necessária, assim como, as formalidades de procedimentos e com a aplicação
do conceito de melhores práticas.
Entender o ambiente de forense computacional como cena do crime resume com
uma analogia de fácil entendimento a realidade da atividade em si. A aplicação minuciosa
de técnicas investigativas na computação forense é, sem dúvida, muito semelhante às
técnicas de perícias investigativas utilizadas em crimes convencionais.
A grande abragência da forense computacional em diversas áreas que envolvem
segurança computacional traz complexidade aos trabalhos a serem realizados na
investigação de cada caso.
A leitura de materiais a respeito do tema principalmente livros e fontes em sites na
internet foram de grande valia para o entendimento da forense computacional. Foi uma
busca exaustiva por informações que se mostrou tão frutífera que tornou a tarefa de síntese
indispensável para apresentar o tema sem excesso de informações.
A pesquisa necessária em busca de informações a respeito de forense computacional
merece especial notação no que diz respeito a sistemas em plataforma Windows devido à
escassez de informações sobre os detalhes de funcionamento dos sistemas de arquivos, em
especial, do NTFS.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 133/166
A compreensão de cada camada de observação em um caso de investigação de
forense computacional ficou mais clara conforme se deu o desenvolvimento teórico e prático
da pesquisa e aplicação de práticas forenses. Pela expressão cada camada entende-se o
nível de investigação. Por exemplo, num caso de investigação de e-mail, pode-se procurar
um e-mail deletado na lixeira do programa de e-mail ou encontrar as informações em um
local bem mais secreto, numa camada ainda mais interna, como diretamente nos mais
baixos níveis do sistema de arquivo ou ainda num ativo de rede ou sistema servidor por
onde o e-mail tenha sido armazenado ao passar. Este exemplo serve para complementar o
entendimento que todo este trabalho procurou demonstrar a respeito dos diferentes níveis,
camadas, do processo investigativo da forense computacional.
A área forense de adquirir, preservar, recuperar e apresentar dados que foram
processados eletronicamente e guardados em uma mídia de computador é a ciência da
forense computacional. A forense computacional está se fazendo cada vez mais presente e
cada vez menos dispensável pelos motivos apresentados neste trabalho sobre o histórico
acelerado de crescimento da base de atividades computacionais nas relações humanas.
O investigador precisa estar perfeitamente sintonizado com os objetivos de cada
caso ao trabalhar com computação forense para minimizar o tempo e a quantidade de
dados que deve recuperar e analisar, maximizando sua eficiência e eficácia. Isso pôde ser
averiguado neste trabalho como indispensável para melhores resultados.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 134/166
As qualidades e experiência do investigador são de extrema importância, mas as
suas características devem estar acrescidas de boas ferramentas e com uma metodologia
excelente. Para isso, todo o trabalho em forense computacional começa muito antes de se
precisar dele, com muito estudo, planejamento e preparação efetiva.
A validade técnica e jurídica das metodologias para recuperar dados de
computadores envolvidos em incidentes de segurança tem se tornado fundamental.
Os procedimentos tem que ser tecnologicamente robustos para garantir que toda a
informação útil como prova seja obtida e também de uma forma a ser legalmente aceita de
forma a garantir que nada na evidência original seja alterado, adicionado ou excluído.
Devido à globalização dos crimes digitais é de fundamental que sejam feitos, em
cada país, esforços constantes a respeito de legislação local, nacional e internacional em
conjunto com a padronização de procedimentos, criação e uso de manuais de boas práticas
aceitas internacionalmente para a forense computacional.
A forense computacional lida com dados físicos, reais, mas numa realidade
metafísica digital, onde os dados físicos são informações elétricas, eletrônicas, magnéticas,
eletromagnética e em outras formas mais ou menos voláteis. Os dados mudam, as
tecnologias mudam, os equipamentos mudam, os conhecimentos mudam, sempre.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 135/166
Ao investigador que trabalha com forense computacional cabe a tarefa de se
preparar cada dia mais. Afinal, sempre haverá trabalho duro a fazer, pois, não existe um
ambiente totalmente seguro e não existe um crime que não deixe rastros, mas os criminosos
e as vítimas continuam existindo. A forense computacional e seus resultados positivos se
fazem acada dia mais necessários.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 136/166
Glossário de siglas e termos
BIOS: "Basic input/output system" - Sistema básico de entrada e saída
ACEs: "Access Control Entries" - Entradas de controle de acesso ACID: Programa de
interface web para o snort
ACK: "acknowledgement code" - Caracter de controle de transmissão
ACLs: "Access Control Lists" - Listas de controle de acesso
ACPO: "United Kingdom's Association of Chief Police Officers" - Associação de oficiais
chefes de polícia do Reino Unido
AIDE: "Advanced Intrusion Detection Environment" - Ambiente avançado de detecção de
intrusões
ASCII "American Standard Code for Information Interchange" - Padrão de código
americano para intercâmbio de informações
ASCLD/LAB: "American Society of Crime Laboratory Directors" - Sociedade Americana
de Diretores de Laboratórios de Crime
ASP: "Active Server Pages" - Tipo de página para internet dinânica com extesão .ASP
browse SMB: "Server Message Block" - Formato de mensagem para compartilhar
arquivos, diretórios e dispositivos
BSD: "Berkeley Software Design" - Versão da Berkeley do sistema operacional UNIX
CMOS: "Complementary Metal Oxide Semiconductor" - Tipo de semicondutor
largamente usado em chips de computador
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 137/166
DACL: "Discretionary Access Control List" - Lista de controle de acesso discricionária
DICT: "Dictionary attack" - Método de quebrar a segurança de sistemas com ataque
baseado em listas de palavras de dicionário
DLL: "Dynamic Link Library" - Biblioteca de funções executáveis ou dados para uso em
aplicações em plataforma Windows.
DNA: "Windows Distributed interNet Applications Architecture" - Nome comercial para
a integração do Windows com a Internet
DNS: "Domain Name Server" - Servidor de nomes de domínios
DoD: "US Department of Defense" - Departamento de Defesa dos Estados Unidos
EA: "Extended Attribute" - Atributos extendidos
EXT2FS: Sistema de arquivos Linux EXT2 (Extendido 2)
EXT3FS: Sistema de arquivos Linux EXT3 (Extendido 3)
F.I.R.E.: "Forensic and Incident Response Environment" - Ambiente Forense e de
Respsota a Incidentes
FAT: "file allocation table" - Tabela de alocação de arquivos
FAT12: "12-bit FAT" - Sistema de arquivos para disquetes, que suporta até 16MB.
FAT16: "16-bit FAT" - Sistema de arquivos FAT do Windows 95
FAT32: "32-bit FAT" - Sistema de arquivos FAT do Windows 98
Linux: Sistema operacional de código livre e aberto
NTFS: Sistema de arquivos do Windows NT, 2000, XP e 2003
BeFS (BeOS): Sistema de arquivos do sistema operacional BeOS
UFS (BSD): Sistema de arquivos nativo do BSD
Netware: Sistema operacional de rede desenvolvido pela Novell Corporation
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 138/166
ReiserFS: Sistema de arquivos Reiser - Possivelmente o mais rápido sistema de arquivos
FBI: "Federal Bureau of Investigation" - Birô Federal de Investigação dos Estados Unidos
Fdisk: Ferramenta para preparar discos rígidos para formatação, examinando, criando ou
modificando partições.
FILE: Arquivo. Coleção de dados que tem um nome, normalmente gravado em um
sistema computacional
FN: "File Name Attribute" - Atributo de nome do arquivo
FSO: "File System Objects" - Componente de acesso ao sistema de arquivos em
plataforma Windows
Ftimes: Ferramenta de linha e coleta de evidência
FTP: "File Transfer Protocol" - Protocolo de transferência de arquivos
SFTP: "SSH File Transfer Protocol" - FTP via SSH
GNU: "GNU's not UNIX" - O GNU que não é Linux - Sistema de software compatível
desenvolvido pela "Free Software Foundation (FSF)" (Fundação do Software Livre).
GPG: "The GNU Privacy Guard" - Uma ferramenta livre substituta do PGP para
criptografia de arquivos e e-mails
GPL: "General Public License" - Licença pública de uso geral que acompanha vários
softwares de código aberto a respetio de poderem ser livremente copiados, distribuídos e
modificados.
GUI: "Graphical User Interface" - Interface gráfica para o usuário
HD: "Hard Disk" - Unidade de armazenamento em disco rígido
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 139/166
HPFS: "High Performance File System" - Sistema de arquivos criado para o OS/2 da IBM
para superar as limitações do sistema FAT
HTML: "HyperText Markup Language" - Linguagem usada para criar documentos para a
web
HTTP: "HyperText Transfer Protocol" - Protocolo usado na Internet que define como as
mensagens (conteúdo de páginas) são formatadas e enviadas
HTTPS: "Secure HTTP" - HTTP com uso de criptgrafia SSL na transmissão.
IACIS: "The International Association of Computer Investigative Specialists" -
Associação Internacional de Especialistas em Computação Investigativa
IBM: "International Business Machines" - A maior empresa de computadores do mundo
fundada em 1911
ID code: Código de Identificação
IDS: "Intrusion Detection System" - Sistema de detecção de intrusão
IHCFC: "International Hi-Tech Crime and Forensics Conference" - Conferência
Internacional de Crimes de Alta Tecnologia e Forense
IIS: "Internet Information Server" - Servidor web da microsoft que roda em plataforma
Windows
ISS: "Internet Security Systems" - Empresa de pesquisa, produtos e serviços de segurança
da informação.
IOCE: "International Organization on Computer Evidence" - Organização Internacional
em Evidência Computacional
IP: "Internet Protocol" - Especifica o formato dos pacotes (datagramas) e o esquema de
endereçamento de rede.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 140/166
iperf : Mede a performance do IP.
ipsc : Calculadora de sud-rede IP.
IPSEC: "IP Security" - Um conjunto de protocolos desenvolvidos pelo IETF para suportar
a troca segura de pacotes na camada IP.
iptraf: Ferramenta de monitoração de tráfego de rede
IrcII: Éum cliente de IRC e ICB que funciona na maioria das plataformas UNIX
IRPAS: Internet Routing Protocol Attack Suite
IRC: "Internet Relay Chat" - Sistema de conversas informais via escrita em meio
eletrônico.
IRPAS: "Internet Routing Protocol Attack Suite" - Ferramenta UNIX de comando de
linha útil para detectar novas vulnerabilidades de roteamento.
IRS-CID: "The Internal Revenue Service Criminal Investigation Division" - Divisão de
Serviços de Investigação Criminal Interna dos Estados Unidos
JPG: "Joint Photographic Experts Group" - Formato de imagem com compressão baseada
em cores
kerberos: Sistema de autenticação para comunicação entre dois pontos através de uma
rede insegura, baseado em tickets únicos.
LDAP: "Lightweight Directory Access Protocol", um conjunto de protocolos para acessar
diretórios de informação, baseado no X.500, mas mais simples.
LDE: "Linux Disk Editor" - Editor GNU de disco para Linux, originalmente escrito para
ajudar na recuperação de arquivos apagados.
MBOX: "Linux MBOX format" - Formato de arquivamento de mensagens de e-mail em
arquivos únicos
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 141/166
MailDir: Formato de arquivamento de e-mails em arquivos distribuídos em diretórios
MACTimes: "Modified, Access, and Change Times" - Datas de criação, acesso,
modificaçãoe deleção
MBR: "Master Boot Record" - Um pequeno programa que é executado quando um
computador é inicializado, que procura pela tabela de partições para determinar que partição usar
para a inicialização.
MD5: "Message Digests 5 (digital signatures)" - Algoritmo de hash de assinatura digital
MD5sum: Soma de verificação do algoritimo MD5
MFT: "Master File Table" - Tabela de arquivos mestre do NTFS
Mozilla: Programa de navegação em páginas na internet ("browser")
MRTG: multi router traffic grapher - Sistema gráfico de representação de tráfego de rede.
mtr : traceroute tool - Ferramenta de traceamento de rotas.
Napster: Programa de compartilhamento de músicas na internet. nbtscan: "Scan SMB
networks" - Scanner de redes SMB
netstat, Fport, psservice: Programas identificadores de portas em estado de escuta.
netstat, route: Programas para examinar tabelas de roteamento
Netware: sistema de rede local da Novell.
Ngrep: Ferramenta para a maioria das características
do grep aplicada à camada de rede.
NIDS: Comando utilizado para iniciar manualmente o IDS na Rede.
nikto: Scanner CGI.
Nmap: Ferramenta livre para scanear redes.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 142/166
NT Resource Kit - Kit de aplicativos adicionais do NT.
NTFS: Sistema de arquivos NT.
ntop 2.1.0 : "network top", analisador de protocolos de rede
OS: Sistema operacional
p0f: passive OS fingerprinter - Detector passivo de sistema operacional
pasco: Navegador para o arquivo index.dat do Internet Explorer
Perl - "Practical Extraction and Report Language" Linguagem de programação
desenvolvida por Larry Wall, desenhada principalmente para processamento de texto.
PHP - Auto referência para "PHP: Hypertext Preprocessor" Linguagem de programação de
código aberto, "server-side" para criação de scripts em conjunto com HTML usada para criação
de páginas web dinâmicas.
PostgreSQL: Sistema de banco de dados
PPP: "Point-to-Point Protocol" - Protocolo para conectar um computador à internet.
Mais estável que o antigo SLIP.
Prompt: Símbolo para indicar queo computador está pronto aguardando uma entrada de
dados ou commandos.
psfile, listdlls, Fport. Identificar arquivos abertos não usuais
pslist, psinfo, psfile: Identificar processos anormais
Psloggedon - Identificar os donos dos processos
psloggedon, nbtstat: Identificar usuários logados
pwl9x: crack Win9x password files
RAM: "Random Access Memory" - Memória volátil do sistema em computadores
periféricos e impressoras..
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 143/166
rcrack: rainbow crack - Programa de quebra de códigos.
RDA: is a computer forensics tool to remotely acquire data.
Registro MFT: Registro na tabela MFT do NT.
ReiserFS: Sistema de arquivos Reiser
Rlogin: Sistema de login remoto para sessão de terminal.
Rootkits - Kits prontos tipicamente usados para facilitar o trabalho de exploração de
sistemas e ou invasões de sistemas.
RPC: "Remote Procedure Call" - Um tipo de protocolo que permite a um programa
executar um programa em outro computador servidor.
rrdtool : round robin database
SACL: System Access Control List
samba : opensource SMB support
SCM: Security Configuration Manager
SD: Security Descriptor
SD: Security Descriptor Attribute:
sha1sum: Soma de verificação do algoritmo de hash SHA1.
SI: Standard Information Attribute - Atributo de informação padrão
SMTP: Simple Mail Transfer Protocol - Protocolo para envio de mensagem de correio
eletrônico (e-mail) a um servidor.
Snort IDS: Programa popular, software livre. Sistema de Detecção de Instrusões.
SOPs: Standard Operating Procedures
SPAN: espelhamento de portas
SSH - "Secure Shell" - Programa cliente-servidor de shell seguro para acesso remoto.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 144/166
SSL: "Secure Sockets Layer" - Camada de soquetes seguros - Desenvolvida pela
netscape para transmissão cifrada de páginas web com criptografia assimétrica, com uso de
chaves privadas, públicas e certificados.
ssldump is an SSLv3/TLS
super-freeSWAN 1.99.8 : kernel IPSEC support
super-freeSWAN 1.99.8: kernel IPSEC support
swap: Área de paginação de memória em uma partição de disco rígido.
SWGDE: (Scientific Working Group on Digital Evidence) Grupo de Estudo Científico em
Evidencia Digital
SWGDOC: Questioned Documents (Documentos questionados) Grupo de Estudo
Científico a Respeito de Documentos
syslogd: Sistema de logs.
TASK: Nome como o "Sleuth Kit" era conhecido.
TCP: "Transmission Control Protocol" - (Protocolo de controle de transmissão). O TCP
é um dos principais protocolos em redes TCP/IP.
Tcpdstat:
TCPDump: Capturador de pacotes de redes, popular e muito robusto.
tcptrack : track existing connections
TCT: The Coroner's Toolkit - O kit do agente funerário, nas verdade um kit de programas
para a forense computacional.
tctutils : Utilitários do TCT citado acima.
TELNET: Software de acesso remoto
Testdisk: Teste de disco
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 145/166
THC's: network mapper - Mapeador de rede
TNEF: Transport Neutral Encapsulation Format - Sistema proprietário da Microsoft para
formatação de e-mails e seus anexos.
UNIX: Sistema operacional multi-usuário popular desenvolvido pela Bell na década de
70.
URL: "Uniform Resource Locator" - Endereço web na internet.
US Postal Inspection Service - Serviço de inspeção postal dos Estados Unidos
US Secret Service: Serviço secreto dos Estados Unidos
VCN: virtual cluster number - Número de cluster virtual
VNC: "Virtual Network Computing" - Programa de acesso remoto gráfico
VPN: "Vitual Private Network" - Rede privada virtual
VPN fingerprinting: Identificador de VPN
WIDZ: Wireless IDS - Sistema de detecção de intrusão para rede sem fio.
zz: "zombie zapper kills DDoS zombies" - Programa que elimina zumbis de ataque
distribuído
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 146/166
Bibliografia
Arquiteturas e estruturas NTFS - http://www.pcguide.com/ref/hdd/file/ntfs/arch_MFT.htm
ASCLD Accreditation - American Society of Crime Laboratory Directors -
http://www.ascld.org/accreditation.html
Astonsoft PC DoorGuard virus encyclopedia -
http://www.ultrasoftware.net/viruslist/info.asp?id=trojan
Atributos de arquivos NTFS - http://www.pcguide.com/ref/hdd/file/ntfs/files_Attr.htm
AusCERT - Australia's National Computer Emergency Response Team -
http://www.auscert.org.au/
Beginners Guides: Hard Drive Data Recovery - PCStats.com
Biblioteca Mhash - http://schumann.cx/mhash/
CERT® Advisory CA-2001-19 "Code Red" Worm Exploiting Buffer Overflow In IIS Indexing
Service DLL - http://www.cert.org/advisories/CA-2001-19.html
CERT® Advisory CA-2001-23 Continued Threat of the "Code Red" Worm -
http://www.cert.org/advisories/CA-2001-23.html
Code Red - Windows 2000, IIS 5.0 -
http://www.microsoft.com/technet/itsolutions/security/tools/iis5chk.asp
Código fonte do AIDE - http://www.cs.tut.fi/~rammer/aide.html
Compilador ANSI C (GCC) - http://www.gnu.org/sofware/gcc/gcc.html
Computer Forensics and Forensic Computing - Computer Forensics Expert - Judd Robbins -
http://knock-knock.com/expert/forensic.htm
Computer ForensicsTools & Software - http://www.forensics.nl/tools/
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 147/166
Computer Forensics, Cybercrime and Steganography Resources -
http://www.forensics.nl/filesystems
Computer Forensics, Cybercrime and Steganography Resources - http://www.forensics.nl/
DATA RECOVERY SERVICES - http://www.datarecovery.net/Forensics.asp
Detalhes completes a respeito do "Code Red" - ANALYSIS: .ida "Code Red" Worm -
http://www.eeye.com/html/Research/Advisories/AL20010717.html
Detecting Backdoors - http://www.icir.org/vern/papers/backdoor/
Dicionário de computador Webopedia - O que é "trojan horse" (cavalo de tróia) -
http://www.webopedia.com/TERM/T/Trojan_horse.html
Digital Evidence: Standards and Principles - Scientific Working Group on Digital Evidence
(SWGDE) - International Organization on Digital Evidence (IOCE) - October 1999 U.S.
Department of Justice - Federal Bureau of Investigation -
http://www.fbi.gov/hq/lab/fsc/backissu/april2000/swgde.htm
Digital Evidence: Standards and Principles, by SWGDE and IOCE (Forensic Science
Communications, April 2000) - http://www.fbi.gov/hq/lab/fsc/backissu/april2000/swgde.htm
Diretórios e arquivos NTFS - http://www.pcguide.com/ref/hdd/file/ntfs/files_Files.htm
E-card Sneakware Delivers Web Porn - http://www.securityfocus.com/news/1350
eTrust PestPatrol Pest Encyclopedia - Cytron - http://www.pestpatrol.com/PestInfo/C/Cytron.asp
Flávio de Souza Oliveira em "METODOLOGIAS DE ANÁLISE FORENSE PARA
AMBIENTES BASEADOS EM NTFS"
G8 Proposed Principles For The Procedures Relating To Digital Evidence -
http://www.ioce.org/2002/G8%20Proposed%20principles%20for%20forensic%20evidence.pdf
GNU Bison - ftp://ftp.gnu.org/pub/gnu/bison/
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 148/166
GNU Flex - ftp://ftp.gnu.org/pub/gnu/flex/
GNU Make - ftp://ftp.gnu.org/pub/gnu/make
Google - Pesquisas de páginas na Web - http://www.google.com.br
Hidden Threat: Alternate Data Streams -
http://www.windowsecurity.com/articles/Alternate_Data_Streams.html
Honeypots, Intrusion Detection, Incident Response - http://www.incident-response.com/
http://www.agilerm.net/webmedia.php
http://www.eeye.com/html/ - eEye Digital Security
http://www.eeye.com/html/Research/Tools/codered.html - Scanner de detecção de CodeRed da
eEye Digital Security
http://www.pcstats.com/articleview.cfm?articleID=1139
Linux Project - NTFS Documentation - http://linux-ntfs.sourceforge.net/ntfs/help/layout.html
Lista de discussão sobre forense - http://www.securityfocus.com/forums/forensics/intro.html
Livro "Hackers adolescentes"
Livro "Hackers - Resposta e Contra-Ataque"
Marcelo Abdalla dos Reis e Paulo Lúcio de Geus da Universidade Estadual de Campinas
Instituto de Computação em: "Analise Forense de Intrusões em Sistemas Computacionais:
Técnicas, Procedimentos e Ferramentas"
Mark Russinovich - Articles - Windows Network Magazine -
http://www.win2000mag.com/Authors/AuthorID/76/76.html
Mark Russinovich em Exploring NTFS On-disk Structures -
http://www.win2000mag.com/Article/ArticleID/15720/15720.html
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 149/166
Mark Russinovich em Inside Win2K NTFS, Part 1 -
http://www.win2000mag.com/Article/ArticleID/15719/15719.html
Mark Russinovich em Inside Win2K NTFS, Part 2 -
http://www.win2000mag.com/Windows/Articles/ArticleID/15900/pg/1/1.html
Microsoft security bulletin for the .ida hole (Boletim da Microsoft sobre o furo de segurança do
.ida) -
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS01-
033.asp
National Infrastructure Protection Center (NIPC) - Publications - CyberNotes - 2002 -
http://www.nipc.gov/cybernotes/cyber2002.htm
NTI - Master File Table Defined - http://www.forensics-intl.com/def11.html
Página criada pelos desenvolvedores do W2K.Stream -
http://viry.bonusweb.cz/kniha_o_virech/ntfs.html
PCGuide - Ref - New Technology File System (NTFS) -
http://www.pcguide.com/ref/hdd/file/ntfs/index.htm
PCGuide - Ref - New Technology File System (NTFS) -
http://www.pcguide.com/ref/hdd/file/ntfs/archMFT-c.html
Permissões no NTFS - http://www.pcguide.com/ref/hdd/file/ntfs/secPerm-c.html
PostgreSQL - http://www.postgresql.org/
Projeto Honeynet - http://project.honeynet.org/
Recovering and Examining Computer Forensic Evidence - October 2000 Volume 2 Number 4
- U.S. Department of Justice - Federal Bureau of Investigation -
http://www.fbi.gov/hq/lab/fsc/backissu/oct2000/computer.htm
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 150/166
Recuperação de dados Active@ UNDELETE. Restore Deleted Files - http://www.active-
undelete.com/
Redepar recuperação de dados - http://www.redepar.com.br/servicos/forense.htm
Scientific Working Group on Digital Evidence - http://ncfs.org/swgde/index.html
SecurityFocus HOME Infocus: Windows Forensics: A Case Study, Part 1 -
http://www.securityfocus.com/infocus/1653
Sistemas de arquivos de PC - http://www.pcguide.com/ref/hdd/file/file.htm
Sistemas de arquivos mais comuns atualmente - http://www.pcguide.com/ref/hdd/file/os.htm
TCPDump - http://www.tcpdump.org/
The Aide manual, Rami Lehti <rammer@cs.tut.fi> - aide-0.10\doc\manual.html
The Coroner?s Toolkit - http://www.porcupine.org/forensics/tct.html
US CERT - http://www.us-cert.gov/
Vulnerabilidade do .dda - http://www.eeye.com/html/Research/Advisories/AD20010618.html
What Forensic Analysts should know about NT ALTERNATE DATA STREAMS (ADS) -
http://www.dmares.com/maresware/articles/ads.htm
Who is SWGDE and what is the history? - SWGDE_History.pdf, Mark M. Pollitt, 22/01/2003
Windows IT Pro forensics -
http://search.winnetmag.com/query.html?col=windows&ht=0&qp=windows%3A1&qs=&qc=&p
w=100%25&ws=0&la=en&st=1&nh=10&lk=1&rf=0&rq=1&fs=&si=1&oq=&qt=forensics
Using The Coroner's Toolkit : Rescuing files with lazarus - http://www.cert.org/security-
improvement/implementations/i046.03.html
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 151/166
ANEXOS
Roteiro de apresentação: forense computacional e uso de cópia pericial.
Roteiro de apresentação de procedimentos
Caso de exemplo com linhas gerais dos passos aplicados em apresentação deste trabalho.
Cena: Análise forense de um disquete encontrado em cesto de lixo de secretária suspeita de
manipular informações sigilosas do gabinete em que tragalha em determinado órgão do gorverno.
Este disquete estava com uma etiqueta escrito jogos e foi encontrado aparentemente vazio,
juntamente com materiais de colagem e pintura da filha da secretária. A decisão para
procedimento inicial foi partir para uma cópia pericial do disquete para poder ser feita
investigação preservando-se a possível prova. O resultado final foi perceber que realmente foram
encontrados dois arquivos de jogos apagados no disquete, um executável e um arquivo de dados,
ambos do jogo infantil "Supera Mariver". Entretanto, havia também arquivos apagados
anteriormente ao jogo, em especial uma planilha do Microsoft Excell.
Apresentação das linhas gerais de procedimentos para demosntrar o funcionamento da base da
investigação de forense computacional aplicável a este caso da cena hipotética relatada:
Foi inicializado um computador utilizando o "KNOPPIX Linux Live CD"
O ambiente de "shell forense" foi escolhido, para permitir a guarda do histórico dos comandose
respostas dos comandos utilizadas.
Para usar este ambiente de shell forense no "KNOPPIX Linux", foi utilizado:
### Botão direito > forensics > forensics shell
Foi utilizado o utilitário kbdconfig que possui uma interface simples para configurar o teclado do
sistema conforme o teclado utilizado:
# kbdconfig
> portuguese
> pt-latin1
Foi criado o diretório de nome "el" na partição em memória /ramdisk para ser usado pelo
"Evidence Locker" do Autopsy.
# mkdir /ramdisk/el
Foi criado o diretório de nome "img" na partição em memória /ramdisk:
# mkdir /ramdisk/img
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 152/166
A prova, no caso, o disquete encontrado, foi devidamente identificado com etiqueta assinada
pelas testemunhas presentes e anotadas as identificações destas pessoas.
Para preservação da prova foi feita uma cópia pericial.
A ferramenta utilizada para a cópia dos dados foi o "dd" que faz cópias em baixo nível copiando
o arquivo da origem especificada usando os blocos de entrada e saída especificados.
# mkdir /arquivoimg
# dd if=/dev/fd0 of=/arquivoimg/arquivo1.dd bs=1024
A prova agora já devidamente identificada e copiada, foi lacrada e guardada em local seguro
iniciando uma cadeia de custódia para a mesma.
Para examinar as características básicas do arquido de imagem usamos o comando "file":
# file /ramdisk/img/arquivo1
No ambiente gráfico do KNOPPIX Linux foi iniciado o navegador ("browser") Mozilla. (
Ctrl+Alt+F5 _ Botão direito > internet > mozilla ), pois, em seguida será utilizado e por já estar
aberto facilitou copiar a URL a ser utilizada.
Em seguida, foi iniciado o aplicativo "autopsy" no "shell":
/usr/bin/forensics/autopsy/autopsy -d /ramdisk/el 8898
A URL apresentada na inicialização, foi selcionada para copiar para a área de transferência;
No navegador Mozilla foi acesada a URL para fazer uso do Autopsy via navegador.
Então, foram utilizados os seguintes passos:
### Open Case > New case. Preencher dados do formulário > OK
### ADD host , indicação de Timezone > OK
### ADD image
### location /arquivoimg/arquivo1.dd
### copy to evidence locker
### File system type fat12
### Original Mount Point \mnt\floppy
A partir daí, houveram demonstrações de como o programa Autopsy funciona de diversas formas
para investigação dos dados encontrados, inclusive arquivos já anteriormente apagados e os
conteúdos de dados de arquivos apagados contidos na imagem examinada, a qual corresponde a
uma cópia fidedigna da prova original.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 153/166
Manual do AIDE (Tradução livre por Daniel Lim-Apo)
"The Aide manual", Rami Lehti <rammer@cs.tut.fi>
aide-0.10\doc\manual.html
O que é o AIDE?
AIDE (Advanced intrusion detection environment) é um programa de detecção de
intrusões. Mas especificamente um programa para checar a integridade de arquivos.
O AIDE constrói um banco de dados de arquivos, conforme especificado em aide.conf, o
arquivo de configuração do AIDE. O banco de dados do AIDE guarda vários atributos de
arquivo, incluindo: permissões, número de inode, usuário, grupo, tamanho do arquivo, mtime
(alteração), ctime (criação) e atime (acesso), "growing size" e número de links. O AIDE também
cria um cálculo de verificação (checksum) criptográfico ou "hash" de cada arquivo usando a
combinação de um ou mais dos seguintes algorítimos: sha1, md5, rmd160, tiger (crc32, haval e
gost estão sendo compilados e mhash support estará disponível).
Tipicamente um administrador de sistemas criará um banco de dados AIDE em um
sistema novo antes de colocá-lo em rede. Este primeiro banco de dados do AIDE é uma
fotografia do sistema em seu estado normal e o yardstick no qual todas as atualizações
subseqüentes e mudanças serão medidas. O banco de dados deve conter informação sobre os
arquivos binários chave do sistema, bibliotecas, arquivos "headers" e todos os arquivos que são
necessários para manter o sistema em funcionamento. O banco de dados provavelmente não
precisa conter informações sobre arquivos que freqüentemente alterados como arquivos de log,
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 154/166
caixas postais de e-mails, sistemas de arquivo "proc", diretórios de usuários ou diretórios
temporários.
Depois de um incidente de quebra de segurança, um administrador deve começar a
examinar o sistema através de ferramentas como "ls", "ps", "netstast" e "who", que são as
ferramentas mais comumente substituídas por cavalos de tróia. Suponha-se que o "ls" alterado
pelo atacante tenha um filtro para não exibir nenhum arquivo chamado "sniffedpackets.log", que
seria o nome que o atacante escolheu para um arquivo onde guarda o conteúdo dos pacotes
capturador por seu "sniffer", e que o "ps" e o "netstat" tenham sido re-escritos para não mostrar
nenhuma informação de um processo chamado "sniffdaemond", que seria um programa sniffer do
atacante. Assim, mesmo um administrador que previamente imprimiu em papel as datas e
tamanhos dos arquivos de sistemas não terá certeza de que os arquivos chave do sistema não
foram modificados de alguma forma ao efetuar uma comparação. As datas e tamanhos dos
arquivos podem ser manipulados, inclusive alguns "root-kits" melhores tornam isso trivial.
Enquanto é possível manipular data e tamanhos de arquivos, é muito mais difícil
manipular um simples cálculo de verificação (cheksum) como o md5 e exponencialmente mais
difícil manipular cada cálculo de verificação (cheksum) de um "array" inteiro de cálculos de
verificação (cheksums) que o AIDE suporta. Um administrador de um sistema pode rapidamente
identificar mudanças em arquivos chave e ter um nível altíssimo de confiança quanto à precisão
dos resultados.
Infelizmente o AIDE não pode prover certeza absoluta a respeito de mudança nos
arquivos. Assim como os arquivos do sistema, os binários do AIDE podem ser alterados.
Compilando o AIDE
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 155/166
Depois de obter o código fonte do AIDE e descompactar, basta entrar no diretório e usar:
# ./configure
# make
# make install
Obtendo o que é necessário
Antes de compilar o AIDE, você deve ter:
* Um compilador ANSI C (GCC vai funcionar) -
http://www.gnu.org/sofware/gcc/gcc.html
* GNU Flex - ftp://ftp.gnu.org/pub/gnu/flex/
* GNU Bison - ftp://ftp.gnu.org/pub/gnu/bison/
* GNU Make - ftp://ftp.gnu.org/pub/gnu/make
* Código fonte do AIDE - http://www.cs.tut.fi/~rammer/aide.html
* Biblioteca Mhash - http://schumann.cx/mhash/
* E, se quiser usar o PostgreSQL para armazenamento de dados deve-se ter a biblioteca de
desenvolvimento do PostgreSQL instalada (postgres sql developer library) -
http://www.postgresql.org/
Uma vez que se tenha o código fonte do AIDE deve-se descompatá-lo. Tendo o "GNU
tar" , então o comando é:
# tar zxvf aide-versao.tar.gz
Configuração da compilação
Em seguida, você deve configurar o "script" encontrado no código fonte do AIDE para
configurar o processo de compilação.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 156/166
Há diversas opções que se pode dar ao configurar. Pode-se encontrar quais são as opções
disponíveis com o comando "# ./configure --help". A maioria das vezes não é necessário dar
nenhuma opção. Pode-se apenas usar "./configure"sem nenhum parâmetro.
Se for usado o pacote de expressões regulares GNU, utiliza-se a opção "--with-gnu-
regexp". Em sistemas operacionais nos quais há um implementação com bug do regexp deve ser
usada esta opção.
Se for alterado o diretório onde o AIDE está instalado, deve-se usar a opção --prefix. Por
exemplo, "# ./configure --prefix=/usr"
Compilação e instalação
A compilação é feita simplesmente digitando "make". Você pode, em seguida, digitar
"make install" para instalar os binários e as páginas de manual. Os binários devem ser instalados
em um mídia "read-only" (apenas leitura) ou em outro lugar à prova de alterações. Os banco de
dados também devem ser guardados em algum lugar onde um possível invasor não possa alterá-
los.
Configuração
Em seguida, cria-se um arquivo de configuração. A documentação a respeito é encontrada
na página de manual do "aide.conf". Aqui estão alguns poucos indicadores para o que se procura.
Há três tipos de linhas no arquivo "aide.conf":
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 157/166
- Linhas de configuração - usadas para determinar os parâmetros de configuração e definir
ou esvaziar (define/undefine) variáveis;
- Linhas de seleção - indicam que arquivos vão ser adicionados ao banco de dados
- Linhas macro - Define ou esvaziam (define/undefine) variáveis dentro do arquivo de
configuração;
- Linhas iniciadas com # (buffer - jogo da velha) são ignoradas como sendo comentários.
Abaixo segue um exemplo de arquivo de configuração:
#*****
#AIDE conf
# Here are all the things we can check - these are the default rules
#
#p: permissions
#i: inode
#n: number of links
#u: user
#g: group
#s: size
#b: block count
#m: mtime
#a: atime
#c: ctime
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 158/166
#S: check for growing size
#md5: md5 checksum
#sha1: sha1 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum
#R: p+i+n+u+g+s+m+c+md5
#L: p+i+n+u+g
#E: Empty group
#>: Growing logfile p+u+g+i+n+S
# You can alse create custom rules - my home made rule definition goes like this
#
MyRule = p+i+n+u+g+s+b+m+c+md5+sha1
# Next decide what directories/files you want in the database
/etc p+i+u+g #check only permissions, inode, user and group for etc
/bin MyRule # apply the custom rule to the files in bin
/sbin MyRule # apply the same custom rule to the files in sbin
/var MyRule
!/var/log/.* # ignore the log dir it changes too often
!/var/spool/.* # ignore spool dirs as they change too often
!/var/adm/utmp$ # ignore the file /var/adm/utmp
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 159/166
#*****
Aqui foram incluídos os arquivos em /etc, /bin e /sbin. E também foi incluído o /var, mas
ignorados o /var/log, o /var/spool e o arquivo específico /var/adm/utmp. É normalmente uma boa
idéia ignorar diretórios que mudam freqüentemente, ao menos que você queira ler longos
relatórios. É uma boa prática excluir diretórios de arquivos temporários, mail spools, diretórios de
log, sistemas de arquivos "proc", diretórios de usuários, diretórios com conteúdo par aa web, tudo
o que muda regularmente. É uma boa prática incluir todos os binários de sistema, bibliotecas,
arquivos "include" e arquivos de códigos fonte de sistema. Também será uma boa idéia incluir
diretórios que você normalmente não monitora como /dev /usr/man/.*usr/. Claro que você não vai
querer incluir muitos arquivos por questão de praticidade, mas pense a respeito do que você deve
incluir. Por exemplo, se você tem um bloco do dispositivo (block device) o qual o proprietário
sempre altera você pode apenas gravar os atributos que normalmente não mudar (inode,número
de links,ctime). Note que se você está se referindo a um arquivo específico, você deve adicionar
um $ (cifrão) ao final da expressão regular (regexp). Assim, a expressão regular vai checar o
nome do arquivo exatamente e não vai incluir quaisquer outros arquivos que tem o mesmo início.
Por exemplo, se não houvesse um sinal de cifrão no final da linha, significaria que todos os
arquivos com nome começando com /var/adm/utmp seriam ignorados. Assim, um atacante
poderia criar um diretório chamado /var/adm/utmp_root_kit e colocar todos os arquivos que
quisesse ali e eles seria ignorados pelo AIDE.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 160/166
Problemas com o seu arquivo de configuração
Fazer um arquivo de configuração é bastante trabalhoso e deve ser feito caso a caso. Esta
seção mostra algumas dicas sobre como depurar o seu arquivo de configuração.
Pode-se usar "aide --verbose=255" para gerar um monte de saídas de depuração para
ajudar você a ver que arquivos serão adicionados e quais serão descartados. Para realmente
entender as regras do AIDE uma sugestão é ler um bom livro sobre expressões regulares
(regexps) e a seguinte seção.
Entendendo as regras de comparação do AIDE (Aide rule matching)
Antes de ler esta parte, deve-se ter um conhecimento básico sobre como expressões
regulares funcionam. Há diversos bons livros sobre isto. Diversos livros de Perl tem boas
explanações sobre este assunto. É bom lembrar que o Perl tem algumas extensões para as
expressões regulares comuns. As expressões regulares são trabalhadas da mesma forma sem
depender da plataforma escolhida para sua implementação.
No processo de inicialização o AIDE cria uma árvore de regras de expressões regulares.
Cada tipo de regra é colocado em uma lista separada de cada nó na árvore. Então nós temos um
lista de regras iguais, uma lista de seleções e uma seleção negativa de todos os nós. Estas listas
devem estar vazias. O nó no qual uma regra é colocada é determinado pela primeiro caracter
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 161/166
especial na expressão regular da regra. Por exemplo !/proc será colocado no nó raiz. Enquanto,
!/proc/.* será colocado no nó /proc.
Também, na frente de cada regras o AIDE adiciona um implícito ^.
Quando o AIDE faz uma checa se uma regra combina (rule matching) ele usa o seguinte
algorítimo. O seguinte é uma adaptação de pseudo-código do src/gen_list.c.
check_node_for_match(node,filename)
if(no deeper match found)
check(equals list for this node)
if(no deeper match found)
check(select list for this node)
check_node_for_match(nodes parent,filename)
if(this file is about to be added)
check(negative select list for this node)
return (info about whether this file should be added or not and how)
Armadilhas
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 162/166
Há alguns efeitos colaterais neste algorítimo que podem parecer estranhos à primeira
vista. Por exemplo, com as seguintes regras:
/ R
=/etc R+a
!/etc/ppp/logs
O resultado poderia ser que /etc e todos os arquivos dentro dele e dentro de /etc/ppp
exceto /etc/ppp/logs seriam adicionados ao banco de dados. Isto é perfeitamente normal. Isto
aconteceporque o =/etc combina não apenas com /etc, mas também com todos os arquivos dentro
dele. Lembre-se que expressões regulares combinam exatamente com a parte à que elas se
referenciam. O resto da linha é incluída por padrão. Então, =/etc$ R+a pode ser a forma correta.
Se você não quer ter o !/etc/ppp/logs você deve obter os resultados pelos quais você está
procurando. Não há nó /etc na árvore de expressões regulares e por isso ele não é checado quando
o AIDE constrói a lista de arquivos a adcionar ao banco de dados. Mas quando você tem as regras
negativas /etc e /etc/ppp são criados e eles tem são checados quando a lsita de arquivos é gerada.
Então, o =/etc é usado para encontrar uma combinação naqueles nós e isso é bem sucedido.
Considere as seguintes regras:
/ R
=/var/log/messages$ R+a
!/var/log/messages.*
Isto é o que deve-se escrever se quiser checar o /var/log/messages mas não
/var/log/messages.0, /var/log/messages.1, etc. Entretanto desde que uma seleção negativa de
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 163/166
regras sejam checadas por último e .* possa combinar com uma string vazia /var/log/messages
não é adicionado ao banco de dados. A seguir uma forma mais correta para fazer isto:
/ R
=/var/log/messages$ R+a
!/var/log/messages\.[0-9]$
Agora, apenas os arquivos messages terminando com um número de 0 a 9 não são
incluídos ao banco de dados. Nota-se que um atacante pode camuflar um "rootkit" criando um
diretório chamado messages.9. Se messages.9 ainda não existia aí está.
Uso
Primeiro deve-se criar um banco de dados diante do qual futuras checagens serão
executadas. Isto é feito imediatamente depois do sistema operacional e aplicativos terem sido
instalados e antes de a máquina ser colocada em rede. Pode-se fazer isso dando o comando "aide
--init". Isto cria um banco de dados que contém todos os arquivos que foram selecionados em seu
arquivo de configuração. O novo banco de dados criado deve ser movido para um local seguro tal
como uma mídia apenas para leitura (read-only). Deve-se também colocar o arquivo de
configuração e os binários do AIDE e preferencialmente as páginas de manual e este manual
naquela mídia também. Por favor, lembre-se de editar o arquivo de configuração para que o
banco de dados de entrada (input) seja lido a partir daquela mídia apenas para leitura (read-only).
O arquivo de configuração não deve ser guardado na máquina alvo. O atacante pode ler o arquivo
de configuração e alterá-lo ou mesmo sem altera-lo poderá colocar o seu "rootkit" em um lugar
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 164/166
que o AIDE não esteja configurado para checar. Então, a mídia apenas para leitura (read-only)
deve ser acessível somente durante a checagem.
Pode-se agora checar a integridade dos arquivos. Isto pode ser feito dando o comando
"aide --check". O AIDE agora lê o banco de dados e compara-o aos arquivos encontrados no
disco. O AIDE poderá encontrar mudanças em lugares inesperados. Por exemplo, os dispositivos
tty mudam freqüentemente os proprietários e permissões. Conforme as especificações de
configuração podem ser gerados longos relatórios, o que pode ser uma opção pessoal, mas
certamente não será a escolha para maioria que não tem tempo ou a inclinação para ler toneladas
de lixo todo dia. Então, deve-se refinar o arquivo de configuração para incluir apenas os arquivos
e atributos de certos arquivos que não devem mudar. Mas tenha em mente que não se pode
ignorar tanto que deixe abertura para um ataque. Um atacante pode colocar um "rootkit" em um
diretório que você ignorou completamente. Um bom exemplo é o /var/spool/lp ou algum outro
similar. Este é o lugar que o "lp daemon" guarda o seus arquivos temporários. Ele não deve ser
ignorado totalmente, entretanto, deve-se ignorar os formatos de arquivos que o seu "lp daemon"
cria. Usa-se o símbolo $ no final das expressões regulares. Isto impede alguém de criar um
diretório que será ignorado juntamente com os seus conteúdos.
Agora foi refinado o arquivo de configuração deve-se atualizar o banco de dados e isto
pode ser feito pelo comando "aide --update". O comando de atualização (update) faz a mesma
coisa da checagem, mas também cria um novo banco de dados. Este banco de dados deve agora
ser colocado naquela mídia apenas para leitura (read-only) juntamente com o novo arquivo de
configuração. O ciclo de checagem, refinamento e atualização deve ser repetido quando
necessário. Eu recomendo que o arquivo de configuração seja revisado de vez em quando. A
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 165/166
definição de "quando" depende da necessidade de verificação caso a caso. Alguns podem achar
que devem fazer isso diariamente após cada checagem. Outros podem achar que devem fazer isso
semanalmente.
Há usualmente alguns desvios nos bancos de dados, que significa que novos arquivos são
criados, arquivos de configuração são modificados, toneladas de pequenas mudanças acontecem
até que os relatórios tornam-se impraticáveis de serem lidos. Isto pode ser evitado atualizando o
banco de dados de vez em quando. Mas, o banco de dados de entrada(input) não precisa ser
alterado com tanta freqüência. A substituição do dados de entrada(input) deve ser feita sempre de
forma manual. Esta não deve ser uma operação automatizada.
Há também um caminho alternativo de fazer isso. Este método pode ser preferido pelas
pessoas que tem várias máquinas que rodam AIDE. Pode-se executar "aide --init" em todas as
máquinas e mover os bancos de dados gerados para um host central onde comparam-se diferentes
versões dos bancos de dados com "aide --compare". Esta forma tem o benefício de liberar
recursos nas máquinas monitoradas.
Miscelânea
O banco de dados AIDE pode ser usado para encontrar os nomes reais e localização de
arquivos que foram movidos para o diretório "lost+found" pelo "fsck".
Linhas gerais para segurança
General guidelines for security
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 166/166
1. Não assuma nada
2. Não confie em nada e em ninguém
3. Nada é seguro
4. Segurança é um "trade-off" (inversamente proporcional) com a usabilidade
5. A paranóia é sua amiga.
# fim