universidade federal fluminense escola de engenharia curso ......estudo de sele˘c~ao de atributos...

59
Universidade Federal Fluminense Escola de Engenharia Curso de Gradua¸ c ˜ ao em Engenharia de Telecomunica¸ c ˜ oes Let ´ ıcia Rodrigues de Sousa Estudo de Sele¸c˜ao de Atributos para Redes Neurais Artificiais Aplicadas a Sistemas de Detec¸c˜ao de Intrus˜ ao em Redes de Computadores Niter´ oi – RJ 2017

Upload: others

Post on 03-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Universidade Federal Fluminense

Escola de Engenharia

Curso de Graduacao em Engenharia de

Telecomunicacoes

Letıcia Rodrigues de Sousa

Estudo de Selecao de Atributos para Redes Neurais

Artificiais Aplicadas a Sistemas de Deteccao de

Intrusao em Redes de Computadores

Niteroi – RJ

2017

Page 2: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

ii

Letıcia Rodrigues de Sousa

Estudo de Selecao de Atributos para Redes Neurais Artificiais Aplicadas a Sistemas de

Deteccao de Intrusao em Redes de Computadores

Trabalho de Conclusao de Curso apresentado ao

Curso de Graduacao em Engenharia de Teleco-

municacoes da Universidade Federal Fluminense,

como requisito parcial para obtencao do Grau de

Engenheiro de Telecomunicacoes.

Orientador: Prof. Dr. Joao Marcos Meirelles da Silva

Niteroi – RJ

2017

Page 3: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

iii

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

.

.

Page 4: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

iv

Letıcia Rodrigues de Sousa

Estudo de Selecao de Atributos para Redes Neurais Artificiais Aplicadas a Sistemas de

Deteccao de Intrusao em Redes de Computadores

Trabalho de Conclusao de Curso apresentado ao

Curso de Graduacao em Engenharia de Teleco-

municacoes da Universidade Federal Fluminense,

como requisito parcial para obtencao do Grau de

Engenheiro de Telecomunicacoes.

Aprovada em 12 de Julho de 2017.

BANCA EXAMINADORA

Prof. Dr. Joao Marcos Meirelles da Silva - Orientador

Universidade Federal Fluminese - UFF

Prof. Dr. Murilo Bresciani de Carvalho

Universidade Federal Fluminese - UFF

Prof. Dra. Natalia Castro Fernandes

Universidade Federal Fluminense - UFF

Niteroi – RJ

2017

Page 5: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

v

A minha mae, que sempre acreditou nas mi-

nhas escolhas, e ao meu namorado, Aroldo

Mascarenhas Neto, que foi meu porto seguro

diante das dificuldades deste percurso.

Page 6: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

vi

Agradecimentos

Agradeco a minha famılia que sempre me apoiou e deu suporte aos meus sonhos.

Agradeco aos meus queridos amigos Allex Ornellas, Monick Araujo, Nathalia

Soares, Rıguel Ruiz e Marianna Lobosco por me fornecerem suporte emocional em todos

os momentos que precisei durante esta jornada.

Agradeco aos meus amigos Gabriel Chaves e Wescley Leal, pela nossa parceria

durante a faculdade.

Agradeco ao meu namorado, Aroldo Mascarenhas Neto, por ter ficado sempre ao

meu lado, me incentivando e nao me deixando desanimar. Muito obrigada por ser meu

anjo da guarda e por toda a sua dedicacao.

Agradeco ao meu coordenador de estagio na Petrobras, Carlos Frederico Ogliari

Arruda Correia, pelos dois anos de amizade e compreensao. Obrigada pela confianca que

teve em mim e pelo conhecimento que me foi passado.

Agradeco ao professor Andres Pablo Lopez Barbero pelos ensinamentos passados

durante o perıodo em que trabalhei no Laboratorio de Comunicacoes Opticas da UFF.

Agradeco a professora Leni Joaquim pelo tempo dedicado a mim durante o tempo

em que estagiei no Laboratorio de Propagacao da UFF.

Agradeco ao meu orientador, professor Joao Marcos Meirelles da Silva, por todo o

conhecimento passado.

Agradeco aos professores Murilo e Natalia Castro Fernandes, por aceitar o convite

para compor a banca avaliadora deste trabalho.

Agradeco a todos os professores do Departamento de Engenharia de Telecomuni-

cacoes pela contribuicao a minha formacao.

Agradeco a todos os amigos que fiz na UFF por terem tornado este caminho mais

leve!

Page 7: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

vii

Lista de Figuras

4.1 Arquitetura da Rede Neural Utilizada para Duas Classes. . . . . . . . . . . 21

4.2 Arquitetura da Rede Neural Utilizada para Cinco Classes. . . . . . . . . . 21

5.1 Matriz de confusao fornecida pela rede neural do MatLab. . . . . . . . . . 23

5.2 Matriz de confusao para o PCA com duas classes. . . . . . . . . . . . . . . 25

5.3 Matriz de confusao para o factoran com duas classes. . . . . . . . . . . . . 26

5.4 Matriz de confusao para o SVD com duas classes. . . . . . . . . . . . . . . 28

5.5 Matriz de confusao para o nnmf com duas classes. . . . . . . . . . . . . . . 30

5.6 Grafico comparativo da acuracia da rede para 2 classes. . . . . . . . . . . . 32

5.7 Matriz de confusao do PCA com cinco classes. . . . . . . . . . . . . . . . . 34

5.8 Matriz de confusao do factoran com cinco classes. . . . . . . . . . . . . . . 36

5.9 Matriz de confusao do svd com cinco classes. . . . . . . . . . . . . . . . . . 38

5.10 Matriz de confusao do nnmf com cinco classes. . . . . . . . . . . . . . . . . 40

5.11 Grafico comparativo da acuracia dos algorıtimos para 5 classes. . . . . . . 42

Page 8: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

viii

Lista de Tabelas

4.1 Lista de Atributos do KDD CUP 99. . . . . . . . . . . . . . . . . . . . . . 13

4.2 Tipos de ataques divididos em classes no KDD CUP 99. . . . . . . . . . . 15

4.3 Parametros da rede neural utilizada. . . . . . . . . . . . . . . . . . . . . . 21

5.1 Porcentagem de erros e acertos do classificador com duas classes para o pca. 24

5.2 Porcentagem de erros e acertos do classificador com duas classes para o

factoran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.3 Porcentagem de erros e acertos do classificador com duas classes para o svd. 29

5.4 Porcentagem de erros e acertos do classificador com duas classes para o nnmf. 31

5.5 Porcentagem de erros e acertos do classificador com cinco classes para o pca. 35

5.6 Porcentagem de erros e acertos do classificador com cinco classes para o

factoran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.7 Porcentagem de erros e acertos do classificador com cinco classes para o svd. 39

5.8 Porcentagem de erros e acertos do classificador com cinco classes para o

nnmf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Page 9: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Sumario

Agradecimentos vi

Lista de Figuras vii

Lista de Tabelas viii

Resumo xi

Abstract xii

1 Introducao 1

1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Ataques em Redes de Computadores 4

3 Revisao Bibliografica 7

4 Implementacao 12

4.1 Redes Neurais Artificiais no MatLab . . . . . . . . . . . . . . . . . . . . . 12

4.2 O KDD CUP 99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3 Selecao de Atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.3.1 Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . 17

4.3.2 Factor Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3.3 Singular Value Decomposition . . . . . . . . . . . . . . . . . . . . . 18

4.3.4 Nonnegative Matrix Factorization . . . . . . . . . . . . . . . . . . . 19

4.4 Inserindo os dados na rede neural . . . . . . . . . . . . . . . . . . . . . . . 20

ix

Page 10: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

x

5 Resultados 22

5.1 Classificacao: acesso normal x intrusao . . . . . . . . . . . . . . . . . . . . 22

5.1.1 Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . 24

5.1.2 Factor Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1.3 Singular Value Decomposition . . . . . . . . . . . . . . . . . . . . . 27

5.1.4 Nonnegative Matrix Factorization . . . . . . . . . . . . . . . . . . . 29

5.1.5 Comparacao dos metodos trabalhando com duas classes . . . . . . . 31

5.2 Classificacao: acesso normal x tipo de invasao . . . . . . . . . . . . . . . . 32

5.2.1 Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . 33

5.2.2 Factor Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2.3 Singular Value Decomposition . . . . . . . . . . . . . . . . . . . . . 37

5.2.4 Nonnegative Matrix Facotization . . . . . . . . . . . . . . . . . . . 39

5.2.5 Comparacao dos metodos trabalhando com cinco classes . . . . . . 41

6 Conclusao 43

7 Sugestoes para trabalhos futuros 45

Referencias Bibliograficas 46

Page 11: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

xi

Resumo

Um ambiente de simulacao muitas vezes requer a utilizacao de bancos de dados para

testes. Algumas bases, porem, possuem um numero elevado de elementos, se tornando

difıceis de trabalhar tanto por limitacoes da memoria da aplicacao utilizada quanto pelo

fato de conter informacoes redundantes. Em uma rede neural artificial, o excesso de dados

irrelevantes pode causar perda de eficiencia do classificador. O presente trabalho utili-

zara quatro diferentes metodos de selecao de atributos a partir de algoritmos disponıveis

no MatLab sobre um banco de dados contendo um conjunto de informacoes de intrusoes

simuladas em um ambiente de uma rede real, o KDD CUP 99, a fim de extrair subconjun-

tos de dados mais representativos, sendo possıvel representar a base original por apenas

alguns de seus atributos. As novas bases formadas serao testadas em uma rede neural

artificial de reconhecimento de padroes e, a partir da acuracia da rede quando esta utiliza

como entrada os dados advindos dos diferentes subconjuntos de dados, sera verificado

qual metodo obteve melhor resultado. Serao feitos dois testes, o primeiro diferenciando os

acessos em conexao normal ou intrusao e o segundo distinguindo os acessos entre conexao

normal e o tipo de intrusao detectada.

Palavras-chave: Redes Neurais Artificiais. Selecao de Atributos. KDD CUP 99.

Page 12: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

xii

Abstract

A simulation environment oftentimes requires the usage of databases to perform tests.

Some bases, however, have a high number of elements, being difficult to work with be-

cause of limitations in the memory of the applications and for containing redundant in-

formation. In a artificial neural network, excess of irrelevant data may cause classifier

efficiency loss. This work will use four different feature selection methods from algo-

rithms present in MatLab on a database containing a standard set of data including a

variety of intrusions simulated in a real network environment, KDD CUP 99, in order to

extract more representative subsets of data. The new formed bases will be tested in a

pattern recognition artificial neural network and, comparing the accuracy of the neural

network, will be verified which method obtained the best result. Two tests will be done,

the first differentiating the accesses in normal connection or intrusion and the second dis-

tinguishing the accesses between normal connection and the kind of the detected intrusion.

Keywords: Artificial Neural Networks. Feature selection. KDD CUP 99.

Page 13: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 1

Introducao

No mundo corporativo, alem dos produtos e servicos comercializados, ha um ativo valioso

que as empresas devem sempre proteger: a informacao. Com a vasta utilizacao de compu-

tadores para trafego de dados confidenciais surgiu a necessidade de proteger as redes por

onde eles transitam, pois a sua exposicao pode gerar perdas financeiras e comprometer as

operacoes e a continuidade dos negocios da companhia.

Atualmente, nao e necessario possuir grande conhecimento acerca de um sistema

operacional ou protocolo, por exemplo, para explorar suas vulnerabilidades, pois ja exis-

tem ferramentas automatizadas de exploracao de falhas.

A fim de obter informacoes confidenciais de empresas ou mesmo de pessoas fısicas,

sao feitas tentativas de intrusao a rede onde serao localizados esses dados. Do ponto de

vista de gerenciamento da rede, qualquer tipo de acesso nao autorizado pode ser conside-

rado um ataque.

Os ataques efetuados as diversas corporacoes podem ter diferentes origens e pre-

cisam ser identificados e registrados a fim de se conhecer o seu comportamento e pos-

teriormente encontrar mecanismos que possam mitigar esse problema. Ao mencionar

mecanismos capazes de impedir ataques a redes de computadores, somos levados a pensar

em um conjunto de praticas de seguranca da informacao que envolvem, alem de acoes pro-

tetivas por parte de pessoas que estejam em posse desses dados significativos, softwares e

hardwares que auxiliem na identificacao de tais problemas.

Nesse sentido, e necessario dispor de um bom sistema capaz de monitorar a rede

com o objetivo de verificar se a mesma permanece segura, identificando e alertando os

gestores da rede sobre possıveis incidentes ou mesmo respondendo a atividades suspeitas.

Page 14: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

2

Um sistema de deteccao de intrusao (IDS, do ingles intrusion detection system) e

um dispositivo de monitoramento de sistemas capaz de detectar e responder as atividade

maliciosas em uma rede de computadores a partir de dados coletados da rede que esta sob

analise. O IDS deve reportar a administracao situacoes onde o ataque esta em andamento

e ate mesmo os casos em que a atividade foi mal sucedida.

Os sistemas de deteccao de intrusao sao caracterizados pela sua metodologia de

acao e pela sua implementacao, existindo diversas maneiras de realizar a elaboracao de

um IDS. Dentre as diversas maneiras, destacam-se algumas teorias como deteccao baseada

em perfis, metodo estatıstico e redes neurais artificiais.

1.1 Motivacao

Diversos estudos foram realizados no campo de sistemas de deteccao de intrusao em redes

de computadores, tanto empregando redes neurais artificiais, bem como outras tecnicas

de aprendizado de maquina.

Os bancos de dados utilizados para as pesquisas sao, em sua grande parte, muito

grandes e possuem informacoes redundantes. Portanto, deve haver um previo tratamento

dos mesmos a fim de melhorar o processamento da rede e aumentar a eficiencia do sistema.

E necessario, porem, que se faca uma comparacao entre as diferentes tecnicas

utilizadas para este objetivo, a fim de avaliar a contribuicao de cada uma para a eficiencia

da aplicacao e, se possıvel, eleger o procedimento mais adequado.

A motivacao para este trabalho e a necessidade de se comparar algumas tecnicas de

selecao de atributos para a mesma base de dados, sendo esta utilizada para implementacoes

de IDSs..

1.2 Objetivos

O trabalho em questao tem como objetivo implementar diferentes tecnicas de selecao de

atributos em uma mesma base de dados, sendo esta referente ao trafego em uma rede de

computadores sujeita a intrusoes, a fim de verificar como uma mesma rede neural artificial

responde a diferentes combinacoes deste conjunto de dados.

Para tal, sera utilizado o KDD CUP 99, banco de dados confeccionado com simu-

lacoes de ataques a uma rede de dados real, e tecnicas de selecao de atributos, bem como

Page 15: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

3

uma rede neural artificial, presentes no MatLab.

No Capıtulo 2 deste trabalho, serao apresentadas de maneira breve classes de in-

trusao em redes de computadores. No Capıtulo 3, esta presente uma revisao bibliografica

da maneira como o banco de dados que sera aqui utilizado foi empregado por outros au-

tores. No Capıtulo 4, e apresentada a implementacao em MatLab do metodo proposto no

trabalho, seguido de seus resultados, no Capıtulo 5, e de uma conclusao no Capıtulo 6. O

Capıtulo 7 contem sugestoes para trabalhos futuros.

Page 16: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 2

Ataques em Redes de Computadores

O IETF define ataque como um ato intencional pelo qual uma entidade tenta evadir

servicos de seguranca e violar a polıtica de seguranca de um sistema. [1]

Existem diferentes maneiras de um atacante realizar uma investida a uma rede

de computadores ou sistemas e, ao longo do tempo, e possıvel observar que as diversas

tecnicas para este tipo de atividade vem aumentando. Eles tem como objetivo tentar

impedir a continuacao de um servico, expor ou roubar dados e alterar informacoes do

sistema ou dados confidenciais.

Os ataques ocorrem porque as fraquezas da rede ou dos computadores sao conhe-

cidas ou sao conhecidos os mecanismos para afeta-las. Ao passo que sao corrigidas suas

falhas e natural que ainda seja possıvel identificar outras brechas e vulnerabilidades ainda

nao notadas pelos gerenciadores do sistema e se consiga entao, com um outro tipo de

ataque, afeta-lo.

As instrusoes podem ter origem interna ou externa. Para ser classificado como um

ataque de origem externa, ele deve se originar fora da rede, por um atacante que tenta

acessa-la. E considerado de origem interna quando parte de algum usuario com acesso a

rede, que pode fazer uso de seus privilegios para realizar o ataque.

O primeiro passo para entender um ataque e ser capaz de identificar a sua anatomia,

ou seja, perceber como se da a construcao do mesmo e qual e o seu objetivo.

As fases de um ataque ppodem ser separados em diferentes categorias. As mais

frequentes sao DoS, U2R, R2L e Probe, definidas a seguir:

• DoS - Os ataques DoS (Denial of Service) tem por objetivo promover uma perda

de desempenho de servicos ou sistemas, impossibilitando o seu uso por aqueles que

Page 17: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

5

realmente possuem permissao para acessa-los. [2]

Este tipo de ataque nao rouba dados do sistema, mas provoca a sua indisponibilidade

para seus usuarios. Apesar de nao ocorrer furto de informacao, para determinadas

corporacoes, algumas horas fora de operacao pode resultar em expressivas perdas. E

tambem um ataque muito utilizado atualmente como forma de protesto a governos

e instituicoes, fazendo com que suas paginas oficiais saiam do ar por determinado

perıodo de tempo. Talvez seja o ataque mais conhecido de maneira geral pois nao e

difıcil ter notıcias sobre acoes desse tipo.

• R2L - Chamado de ataque de usuario remoto (Remote to Local Attack), e carac-

terizado pelo envio de pacotes a uma maquina de uma rede, sem possuir conta na

mesma, e, a partir de entao sao exploradas vulnerabilidades da maquina para ganhar

acesso ilegal de usuario local. [3]

• U2R - Um ataque U2R (User to Root) ocorre quando um atacante inicia a explo-

racao do host com uma conta de usuario normal do sistema e consegue explorar

vulnerabilidades deste para ganhar acesso de root. [4]

• Probe - Este ataque varre a rede na tentativa de obter informacoes para burlar

controles de seguranca. A varredura ocorre atraves do envio de pacotes a rede, de

forma a mapear suas vulnerabilidades. As respostas recebidas da rede sao utilizadas

pelo atacante para aprender sobre suas caracterısticas e sobre caracterısticas dos

sistemas, incluindo a topologia da rede, os hosts ativos e suas respectivas configu-

racoes de software, incluindo sistema operacional, software do servidor e versoes de

aplicativos. [4] Dessa maneira, e possıvel planejar o ataque de forma efetiva.

A divisao dos diversos ataques possıveis e uma maneira de facilitar o estudo dos

mesmos, entendendo como se da o funcionamento e as caracterısticas em comum que

eles podem possuir. Caso haja a identificacao de uma tentativa de intrusao nao obser-

vada anteriormente, e possıvel buscar a solucao para impedı-la a partir de sua natureza,

enquadrando-a em alguma das classes de invasao onde ja sao conhecidos alguns mecanis-

mos satisfatorios para tal fim.

O banco de dados utilizado neste trabalho lista vinte tipos diferentes de ataques,

contidos nas categorias acima citadas, e tambem dispoe da categoria de conexao normal,

onde nao ha registro de ameacas. Essa base sera estudada de maneira mais detalhada

Page 18: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

6

no Capıtulo 4, que trata da implementacao das tecnicas de selecao de atributos sobre a

mesma.

Page 19: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 3

Revisao Bibliografica

Muitos estudos vem sendo realizados acerca de sistemas inteligentes de deteccao de intru-

sao em redes utilizando o KDD CUP 99, sendo desenvolvidos a partir de redes neurais

artificiais ou mesmo outras abordagens computacionais. Neste Capıtulo, iremos rever

alguns estudos relevantes acerca do tema.

Neha G. Relan et al. [5] publicou um estudo onde utilizava algoritmos de arvore de

decisao C4.5 e arvore de decisao C4.5 com prunning para treinar e testar o classificador,

fazendo previamente uma selecao de atributos. Neste trabalho, outro banco de dados, o

NSL KDD, foi usado em conjunto com 10% do KDD CUP 99.

O algoritmo C4.5 e aplicado para produzir uma arvore de decisao que e utilizada

para classificacao, fazendo uso do conceito de ganho de informacao como criterio de divi-

sao. As tecnicas com pruning evitam o excesso de ajustes na arvore de decisao, eliminando

parte da arvore que nao esta contribuindo para o classificador, identificando atributos que

nao adicionem valor ao problema. O algoritmo pode trabalhar tanto com valores discretos

quanto com valores contınuos. Ele escolhe os melhores atributos que dividem o conjunto

de dados em subconjuntos, entao os atributos com maior ganho de informacao podem

ser utilizados para dividir os dados. Cada no da folha da arvore de decisao representa

uma classe e o processo e interrompido quando o numero de instancias a ser dividido esta

abaixo de um limiar. Para o estudo citado, foram considerados os 41 atributos do KDD

CUP 99 na criacao da arvore de decisao com C4.5 e apenas valores discretos deste banco

de dados no C4.5 com pruning.

No pre-processamento foi feita uma formatacao, limpeza e amostragem dos dados.

Depois de treinados, os dados foram testados nos algoritmos. Feita a experiencia, os

Page 20: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

8

resultados obtidos utilizando o KDD CUP 99 foram de 92,81% de acuracia no C4.5 e

95,09% no C4.5 com pruning. Ja utilizando o banco de dados NSL-KDD, as taxas obtidas

foram de 26,39% no C.45 e 98,45% no C4.5 com pruning.

Iftikhar Ahmad et al. [6] aplicou redes neurais artificiais em ataques do tipo U2R

utilizando algumas amostras do KDD CUP 99 para testar e treinar o sistema, que possui

diferentes atributos relacionados a este tipo de ataque, como Loadmodule, Perl e Buffer

Overflow. O Loadmodule explora vulnerabilidades na maneira como o SUNOS 4.1 carrega

os modulos dinamicamente. Estas falhas tornam possıvel um invasor adquirir privilegios

de administrador. O Perl e um tipo de ataque que explora falhas na maneira como e feita

a distribuicao de privilegios (root). Ja o Buffer Overflow consiste em transbordar buffers

de entrada para alterar pontos da memoria onde estejam informacoes importantes.

Foram utilizados 38 dos 41 atributos, ja que os outros tres apresentavam valores

simbolicos. O modelo por ele proposto utiliza uma rede feedfoward, composta por tres

camadas consecutivas sendo elas a camada de entrada, a camada interna e a camada de

saıda. Cada camada possui certo numero de neuronios com as mesmas caracterısticas,

como funcao de transferencia, taxa de aprendizado etc.

A camada de entrada possuıa 38 neuronios devido ao fato de terem sido selecionados

38 atributos do banco de dados. Esta camada recebia os dados extraıdos do arquivo que

contem os dados para treinamento. A camada interna possuıa 4 neuronios e a de saıda

consistia de 2 neuronios, que classificaria os pacotes em normais ou anormais, escrevendo

padroes de saıda em um arquivo utilizado para analise de ataques.

O sistema foi implementado utilizando NeuroSolutions, um software de redes neu-

rais.

Na fase de treinamento, foi utilizado aprendizado supervisionado com backpro-

pagation, ja que o mesmo converge rapidamente. Apos o treinamento, os pesos foram

congelados e o desempenho da rede foi avaliado. O sistema mostrou um excelente desem-

penho no caso de positivos verdadeiros, com taxa de 100% no treino e 95,45% no teste e

falsos verdadeiros com taxa de 98,36% no treino e 100% no teste.

Mukhopadhyay et al. [7] utilizou uma abordagem de redes neurais artificiais com

backpropagation em sistemas de deteccao de intrusao. Foram utilizados 46.655 registros

dos 41 atributos banco de dados para treinar e validar a rede neural.

Foram utilizados 5 neuronios na camada de saıda pois o trafego esta agrupado em

Page 21: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

9

5 classes de ataques. Apos as fases descritas acima, os resultados obtidos foram 73,9% de

taxa de sucesso e 26,9% de taxa de erro.

Shreya Dubey et al. [8] propos um metodo hıbrido para sistemas de deteccao de

intrusao baseado em k-means, naive-bayes e redes neurais back propagation (KBB).

O KDD CUP 99 foi utilizado como entrada do sistema. Inicialmente, foi utilizado

o K-means, que e um metodo de aprendizagem nao supervisionado, sendo usado para

agrupar os dados de bancos de dados muito grandes. Em seguida, o naive-bayes, um

metodo supervisionado baseado na probabilidade de um evento, foi utilizado. Na etapa

de aprendizagem, ja com os dados filtrados, foi utilizada uma rede neural com algoritmo

backprogapation.

Os testes mostraram que a precisao deste sistema aumenta caso os dados sejam

previamente tratados, pois e necessario que as informacoes cedidas como entrada do sis-

tema sejam representativas. O metodo estudado ofereceu melhor precisao e taxa de erro

que metodos tradicionais, precisando, em contrapartida, de maior capacidade de proces-

samento computacional.

Poojitha.G. et al. [9] utilizou 10% do KDD CUP 99 para desenvolver um IDS

baseado em uma rede neural feedfoward treinada com algoritmo backpropagation. A rede

neural proposta possui as fases de treinamento e testes, a fim de identificar condicoes

normais ou anormais dos parametros dados.

No entanto, antes de treinar a rede, foi feito um pre processamento dos dados a fim

de remover atributos redundantes e os atributos nao-numericos foram transformados em

atributos numericos segundo um criterio. Na estrutura da rede, os neuronios das camadas

internas possuıam tangente hiperbolica como funcao de ativacao e os de saıda possuıam

uma funcao de ativacao linear. Na camada de entrada, havia 41 neuronios e, na camada de

saıda, havia 4, onde quando todos os neuronios estavam em 0 indicava um acesso normal

e um sinal em um neuronio representava algum tipo de ataque.

Os testes mostraram que o sistema proposto obteve uma taxa de precisao de

94,93%, taxa de falso positivo de 0,002% e taxa de falso negativo de 0,7%.

Mohammed A. Ambusaidi et al. [10] propos um sistema de deteccao de intrusao

utilizando filtros na selecao de atributos. A estrutura do sistema e composta de quatro

fases: coleta de dados, pre processamento dos dados, treinamento e reconhecimento de

ataques. A fase de pre processamento de dados e composta pela transferencia de dados,

Page 22: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

10

onde os valores nao numericos foram transformados em valores numericos, normalizacao

de dados, onde os dados foram normalizados e selecao de atributos, utilizando variacoes

do algoritmo MFIS.

Na fase de treinamento, foi utilizado o Least Squares Support vector Machines (LS-

SVM). Como este metodo apenas lida com classificacoes binarias e como o KDD CUP

99 possui cinco subconjuntos de atributos, precisou-se de cinco LS-SVM, que se juntam

para formar a deteccao de intrusao. Cada classificador distingue uma classe da outra. Por

exemplo, e possıvel distinguir normais de anormais, DoS de nao DoS, etc.

Para avaliar o desempenho do sistema, foram utilizados tres conjuntos de dados:

KDD CUP 99, NSL KDD e Kyoto 2006+. A combinacao LSSVM-IDS + FMIFS obteve

a maior taxa de deteccao.

V. Bolon-Canedo et al. [11] utilizou 10% do KDD CUP 99 para a fase de trei-

namento e o banco de dados original na fase de testes. Foi produzido um metodo que

combina discretizacao e selecao de atributos para obter uma reducao no grande numero

de atributos que o banco de dados contem.

Para a fase de selecao de atributos, os filtros foram utilizados devido ao tamanho

do banco de dados, tanto em numero de entradas como no de caracterısticas de cada

entrada. Os metodos de filtragem CFS, INTERACT e Consistency-based filter foram

testados para verificar se seriam obtidos resultados diferentes.

Os metodos de discretizacao EMD, EWD e EFD foram escolhidos para o trabalho

por serem algoritmos classicos e o PKID foi escolhido por se tratar de uma nova aborda-

gem que funciona bem em grandes conjuntos de dados. Alem destes, o BL tambem foi

escolhido.

Antes de aplicar discretizacao e selecao de atributos, foi realizada uma analise a

fim de verificar como os metodos de discretizacao se comportam quando sao combinados

com metodos de classificacao. O objetivo era demonstrar que os mesmos tem influencia

nos erros de classificacao. A partir de analises, foi verificado que, para o KDD CUP 99,

os melhores resultados sao obtidos com o algoritmo C4.5. No trabalho, foram utilizadas

C4.5 e Naive Bayes, com parametro Kernel sintonizado.

Os metodos de filtros foram combinados com os de discretizacao para avaliar os

resultados. Em termos de discretizacao, quando usando PKID ou EMD, os filtros selecio-

naram menos recursos do que quando se utiliza EWD, EFD ou BL. Cada combinacao leva

Page 23: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

11

a um subconjunto diferente de recursos, assim um classificador poderia obter diferentes

resultados de desempenho. Entao, nao e possıvel determinar qual combinacao de filtro e

metodo de discretizacao e a melhor.

Entao, foram combinados os metodos de discretizacao com os filtros e os algoritmos

de classificacao.

A partir dos resultados, o EMD parece ser o melhor metodo de discretizacao para

C4,5. A melhor taxa de positivos verdadeiros foi obtida com a combinacao EMD +INT

+ NB, mas o melhor resultado na tabela e conseguido com EMD + Cons + C45, uma vez

que esta combinacao tem o melhor erro e taxa de positivos verdadeiros.

Dado o exposto, percebe-se que as diferentes combinacoes da utilizacao do banco

de dados KDD CUP 99 provoca resultados diferentes quando a base e utilizada para

reconhecimento de ataques. Os autores abordaram simulacoes utilizando tanto a versao

completa do banco de dados quanto apenas 10% do mesmo, com previa selecao de atributos

ou nao. A partir dos artigos citados, e notavel que os autores que realizaram uma selecao

de atributos na base de dados obtiveram resultados melhores quando comparados aos que

nao fizeram uso de tais tecnicas, independentemente do tipo de tecnologia empregada

para treinar o classificador.

Page 24: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 4

Implementacao

Neste capıtulo sera exposto o processo de otimizacao do KDD CUP 99 atraves dos me-

todos de selecao de atributos escolhidos para a realizacao do trabalho, bem como os

resultados obtidos pela rede neural artificial ao receber como entrada os sujconjuntos de

dados selecionados a partir da base inicial.

O estudo do desempenho da rede neural artificial e feito em duas partes, onde, na

primeira, e utilizada a separacao em duas classes, acesso normal e intrusao e, na segunda,

cinco classes sao utilizadas, sendo elas acesso normal, intrusao DoS, intrusao U2R, intrusao

R2L e intrusao Probe. Desta maneira e possıvel observar se, ao separar as saıdas da rede

em um numero maior de grupos, as diferencas entre os metodos de selecao de atributos

se pronunciam de forma mais acentuada, como sera demonstrado a partir dos resultados

exibidos no Capıtulo 5.

4.1 Redes Neurais Artificiais no MatLab

O MatLab apresenta um ToolBox especıfico para redes neurais artificiais. No programa, e

possıvel encontrar redes neurais capazes de realizar clusterizacao nos dados, classificando

as amostras e separando-as, reconhecimento de padroes e ate mesmo trabalhar com redes

neurais dinamicas. Neste trabalho, sera utilizado o ToolBox Neural Net Pattern Recogni-

tion, com o objetivo de fazer a rede entender a maneira como estao distribuıdos os dados

em classes, percebendo diferentes padroes. Com esta ferramenta e possıvel fornecer da-

dos de entrada e as classes onde esses dados estao inseridos e, posteriormente, escolher a

arquitetura da rede que ira solucionar o problema. Apos o treinamento, e possıvel obter

Page 25: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

13

graficamente informacoes estatısticas sobre o desempenho da atividade.

A Neural Net Pattern Recognition possui uma configuracao padrao. E possıvel

acrescentar camadas, alterar a taxa de aprendizagem, alterar a porcentagem de dados

utilizada para cada etapa do processo, entre outras particularidades. No entanto, a rede

padrao foi escolhida, ja que a arquitetura da rede nao e o foco do projeto no momento.

Os seus parametros serao explicitados na Subsecao 4.4.

4.2 O KDD CUP 99

Para a realizacao deste trabalho, utilizou-se 10% do KDD CUP 99, que contem 42 colu-

nas representando os atributos, e 311.029 linhas representando as caracterısticas de cada

atributo.

O banco de dados supracitado foi confeccionado por Stolfo et al. [12] em conjunto

com a conferencia KDD, para uma tarefa de aprendizagem de classificadores, com infor-

macoes coletadas em nove semanas de trafego de rede. Foi criado um conjunto de dados

com uma grande variedade de intrusoes em uma LAN tıpica da Forca Aerea dos Esta-

dos Unidos, sendo atacada de diferentes maneiras. Nele, as conexoes possuem diversas

caracterısticas expressas nos atributos e por fim sao classificadas como conexao normal

ou ataque. Caso seja uma atividade maliciosa, a mesma e categorizada entre 20 tipos de

ataque.

Na Tabela 4.1 esta listado cada atributo, excluindo-se a ultima coluna, pois a

mesma representa o tipo de acesso:

Tabela 4.1: Lista de Atributos do KDD CUP 99.

- Atributo Descricao

1 duration Duracao da conexao

2 protocol type Tipo de protocolo (tcp, udp, etc)

3 service Servico de rede no destino

4 flag Status normal ou de erro na conexao

5 src bytes Bytes da origem para o destino

6 dst bytes Bytes do destino para a origem

7 land 1 se a conexao e para o mesmo host e 0 caso contrario

Page 26: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

14

8 wrong fragment Fragmentos errados

9 urgent Diz respeito a pacotes urgentes

10 hot Indicadores

11 num failed logins Tentativas invalidas de login

12 logged in Loguin efetuado

13 num compromised Condicoes comprometidas

14 root shell Obtencao do root

15 su attempted tentativa su root

16 num root Acessos root

17 num file creations Operacoes de criacao de arquivo

18 num shells Comandos do shell

19 num access files Operacoes em arquivos de controle de acesso

20 num outbound cmds Comandos de saıda em uma sessao de ftp

21 is host login Loguin pertence a lista ”hot”

22 s guest login Loguin e um ”guest”

23 count Conexoes com o mesmo host que a atual

24 srv count Conexoes com o mesmo servico que a atual

25 serror rate Conexoes que possuem erros ”SYN”

26 srv serror rate Conexoes que possuem erros ”SYN”

27 rerror rate Conexoes que possuem erros ”REJ”

28 srv rerror rate Conexoes que possuem erros ”REJ”

29 same srv rate Conexoes com o mesmo servico

30 diff srv rate Conexoes com servicos diferentes

31 srv diff host rate Conexoes com hosts diferentes

32 dst host count count para host de destino

33 dst host srv count srv count para host de destino

34 dst host same srv rate same srv rate para host de destino

35 dst host diff srv rate diff srv rate para host de destino

36 dst host same src port rate same src port rate para host de destino

37 dst host srv diff host rate srv diff host rate para host de destino

38 dst host serror rate serror rate para host de destino

Page 27: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

15

39 dst host srv serror rate srv serror rate para host de destino

40 dst host rerror rate rerror rate para host de destino

41 dst host srv rerror rate Contagem srv rerror rate para host de destino

A coluna destinada a guardar os dados do tipo de acesso tem suas caracterısticas

classificadas em conexao normal ou intrusao. Os perfis da intrusao sao divididos nas

classes de ataques citadas anteriormente, no capıtulo que trata de tipos de intrusao neste

documento. A Tabela 4.2 mostra os 20 diferentes tipos de ataques contidos no banco de

dados supracitados divididos em suas categorias:

Tabela 4.2: Tipos de ataques divididos em classes no KDD CUP 99.

DoS Back, Land, Pod, Neptune, Teardrop, Smurf.

U2R Perl Rootkit, Buffer-overflow, Load module.

Probe Nmap, Satan, Ipsweep, Portsweep.

R2L Guess-passwd, Physpy, Imap, Multihop, ftp-write, Warezclient, Warezmater.

E um banco de dados muito utilizado para trabalhos em redes neurais artificiais

por conter um numero significativo de informacoes.

Apesar de muito completo, o KDD CUP 99 apresenta uma serie de deficiencias

que dificultam a sua utilizacao em IDSs e outras aplicacoes praticas, pois possui muitas

informacoes redundantes ou mesmo irrelevantes, fazendo surgir efeitos indesejaveis no

classificador. Ao alimentar a rede neural com parametros que nao agregam informacao, a

fase de treinamento e prejudicada, diminuindo a capacidade da rede de aprender. Alem

disso, existem problemas de processamento de grandes bancos de dados em desktops

comuns, pois a complexidade computacional e aumentada. Devido a essas adversidades,

e necessario que se faca previamente uma selecao de atributos na base escolhida.

4.3 Selecao de Atributos

A selecao de atributos e de primordial importancia em qualquer projeto de reconhecimento

de padroes. Dado um conjunto inicial de dados, a intencao e representa-los a partir de

Page 28: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

16

dados mais compactos e significativos. Portanto, sera feita aqui a selecao de subconjuntos

do KDD CUP 99.

Como o desenvolvimento foi feito no ambiente do MatLab, e necessario adequar

o tamanho do banco de dados e o tipo de variaveis que nele estao contidas para que os

algoritmos pudessem ser executados. Para isso, foi preciso alterar as informacoes na forma

de string para numeros correspondentes. Algumas colunas de atributos continham valo-

res que nao adicionavam informacao, pois todas as suas entradas eram iguais, sendo eles

num failed login, dst host same src port rate, dst host srv diff host rate, num file creations

, logged in, s gest login, num compromised e dst host srv serror rate. Desta forma, tais

atributos foram eliminados antes mesmo da execucao dos algoritmos, para que nao fosse

oferecida nenhuma informacao vazia aos algoritmos de treinamento.

Para que o MatLab pudesse processar o banco de dados, foi necessario reduzir o

numero de amostras contidas em cada atributo devido a sua grande extensao. Para veri-

ficar se o processo de reducao do tamanho iria alterar significativamente as propriedades

estatısticas dos dados, foram calculados a media e a variancia de cada coluna de atributos

no banco original. Linhas do banco de dados foram excluıdas aleatoriamente, com a ajuda

de um programa em VBA, no Excel. Ao final do processo, restaram 66.721 linhas com

media e variancia proximas as do banco de dados inicial, o que sugere que, mesmo apos a

exclusao de uma grande quantidade de amostras, a informacao contida no banco de dados

estara bem representada pelas que foram selecionadas.

Este numero, 66.721, nao foi escolhido previamente. Foram feitos testes com nu-

meros maiores de linhas, porem sempre com problema na execucao por ter excedido a

memoria. Entao, ao verificar que 66.721 era uma quantidade viavel, a reducao da quan-

tidade de linhas foi encerrada.

A ultima coluna corresponde aos tipos de acesso, entao, ela nao deve ser utilizada na

selecao de atributos, sendo eliminada nesta fase. Feito isto, sobraram 33 atributos. Pode-

se dizer, portanto, que a base agora pode ser representada por uma matriz de dimensao

66.721x33.

Para este trabalho, foram utilizados 9 atributos do banco de dados original. Esse

numero foi escolhido com base em estudos anteriores, que apontam ser este um numero

bom para se trabalhar com redes neurais.

Serao utilizados quatro metodos diferentes para selecao de atributos: Principal

Page 29: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

17

Component Analysis, Factor Analysis, Singular Value Decomposition e Nonnegative Ma-

trix Factorization. As funcoes para implementacao de tais tecnicas com o MatLab foram

pca, factoran, svd e nnmf, recpectivamente.

4.3.1 Principal Component Analysis

O Principal Component Analysis (PCA) e uma das tecnicas mais utilizadas em reconhe-

cimento de padroes por ser muito eficiente. E metodo de transformacao de variaveis de

forma a torna-las mais significativas a partir de combinacoes lineares das variaveis origi-

nais. Os componentes principais sao selecionados de modo que a maior parte da energia

contida no conjunto de vetores originais esteja concentrada no conjunto de vetores proje-

tados nas direcoes dos componentes principais.

A partir de uma matriz onde as colunas representam caracterısticas de determi-

nadas amostras, sendo essas simbolizadas nas linhas desta matriz, a representacao da

interdependencia entre os seus dados e dada pela matriz de covariancia. A analise dos

componentes principais transforma esta representacao em uma onde tem-se variaveis nao

correlacionadas e em ordem de variancia. As amostras podem entao ser comparadas

usando os coeficientes que apresentam maior variancia.

No MatLab, a funcao pca retorna os coeficientes dos componentes principais da

matriz de dados selecionada. Os coeficientes sao retornados em uma outra matriz, onde

cada coluna contem os coeficientes de um componente principal em ordem decrescente de

variancia de componente. As linhas em cada coluna estao relacionadas aos atributos da

base de dados utilizada.

Com a matriz transformada gerada pelo Matlab, escolheu-se a primeira coluna

desta matriz para trabalhar, devido ao fato deste ser o mais importante dos componentes

principais. Os valores em cada linha desta coluna estao relacionados a coluna do banco de

dados original, que foi dado como entrada para o algortimo. Para extrair um novo banco

de dados atraves desse processo, foram localizados os nove maiores valores de coeficientes

fornecidos na primeira coluna da matriz retornada, para que fosse possıvel selecionar a

maior variancia num conjunto de 9 amostras. No KDD CUP 99, selecionamos nas colunas

correspondentes as posicoes dos coeficientes, separando-as. Esse novo conjunto formou o

banco de dados para ser utilizado posteriormente na rede neural.

Os atributos selecionados pelo metodo supracitado foram src bytes, duration, dst bytes,

Page 30: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

18

wrong fragment, flag, urgent, is host login, protocol type e hot. Tais atributos estao lista-

dos em ordem decrescente de variancia. Ou seja, para o PCA, os atributos selecionados

primeiramente sao os que possuem a maior concentracao de informacao.

4.3.2 Factor Analysis

A funcao factoran calcula a maxima estimativa de verossimilhanca da matriz em um

modelo de analise fatorial com fatores comuns. O princıpio da maxima verossimilhanca

e utilizado para se obter estimadores. O estimador de maxima verossimilhanca e o valor

que maximiza a probabilidade dos dados apresentados.

A maxima estimativa de verossimilhanca e bastante utilizada quando se conhece

apenas algumas amostras de alguma populacao e deseja-se estimar alguns parametros

para o cojunto inteiro.

A fim de obter um novo conjunto de dados, foram selecionados na primeira coluna

os nove maiores estimadores de verossimilhanca de maneira a separar em uma nova matriz

os dados mais provaveis advindos do KDD CUP 99.

O subconjunto de dados selecionado foi diff srv state, num root, srv diff host rate,

num shells, service, protocol type, s guest login, rerror rate e srv count.

4.3.3 Singular Value Decomposition

O Singular Value Decomposition e um dos algoritmos mais conhecidos da algebra linear,

sendo muito utilizado para reducao de dimensionalidade em reconhecimento de padroes e

outras aplicacoes, como recuperacao de dados.

Para uma matriz XlXn, que neste trabalho sera o banco de dados, existem matrizes

UlXl e VnXn que satisfazem

X = U

Λ1/2 O

O 0

V H

ou

Y =

Λ1/2 O

O 0

= UHXV

Page 31: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

19

Sendo Λ1/2 a matriz diagonal das raızes dos autovalores da matriz XHX e O uma

matriz de elementos nulos.

Ou seja, existem matrizes U e V que transformam X na estrutura representada

por Y . Portanto, sendo ui e vi os elementos das matrizes U e V , respectivamente, nota-se

que:

X =r−1∑i=0

√λiuiv

Hi

onde λi sao os autovalores de XHX. [13]

O algorıtmo svd do MatLab decompoe a matriz fornecida da seguinte maneira: dada

uma matriz A, a mesma e decomposta em novas matrizes U , S e V , onde A = USV ′. Do

exposto anteriormente, percebemos que a matriz S e a matriz que carrega os autovalores

de A.

Para aplicar esta ferramenta a selecao de atributos, escolheu-se os nove maiores

valores da projecao da matriz U na matriz S, que contem os autovalores de X em ordem

decrescente, e, entao, estas maiores posicoes foram relacionadas aos atributos do KDD

CUP 99, formando o novo banco de dados.

Para este metodo, o subconjunto selecionado englobou os atributos srv count,

dst host count, is host login, src bytes, land, flag, rerror rate, same srv rate e urgent.

4.3.4 Nonnegative Matrix Factorization

Em alguns casos como, por exemplo, ao se trabalhar com dados que envolvam pixels e

valores probabilısticos, estes nao podem estar representados por valores negativos, para

que as leis fısicas nao sejam contrariadas. No contexto de analise deste trabalho, nao

existem valores negativos a tratar, porem, o metodo e interessante por associar um peso

a cada atributo do banco de dados. Aqui, estuda-se um metodo que, dada uma matriz

XlXn, esta mesma e decomposta em matrizes H e W , onde

X ≈ WH

e os elementos das matrizes W e H sao nao negativos. [13]

A funcao nnmf (A, k) fatora a matriz AnXm em fatores nao negativos escolhidos de

forma a minimizar o valor medio quadratico residual entre A e WH. Esta fatoracao nao

Page 32: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

20

e exata, pois WH tem grau inferior a A. O valor k deve ser menor ou igual ao numero

de colunas de A.

Selecionamos k = 9 para obter uma matriz WnX9 e H9Xm. Para o valor mais

forte em cada linha de H, este esta relacionado ao melhor peso para os dados fornecidos.

Portanto, para selecionar um novo conjunto de dados, separamos o maior valor em cada

linha de H, relacionandoo-o a cada coluna correspondente no KDD CUP 99. Devido

ao fato de H ter aqui 9 linhas e 33 colunas, conseguimos selecionar 9 atributos dos 33

disponıveis, como desejavamos.

Portanto, os atributos selecionados foram num root, duration, flag, su attemped,

land, num shells, rerror rate, root shell e wrong fragment .

4.4 Inserindo os dados na rede neural

Esta secao sera dividida em duas atividades: na primeira, classificamos os parametros de

entrada em acesso normal ou intrusao. Na segunda, dividiremos a intrusao nos tipos de

ataque que o banco de dados cobre, ou seja, U2R, R2L, DoS e Probe, ficando com essas

quatro classes mais a conexao normal.

Entao, a ultima coluna do banco de dados sera o nosso target, dividido de duas

maneiras diferentes. A primeira contem as classes normal e intrusao e a segunda contem

as classes normal, DoS, U2R, R2L e Probe.

Essas classes devem ser representadas de forma binaria para ser entregue a rede

neural.

Para ambas as atividades a rede neural utilizada foi a mesma.

Para que pudesse ser feita uma comparacao entre os metodos de selecao de atributos

escolhidos, os conjuntos de dados gerados a partir de cada metodo foi introduzido como

dados iniciais de uma mesma rede neural.

Foi utilizada uma rede neural simples no MatLab, com os parametros expostos na

Tabela 4.3.

O arranjo esquematico da arquitetura da rede neural artificial utilizada para uma

rede com duas saıdas e mostrada na figura Figura 4.1, e, Para uma rede com cinco saıdas,

na Figura 4.2.

Page 33: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

21

Tabela 4.3: Parametros da rede neural utilizada.

Rede neural MatLab patternnet

Numero de camadas ocultas 10

Parametros para treinamento 70%

Parametros para teste 15%

Parametros para validacao 15%

Medidor de performance MSE

Figura 4.1: Arquitetura da Rede Neural Utilizada para Duas Classes.

Figura 4.2: Arquitetura da Rede Neural Utilizada para Cinco Classes.

A diferenca entre as redes e apenas o numero de saıdas, visto que esta quantidade

esta relacionada ao numero de classes em que desejamos agrupar os dados.

Page 34: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 5

Resultados

5.1 Classificacao: acesso normal x intrusao

Nesta secao, os resultados de cada um dos metodos de selecao de atributos apresentados

previamente serao exibidos e comparados para duas classes, sendo elas acesso normal e

intrusao.

Os resultados serao analisados a partir da matriz de confusao gerada no MatLab

para das etapas de treinamento, teste e validacao executadas pela rede neural e um total

geral. Uma matriz de confusao generica pode ser vista na Figura 5.1.

Nesta matriz, as celulas verdes na diagonal informam a porcentagem de casos em

que houve correta classificacao dos dados em determinada classe. As celulas vermelhas

fora da diagonal mostram os casos de classificacao incorreta. Na celula azul, e mostrada a

porcentagem total dos dados classificados corretamente, em verde, e a porcentagem total

dos casos classificados de maneira incorreta, em vermelho. Observe que a soma das celulas

verdes e vermelhas e 100%, pois este e o total dos dados que foram distrubuıdos, seja

correta ou incorretamente pelas classes. Devido a arredondamentos feitos pelo programa,

podem acontecer numeros totais de 100,1% ou 99,99%, por exemplo.

Page 35: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

23

Figura 5.1: Matriz de confusao fornecida pela rede neural do MatLab.

Para que o reconhecimento dos padroes seja considerado bom, espera-se obter

porcentagens elevadas na parte superior das celulas azuis, que representam os dados clas-

sificados corretamente, e baixa porcentagem nas parte inferior das celulas azuis, que repre-

sentam os casos classificados de maneira incorreta. Tambem pode ser observado o quanto

a rede falhou na classificacao atraves das porcentagens expostas nas celulas vermelhas,

entao essas porcentagens precisam ser baixas.

As matrizes expostas mostram cada etapa do processamento que ocorre na rede

neural, pois expoem o seu desempenho em cada uma das fases e em uma matriz geral.

Neste trabalho, todos os resultados serao apresentados, porem, para fins de comparacao

da acuracia da rede neural quando a mesma utiliza diferentes subconjuntos de dados como

entrada, serao investigados apenas os resultados da matriz de confusao geral.

Para a classificacao em acesso normal ou intrusao, temos no KDD CUP 99 12.904

amostras de conexao normal e 53.817 de intrusao.

Page 36: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

24

5.1.1 Principal Component Analysis

O teste aqui executado se refere ao algoritmo pca para duas classes de informacao.

Na Figura 5.2, e mostrada a matriz de confusao para este caso.

Ao separar em duas classes, na fase de treinamento, a rede neural dividiu 19,5%

dos dados na classe 1, ou seja, acesso normal, sendo 19% do total dos dados classificados

corretamente nesta classe e 80,6% dos dados na classe que representa uma intrusao, sendo

80,3% do total dos dados classificados corretamente nesta classe.

Na fase de teste, a matriz de confusao apresenta 19,6% classificados como cone-

xao normal, sendo 0.5% total classificados incorretamente e 80,4% categorizados como

intrusao, com porcentagem de 0,2% incorretos.

A matriz de confusao da fase de validacao mostra um total de 19,8% dos dados

classificados como acesso normal e 80,2% como intrusao. Os dados classificados incor-

retamente na primeira classe representam 0,4% do total e na segunda classe 0,3% do

total.

Abordando as matrizes de todas as etapas de uma maneira geral, os resultados

expostos em All Confusion Matrix mostram que, na na fase de treinamento, o resultado

obtido foi de 99,2% de acertos e 0,8% de erros. Para a validacao, obtivemos um percentual

de 99,3% de classificacoes corretas e 0,7% de classificacoes incorretas. Ja para a fase de

teste, foi observado 99,4% de acertos e 0,6% de erros. Portando, este metodo apresentou

um total de 99,3% de classificacoes corretas e 0,7% de classificacoes incorretas.

Para uma melhor visualizacao dos dados, na Tabela 5.1 e mostrada uma sıntese da

taxa de classificacao correta e da taxa de classificacao incorreta.

Tabela 5.1: Porcentagem de erros e acertos do classificador com duas classes para o pca.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 99,2% 0,8%

Teste 99,4% 0,6%

Validacao 99,3% 0,7%

Total 99,3% 0,7%

Page 37: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

25

Figura 5.2: Matriz de confusao para o PCA com duas classes.

Os resultados abordados mostram uma excelente classificacao quando o subcon-

junto de dados e selecionado a partir do algoritmo pca, pois o numero de classificacoes

incorretas foi extremamente baixo, com apenas 0,7% de erro no total geral.

Page 38: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

26

5.1.2 Factor Analysis

Agora a analise sera feita com os resultados obtidos ao utilizar como entrada o subconjunto

de dados selecionados a partir do metodo Factor Analysis, com duas classes.

A matriz de confusao do metodo supracitado e exibida Figura 5.3.

Figura 5.3: Matriz de confusao para o factoran com duas classes.

Na fase de treinamento, 19,9% dos dados foram tomados como acesso normal e

80,1% como intrusao na rede. O total de erros para acesso normal e de 0,7% e para a

Page 39: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

27

segunda classe o total de erros e de apenas 0,1%.

Para o teste, 19,9% dos dados foram tomados como acesso normal e 80,1% como

intrusao na rede. O total de erros para acesso normal e de 0,7% e para a segunda classe

o total de erros e de 0,1%.

Na etapa de validacao dos dados, 20,3% dos elementos foram classificados como

acesso normal a rede, com 0,6% de erro e 79,7% dos elementos foram classificados como

intrusao, estando apenas 0,1% dos dados classificados incorretamente.

Examinando de uma forma geral, observa-se que, na fase de treinamento, o re-

sultado obtido foi de 99,2% de acertos e 0,8% de erros. Para a validacao, obtivemos um

percentual de 99,3% de classificacoes corretas e 0,7% de classificacoes incorretas. Ja para a

fase de teste, foi observado 99,2% de acertos e 0,8% de erros. Esta avaliacao esta resumina

na Tabela 5.2.

Tabela 5.2: Porcentagem de erros e acertos do classificador com duas classes para o

factoran.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 99,2% 0,8%

Teste 99,2% 0,8%

Validacao 99,3% 0,7%

Total 99,2% 0,8%

Portando, a rede neural apresentou um total de 99,2% de classificacoes corretas e

0.8% de classificacoes incorretas quando utilizou o conjunto de dados separado com este

metodo.

As porcentagens apresentadas foram boas, mostrando um reconhecimento muito

bom das classes.

5.1.3 Singular Value Decomposition

Para a selecao de atributos utilizando o algoritmo svd, na divisao em duas classes, e feito

o balanco das informacoes a partir da Figura 5.4.

Page 40: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

28

Figura 5.4: Matriz de confusao para o SVD com duas classes.

Em relacao a fase de treinamento, 20,1% das entradas foram consideras como acesso

normal e 79,8% das amostras foram classificadas como intrusao. Na primeira classe, o erro

foi de 0,8% e na segunda classe o erro foi de 0,1%.

Para a fase de testes, a rede neural entendeu como um acesso normal 20,1% dos

dados e como intrusao 79,9% dos dados de entrada. O erro para a primeira classe e de

1%, o maior observado ate entao, e para a segunda classe o erro e de 0,1% apenas.

Na validacao, 19,9% dos dados de entrada foram considerados pretencentes a classe

Page 41: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

29

de acesso normal e 80.1% das entradas foram consideradas intrusao.

Ao examinar o resultado geral do desempenho do algoritmo, na validacao, observa-

se um percentual de 99,0% de classificacoes corretas e 1,0% de classificacoes incorretas.

Ja para a fase de teste, foi observado 98,9% de acertos e 1,1% de erros. Portando, a rede

apresentou um total de 99.0% de classificacoes corretas e 1,0% de classificacoes incorretas.

Pode-se observar um resumo do que foi dito na Tabela 5.3.

Tabela 5.3: Porcentagem de erros e acertos do classificador com duas classes para o svd.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 99,1% 0,9%

Teste 98,9% 1,1%

Validacao 99,0% 1,0%

Total 99,0% 1,0%

Apesar de ser um resultado nao tao animador quanto os outros dois anteriores,

ainda e possıvel observar uma excelente acuracia neste algorıtmo, ja que o total de clas-

sificacoes incorretas e 1,0%.

5.1.4 Nonnegative Matrix Factorization

Por fim, ao analisar o desempenho do algoritmo nnmf para duas classes, a partir da matriz

de confusao da Figura 5.5, percebe-se que, na fase de treinamento, 19,9% das informa-

coes fornecidas a rede foram identificadas como acesso normal e 80,1% como intrusao,

apresentando erros de 0,7% e 0,1%, respectivamente.

Na fase de teste, a primeira classe representa 20% dos dados e a segunda classe

representa 80% dos dados, com erros de 0,7% e 0,1%, respectivamente.

Ao investigar a fase de validacao, 20,2% dos dados foram atribuıdos a conexoes

normais e 79,8% dos dados foram atribuıdos a intrusoes a rede. A primeira classe foi clas-

sificada incorretamente 0,9% das vezes e a segunda classe foi classificada incorretamente

0,1% das vezes.

Page 42: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

30

Figura 5.5: Matriz de confusao para o nnmf com duas classes.

De uma maneira geral, fase de treinamento, o resultado obtido foi de 99,2% de

acertos e 0,8% de erros. Para a validacao, obtivemos um percentual de 99,0% de classifi-

cacoes corretas e 1,0% de classificacoes incorretas. Ja para a fase de teste, foi observado

99,2% de acertos e 0,8% de erros, como exposto na Tabela 5.4.

Page 43: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

31

Tabela 5.4: Porcentagem de erros e acertos do classificador com duas classes para o nnmf.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 99,2% 0,8%

Teste 99,2% 0.8%

Validacao 99,0% 0,1%

Total 99,2% 0,8%

Portando, a rede neural, ao utilizar o subconjunto de dados provido pelo nnmf,

apresentou um total de 99,2% de classificacoes corretas e 0,8% de classificacoes incorretas.

5.1.5 Comparacao dos metodos trabalhando com duas classes

Iremos aqui comparar os metodos utilizados para selecao de atributos quanto a eficien-

cia da rede neural ao utilizar seus conjuntos de dados como entrada na separacao das

informacoes em conexao normal ou intrusao.

Para que o resultado seja o mais geral possıvel, o desempenho dos algoritmos sera

comparado quanto ao resultado total, ou seja, apenas os valores das celulas azuis das

matrizes All Confusion Matrix.

O grafico da Figura 5.6 apresenta o total de classificacoes corretas da rede neural

para cada algoritmo.

E possıvel verificar que o melhor desempenho ocorreu para o algorıtmo pca, com

99,3% de acuracia.

O desempenho menos favoravel foi observado no svd, com 99% de acuracia. Ainda

assim, este e um resultado muito bom e este metodo pode ser utilizado sem problemas

em aplicacoes como a exposta neste trabalho.

Page 44: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

32

Figura 5.6: Grafico comparativo da acuracia da rede para 2 classes.

Em todos os testes e possıvel observar que a porcentagem de dados classificados

como acesso normal e menor que a porcentagem dos dados classificados como intrusao a

rede. Isso se deve ao fato dos exemplares do primeiro tipo serem menos numerosos que

os do segundo tipo.

Alem disso, observa-se do exposto nas subsecoes anteriores que as taxas de erro

foram maiores para a primeira classe. Isso se deve ao fato de, provavelmente, os exemplares

da classe 1 serem mais difıceis de separar que os da segunda classe, causando confusao

no classificador. Este resultado e esperado, ja que todos os acessos que nao sao intrusao,

podem ser considerados um acesso normal.

5.2 Classificacao: acesso normal x tipo de invasao

Nesta secao, os dados contidos nos conjuntos gerados pelos metodos de selecao de atribu-

tos supracitados serao separados em cinco classes. Como citado anteriormente, alem de

conexao normal, temos conexoes consideradas ataques do tipo DoS, U2R, R2L e Probe.

Entao, iremos aqui analisar os resultados para esses cinco grupos.

Os ataques serao representados por seu numero de classe. O ataque Dos e repre-

sentado pela classe 2, o U2R pela classe 3, o Probe pela classe 4, o R2L pela classe 5 e a

Page 45: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

33

conexao normal e representada pela classe 1, como feito anteriormente.

Neste caso, temos 12.904 amostras de conexao normal, 53.111 amostras de ataque

DoS, 6 amostras de ataque U2R, 540 amostras de ataque Probe e 160 amostras de ataque

U2R. Note que a soma das amostras dos ataques somam 53.817, como na classificacao

anterior.

5.2.1 Principal Component Analysis

Seguindo a ordem da avaliacao anterior, iremos comecar pelo pca que utiliza como metodo

o Principal Component Analysis.

Investigando a matriz de confusao deste caso, na Figura 5.7, percebemos que na

fase de treinamento, 19,6% dos dados foram identificados como pertencentes a classe 1,

representando uma conexao normal, 80,2% dos dados foram identificados como intrusao

do tipo DoS, 0% dos dados foram classificados como ataque U2R, 0,2% dos dados como

ataques do tipo R2L e 0,1% dos dados esta classificado como um ataque Probe. Nesta fase,

as classes acesso normal, ataque DoS, ataque U2R, ataque R2L e ataque Probe obtiveram

erro de 0,5%, 0,7%, 0%, 0% e 0%, respectivamente.

Na fase de teste, a matriz de confusao apresenta 19,5% das entradas classificadas

como conexao normal, 80,3% das entradas foram identificadas como ataque DoS, 0% como

intrusao do tipo U2R, 0,1% como intrusao R2L e 0,1% como intrusao Probe. Nesta fase,

os erros apresentados foram de 0,5%, 0,9%, 0%, 0% e 0% para as classes acesso normal,

ataque DoS, ataque U2R, ataque R2L e ataque Probe, respectivamente.

A matriz de confusao da fase de validacao mostra um total de 19,8% das infor-

macoes classificadas na classe representante de uma conexao normal, 79,8% dos acessos

foram considerados uma intrusao DoS, 0% foi considerado um acesso do tipo U2R, 0,2%

dos acessos foram classificados como R2L e 0,1% foi classificado como intrusao do tipo

Probe. As classes acesso normal, ataque DoS, ataque U2R, ataque R2L e ataque Probe

obtiveram erro de 0,5%, 0,7%, 0%, 0% e 0%, respectivamente.

Page 46: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

34

Figura 5.7: Matriz de confusao do PCA com cinco classes.

De uma maneira geral, obteve-se uma acuracia de 98,8% na fase de treinamento,

98,7% na fase de validacao e 98,6% na fase de teste. O total geral de acuracia foi de 98,8%

de classificacoes bem sucedidas e 1,2% de classificacoes mal sucedidas, como exposto na

Tabela 5.5.

Page 47: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

35

Tabela 5.5: Porcentagem de erros e acertos do classificador com cinco classes para o pca.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 98,8% 1,2%

Teste 98,6% 1,4%

Validacao 98,7% 1,3%

Total 98,8% 1,2%

Alem disso, na matriz de confusao geral, as celulas coloridas com rosa mostram

uma classificacao muito boa para todas as classes, sendo a pior delas 2,4% de erro de

classe na fase de teste para a classe 2, que representa o ataque DoS.

5.2.2 Factor Analysis

Observando a matriz de confusao na Figura 5.8, para o resultado em relacao a fase de

treinamento, e verificado que o algoritmo identificou 20,6% como sendo acesso normal,

79,3% pertencentes ao acesso do tipo intrusao DoS, 0% como intrusao tipo U2R, 0% para

intrusao R2L e 0% para intrusao tipo Probe. Os erros de classificacao nesta fase foram de

1,2% para a primeira classe e 0,4% para a segunda classe. Os erros referentes as outras

classes sao de 0%.

Na fase de teste, 20,3% dos dados foram identificados como acesso normal, 79,6%

sao referentes a intrusao do tipo DoS, 0% se referem a intrusao U2R, 0% advem de acessos

identificados como intrusao do tipo R2L e 0% sao intrusoes Probe. Os erros de classificacao

foram de 1,1% para o acesso normal e 0,3% para intrusao DoS. Os erros referentes a outras

classes sao de 0%.

Na validacao, 20,1% das entradas foram consideradas acesso normal, 79,8% foram

consideradas intrusao do tipo DoS, 0% dos dados foi classificado como intrusao U2R, 0%

advem de acessos identificados como intrusao do tipo R2L e 0% sao intrusoes Probe. Os

erros desta fase foram de 1,1% para acessos normais e 0,4% para intrusao do tipo DoS.

Os erros referentes a outras classes sao de 0%.

Page 48: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

36

Figura 5.8: Matriz de confusao do factoran com cinco classes.

Ao reagrupar os dados do KDD CUP 99 com o factoran, de forma total, obteve

acuracia de 98,4% na fase de treinamento, 98,4% na fase de validacao e 98,5% na fase de

teste. O total geral de acuracia foi de 98,4% de classificacoes bem sucedidas. Os erros e

acertos do classificador estao expostos na Tabela 5.6.

Page 49: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

37

Tabela 5.6: Porcentagem de erros e acertos do classificador com cinco classes para o

factoran.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 98,4% 1,6%

Teste 98,5% 1,5%

Validacao 98,4% 1,6%

Total 98,4% 1,6%

5.2.3 Singular Value Decomposition

O desempenho da rede neural ao utilizar as informacoes vindas do algoritmo em questao

pode ser estudado a partir da Figura 5.9, que mostra sua matriz de confusao para as fases

de treinamento, teste e validacao.

Para a fase de treinamento, o mesmo apresentou 20,5% dos dados classificados

como conexao normal, com 1,2% de classificacoes mal sucedidas, 79,5% dos dados fo-

ram entendidos como pertencentes a classe de ataques DoS, com 0,6% de ineficiencia na

classificacao, 0% dos dados foi classificado como intrusao U2R, 0% advem de acessos iden-

tificados como intrusao do tipo R2L e 0% sao intrusoes Probe. Os tres ultimos grupos

apresentados nao apresentaram erro em sua classficacao.

Na fase de teste, e observado que 20,2% dos dados foram classificados como co-

nexao normal, com 1,2% de classificacoes incorretas, 79,8% dos dados foram apontados

como pertencentes a classe de ataques DoS, com 0,6% de ineficiencia na classificacao, 0%

dos dados foi classificado como intrusao U2R, 0% advem de acessos identificados como

intrusao do tipo R2L e 0% sao intrusoes Probe. Os tres ultimos grupos apresentados nao

apresentaram erro em sua classficacao.

Em relacao a fase de validacao, os dados apresentados dao conta de 20,5% acessos

normais, com 1% de erro de classificacao, 79,6% de intrusoes do tipo DoS, com 0,5 %

de erro de classificacao, 0% de ataques U2R, com 0% de erro de classificacao, 0% de

ataques R2L, com 0% de erro de classificacao e 0% de ataques Probe, com 0% de erro de

classificacao.

Page 50: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

38

Figura 5.9: Matriz de confusao do svd com cinco classes.

A Tabela 5.7 resume os resultados gerais.

Page 51: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

39

Tabela 5.7: Porcentagem de erros e acertos do classificador com cinco classes para o svd.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 98,2% 1,8%

Teste 98,2% 1,8%

Validacao 98,6% 1,4%

Total 98,2% 1,8%

De forma geral, a rede obteve acuracia de 98,2% na fase de treinamento, 98,6%

na fase de validacao e 98,2% na fase de teste. O total geral de acuracia foi de 98,2% de

classificacoes bem sucedidas e 1,8% de classificacoes mal sucedidas.

5.2.4 Nonnegative Matrix Facotization

A matriz de confusao do subconjunto de dados gerado a partir do nnmf e mostrado na

Figura 5.10.

Observa-se que, na fase de treinamento, 20,3% das entradas foram categorizadas

como acesso normal, com 1,1% de erro de classificacao, 79,2% dos dados foram catego-

rizados como ataque DoS, obtendo 0,de erro, 0% de ataques U2R, com 0% de erro de

classificacao, 0,3% de ataques R2L, com 0% de erro de classificacao e 0% de ataques

Probe, com 0,2% de erro de classificacao.

Para a fase de teste, nota-se que o classificador inseriu 20,3% dos dados no grupo

de conexao normal, com 1% de erro de classificacao, 79,3% dos dados no grupo de ataques

DoS, apresentando 0,2% de erro de classificacao, 0% no grupo de ataques U2R com 0%

de erro de classificacao, 0,2% no grupo de intrusao do tipo R2L, obtendo 0% de erro de

classificacao e 0% dos dados no grupo que representa intrusoes do tipo Probe, obtendo

0,1% de erro de classificacao.

Na validacao dos dados, 20,6% das entradas foram categorizadas como acesso nor-

mal, com 1,3% de erro de classificacao, 80% dos dados foram categorizados como ataque

DoS, obtendo 0,3% de erro, 0% de ataques U2R, com 0% de erro de classificacao, 0,2% de

ataques R2L, com 0% de erro de classificacao e 0% de ataques Probe, com 0,1% de erro

de classificacao.

Page 52: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

40

Figura 5.10: Matriz de confusao do nnmf com cinco classes.

A Tabela 5.8 resume os resultados gerais.

Page 53: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

41

Tabela 5.8: Porcentagem de erros e acertos do classificador com cinco classes para o nnmf.

Fase Classificacoes Corretas Classificacoes Incorretas

Treinamento 98,5% 1,5%

Teste 98,6% 1,4%

Validacao 98,2% 1,8%

Total 98,5% 1,5%

A rede neural apresentou, de uma maneira geral, acuracia de 98,5% na fase de

treinamento, 98,2% na fase de validacao e 98,6% na fase de teste. O total geral de

acuracia foi de 98,5% de classificacoes bem sucedidas, para este caso.

5.2.5 Comparacao dos metodos trabalhando com cinco classes

Adotando este tipo de classificacao, e possıvel verificar que algumas classes tiveram pouca

ou nenhuma representatividade perante as demais. Isso se da pelo numero desproporcional

de amostras dos diferentes tipos de acesso, como exibido no inıcio da Secao 5.1 e da Secao

5.2. O banco de dados utilizado nao e homogeneo em relacao as classes, ou seja, algumas

apresentam exemplares em quantidade extremamente maior que outras. Isso faz com que

o classificador reconheca as mesmas, porem, como a porcentagem e muito pequena, ocorre

o arredondamento para 0%. Isso explica o fato de algumas classes apresentarem 0% de

reconhecimento com 0% de erro de reconhecimento, ainda que possuam exemplares no

KDD CUP 99.

Apesar do desempenho em relacao a classificacoes corretas ter caıdo em relacao

ao tipo de classificacao anterior, o pca continua sendo o melhor metodo de selecao de

atributos para este caso, como exposto na Figura 5.11.

Page 54: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

42

Figura 5.11: Grafico comparativo da acuracia dos algorıtimos para 5 classes.

No entando, se antes os algorıtmos factoran e nnmf estavam empatados neste tipo

de comparacao, agora e possıvel observar uma sutil diferenca entre os mesmos.

O svd continua tendo um pior desempenho, contudo, o Singular Value Decom-

position ainda pode ser considerado um bom metodo devido ao fato da rede neural ter

apresentado erros pequenos ao receber como entrada o conjunto de dados gerado pelo

mesmo.

Ao se adicionar mais classes e comum obter uma queda na performance de classi-

ficacao, ja que agora ela necessita trabalhar com um maior numero de opcoes para tomar

decisoes.

Page 55: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 6

Conclusao

A partir do exposto, podemos perceber que apesar de todos os algoritimos terem apresen-

tado bons resultados, o que obteve melhor desempenho em ambos os casos foi o pca, que

utiliza o metodo Principal Component Analysis, como mostrado nos graficos expostos nas

Figuras 5.6 e 5.11.

Esse resultado era esperado, visto que o metodo que mais se destacou e o mais

utilizado para fins como este. Ao ordenar os atributos por variancia, o algoritmo separa

em ordem decrescente as caracterısticas que possuem mais informacoes do conjunto inteiro

de dados, podendo este ser representado.

O tamanho dos subconjunto de dados escolhidos, ou seja, nove atributos, se mos-

trou eficiente para a aplicacao, o que pode ser percebido pois todos os resultados foram

bons quando comparados aos trabalhos exibidos na Revisao Bibliografica. Isso significa

que foi possıvel representar as informacoes mais relevantes da base com apenas nove delas.

Os outros metodos apresentados tambem obtiveram um excelente resultado, com

diferencas mınimas de precisao. Isso se deve ao fato de, incialmente, ja ter sido feita

uma pre selecao de atributos, retirando do banco de dados atributos que nao agregavam

informacoes, deixando o mesmo pouco vulneravel ao metodo utilizado. Isto significa que

as informacoes contidas no KDD CUP 99 sao capazes de formar bons subconjuntos de

dados para testes como o que foi feito neste trabalho.

De maneira geral, a porcentagem de dados distribuıda entre as classes se manteve

a mesma e a classe normal obteve resultados similares quando comparados a separacao

em duas classes, ou seja, dividindo os dados apenas em acesso normal e intrusao. Isto era

esperado ja que o numero de amostras de cada classe nao mudou.

Page 56: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

44

O fato do classificador da rede neural artificial ter designado poucos dados a deter-

minadas classes e, por vezes, ate nao selecionando dado algum para algumas, nao significa

que nao existam exemplares que pertencam as mesmas no banco de dados. Este problema

se deu ao fato do arredondamento produzido pelo MatLab, pois as classes apresentavam

poucas amostras. Inicialmente, poderia ter sido feito um balanco nas amostras da base

utilizada para que as classes menores se tornassem mais representativas, o que nao foi feito

no presente trabalho a fim de se tentar preservar o maximo possıvel os dados originais.

Em seu trabalho, Iftikah Ahmad [6] obteve 100% de reconhecimento para o ataque

U2R utilizando 38 atributos do banco de dados completo, ou seja, fazendo uma selecao de

atributos. Isso mostra que o KDD CUP 99 completo possui mais exemplares das classes

que nao estao bem representadas na versao de 10% do banco de dados, como e o caso do

ataque U2R.

Mukhopadhyay [7] obteve 73,9% de acuracia utilizando 10% do KDD CUP 99, sem

que tenha sido feita uma selecao de atributos. Por ter sido utilizado o mesmo banco de

dados neste trabalho, podemos comparar o desempenho do classificador do artigo citado

com o melhor resultado no presente trabalho. No melhor caso para duas classes, ou

seja, utilizando o pca como metodo de selecao de atributos, obtivemos 99,3% de acuracia,

podendo concluir que o resultado foi melhor que o exposto no artigo presente na Revisao

Bibliografica.

Agrupando a saıda em cinco classes, Poojitha G. [9] obteve 94,93% de acuracia

utilizando 10% do KDD CUP 99, realizando uma limpeza nos dados da base, excluindo

atributos que nao agregavam informacao ao conjunto. Para o melhor caso neste contexto,

a acuracia apresentada no presente trabalho foi de 98,8%.

De uma maneira geral, em relacao aos trabalhos apresentados na secao Revisao

Bibliografica deste trabalho, os resultados aqui mostram um melhor aproveitamento do

banco de dados utilizado, tendo sido o mesmo em todos. Ao observar baixas taxas de

erro de classificacao, conclui-se que neste trabalho o KDD CUP 99 foi melhor representado

pelos subconjuntos gerados pelos metodos de selecao de atributos, poupando a rede neural

artificial de erros de classificacao que estiveram mais acentuados em outros trabalhos. O

tratamento dado a base de dados anteriormente, eliminando inicialmente atributos que,

por serem representados por apenas um valor, nao contribuiriam para a aprendizagem da

rede neural, tambem influenciou na boa classificacao aqui obtida.

Page 57: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

Capıtulo 7

Sugestoes para trabalhos futuros

Com base no trabalho desenvolvido, podem ser identificadas vertentes para trabalhos

futuros.

A rede utilizada no MatLab foi uma rede padrao que o programa oferece. E in-

teressante fazer alteracoes na rede, combinando diversas outras caracterısticas a fim de

observar se os resultados dos metodos testados se diferenciam de forma mais acentuada.

Pode-se nao restringir o ambiente de trabalho ao MatLab, verificando maneiras de

implementar o que foi feito de outras maneiras, como, por exemplo, programando em

Python. Desta forma, outros metodos de selecao que aqui nao foram abordados, como,

por exemplo, o Idependent Component Analysis, o ICA, podem ser testados e comparados.

Outros bancos de dados tambem podem ser utilizados para este trabalho a fim de

investigar se algum metodo se destaca ainda mais dos demais. Uma base bem conhecida

e a NSL KDD, criado para solucionar alguns problemas apresentados pelo KDD CUP 99.

Caso haja necessidade de fazer a classificacao em cinco classes, ou seja, separar

o classificador em acesso normal e tipo de ataque, e interessante deixar os dados com

numero de amostras proximos para que nao ocorra falha na classificacao, garantindo que

nenhuma classe pequena sera dissolvida entre as maiores.

O tamanho do subconjunto de dados foi escolhido a partir do exposto em outras

literaturas. E interessante variar esse numero a fim de verificar o impacto disto no classi-

ficador.

Page 58: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

46

Referencias Bibliograficas

[1] INTERNET ENGINEERING TASK FORCE, Internet Security Glossary, Version

2, agosto de 2007

[2] CARVALHO, Luciano Goncalves. Seguranca de Redes, Editora Ciencia Moderna,

2005.

[3] ALEX L. RAMOS, CICERO N. DOS SANTOS. Combinando Algoritmos de Classi-

ficacao para Deteccao de Intrusao em Redes de Computadores, Simposio Brasileiro

em Seguranca da Informacao e de Sistemas Computacionais, Brasil, 2011.

[4] LILIA DE SA DILVA, Uma metodologia para deteccao de ataques no trafego de redes

baseada em redes neurais, 2007. 256. Tese de Doutorado do Curso de Pos-Graduacao

em Computacao Aplicada - INPE, Sao Jose dos Campos

[5] NEHA G. RELAN, DHARMARAJ R. PATIL. Applying Neural Network to U2R

Attacks, 2010 IEEE Symposium on Industrial Electronics and Applications, 2010.

[6] IFTIKHAR AHMAD, AZWEEN B ABDULLAH, ABDULLAH S ALGHAMDI. Im-

plementation of Network Intrusion Detection System using Variant of Decision Tree

Algorithm, 2015 International Conference on Nascent Technologies in the Engineering

Field, 2015.

[7] I MUKHOPADHYAY, M CHAKRABORTY, S CHAKRABARTI, T CHATTER-

JEE. Back Propagation Neural Network Approach to Intrusion Detection System,

2011 International Conference on Recent Trends in Information Systems, 2011.

[8] SHREYA DUBEY, JIGYASU DUBEY. KBB:A Hybrid Method for Intrusion Detec-

tion, 2015 IEEE International Conference on Computer, Communication and Con-

trol, 2015.

Page 59: Universidade Federal Fluminense Escola de Engenharia Curso ......Estudo de Sele˘c~ao de Atributos para Redes Neurais Arti ciais Aplicadas a Sistemas de Detec˘cao de Intrus~ao em

47

[9] POOJITHA G., NAVEEN KUMAR K., JAYARAMI REDDY P. Intrusion Detection

using Artificial Neural Network, 2010 Second International conference on Computing,

Communication and Networking Technologies, 2010.

[10] MOHAMMED A. AMBUSAIDI, XIANGJIAN HE, PRIYADARSI NANDA,

ZHIYUAN TAN. Building an Intrusion Detection System Using a Filter-Based Fea-

ture Selection Algorithm, IEEE Transactions on Computers, VOL. 65, NO. 10, 2016.

[11] V. BOLON-CANEDO, N. SANCHEZ-MAROFIO, A. ALONSO-BETANZOS. A

Combination of Discretization and Filter Methods for Improving Classification Per-

formance in KDD Cup 99 Dataset, Proceedings of International Joint Conference on

Neural Networks, Atlanta, Georgia, USA, 2009.

[12] SALVATORE J. STOLFO, WEI FAN, WENKE LEE, ANDREAS PRODROMIDIS,

PHILIP K. CHAN. Cost-based Modeling for Fraud and Intrusion Detection: Results

from the JAM Project, Proceedings of the 2000 DARPA Information Survivability

Conference and Exposition (DISCEX ’00), Hilton Head. Janeiro de 2000

[13] KOUTROMBAS, Sergio Theodoridis, Konstantinos Koutroumbas. Pattern Recogni-

tion, 4a. edicao, Academic Press, 2009.