a utilização de sistemas de detecção de intrusão no auxílio à segurança das redes de...
DESCRIPTION
A Utilização de Sistemas de Detecção de Intrusão no Auxílio à Segurança das Redes de Computadores. UFSC – LRG FURB – DSC Paulo Fernando da Silva. Sumário. Introdução; Classificação; Modelos de Arquitetura; IDS Snort; Estudo de Caso; Pesquisas Sobre IDSs; Interoperabilidade; - PowerPoint PPT PresentationTRANSCRIPT
A Utilização de Sistemas de Detecção de Intrusão no Auxílio à Segurança
das Redes de Computadores
UFSC – LRGFURB – DSC
Paulo Fernando da Silva
Sumário• Introdução;• Classificação;• Modelos de Arquitetura;• IDS Snort;• Estudo de Caso;• Pesquisas Sobre IDSs;• Interoperabilidade;• Pesquisa LRG;• Considerações Finais;
Introdução - Conceitos
• Detecção de Intrusão envolve:– Coletar e analisar informações;– Identificar e rastrear ataques;– Enviar respostas;
• Sistemas de Detecção de Intrusão (IDSs):– Ferramentas que executam a detecção de
intrusão;
Introdução - Funcionamento Básico
• Consiste na monitoração de eventos– Rede, Host ou Aplicação;
• Visando identificar ataques;• Ataques geram alertas;• Opcionalmente podem ser enviadas
respostas:– Encerramento de conexões, de processos,
alteração em permissões de arquivos;
Introdução - Funcionamento Básico
Classificação - Método Baseado em Comportamento• Cria um perfil para os usuários;• Classifica o comportamento como
normal ou anômalo;• Procura por anomalias;• Para situações consideradas anormais
são gerados alertas;
Classificação - Método Baseado em Comportamento• Vantagens:
– Detecção de ataques deconhecidos;– Esforço de manutenção reduzido;
• Desvantagens:– Dificuldade de configuração;– Menor desempenho (cálculos complexos);– Dificuldade de lidar com mudanças normais de
comportamento;
Classificação - Método Baseado em Comportamento• Sistemas adaptativos:
– Estabelece um padrão considerado normal• horários, tipo de recurso, tipo de aplicação;
– Alerta para situações fora do padrão;– Ex.:
• Acesso às 4hs da manhã• Usuário do comercial compilando programas• Programador utilizando impressora
Classificação - Método Baseado em Comportamento• Análise estatística:
– São montados modelos estatísticos do ambiente;
– Eventos fora do modelo são considerados ataques em potencial;
– Ex.: • Tempo de sessão de Telnet;• Quantidade de download/upload;
Classificação - Método Baseado em Conhecimento• Semelhante ao funcionamento de anti-
virus:– Deve existir uma base de ataques conhecidos;– A base deve sempre ser atualizada;
• Os eventos são comparados com as informações da base;
• Se um evento estiver na base, é gerado um alerta;
Classificação - Método Baseado em Conhecimento• Vantagens:
– Baixo número de alertas falsos;• Desvantagens:
– Só detecta ataques conhecidos;– Dificuldade de manutenção;
Classificação - Método Baseado em Conhecimento• Análise de assinaturas:
– Existe uma base de assinaturas;– Assinaturas são definições de ataques;– Compara os eventos com a base de assinaturas;– Ex.:
• “Comunicação da porta 80 TCP”• “Acesso ao arquivo de senhas”• “Acesso à tabela de salários”
Classificação – Segundo o Alvo
• Baseado em Host:– Monitora as informações do host em que está
instalado;– Fortemente relacionado com o SO;– Trabalha com processos, usuários, arquivos e
diretórios;
Classificação – Segundo o Alvo
• Baseado em Rede:– Monitora as informações da rede em que está
instalado;– Está fortemente relacionado com os protocolos;– Trabalha com endereços IP, portas TCP/UCP;
Classificação – Segundo o Alvo
• Baseado em Aplicação:– Monitora as informações de uma aplicação
específica;– Está fortemente relacionado com a natureza da
aplicação;• Banco de Dados ou Sistema Comercial;
– Trabalha com tabelas, telas, funções;
Modelos de Arquitetura
• Existem diversos tipos de IDSs;• Não possuem um padrão quanto à sua
implementação;• Modelos visam estabelecer um padrão
de arquitetura para os IDSs;
Modelos de Arquitetura - IDWGFonte deDados Sensor
Sensor Analisador
Operador
Gerenciador
Administrador Política de Segurança
Evento
Atividade
Atividade
Evento Notificação
Alerta
RESPOSTA
IDS Snort
• Um dos IDSs mais populares;• Classificação:
– Método de Detecção: Análise de Assinaturas;– Alvo: Rede;
• Possui uma grande base de assinaturas– Mais de 2000 assinaturas;
IDS Snort
• Disponível para Windows e Unix;• Realiza a captura de pacotes de rede;• Compara cabeçalhos e dados com as
assinaturas;– Faz log ou gera alertas;
IDS Snort - Atributos da Regra
• Atributos básicos:– Ação: log, alert ou pass;– Protocolo: IP, TCP, UDP, ICMP, Any;– Endereço Origem/Destino: Home_Net,
External_Net, Any, End. IP;– Porta Origem/Destino: Any, número da porta;– Msg: Texto descritivo;
IDS Snort – Exemplos de Regras• alert icmp $HOME_NET any -> $HOME_NET
any (msg:"Qualquer tipo de trafego ICMP foi gerado.");
• alert tcp $HOME_NET 146 -> $HOME_NET 1024 (msg:“Backdoor Activity“; content:”WHATISIT”; reference:cve,CAN-2002-0013; sid:1415; rev:2; classtype:backdoor;);
IDS Snort - Flexresp
• Permite que o Snort envie respostas;• Atua em conexões TCP e mensagens
ICMP;• Resposta adicionada na regra:
– resp:<resp_modifier>[,<resp_modifier>...]
IDS Snort - Flexresp• Resp_modifier pode ser:
– rst_snd: envia TCP_RST para origem;– rst_rcv: envia TCP_RST para destino;– rst_all: envia TCP_RST para ambos;
– icmp_net: envia rede desconhecida p/ origem;– icmp_host: envia host desconhecido p/ origem;– icmp_port: envia porta desconhecida p/ origem;– icmp_all: envia todas as opções acima p/ origem;
IDS Snort - Flexresp
IDS Snort – Modo Sniffer
• Apenas exibe pacotes monitorados;
• ./snort –v: exibe IP,TCP,UDP e ICMP;• ./snort –vd: exibe dados da aplicação;• ./snort –vde: exibe informações de
enlace;
IDS Snort – Modo Log
• Grava informações monitoradas em log;
• ./snort -dev -l ./log: especifica o local do log;
IDS Snort – Modo IDS
• Testa regras e gera alertas;• É necessário informar o arquivo de
configurações;
• ./snort -dev -l ./log -c snort.conf;
IDS Snort – Modo IDS
Snort.conf:• Definição de variáveis para assinaturas;
– var FTP_Ports 20 21
• Arquivos de assinaturas;– include $RULE_PATH/tftp.rules– include $RULE_PATH/icmp.rules
IDS Snort - Execução
IDS Snort - Execução
• Exemplo de Alerta gerado;
• Alguém deve ler os alertas;• Ferramentas auxiliares: consoles;
IDS Snort - SnortSnarf
• Console SnortSnarf;• Provê uma interface amigável;• Diversos tipos de agrupamentos:
– Por Alertas;– Por Origem/Destino;– Alertas completos;
IDS Snort - SnortSnarf
IDS Snort - SnortSnarf
IDS Snort - SnortSnarf
Estudo de Caso - Geral
• Análise de um ataque em um ambiente real de funcionamento;
• Ambiente:– Roteador: conecta a internet à bridge;– Bridge: concentra os mecanismos de segurança;– NAT (network address translator): conecta a
bridge à LAN;
Estudo de Caso - Hardware
Estudo de Caso - Software
• Bridge:– Sistema Operacional FreeBSD;– IDS Snort;– Console ACID;– Guardian;
Estudo de Caso - Console ACID
• Plugin distribuído junto com o Snort;• Analisa base de dados Snort:• Gera relatórios;
– Pesquisa, Visualização, Agrupamento e Geração de estatísticas e gráficos;
• Semelhante ao Snort Snarf;
Estudo de Caso - Console ACID
Estudo de Caso - Console ACID
Estudo de Caso - Ataque Portscan
• Tentativa de conexão:– Várias portas em um host;– Uma porta específica em vários hosts;
• Visa obtenção de informações para um ataque futuro;– Portscan sozinho não representa perigo;
Estudo de Caso - Ataque Portscan
• Visa descoberta de backdoor ou servidor;
• Tenta explorar vulnerabilidades da porta;
• Também pode ser utilizado na proteção das redes;
Estudo de Caso - Ataque Portscan
Estudo de Caso - Ataque Portscan
• SCAN Squid Proxy attempt;
• alert tcp $EXTERNAL_NET any -> $HOME_NET 3128 (msg:"SCAN Squid Proxy attempt"; flags:S; classtype:attempted-recon; sid:618; rev:8;);
• Identificado pela porta de acesso ao Squid;
Estudo de Caso - Ataque Portscan
• Ação a ser tomada:– Correlacionar com outros alertas de
Portscan;– Determinar se a conexão é legítima;– Analisar outros eventos da origem em
questão;
Pesquisas sobre IDSsAspectos em desenvolvimento
• Técnicas de Detecção:– Inteligência Artificial;– Sistemas Imunológicos;
• Técnicas de Correlação;– Diminuir informações no log;– Identificar ataques distribuídos;
• Interoperabilidade:– Diferentes IDSs trocando informações;
Pesquisas - Interoperabilidade
• Existe uma grande diversidade de IDSs:– análise de assinaturas, métodos estatísticos;– baseados em rede, baseados em host;– centralizados, distribuídos;
• Sem padrão de arquitetura e comunicação;
• A necessidade de interoperabilidade leva à necessidade de padronização;
Interoperabilidade – Padrões
• Modelo CIDF:– Divisão em módulos;– Atualmente abandonado;
• Modelo IDWG:– Está em fase de Draft (IETF);– Modelo de dados IDMEF;– Tendência a ser implementado;
Interoperabilidade - IDMEF
• Define formato e significados dos dados;
• Diversidade de informações:– alertas grandes e pequenos;– rede, sistema operacional, aplicativos;
• É orientado a objetos;
Interoperabilidade – IDMEFVisão Geral
IDMEF-Message
HeartbeatAlert Analyser
CreateTime
AdditionalData
1 1
11
1
1
11
1
0..*
1
0..*
Interoperabilidade - IDMEF
• Não define comunicação de respostas:– Não gerencia respostas;– Sem interoperabilidade de respostas;– Operador tem que conhecer cada IDS;– Atrazo no envio de respostas;
Pesquisa LRG – Extensão IDWG
• Objetivo geral:– Propor uma extensão ao modelo IDWG, de
forma a suportar o envio de respostas;• Objetivos específicos:
– estender a arquitetura IDWG;– estender o modelo de dados IDMEF;– desenvolver um gerenciador de alertas e
respostas;
Pesquisa LRG – Modelo PropostoArquitetura
Fonte deDados Sensor
Sensor Analisador
Operador
Gerenciador
Administrador Política de Segurança
Evento
Atividade
Atividade
EventoNotificação
Alerta
Recurso Contra-MedidasAção Resposta
Resposta
Pesquisa LRG – Modelo IDREFVisão Geral
-ident : String-version : String
IDREF-Message
Response
Config
React
11..*
-analyzerid : Stringalertident
AdditionalData
10..*
Manager
11
CreateTime
11
description
10..1
Pesquisa LRG - Desenvolvimento
• Componentes desenvolvidos:– IDSMan: gerenciador IDMEF / IDREF;– IDSAna: ponte entre Analisador e Gerenciador;– IDSRes: componente de Contra-Medidas;
• Desenvolvida biblioteca IDREF;• Linguagem Java;
– Orientação a objetos;– Bibliotecas existentes;
Pesquisa LRG - Desenvolvimento Bibliotecas Utilizadas
• Beepcore: protocolo BEEP mapeado no TCP;
• IDXP-Java: perfil IDXP do BEEP;• JavaIDMEF: modelo de dados IDMEF;• JPcap: captura/geração de pacotes de
rede;
Pesquisa LRG - Desenvolvimento Componente IDSMan
Pesquisa LRG - Validação Componente IDSMan
Pesquisa LRG - Desenvolvimento Componente IDSAna
• Lê mensagens IDMEF de um arquivo;• Transmite mensagens para o IDSMan;• Um IDS deve alimentar o arquivo;
Pesquisa LRG - Desenvolvimento Componente IDSRes
• Recebe respostas IDREF do IDSMan;• Armazena as respostas em log;• Aplica as ações aos recursos;
Pesquisa LRG - Ambiente
IDSAna
ArquivoIDMEF
IDSMan
IDSResBEEP/IDXP
IDMEF
BEEP/IDXPIDREF
IDS Snot
Ambiente de domínio do IDSLog
IDREF
Considerações Finais
• Atualmente existem vários mecanismos voltados para a prevenção de ataques:– Firewall, Criptografia;
• Menos representativa é a utilização de mecanismos para:– Detecção de ataques;– Identificação de ataques/vulnerabilidades;– Resposta a ataques em andamento;
Considerações Finais
• Identifica que os mecanismos de prevenção foram ultrapassados;
• Muitos ataques ocorrem dentro do ambiente:– Funcionários, estudantes;
• Um ambiente seguro deve combinar diversos mecanismos;– Criptografia, Firewall, IDS, etc.