Árvores de Decisão baseadas nas entropias de Shannon
Transcrição
Árvores de Decisão baseadas nas entropias de Shannon
Árvores de Decisão baseadas nas entropias de Shannon, Rényi e Tsallis para Sistemas Tolerantes a Intrusão Christiane Ferreira Lemos Lima Departamento de Ensino Instituto Federal do Maranhão Campus Maracanã São Luís, MA - Brasil [email protected] Francisco Marcos de Assis Departamento de Engenharia Elétrica Universidade Federal de Campina Grande Campina Grande, PB - Brasil [email protected] Abstract—Este artigo descreve um estudo comparativo do uso das entropias de Shannon, Rényi e Tsallis, com o objetivo de encontrar alternativas mais eficientes aplicadas a um Sistema Tolerante a Intrusões. Árvores de Decisão têm sido utilizadas em modelos de classificação de problemas relacionados à detecção de intrusos em redes de computadores, apresentando bons resultados. Um algoritmo muito utilizado é o C4.5 que aplica a entropia de Shannon na escolha dos atributos que melhor dividem os itens de dados dentro de suas classes. Entretanto, outras formulações de entropia podem ser aplicadas visando garantir uma melhor generalização nos que se refere aos critérios de divisão. Os resultados experimentais demonstram que as entropias de Tsallis e Rényi aplicadas a este problema, constroem árvores mais compactas e eficientes, se comparadas com a entropia de Shannon. Palavras-Chaves: Entropias de Shannon, Rényi e Tsallis; Sistema Tolerante a Intrusão; árvore de Decisão. I. I NTRODUÇÃO Segundo Crosbie e Spafford [1], uma intrusão pode ser definida como sendo um conjunto de ações que tentam comprometer a integridade, confidencialidade ou disponibilidade de recursos em um sistema computacional. Geralmente, as intrusões são causadas por usuários não autorizados tentando acessar um sistema através da rede interna ou externa ou por usuários legítimos tentando abusar de seus privilégios, motivados por: ganhos financeiros, vingança, necessidade de aceitação ou respeito, idealismo, curiosidade ou busca de emoção, aprendizado ou espionagem industrial. Portanto, os sistemas devem ser capazes de tolerar automaticamente intrusões e continuar operacionais, sem que sejam necessárias ações de reparação por parte de administradores de sistema, porque essas são tipicamente demoradas e potencialmente introduzem erros. Nesse contexto, torna-se imprescindível a construção de sistemas que apliquem conceitos e técnicas de tolerância a falhas que visem dar apoio e agilidade no processo de tomada de decisão na ocorrência de um incidente de intrusão, principalmente no caso de ausência de administrador de segurança, em decorrência de que a maioria ocorre fora do expediente normal das corporações e um invasor pode permanecer durante semanas em um ambiente, estudando a melhor forma de efetuar o acesso indevido à rede, sem que seja identificado. Nos Sistemas Tolerantes a Intrusão (STI), uma falha pode ser uma intrusão, uma vulnerabilidade, um ataque, uma falha de projeto ou falha de configuração [2] [3]. Com base em Jalote [4], um defeito no sistema pode ocorrer quando o seu comportamento desvia do que é requerido pelas suas especificações, ou seja, um sistema está defeituoso quando não pode fornecer o serviço desejado. Se há uma falha no sistema, então existe uma seqüência de ações que podem ser executadas pelo sistema até a ocorrência de um erro. A não ser que Cleonilson Protásio de Souza Departamento de Engenharia Elétrica Universidade Federal da Paraíba João Pessoa, PB - Brasil [email protected] medidas preventivas sejam empregadas, a conseqüência de um erro será um defeito. Contudo, tem-se que o ponto de partida de qualquer atividade de tolerância a falhas é a detecção de erros. Falhas e defeitos podem não ser diretamente observados, mas devem ser deduzidos através da presença de erros. Portanto, para que um esquema de tolerância a falhas seja eficiente, existe uma relação direta com o mecanismo de detecção de erro empregado, ou seja, quanto mais eficiente for a detecção, mais eficiente será o processo de tolerância [4]. As pesquisas na área de detecção de intrusos seguem por várias linhas de ação. O conceito de detecção de intrusos foi proposto pela primeira vez por James Anderson [5], sendo difundido somente em 1987, com a publicação do artigo Um Modelo de Detecção de Intrusão por Dorothy Denning [6]. Nos anos seguintes, vários modelos foram apresentados na tentativa de aumentar a segurança de um computador ou rede de computadores. Dentre eles, têm-se os baseados em árvore de decisão, que apresentam bons resultados, com baixas taxas de falso positivo e falso negativo [7] [8] [9]. Atualmente há diversos algoritmos de árvore de decisão implementados, sendo os mais populares provavelmente o ID3 (Induction of Decision Tree), desenvolvido por Quinlan [10] com base no CLS (Concept Learning System) [11] e seu sucessor, o C4.5 [12]. Ambos constroem a árvore num processo top-down, selecionando o atributo de teste apropriado para cada nó de decisão da árvore, através do cálculo de sua entropia. A introdução da entropia no processo de construção de árvores de decisão tem como objetivo a criação de árvores menores e mais eficazes na classificação [13]. A redução do tamanho da árvore depende da seleção dos atributos. Várias estratégias podem ser utilizadas para determinar qual atributo de teste será usado em cada nó da árvore e, nesse contexto, outras formulações de entropia podem ser aplicadas na escolha dos atributos, visando garantir uma melhor generalização nos que se refere aos critérios de divisão. Portanto, neste artigo é realizado um estudo comparativo do uso das entropias de Shannon [14], Rényi [15] e Tsallis [16] [17] com o objetivo de encontrar alternativas mais eficientes no uso de árvores de decisão aplicadas na detecção de intrusos em redes de computadores. O artigo está organizado da seguinte forma: na Seção II são abordados os conceitos relevantes sobre as formulações de entropia e o uso da divergência Jensen-Rényi como informação mútua. Na Seção III é descrito o processo de construção de uma árvore de decisão. O ambiente de experimento é apresentado na Seção IV e os resultados são analisados na Seção V, seguido da Conclusão e trabalhos futuros desta pesquisa. II. F ORMULAÇÕES DE E NTROPIA O conceito de entropia foi associado à quantidade de informação de uma mensagem como uma medida estatística que obedece a um conjunto de axiomas e utilizado no estudo da Teoria da Informação por Claude Shannon em 1948 [14], baseada na expressão de entropia de Boltzmann-Gibbs [18] [19]. Com base no trabalho de Shannon [14], a entropia de uma variável aleatória X comPuma distribuição discreta de probabilidade pi = {p1 , p2 , ..., pk }, ki=1 pi = 1, associada aos resultados possíveis de um acontecimento é dada por: H(X) = − k X pi log2 pi bits/símbolo (1) i=1 A entropia binária de uma variável aleatória pode ser interpretada como sendo o "menor número médio de perguntas binárias (sim ou não) necessário para identificar a saída de uma fonte (X = x). Sendo X a saída de uma fonte discreta sem memória, o esquema de perguntas ótimo equivale à codificação mais eficiente para a fonte. Shannon definiu outro conceito básico na Teoria da Informação em relação à medida de dependência estatística entre duas variáveis aleatórias, chamada de informação mútua. Quanto maior for a informação mútua, maior será a redução da incerteza, significando que mais relacionadas são essas variáveis. Sejam X e Y duas variáveis aleatórias com distribuição conjunta de probabilidades p(x, y) e distribuições marginais p(x) e p(y), a informação mútua I(X; Y ), definida por Shannon, é a divergência de Kullback-Leibler (entropia relativa) entre a distribuição conjunta p(x, y) e o produto das distribuições marginais p(x)p(y) [20]. I(X; Y ) = D[p(x, y); p(x)p(y)] (2) onde D[p(x,y);p(x)p(y)] é a divergência Kullback-Leibler que resulta em: I(X; Y ) = X x,y p(x, y)log p(x, y) p(x)p(y) (3) A informação mútua expressa em termos da entropia de Shannon é dada por: I(X; Y ) = = = H(X) + H(Y ) − H(X, Y ) H(X) − H(X|Y ) H(Y ) − H(Y |X) Rα (X) = k X 1 log pα i 1−α i=1 (5) P onde ki=1 pi = 1 e limα→1 Rα (X) = H(X). Para α > 1, a entropia de Rényi não é côncava nem convexa, mas para α ∈ (0, 1) é côncava e tende à entropia de Shannon quando α → 1. Dessa forma: Rα (X) ≥ H(X), ∀α ∈ (0, 1) A diferença entre a entropia de Rényi e a entropia de Shannon é que a de Rényi não satisfaz o quarto postulado básico, que é a propriedade recursiva. Todas as demais propriedades são satisfeitas, incluindo a propriedade aditiva. A divergência de Rényi pode também ser usada como uma medida de informação mútua entre variáveis aleatórias, em função da distribuição conjunta e a distribuição do produto das marginais. Entretanto, a mesma não pode ser expressa em termos de entropia, como é feita na entropia de Shannon (Eq. 4). Dessa forma, nessa pesquisa, a informação mútua foi substituída pela divergência Jensen-Rényi [21], também chamada de diferença α-Jensen [22], que é uma medida que usa a entropia de Rényi generalizada para medir a dependência estatística entre um número arbitrário de distribuição de probabilidade, utilizada com sucesso em processamento de imagem, segmentação e classificação. É uma função mais flexível a qual é parametrizada por uma quantidade positiva α e tem muitas propriedades, dentre elas, continuidade, nãonegatividade e convexidade. Sua fórmula geral é: w JRα (p1 , p2 , ..., pk ) = Rα k X i=1 ! wi pi − k X representando a redução de incerteza sobre X devido ao conhecimento de Y e é fácil provar que é simétrica e não negativa. A entropia de Shannon encontrou muitas aplicações não somente na engenharia, mas também em diversas áreas tais como a estatística, economia, no reconhecimento de padrões, aprendizado de máquina e sistemas dinâmicos, entre outras. Nessa perspectiva, dentro da Teoria da Informação foram formuladas propostas de generalização da entropia, algumas claramente relacionadas, chegando a reduziremse à mesma expressão em alguns casos particulares, tais como a formulação de Rényi [15] e Tsallis [16] [17]. Em 1961, Alfréd Rényi evidenciou, através de um conjunto de postulados, que outras quantidades poderiam ajustar-se igualmente ou talvez melhor a uma medida de informação, surgindo a idéia de entropia generalizada. Rényi propôs uma entropia parametrizada α (α > 0 e α 6= 1) que contém a entropia de Shannon como caso limite, chamada entropia de Rényi. wi Rα (pi ) (7) i=1 Pk onde i=1 wi = 1, wi ≥ 0, Rα é a entropia de Rényi e w = (w1 , w2 , ..., wn ) é um vetor peso. Para 0 < α < 1, a divergência Jensen-Rényi é não-negativa, simétrica e uma função convexa de p1 , p2 , ..., pk . Portanto, a informação mútua, chamada α-informação mútua, pode ser generalizada, usando a entropia de Rényi. Iα (X; Y ) = Rα (X) − Rα (X|Y ) (4) (6) (8) Alguns anos depois, Constantino Tsallis [17] definiu uma forma generalizada de entropia, tendo como caso particular a entropia de Boltzmann-Gibbs-Shannon. ! k X 1 α Sα (X) = 1− pi (9) α−1 i=1 onde α ≥ 0 e limα→1 Sα (X) = H(X). Para α > 1, a informação mútua de Tsallis é definida como [23]: Iα (X; Y ) = Sα (X) − Sα (X|Y ) (10) A entropia de Tsallis tem uma concavidade bem definida para todos os valores de α, sendo côncava quando α > 0 e convexa quando α < 0. As entropias de Shannon, Rényi e Tsallis atingem um extremo no caso de equiprobabilidade, mas este nem sempre traduz o máximo da entropia. Para α > 0, a entropia de Rényi e Tsallis atingem o máximo. Nos demais casos, atingem o mínimo. A entropia de Tsallis satisfaz algumas das propriedades da entropia de Shannon e Rényi. As principais diferenças entre estas, encontramse, fundamentalmente, na aditividade e na convexidade. Enquanto a entropia de Shannon e Rényi verificam a aditividade, a entropia de Tsallis verifica a α-aditividade. A entropia de Shannon é côncava, enquanto as de Rényi e Tsallis nem sempre são, pois dependem de seus parâmetros. Além disso, a entropia de Shannon e de Tsallis não são aplicáveis a distribuições incompletas, ao contrário de Rényi. Na entropia de Shannon, os eventos com probabilidade muito alta ou muito baixa não têm grande peso no valor da entropia. Entretanto, na entropia de Tsallis, para valores de α > 1, os eventos com probabilidades mais elevadas contribuem mais para o valor de entropia do que os eventos de probabilidade baixa. Estabelecendo um paralelo com a entropia de Shannon, a média ponderada da entropia é substituída por uma média de potência α. Assim, uma mudança do valor de α altera a contribuição relativa de um dado evento para a soma total. Quanto mais elevando for α, mais peso têm os eventos de probabilidade elevada, na soma total. III. Á RVORES DE D ECISÃO Uma Árvore de Decisão é uma estrutura de dados, sendo percorrida iniciando por um nó raiz até uma folha. Cada nó interno (também chamado de nó de decisão) especifica um atributo de teste (previsor). Para cada resultado do teste, existe uma ligação (ramo ou aresta) para cada subárvore. Cada subárvore possui a mesma estrutura que a árvore. Um nó folha representa uma classificação ou resultado predito. Segundo Breiman et al. [24], árvores de decisão são modelos utilizados em problemas de aprendizado de máquina e predição supervisionada, em que o referido modelo é induzido a partir de um conjunto de instâncias de treinamento, com as classes previamente conhecidas. Cada instância é composta por um conjunto de atributos de entrada que são utilizados para predizer uma classe em particular, indicada por um atributo objetivo. O mapeamento que ocorre entre as entradas e a saída é denominado de modelo preditivo, que pode ser representado numa estrutura semelhante a uma árvore ou expresso através de um conjunto de regras se-então, sendo, portanto, de fácil interpretação por seres humanos. A vantagem de se utilizar esse algoritmo é que a estrutura criada pode ser aplicada em novos casos em que o resultado é desconhecido. A escolha dos atributos influencia diretamente no tamanho e na capacidade de generalização da árvore. Existem vários métodos usados na seleção de um bom subconjunto de atributos [25]. Em Ben Bassat [26], uma classificação de regras de avaliação de atributos é apresentada em três categorias, conforme a seguir: • • • Regras derivadas da teoria da informação, que usam, por exemplo, o cálculo de entropia e informação mútua de Shannon são bastante utilizadas no reconhecimento de padrões [27]; Regras derivadas de medidas de distância entre a distribuição de probabilidade das classes, por exemplo, uso do índice Gini [24]; Regras derivadas de medidas de dependência estatística entre duas variáveis aleatórias [25]. Entretanto, existem muitos critérios de seleção de atributos que não se enquadram perfeitamente em uma das categorias definidas na Taxonomia de Ben Bassat, mas usam uma combinação das mesmas com o objetivo de encontrar melhores alternativas na construção de árvores de decisão. A. Construindo árvores de decisão O algoritmo ID3 [10] constitui uma das referências base dos algoritmos atuais de indução de árvores de decisão. Desenvolvido com vista ao tratamento de problemas contendo apenas características discretas, a sua estrutura básica é iterativa e muito simples no que se refere ao tratamento de problemas sem erros de classificação nos dados dos treinos ou atributos sem valores. O algoritmo C4.5[12] estende o ID3, sendo capaz de tratar conjuntos de treinamentos com registros contendo valores desconhecidos para alguns atributos, tratar atributos com intervalos discretos e contínuos e realizar o procedimento de poda, o qual é responsável por remover as comparações redundantes ou remover subárvores para melhorar o desempenho da árvore de decisão. Essas características motivaram seu uso nesta pesquisa. A criação da árvore de decisão, baseada no algoritmo C4.5, é realizada através de um processo recursivo, a partir da raiz, com base nos valores que melhor dividem os itens de dados dentro de suas classes. O algoritmo C4.5 usa, como padrão, a medida de entropia de Shannon. Esse processo é continuado até gerar uma árvore de decisão que classifique as instâncias de treinamento ou até que todos os atributos sejam usados. A seguir será ilustrado o processo de criação da árvore de decisão, usando o algoritmo C4.5, com base na entropia de Shannon, podendo ser substituída pelas entropias de Rényi e Tsallis, seguindo suas formulações e obedecendo suas restrições apresentadas para os valores de α. 1) Inicialização. Seja |T | o número total de instâncias de treinamento, representando um conjunto de classes C = {c1 , c2 , ...., ck }, onde k é o número de classes possíveis (k ≥ 2). Cada instância é formada por um conjunto de n atributos A = A1 , A2 , ..., An , sendo que seus valores Ai = {a1 , ..., am } definem a classe ck . 2) Determinar o esquema eficiente de perguntas. "Qual o melhor atributo a ser utilizado como nó da árvore"? O algoritmo C4.5 [12] examina todos os atributos previsores e escolhe o i) atributo Ai que maximize a razão I(C;A , para que o teste H(Ai ) escolhido tenha um ganho de informação pelo menos maior que a média de ganho de informação sobre todos os testes avaliados, para rotular o nó atual da árvore. O atributo Ai usado como nó da árvore de decisão irá dividir o conjunto de treinamento T em N partições, com base nos valores do atributo escolhido. O processo é repetido de forma recursiva para dar continuidade à construção da árvore de decisão nos subconjuntos residuais T1 , ..., TN . • Calcular a entropia das classes. A entropia total da classificação é a quantidade de informação esperada necessária para especificar um conjunto de classes. Tomando como base um conjunto T de instâncias de treinamento, então f req(cj , T ) é o número de instâncias em T que apontam para a classe cj . Portanto, a entropia de C para k classes é dada por [12]: H(C) = = • − Pk j=1 P − kj=1 f req(cj ,T ) |T | log2 f req(cj ,T ) |T | p(cj ) log2 p(cj ) (11) Calcular a informação mútua. Para cada atributo Ai , a informação mútua I(C; Ai ) mede a redução da entropia das classes ocasionada pela divisão das instâncias T em função da escolha de um atributo Ai . I(C; Ai ) = H(C) − H(C|Ai ) (12) Table I I DENTIFICAÇÃO DE ATAQUES POR CATEGORIA onde a informação esperada requerida para a árvore com o atributo Ai , com valores a1 , ..., am , selecionado como nó da árvore é obtida através da entropia condicional, H(C|Ai ). H(C|Ai ) = m X p(av )H(C|Ai = av ) (13) p(cj |av ) log2 p(cj |av ) (14) v=1 em que H(C|Ai = av ) = k X DOS PROBING R2L U2R back (1026) land (11) neptune(10401) pod (69) smurf (7669) teardrop (15) ipsweep (586) nmap (151) portsweep (155) satan (16) spy (4) ftp-write (8) guess-passwd(53) imap (11) multihop (11) phf (5) wareszclient (60) warezmaster (20) buffer-overflow(11) loadmodule (10) perl (3) rootkit (7) j=1 • sendo p(cj |av ) a probabilidade condicional de que a classe é cj quando o atributo Ai tiver valor av . Calcular a razão do ganho. O objetivo é escolher o atributo que permita maximizar a razão (I(C; Ai ))/(H(Ai )), sendo H(Ai ) a quantidade de informação em potencial gerada pela divisão de T em N subconjuntos por um atributo Ai , dada pela expressão a seguir: H(Ai ) = − N X pv log2 pv (15) v=1 sendo pv a probabilidade do ramo v. Se atributo for discreto, será criado um ramo para cada valor de atributo. Senão, se um atributo Ai assume valores reais, é gerado um teste binário cujos resultados são Ai ≤ av e Ai > av e nesse caso, será escolhido o maior valor do conjunto de treinamento T que não exceda o ponto médio calculado (por exemplo: (av +a(v+1) ) , assegurando que todos os valores que aparecem 2 na árvore de fato ocorram nos dados. • Escolher atributo. O atributo que maximizar a razão do ganho será escolhido para ser o nó da árvore. • Estender a árvore. Adicionar um ramo para cada valor a1 , a2 , ..., av do atributo escolhido Ai como nó da árvore, de acordo com seu tipo (contínuo ou discreto). Nesse momento, o conjunto de treinamento T é subdividido T1 , T2 , ..., Tv partições, ou seja, cada subdivisão da árvore terá um novo conjunto de treinamento Tv , contendo todas as instâncias em T que possuem como resultado daquele teste o valor av . Para cada ramo criado, se as instâncias em Tv são da mesma classe, então associar essa classe a uma folha, senão, voltar ao passo Calcular a entropia das classes, usando o conjunto Tv como nova instância de treinamento. 3) Finalização. O modelo gerado é a solução do problema proposto. IV. A MBIENTE DE EXPERIMENTOS O objetivo principal desta pesquisa consiste na realização de um estudo comparativo do uso das entropias de Shannon, Renyi e Tsallis em projetos de árvores de decisão aplicáveis em redes de computadores tolerantes a intrusões. Dessa forma, pode-se classificar o tráfego de rede como normal ou com o indicativo de um determinado tipo de ataque. Para treinamento e teste dos modelos, foi utilizada a ferramenta WEKA (Waikato Environment for Knowledge Analysis) desenvolvida em linguagem Java, pela Universidade de Waikato na Nova Zelândia [28]. O algoritmo C4.5 é implementado nessa ferramenta através do algoritmo J48, sendo este modificado através dos cálculos das entropias de Rényi e Tsallis, obedecendo as devidas restrições em relação a α. Nessa pesquisa foi utilizado um subconjunto da base de dadosdisponibilizada na competição internacional de mineração de dados, Knowledge Discovery and Data Mining Competition - KDD Cup 99 [29] contendo um conjunto padrão de dados para serem auditados, incluindo uma grande variedade de intrusões simuladas durante nove semanas em uma rede militar de computadores. Devido ao grande volume de dados e com o intuito de reduzir o custo computacional, selecionou-se aleatoriamente um subconjunto de 22.653 instâncias, de um total de 494.021 [30]. Essa base de dados contém 2.351 registros de conexões indicando tráfego de rede normal e 20.302 registros contendo 22 tipos de ataques identificados, conforme ilustrado na Tabela I. Para cada registro, tem-se 41 atributos para caracterizarem as assinaturas de ataque e 1 atributo-objetivo (indicando a qual classe pertence a instância), utilizado para classificar o tipo de ataque. Em [31] é feita uma descrição resumida desses ataques. Serão utilizados atributos para reconhecer as seguintes categorias de ataques: • • • • User to Root (U2R) - quando uma pessoa que possui acesso autorizado como um usuário e tenta obter acesso como superusuário (root). Ex.: buffer overflow. Remote to Local (R2L) - quando uma pessoa, em uma máquina remota, tenta obter acesso ao servidor local. Ex.: guess-passwd. Probing - um intruso varre uma rede em busca de informação ou para encontrar vulnerabilidades conhecidas para explorar. Ex.: ipsweep. DOS - ataques de negação de serviço. O objetivo do invasor é causar a indisponibilidade do serviço alvo, seja através do consumo de recursos computacionais como memória, processador ou rede. Ex.: back. Um problema que pode ocorrer na construção de uma árvore é que a mesma pode ficar sobre-ajustada (overfitting) aos dados de treinamento e, assim, diminuir a sua capacidade de generalização. Para evitar tal situação e para garantir que fossem construídas árvores mais compactas e com menos folhas, na simulação foi executado o procedimento de poda da árvore. O método de validação cruzada com dez folds foi utilizado na simulação para determinar o coeficiente ótimo a ser utilizado na árvore de decisão. Exaustivos testes em diversas bases de dados demonstram que o teste de validação cruzada com dez folds é um teste adequado para se encontrar a estimativa de erro na classificação correta das instâncias. Esse método consiste em dividir aleatoriamente em dez partes nas quais as classes são representadas aproximadamente na mesma proporção da base de dados completa. O esquema de aprendizagem é treinado com nove folds e o restante (1/10) é usado para teste do modelo. O teste é realizado dez vezes em diferentes bases de dados e, então, o resultado é a média das estimativas de erro encontradas. Table II PARA A ENTROPIA DE R ÉNYI : R ESULTADO G ERAL PARA O CONJUNTO DE INSTÂNCIAS T α 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Classificação Correta 99,687% 99,6601% 99,6468% 99,6204% 99,691% 99,6822% 99,6424% 99,691% 99,607% Falso Positivo 0,7656% 0,9783% 1,0634% 1,1910% 0,7656% 0,7231% 0,8507% 0,7656% 1,1910% Falso Negativo 0,1330% 0,1281% 0,1281% 0,1428% 0,0837% 0,0985% 0,1478% 0,1133% 0,1822% Número de Folhas 391 453 454 273 189 128 259 380 450 Tamanho da árvore 456 517 519 339 244 186 313 434 509 Table III PARA A ENTROPIA DE S HANNON : R ESULTADO G ERAL PARA O CONJUNTO DE INSTÂNCIAS T - Classificação Correta 99.638% Falso Positivo 0.8932% Falso Negativo 0,1675% Número de Folhas 533 Além disso, das 65 instâncias classificadas erroneamente, 41 foram identificadas como suspeitas, o que pode ser considerado positivo em sistemas que apenas classificam conexões como normais ou suspeitas. O uso da entropia de Rényi também apresentou melhores resultados do que os testes realizados com a entropia de Shannon, por exemplo, ao ser utilizado α = 0, 5. Entretanto, os resultados encontrados com as entropias de Rényi e Tsallis foram mais significativos considerando-se a redução no tamanho e número de folhas da árvore. Um exemplo simplificado e meramente ilustrativo de árvore de decisão que pode ser gerado pelo modelos simulados a partir do conjunto de instâncias T é mostrado na Figura 1. Nesse exemplo é possível visualizar um modelo aplicado na detecção de ataques do tipo DOS. Tamanho da árvore 593 V. R ESULTADO E XPERIMENTAL As entropias de Rényi e Tsallis contêm um coeficiente α que pode ser usado para ajustar a sensibilidade em relação à distribuição de probabilidade, sendo esse coeficiente diferente em cada base de treinamento. Nesse contexto, como as entropias generalizadas oferecem diferentes compromissos entre a puridade dos nós e a informação mútua, buscou-se encontrar coeficientes ótimos para as bases de treinamento testadas. Nas Tabelas II, III e IV são apresentados os resultados comparativos obtidos com os respectivos percentuais de instâncias classificadas corretamente, o percentual de falsos positivos (dados normais classificados erroneamente como suspeitos) e falsos negativos (dados suspeitos classificados erroneamente como normais), o número de folhas e o tamanho da árvore para os valores de α testados. Para o conjunto de treinamento e testes adotado nesta pesquisa, os melhores resultados experimentais, dentre todos os algoritmos testados com seus respectivos valores de α e tomando como referência apenas a classificação correta das conexões normais ou suspeitas (independente do tipo de intrusão e se foram corretamente classificadas ou não pelo seu tipo específico) foram obtidos com a entropia de Tsallis, com apenas 0, 2869% de erro na classificação das instâncias testadas, com 0, 4679% de falso positivo e um percentual de falso negativo na faixa de 0, 0690%, com uma considerada redução no tamanho e número de folhas da árvore, para o valor de α = 1, 8. Table IV PARA A ENTROPIA DE T SALLIS : R ESULTADO G ERAL PARA O CONJUNTO DE INSTÂNCIAS T α 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 2 2,1 3 Classificação Correta 99,6248% 99,6601% 99,6292% 99,638% 99,638% 99,691% 99,7042% 99,7131% 99,6998% 99,691% 99,6866% 99,6733% Falso Positivo 0,6806% 0,8082% 0,8932% 0,7231% 0,6806% 0,5104% 0,5104% 0,4679% 0,5104% 0,5104% 0,5104% 0,5104% Falso Negativo 0,2217% 0,1872% 0,1872% 0,1872% 0,1872% 0,5530% 0,0690% 0,0690% 0,0739% 0,0837% 0,0837% 0,0985% Número de Folhas 393 509 571 572 571 170 166 167 167 167 167 168 Tamanho da árvore 443 557 617 619 617 219 211 213 213 213 213 215 Figure 1. Exemplo simplificado de árvore de decisão Com base nos tipos de ataques apresentados na Tabela I, é possível verificar, por exemplo, que o ataque do tipo land foi modelado contendo 8 instâncias pertencentes a uma folha e 3 instâncias pertencente a outra folha, totalizando 11 instâncias utilizadas no processo de treinamento. Isso significa que para o mesmo ataque, pode-se ter diferentes assinaturas, gerando árvores com número de folhas superior ao número de classes. Assim, o número de nós da árvore depende do domínio de aplicação e da base de dados de treinamento. VI. C ONCLUSÃO E TRABALHO FUTURO Nesta pesquisa, buscou-se encontrar alternativas mais eficientes, baseadas na Teoria da Informação, para serem utilizadas como critério de divisão do algoritmo de árvore de decisão C4.5, gerando modelos para serem aplicados na detecção de erros em Sistemas Tolerantes à Intrusão. Os resultados experimentais, tomando-se uma base de dados artificial de tráfego de rede contendo variados tipos de intrusões, demonstram que a entropia de Tsallis e Rényi, com os parâmetros adequados, se adaptam bem ao problema proposto, construindo árvores mais compactas e eficientes, de forma mais rápida, obtendo resultados com menores percentuais de erro de classificação, falso positivo e falso negativo, se comparados à entropia de Shannon. O uso da divergência Jensen-Rényi como informação mútua aplicadas na construção de árvores de decisão foi uma proposta inovadora nesta pesquisa. Como trabalho futuro para esta pesquisa, propõe-se utilizar um algoritmo de otimização, por exemplo um algoritmo genético, para obter um parâmetro α mais próximo do "ótimo". Aplicar as entropias de Rényi e Tsallis na extração de regras usando árvores de decisão. Aplicar os modelos estudados em algoritmos de seleção de atributos, além de pesquisar técnicas que possam ser aplicadas para encontrar um valor ótimo para o limiar de decisão de um atributo contínuo usado como nó de decisão, com o intuito de minimizar os erros de classificação. AGRADECIMENTOS Os autores agradecem à Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) e à Fundação de Amparo à Pesquisa e ao Desenvolvimento Científico e Tecnológico do Maranhão (FAPEMA). R EFERENCES [1] M. Crosbie and E. Spafford, “Defending a computer system using autonomous agents,” Department of Computer Sciences, Purdue University, CSD-TR-95-022; Coast TR 95-02, 1995. [2] Veríssimo, P, “Uncertainty and predictability: Can they be reconciled? ,” Lecture Notes in Computer Science: Future Directions in Distributed Computing, vol. 2584, pp. 108–113, 2003. [3] A. Adelsbach, D. Alessandri, C. Cachin, S. Creese, Y. Deswarte, K. Kursawe, J. C. Laprie, D. Powell, B. Randell, J. Riordan, P. Ryan, W. Simmonds, R. Stroud, P. Veríssimo, M. Waidner, and A. Wespi., “Conceptual model and architecture of maftia,” 2002. [Online]. Available: http://www.research.ec.org/maftia/deliverables/D21.pdf [4] P. Jalote, Fault tolerance in distributed systems. Englewood Cliffs, New Jersey: Prentice Hall, 1994. [5] J. P. Anderson, “Computer security threat monitoring and surveillance,” James P. Anderson Co, Fort Washington, PA, Tech. Rep., April 1980. [6] D. E. Denning, “An intrusion detection model,” vol. SE-13, no. 2. february: IEEE Transactions on Software Engineering, 1987, pp. 222– 232. [7] W. Lee, S. Stolfo, and P. Chan, “Learning patterns from unix process execution traces for intrusion detection,” in AAAI-97 Workshop on AI Approaches to Fraud Detection and Risk Management, 1997, pp. 50– 56. [8] S. Peddabachigari, A. Abraham, C. Grosan, and J. Thomas, “Modeling intrusion detection system using hybrid intelligent systems,” J. Netw. Comput. Appl., vol. 30, no. 1, pp. 114–132, 2007. [9] N. B. Amor, S. Benferhat, and Z. Elouedi, “Naive bayes vs decision trees in intrusion detection systems,” in SAC ’04: Proceedings of the 2004 ACM symposium on Applied computing. New York, NY, USA: ACM, 2004, pp. 420–424. [10] J. R. Quinlan, “Induction of decision trees,” Machine Learning, vol. 1, no. 1, pp. 81–106, 1986. [11] E. B. Hunt, J. Marin, and P. J. Stone, “Experiments in induction,” New York: Academic Press, 1966. [12] J. R. Quinlan, C4.5 Programs for Machine Learning. San Diego, CA: Morgan Kaufmann Publishers, 1993. [13] X. Wu, Knowledge Acquisition from Databases. Norwood, New Jersey, USA: Ablex Publishing Corporation, 1995. [14] C. E. Shannon, “A mathematical theory of communication,” Bell Systems Technical Journal, vol. 27, pp. 379–423 and 623–656, 1948. [15] A. Rényi, “On measures of entropy and information,” in Proceedings of the 4th Berkeley Symposium on Mathematical Statistics and Probability,, vol. 1. Berkeley: University of California Press, 1961, pp. 547–561. [16] M. Havrda and F. Charvát, “Quantification method of classification processes: concept of structural alfa-entropy,” Kybernetika, vol. 3, pp. 30–35, 1967. [17] C. Tsallis, “Possible generalization of boltzmann-gibbs statistics,” Journal of Statistical Physics, vol. 52, no. 1–2, pp. 479–487, 1988. [18] L. Boltzmann, “On the relation between the second law of the mechanical theory of heat and probability, and the theorems concerning thermal equilibirum, respectively,” pp. 373–435, 11 October 1877. [19] J. W. Gibbs, Elementary Principles in Statistical Mechanics. Yale U. P., 1902. [20] S. Kullback and R. A. Leibler, “On information and sufficiency,” The Annals of Mathematical Statistics, pp. 79–86, 1951. [21] Y. He, A. B. Hamza, and H. Krim, “A generalized divergence measure for robust image registration,” in IEEE Transaction on Signal Processing, vol. 51, no. 5, may, pp. 1211–1220. [22] A. Hero, B. Ma, O. Michel, and J. Gorma, “Alphadivergence for classification, indexing and retrieval,” University of Michigan Ann Arbor, Communications and Signal Processing Laboratory, Tech. Rep. CSPL328, may 2001. [23] S. Furuichi, “Information theoretical properties of tsallis entropies,” Journal of Mathematical Physics, vol. 47, no. 2, 2006. [Online]. Available: http://link.aip.org/link/?JMP/47/023302/1 [24] L. Breiman, J. Friedman, R. Olshen, and C. Stone, “Classification and regression trees,” 1984. [25] S. Murthy, “Automatic construction of decision trees from data: a multidisciplinary survey,” in Data Mining and Knowledge Discovery, vol. 2, no. 4. Springer, december 1998, pp. 345–389. [26] M. Ben-Bassat, Use of distance measures, information measures, and error bounds in feature evaluation in Handbook of Statistics, P. R. Krishnaiah and L. N. Kana, Eds. Amsterdam, The Netherlands: NorthHolland, 1982, vol. 2. [27] Q. R. Wang and C. Y. Suen, “Analysis and design of a decision tree based on entropy reduction and its application to large character set recognition,” in IEEE Transaction on Pattern Analysis and Machine Intelligence, vol. 6, 1984, pp. 406–417. [28] I. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, 2nd ed. San Francisco, California: Morgan Kaufmann Publishers, 2005. [29] Kdd cup 99 intrusion detection data set. Retrieved March 01, 2010. [Online]. Available: http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html [30] Kdd cup 99 intrusion detection 10_percent_data set. Retrieved March 01, 2010. [Online]. Available: http://kdd.ics.uci.edu/databases/kddcup99/kddcup.data_10_ percent.gz [31] E. P. de Souza, “Estudo sobre sistema de detecção de intrusão por anomalias: uma abordagem utilizando redes neurais,” Master’s thesis, Salvador University, Salvador, Brazil, 2008.