Detecção de tráfego Skype na Web através de Redes Neurais
Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008).
Detecting skype flows in web traffic. Proceedings of IEEE NOMS08,
Salvador, Brazil. IEEE.
Apresentado por Joilson Alves Junior
Gerência de Redes - Mestrado em Informática - UFPR
ROTEIRO

Proposta Inicial (Fase I)

Introdução

Problema

Proposta

Processos de classificação

Implementacão

Resultados

Conclusões
Proposta Inicial - Fase I
Pretendemos estudar a aplicabilidade das Redes Neurais Artificiais
(RNAs) ao problema de detecção de tráfego Skype na web. Este
estudo consistirá das seguintes etapas:





Estudar um modelo de RNA que seja adequado ao problema.
Reconstruir o cenário utilizado por Freire et al [Freire et al.
2008].
Implementar o modelo de RNA selecionado na etapa 1 aplicado
ao cenário proposto.
Análise comparativa dos resultados.
INTRODUÇÃO






Este trabalho descreve uma análise sobre o estudo realizado por Freire et al. Que
propõe uma metodologia para detectar padrões de tráfego web normal e skype.
O objetivo deste estudo é alertar os administradores de redes para tráfego
intenso.
Identificar o tráfego gerado por conexões Skype (anômalo) pode ser uma tarefa
difícil.
Identificar métricas eficientes no tráfego para classificação.
Modelos empíricos baseados em métricas estatísticas. Kolmogorov-Smirnov e
Chi-square.
Nova abordagem para detectar padrões de tráfego web baseada em redes neurais
artificiais. Com o objetivo de melhorar a eficiência do método.
PROBLEMA




Processos de classificação de tráfego web são feitos por análise de carga dos
pacotes ou modelos baseados cálculos estatísticos.
Métodos de análise de carga e estatísticos são bons porém, exigem muitos
recursos de processamento e memória, são pouco flexíveis e possuem
dificuldades para análise automática e imediata dos dados.
Estamos propondo um novo método baseado em Redes Neurais para tentarmos
melhorar o processo.
Desta forma, objetivo inicial deste trabalho é comprovar a eficiência deste
novo método, analisando se a rede neural proposta será capaz de classificar o
tráfego web normal e skype, e qual será a porcentagem de acerto desta
classificação.
PROPOSTA




Modelo para classificação foi povoado com dados reais e destes dados foram
retirados os parâmetros: tamanho da requisições, tamanho da resposta e
intervalo entre requisições, os quais foram utilizados para uma caracterização do
tráfego HTTP considerado normal e Skype. Freire et al. [Freire et al. 2008].
Foi utilizadas as fórmulas estatísticas de Kolmogorov-Smirnove Chi-square test
para edtectar padrões de tráfego web e informar a porcentagem de acerto da
classificação. Freire et al. [Freire et al. 2008].
No modelo proposto por este artigo, utilizaremos os mesmos dados e as mesmas
métricas usadas por Freire et al. [Freire et al. 2008], e verificaremos se a rede
neural apresentada será capaz de classificar o tráfego web normal e skype, e
qual será a porcentagem de acerto desta classificação.
Com isso, no futuro poderão ser propostas metodologias automatizadas de
classificação de tráfego que utilizem desta abordagem para fornecer uma
classificação rápida e eficiente ao administrador de redes.
PROPOSTA




Utilizamos os dados apresentados por Freire et al. [Freire et al.
2008], e modelamos o tráfego web normal gerando dados
aleatórios a partir da distribuição chi square para cada uma das
métricas descritas.
Para representarmos os dados skype, geramos tráfegos aleatórios
utilizando a distribuição de Gumbel baseado nos mesmos dados e
nas mesmas métricas.
No desenvolvimento da rede neural utilizamos o software Matlab.
Utilizamos os modelos perceptron simples e feedforward
backpropagation de redes neurais para classificação.
Processos de classificação





Existem várias abordagens de detecção de tráfego. Métodos determinísticos,
métodos estatísticos, método de deteção de outliers, métodos de mineração de
dados e métodos baseados em redes neurais.
O método mais tradicional para identificar e classificar o tráfego de aplicações
Internet através dos números das portas de serviços.
Em outra abordagem, a classificação das aplicações é realizada baseada no uso
de assinaturas ou análise de carga. Neste caso, o conteúdo dos pacotes é aberto e
os dados são lidos.
Nos últimos anos, estudos sobre algumas características do tráfego Internet, tais
como: tamanho do fluxo em bytes, tempo de vida do fluxo, direção do fluxo e
estrutura do endereço IP, também têm sido publicados.
Recentemente, técnicas de aprendizagem de máquina baseadas em redes neurais
foram utilizadas para discriminar dados em categorias derivadas de informações
contidas nos pacotes provendo uma classificação dos mesmos sem, contudo,
acessar seus conteúdos.
Redes Neurais Artificiais





As RNAs são sistemas computacionais de implementação em software ou
hardware, que imitam as habilidades dos neurônios biológicos, usando para isto
um grande número de neurônios artificiais interconectados.
Existem vários tipos de RNAs, onde os mais conhecidos são
ADALINE/MADALINE, Backpropagation Perceptron (ou feedforward), TimeDelay, Recurrent, BAM (Memória Associativa Bidirecional), Hofield e
Kohonen.
Para que as RNAs possam resolver os problemas para o qual foram projetadas,
as mesmas devem ser treinadas.
São conhecidos dois métodos de treinamentos: o supervisionado e o nãosupervisionado.
Os modelos de redes neurais testados neste trabalho são: Perceptron Simples e
Feedforward Backpropagation.
Redes Neurais Artificiais
Perceptron Simples




As redes de uma única camada apresentam melhor desempenho em problemas que são
linearmente separáveis.
Problemas linearmente separáveis são aqueles que podem ser separados por uma reta,
representando a divisão entre as classes.
Feedforward Backpropagation


Existe mais de um neurônio entre alguma entrada e alguma saída da rede. A arquitetura da rede
com múltiplas camadas de Perceptrons é chamada de MLP (MultiLayer Perceptron).
Estrutura de uma rede neural feedforward com três camadas:


Só existe um neurônio entre qualquer entrada e qualquer saída da rede.

1. Uma de entrada, onde é apresentado os dados para a rede;

2. Uma intermediária ou oculta, onde é feita a maior parte do processamento;

3. Uma de saída, onde o resultado final é concluído e apresentado.
A rede Feed forward backpropagation definida em nosso artigo possui 3
neurônios na camada de entrada, 6 na camada oculta e 1 na camada de saída.
Implementação



As construções das redes neurais foram feitas no software matlab
versão 7.4.0.
Foi criada a RNA Feedforward backpropagation com 3 neurônios
na camada de entrada, 6 na camada escondida e 1 na camada de
saída. O treinamento da rede foi feito com o algoritmo
backpropagation.
Foi criada a RNA perceptron simples com uma única camada e o
treinamento da rede neural foi feito com o algoritmo padrão do
perceptron.
Resultados


Eficiência da redes neurais testadas quanto à classificação do
tráfego, segundo métricas descritas.
Porcentagem de Acerto do Algoritmo Backpropagation
Resultados

Porcentagem de Acerto Algoritmo Perceptron Simples

Resultados comparativos com dados descritos no artigo original
Conclusões


Nosso modelo para classificação foi povoado com dados reais e
conta com três parâmetros: tamanho da requisição, tamanho da
resposta e intervalo entre requisições, os quais foram utilizados
para uma caracterização do tráfego HTTP considerado normal e
Skype.
Dentre os modelos de redes neurais testados, a feedforward
backpropagation apresentou uma melhor eficiência para
classificação do tráfego, obtendo um acerto na detecção de 100%,
ao revés do modelo perceptron simples, que apresentou 95,96%
Desta forma, o modelo mais apropriado para o nosso formato de
dados é o backpropagation.
Download

apr - UFPR