Universidade Federal de Minas Gerais
P ROGRAMA
DE
P ÓS -G RADUAÇÃO
EM
E NGENHARIA E LÉTRICA
Detecção de Intrusão em Redes de Computadores:
Algoritmo Imunoinspirado Baseado na Teoria
do Perigo e Células Dendríticas
Dissertação de mestrado submetida à banca examinadora designada pelo Colegiado do Programa de Pós-Graduação em Engenharia Elétrica da Universidade Federal de Minas Gerais, como
parte dos requisitos exigidos para a obtenção do título de Mestre
em Engenharia Elétrica.
por
Guilherme Costa Silva
Bacharel em Sistemas de Informação
Orientador: Prof. Walmir Matos Caminhas
Co-orientador: Prof. Luciano de Errico
Março – 2009
Universidade Federal de Minas Gerais
Programa de Pós-Graduação em Engenharia Elétrica
Centro de Pesquisa e Desenvolvimento em Engenharia Elétrica
Detecção de Intrusão em Redes de Computadores:
Algoritmo Imunoinspirado Baseado na Teoria do Perigo e
Células Dendríticas
Autor: Guilherme Costa Silva
Orientador: Prof. Walmir Matos Caminhas
Co-orientador: Prof. Luciano de Errico
Dissertação submetida à banca examinadora designada pelo
Colegiado do Programa de Pós-Graduação em Engenharia
Elétrica da Universidade Federal de Minas Gerais, como parte
dos requisitos exigidos para a obtenção do título de Mestre
em Engenharia Elétrica. Área de concentração: Engenharia
de Computação e Telecomunicações.
Banca Examinadora
Douglas A. G. Vieira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UFMG
Luciano de Errico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delt/EE/UFMG
Nilton Alves Maia . . . . . . . . . . . . . . . . . . . . . . . . . . . . DCC/CCET/UNIMONTES
Rodney Rezende Saldanha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEE/EE/UFMG
Walmir Matos Caminhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEE/EE/UFMG
Belo Horizonte, MG
Março/2009
Resumo
A invasão de redes de computadores é um dos principais problemas de segurança enfrentados
por organizações atualmente. As maiores dificuldades de implementação de sistemas de detecção
de intrusão estão na detecção de novas formas de ataque e na ocorrência de falsos positivos e falsos negativos. Nessa linha, este trabalho propõe um modelo de detecção de invasão que emprega o
Algoritmo das Células Dendríticas (DCA). Esse algoritmo, usado principalmente na detecção de anomalias, pertence a uma nova geração de sistemas imunes artificiais baseados no Modelo do Perigo,
uma teoria que define a resposta imune biológica como uma reação a danos celulares causados por
agentes nocivos. O funcionamento do DCA se baseia na correlação entre os sinais coletados, definidos conforme o escopo do problema, e os antígenos, que correspondem a processos suspeitos, para
a posterior classificação dos mesmos como normais ou anômalos. Como teste do algoritmo, foram
realizadas simulações utilizando um processo anômalo, caracterizado pelo ping scan nas máquinas da
rede, e um processo normal, caracterizado pelo envio de arquivo, executando tanto de forma isolada
quanto simultânea. O ping scan é uma ferramenta destinada a levantar o perfil de funcionamento
da rede, mas que tem sido utilizada maliciosamente para a obtenção de informações, com o objetivo de realizar ataques mais elaborados. Sua presença no ambiente é, portanto, uma significativa
indicação preliminar de tentativa de invasão. Nos testes, o DCA foi modificado para permitir uma
análise temporal do índice de detecção de anomalia. Foi observada uma grande variação deste índice
durante o processo de detecção de anomalias, o que levava a frequentes falsos positivos. A introdução de normalização no algoritmo mostrou, em testes posteriores, uma forte contribuição para a
melhora da qualidade da detecção e para a redução de falsos positivos e falsos negativos. Finalmente,
uma análise de sensibilidade e especificidade foi realizada usando curvas ROC (Receiver Operating
Characteristic), para a medição de desempenho do DCA nos testes realizados.
Palavras-chave: Inteligência Computacional, Sistemas Imunoinspirados, Detecção de Intrusão, Detecção de Anomalias, Modelo do Perigo.
ii
iii
Abstract
Computer network intrusion is currently one of the main corporate security problems. Intrusion
detection systems face different implementation obstacles, mainly in detection of novel attacks and
occurrence of false positives and false negatives. In this line, this work proposes an intrusion detection model that employs the Dendritic Cells Algorithm (DCA). This algorithm, mainly used in
anomaly detection, belongs to a new generation based on the Danger Model, a theory which defines
the immune response as a biological response to cellular damage caused by nocive agents. DCA
works based on the correlation between the collected signals, defined in the scope of the problem,
and the antigens, which are suspicious processes, for the subsequent classification of them as normal
or abnormal. The algorithm was tested using simulations with an anomalous process, characterized
by a ping scan in the network, and a normal process, characterized by a file transfer, executing both
isolated and concurrently. Ping scan is originally a tool for network profiling, but has been used for
malicious information gathering, aiming at a refinement in the attacks. Its presence in the environment is a significant preliminary indication of an intrusion. In tests, DCA was modified to allow a
temporal analysis of the anomaly detection parameter. A large variation of this parameter was observed, which led to frequent false positives. In further tests, the introduction of normalization in
the algorithm showed a strong contribution for the anomaly detection improvement and reduction in
false positives and false negatives. Finally, a sensitivity and specificity analysis using ROC (Receiver
Operating Characteristic) curves was developed, to measure the DCA performance in the tests.
Keywords: Computational Intelligence, Immune inspired Systems, Intrusion Detection, Anomaly
Detection, Danger Model.
Dedicatória
Dedico este trabalho a todas aquelas pessoas que possuem princípios e ideais e são condizentes
com os mesmos em sua realidade, sem perder o otimismo e a confiança no melhor. Também o dedico
às crianças, que serão os adultos de amanhã e poderão mudar o mundo e fazer com que o mesmo
entre em um equilíbrio.
iv
Agradecimentos
Agradeço a Deus em primeiro lugar, por estar aqui fazendo meu trabalho e minha missão.
Também agradeço à minha família presente, principalmente a minha mãe, Fátima, o apoio e tudo
que foi feito até o momento pela minha pessoa, em especial na formação do meu caráter.
Sou grato ao meu orientador, o Prof. Walmir Matos Caminhas, que acreditou em meu potencial e
contribuiu muito durante esse período na minha formação profissional e pessoal também.
Agradeço também ao Prof. Luciano de Errico, as contribuições e dicas que enriqueceram meu
trabalho.
Agradeço também à Banca Examinadora por todas as contribuições ao presente trabalho. Também
desejo agradecer a um grande colaborador deste trabalho, Thiago Guzella, que contribuiu muito,
durante o início do desenvolvimento do mesmo, com dicas sobre a abordagem que eu resolvi adotar.
A todos os professores do PPGEE, em especial: Benjamim, um sábio professor também responsável pelas dinâmicas deste laboratório; Rodney, que com entusiasmo sempre me apoiou e incentivou
no desenvolvimento de minhas atividades acadêmicas; João Vasconcelos, que contribuiu com boas
lições em suas disciplinas; e também ao Hani (coordenador), que contribuiu com sua cultura e humor,
compartilhados em sala de aula e fora delas também.
Aos colegas e parceiros do LabIComp (em ordem alfabética): Alessandra, pela atenção em muitos
momentos em que precisei de auxílio; André Paim, que sempre contribuiu com dicas e ferramentas
úteis; Celso Araújo, uma biblioteca do saber com suas discussões profissionais e filosíficas e contribuiu com sua experiência de vida; Eduardo Ostos, com quem compartilhamos algumas figurinhas;
Joaquim Uchoa, que também me ajudou muito; Márcia Platilha, que me ensinou muitas coisas úteis e
mostrou como se coloca "ordem na casa"; Steve Lacerda, com sua bagagem cultural e idéias interessantes; Thiago Arreguy, que também me apresentou muitas idéias e ferramentas. Sem me esquecer do
Marcos Flávio, vulgo Marcão, que apesar de estar me "alugando"um pouco, também trouxe grandes
contribuições no meu trabalho e na vida.
Agradeço também ao pessoal dos laboratórios vizinhos: SEI, LVAS, MACSIN, CEFALA, LOPAC, e outros, assim como muitas pessoas desses laboratórios que sempre estiveram sempre próximos
a mim durante a realização deste trabalho, fornecendo apoio de alguma forma.
Agradeço também à secretaria do PPGEE que sempre mostrou disposição para me atender em
alguns casos e para me apoiar em minhas atividades.
Agradecimentos sinceros aos funcionários e alunos companheiros da academia, antiga Stay Fit,
atual Activa Center, pessoas de valor que também demonstraram apoio ao meu trabalho, mesmo
quando não sabiam do que se tratava. E que sempre reforçou a idéia dos cuidados com o corpo, junto
com a mente.
Obrigado também aos meus grandes amigos, parceiros, colegas e companheiros, e aqueles que
me seguem desde os tempos do Colégio, Graduação, ou em corridas de rua, dança de salão, na
igreja e qualquer outra atividade social enriquecedora, e sempre foram pessoas que me incentivaram
e forneceram auxílio em vários momentos de minha vida.
Presto reconhecimento ao fomento do Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq), que foi o meu suporte financeiro para o desenvolvimento e elaboração dessa dissertação, assim como da minha vida pessoal. Também presto reconhecimento ao Fundo de Amparo à
Pesquisa do Estado de Minas Gerais (FAPEMIG), cuja infra-estrutura para o desenvolvimento deste
laboratório foi de grande ajuda. Agradecimentos também à Gerdau Açominas, pelas doações de
v
vi
computadores com os quais, serviram de ferramenta para a realização deste trabalho. Finalmente,
agradeço também aos professores Dra. Julie Greensmith e Dr. Uwe Aickelin, da Universidade de
Nottingham, pelas bases de dados usadas na Seção 6.6, com as quais pude validar os experimentos
realizados no trabalho.
Resumindo, a todos aqueles que contribuíram, não somente no desenvolvimento deste trabalho,
mas em toda a minha vida, um Muito Obrigado!!!
Sumário
Lista de Figuras
x
Lista de Tabelas
xii
Lista de Smbolos
xiii
1 Introdução
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Introdução aos Sistemas Imunológicos
2.1 Inspiração Biológica . . . . . . . . . . . . . . .
2.2 Fundamentos do sistema imune biológico . . . .
2.2.1 Conceitos biológicos básicos . . . . . . .
2.2.2 Teorias formuladas . . . . . . . . . . . .
2.3 Sistemas imunes artificiais . . . . . . . . . . . .
2.3.1 Revisão da literatura em SIA . . . . . . .
2.3.2 Formalização da Engenharia Imunológica
2.3.3 Sistemas baseados no modelo do perigo .
3 Detecção de Intrusos em Redes
3.1 Introdução . . . . . . . . . . . . . . . .
3.2 Segurança em redes de computadores .
3.3 Necessidades de um detector de intrusos
3.4 Características de um IDS . . . . . . .
3.5 Características de ataques . . . . . . . .
3.5.1 Classificação de ataques . . . .
3.6 Modelos e tipos de IDS . . . . . . . . .
3.6.1 IDS baseado em anomalias . . .
3.6.2 IDS baseado em assinaturas . .
.
.
.
.
.
.
.
.
.
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
.
.
.
.
.
.
.
.
3
4
6
6
8
11
12
13
15
.
.
.
.
.
.
.
.
.
16
16
17
19
21
22
23
24
25
27
SUMÁRIO
3.7
3.8
3.9
3.10
viii
Problemas nos IDSs . . . . . . . . . . . . . . . . . .
Cenário Comercial . . . . . . . . . . . . . . . . . .
Algumas ferramentas IDS . . . . . . . . . . . . . . .
Detecção de Intrusão e a Inteligência Computacional
3.10.1 IC x IDS . . . . . . . . . . . . . . . . . . .
3.10.2 Sistemas Imunes x IDS . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Aplicação dos sistemas imunoinspirados em detecção de intrusos
4.1 Revisão da Literatura . . . . . . . . . . . . . . . . . . . . . .
4.2 Inspiração no Modelo do Perigo . . . . . . . . . . . . . . . .
4.3 O Algoritmo das Células Dendríticas . . . . . . . . . . . . . .
4.4 Metodologia do trabalho . . . . . . . . . . . . . . . . . . . .
5 Aplicações do algoritmo das células dendríticas
5.1 Descrição dos testes . . . . . . . . . . . . .
5.2 Resultados . . . . . . . . . . . . . . . . . .
5.3 UCI Breast Cancer em várias abordagens .
5.4 DCA e detecção de intrusões . . . . . . . .
6 Estudo do caso sobre o Ping Scan
6.1 Natureza dos Ping Scans . . .
6.2 DCA aplicado ao problema . .
6.3 Descrição dos testes . . . . . .
6.4 Ajustes do DCA . . . . . . . .
6.5 Os cenários de teste . . . . . .
6.5.1 Especificações . . . .
6.5.2 Resultados Iniciais . .
6.6 Bases de dados da literatura . .
6.7 Considerações . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
28
31
31
32
33
34
.
.
.
.
35
36
38
40
49
.
.
.
.
50
51
55
58
59
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
61
63
64
67
68
68
69
74
79
7 Aperfeiçoamentos do algoritmo das células dendríticas
7.1 Análise Qualitativa . . . . . . . . . . . . . . . . . .
7.2 Evolução do MCAV e Informações . . . . . . . . . .
7.2.1 Análise de dados . . . . . . . . . . . . . . .
7.2.2 Análise gráfica . . . . . . . . . . . . . . . .
7.2.3 Análise temporal . . . . . . . . . . . . . . .
7.3 Análise das técnicas de normalização . . . . . . . . .
7.4 Limiar de anomalias . . . . . . . . . . . . . . . . .
7.4.1 Análise de sensibilidade e especificidade . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
80
81
81
82
84
88
92
92
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
SUMÁRIO
8 Considerações Finais
8.1 Discussão dos resultados . . .
8.2 Contribuições . . . . . . . . .
8.3 Conclusões do trabalho . . . .
8.4 Propostas de pesquisas futuras
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
100
100
101
102
103
Referências bibliográficas
105
Glossário
113
Lista de Figuras
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4.1
Esquema representando a área da computação natural e suas sub-áreas, extraído de
(Von Zuben and de Castro, 2009) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Áreas da computação bioinspirada . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemplos de agentes causadores de doenças, que podem ser identificados pelo sistema imune biológico. (autor desconhecido, 2009d) . . . . . . . . . . . . . . . . . .
Camadas do sistema imune humano (de Castro, 2001) . . . . . . . . . . . . . . . .
Ilustração dos processos de seleção positiva e seleção negativa das células T no Timo
Ilustração da seleção clonal. baseado em (Qiu, 2009) . . . . . . . . . . . . . . . . .
Ilustração de anticorpos se interagindo em uma rede imune. (Fix, 2009) . . . . . . .
Ativação da resposta imune segundo a teoria do perigo, ilustração baseada em (Cayzer and Aickelin, 2002) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ilustrações dos processos analisados na Engenharia Imunológica . . . . . . . . . . .
Ilustração de uma rede de computadores protegida por firewall, ferramenta usada
para segurança de informações na rede (autor desconhecido, 2009b) . . . . . . . . .
Ilustração de como os ataques podem ser realizados (a) e impedidos (b) em uma rede
de computadores, baseada em (autor desconhecido, 2009c). . . . . . . . . . . . . .
Arquitetura de um IDS, baseada em (autor desconhecido, 2009a) . . . . . . . . . . .
Sistema típico de detecção de anomalias (Sundaram, 2009) . . . . . . . . . . . . . .
Representação de uma detecção de anomalias em um plano cartesiano. . . . . . . .
Representação hipotética de um cenário de detecção de falhas. . . . . . . . . . . . .
Sistema típico de detecção de assinaturas (Sundaram, 2009). . . . . . . . . . . . . .
Representação de uma detecção de assinaturas em um plano cartesiano. . . . . . . .
Exemplo de uma curva ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5
7
7
9
10
10
11
14
17
20
22
26
26
27
29
29
30
4.3
Ilustração do funcionamento do DCA de (Greensmith and Aickelin, 2007), onde cada
passo será explicado mais adiante. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Distribuição dos pesos no processamento dos sinais (Greensmith, 2007), repare que
o sinal seguro inibe a variável de ativação que torna a célula dendrítica madura. . .
Estrutura do DCA, o tecido e as células. . . . . . . . . . . . . . . . . . . . . . . . .
44
47
5.1
5.2
5.3
Ilustração do organização dos dados para o Teste 1 . . . . . . . . . . . . . . . . . .
Ilustração do organização dos dados para o Teste 2 . . . . . . . . . . . . . . . . . .
Resultados para o Teste 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
54
56
4.2
x
42
LISTA DE FIGURAS
xi
5.4
Resultados para o Teste 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
6.1
6.2
Ilustração da rede onde serão aplicados os testes de intrusão. . . . . . . . . . . . . .
Gráficos dos sinais x tempo em segundos para os testes feitos em cenários de perigo,
onde foi executado o nmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gráficos dos sinais x tempo em segundos para os testes feitos em cenários normais.
Repare que o sinal PAMP não se manifesta, pois o scp não gera esse sinal. . . . . . .
Gráficos dos sinais x tempo em segundos para os testes feitos em cenários mistos, ou
seja, onde foram executados o nmap e em seguida, o scp. . . . . . . . . . . . . . . .
Gráficos do mcav final x número de receptores para os testes feitos em cenários mistos.
Gráficos do mcav final x número de DCs para os testes feitos em cenários mistos. . .
66
6.3
6.4
6.5
6.6
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
Gráficos do MCAV ao longo do tempo para os cenários de perigo, onde o nmap
constitui no processo de interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gráficos do MCAV ao longo do tempo para os dois últimos cenários normais . . . .
Gráficos do MCAV ao longo do tempo para os cenários mistos . . . . . . . . . . . .
Gráficos para o cenário misto 4, onde o nmap é detectado, mas o scp também é
detectado com MCAV que chega a ser maior do que o nmap. . . . . . . . . . . . . .
Gráficos para o cenário misto 4, após a alteração. Neste cenário, ocorre a detecção do
nmap e a classificação correta do scp. . . . . . . . . . . . . . . . . . . . . . . . . .
Gráficos da Sensibilidade e Especificidade X Limiar de Anomalia. . . . . . . . . . .
Diferença entre sensibilidade e especificidade X Limiar de Anomalia. . . . . . . . .
Curvas ROC dos testes realizados. . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
72
73
75
76
85
86
87
90
91
97
98
99
Lista de Tabelas
4.1
4.2
4.3
Termos usados para identificar os sinais de entrada e saida. . . . . . . . . . . . . .
Descrição das fases das células dendríticas. . . . . . . . . . . . . . . . . . . . . . .
Matriz de pesos para o cálculo dos sinais de saída. . . . . . . . . . . . . . . . . . .
43
47
47
5.1
5.2
5.3
5.4
5.5
Amostra dos dados do UCI Breast Cancer Experiment. . . . . .
Descrição das fases das células dendríticas. . . . . . . . . . . .
Resultados dos testes com os valores para limiares de migração.
Dados sobre a base de dados. . . . . . . . . . . . . . . . . . .
Resultados obtidos com as técnicas na base de dados. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
52
55
56
58
60
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
Ajuste padrão no algoritmo das células dendríticas para realização dos testes. .
Modelagem dos pesos para a realização dos testes no DCA. . . . . . . . . . . .
Pesos sugeridos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Normalização dos sinais usada no trabalho. . . . . . . . . . . . . . . . . . . . .
Primeiros resultados verificando o MCAV final, na configuração padrão do DCA.
Resultados obtidos nos testes feitos com as bases de dados. (Greensmith, 2007) .
Quadro comparativo entre os índices MCAV obtidos nos testes. . . . . . . . . . .
Comparativos entre os testes realizados . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
70
70
70
77
78
79
7.1
Testes realizados nos cenários de intrusão. Através deles, características
MCAV podem ser analisadas . . . . . . . . . . . . . . . . . . . . . . . . .
MCAV final x MCAV máximo do nmap, com e sem PAMPs. . . . . . . . . .
Análise temporal sobre intrusões ocorridas nos testes . . . . . . . . . . . .
Variação dos sinais de perigo para o nmap e scp. . . . . . . . . . . . . .
Normalização alternativa. . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparativo dos testes feitos no cenário misto 4. . . . . . . . . . . . . . .
Comparativo dos testes feitos nos cenários normais. . . . . . . . . . . . . .
Tabela de atributos para os valores de limiar definidos no DCA. . . . . . .
sobre o
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
83
83
88
89
91
93
93
95
7.2
7.3
7.4
7.5
7.6
7.7
7.8
xii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lista de Símbolos
• A - Vetor de Antígenos
• Ab - Anticorpo (Antibody)
• AD (Base dados UCI) - Marginal Adhesion
• ABNET - Algoritmo Rede de Anticorpos (Antibody Network)
• Ag - Antígeno (Antigen)
• aiNET - Algoritmo Rede Imune Artificial (Artificial Immune NETwork)
• APC - Célula apresentadora de antígenos (Antigen Presenting Cell)
• API - Interface para programação de aplicações (Application Programming Interface)
• BN (Base dados UCI) - Bare Nuclei
• CH (Base dados UCI) - Cell shape
• CO (Base dados UCI) - Bland Chromatin
• CLONALG - Algoritmo de Seleção Clonal (CLONal Selection ALGorithm)
• CS (Base dados UCI) - Cell size
• CSM - moléculas coestimulatórias
• CT (Base dados UCI) - Clump Thickness
• CTL - Linfócito Citotóxico T
• D (sinal) - Sinal de Perigo (Danger Signal)
• DARPA - Defense Advanced Research Projects Agency
• DCA - Algoritmo das Células Dendríticas (Dendritic Cell Algorithm)
• DNA - Ácido desoxirribonucleico (Deoxyribonucleic acid)
• DoS - Negação de serviço (Denial of Service)
• DP - Desvio Padrão
xiii
LISTA DE SÍMBOLOS
xiv
• EI - Engenharia Imunológica
• EP (Base dados UCI) - Single Epithelial Cell Size
• FN - Falso Negativo
• FP - Falso Positivo
• GA - Algoritmo Genético (Genetic Algorithm)
• GB - Giga Bytes
• HIDS - Sistema detector de intrusos baseado em host (Host-based Intrusion Detection System)
• I (parâmetro) - número de sinais de entrada por categoria
• IC (sigla) - Inteligência Computacional
• IC (variável) - Citocina Inflamatória (sinal de inflamação)
• ID (Base dados UCI) - Number ID
• IDS - Sistema detector de intrusos (Intrusion Detection System)
• IP - Protocolo da Internet (Internet Protocol)
• IPS - Sistema de prevenção contra intrusos (Intrusion Prevention System)
• J (parâmetro) - número de categorias dos sinais de entrada
• K (parâmetro) - número de antígenos localizados no tecido
• L - número de ciclos do algoritmo
• LAN - Rede de área local (Local Area Network)
• M (sinal) - Célula Madura
• M (parâmetro) - número de células dendríticas na população
• MM (Base dados UCI) - Mitoses
• MAN - Rede de área metropolitana (Metropolitan Area Network)
• MB - Mega Bytes
• MCAV - Mature Coefficient Antigen Value
LISTA DE SÍMBOLOS
xv
• MIT - Massachusetts Institute of Technology
• MHC - Complexo de histocompatibilidade principal (Major Histocompatibility Complex)
• N - tamanho do vetor de antígenos da célula
• NIDS - Sistema detector de intrusos baseado em rede (Network-based Intrusion Detection System)
• NK - Células Matadoras Naturais (Natural Killer)
• NN (Base dados UCI) - Normal Nucleoli
• TLR - Toll-like receptors
• O (Variável) - Vetor de sinais de saída
• P (sinal) - ver PAMP
• P (Parâmetro) - número de sinais de saída por célula
• PAMP - Padrão molecular associado ao patógeno (Pathogen-associated molecular pattern)
• PSO - Otimização por Enxame de Partículas (Particle Swarm Optimization)
• Q - número de antígenos amostrados por célula, em cada ciclo
• R - número de receptores de antígenos da célula
• RAM - Memória de Acesso Aleatório (Random Access Memory)
• RBF - Radial Basis Function
• R2L - Usuário remoto para local (Remote to Local)
• ROC - Receiver operating characteristic
• S (sinal) - Sinal seguro (Safe Signal)
• S (Variável) - Vetor de sinais de entrada
• SAND - Algoritmo Simulated ANnealing Approach to Increase Diversity
• seg - segundos
• SIA - Sistemas Imunes Artificiais
LISTA DE SÍMBOLOS
• Sm - Semi Madura
• SSH - Secure Shell
• t% - Taxa de anomalia do teste
• Tanomalia - Tempo da anomalia no teste
• tanomaliai - Instante no qual o processo passou a ser considerado anomalia
• Tc - Célula T Citotóxica
• Th - Célula T Auxiliar (Helper T Cell)
• tprocessof - Instante no qual o processo foi considerado encerrado
• tprocessoi - Instante no qual o processo se iniciou
• Tt otal - Tempo da simulação
• tx.anomalia - Taxa de anomalia do processo
• U2R - Usuário comum para Super usuário (User to Root)
• VN - Verdadeiro Negativo
• VoIP - Voz sobre IP (Voice over IP)
• VP - Verdadeiro Positivo
• W - Matriz de pesos
• WAN - Rede para localidade ampla (Wide Area Network)
xvi
Capítulo 1
Introdução
“Deixe quem desejaria mudar o mundo
primeiro mudar a si mesmo.”
Sócrates
Neste capítulo são apresentados o objetivo deste trabalho e a estrutura do mesmo.
1.1 Objetivos
Nos dias de hoje, cada vez mais assuntos relacionados a Segurança de Informação ganham destaque. Isto se deve à existência de vulnerabilidades nas aplicações, nos sistemas operacionais, no
hardware de suporte à rede e no hardware dos computadores.
Estas vulnerabilidades são refletidas também em termos de software. Isto gera a necessidade da
segurança das informações armazenadas nos sistemas de informação, assim como a prevenção de
danos ocorridos aos componentes dos sistemas. A exploração de vulnerabilidades é uma das etapas
do processo de intrusão em uma rede de computadores.
Geralmente, o processo de intrusão começa com uma busca pelas máquinas em funcionamento
em uma rede de computadores através do ping scan.
O ping scan é uma ferramenta bastante usada por administradores de rede e sua verdadeira função
é verificar o funcionamento dos computadores. Porém, essa ferramenta fornece informações para o
usuário e estas informações são atraentes para um invasor, pois com estas informações, esse invasor
poderá realizar ataques baseados em tais informações. Partindo deste princípio, o trabalho consiste
em estudar a detecção do uso malicioso do ping scan.
1
1.2 Estrutura do trabalho
2
A metodologia adotada para a detecção da intrusão é baseada em sistemas imunoinspirados baseados no modelo do perigo: o Algoritmo das Células Dendríticas, que provê a detecção de anomalias
baseada na correlação entre as evidências de um processo, abordadas em forma de sinais, e a identificação do processo, abordada na forma de antígeno.
Por se tratar de uma metodologia recentemente adotada na literatura, serão feitos alguns testes
para verificar a qualidade da detecção e dos métodos empregados, desta forma, coletando as informações observadas na execução do algoritmo e extraindo informações relevantes.
1.2 Estrutura do trabalho
O Capítulo 2 apresenta uma revisão bibliográfica na área de sistemas imunes artificiais. São
apresentados a inspiração biológica, a necessidade de se construir sistemas baseados na natureza,
as teorias de estudo sobre os sistemas imunes e as abordagens imunoinspiradas construídas para
problemas de engenharia.
A abordagem será aplicada no problema discutido no Capítulo 3, onde serão discutidos o funcionamento de um sistema detector de intrusos, assim como sua necessidade em termos de segurança da
informação. Também serão apresentados os tipos de sistemas existentes, as abordagens usadas para
prover detecções mais eficientes e um breve histórico sobre a tecnologia. O capítulo mostrará por que
as técnicas de Inteligência Computacional têm sido bastante empregadas para prover melhorias no
desempenho de tais sistemas.
As técnicas imunoinspiradas de inteligência computacional são apresentadas no Capítulo 4. as
iniciativas empregadas na literatura e a abordagem de sistemas imunoinspirados baseados no modelo
do perigo, sobretudo o algoritmo das células dendríticas, que constitui em uma ferramenta utilizada
em detecção de anomalias.
Os próximos capítulos abordarão os testes realizados com o algoritmo. No Capítulo 5, o DCA
é testado e validado usando as mesmas bases de dados empregadas na literatura, no Capítulo 6 serão apresentados os testes realizados com o algoritmo em testes de intrusão e os resultados obtidos.
As modificações feitas no algoritmo são apresentadas no Capítulo 7 onde serão discutidos alguns
métodos, para aperfeiçoar os resultados e prover uma detecção mais efetiva.
Finalmente o Capítulo 8 apresenta as conclusões tiradas durante o trabalho e apresenta algumas
propostas para futuras pesquisas.
Capítulo 2
Introdução aos Sistemas Imunológicos
“A arte da vida consiste em fazer da vida uma obra de arte.”
Mahatma Gandhi
O Sistema Imune (também chamado de Sistema Imunológico) corresponde ao mecanismo de
defesa presente nos seres vivos. De acordo com (National Cancer Institute and Diseases, 2003),
esse mecanismo de defesa constitui em uma rede de células e órgãos que funcionam em conjunto
defendendo o organismo de agentes causadores de doenças, tais como bactérias, vírus, germes, ou
qualquer outro patógeno que invade o organismo.
Este mecanismo de defesa, serve de inspiração para a implementação de sistemas computacionais
que requerem essas características citadas em (de Castro, 2001), tais como: robustez, memória, adaptabilidade, tolerância a falhas, e outras características do sistema imune em comum com a aplicação
abordada. Esses sistemas são denominados Sistemas Imunes Artificiais (ou simplesmente SIA) ou
também Sistemas imuno-inspirados.
Os SIA, podendo ser aplicados a diversos problemas de engenharia, possuem um vasto conjunto
de trabalhos existentes na literatura em (Brownlee, 2007) de acordo com as abordagens utilizadas.
Assim como o sistema imune biológico possui teorias que tentam explicar seu funcionamento, o
sistema imune artificial possui abordagens inspiradas nessas teorias, aplicadas a diferentes problemas.
Os SIA também correspondem a uma pesquisa interdisciplinar que envolve a biologia, a matemática e a engenharia, de acordo com (Timmis et al., 2008). Estas áreas possuem contribuições mútuas
que poderão ajudar engenheiros e imunologistas em outras pesquisas.
Inicialmente, será apresentada a linha de pesquisa que conduz à criação desses sistemas e os tipos
de sistemas desenvolvidos. Em seguida, será apresentado um conjunto de características básicas do
sistema imune biológico, como objetivo de incluir conceitos da biologia que inspiraram a geração dos
sistemas de engenharia. Finalmente, será apresentado um resumo da pesquisa em sistemas imunes
artificiais, incluindo os baseados no modelo do perigo, enfoque deste trabalho.
3
2.1 Inspiração Biológica
4
2.1 Inspiração Biológica
O conjunto de sistemas que são desenvolvidos com inspiração ou utilização de um ou mais mecanismos naturais ou biológicos de processamento de informações constituem a linha de pesquisa da
Computação Natural (de Castro et al., 2004), cujo esquema é ilustrado na Figura 2.1. Existem três
subdivisões desta linha de pesquisa:
• computação Bioinspirada - novas formas de solução de problemas;
• simulação de eventos naturais - síntese da ’vida’;
• computação com mecanismos naturais - novos paradigmas de computação.
Figura 2.1: Esquema representando a área da computação natural e suas sub-áreas, extraído de
(Von Zuben and de Castro, 2009)
A implantação de estruturas de dados que podem complementar ou substituir os computadores
atuais é estudada em Computação com mecanismos naturais, essas estruturas podem ser as cadeias de
DNA ou os bits quânticos, que permitem o desenvolvimento de "computadores naturais", diferentes
das estruturas desenvolvidas em silício.
O estudo de comportamentos, padrões e processos naturais e biológicos é a proposta da Simulação
de eventos naturais. Esta linha de pesquisa propõe o estudo da natureza no computador, que dentre os
assuntos estão incluídos vida artificial e geometria fractal. Trabalhos como (Flake, 2000) oferecem
uma visão sobre o assunto.
2.1 Inspiração Biológica
5
Diferente do estudo da natureza no computador, é proposto também o estudo de ferramentas
computacionais baseadas em fenômenos naturais, proposta da Computação Bio-inspirada, que é a
ferramenta deste trabalho. Neste grupo, são propostas estratégias inspiradas em mecanismos biológicos ou naturais com o objetivo de incluir tais características nos sistemas desenvolvidos para uma
determinada tarefa.
As abordagens que pertencem à Computação Bio-inspirada são: as Redes Neurais Artificiais;
a Computação Evolutiva; a Inteligência de Enxames; e os Sistemas Imunes Artificiais, ferramenta
usada neste trabalho. Todos estes possuem a inspiração biológica como característica. Muitas dessas
abordagens têm sido utilizadas na otimização de processos, aprendizado de máquina, dentre outras
aplicações. Essas abordagens podem ser representadas pela Figura 2.2.
Figura 2.2: Áreas da computação bioinspirada
A influência da biologia nos sistemas de inteligência computacional se deve às características em
comum entre os elementos biológicos e os sistemas designados para cumprir os objetivos descritos,
tais como: memória; organização; aprendizado; reconhecimento; adaptação; robustez; tolerância e
diversidade, características consideradas importantes nos sistemas analisados, dependendo dos objetivos desejados.
Algumas destas características estão presentes nos sistemas imunes biológicos e muitas delas
tornaram-se a motivação da existência dos sistemas imunes artificiais, principalmente sua função de
defesa, útil para muitos sistemas computacionais que requerem recursos que provêem segurança.
Esses sistemas computacionais, no entanto, não possuem necessariamente todas as características do sistema biológico referente. Por questões de praticidade, algumas características podem ser
2.2 Fundamentos do sistema imune biológico
6
omitidas na implementação. Além disso, a Computação Natural não busca imitar a biologia, mas
busca a inspiração nela para gerar sistemas capazes de realizar uma determinada tarefa com base nas
características do fenômeno biológico apresentado.
2.2 Fundamentos do sistema imune biológico
2.2.1 Conceitos biológicos básicos
Os sistemas imunes biológicos provêem defesas contra diversas doenças causadas por organismos
invasores a um animal. Para isso são identificados agentes causadores de doenças através de antígenos, que são pequenas partes destes agentes. Alguns exemplos de patógenos são exemplificados na
Figura 2.3.
Após o reconhecimento dos patógenos através dos antígenos, o sistema imunológico o elimina
para que a integridade do organismo seja mantida. Essa visão, porém, é controversa para alguns
pesquisadores da área de imunologia, que consideram o sistema imune como um mecanismo de
identificação do organismo, mantendo a integridade física e a homeostase (de Castro, 2001).
No entanto, o sistema imune é extremamente complexo, sofisticado e desenvolvido, podendo
reconhecer uma grande quantidade de patógenos e é capaz de produzir secreções ou células que os
identificam e os eliminam do organismo ou neutralizam sua ação, dependendo do agente invasor, da
forma de invasão e dos danos ocasionados ao organismo. Um patógeno pode atacar o corpo humano
em diversas localidades, que possuem um nível de defesa definido.
O Sistema imune é um dos três niveis do mecanismo de defesa do corpo humano. Os outros dois
são: nível físico e nível bioquímico. E pode ser dividido em duas partes: sistema inato (ou natural) e
sistema adaptativo (ou adquirido). A Figura 2.4 modela a defesa do corpo humano e suas camadas.
O sistema inato ou natural é composto por macrófagos, as células dendríticas e células NK (Natural Killer), que estão imediatamente disponíveis para responder a alguns tipos de patógenos. Por
outro lado, o sistema adaptativo é capaz de identificar inclusive alguns antígenos nunca encontrados
antes.
O sistema adaptativo ou adquirido é composto pelos linfócitos B, gerados na medula óssea, e os
linfócitos T, desenvolvidos no timo. As células B são capazes de secretar anticorpos, proteínas que se
ligam aos antígenos, marcando-os para eliminação, enquanto que as células T regulam e estimulam
as respostas imunes, além de eliminar células do corpo infectadas. As células T se dividem em
células T auxiliares (Th ) e células T citotóxicas (Tc ), as células Th produzem citocinas ao reconhecer
o complexo antígeno e MHC (complexo de histocompatibilidade principal) classe II e as células
Tc desenvolvem linfócitos citotóxicos T (CTL) para eliminar agentes infecciosos, tais como vírus,
tumores ou células infectadas.
Para o reconhecimento e ativação do sistema imune, as APCs (células apresentadoras de antíge-
2.2 Fundamentos do sistema imune biológico
7
Figura 2.3: Exemplos de agentes causadores de doenças, que podem ser identificados pelo sistema
imune biológico. (autor desconhecido, 2009d)
Figura 2.4: Camadas do sistema imune humano (de Castro, 2001)
2.2 Fundamentos do sistema imune biológico
8
nos), circulam pelo corpo com o objetivo de digerir os antígenos encontrados, fragmentando-os de
forma que estes possam se ligar a moléculas MHC, formando complexos. As células T reconhecem
este complexo e se dividem secretando linfocinas, que são sinais químicos que mobilizam outros componentes do sistema imune. As células B reconhecem partes solúveis dos antígenos sem as moléculas
de MHC.
Existem duas classes de moléculas de MHC encontradas em células: MHC I e MHC II. O primeiro
tipo é apresentado por qualquer célula e quando reconhecido, é desenvolvido o linfócito CTL que
elimina células infectadas, enquanto que o segundo é apresentado apenas por células B e quando
reconhecido, são produzidas citocinas, estimulando a proliferação das células B e T.
As células B se diferenciam em plasmócitos, secretando anticorpos em altas taxas. Os antígenos
se ligam aos anticorpos e neutralizam o patógeno, que é eliminado pelo organismo pelo sistema
complemento ou por fagócitos. Algumas células B e T se transformam em células de memória, de
forma a garantir uma resposta rápida caso o antígeno volte a aparecer no organismo.
Enquanto nem todos os patógenos podem ser reconhecidos pelo sistema imune inato, os mais específicos podem ser reconhecidos apenas pelo sistema adaptativo. A resposta imune inata permanece
constante em um indivíduo durante seu ciclo de vida, independente de sua exposição ao antígeno, e
a resposta adaptativa, na qual ocorre a produção de anticorpos, adapta-se aos antígenos produzindo
anticorpos específicos a um determinado agente infeccioso. O sistema adaptativo também mantem
uma memória dos patógenos reconhecidos no caso do surgimento de uma nova infecção ou de uma
infecção similar no futuro, para a eliminação da mesma.
O sistema imune adaptativo, segundo (Hanegraaff, 2001), possui quatro importantes propriedades: especificidade antigênica; diversidade molecular; memória e distinção de padrões normais do
organismo (o próprio ou self ) dos outros padrões (não-próprio ou nonself ), sendo esta última uma
hipótese, aceita por grande parte dos imunologistas.
Embora as funções e componentes do sistema imunológico sejam conhecidos, o real funcionamento da resposta adaptativa é ainda tema de pesquisas na área da imunologia, e muitas teorias foram
formuladas com o objetivo de explicar como funciona o mecanismo de defesa imune do organismo,
devido à sua complexidade.
2.2.2 Teorias formuladas
Ao longo do tempo, muitas pesquisas tentaram explicar o funcionamento do sistema imunológico
humano. As principais teorias existentes são: seleção clonal; seleção negativa e a rede imunológica.
Existe também a teoria do perigo, formulada recentemente, que mostra o sistema imune como um
mecanismo de defesa contra danos causados por patógenos. As primeiras teorias se baseiam na
distinção do próprio e do não-próprio, como a seleção negativa, estudada em (Percus et al., 1993).
A teoria da seleção negativa, sugere um processo onde um linfócito que reconheça padrões pertencentes ao organismo é eliminado e outro que não reconheça esses padrões fica livre para circular no
2.2 Fundamentos do sistema imune biológico
9
organismo, durante a etapa de desenvolvimento. De acordo com essa teoria, esse processo permitiria
que o sistema imune diferenciasse os padrões próprios dos não-próprios.
No timo, antes da seleção negativa, ocorre também um processo denominado seleção positiva,
onde as células T que reconhecem antígenos associados ao MHC próprio podem amadurecer, ou
seja, o processo visa ao reconhecimento de antígenos estranhos pelos linfócitos T no contato com
moléculas MHC próprio. Os processos citados são ilustrados na Figura 2.5.
Figura 2.5: Ilustração dos processos de seleção positiva e seleção negativa das células T no Timo
A seleção negativa, mais tarde, foi extendida em (Burnet, 1959), e a teoria proposta foi batizada
de seleção clonal, em referência ao comportamento das células B. Essa teoria explica que na resposta
imunológica de um organismo, os linfócitos B e T são capazes de reconhecer o antígeno e através
desse reconhecimento, a célula B se divide dando origem a clones. Alguns desses clones se diferenciam em plasmócitos, que secretam anticorpos para combater a infecção, e em células de memória,
que são capazes de sobreviver durante longos períodos de tempo, permitindo uma resposta mais rápida ao mesmo antígeno, caso este seja encontrado novamente. A Figura 2.6 ilustra como a seleção
clonal funciona.
Mais tarde, uma teoria similar à da seleção clonal foi proposta em (Jerne, 1974) sugerindo que as
células e moléculas de um sistema imune se reconhecem mesmo na ausência de um antígeno. Essa
teoria é conhecida como a Rede Imune ou Rede Idiotípica.
Nessa teoria, o sistema é uma rede dinâmica que interage com antígenos estranhos e as células
possuem regiões conhecidas como idiotopos, permitindo o reconhecimento de células e moléculas
por outras células, como mostra a Figura 2.7. O idiotopo é reconhecido por um paratopo de outra
2.2 Fundamentos do sistema imune biológico
10
Figura 2.6: Ilustração da seleção clonal. baseado em (Qiu, 2009)
célula imune.
Figura 2.7: Ilustração de anticorpos se interagindo em uma rede imune. (Fix, 2009)
As teorias acima relatam a dinâmica do sistema imune adaptativo. As teorias seguintes explicam
a interação entre o sistema imune inato e o adaptativo.
Para explicar a ativação imune, existe a teoria da Dupla Sinalização, que supõe a existência de
dois sinais para a ativação dos linfócitos, segundo (Baxter and Hodgkin, 2002), com o antígeno
funcionando como o primeiro sinal. O segundo sinal pode vir de uma célula estimuladora, do MHC,
ou das células T, sendo que neste último caso, a célula ativada é sempre a célula B. A teoria ou
modelo do perigo, segundo o artigo, pode extender esta característica, considerando o segundo sinal
necessário para a ativação ou eliminação do linfócito no organismo.
O modelo do Perigo (Matzinger, 1994) propõe uma teoria diferente da distinção do próprio e
do não próprio, onde as células que apresentam antígenos (APC) são ativadas por células que estão
sofrendo danos. Os danos funcionam como alarmes ao organismo, de forma a ativar as APC através
das células expostas a agentes nocivos ao organismo, como conseqüência do dano à célula. Nesse
2.3 Sistemas imunes artificiais
11
caso, o sistema imune estaria reagindo contra uma detecção de perigo, em vez de reagir contra padrões
desconhecidos ao organismo.
O perigo neste modelo é o principal fator para a atividade do sistema imune. Neste modelo,
são requeridos os dois sinais para a ativação do linfócito. Se este receber apenas o sinal 1 (sinal do
antígeno), este é eliminado. Caso o sinal recebido seja apenas o 2 (sinal das APC para o linfócito T,
ou deste último para o linfócito B), nada acontece. Isso pode ser exemplificado na Figura 2.8.
Figura 2.8: Ativação da resposta imune segundo a teoria do perigo, ilustração baseada em (Cayzer
and Aickelin, 2002)
As teorias sobre o funcionamento dos sistemas imunes biológicos tentam explicar como este realmente se comporta, o que ainda é um desafio para a biologia. No entanto, em sistemas imunes
artificiais, muitas destas teorias podem ser usadas na implementação de sistemas, com base nas características do problema abordado. O estudo das teorias dos sistemas imunes gera muitas possibilidades
de abordagens de problemas em sistemas com características adaptativas ou inteligentes.
2.3 Sistemas imunes artificiais
Os sistemas imunes (ou imunológicos) artificiais, que podem ser chamados também sistemas
imuno-inspirados ou sistemas de computação imunológica, são um conjunto de sistemas inspirados
no sistema imune biológico, que podem ser aplicados a diversas áreas, como reconhecimento de
2.3 Sistemas imunes artificiais
12
padrões, otimização de problemas, detecção de anomalias, aprendizado de máquina, robótica, modelagem computacional, dentre outras aplicações.
2.3.1 Revisão da literatura em SIA
O estudo dos sistemas imunes artificiais tem crescido nos últimos anos de acordo com Timmis,
que realizou em (Timmis, 2007) um levantamento dos trabalhos mais importantes e descreveu a consolidação da linha de pesquisa e seus desafios atuais. Observando o aspecto da evolução dos estudos
realizados em sistemas imunes artificiais, foi constatado também que muitos trabalhos estão enfocados no mecanismo de aprendizado e de memória no sistema imune (seleção clonal) e na seleção de
detectores para identificação de anomalias (seleção negativa).
Neste trabalho, abordaremos algumas pesquisas relevantes sobre sistemas imunes artificiais.
O trabalho em (Forrest et al., 1994) é um dos trabalhos pioneiros ao abordar a similaridade entre
o sistema humano e o modelo de detecção de vírus e violações em computadores. Este trabalho usa
o princípio da distinção do Próprio/Não-Próprio com um conjunto de detectores e métodos probabilísticos de detecção. Assim, os detectores são gerados e os dados são monitorados para detectar as
anomalias através da comparação de dados.
Pouco depois, em (Somayaji et al., 1997) é detalhado como um sistema adaptativo deve funcionar
baseando-se no sistema imune adaptativo e tecendo metáforas baseadas em comparações do sistema
biológico com os sistemas computacionais que implementam características de segurança.
Os aspectos computacionais do sistema imune são definidos em (Dasgupta, 1998) e a partir destes, definiu quais aplicações podem ser modeladas e aplicadas através de fenômenos ocorridos nos
sistemas imunes. O trabalho define também um modelo pioneiro de detecção de intrusos usando
características dos sistemas imunológicos. Até então, a linha de pesquisa ainda era pouco conhecida.
O uso de sistemas imunes ganhou notoriedade com o trabalho realizado em (de Castro, 2001,
2002) propôs um arcabouço teórico para formalizar a geração das ferramentas que são implementadas
usando os princípios do sistema imunológico. Esse arcabouço é denominado Engenharia Imunológica
e reúne técnicas inspiradas no funcionamento de alguns componentes do sistema imune e também nas
teorias propostas. Além do arcabouço teórico, quatro ferramentas imunoinspiradas foram propostas:
SAND; CLONALG; ABNET e aiNet. Destes quatro, dois deles ganharam popularidade na literatura.
Em (de Castro and Von Zuben, 2002), o CLONALG é apresentado, uma das quatro ferramentas.
O algoritmo é baseado na teoria da seleção clonal, definindo duas aplicações principais: reconhecimento de padrões e otimização. O CLONALG possui um caráter evolucionário, a medida que os
anticorpos são gerados, melhores soluções são geradas ou reconhecimento do antígeno (Padrão a ser
reconhecido) ou gerando o melhor anticorpo (Solução otimizada do problema). Em (de Castro and
Von Zuben, 2001), de Castro apresenta o aiNet, um algoritmo de classificação e clusterização baseado
na teoria da rede imune.
O aiNet foi proposto com as idéias da metadinâmica da rede, o mecanismo de seleção clonal e
2.3 Sistemas imunes artificiais
13
a supressão das soluções similares. De acordo com (de Castro, 2001), o CLONALG e o aiNet, são
duas das quatro soluções apresentadas como ferramentas de engenharia imunológica. Em (de Castro
and Timmis, 2002), foi demonstrado que o aiNet também pode resolver problemas de otimização
multimodal. Esses trabalhos demonstram as vantagens e resultados obtidos com as ferramentas imunoinspiradas.
As teorias desses sistemas imunes, assim como alguns fundamentos e conceitos, foram apresentados em (Bachmayer, 2008). O trabalho também apresenta uma definição de como funcionam os SIAs
baseados no Modelo do Perigo, incluindo as aplicações para cada teoria estudada.
Em (Cayzer and Aickelin, 2002), o modelo do perigo é comparado às demais teorias na implementação dos SIAs e as aplicações possíveis para sistemas baseados no modelo do perigo, principalmente
em detecção de anomalias. Diferentemente de outras abordagens, o modelo do perigo, segundo os
autores, provêm idéias de como os SIAs devem representar e tratar os dados.
Um levantamento dos estudos mais importantes em cada teoria estudada foi feito em (Dasgupta,
2006), comparando com outros métodos e apontando as aplicações e os detalhes destas conforme a
inspiração biológica.
Os trabalhos realizados sobre SIA em detecção de intrusão em redes de computadores serão apresentados no Capítulo 4, uma vez definido o problema que será abordado neste trabalho.
Nas seções seguintes, serão apresentados mais detalhes sobre a definição de modelos para a construção dos sistemas imunoinspirados e sobre o modelo do perigo em imunologia computacional.
2.3.2 Formalização da Engenharia Imunológica
De acordo com (de Castro, 2001, 2002), um sistema de engenharia pode ser definido formalmente
através de um arcabouço teórico denominado Engenharia Imunológica (EI), que poderá definir a
ferramenta de solução de problemas baseando-se em suas características e aplicando a ferramenta na
obtenção da solução desejada.
O objetivo da Engenharia Imunológica não é a representação fiel do sistema imune, mas sim desenvolver modelos que preservem as propriedades essenciais do sistema imune conforme a aplicação,
tais como: a modelagem matemática dos linfócitos B e T e dos antígenos; expressões de afinidade
entre anticorpo e antígeno; o espaço de formas representando ligações celulares e moleculares; algoritmo de medula óssea gerador de dados; algoritmos de seleção negativa; seleção clonal, entre
outros.
Essas ferramentas de EI, de acordo com (de Castro, 2001) são mais apropriadas para problemas
de aprendizado de máquina, otimização, agrupamento de dados e classificação, cujos dados são matematicamente definidos e operam geralmente apenas com o linfócito B, apesar do linfócito T ser
definido matematicamente no trabalho. Analisando no ponto de vista biológico, os componentes dos
linfócitos são os anticorpos e não há distinção entre estes e os receptores antigênicos.
Esse estudo define também como podem ser modelados os componentes do sistema imune, como
2.3 Sistemas imunes artificiais
14
a medula óssea, a hipermutação somática, representações de moléculas para cada problema de engenharia, o reconhecimento de padrões pela distância de Hamming, entre outros. Além disso, sugere
como esses componentes podem se aplicar em diversos problemas de engenharia. Ilustrações sugestivas são mostradas na Figura 2.9.
Figura 2.9: Ilustrações dos processos analisados na Engenharia Imunológica: (1) espaço de formas;
(2) hipermutação somática; (3) base de dados baseada na Medula Óssea; (4) afinidade por similaridade em espaços euclideanos; e (5) representação de ligação antígeno-anticorpo por aproximação
de afinidade. (de Castro, 2001)
O desenvolvimento da EI, assim como a formulação das ferramentas, podem ser considerados
como uma grande contribuição no desenvolvimento dos algoritmos baseados no sistemas imunes,
impulsionando e conduzindo a pesquisa a outros rumos. O estudo e desenvolvimento dos algoritmos
baseados na teoria do perigo constituem em um dos mais novos rumos na pesquisa sobre sistemas
imuno-inspirados, esse fato será discutido na próxima seção.
2.3 Sistemas imunes artificiais
15
2.3.3 Sistemas baseados no modelo do perigo
A teoria do perigo, introduzida na seção 1.1.2, afirma que o sistema imune biológico realizará
a defesa do organismo enquanto houver uma situação de perigo, onde algumas células estão sendo
atacadas por patógenos. Neste caso, o reconhecimento de padrões benignos ou malignos aos organismos proposto nas demais teorias, principalmente a da seleção negativa, daria lugar à detecção e
posterior eliminação do perigo. Como as pesquisas sobre o assunto são mais recentes, os sistemas
imunes artificiais baseados nessa teoria surgiram depois.
Um dos artigos pioneiros nesta abordagem é (Cayzer and Aickelin, 2002). O artigo enfatiza que
a definição de padrões próprios e não-próprios é problemática e o modelo de seleção negativa possui
falhas e maiores chances de falsos positivos e falsos negativos. O modelo do perigo proposto no
trabalho foi modelado principalmente para detecção de falhas, no entanto, também pode ser usado
em classificação de informações ocultas (data mining, por exemplo).
O artigo em questão ainda compara o modelo do perigo com a imunologia clássica, de acordo
com (Matzinger, 1994), levando em conta a reação imune contra bactérias, processos de auto-reação
do sistema imune, mudanças no sistema imune humano e concluindo que o perigo é o fator principal
para a resposta do sistema imune, pois responde a muitos problemas, como por exemplo: doenças
auto-imunes; existência de bactérias externas ao organismo que não são eliminadas; etc.
O modelo do perigo considera a distinção de padrões self/nonself útil, porém não essencial, confrontando a teoria da seleção negativa. Suas falhas ocorrem, segundo (Dasgupta, 2006), por causa
dos falsos positivos, das regiões em comum entre padrões benignos e malignos e devido à variação
dos padrões benignos, tornando o sistema impreciso ou auto-reativo. Segundo o artigo, o problema
de detecção de anomalias requer a especificação de sinais de perigo, proximidades física ou de similaridades, presença ou não de sinais. O estudo ainda conclui que a teoria do perigo provê idéias sobre
quais dados o sistema deve representar e com quais este deve tratar.
Uma abordagem baseada nos sinais de perigo foi proposta em (Greensmith et al., 2006; Greensmith, 2007). Este algoritmo é baseado nas células dendríticas e foi aplicado à segurança em redes
de computadores. O algoritmo foi desenvolvido em um ambiente API (interface para programação
de aplicações) denominado libtissue, proposto em (Twycross and Aickelin, 2006b), e que permite a
análise de algoritmos de SIA em aplicações através do conceito de tecidos biológicos. Este algoritmo
consiste em representar a ação das células dendríticas como emissores de sinais de perigo às células
T. Em (Greensmith et al., 2006), é mostrada a aplicação do algoritmo para o problema de detecção
de anomalias. A aplicação testada em (Greensmith, 2007) foi o problema do uso indevido de uma
ferramenta que consiste em descobrir IPs de rede ativos, processo conhecido como Ping Scan, que é
usado antes de se realizar uma atividade de invasão em uma rede de computadores.
O algoritmo de células dendríticas funciona da seguinte forma: em termos computacionais, a célula realiza uma fusão de dados multi-sensores baseando-se em janelas de tempo; e o conjunto de
células correlaciona os sinais e os antígenos, emitindo dados sobre o grau de anomalia de cada antígeno. Este algoritmo será mostrado nos capítulos seguintes, como ferramenta principal do trabalho.
Capítulo 3
Detecção de Intrusos em Redes
”O medo do perigo é mil vezes pior do que o perigo real.”
Daniel Defoe
3.1 Introdução
Uma rede de computadores, definida em (Tanenbaum, 2003), é um conjunto de computadores
interligados com o objetivo de prover comunicação entre os usuários de acordo com seus interesses. Um exemplo de rede de computadores é a Internet, onde um computador, quando conectado a
essa rede, dispõe de uma conexão entre diversas fontes de informação, que consiste em servidores
conectados à rede.
O crescimento constante da Internet propiciou o surgimento de novas formas de uso dos sistemas
de informação, com inúmeras possibilidades e oportunidades de utilização, com seus diversos tipos
de diversos serviços, tecnologias e funcionalidades.
Estão incluídas algumas ferramentas da Internet como correio eletrônico (e-mail); serviços de
mensagem instantânea (Instant Messengers); serviços de compartilhamento de arquivos; serviços
de voz sobre IP (VoIP); conferências virtuais através de texto, voz ou vídeo, serviços de comércio
eletrônico (e-commerce), e outras ferramentas que torna a Internet prática e popular.
O ambiente de utilização da Internet e as ferramentas citadas acima é conhecido como WAN
(Wide Area Network), pois atende a diversos usuários de computadores mundialmente. Além disso, a
Internet é considerado um conjunto de redes de computadores conectadas em todo o mundo.
Os ambientes de rede de computadores podem ser descritos abaixo, levando em conta a forma
como as mesmas são planejadas.
16
3.2 Segurança em redes de computadores
17
• LAN (Local Area Network) - Uma rede de computadores local desenvolvida para atender a uma
localidade, como uma empresa, por exemplo.
• MAN (Metropolitan Area Network) - Uma rede de computadores desenvolvida para atender a
uma parcela de usuários correspondente a uma cidade.
• WAN - Uma rede de computadores desenvolvida para atender a vários usuários em lugares
geograficamente distintos.
No entanto, o planejamento de uma rede de computadores, como o de qualquer ambiente de
comunicação, envolve uma questão importante: segurança. A rede de computadores é suscetível aos
riscos e chances de ataques maliciosos, violando autenticidade, privacidade, integridade, estabilidade
e em alguns casos o sigilo de informações valiosas, dentre outras características.
Um sistema de rede de computadores deve prover confidencialidade, integridade e robustez a ataques de negação de serviços. Entretanto, conforme surgem muitas aplicações financeiras da Internet
e a conectividade cresce, as chances de ocorrência de intrusões aumentam significantemente. As
tentativas de subversão tentam explorar falhas do sistema operacional como também de programas
aplicativos específicos, objetivando comprometer a segurança do sistema.
A segurança de uma rede de computadores é uma questão valiosa para atributos como a preservação de dados, integridade dos usuários e estabilidade do sistema. Para garantir esses atributos e
proteger a rede de possíveis ataques, são usadas muitas ferramentas, como: firewall, ilustrado na
Figura 3.1; detectores de malwares; entre outras. Porém, muitas dessas ferramentas protegem parcialmente o sistema ou restringem a liberdade e flexibilidade de utilização de recursos.
Figura 3.1: Ilustração de uma rede de computadores protegida por firewall, ferramenta usada para
segurança de informações na rede (autor desconhecido, 2009b)
3.2 Segurança em redes de computadores
Segurança é um tópico de fundamental importância em redes de computadores, considerando que,
assim como as tecnologias de rede, os ataques aos sistemas tornam-se mais sofisticados.
3.2 Segurança em redes de computadores
18
De acordo com (cert.br, 2009), a preocupação com a segurança é essencial, pois os computadores podem ser usados para transações financeiras, de comunicação e armazenamento de dados, por
exemplo, e sempre existe uma chance de tais ataques que podem ocasionar em:
• roubos de informações sigilosas como senhas e números de cartões de crédito ou débito;
• acesso não autorizado à Internet;
• propagação de vírus;
• disseminação de falsas mensagens;
• vandalismo;
• acesso remoto para ocultar a identidade do invasor ou lançar ataques contra outros computadores.
Muitas dessas operações realizadas em rede, principalmente na Internet, são transações de comércio eletrônico ou de pagamento eletrônico, acesso bancário ou qualquer outra operação comercial,
financeira ou confidencial, e com a possibilidade de ocorrência dos eventos de intrusão, estas podem
ser prejudicadas.
É necessário, para a minimização desses ataques, prover ferramentas de proteção para as redes de
computadores. O ideal é construir ferramentas que promovam uma proteção eficaz contra invasões e,
ao mesmo tempo, não interfira na utilização do sistema.
Essas ferramentas de proteção são estudadas na área de estudo denominada Detecção de Intrusão. Os Sistemas Detectores de Intrusos (Intrusion Detection Systems - IDS) monitoram eventos que
ocorrem em um sistema ou rede de computadores e os analisa em termos de possíveis incidentes, que
correspondem a violações ou ameaças iminentes às políticas de segurança ou de uso. (Scarfone and
Mell, 2007)
Um IDS pode servir basicamente para prover informações sobre uma rede, tais como:
• número de tentativas de ataque;
• tipo de ataque usado;
• origem dos ataques.
O sistema, a princípio, não utiliza medidas preventivas, quando um ataque é descoberto age como
um informante. Uma das maneiras mais comuns para descobrir ataques é através de dados das auditorias gerados pelos sistemas operacionais e ordenados pelo tempo em que o ataque ocorreu, para que
estes registros sejam analisados manualmente por especialistas. No entanto, essa prática não é considerada eficiente, devido ao tamanho destes arquivos de logs. Cabe ao IDS automatizar essa tarefa e
descobrir uma atividade sem autorização, detectando a extensão dos danos.
É a partir dele que o administrador vai tomar conhecimento do que realmente se passa na rede e
tomar as decisões para solucionar qualquer problema. (autor desconhecido, 2009e)
3.3 Necessidades de um detector de intrusos
19
3.3 Necessidades de um detector de intrusos
De acordo com (Frank, 1999), intruso é aquele usuário, mal-intencionado, que realiza acessos ao
sistema caracterizados, de acordo com (Mukherjee et al., 1994), como usos não autorizados, usos
indevidos e abusos de sistemas. Todos esses eventos, assim como invasões de sistemas são eventos
caracterizados como intrusão. O IDS monitora o sistema em busca dos incidentes de intrusão.
Segundo (Debar, 2000), um IDS é caracterizado pelo sistema de informação monitorado, que
pode ser uma estação de trabalho, um elemento de rede, um servidor, um mainframe, um firewall,
etc. Os incidentes de intrusão possuem diversas causas, como malwares (vírus, spyware), acesso não
autorizado a um sistema, ganho de privilégios adicionais de forma ilícita, etc.
Um evento caracterizado como intrusão viola características de segurança como confidencialidade, precisão, confiabilidade, integridade, disponibilidade e não repúdio da transferência de informações (Patrício et al., 2006). Como nem sempre é possível prevenir tais eventos, é desejável reduzir
a ocorrência dos mesmos através de sua detecção.
Detectar os eventos e informar ao usuário a ocorrência dos mesmos em tempo real é um dos
objetivos dos sistemas de detecção de intrusos. No entanto, este problema implica em desafios por
causa do crescimento constante da conectividade dos sistemas de computação e sua grande acessibilidade, permitindo facilmente um acesso indevido por um invasor. A Figura 3.2 ilustra um esquema
de prevenção de ataques.
Nem sempre a detecção de eventos intrusivos pode ser considerada perfeita, uma vez que o conceito de intrusão inclui ações e características humanas e por isso, chega a ser bastante filosófico.
As formas tradicionais de identificação de intrusões podem ser consideradas problemáticas, principalmente porque os padrões de intrusão existentes anteriormente podem mudar com o passar dos
tempos.
Além da mudança de padrões, características anteriormente não intrusivas podem futuramente
corresponder a novos padrões intrusivos ou serem exploradas para gerar novas formas de intrusão.
Proporcionalmente, surgem ataques mais avançados a partir de princípios como a exploração de vulnerabilidades em sistemas.
Partindo deste princípio, é necessário que um sistema de detecção de intrusos seja capaz de detectar uma intrusão, por mais avançada que seja a técnica. Em (Frank and Mda-c, 1994), é proposto
que um IDS seja capaz de se adaptar a novas técnicas de intrusão e as técnicas de inteligência computacional são as mais adequadas para essa tarefa.
A detecção de novos ataques será discutida mais adiante. Na próxima seção, serão discutidos
como um IDS funciona.
3.3 Necessidades de um detector de intrusos
20
Figura 3.2: Ilustração de como os ataques podem ser realizados (a) e impedidos (b) em uma rede de
computadores, baseada em (autor desconhecido, 2009c).
3.4 Características de um IDS
21
3.4 Características de um IDS
De acordo com (Lazarevic et al., 2005), um sistema de detecção de intrusos pode ser definido
como uma combinação de componentes de software e/ou hardware que monitoram o sistema e emitem
um alarme na ocorrência de um ataque, após a classificação de um evento.
As rotinas de classificação de ataques e intrusões em redes de computadores têm sido realizadas
de acordo com taxonomias formalmente desenvolvidas e com certos conjuntos de propriedades. Mais
tarde, tais taxonomias foram agrupadas em: mau uso ou ataque do computador e tentativa de acesso
não autorizado. De certa forma, um sistema de detecção de intrusos deve monitorar o sistema contra
esses grupos de ataques de acordo com as políticas de segurança e verificando o estado do sistema
emitindo um alarme a cada ocorrência de um possível ataque da forma mais eficaz possível, ou seja,
o sistema não pode ser enganado com facilidade.
Quando um IDS é desenvolvido adequadamente, segundo (McHugh et al., 2000), este consegue
prover alertas indicando que um sistema está sendo atacado, mesmo este não sendo vulnerável a um
ataque específico. Esses alertas podem ajudar os usuários na resistência a ataques e um IDS pode
confirmar uma configuração segura e a operação de outros mecanismos de segurança.
Ao mesmo tempo, este sistema deve reconhecer os próprios padrões, evitando auto-ataques e
sendo resistente a subversões, evitando assim que uma atividade do sistema seja reconhecida como
um ataque. Essa característica será explicada mais adiante.
Os IDS podem ser caracterizados através da estrutura do sistema, estudo de fenômenos observados
e abordagens de detecções. Basicamente, segundo (Verwoerd and Hunt, 2002), eles são compostos
por:
• sensores - são responsáveis pelas análises de tráfego da rede, arquivos de registro ou do comportamento do sistema e traduzem os dados em eventos usados pelos monitores de alto nível,
os motores;
• monitores - unidade principal de processamento do sistema que recebe dos sensores os eventos,
correlacionados com o modelo de comportamento do sistema, produzindo alterações e alertas;
• alerta - indica uma ocorrência relevante à segurança do sistema e é repassado a um monitor de
alto nível;
• motor - recebem dos monitores os alertas de eventos suspeitos e determina a resposta mais
apropriada, através do mecanismo de decisão ou regras.
Um modelo de IDS pode ser representado pela Figura 3.3.
Algumas arquiteturas de IDS não distinguem essas divisões, tais componentes formam uma unidade ou são divididos em meio a processos e ferramentas (Verwoerd and Hunt, 2002).
Os IDSs podem também ser divididos em HIDS (Host-based Intrusion Detection System) e NIDS
(Network-based Intrusion Detection System), de acordo com a localização do mesmo. O primeiro faz
3.5 Características de ataques
22
Figura 3.3: Arquitetura de um IDS, baseada em (autor desconhecido, 2009a)
a análise de uma máquina específica, o segundo analisa toda a rede de computadores e é utilizado
em pontos estratégicos da mesma. Essas classificações podem ser analisadas profundamente em
(Mukherjee et al., 1994).
De acordo com (Innella, 2001), os HIDSs funcionam através de registros de auditoria e de arquivos, enquanto que os NIDSs funcionam como analisadores de pacotes, de forma parecida com um
sniffer, cujo objetivo é registrar a entrada e a saída de pacotes da rede.
Na próxima seção, serão discutidos como são realizados os ataques.
3.5 Características de ataques
Todo sistema está sujeito a vulnerabilidades. Dessa forma, os ataques podem ocorrer em quaisquer
circunstâncias, por mais que estes sejam considerados seguros. Logo, a descoberta da ocorrência de
um ataque pelo IDS deve ocorrer de preferência em tempo real, informando ao administrador da rede
a ocorrência desta o mais cedo possível.
Podemos descrever alguns tipos de intrusões conhecidos:
• exploração de vulnerabilidades;
• ataques mascarados;
• invasão do sistema de controle de segurança;
• varredura da rede para realizar ataques;
• violação de conteúdo;
• ataques de negação de serviço;
• uso indevido de um sistema.
3.5 Características de ataques
23
Os tipos de intrusão acima podem ser monitorados analisando comportamentos atípicos, padrões
específicos de atividades, violações de regras de segurança, usabilidade do sistema ou uso de privilégios de acordo com o grau do usuário (administrador ou usuário comum).
Baseando-se nisso, os intrusos, segundo (autor desconhecido, 2009e) podem ser classificados em
dois tipos:
1. intrusos externos - usuários sem qualquer acesso nas máquinas alvo;
2. intrusos internos - usuários que possuem acesso às máquinas e alguns recursos, e tentam obter
privilégios.
Além disso, conforme descritos em (Patrício et al., 2006) e (Abraham and Jain, 2004a), a intrusão
pode também ter as seguintes etapas:
1. coleta de informações - levantamento de informações sobre o sistema;
2. varredura (scan) - pesquisa sobre o sistema para extrair informações que auxiliem na ação
intrusiva;
3. penetração/infiltração - obtenção de acesso não autorizado, que pode ocorrer por causa de vulnerabilidades no sistema;
4. negação de serviço - obstrução que pode resultar no mau funcionamento do sistema, impedindo
o acesso dos usuários a serviços ou recursos providos;
5. remoção de rastros - quando o intruso remove (ou tenta remover) qualquer evidência que caracteriza o ataque ocorrido.
Muitas dessas etapas podem ocorrer separadamente, de acordo com os objetivos do usuário invasor.
Apesar do IDS identificar e relatar os eventos intrusivos, não cabe ao mesmo a função de prevenir ataques, esta funcionalidade é delegada a um outro tipo de sistema denominado IPS (Intrusion
Prevention System), ou sistema de prevenção contra intrusos, que como descrito em (Zhang et al.,
2004), pode ser caracterizado como um firewall e um IDS integrados, ou uma ferramenta que reage a
mudanças no ambiente de rede, descobrindo ações intrusivas e prevenindo-as.
3.5.1 Classificação de ataques
Os sistemas de detecção de intrusos, segundo a base de dados do MIT Lincoln Labs de 1998
patrocinada pelo DARPA em (Lincoln Laboratory MIT, 2009), podem ser classificados da seguinte
forma:
3.6 Modelos e tipos de IDS
24
• ataques de sondagem (Network Probing) - Usados para obter informações sobre a topologia de
rede, os serviços, e os possíveis pontos de penetração;
• ataques de negação de serviços (DoS) - Ataques realizados para derrubar um servidor ou uma
rede com o objetivo de impedir o acesso a seus serviços por outros usuários;
• ataques de escalação de privilégios (R2L ou U2R):
– ataques remotos para local (R2L - Remote to Local) - Usados para ganho de acesso não
autorizado a um servidor local a partir de uma máquina remota;
– ataques usuário para administrador (U2R - User to Root) - Utilizados por um usuário local
sem privilégios (ou remoto, que tenha realizado um ataque R2L) para ganhar acesso não
autorizado a privilégios de super-usuários.
Essas classificações foram usadas em trabalhos como (Katar, 2006), (Cordella et al., 2004) e
(Abraham and Jain, 2004a) para a detecção, padronização e classificação de intrusões, tornando específico o tipo de intrusão ocorrido em um dado momento. No entanto, as classificações são conceituais
e serão usadas neste trabalho para referenciar ataques com essas características.
Uma vez identificados os tipos e as características dos ataques, é possível detectar intrusões através de duas abordagens, tratando o ataque como uma anomalia, ou como abuso.
3.6 Modelos e tipos de IDS
Os sistemas de detecção de intrusos possuem duas abordagens de detecção:
• abordagem baseada em anomalias ou comportamento - vários perfis são determinados por métricas e uma variação extrema do perfil é considerada uma anomalia;
• abordagem baseada em assinatura ou abuso - as ações de usuários são comparadas a várias
ações intrusivas (assinaturas), e a ocorrência de semelhanças é equivalente a uma situação de
abuso.
Em (Puketza et al., 1996), os modelos são brevemente descritos conforme as informações acima.
Entretanto, podem existir modelos que realizam uma detecção híbrida, verificando anomalias ou abusos, devido às suas características complementares. As subseções a seguir descrevem os dois modelos
analisados de acordo com (Scarfone and Mell, 2007).
3.6 Modelos e tipos de IDS
25
3.6.1 IDS baseado em anomalias
Uma detecção baseada em anomalias consiste em um processo de comparação de atividades consideradas normais e atividades observadas para identificar padrões anormais. Um sistema que segue
esse modelo de detecção analisa perfis de comportamento que representam situações normais de
usuários, hosts, conexões de rede ou aplicações, conforme a Figura 3.4. Os perfis são criados no
monitoramento das características de atividade típica por um período de tempo.
Nesta modalidade de detecção é possível implementar modelos estatísticos que são usados na
comparação das características da atividade atual com patamares relacionados aos perfis como: perfil
que mostra atividade da rede na média de 13% da capacidade (largura de banda) da rede durante o
horário normal de trabalho.
Os perfis podem ser desenvolvidos para muitos atributos comportamentais, por exemplo: número
de e-mails enviados; número de tentativas de conexão a um host e o nível de uso do processador em
um host dado um período de tempo.
Esta técnica supõe que toda a atividade intrusa (ou fora dos perfis discutidos acima) é necessariamente anormal. Isso significa que em um perfil de atividade normal para um sistema, pode-se,
teoricamente, comparar todos os demais perfis com o estabelecido, comparando ocorrências onde a
atividade foge do padrão. Graficamente, este modelo é representado na Figura 3.5
No entanto, existem problemas que podem ocorrer no uso da técnica, classificados em:
• falso positivo - quando uma ação é classificada como uma possível intrusão, mas se trata de
uma ação normal. Basicamente um alarme falso;
• falso negativo - quando uma ação intrusiva intrusão ocorre, mas a ferramenta classifica-a como
uma ação normal;
• subversão - situação ocorrida quando uma operação do sistema detector de intrusos é modificada para forçar ocorrências de falsos negativos.
Detecção de falhas x Detecção de intrusões
O problema da detecção de intrusões na abordagem por anomalia pode ser caracterizado como um
problema de detecção de falhas, no contexto dos problemas de engenharia, principalmente quando a
intrusão resulta em mudanças inesperadas na rede de computadores.
Essa característica se aplica principalmente na detecção de intrusão por anomalia. Paralelamente,
mesmo a detecção por assinaturas é uma forma de detectar falhas, já que o objetivo da assinatura é
encontrar um padrão similar à assinatura a ser encontrada, que caracteriza uma falha, no caso, uma
intrusão.
3.6 Modelos e tipos de IDS
26
Figura 3.4: Sistema típico de detecção de anomalias (Sundaram, 2009)
3
Dados a serem classificados
Espaco de atividade normal
2
1
0
−1
−2
−3
−3
−2
−1
0
1
2
3
Figura 3.5: Representação de uma detecção de anomalias em um plano cartesiano.
3.6 Modelos e tipos de IDS
27
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
Serie Temporal
−0.8
Limite Superior
Limite Inferior
−1
0
20
40
60
80
100
120
140
160
180
200
Figura 3.6: Representação hipotética de um cenário de detecção de falhas, aplicado em séries temporais. A falha ocorre quando a série assume valores muito baixos ou muito altos. A detecção de
intrusão é caracterizada pela usabilidade do sistema diferente da usabilidade normal.
Na Figura 3.6, é mostrado uma análise de um evento temporal normal, sendo que um evento é
considerado falha quando este assume valores muito distantes do tolerável. A detecção de intrusão
baseada em anomalias segue um princípio semelhante.
A intrusão corresponde exatamente a padrões indesejados de comportamento de um sistema computacional ou relacionados a perfis de usuário, e qualquer evento que foge de um comportamento
esperado ou padrão desejado é considerado uma anomalia. Logo, a detecção de intrusões implica
também na caracterização e na forma de ocorrência de eventos intrusivos. E os eventos intrusivos, no
contexto da detecção de falhas, é considerado um evento que foge das características de normalidade
do sistema.
3.6.2 IDS baseado em assinaturas
A abordagem por assinaturas é oposta à abordagem por anomalias, uma vez que na primeira, o
sistema busca padrões que caracterizam intrusões, contrário ao perfil de usabilidade correta.
Uma assinatura é um padrão correspondente a um abuso de sistema. Logo, este método consiste
em representar os modos de ataques em formas de padrões ou assinaturas, assim, variações do mesmo
ataque poderão ser descobertas. Uma detecção baseada em assinaturas é o processo de comparação
de assinaturas para a identificação de possíveis incidentes. A Figura 3.7 esquematiza esse modelo.
Estes incidentes podem possuir algumas destas características: tentativa de uso do telnet como
3.7 Problemas nos IDSs
28
usuário "root", correspondente a uma violação de segurança; um e-mail com o assunto "Free Pictures"e arquivo em anexo "freepics.scr"ou "freepics.exe", que caracterizam malware; um relatório de
um registro (log) de sistema com o código de status 645, o que indica que as funções de auditoria
estão desligadas; etc.
Os exemplos acima são assinaturas usadas pelo sistema como evidências de um ataque e são
usadas diretamente na identificação da intrusão. A Figura 3.8 representa graficamente a abordagem.
A detecção por assinaturas é eficiente na detecção de ataques conhecidos, mas falha na detecção
de novos ataques, como por exemplo, variantes de ataques conhecidos. É considerado um método
simples por apenas comparar eventos do sistema (pacotes ou registros de atividades) com as assinaturas. No entanto, estes sistemas são limitados a descobrir muitos ou todos os padrões conhecidos,
sendo porém de pequena utilidade para padrões desconhecidos. Além disso, requer múltiplas atualizações e uma base de dados rigorosamente alta, armazenando informações que podem até mesmo ser
redundantes.
Estes sistemas possuem limitações de "conhecimento"de rede ou protocolos e compreensão de
estado de comunicações complexas e são incapazes de armazenar pedidos anteriores enquanto processam o pedido atual, o que impede a detecção de ataques com eventos múltiplos, caso nenhum dos
eventos contenha uma indicação clara de um ataque.
É importante ressaltar que os sistemas baseados em anomalias tentam descobrir o mau uso enquanto os sistemas baseados em abusos tentam descobrir padrões de mau uso conhecidos.
Nessa abordagem, estuda-se formas de construir assinaturas que abrangem quaisquer variações
de um mesmo ataque e como construir assinaturas que não apontem as atividades normais. Para isso
é necessário saber quais são as situações nas quais se enquadram as tentativas de ataque.
Ambas as abordagens de detecção possuem problemas distintos, considerados desafiadores e na
literatura, várias abordagens foram propostas na tentativa de estudá-los.
3.7 Problemas nos IDSs
Os IDS podem ser caracterizados através da estrutura do sistema, estudo de fenômenos observados e abordagens de detecções. Porém, no cenário atual descrito em (Lazarevic et al., 2005), as
tecnologias de IDS são ainda consideradas imaturas e não devem ser consideradas como uma defesa
completa, mas sim um papel importante na arquitetura de segurança de um sistema. Basicamente,
as tecnologias de detecção de intrusos emitem alarmes quando detectam possíveis violações de segurança.
No entanto, de acordo com (Julisch, 2002), é observado que os IDSs podem emitir facilmente
milhares de alarmes por dia, sendo que 99% destes são falsos positivos. O excesso de alarmes falsos
dificulta a identificação de ataques reais por um IDS.
Outro problema muito comum nos IDSs são as ocorrências de falsos negativos, que consistem
em falhas nas detecções de eventos que consistem em violações do sistema. Segundo (Honeynet-
3.7 Problemas nos IDSs
Figura 3.7: Sistema típico de detecção de assinaturas (Sundaram, 2009).
Figura 3.8: Representação de uma detecção de assinaturas em um plano cartesiano.
29
3.7 Problemas nos IDSs
30
Project, 2009), existem dois desafios na redução dos falsos negativos: a sobrecarga de dados, quando
muitos dados são recebidos e nem todos podem ser verificados; e novas ameaças de intrusão, que
correspondem a novas técnicas de ataques.
Na detecção de intrusos, porém, há um problema na coleta de dados de alta qualidade: novos
ataques que exploram vulnerabilidades surgem de maneira frequente e rápida, tornando impossível a
coleta de todos dados de ataques ao sistema como forma de treinamento. Nesses sistemas, de acordo
com (Yu et al., 2007), a qualidade dos dados de treinamento possui um grande efeito no modelo de
aprendizado.
Esses fatores são relacionados aos problemas de falsos positivos e falsos negativos, que comprometem a eficiência dos IDSs. Várias pesquisas têm sido realizadas com o objetivo de melhorar o
desempenho desses sistemas, provendo características como adaptabilidade, com o objetivo de tornar
os IDSs capazes de detectar novas ameaças.
Estudos de análises para minimizar os problemas são feitos em (Mell et al., 2009) conforme seus
pontos fracos. A detecção de intrusos por anomalias é a abordagem na qual ocorrem mais problemas
de precisão, pois a construção de um modelo com menor chance de falsos negativos pode não refletir
a natureza dos sistemas computacionais, conduzindo a falsos positivos. Por outro lado, a técnica de
detecção por assinatura pode atingir altos níveis de precisão, porém, falha na detecção de variantes
de um ataque e é vulnerável a novos ataques.
Para avaliar a eficiência de um detector, são adotadas algumas métricas como a curva ROC, estudada em (Fawcett, 2006) e (da Silva Braga, 2000) e ilustrada na Figura 3.9.
Figura 3.9: Exemplo de uma curva ROC: técnica de medição de efetividade para detectores de intrusos baseados em anomalias. Um detector efetivo deve prover o menor número de falsos alarmes e
detectar o maior número de ataques possível.
3.8 Cenário Comercial
31
3.8 Cenário Comercial
De acordo com (Verwoerd and Hunt, 2002), o uso comercial dos IDS tem crescido consideravelmente nos últimos anos, e tais sistemas são atualmente ferramentas padrão para grandes redes.
Desconsiderando o enorme investimento na tecnologia, não há uma metodologia compreensível e cientificamente rigorosa disponível atualmente para testar os IDSs, problema principal na detecção de
intrusões.
Muitos desses sistemas de detecção de intrusos usados no mercado possuem abordagem baseada
em assinaturas, conforme explicado na subseção 2.6.1, eles possuem maior precisão em relação aos
IDS com abordagem baseada em anomalias. O problema desses sistemas está na detecção dos novos
ataques, requerendo múltiplas atualizações e uma base de dados rigorosamente alta, armazenando
informações que chegam a ser redundantes.
O desenvolvimento dos sistemas detectores de intrusos comerciais, de acordo com (Innella, 2001),
começou no início dos anos 90, após o desenvolvimento do primeiro detector baseado em rede, o
Network Security Monitor (NSM) (Heberlein et al., 1990), que revolucionou a área de pesquisa,
gerando também os primeiros sistemas comerciais, como o Computer Misuse Detection System
(CMDS), baseado em host; e o Automated Security Measurement System, desenvolvido pela Força
Aérea Americana. No entanto, o primeiro sistema consideravelmente viável apareceu em 1994, o
NetRanger.
Depois, outros sistemas de detecção de intrusos foram surgindo, como o RealSecure em 97. No
fim dos anos 90, o mercado dos IDSs já estava consolidado, com diferentes tecnologias existentes,
inclusive algumas ferramentas open-source, que serão mencionadas a seguir.
3.9 Algumas ferramentas IDS
Serão apresentados alguns exemplos de ferramentas para detecção de intrusões que são muito
utilizadas atualmente, sendo a grande maioria destas voltadas à detecção de assinaturas.
• IDS baseados em host (HIDS):
– OSSEC (OSSEC-Team, 2009) - detector de intrusos baseado em Host desenvolvido em
código aberto. É capaz de analisar registros, verificar integridade, detectar rootkits (rastros
deixados pelo invasor) e executa alertas em tempo real e resposta ativa. Sua funcionalidade se deve às ferramentas de correlação e ao motor de análise;
– Osiris (Wotring and Potter, 2009) - detector baseado na verificação de integridade e pode
monitorar uma ou mais máquinas periodicamente, mantendo registros sobre os componentes de um sistema e enviando informações de monitoramento e possíveis ataques ao
administrador. Ferramenta opensource;
3.10 Detecção de Intrusão e a Inteligência Computacional
32
– HP-UX HIDS (Hewlett-Packard Development Company, 2009) - solução provida pela
Hewlett-Packard que realiza o monitoramento, gera o alerta na ocorrência de invasões e a
detecção é baseada em áreas de vulnerabilidades: quando uma delas é explorada, dados de
auditoria são correlacionados para determinar em qual delas houve exploração em tempo
quase real.
• IDS baseados em rede (NIDS):
– Snort (Sourcefire, 2009),(autor desconhecido, 2009e) - ferramenta de detecção de intrusos
baseada em rede que se baseia na geração de regras, que são processadas na ocorrência
dos eventos (pacotes analisados) através de pré-processadores definidos em sua rotina. O
Snort possui os modo de sniffer, registrador de pacotes, detecção de intrusos e o Snort
Inline, que é um IPS (Sistema de prevenção contra intrusões);
– Untangle (Untangle-Inc., 2009) - provê uma solução considerada completa e gratuita para
os problemas de redes de computadores. Pode ser instalado em um computador servidor
e não requer um sistema operacional para funcionar, por ser um programa servidor;
– Bro Intrusion Detection System (Lawrence Berkeley National Laboratory, 2009) - sistema
que realiza monitoramento passivo do tráfego de rede e analisa a ocorrência de atividades
suspeitas através de eventos em semântica de aplicações, verificando o que é considerado
um ataque;
– Prelude Hybrid IDS (PreludeIDS-Technologies, 2009) - sistema detector de intrusos opensource similar ao Snort que provê um gerenciamento de informações de segurança e é
integrável a outras ferramentas de redes de computadores, até mesmo a outros sistemas
detectores de intrusões como sensores integrados;
– Cisco Secure IPS (Cisco-Systems, 2009) - este sistema comercial é na verdade a versão
atualizada do NetRanger, um dos primeiros sistemas de detecção de intrusos. Este sistema
combina funcionalidades de segurança de redes e funciona também como um sistema de
prevenção contra intrusos.
Uma vez analisado o cenário comercial e os detectores existentes, será analisado o cenário acadêmico, sobretudo na área de inteligência computacional, onde este tema tem sido bastante explorado.
3.10 Detecção de Intrusão e a Inteligência Computacional
Em 2.6.1, foi dito que a detecção baseada em anomalia é ideal para detectar ataques novos, mas
possui baixa especificidade, uma vez que falhas de detecção e alarmes falsos podem ocorrer com
frequência.
3.10 Detecção de Intrusão e a Inteligência Computacional
33
Na tentativa de resolver este problema, provendo uma detecção mais eficaz e efetiva, recorrem-se
aos métodos de Inteligência Computacional, área que estuda mecanismos adaptativos que permitem
ou facilitam o comportamento inteligente em ambientes complexos, segundo (Engelbrecht, 2002).
Dentre alguns exemplos de mecanismos usados na inteligência computacional, temos: percepção;
raciocínio; aprendizado; evolução e adaptação, dentre outros.
Estas características, junto dos mecanismos adaptativos, justificam o uso das técnicas de inteligência computacional na literatura para a geração de sistemas de detecção de intrusos. Isso se deve
ao princípio de que um sistema robusto deve detectar ataques desconhecidos e se adaptar a tais tipos
de ataque. Todo o processo de detecção deve ocorrer sem a intervenção do usuário no processo.
Em (Engelbrecht, 2002), temos alguns exemplos de técnicas usadas na IC:
• Redes Neurais Artificiais - simulação do processo de aprendizado através de neurônios, que
possuem entradas para serem analisadas, pesos para serem ajustados e a saída, que deve ser o
valor desejado;
• Computação Evolutiva - realiza o processo de evolução de soluções através de operadores baseados em fatores naturais, como o cruzamento e a mutação. Os Algoritmos Genéticos e a Programação Genética são os exemplos mais clássicos. Muito usados em otimização não-linear;
• Inteligência de Enxame - são estudos baseados no comportamento social de organismos em
bandos, que são aplicados em problemas, geralmente de otimização ou agrupamento. Exemplos
clássicos são o algoritmo Particle Swarm Optimization e o algoritmo de colônia de formigas;
• Sistemas Fuzzy - sistemas que fazem uso da lógica fuzzy, que trata os problemas com graus
intermediários de verdade, diferente da lógica binária. Esses sistemas são usados para modelar
variáveis linguísticas e estabelecer valores linguísticos para problemas numéricos;
• Sistemas Imuno-inspirados - introduzidos no Capítulo 1, são inspirados no Sistema Imune Humano.
Com exceção dos Sistemas Fuzzy, as técnicas acima são técnicas de Computação Bio-Inspirada,
área de estudo da Computação Natural, introduzida no Capítulo 2. Algumas vezes, essas técnicas
podem ser usadas em conjunto ou aliadas a modelos probabilísticos.
A seguir, serão citados alguns trabalhos usando ferramentas de inteligência computacional.
3.10.1 IC x IDS
Conforme explicado anteriormente, existem trabalhos que implementam técnicas de inteligência
computacional em atividades relacionadas à detecção de intrusão em redes de computadores devido
às características adaptativas consideradas ideais para que um sistema possa realizar uma detecção
mais eficaz e efetiva, minimizando alarmes falsos e maximizando a capacidade de detecção.
3.10 Detecção de Intrusão e a Inteligência Computacional
34
Para isso, ferramentas como as redes neurais artificiais têm sido comumente utilizadas como
componentes de sistemas detectores de intrusão, como em (DEBAR et al., 1992), onde a rede neural
é usada como um componente do sistema que avalia o comportamento de um usuário, agindo como
um filtro que determina se um dado de auditoria é suspeito. Em (Mukkamala et al., 2001) as redes
neurais treinadas com dados de ataques classificados são comparadas as máquinas de vetores suporte,
ferramentas de otimização multidimensional, minimizando risco estrutural e erros de generalização.
Já em (Zhang et al., 2005) verifica modelos de redes neurais, desde as de base radial (RBF) até às
redes hierárquicas, que classificam os tipos de intrusão.
Além das redes neurais, os métodos evolucionários trazem algumas contribuições, como em
(Abraham et al., 2006), que mostra como as técnicas de programação genética, ferramentas de computação evolucionária, podem ser usadas na classificação e detecção de ataques.
As ferramentas de lógica fuzzy também podem prover aperfeiçoamentos na detecção de intrusos,
como em (Abraham and Jain, 2004b), onde são implementadas regras para a construção de classificadores de intrusão. (Chou, 2007) incorpora a lógica fuzzy em outros modelos para a detecção das
intrusões. E em (Mohajerani et al., 2003), é usada uma rede neurofuzzy, que é a combinação entre a
rede neural e mecanismos e regras fuzzy, como agente de detecção de intrusos.
Uma outro conjunto de ferramentas que está sendo muito utilizado na literatura é o dos sistemas
imunes artificiais, introduzidos no Capítulo 2, que serão discutidos a seguir.
3.10.2 Sistemas Imunes x IDS
Como nas demais áreas da inteligência computacional, os sistemas imunes artificiais também
são ferramentas muito utilizadas no desenvolvimento dos detectores de intrusos, principalmente pela
analogia com o sistema imune humano e a defesa contra os organismos causadores de doenças.
No próximo capítulo, será discutida a analogia entre o sistema imune e o problema da detecção
de intrusos, assim como alguns trabalhos desenvolvidos na literatura. Será mostrada também a metodologia baseada no modelo do perigo, usada como ferramenta deste trabalho, e quais são os seus
fundamentos.
Capítulo 4
Aplicação dos sistemas imunoinspirados em
detecção de intrusos
“Uma longa viagem começa por um passo.”
Provérbio Chinês
Analisando intuitivamente o processo de detecção de intrusos em redes de computadores, o problema da intrusão se encaixa no escopo da imunologia. Considerando as intrusões como os agentes
patógenos, as características da intrusão são analisadas como os antígenos a serem reconhecidos através dos detectores de anomalias. Esses detectores monitoram as atividades da rede de computadores,
correspondente ao organismo biológico.
Essa premissa é a analogia do sistema de defesa do organismo com o problema da segurança
dos computadores. Essa analogia entre o sistema de defesa dos seres vivos e algumas ferramentas de
IDS, em (Frank, 1999), é retratada considerando um ataque como antígeno e as ações de contra-ataque
como anticorpos.
Ainda sobre a analogia entre o sistema imune humano e o sistema detector de intrusos, em (Kim
and Bentley, 2001b) um estudo é detalhado, extraindo características como:
• robustez - o sistema deve ser robusto o bastante contra qualquer o ataque e qualquer falha do
sistema.
• configurabilidade: Deve ser facilmente configurável em qualquer máquina ou componente de
rede.
• extensão - deve extender o escopo do monitoramento facilmente por e para qualquer máquina
independentemente do sistema operacional.
35
4.1 Revisão da Literatura
36
• escalabilidade - deve prover escalabilidade confiável para trazer e analisar grandes quantidades
de dados de auditoria.
• adaptabilidade - deve se ajustar com o objetivo de fazer detecções de forma dinâmica, de acordo
com o ambiente.
• análise global - o detector deverá coletar múltiplos dados gerados em várias máquinas para
integrar evidência suficiente e identificar a correlação entre estes eventos.
• eficiência - espera-se que sejam executadas as tarefas de monitoramento, aquisição e manipulação de dados e tarefas de decisões.
Com base nessas analogias e na visão de um IDS como uma ferramenta para a defesa da rede,
vários trabalhos foram realizados com o objetivo de construir ou esboçar detectores de intrusos baseados no sistema imune humano, enfocando diversas características que auxiliam na detecção efetiva
dos ataques às redes de computadores. Nesta seção, serão mostrados exemplos de contribuições na
literatura e serão definidos os objetivos e metodologias adotadas neste trabalho.
4.1 Revisão da Literatura
Na área de detecção de intrusão, os trabalhos que usam os sistemas imunoinspirados têm se tornado numerosos. Existem também trabalhos cuja relação com o assunto é menor, porém, podem
oferecer contribuições para outras abordagens.
Dentre estes trabalhos, existem numerosos modelos de IDS imunoinspirados, como o trabalho
em (Forrest and Hofmeyr, 2001), que propõe um modelo de analogia entre a detecção de intrusos e o
sistema imune, descrevendo idéias que podem ser incorporadas na construção de um sistema de defesa
de uma rede de computadores e como utilizar cada idéia da biologia, como a distinção do próprio,
células, memória, MHC e outras, dentro do contexto de sistemas computacionais de segurança.
Dentre os modelos, uma arquitetura para sistemas de detecção de intrusos inspirados no sistema
imune é proposta em (de Paula et al., 2004), implantando características como recuperação automática, aquisição de características da intrusão e melhorias na detecção baseada no comportamento do
sistema.
O sistema proposto neste trabalho tem como objetivo: a detecção precisa de ataques conhecidos
com resposta efetiva a estes; detecção de ataques desconhecidos através de evidências de ataques e
habilidade de manter o sistema em condições aceitáveis durante uma análise detalhada do ataque,
aprender sobre o mesmo para a coleta de assinaturas que o caracterizam, armazenar as informações
coletadas e restaurar os danos causados.
Os autores nomearam a abordagem como detecção baseada em evidências e incorporando as
características das detecções por anomalias e por assinaturas, e adicionando elementos fundamentais
característicos do sistema imune, cujas analogias foram mantidas no nível da arquitetura do sistema.
4.1 Revisão da Literatura
37
Um outro modelo de IDS é proposto em (Dasgupta, 1999), com o objetivo de detectar intrusões ou
anomalias em redes de computadores usando uma abordagem imunoinspirada baseada em sistemas
multi-agentes. O desafio é realizar a detecção de diferenças antes de qualquer dano ao sistema, considerando a detecção em tempo real. A abordagem consiste em um sistema composto por três tipos
distintos de agentes: monitores; comunicadores e decisores, subdivididos em ajudantes, matadores
e supressores, de acordo com o tipo e grau de intrusão; e três modos de operação: sensor; reconhecimento e resposta. O sistema monitora atividades de nível usuário, nível sistema, nível processo
e nível pacote. Segundo o autor, o sistema proposto provê monitoramento multi-nível; detecção de
diversos tipos de intrusão, conhecidos ou não; e mecanismos hierárquicos.
Diferente dos trabalhos anteriores, em (Hanegraaff, 2001) o sistema imune biológico é simulado
pelo computador. O trabalho sintetiza as teorias, os agentes envolvidos no processo biológico de
defesa do organismo e mostra as ferramentas utilizadas, como modelos matemáticos e modelos baseados em autômatos celulares, como o modelo em (Celada and Seiden, 1992), que modela os nodos
linfáticos e simula interações entre os componentes do sistema imune.
Estes dois trabalhos que simulam os sistemas imunes não possuem relação direta com a detecção
de intrusos, sendo apenas um trabalho de simulação de eventos naturais, que podem inspirar sistemas
de detecção. Outros trabalhos são revisões de abordagens imunoinspiradas existentes na literatura.
As revisões feitas em (Aickelin et al., 2004) e em (Kim et al., 2007) descrevem por que e como
as abordagens baseadas em sistemas imunes para detecção de intrusos foram ganhando espaço na
literatura. O primeiro artigo enfatiza as razões do uso dos sistemas imunes artificiais e traça um
comparativo entre os métodos utilizados. O segundo artigo descreve de maneira mais detalhada as
análises do primeiro artigo e traça novas analogias.
No artigo em (Dasgupta and Attoh-Okine, 1997), foram avaliadas técnicas imunoinspiradas que
classificam atividades de rede de computadores como normais ou anômalas. As técnicas são baseadas
no processo de seleção negativa, no modelo da rede imune e na análise e diagnóstico de falhas. Os
trabalhos avaliados consistem em avaliar contribuições da imunologia aos sistemas de computação,
inclusive a detecção de intrusões usando algoritmos baseados na seleção negativa.
Muitas das idéias de IDS imunoinspirados como as do artigo anterior são baseadas na definição do
próprio e da seleção negativa. Em (Kim and Bentley, 2001a), por exemplo, é descrito um IDS baseado
em rede também baseado no algoritmo de seleção negativa e tenta aperfeiçoar a eficácia do mesmo,
distinção de padrões próprios e geração de detectores de padrões desconhecidos, considerando o perfil
de tráfego de pacotes TCP, conteúdo, duração e até a finalidade dos mesmos.
Em (Hofmeyr, 1999), uma abordagem imunoinspirada para o problema da detecção de anomalias
é realizada de forma distribuída. A abordagem deste trabalho também é baseada no problema da distinção self/nonself e busca a geração de detectores baseados no espaço nonself definido no problema
(Seleção Negativa), e o cenário escolhido foi a segurança em redes de computadores. O trabalho
também mostrou as técnicas para aperfeiçoar a detecção.
Junto a estas abordagens, existe também a proposta abordada em (Kim and Bentley, 2002): um
sistema de detecção baseado na seleção clonal com operadores de seleção negativa. No algoritmo
4.2 Inspiração no Modelo do Perigo
38
são gerados detectores de anomalias baseados na distinção self/nonself com caráter evolucionário,
em seguida, o conjunto de dados será classificado. O sistema foi testado em várias séries de bases
de dados conhecidas na literatura, os resultados fornecem sugestões para escolha de um detector
apropriado e o tamanho de amostras de antígenos adequado para uma boa taxa de detecção. No
entanto, pouco se falou sobre o problema da detecção de intrusão no trabalho, sendo este apenas uma
finalidade para a construção do algoritmo.
Um outro modelo, denominado CDIS (acrônimo de Computer Defense Immune System) (Anchor
et al., 2002), é um sistema imunoinspirado implementado para a detecção de intrusão e de vírus
em computadores. O sistema é implantado em um contexto dinâmico de domínio do problema, ou
seja, sempre aparecem novos tipos de anomalias em um ciclo interminável. O espaço de domínio
do problema é muito grande e exige técnicas estocásticas de busca. O CDIS possui uma estrutura
hierárquica baseada em agentes em nível de sistema, de rede e em nível local, além de um ciclo de
vida dos anticorpos gerados pelo mesmo, através de seleção negativa. O trabalho também mostra as
extensões da ferramenta e os trabalhos realizados para aperfeiçoar a eficácia na detecção.
Em (Dozier et al., 2007) é avaliado um IDS imunoinspirado através de hackers gerados por métodos evolucionários. O trabalho avalia os IDS imunoinspirados quanto às vantagens e revela uma
desvantagem: não se sabe quais ataques poderão ser considerados normais. São usados o Algoritmo Genético (GA) e o Algoritmo de Otimização por Enxame de Partículas (PSO) para explorar
as vulnerabilidades dos detectores. No entanto, como os demais trabalhos, apenas os métodos imunoinspirados baseados na seleção negativa são avaliados.
Esses trabalhos anteriormente comentados realizam a detecção de intrusão com base no algoritmo
de seleção negativa. No entanto, foi descoberto que o algoritmo possui muitos problemas e têm sido
superado por outros métodos, como no trabalho realizado em (Stibor et al., 2005).
No entanto, muitas outras abordagens como em (de Paula et al., 2004) podem ser propostas como
alternativa à Seleção Negativa. A solução adotada neste trabalho será baseada no modelo do perigo,
que oferece grandes vantagens em relação aos algoritmos de seleção negativa. Os estudos sobre o
modelo do perigo se iniciaram a partir de (Cayzer and Aickelin, 2002) e serão revisados a seguir.
4.2 Inspiração no Modelo do Perigo
Os trabalhos com o modelo do perigo começaram com a proposta de (Cayzer and Aickelin, 2002).
O trabalho propõe uma nova geração de algoritmos imunoinspirados, que se baseiam no modelo do
perigo com o objetivo de representar problemas como o da detecção de anomalias, por exemplo, para
solucionar e prover resultados mais eficazes.
No trabalho, ressalta-se que o algoritmo da seleção negativa é considerado imperfeito, alarmes
falsos são inevitáveis e que padrões self e nonself podem compartilhar características (ou regiões,
geometricamente falando) em comum, além de que padrões conhecidos podem mudar e as células
4.2 Inspiração no Modelo do Perigo
39
de memória podem reagir de forma indesejada. Já o modelo do perigo, segundo os autores, pode ser
simplificado de acordo com o problema.
Supõe-se também que o desenvolvimento de representações mais adequadas dos padrões conhecidos, assim como de regras apropriadas são essenciais para a implementação de sistemas imunoinspirados para detecção de anomalias. Os autores também sugere como os sinais de perigo podem ser
caracterizados e representados.
As idéias deste trabalho sugerem uma aplicação em (Aickelin et al., 2003), onde é proposto a
construção de algoritmos imunoinspirados baseados no modelo do perigo como forma de resolver o
problema da detecção de intrusão em redes, traçando comparativos entre a teoria do perigo e de um
IDS ideal para uma rede de computadores. O artigo reforça que o mapeamento do espaço self/nonself
é ineficiente e nem sempre é aplicado corretamente, mesmo com conhecimento avançado.
Por causa disso, é proposto um IDS baseado no modelo do perigo pode resolver os problemas de
correlação de alarmes com base no funcionamento das APCs, que reagem a tipos diferentes de sinais
e cuja reação desencadeia uma resposta imune. Para o modelo do perigo, é mais importante descobrir
o perigo do que se um padrão é conhecido ou não, princípio estudado pelos autores.
Entretanto, o maior desafio de sistemas baseados na teoria do perigo, segundo (Aickelin, 2003), é
a definição adequada do sinal de perigo, que corresponde a uma escolha tão crítica quanto a escolha
de uma função de desempenho em algoritmos evolucionários, enquanto que a distância física pode
simbolizar uma medida para similaridade ou causalidades nos sistemas.
Uma vantagem suposta nas abordagens baseadas no modelo do perigo, segundo (Greensmith
et al., 2005b), está relacionada com uma resposta efetiva contra ataques desconhecidos e reduz o
número de alarmes falsos. A detecção do perigo provê também um conceito novo nos sistemas
imunes artificiais, sobretudo nos IDS.
O artigo comenta também que o grau de uma intrusão deve ser detectada através dos tipos dos
sinais, baseados na resposta imune segundo a Teoria do Perigo. A correlação bem sucedida dos
alertas gerados poderá prover melhorias nos IDS e nos sistemas imunoinspirados, de acordo com as
suposições levantadas.
Baseando-se nas premissas acima, foi introduzido em (Greensmith et al., 2005a) o algoritmo das
células dendríticas (ou Dendritic Cell Algorithm, também chamado pelo acrônimo DCA) como um
dos primeiros algoritmos baseados no modelo do perigo. Este algoritmo foi apresentado como uma
ferramenta para a detecção de anomalias.
Um framework é desenvolvido com o objetivo de modelar a imunidade inata e incorporá-la na
resolução de problemas. Em (Twycross and Aickelin, 2005), Twycross et al. faz algumas explicações
sobre a imunidade inata e explicam as características desejadas em sistemas que se encaixam nos
modelos baseados na mesma. Em (Twycross and Aickelin, 2006b,a) uma biblioteca que faz o processamento de dados no contexto da imunidade inata é implementada: a libtissue, que armazena os
sinais de perigo, os antígenos e células para a resolução de problemas cotidianos. Em (Greensmith,
2007), a libtissue foi integrada ao DCA.
O algoritmo foi testado mediante hipoteses e cenarios de intrusão, tanto na primeira versão quanto
4.3 O Algoritmo das Células Dendríticas
40
na versão integrada com a biblioteca. Com isso, foram observados os avanços na pesquisa. Mais
detalhes sobre o DCA serão discutidos na seção seguinte.
Na tese desenvolvida em (Twycross, 2007), além da libtissue, é apresentado o algoritmo TLR,
baseado em receptores de antígenos. O algoritmo utiliza as células APC, nesse caso as células dendríticas e as células T em um esquema baseado em simulação de agentes. A simulação consiste na
recepção dos sinais e antígenos pelas células dendríticas, onde estes últimos são capturados pelas
células T, e as células dendríticas, ao amadurecerem, enviam o sinal para as células T. Esse esquema
é aplicado em problemas de detecção de anomalias em chamadas de sistemas.
Essas abordagens representam uma nova geração de algoritmos imunoinspirados que prometem
uma alternativa aos obsoletos modelos de seleção negativa, cuja eficiência foi questionada na literatura. O modelo do perigo provê características que podem oferecer melhor eficiência na detecção de
anomalias.
4.3 O Algoritmo das Células Dendríticas
Conforme dito no Capítulo 2, as células dendríticas são APCs pertencentes ao sistema imune inato
que ao serem expostas aos sinais emitidos por células do organismo, amadurecerem de acordo com
os sinais apresentados pelas mesmas, emitindo uma resposta imune ou uma supressão da mesma.
A resposta imune se baseia na situação de células do organismo, onde em situações normais, a
morte da célula ocorre naturalmente e em situações de perigo, a célula morre devido aos danos. A
morte natural da célula, ou morte celular programada é denominada apoptose, que em alguns casos,
pode ser provocada por fenômenos naturais. A morte acidental da célula, ocasionada por danos
causados por patógenos ou ferimentos, é denominada necrose.
As células dendríticas, definidas como imaturas, realizam a coleta dos sinais emitidos pelas células
em apoptose ou em necrose. Os antígenos que surgem no organismo também são coletados. O
amadurecimento das células dendríticas ocorre à medida em que estas são expostas aos sinais.
Com o amadurecimento, a célula dendrítica sai de um tecido para os nodos linfáticos e secretam
substâncias de acordo com a concentração de sinais aos quais elas foram expostas.
Estes sinais são definidos como:
1. PAMPs - na biologia, os PAMPs são produzidos por microorganismos e indicam ao sistema
imune que um antígeno ou um corpo estranho está presente. Estes se ligam às células dendríticas e conduz à produção de moléculas coestimulatórias (CSM) e à substância interleukin-12
(IL-12), que indicam a presença de um invasor causador de danos. Os PAMPs são indicadores
biológicos de anormalidades inerentes;
2. sinais de perigo - no sistema imune humano, os sinais de perigo são emitidos como resultado
da ocorrência de necrose nas células de tecidos. Estes sinais atuam como indicadores de perigo
4.3 O Algoritmo das Células Dendríticas
41
ao tecido que o sistema imune tenta proteger e causam a maturação da célula dendrítica ao
estado maduro. Estes sinais, no entanto, são menos potentes que os PAMPs, com um valor de
confidência menor. Aumentam a concentração das CSM e do IL-12 e tornam o contexto do
antígeno como perigoso, ativando a resposta imune;
3. sinais seguros - são resultados de células saudáveis do tecido e que geralmente morrem no
processo de apoptose. A recepção destes sinais produzem CSM de maneira considerável, mas
produzem a substância interleukin-10 (IL-10) que indica um antígeno coletado em um contexto saudável e normal. Neste contexto, é gerada uma tolerância ao antígeno apresentado no
contexto. O sinal seguro também influencia na produção do IL-12. Quando ocorre apoptose e
necrose, ocorre a supressão do IL-12 em resposta aos sinais de perigo e aos PAMPs apresentado
no tecido, o que previne falsos alarmes. A célula dendrítica apresentada no contexto apresenta
maturação menor, tornando-se semi-madura e suprimindo a resposta imune;
4. inflamação - em alguns casos, ocorre a presença de citocinas inflamatórias ou um aumento na
temperatura no tecido. Isso resulta no aumento da produção de células no tecido.
Essa idéia constitui na base do algoritmo das células dendríticas, que é baseado na correlação dos
sinais e antígenos e, através dessas, na classificação dos antígenos coletados. Uma ilustração da idéia
do DCA pode ser vista na Figura 4.1.
As células dendríticas coletam algumas amostras de antígenos, armazenando-as. Então, estas
são expostas aos sinais de entrada, que são processados e convertidos em sinais de saída usados na
classifcação do antígeno apresentado. O processo é repetido em um determinado número de ciclos
ou até que os antígenos tenham sido avaliados.
Durante o processo, a atualização dos sinais de entrada, e o cálculo dos sinais de saída através
da entrada, ocorrem na fase imatura da célula. Uma vez alcançado o valor de coestimulação, a
célula realiza o processo de migração e em seguida, reage de acordo com a concentração dos sinais
coletados.
Os sinais de entrada são definidos da seguinte maneira:
1. PAMPs - os PAMPs são sinais indicadores confidentes de uma situação anormal. Um aumento
na concentração destes sinais conduz no aumento do CSM, que conduz à migração da célula e
do sinal que torna a célula madura e classifica os antígenos como perigosos;
2. sinais de perigo - como descrito no modelo biológico, indica a ocorrência de uma anormalidade
(situação de perigo), possuindo porém uma potência menos confidente que a do sinal PAMP e
aumenta as concentrações dos sinais coestimulatórios e do sinal que torna a célula madura;
3. sinais seguros - este sinal é interpretado como uma ocorrência normal do sistema (situação de
segurança) e, em uma concentração muito grande, aumenta o sinal de saída que torna a célula
’semi-madura’ e reduz o valor cumulativo do sinal de saída que torna a célula madura;
4.3 O Algoritmo das Células Dendríticas
42
Figura 4.1: Ilustração do funcionamento do DCA de (Greensmith and Aickelin, 2007), onde cada
passo será explicado mais adiante.
4.3 O Algoritmo das Células Dendríticas
43
4. inflamação - é empregado como um sinal cujo efeito amplifica as outras três categorias dos
sinais de entrada, inclusive os sinais seguros. Isso resulta no aumento dos sinais de saída, em
resumo, a taxa de migração aumenta e resulta em um ciclo de vida mais curto da célula.
Os sinais de saída são definidos da seguinte maneira:
1. CSM (moléculas coestimulatórias) - variável migratória cuja concentração de sinais conduzem
a célula à migração que é determinada por um fator de limiarização, deterministicamente ou
aleatoriamente definido no código do algoritmo;
2. interleukin-10 (semi-maturação) - sinal de saída que corresponde a uma variável supressora.
Em concentrações maiores do que as do sinal de maturação, torna a célula semi-madura quando
esta realiza a migração. A célula semi-madura realiza a supressão, classificando os antígenos
coletados como normais. Este sinal é influenciado pelos sinais seguros;
3. interleukin-12 (maturação) - sinal de saída que corresponde a uma variável de ativação. Em
grandes concentrações, torna a célula madura e ativa a resposta imune, classificando os antígenos coletados como anomalias. Este sinal é influenciado pelos sinais de perigo e PAMPs, no
entanto, pode ser influenciado negativamente pelos sinais seguros.
A Tabela 4.1 e a Tabela 4.2 resumem a abstração do modelo.
Tabela 4.1: Termos usados para identificar os sinais de entrada e saida.
Modelo Biológico
Modelo Abstraído Modelo Computacional
PAMP
PAMP
S0,0
Agentes necróticos
Sinais de Perigo
S0,1
Citocinas apoptóticas
Sinais Seguros
S0,2
Citocinas inflamatórias
Inflamação
S0,3
CD80/86
CSM
O0
IL-10
semi-maturação (Sm)
O1
IL-12
maturação (M)
O2
No DCA, o antígeno é descrito de uma forma diferente à forma descrita nos algoritmos de seleção
negativa e clonal, pois representa um elemento que identifica o causador da anomalia, ou que gera o
comportamento anômalo indicado pelos sinais de entrada. Logo, o antígeno é o dado que deverá ser
classificado pelo DCA.
Para isto, ocorre o processamento dos sinais de entrada e a posterior conversão para os sinais de
saída através de uma matriz de peso. Esta matriz efetua a conversão através de números baseados em
princípios biológicos. A Equação 4.1 ilustra o cálculo de uma saída através das entradas.
4.3 O Algoritmo das Células Dendríticas
Saida = (Wp
44
I
I
I
X
X
X
Si ) ∗ (1 + IC)
Di + WS
Pi + WD
i=0
i=0
(4.1)
i=0
Onde P equivale aos sinais PAMP, D equivale aos sinais de perigo, e S equivale aos sinais seguros; Esses conjuntos de sinais são multiplicados pelos pesos W correspondentes. Após o cálculo, a
saída é multiplicada pelo sinal de inflamação IC.
Essas saídas são calculadas e são apresentadas como variáveis que influenciam no comportamento
da célula. A matriz de pesos possui o comportamento descrito na Tabela 4.3.
Os valores da matriz são ilustrativos demonstrando as seguintes idéias:
• os sinais PAMP influenciam mais a migração e maturação da célula do que os sinais de perigo;
• os sinais de semi-maturação estão diretamente relacionados com os sinais seguros;
• os sinais seguros possuem um efeito supressor, por isso, influenciam negativamente os sinais
de maturação da célula.
Na Figura 4.2, estas idéias são ilustradas conforme o explicado anteriormente em relação ao papel
dos sinais de entrada e de saída.
Figura 4.2: Distribuição dos pesos no processamento dos sinais (Greensmith, 2007), repare que o
sinal seguro inibe a variável de ativação que torna a célula dendrítica madura.
Após o cálculo dos sinais de saída, a célula é avaliada quanto ao valor destes sinais: o valor do
CSM define se a célula está pronta para migrar mediante a um limiar de migração. Após a migração,
4.3 O Algoritmo das Células Dendríticas
45
verifica-se a concentração de sinais de maturação: caso a concentração de sinais que tornam a célula
semi-madura seja maior, a célula se tornará semi-madura e, caso contrário, a célula se tornará madura.
Após a maturação da célula, verifica-se a quantidade de antígenos de um determinado tipo e
quantas células coletaram esses antígenos. Dentre as células, verificam-se as células semi-maduras e
as células maduras. Após contar a quantidade destas células com o antígeno coletado, faz-se o cálculo
provido na Equação 4.2.
MCAV =
M
Sm + M
(4.2)
Onde Sm representa a quantidade de antígenos em células semi-maduras e M representa a quantidade de antígenos em células maduras e o MCAV é o índice ou probabilidade de anomalia de um
antígeno. O MCAV é uma variável definida no intervalo entre 0 e 1, onde 0 indica uma situação
possivelmente normal e 1 indica uma situação possivelmente anômala. Como o MCAV pode ser considerado uma variável de decisão, requer um limiar para a classifcação de eventos. O valor padrão é
0, 5, mas em (Greensmith, 2007), é recomendado o limiar 0, 65 em alguns casos.
• índices:
– i = 0, .., I índices dos sinais de entrada;
– j = 0, .., J índice da categoria dos sinais de entrada;
– k = 0, .., K índice dos antígenos localizados no tecido;
– l = 0, .., L índice do ciclo da célula;
– m = 0, .., M índice da célula;
– n = 0, .., N índice dos antígenos coletados pela célula;
– p = 0, .., P índice dos sinais de saída da célula.
• parâmetros:
– I = número de sinais de entrada por categoria;
– J = número de categorias dos sinais de entrada;
– K = número de antígenos localizados no tecido;
– L = número de ciclos do algoritmo;
– M = número de células dendríticas na população;
– N = tamanho do vetor de antígenos da célula;
– P = número de sinais de saída por célula;
– Q = número de antígenos amostrados por célula, em cada ciclo;
4.3 O Algoritmo das Células Dendríticas
46
– R = número de receptores de antígenos da célula;
– Tmax = tamanho do vetor de antígenos do tecido.
• estruturas de dados:
– T = S, A caracteriza o tecido;
– S = matriz de sinais do tecido;
– sij = sinal do tipo i, categoria j em S;
– A = vetor de antígenos do tecido;
– ak = antígeno k no vetor de antígenos do tecido;
– DCm = s(m), a(m), ōp (m), tm - célula dendrítica;
– s(m) = matriz de sinais de DCm;
– a(m) = vetor de antígenos de DCm;
– op (m) = sinal de saída p de DCm ;
– ōp (m) = acumulador de sinais de saída p de DCm ;
– tm = limiarização migratória de DCm ;
– wijp = matriz de pesos de sij para op .
Observa-se que os termos em negrito são os mais relevantes para a composição de qualquer abordagem baseada em células dendríticas. Quanto às categorias de sinais de entrada e sinais de saída, os
significados destas estão na tabela 4.1.
A Figura 4.3 resume a estrutura do algoritmo das células dendríticas.
As fases do algoritmo são descritas a seguir:
1. inicialização - é a fase que envolve a configuração de vários parâmetros do algoritmo. Após
esta etapa, temos a fase de atualização;
2. atualização - é dividida em duas subetapas:
• atualização de dados - processo contínuo onde as estruturas de dados são atualizadas em
intervalos, os sinais são atualizados em intervalos de tempo e os antígenos em eventos;
• amostragem de dados - processo discreto onde os sinais e antígenos são acessados pelas
células dendríticas, incluindo a atualização das células com novos valores dos sinais e dos
antígenos e o processamento dos sinais de entrada, formando os sinais de saída;
3. agregação - todos os antígenos são analisados e o MCAV por antígeno é gerado.
4.3 O Algoritmo das Células Dendríticas
Tabela 4.2: Descrição das fases das células dendríticas.
Célula Imatura Célula Semi-madura Célula Madura
Residente
Tecido
Nós Linfáticos
Nós Linfáticos
Antígenos
Coleta
Apresentados
Apresentados
Expressa
IL-12
CSM e IL-10
CSM e IL-12
Célula-T
Nenhuma ação
Supressão
Ativação
Tabela 4.3: Matriz de pesos para o cálculo dos sinais de saída.
Si,0 Si,1 Si,2
O0
2
1
3
O1
0
0
1
O2
2
1
-3
Figura 4.3: Estrutura do DCA, o tecido e as células.
47
4.3 O Algoritmo das Células Dendríticas
48
O algoritmo é definido pelo pseudocódigo Algoritmo 4.3.1, segundo (Greensmith, 2007).
Algoritmo 4.3.1: A LGORITMO
DAS
C ÉLULAS D ENDRÍTICAS (A, S)
código: Gera coeficiente de anomalia através da correlação entre
antígeno e sinais.
Inicializa os parâmetros I, J, K, L, M, N, O, P e Q
Atribui a cada célula DC um limiar Tm
repetir
Atualiza o conjunto de antígenos A e de sinais S
para m ← 0 a M

Realiza amostra de Q antígenos ∈ A da célula DC(m)




Captura I grupos de J sinais ∈ S




Ōp ← 0




para

 p←0aP



para i ← 0 a I







para


j ←0aJ

op ← Si,j ∗ Wi,j,p



ōp ← ōp + op



se Ō1 > tm














 então Migra

 a célula DC(m) para o conjunto MDC









então MDC ← Semi Madura

se Ō2 > Ō3




senão MDC ← Madura
até Critério de Parada
para cada A ∈ MDC
Analisa o antígeno atraves das celulas e calcula o MCAV
retornar (MCAV )
O algoritmo é caracterizado pela correlação entre os sinais e antígenos, pois os sinais são as
informações relevantes para as características do problema e o antígeno provê a identificação dos
processos envolvidos no problema. Logo, é necessário identificar os antígenos através dos sinais
emitidos para a detecção da anomalia usando o DCA.
Com isso, não é necessário descrever padrões conhecidos ou desconhecidos como nos algoritmos
baseados na detecção de self/nonself, pois o objetivo desta abordagem é independente de tais perfis.
No entanto, o algoritmo requer o mapeamento correto dos sinais a serem usados de acordo com os
objetivos do problema.
4.4 Metodologia do trabalho
49
Uma vez apresentada a estrutura e o funcionamento do algoritmo, serão definidos na seção seguinte como este será usado e aplicado aos objetivos do trabalho.
4.4 Metodologia do trabalho
Este trabalho consiste em reproduzir os testes realizados com o DCA nos experimentos de Ping
Scan em diferentes bases de dados e extrair dados relevantes sobre os resultados obtidos nos testes realizados. O primeiro teste será realizado em uma base de dados sobre pacientes com câncer de mama,
o UCI Breast Cancer Experiment, realizado em (Greensmith, 2007), para validar a implementação.
Em seguida, serão realizados os experimentos correspondentes ao Ping Scan Experiment, com
outras bases de dados e serão extraídas algumas informações. Serão propostas algumas modificações
no algoritmo para aperfeiçoar as características da detecção e uma análise de sensibilidade usando
curvas ROC.
O capítulo seguinte irá abordar os diferentes testes realizados para verificar as funcionalidades do
DCA e em seguida, serão abordados os cenários do Ping Scan.
Capítulo 5
Aplicações do algoritmo das células
dendríticas
“O conhecimento é em si mesmo um poder.”
Francis Bacon
No capítulo anterior, o algoritmo das células dendríticas foi introduzido, destacando cada parâmetro, variável, princípio e analogias utilizados. Uma vez apresentado o algoritmo, serão feitos
alguns testes já aplicados na literatura e serão extraídas algumas características. Após estes testes, o
algoritmo será aplicado no contexto da detecção de ataques.
Todas estas atividades serão realizadas como base nas diferentes formas de usabilidade do algoritmo, segundo a tese de Greensmith em (Greensmith, 2007). Os sinais podem ser aplicados no
seguinte esquema:
• PAMPs (si0 ): Uma evidência de comportamento anormal:
– Uma mensagem de erro.
– Uma confidência de anormalidade em grau alto associada com um crescimento no valor
do sinal.
– ex.: Número de mensagens de erro geradas por segundo devido a uma falha na conexão.
• Sinais de Perigo (si1 ): Um comportamento típico, que caracteriza uma possível anormalidade:
– Medida de um atributo que aumenta significantemente mediante a um comportamento
anormal.
50
5.1 Descrição dos testes
51
– Uma confidência de anormalidade em grau moderado com um aumento considerado no
nível deste sinal, enquanto que em um valor baixo indica um comportamento normal.
– ex.: Número de pacotes transmitidos por segundo.
• Sinais Seguros (si2 ): Um comportamento típicamente normal, que mostra uma evidência de
operação normal, isentando qualquer possibilidade de anormalidade:
– Indicador confidente de comportamento normal.
– Medida de um atributo que aumenta a concentração do sinal devido à falta de mudanças
na potência do mesmo.
– ex.: Inverso da variação do número de pacotes por segundo.
• Inflamação (si3 ): Um comportamento que amplifica os demais sinais:
– Um sinal que não pode causar maturação de uma célula sem a presença dos outros sinais.
– Um sinal geral de um distúrbio.
– ex.: Atividade do sistema alta quando não há usuários presentes para operar no mesmo.
A detecção ocorre através da correlação destes sinais (variáveis do problema) com os antígenos
(processos envolvidos no problema), que são necessários no algoritmo, pois são a identidade dos
processos que possivelmente estariam causando a anormalidade.
5.1 Descrição dos testes
Os testes desta seção têm como objetivos validar e demonstrar as propriedades do DCA, provando
a praticabilidade da implementação feita, assim como em (Greensmith, 2007).
Nestes testes, o desempenho do DCA será explorado em bases estáticas de dados. Será verificada
a sensibilidade do algoritmo quanto à ordem dos dados, na distinção de duas classes.
O teste consiste no uso de uma base de dados para aprendizado de máquina, onde será necessário
seguir algumas etapas de pré-processamento. Nestas etapas, alguns atributos são normalizados e
mapeados como uma das três categorias de sinais.
Além do pré-processamento, um limiar de anomalia é empregado como forma de distribuir os
dados entre as classes. Caso não haja essa informação disponível, serão empregadas faixas de limiares
de anomalia. Essas informações, mesmo que o DCA não possa ser aplicado como um classificador
devido à sua sensibilidade, serão usadas apenas como estimativa de classificação da base de dados.
A base escolhida em (Greensmith, 2007) e neste trabalho foi a UCI Wisconsin Breast Cancer Data
set, uma base de dados estática que, quando se provê leitura de dados conduzida por eventos, pode ser
5.1 Descrição dos testes
52
usada no DCA. Esta possui nove dimensões, cuja distinção das classes pelos atributos é aproveitada
no pré-processamento.
Uma pequena amostra dos dados pode ser conferida na Tabela 5.1, onde o primeiro atributo corresponde ao número de identificação do antígeno e os demais atributos correspondem a parâmetros
que podem ocasionar a anomalia em questão. Neste problema, a classe 1 corresponde ao padrão
normal, e a classe 2 corresponde ao padrão de anomalia.
Tabela 5.1: Amostra dos dados do UCI Breast Cancer Experiment.
ID CT CS CH AD EP BN CO NN MM Classe
1
10
8
8
2
3
4
8
7
8
1
3
10
5
7
3
3
7
3
3
8
1
39
8
10 10
10
7
5
4
8
7
1
56
7
8
8
7
3
10
7
2
3
1
90
5
10
8
10
8
10
3
6
3
1
123 10
7
7
6
4
10
4
1
2
1
158 5
8
7
7
10 10
5
7
1
1
204 6
10 10
10
8
10
7
10
7
1
239 5
10 10
10
4
10
5
6
3
1
240 5
10 10
3
7
3
8
10
2
1
241 5
4
4
5
7
10
3
2
1
2
242 6
8
8
1
3
4
3
7
1
2
276 5
1
3
1
2
1
2
1
1
2
307 3
1
4
1
2
2
3
1
1
2
342 1
1
3
1
1
1
2
1
1
2
425 1
1
1
1
2
1
3
1
1
2
589 4
2
2
1
2
1
2
1
1
2
695 1
1
1
1
2
1
1
1
1
2
Dos dados apresentados na base, são extraidos a média, o desvio padrão e a mediana de cada
uma das variáveis apresentadas. O pré-processamento pode utilizar todas as nove variáveis avaliadas,
porém, são escolhidas apenas cinco variáveis para compor o processamento dos sinais de entrada: os
sinais PAMP e seguro aproveitam a primeira variável (CT) com o mais baixo desvio padrão de todas.
Os outros quatro (CS, CH, BN, NN) são usados para calcular o sinal de perigo e possuem desvio
padrão mais alto. Os cálculos de S0,0 e S0,2 são baseados na seguinte idéia:
1. Seleção do atributo mais adequado, com o desvio padrão mais baixo.
2. Calcula-se a mediana do atributo.
5.1 Descrição dos testes
53
3. Verifica-se então se os valores são maiores ou menores do que a mediana:
• Caso o valor seja maior que o da mediana, o sinal PAMP é zero e o sinal seguro é a
diferença entre o módulo da média e o atributo.
• Caso contrário, o sinal seguro é zero e o PAMP equivale ao módulo da média subtraído
do atributo.
No processo usado para calcular o sinal S0,1 , utilizam-se apenas os valores dos atributos classificados como normais, e é realizado da seguinte forma:
1. Seleção dos atributo mais adequados, com o desvio padrão mais alto.
2. Para cada atributo, calcula-se a média dos elementos da classe 1.
3. Para cada atributo, calcula-se a distância absoluta entre os atributos e as médias.
4. Divide-se os valores das distâncias absolutas pelo número de atributos (4).
5. Do resultado, obtêm-se o sinal de perigo.
O sinal de inflamação não é utilizado nesta abordagem, pois não foi encontrada uma utilidade
para este sinal no problema.
Na etapa do pré-processamento, ocorre também o cálculo de um limiar de anomalia, definido
através da divisão do número de padrões da classe 2 (anomalia) pelo número total de elementos
avaliados (Equação 5.1):
460
an
=
= 0, 657 = 65, 7%
(5.1)
la =
tot
700
E o antígeno usado é o índice, ou seja, os dados na ordem em que estes aparecem: a primeira
linha é o 1, a segunda linha é o 2, e assim por diante.
Uma vez realizado o pré-processamento, é hora de enviar os dados ao DCA, que correlaciona os
sinais e os antígenos processados.
Para o funcionamento do DCA, temos os seguintes parâmetros:
• I (número de sinais de entrada por categoria) = 1;
• J (número de categorias dos sinais de entrada) = 3;
• K (número de antígenos localizados no tecido) = 700;
• L (número de ciclos do algoritmo) - Não utilizado
– Critério de parada: Até que todos os antígenos tenham sido avaliados;
5.1 Descrição dos testes
54
• M (número de células dendríticas na população) = 100;
• N (tamanho do vetor de antígenos da célula) = indefinido;
• P (número de sinais de saída por célula) = 3;
• Q (número de antígenos amostrados por célula, em cada ciclo) = 1;
• É usado também um replicador de antígenos, que produz 10 cópias idênticas de um dado. Este
mecanismo é bastante útil na análise dos antígenos e no cálculo do MCAV. Assim, totalizam-se
7000 antígenos a serem detectados.
• tm (Limiar médio de migração) = 10
Os testes foram reproduzidos em um computador com processador Intel Core2Duo de 4GB de
memória RAM. Executado no MATLAB versão 2008a rodando no sistema operacional Linux Ubuntu
7.04. Cada teste foi reproduzido 20 vezes e destes, foram extraídos os dados médios e o desvio padrão.
Foram realizados em três tipos de testes: No primeiro, agrupam-se todos os dados normais e em
seguida os dados anormais; enquanto que no segundo, os dados de anomalia são intercalados entre
os dados normais; finalmente, no terceiro teste, os dados são agrupados aleatoriamente. Este teste foi
realizado para medir a sensibilidade do algoritmo quanto à ordem dos dados.
A Figura 5.1 mostra como serão agrupados os dados no primeiro tipo de teste e a Figura 5.2
mostra como isso será feito no segundo teste.
0.510
0
100
200
300
400
500
600
700
Figura 5.1: Ilustração do organização dos dados para o Teste 1
1
0.5
0
0
100
200
300
400
500
600
700
Figura 5.2: Ilustração do organização dos dados para o Teste 2
Em (Greensmith, 2007), este mesmo teste foi realizado com uma versão preliminar do DCA e
em seguida com outra versão, que emprega o uso da libtissue para o processamento dos sinais e dos
antígenos. Como o teste realizado na tese foi implementado em C++, será testada a implementação
do DCA no MATLAB. Espera-se no teste que os resultados sejam similares ao da versão preliminar
do DCA, devido à similaridade da idéia do algoritmo desenvolvido.
Na próxima seção, serão apresentados os resultados e estes serão comparados aos obtidos em
(Greensmith, 2007).
5.2 Resultados
55
5.2 Resultados
Os resultados são apresentados na Tabela 5.2, que compara as duas implementações desenvolvidas em (Greensmith, 2007) com a implementação realizada neste trabalho, onde VP = Verdadeiro
Positivo, FP = Falso Positivo, FN = Falso Negativo e VN = Verdadeiro Negativo.
Tabela 5.2: Descrição das fases das células dendríticas.
Experimentos VP VN FP FN
DCA v0.1
Teste 1
460 236 4
0
Teste 2
459 234 6
1
Aleatório
286 177 63 174
DCA v1.0
Teste 1
403 240 0
57
Teste 2
326 240 0 134
Aleatório
140 162 78 320
DCA MATLAB
Teste 1
443 240 0
17
Teste 2
423 240 0
37
Aleatório
81 239 1 379
Os resultados obtidos nos testes são similares aos do DCA v1.0 (implementado com a biblioteca
libtissue), com um número significantemente maior de detecções realizadas e quase nenhuma detecção errônea que resultaria em erros na detecção. Em compensação, no teste aleatório, o algoritmo
obteve seu pior desempenho, com um número de detecções perdidas maior. Isso comprova e confirma
a sensibilidade do DCA em relação à ordem dos dados.
Estes resultados também foram representados em forma de gráficos, com o comportamento descrito na Figura 5.3, para o Teste 1 e na Figura 5.4, para o Teste 2. Nestas figuras, são mostrados os
testes médios após 20 repetições, e seus respectivos desvios padrões.
Os gráficos das figuras 5.3 e 5.4 mostram que o DCA é sensível à ordem dos dados e a classificação
do antígeno tende a mudar conforme à localização dos mesmos, isto se deve à coleta dos dados
realizada pelo algoritmo: os antígenos e sinais são coletados pelas células neste problema de acordo
com a ordem dos dados, cuja influência no cálculo do MCAV tende a ser altamente significante.
Na seção seguinte, será feita uma comparação entre o desempenho de outros algoritmos clássicos
com os resultados obtidos.
Para uma análise maior do algoritmo neste teste, variações para o limiar de migração foram testadas, que conduzem a algumas alterações no comportamento do DCA.
Os testes mostraram irregularidades para o limiar de migração valendo 1. Demonstrando que o
limiar de migração é inversamente proporcional à eficiência do algoritmo. Não houve falsos positivos,
exceto para o limiar de migração mínimo. A taxa aleatória pode ser empregada para determinar
robustez ao algoritmo, provendo melhores resultados que um limiar de migração fixa. Na Tabela 5.3,
este resultado é apresentado comparando os desempenhos desses testes.
5.2 Resultados
56
Resultados para o Teste 1 − MCAV X Antigeno
1
MCAV
0.8
0.6
0.4
0.2
0
0
100
200
100
200
300
400
System Antigen ID
500
600
700
500
600
700
0.25
Desvio Padrao
0.2
0.15
0.1
0.05
0
0
300
400
ID do Ant’igeno
Figura 5.3: Resultados para o Teste 1
Tabela 5.3: Resultados dos testes com os valores para limiares de migração.
Limiar de Migração VP VN FP FN
l=1
437 220 20 23
l=5
450 240 0
10
l = 10
445 240 0
15
l = 15
430 240 0
30
l = 20
424 240 0
36
aleatório
442 240 0
18
5.2 Resultados
57
Resultados para o Teste 2 − MCAV x Antigeno
1
MCAV
0.8
0.6
0.4
0.2
0
0
100
200
300
400
System Antigen ID
500
600
700
100
200
300
400
ID do Ant’igeno
500
600
700
Desvio Padrao
0.2
0.15
0.1
0.05
0
0
Figura 5.4: Resultados para o Teste 2
5.3 UCI Breast Cancer em várias abordagens
58
O teste da Tabela 5.3 verificou a ocorrência de mudanças significantes no MCAV: um limiar de
migração alto pode ocasionar uma detecção tardia de um evento de anomalia, tornando ineficiente a
detecção e um limiar muito baixo pode ocasionar uma maturação prematura, ocasionando até mesmo
falsos positivos.
Os testes realizados deste capítulo tornaram válida a implemetação do DCA de acordo com as
métricas disponíveis na literatura e comparando os resultados obtidos com a mesma. Conforme a
literatura, o DCA não é adequado para bases de dados desordenadas, mas é aplicável em detecção de
falhas em séries temporais ou detecção de intrusões, assunto deste trabalho.
5.3 UCI Breast Cancer em várias abordagens
Neste capítulo, será apresentado um comparativo entre o desempenho do DCA em comparação
com outros algoritmos no problema da detecção de cancer de mama, usando a base de dados UCI
Breast Cancer, provida em (Blake and Merz, 1998).
A base de dados é um pouco diferente da base provida na tese (Greensmith, 2007) e as informações sobre seus dados estão disponíveis na Tabela 5.4, porém, a implementação do algoritmo e
do pré-processamento é semelhante à implementação da seção anterior, porém, com o mesmo limiar
calculado no capítulo, uma vez que o número de tumores malignos é menor que os benignos.
Tabela 5.4: Dados sobre a base de dados.
Base de dados
UCI Winsconsin Breast Cancer
Tipo
Classificação
Número de dados
699
Número de dados aproveitáveis
683
Dados da classe normal
444
Dados da classe de anomalia
239
Número de Atributos
10
Foram feitos os mesmos testes da Tabela 5.2, o teste 1 usando os dados normais e em seguida os
anormais, e o teste 2 com os dados anormais intercalados entre a metade dos dados normais. Com o
resultado, soma-se os falsos positivos e falsos negativos para a obtenção da taxa de erro, em seguida,
obtêm-se a taxa de acerto através dos verdadeiros positivos e verdadeiros negativos. Com esses
dados, é possível comparar os testes do DCA com testes aplicados a outros algoritmos em condições
semelhantes, conforme o apresentado na Tabela 5.5.
Em relação aos demais algoritmos, o DCA apresentou um bom desempenho como um classificador de anomalias, porém, conforme visto anteriormente, seu desempenho é melhor quando os tipos
de dados estão agrupados corretamente.
5.4 DCA e detecção de intrusões
59
Em termos de teste, o uso do algoritmo em bases de dados para classificação é válido, porém não
é recomendável para classificação de padrões cuja classe é desconhecida, uma vez que esta não é a
função do DCA.
5.4 DCA e detecção de intrusões
No capítulo 6, o algoritmo das células dendríticas será utilizado para a detecção de ping scans,
com base nas técnicas estudadas em (Greensmith, 2007). Serão usadas diferentes bases de dados e
serão realizadas algumas alterações, com o objetivo de medir a detecção realizada e captar algumas
características do algoritmo para melhorar o desempenho e alcançar uma melhoria nos resultados até
então obtidos.
5.4 DCA e detecção de intrusões
Tabela 5.5: Resultados obtidos com as técnicas na base de dados.
Técnica usada
Taxa de Acerto Taxa de Erro
Referência
DCA teste 1
98.8287%
1.1713%
Baseado no Cap. 5
DCA teste 2
98.5359%
1.4641%
Baseado no Cap. 5
Classificador Bayesiano
96.4861%
3.5139%
Wang (2005)
Backpropagation
95.1684%
4.8316%
Wang (2005)
Arvore de Decisão
95.754%
4.246%
Wang (2005)
Support Vector Machine
97.0717%
2.9283%
Wang (2005)
Método Ripper Rule Learner
95.6076%
4.3924%
Wang (2005)
Classificador Fuzzy (Caso 1)
98.2% - 98.8%
1.8% - 1.2% Nakashima et al. (2003)
Classificador Fuzzy (Caso 2)
99.0% - 99.6%
1% - 0.4%
Nakashima et al. (2003)
Rede Self-organizing map
96.7%
3.3%
Camastra (2006)
Algoritmo K-Means
96.1%
3.9%
Camastra (2006)
Algoritmo Neural Gas
96.1%
3.9%
Camastra (2006)
Algoritmo Ng-Jordan
95.5%
4.5%
Camastra (2006)
Método baseado em Kernel
97%
3%
Camastra (2006)
Ant-Colony Algorithm
95.74%
4.26%
Parpinelli et al. (2002)
Algoritmo imuno-genético fuzzy
97.3646%
2.6354%
Nabil et al. (2008)
60
Capítulo 6
Estudo do caso sobre o Ping Scan
“Nada é imutável, tudo flui, estamos em constante movimentação.”
Heráclito
O DCA foi validado usando as bases de dados no capítulo anterior. Neste capítulo, aplicaremos
o algoritmo para resolver o problema proposto no trabalho: os problemas de intrusão em redes de
computadores.
Os passos para a investigação do problema são semelhantes aos problemas anteriormente estudados em (Greensmith, 2007). Neste trabalho uma nova maneira de avaliar e também de acompanhar
o funcionamento do algoritmo foi proposta. Novas bases de dados também foram utilizadas com o
objetivo de verificar o comportamento do algoritmo em diferentes cenários de intrusão.
Neste capítulo, serão descritos a forma como foram feitos os testes, os parâmetros usados, os
passos descritos e as alterações significativas em relação aos trabalhos feitos na literatura, assim
como os resultados obtidos e as avaliações feitas para medir as intrusões.
6.1 Natureza dos Ping Scans
Para verificar se um computador da rede está funcionando, é usado o comando ping, que tem como
função prover informações sobre um determinado computador conectado à rede. Caso o computador
esteja conectado, este fornece os dados de resposta ao comando e algumas informações. Caso contrário, é retornada uma resposta de destino não alcançado. O comando ping é realizado da seguinte
maneira:
ping a.b.c.d
61
6.1 Natureza dos Ping Scans
62
Onde a, b, c e d são valores de 0 a 255 representando o endereço IP do computador conectado à
rede. Esse comando tem a seguinte saída:
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=10.4 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.251 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.276 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.509 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.284 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=0.523 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=0.963 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=1.80 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=1.14 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=0.323 ms
— 192.168.1.1 ping statistics —
10 packets transmitted, 10 received, 0% packet loss, time 9008ms
rtt min/avg/max/mdev = 0.251/1.649/10.424/2.963 ms
O parâmetro icmp_seq indica a ordem na qual o pacote foi enviado, ttl indica por quantos caminhos na rede o pacote pode passar antes de ser descartado, e time indica o tempo de trajetória do
pacote. RTT é o acrônimo de round-trip time, no qual o pacote é recebido e a outra parte envia a
confirmação de recebimento. No programa, é informado os tempos mínimo, médio, máximo e desvio
padrão.
O ping é a ferramenta mais básica para se verificar as conexões entre os computadores da rede.
Existem alguns outros programas que fazem essa verificação de outras formas, como o programa
nmap (Insecure.org, 2009).
O nmap é uma ferramenta usada na gerência das redes para verificar conexões ou portas em uma
rede de computadores. Consiste em varrer os computadores em busca de informações sobre a rede.
É muito útil, porém, pode ser usado para fins maliciosos. Pois o início de uma atividade intrusiva
consiste em extrair informações sobre os computadores da rede invadida.
Para este fim, o invasor geralmente usa este programa ou outro similar antes de realizar qualquer
outra atividade intrusiva, pois as chances de um ataque perfeito aumentam com mais informações
sobre a rede. Este tipo de atividade é um tipo de Network Probing, categoria de intrusão definida
pelas bases de dados do DARPA (Lincoln Laboratory MIT, 2009).
Para garantir mais sucesso em uma atividade intrusiva, além de um ping scan, o invasor pode obter
informações como senhas de outros usuários para fazer a busca de informações. Esse processo ocorre
através de técnicas de engenharia social, nome dado a técnicas persuasivas, geralmente fraudulentas,
que são usadas para obter informações sigilosas de outros usuários.
6.2 DCA aplicado ao problema
63
Para isso pode ser feito acesso remoto através do protocolo ssh. As atividades intrusivas que
utilizam esse recurso para ganhar privilégios de usuários locais são caracterizadas como R2L (Remote
to Local User), segundo o DARPA. A aquisição de uma senha através de recursos de engenharia
social, ou através de técnicas de descobertas de senhas usando métodos de força bruta caracterizam
este quadro.
No trabalho, este tipo de cenário será explorado e será feita uma detecção desta ocorrência através
do DCA. Na seção seguinte, será explicado como o teste será realizado.
6.2 DCA aplicado ao problema
Para aplicar o algoritmo das células dendríticas à detecção do Ping Scan, é necessário prover
oferecer recursos (nativos ou de softwares) para rastrear os processos da máquina e um software capaz
de oferecer informações de rede, como um sniffer, por exemplo. O sistema operacional Linux, usado
nesta abordagem, já oferece esses recursos: o programa strace e a pasta /proc/net, respectivamente.
A pasta fornece os dados da rede. Os sinais serão obtidos através desta pasta, sendo extraídas as
informações relevantes para serem usadas como sinais. Na literatura, estes são definidos assim:
• S0,0 - Sinais PAMP: Pacotes ’Destino não encontrado’ recebidos por segundo (capturado no
arquivo /proc/net/snmp, variável IcmpMsg 3).
• S0,1 - Sinais de perigo: Pacotes enviados por segundo (capturado no arquivo /proc/net/dev,
variável eth0 packet).
• S0,2 - Sinais seguros: Taxa inversa de variação dos pacotes enviados por segundo (variação
derivativa do sinal de perigo).
• S0,3 - Inflamação: Usuário presente ou ausente. - De acordo com a literatura, esta variável não
é significante para o resultado, por isso, não é utilizada.
Estes sinais são extraídos também através do interpretador bash do Linux, e são agrupados como
estruturas de dados. Para a coleta, são realizados cálculos de diferença feitos a cada segundo, para
cada variável, pois os registros da pasta /proc/net são as informações coletadas pelo computador
durante a ação do sistema operacional, e o cálculo da diferença no intervalo de 1 segundo resulta na
coleta dos dados para a composição dos sinais usados pelo DCA.
Os sinais de entrada serão correlacionados com os antígenos, os processos que estão rodando na
máquina no momento da intrusão, no protocolo SSH; Embora os sinais correspondam ao comportamento da rede durante o ato da intrusão, nem sempre o comportamento da rede corresponde completamente às chamadas remotas, uma vez que a atividade da rede é global para todos os processos do
sistema. Esta correlação é válida em termos de teste.
6.3 Descrição dos testes
64
Para capturar os antígenos, é usado o programa strace, que consiste em rastrear as chamadas de
sistema para a coleta do ID do processo que será usado pelo algoritmo para identificar o causador a
anomalia.
No entanto, a correlação dos dados não pode ser feita somente através destes elementos. Para o
experimento feito usando base de dados, é necessário também fazer a correlação conforme o tempo,
através de timestamps, para simular um experimento feito verdadeiramente em tempo real.
No caso de uma aplicação feita em tempo real, é necessário apenas atualizar os dados do antígeno
e os sinais, uma vez processada na iteração atual, já que, ao decorrer do tempo, estes valores são
atualizados automaticamente.
Com estas características, foi modelada uma estrutura de coleta de dados semelhante à proposta na
literatura, já que o experimento consiste em coleta de dados, simulação de tempo real e normalização
e aproveitamento dos dados pelo algoritmo.
Uma vez analisadas as características do algoritmo e de sua estrutura, será descrito na próxima
seção como os testes serão realizados.
6.3 Descrição dos testes
É descrito o uso de duas ferramentas nos testes: o nmap que, conforme descrito anteriormente,
detecta IPs ativos e portas abertas em uma rede de computadores; e o scp que efetua cópias de arquivos em diferentes locais em rede ou remotamente. Esses dois programas são usados para que
o algoritmo das células dendríticas possa caracterizar o comportamento dos mesmos e distinguí-los
quanto à característica destes.
Esses testes consistem em simular cenários comportamentais do sistema e verificar o comportamento do DCA em relação ao do sistema enquanto os processos estão rodando. O uso do nmap
possui o comportamento considerado anormal e o uso do scp possui o comportamento normal. Os
dois primeiros cenários consistem em avaliar os programas separadamente, enquanto que o último
consiste em avaliar a execução do primeiro cenário e o segundo cenário em seguida.
Cenário de perigo:
1. O programa ssh é aberto.
2. Usuário acessa a máquina, fornecendo nome de usuário e senha.
3. Usuário executa o nmap procurando várias máquinas em redes diferentes.
4. O processo leva de 1 a 5 minutos para ser concluído.
5. Usuário sai do ssh.
Cenário normal:
6.3 Descrição dos testes
65
1. O programa ssh é aberto.
2. Usuário acessa a máquina, fornecendo nome de usuário e senha.
3. Usuário executa o scp para enviar arquivo a um servidor.
4. O processo depende do tamanho do arquivo, geralmente enviado a taxas de 5Mbps.
5. Usuário sai do ssh.
Cenário misto:
1. O programa ssh é aberto.
2. Usuário acessa a máquina, fornecendo nome de usuário e senha.
3. Usuário executa o nmap procurando várias máquinas em redes diferentes.
4. Usuário executa o scp para enviar arquivo a um servidor.
5. Processo de tempo variável, dependendo de ambas as partes.
6. Usuário sai do ssh.
Em cada cenário, são extraídas as informações em termos de antígenos e sinais e são montadas as
timestamps, para que sejam feitas as análises na abordagem implementada. Para o uso do DCA, são
obtidos esses dados com o objetivo de realizar as simulações dos processos e, junto com a obtenção
dos resultados, coletar as informações relevantes. Estas informações serão coletadas em uma rede
como a descrita na Figura 6.1.
Estes cenários, principalmente os de perigo, partem do princípio de que em um dos computadores,
o atacante conseguiu acessar remotamente um computador da rede, normalmente através de técnicas
de engenharia social, onde o atacante usa técnicas persuasivas para convencer um usuário a fornecer
dados importantes, nesse caso a senha do usuário (ataque R2L).
Uma vez obtida a senha deste usuário, o atacante começa o ataque verificando se outros computadores estão acessíveis. Em um cenário de detecção, o algoritmo será usado para coletar as informações das chamadas de sistemas (antígeno) e os dados da rede (sinais) para avaliação dos processos
que estariam causando a intrusão.
O DCA será empregado como um IDS baseado em host, usado e testado na máquina que sofreu o
ataque. Para a realização destes testes, será necessário fazer alguns ajustes padrões com o objetivo de
aperfeiçoar a eficácia do algoritmo. Como os sinais possuem comportamento numericamente dinâmico, técnicas de normalização devem ser usadas. A seção seguinte descreverá todos esses detalhes.
6.3 Descrição dos testes
66
Figura 6.1: Ilustração da rede onde serão aplicados os testes de intrusão. Nesta rede, supõe-se que um
computador da mesma foi acessado indevidamente e o DCA será aplicado na detecção desta invasão.
Os programas mais utilizados são o nmap, usado remotamente pelo atacante para a busca de outras
máquinas, e o scp, usado regularmente para enviar arquivos ao servidor externo da rede.
6.4 Ajustes do DCA
67
6.4 Ajustes do DCA
O algoritmo será usado no problema com a configuração dos parâmetros descritos na Tabela 6.1.
Tabela 6.1: Ajuste padrão no algoritmo das células dendríticas para realização dos testes.
Nome
Símbolo Valor
No. de sinais por categoria
I
1
No. de categorias dos sinais
J
3
Máximo de antígenos processados
K
500
No. de Células
M
100
Máximo de antígenos por célula
N
50
Máximo de sinais de saída
P
3
No. de receptores de antígenos
Q
1
Limiar mediano de Migração
tm
15
Os valores da Tabela 6.1 são os valores a serem usados como padrão, em caso de variações, estas
serão informadas nos testes a serem realizados.
Para a configuração dos pesos, segue-se o padrão descrito no Capítulo 4. De acordo com a
literatura, a padronização dos pesos é descrita na Tabela 6.2
Tabela 6.2: Modelagem dos pesos para a realização dos testes no DCA.
Sinal de Saída Sinal de Entrada Pesos
O0
S0,0
W1
S0,1
W1 /2
S0,2
W1 * 1.5
O1
S0,0
0
S0,1
0
S0,2
W1 * W2 * 0.75
O2
S0,0
W2
S0,1
W2 /2
S0,2
W2 * -1.5
Onde W 1 e W 2 são constantes usadas para ajustar os pesos conforme a intensidade dos sinais de
saída: a primeira no sinal de migração da célula e a segunda na maturação da célula.
O valor sugerido para W 1 e W 2 na literatura é 2, porém, os pesos podem ser ajustados. Na Tabela
6.3, temos os valores dos pesos sugeridos, ao substituir as constantes pelos valores sugeridos.
Os sinais, para serem processados no algoritmo também requerem normalização, devido à grande
diferença de valores em diferentes instantes de tempo. No entanto, deve ser escolhida uma técnica de
normalização adequada para que o algoritmo produza resultados mais condizentes.
6.5 Os cenários de teste
68
Para isso, deve-se adaptar os dados a uma faixa de valores extremos. Isso pode ser feito através da
delimitação de uma faixa de valores, onde os valores abaixo da faixa assumem o valor mínimo e os
valores acima assumem o máximo. A segunda abordagem é considerada mais viável, principalmente
considerando aplicações em tempo real ou sistemas cujas variações numéricas são altas.
O sinal PAMP, por ser um indicador confidente de anomalia, deve ser normalizado de uma forma
mais potente: O sinal é multiplicado por cinco e se ultrapassar o valor máximo (100, de acordo com
a literatura), o sinal passa a valer 100. Isso aumenta a potência do sinal PAMP e viabiliza a detecção
do evento anormal.
O sinal de perigo é normalizado de uma forma semelhante ao PAMP: Qualquer valor abaixo de 10
recebe zero e qualquer valor acima de 100, recebe 100. Os valores intermediários são normalizados
entre 0 e 100.
O sinal seguro segue o mesmo princípio dos anteriores, porém, qualquer valor abaixo de 10 recebe 10, e qualquer valor acima de 1000, recebe zero, sendo os valores intermediários normalizados
também entre 0 e 10. O sinal seguro possui a potência menor e o intervalo maior, devido ao caráter altamente supressivo do sinal. Valores muito altos do sinal podem causar altas taxas de falsos
negativos. A Tabela 6.4 mostra os valores normalizados.
A normalização linear, que consiste em normalizar todos os valores em um intervalo não é utilizada pois esta tem sido ineficiente na detecção das anomalias e também não é amigável para experimentos iterativos. Usando a normalização por intervalos, é possível trabalhar melhor com as bases de
dados.
Na próxima seção, serão descritos os cenários de teste feitos no trabalho e as alterações em relação
a literatura.
6.5 Os cenários de teste
6.5.1 Especificações
Para testar a eficiência do DCA em diferentes casos e em relação aos resultados descritos na literatura, foram estabelecidos três categorias de testes, cada uma terá três testes distintos, com diferentes
situações:
1. Cenário de perigo
• Nmap buscando em 17200 IPs diferentes.
• Nmap buscando em 29600 IPs diferentes.
• Nmap buscando em 15240 IPs diferentes.
2. Cenário normal
6.5 Os cenários de teste
69
• Scp enviando dois arquivos de 4 MB em sequência, após longo tempo ocioso.
• Scp enviando um arquivo de 30 MB após tempo ocioso.
• Scp enviando um arquivo de 300 MB após entrada no sistema.
3. Cenário misto
• Nmap buscando em 3795 IPs diferentes e Scp enviando um arquivo de 4 MB.
• Nmap buscando em 8855 IPs diferentes e Scp enviando um arquivo de 50 MB.
• Nmap buscando em 16445 IPs diferentes e Scp enviando um arquivo de 100 MB.
• Idem ao anterior, porém o Scp envia um arquivo de 300 MB.
Cada cenário é normalizado conforme descrito na seção anterior, uma vez que estes dados, quando
normalizados de forma correta, fazem com que o algoritmo trabalhe de maneira mais precisa.
As figuras 6.2-6.4, a seguir mostram uma representação gráfica dos sinais obtidos e normalizados
conforme o tempo dos testes.
O cenário misto 4 será mostrado como um caso especial, pois é um experimento que revela a
importância da normalização e da configuração correta dos sinais no DCA.
Nos demais casos, os resultados serão apresentados inicialmente em termos de MCAV final, ou
seja, o último resultado do MCAV quando o cenário se encerrou, para os processos analisados nesta
abordagem e como realizado na literatura. Em seguida, será feito uma comparação qualitativa entre
os resultados e uma análise crítica dos mesmos.
6.5.2 Resultados Iniciais
Para cada teste, foi feita uma tabela com os valores finais do MCAV após todos os testes serem
concluídos. Foram analisados três testes por cenário. Cada teste foi analisado 20 vezes. O quarto
teste do cenário misto será analisado em outra seção.
Os primeiros resultados dos testes estão disponíveis na Tabela 6.5.
Essas tabelas informam o valor final da variável correspondente à probabilidade de anomalia, o
MCAV. De acordo com esses dados, no cenário de perigo, a infecção teria sido sintetizada apenas no
segundo teste, onde foi feito um número relativamente grande de ping scans.
No cenário normal, o primeiro teste acusou o scp como uma ocorrência normal. No entanto, nos
dois outros testes, o MCAV final acusou a ocorrência de intrusão, onde foram transferidos arquivos
maiores. E no cenário misto, o MCAV acusou o nmap como anomalia e o scp como um processo
normal, embora tenha apresentado uma tendência ao crescimento.
De todos os testes, nenhum apresentou um desvio padrão significantemente grande depois de 20
análises. Esse fenômeno se verificou em todos os testes do cenário misto, com exceção do quarto
teste, que será discutido mais adiante.
6.5 Os cenários de teste
70
Tabela 6.3: Pesos sugeridos.
wijp j = 0 j = 1 j = 2
p=0
2
1
3
p=1
0
0
3
p=2
2
1
-3
Tabela 6.4: Normalização dos sinais usada no trabalho.
Sij
j=0
j=1
j=2
faixa de valores antes da normalização
[0 10]
[10 100] [10 1000]
valor normalizado mínimo
0
0
0
valor normalizado máximo
100
100
10
cálculo
s0,0 = s ∗ 5
-
Tabela 6.5: Primeiros resultados verificando o MCAV final, na configuração padrão do DCA.
Teste
nmap
scp
Cenário
MCAV
DP
MCAV
DP
Perigo
1
0,8002 0,0018
2
0,7282 0,0005
3
0,7412 0,0009
Normal
1
0,0297 0,0096
0,0135 0,0106
2
0,5853 0,0027
3
0,8909 0,0014
Misto
1
0,6709 0,0012 0,0008 0,0001
2
0,6593 0,0013 0,0024 0,0011
3
0,7027 0,0009 0,3845 0,0013
6.5 Os cenários de teste
71
Sinais Normalizados − Cenario de Perigo 1
100
Valor do sinal
80
60
40
20
0
0
50
100
150
200
250
300
350
500
600
700
Tempo (seg)
Sinais Normalizados − Cenario de Perigo 2
100
Valor do sinal
80
60
40
20
0
0
100
200
300
400
Tempo (seg)
Sinais Normalizados − Cenario de Perigo 3
100
Valor do sinal
80
60
40
20
0
0
50
100
150
200
250
300
350
400
450
Tempo (seg)
Figura 6.2: Gráficos dos sinais x tempo em segundos para os testes feitos em cenários de perigo, onde
foi executado o nmap.
6.5 Os cenários de teste
72
Sinais Normalizados − Cenario Normal 1
100
Valor do sinal
80
60
40
20
0
0
10
20
30
40
50
60
70
Tempo (seg)
Sinais Normalizados − Cenario Normal 2
100
Valor do sinal
80
60
40
20
0
0
10
20
30
40
50
60
100
120
Tempo (seg)
Sinais Normalizados − Cenario Normal 3
100
Valor do sinal
80
60
40
20
0
0
20
40
60
80
Tempo (seg)
Figura 6.3: Gráficos dos sinais x tempo em segundos para os testes feitos em cenários normais.
Repare que o sinal PAMP não se manifesta, pois o scp não gera esse sinal.
6.5 Os cenários de teste
73
Sinais Normalizados − Cenario Misto 1
100
Valor do sinal
80
60
40
20
0
0
20
40
60
80
100
120
140
Tempo (seg)
Sinais Normalizados − Cenario Misto 2
100
Valor do sinal
80
60
40
20
0
0
20
40
60
80
100
120
140
160
180
200
350
400
450
500
Tempo (seg)
Sinais Normalizados − Cenario Misto 3
100
Valor do sinal
80
60
40
20
0
0
50
100
150
200
250
300
Tempo (seg)
Sinais Normalizados − Cenario Misto 4
100
Valor do sinal
80
60
40
20
0
0
50
100
150
200
250
300
Tempo (seg)
Figura 6.4: Gráficos dos sinais x tempo em segundos para os testes feitos em cenários mistos, ou seja,
onde foram executados o nmap e em seguida, o scp.
6.6 Bases de dados da literatura
74
O próximo teste consiste em verificar os parâmetros influenciando na potência do MCAV, tais
como o número de células e os receptores de antígenos, de forma similar aos testes feitos na literatura.
A Figura 6.5 e a Figura 6.6 mostram os referidos testes.
Os testes apresentaram um MCAV final mais potente com um número de receptores maior e com
aumentos na população de células para o nmap, no entanto, para o scp, houve variações de cenário
para cenário. No primeiro cenário misto, o desvio padrão do MCAV para o scp chegou a ser muito
alto. Em outros testes, o desvio padrão se apresentou razoável. No mais, o MCAV final apresentado
aumentou relativamente.
Observa-se que o nmap pode ser influenciado pelo número de antígenos analisados por iteração,
pois o valor do MCAV cresce. No entanto, o mesmo não pode ser afirmado quanto ao scp, que
apresentou um comportamento desigual a cada iteração.
Uma vez apresentados os resultados iniciais, o algoritmo será usado para validar o DCA com as
bases de dados usadas em (Greensmith, 2007).
6.6 Bases de dados da literatura
Nesta seção, serão usados dados de classificação de anomalias testados em quatro processos de
interesse: bash, nmap, pts e sshd. Estes testes verificarão se o algoritmo foi implementado
adequadamente para o problema do Ping Scan, com base nos dados obtidos na literatura. Estes testes
também serão usados para extrair informações sobre cada processo de interesse.
Com isso, foram feitos dez testes. Para a extração de dados, cada teste foi executado 20 vezes
pelo DCA, com os parâmetros de testes padrão, pesos similares (exceto W0,0,2 = 2 e W0,2,2 = −2,
conforme (Greensmith, 2007)) e limiar de migração médio de 15. Os dados não foram normalizados,
pois já estavam no formato para serem usados pelo DCA. Com todas essas configurações, foram
extraídas as seguintes informações contidas na Tabela 6.6.
Os resultados apresentam tendências interessantes: o processo bash possui um MCAV com comportamento crescente, em caso de uma ocorrência real de anomalia. O nmap possui comportamento
aleatório e pode crescer conforme a frequência e os resultados encontrados. O pts possui variações,
pode ser crescente ou, no final, diminuir. O sshd, que costuma ter valores relativamente baixos,
devido à baixa correlação temporal com os sinais, também é crescente.
O processo de menor desvio padrão na classificação é o pts e, na evolução média, é o sshd,
em diversos testes, embora alguns processos possuam grande variabilidade, com desvio padrão alto
ou até mesmo maior do que a média. Os processos que apresentaram esse comportamento mais
frequentemente foi o sshd.e o bash, que são processos nativos do Linux.
Em relação aos testes feitos originalmente, foi feito um cálculo do erro quadrático médio dos
processos em relação ao algoritmo original e ao algoritmo desenvolvido e testado no trabalho: Os
processos que apresentaram menor erro quadrático foram o sshd e o nmap, o que significa que a
detecção se aproxima aos resultados obtidos na literatura.
6.6 Bases de dados da literatura
75
MCAV X Numero de receptores da celula − Cenario Misto 1
0.8
0.7
0.6
MCAV
0.5
0.4
0.3
0.2
0.1
0
0
5
10
15
Receptores
20
25
30
25
30
25
30
MCAV X Numero de receptores da celula − Cenario Misto 2
1
MCAV
0.8
0.6
0.4
0.2
0
0
5
10
15
Receptores
20
MCAV X Numero de receptores da celula − Cenario Misto 3
1
0.9
0.8
MCAV
0.7
0.6
0.5
0.4
0.3
0.2
0
5
10
15
Receptores
20
Figura 6.5: Gráficos do mcav final x número de receptores para os testes feitos em cenários mistos.
6.6 Bases de dados da literatura
76
MCAV x Numero de celulas − Cenario Misto 1
1
MCAV
0.8
0.6
0.4
0.2
0
50
100
150
200
250
300
350
400
Numero de celulas dendriticas na populacao
MCAV x Numero de celulas − Cenario Misto 2
450
500
100
150
200
250
300
350
400
Numero de celulas dendriticas na populacao
MCAV x Numero de celulas − Cenario Misto 3
450
500
100
150
200
250
300
350
400
Numero de celulas dendriticas na populacao
450
500
1
MCAV
0.8
0.6
0.4
0.2
0
50
1
MCAV
0.8
0.6
0.4
0.2
0
50
Figura 6.6: Gráficos do mcav final x número de DCs para os testes feitos em cenários mistos.
6.6 Bases de dados da literatura
Tabela 6.6: Resultados obtidos nos testes feitos com as bases de dados. (Greensmith, 2007)
Teste Processo
MCAV final
MCAV máximo
MCAV médio
MCAV
DP
MCAV
DP
MCAV
DP
1
bash
0,051
0,07
0,19
0,07
0,05
0,02
nmap
0,93
0,07
0,97
0,06
0,94
0,07
pts
0,57
0,08
0,57
0,08
0,16
0,02
sshd
0,48
0,09
0,48
0,09
0,14
0,03
2
bash
0,01
0,12
0,07
0,13
0,01
0,04
nmap
0,48
0,10
0,62
0,17
0,22
0,13
pts
0,33
0,08
0,34
0,07
0,05
0,02
sshd
0,12
0,04
0,12
0,04
0,01
0,006
3
bash
0,43
0,03
0,72
0,03
0,43
0,02
nmap
0,89
0,002
0,99
0,001
0,65
0,007
pts
0,68
0,01
0,87
0,01
0,41
0,02
sshd
0,06
0,02
0,06
0,02
0,03
0,01
4
bash
0,03
0,008
0,07
0,008
0,03
0,003
nmap
0,74
0,01
0,74
0,01
0,32
0,008
pts
0,58
0,02
0,58
0,02
0,23
0,007
sshd
0,006
0,009
0,006 0,009 0,0003 0,0005
5
bash
0,0001 0,002
0,002 0,002 0,001
0,001
nmap
0,64
0,005
0,67
0,006
0,46
0,009
pts
0,0007 0,0009 0,002 0,003 0,0005 0,001
sshd
0
0
0
0
0
0
6
bash
0,28
0,05
0,35
0,05
0,28
0,04
nmap
0,86
0,006
0,89
0,01
0,72
0,01
pts
0,53
0,01
0,61
0,02
0,40
0,03
sshd
0,017
0,02
0,02
0,02
0,01
0,01
7
bash
0,08
0,01
0,32
0,03
0,08
0,01
nmap
0,99
0,002
0,99
0,002
0,43
0,05
pts
0,88
0,006
0,93
0,007
0,32
0,005
sshd
0
0
0
0
0
0
8
bash
0,99
0,004
1
0
0,99
0,003
nmap
0,99
0,0002
1
0
0,99
0
pts
0,99
0,003
1
0
0,99
0,002
sshd
0,34
0,11
0,33
0,11
0,14
0,05
9
bash
0,05
0,007
0.13
0,007
0,05
0,003
nmap
0,89
0,004
0,89
0,004
0,42
0,003
pts
0,81
0,003
0,81
0,003
0,34
0,002
sshd
0,002
0,01
0,002
0,01 0,0009 0,004
10
bash
0,08
0,10
0,27
0,10
0,082
0,03
nmap
1
0
1
0
1
0
pts
0,85
0,06
0,85
0,06
0,31
0,05
sshd
0,07
0,11
0,07
0,12
0,01
0,001
77
6.6 Bases de dados da literatura
Tabela 6.7: Quadro comparativo entre os índices MCAV obtidos nos testes.
Teste Processo Testes em (Greensmith, 2007) Testes do trabalho
1
bash
0
0,05
nmap
1
0,93
pts
0,62
0,57
sshd
0,08
0,47
2
bash
0,03
0
nmap
0,92
0,48
pts
0,56
0,56
sshd
0
0,11
3
bash
0,03
0,43
nmap
0,93
0,89
pts
0,85
0,68
sshd
0
0,05
4
bash
0,37
0,03
nmap
0,87
0,73
pts
0,9
0,58
sshd
0,09
0,006
5
bash
0,05
0,001
nmap
0,79
0,64
pts
0,86
0,0007
sshd
0,04
0
6
bash
0,76
0,28
nmap
0,68
0,86
pts
0,87
0,54
sshd
0,05
0,02
7
bash
0,53
0,07
nmap
0,97
0,99
pts
0,93
0,88
sshd
0,14
0
8
bash
1
0,99
nmap
1
0,99
pts
1
0,99
sshd
0.29
0,34
9
bash
0,05
0,05
nmap
0,87
0,89
pts
0,86
0,81
sshd
0,04
0
10
bash
0,93
0,08
nmap
1
1
pts
0,88
0,81
sshd
0
0,02
78
6.7 Considerações
79
Os outros dois processos apresentaram erros quadráticos um pouco maiores, isso indica que o
algoritmo implementado possui resultados que se aproximam do esperado. A Tabela 6.8 mostra os
valores obtidos.
Tabela 6.8: Comparação dos resultados obtidos com os da literatura, o erro percentual é a diferença
dos testes realizados no trabalho, em relação com os resultados obtidos em (Greensmith, 2007)
Processo Erro quadrático Médio Erro Percentual
bash
0,1432
30%
nmap
0,0272
10%
pts
0,0992
20%
sshd
0,0209
0%
Erro global
0,0245
15%
Mesmo o nmap, processo crucial na detecção, tendo obtido um resultado diferente em um dos
testes (teste 2), neste caso, o desvio padrão apresentado foi o maior apresentado, o que significa que
eventualmente, a detecção teria ocorrido em algumas execuções do teste.
Especificamente neste caso, a detecção ocorreu de forma rápida, pois o valor máximo do MCAV,
para um limiar de detecção de 50%, indica uma ocorrência de detecção, esse fato está relacionado
com fatores de aleatoriedade, como o limiar de migração ou geração das células.
Com esse teste, a implementação do DCA é validada para o uso nos demais testes e descobre-se
que o nmap, principal processo de interesse no experimento de Ping Scans, pode gerar MCAV altos
de forma não contínua, ou seja, de acordo com a variação dos sinais, o nmap pode aumentar ou
diminuir.
6.7 Considerações
Vale ressaltar que a análise feita neste capítulo foi quantitativa, não é uma informação certa da
ocorrência (ou não) de uma intrusão, apenas informa o grau de periculosidade de um processo no
cenário testado. Para uma análise qualitativa, será necessário mostrar o MCAV ao longo da análise, o
que será feito nos próximos testes com o DCA.
No entanto, foram feitos também alguns testes com o desempenho do MCAV com a alteração de
parâmetros do algoritmo, verificando a potência da detecção com o aumento ou a redução dos valores
dos parâmetros, estes testes tiveram pouca influência no desempenho do algoritmo, considerando o
maior trabalho computacional realizado com o aumento dos parâmetros analisados.
O Capítulo 7 apresentará as modificações realizadas no DCA com o objetivo de extrair informações relevantes e aperfeiçoar o desempenho do algoritmo e minimizar os falsos positivos.
Capítulo 7
Aperfeiçoamentos do algoritmo das células
dendríticas
“A dúvida é a mãe da invenção.”
Galileu Galilei
7.1 Análise Qualitativa
Neste trabalho, o DCA é adaptado para contabilizar o MCAV dos processos desde o início de
sua execução. Quando um processo é iniciado, o DCA coleta os dados como sendo o antígeno e
os respectivos sinais da rede. Esses dados são processados e, quando a migração acontece, a célula
recebe a classificação de contexto e o antígeno é contabilizado a partir da primeira célula migrada.
Assim, o MCAV é alterado conforme a classificação das células.
Para isto, neste trabalho foi feita transformação da etapa 3 (Agregação) do DCA na última subetapa da etapa 2 (Atualização), quando o antígeno recebe seu MCAV. Isso possibilitará a análise
temporal da detecção de uma intrusão, ou seja, visualizar sua existência até a finalização do processo;
assim como a visualização da evolução da variável de contexto do antígeno, ou o comportamento de
um processo quanto ao grau de intrusão.
Com esse objetivo, as seguintes alterações foram realizadas no DCA:
• O MCAV é calculado após a migração e atualizado em cada ciclo;
• Temporalmente, cada valor do MCAV é armazenado, desde o início da execução do processo;
80
7.2 Evolução do MCAV e Informações
81
• São obtidos e sinalizados os instantes início da execução do processo e de quando foi acusada
a anomalia;
• Há também um valor lógico que indica a existência da anomalia;
• Como não há uma certeza sobre o encerramento de um processo, um algoritmo de janela deslizante é usado para verificar se há alterações no MCAV. A falta de alterações indica o encerramento do processo.
• Também é calculado o tempo percentual da anomalia e a taxa de anomalia do processo analisado.
O tempo percentual da anomalia equivale à razão entre o tempo de detecção da anomalia analisada
e o tempo total do cenário na detecção. Conforme a Equação 7.1.
t% =
tanomalia
ttotal
(7.1)
A taxa de anomalia de um processo é calculada através da razão entre o tempo em que o processo
foi classificado como anomalia e seu tempo de execução, na Equação 7.2.
tx.anomalia =
tprocessof − tanomaliai
tprocessof − tprocessoi
(7.2)
Uma vez realizadas as modificações, serão feitos testes usando os dados dos testes anteriores para
a extração dos dados e análise do MCAV e do DCA.
7.2 Evolução do MCAV e Informações
Nesta seção, serão usados os testes do Capítulo 6 para fazer a nova abordagem proposta no DCA,
que incorpora a classificação do antígeno de forma contínua e incremental, através da contagem de
citocinas maduras e semi-maduras que representam estatisticamente a análise de contexto.
7.2.1 Análise de dados
Os testes feitos nesta seção têm como objetivo mostrar que o MCAV pode ser analisado durante e
após a execução do DCA, como forma de analisar a detecção da anomalia. Os parâmetros e a matriz
de peso são os mesmos usados nos testes do Capítulo 6.
A Tabela 7.1 ilustra exemplos de testes feitos nos cenários:
7.2 Evolução do MCAV e Informações
82
Na Tabela 7.1, observa-se o comportamento do índice de anomalia calculado. O nmap apresentou
um índice final muitas vezes próximo do índice máximo apresentado, mas não igual. Porém, o scp
apresentou em grande parte dos testes um índice final igual ao máximo, significando que o scp
poderia eventualmente ser classificado como anomalia em taxas de transferências bastante altas. O
nmap, como possui variações nas taxas de transferência, possui um MCAV variável. Esse fato é
caracterizado pela caracterização do contexto da célula mediante a correlação entre antígenos e sinais.
Uma hipótese que pode ser estudada nesse fato é a relação do sinal PAMP com o MCAV em
relação ao seu comportamento variável, uma vez que no scp, o sinal PAMP não é emitido.
O valor médio do MCAV pode ser caracterizado como um valor de tendência de um processo. Por
exemplo, em todos os cenários, o nmap apresentou um MCAV médio alto, significando que na maior
parte do tempo, foi classificado como anomalia. Em apenas no teste 2 do cenário normal, houve um
MCAV médio mais baixo do que o limiar de anomalia, quando o processo scp foi classificado como
anomalia.
O valor máximo de um MCAV pode ser definido como um valor que caracteriza a natureza de um
processo potencialmente a ser classificado como anomalia, e o MCAV médio representa a tendência
de um processo em um certo espaço de tempo.
MCAV máximo: sinal PAMP difere o comportamento do nmap e do scp
Este teste tem como objetivo verificar a influência do sinal PAMP no comportamento do MCAV.
O teste foi feito em dois dos testes do cenário misto, pois é específico para o comportamento do
nmap.
A tabela 7.2 mostra o resultado do teste realizado.
O resultado do teste confirma que a existência ou não do sinal PAMP não tornaria o comportamento do nmap igual ao do scp. Neste caso, conclui-se que esta hipótese não é válida. O PAMP
influencia na análise da anomalia e do contexto da célula que coletou o antígeno e não no comportamento do processo em relação à classificação.
7.2.2 Análise gráfica
Para enriquecer a análise de evolução do MCAV, é importante frisar que o comportamento de
um processo quanto à classificação da anomalia pode ser controversa e uma análise gráfica reflete em
quantas etapas o coeficiente de um processo pode ser considerado anômalo ou normal, em decorrência
da natureza do processo.
Para fazer os gráficos representando cada teste do cenário, será realizado um teste baseado nos
dados amostrados na Tabela 7.1, sendo extraído o gráfico de evolução do MCAV e da análise de
intrusão mediante um limiar de anomalia de 50%.
7.2 Evolução do MCAV e Informações
83
Tabela 7.1: Testes realizados nos cenários de intrusão. Através deles, características sobre o MCAV
podem ser analisadas
Teste
nmap
scp
Cenário
máximo média final máximo média final
Perigo
1
0,80
0,71 0,79
2
0,78
0,70 0,73
3
0,77
0,66 0,74
Normal
1
0.01
0.003 0.01
0,01
0,009 0,01
2
0,59
0,37
0,59
3
0,90
0,75
0,89
Misto
1
0,68
0,66 0,67
0
0
0
2
0,74
0,63 0,66
0,01
0,005 0,001
3
0,85
0,74 0,70
0,38
0,20
0,38
Tabela 7.2: MCAV final x MCAV máximo do nmap, com e sem PAMPs.
Cenário 2
Cenário 3
MCAV Com sinal PAMP Sem Sinal PAMP Com sinal PAMP Sem Sinal PAMP
final
0,66
0,69
0,70
0,75
máximo
0,74
0,76
0,85
0,87
7.2 Evolução do MCAV e Informações
84
Os gráficos extraídos mostram a evolução comportamental do MCAV de um processo durante o
cenário de execução. Após o encerramento de um processo, o MCAV do mesmo chega ao valor final
e fica estagnado. Os processos que estão rodando possuem variações, até mesmo mínimas, em seus
coeficientes, pois o cálculo do MCAV, nesta abordagem, é um processo dinâmico.
Como não há uma variável que armazena a condição de um processo rodando ou não, para a implementação de um sinalizador de anomalia, foi implementado um operador lógico baseado em janela
deslizante, no qual após um certo tempo de estagnação, o programa é considerado finalizado. Nesta
abordagem, a janela possui suporte a tempo ocioso de até 20 segundos. Os gráficos são apresentados
nas figuras 7.1-7.3, com sinalização do momento da intrusão.
Com a análise de evolução do MCAV, foi possível construir esse sinalizador lógico e conforme a
variação do coeficiente de todos os processos, através do operador OU. Caso o coeficiente de um dos
processos ultrapasse o limiar de 50%, o sinalizador de anomalias entrará no estado acionado. Caso
o processo anômalo esteja estagnado após 20 segundos (técnica baseada em janela deslizante que
verifica possível finalização do processo), este será desconsiderado e o sinalizador só analisará outros
processos.
Nos cenários de perigo, como a finalização do cenário terminou pouco depois do fim do processo,
o sinalizador indicou a anomalia a partir do tempo da mesma. Os cenários normais seguiram o
mesmo princípio, sinalizando o falso positivo. A maneira encontrada para resolver esse problema
será discutida na próxima seção.
Nos cenários mistos, principalmente os dois últimos, observa-se que o processo anômalo foi considerado encerrado depois de alguns segundos, significando o fim do processo e da anomalia, consequentemente. Pode ocorrer, em certos casos, a estagnação de um processo, quando este na verdade
não se encerrou, fato que possivelmente ocorreu no teste 2.
Esta análise traz novas informações às pesquisas do DCA, pois informa como ocorre a variação
do coeficiente de anomalia para os processos: o nmap possui variabilidade grande em relação ao
valor máximo e ao valor final. Enquanto isso, o scp possui pouca variabilidade em relação ao valor
máximo e ao valor final, significando que o coeficiente de anomalia do processo cresce conforme
o tempo do mesmo, significando que enviar arquivos maiores pode aumentar a ocorrência de falsos
positivos nesta abordagem.
7.2.3 Análise temporal
Os testes que geraram a Tabela 7.2, e as figuras 7.1-7.3, possuem também uma análise temporal,
ou seja, a partir de qual segundo ocorreu a anomalia, por quanto tempo o processo foi classificado
como anomalia e quando começou a execução do processo marcado.
Nos cenários de perigo e misto, o processo analisado é o nmap, enquanto que o processo scp é
analisado apenas no cenário normal, uma vez que nos testes do cenário misto, não houve a acusação
do mesmo como sendo anomalia.
7.2 Evolução do MCAV e Informações
85
Resultados − Cenario de Perigo 1
MCAV / Indicador de Anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
10
20
30
40
50
60
70
80
Tempo (seg)
Resultados − Cenario de Perigo 2
MCAV / Indicador de Anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
20
40
60
80
100
120
140
160
180
Tempo (seg)
Resultados − Cenario de Perigo 3
MCAV / Indicador de Anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
20
40
60
80
100
120
140
Tempo (seg)
Figura 7.1: Gráficos do MCAV ao longo do tempo para os cenários de perigo, onde o nmap constitui
no processo de interesse.
7.2 Evolução do MCAV e Informações
86
Resultados − Cenario Normal 2
MCAV / Indicador de Anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
10
20
30
40
50
60
80
100
120
Tempo (seg)
Resultados − Cenario Normal 3
MCAV / Indicador de Anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
20
40
60
Tempo (seg)
Figura 7.2: Gráficos do MCAV ao longo do tempo para os dois últimos cenários normais, onde o
scp, detectado incorretamente, constitui no processo de interesse. O cenário normal 1 não aparece,
pois não há anomalia registrada nele
7.2 Evolução do MCAV e Informações
87
Resultados − Cenario Misto 1
MCAV / Indicador de anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
20
40
60
80
100
120
140
Tempo (seg)
Resultados − Cenario Misto 2
MCAV / Indicador de anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
20
40
60
80
100
120
140
160
180
200
350
400
450
500
Tempo (seg)
Resultados − Cenario Misto 3
MCAV / Indicador de anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
50
100
150
200
250
300
Tempo (seg)
Figura 7.3: Gráficos do MCAV ao longo do tempo para os cenários mistos, onde o nmap, constitui
no processo de interesse, embora o scp também esteja sendo analisado.
7.3 Análise das técnicas de normalização
88
O tempo de execução é informado em segundos e o instante em que o processo foi iniciado, assim
como o instante em que o processo foi classificado como anomalia equivale ao tempo em segundos
em que estes eventos ocorreram. As taxas obtidas são as porcentagens em que houve a anomalia em
relação à execução do processo (Equação 7.1) ou em relação ao cenário como todo (Equação 7.2).
Dados informados na Tabela 7.3, junto à veracidade da classificação.
Perigo
Normal
Misto
1
2
3
1
2
3
1
2
3
Tabela 7.3: Análise temporal sobre intrusões ocorridas nos testes
Tempo Início de Início de Execução/ Taxa de anomalia Classificação
do teste anomalia execução Anomalia
total
77s
16
13
95%
77%
VP
171s
18
15
98%
87%
VP
138s
32
12
84%
75%
VP
63s
VN
53s
19
9
64%
33%
FP
109s
30
20
88%
70%
FP
128s
18
16
97%
73%
VP
178s
43
17
83%
68%
VP
450s
41
39
96%
76%
VP
Com relação à classificação legítima de anomalias, o DCA apresentou um desempenho relativamente bom, considerando que o processo malicioso foi detectado rapidamente após seu início, podese dizer que o DCA possui boa eficiência na detecção de uma anomalia e a abordagem por sinais é
bastante eficiente. Os testes que resultaram em falsos positivos, no entanto, ocorreram em circunstâncias em que o programa rodou em maior tempo, aumentando a taxa de anomalia e resultando em
consequências indesejáveis e inesperadas.
A detecção pelo DCA ocorreu em boa parte dos cenários de teste e de forma contínua. Lembrando
que os eventos de detecção ocorrem quando pelo menos um processo (antígeno) ultrapassa o limiar
de anomalia proposto para sua detecção.
A próxima seção irá investigar o problema dos falsos positivos através de um novo cenário de
detecção, o teste 4, e irá repetir os testes feitos nos cenários normais para verificar se o método
escolhido resolverá o problema.
7.3 Análise das técnicas de normalização
Como foi discutido anteriormente, a investigação dos ping scans é uma forma de combater intrusões, embora não seja a mais perfeita. Para aperfeiçoarmos a investigação, é necessário extrair mais
características sobre transferências de pacotes em redes de computadores usando o scp.
7.3 Análise das técnicas de normalização
89
Nos testes executados, o scp apresentou um quadro de falso positivo em dois testes do cenário
normal. Este quadro anteriormente não foi apresentado na literatura. A principal suposição foi a
tecnologia de rede utilizada, que permite taxas mais altas de upload. O que estaria causando grandes
variações nas taxas, por causa do tráfego de pacotes.
No início, com os testes do cenário misto, acreditava-se que a execução do nmap inibia a detecção
do scp. No entanto, um novo teste foi apresentado, como descrito na seção 6.5, que consistia em
fazer um teste similar ao terceiro (busca de 16445 máquinas), com um arquivo de 300 MB.
O teste 4 apresentou a detecção normal do processo que realiza o ping scan, porém, o DCA
detectou também o upload do arquivo como uma anomalia. Esse resultado é apresentado na Tabela
7.3 e na Figura 7.4
Para investigar esse fato, leva-se em conta que a emissão de ping, processo realizado pelo nmap,
é um processo que emite um número razoável de pacotes por segundo, com variabilidade grande. No
entanto, um ping scan costuma não resultar em altas taxas de upload. Por exemplo, nos cenários, é
possível verificar a taxa máxima de pacotes por segundo no tempo de cada processo, de acordo com
a Tabela 7.4.
Tabela 7.4: Variação dos sinais de perigo para o nmap e scp.
Taxa de pacotes
Cenário Teste
nmap
scp
Média
DP
Máxima Média
DP
Máxima
Perigo
1
153,06 304,32
1834
2
110,27 216,45
1298
3
180,24 287,94
1914
Normal
1
68,37 450,46
3057
194,06 596,19
2316
2
693,2
1871
9936
3
1988
2390
8613
Misto
1
98,29 350,27
1920
87,26 422,94
2492
2
106,12 256,35
2244
693,77 1941
9730
3
77,26 167,34
1225
1478
2227
6331
4
145,08 239,36
1477
2694
2801
10530
Valor médio
124,33 260,29 987,08
1587
6626
10530
Desvio Padrão
36,07
60,30
375,28 971,85 953,39
3551
Com base nas informações da Tabela 7.4, a taxa de pacotes enviados do scp é muito maior do
que a taxa do nmap. Isso significa que o sinal de perigo está muito alto nas situações de segurança, e
como o sinal de segurança deriva do sinal de perigo, nem mesmo este sinal consegue suprir a ação do
upload.
7.3 Análise das técnicas de normalização
90
Sinais Normalizados − Cenario Misto 4
100
Valor do sinal
80
60
40
20
0
0
50
100
150
200
250
300
Tempo (seg)
Resultados − Cenario Misto 4
MCAV / Indicador de anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
50
100
150
200
250
Tempo (seg)
Figura 7.4: Gráficos para o cenário misto 4, onde o nmap é detectado, mas o scp também é detectado
com MCAV que chega a ser maior do que o nmap.
7.3 Análise das técnicas de normalização
91
Neste caso, pode-se então delimitar o sinal de perigo a apenas uma determinada faixa, que corresponde do 0 até um valor coberto aproximadamente pelo máximo e o desvio padrão. Isso pode ser
feito na coleta do sinal ou mesmo na normalização, apresentada na Tabela 7.5. Esta normalização
pode evitar o falso positivo ocorrido no cenário normal e no teste 4 do cenário misto.
Tabela 7.5: Normalização alternativa.
Sij
j=0
j=1
faixa de valores pré-normalização
[0 10]
[10 100] e [1900 2000]
valor normalizado mínimo
0
0 (até 10 e a partir de 2000)
valor normalizado máximo
100
100 (de 100 a 1900)
cálculo
s0,0 = s ∗ 5
-
j=2
[10 100]
0
10
-
Essa alteração consiste nas baixas taxas produzidas pelo ping scan, em comparação a um envio
de arquivo. A alteração resultou nos gráficos da Figura 7.5.
Resultados − Cenario Misto 4 alterado
MCAV / Indicador de anomalia
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
0
50
100
150
200
250
Tempo (seg)
Figura 7.5: Gráficos para o cenário misto 4, após a alteração. Neste cenário, ocorre a detecção do
nmap e a classificação correta do scp.
Os resultados indicam que a alteração foi satisfatória para o cenário apresentado, resolvendo o
problema dos falsos positivos resultantes das execuções prolongadas do scp. Esse resultado também
demonstra o caráter de adequação dos dados na normalização, que é vista como a otimização da
diversidade dos dados.
7.4 Limiar de anomalias
92
Com esse teste, podemos verificar a influência do comportamento da nova técnica de normalização na classificação dos processos. O nmap permaneceu inalterado, com valores de MCAV aproximadamente iguais, assim como o tempo de anomalia, que no caso do nmap não teve mudanças.
O scp, por sua vez, foi classificado corretamente como um processo normal e seguro e enfim, os
experimentos de Ping Scan estão adaptados para cenários mais realísticos.
Os testes anteriormente feitos no cenário normal que acusaram a anomalia, foram repetidos com
a nova técnica de normalização e resultou em valores como os da Tabela 7.6.
Os resultados da Tabela 7.7 foram obtidos conforme o previsto: o scp foi classificado corretamente, com um índice de anomalia nulo no cenário normal 2. No entanto, o índice máximo de 0.4 no
cenário normal 3 demonstra que a técnica usada no sinal de perigo pode ser aperfeiçoada para evitar
em futuros testes uma possível ocorrência de falso positivo. Apesar desse índice, o resultado foi a
classificação correta do processo de upload analisado neste cenário e é considerado satisfatório na
pesquisa sobre a detecção de ping scans.
7.4 Limiar de anomalias
A classificação no DCA é realizada através do seguinte princípio: o MCAV de um antígeno tem
mais chances de corresponder a uma anomalia se estiver próximo de 1, ou seja, um antígeno com
MCAV = 1 corresponde definitivamente a uma anomalia.
Na literatura, a forma usada para classificação é através de um limiar. Antígenos cujo MCAV se
encontram abaixo do limiar são considerados normais e aqueles cujo MCAV se encontram acima do
limiar são considerados causadores de anomalias.
Para extrair informações qualitativas a respeito da abordagem estudada neste trabalho, resultados
dos testes são extraidos para a elaboração da curva ROC, usada para medir a eficiência de um detector
de anomalias.
7.4.1 Análise de sensibilidade e especificidade
Para construir uma curva ROC, são testados valores que correspondem a critérios de anomalia,
por exemplo, um limiar de anomalia pré-definido de modo que o processo de detecção da mesma seja
otimizado e eficiente.
A partir dstes valores, são extraídas informações sobre a detecção, como a taxa de falsos positivos
e a taxa de falsos negativos, assim como o comportamento correto do sistema (positivos e negativos
verdadeiros).
Supõe-se que a anomalia está ocorrendo no instante em que o nmap é executado e, consequentemente, o detector acusa a ocorrência de anomalia como positivo. A taxa de atraso também é considerada nesta abordagem e então, durante o atraso, presume-se a ocorrência de falsos negativos até o
7.4 Limiar de anomalias
Tabela 7.6: Comparativo dos testes feitos no cenário misto 4.
Antes da mudança Após a mudança
Processo
Scp
nmap
Scp
nmap
MCAV Máximo
0,67
0,72
0,27
0,72
MCAV Médio
0,44
0,64
0,18
0,64
MCAV Final
0,67
0,66
0,27
0,66
Anomalia começa
216
30
Não há
30
Taxa de anomalia do processo 51%
68%
68%
Taxa de anomalia do cenário
83%
68%
Tabela 7.7: Comparativo dos testes feitos nos cenários normais.
Cenário Normal 2 Cenário Normal 3
Scp
Antes
Depois
Antes
Depois
MCAV Máximo
0,59
0
0,90
0,43
MCAV Médio
0,37
0
0,75
0,23
MCAV Final
0,59
0
0,89
0,37
Anomalia começa
36
Não há
34
Não há
Taxa de anomalia do processo 64%
88%
Taxa de anomalia do cenário
33%
0%
70%
0%
93
7.4 Limiar de anomalias
94
limiar de anomalia pré-estabelecido pelo usuário.
Qualquer detecção que não seja a do nmap será considerada um falso positivo. Um exemplo desta
ocorrência é a detecção incorreta do scp nos cenários normais nos primeiros testes realizados usando
o DCA.
Para a realização de testes, o DCA foi rodado 20 vezes usando um mesmo limiar e foi extraído o
valor mediano dos positivos e negativos reais. Estes valores serão usados na extração dos valores de
sensibilidade e especificidade.
Foram observadas as seguintes características nos testes realizados.
• Os cenários de perigo são detectáveis com limiar de anomalia abaixo dos 75%, acima desse
valor, a detecção é insuficiente ou inexistente.
• Os cenários normais, usando a normalização normal, ainda apresentam falsos positivos: no
segundo teste, um limiar de 60% já elimina a evidência, porém, no terceiro teste, o limiar
teria de ser aproximadamente 90%, dificultando a abordagem e comprovando a necessidade da
técnica descrita na seção anterior.
• Os cenários normais com a técnica de normalização anteriormente descrita apresentam situações normais, pelo menos com limiar abaixo de 10%. Apenas o terceiro teste requer um limiar
de anomalia acima de 40% aproximadamente.
• Os cenários mistos são os exemplos mais adequados para a representação do modelo e a criação
das curvas ROC, uma vez que eles possuem a representação de uma situação onde ocorrem
anomalias entre processos normais, permitindo uma avaliação mais precisa da eficiência do
DCA.
• Nos testes do cenário misto, com a normalização acima de 80%, não há mais detecção pelo
DCA.
• O valor anteriormente adotado para o limiar de anomalia (50%) foi sugerido na literatura.
Os testes então foram realizados em todas as situações nos cenário misto, inclusive o teste 4,
sendo este último realizado tanto com a normalização normal, quanto com a normalização alterada.
Uma vez definidas as características dos testes, chegou-se aos resultados da Tabela 7.8.
Os resultados originaram as medidas de sensibilidade e especificidade, que são calculadas a partir
das equações 7.3 e 7.4.
Analisando a Tabela 7.8, percebem-se algumas características dos testes em relação à taxa de
detecção: o primeiro teste cujos ping scan e upload foram executados em porções de tempo menores
apresentou uma situação de normalidade conforme comentado anteriormente a respeito dos outros
cenários de testes, pois não apresentou falsos positivos e o atraso na detecção só aumentou a partir
de um limiar superior a 60%. O segundo teste apresentou uma situação mais adversa em relação à
detecção a medida que o limiar de anomalia aumentava.
7.4 Limiar de anomalias
95
Tabela 7.8: Tabela de atributos para os valores de limiar definidos no DCA.
Atributo
T1
T2
T3
T4
T4 alt
VP
FP
FN
VN
VP
FP
FN
VN
VP
FP
FN
VN
VP
FP
FN
VN
VP
FP
FN
VN
0%
74,62
0
1,54
23,85
81,82
2.67
1,6
13,9
76,33
13,5
0,44
9,73
69,6
18,8
0,8
10,8
69,6
18,8
0,8
10,8
10%
74,62
0
1,54
23,85
81,82
0
1,6
16,58
76,33
10,18
0,44
13,05
69,6
18,8
0,8
10,8
69,6
18,8
0,8
10,8
20%
74,62
0
1,54
23,85
81,82
0
1,6
16,58
76,33
9,73
0,44
13,5
69,6
18,8
0,8
10,8
69,6
13,2
0,8
16,4
30%
74,62
0
1,54
23,85
81,28
0
2,14
16,58
76,33
6,42
0,44
16,81
69,6
18,8
0,8
10,8
69,6
0
0,8
29,6
Valores percentuais
40%
50%
60%
74,62 74,62 73,85
0
0
0
1,54
1,54
2,31
23,85 23,85 23,85
69,52 67,38 64,71
0
0
0
13,9 16,04 18,72
16,58 16,58 16,58
76,33 76,11 76,11
0
0
0
0,44
0,66
0,66
23,23 23,23 23,23
69,2
67,6
62,4
18,8
13,6
9,6
1,2
2,8
8
10,8
16
20
69,2
67,6
62,4
0
0
0
1,2
2,8
8
29,6
29,6
29,6
70%
0
0
76,15
23,85
22,46
0
60,96
16,58
56,42
0
20,35
23,23
6,4
0
64
29,6
6.4
0
64
29,6
80%
0
0
76,15
23,85
0
0
83,42
16,58
8,63
0
68,14
23,23
0
0
70,4
29,6
0
0
70,4
29,6
90%
0
0
76,15
23,85
0
0
83,42
16,58
0
0
76,77
23,23
0
0
70,4
29,6
0
0
70,4
29,6
100%
0
0
76,15
23,85
0
0
83,42
16,58
0
0
76,77
23,23
0
0
70,4
29,6
0
0
70,4
29,6
Os últimos dois testes apresentaram os resultados mais interessantes: o terceiro teste apresentou
taxas consideráveis de falsos positivos com um limiar igual ou inferior a 30%, com valores acima
deste, a taxa de erros caiu, porém, a taxa de falha de detecção foi maior (considerando também
atrasos de detecção). Para a situação, o melhor limiar seria o de 40%.
Já as simulações feitas no teste 4 demonstram a necessidade das alterações feitas na normalização,
uma vez que o scp alcança valores de MCAV maiores que os do nmap e há um grande contraste
entre a taxa de falsos positivos e falsos negativos, que inviabilizam o uso do DCA. A normalização
também permitiu um desempenho satisfatório com um limiar de anomalia de 30%.
Com isso o DCA apresentou detecção mais efetiva com limiares de detecção entre 40% e 60%,
podendo, em alguns casos, ser adotado o limiar de 30%. No entanto, como é importante analisar
criticamente o processo, não é recomendável adotar valores de limiar de anomalia que sejam muito
distantes de um valor intermediário (como o de 50%).
Para analisarmos o DCA, os valores da Tabela 7.7 serão usados para calcular as variáveis de
sensibilidade, que indica a taxa de acerto na detecção, e a taxa de especificidade, que indica a a taxa
de acerto em relação a uma situação normal.
Sensibilidade =
VP
V P + FN
(7.3)
7.4 Limiar de anomalias
96
Especif icidade =
VN
V N + FP
(7.4)
Estes valores determinam quais são os melhores valores para o limiar de anomalia e são representados graficamente nas figuras 7.6 e 7.7, a primeira mostra os dados de sensibilidade e especificidade
variando conforme o limiar de anomalia e a segunda mostra a diferença entre estes dados em relação
ao limiar, mostrando um ponto onde a desempenho é melhor.
Nestes testes, a especificidade começa com um valor menor, e aumentando relativamente quanto
mais alto o limiar de detecção, significando que um limiar baixo pode ocasionar falsos positivos. A
taxa de sensibilidade começa em 100%, decrescendo quando o limiar assume valores muito altos e
causando um aumento nos falsos negativos.
Na Figura 7.6, a detecção ideal é aquela que apresenta os valores mais altos de ambas as variáveis,
ou quando há uma interseção entre os mesmos, em caso de uma diferença conflitante entre tais valores.
Como o primeiro teste apresenta ambos os valores altos, exceto quando o limiar de anomalia é alto
e nesse caso a sensibilidade cai, pode-se dizer que a detecção é certa e quase perfeita. A Figura
7.6 indica que, quanto mais baixa a diferença entre a sensibilidade e a especificidade, melhor será
a detecção da intrusão. O primeiro teste demonstra uma situação em que o detector pode assumir
valores entre 10% e 60%, uma vez que nestes valores, a diferença é praticamente nula.
No segundo teste, há apenas alguns valores que ocasionam falsos positivos para um limiar baixíssimo, porém, a sensibilidade possui maior variação e limiares mais baixos em uma faixa de 30% são
considerados ideais para a situação. O terceiro teste apresenta um cenário mais crítico, onde as faixas
dos valores de limiar mais adequadas são de 40% a 60%.
O quarto teste sem a alteração proposta da normalização apresenta o pior caso, a detecção mais
perfeita apresenta valores de sensibilidade e especificidade de aproximadamente 70%, o que requer
um limiar de anomalia entre 60% e 70%, mesmo assim, a detecção não seria perfeita. Alterando a
normalização, houve uma grande melhora, permitindo a atribuição de limiares entre 30% e 50%, o
que permite uma detecção mais aperfeiçoada. Analisando globalmente, a faixa de limiar que mais
atende ao problema do ping scan corresponde a valores entre 40% e 55%. Os valores acima discutidos
geraram as curvas ROC da Figura 7.8.
O resultado da Curva ROC mostra que o algoritmo das células dendríticas pode minimizar eficientemente uma intrusão em redes de computadores iniciada pelo ping scan. Os resultados estão
próximos do ideal, considerando que as detecções são realizadas com apenas alguns segundos de
atraso.
A escolha de um limiar de anomalia para a classificação do antígeno é um problema que deve ser
analisado considerando a influência das aplicações sobre os sinais escolhidos no problema e o quão
potente deve ser a detecção, caracterizada pelo coeficiente de anomalia. Outras abordagens podem
ser usadas para a classificação do antígeno, como a tomada de decisão, por exemplo, que deve ser
influenciada por outros parâmetros.
7.4 Limiar de anomalias
97
Senibilidade, Especificidade
Teste 1 − Cenario Misto
Sensibilidade
Especificidade
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Limiar de Anomalia
Sensibilidade
Especificidade
Sensibilidade, Especificidade
Teste 2 − Cenario Misto
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Limiar de Anomalia
0.8
Sensibilidade, Especificidade
Teste 3 − Cenario Misto
0.9
1
Sensibilidade
Especificidade
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Limiar de Anomalia
1
0.8
0.6
0.4
0.2
0
0
Teste 4 alterado
Sensibilidade
Especificidade
Sensibilidade, Especificidade
Sensibilidade, Especificidade
Teste 4 − Cenario Misto
0.1
0.2
0.3
0.4
0.5
0.6
Limiar de Anomalia
0.7
0.8
0.9
1
Sensibilidade
Especificidade
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Limiar de Anomalia
Figura 7.6: Gráficos da Sensibilidade e Especificidade X Limiar de Anomalia.
1
7.4 Limiar de anomalias
98
|Sensibilidade − Especificidade|
Teste 1 − Cenario Misto
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.8
0.9
1
0.8
0.9
1
Limiar de Anomalia
|Sensibilidade − Especificidade|
Teste 2 − Cenario Misto
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Limiar de Anomalia
|Sensibilidade − Especificidade|
Teste 3 − Cenario Misto
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Limiar de Anomalia
Teste 4 alterado
|Sensibilidade − Especificidade|
|Sensibilidade − Especificidade|
Teste 4 − Cenario Misto
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
Limiar de Anomalia
0.7
0.8
0.9
1
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Limiar de Anomalia
Figura 7.7: Diferença entre sensibilidade e especificidade X Limiar de Anomalia.
7.4 Limiar de anomalias
99
Curva ROC − Cenario Misto 1
Sensibilidade
1
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1
1 − Especificidade
Curva ROC − Cenario Misto 2
Sensibilidade
1
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1
1 − Especificidade
Curva ROC − Cenario Misto 3
Sensibilidade
1
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1
1 − Especificidade
Curva ROC − Cenario Misto 4 alterado
1
0.8
0.8
Sensibilidade
Sensibilidade
Curva ROC − Cenario Misto 4
1
0.6
0.4
0.2
0
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 − Especificidade
1
0
0
0.2
0.4
0.6
0.8
1 − Especificidade
Figura 7.8: Curvas ROC dos testes realizados.
1
Capítulo 8
Considerações Finais
“A mente que se abre a uma nova idéia jamais
voltará ao seu tamanho original.”
Albert Einstein
Neste capítulo são apresentados as conclusões e propostas para trabalhos futuros.
8.1 Discussão dos resultados
Os primeiros resultados apresentados no Capítulo 6 confirmam a capacidade de classificação do
algoritmo das células dendríticas apresentada na literatura. A correlação temporal entre antígeno
e sinal produziu o efeito desejado. A próxima etapa foi alterar o DCA para medir a detecção da
anomalia.
Com as alterações feitas no DCA para a abordagem do problema do ping scan e as métricas usadas
para avaliar o algoritmo, foi possível estudar com maior detalhes o uso do algoritmo e verificar o
comportamento da variável de classificação, o MCAV.
Nesses testes, foi possível perceber que o ping scan possui uma tendência crescente em relação
a seu MCAV, porém, esse crescimento não é estável, uma vez que seu valor final assume valores
menores do que o valor máximo. O caso da transferência de arquivo é similar, possui uma tendência a
permanecer constante, aumentando o valor do MCAV esporadicamente, e o valor final é normalmente
igual ao valor máximo. Após a alteração de normalização, essa tendência caiu um pouco, uma vez
que os valores da faixa de normalização não possibilitam um grande crescimento do coeficiente.
Em termos gerais, o algoritmo das células dendríticas apresentou resultados semelhantes aos da
literatura na detecção do evento anormal, o ping scan. Para a transferência do arquivo, houve grandes
100
8.2 Contribuições
101
diferenças por causa dos testes introduzidos, que implicam em transferências de arquivos maiores
e tempo mais longo das mesmas e, consequentemente, uma resposta inesperada do algoritmo. Este
problema foi resolvido na normalização e gerou resultados mais condizentes com o esperado.
No problema da normalização, devem ser considerados o desvio padrão das taxas de cada processo
analisado, para então ser adotado um critério como o da Tabela 7.5.
Quanto à análise dos procedimentos do algoritmo, os resultados foram obtidos conforme o previsto, principalmente após às alterações da normalização, onde todos os processos foram classificados
corretamente e nas condições previstas. O DCA foi capaz de detectar os processos com um atraso
relativamente pequeno e na correlação temporal entre os antígenos e sinais.
A classificação dos processos também foi avaliada na análise das curvas ROC. Os resultados
indicaram um desempenho além do esperado: nestes testes, é possível detectar o processo malicioso
sem falsos positivos com um limiar entre 35% e 60%, e além disso, apresentou detecções que se
aproximam do ideal, principalmente após as alterações na normalização.
No entanto, não é correto dizer que o algoritmo das células dendríticas pode ser considerado
perfeito. Nestes cenários de teste, foi possível minimizar a taxa de falsos positivos. Mesmo com
alguma taxa de atraso na detecção, o DCA pode ser considerado um detector muito poderoso.
8.2 Contribuições
Foi possível trazer o algoritmo das células dendríticas para o ambiente de simulação e programação oferecido pelo MATLAB, onde é possível fazer diversos tipos de testes e representá-los de
forma gráfica. Os resultados obtidos com esta nova implementação do algoritmo são similares aos
das pesquisas anteriores.
Na literatura não havia uma métrica para a detecção do algoritmo, uma vez que o objetivo do
mesmo era classificar os processos. Este trabalho possibilitou, com a alteração da fase de análise
de contexto, a visualisação das tendências de um antígeno em relação aos sinais através da análise
incremental do contexto das células dendríticas. Esse mecanismo também permitiu a análise temporal
de uma ocorrência de intrusão nos testes.
Essa abordagem permitiu uma nova visão a respeito do coeficiente de anomalia, que não seria
apenas um indicador da anomalia, mas também um qualificador do processo em um determinado
instante de tempo, ou seja, a classificação passa a ser não somente se o processo representa uma
anomalia, mas quando o antígeno passou a ser anomalia, ou em que momento mais células maduras
foram formadas pela correlação sinal/antígeno.
O trabalho apresentou novas condições de testes para o uso do algoritmo das células dendríticas,
uma vez que os modelos de testes sugeridos na literatura apontavam cenários semelhantes. Esse
trabalho permitiu um estudo mais aprofundado dos cenários normais e da natureza dos mesmos.
Testando este e outros cenários, também foi possível medir até quando o método analisado é considerado eficiente, por exemplo, a execução prolongada do processo de cópia de arquivos ocasionou
8.3 Conclusões do trabalho
102
em falsos positivos e foi necessário adaptar a coleta de sinais a certos padrões para evitar novos erros
de detecção.
O trabalho apresentou também uma maneira mais amigável de normalizar os dados, além de
adaptar a normalização do sinal de perigo à nova solução do problema dos falsos positivos.
8.3 Conclusões do trabalho
O algoritmo das células dendríticas é uma abordagem recente aplicada a detecção de anomalias.
Este algoritmo possui ainda muitas qualidades que podem ser exploradas e muitas aplicações onde
este pode ser utilizado, inclusive em detecção de intrusos, em atividades que são etapas posteriores
ao ping scan, por exemplo.
Este algoritmo possui também algumas inovações:
• Não requer um perfil de padrão normal e anômalo, como nos modelos de SIA baseados em
self/nonself.
• Mapeamento dos sinais, característica essencial do algoritmo, similar a características de detectores de assinaturas, mas que são mapeados de acordo com as características do problema.
• Conceito de sinais: dados de entrada formam os dados de saída que representam a migração de
uma célula e a maturação da mesma.
• Matriz de pesos: relação entre os sinais de entrada e os sinais de saída que faz o algoritmo
classificar a célula em um mecanismo similar ao do sistema imune.
• Forma de classificação do antígeno e utilização de um índice de anomalia calculado através dos
tipos de células que o coletou.
• Método baseado em população de células, semelhante aos métodos evolucionários e estocásticos.
Com essas características, o DCA pode ser considerado único na detecção de anomalias, podendo
ser usado em alguns problemas complexos para a abordagem clássica de detecção de falhas, pois o
emprego do mapeamento dos sinais contribui nos aspectos justificados pelos motivos acima.
As contribuições deste trabalho, apresentam um novo ponto de vista do algoritmo em relação aos
trabalhos da literatura e uma confirmação das vantagens do DCA e do uso de sinais e antígenos em
correlação para a detecção de anomalias. No estudo dos ping scans, foi possível obter as informações
sobre o processo de detecção do mesmo pelo DCA.
O algoritmo possui a principal vantagem de não se prender a modelos baseados em dimensões,
como nas abordagens clássicas de detecção de falhas, porém, é necessário um conhecimento profundo
sobre o contexto do problema para que a resposta do algoritmo seja efetiva.
8.4 Propostas de pesquisas futuras
103
O DCA é um algoritmo não-estacionário, ou seja, não possui uma tendência de longo prazo e
tampouco segue um valor médio absoluto. Esse conceito é válido tanto para a análise dos antígenos
e dos sinais, quanto para o MCAV dos antígenos envolvidos.
Os resultados da detecção podem ser considerados interessantes, uma vez que a detecção chegou
a uma situação próxima do desejado, com cerca de 99% de eficiência, um resultado difícil de ser
obtido na literatura. Porém, esse resultado é um desdobramento para outras situações de intrusões,
sobretudo os casos que ocorrem além de uma situação de ping scan.
Contudo, as técnicas de intrusão vão além dos ping scans e requerem outros parâmetros a serem
levados em conta por um detector. O uso do DCA nesses problemas é um dos muitos desafios que
poderão ser explorados. Uma pergunta seria: "Os resultados obtidos neste trabalho seriam similares
em tais problemas?".
Enfim, em termos de resultados, os objetivos do trabalho foram cumpridos, pois os experimentos são satisfatórios e podem ser desdobrados para um teste em condições diferentes, por exemplo,
intrusões em tempo real.
8.4 Propostas de pesquisas futuras
O algoritmo das células dendríticas tem sido aplicado à detecção de princípios de intrusão, sobretudo à detecção do uso inadequado de ping scans, inclusive o SYN scan. Neste trabalho, os cenários
aplicados foram baseados nos primeiros testes para a detecção de ping scans. O mesmo pode ser
aplicado ao SYN scan, de onde podem ser extraídas várias informações.
Considerando que neste trabalho foi implementado um modelo de simulação, uma proposta de
continuidade implica em testar a detecção do ping scan no DCA em tempo real com as alterações
feitas e verificar a diferença em relação ao modelo e aos resultados da literatura, além de testar o
algoritmo em outras linguagens de programação e comparações com outros métodos na literatura,
como o das Redes Neurais, métodos estatísticos, etc.
A aplicação do algoritmo em cenários reais, baseando-se nos testes realizados no trabalho, consistiria no DCA rodando em todas as máquinas da rede. Neste cenário, intrusões ocorridas deverão
ser sinalizadas pelos próprios hosts, onde a invasão está ocorrendo. Futuramente, em estudos mais
avançados, esta detecção poderá ser extendida para os servidores de rede, correspondendo a uma
abordagem baseada em NIDS.
Além destas propostas citadas, o DCA pode ser aplicado a outras anomalias em redes de computadores, como a detecção de ataques de negação de serviço ou de vulnerabilidades de sistema; e também
detecção de falhas em sistemas complexos, podendo ser uma ferramenta incorporada a mecanismos
semelhantes à detecção de falhas.
Outros aperfeiçoamentos também podem ser empregados ao DCA, como por exemplo, mecanismos de adaptabilidade, permitindo um comportamento semelhante aos sistemas adaptativos; mecanismos de decisão, aperfeiçoando a resposta do algoritmo à anomalia detectada; e mecanismos de
8.4 Propostas de pesquisas futuras
104
memória, permitindo que uma mesma ocorrência seja detectada nas mesmas condições, fazendo com
que um mesmo antígeno seja reavaliado em outros casos.
Referências Bibliográficas
Abraham, A., Grosan, C., and Martin-vide, C. (2006). Evolutionary design of intrusion detection
programs. International Journal of Network Security, 4:2007.
Abraham, A. and Jain, R. (2004a). Soft computing models for network intrusion detection systems.
Computer Research Repository, cs.CR/0405046.
Abraham, A. and Jain, R. (2004b). Soft computing models for network intrusion detection systems.
Studies in Computational Intelligence.
Aickelin, U. (2003). Artificial immune system and intrusion detection tutorial. In Introductory Tutorials in Optimization, Search and decision support methodologies.
Aickelin, U., Bentley, P., Cayzer, S., Kim, J., and Mcleod, J. (2003). Danger theory: The link
between ais and ids. In In Proc. of the Second Internation Conference on Artificial Immune Systems
(ICARIS-03), pages 147–155.
Aickelin, U., Greensmith, J., and Twycross, J. (2004). Immune system approaches to intrusion detection - a review. In In Proc. of the 3rd International Conference on Artificial Immune Systems,
LNCS 3239, pages 316–329. Springer.
Anchor, K., Williams, P., Gunsch, G., and Lamont, G. (2002). The computer defense immune system:
current and future research in intrusion detection. Evolutionary Computation, 2002. CEC ’02.
Proceedings of the 2002 Congress on, 2:1027–1032.
autor desconhecido (2009a).
Figura sobre a arquitetura de um ids.
http://www.windowsecurity.com/img/upl/ids_rys31049723735904.gif. acessado em 15/03/2009.
autor desconhecido (2009b). Figura sobre firewall. http://www.rrnetwork.com.br/images/firewallfig.gif. acessado em 15/03/2009.
autor
desconhecido
(2009c).
Figura
sobre
segurança
computacional.
http://www.computer.org/portal/cms_docs_security/security/2006/v4n4/j4oth01.jpg. acessado em
15/03/2009.
105
REFERÊNCIAS BIBLIOGRÁFICAS
106
autor desconhecido (2009d).
How to understand and care for your immune system.
http://hubpages.com/hub/A-Journey-To-Overall-Wellness. acesso em 15/03/2009.
autor desconhecido (2009e). site snort brasil. http://www.clm.com.br/snort/default.asp. acessado em
15/03/2009.
Bachmayer,
S.
(2008).
Artificial
immune
systems.
Department
of
Computer
Science,
University
of
Helsinki.
DisponÃvel
em:
http://www.cs.helsinki.fi/u/niklande/opetus/SemK07/paper/bachmayer.pdf.
Baxter, A. and Hodgkin, P. (2002). Activation rules: the two-signal theories of immune activation.
Nature reviews. Immunology.
Blake, C. and Merz, C. (1998).
Uci repository of machine learning databases.
http://www.ics.uci.edu/ mlearn/MLRepository.html. Acesso em: 13/04/2009.
Brownlee, J. (2007). Artificial immune system thesis bibliography. Technical report, Complex Intelligent Systems Laboratory.
Burnet, F. M. (1959). The Clonal Selection Theory of Acquired Immunity.
Camastra, F. (2006). Kernel methods for clustering. In WIRN/NAIS, volume 3931 of Lecture Notes
in Computer Science, pages 1–9.
Cayzer, S. and Aickelin, U. (2002). The danger theory and its application to artificial immune systems.
In University of Kent at Canterbury, pages 141–148.
Celada, F. and Seiden, P. E. (1992). A computer model of cellular interactions in the immune system.
Immun-t, 13:56–62.
cert.br (2009). Centro de estudos, resposta e tratamento de incidentes de segurança no brasil, cartilha
de segurança para internet. http://cartilha.cert.br/. acesso em 15/03/2009.
Chou, T.-S. (2007). Ensemble fuzzy belief intrusion detection design. In ETD Collection for Florida
International University.
Cisco-Systems
(2009).
Cisco
intrusion
prevention
system.
http://www.cisco.com/en/US/products/sw/secursw/ps2113/index.html. acessado em 15/03/2009.
Cordella, L. P., Limongiello, R., and Sansone, C. (2004). Network intrusion detection by a multistage classification system. In In: Roli, Kittler, and Windeatt (Eds.): Multiple Classifier Systems,
LNCS 3077, pages 324–333. Springer.
REFERÊNCIAS BIBLIOGRÁFICAS
107
da Silva Braga, A. C. (2000). Curvas ROC, Aspectos funcionais e aplicações. PhD thesis, Universidade do Minho.
Dasgupta, D. (1998). Artficial Immune Systems and Their Applications. Springer-Verlag New York,
Inc., Secaucus, NJ, USA.
Dasgupta, D. (1999). Immunity-based intrusion detection systems: A general framework. In 22nd
National Information Systems Security Conference (NISSC).
Dasgupta, D. (2006). Advances in artificial immune systems. Computational Intelligence Magazine,
IEEE, 1(4):40–49.
Dasgupta, D. and Attoh-Okine, N. (1997). Immunity-based systems: a survey. Systems, Man, and
Cybernetics, 1997. ’Computational Cybernetics and Simulation’., 1997 IEEE International Conference on, 1:369–374 vol.1.
de Castro, L. and Timmis, J. (2002). An artificial immune network for multimodal function optimization. Evolutionary Computation, 2002. CEC ’02. Proceedings of the 2002 Congress on, 1:699–704.
de Castro, L. and Von Zuben, F. (2002). Learning and optimization using the clonal selection principle. Evolutionary Computation, IEEE Transactions on, 6(3):239–251.
de Castro, L. N. (2001). Engenharia Imunológica: Desenvolvimento e Aplicação de Ferramentas
Computacionais Inspiradas em Sistemas Imunológicos Artificiais. PhD thesis, Faculdade de Engenharia Elétrica e de Computação, Universidade Estadual de Campinas.
de Castro, L. N. (2002). Immune engineering a personal account. In II Workshop on Computational
Intelligence and Semiotics.
de Castro, L. N., Hruschka, E. R., Rosatelli, M. C., and Campello, R. J. G. B. (2004). Computação
natural: Uma breve visão geral. In Workshop em nanotecnologia e Computação Inspirada na
Biologia.
de Castro, L. N. and Von Zuben, F. J. (2001). Data Mining: A Heuristic Approach, chapter XII AiNet: an Artificial Immune Network for Data Analysis, pages 231–259. Idea Group Publishing,
USA.
de Paula, F., de Castro, L., and de Geus, P. (2004). An intrusion detection system using ideas from the
immune system. Evolutionary Computation, 2004. CEC2004. Congress on, 1:1059–1066 Vol.1.
Debar, H. (2000). An introduction to intrusion-detection systems. In In Proceedings of Connect
’2000, Doha, Qatar.
REFERÊNCIAS BIBLIOGRÁFICAS
108
DEBAR, H., BECKER, M., and SIBONI, D. (1992). A neural network component for an intrusion
detection system. In SP ’92: Proceedings of the 1992 IEEE Symposium on Security and Privacy,
page 240, Washington, DC, USA. IEEE Computer Society.
Dozier, G., Brown, D., Hou, H., and Hurley, J. (2007). Vulnerability analysis of immunity-based
intrusion detection systems using genetic and evolutionary hackers. Applied Soft Computing,
7(2):547 – 553.
Engelbrecht, A. (2002). Computational Intelligence: An Introduction. Halsted Press, New York, NY,
USA.
Fawcett, T. (2006). An introduction to roc analysis. Pattern Recogn. Lett., 27(8):861–874.
Fix, D. F. (2009). Humoral immunity - web site. http://www.cehs.siu.edu/fix/medmicro/hir.htm.
Acesso em: 15/03/2009.
Flake, G. W. (2000). The Computational Beauty of Nature: Computer Explorations of Fractals,
Chaos, Complex Systems, and Adaptation. The MIT Press.
Forrest, S. and Hofmeyr, S. (2001). Engineering an immune system. In Graft, volume 4:5, pages 5–9.
Forrest, S., Perelson, A., Allen, L., and Cherukuri, R. (1994). Self-nonself discrimination in a computer. Research in Security and Privacy, 1994. Proceedings., 1994 IEEE Computer Society Symposium on, pages 202–212.
Frank, J. and Mda-c, N. U. (1994). Artificial intelligence and intrusion detection: Current and future
directions. In In Proceedings of the 17th National Computer Security Conference.
Frank, N. (1999). Ferramentas ids. Technical report, Rede Nacional de Ensino e Pesquisa - RNP.
acessado em: 15/03/2009.
Greensmith, J. (2007). The Dendritic Cell Algorithm. PhD thesis, University of Nottingham.
Greensmith, J. and Aickelin, U. (2007). Dendritic cells for syn scan detection. In GECCO ’07:
Proceedings of the 9th annual conference on Genetic and evolutionary computation, pages 49–56,
New York, NY, USA. ACM.
Greensmith, J., Aickelin, U., and Cayzer, S. (2005a). Introducing dendritic cells as a novel immuneinspired algorithm for anomaly detection. In Artificial Immune Systems, LNCS, pages 153–167.
Springer.
Greensmith, J., Aickelin, U., and Twycross, J. (2005b). Detecting danger: Applying a novel immunological concept to intrusion detection systems. In 4th International Conference on Artificial
Immune Systems (ICARIS-05).
REFERÊNCIAS BIBLIOGRÁFICAS
109
Greensmith, J., Aickelin, U., and Twycross, J. (2006). Articulation and clarification of the dendritic
cell algorithm. In ICARIS, pages 404–417.
Hanegraaff, W. (2001). Simulating the immune system. Master’s thesis, University of Amsterdam.
Heberlein, L., Dias, G., Levitt, K., Mukherjee, B., Wood, J., and Wolber, D. (1990). A network
security monitor. Research in Security and Privacy, 1990. Proceedings., 1990 IEEE Computer
Society Symposium on, pages 296–304.
Hewlett-Packard Development Company, H. (2009). Hp-ux 11i host intrusion detection system
(hids) site. http://h20338.www2.hp.com/hpux11i/cache/324806-0-0-0-121.html. acessado em
15/03/2009.
Hofmeyr, S. (1999). An immunological model of distributed detection and its application to computer
security. PhD thesis, University of New Mexico.
Honeynet-Project (2009). Know your enemy: Statistics. http://old.honeynet.org/papers/stats/. acessado em 15/03/2009.
Innella,
P.
(2001).
The
evolution
of
intrusion
http://www.securityfocus.com/infocus/1514. acesso em 23/12/2008.
detection
systems.
Insecure.org (2009). Nmap - free security scanner for network exploration and security audits.
http://nmap.org/. Acesso em: 15/03/2009.
Jerne, N. K. (1974). Towards a network theory of the immune system. Annales d’immunologie,
125C(1-2):373–389.
Julisch, K. (2002). Mining intrusion detection alarms for actionable knowledge. In In The 8th ACM
International Conference on Knowledge Discovery and Data Mining, pages 366–375. ACM Press.
Katar, C. (2006). Combining multiple techniques for intrusion detection. International Journal of
Computer Science and Network Security (IJCSNS), 6(2B).
Kim, J. and Bentley, P. (2001a). Evaluating negative selection in an artificial immune system for
network intrusion detection. In Proceedings of GECCO, pages 1330–1337.
Kim, J. and Bentley, P. (2001b). The human immune system and network intrusion detection. In 7th
European Conference on Intelligent Techniques and Soft Computing (EUFIT ’99), pages 1244–
1252.
Kim, J. and Bentley, P. (2002). Towards artificial immune systems for network intrusion detection:
An investigation of dynamic clonal selection. In In Proceedings of the Congress on Evolutionary
Computation.
REFERÊNCIAS BIBLIOGRÁFICAS
110
Kim, J., Bentley, P. J., Aickelin, U., Greensmith, J., Tedesco, G., and Twycross, J. (2007). Immune
system approaches to intrusion detection — a review. Natural Computing: an international journal, 6(4):413–466.
Lawrence Berkeley National Laboratory, L. (2009).
http://www.bro-ids.org/. acessado em 15/03/2009.
Bro intrusion detection system site.
Lazarevic, A., Kumar, V., and Srivastava., J. (2005). Intrusion detection: A survey. Technical report,
University of Minnesota Supercomputing Institute.
Lincoln Laboratory MIT, M. (2009).
Deval. intrusion detection evaluation data set.
http://www.ll.mit.edu/mission/communications/ist/corpora/ideval/data/index.html. acessado em
15/03/2009.
Matzinger, P. (1994). Tolerance, danger and the extended family. Annual Reviews in Immunology,
pages 991–1045.
McHugh, J., Christie, A., and Allen, J. (2000). Defending yourself: The role of intrusion detection
systems. IEEE Softw., 17(5):42–51.
Mell, P., Hu, V., Lippmann, R., Haines, J., and Zissman, M. (2009). An overview of issues in testing
intrusion detection systems. http://csrc.nist.gov/publications/nistir/nistir-7007.pdf.
Mohajerani, M., Moeini, A., and Kianie, M. (2003). Nfids: a neuro-fuzzy intrusion detection system. Electronics, Circuits and Systems, 2003. ICECS 2003. Proceedings of the 2003 10th IEEE
International Conference on, 1:348–351 Vol.1.
Mukherjee, B., Heberlein, L. T., and Levitt, K. N. (1994). Network intrusion detection. IEEE
Network, 8(3):26–41.
Mukkamala, S., Janowski, G., and Sung., A. H. (2001). Intrusion detection using neural networks
and support vector machines. In nternational Conference on Hybrid Intelligent Systems (HIS).
Nabil, E., Badr, A., Farag, I., and Khozium, M. O. (2008). A hybrid artificial immune genetic
algorithm with fuzzy rules for breast cancer diagnosis. In Proc. of the 6th International Conference
on Informatics and Systems.
Nakashima, T., Yokota, Y., and Ishibuchi, H. (2003). Learning fuzzy if-then rules for pattern classification with weighted training patterns. In Proc. of 4th Conference of the European Society for
Fuzzy Logic and Technology and 11 Rencontres Francophones sur la Logique Floue et ses Applications.
REFERÊNCIAS BIBLIOGRÁFICAS
111
National Cancer Institute, N. I. o. A. and Diseases, I. (2003). Understanding the immune system and
how it works. http://www.niaid.nih.gov/Publications/immune/the_immune_system.pdf.
OSSEC-Team (2009). Home of ossec (open source host-based intrusion detection system).
http://www.ossec.net/. acessado em 15/03/2009.
Parpinelli, R. S., Lopes, H. S., and Freitas, A. A. (2002). Data mining with an ant colony optimization
algorithm. Evolutionary Computation, IEEE Transactions on, 6(4):321–332.
Patrício, D. C., Raimundo, L. R., da Silva, R. C., and da Cunha, D. P. (2006). Detecção de intrusão.
In II Congresso Sul Catarinense de Computação.
Percus, J. K., Percus, O., and Perelson, A. S. (1993). Predicting the size of the t-cell receptor and antibody combining region from consideration of effcient self/non-self discrimination. In Proceedings
of the National Academy of Science.
PreludeIDS-Technologies (2009).
15/03/2009.
Preludeids site.
http://www.prelude-ids.com.
acessado em
Puketza, N. J., Zhang, K., Chung, M., Mukherjee, B., and Olsson, R. A. (1996). A methodology for
testing intrusion detection systems. IEEE Trans. Softw. Eng., 22(10):719–729.
Qiu,
W. (2009).
Biol 230 lecture syllabus - clonal selection
http://diverge.hunter.cuny.edu/w̃eigang/Lecture-syllabus.html. acessado em 15/03/2009.
figure.
Scarfone, K. and Mell, P. (2007). Guide to intrusion detection and prevention systems (idps). Technical report, NIST Special Publication.
Somayaji, A., Hofmeyr, S., and Forrest, S. (1997). Principles of a computer immune system. In In
Proceedings of the Second New Security Paradigms Workshop, pages 75–82.
Sourcefire, I. (2009). Snort - the de facto standard for intrusion detection/prevention site.
http://www.snort.org. acessado em 15/03/2009.
Stibor, T., Timmis, J., and Eckert, C. (2005). A comparative study of real-valued negative selection
to statistical anomaly detection techniques. In Proceedings of the 4th International Conference on
Artificial Immune Systems, volume 3627 of LNCS, pages 262–275. Springer.
Sundaram, A. (2009). An introduction to intrusion detection. http://www.acm.org/crossroads/xrds24/intrus.html. Acesso em: 15/03/2009.
Tanenbaum, A. S. (2003). Computer Networks. Prentice-Hall, Inc., Upper Saddle River, NJ, USA,
4th edition.
REFERÊNCIAS BIBLIOGRÁFICAS
112
Timmis, J. (2007). Artificial immune systems - today and tomorrow. volume 6, pages 1–18.
Timmis, J., Andrews, P., Owens, N., and Clark, E. (2008). An interdisciplinary perspective on artificial immune systems. Evolutionary Intelligence, 1(1):5–26.
Twycross, J. (2007). Integrated innate and adaptive artificial immune systems applied to process
anomaly detection. PhD thesis, University of Nottingham.
Twycross, J. and Aickelin, U. (2005). Towards a conceptual framework for innate immunity. In 4th
International Conference on Artificial Immune Systems (ICARIS-05).
Twycross, J. and Aickelin, U. (2006a). Experimenting with innate immunity. In Proceedings of the
Workshop on Artificial Immune Systems and Immune System Modelling (AISB ’06), pages 18–19,
Bristol.
Twycross, J. and Aickelin, U. (2006b). libtissue - implementing innate immunity. Evolutionary
Computation, 2006. CEC 2006. IEEE Congress on, pages 499–506.
Untangle-Inc. (2009). Open source network gateway site. http://www.untangle.com/. acessado em
15/03/2009.
Verwoerd, T. and Hunt, R. (2002). Intrusion detection techniques and approaches. Computer Communications, 25(15):1356 – 1365.
Von Zuben, F. J. and de Castro, L. N. (2009).
Notas de aula - tópico 1.
ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/ia006_03/topico1_03.pdf.
Acesso em:
15/03/2009.
Wang,
J.-Y.
(2005).
Data
mining
analysis
(breast-cancer
http://www.csie.ntu.edu.tw/ p88012/AI-final.pdf. Acesso em: 13/04/2009.
data).
Wotring, B. and Potter, B. (2009). Osiris - host integrity monitoring site. http://osiris.shmoo.com/.
acessado em 15/03/2009.
Yu, Z., Tsai, J., and Weigert, T. (2007). An automatically tuning intrusion detection system. Systems,
Man, and Cybernetics, Part B, IEEE Transactions on, 37(2):373–384.
Zhang, C., Jiang, J., and Kamel, M. (2005). Intrusion detection using hierarchical neural networks.
Pattern Recognition Letters, 26(6):779 – 791.
Zhang, X., Li, C., and Zheng, W. (2004). Intrusion prevention system design. In CIT ’04: Proceedings
of the The Fourth International Conference on Computer and Information Technology, pages 386–
390, Washington, DC, USA. IEEE Computer Society.
Glossário - Termos e Siglas importantes
• algoritmo genético - Método que consiste na otimização de um problema através de soluções
inspiradas na teoria da evolução, empregando técnicas de seleção, cruzamento e mutação.
• ambiente API - do inglês Application Program Interface, constitui em um ambiente que permite
o desenvolvimento organizado de aplicações voltadas a um determinado usuário.
• anticorpo - Molécula gerada pelas células B em resposta a um antígeno, para que façam ligações
com os mesmos e neutralizá-los ou prepará-los para a digestão pelos fagócitos.
• antígeno - Substâncias introduzidas no organismo e reconhecidas pelo sistema imune adaptativo, geralmente patógenos. Geram os anticorpos. No sistema imune artificial, caracteriza um
padrão a ser estudado. No DCA,
• APC - do inglês Antigen Presenting Cell, Célula apresentadora de antígenos. São células que
capturam antígenos para apresentá-los à Célula-T. De acordo com o modelo do perigo, existem
dois sinais para sua ativação: o antígeno e a evidência do perigo.
• apoptose - Conhecida também como morte celular programada, é o processo no qual a célula
morre de forma natural. É caracterizada pela degeneração e condensação nuclear, onde os
residuos celulares sofrem fagocitose. De acordo com o modelo do perigo, esta é uma situação
normal no organismo.
• aprendizado de máquina - Termo na computação referente à capacidade de um sistema armazenar comportamentos e/ou situações e, posteriormente, reutilizar as mesmas soluções. Esta
capacidade consiste em técnicas ou recursos para tornar os computadores capazes de aprender
padrões de comportamento.
• ativação imune - Nome dado à resposta do sistema imune biológico onde o antígeno é identificado como inavsor (ou perigoso, de acordo com o Modelo do Perigo), e posteriormente, o
organismo reage ao mesmo.
• bits quânticos - Ou qubits, são tipos de bits usados na computação quântica, consiste em valores
0, 1 ou uma sobreposição de ambos.
• células B - São produzidas na medula óssea e se diferenciam em plasmócitos e células de
memória.
• células de memória - subdivisão das células B capazes de responder de forma mais rápida e
efetiva contra novas ocorrências de infecções.
113
Glossário
114
• células dendríticas - São as células apresentadoras e transportadoras de antígenos que o exibem
para as células-T e, de acordo com o modelo do perigo, coletam os sinais emitidos por células
danificadas para verificar se um antígeno está causando o dano. Estas células inspiraram a
criação do algoritmo usado no trabalho.
• células NK - São linfócitos granulares capazes de matar algumas células tumorais.
• células T - São produzidas no timo e participam diretamente das respostas imunes.
• células T auxiliares - Subconjunto de células T: carregam os marcadores CD4 e auxiliam na
produção de anticorpos, podendo ativar certos tipos de respostas imunes.
• células T citotóxicas - subconjunto de células T: carregam marcadores CD8 e podem matar
células infectadas por patógenos.
• células T supressoras - subconjunto de células T que interrompe respostas imunes, como a
produção de anticorpos.
• Computação Evolucionária - Linha de pesquisa que busca resolver problemas através de soluções baseadas na teoria da evolução. Incorporada pelos Algoritmos Genéticos, Programação
Genética e outros métodos.
• Computação Evolutiva - ver Computação Evolucionária.
• Computação Natural - Linha de pesquisa que busca estudar a influência da natureza (ou da biologia) em diversas áreas do conhecimento relacionadas com a computação. Esta influência se
dá ou através de soluções inspiradas em mecanismos naturais (em termos de software e hardware ou através de estudos computacionais sobre o comportamento de biosistemas, organismos
ou fenômenos naturais.
• CSM - Moléculas coestimulatórias secretadas quando as células dendríticas amadurecem. No
DCA, a migração é definida por um valor de limiar, e o CSM corresponde ao acúmulo desta
variável, até a ocorrência da migração que corresponde ao valor do CSM maior que o do limiar.
• Curva ROC - do inglês Receiver operating characteristic, métrica usada para verificar o quão
perfeita é uma técnica de detecção de anomalias. É construída através dos valores de sensibilidade e especificidade.
• data mining - Mineração ou garimpagem de dados. Consiste em adquirir alguns tipos de dados
mais refinados quanto à relevância da informação desejada.
• distância de Hamming - métrica que verifica a quantidade de bits que faz com que duas palavras
(ou soluções) sejam diferentes uma da outra.
Glossário
115
• distinção próprio e não-próprio - ver self/nonself.
• DCA - do inglês Dendritic Cell Algorithm, o algoritmo das células dendríticas. Abordagem
baseada em sistemas imunes artificiais usada no trabalho.
• DNA - do inglês Deoxyribonucleic acid, ou Ácido desoxirribonucleico, Composto de moléculas
que coordenam o funcionamento e desenvolvimento dos seres vivos. É o responsável direto
pelo código genético.
• DoS - do inglês Denial of Service. Obstrução em uma rede de computadores ocasionada acidental ou intencionalmente pelo uso indiscriminado dos recursos, impossibilitando o acesso
posterior aos mesmos.
• especificidade - medida que determina se um detector acertou quando verificou o comportamento normal de um sistema, de acordo com diferentes situações (ex: limiar de detecção).
• fagócitos - células que praticam a fagocitose, que constitui em internalizar partículas. Esse
processo contribui para a defesa imune, por causa da ingestão e digestão de agentes invasores.
• Firewall - Mecanismo de segurança que consiste em bloquear as portas de rede, que possibilitam a entrada de qualquer processo malicioso ou uma eventual invasão.
• hacker - palavra em inglês que caracteriza um invasor em um sistema computacional. Este
invasor usa recursos da rede para obter informações não autorizadas, causar falhas ou efetuar
operações ilegais, geralmente em proveito próprio.
• hipermutação somática - Mutação sofrida que permite maior diversidade de anticorpos e, consequentemente, maior afinidade com os antígenos. Ocorre durante a resposta das células B
aos antígenos. No sistema imunoinspirado, a hipermutação consiste em gerar diversidade de
soluções nos algoritmos CLONALG e aiNET.
• homeostase - Situação em que o organismo assume o estado fisiológico normal, livre de qualquer ameaça.
• honeypot - Sistema que possui falhas de segurança reais ou virtuais, colocadas propositadamente, com o objetivo de permitir invasões e estudar a sua origem.
• HIDS - do inglês Host-based intrusion detection system, detecção de intrusão baseado em host:
o sistema é implantado na própria máquina, com o objetivo de detectar a intrusão.
• idiotopo - antígeno que constitui o anticorpo para estimular respostas reguladoras na rede idiotípica. O conjunto de idiotopos é denominado idiotipo e forma a característica antigênica.
Glossário
116
• Inteligência Computacional - Linha de pesquisa na qual são empregadas técnicas que tentam
desenvolver em um sistema de computação características semelhantes às de um ser humano,
principalmente inteligência.
• Inteligência de Enxames - Linha de pesquisa que estuda sistemas inspirados em comportamento
coletivo, tais como o algoritmo PSO, colônia de formigas, entre outros.
• IP - do inglês Internet protocol. Endereço ou conjunto de números que definem a localização
de um computador na rede. é constituído de quatro números de 0 a 255, separados entre si por
pontos. ex.: 192.168.0.1 - endereço da rede local.
• Intrusion detection system (IDS) - Sistema de detecção de intrusos, capaz de gerar alarmes uma
vez detectada a ocorrência de uma intrusão na rede de computadores. Este sistema caracteriza
o trabalho.
• Intrusion prevention system (IPS) - Sistema de prevenção contra intrusos, diferente do IDS, o
IPS previne a ocorrência de intrusões em um sistema.
• LAN - do inglês Local Area Network, rede de computadores construída para atender a um
pequeno número de pessoas. Exemplos: redes empresariais ou redes particulares.
• linfócito CTL - ver células T citotóxicas.
• linfócitos B - ver células B.
• linfócitos T - ver células T.
• MAN - do inglês Metropolitan Area Network, extensão das LANs, buscando atender clientes
de uma localização similar à de uma cidade.
• MCAV - do inglês Mature Coefficient Antigen Value, variável que indica o grau de periculosidade de um antígeno no algoritmo das células dendríticas. Responsável pela classificação do
antígeno e pela resposta do sistema a anomalia.
• medula óssea - Tecido encontrado em cavidades ósseas onde são gerados os elementos celulares
do sangue e, nos mamíferos, onde são desenvolvidos os linfócitos B.
• MHC - do inglês Major Histocompatibility Complex, conjunto de genes que codificam as moléculas MHC e proteínas envolvidas no processamento de antígenos e defesa do hospedeiro.
• modelo do perigo - Modelo que desafia a teoria clássica da imunologia (self/nonself ), afirmando
que o dano causado pelos patógenos, e não a definição dos patógenos como invasores, é a real
causa da resposta do sistema imunológico. Esta idéia contribuiu para o surgimento de novas
Glossário
117
pesquisas sobre sistemas imunes artificiais e a extração de novas características. Este trabalho
foi desenvolvido através de estudos inspirados no modelo do perigo.
• necrose - Morte da célula acidental ou provocada por anomalias. No modelo do perigo, constitui
em um sinal de perigo.
• network probing - Sondagem da rede. Técnica que consiste em buscar dados sobre outros
computadores da rede. Muito usado por administradores, mas também por invasores. Constitui
em uma atividade administrativa, assim como em uma técnica de intrusão muito usada.
• NIDS - do inglês Network-based intrusion detection system, detecção de intrusão baseado em
rede: o sistema é implantado em um servidor, onde a detecção é sinalizada.
• nodos linfáticos - tecidos que se formam ao longo dos vasos linfáticos e que, em caso de infecção, ou doença maligna, podem aumentar de volume.
• otimização por enxame de partículas - ver PSO.
• pacotes TCP - São responsáveis pelo tráfego de informações em uma rede de computadores. A
principal característica destes pacotes é a necessidade de conexão e confirmação para a comunicação entre sistemas.
• PAMP - do inglês Pathogen associated molecular patterns, são padrões de um potencial causador de danos no organismo, caracterizando uma anomalia. No DCA, os PAMP caracterizam
um sinal de uma forte evidência de anomalia.
• paratopo - marcador da molécula de um anticorpo que se liga ao anticorpo correspondente.
• patógeno - caracteriza qualquer agente que possa causar doenças.
• ping scan - atividade que consiste em verificar quais máquinas estão ativas em uma rede de
computadores. Muito usada por administradores, mas também por potenciais invasores. A
detecção de uma ocorrência indevida de ping scan é o objetivo do trabalho.
• plasmócitos - subdivisão das células B que produzem anticorpos.
• port scan - consiste em verificar quais portas (entradas de um computador na rede) estão abertas,
o que pode caracterizar vulnerabilidades no sistema. Uma variante do ping scan.
• PSO - do inglês Particle Swarm Optimization, solução para problemas de otimização baseada
em enxame de partículas. O sistema consiste em otimizar a posição da partícula em relação ao
melhor valor individual e ao melhor valor do conjunto.
Glossário
118
• R2L - do inglês Remote to Host, é um tipo de intrusão em que um usuário não autorizado acessa
remotamente o sistema como um usuário local.
• Rede Imune - Teoria em que as células do sistema imune, além de reconhecer o antígeno,
reconhecem-se mutualmente através de ligações. Essa teoria inspirou a criação do algoritmo
aiNET.
• Redes Neurais Artificiais - Conjunto de técnicas que visam à simulação do aprendizado e tentam simular o funcionamento do neurônio humano, dentre elas estão os Perceptrons, algoritmo
Back-Propagation, redes SOM, redes RBF e outras. São consideradas as abordagens mais clássicas de aprendizado de máquina.
• seleção clonal - Teoria em que as células B produzem anticorpos através da clonagem dos
mesmos, com o objetivo de garantir uma resposta mais rápida contra um antígeno, caso este
volte a invadir o organismo. Inspirou a criação do algoritmo CLONALG.
• seleção negativa - Processo realizado pelas células B e células T no qual o reconhecimento
de um padrão conhecido do organismo causa a remoção da célula. Constitui a base da teoria
clássica da imunologia.
• seleção positiva - Processo realizado pelas células T, ainda no timo, em que estas células deverão reconhecer os antígenos apresentados por moléculas MHC conhecidas para o posterior
amadurecimento.
• self/nonself - Teoria fundamentada no princípio de que o sistema imune funciona através da
distinção de padrões conhecidos pelo organismo e, ao detectar um padrão desconhecido, a
resposta imune é ativada. É parte fundamental da teoria da seleção negativa.
• sensibilidade - medida que determina se um detector acertou ao detectar anomalias de acordo
com diferentes situações (ex: limiar de detecção).
• sistema complemento - Proteínas envolvidas no controle da inflamação, ativação de fagócitos e
ataque às membranas celulares. Pode ser ativado pela interação com o sistema imune.
• Sistema Imune - Também chamado de sistema imunológico, é o mecanismo de defesa dos seres
vivos, respondendo contra reações consideradas nocivas ao organismo humano. Este sistema
inspirou uma nova linha de pesquisa (ver Sistemas Imunes Artificiais).
• Sistemas Fuzzy - Tipos de sistema baseado na lógica Fuzzy, que é definida pelos intervalos de
certeza entre 0 e 1, em detrimento da lógica binária, que é definida pelos valores 0 e 1 apenas.
Glossário
119
• Sistemas Imunes Artificiais - Linha de pesquisa que é definida por sistemas computacionais
inspirados no sistema imune dos seres vivos, sobretudo o humano, por causa das características e benefícios providos pelo sistema imune, como robustez, tolerância a falhas, memória,
adptabilidade, etc.
• Sistemas imunoinspirados - ver Sistemas Imunes Artificiais.
• sistemas multiagentes - Sistema computacional constituído de agentes, elementos que seguem
regras e comportamentos pré-definidos e implementados.
• sniffer - programa que permite ler o conteúdo de um pacote de comunicação de dados em uma
rede de computadores.
• SSH - do inglês Secure Shell, protocolo de conexão remota e segura entre computadores, diferente do Telnet, permite o uso de criptografia e tunelamento.
• telnet - protocolo de conexão remota entre computadores. A comunicação é feita em formato
de texto e não implementa requisitos de segurança, razão pela qual este protocolo tem sido
substituído pelo SSH.
• teoria do perigo - ver modelo do perigo.
• timestamp - Marcas de tempo usadas para registrar o instante em que ocorre uma operação.
Muito usado em tráfego de informações. Neste trabalho, foi usado para auxiliar a correlação
antígeno/sinal.
• timo - órgão linfóide onde os linfócitos T são proliferados e amadurecem.
• U2S - do inglês User to Super User, consiste em um ataque onde o invasor garante privilégios
de super usuário, ou administrador, por exemplo. Não consiste propriamente em um problema
de intrusão em redes, a menos que o sistema seja acessado remotamente ou através da rede.
• Vasos linfáticos - Canais que transportam os linfócitos no organismo.
• WAN - do inglês Wide Area Network, extensão das LANs e MANs, buscando atender a vários
clientes. Um exemplo de rede WAN é a Internet, que constitui em um conjunto de redes.
Download

Detecção de Intrusão em Redes de Computadores