Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Instalação da VMware
o Planificação da investigação
o Duplicação forense em mídias (local e remota)
o Colecta de dados voláteis: tráfego de rede e de memória
................
Bibliografia
1. FARMER, Dan; VENEMA Wietse; Perícia Forense Computacional: Teoria e Prática Aplicada,
Ed. Pearson
2. CASEY, Eoghan; Digital Evidence and Computer Crime: Forensic Science, Computers and
The Internet, Ed. Elsevier, 2011
3. CARVEY, Harlan; Windows Forensic Analysis, Ed. Syngress, 2009 Bibliografia Complementar
1. MELO, Sandro; Computação Forense com Software Livre, Ed. Alta Books, 2009 2. FREITAS,
Andrey R.; Perícia Forense Aplicada à Informática, Ed. Brasport, 2006 Software(s) de Apoio
CONTEXTUALIZAÇÃO
I. INTRODUÇÃO
Apesar de analistas internacionais considerarem que os crimes em redes de computador
representam perdas de milhões de dólares, é muito difícil estimar qual o real montante de
prejuízos envolvidos anualmente, principalmente porque, os ataques não são relatados em
função da perda de prestígio e credibilidade que eles podem representar. Sabe-se que o risco
tende a aumentar pois, com o passar dos anos e com a disseminação de informações
(notadamente através da Internet), houve um significativo avanço no entendimento de como
os sistemas operam. Isso fez com que intrusos se tornassem verdadeiros especialistas em
determinar e explorar vulnerabilidades a fim de obterem acessos privilegiados. Estes mesmos
intrusos passaram a utilizar de técnicas de ataque de difícil rastreamento e identificação.
Freqüentemente usam diversos níveis de ocultação e dissimulação, antes de realizar um
ataque. Procuram despistar o alvo, e raramente são surpreendidos, realizando ataques
massivos, que evidenciem facilmente uma actividade suspeita ou anormal. Além disso
costumam cobrir seus rastros, de forma que as actividades realizadas no sistema penetrado
não são facilmente descobertas.
Nesta definição, um sistema computacional que não forneça todos os recursos necessários
no devido momento, é tratado como não-confiável, uma vez que o conjunto representa os
requisitos de segurança e, isolados ou em conjunto, podem representar um risco em
potencial.
O que se pretende discutir aqui é que, apesar de possuir muitos pontos comuns, a definição
de segurança em sistemas de computadores é extremamente flexível e dependente de uma
série de factores e características. É preciso entender a segurança de um sistema
computacional não como sendo um item particular, um produto ou uma determinada
medida ou acção.
Um sistema seguro deve conter um conjunto de acções que permitam proteger seus dados, e
seus recursos, de acesso não-autorizado, de intromissão ou de bloqueio de uso. Sabe-se que
segurança é obtida a custo da conveniência e facilidade de uso dos sistemas.
Controle de acesso e modelos de protecção não são muito úteis contra atacantes internos ou
contra o comprometimento dos módulos de autenticação de acesso a um sistema
computacional.
Se uma senha de acesso a uma conta do sistema é fraca, e foi comprometida, as medidas de
controle de acesso não têm como prevenir a perda ou corrupção dos dados aos quais aquela
conta tem acesso. Em geral, métodos estáticos de proteção podem simplesmente ser
insuficientes, ou podem tornar o sistema extremamente restritivo aos seus próprios
utilizadores.
Por exemplo, considere que uma determinada técnica de segurança não seja capaz de
prevenir ou detectar violação de política de segurança resultante de buscas generalizadas em
arquivos de dados; e se por essa razão o acesso a todos os arquivos tenha que ser controlado
rigorosamente, o sistema pode se tornar ineficiente para o uso proposto.
Um outro aspecto a se considerar é que a dificuldade em se produzir softwares complexos,
funcionais e isentos de erros ainda é uma questão a ser resolvida. Diversas falhas em sistemas
freqüentemente se manifestam como vulnerabilidades na segurança. Há que se considerar
que os ciclos de vida útil dos softwares estão se tornando cada vez mais curtos devido à
competitividade do mercado. Isso geralmente tem como efeito colateral uma programação
pobre e inadequada, ou então leva a testes e validações insuficientes ou mal planeados,
factos estes que só vem a agravar o problema.
O número de pessoas com conhecimento em segurança está aumentando, mas a uma taxa
significativamente menor que o aumento no número de utilizadores.
Conhecendo o atacante
O perfil dos atacantes pode ser dividido genericamente em dois padrões: os atacantes
provenientes do meio interno, oriundos da própria organização, empresa ou instituição, e
os atacantes externos, normalmente provenientes da Internet.
Obs 1:
É comum acreditar-se, erroneamente, que os ataques mais sérios, e que causam mais
prejuízos, são provenientes da Internet. Esta crença comum geralmente é compartilhada
em virtude da cobertura da mídia, que destaca, muitas vezes de forma sensacionalista,
determinados casos de hacking que ocorrem através da Internet. Entretanto, pesquisas
recentes mostram que a maioria dos ataques que envolvem perdas financeiras ocorrem, ou
contam com a cooperação, de alguém de dentro das próprias organizações atacadas.
Estes atacantes são denominados genericamente de script kiddies. Alguns são utilizadores
avançados que desenvolvem suas próprias ferramentas, e deixam backdoors sofisticados, ao
passo que outros não têm a menor idéia do que estão fazendo.
Assim que encontrar uma vulnerabilidade, tentar explora-la, verificando se existe realmente a
falha naquele equipamento.
Por exemplo, actualmente muitos sistemas Linux possuem uma vulnerabilidade nativa no
processo denominado imapd.
É feita uma busca por IPs válidos e activos e desenvolve-se uma base de dados relacionando
os sistemas Linux. Por intermédio de ferramentas específicas, verifica-se quais estão
funcionando imapd vulnerável. A partir desta informação, os sistemas vulneráveis são
explorados.
Quando se consideram ataques através da Internet, a questão temporal e os horário não são
significativos. Os ataques acontecem a qualquer hora e, muitas vezes, em larga escala.
Existem ferramentas automáticas de busca de vulnerabilidade, as quais operam 24 horas por
dia, colectando dados.
Além disso, há abrangência mundial dos ataques, o que torna a questão de fuso horário
pouco útil.
Ao contrário dos ataques que ocorriam no passado, as ferramentas de ataque, muitas das
quais disponíveis publicamente na Internet, são de fácil utilização e não exigem
conhecimento específico em redes ou em sistemas. Algumas são limitadas a um único
propósito, com poucas opções, e outras são mais versáteis, varrendo indiscriminadamente as
redes ou os computadores alvo, a procura de vulnerabilidades.
Observando os atacantes
Informações importantes sobre as questões e eventos de segurança de um sistema podem
ser obtidas por intermédio dos registros de auditoria. Com alguns procedimentos simples é
possível analisar questões importantes, sem necessidade de investimentos ou recursos
adicionais, além daqueles regularmente presentes na maioria dos sistemas. Através de
informações básicas extraídas dos logs é possível determinar se os sistemas foram
examinados, o que os atacantes buscaram saber, que ferramentas ou técnicas foram
usadas e, eventualmente, se obtiveram sucesso.
Informações significativamente úteis podem ser obtidas através da simples análise e revisão
de registros de auditoria. Entretanto, numa quantidade alarmante de instalações, sequer
existe qualquer sistema auditor, que registre as ocorrências e faça as contabilizações nos
sistemas. Também é importante ressaltar que sistemas de auditoria são freqüentemente os
primeiros alvos dos atacantes. Desta forma, é preciso proteger e garantir a integridade dos
registros, caso contrário eles se tornam inúteis. Há uma variedade de ferramentas que
removem a presença dos atacantes dos registros, e existem processos auditores (syslogd)
corrompidos, os quais não registram as acções dos intrusos.
O atacante que tenha comprometido uma máquina pode estabelecer um acção automática
que remova completamente todos os registros, ou até mesmo uma partição inteira.
A importância dos logs, permite a execução de uma perícia bem sucedida em um sistema, é a
existência de registros de auditoria que estejam íntegros e confiáveis. Independentemente de
quão seguro é um computador ou uma rede, nunca será possível confiar totalmente
nos registros de um sistema que tenha sido comprometido. Isso dificulta, ou mesmo
impossibilita, uma perícia com sucesso. Desta forma, um dos principais conceitos a serem
aplicados é o registro dos logs tanto no sistema local, como num servidor de auditoria
remoto.
Quando os registros de auditoria estão seguros num equipamento especial, existem maiores
possibilidades de sucesso ao se correlacionar e identificar padrões, ou rever rapidamente o
que está acontecendo em todas as máquinas da rede, usando só uma fonte de informação.
Além disso, é possível realizar comparações para determinar se os logs de origem foram
modificados. Para alcançar estes objectivos, uma recomendação é estabelecer um sistema de
logs centralizado e dedicado, ou seja, que tenha como função exclusiva a colecta de registros
de auditoria, sem outros processos ou serviços.
Uma opção recomendável pode ser estabelecida, com baixo custo, por intermédio de uma
máquina com sistema operacional gratuito, como por exemplo Linux ou FreeBSD, agindo
exclusivamente como colectora de logs na rede local. Como exemplo da importância deste
procedimento, pode-se analisar o caso anteriormente mencionado, onde a maioria dos Script
Kiddies varre a rede em busca de uma única vulnerabilidade. Se os logs indicam múltiplas
conexões, do mesmo sistema remoto, na mesma porta, possivelmente trata-se de
uma varredura de alguma vulnerabilidade.
Uma varredura ocorrida em servidores de ftp numa rede local, provenientes do computador
200.145.202.223 10 Servidor de logs - /var/log/secure
Também existem técnicas de prospeção chamadas de “half-scan”. Esta é uma das técnicas de
ocultação e dissimulação mais freqüente. A varredura de half-scan usa só um pacote SYN do
handshake de 3 vias do estabelecimento da conexão TCP. Se o sistema remoto responde, a
conexão é descartada com um pacote RST. Isso torna bastante difícil a determinação da
origem do ataque, apenas com a utilização dos registros de auditoria.
Neste caso, outras técnicas de análise precisam ser empregadas em conjunto.
Ao se deparar com a condução de uma análise, o perito deve isolar e assegurar o perímetro,
registrando a “cena do crime” da melhor maneira possível, e conduzindo uma busca
sistemática por evidências, colectando e armazenando as que encontrar. A velocidade das
acções é essencial, mas estas devem ser levadas em consideração sem colocar em risco a
colecta ou a veracidade das informações.
O perito deve ter em mente que qualquer operação executada num sistema, causará alguma
perturbação em seu estado. Além disso, atacantes hábeis conhecem como as perícias são
feitas e podem fornecer informações falsas em locais específicos. Por esta razão, o perito
nunca deve confiar plenamente no sistema em questão. Ourossim, aspecto importante diz
respeito às leis vigentes na jurisdição, e as políticas da organização ou instituição. Estas
devem ser levadas em consideração, e respeitadas. Sem este procedimento, a colecta de
evidências pode ser inócua, ineficaz ou ilegítima.
Ordem de volatilidade dos elementos de perícia mais utilizados. De cima para baixo, estão os
dados mais efêmeros, a serem colectados primeiramente.
Durante o tratamento de uma perícia em um sistema invadido ou atacado, alguns factores
muitas vezes imperceptíveis são as maiores causas dos problemas e dificuldades. Não saber
exatamente o que aconteceu, e não conhecer contra quem, ou o que, se está lutando, são as
maiores fontes dos problemas e dificuldades, e por isso mesmo tornam-se os grandes
desafios.
Não saber em que dados confiar, dentre todos aqueles disponíveis para a perícia, fazem com
que problemas mais complexos requeiram uma preparação mais elaborada, e um plano claro
e bem definido para trata-los.
Se o analista de segurança ou o perito não conhece o sistema, a situação deve ser abordada
ainda com mais cautela. Deve-se conhecer e entender as limitações humanas, relativas a
conhecimento técnico, para abordagem do problema, da mesma forma como devem ser
conhecidas as limitações técnicas do sistema, da rede ou do equipamento sob análise. Esta
abordagem deve ser adotada porque é muito fácil danificar, corromper ou mascarar
inadvertidamente as evidências da perícia.
Mesmo uma análise simples num sistema desconhecido pode ser arriscada, comprometendo
definitivamente o trabalho a ser realizado, ou mesmo a validade legal da análise. Desta
forma, o analista de segurança deve trabalhar o menos possível com os dados originais, ou
seja, deve-se optar por providenciar uma imagem dos dados que serão usados e deve-se
operar sobre este conjunto, seguindo sempre a ordem de volatilidade discutida acima.
Congelamento de dados
Segundo a física quântica, o Princípio da Incerteza de Heisenberg define que é impossível
determinar, ao mesmo tempo, a velocidade e a posição de uma partícula, de tal forma que,
ao se observar um deles, afeta-se o estado do outro. Tratamento similar pode ser adoptado
em computadores e redes, ou seja, em praticamente todos os casos, o acto de examinar ou
colectar uma parte do sistema irá perturbar outros componentes. É impossível capturar
completamente o estado total do sistema, num dado momento do tempo. Desta forma, o
analista de segurança deve esforçar-se, ao máximo, para capturar uma representação fiel do
sistema, tão livre de distorções ou influências quanto possível. Esta é a essência da perícia,
seja ela em computadores, ou numa cena de crime convencional. O perito deve ter extremo
cuidado para não tocar em nada que possa perturbar a cena e, desta forma, comprometer a
investigação.
Durante a análise é importante considerar que o perito não poderá confiar nos dados que
obtiver, se não puder confiar nas suas ferramentas de trabalho. Portanto, é importante que o
perito possua seu próprio conjunto de ferramentas de software para inspeção, captura e
análise dos dados.
A composição do conjunto de ferramentas irá depender sempre do tipo de sistema sob
análise, e do tipo de mídia disponível para transporte e manipulação. Como exemplo, em se
tratando de um sistema UNIX, algumas ferramentas listadas a seguir podem ser consideradas
indispensáveis. Opções semelhantes podem ser adaptadas para outros sistemas:
• Ferramentas de colecta de dados tipo “statically linked”, tais como: dd, cp, du, cat, ls.
• Ferramentas de identificação de estado do sistema, tais como: netstat, route, arp, last,
who, finger.
• FTP ou outro mecanismo para obter mais ferramentas ou extrair dados através da rede.
• Linguagem de scripts Perl
Este é um procedimento padrão, pois uma vez que um sistema foi comprometido, e
dependendo do nível de conhecimento do atacante, não se pode confiar nem mesmo nos
recursos mais simples, como por exemplo, listar os arquivos de um diretório (ls). Os recursos
podem ter sido completamente modificados para ocultar a presença das acções do atacante,
ou mesmo apresentar apenas o que este deseja. O conjunto de ferramentas deve sempre
estar pronto antes de se precisar dele.
Questões relativas ao Sistema Operacional em uso, qual a versão ou distribuição, se existe
rede ou equipamentos auxiliares disponíveis, se existe um Notebook ou outras mídias, dentre
outros, necessitam ser observadas na preparação das acções.
Uma das decisões que o analista de segurança deve tomar é com relação à manutenção da
operacionalidade do sistema, ou seja, se o sistema deve ser mantido no ar ou não. Esta é
uma decisão complexa, a qual deve, novamente, ser tomada com base na política de
segurança e nas determinações superiores da organização. Deve ser considerado se o facto
de manter o sistema no ar permitirá obter mais evidências ou, ao contrário, trará mais risco
aos dados de perícia. Outro facto a ser considerado é com relação a restrições de tempo,
maiores ou menores, dependendo da necessidade de se restabelecer o sistema.
Reconstruindo eventos
Durante a realização de uma perícia será necessário realizar uma reconstrução de eventos
passados. Neste caso, o procedimento principal a ser adoptado é a correlação de factos. Ou
seja, o analista deve estar apto a associar e comparar informações de diferentes fontes, para
tentar espelhar a situação encontrada no sistema, com a maior fidelidade possível. Durante
estes procedimentos será necessário observar cuidadosamente a actividade de interesse, de
tal forma a se determinar e reconstruir o que aconteceu no passado. Estas acções deverão
permitir entender, determinar e relactar os danos ocorridos, e os acontecimentos passados e
é preciso ter em mente que nenhum método ou técnica funciona sozinho. O perito deve
combinar tácticas para obter as respostas que procura, de tal forma a associar o que
aconteceu, operando dentro de um tempo específico. Entre os métodos a serem aplicados
na correlação de eventos, pode-se citar, em ordem de importância, os seguintes
procedimentos e técnicas, bem como algumas questões associadas a eles:
• Reconstrução do histórico dos utilizadores e suas operações.
• Reconstrução do histórico dos processos executados, ou em execução.
• Reconstrução da situação das conexões de rede e roteamento.
• Arquivos dos registros de auditoria (logs).
• Horários de acesso (ou modificação) de arquivos ou diretórios (M/A/C/times) [14].
outros filesystems. Trazem uma quantidade significativa de informação.
M/A/C/times.
• Network Sniffing (se possível).
organização e das leis vigentes.
IV. CONCLUSÕES
Dentro da discussão anteriormente apresentada, algumas conclusões podem ser obtidas
para aplicação antes e depois de um incidente envolvendo computadores e redes. A principal
conclusão deve ser centralizada na importância da existência de uma boa política de
segurança. A política de segurança deve ser bastante clara e concisa, permitindo que seja
utilizada como um procedimento-padrão, no caso de incidentes. Além disso, é importante
que a política de segurança seja de amplo conhecimento dentro da organização.
É muito importante conhecer os sistemas que estão em uso na organização. Uma vez que os
sistemas sejam bem conhecidos, devem ser activados os processos de registros auditores, de
tal forma que seja possível inspecionar regularmente o ambiente. A inspeção e a auditoria
devem ser uma prática rotineira, da mesma forma que sejam aplicados mecanismos que
permitam sincronizar os relógios dos diversos equipamentos. Sem a sincronização dos
relógios, com uma base de tempo unificada, torna-se muito difícil correlacionar os eventos
dos diversos registros de auditoria. Deve-se considerar manter os sistemas actualizados, por
intermédio de correcções regulares (patches) dos softwares instalados.
Outro aspecto pouco abordado, mas de grande importância é a manutenção de uma
educação continuada dos utilizadores. Os utilizadores devem ser envolvidos como parte da
solução do problema. É preciso entender que um ambiente de segurança é tão forte quanto
o elo mais fraco da cadeia de sistemas e utilizadores que o formam. Isso significa que não
adiantará manter um sistema controlado, se os utilizadores possuem comportamentos de
risco, como por exemplo, usando senhas fracas ou instalando softwares de origem
duvidosa ou desconhecida. Os tilizadores devem ser envolvidos e estarem conscientes do seu
poder modificador e dos riscos envolvidos em suas acções. Portanto, é de fundamental
importância uma educação continuada dos recursos humanos da organização.
As emergências acontecem nos momentos menos esperados. A prevenção e a preparação
devem fazer parte das rotinas de procedimentos dos analistas de segurança. Neste sentido, é
importante a simulação e o treinamento dos procedimentos de emergência, de acordo com a
política da organização. Os analistas de segurança devem se manter actualizados, ou seja,
devem estar informados sobre como os intrusos agem.
Além disso, devem estar preparados para, pelo menos, conhecer como capturar dados de
perícia, ainda que não saibam como analisa-los e interpreta-los. Este conhecimento é
importante de forma a preservar as evidências dentro de um ambiente comprometido, em
função da volatilidade das informações, conforme anteriormente discutido. Devem estar
preparados para contactar alguém no caso de uma emergência, de tal forma que os dados e
evidências possam ser interpretados por pessoal especializado.
Finalmente, os peritos e analistas de segurança devem estar muito atentos a aspectos éticos
e legais, dentro de suas jurisdições. Devem entender as implicações de suas acções quando
inspecionam um sistema.
É importante o respeito à privacidade das pessoas. Deve-se ter em mente que este tipo de
operação traz responsabilidades muito importantes. A invasão de privacidade, a espionagem
e a possibilidade de se cometer abusos, ainda que inadvertidos, são possibilidades concretas.
O comportamento correcto ou incorreto do perito, ou do analista de segurança, terá efeitos
profundos na validade legal das evidências.
Portanto, assim como em outros tipos de operações, nestas acções a ética e a clareza são
factores preponderantes.
Questionario