Infra - Segurança
Análise Forense Computacional de Logs em Sistemas Linux: As testemunhas da rede
No presente trabalho, exploramos as ferramentas nativas o sistema operacional linux, para demonstrar como o profissional de perícia pode coletar muitas informações a respeito do sistema.
por José Antonio MilagreI – INTRODUÇÃO
Logs são registros, normalmente armazenados em arquivos ascii ou texto simples, capazes de armazenar o que se passa com sistemas computacionais e serviços de rede. A Correlação de logs de eventos, segurança e auditoria são fundamentais para que se possa reconstruir o que efetivamente ocorreu com um sistema computacional no passado.
Deve-se consignar, entretanto, que antes mesmo da analise dos logs, o perito deve pautar sua conduta pela manutenção da volatilidade, princípio computacional que nos informa, basicamente, que antes da análise de logs armazenados em discos rígidos, existem muitas outras coisas mais importantes para se fazer prioritariamente, como o dump da memória e o congelamento do estado da rede e processos.
Importa frizar também, que o perito deverá ter a intimidade em coletar dados em sistemas operacionais diversos, como Linux e Windows, e nestes, em aplicações diversas, como Squid ou um Servidor Exchange Server.
No presente trabalho, exploramos as ferramentas nativas o sistema operacional linux, para demonstrar como o profissional de perícia pode coletar muitas informações a respeito do sistema.
II – LOGS NO LINUX
O Linux é recheado de registros, muitos comandos simples nativos podem levantar muitas informações sobre o sistema, por exemplo, o comando last/lastlog, que pode ser utilizado para exibir a listagem dos últimos usuários que logaram no sistema:
Exemplo da execução do comando last, que
informa a data e hora dos usuários que logaram no sistema
Já o comando lastb, pode listar a última tentativa de login que não obteve êxito. Igualmente, pode-se acessar diretamente o arquivo responsável por tais registros digitando # cat /var/log/btmp.
Com who, é possível verificar os usuários logados na máquina. Já com history | more, o perito tem acesso aos registros dos últimos comandos executados na seção atual.
Execução do comando history: Informa últimos
comandos digitados pelo usuário.
Outro dado importante na análise de trojans e rootkits é monitorar quais arquivos determinados processos estão chamando. Por vezes, nada melhor que “executar” o trojan para efetivamente ter indícios do que ele realiza. Com o comando ps –aux é possível identificar os processos atuais executados por um usuário.
Posteriormente, podemos filtrar com o comando lsof –p somente os arquivos chamados pelo processo PID 11306 (E acabamos de detectar a utilização de MSN em ambiente empresarial, normalmente vedado pela Política de Segurança). Em nosso exemplo, ao executarmos o Amsn (Cliente Messenger para Linux), e executar o comando para listagem dos processos, encontramos o seguinte registro nos logs:
Correlação entre arquivos chamados por determinado processo.
Interessante, dependendo do escopo da perícia, correlacionar os arquivos abertos por um determinado usuário, onde podemos utilizar o comando id para identificar o UID (User Identification) do usuário e posteriormente o comando lsof –U UID.
No Linux , por default, a grande maioria dos registros do sistema se encontram em /var/log, dentre os quais vale destacar:
Usuário tenta se logar no sistema como administrador às 18:26:46 porém não consegue. Posteriormente às 19:03:01 obtém acesso ao root, e em menos de 1(um) minuto, se desconecta do sistema.
Já em /etc/log/daemon.log, podemos identificar os logs envolvendo os serviços em geral, desde logs da rede, como por exemplo, requisições de conexão ou de IPs, à identificação de que alguém plugou ou desconectou da máquina um pen-drive ou dispositivo móvel, vejamos:
Daemons registrando todos os
serviços e eventos do sistema
Nos termos da NBR ISO/IE 17799:2005, especificamente em seus itens 9.7.1 e 10.10.0, é de boa prática a todo administrador de segurança a adoção de um proxy cache em uma rede, e por que ? Justamente para que se armazene registros de atividades dos usuários que tem acesso à rede mundial de computadores, eis que a empresa pode ser responsabilizada judicialmente pelo conteúdo que seus colaboradores acessam. O Squid é o servidor mais utilizado na plataforma livre e ele também deixa rastros:
Primeiramente deve-se analisar /etc/squid/squid.conf, em busca de alterações nos paths padrões de armazenamento dos logs. Os logs do Squid são divididos em:
· /var/log/squid/access.log = Arquivo de registro de conexões http
· /var/log/squid/cache.log = Hora e data em que o arquivo cache foi iniciado
· /var/log/squid/store.log = Registro dos objetos armazenados pelos clientes em consulta a sites (vídeos, conteúdos proibidos, mp3s, imagens, etc.)
III – GREP: UM ALIADO
O Grep é um binário encontrado na maioria das distribuições Linux e é considerado o salvador dos administradores de rede, auditores e peritos computacionais. Por meio do mesmo é possível fazer com que o arquivo de log, retorne por exemplo, apenas os registros que tragam determinada sting em sua linha.
No nosso exemplo, podemos varrer o arquivo auth.log em busca de entradas e saídas de um dispositivo de armazenamento supostamente conhecido, que aqui chamamos de “LG”. Utilizamos o comando cat auth.log |grep “LG” e veja o que descobrimos:
Grep: filtramos, ente um
“mar de logs” somente os registros de conexão de desconexão de determinado
dispositivo de armazenamento. No caso um pen drive “LG” com número serial
identificado.
IV– CONCLUSÕES: A IMPORTÂNCIA DOS LOGS
Como verificado sistemas Unix tem muito a nos contar. Em uma investigação de incidentes eletrônicos a análise de logs é de extrema importância, eis que se a função do perito é apurar a ocorrência de fatos e identificar a autoria dos mesmos, a função dos logs é servir como “testemunhas eletrônicas”, aptas a depor sobre incidentes e crimes de tecnologia.
Ainda, manter com segurança registros de atividades atende ao item 10.10 da IS0/IEC 17799:2005, que trata da detecção e registro de atividades não autorizadas, além de evitar responsabilização civil e criminal corporativa, a medida em que pode informar a autoria de delito praticado dos computadores da empresa.
Porém não basta registrar, mas nos termos do item 10.10.3 da 17799:2005, proteger logs conta falsificação, adulteração e acesso não autorizado, por meio de medidas de descentralização e redundância das “testemunhas eletrônicas”.
- Segurança em SistemasSegurança
- TMap Next(Test Management Approach) - Processos de Suporte - Parte 8-4Segurança
- TMap Next(Test Management Approach) - Processo de Testes de Desenvolvimento - Parte 8-3Segurança
- TMap Next(Test Management Approach) - Processo Plano de Testes Mestre(MTP) - Planejamento e Con...Segurança
- TMap Next(Test Management Approach) - Processo Plano de Testes Mestre(MTP) - Planejamento e Con...Segurança