Upload
internet
View
114
Download
2
Embed Size (px)
Citation preview
Uma arquitetura de segurança computacional inspirada no
sistema imunológico
Tese de doutorado
Fabrício Sérgio de Paula
Roteiro
Parte I– Introdução– Detecção de intrusão– Sistema imunológico
Parte II– Uma arquitetura de segurança– ADenoIdS– Testes e resultados experimentais– Conclusão
Parte I
Introdução
Internet– Inicialmente: confiança mútua– Ambiente aberto e sem fronteiras
Diversidade inclui indivíduos maliciosos Este trabalho
– Propor arquitetura de segurança computacional– Inspiração provinda do sistema imunológico
Introdução:número de incidentes / ano
CERT/CC
Introdução: segurança computacional
Definição informal– Um sistema seguro é aquele que se comporta da
maneira esperada
Definição mais formal– Integridade– Confidencialidade– Disponibilidade
Introdução:aparatos de segurança
Autenticação: quem é você? Firewalls: seleção de tráfego Criptografia: cifragem/decifragem e verificação Análise de vulnerabilidades: estou vulnerável? Sistemas de detecção de intrusão: ocorreu um
ataque ou intrusão? Honeypots, anti-vírus, resposta a incidentes
Detecção de intrusão
Primeiro passo: definir o que é legítimo– Política de segurança
Detecção de intrusão: identificação de ações ilícitas (ataques)
Sistema de detecção de intrusão (IDS)– Automatiza processo de identificação– Possibilita uma rápida tomada de decisão– Essencial para a segurança de corporações
Detecção de intrusão: sistemas de detecção de intrusão
IDS ideal– Identifica todos os ataques– Não identifica nenhuma ação legítima
IDSs atuais– Deixam de identificar alguns ataques
Falso-negativo
– Identificam algumas ações legítimas Falso-positivo
Detecção de intrusão:principais métodos de análise
Baseado em conhecimento– Especificação manual de assinaturas de ataques– Somente ações especificadas são identificadas– Método preciso e rápido para ataques conhecidos
Baseado em comportamento– Construção de perfis do que é “usual”– Comportamento não usual é visto como um ataque– Identifica ataques desconhecidos – Muitos falso-positivos
Detecção de intrusão:monitoramento e resposta
Estratégia de monitoramento– IDS baseado em rede– IDS baseado em máquina
Resposta– Passiva: envio de alertas– Ativa: bloqueio, coleta de dados, contra-ataque
Detecção de intrusão:melhorias
Melhores técnicas de análise– Identificação precisa de ataques conhecidos e
desconhecidos
Adoção de melhores modelos– Redes atuais
Um ambiente hostil e sujeito a falhas Intrusões aparentam ser inevitáveis
Sistema imunológico
Protege o corpo contra vírus e bactérias potencialmente mortais
Identifica ataques conhecidos e desconhecidos Detecção através de danos durante exposição Melhora a detecção após exposição Provê respostas para dificultar e bloquear ataques Restaura as partes afetadas do corpo Forte relação com segurança
Sistema imunológico:características
Papel: distinguir self do nonself Divide-se em
– Sistema inato Natureza congênita Primeira linha de defesa
– Sistema adaptativo Sistema especializado Memória contra reinfecção
Sistema imunológico:imunologia e segurança
Universidade do Novo México– Algoritmo para distinção entre self e nonself– Diversidade computacional– Homeostase: regulação de processos
Outros– Agentes, algoritmos genéticos + imunologia, etc.
Em resumo: detecção baseada em comportamento
Sistema imunológico:novas idéias para segurança
Intrusões parecem ser inevitáveis– ...realmente são no sistema biológico
É melhor estar preparado– Identificar intrusões em andamento– Restaurar sistema afetado– Estudar automaticamente intrusões
Busca pelas assinaturas de ataque Ataque desconhecido ataque conhecido
Parte II
Uma arquitetura de segurança
Sistema imunológico– Características e funcionalidades
Principais metas1. Detecção precisa de ataques conhecidos e resposta
2. Detecção de ataques desconhecidos: evidências de intrusão
3. Manipulação de ataques desconhecidos Medidas de contenção e restauração Extração automatizada de assinatura Armazenamento de informação relevantes sobre o ataque
4. Utilização das assinaturas extraídas: detecção e resposta
Uma arquitetura de segurança:visão geral
Uma arquitetura de segurança:funcionamento
Seqüência lógica– Detecção baseada em conhecimento + resposta adaptativa– Detecção baseada em comportamento + resposta inata– Detecção baseada em evidências de intrusão
Cenário típico de intrusão Identificação após sucesso do atacante Precisão
– Armazenamento de informações sobre o ataque– Restauração do sistema– Extração de assinatura e geração de resposta– Atualização do banco de dados de assinaturas e respostas
Uma arquitetura de segurança:extração de assinatura
Algoritmo probabilístico– Entrada: eventos anteriores à intrusão, eventos legítimos,
probabilidade de falso-positivos– Levantamento das assinaturas candidatas– Maturação das candidatas
Eliminação de falso-positivos
– Saída: eventos “próximos” à intrusão que aparentam não ser legítmos
Assinaturas para o ataque Eventos muito raros
Uma arquitetura de segurança:analogias com o sistema imune
Uma arquitetura de segurança:outros trabalhos e originalidade
Outros IDSs baseados no sistema imunológico– Analogia bastante profunda– Essência: detecção baseada em comportamento– Este trabalho: conhecimento + comportamento
Assinaturas de ataques– González e Dasgupta, TIM, Wisdom & Sense: geração aleatória
de regras de detecção– Este trabalho: extração de eventos reais relacionados com os
ataques Detecção de vírus proposta por Kephart
– Este trabalho: detecção de intrusão, identificação baseada em evidências, restauração mais abrangente
ADenoIdS
Validar principais características da arquitetura– Detecção baseada em evidências– Restauração do sistema– Extração de assinaturas
Ataques buffer overflow– Persistente classe de ataques– Sem solução definitiva
ADenoIdS:características
Linux kernel 2.4.19 Detecção baseada em evidências
– Verificação de chamadas ao sistema Restauração
– UNDOFS: undo no sistema de arquivos– Eliminação de processos contaminados
Extração de assinatura– Candidatas: requisições “grandes”– Maturação: descartar candidatas “menores” que requisições
legítimas
Testes e resultados experimentais
Ambiente– ADenoIdS protegendo máquina virtual– Atacante situado na máquina real– Aplicações vulneráveis: named, wu-ftpd, imapd e
amd
Detecção baseada em evidências– Uso contínuo e eventuais ataques
Extração de assinatura: DARPA e LAS
Testes e resultados experimentais:resultados
Detecção baseada em evidências– Ausência de falso-positivos e falso-negativos– Ativação de outros módulos
Restauração e extração de assinatura
Extração de assinatura– Identificou tráfego relacionado ao ataque– Uma assinatura sempre foi encontrada– Eficiente para eliminar falso-positivos
Publicações– IEEE Congress on Evolutionary Computation (CEC´04)– International Conference on Telecommunications (ICT´04)
Conclusão
Assumindo que intrusões são inevitáveis– Ataques desconhecidos
Identificados através de evidências de intrusão É possível tornar um ataque desconhecido em conhecido
Hipótese validada Contribuições
– Definição da detecção baseada em evidências– Exploração da oportunidade trazida por uma intrusão– Algoritmo para extração de assinaturas de ataque– Especificação de uma arquitetura de segurança
Conclusão:experiência e trabalhos futuros
Resultados interessantes podem ser alcançados adotando uma analogia mais superficial
Foco nas características e funcionalidades Outras aplicações
– Honeypots, análise forense
Trabalhos futuros– Generalização de ADenoIdS– Desenvolvimento de um ambiente para testes– Automatização de honeypots