O documento discute como a segurança de sistemas, data mining e agentes inteligentes podem ser combinados para melhorar a detecção de intrusões. Especificamente, data mining pode ser usado para reduzir falsos positivos em alertas de intrusão, enquanto agentes inteligentes permitem monitoramento distribuído e tomada de decisão coordenada para lidar com ataques complexos.
2. Apresentação - Tópicos
• Segurança
• Machine Learning e Data Mining
• Agentes
• Exemplos reais
• Fontes
– Machine Learning and Data Mining for Computer
Security - Methods and Applications – Springer
– Intelligent Agents and Multi Agent Systems – IEEE
CEC 2009
7. Propriedades de Segurança
• Confidencialidade
– Entidades tem acesso a recursos aos quais têm autorização
– Controlo de acesso, Encriptação
• Integridade
– Modificação de dados apenas por entidades autorizadas
– Comparação com versões anteriores, Hashing
• Disponibilidade
– Recursos disponíveis quando necessários
– Limitar uso de recursos do sistema (prevenir Denial-of-
Service)
8. Localização da Informação
• Processamento
– Memória
– Protecção contra vazamento de radiação (monitor,
CPU, bus de memória), Diferentes Espaços de
Memória
• Armazenamento
– Discos rígidos
– Hashing, Controlo de acesso
• Transporte/Transmissão
– Rede de dados, Tapes, pen drives
– Encriptação
9. Processos de Sistema
• Tecnologia
– Mecanismos de autenticação, controlo de acesso,
detecção de intrusão
• Práticas e Políticas
– Moldar comportamento humano
• Educação
– Conhecimento, Aceitação e Utilização
10. Machine Learning – Conceitos Básicos
• Dados → Modelo
• Objectivos
– Previsão
– Aumentar conhecimento sobre dados actuais
• Exemplos
– Reconhecer comportamentos
– Detecção de intrusão
– Criação de Políticas
11. O início: os Dados
• Teclas carregadas
• Logs HTTP
• Logs de execução
• Cabeçalhos de pacotes de rede
• Sequências de comandos
• Executáveis maliciosos
• Informação geral sobre utilizadores
12. Tipos de dados
• Processar dados em cru para:
– Exemplos ou observações
• Criação de classificações
• Operações
– Atributo calculado a partir de outros
– Normalização
– Discretização
– Remoção de atributos irrelevantes
13. A ter em conta…
• Um grande quantidade de dados nem sempre
facilita a criação de modelos
• Cada algoritmo tem os seus pressupostos e
limitações (limitado a atributos numéricos ou
categóricos, etc)
• Custos dos atributos, exemplos e erros
14. Aprendizagem
• Algoritmo de:
– Aprendizagem
– Performance
• Tipo de problemas
– Detecção: duas classes
– Regressão: Predizer valores numéricos
– Associações entre atributos
– Análise do modelo criado
16. Os algoritmos
• Nearest Neighbour
• Probabilísticos
– Naive Bayes
– Kernel Density Estimation
• Funções lineares – fronteira linear
• Conjunto de decisão
– Regras
– Árvores
• Regras de associação
• Redes neuronais
17. Avaliação de Modelos
• Hold-out – Conjuntos de Treino e Teste
• Leave one out – classificar um exemplo de
cada vez
• Cross-validation
• Medidas
– Recall
– Precision
– F Measure
18. Avaliação II
• Algoritmos tem pressupostos mas:
• É impossível saber se à partida se o algoritmo
vai se comportar bem ou não com os dados
em tratamento
• Logo, temos de avaliar o maior número de
algoritmos
19. Últimas tendências
• Métodos Ensemble
– Vários algoritmos tomam uma decisão ao mesmo
tempo
– Unificar decisões
• Aprendizagem de sequências
– A, ok; B, ok; A->B, ANOMALIA
– Intrusão -> sequência de comandos
23. Agentes
• Sistemas computacionais autónomos que
percepcionam o meio ambiente e agem sobre
o mesmo
• Agentes inteligentes – percepcionam,
analisam, decidem e agem
• Dialogam, negoceiam, coordenam
24. Propriedades
• Reacção vs Deliberação
• Proactividade, motivado por uma meta
• Autista vs Social
• Rígido vs Flexível, Adaptável
• Colaborativo vs Competitivo vs Antagonista
• Racional
• Mobilidade
• Evolutivo
• Replicável
27. Propriedades dos ambientes
• Observável
• Controlável
• Previsível, Determinístico, Estocástico ou Caótico
• Episódico
• Estático vs Dinâmico
• Discreto vs Contínuo
• Aberto vs Fechado
• Markovian vs não-Markovian
28. Modelos
• Racional lógico – Acções baseadas em intenções e
crenças. Ex: Sistemas de inferência
• Racional económico – maximizar preferências
• Social – cooperar, coordenar e fazer
compromissos de modo a atingir objectivos
comuns
• Interativos – linguagem comum de interacção
• Adaptáveis – Aprendizagem por interacção
• Evolutivos – replicações que evoluem
29. Linguagens aplicadas
• Implementação: Java, Lisp
• Comunicação e Coordenação: KQML
• Comportamentos e Leis do meio ambiente:
xabsl
• Representação de conhecimento: ontologias –
Protegé
• Especificação de agentes - JADE
30. Aplicações
• Busca de informação proactiva e sensível ao
contexto em ambientes heterogéneos
• Suporte a decisão em ambientes
heterogéneos
• Manufactura distribuída
• Comércio electrónico
• Auto gestão de sistemas de comunicação,
eléctricos ou de transporte
31. Aplicações
• Computação móvel
• Tratamento de mensagens
• Ambientes de trabalho colaborativo
• Monitorização de sistemas, detecção de intrusão e
contra-medidas
• Simulações de Comando e controle, militares
• Interacções entre agentes com diferentes
comportamentos (sociologia, psicologia, biologia,
antropologia)
• Simulações de ataques de rede ou cenários de ataque
33. Detecção de Intrusão
• Aproximações usuais
– Snort
– Proventia
– Enterasys
• Assinaturas maliciosas no pacotes de rede
• Paralelos aos antivirus
• Internet Storm Center - http://isc.sans.org/
34. Porque usar data mining?
• Alertas diários de intrusão: 850000
– Software de detecção: 99% falsos positivos
http://www.internetworldstats.com/stats.htm
38. Soluções
• Base de dados de alertas
– Criação de novas características além das dadas
pelas fontes (facilita agregação)
• Classificação de falsos alarmes com árvores de
decisão
– Overfitting
– Iteracção
39. Soluções
• Clustering
– Usado a seguir à árvore
– Grupos de alertas
– Outliers: anomalias
44. Agentes e Detecção de Intrusão
• Usar uma arquitectura de agentes
• Tirar partido da escalabilidade e localidade
• Monitorização distribuída da rede
• Robustez
• Capacidade de resposta
46. Exemplos
• Simulação ataque/defesa informático
• Agentes móveis
• Simular ataques distribuídos
• Analisar vulnerabilidades de uma rede
47. Vantagens
• Escalável
– Podem-se replicar os agentes na máquinas que
forem necessárias
• Distribuição de processamento
• Tomada de decisão central, utilizando
feedback de todos os agentes
• Bom para ataques de rede distribuídos
48. Conclusões
• No fim o que queremos é:
– Um sistema disponível mas seguro
• Data mining e Machine Learning
– Filtrar ruído: alertas falsos
– Encontrar padrões: novas assinaturas para programas
de detecção
– Novas políticas: procedimentos e comportamentos
– Adaptação
– Tempo de resposta
49. Conclusões
• Agentes
– Ambientes heterogéneos
– Agentes especialistas
– Agentes coordenadores
– Agentes móveis
– Ambientes distribuídos
– Trocas de conhecimentos
– Robustez
– Monitorização em grande escala
– Simulação de cenários
• Análise de vulnerabilidades
• Teste de sistema
50. Conclusões
• Agentes + Machine Learning
– Agentes inteligentes
– Autonomia de acção
– Aprendizagem
– Criação e replicação de conhecimento
– Ambientes mais seguros mas também disponíveis
– Pouca intervenção humana
– Evolução
– Assimilação de novas situações