• Nenhum resultado encontrado

Por meio de uma outra visão do problema, algumas abordagens estão sendo aplicadas na área detecção de intrusão, dentre elas, as que serão descritas a seguir:

2.4.1

Abordagem baseada em agentes

Abordagens baseadas em agentes inteligentes são compostas por sistemas computa- cionais residentes em ambientes dinâmicos complexos, os quais percebem e atuam autonoma- mente neste ambiente e, ao fazê-lo, realizam um conjunto de objetivos e tarefas para os quais foram designados [46]. Num sistema multiagentes, os agentes precisam se comunicar, visando seus objetivos locais ou convergindo para um objetivo global.

Existem alguns fatores motivadores quanto ao uso de agentes para detectar intrusões, os quais venham garantir as características desejáveis em um SDI:

• os agentes podem ser adicionados e removidos do sistema sem precisar reiniciá-lo, tor- nando fácil a sua manutenção e atualização;

• os agentes podem ser treinados para identificar novos ataques;

• os agentes podem ser ativados e desativados dinamicamente para realizarem suas tarefas, proporcionando, com isso, melhor uso dos recursos do sistema;

• um agente pode ser configurado especificamente para as necessidade de um host ou uma rede, aumentando o poder de configuração do sistema;

• o uso de agentes garante maior tolerância a falhas do que em sistemas tradicionais. Uma vez que os sistemas multiagentes possuem uma estrutura descentralizada e dotada de alto grau de intercomunicação, estes sistemas apresentam maior flexibilidade, bem como, maior probabilidade de sobrevivência;

Detecção de Intrusão em Redes de Computadores 24 • agentes podem ser adicionados para aumentar a capacidade do SDI, permitindo que os

mesmos operem em sistemas maiores.

Visando atingir essas características, o uso de agentes em sistemas de detecção de in- trusão tem sido proposto por diversos grupos de pesquisa [46, 66, 67].

2.4.2

Abordagens baseadas no sistema imunológico

As primeiras pesquisas envolvendo imunologia e segurança computacional surgiram em 1994 com os trabalhos de [68, 69], desencadeando uma série de outros trabalhos, tais como os de [70, 71].

Com a mesma concepção dos agentes, o sistema imunológico, fundamental para a so- brevivência de um indivíduo, constitui um sistema distribuído em que um grande número de células e moléculas, com funções específicas e trabalhando de forma independente, age coo- perativamente, utilizando mecanismos de comunicação ou sinalização para atuarem de forma eficiente na defesa do organismo contra microorganismos tipo vírus e bactérias.

É possível encontrar no sistema imunológico biológico um modelo que apresenta uma série de características desejáveis a um sistema de segurança. Dentre elas, pode-se destacar, segundo [72]:

• Unicidade: cada indivíduo possui seu próprio sistema imunológico, com suas capacidades e vulnerabilidades particulares;

• Reconhecimento de padrões internos e externos ao sistema: as células que não pertencem ao organismo são identificadas e eliminadas pelo sistema imunológico;

• Detecção de anomalia: o sistema imunológico pode detectar e reagir a agentes invasores que o organismo nunca foi exposto anteriormente;

• Detecção imperfeita (tolerância a ruídos): não é necessário um reconhecimento perfeito para que o sistema imunológico humano reaja contra um elemento causador de patologia; • Diversidade: existe uma quantidade limitada de células e moléculas no sistema imunoló- gico humano que são utilizadas para se obter o reconhecimento de um número pratica- mente ilimitado de elementos, incluindo aqueles sintetizados em laboratório;

• Aprendizagem por reforço: a cada encontro com o mesmo patógeno, o sistema imunoló- gico melhora a qualidade de sua resposta; e

• Memória: os componentes do sistema imunológico humano bem sucedidos no reconhe- cimento e combate às patologias são armazenados para uma resposta futura mais intensa e efetiva.

Detecção de Intrusão em Redes de Computadores 25 Considerando essas características, Dasgupta [73] propôs uma arquitetura que serviu como base para a implementação do sistema de detecção de intrusão SANTA (Security Agents for Network Traffic Analysis) [74]. Outras pesquisas nessa linha podem ser referenciadas tais como o sistema adaptativo distribuído chamado Artificial Immune System (ARTIS), o qual foi aplicado na área de segurança de computadores sob a forma de um sistema de detecção de intrusos baseado em anomalia e assinatura denominado Lightweight Intrusion Detection System (LISYS) [75]. Além disso, de Paula [76] projetou o ADENOIDS para detectar ataques na camada de aplicação e automatizar a extração de assinaturas para ataques remotos do tipo buffer overflow.

Os sistemas imunológicos artificiais são um conjunto de sistemas inspirados no sis- tema imunológico humano, que podem ser aplicados a diversas áreas, como reconhecimento de padrões, classificação, otimização de problemas, detecção de anomalias, aprendizado de máquina, dentre outros. De um modo geral, os sistemas imunológicos artificiais podem ser classificados em três categorias principais: os inspirados na teoria de redes imunológicas, os que são baseados no princípio da seleção clonal e os que utilizam técnicas inspiradas no meca- nismo de reconhecimento próprio/nãopróprio.

Exemplos de sistemas imunológicos artificiais aplicados na otimização, reconhecimento de padrões e aprendizado de máquina têm-se: o algoritmo de seleção clonal (CLONALG) [77], o sistema de classificação clonal (CSCA) [78], o sistema de reconhecimento imunológico arti- ficial (AIRS) [79], a rede imunológica (aiNet) [72] e IMMUNOS-99 [80].

Um estudo comparativo sobre os algoritmos CLONALG, CSCA, AIRS e IMMUNOS- 99 foi realizado como parte integrante desta tese e os resultados obtidos deste estudo foram publicados em [17] (encontrados nos anexos desta tese). Uma descrição sucinta de cada algo- ritmo pode ser encontrada no Apêndice J.

2.4.3

Mineração de dados

Considerando que na detecção de intrusão uma das dificuldades se dá ao grande volume de dados a serem analisados, faz-se necessário o uso de técnicas que possibilitem a descoberta de padrões de forma automatizada. Essas técnicas são conhecidas como descoberta de conheci- mento em bases de dados ou simplesmente KDD (Knowledge Discovery in Databases) [12].

O processo de KDD é realizado por meio de vários métodos de extração de informações, conhecido como mineração de dados, principal fase do processo de KDD, responsável pela seleção dos métodos a serem utilizados para localizar padrões, que podem não estar aparentes em outros métodos de inspeção. Dentre os principais métodos, têm-se a classificação, regressão, agrupamento e associação [11].

A tarefa de classificação visa identificar a qual classe uma determinada instância per- tence. A regressão (ou estimação) é similar à classificação, porém é usada quando a instância é identificada por um valor numérico e não um categórico. Assim, pode-se estimar o valor de

Detecção de Intrusão em Redes de Computadores 26 uma determinada variável, analisando-se os valores das demais. Por exemplo, um conjunto de instâncias contendo os valores mensais gastos por diversos tipos de consumidores e de acordo com os hábitos de cada um. Após ter analisado os dados, o modelo de regressão é capaz predizer qual será o valor gasto por um novo consumidor [12].

O agrupamento de dados visa identificar e aproximar as instâncias similares. Um agru- pamento (ou cluster) é uma coleção de instâncias similares entre si, porém diferentes das outras instâncias nos demais agrupamentos. Esta tarefa difere da classificação, pois não necessita que as instâncias sejam previamente categorizadas (aprendizado não-supervisionado). Além disso, a tarefa de agrupamento não tem a pretensão de classificar, estimar ou predizer o valor de uma variável, ela apenas identifica os grupos de dados similares [81, 82].

Por fim, o processo de associação consiste em identificar quais atributos estão rela- cionados. Em geral, apresentam a forma: SE atributo X, ENTÃO atributo Y. Um exemplo de aplicação deste modelo pode ser na análise das chamadas "Cestas de Compras", em que são identificados quais produtos são levados juntos pelos consumidores [12].

Uma vez que é pretendido categorizar diversos tipos de ataques a uma redes de com- putadores, então, no contexto deste trabalho, será dado enfoque ao método de classificação. Dentre os algoritmos baseados na classificação de tipos de ataques em redes de computadores, tem-se as árvores de decisão [13–15], que se baseiam na estratégia de dividir para conquistar. Esses algoritmos procuram encontrar formas de dividir sucessivamente o universo em vários subconjuntos até que cada um deles contemple apenas uma classe ou até que uma das classes demonstre uma clara maioria, não justificando posteriores divisões.

Como parte integrante deste trabalho de tese, foi realizado um estudo comparativo entre o algoritmo de árvore de decisão C4.5 [83], que usa medidas de informação de Shan- non [84] para a construção de árvores de decisão e os algoritmos CLONALG [77], CSCA [78], o AIRS [79] e o IMMUNOS-99 [80], inspirados no sistema imunológico humano, aplicados na detecção de intrusos visando encontrar alternativas mais eficientes na construção de sistemas que sejam tolerantes a intrusões.

Os resultados obtidos no estudo supracitado, que podem ser vistos no Apêndice J, apon- tam o algoritmo de árvore de decisão C4.5 obtendo o melhor desempenho na classificação de tipos de ataques. Este estudo comparativo serviu de inspiração para novas pesquisas utilizando árvore de decisão C4.5 e que serão abordadas nos capítulos seguintes.