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.