Com o advento das tecnologias cada vez mais integradas, e consequentemente interconectadas em rede, torna-se essencial a oferta de serviços tecnológicos capazes de controlar esta demanda. O fornecimento de serviços de rede é oferecido por equipamentos conhecidos como servidores, dispositivos estes capazes de disponibilizar e controlar grandes volumes de dados, de modo que por esta capacidade de processamento ser cara, e possivelmente guardando dados importantes, o mesmo torna-se um alvo em potencial para criminosos. Os objetivos de invasões a servidores podem variar de roubo de informações financeiras, obtenção de vantagens corporativas competitivas, informações privadas sobre usuários do servidor, até para apenas realizar ações de vandalismo, como deletar arquivos e parar os serviços dos sistemas. Como estes crimes podem causar um impacto financeiro ou moral a uma grande quantidade de vítimas, deve-se preocupar em como elucidar tais crimes, e para isto existe a computação forense. Sendo que este trabalho estuda especificamente os servidores baseados na plataforma Unix, por ser uma plataforma de referência e possuir um gama de sistemas operacionais baseados nos seus padrões. São estudados os fundamentos da perícia forense, agregados as
particularidades básicas dos padrões da plataforma Unix, mostrando uma explanação superficial de determinados serviços de rede, e como realizar determinadas análises nos
mesmos.
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA PLATAFORMA UNIX
1. FACULDADE DE JUAZEIRO DO NORTE
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
JULIAN LENNON GONÇALVES DE SOUZA LEITE
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA
PLATAFORMA UNIX
JUAZEIRO DO NORTE
2013
2. FACULDADE DE JUAZEIRO DO NORTE
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
JULIAN LENNON GONÇALVES DE SOUZA LEITE
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA
PLATAFORMA UNIX
Monografia apresentada ao curso de Sistema
de Informação para a obtenção do Grau de
Bacharel em Sistemas de Informação.
Orientado por: Prof. Msc. Isydório Alves
Donato
JUAZEIRO DO NORTE - CE
2013
FACULDADE DE JUAZEIRO DO NORTE
3. BACHARELADO EM SISTEMAS DE INFORMAÇÃO
JULIAN LENNON GONÇALVES DE SOUZA LEITE
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA
PLATAFORMA UNIX
Esta Monografia foi julgada adeguada para a obtenção do Grau de Bacharel em Sistemas de
Informação, e aprovada na sua forma final pela Faculdade de Juazeiro do Norte
Data: ____/____/____
Nota: _____________
________________________________________________
Prof. Me. Isydório Alves Donato
Orientador – FJN
__________________________________________________
Prof. Me. Sidney de Lima Pinto
Avaliador
__________________________________________________
Prof. Esp. Jairo Menezes Ferraz
Avaliador
JUAZEIRO DO NORTE - CE
2013
4. AGRADECIMENTOS
Aos meus pais, que não mediram esforços em me guiar e apoiar até que eu chegasse até esta
etapa tão importante de minha vida.
A todos os meus familiares.
A todos os professores do curso, que foram tão importantes não só na minha vida acadêmica,
mas também para o meu crescimento como pessoa.
Ao coordenador do curso Sidney de Lima Pinto, pelas oportunidades, pelos ensinamentos, e
por acreditar em mim.
Ao professor Isydório Alves Donato, por sempre compartilhar seu conhecimento, pela
paciência na orientação, e incentivos que tornaram possível a conclusão desta monografia.
Aos amigos e colegas trabalho, pelo incentivo e pelo apoio constantes.
5. “Se o dinheiro for a sua esperança de independência,
você jamais a terá. A única segurança verdadeira consiste
numa reserva de sabedoria, de experiência e de
competência.” (Henry Ford)
6. RESUMO
Com o advento das tecnologias cada vez mais integradas, e consequentemente interconectadas
em rede, torna-se essencial a oferta de serviços tecnológicos capazes de controlar esta
demanda. O fornecimento de serviços de rede é oferecido por equipamentos conhecidos como
servidores, dispositivos estes capazes de disponibilizar e controlar grandes volumes de dados,
de modo que por esta capacidade de processamento ser cara, e possivelmente guardando
dados importantes, o mesmo torna-se um alvo em potencial para criminosos. Os objetivos de
invasões a servidores podem variar de roubo de informações financeiras, obtenção de
vantagens corporativas competitivas, informações privadas sobre usuários do servidor, até para
apenas realizar ações de vandalismo, como deletar arquivos e parar os serviços dos sistemas.
Como estes crimes podem causar um impacto financeiro ou moral a uma grande quantidade de
vítimas, deve-se preocupar em como elucidar tais crimes, e para isto existe a computação
forense. Sendo que este trabalho estuda especificamente os servidores baseados na plataforma
Unix, por ser uma plataforma de referência e possuir um gama de sistemas operacionais
baseados nos seus padrões. São estudados os fundamentos da perícia forense, agregados as
particularidades básicas dos padrões da plataforma Unix, mostrando uma explanação
superficial de determinados serviços de rede, e como realizar determinadas análises nos
mesmos.
Palavras-chave: Perícia, Forense, Servidor, Plataforma, Unix
7. ABSTRACT
With the advent of technologies growning integrated and interconnected in network, becomes
essential to offers of technological services sufficient to manage this demand. The provision of
network services is offered by equipment known as servers, these devices are sufficient to
offers and manage large volumes of data, so that this processing capacity is high cost, and
possibly storing important data, it becomes a potential target for criminals. The objectives of
the invasions servers may diversify robbery of financial information, obtain corporate
competitive advantages, private information about users of the server, or only perform actions
of vandalism, as deleting files and stop the services systems. As these crimes can cause a
financial impact or moral to a amount of victims, must worry about how to elucidate such
crimes, and for this there is a computer forensics. Since this work studies specifically based
servers Unix platform, as a reference platform and have a range of operating systems based on
their standards. Are studied the fundamentals of forensics, aggregates the particularities of
basic standards of the Unix platform, showing a superficial explanation of certain network
services, and how to perform certain analyses.
Keywords: Expertise, Forensic, Server, Platform, Unix
8. LISTA DE FIGURAS
Figura 1: Processos da computação forense
Figura 2: Processos do EDRM
Figura 3: Destaques da Fase 1
Figura 4: Destaques da Fase 2
Figura 5: Comando para capturar os dados da memória RAM
Figura 6: Comando para capturar os dados dos processos em execução
Figura 7: Comando para capturar os dados sobre as conexões de rede
Figura 8: Comando para capturar os dados sobre os usuários autenticados
Figura 9: Destaques da Fase 3
Figura 10: Comando para copiar um disco rígido
Figura 11: Processo de montagem de partição de um arquivo de cópia de um disco rígido
Figura 12: Exibição e filtragem do conteúdo obtido da memória RAM
Figura 13: Exemplo do conteúdo do arquivo com dados capturados dos processos
Figura 14: Exemplo do conteúdo do arquivo com dados capturados das conexões ativas
Figura 15: Exemplo do conteúdo do arquivo com dados capturados dos usuários ativos
Figura 17: Conteúdo do arquivo de configuração do SSH
Figura 18: Conteúdo do arquivo de LOG de autenticações no sistema Unix
Figura 19: Destaques da Fase 4
Figura 20: Listagem da pasta raiz do Linux
Figura 21: Comando para montagem e desmontagem de dispositivos no Unix
Figura 22: Comando para listar o conteúdo dos diretórios no Unix com um parâmetro para
maior detalhamento
LISTA DE ABREVIATURAS
9. IP: Internet Protocol
LOG: Log file
RAM: Random Access MemoryURL - Uniform Resource Locator
TCP: Transmission Control Protocol
UDP: User Datagram Protocol
URL: Uniform Resource Locator
11. SUMÁRIO
INTRODUÇÃO..........................................................................................................12
1. SOBRE ENDEREÇOS DE REDES E PROTOCOLOS.........................................14
1.1. ENDEREÇO IP......................................................................................................... 14
1.2. PROTOCOLOS DE REDE TCP/UDP ...................................................................... 15
2. FUNDAMENTOS DA COMPUTAÇÃO FORENSE ...............................................16
2.1. MOTIVAÇÕES DOS CRIMES DE INFORMÁTICA E SUA FACILITAÇÃO......... 16
2.2. PROCESSOS DA COMPUTAÇÃO FORENSE........................................................ 17
2.2.1. VERIFICAÇÃO PRÉVIA DAS PROVAS A SEREM APREENDIDAS............. 20
2.2.2. APREENDER E MANTER A INTEGRIDADE DAS PROVAS ........................ 21
2.2.3. REALIZAR A ANÁLISE ................................................................................... 23
2.2.4. LAUDO PERICIAL ........................................................................................... 24
3. SERVIDORES EM PLATAFORMA UNIX .............................................................26
4. COMPUTAÇÃO FORENSE APLICADA EM SERVIDORES DA PLATAFORMA
UNIX..........................................................................................................................28
4.1. VERIFICAÇÃO DO SERVIDOR UNIX A SER APREENDIDO ............................. 28
4.2. APREENDER E MANTER A INTEGRIDADE DAS PROVAS DE UM SERVIDOR
UNIX............................................................................................................................... 29
4.2.1. APREENSÃO COM O SERVIDOR DESLIGADO............................................ 29
4.2.2. APREENSÃO COM O SERVIDOR LIGADO................................................... 30
4.3. PROCESSO DE ANÁLISE FORENSE EM UM SERVIDOR UNIX........................ 32
4.3.1 ANÁLISE DO SISTEMA OPERACIONAL DO SERVIDOR UNIX .................. 33
4.3.2 ANÁLISE DO SERVIÇO SQUID....................................................................... 39
4.3.3 ANÁLISE DO SERVIÇO OPENSSH ................................................................. 40
4.4. ELABORAR O LAUDO........................................................................................... 42
CONSIDERAÇÕES FINAIS ......................................................................................44
REFERÊNCIAS.........................................................................................................46
APÊNDICES..............................................................................................................47
APÊNDICE 1 - ESTRUTURA DE DIRETÓRIOS E COMANDOS DO UNIX .............. 47
12. 12
INTRODUÇÃO
Este trabalho está envolto no âmbito da perícia forense computacional, ramo
profissional e científico com o objetivo de esclarecer crimes ligados à informática, sendo que o
foco do estudo é direcionado para a abordagem de servidores baseados em sistemas
operacionais da plataforma Unix, de modo que se possibilite a elucidação de crimes cometidos
direcionados aos dos seus serviços de rede, e de forma que se possa compreender quais
correções de segurança aplicar uma vez que determinadas falhas de segurança venham a ser
encontradas.
Os servidores Unix fornecem serviços de rede tanto para usuários na internet, como
para uma rede local, em consequência disto, possuem dados que podem ser utilizados por um
invasor para fins ilícitos, como roubos financeiros, venda de informações sigilosas, como
também para a obtenção de acesso a outros servidores ou dispositivos de usuários com a
finalidade de utilização como meios para outros ataques.
A problemática está em compreender como aplicar as práticas forenses em servidores
baseados na plataforma Unix, levando em consideração as características particulares dos seus
padrões, que definem sua estrutura de sistema de arquivos, interface com o usuário, e
ferramentas básicas do sistema.
Desta forma, este trabalho propõe-se possibilitar a compreensão de que após
determinadas vulnerabilidades exploradas em servidores Unix, a perícia forense deve ser
realizada de forma diferenciada, mostrando as características particulares dos seus contextos
que devem ser levadas em consideração agregadas as práticas da computação forense, de
modo que os procedimentos periciais possam ser aplicados de forma apropriada, para que se
evite a alteração sempre que possível dos dados que possibilitam a comprovação dos indícios.
Para que se possa chegar a esta compreensão geral, são estudados bibliograficamente
os fundamentos da computação forense com suas práticas e procedimentos, como também os
fundamentos da plataforma Unix e de determinados serviços de rede que podem ser utilizados
nesta plataforma, para em seguida, também permitir compreender como aplicar ações
corretivas de segurança, baseados nas conclusões durante os procedimentos periciais.
A plataforma em questão foi escolhida como umas das bases para o estudo por ser
referência de padrões para diversos outros sistemas operacionais, o que possibilita que a
aplicabilidade desde trabalho tenha uma abrangência maior e o desenvolvimento de novos
estudos em diversas ferramentas e sistemas operacionais.
13. 13
No primeiro capítulo, são apresentados conceitos básicos sobre rede de
computadores, para que possibilite a compreensão do resto do trabalho que se utiliza de tais
fundamentos. No segundo capítulo são abordados os conceitos e as práticas da computação
forense, de forma que terá uma tendência especificamente para os servidores. No terceiro são
estudados os fundamentos da plataforma Unix, especificamente sobre os seus objetivos como
sistema operacional, compreender sua estrutura básica do sistema de arquivos, e os seus
serviços de rede. No quarto capítulo é realizado o desenvolvimento do trabalho, onde é
associado às práticas forenses aos servidores baseados nas características da plataforma Unix,
como também são estudadas práticas de segurança pós-perícia, de forma que seja possível
compreender quais correções de segurança podem ser aplicadas em determinadas
vulnerabilidade.
14. 14
1. SOBRE ENDEREÇOS DE REDES E PROTOCOLOS
Neste capítulo são estudados os fundamentos básicos de redes de computadores, de
modo que se possibilite a compreensão do funcionamento do protocolo TCP/IP e seu uso
pelos serviços de rede.
Para este trabalho, o essencial é compreender que para que os dispositivos se
comuniquem entre si em uma rede, cada um deve ter um número único de forma que o
identifique distintamente, chamado de endereço IP1
, e para que as aplicações servidoras
presentes em determinado servidor se comuniquem com as aplicações clientes de outro
dispositivo pela rede, elas se utilizam de outros endereços via protocolos TCP2
ou UDP3
(MORIMOTO, 2008).
1.1. ENDEREÇO IP
O endereço IP, na sua versão quatro é um número de quatro octetos separados, de
forma que dependendo da classe deste endereço, determinados octetos no início servirão como
classificadores da rede, e os números finais identificarão o dispositivo dentro de determinada
classe de rede (KUROSE; ROSS, 2010).
Para a computação forense os endereços IP podem ajudar a elucidar a autoria de
ações ilícitas em informática. Já que cada dispositivo em uma rede possui sua própria
identificação, o endereço IP proporciona identificar o dispositivo utilizado para autoria do
crime, e por consequência, possibilita localizar o autor (COSTA, 2011).
A Tabela 1 mostra a faixa de endereços de rede possíveis para a versão quatro do
TCP/IP.
Tabela 1 – Endereço IP versão 4
Faixa de endereços possíveis
De Até
1 IP: Internet Protocol
2 TCP: Transmission Control Protocol
3 UDP: User Datagram Protocol
15. 15
0.0.0.0 255.255.255.255
Fonte: Dados da pesquisa
A Tabela 1 permite perceber que para cada octeto do endereço IP, é possível utilizar
números entre 0 e 255, sendo que determinadas combinações entre os octetos não são
utilizáveis para endereços IP de dispositivos de rede (ELEUTÉRIO; MACHADO, 2010).
1.2. PROTOCOLOS DE REDE TCP/UDP
Nas comunicações de rede, o endereçamento IP atua apenas para identificar a origem
e destino do tráfego, de modo que deve atuar em conjunto com os protocolos de rede TCP ou
UDP, para que seja possível categorizar os serviços de rede por meio de utilização de portas
em um servidor, possibilitando o funcionamento de diferentes serviços no mesmo sistema
operacional. As numerações das portas de rede possuem padronizações quanto às suas
associações a determinados serviços de rede, sendo que também é possível a utilização de
qualquer porta por qualquer serviço, desde que não já esteja sendo utilizada (MORIMOTO,
2008).
A diferença básica entre os dois protocolos, está no fato de que para as conexões de
rede dos serviços que necessitam de garantia de entrega dos pacotes usa-se o TCP, pois possui
mecanismos para que o computador que está enviando dados receba respostas do destinatário
confirmando o recebimento dos dados de forma íntegra. O UDP por sua vez, é utilizado por
serviços que necessitam de rapidez no tráfego, e que não necessitam de confirmação de
recebimento de dados do destinatário, deste modo, o UDP é utilizado por serviços menos
críticos (KUROSE; ROSS, 2010).
16. 16
2. FUNDAMENTOS DA COMPUTAÇÃO FORENSE
Neste capítulo são apresentados os conceitos necessários para que se possa
compreender a computação forense de uma forma geral, como também sobre a realização dos
processos periciais seguindo as boas práticas, nas quais buscam acima de tudo a integridade e
veracidade das provas.
Ao notarem-se atividades incomuns em sistemas operacionais que não foram
autorizadas, ou que fogem aos padrões históricos do sistema, pode ser o indício sobre uma
invasão bem sucedida, ou uma tentativa em andamento. Para se ter a certeza de que um fato
ilícito ocorreu no sistema devido a ações que não foram permitidas, existe a computação
forense, que exige procedimentos planejados, sequenciados e bem organizados para sua
realização, pois a quantidade de dados que podem ser encontrados é grande, e aqueles que
mostrem o que realmente um invasor fez, exige procedimentos específicos com o apoio de
conceitos e ferramentas para detectá-los (FARMER, 2007).
Para que o resultado do trabalho forense seja válido, aconselha-se que as práticas das
metodologias adotadas, tenham estudos comprovatórios de suas eficiências.
É possível se guiar pela afirmativa que diz que
[...] a Computação Forense tem como objetivo principal determinar a dinâmica, a
materialidade e autoria de ilícitos ligados à área de informática, tendo como
questão principal a identificação e o processamento de evidências digitais em
provas materiais de crime, por meio de métodos técnico-científicos, conferindo-lhes
validade probatória em juízo. (ELEUTÉRIO; MACHADO, 2010, pp. 16-17).
2.1. MOTIVAÇÕES DOS CRIMES DE INFORMÁTICA E SUA FACILITAÇÃO
Com as tecnologias das redes de computadores cada vez mais difundidas, e o
aumento de usuários das mesmas realizando transações financeiras, acabam por chamar a
atenção dos criminosos, de modo que eles buscam por vulnerabilidades ou erros de outrem que
propiciem chances por onde eles possam atacar e praticar ações ilegais, como roubar,
17. 17
vandalizar, extorquir, desmoralizar, e outras práticas ilícitas afins por meio de recursos
tecnológicos (ROSA, 2006).
Geralmente os ataques aos sistemas se iniciam em alvos em potencial, que se
caracterizam por ser a parte mais deficiente da segurança do sistema, seja ela física ou não, em
que os usuários também não estão excluídos disto. Em um sistema seguro, o aspecto humano
deve ser trabalhado como um ativo, pois é por este lado onde muitos erros das políticas de
segurança são desconsiderados, e o agente criminoso ataca por ela de forma quase que
imperceptível (LYRA, 2008).
Descobrir antecipadamente as vulnerabilidades existentes no sistema e as motivações
do crime pode antecipar quais foram os caminhos seguidos pelo meliante, e quais foram seus
objetivos; o que pode permitir a aceleração dos procedimentos forenses, como também a
realização de um laudo mais claro e preciso.
2.2. PROCESSOS DA COMPUTAÇÃO FORENSE
Apesar de alguns autores mostrarem a existência de sub-rotinas adicionais, ou a
menos, as principais rotinas da perícia seguem uma sequencia lógica, sendo elas, a de
verificação das provas a serem apreendidas, apreensão e manutenção da integridade das
mesmas, realização da análise, e produção de um laudo resultante de todo o processo
(COSTA, 2011; ELEUTÉRIO e MACHADO, 2010).
Na Figura 1 é possível analisar as fases ou processos mais relevantes para os autores
pesquisados. É possível perceber que as fases possuem uma sequência tendenciosa para serem
finalizadas na fase de produção do laudo, sendo que também é possível haver a necessidade da
repetição de determinadas fases já realizadas para que todo o processo tenha mais efetividade
nos resultados a serem obtidos.
18. 18
Figura 1: Processos da computação forense
Fonte: Dados da pesquisa
Existem no mercado padronizações referenciais que explanam os processos que
podem ser utilizados para o correto sequenciamento dos procedimentos de coleta de dados
digitais até sua utilização final.
Um dos referenciais que se adequa aos processos necessários para todo o trabalho de
computação forense se chama EDRM, que é uma abreviação para modelo de referência para a
descoberta eletrônica.
O EDRM é um modelo que estabelece os processos padrões relativos a trabalhos com
dados digitais que precisam de um ciclo de vida preestabelecido, que vai da determinação das
informações a serem coletadas, até a apresentação dos dados relevantes das mesmas, de modo
que todos os processos não necessitam serem cumpridos obrigatoriamente. A representação do
modelo pode ser vista na Figura 21 (EDRM LLC, 2013.)
19. 19
Figura 2: Processos do EDRM
Fonte: Dados da pesquisa
Em uma análise da Figura 2, pode-se destacar:
Processo 1: Fase em que se realiza uma predeterminação dos dados a serem coletados.
Processo 2: Fase para se identificar no momento da coleta, quais dados são relevantes
para serem obtidos.
Processo 3.1: Ações que paralelas à coleta de dados no Processo 3.2, possuem a
responsabilidade de manter os dados íntegros quanto a sua originalidade.
Processo 3.2: Coleta de dados propriamente dita.
Processo 4.1: É relacionado ao processamento de dados coletados já na fase de análise
do Processo 4.3, em que na utilização de ferramentas adequadas, é determinada uma
filtragem com o objetivo de delimitar o resultado da busca de dados.
Processo 4.3: É a análise propriamente dita, em que se averiguam os resultados obtidos
com o processamento do Processo 4.1, para se verificar se foram obtidos os dados
necessários.
Processo 5: Este processo determina diretrizes para especificar como manter os
documentos de todos os processos do EDRM, para que no final as informações mais
importantes sejam reveladas.
Ao longo do trabalho é possível perceber que se podem agregar os conceitos dos
processos da computação forense aos processos do EDRM, onde determinados processos
recomendados por autores de livros citados de computação forense, englobam mais de um dos
20. 20
processos descritos pelo EDRM. Será possível perceber, que o processo forense de verificação
prévia das provas a serem apreendidas, engloba o processo 1 (Information Management) e
processo 2 (Identification) do EDRM. Já o processo forense de apreender e manter a
integridade das provas, engloba o processo 3.1 (Preservation) e o processo 3.2 (Collection) do
EDRM. A realização da análise forense engloba o processo 4.1 (Processing) e o processo 4.3
(Analisys) do EDRM. E, finalmente, no processo forense de elaboração do laudo pericial,
engloba o processo 5 (Production) do EDRM, de modo que o processo 6 do EDRM pode ser
associado a apresentação do laudo perante ao requisitante, sendo que este não é estudado
neste trabalho.
2.2.1. VERIFICAÇÃO PRÉVIA DAS PROVAS A SEREM APREENDIDAS
Para que se evite perda de tempo à procura por indícios em meio à grande quantidade
de dados que podem ser encontrados, aconselha-se que o perito determine delimitações que
especifiquem ao máximo possível o que o solicitante do trabalho pericial requer. Desta forma,
será possível agilizar a seleção dos equipamentos a serem apreendidos, e também determinar
expressões regulares que poderão ser utilizadas nas ferramentas de análise (COSTA, 2011).
A determinação prévia dos requisitos para a realização dos processos de perícia pode
ser associada ao processo 1 (Information Management) do EDRM, representado na Figura 2,
já que se trata de um planejamento sobre dos dados a serem coletados.
Já no local da apreensão, é importante evitar que se realize qualquer ação direcionada
a qualquer equipamento a não ser que o perito autorize, a fim de se evitar a manipulação
inadequada das provas, pois poderia tanto modificá-las como inutilizá-las, pois podem ocorrer
ocasiões onde membros da equipe de busca e apreensão, ou mesmo alguém encontrado no
local, desligue, ligue, ou reinicie o equipamento. (COSTA, 2011).
Segundo Eleutério e Machado (2010, p. 26), “A primeira função do perito é realizar
um reconhecimento do local, identificando os equipamentos computacionais existentes,
incluindo computadores, notebooks, pontos de acesso e outros”.
O ato de identificar quais provas devem ser apreendidas pode ser relacionado ao
processo 2 (Identification) do EDRM representado na Figura 2.
Os servidores possuem a capacidade de oferecer diversos serviços para redes,
consequentemente atuam com diversas conexões com outros dispositivos que necessitem dos
21. 21
seus recursos, desta forma, na apreensão de servidores que estejam ligados a captura das
conexões ativas torna-se crucial para a perícia, pois por ser um equipamento centralizado na
rede, e com diversos outros conectados a ele, consequentemente haverá um número grande de
conexões, com detalhes tecnicamente complexos, que podem conter informações para elucidar
questões sobre determinados casos.
Sistemas operacionais baseados no Unix oferecem algumas facilidades para obtenção
de dados, já que no próprio sistema existem diversas ferramentas nativas para se obter dados
da memória, de conexões ativas, e de clonagem de discos rígidos, ocasionalmente não sendo
necessária a instalação de ferramentas forenses para estas coletas, deixando estas para a fase de
análise (PALMER, 2008).
2.2.2. APREENDER E MANTER A INTEGRIDADE DAS PROVAS
Recomenda-se que os dados originais se mantenham intactos e intocáveis ao máximo,
e que a análise forense seja realizada em suas cópias íntegras, pois só a instalação de uma
ferramenta de análise forense, ou de algum dispositivo no sistema original em pleno
funcionamento, já resultaria na sobrescrita de dados originais a partir do momento que se
notou a necessidade de realizar uma perícia, o que comprometeria a veracidade do trabalho de
análise (FARMER, 2007).
A preservação da integridade das provas pode ser associada ao processo 3.1
(Preservation) do EDRM.
Outro cuidado que deve ser tomado é quanto à integridade física das provas, pois
equipamentos de informática geralmente são sensíveis, e devem ter o seu acondicionamento
apropriado antes de serem levados para o local de análise, pois avarias nos equipamentos
podem danificar os dados, e por consequência, as possíveis provas (FREITAS, 2006).
Deve-se verificar se o equipamento a ser apreendido está em funcionamento, pois
nesta situação, pode haver informações importantes nos dados carregados em memória e nas
aplicações em execução, e prover meios de capturar os seus estados é relevante (FREITAS,
2006).
O trabalho de coleta de dados e apreensão das provas em geral pode ser associado ao
processo 3.2 (Collection) do EDRM mostrado na Figura 2.
22. 22
Para as análises forense, e até mesmo para monitoração e prevenção de tentativas de
invasão, existem arquivos específicos que devem ser averiguados de forma sistemática, sendo
conhecidos por arquivos de log4
. Nestes arquivos de log podem ser encontrados vários tipos
de registros relacionados às atividades que acontecem no sistema operacional, sejam elas
problemas ou não (PALMER, 2008).
O fato é que o desligamento do computador, além de apagar os vestígios de conexões
ativas e da memória volátil, irá gerar uma sequência de fechamentos de processos que acabará
por sobrescrever dados do disco e dos registros dos arquivos de log, que são de suma
importância para a análise (FARMER, 2007).
Existem determinados aplicativos apropriados para captura de dados em tempo real, e
se deve ter cuidado para que suas utilizações não alterem quaisquer dados da prova
(ELEUTÉRIO; MACHADO, 2010).
Deve-se verificar a real necessidade da captura de dados com o sistema ligado, pois
será necessário realizar tal procedimento da forma mais evasiva possível, e após a verificação
da memória, os mesmos cuidados valem para se obter os dados das conexões de rede ativas, e
verificação de processos e usuários (FARMER, 2007).
A partir desta premissa, algumas ações preventivas podem ser tomadas na obtenção
de dados de memória. Uma delas é de que a aplicação de coleta de dados consuma o mínimo
possível de memória com a máxima eficiência. Outro fator é de que para que esta coleta seja o
menos invasiva, deve-se salvar os dados em um dispositivo de armazenamento externo, e evitar
utilizar programas do próprio sistema operacional.
Nesta etapa, após a coleta dos dados mais voláteis, a clonagem integral dos discos
rígidos deve ser realizada, e além dos softwares que realizam esta tarefa, existem dispositivos
específicos que possuem tecnologias apropriadas que evitam a sobrescrita de dados das suas
fontes, pois é aconselhável que este procedimento seja realizado com o disco rígido no modo
somente leitura (ELEUTÉRIO; MACHADO, 2010).
Para posteriormente confirmar a veracidade dos dados copiados, existem ferramentas
apropriadas que realizam testes rigorosos para se garantir as suas originalidades
(ELEUTÉRIO; MACHADO, 2010).
Este passo é necessário, pois no momento da cópia podem acontecer problemas no
meio de comunicação, erros de memória, e outras situações, que podem alterar, ou deixar de
copiar, pequenos dados que podem nem gerar erros, mas que podem comprometer a
veracidade do trabalho pericial.
4 LOG: Log file
23. 23
2.2.3. REALIZAR A ANÁLISE
Após as coletas dos dados, deve-se realizar o processo de análise, que consiste em
procurar e averiguar nas suas cópias os indícios que possam levar a comprovação dos fatos
criminais.
Segundo Eleutério e Machado (2010, p. 65) “é a fase que consiste no exame das
informações extraídas na fase anterior, a fim de identificar evidências digitais presentes no
material examinado, que tenham relação com o delito investigado.”
Neste processo é que muitas ferramentas forenses são realmente aplicadas, pois com
elas é que será possível procurar nos dados pelos vestígios do crime, e geralmente é neste
momento que se utiliza de filtros e parâmetros que delimitem o que se procura. Para isto, em
conjunto com estas ferramentas, são utilizados dados como palavras, frases, ou combinações
de textos específicos, que tenham alguma relação com as informações que se procura, a fim de
se conseguir resultados os mais objetivos possíveis (FARMER, 2007).
A utilização de ferramentas para a filtragem de dados para posterior averiguação pode
ser relacionada ao processo 4.1 (Processing) do EDRM apresentado na Figura 1, de modo que
a análise dos dados resultantes pode ser associada ao processo 4.3 (Analisys) do EDRM.
Para casos onde a análise será em algum aplicativo específico, e que qualquer registro
no sistema operacional não possua importância, aconselha-se o uso de virtualização a partir
das réplicas obtidas (ELEUTÉRIO; MACHADO, 2010).
Um cuidado deve ser levado em consideração quanto a executar aplicações
diretamente do sistema operacional da vítima, pois estas podem estar alteradas contendo
códigos maliciosos, e que podem ser armadilhas, devendo o perito buscar sempre que possível
executar aplicações, como também salvar suas saídas, a partir de locais alheios ao sistema
verificado (COSTA, 2011).
Mesmo que se execute o sistema operacional em uma máquina virtual, para servidores
pode ser problemático, pois tanto os arquivos de log, como os arquivos dos processos, e
alguns arquivos temporários, poderão ser alterados, criados, ou apagados quando o sistema
iniciar. Outro problema é que seus serviços de rede podem não encontrar um ambiente de
conexões similar ao que existia anteriormente, o que acarretará em geração de vários erros nos
arquivos de log.
Vários dos serviços de rede para plataformas baseadas no Unix são abertos e
documentados, para estes se torna recomendado apenas uma análise somente leitura do seu
24. 24
sistema de arquivos devidamente clonado, pois seus arquivos e códigos estarão acessíveis para
verificações.
A análise do sistema por esta metodologia de virtualização torna-se uma alternativa
ao se encontrar aplicações de código fechado, pois neste cenário, instalar a aplicação em outro
computador seria mais complexo e trabalhoso, já que o fornecedor da aplicação certamente
não abriria o código para ser analisado.
Na análise, além das buscas pelos conteúdos dos arquivos, sejam log, imagens, textos
e binários, é interessante procurar pelas alterações dos mesmos no sistema de arquivos, como
deleção, renomeação, movimentação e cópias, trabalho este que geralmente necessita de
ferramentas mais específicas e complexas de serem manipuladas para tal, e que tenham a
capacidade de recuperar informações de baixo nível, como dados já excluídos do alto nível do
sistema de arquivos (FARMER, 2007).
Também é aconselhável que cada procedimento realizado e o seu resultado seja
devidamente documentado para futuramente ser anexado ao laudo pericial (COSTA, 2011).
2.2.4. LAUDO PERICIAL
O laudo pericial, segundo Eleutério e Machado (2010, p. 26) “É a fase final dos
exames forenses, que consiste na elaboração de laudo pelo perito, apontando o resultado e
apresentando as evidências digitais encontradas nos materiais examinados.”
Este é o processo final de todo o trabalho pericial, de modo que ele é como uma
interface para os requisitantes da perícia, pois nele devem constar todos os resultados dos
processos periciais realizados, e as respostas que estavam em aberto que dependiam da
investigação pericial para serem esclarecidas, sendo associável ao processo 5 do EDRM
apresentado na Figura 1.
Uma definição mais detalhada esclarece que
Esta é a etapa em que serão detalhadamente relatados todos os aspectos do
incidente, desde a sua caracterização, os impactos diretos e indiretos, a investigação
realizada, os resultados da perícia, a identificação da autoria, até as causas diretas e
indiretas, brechas e vulnerabilidades encontradas [...]. (COSTA, 2011, p. 29)
25. 25
Desta forma, o laudo pericial deve ser o mais objetivo possível, de modo que se evite
a utilização de palavras, termos e definições que venham a possibilitar o entendimento
generalizado do resultado, ou a não compreensão pelos requisitantes da perícia.
Para se evitar o uso de termos técnicos avançados no laudo resultante, os
procedimentos periciais utilizados e os resultados obtidos nas fases mais técnicas, podem ser
utilizados como anexos do laudo, assim as informações mais importantes, resumidas, e em uma
linguagem mais compreensível para pessoas alheias à área tecnológica, podem ficar no
documento principal.
26. 26
3. SERVIDORES EM PLATAFORMA UNIX
Este capítulo apresenta uma leve explanação sobre as particularidades características
dos sistemas operacionais baseados na plataforma Unix, para que se possibilite compreender os
seus objetivos.
O UNIX é um sistema operacional originalmente concebido para estudos, e com o
passar dos anos, sua robustez, rapidez, segurança e estabilidade, os tornaram atrativo entre os
sistemas para servidores, de modo que em seu desenvolvimento, teve um direcionamento mais
acentuado de melhorias voltadas ao seu gerenciamento de conexões e aplicações focadas em
redes. O fato é que suas características o tornaram referência para diversos outros sistemas
operacionais, principalmente no que diz respeito aos seus padrões, de modo que estão
documentados e regidos pelo POSIX. O POSIX já nasceu em decorrência da criação do Unix,
e determina um conjunto de regras que devem ser seguidas pelos sistemas operacionais que
desejam estar de acordo com os padrões do Unix, sendo mais um motivo que faz com que este
seja considerado uma plataforma de referência (PALMER, 2008).
Estudar as práticas da computação forense direcionadas a plataforma Unix, faz com
que consequentemente estas possam ser aplicadas aos sistemas operacionais originados dos
seus padrões, e o inverso se torna válido, como no Linux por exemplo, onde há vários
comandos e diretórios nos padrões do Unix.
Para possibilitar a compreensão, uma breve descrição sobre a estrutura dos diretórios
do Unix e de como funciona seus comandos pode ser vista do Anexo 1.
Pode acontecer de determinados comandos e arquivos de configuração de cada
sistema funcionar de forma diferente, de modo que a maioria seguem os padrões de estrutura
de diretórios, comandos, e funções base, sendo que os serviços de rede mantém o escopo de
suas configurações idênticas independentemente do sistema operacional(MORIMOTO, 2008).
O perito que for realizar a análise forense caberá a este conhecer o escopo destes
arquivos de configuração, e ficar atento nas linhas destes arquivos aos parâmetros que definem
a localização de onde os arquivos de registros dos eventos das atividades são salvos, sendo
estes mais importantes para o trabalho pericial. Também é interessante documentar os
parâmetros dos arquivos de configuração encontrados na fase de análise forense, pois eles
podem esclarecer pontos como a de que vulnerabilidades o serviço pode ter por estar mal
configurado.
27. 27
Desta forma, no capítulo relativo ao processo de análise forense em um servidor Unix,
são tratadas informações básicas sobre determinados serviços de rede que podem estar
presentes em servidores Unix, incluindo sobre seus arquivos de configuração. Há a
possibilidade de haver diversos outros tipos de serviços de rede além dos que são estudados
neste trabalho, sendo interessante estudar sobre o escopo das configurações e arquivos de log
de cada um, pois são os principais arquivos a serem analisados caso haja a suspeita de
determinado serviço de rede tenha sido invadido, pois possuem informações importantes
quanto aos seus funcionamentos e que registro de eventos relativos aos seus usos
(MORIMOTO, 2008).
28. 28
4. COMPUTAÇÃO FORENSE APLICADA EM SERVIDORES DA PLATAFORMA
UNIX
Neste capítulo se busca apresentar como aplicar os conceitos dos processos da
computação forense em servidores baseados na plataforma Unix, de modo que possibilite a
compreensão de como realizar determinados trabalhos forenses de forma que se altere o
mínimo de dados possível das provas no sistema operacional, a fim de se manter a veracidade e
integridade dos resultados.
4.1. VERIFICAÇÃO DO SERVIDOR UNIX A SER APREENDIDO
Verificar qual equipamento é um servidor é determinante para apreendê-lo
corretamente, principalmente em relação ao estado de funcionamento em que o mesmo será
encontrado, pois a apreensão do servidor desligado é bem mais simples do que o inverso.
Servidores por definição funcionam de forma contínua, e deve-se ter cuidado na sua
apreensão, do modo a se observar se está ligado. É possível que a vítima sem a devida
orientação o tenha desligado, e caso ainda não o tenha feito, não se deve permitir tal ação, pois
poderia eliminar possíveis provas em potencial.
Esta fase pode ser associada ao processo 2 (Identification) do EDRM representado
pela Figura 2, já que se trata do processo de identificação.
Já na Figura 3, é possível ter um visão mais exploratória da Fase 1 (Verificação das
provas a serem apreendidas) relativa a Figura 1, já que melhor se adequa ao processo de
verificação do servidor Unix a ser apreendido.
Figura 3: Destaques da Fase 1
29. 29
Fonte: Dados da pesquisa
4.2. APREENDER E MANTER A INTEGRIDADE DAS PROVAS DE UM SERVIDOR
UNIX
Neste capítulo é estudado como realizar a apreensão de um servidor Unix
propriamente dito, de forma que se as práticas forenses sejam aplicadas da melhor forma
possível levando em consideração as características inerentes aos servidores Unix.
Este processo pode ser considerado a Fase 2 (Apreensão e manutenção da integridade
das provas) descrito na Figura 1, sendo que uma explanação dos pontos principais pode ser
visto na Figura 4.
Figura 4: Destaques da Fase 2
Fonte: Dados da pesquisa
4.2.1. APREENSÃO COM O SERVIDOR DESLIGADO
Caso o servidor já esteja desligado, não deverá ser ligado de forma alguma, já que
dados da memória RAM5
já foram apagados e as conexões de rede interrompidas. Em tal
situação o recomendável é verificar quais as conexões físicas de cabos existentes, e anotar suas
as características como, em qual porta do servidor está conectada, e em qual equipamento ele
está interligando o servidor.
Caso outros dispositivos estejam diretamente interconectados ao servidor também
devem ser apreendidos, como mídias removíveis de pendrive, cdrom, disco rígido externo,
servidores com outros serviços que estão integrados ao servidor a ser apreendido, roteadores,
30. 30
e switches gerenciáveis, pois switches não gerenciáveis não salvam dados sobre as conexões
realizadas em suas portas de conexão.
4.2.2. APREENSÃO COM O SERVIDOR LIGADO
Ao se verificar que o servidor se encontra ligado, deve-se obter primeiro os dados
carregados em memória, para em seguida capturar informações sobre conexões de rede ativas,
e de serviços de rede ativos, além das contas de usuários conectadas ao servidor, desde que
não se execute os programas do próprio sistema do servidor, e sim a partir de um dispositivo
externo montado que possui os executáveis.
No Unix a captura de dados da memória pode ser realizada por aplicações nativas do
sistema.
A Figura 5 demonstra o comando para cópia da memória RAM. Pode-se observar que
o comando está sendo executado a partir de um diretório onde uma mídia externa foi montada,
ou seja, ele está sendo executado a partir de um local que também possui comandos e
programas do Unix, para evitar a execução de comandos nativos do sistema operacional da
vítima (PALMER, 2008).
Figura 5: Comando para capturar os dados da memória RAM
Fonte: Dados da pesquisa
É possível verificar também, que o acesso à memória é idêntico ao acesso de um
arquivo qualquer, como pode ser visto no argumento do parâmetro que especifica a origem da
cópia, e o arquivo de destino, está apontando para o diretório montado de uma mídia externa,
para que assim se evite a escrita de dados no disco rígido da vítima.
5 RAM: Random Access Memory
31. 31
Também é aconselhável obter dados sobre os processos ativos, para que futuras
verificações de processos anormais ao sistema, ou de processos sendo controlados por
usuários que não deveriam existir.
Um dos comandos possíveis para capturar dados sobre os processos em execução no
Unix pode ser visto na Figura 6. Os parâmetros utilizados visam especificar que o resultado
contenha dados como, o usuário controlando o processo, a quantidade que o processo está
consumindo de memória e processador, e data em que o processo foi aberto. O sinal de maior
que é um recurso padrão existente no Unix que possibilita que, em vez do resultado do
comando aparecer na tela, o mesmo deve ser encaminhado como texto para dentro do arquivo
especificado, que no caso, é um arquivo salvo fora do sistema de arquivos local, e se o arquivo
não existir, ele será criado (MORIMOTO, 2008).
Figura 6: Comando para capturar os dados dos processos em execução
Fonte: Dados da pesquisa
Já para a captura sobre as conexões ativas, o comando representado na Figura 7 pode
ser utilizado, em que o parâmetro utilizado, especifica que o comando deve retornar todas as
conexões sem exceção (PALMER, 2008).
Figura 7: Comando para capturar os dados sobre as conexões de rede
Fonte: Dados da pesquisa
Também é recomentado capturar dados sobre os usuários autenticados no sistema, e
isto pode ser feito pelo comando representado na Figura 8 (COSTA, 2011).
32. 32
Figura 8: Comando para capturar os dados sobre os usuários autenticados
Fonte: Dados da pesquisa
No processo de análise forense é que os resultados destes arquivos devem ser
averiguados, de modo que após estas coletas de dados, recomenda-se que o sistema seja
desligado de forma imediata, como desconectar o cabo de energia do servidor, para que se
evite a escrita de dados no disco rígido pelo processo de desligamento.
O processo de manter a integridade das provas já se inicia no processo de apreensão
do servidor, o que inclui os cuidados já citados, pois seu foco está em realizar todos os
processos de forma tal que não se modifiquem os seus dados originais, e se modificarem, que
seja o mínimo possível, de forma que nem mesmo sua integridade física pode ser afetada, já
que poderia desencadear o mesmo problema, como a danificação do disco rígido por exemplo.
Os vários cuidados tomados para se evitar a alterações de dados, podem ser
associados ao processo 3.1 (Preservation) do EDRM, que se trata da preservação de dados
representado na Figura 2.
4.3. PROCESSO DE ANÁLISE FORENSE EM UM SERVIDOR UNIX
Como neste processo devem-se procurar anomalias nos sistemas da vítima para se
chegar aos vestígios de crime, o primeiro passo é saber qual é o objetivo do servidor em
questão e quais serviços o mesmo fornece.
33. 33
Figura 9: Destaques da Fase 3
Fonte: Dados da pesquisa
Como não é feito um estudo de caso, é estudada a realização de análises básicas no
sistema operacional, e em seguida em determinados serviços conhecidos do Unix já
mencionados, mostrando anomalias possíveis de serem encontradas, e especificando as
possíveis soluções de segurança.
A utilização de programas para classificar e mostrar dados nesta fase pode ser
comparada ao processo 4.1 (Processing) do EDRM representado na Figura 2, já que se trata
de um processamento de dados, e a averiguação dos dados obtidos é comparável ao processo
4.3 (Analisys) do EDRM, sendo esta a fase de análise.
4.3.1 ANÁLISE DO SISTEMA OPERACIONAL DO SERVIDOR UNIX
Com o servidor no local de análise, o primeiro passo é realizar uma cópia íntegra do
disco rígido original, para que a partir da cópia sejam realizadas as próximas averiguações
forenses mais profundas. No Unix e seus derivados, existe um comando padrão que realiza
este trabalho.
Já que o servidor não pode ser ligado, e supondo que há outra máquina para o
trabalho de análise com um sistema Unix instalado, e que o disco rígido do servidor da vítima
está conectado neste mesmo computador, poderá ser realizado a cópia íntegra do disco a ser
analisado para o disco do computador do perito em forma de um arquivo. A partir deste
momento, a cópia pode ser feita com o comando da Figura 10.
34. 34
Figura 10: Comando para copiar um disco rígido
Fonte: Dados da pesquisa
É aconselhável que para executar o comando da Figura 10, o disco rígido da vítima
não tenha sido montado, pois assim, o comando em questão irá acessá-lo como somente
leitura, e nenhum processo do sistema operacional do perito irá alterar algum dado do disco da
vítima.
É possível observar na Figura 10 que o primeiro argumento indica para o primeiro
parâmetro o caminho do arquivo de dispositivo que faz a interface com disco rígido real, de
modo que o segundo argumento informa ao segundo parâmetro que o destino será um arquivo
(PALMER, 2008).
O arquivo resultante da cópia íntegra é que será analisado, e através de ferramentas
do próprio Unix, pode ser acessado também por um processo de montagem, para poder ser
analisado. Lembrando que mesmo sendo uma cópia, este não deve ser acessado no modo
escrita, pois os problemas de integridade que podem existir em um disco rígido real, também
podem afetar a cópia.
O processo de montagem de um arquivo originado de um disco rígido real pode ser
visto na Figura 11.
35. 35
Figura 11: Processo de montagem de partição de um arquivo de cópia de um disco rígido
Fonte: Dados da pesquisa
Na Figura 11, o primeiro comando é o utilizado para particionamento de discos
rígidos, e o parâmetro utilizado especifica que é para apenas listar informações das partições
existentes em determinado disco, e o primeiro argumento é o arquivo que foi gerado da cópia
do disco rígido que pode ser obtido pelo comando descrito na Figura 10 (MILLER, 2013).
O segundo comando é que realmente monta a partição do arquivo em uma pasta para
poder acessá-la, pasta esta que está especificada no terceiro argumento. O segundo parâmetro
na verdade trata-se de vários parâmetros juntos, pois o comando permite isto, entre eles o
primeiro parâmetro especifica que a montagem é somente leitura, ou seja, não haverá
possibilidade de escrita no arquivo de disco original (MILLER, 2013).
Com a cópia montada como somente leitura, esta já estará pronta para ser analisada, e
antes de realizar esta tarefa, caso tenha sido feita as coletas de dados com o servidor ligado na
fase de apreensão, é neste momento que eles devem ser analisados, pois podem conter
informações que podem ajudar a guiar o caminho antes de realizar a análise da cópia do disco
rígido.
36. 36
O ideal é iniciar pelos dados obtidos da memória RAM, e na Figura 12 é feita a
análise no arquivo que pode ser obtido na captura de dados da memória através do
procedimento representado pela Figura 5.
Figura 12: Exibição e filtragem do conteúdo obtido da memória RAM
Fonte: Dados da pesquisa
Lembrando que os dados coletados na fase de apreensão são salvos em mídia externa
de armazenamento, logo se pode observar na Figura 12, que o diretório corrente é na pasta
utilizada para montar tal dispositivo. No primeiro comando representado na figura, imprime
todo o conteúdo existente dentro do arquivo, sendo que o texto que realmente deve aparecer é
filtrado no segundo comando, que tem como argumento a expressão da palavra procurada, e
assim o resultado final é um resumo com as linhas de textos que possuem a expressão. O
símbolo entre os dois comandos é conhecido como canalização, e no Unix, é capaz de
redirecionar o texto resultante de um comando, para um segundo que pode agregar funções ao
primeiro (FARMER, 2007).
Os conteúdos de memórias possuem grandes quantidades de dados e são bastante
desorganizados, desta forma, vai depender de cada caso para saber o que procurar, podendo
ser senhas por exemplo.
Outro arquivo obtido na apreensão é o que capturou os processos que estavam ativos,
e para analisa-lo, basta imprimir seu conteúdo na tela com o comando representado pela Figura
13.
37. 37
Figura 13: Exemplo do conteúdo do arquivo com dados capturados dos processos
Fonte: Dados da pesquisa
A Figura 13 mostra uma representação do conteúdo obtido relativos aos processos
que estavam rodando no servidor na apreensão. Deve-se ter atenção quanto à primeira coluna,
pois ela mostra que usuários estão executando determinados processos, de modo que na
listagem em questão, os usuários estão corretos, pois os usuários diferentes de root são
usuários criados pelos próprios serviços instalados. Deve-se desconfiar de nomes de usuários
comuns executando algum serviço como os circulados na figura, pois pode ser a evidência de
que um usuário que de alguma forma conseguiu conectar no servidor e ter permissão para
controlar algum serviço.
Já o arquivo que contém o resultado do comando da Figura 7, que contém a lista de
conexões de rede que estavam ativas na apreensão, pode ser visto na Figura 14.
38. 38
Figura 14: Exemplo do conteúdo do arquivo com dados capturados das conexões ativas
Fonte: Dados da pesquisa
Duas observações imediatas podem ser feitas a partir da Figura 14. No primeiro
retângulo que está selecionando três colunas, a primeira coluna mostra a representação de um
serviço, ou pelo nome ou pela sua porta de rede, e a segunda coluna exibe para qual endereço
IP o mesmo pode receber conexões, de modo que o asterisco significa que funciona para
qualquer IP, e finalmente na última coluna mostra qual o estado do serviço, que no caso
significa que o serviço está pronto para aceitar conexões. Já o segundo retângulo mostra na
primeira coluna o nome do servidor e o respectivo serviço, e na segunda mostra um IP de um
computador da rede e a respectiva porta utilizada do lado cliente, e a terceira coluna mostra
que o estado entre os dois dispositivos é de uma conexão estabelecida.
Desta forma, esta listagem de conexões de rede, pode esclarecer qual a origem de
uma conexão de rede não desejada, como também para mostrar quais serviços de rede estão
ativos, que em algumas ocasiões nem deveriam estar ativos.
Uma averiguação para agregar na análise das conexões de rede, é a do arquivo
resultante dos usuários autenticados também obtido a partir da apreensão, que pode ser visto
na Figura 15.
Figura 15: Exemplo do conteúdo do arquivo com dados capturados dos usuários ativos
39. 39
Fonte: Dados da pesquisa
A Figura 15 possibilita confirmar a análise anterior das conexões de rede, sendo as
três informações sublinhadas as mais relevantes, em que a primeira mostra o usuário utilizado,
já a segunda mostra o IP de origem da autenticação do usuário, e a terceira mostra que
processo o usuário está utilizando, sendo que o processo em questão, é por padrão designado
para oferecer uma linha de comando ao usuário autenticado, desta forma, com base na análise
anterior, pode-se presumir que o usuário está conectado remotamente através do serviço de
autenticação remota SSH a partir de outro computador.
Após a análise dos dados que haviam sido capturados na fase de apreensão, pode-se
iniciar à análise do arquivo da cópia do disco montado anteriormente na Figura 11, sendo
possível averiguar os dados existentes dentro da cópia como se fosse o disco rígido real da
vítima. Ao averiguar esta cópia, é que será possível analisar as configurações, os serviços de
rede instalados, os arquivos de log, e os diretórios e arquivos em geral.
4.3.2 ANÁLISE DO SERVIÇO SQUID
Um exemplo de serviço de rede que pode ser encontrado em um servidor Unix é o
Squid. O Squid é um Proxy que tem como principais funções a de compartilhar internet e de
possibilitar um cache. Este serviço possui uma gama de recursos, entre elas, controle de acesso
por autenticação, por horários, por endereços IP, e pode permitir ou não o acesso a conteúdos
dos sites, por expressões de texto, por URL6
e por extensões de arquivos (MORIMOTO,
2008).
O Squid possui um arquivo de log rico de informações para auditoria, em que todos os
dispositivos da rede que navegam na internet através dele terão seus acessos registrados neste
6 URL: Uniform Resource Locator
40. 40
arquivo de log, salvando detalhes como data, hora, tempo gasto, URL acessada, tamanho do
arquivo e outros dados mais técnicos.
A análise pericial em um servidor Squid, é importante para elucidar casos em que se
torna necessário averiguar os sites acessados por determinado computador da rede. Assim, o
maior foco da análise pericial em um servidor Squid está em verificar seu arquivo de log, pois
este contém informações quanto ao uso da internet na rede local.
Em casos de pedofilia, por exemplo, mesmo que o usuário do computador final
apagasse o histórico das páginas acessadas no seu computador, este histórico pode continuar
existindo no servidor Squid. Na Figura 16 pode-se observar o conteúdo de exemplo de um
arquivo de log do Squid (MORIMOTO, 2008).
Figura 16: Conteúdo do arquivo de LOG do Squid
Fonte: Dados da pesquisa
No arquivo de log do Squid demonstrado na Figura 16 mostra três colunas destacadas
que são importantes, em que a primeira coluna mostra data e hora, sendo em um formato
próprio do Unix, em que há ferramentas próprias no Unix para conversão para o formato de
data e hora normal compreensível. Na segunda coluna é mostrado o endereço IP do
computador cliente do serviço Squid que acessou a internet através dele. E na terceira coluna,
é mostrado o endereço do site acessado. Útil para auditorias de rotinas e análises forenses.
4.3.3 ANÁLISE DO SERVIÇO OPENSSH
Outro serviço comumente encontrado em servidores Unix, é o serviço para conexões
remotas seguras em sistemas operacionais Unix, conhecido como OpenSSH. O OpenSSH
propicia meios para que se possa estabelecer uma conexão segura utilizando recursos de
41. 41
criptografia. Este serviço pode controlar que usuários podem acessar, ou endereços IP, e até
determinar em que diretório padrão o usuário irá acessar sem possibilidade de navegar no resto
do sistema de arquivos (TERPSTRA, 2005).
O serviço OpenSSH possui diversas configurações quanto ao número de conexões
permitidas, que usuários permitir, e a porta utilizada. Na Figura 17 um trecho deste arquivo
pode ser visto.
Figura 17: Conteúdo do arquivo de configuração do SSH
Fonte: Dados da pesquisa
Um facilitador para as tentativas de invasão é o administrador do sistema manter a
porta padrão do serviço, sendo que é possível alterá-la na linha destacada na Figura 14
(MORIMOTO, 2008).
Os registros dos acessos ao serviço SSH são arquivados em um arquivo como o
impresso na Figura 18.
Figura 18: Conteúdo do arquivo de LOG de autenticações no sistema Unix
Fonte: Dados da pesquisa
Neste arquivo de log é armazenada a maioria das informações relativas ao uso de
autenticação no sistema, sejam erros de senha, erros de digitação do nome de usuário, e o
endereço IP de origem.
42. 42
Na Figura 18, a parte retangular mostra um exemplo de uma tentativa de autenticação
sem sucesso, mostrando a data, hora, nome do servidor, o serviço acessado, e a mensagem de
erro respectivamente.
Quando existir uma lista neste arquivo de registros de tentativas de autenticação sem
sucesso, em curtos espaços de tempo, e com usuários que fogem aos padrões do sistema, pode
ser o indício de tentativas de invasão, e verificar este arquivo por completo é essencial, para
que se verifique se não houve sucesso em uma das tentativas.
4.4. ELABORAR O LAUDO
O laudo é um documento que inicialmente pode conter várias informações relativas a
todo o processo pericial, como dados sobre a entidade ou pessoa requisitante e do perito,
todas as datas e horas de cada procedimento realizado, dados sobre a vítima, e requisitos e
delimitações estabelecidas antes da perícia iniciar. Logo após, informações técnicas mais
relevantes devem ser destacadas, principalmente as que provam o fato ilícito cometido contra o
sistema da vítima (ELEUTÉRIO; MACHADO, 2010).
A inserção de dados técnicos pode ser procedida com a captura de tela que possui
uma informação relevante, e agregada ao laudo, em que arquivos de log e de configurações
grandes podem ter inseridos ao laudo apenas os seus trechos de texto mais importantes.
Lembrando que se deve argumentar sobre a informação técnica, descrevendo porque motivo
àquela informação é uma prova de um fato ilícito, e caso haja várias provas relacionadas entre
si, deve-se sequenciá-las de forma temporal, mostrando qual artefato teve sua vulnerabilidade
explorado primeiro, e se a partir dela é que se tornou possível a invasão de outras partes do
sistema (ELEUTÉRIO; MACHADO, 2010).
Esta fase é associável ao processo 5 (Production) do EDRM da Figura 1, que
representa o processo de elaboração do documento que resume as informações obtidas sobre
os dados inicialmente coletados.
A Figura 19 faz referência a Fase 4 (Produção de um laudo) demonstrado na Figura 1,
de modo que a presenta uma visão mais exploratória.
44. 44
CONSIDERAÇÕES FINAIS
A partir dos estudos realizados, pode-se concluir que a análise forense em servidores
baseados na plataforma Unix é complexa, requerendo uma sequência de cuidados para que a
veracidade do trabalho pericial não seja atingida negativamente.
O modelo EDRM proporcionou uma visão global de todos os processos,
possibilitando uma compreensão facilitada, detalhada e organizada, sendo que foi possível
perceber que este modelo pode se tornar um referencial para todo o processo de computação
forense, abrindo a possibilidade de novos estudos tomando-o como base.
Também foi possível perceber, que várias ferramentas para o processo de coleta de
dados e de análise, já estão presentes nativamente no sistema operacional, consequentemente
reduzindo os custos da perícia, e evitando assim, a aquisição de sistemas proprietários.
Outra compreensão está no fato de que manter as configurações das instalações
padrões de sistemas servidores é inseguro, de modo que apesar da perícia não focar em propor
correções de falhas de segurança encontradas, as mesmas podem ser realizadas a fim de evitar
que a vítima tenha um novo incidente através das mesmas brechas de segurança.
O trabalho se limitou a uma análise forense inicial e superficial de sistemas Unix, de
modo que não houve um aprofundamento técnico nos exemplos abordados, nem se explanou
as diversas possibilidades possíveis de invasão em cada serviço de rede, ou no sistema
operacional em si.
Foi possível demonstrar apenas os conceitos necessários para a realização do laudo
pericial.
Este trabalho pode proporcionar o embasamento para estudos posteriores que podem
ser realizados a partir deste ponto, entre eles uma análise mais profunda das ferramentas
existentes no Unix; de como aplicar os conceitos estudados em plataformas diferentes, e de
como aplicá-los no trabalho dos administradores de rede, para que lhes possibilite meios de
realizar auditorias mais completas e seguras, para que suas tarefas de prevenção na segurança
sejam mais efetivas. Também é possível abranger um estudo mais aprofundado em relação aos
serviços de rede disponíveis no Unix, estudando como os procedimentos forenses podem ser
agregados às particularidades de cada um.
46. 46
REFERÊNCIAS
COSTA, Marcelo Antonio Sampaio Sampaio Lemos. Computação Forense: A análise
forense no contexto da resposta a incidentes computacionais. 3° Ed. Campinas, SP:
Millennium Editora: 2011.
EDRM LLC. EDRM Stages. EM: <http://www.edrm.net/resources/edrm-stages-explained>.
Acesso em: 27 outubro 2013.
ELEUTÉRIO, Pedro Monteiro da Silva. MACHADO, Márcio Pereira. Desvendando a
Computação Forense. São Paulo: Novatec Editora, 2010.
FARMER, Dan. VENEMA, Wietse. Perícia Forense Computacional: Teoria e Prática
Aplicada. 2° Ed. São Paulo: Pearson Prentice Hall, 2007.
FREITAS, Andrey Rodrigues de. Perícia forense aplicada à informática. Rio de Janeiro:
Brasport, 2006.
HERTZOG, Raphaël. MAS, Roland. O Manual do Administrador Debian. 2012.
Disponível em: <http://debian-handbook.info/browse/pt-BR/stable/>. Acesso em: 06 out.
2013.
KUROSE, James F. ROSS, Keith W. Redes de Computadores e a Internet: uma
abordagem top-down. 5° Ed. São Paulo: Addison Wesley, 2010.
LYRA, Maurício Rocha. Segurança e Auditoria em Sistemas de Informação. Rio de
Janeiro: Ciência Moderna Ltda., 2008.
MILLER, Andre. Mounting a hard disk image including partitions using Linux.
Disponível em: <www.andremiller.net/content/mounting-hard-disk-image-including-partitions-
using-linux>. Acesso em: 07 out. 2013.
MORIMOTO, Carlos Eduardo. Servidores Linux, Guia Prático. Porto Alegre: Sul Editores,
2008.
PALMER, Michael. Guide to UNIX Using Linux. 4° Ed. Boston, Massachusetts: Cengage
Learning, 2008.
ROSA, Fabrízio. Crimes de Informática. 2° Ed. Campinas: Bookseller, 2005.
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3° Ed. São Paulo: Pearson
Prentice Hall, 2009.
TERPSTRA, John. Segurança para Linux. Rio de Janeiro: Elsevier, 2005.
47. 47
APÊNDICES
APÊNDICE 1 - ESTRUTURA DE DIRETÓRIOS E COMANDOS DO UNIX
Os sistemas de arquivos dos sistemas operacionais inclusos nos padrões da plataforma
Unix, seguem uma organização hierárquica, de forma que se inicia por um diretório pai
representado por uma barra para a direita, como pode ser visto abaixo na Figura 20, na
representação da primeira linha, sendo que abaixo do diretório principal, encontra-se diversos
subdiretórios definidos pelo POSIX, e outros mantidos e organizados pelo sistema
operacional, em que dentro de cada um existem diversos outros subdiretórios e arquivos
(FARMER, 2007).
Figura 20: Listagem da pasta raiz do Linux
Fonte: Dados da pesquisa
Os arquivos de dispositivos geralmente se encontram no diretório representado pela
quarta linha da Figura 20 acima, e dentro dele existem arquivos que são interfaces controladas
pelo núcleo do sistema operacional, para possibilitar acesso ao hardware como monitor,
teclado, som, rede e dispositivos em geral, sendo que este diretório pode ser utilizado como
48. 48
meio para acessar dispositivos armazenamento e realizar ações para trabalhos forenses, como
clonagem de discos rígidos por exemplo. Em seguida na quinta linha, pode-se encontrar o
diretório responsável por manter a maioria dos arquivos de configuração, seja relativo à rede,
inicialização de processos, drivers, e serviços de compartilhamento de recursos, de modo que
deve ser analisado em casos em que algum serviço de rede foi violado. A sexta linha mostra o
diretório em que os documentos dos usuários são comumente guardados, além de alguns
registros de suas ações realizadas no sistema operacional. Um dos diretórios de importante
relevância para auditorias no sistema, e que pode ajudar em esclarecimentos periciais, é o que
está representado na vigésima primeira linha, pois nele encontram-se diversos subdiretórios
onde são armazenados diversos registros do que ocorre no sistema operacional e seus serviços.
(PALMER, 2008)
Já em relação ao acesso a outros sistemas de arquivos de outros discos rígidos,
partições de disco, ou via rede a partir de um Unix, deve ser realizada por um processo
chamado de montagem com um programa apropriado, de modo que o diretório remoto é
montado em um diretório no disco local, e este estando vazio ou não, passará a representar o
diretório externo no disco local, e os arquivos originais do diretório local não ficarão acessíveis
enquanto um processo inverso chamado desmontagem não for realizado, de modo que não
acontece nada com estes arquivos, pois somente ficam ocultos pela montagem. O problema é
que este tipo de acesso a arquivos remotos via rede para realizar trabalhos forenses não é
recomendado, pois além de não se ter todos os recursos do sistema de arquivos do disco
original, não será possível realizar uma análise em um nível mais profundo, sem esquecer que
se deve evitar trabalhos forenses nos dispositivos originais (FARMER, 2007).
A Figura 21 representa um exemplo de montagem de um dispositivo de
armazenamento no Unix, onde dentro do retângulo está uma representação de uma tela de uma
linha de comando Unix típica, em que na primeira linha, se observa um comando realizando
uma montagem de um dispositivo de uma mídia de armazenamento externa, onde no primeiro
argumento observa-se o caminho do arquivo que representa o dispositivo de hardware a ser
montado, e no segundo argumento, o caminho destino do diretório onde este dispositivo será
montado, pois é partir desta pasta onde será possível acessar os arquivos da mídia. A segunda
linha na verdade é o resultado de saída do comando realizado na linha anterior, avisando que o
dispositivo é protegido de gravação e que será montado como somente leitura. Neste momento
já seria possível verificar que arquivos existem no dispositivo, e até copiá-los para outro local.
Na terceira linha é mostrado o comando de desmontagem do dispositivo. A quarta linha
mostra a linha de comandos no modo de aguardar novos comandos, de modo que após a
49. 49
desmontagem não mostrou nenhuma mensagem, significando que o comando foi executado
com sucesso (MORIMOTO, 2008).
Figura 21: Comando para montagem e desmontagem de dispositivos no Unix
Fonte: Dados da pesquisa
Na Figura 21, pode-se perceber ainda nos três primeiros itens destacados pelas setas,
informações do usuário atual autenticado na linha de comandos, o nome do computador, e o
diretório corrente em que o usuário se encontra respectivamente.
Para verificar quais os arquivos presentes em um diretório, podemos utilizar um
comando específico para tal, como pode ser visto na Figura 22. Como pode ser visto, é que
após a execução do comando indicado, a saída resultante é uma lista de arquivos e diretórios
que estão presentes no diretório. Tanto este comando e outros existentes no Unix, possuem a
capacidade de receberem parâmetros para determinar que ação específica do comando será
realizada, como também a de receber argumentos, que geralmente são palavras comuns
utilizadas pelo usuário com a finalidade de filtrar os resultados a serem obtidos, como também
para determinar um arquivo ou diretório a sofrer uma ação do comando, de modo que a
formatação correta do comando utilizando estes parâmetros e argumentos pode ser obtida a
partir de leituras nos manuais do próprio sistema operacional via linha de comando (PALMER,
2008).
Figura 22: Comando para listar o conteúdo dos diretórios no Unix com um parâmetro para maior detalhamento
Fonte: Dados da pesquisa