Segurança da Informação nas Organizações

Transcrição

Segurança da Informação nas Organizações
Mestrado em
Segurança da Informação e
Direito no Ciberespaço
Segurança da informação nas organizações
Analise da Informação na Rede
Fernando Jorge Ribeiro Correia
1
Analise de tráfego
1.1
Objectivos
• Conhecer o conceito de Analise da Informação na Rede.
• Conhecer algumas ferramentas de analise de tráfego da rede.
• Identificar, criar e filtrar tráfego susceptível de conter informações classificadas que é transmitido em
claro na rede.
1.2
Introdução
O roubo e a fuga de dados classificados representam um grande risco para as organizações, onde o seu modelo
de negócio assenta no armazenamento e processamento de informações consideradas sensíveis. Maioria das
organizações por vezes esquecem-se do nível de segurança requerido para que as redes transportem determinado
tipo de informação.
Este trabalho prático pretende demonstrar os processos de detecção, extracção e analise (DEA) de fuga de
informação numa rede. O processo DEA é usado na actuação de uma investigação forense de fuga de dados
sensíveis, tanto de ameaças vindas do interior como do exterior da rede.
1.3
Aplicação do Intrusion Detection System (IDS)
O IDS é uma aplicação de software que observa o tráfego de rede à procura de padrões que indiquem a
presença de informação sensível. Pode analisar qualquer tipo de tráfego que circule na rede. A identificação
de padrões está dependente da produção de filtros a aplicar ao IDS.
Neste trabalho prático o IDS a usar é o Snort. No Snort, os filtros são traduzidos em regras. Cada regra
é escrita num formato compatível com a linguagem Pearl . No primeiro exemplo deste trabalho prático, o
Snort vai ser usado para identificar mensagens que contêm números de cartões de crédito VISA ou American
Express.
É necessário criar as seguintes regras para aplicação no Snort:
american_express.rules
alert tcp any any <> any any \
(pcre:"/\d{4}(\s|-)?\d{6}(\s|-)?\d{5}/"; msg:"Cartão de crédito AMERICAN \
EXPRESS detectado em texto claro"; content:"american express"; nocase; \
session: printable; sid:140; priority: 1; )
alert udp any any <> any any \
(pcre:"/\d{4}(\s|-)?\d{6}(\s|-)?\d{5}/"; msg:"Cartão de crédito AMERICAN \
EXPRESS detectado em texto em claro"; content:"american express"; nocase; \
session: printable; sid:141; priority: 1; )
2
visa.rules
alert tcp any any <> any any \
(pcre:"/\d{4}(\s|-)?\d{4}(\s|-)?\d{4}(\s|-)?\d{4}/"; msg:"Cartão de crédito \
VISA detectado em texto claro"; content:"visa"; nocase; \
session: printable; sid:142; priority: 1; )
alert udp any any <> any any \
(pcre:"/\d{4}(\s|-)?\d{4}(\s|-)?\d{4}(\s|-)?\d{4}/"; msg:"Cartão de crédito \
VISA detectado em texto em claro"; content:"visa"; nocase; \
session: printable; sid:143; priority: 1; )
1.4
Trabalho prático
O emprego do Snort como IDS de rede requer as seguintes acções:
i) Iniciar a máquina virtual BT5.
ii) Activar o servidor de mail James Mail Server carregando no icon presente no Desktop.
iii) Abrir uma consola, identificar o endereço IP que foi associado à máquina virtual e confirmar que o servidor
de mail está activo.
• endereço IP: ifconfig - registar o endereço IP atribuído a ethX.
• servidor de mail: nmap localhost - verificar que os portos 25 (smtp) e 110 (pop) estão abertos.
iv) mudar para a directoria de configuração do Snort e aceda à directoria onde estão colocadas as regras de
filtragem: cd /etc/snort/rules
Aqui deve criar dois ficheiros com o conteúdo indicado na sec. 1.3. Seguidamente, deve mudar para a
directoria de configuração do Snort - cd .. - e criar o ficheiro regras.conf com o editor de texto
gedit. No ficheiro colocar as seguintes linhas:
include rules/american_express.rules
include rules/visa.rules
v) activar o Snort com o seguinte comando:
snort -dvbc /etc/snort/regras.conf -i ethX
Após esta acção o IDS está pronto a identificar tráfego na rede conforme as regras incluídas em regras.conf.
As opções -dbvc significam o seguinte:
d - apresenta os dados da camada aplicação presentes em cada pacote capturado.
b - os pacotes que contém o tráfego com conteúdo classificado são guardados no formato tcpdump. Este
formato pode ser lido pelo tcpdump e pelo Wireshark.
v - apresenta no ecrã o estado do snort.
c - indica que vai ser usado um ficheiro de regras.
3
Figura 1: Cenário de teste
1.5
Cenário de teste
O cenário que vai ser simulado está descrito na fig. 1.
Um funcionário do ISEGI recebeu um mail em que pede para actualizar os seus dados do cartão de crédito.
É pedido que seja enviado o número do cartão de crédito, o código de confirmação e a data de validade (uma
típica acção de fishing ). O funcionário responde ao mail enviando os dados pedidos.
Para simular o envio do mail abra a aplicação Mail Anónimo em ambiente windows e preencha os campos
conforme indicado na fig. 2.
Figura 2: Envio de uma mensagem com o Mail Anónimo
4
O MailAnonimo deve ser preenchido da seguinte forma:
SMTP Server: ip do BT5
To: [email protected]
From: [email protected]
Assunto: Actualização de dados
Os meus dados são:
Cartão: VISA
NR: 1234-1234-1234-1234
CC: 555
Validade: 9-9-1999
Clique em Send Message. O IDS vai detectar a mensagem desde que estejam incluídas as palavras chave:
VISA ou AMERICAN EXPRESS e os respectivos números do cartão. Se o IDS funcionou, o pacotes de
dados que contém a mensagem ficou registado pelo IDS da máquina que enviou o mail e pelo IDS da máquina
onde está o servidor. Os dados capturados pelo Snort estão guardados na directoria /var/log/snort. Mude
para esta directoria e responda às seguintes questões:
A) Qual o conteúdo da directoria /var/log/snort?
B) Qual o conteúdo do ficheiro alert? Identifica qual foi a origem da mensagem?
C) Qual o conteúdo da pasta com o IP da máquina?
D) Abra o ficheiro snortxxx com o Wireshark. Qual o seu conteúdo?
O Snort também pode ser usado para descartar tráfego. Identifique como é que se pode usar alterar
o funcionamento do Snort por forma a que um pacote de dados identificado como contendo informação
classificada seja descartado. Utilize o manual do snort que pode ser encontrado em:
http://www.snort.org/docs
E) Crie uma regra que identifique um pedido a um servidor web sobre uma página que contenha a palavra
hacker.
5
2
Auditoria de actividade na rede
2.1
Objectivos
• Conhecer o processo de auditoria de tráfego de rede
• Conhecer ferramentas de auditoria
• Identificar tipos de tráfego
2.2
Introdução
Os processos de auditoria a sistemas de informação são mecanismos que visam identificar o estado dos sistemas
e o tipo de tráfego que neles corre.
Quando um sistema está ligado em rede a outros sistemas, o tráfego gerado deve obedecer a um padrão
conhecido dos administradores. Tráfego que apresente características fora do padrão deve ser identificado,
analisado, e se for o caso, interrompido o acesso aos dados. O processo de identificação passa pelo emprego de
ferramentas de auditoria. O processo de interrupção do fluxo de dados passa por configuração de permissões
nas firewall.
Como ferramenta de auditoria de tráfego na rede, o argus aparece como uma aplicação padrão de referência.
Este trabalho pretende mostrar a aplicabilidade de algumas das ferramentas associadas ao argus.
2.3
Argus - Auditing network activity
O Argus é um sistema de auditoria da rede. Emprega um monitor de fluxo de tráfego em tempo real. O Argus
Open Project é vocacionado para o desenvolvimento de actividades de auditoria da rede que podem ajudar a
desenhar novas arquitecturas de rede, ou auxiliar o administrador da rede no seu funcionamento.
2.3.1
Detalhes do projecto
As primeiras versões do Argus datam da década de 90. Anos mais tarde surgiu o Cisco’s NetFlow, mas com
uma diferença acentuada. Enquanto que o NetFlow é unidireccional, o Argus é um modelador de tráfego
bi-direccional que vai ao encontro do comportamento da rede independentemente do tráfego que nela circula.
O Argus vai ao encontro de múltiplos descritores / identificadores em diversos modelos de fluxo de dados,
desde o nível 2 ao nível 5 do modelo OSI.
Acordo com o NSMWiki, existem diversas universidades que usam o Argus para registar o tráfego que flui
para dentro e para fora da rede, ou que pode estar a comprometer as máquinas, tudo feito em tempo real.
2.3.2
Instalação
O Argus requer a instalação de duas componentes, o monitor de tráfego (servidor) e a componente de acesso
ao servidor e de analise de registos (cliente).
A instalação deste serviço pode ser feita através da aplicação de gestão de pacotes de software do BT5
- synaptic, ou através do comando apt-get install <pacote>. Estes dois processos garantem a instalação
dos binários do ARGUS. Caso não seja possível, existem sempre uma terceira hipótese: compilar e instalar o
programa de raiz.
A máquina virtual BT5 já tem o ARGUS instalado.
6
2.4
Trabalho prático
Vamos analisar o tráfego que entra e sai da máquina virtual BT5 e identificar o respectivo fluxo de dados.
Faça o seguinte:
i) inicie o wireshark.
ii) inicie a captura de tráfego na rede na a interface ethXX
iii) inicie o firefox e abra a página da Marinha em http;//www.marinha.pt
iv) termine a captura de tráfego no wireshark e grave o resultado no ficheiro em root. Use o nome
marinha.cap.
Acabou de fazer uma captura de dados. Agora vamos usar o argus para analisar o resultado. Faça o
seguinte:
i) converter o formato dos dados:
root@bt: # argus -r marinha.cap -w marinha.argus
ii) aceder aos dados:
root@bt: # ra -r marinha.argus -s +tcprtt +dmac
Responda ao seguinte:
A) Compare o resultado fornecido pelo wireshark e pelo argus. Que diferenças observa sobre a informação
apresentada?
B) O que representam as duas últimas colunas e que informação o administrador do sistema pode recolher?
As ferramentas de analise de tráfego disponíveis em linux são variadas e para todos os gostos. Vamos
utilizar o tcpdump para recolher dados sobre o tráfego de rede. Faça o seguinte:
i) feche o wireshark
ii) na linha de comandos escreva o seguinte:
root@bt: # tcpdump -i ethXX -nw tcpdump.cap
iii) no firefox aceda à seguinte página:
http://www.wook.pt
iv) pare a captura de tráfego fazendo Ctl+c na linhas de comandos.
v) converta o ficheiro criado para um formato que o argus entende, da seguinte forma:
root@bt: # argus -r tcpdump.cap -w tcpdump.argus
vi) analise o resultado obtido com o seguinte comando:
root@bt: # racluster -r tcpdump.argus -m saddr daddr dport - tcp and syn
responda ao seguinte:
C) Quais são as diferenças que verifica quando usa o racluster em vez do ra?
7
D) Para aceder à página www.wook.pt foi necessário aceder a quantos servidores?
NOTA: use o comando ra definido nas alineas anteriores para confirmar a sua resposta.
E) A sua máquina acedeu a diversos servidores. Dos servidores apenas conhece o endereço IP, não conhece o
nome . Use o comando nslookup para identificar qual o nome que está associado a cada IP.
O argus é um analisador de tráfego de rede com capacidade de tempo real (ou quase). Para vermos
esta funcionalidade, você vai activar diversos serviços na sua máquina. Assim, no menu Services, active os
seguintes serviços:
• HTTPD
• SSH
• VNC
Na linha de comandos escreva:
root@bt: # etherape&
A aplicação etherape é um ferramenta gráfica que permite visualizar a intensidade do fluxo de dados na rede.
Seguidamente deve iniciar a sonda de tráfego ARGUS:
root@bt: # argus -d -i ethXX
deverá obter uma mensagem a indicar que o argus foi iniciado. Nessa mesma janela inicie a ferramenta que
vai receber a informação fornecida pelo argus:
root@bt: # ratop -S localhost
No Windows, aceda a cada um dos serviços que activou no BT5. Não se esqueça que o acesso ao HTTP é
feito com o browser escrevendo na barra de endereços o IP do BT5. O acesso ao VNC é feito com o TightVNC
e não se esqueça de qual foi o desktop criado. O acesso ao SSH é feito através do PuTTY. Responda ao
seguinte:
F) À medida que vai acedendo ao serviços no BT5, consegue ver no ratop o estado de cada ligação? E no
etherape? Quais são as alterações no funcionamento de cada uma das aplicações que observa?
G) E quando termina o acesso, o que visualiza no ratop?
H) Que outros fluxos de dados é que o argus capturou? Estão relacionados com o seu acesso aos serviços?
Como relaciona a informação recolhida pelo argus com a informação apresentada pelo etherape?
Bom trabalho !
8