info.info-ai info.info-ni
Martin Andreoni Lopez 
  
Antonio G P Lobato 
  
Diogo Mattos 
  
Igor B Alvarenga 
  
Otto Carlos Duarte 
  
Guy Pujolle 
  
Igor B Alvarenga 
  
Algoritmo Não Um 
  
Supervisionado 
  
Um Algoritmo 
  
Não Supervisionado 
  
Rápido 
  
Diogo Menezes 
  
F Mattos 
  
Igor D Alvarenga 
  
Otto Carlos 
  
M B Duarte 
  
  
  
  
Um Algoritmo Não Supervisionado e Rápido para Seleção de Características em Classificação de Tráfego

à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduc ¸ão

É fundamental entender o tipo, o volume e as características intrínsecas de cada fluxo, a fim de manter a estabilidade, a confiabilidade e a seguranc ¸a de uma rede. Monitores de redes eficientes permitem ao administrador um melhor entendimento do comportamento da rede [START_REF] Hu | Dynamic defense strategy against advanced persistent threat with insiders[END_REF]. O monitoramento da rede possui diversos níveis de complexidade. Desde uma simples colec ¸ão de estatísticas de utilizac ¸ão de link até complexas análises de camadas superiores para a realizac ¸ão de sistemas de detecc ¸ão de intrusão (Intrusion Detetection System -IDS), otimizac ¸ão de desempenho ou depurac ¸ão de protocolos. Os sistemas atuais de monitoramento de rede como tcpdump, NetFlow, SNMP, Bro [START_REF] Paxson | Bro: a System for Detecting Network Intruders in Real-Time[END_REF]], Snort [START_REF] Roesch | Snort-Lightweight Intrusion Detection for Networks[END_REF]], entre outros, são executados em um único servidor e não são capazes de atingir as velocidades de tráfego atuais de forma escalável [START_REF] Vallentin | The NIDS Cluster: Scalable, Stateful Network Intrusion Detection on Commodity Hardware[END_REF]. O IDS Bro, por exemplo, evoluiu para a utilizac ¸ão em agrupamentos (clusters), a fim de atingir 10 Gb/s. O IDS Suricata foi proposto como uma melhoria sobre o IDS Snort, pois utiliza GPU (Graphical Processing Unit) para paralelizar a inspec ¸ão de pacotes.

No monitoramento de tráfego, dados chegam em tempo real, originados de fontes heterogêneas de informac ¸ão [START_REF] Bar | Large-scale network traffic monitoring with DBStream, a system for rolling big data analysis[END_REF], como a captura de pacotes de redes ou os logs de sistemas e aplicac ¸ões. Esse tipo de monitoramento em tempo real por fluxo é caracterizado por uma sequência de eventos infinita, abstraídos em uma estrutura de dados chamada de tuplas, que chegam continuamente [START_REF] Stonebraker | The 8 requirements of real-time stream processing[END_REF]. Um dos problemas deste tipo de monitoramento é o volume de dados gerados. Mesmo redes de velocidades moderadas podem gerar uma grande quantidade de dados. Monitorar um link ethernet gigabit, por exemplo, funcionando a uma taxa de 50% de utilizac ¸ão, gera um terabyte de dados em questão de horas.

Uma forma de otimizar os métodos de processamento é através da utilizac ¸ão de algoritmos de aprendizado de máquina. As técnicas de aprendizado de máquina são adequadas para o processamento de grandes massas de dados (big data), já que, com maiores amostras para o treinamento, as técnicas tendem a melhorar a sua efetividade [START_REF] Mayhew | Use of machine learning in big data analytics for insider threat detection[END_REF]. No entanto, com grandes volumes de dados, esses métodos apresentam maiores atrasos devido ao alto consumo de recursos computacionais. Esse atraso é uma desvantagem para esses métodos, já que com as grandes massas de dados, o processamento deve ser tão rápido quanto possível, a fim de se ter respostas em tempo real. A selec ¸ão de características é uma forma de resolver esse problema, já que reduz o número de características analisadas pelos algoritmos de aprendizado de máquina a um subconjunto menor do que o original [START_REF] Mladenić | Feature Selection for Dimensionality Reduction[END_REF]].

Este artigo apresenta um algoritmo eficiente e rápido de selec ¸ão de características para a classificac ¸ão de tráfego. O algoritmo realiza a selec ¸ão de características de modo não supervisionado, ou seja, sem conhecer a classe de cada fluxo a priori. Além disso, o algoritmo determina as principais características para fazer uma classificac ¸ão acurada do tráfego entre as classes normal, negac ¸ão de servic ¸o e ameac ¸as de varredura de portas. Para a avaliac ¸ão do algoritmo é utilizado um conjunto de dados1 criado a partir do monitoramento de tráfego real [START_REF] Pastana Lobato | Um Sistema Acurado de Detecc ¸ão de Ameac ¸as em Tempo Real por Processamento de Fluxos[END_REF]. O algoritmo apresentado é comparado com métodos tradicionais, tais como ReliefF [Robnik-Šikonja e Kononenko 2003], Selec ¸ão de Características Sequencial (Sequential Feature Selection -SFS) e a Análise de Componentes Principais (Principal Component Analysis -PCA) [START_REF] Schölkopf | Kernel principal component analysis[END_REF]. O algoritmo apresenta melhor acurácia nos métodos de aprendizado de máquinas utilizados, assim como uma melhora no tempo de processamento total.

O restante do artigo está organizado da seguinte forma. A Sec ¸ão 2 discute os trabalhos relacionados. O conjunto de dados de seguranc ¸a é apresentado na Sec ¸ão3. O algoritmo de Selec ¸ão de Características é introduzido na Sec ¸ão 4. Na Sec ¸ão 5, o algoritmo apresentado é comparado com métodos tradicionais de selec ¸ão de características. Por fim, a Sec ¸ão 6 conclui o trabalho.

Trabalhos Relacionados

Existem dois modos de reduzir o número de variáveis a serem analisadas e melhorar o tempo de processamento dos algoritmos de aprendizado de máquinas: reduc ¸ão e projec ¸ão de características. O primeiro deles é a selec ¸ão de características, no qual um subconjunto das características é selecionado de acordo com a quantidade de informac ¸ão que cada característica possui. Existem diversas métricas para se medir a quantidade de informac ¸ão de cada característica, como por exemplo, o ganho de informac ¸ão ou a correlac ¸ão entre elas, como no algoritmo apresentado. O segundo modo é a reduc ¸ão de características através da projec ¸ão dos dados em um novo espac ¸o vetorial, no qual uma transformac ¸ão é realizada sobre o conjunto de características original, o que leva o conjunto original para um espac ¸o de dimensão menor, em que as novas características são combinac ¸ões das originais. No novo espac ¸o, número de novas características a serem tratadas pelos algoritmos de aprendizado é reduzido através do descarte de componentes menos significativas. Cada característica nesse novo espac ¸o é uma combinac ¸ão das características originais [START_REF] Van Der Maaten | Dimensionality reduction: a comparative[END_REF].

A Análise de Componentes Principais (Principal Component Analysis -PCA) é um dos métodos mais populares para a reduc ¸ão não supervisionada de características. A ideia do PCA é projetar as características originais de maneira em que as novas características sejam ortogonais, ou seja, independentes. A partir dessa transformac ¸ão, as características que representam as maiores variâncias dos dados originais são selecionadas. A direc ¸ão que representa a maior variância projetada é chamada da Componente Principal. Assim, as características geradas são uma combinac ¸ão linear das componentes principais. Como os componentes são ordenados seguindo uma ordem decrescente de variância, a dimensionalidade do dado original pode ser reduzida, eliminando as componentes com a menor variância. A maior desvantagem das técnicas de projec ¸ão de características é a perda de expressividade, já que as características geradas são combinac ¸ões de outras características e perdem seu significado original.

Uma soluc ¸ão para isso é a utilizac ¸ão de métodos de selec ¸ão de características em que um subconjunto das características originais é escolhido. A selec ¸ão de características pode ser dividida em três grupos [START_REF] Mladenić | Feature Selection for Dimensionality Reduction[END_REF]]: wrapper, filtragem e embarcados. Nos métodos wrapper são usados diferentes classificadores como as Máquinas de Vetores de Suporte (Support Vector Machine-SVM), redes neurais, entre outros, para dar uma pontuac ¸ão a um subconjunto de características. A partir da pontuac ¸ão, escolhem-se as características que obtiveram a maior pontuac ¸ão ao serem usadas para classificar os dados. Os métodos de filtragem analisam as propriedades intrínsecas dos dados, também chamadas de metadados, e realizam algum tipo de func ¸ão para determinar a sua importância. Os métodos embarcados realizam a selec ¸ão mediante o uso de classificadores no processo de aprendizado.

Os métodos de filtragem são computacionalmente mais leves e evitam a superespecializac ¸ão ou over-fitting. Esses métodos utilizam alguma heurística para avaliar a relevância da característica dentro do conjunto de dados [START_REF] Chandrashekar | A survey on feature selection methods[END_REF]. Um dos métodos mais populares de filtragem é o Relief. Nele, a pontuac ¸ão é calculada como a diferenc ¸a de distância da amostra mais próxima de uma mesma classe e a amostra mais próxima de uma classe diferente. Um aspecto negativo desse método é ter de saber as classes do conjunto de dados. O Relief é limitado a duas classes, mas o ReliefF [Robnik-Šikonja e Kononenko 2003] permite a análise de múltiplas classes utilizando a técnica dos k-vizinhos mais próximos.

Os métodos de Wrapper utilizam o erro dos classificadores como critério de avaliac ¸ão da característica. A selec ¸ão é considerada como um problema de busca, criando um problema de tipo NP-complexo. Os métodos de wrapper apresentam melhores resultados que os métodos de filtragem, porém com alto custo computacional [START_REF] Ang | Supervised, Unsupervised, and Semi-Supervised Feature Selection: A Review on Gene Selection[END_REF]. Uma das implementac ¸ões mais populares do Wrapper é o (Sequential Forward Selection -SFS). O algoritmo comec ¸a com um conjunto vazio S e o conjunto completo de todas as variáveis X. O SFS faz uma pesquisa e gradualmente adiciona variáveis selecionadas por uma func ¸ão de avaliac ¸ão que minimiza o erro quadrático médio. Em cada iterac ¸ão, a variável a ser incluída em S é selecionada entre as restantes em X. A principal desvantagem do SFS é que, ao adicionar uma característica ao conjunto S, o método não é capaz removê-la se ela tiver menor erro, após a adic ¸ão de outras.

Os métodos embarcados (embedded methods) apresentam um comportamento semelhante aos métodos Wrapper, usando um classificador para avaliar a relevância da variável. No entanto, os métodos embarcados realizam a selec ¸ão da variável no processo de aprendizado, reduzindo o tempo computacional dos Wrappers. Na Selec ¸ão Recursiva de Eliminac ¸ão usando Máquinas de Vetores de Suporte (Support Vector Machine Recursive Feature Elimination SVM-RFE) [START_REF] Guyon | Gene selection for cancer classification using support vector machines[END_REF], o algoritmo obtém uma pontuac ¸ão das variáveis baseado no treinamento do SVM com kernel linear. A característica com a menor pontuac ¸ão é removida de acordo com um critério w em modo sequencial de eliminac ¸ão para trás. O critério w é o valor da decisão do hiperplano no SVM.

O algoritmo apresentado neste artigo é inspirado na Selec ¸ão de Características baseado em correlac ¸ão [START_REF] Hall | Correlation-based Feature Selection for Machine Learning[END_REF]] (Correlation based Feature Selection -CFS). Hall utiliza a ideia de pontuar as variáveis através da correlac ¸ão entre as variáveis e a classe de saída. O algoritmo CFS calcula a correlac ¸ão entre a variável e a classe para obter a importância de cada característica. Assim, o CFS é dependente da informac ¸ão da classe de saída a priori, logo é um algoritmo supervisionado. A dependência da informac ¸ão da classe de saída a que pertence cada amostra é uma limitac ¸ão em aplicac ¸ões como a classificac ¸ão de trafego de redes, já que não existe um conhecimento a priori entre o fluxo e a classe correspondente.

O algoritmo apresentado realiza a selec ¸ão de características de modo não supervisionado. O cálculo da correlac ¸ão entre as variáveis é utilizado para medir a quantidade de informac ¸ão que cada variável representa em relac ¸ão às demais variáveis. Dessa forma, o algoritmo apresentado executa com menor tempo de processamento e não necessita conhecer a priori a classe de saída.

Criac ¸ão de um Conjunto de Dados de Seguranc ¸a

Tabela 1: As 24 características obtidas do cabec ¸alho TCP/IP para cada fluxo. No ataque LAND (Local Area Network DoS) o atacante manda um pacote TCP com etiqueta SYN com o enderec ¸o IP falsificado, contendo o enderec ¸o e porta da vítima como o enderec ¸o e porta de origem e destino. Assim, o sistema responde com um pacote SYN-ACK para ele mesmo, criando uma conexão vazia que permanece aberta até o temporizador estourar. Logo, o sistema entra em um lac ¸o enviando respostas para ele mesmo até eventualmente colapsar. Nestea é um ataque que afeta aos servidores Linux e o ataque teardrop é o semelhante para servidores Windows. O ataque consiste em explorar uma vulnerabilidade no protocolo TCP/IP ao enviar pacotes fragmentados para a vítima. Quando a soma do deslocamento e tamanho de um pacote fragmentado diferem daquele do próximo pacote fragmentado, os pacotes se sobrepõem e a vítima tenta montar o pacote entra em uma negac ¸ão de servic ¸o.

N úmero

Os ataques por inundac ¸ão (flooding) enviam uma quantidade anormal de pacotes sem esperar respostas. Logo, a vítima, ao tentar processar todos os pacotes, não consegue atender a todas as requisic ¸ões a tempo e provoca a negac ¸ão de servic ¸o. No conjunto de dados usado, existem a inundac ¸ão por SYN, a inundac ¸ão por ICMP, e a inundac ¸ão por UDP. Na inundac ¸ão por SYN são enviados múltiplos pacotes com enderec ¸os de origem falsificados para manter conexões abertas e assim estourar os recursos da vítima. Na inundac ¸ão por ICMP, também são enviados múltiplos pacotes ICMP sem esperar a resposta da vítima. A inundac ¸ão por UDP tem uma filosofia diferente das anteriores, pois o UDP não é orientado à conexão. Nesse ataque, são enviados pacotes com o mesmo enderec ¸o, mas com diferentes portas, com o objetivo de saturar a largura de banda.

O ataque de Smurf , de forma semelhante a inundac ¸ão por ICMP, utiliza um pacote Echo Request (ICMP) com o enderec ¸o de difusão (broadcast) da rede como enderec ¸o de destino, mas o enderec ¸o de origem é falsificado com o enderec ¸o da vítima. As respostas a esse pacote são para o enderec ¸o falsificado da vítima, assim todas as estac ¸ões da rede respondem para o enderec ¸o da vítima, tornando-a inutilizável e até podendo causar falhas no funcionamento da rede. O Smurf é considerado um ataque de negac ¸ão de servic ¸o distribuído.

A varredura de portas consiste em verificar quais são os servic ¸os ativos em um servidor, isto é, se há uma porta TCP escutando requisic ¸ões e um processo executando para tratar as requisic ¸ões que chegam a essa porta. No entanto, a varredura de portas é considerada uma ameac ¸a já que metade dos ataques é precedida por uma varredura de portas para identificar as vulnerabilidades do sistema que podem ser exploradas. Na varredura de portas, o atacante gera pacotes e monitora as respostas para determinar se um servic ¸o está vulnerável ou não. A varredura SYN é a mais conhecida pela simplicidade e velocidade, e também é conhecida como half-open scanning, já que nunca abre uma conexão completa. Um pacote SYN é enviado e, se o sistema está escutando conexões TCP na porta para qual o pacote é destinado, a vítima responderá com um pacote SYN-ACK e, logo, o atacante enviará um RST, fechando a conexão antes que o handshake seja estabelecido. Se o servic ¸o não está aberto, a vítima responderá com um pacote RST. Se não há resposta, após várias tentativas, a porta é marcada como filtrada, isto é, há um firewall que impede a comunicac ¸ão entre o atacante e a vítima por tal porta.

A varredura de conexão TCP, também conhecido como full-open scanning, tem um comportamento semelhante ao anterior, mas neste caso a comunicac ¸ão é feita totalmente se a porta estiver aberta, ou seja, o atacante envia o SYN, espera pelo SYN-ACK e, por fim, envia o ACK para estabelecer a conexão. Se a porta estiver fechada, o atacante recebe um pacote RST/ACK.

Os ataques de TCP FIN, XMAS, ACK, NULL e Maimon são semelhantes, já que a ausência de resposta significa que a porta da vítima está aberta ou que existe um firewall no caminho entre o atacante e a vítima. No FIN é enviado um pacote TCP com o bit FIN ativo em um. Dependendo do sistema operacional da vitima, se a porta da vítima está aberta não terá resposta e se estiver fechada a vítima responderá com um pacote RST/ACK. O TCP XMAS simula o comportamento normal de um cliente, já que envia pacotes TCP com os bits URG, PUSH e FIN ativos em um mesmo pacote. De novo, se a porta estiver aberta não haverá resposta e se estiver fechada terá como resposta um pacote RST/ACK. No NULL, ao contrário do FIN, é enviado um pacote com todos os bits em zero, sem resposta quando a porta está aberta e com RST/ACK quanto está fechada. A varredura de TCP Maimon, nome recebido devido a seu criador, envia um pacote TCP com bit FIN ativo e também com ACK ativo.

A varredura TCP por Janela utiliza diferentes tamanhos de janela a uma resposta RST. Dependendo do sistema operacional, as portas abertas usam um tamanho de janela positivo enquanto as fechadas têm uma janela de tamanho zero. Alternativamente aos protocolos de transporte convencionais TCP, UDP e ICMP, é criada a varredura de SCTP INIT. Essa técnica tem um comportamento semelhante à varredura TCP SYN, já que cria uma "meia" conexão. Um chunk INIT é enviado pelo atacante. Um chunk INIT-ACK indica que a porta está aberta, enquanto um chunk ABORT é indicativo de fechada. Se nenhuma resposta for recebida após várias retransmissões, a porta é marcada como filtrada. 

Análise do Conjunto de Dados

A Figura 1 mostra a correlac ¸ão entre as 24 características que compõem o conjunto de dados usado. A matriz calcula a correlac ¸ão a partir da distância de Pearson (Pearson Product-Moment Correlation Coefficient -PPMCC). O produto de Pearson é uma medida da dependência linear entre duas variáveis X e Y, sendo +1 quando a correlac ¸ão entre as variáveis é linear, 0 quando não tem correlac ¸ão e -1 quando a correlac ¸ão entra as variáveis é inversamente linear. Na figura, a correlac ¸ão linear é representada com vermelho escuro, a correlac ¸ão nula é representada pela cor branca e o azul representa a correlac ¸ão inversa. As características 21 e 22 indicam "Quantidade de ECE Flags" e "Quantidade de CWR Flags", respectivamente. As etiquetas de Explicit Congestion Notification (ECN) e de Congestion Window Reduced (CWR) são usadas para alertar ao remitente de possíveis situac ¸ões de congestionamento na rede, a fim de evitar a perda de pacotes e retransmissões. Na matriz de correlac ¸ão, essas duas características estão representadas em azul escuro indicando um baixo nível de correlac ¸ão. No caso do conjunto de dados criados, as variáveis 21 e 22 não agregam nenhuma informac ¸ão aos dados, pois são sempre nulas. Isso se deve ao fato que na rede em que os dados foram obtidos não havia congestão ou sobrecarga. Por outro lado, as características 23, "Quantidade de Tipos ICMP", e 24, "Quantidade de Códigos ICMP", são representadas em vermelho. Assim, essas duas variáveis estão altamente correlacionadas entre si, pois o tipo do ICMP está relacionado como o código ICMP.

O conjunto de dados conta com mais de 95 GB em pacotes capturados, resultando em 214.200 fluxos compostos de tráfego malicioso e normal. A Figura 2 mostra a relac ¸ão entre as classes no conjunto de dados. A classe normal possui aproximadamente o 70% dos dados do conjunto, com 106.955 amostras etiquetadas como tráfego normal, a classe de Negac ¸ão de Servic ¸o representa 10% do conjunto de dados, com 16.741 amostras, e a classe de varredura de portas possui 20% das amostras, ou seja, 30.491 fluxos. em que 1 significa que duas variáveis estão diretamente correlacionadas através de uma relac ¸ão linear e -1, o caso inverso, correlac ¸ão inversa ou anticorrelac ¸ão.

A Selec ¸ão Baseada na Correlac ¸ão de Características

O coeficiente de Pearson ρ é calculado em termos de media µ e o desvio padrão σ como:

ρ(A, B) = 1 N -1 N i=1 A i -µ A σ A B i -µ B σ B , (1) 
ou como func ¸ão da co-variância σ como:

ρ(A, B) = cov(A, B) σ A σ B . (2) 
Primeiramente, é preciso obter a matriz de correlac ¸ão baseada na Equac ¸ão 2. A matriz de correlac ¸ão apresenta o cálculo da covariância entre cada par de variáveis. O método de selec ¸ão de características estudado neste trabalho atribui um peso w a cada variável. O peso w é uma medida da importância de cada variável que representa uma característica em relac ¸ão às demais variáveis aleatórias. O peso w para cada característica é dado pela soma do valor absoluto da correlac ¸ão entre a característica considerada e as demais características do conjunto de dados. A soma é em valor absoluto, pois o coeficiente de Pearson ρ pode apresentar valores negativos, porém, de maneira qualitativa, uma variável que apresenta uma forte correlac ¸ão inversa com outra aporta tanta informac ¸ão para a representac ¸ão dos dados quanto uma variável que tenha o mesmo valor absolto de correlac ¸ão direta. O valor absoluto da correlac ¸ão indica o quanto uma variável é linearmente dependente de outra. Correlac ¸ão próxima a 1 representa uma forte dependência linear. Correlac ¸ão próxima a 0 representa independência linear entre as duas variáveis. Além disso, o peso w é uma indicac ¸ão da quantidade de informac ¸ão que uma variável tem independentemente das outras. O peso w tem valores entre 0 ≤ w ≤ N , onde N é a quantidade de características no conjunto de dados, e 0 representa uma variável totalmente independente das outras. Quanto mais alto é o valor do peso w, maior é a dependência linear com outras variáveis e menor é a quantidade de informac ¸ão que a variável aporta à representac ¸ão do conjunto de dados. 5. Caso de Uso de Selec ¸ão de Características: Classificac ¸ão de Tráfego Para a classificac ¸ão automática de tráfego são utilizados os algoritmos mais utilizados de aprendizado de máquina [START_REF] Buczak | A Survey of Data Mining and Machine Learning Methods for Cyber Security Intrusion Detection[END_REF]. Em todos os métodos, o treinamento é realizado com 70% do conjunto de dados e a avaliac ¸ão com os 30% restante. Durante a fase de treino foi realizado a validac ¸ão cruzada para evitar a superespecializac ¸ão ou overfitting. Na validac ¸ão cruzada, o conjunto de dados de treino é dividido em diversas partes e algumas delas não são utilizadas para estimac ¸ão dos parâmetros. Elas são usadas posteriormente para verificar se o modelo é geral o suficiente para se adaptar a novos dados, evitando a superespecializac ¸ão.

Na árvore de decisão, as folhas representam a classe final, e os ramos representam as condic ¸ões baseadas no valor de uma das características de entrada. Durante o processo de treinamento o algoritmo de C4.5 determina a estrutura do tipo da árvore para a classificac ¸ão. A implementac ¸ão em tempo real da árvore de decisão consiste em regras "if-then-else" que são geradas na forma da árvore previamente calculadas.

As redes neurais são baseadas no cérebro humano no qual cada neurônio realiza uma pequena parte do processamento, transferindo o resultado para o próximo neurônio. Nas redes neurais artificiais, a saída representa o grau de pertinência para cada classe. Os vetores de pesos Θ são calculados durante o treinamento e determinam o peso de cada conexão dos neurônios. No treinamento, há erros causados por cada parâmetro, que são minimizados através do algoritmo de propagac ¸ão posterior.

Para determinar a qual classe pertence uma amostra, cada camada de rede neural calcula as seguintes equac ¸ões:

z (i+1) = Θ (i) a (i) (3) a (i+1) = g(z (i+1) ) (4) g(z) = 1 1 + e -z
(5) onde a (i) é um vetor que determina a saída das camadas i, para a camada i + 1, e a (i+1) é a saída da camada i+1. A func ¸ão g(z) é a func ¸ão Sigmoid que é a func ¸ão de ativac ¸ão de cada neurônio, importante para a classificac ¸ão. Para altos valores de z, g(z) retorna um e para valores baixos de g(z) retorna zero. Logo, a camada de saída retorna o grau de pertinência para cada classe entre zero e um, classificando a amostra como a de maior valor.

As Máquinas de Vetores de Suporte (Support Vector Machine -SVM) são um classificador binário baseado no conceito de hiperplanos de separac ¸ão entre classes que define os limiares da decisão. O algoritmo de SVM classifica mediante a construc ¸ão de um hiperplano em um espac ¸o multidimensional que divide as diferentes classes. Um algoritmo iterativo minimiza a func ¸ão de erro, encontrando o melhor hiperplano de separac ¸ão. Uma func ¸ão de kernel define o hiperplano, sendo linear ou não linear. Assim, o SVM encontra a margem máxima de separac ¸ão entre duas classes. A classificac ¸ão em tempo real é realizada para uma das classes: normal ou não normal; DoS ou não DoS; e varredura ou não varredura. Uma vez que o SVM calcula a saída, a classe é escolhida segundo a maior pontuac ¸ão. A pontuac ¸ão de uma amostra x é distância de x para os limites de decisão que vão desde -∞ a +∞. A pontuac ¸ão do classificador:

f (x) = n j=1 α j y j G(x j , x) + b, (6) 
onde (α 1 , ..., α n .b) são os parâmetros estimado do SVM, e G(x j , x) é o kernel utilizado. Neste trabalho o kernel usado foi um kernel linear, G(x j , x) = x j x, o qual apresenta um bom desempenho com uma mínima quantidade de parâmetros de entrada.

Resultados

O algoritmo de Selec ¸ão de Características desenvolvido foi comparado com a Análise de Componentes Principais (PCA), o algoritmo de ReliefF, a eliminac ¸ão por Selec ¸ão Sequencial para a Frente (Sequential Forward Selection -SFS), e a Selec ¸ão de Características Recursiva usando SVM (Support Vector Machine Recursive Feature Elimination SVM-RFE). Todos os métodos são comparados considerando a selac ¸ão de quatro e seis características. A mérito de justic ¸a na comparac ¸ão, todos os métodos de selec ¸ão e reduc ¸ão de características foram executados com os classificadores apresentados anteriormente: árvore de decisão com o algoritmo de CART com 4096 folhas; redes neurais com uma camada escondida e dez neurônios; e máquinas de vetores de suporte (SVM) com kernel linear. Todos os experimentos são realizados com validac ¸ão cruzada 10-fold.

A Figura 3 mostra os autovalores associados ao conjunto de dados proposto. É possível ver que com quatro e seis variáveis se obtém entre o 80% e 90% do total da variância. Dessa forma, todas as demais componentes representam entre 10% e 20% da variância e, portanto, podem ser eliminadas sem prejuízos para a representac ¸ão dos dados. 12,15,19, 13,10,7 2,11,9, 19,22,3 15,11,8, 5,20,21 14,12,13, 24,23 método do PCA já que a saída apresentada é composta por novas características sintéticas e não corresponde com uma comparac ¸ão dos outros métodos. Todos os métodos mostram as seis características mais importantes. É possível ver que nenhum método escolhe o mesmo grupo de características. No entanto, ReliefF e SFS selecionaram como a segunda melhor característica a número 11, "qtd pkt ip". Um resultado bem interessante é que o SFS selecionou as características 20 e 21, "qtd ece flag e qtd cwr flag". Na matriz de correlac ¸ão apresentada na Sec ¸ão3 foi discutida que essas duas características não adicionam nenhuma informac ¸ão por que são variáveis vazias. Contudo, depois de uma análise foi reparado que a característica mais importante é a número 15 "pkt len m". Nesse conjunto de dados, a medida do tamanho de pacotes é fundamental para a classificac ¸ão dos ataques. Na Figura 5 é apresentado o tempo de processamento de cada um dos algoritmos durante a selec ¸ão de características. Os valores são normalizados dividindo o tempo de processamento de cada método pelo valor máximo, obtido pelo SFS. Tanto o algoritmo desenvolvido como o PCA foram multiplicados por 1000 por motivos de escala. O SFS mostra o pior desempenho, porque apresenta a maior complexidade, com tempo médio de processamento de 83.480 segundos. O SFS é um algoritmo que realiza múltiplas iterac ¸ões a fim de minimizar o erro quadrático médio. Consequentemente, todas as interac ¸ões incrementam o tempo de processa-mento. O algoritmo de selec ¸ão de características desenvolvido nesse trabalho mostra o menor tempo de processamento, aproximadamente 0.72 segundos em média, seguido do PCA, com 2.04 segundos em média. Os dois métodos apresentam um bom despenho no cálculo de tempo de processamento, já que ambos utilizam a multiplicac ¸ão de matrizes para obter o conjunto de características. A multiplicac ¸ão de matrizes é uma func ¸ão computacional simples já que pode ser paralelizada. As medidas foram obtidas e um computador com processador Intel Xeon com frequência de relógio de 2.6 GHz e 256 GB de memória RAM.

Conclusão

Esse artigo apresentou um algoritmo de selec ¸ão de características para a classificac ¸ão de tráfego de redes. O algoritmo calcula a correlac ¸ão das variáveis de modo não supervisionado. A fim de realizar uma avaliac ¸ão, os resultados obtidos a partir do algoritmo apresentado de selec ¸ão de características foram comparados com os obtidos através métodos populares de selec ¸ão e reduc ¸ão de características. Os métodos de selec ¸ão comparados são o ReliefF, como método de filtragem, a Selec ¸ão Sequencial de Características (Sequential Feature Selection -SFS), como método wrapper, a Selec ¸ão Recursiva de Eliminac ¸ão usando Máquinas de Vetores de Suporte (Support Vector Machine Recursive Feature Elimination -SVM-RFE), como método embarcado, e finalmente a Análise de Componentes Principais (Principal Component Analises -PCA), como método de projec ¸ão de características. Para a avaliac ¸ão e comparac ¸ão dos métodos de selec ¸ão, foi utilizado um conjunto de dados de seguranc ¸a que apresenta mais 16 tipos diferentes de ataques assim como tráfego normal. Nesse conjunto de dados foram aplicados três algoritmos de classificac ¸ão como a árvore de decisão, redes neurais e as máquinas de vetores de suporte. O algoritmo desenvolvido de filtragem apresentou uma acurácia de 97.4% com 6 características selecionadas no algoritmo de árvore de decisão. Além disso, o algoritmo apresentado reduz o tempo de processamento em mais de 100 vezes quando comparado com o método de pior desempenho.

Figura 1 :

 1 Figura 1: Matriz de correlac ¸ão das 24 características disponíveis no conjunto de dados. Os pontos escuros em vermelhos indicam a m áxima correlac ¸ão e os pontos azul indicam a correlac ¸ão mínima.

OFigura 2 :

 2 Figura 2: Distribuic ¸ão das classes no conjunto de dados. A classe principal é a Normal com quase o 70% dos dados, a classe de Negac ¸ão de Servic ¸o (DoS) tem o 10% e a classe de varredura corresponde ao 20% do conjunto de dados.

Algoritmo 1 :

 1 Selec ¸ão de Características Baseada na Correlac ¸ão. Input : X: Matriz de Dados Output: r: Vetor de Caraterísticas pontoadas, w: Vetor de pesos 1 A = Corr(X) / * Calculo da Matriz de Correlac ¸ão * / 2 for 0 ≤ i < len (A) do 3 w i = 0 4 for 0 ≤ j < len (A i ) do 5 k i = abs(A ij ) / * Calculo do Valor Absoluto * sort(w, reverse = T rue) / * Ordenamento descendente de w * /

Figura 5 :

 5 Figura 5: Avaliac ¸ão de desempenho em relac ¸ão ao tempo de processamento dos algoritmos de selec ¸ão de características. O algoritmo proposto é at é 3 vezes mais r ápido que o PCA.

Autovalor para cada uma das 24 características do fluxo. O autovalor associ- ado a cada uma das características transformadas é proporcional à vari ância dos dados. Entre a quarta e a sexta componente mais importantes, representam de 80% a 90% do total da vari ância dos dados.

  Figura 4 mostra o desempenho comparando a acurácia dos três classificadores. No primeiro grupo, são mostrados os resultados da árvore de decisão, na qual o algoritmo desenvolvido possui o melhor desempenho com seis características com 97.4% de acurácia. Na sequência, há resultado do PCA com quatro e seis características em 96% e 97.2% respectivamente. O Sequential Forward Selection (SFS) apresenta o mesmo resultado com quatro e com seis características com acurácia a 95.5%. O algoritmo de ReliefF também apresenta o mesmo resultado para quatro e seis características, 91.2%. Finalmente o pior resultado é apresentado pelo SVM-RFE com quatro e seis características, 80.2% e 85.8%. No segundo classificador, a rede neural, o melhor resultado é apresentado pelo PCA com seis características com 97.6% de acurácia. No entanto, o PCA com quatro características apresenta um desempenho muito baixo de 85.5%. ReliefF apresenta o mesmo resultado com ambas em 90.2%. O algoritmo de selec ¸ão por correlac ¸ão proposto mostra um resultado de 83.9% e 85.0% com quatro e seis características. Por outro lado, o SFS apresenta o pior resultado de todos os classificadores com 78.4% com quatro características e 79.2% com seis. Um resultado inesperado foi o do SVM-RFE, já que com quatro características apresenta um desempenho baixo de 73.6% de acurácia, sendo um dos piores em todos os classificadores, no entanto, com seis características é o segundo melhor para as redes neurais com 90.1%. Vale ressaltar que as características consideradas pelo PCA são variáveis transformadas que podem ser combinac ¸ões lineares de um maior número características originais, enquanto nos demais métodos são escolhidos subconjuntos de características que limitam o conjunto de dados tratado pelos classificadores.Nas Máquinas de Vetores de Suporte (SVM) o PCA apresenta um comportamento semelhante ao apresentado nas redes neurais. Com seis características tem a melhor acurácia de todos os classificadores com 98.3%, mas só 87.8% para quatro características. ReliefF novamente apresenta um resultado semelhante para ambas características em 91.4%. O algoritmo proposto tem 84% de acurácia com quatro e 85% com seis características. SFS apresenta a mesma acurácia para as duas amostras 79.5%. Finalmente, o resultado mais baixo para esse classificador é o SVM-RFE com 73.6% em ambos os casos.

	Componente 12 14 ~90% da variância dos dados 8 10 ReliefF 6 16 85.8 PCA 6 ReliefF 4 SVM-RFE 4 6 da variância 4 ~80% dos dados Proposta 4 Proposta 6 2 Autovalor 0 0.064 0.128 0.192 0.256 0.32 PCA 4 SVM-RFE 6 92.6 97.4 97.2 96.0 91.2 95.5 91.2 97.6 95.5 80.2 83.9 85.0 85.5 90.2 90.2 78.4 79.2 73.6 90.1 Rede Neural Figura 3: Árvore de Decisão Acurácia [%] 20 40 60 80 100 0 Figura 4:	18	20 85.0 Máquinas de Vetores de Suporte 22 24 70 80 90 100 SFS 4 SFS 6 98.3 84.0 91.4 91.4 87.8 79.5 79.5 73.6 73.6 Variância Computada (%) 50 60

A

Comparac ¸ão da acur ácia em tr ês classificadores dos m étodos de Selec ¸ão e reduc ¸ão de características. Nosso algoritmo proposto, PCA Lineal, ReliefF, Se- quence Forward Selection (SFS) e SVM-RFE na árvore de decis ão, na rede neural e na m áquina de vetores de suporte.

  

Na Tabela 2 é apresentada a selec ¸ão feita por cada um dos métodos. Foi excluído o

Tabela 2: Comparac ¸ão da selec ¸ão de características de cada um dos m étodos.

  

	Proposta	ReliefF	SFS	SVM-REF
	Número de			
	Característica			

O conjunto de dados é disponibilizado através do contato com os autores por e-mail.

Existem poucos conjuntos de dados disponíveis para a avaliac ¸ão de pesquisas de mecanismos de defesa contra ataques. A pouca disponibilidade desses conjuntos de dados é devido à preocupac ¸ão com a privacidade e o receio de vazamento de informac ¸ões confidenciais contidas no corpo dos pacotes[START_REF] Heidemann | Uses and challenges for network datasets[END_REF]. Um dos principais conjuntos de dados disponíveis, o DARPA[START_REF] Lippmann | Evaluating intrusion detection systems: The 1998 DARPA off-line intrusion detection evaluation[END_REF]], é composto por tráfego TCP/IP e dados coletados de sistemas operacionais de uma rede simulada. Já o KDD 99[START_REF] Lee | Mining in a data-flow environment: Experience in network intrusion detection[END_REF]] é gerado a partir dos arquivos tcpdump do DARPA processados e abstraídos em características. Esses conjuntos de dados contêm ataques simulados e marcados como ataques. A principal crítica, tanto para os dados do DARPA como do KDD, é que o tráfego não corresponde a um cenário de uma rede de computadores real[START_REF] Tavallaee | A detailed analysis of the KDD CUP 99 data set[END_REF]], já que são resultado de simulac ¸ões. Além disso, existem dados redundantes que afetam o cálculo dos métodos de classificac ¸ão dos dados. Ademais, esses conjuntos de dados estão defasados, pois foram simulados há mais de 15 anos[START_REF] Sommer | Outside the closed world: On using machine learning for network intrusion detection[END_REF]], e muitas aplicac ¸ões, assim como ataques, sugiram e mudaram durante esse período.O conjunto de dados criados foi obtido através da captura de pacotes de tráfego real do laboratório do Grupo de Teleinformática e Automac ¸ão (GTA) da UFRJ. O tráfego capturado contém comportamento normal e ameac ¸as reais de redes. Depois da captura dos pacotes, os dados são agrupados em uma janela de tempo. O tráfego é armazenado em forma de fluxo, uma sequência de pacotes com o mesmo IP de origem e IP de destino.Cada fluxo possui 24 características obtidas dos cabec ¸alhos TCP/IP. A lista completa das características é mostrada na Tabela 1. Ataques de Negac ¸ão de Servic ¸o (Denial of Service -DoS) e ameac ¸as de varredura de porta (Probe) compõem as duas classes de comportamento anormal. O conjunto possui sete tipos de DoS e nove tipos de ameac ¸as de varredura.

e FINEP.