universidade federal fluminense escola de engenharia curso ......estudo de sele˘c~ao de atributos...
TRANSCRIPT
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
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
iii
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
.
.
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
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.
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!
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
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
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
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
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.
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.
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.
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
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.
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
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
6
no Capıtulo 4, que trata da implementacao das tecnicas de selecao de atributos sobre a
mesma.
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
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
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,
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
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.
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
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
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
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
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
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,
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
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
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.
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.
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.
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.
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%
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.
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
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.
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
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.
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.
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.
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
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.
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.
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%.
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.
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.
38
Figura 5.9: Matriz de confusao do svd com cinco classes.
A Tabela 5.7 resume os resultados gerais.
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.
40
Figura 5.10: Matriz de confusao do nnmf com cinco classes.
A Tabela 5.8 resume os resultados gerais.
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.
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.
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.
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.
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.
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.
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.