• Nenhum resultado encontrado

Neste capítulo foram apresentados os principais conceitos relacionados à detecção de intrusão. Utilizando esses conceitos, foram discutidas as principais abordagens e pesquisas constantes no desenvolvimento de tecnologias aplicadas à detecção de intrusos em redes de computadores.

Detecção de Intrusão em Redes de Computadores 27 A detecção de intrusos é uma solução, que associada ao uso de outras tecnologias, tais como anti-vírus, firewalls, criptografia, busca aumentar o nível de segurança de uma rede pri- vada, visto que, isoladamente, nenhuma tecnologia oferece um elevado grau de segurança, per- mitindo, simultaneamente, flexibilidade e liberdade no uso dos recursos protegidos [5].

Portanto, a continuidade dos projetos e a busca por métodos alternativos de segurança de redes têm sido uma preocupação constante dos pesquisadores. Neste contexto, o presente trabalho representa mais uma possibilidade de expansão do conhecimento teórico e prático de novas tecnologias aplicadas a essa área.

Como pretende-se aplicar códigos corretores de erros (ver Apêndice D) e medidas de informação ao problema de classificação de atividades ocorridas num sistema computacional como uma operação normal ou suspeita (indicando qual o tipo de ataque ocorrido), coletados em uma rede de computadores ou em um sistema em particular, no próximo capítulo serão apresentados, de uma forma resumida, os conceitos sobre classificação de dados, com ênfase nos modelos baseados em árvore de decisão, descrevendo os aspectos relevantes para esta tese.

CAPÍTULO

3

Técnicas e Algoritmos de Classificação

Uma vez descritos os conceitos e os métodos aplicados na detecção de intrusão, é pos- sível buscar novos modelos que representem melhor as condições atuais da segurança com- putacional. Neste trabalho, a detecção de intrusão é vista como um problema de classificação. Então, para melhor compreensão sobre os problemas de classificação, neste capítulo são apre- sentados os conceitos básicos associados, bem como será apresentado o algoritmo de árvore de decisão C4.5, baseado em medidas de informação de Shannon [84], que faz parte do con- texto deste trabalho. Por fim, será apresentado o uso de medidas de informação de Rényi [40] e Tsallis [41, 42] aplicadas na construção de árvores de decisão C4.5, como parte integrante deste trabalho de tese.

3.1

O Processo de Classificação de Dados

Para se determinar a classe a que pertence uma dada instância, com base nos valores de seus ℵ atributos, pode ser utilizado um classificador, também chamado de modelo de de- cisão [11]. Este modelo é construído por meio de um processo de aprendizagem, normalmente categorizado como aprendizagem supervisionada, realizado com base em um conjunto de ins- tâncias rotulados em diferentes classes, levando em consideração os valores de seus atributos, utilizado para treinar um classificador, conforme ilustrado na Figura 3.1.

Em geral, o conjunto de instâncias é dividido em dois subconjuntos disjuntos: o conjunto de µ instâncias de treinamento, que é usado para o aprendizado do conceito e o conjunto de m (normalmente m < µ) instâncias de teste usado para medir a capacidade de generalização do modelo indutivo na predição da classe de novos exemplos. Esse processo de divisão da base de dados é realizado com o objetivo de assegurar que as medidas obtidas, utilizando o conjunto de teste, sejam de um conjunto diferente do usado para realizar o aprendizado, tornando a medida estatisticamente válida.

Técnicas e Algoritmos de Classificação 29

Figura 3.1 Processo de indução a partir do aprendizado supervisionado.

Atributos Classe Algoritmo de Aprendizagem Modelo de Aprendizagem Avaliação Classificador ^ Mais Compacto (genérico) x1 x11 x12 . . . . x1א y1 x2 x21 x22 . . . . x2 א y2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xμ xμ1 xμ2 . . . .x μא yμ z1 z11 z12 . . . . z1א ? . . . . . . . . . . . . . . . . zm zm1 zm2 . . . . zm א ? Conjunto de Treinamento Conjunto de Teste Atributos Classe

Com base na Figura 3.1, dado T = {(~x1, y1), ..., (~xµ, yµ)} um conjunto de µ instâncias de treinamento com M classes e D = {(~z1, ˆy1), ..., (~zm, ˆym)} um conjunto de m instâncias de teste, ambos com ℵ atributos A1, ..., Aℵ, em que:

• i refere-se à i-ésima instância do conjunto T (i = 1, 2, ..., µ); • o objeto ~xi = (xi1, ..., xiK) ∈ X = {~x1, ..., ~xµ};

• a componente xij refere-se ao valor do j-ésimo (j = 1, 2, ..., ℵ) atributo Aj da instância i, em que xij ∈ Vj = {v1, ..., vη} em que η refere-se ao número de valores distintos, no caso discreto (binário ou multivalorado), ou xij ∈ Vj = I ⊂ R, em que I é um intervalo fechado, quando o atributo é do tipo contínuo.

• yi é uma variável que tem valores discretos e pertence a uma das M classes, ou seja, yi ∈ Y = {c1, ..., cM};

• l refere-se à l-ésima instância do conjunto D (l = 1, 2, ..., m); • o objeto ~zl = (zl1, ..., zlJ) ∈ Z = {~z1, ..., ~zm};

• a componente zljrefere-se ao valor do j-ésimo (j = 1, 2, ..., ℵ) atributo Aj da instância l, podendo ser do tipo discreto ou contínuo;

• ˆyl = f (zi) é uma função, também chamada de regra de decisão, que tentará predizer a classe de um objeto ~zi, sendo que ˆyltem valores discretos e pertence a uma das M classes, ou seja, ˆyl ∈ Y = {c1, ..., cM}.

Técnicas e Algoritmos de Classificação 30 Conforme ilustrado nas Figuras 3.1 e 3.2, supondo que exista uma função f : X → Y , normalmente desconhecida, que mapeia cada objeto ~xi ∈ X a um elemento de Y , estabelecendo uma relação funcional de dependência entre o conjunto de atributos observados em cada objeto e a variável classe. Então, a tarefa de inferência indutiva é encontrar uma função ˆf que se aproxime da função f , dado o conjunto de instâncias de treinamento. Uma vez identificada, essa função pode ser aplicada a novas instâncias de forma a predizer, com a maior precisão possível, a classe em que tais instâncias se enquadram. O classificador gerado após o processo de aprendizagem fornece uma interpretação compacta das instâncias fornecidas.

Figura 3.2 Associação entre o conjunto de objetos e as classes.

x1 x2 x3 . . . xτ f (?)

Conjunto de Objetos Conjunto de Classes

c1 c2 . . . cM (?)

Conjunto de Objetos Conjunto de Classes

Observa-se que, nesse contexto, todo objeto do conjunto T de instâncias possui exata- mente o mesmo número ℵ de atributos e ~xi pode ser entendido ou referenciado como um vetor de atributos. Um problema de classificação no qual M = 2, é denominado binário. Para M > 2 configura-se um problema multiclasses, que é objeto de estudo deste trabalho de tese.

Baseado no que foi exposto, o processo de indução a partir da aprendizagem super- visionada pode ser formulado como uma busca, ou seja, procura-se, entre todas as hipóteses que o algoritmo seja capaz de gerar, a partir das instâncias de treinamento, aquela com melhor capacidade de descrever o domínio em que ocorre o aprendizado.