Apresenta-se uma plataforma de teste baseado em Honeypots. A plataforma de teste está baseada em um software denominado MHN (Modern Honey Network) que possui um conjunto de aplicações que são utilizadas como Honeypot. A plataforma proposta está composta da seguinte maneira, na Figura 3.1 um diagrama de blocos que apresenta todos os componentes da arquitetura.
Internet (Nível 5)
Ameaças ou Ataques
Ataque Força
Bruta Negação Serviço Varredura portas Outros Ataques
Serviços Avaliados
(Nível 3)
Honeypots
SSH HTTP MYSQL SMB SQUID RDP SIP Administração, Configuração, visualização e Controle da plataforma através interface Web (Nível 4) Serviços Especializados (Nível 2)
Sistemas de Detecção de Intrusões
SNORT SURICATA
Armazenamento (Nível 1)
Banco de Dados MongoDB
Sistema Operacional Linux Ubuntu (Nível 0)
Figura 3.1: Plataforma de teste proposta baseada em MHN.
No (Nível 0) é a base que sustenta toda a plataforma e é baseada no sistema operacional
Linux, particularmente para este dissertação é utilizada a versão de Ubuntu 14, este sistema se
encontra alocado em um servidor virtual alugado na nuvem pelo serviço da empresa
DigitalOcean24
24
No (Nível 1) está formado por um banco de dado que realiza a função de administração do armazenamento das ameaças e/ou ataques coletados pelos Honeypots. O gestor da base de dados empregado é mongoDB25, que utiliza um paradigma de trabalho baseado em dados não estruturados (NoSQL).
No (Nível 2) está formado por serviços especializados que são instalados em função das necessidades especificas de cada teste a realizar particularmente, neste trabalho realizou-se a instalação dos serviços que formam parte da família dos sistemas de detecção de intrusões, estes softwares são: Snort [SAGALA 2015] e Suricata [ALBIN et al. 2012].
Um sistema de detecção de intrusões (IDS) possui a função de identificar uma ameaça baseada em regras padrões. Essa detecção origina uma alarme e registra a ocorrência através de um arquivo Log, fornecendo uma resposta. Os métodos de detecção utilizados pelos IDS, a fim de identificar uma ameaça segundo os autores [BUTUN et al. 2014] [CHAUHAN et al. 2012] são:
1. Detecção de padrões (Pattern Matching);
2. Detecção de padrões que mantém o estado (Stateful Pattern Matching);
3. Análise de protocolos (Protocol decode);
4. Análise heurística (Heuristic analysis);
5. Análise das anomalias (Anomaly analysis).
O escopo abordado neste trabalho está baseado na primeira opção, detecção de ameaças por reconhecimento de padrões. O método funciona identificando pacotes de dados através de atributos com alvo de descobrir tráfico malicioso. A regra padrão definida como regra de identificação só é testada para determinado serviço, determinada porta, determinada combinação de FLAGS e determinado inicio e fim de seu conteúdo. Um exemplo do funcionamento de uma detecção feita com este método consiste em acionar uma alarme se o pacote é IP, tipo de protocolo é TCP, porta é número 22 e FLAGS é SYN, está regra pode identificar um ataque ao serviço de acesso remoto SSH.
Estas regras são definidas em um arquivo principal de assinaturas de ameaças utilizadas pelos IDS, com o alvo de detectar ameaças e/ou ataques. No Quadro 3.1 mostra-se uma regra padrão extraída do arquivo principal de regras utilizadas pelos IDS Snort e Suricata na plataforma de teste MHN.
Quadro 3.1: Regra de identificação de um ataque ao serviço SSH
ALERT TCP $EXTERNAL_NET ANY -> $HOME_NET 22 (MSG:"ETSCAN POTENTIAL SSH SCAN"; FLAGS:S,12)
Feita uma aclaração do funcionamento de um sistema de detecção de intrusões, apresentam-se os IDS avaliados na plataforma de teste MHN.
O IDS Snort26 é um detector de intrusos baseado em rede, possui um motor de detecção de ataques e/ou ameaças que permite registrar tudo o tráfico malicioso em uma rede de dados, a arquitetura de funcionamento é baseado em Single-Threaded.
O IDS Suricata27 apresenta o mesmo conceito que Snort, a diferença principal está na
arquitetura de funcionamento que é baseado em Multi-Threaded.
A continuação na Figura 3.2 apresenta-se a arquitetura de funcionamento de Snort, formada por um módulo de Network Backbone (rede), Sniffer, Preprocessador, Mecanismo de detecção, e por último um módulo de alertas e armazenamento.
Network Backbone (rede): É a rede que deseja analisar.
Sniffer: É o primeiro passo de captura, de decodificação de um pacote de dados que
armazena e classifica todos os pacotes, por exemplo, IP de origem e destino.
Preprocessador: É uma camada que permite acrescentar o funcionamento do detector
através de módulos adicionais.
Mecanismo de detecção: É uma camada que inspeciona o conteúdo do pacote para comparar com os padrões ou regras de assinaturas (conjunto de regras ou rules).
Alertas e armazenamento: É a última camada de processamento de Snort que quando detecta um pacote suspeito, por uma decisão do preprocessador ou através do mecanismo de detecção, este módulo gera uma alarme, que pode ser armazenado em um arquivo de texto ou em um banco de dados externo.
Figura 3.2: Arquitetura de funcionamento do IDS Snort.
No (Nível 3) está formado por uma camada que contém os diferentes Honeypots a avaliar, este grupo está identificado pelos seguintes serviços: SSH (22), HTTP (80), MYSQL (3306), SMB (445), SQUID (3128), RDP (3389), SIP (5060). Particularmente na plataforma
26
https://www.snort.org
27
de teste MHN, foi instalado e configurado o Honeypot Dionaea que possui todos os serviços anteriormente mencionados.
No (Nível 4) está formado por uma camada que é responsável pela administração de toda a plataforma de teste proposto MHN. O alcance deste nível compreende tudo o domínio ou âmbito do sistema, ou seja a instalação, administração, eliminação de Honeypots, tudo isto é possível através de uma interface Web que o sistema disponibiliza. Na Figura 3.3 apresenta- se a interface web da plataforma de teste MHN.
Figura 3.3: Interface Web da plataforma de teste MHN.
No (Nível 5) apresenta-se um camada denominada Internet onde o universo de discurso presumível corresponde a ataques e ameaças conhecidas DDos, Varreduras de portas, Ataques de Força bruta, e os ataques desconhecidos atribuídos a ZeroDay.
Apresentada a plataforma de teste MHN baseada em Honeypots, a continuação uma explicação dos serviços de redes avaliados, com o objetivo de compreender quais são os serviços com maior taxa de ataques. Os serviços disponibilizados na plataforma MHN são identificados a partir do acrônimo e o número de porta por defeito: SSH (22), HTTP (80),
MYSQL (3306), SMB (445), SQUID (3128), RDP (3389), SIP (5060). A continuação um
resumo dos serviços disponibilizados.
O serviço SSH é um protocolo de comunicação que através de aplicações especificas de
software, por exemplo, OpenSSH cifra o canal de comunicação entre uma origem e um
destino, o serviço brinda a possibilidade de administrar um sistema em forma parcial ou completa, dependendo do tipo de privilégio outorgado através de um intérprete de comandos, a porta por defeito utilizada na plataforma de teste MHN é a porta 22 (RFC-
4250/4251/4252/4253/4254).
O serviço HTTP é um protocolo de transferência de hipertexto utilizado na web, este serviço facilita a sintaxe e semântica que utilizam os distintos servidores e clientes web para
comunicar-se entre si, a porta por defeito utilizada na plataforma de teste MHN é porta 80
RFC-2616.
O serviço MYSQL está associado ao servidor de banco de dados chamado pelo mesmo nome, este banco de dados é considerado o sistema mais popular no ambiente Open Source, a porta por defeito utilizada na plataforma de teste MHN é porta 3306.
O serviço SMB é um protocolo de rede que permite compartilhar arquivos, impressoras entre computadores em um ambiente Microsoft Windows, a porta por defeito utilizada na plataforma de teste MHN é porta 445.
O serviço Squid é um servidor Proxy para Web com cache, é uma das aplicações mais populares em ambiente Linux, como característica principal suporta um amplo número de protocolos conhecidos, HTTP, FTP. A porta por defeito utilizada na plataforma de teste MHN é porta 3128.
O serviço RDP é um protocolo de comunicação que permite conectar um cliente remoto a um servidor, por meio, de uma interface gráfica desenvolvido por Microsoft. A informação gráfica que gera o servidor é convertida a um formato próprio RDP e enviada, através da rede ao terminal que interpreta a informação contida no pacote do protocolo para reconstruir a imagem, e apresentar na tela do terminal. Este serviço é utilizado para o acesso remoto na administração de sistemas, a porta por defeito utilizada na plataforma de teste MHN é porta 3389.
O serviço SIP é um protocolo desenvolvido pelo grupo de trabalho Mmusic do IETF com ideia de ser um estandarte para a iniciação, modificação e finalização de sessões interativas de usuários onde existem elementos de multimídia como a voz, vídeo, mensagem instantânea, jogos on-line e realidade virtual. A porta por defeito utilizada na plataforma de teste MHN é porta 5060 RFC-3261.