• Nenhum resultado encontrado

esr:/bin/bash rnp:/bin/bash

No documento Tratamento de Incidentes de Segurança (páginas 160-163)

visitante:/bin/bash

Na figura são ilustrados alguns comandos para filtragem de texto de forma combinada. Como pode ser visto, o arquivo /etc/passwd é processado em busca da palavra “bash”. Por fim, o comando cut secciona o texto usando o “:” como delimitador e exibe o primeiro e o sétimo campo identificado. Uma possível interpretação para esse comando seria: “liste todos os usuá- rios que possuem o interpretador de comandos bash como padrão no Sistema Operacional”.

Normalização

q

A normalização busca organizar as diferentes mensagens e formatos de logs de modo a minimizar redundância dos dados.

No processo de investigação de um incidente, muitas vezes é necessário unificar as men- sagens dos diferentes sistemas de modo a filtrar certos tipos de padrões. No entanto, um

Figura 7.5

Comandos de filtragem de texto.

Ca pí tu lo 7 - I de nt ifi ca çã o d e c on ta to s

Muitas vezes, os diferentes sistemas podem produzir mensagens de logs de modo estruturado (xml, json) e também em formato puro com ausência de estrutura. Nesse contexto, aconse- lha-se durante o processo de investigação organizar as informações em um formato unificado de modo a facilitar a análise de informações. Nessa unificação, devem ser tratadas questões como formato da data, formato do horário e codificação dos caracteres (utf-8, isso 8999-1).

q

Existem campos comuns que geralmente estão presente nos diferentes formatos de logs, entre eles:

1 Origem/Destino; 1 Tempo; 1 Protocolo; 1 Porta; 1 Nome de usuário; 1 Evento/Notificação/Alerta.

Esse processo nem sempre é trivial quando aplicado aos diferentes sistemas de log, tal como: Syslog, multilog, Windows Eventlog e SNMP. Evidentemente, arquivos estruturados e em modo texto podem ser trabalhados de forma mais flexível. Um exemplo é apresentado a seguir:

q

Log-server1.txt: Log do servidor web Windows

192.168.114.201, -, 03/20/01, 7:55:20, W3SVC2, SERVER, 200.X.X.X, 4502, 163, 3223, 200, 0, GET, /DeptLogo.gif, -,

Log-server2.txt: Log do servidor web Linux

192.168.1.1 - - [31/Dec/2007:00:17:10 +0100] “GET /cgi-bin/example. cgi HTTP/1.1” 200 2708 “-” “curl/7.15.5 (i4 86-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8c zlib/1.2.3 libidn/0.6.5” 2 example user@server:—$ cat Log-server1.txt | awk -F ','{print "DATA="$3$4 ", IP="$1 ", "$13 $14}' && cat Log-server2.txt | awk -F ' ' '{print "DATA="$4 ", IP="$1 ", "$6 $7}' | tr -d '" ['

DATA= 03/20/01 7:55:20 , IP=192.168.114.201, GET /DeptLogo.gif DATA= 31/Dec/2007:00:17:10, IP=192.168.1.1, GET/cgi-bin/example.cgi

Na figura é possível observar um exemplo onde logs de diferentes sistemas são normali- zados. O primeiro log (Log-server1.txt) contém uma requisição web de um servidor Windows. Já o arquivo seguinte contém uma requisição para um servidor web Linux. Como resultado, alguns campos são filtrados de modo a produzir um formato mais uniforme.

Correlação

q

A fase de correlação de mensagens de logs busca identificar ações relacionadas com um determinado evento investigado.

Por exemplo, uma máquina realizando varreduras na rede interna e acessando constan- temente um canal de comunicação IRC pode caracterizar eventos correlacionados a um comprometimento por bot.

q

Na etapa de correlação, todas as informações dos logs normalizadas previamente são

Figura 7.6

normalização das mensagens de logs de servidores web.

Tra ta me nt o d e I nci de nt es d e S eg ur anç a

De forma pragmática, existem algumas técnicas que podem ser utilizadas para auxiliar no processamento e correlação de eventos.

Na sequência, as principais técnicas são descritas:

Busca de padrões

q

Essa técnica consiste em identificar padrões específicos de mensagens de logs. Para isso, o investigador deve ter conhecimento prévio do tipo de evento que está pesquisando, tal como: IP atacado ou IP do atacante. Dessa forma, é possível reduzir consideravelmente o volume de mensagens que necessita ser investigadas.

Essa técnica é muito utilizada no processo de resposta a incidentes, onde a equipe de investigação busca confirmar a existência de um incidente e também identificar os eventos correlacionados com uma notificação recebida. No entanto, quando aplicada na identifi- cação proativa de incidentes, a busca de padrões apresenta algumas lacunas. Os padrões necessitam ser previamente identificados. Ataques que utilizam padrões não conhecidos são ignorados pela análise.

user@server:—$ grep -i "Invalid user" sshd.log | cut -d " " -f7-9 | sort | uniq -c | sort -kl -nr | head

121 Invalid user test 118 Invalid user guest 17 Invalid user toor 15 Invalid user tester 15 Invalid user student 14 Invalid user testing 14 Invalid user students 10 Invalid user root 10 Invalid user lpd 7 Invalid user webmaster

A figura ilustra a busca de padrões em logs do serviço SSH, nos quais foi utilizado um usuário inválido para acessar o sistema. Essas informações podem ser úteis para identificar uma varredura de força bruta realizada em um determinado servidor que faz o uso do serviço SSH.

Sumarização de informações

q

Essa técnica busca resumir informações contidas em um arquivo de log em específico, mostrando a frequência de certas informações, tal como número de linhas, número de acessos; número de origens e outras. Geralmente, a sumarização é realizada por uma ferramenta especializada em um formato de arquivo, pois a ferramenta necessita saber a semântica do arquivo de log para compor as informações resumidas.

Figura 7.7

Busca de padrões em logs do serviço SSH.

Ca pí tu lo 7 - I de nt ifi ca çã o d e c on ta to s

user@server:—$ cat kern.log | tr -d "DF" | awk '{print $11,$18,$20}' | sort | uniq -c | sort -nr -kl | more 8 SRC=218.X.X.211.19 PROTO=UP PT=42015 8 SRC=216.X.X.19.172 PROTO=UP PT=42015 8 SRC=124.X.X.67.183 PROTO=UP PT=42015 8 SRC=112.X.X.161.9 PROTO=UP PT=42015 7 SRC=211.X.X.245.41 PROTO=UP PT=42015 7 SRC=189.X.X.177.13 PROTO=TCP PT=22 6 SRC=222.X.X.25.44 PROTO=TCP PT=9999 4 SRC=61.X.X.74 PROTO=TCP PT=22 4 SRC=222.X.X.30 PROTO=TCP PT=22 4 SRC=218.X.X.91 PROTO=UP PT=42015

A figura ilustra a sumarização de todos os acessos bloqueados pelo filtro de pacotes iptables. Ao contrário da busca de padrões, a técnica de sumarização apresenta uma versão resumida das informações mapeadas. Isso é essencialmente útil quando se tem um grande volume de informações para ser processados.

Remoção de informações

q

Nesta técnica, também é conhecida por AI (artificial ignorance), busca-se remover infor- mações não relevantes para análise.

Isso significa reduzir variações não desejadas, ou sabidamente normais nos logs, tais como: informações de controle de logs (hearbeat), e número dos processos (pid). Como resultado, são apresentadas informações não usuais colapsadas com a sua respectiva frequência identificada. Como comentado, os arquivos de logs podem conter informações com nível de detalha- mento elevado. Nem sempre todas essas informações – todos os campos de uma men- sagem de log – necessitam ser analisados para investigar um determinado incidente.

No documento Tratamento de Incidentes de Segurança (páginas 160-163)