Uma arquitetura de segurança computacional inspirada no sistema imunológico Tese de doutorado...

Post on 17-Apr-2015

108 views 2 download

Transcript of Uma arquitetura de segurança computacional inspirada no sistema imunológico Tese de doutorado...

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