• Nenhum resultado encontrado

Otimização multi-objetivo para classificação de tráfego de redes

N/A
N/A
Protected

Academic year: 2021

Share "Otimização multi-objetivo para classificação de tráfego de redes"

Copied!
115
0
0

Texto

(1)

Otimização Multi-objetivo para Classificação de Tráfego de Redes

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br http://cin.ufpe.br/~posgraduacao

Recife 2019

(2)

Otimização Multi-objetivo para Classificação de Tráfego de Redes

Tese apresentada ao Programa de Pós-Graduação em Ciências da Computação da Universidade Federal de Pernambuco, como requisito parcial para a obtenção do título de Doutor em Ciências da Computação.

Área de Concentração: Ciência da

Com-putação.

Orientador: Djamel Fawzi Hadj Sadok

Recife 2019

(3)

Catalogação na fonte

Bibliotecária Monick Raquel Silvestre da S. Portes, CRB4-1217

N244o Nascimento, Zuleika Tenório Cavalcanti do

Otimização multi-objetivo para classificação de tráfego de redes / Zuleika Tenório Cavalcanti do Nascimento. – 2019.

114 f.: il., fig., tab.

Orientador: Djamel Fawzi Hadj Sadok.

Tese (Doutorado) – Universidade Federal de Pernambuco. CIn, Ciência da Computação, Recife, 2019.

Inclui referências, apêndices e anexo.

1. Ciência da computação. 2. Otimização. 3. Máquina de aprendizagem. I. Sadok, Djamel Fawzi Hadj (orientador). II. Título.

004 CDD (23. ed.) UFPE- MEI 2019-101

(4)

Zuleika Tenório Cavalcanti do Nascimento

“Otimização Multi-objetivo para Classificação de Tráfego de Redes” Tese de Doutorado apresentada ao Programa

de Pós-Graduação em Ciência da

Computação da Universidade Federal de Pernambuco, como requisito parcial para a obtenção do título de Doutor em Ciência da Computação.

Aprovado em: 14/03/2019.

_____________________________________________

Orientador: Prof. Dr. Djamel Fawzi Hadj Sadok

BANCA EXAMINADORA

________________________________________________

Prof. Dr. Aluízio Fausto Ribeiro Araújo

Centro de Informática / UFPE

_________________________________________________ Prof. Dr. Nelson Souto Rosa

Centro de Informática / UFPE

__________________________________________________ Prof. Dr. Arthur de Castro Callado

Departamento de Computação / UFC – Campus Quixadá

___________________________________________________ Prof. Dr. Eduardo Luzeiro Feitosa

Instituto de Computação / UFAM

____________________________________________________ Prof. Dr. Reinaldo Cézar de Morais Gomes

(5)
(6)

Primeiramente gostaria de agradecer à minha família, aos meus pais, irmãs e amigos que sempre me motivaram, entenderam as minhas faltas e momentos de afastamento e reclusão, e principalmente ao meu saudoso pai, que sempre carregava minha dissertação de mestrado no sertão onde morava para mostrar aos amigos, com bastante orgulho por ter uma filha “estudiosa”, “minha doutora”, dizia ele.

Agradeço também ao meu orientador, que desde minhas primeiras aulas como aluna no curso de pós-graduação do CIn tem sido a minha principal inspiração e personalidade como cientista da computação na área de redes de computadores, o que me motivou na busca do conhecimento nesta área. Agradeço também à Judith Kelner, que sem ela não teria iniciado minha pós-graduação e sempre me apoiou nas dificuldades. Agradeço à extraordinária equipe do GPRT, que sempre me deu suporte quando precisei, e ao ITEP e à RNP, que me disponibilizaram recursos computacionais para realização deste trabalho.

(7)

A Internet cresce em ritmo acelerado, tanto em volume de tráfego quanto em número de aplicações. Por esta razão, com o intuito de monitorar tais dados, que não somente crescem em volume, mas também em complexidade, esforços na tarefa de classificação de tráfego de redes têm crescido nos últimos anos com o intuito de prover ferramentas capazes que auxiliar na análise de tráfegos de redes com diversos propósitos, tais como, por exemplo, oferecer maior segurança da informação e/ou Qualidade de Serviço (QoS). Muitos métodos de classificação têm sido propostos baseados em inspeção profunda de pacotes (DPI - Deep Packet Inspection), porém tais métodos não possibilitam a análise de tráfego criptografado, além de possuir alto custo computacional e violar a privacidade dos usuários ao inspecionar a carga útil (payload) dos pacotes. O método de classificação baseado em portas não é capaz de lidar com aplicações que utilizam portas aleatórias ou encapsulam tráfego. No entanto, a classificação de tráfego com o auxílio de algoritmos de aprendizagem de máquina está em evidência, apresentando resultados promissores, e sendo capazes de mitigar tais problemas apresentados. Este trabalho tem como objetivo propor um modelo híbrido para classificação de tráfego de redes, denominado Modelo Dividir para Conquistar Multi-Objetivo (MODC - Multi-Objective Divide and Conquer ), com o auxílio de algoritmos de aprendizagem de máquina, baseado na estratégia de “dividir para con-quistar”, mostrando que esta metodologia melhora consideravelmente os resultados para as métricas de desempenho investigadas. Além disso, propõe otimizar duas importantes métricas para monitoramento de tráfego simultaneamente: a acurácia global em fluxos e a acurácia global em bytes, através do uso de Algoritmos Genéticos Multi-Objetivos (MOGA - Multi-Objective Genetic Algorithms), permitindo que administradores de rede possam ajustar o modelo para priorizar a qualidade de classificação para uma destas mé-tricas, de acordo com particularidades da rede sendo monitorada. Algoritmos tais como o de Máquina de Aprendizagem Extrema (ELM - Extreme Learning Machine) e Mapas Auto-Organizáveis com Crescimento Hierárquico (GHSOM - The Growing Hierarchical Self-Organizing Map) são utilizados na estratégia de “dividir para conquistar”. Os re-sultados mostraram que a estratégia de dividir um problema complexo em tarefas mais simples e conquistá-los com algoritmos de aprendizagem supervisionada melhorou o de-sempenho do modelo, e que a utilização do MOGA foi capaz de otimizar simultaneamente duas métricas de desempenho, permitindo a flexibilização do modelo proposto, de acordo com as necessidades da rede sendo monitorada. Além disso, foi apresentada uma varia-ção do modelo com o uso dos Stacked Sparse Autoencoders (SSAE), técnica esta da área de Aprendizagem Profunda (deep learning) que procura gerar uma melhor representação em alto nível do conjunto de dados de entrada, reduzindo sua dimensionalidade e custo computacional. Foi apresentado que os SSAE melhoraram consideravelmente a qualidade do modelo. Experimentos também foram realizados com o MODC com o intuito de re-alizar comparações com ferramentas de DPI conhecidas, inclusive comerciais, e com um

(8)

mostrou ser superior, para as métricas de desempenho analisadas, quando comparado utilizando conjuntos de dados distintos.

Palavras-chaves: Classificação de Tráfego de Redes. Máquina de Aprendizagem

Ex-trema. Mapas Auto-Organizáveis com Crescimento Hierárquico. Algoritmos Genéticos Multi-Objetivos. Autoencoders. Aprendizagem Profunda.

(9)

The Internet is exponentially growing, both in traffic volume and number of applica-tions. For that reason, with the objective of monitoring such data, which not only grows in volume but also in complexity, efforts have been made in the area of network traffic classification in recent years with the objective of providing tools capable of aiding the network data analysis with multiple objectives, such as, for example, providing informa-tion security and Quality of Service (QoS). Many methods of classificainforma-tion have been proposed based on Deep Packet Inspection (DPI), but these methods break when dealing with encrypted traffic data and when multiple signatures match. Some methods are based on the use of known ports, but these are not able to deal with encapsulated traffic or the use of random ports by applications. Others make use of machine learning to tackle these problems, showing to be a promising area for network traffic classification. This work proposes a hybrid model for network traffic classification, named Multi-Objective Divide and Conquer (MODC,) with the aid of machine learning algorithms, based on the “di-vide and conquer” strategy. This approach showed to improve the performance metrics investigated. Besides that, this method proposes to optimize, simultaneously, two impor-tant metrics for network monitoring, the global flow accuracy and global byte accuracy, by using Multi-Objective Genetic Algorithms (MOGA), allowing computer network ad-ministrators to adjust the model in order to prioritize the classification quality in terms of flow or byte accuracy, depending on the network’s particularities. Also, the “divide and conquer” strategy used machine learning algorithms such as the Extreme Learning Machine (ELM) and The Growing Hierarchical Self-Organizing Map (GHSOM). The ob-tained results showed that the strategy of dividing a complex problem into smaller and simpler problems, and conquering them with supervised learning algorithms, enhanced the model’s overall quality, and that by using the MOGA, it was possible to improve the model by simultaneously optimizing two performance measures, transforming the model into a flexible classifier to make it possible for network analysts to prioritize either flow or byte accuracy, based on the network’s necessity. Besides that, it was presented an exten-sion for the model with the aid of the Stacked Sparse Autoencoders (SSAE), from the deep learning area of research, that aims to generate a high level set of features, reducing the dataset dimensionality and computational costs. It was presented that the use of SSAE improved the model considerably. Experiments were also performed with the MODC in order to compare it against known DPI tools, including commercial ones, and with a set of machine learning algorithms, where the model showed to be superior, regarding the analyzed performance metrics, to these other methods by using distinct datasets.

Keywords: Network Traffic Classification. Extreme Learning Machine. The Growing

Hierarchical Self-Organizing Maps. Multi-Objective Genetic Algorithms. Autoencoders. Deep Learning.

(10)

Figura 1 – Rápido crescimento da Internet, com novos serviços e aplicações

emer-gindo. . . 18

Figura 2 – Cidades Inteligentes. . . 19

Figura 3 – Exemplo de treinamento e classificação baseado na estratégia de “divi-dir para conquistar”. . . 23

Figura 4 – Máquina de Aprendizagem Extrema (ELM - Extreme Learning Machine). 37 Figura 5 – Mapas Auto-Organizáveis (SOM - Self-Organizing Maps). . . . 40

Figura 6 – Mapas AutoOrganizáveis com Crescimento Hierárquico (GHSOM -The Growing Hierarchical Self-Organizing Map). . . . 42

Figura 7 – Expansão em largura de um mapa GHSOM através da criação de (a) linhas e (b) colunas. . . 43

Figura 8 – Autoencoders. . . . 45

Figura 9 – Otimização através de Algoritmos Genéticos. . . 49

Figura 10 – Espaço objetivo com todas as possíveis soluções. . . 50

Figura 11 – O modelo híbrido proposto (MODC). . . 56

Figura 12 – Cromossomo utilizado durante a otimização multi-objetivo com o MOGA. 59 Figura 13 – Exemplo prático de seleção de soluções geradas pelo MOGA e uso do MODC por um administrador de redes de computadores. . . 62

Figura 14 – Processo de validação cruzada com a técnica 𝑘-fold. 4 folds foram utili-zados, sendo que, a cada processo de treinamento, foi retirado um fold do conjunto de dados para teste. A partição de validação é utilizada para validar o modelo treinado durante a otimização multi-objetivo (MOGA). . . 69

Figura 15 – Comparação entre o modelo apenas de conquista (sem a fase de divi-são) e o modelo baseado na estratégia de “dividir para conquistar”. Os resultados dos boxplots para (a) Acurácia Global em Fluxos (𝐴𝐺𝐹 ), (b) Recall Médio em Fluxos (𝑅𝑀 𝐹 ) e (c) Acurácia Global em Bytes (𝐴𝐺𝐵) mostram a eficiência da estratégia “dividir para conquistar”. . . 75

(11)

Tabela 1 – Distribuição do conjunto de dados 𝐶𝐷1. . . 65

Tabela 2 – Distribuição do conjunto de dados 𝐶𝐷2 (protocolos). . . 65

Tabela 3 – Distribuição do conjunto de dados 𝐶𝐷2 (aplicações). . . 65

Tabela 4 – Distribuição do conjunto de dados 𝐶𝐷2 (web services). . . . 66

Tabela 5 – Parâmetros utilizados pelo MOGA. . . 71

Tabela 6 – Experimentos preliminares com os Stacked Sparse Autoencoders (SSAE). 72 Tabela 7 – Melhores resultados obtidos com a escolha dos melhores pontos de pa-reto para a métrica 𝐴𝐺𝐹 . . . . 77

Tabela 8 – Melhores resultados obtidos com a escolha dos melhores pontos de pa-reto para a métrica 𝐴𝐺𝐵. . . . 77

Tabela 9 – Melhores resultados obtidos com a escolha de um ponto de pareto in-termediário. . . 78

Tabela 10 – Resultados obtidos com as variações do MODC no conjunto de dados 𝐶𝐷2 (protocolos). . . 79

Tabela 11 – Resultados obtidos com as variações do MODC no conjunto de dados 𝐶𝐷2 (aplicações). . . 79

Tabela 12 – Resultados obtidos com as variações do MODC no conjunto de dados 𝐶𝐷2 (web services). . . . 79

Tabela 13 – Tempo de execução de treinamento, otimização e classificação (em se-gundos) para o MODC𝐹 𝑆, utilizando o conjunto de dados 𝐶𝐷1. . . 80

Tabela 14 – Tempo de execução de treinamento, otimização e classificação (em se-gundos) para o MODC𝐴𝐸, utilizando o conjunto de dados 𝐶𝐷1. . . 81

Tabela 15 – Comparações do MODC𝐹 𝑆 com ferramentas populares de DPI. . . 82

Tabela 16 – Resultado para Acurácia Global em Fluxos (𝐴𝐺𝐹 ) e Recall Médio em Fluxos (𝑅𝑀 𝐹 ) para diversos classificadores, utilizando o conjunto de dados 𝐶𝐷1. . . 83

Tabela 17 – Resultados de precisão, 𝑅𝐹 e 𝑅𝐵 para o MODC𝐹 𝑆 utilizando o con-junto de dados 𝐶𝐷1. . . 84

Tabela 18 – Resultados de precisão, 𝑅𝐹 e 𝑅𝐵 para o MMODC𝐹 𝑆 utilizando o con-junto de dados 𝐶𝐷1. . . 85

Tabela 19 – Comparações entre o MODC𝐹 𝑆 e o MMODC𝐹 𝑆 utilizando o conjunto de dados 𝐶𝐷1. . . 85

Tabela 20 – Comparações entre as variações do MODC e algoritmos de aprendiza-gem de máquina para o conjunto de dados 𝐶𝐷2 (protocolos). . . 87

Tabela 21 – Comparações entre as variações do MODC e algoritmos de aprendiza-gem de máquina para o conjunto de dados 𝐶𝐷2 (aplicações). . . 88

(12)

gem de máquina para o conjunto de dados 𝐶𝐷2 (web services). . . . . 88

Tabela 23 – Atributos gerados e utilizados como entrada para a fase de seleção de características. . . 99 Tabela 24 – Comparações de 𝑅𝐹 entre o PACE e as variações do modelo híbrido

proposto para o conjunto de dados 𝐶𝐷2 (protocolos), além dos

resul-tados de 𝑅𝑀 𝐹 e 𝐴𝐺𝐹 . . . 100 Tabela 25 – Comparações de 𝑅𝐹 entre o PACE e as variações do modelo híbrido

proposto para o conjunto de dados 𝐶𝐷2 (aplicações), além dos

resul-tados de 𝑅𝑀 𝐹 e 𝐴𝐺𝐹 . . . 101 Tabela 26 – Comparações de 𝑅𝐹 entre o PACE e as variações do modelo híbrido

proposto para o conjunto de dados 𝐶𝐷2 (web services), além dos

re-sultados de 𝑅𝑀 𝐹 e 𝐴𝐺𝐹 . . . 101 Tabela 27 – Resultados de 𝑅𝐵 por classe e 𝐴𝐺𝐵 das variações do modelo híbrido

proposto para o conjunto de dados 𝐶𝐷2 (protocolos). . . 103

Tabela 28 – Resultados de 𝑅𝐵 por classe e 𝐴𝐺𝐵 das variações do modelo híbrido proposto para o conjunto de dados 𝐶𝐷2 (aplicações). . . 103

Tabela 29 – Resultados de 𝑅𝐵 por classe e 𝐴𝐺𝐵 das variações do modelo híbrido proposto para o conjunto de dados 𝐶𝐷2 (web services). . . 104

Tabela 30 – Resultados de precisão por classe e 𝑃 𝑀 das variações do modelo hí-brido proposto para o conjunto de dados 𝐶𝐷2 (protocolos). . . 106

Tabela 31 – Resultados de precisão por classe e 𝑃 𝑀 das variações do modelo hí-brido proposto para o conjunto de dados 𝐶𝐷2 (aplicações). . . 106

Tabela 32 – Resultados de precisão por classe e 𝑃 𝑀 das variações do modelo hí-brido proposto para o conjunto de dados 𝐶𝐷2 (web services). . . . 107

Tabela 33 – Resultados de 𝐹 𝑆𝐶 por classe e 𝐹 𝑆𝐶𝑀 das variações do modelo hí-brido proposto para o conjunto de dados 𝐶𝐷2 (protocolos). . . 109

Tabela 34 – Resultados de 𝐹 𝑆𝐶 por classe e 𝐹 𝑆𝐶𝑀 das variações do modelo hí-brido proposto para o conjunto de dados 𝐶𝐷2 (aplicações). . . 109

Tabela 35 – Resultados de 𝐹 𝑆𝐶 por classe e 𝐹 𝑆𝐶𝑀 das variações do modelo hí-brido proposto para o conjunto de dados 𝐶𝐷2 (web services). . . . 110

Tabela 36 – Resultados de 𝑅𝐹 obtidos utilizando softwares DPI para o conjunto de dados 𝐶𝐷2 (protocolos). . . 112

Tabela 37 – Resultados de 𝑅𝐹 obtidos utilizando softwares DPI para o conjunto de dados 𝐶𝐷2 (aplicações). . . 113

Tabela 38 – Resultados de 𝑅𝐹 obtidos utilizando softwares DPI para o conjunto de dados 𝐶𝐷2 (web services). . . 113

(13)
(14)

AE Autoencoders

AGB Acurácia Global em Bytes

AGF Acurácia Global em Fluxos

AMF Acurácia Média em Fluxos

COFS Class-Oriented Feature Selection

DBN Deep Belief Networks

DNS Domain Name System

DPI Deep Packet Inspection

ELM Extreme Learning Machine

FCBF Fast Correlation Based Feature

FS Feature Selection

FSC F1-score

FSCM F1-score Médio

FTP File Transfer Protocol

GA Genetic Algorithms

GHSOM The Growing Hierarchical Self-Organizing Map

GPU Graphics Processing Unit

GT Ground-Truth

HAR Hard-limit

HTTP HyperText Transfer Protocol

IoT Internet of Things

IP Internet Protocol

k-NN K-Nearest Neighbors

MDCMO Modelo Dividir para Conquistar Multi-Objetivo

MLP Multilayer Perceptron

MMODC𝐴𝐸 Multiple Multi-Objective Divide and Conquer with Autoencoders MMODC𝐹 𝑆 Multiple Multi-Objective Divide and Conquer with Feature Selection MODC Multi-Objective Divide and Conquer

(15)

MODC𝐹 𝑆 Multi-Objective Divide and Conquer with Feature Selection MOGA Multi-Objective Genetic Algorithms

P2P Peer-to-Peer

PCA Principal Component Analysis

PM Precisão Média

QoS Quality of Service

RAD Radial Basis

RB Recall em Bytes

RF Recall em Fluxos

RMF Recall Médio em Fluxos

RTMP Real-Time Messaging Protocol

SIG Sigmoidal

SIN Sine

SLFN Single-hidden Layer Feedforward Neural Network

SLIC Self-Learning Intelligent Classifier

SMTP Simple Mail Transfer Protocol

SOM Self-Organizing Maps

SSAE Stacked Sparse Autoencoders

SSH Secure Shell

SVM Support Vector Machines

TCP Transmission Control Protocol

TRI Triangular Basis

UDP User Datagram Protocol

VBS Volunteer-Based System

VENN Variation of Edited Nearest Neighbor

VoIP Voice over Internet Protocol

(16)

1 INTRODUÇÃO . . . 18 1.1 CONTEXTO . . . 18 1.2 MOTIVAÇÃO E RELEVÂNCIA . . . 20 1.3 OBJETIVOS . . . 22 1.3.1 Objetivo Geral . . . 25 1.3.2 Objetivos Específicos . . . 25 1.4 ORGANIZAÇÃO DA TESE . . . 25 2 TRABALHOS RELACIONADOS . . . 27 2.1 APRENDIZAGEM SUPERVISIONADA . . . 27 2.2 APRENDIZAGEM NÃO-SUPERVISIONADA . . . 29

2.3 APRENDIZAGEM PROFUNDA (DEEP LEARNING ) . . . . 30

2.4 SELEÇÃO DE CARACTERÍSTICAS . . . 30

2.5 OTIMIZAÇÃO . . . 31

2.6 COMPARAÇÕES COM OS TRABALHOS RELACIONADOS . . . 33

2.7 CONSIDERAÇÕES FINAIS . . . 34

3 FUNDAMENTOS DAS TÉCNICAS DE APRENDIZAGEM DE MÁ-QUINA . . . 35

3.1 APRENDIZAGEM DE MÁQUINA . . . 35

3.1.1 Aprendizagem Supervisionada . . . 35

3.1.1.1 Máquina de Aprendizagem Extrema (ELM - Extreme Learning Machine) . . 36

3.1.2 Aprendizagem Não-Supervisionada . . . 38

3.1.2.1 Mapas Auto-Organizáveis (SOM - Self-Organizing Maps) . . . . 39

3.1.2.2 Mapas Auto-Organizáveis com Crescimento Hierárquico . . . 41

3.1.2.3 Stacked Sparse Autoencoders (SSAE) . . . . 44

3.1.3 Otimização . . . 47

3.1.3.1 Algoritmos Genéticos . . . 48

3.1.3.2 Algoritmos Genéticos Multi-Objetivos (MOGA - Multi-Objective Genetic Algorithms) . . . . 50

3.1.4 Seleção de Características . . . 52

3.2 CONSIDERAÇÕES FINAIS . . . 53

4 MODELO PROPOSTO . . . 54

4.1 HIPÓTESES . . . 54

(17)

4.2.2 Dividir . . . 57 4.2.3 Conquistar . . . 57 4.2.4 Otimização Multi-Objetivo . . . 58 4.2.5 Classificação . . . 60 4.2.6 Considerações Finais . . . 62 5 EXPERIMENTOS . . . 63

5.1 CONFIGURAÇÕES DOS EXPERIMENTOS . . . 63

5.1.1 Conjuntos de Dados . . . 63

5.1.1.1 𝐶𝐷1 . . . 64

5.1.1.2 𝐶𝐷2 . . . 64

5.1.2 Pré-processamento . . . 67

5.1.3 Validação Cruzada com k-fold . . . 68

5.1.4 Parâmetros de Treinamento . . . 69

5.1.5 Métricas de Desempenho . . . 72

5.2 RESULTADOS EXPERIMENTAIS . . . 74

5.2.1 Análise da Estratégia “Dividir para Conquistar” (Hipótese 𝐻0) . . . 74

5.2.2 Análise da Otimização Multi-Objetivo (Hipótese 𝐻1) . . . 75

5.2.3 Análise da Utilização dos Autoencoders (Hipótese 𝐻3) . . . 78

5.2.4 Tempos de Execução (Hipótese 𝐻3) . . . 80

5.2.5 Comparações (Hipótese 𝐻2) . . . 81

5.2.5.1 Comparações com Ferramentas Baseadas em DPI . . . 81

5.2.5.2 Comparações com Algoritmos de Aprendizagem de Máquina . . . 86

5.3 CONSIDERAÇÕES FINAIS . . . 88

6 CONCLUSÕES . . . 89

6.1 PRINCIPAIS CONTRIBUIÇÕES . . . 90

6.2 TRABALHOS FUTUROS . . . 90

REFERÊNCIAS . . . 92

APÊNDICE A – ATRIBUTOS EXTRAÍDOS A PARTIR DE ESTA-TÍSTICAS DOS FLUXOS . . . 99

APÊNDICE B – RESULTADOS DE 𝑅𝐹 , 𝑅𝑀 𝐹 E 𝐴𝐺𝐹 DAS VA-RIAÇÕES DO MODELO HÍBRIDO PROPOSTO E MELHOR SOFTWARE DPI PARA O CON-JUNTO DE DADOS 𝐶𝐷2 . . . 100

(18)

E ACURÁCIA GLOBAL EM BYTES (𝐴𝐺𝐵) DAS VARIAÇÕES DO MODELO HÍBRIDO PROPOSTO

PARA O CONJUNTO DE DADOS 𝐶𝐷2 . . . 103

APÊNDICE D – RESULTADOS DE PRECISÃO E PRECISÃO MÉ-DIA (𝑃 𝑀 ) DAS VARIAÇÕES DO MODELO HÍ-BRIDO PROPOSTO PARA O CONJUNTO DE DADOS 𝐶𝐷2 . . . 106

APÊNDICE E – RESULTADOS DE F1-SCORE (𝐹 𝑆𝐶) E F1-SCORE

MÉDIO (𝐹 𝑆𝐶𝑀 ) DAS VARIAÇÕES DO MODELO HÍBRIDO PROPOSTO PARA O CONJUNTO DE DADOS 𝐶𝐷2 . . . 109

ANEXO A – RESULTADOS DE RECALL EM FLUXOS (𝑅𝐹 ) E

RECALL MÉDIO EM FLUXOS (𝑅𝑀 𝐹 ) DOS

(19)

1 INTRODUÇÃO

Este capítulo tem como objetivo introduzir o contexto em que este trabalho está inserido, além das motivações, os objetivos e a estrutura da tese.

1.1 CONTEXTO

O rápido crescimento das redes de computadores, e consequentemente da Internet, gerou interesse por novas aplicações e serviços, tais como serviços em nuvem, comércio eletrô-nico, streaming de vídeo e áudio, redes sociais, e-mail, dentre outros, conforme pode ser representado pela Figura 1.

Figura 1 – Rápido crescimento da Internet, com novos serviços e aplicações emergindo. À medida que a Internet cresce, há uma demanda por maior capacidade de enlace, desempenho e qualidade de serviço (QoS - Quality of Service). Simultaneamente, existe a necessidade emergente de tecnologias de classificação de tráfego de rede que acompa-nhem este crescimento e possam fornecer informações sobre a rede (MEIDAN et al., 2017), tais como os tipos de tráfego e os recursos utilizados, visando auxiliar os especialistas na tomada de decisão, tais como, por exemplo, o bloqueio de tráfego indesejado ou a priorização de tráfego através de técnicas de QoS.

A análise do tráfego permite, dentre outras vantagens, a identificação das anomalias de uma rede relacionadas à área de segurança (IJAZ et al., 2017; HUANG; HUANG, 2013; DIRO; CHILAMKURTI, 2018; SINGH; KUMAR; SINGLA, 2015; SOKOLOVA; PEREZ; LEMER-CIER, 2017; HOZ et al., 2014; BENMESSAHEL; XIE; CHELLAL, 2017) como, por exemplo, tentativas de ataques a uma determinada rede ou serviços de uma instituição. Outro

(20)

be-nefício corresponde à obtenção de informações quanto aos pontos de saturação na rede, que podem ocasionar sobrecargas nos enlaces. Uma das causas para o congestionamento das redes é a má distribuição de recursos. Isto se deve, em muitos casos, à falta de informa-ções sobre o estado atual dos enlaces, em decorrência de não existir, em muitos ambientes de rede, a utilização de ações e protocolos normatizados para gerência pró-ativa e moni-toramento em redes.

Além das redes de dados convencionais, redes compostas por dispositivos, através da Internet das Coisas (IoT - Internet of Things), vêm crescendo rapidamente, com estimativa de conectar bilhões de dispositivos até 2020 (BISWAS; GIAFFREDA, 2014) e mais de 11 trilhões até 2025 (TSIROPOULOU; PARUCHURI; BARAS, 2017). Portanto, em conjunto com as Cidades Inteligentes (Smart Cities) (ver Figura 2), preocupações com segurança são ainda mais agravados (IJAZ et al., 2017), com organizações possivelmente desconhecendo os dados que seus dispositivos IoT estão gerando dentro de suas redes (MEIDAN et al., 2017) e quais tipos de tráfego. Além disso, de acordo com a Cisco Visual Networking Index Forecast (CISCO, 2019), é estimado consumo acima de 48,3 exabytes por mês, em 2021, por dispositivos móveis (LIU et al., 2018). É esperado que ferramentas tradicionais de segurança da informação não sejam capazes de processar este grande volume de tráfego (IJAZ et al., 2017), principalmente as que dependem da análise de payloads.

Figura 2 – Cidades Inteligentes.

Desta forma, é interessante adotar técnicas de classificação de tráfego diferenciadas, permitindo que análises mais detalhadas possam ser realizadas por especialistas, com o intuito de tomada de decisão. Necessidades referentes à engenharia de tráfego, como

(21)

otimização do uso dos recursos da rede e do seu desempenho, podem justificar ainda mais o investimento em infraestrutura e metodologias que permitam a realização de diagnósticos através de classificação de tráfego, além de contribuir para detecção de anomalias na rede, visando a segurança dos dados e detecção de ataques.

1.2 MOTIVAÇÃO E RELEVÂNCIA

Diversas metodologias foram propostas na literatura com a tarefa de classificar tráfego de redes (NASCIMENTO; SADOK, 2018; SHI et al., 2018; FADLULLAH et al., 2017; WANG; KE; TAO, 2016; ERTAM; AVCı, 2017; SCHMIDT et al., 2017; SHI et al., 2017; GÓMEZ et al., 2017; IJAZ et al., 2017;BENMESSAHEL; XIE; CHELLAL, 2017; HAJJAR; KHALIFE; DÍAZ-VERDEJO, 2015; DIVAKARAN et al., 2015; ALSHAMMARI; ZINCIR-HEYWOOD, 2015; CALLADO et al., 2010) devido à complexidade do problema, e.g., custo computacional, dinamicidade da rede, privacidade dos dados, criptografia, atualização do método para tráfegos recentes, volume de tráfego, dentre outros.

Um dos métodos mais primitivos de classificação de tráfego de redes é o da utilização de portas conhecidas do protocolo de controle de transmissão (TCP - Transmission Control Protocol), conhecido como método baseado em portas (NAMDEV; AGRAWAL; SILKARI, 2015; BUJLOW; CARELA-ESPAÑOL; BARLET-ROS, 2015). Neste método, um determinado fluxo ou pacote de dados é classificado com base no número da porta utilizada na camada de transporte, ao comparar com uma lista de protocolos e suas portas pré-definidas por padrão1, por exemplo, a porta padrão para o protocolo HTTP foi pré-definida como porta 80. Este método não é eficaz (CALLADO et al., 2009), uma vez que muitas aplicações utilizam portas randômicas ou encapsulam o tráfego, principalmente na porta 80, com o intuito de não serem detectadas e bloqueadas por firewalls.

Outro método conhecido é o da inspeção profunda de pacotes (DPI - Deep Packet Inspection). Ao contrário do método baseado em portas, este método é capaz de lidar com o problema do uso de portas aleatórias e do encapsulamento do tráfego. Em resumo, a técnica utiliza um classificador que extrai os payloads dos pacotes referentes a um determinado tráfego de rede e realiza buscas em cada pacote à procura de assinaturas capazes de identificar tipos de tráfego distintos. A utilização de DPIs é considerada uma das técnicas mais precisas para classificação de tráfego de redes (NAMDEV; AGRAWAL; SILKARI, 2015) e muitas soluções comerciais baseiam-se nesta técnica (BUJLOW; CARELA-ESPAÑOL; BARLET-ROS, 2015). No entanto, esta abordagem possui algumas desvantagens (CALLADO et al., 2009), tais como a de não ser capaz de lidar com tráfego onde os dados são criptografados (NAMDEV; AGRAWAL; SILKARI, 2015) e quando múltiplas assinaturas são identificadas, por exemplo, em um mesmo pacote (GRINGOLI et al., 2009). Além disso, a técnica possui alto custo computacional, podendo afetar o desempenho do processo

1 <http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.

(22)

de classificação ao efetuar leituras em payloads em tempo real (SUN et al., 2013). Outra desvantagem é que tais leituras podem levantar questões referente à privacidade dos dados dos usuários.

Como resultado, frente aos problemas apresentados, técnicas de aprendizagem de má-quina vêm sendo propostas na área de classificação de tráfego de redes (NASCIMENTO; SADOK, 2018;BOUTABA et al., 2018;SHI et al., 2018; SHI et al., 2017;SCHMIDT et al., 2017; ERTAM; AVCı, 2017; GÓMEZ et al., 2017; NASCIMENTO et al., 2014; NASCIMENTO; SADOK; FERNANDES, 2013b; NASCIMENTO; SADOK; FERNANDES, 2013a; WANG; KE; TAO, 2016; PENG et al., 2017; IJAZ et al., 2017; PENG; YANG; CHEN, 2015; DIVAKARAN et al., 2015; BENMESSAHEL; XIE; CHELLAL, 2017; ALSHAMMARI; ZINCIR-HEYWOOD, 2015; MEGYESI; SZABÓ; MOLNÁR, 2015; CALLADO et al., 2010; NAMDEV; AGRAWAL; SILKARI, 2015; KHA-LIFE; HAJJAR; DÍAZ-VERDEJO, 2014), principalmente devido à alta capacidade de gene-ralização de diversos tipos de algoritmos, além da capacidade de lidar com os problemas relacionados à técnica de DPI anteriormente descritos.

Algoritmos de classificação têm como função classificar uma determinada instância, ou exemplo, em um rótulo, tendo como base um grupo de atributos (i.e., features) que a descreve. Modelos são gerados através de treinamentos de conjunto de dados previamente rotulados, normalmente em um processo de aprendizagem supervisionada, que inferem no-vas instâncias (e.g., pacotes ou fluxos) não conhecidas em um grupo de classes. A utilização de aprendizagem de máquina tem apresentado boa precisão de classificação de tráfego de redes, mesmo em dados criptografados (BOUTABA et al., 2018). Alguns trabalhos tam-bém utilizam técnicas de aprendizagem não-supervisionada (SHI et al., 2018; VARTOUNI; KASHI; TESHNEHLAB, 2018;LI et al., 2015;NAMDEV; AGRAWAL; SILKARI, 2015;ZHANG et al., 2013b; HUANG et al., 2013; LIN et al., 2010), com foco principalmente em classificação de tráfego desconhecido, onde as instâncias são agrupadas por similaridade em partições, ou clusters. Ao contrário da aprendizagem supervisionada, nesta técnica, o conjunto de dados não necessita dos rótulos das instâncias.

Normalmente, fluxos de tráfegos de redes são classificados como “elefante” (fluxos com grande volume de dados em bytes - fluxos elephant) ou “rato” (fluxos com pequeno volume de dados em bytes - fluxos mice) (GUO; MATTA, 2001). Ambos os fluxos são importantes na classificação de tráfego de redes, uma vez que fluxos “elefante” podem impactar em redes de baixa largura de banda e fluxos “rato” podem conter dados de tráfegos indesejados, como de softwares maliciosos, e portanto violarem a política de uso da rede ,e.g., bate-papo, enviar dados para nuvens, FTP, ou questões de pirataria. Para redes com largura de banda pequena, muito comum em cidades com baixa oferta de acesso Internet, por exemplo, é importante classificar corretamente fluxos do tipo “elefante” devido a falta de recursos de redes, e esta é a razão da importância da classificação correta de pacotes deste tipo, ou seja, dando maior importância à precisão de classificação dos dados de acordo com seu tamanho (i.e., em bytes).

(23)

Poucos são os trabalhos que analisam o desempenho da acurácia em bytes (PENG; YANG; CHEN, 2015; LIU et al., 2015). Ferramentas comerciais e gratuitas de classificação de tráfego (BUJLOW; CARELA-ESPAÑOL; BARLET-ROS, 2015) (por exemplo, L7-Filter, Lib-protoident, OpenDPI) também compartilham de um único objetivo, isto é, atingir altas taxas de acurácia de classificação de tráfego em fluxos ou pacotes. No entanto, existe a necessidade de um classificador flexível que permita a administradores de redes seleciona-rem o nível de precisão em bytes e em fluxos, de acordo com suas necessidades, permitindo inclusive selecionar uma opção balanceada entre as duas métricas. Esta flexibilidade per-mite ao administrador de redes priorizar, por exemplo, aplicações ou serviços essenciais para a sua instituição quando há a escassez de banda de Internet, bloqueando tráfegos (com maior precisão) que consomem os recursos da rede, ou priorizar a precisão de clas-sificação em fluxos visando a segurança da instituição, quando não há o problema de banda, ou uma solução intermediária. Porém, até o momento, não temos conhecimento de ferramentas ou trabalhos na literatura com foco na otimização simultânea das métricas de acurácia em fluxos e em bytes, visando flexibilizar a classificação de tráfego de acordo com a necessidade do especialista.

1.3 OBJETIVOS

Baseado nas motivações apresentadas, esse trabalho propõe um modelo híbrido chamado Modelo Dividir para Conquistar Multi-Objetivo (MDCMO) ou, em inglês, Multi-Objective Divide and Conquer (MODC) (NASCIMENTO; SADOK, 2018), composto de algoritmos de aprendizagem de máquina, que permite tal flexibilidade, otimizando o modelo visando a obtenção de alta precisão de classificação em mais de uma métrica, simultaneamente. O modelo proposto utiliza da estratégia de “dividir para conquistar” (JACOBS et al., 1991), onde inicialmente um problema complexo (e.g., classificar um grande volume de tráfego de redes contendo diversas classes) é dividido em problemas mais simples), agrupando dados por similaridade (clusters), e em seguida gerando modelos classificadores para cada grupo de dados (i.e., conquistando os problemas simplificados). A divisão é realizada através do algoritmo não-supervisionado, o Mapas Auto-Organizáveis com Crescimento Hierárquico (GHSOM - The Growing Hierarchical Self-Organizing Map) (RAUBER; MERKL; DITTEN-BACH, 2002) e o processo de conquista através de um algoritmo de aprendizagem de má-quina supervisionada, a Mámá-quina de Aprendizagem Extrema (ELM - Extreme Learning Machine) (HUANG; ZHU; SIEW, 2006). Este processo pode ser visualizado na Figura 3.

Note que, no exemplo da Figura 3, o conjunto de dados foi dividido, durante o trei-namento, por um algoritmo de aprendizagem não-supervisionada, em 02 clusters, onde os exemplos (e.g., características dos fluxos) foram divididos por similaridade, embora nem todos os exemplos necessariamente fossem da mesma classe (e.g., círculos ou quadrados). Cada cluster é submetido ao processo de aprendizagem supervisionada, onde um professor (i.e., o algoritmo de aprendizagem supervisionada em conjunto com os dados rotulados)

(24)

treina um modelo matemático, por cluster, para que este passe a ser especialista naquele conjunto de dados mais específico (menos complexo).

Após o treinamento, tanto o modelo treinado na fase de aprendizagem não-supervisionada quanto os modelos treinados na fase de aprendizagem supervisionada, são utilizados para classificar novos fluxos desconhecidos (e.g., em tempo real). Ainda na Figura 3, estes novos fluxos desconhecidos são classificados quanto aos clusters que pertencem. Após a defini-ção dos clusters, estes são classificados pelos modelos treinados na fase de aprendizagem supervisionada, ou seja, pelo especialista de cada cluster (i.e., cada modelo é especialista por características presentes em um determinado cluster ). Esta estratégia provê uma me-lhoria no processo de aprendizagem (JACOBS et al., 1991) e, até o momento, não temos conhecimento na literatura da utilização desta na tarefa de classificação de tráfego de redes. Todos os modelos treinados no processo de treinamento, ou seja, durante as fa-ses de aprendizagem supervisionada e não-supervisionada, constituem o que chamaremos nesse trabalho de modelo híbrido (i.e., o modelo híbrido é composto por vários modelos matemáticos, que em conjunto formam um único modelo matemático).

Dividir (algoritmo de aprendizagem não-supervisionada)

Problema menos complexo (cluster 1)

Problema menos complexo (cluster 2)

Conquistar cluster 1

Professor (algoritmo + exemplos com rótulos)

A pr endizagem Supervisionada Não especialista 1 (modelo 1 em treinamento) Conquistar cluster 2 Professor (algoritmo + exemplos com rótulos)

A pr endizagem Supervisionada Não especialista 2 (modelo 2 em treinamento) Problema Complexo Modelo Divisor (Aprendizagem não-supervisionada) Exemplos Desconhecidos Especialista 1 (modelo 1 treinado) Especialista 2 (modelo 2 treinado) Classificação Classificação

Figura 3 – Exemplo de treinamento e classificação baseado na estratégia de “dividir para conquistar”.

Além da utilização da estratégia de “dividir para conquistar”, o Algoritmo Genético Multi-Objetivo (MOGA - Multi-Objective Genetic Algorithms) é utilizado para otimizar o processo de treinamento ao selecionar soluções pareto-ótimas, visando a flexibilização discutida anteriormente. Além disso, serão utilizados algoritmos com objetivo de reduzir

(25)

a dimensionalidade dos dados, visando reduzir o custo computacional e atingir melhor de-sempenho de classificação, utilizando um algoritmo de seleção de características, o Ganho da Informação (MITCHELL, 1997), e a técnica de geração de novos atributos com Deep Learning, através da técnica Stacked Sparse Autoencoders (SSAE) (WANG; YAO; ZHAO, 2016; BENGIO, 2009).

Em resumo, este trabalho propõe um modelo híbrido que utiliza diversas técnicas de aprendizagem de máquina, que combinadas são capazes de classificar tráfegos de redes, permitindo que administradores de redes possam priorizar precisão de classificação em fluxos ou bytes, a partir da escolha de pontos de pareto específicos (previamente gerados através da otimização multi-objetivo), auxiliando-os assim na tomada de decisão, visando a otimização e o entendimento das redes que gerenciam.

Os resultados obtidos através de experimentos realizados neste trabalho em bases de dados públicas contendo uma grande variedade de tipos de tráfego (classes), serão compa-rados com resultados obtidos ao serem utilizados diversos algoritmos de aprendizagem de máquina, e também com resultados de ferramentas comerciais e não comerciais de DPI, o que pode beneficiar inclusive futuras comparações com outras metodologias propostas, uma vez que comparações entre classificadores de tráfego de redes são conhecidas por serem escassas e de alta complexidade (DAINOTTI; PESCAPE; CLAFFY, 2012).

A partir da proposta deste modelo híbrido para classificação de tráfego de redes, com-binando diversas técnicas de aprendizagem de máquina, este trabalho propõe responder, ao longo da tese, os seguintes questionamentos:

I A estratégia baseada no princípio de “dividir para conquistar” é superior a uma estratégia comum de treinamento de classificação, aplicada ao problema de classifi-cação de tráfego de redes? Esta estratégia é capaz de superar, considerando diversas métricas de desempenho, os principais softwares de DPI e um conjunto de algoritmos de aprendizagem de máquina comumente utilizados?

II Esta estratégia é capaz de superar os principais softwares de DPI?

III Esta é capaz de superar um conjunto de algoritmos de aprendizagem de máquina comumente utilizados?

IV É possível otimizar duas métricas de um modelo simultaneamente, ao utilizar algo-ritmos de otimização multi-objetivo, gerando bons resultados de classificação através de um conjunto de melhores pontos de pareto encontrados?

V A utilização de Deep Learning, através da técnica Stacked Sparse Autoencoders (SSAE), apresenta melhorias de classificação do modelo e redução do tempo de treinamento?

Primeiramente, será proposto um modelo híbrido (MODC) (NASCIMENTO; SADOK, 2018) com o intuito de responder os questionamentos I e IV. Análises serão realizadas

(26)

para verificar se esta estratégia é superior ao mesmo modelo, porém eliminando a fase de divisão, i.e., sem a estratégia de “dividir para conquistar”, como apresentado em trabalho anterior (NASCIMENTO et al., 2014). Além disso, para responder os questionamentos II e III, comparações serão realizadas com ferramentas populares de DPI, inclusive comerciais, e também com outros algoritmos de aprendizagem de máquina. Os experimentos serão realizados em bases de dados públicas, com dados rotulados corretamente através de técni-cas de Ground-Truth (GT), ao contrário de muitos trabalhos que utilizam dados privados (NAMDEV; AGRAWAL; SILKARI, 2015; HAJJAR; KHALIFE; DÍAZ-VERDEJO, 2015; ZHANG et al., 2013b), dificultando comparações entre modelos (DAINOTTI; PESCAPE; CLAFFY, 2012). Em seguida, serão propostas melhorias ao MODC com o intuito de atingir melhor desempenho de tempo de treinamento e classificação, visando responder o questionamento V.

1.3.1 Objetivo Geral

O presente trabalho propõe o seguinte objetivo geral:

Objetivo. “Analisar se um modelo híbrido para classificação de tráfego de redes,

ba-seado na estratégia de dividir para conquistar e utilizando técnicas de Deep Learning, otimizado por algoritmos multi-objetivo, é capaz de auxiliar especialistas em redes de com-putadores na tomada de decisão quanto ao nível de precisão de classificação, seja em bytes, em fluxos, ou uma opção balanceada, de forma flexível”.

1.3.2 Objetivos Específicos

• Construir um modelo híbrido para classificação de tráfegos de redes;

• Analisar a possibilidade de otimizar, simultaneamente, duas métricas importantes em classificação de tráfego de redes, a acurácia global em fluxos e a acurácia global em bytes, com a utilização de algoritmos de otimização multi-objetivo;

• Analisar se a estratégia de “dividir para conquistar” é capaz de melhorar os resul-tados de classificação de tráfego de redes;

• Verificar se a utilização do Stacked Sparse Autoencoders (SSAE), técnica esta de Deep Learning que reduz a dimensionalidade dos atributos e gera novas caracterís-ticas de alto nível que melhor representam o conjunto de dados de entrada, melhora as métricas de desempenho do modelo, incluindo a redução do tempo de treina-mento.

1.4 ORGANIZAÇÃO DA TESE

Os próximos capítulos estão organizados da seguinte forma: o Capítulo 2 apresentará tra-balhos realizados na área de classificação de tráfego com o auxílio da aprendizagem de

(27)

máquina; o Capítulo 3 introduzirá os fundamentos de aprendizagem de máquina relati-vos ao tema de pesquisa; o Capítulo 4 detalhará o modelo proposto e, no Capítulo 5, serão detalhados os experimentos realizados e os resultados obtidos; por fim, o Capítulo 6 apresentará as conclusões e os trabalhos futuros.

(28)

2 TRABALHOS RELACIONADOS

Neste capítulo serão abordados alguns trabalhos que utilizam técnicas de aprendizagem de máquina aplicados na área de classificação de tráfego de redes. Estes foram procu-rados e selecionados nas principais conferências e periódicos da área de pesquisa deste trabalho, foram avaliados quanto à qualidade, extraídas as informações mais relevantes e sintetizadas para compor este capítulo.

As seções foram subdivididas por subáreas da aprendizagem de máquina tratadas neste trabalho, tais como a aprendizagem supervisionada, aprendizagem não-supervisionada, seleção de características e otimização.

2.1 APRENDIZAGEM SUPERVISIONADA

A maioria dos trabalhos científicos na área de classificação de tráfego de redes envolve al-goritmos da aprendizagem de máquina supervisionada. Em (SOYSAL; SCHMIDT, 2010), os autores investigaram algoritmos de aprendizagem de máquina, tais como as Redes Baye-sianas, Árvores de Decisão e Redes Multilayer Perceptron (MLP), para classificar fluxos de 6 tipos de tráfego de rede, tais como P2P, HTTP, Akamai, FTP, DNS e SMTP. Os dados utilizados foram privados e capturados através de um processo de quarentena de servidores reais da National Academic Network of Turkey, assegurando a correta rotula-ção dos dados. Os resultados mostraram que Árvores de Decisão apresentaram melhores resultados de acurácia, com valores próximos a 100% para a maioria das classes de tráfego. Porém, este algoritmo está mais suscetível a falhas quando treinado com bases de dados pequenas e requerem um tempo maior para serem construídas.

Fluxos com grande quantidade de dados, chamados de fluxos “elefante” (elephant flows), são muitas vezes classificados incorretamente por técnicas de classificação de trá-fego de redes, o que compromete o desempenho de acurácia em bytes. Os autores em (WANG; LIU; ZHANG, 2014) propuseram um método de limpeza do conjunto de dados de treinamento onde fluxos de tamanhos menores, os fluxos “rato” (mice flows), são remo-vidos do conjunto de treinamento quando são incorretamente classificados pelo algoritmo k-NN e quando as classes destes grupos de fluxo forem minoritárias (< 10% da base de dados). O método, denominado Variation of Edited Nearest Neighbor (VENN), melhorou a métrica de acurácia em bytes em 22,31%, em média, para três bases de dados, duas pú-blicas de 2003 e 2009, e uma privada compreendendo períodos de 2012 e 2013, rotuladas pelo L7-Filter.

Os autores em (HUANG et al., 2013) propuseram um método de classificação de tráfego de redes denominado APPlication Round method (APPR) com o objetivo de identificar fluxos em seus estágios iniciais e em tempo real. Estatísticas (características) foram

(29)

ge-radas dos cabeçalhos das camadas de rede e transporte, porém considerando blocos de “conversas” (os autores chamam de TALK) entre servidores e clientes no nível de aplica-ção. Estas características foram geradas filtrando os fluxos por IP e cabeçalhos da camada de transporte. Diversos algoritmos supervisionados da ferramenta WEKA (MARKOV; RUS-SELL, 2006) foram utilizados durante os experimentos, e os que obtiveram melhores resul-tados foram o J48 (QUINLAN, 1996), PART (FRANK; WITTEN, 1998) e Redes Bayesianas, quando testados em quatro conjuntos de dados privados de 2007 e 2008.

Os autores em (DIVAKARAN et al., 2015) propuseram uma sistema, chamado Self-Learning Intelligent Classifier (SLIC), capaz de aprender a classificar tráfego de forma automatizada, mesmo após mudanças da natureza dos dados com o passar do tempo. Além disso, o sistema é capaz de trabalhar com pequenos conjuntos de treinamento em fases iniciais. O algoritmo k-NN foi utilizado como técnica de classificação. Foram utilizados dois conjuntos de dados públicos, sendo um coletado em 2010 e o outro de 2008 a 2009, com ground-thruth gerado pelo L7-Filter, juntamente com estatísticas geradas pelo tstat. O SLIC foi comparado com uma versão offline do mesmo projeto, onde o SLIC mostrou ser superior desde as fases iniciais de treinamento, com pequeno conjunto de dados, até a fase final, apresentando acurácia média de 95% e 90% para as duas bases analisadas, em 100 execuções do experimento. Ao utilizar o algoritmo k-NN, a base de dados de treinamento precisa ser mantida no sistema, que cresce à medida que novos fluxos são apresentados, tornando o sistema lento com o passar do tempo.

Redes Neurais Feedforward também têm sido utilizadas na tarefa de classificação de tráfego de redes. Os autores em (ZHOU et al., 2011) propuseram uma abordagem baseada em redes neurais que, combinada com um algoritmo de seleção de características, o Fast Correlation Based Feature (FCBF), foi capaz de classificar tráfego com boa acurácia. A técnica de regularização bayesiana foi utilizada no trabalho para ajustar a rede durante o treinamento, com a finalidade de proporcionar alta capacidade de generalização, reduzindo assim o overfitting. Os autores realizaram uma comparação com o a método Naïve Bayes, apresentando resultados melhores para o método proposto com Redes Neurais. Os autores utilizaram um trace privado capturado em 2003 para realização dos experimentos.

Os autores em (ALSHAMMARI; ZINCIR-HEYWOOD, 2015) utilizaram três algoritmos de aprendizagem de máquina, o C5.0, sendo este um algoritmo comercial proveniente do C4.5, o AdaBoost (FREUND; SCHAPIRE, 1997) e o Symbiotic Bid-Based (SBB) ( LICHOD-ZIJEWSKI; HEYWOOD, 2008), técnica de Programação Genética, para classificar tráfego VoIP criptografado. Três traces privados foram utilizados nos experimentos, compreen-dendo períodos de 2007 a 2010. Os resultados para taxa de detecção das aplicações VoIP investigadas em um conjunto de treinamento de 2007 alcançaram valores acima de 90%, porém quando o modelo foi testado em uma base de 2010, a solução não foi eficaz, apre-sentando sinais de overfitting.

(30)

2.2 APRENDIZAGEM NÃO-SUPERVISIONADA

A aprendizagem não-supervisionada vem também sendo utilizada na tarefa de classificação de tráfego, porém em menor quantidade de trabalhos. As técnicas de clusterização, na área de classificação de tráfego, são normalmente empregadas para classificação de tipos de tráfego por similaridade entre os atributos utilizados ou para descobrimento de novas classes (e.g., tratamento de classes desconhecidas).

O trabalho em (ZHANG et al., 2013b) propõe uma nova metodologia baseada em aprendizagem não-supervisionada, utilizando o K-Means como algoritmo principal para classificar aplicações desconhecidas. Estes utilizaram o processo de treinamento não-supervisionado em duas fases, sendo a primeira responsável por agrupar em clusters os fluxos a partir de estatísticas geradas, e a segunda para agrupar os clusters encontrados na primeira fase em novos clusters a partir da análise de palavas chave conhecidas entre aplicações, encontradas no payload (e.g., para o protocolo HTTP, algumas palavras são comumente encontradas no payload, tais como “HTTP”, “GET” e “x09”). Durante a fase de classificação de novos fluxos desconhecidos, apenas as estatísticas geradas dos fluxos são necessárias para identificação da classe a qual pertence. A metodologia proposta mostrou ser eficiente na tarefa de classificação de fluxos desconhecidos, apresentando melhor poder de classificação (acima de 85% de acurácia) quando comparado com seis algoritmos de classificação (C4.5 (FREUND; SCHAPIRE, 1996), k-NN (ALPAYDIN, 2010), SVM (VAPNIK; GOLOWICH; SMOLA, 1997), Redes Neurais, Redes Bayesianas e Naïve Bayes).

Os autores em (ZHANG et al., 2013a) também propuseram um método de detecção de tráfego desconhecido através da utilização de um algoritmo não-supervisionado, o K-Means. Os fluxos não rotulados foram utilizados no processo de aprendizagem não-supervisionada e, ao mesmo tempo, foram rotulados através da correlação de informações do fluxo (IP de destino, porta de destino e protocolo da camada de transporte) com flu-xos previamente rotulados por uma ferramenta de DPI desenvolvida, tomando como base assinaturas do L7-Filter. Com todos os fluxos rotulados, foi possível gerar um classifica-dor baseado no K-Means, onde votações nos clusters foram realizadas para determinar a classe de cada cluster. Além disso, na fase de classificação de novas instâncias, os autores mostraram que a classificação por bag-of-flows (BoFs) é mais eficiente, ao invés de classi-ficar fluxo a fluxo. Foram utilizados dois conjuntos de dados públicos reais, com períodos selecionados de 2008 e 2010. O método foi comparado com outros cinco algoritmos de aprendizagem de máquina, e apresentou melhores resultados de cobertura quando aplica-ções desconhecidas são inseridas no processo de classificação. É importante destacar que a utilização de informações como IP e porta não são aconselháveis na tarefa de classificação de tráfego, uma vez que estas informações podem ser facilmente mascaradas.

Singh (2015) também utilizou algoritmos de aprendizagem não-supervisionada, porém para a tarefa de classificação. Atributos estatísticos dos fluxos foram extraídos e filtrados com o algoritmo de seleção de características Correlation-based Feature Selection (CFS).

(31)

Dois algoritmos não-supervisionados foram utilizados nos experimentos, o K-Means e o Expectation Maximization (EM), em uma base de dados privada, onde foi verificada a superioridade do K-Means.

2.3 APRENDIZAGEM PROFUNDA (DEEP LEARNING )

A Aprendizagem Profunda (Deep Learning) vem sendo amplamente utilizada em trabalhos recentes na área de aprendizagem de máquina, porém ainda pouco explorada na área de classificação de tráfego de redes (FADLULLAH et al., 2017). Este tipo de aprendizagem é realizada com o uso de redes neurais com múltiplas camadas escondidas, formando uma rede neural artificial com ampla profundidade de camadas e neurônios, assim como ocorre na arquitetura do cérebro humano, que possui conexões neuronais profundas. Algoritmos de Deep Learning têm apresentado melhor desempenho quando comparados a algoritmos de aprendizagem de máquina tradicionais (FADLULLAH et al., 2017).

O trabalho de (SHI et al., 2018) elaborou uma abordagem eficiente para geração de características baseado em Deep Learning, mais especificamente utilizando Deep Belief Networks (DBN), e seleção de características, com o método Weighted Symmetric Un-certainty (WSU) para remoção de atributos redundantes, para classificação de tráfego de redes. A metodologia alcançou bom desempenho de classificação e tempo de execução, devido à redução da dimensionalidade dos dados. Os experimentos foram realizados em bases públicas de 2003 e 2009.

Conforme será abordado no Capítulo 3, os autoencoders podem ser empilhados para formar uma rede neural profunda, chamada de Stacked Autoencoders, podendo ser en-quadrado como método de Deep Learning. O trabalho de Vartouni, Kashi e Teshnehlab (2018) utilizou os Stacked Autoencoders para detecção de anomalias em tráfego web, com o objetivo identificação de ataques. Esta técnica foi utilizada para extração de atribu-tos do conjunto de dados, com o intuito de aprender uma semântica entre os atribuatribu-tos originais. Para classificar o tráfego, foi utilizado o Isolation Forest, e resultados obtidos com o modelo proposto mostraram que a utilização dos Stacked Autoencoders foram mais precisos em comparação à não utilização da técnica.

2.4 SELEÇÃO DE CARACTERÍSTICAS

Os autores em (LIU et al., 2015) desenvolveram um algoritmo de seleção de características, o Class-Oriented Feature Selection (COFS), capaz de lidar com o problema do desbalan-ceamento das classes nos conjuntos de dados, para auxiliar na tarefa de classificação de tráfegos de redes. O algoritmo utiliza um mecanismo de filtragem de características espe-cífico para classes específicas, ou seja, diferentes características (features) são selecionadas para cada classe. Embora o algoritmo tenha apresentado alguns resultados de acurácia piores quando comparado com outros métodos, este apresentou média superior quando

(32)

levadas em consideração todas as classes investigadas. Três conjuntos de dados foram va-lidados, sendo um deles, o SCUT, rotulado pelo L7-Filter. Os trabalhos de Zhou et al. (2011) e Hu e Zhang (2012) também utilizaram o processo de seleção de características com o objetivo de selecionar atributos que contribuam para o processo de treinamento do modelo.

Fahad et al. (2014) desenvolveram um método de seleção de características chamado Global Optimization Approach (GOA) composto de três fases. Na primeira fase, o método utiliza diversos algoritmos de seleção de características existentes para remover caracterís-ticas irrelevantes e gerar subconjuntos de atributos. A segunda fase, uma técnica baseada em entropia, seleciona os atributos mais robustos, com o intuito de reduzir ainda mais o número de subconjuntos para a próxima fase. Na terceira fase, o algoritmo random forests é utilizado para selecionar o melhor subconjunto. Após selecionar o melhor subconjunto, diversos algoritmos de aprendizagem supervisionada foram utilizados para comparar o método com dois outros trabalhos, onde o GOA apresentou melhores resultados para duas métricas criadas pelos autores, quando testado em conjuntos de dados em períodos específicos de 2003, 2004, 2006 e 2007.

Outro trabalho que fez uso da técnica de seleção de características para classificação de tráfego de redes foi o de Shi et al. (2017). Neste, os autores utilizaram o Wavelet Le-aders Multifractal Formalism (WLMF) para extrair features do tráfego Internet, e logo em seguida utilizam um método de seleção de características baseado no Principal Com-ponent Analysis (PCA) para remover features irrelevantes e redundantes. Este método demonstrou ser superior ao método de extração de atributos através da geração de es-tatísticas da camada de transporte, utilizando o SVM como classificador. Duas bases de dados privadas foram utilizadas nos experimentos, uma de 2011 e a outra de 2014, com 10.000 fluxos selecionados randomicamente para cada classe, sendo estas: WWW, P2P (TCP), IM (TCP), HTTP + Flash, SMTP, POP, IMAP, P2P (UDP), IM (UDP) e VoIP. O trabalho de Hu e Zhang (2012) utilizou Árvores de Decisão, com o algoritmo C4.5, juntamente com a técnica de seleção de características, utilizando o algoritmo Fast Cor-relation Based Feature (FCBF), para reduzir a dimensionalidade dos dados e consequen-temente aumentar a eficiência do método. Para o tráfego de rede analisado, o modelo alcançou 92,38% quanto à métrica de acurácia em fluxos, além de apresentar boa efici-ência quanto ao tempo de classificação do conjunto de teste. O C4.5 também apresentou melhores resultados no trabalho de Singh e Agrawal (2011), quando comparado com qua-tro ouqua-tros algoritmos (RBF, C4.5, Redes Bayesianas e Naïve Bayes).

2.5 OTIMIZAÇÃO

Alguns trabalhos fazem uso de algoritmos de otimização para melhorar a qualidade de seus métodos (ALSHAMMARI; ZINCIR-HEYWOOD, 2015; RIZZI et al., 2015). Algoritmos de otimização são geralmente usados para encontrar um conjunto de parâmetros que melhore

(33)

os resultados de classificação, por exemplo, minimizando ou maximizando uma função, e.g., maximizar a métrica de acurácia por fluxo em problemas de classificação de rede, onde a função (modelo) foi gerada a partir do treinamento com um algoritmo de classifica-ção. Otimização multi-objetivo tem sido usada em classificação de tráfego de rede, mas no processo de otimização de seleção de características (HOZ et al., 2014) e detecção de ano-malias (OSTASZEWSKI; BOUVRY; SEREDYNSKI, 2009). Em (BACQUET; ZINCIR-HEYWOOD; HEYWOOD, 2011), a otimização ocorreu apenas nos processos de seleção de características e de agrupamento, sem se preocupar com a melhoria simultânea de duas ou mais métricas, conforme será abordado nesta tese.

Os autores em (RIZZI et al., 2015) desenvolveram um método para classificação de trá-fego em tempo real, através de uma técnica com baixo custo computacional, permitindo que plataformas mais baratas pudessem ser utilizadas. Desta forma, uma técnica baseada em neuro-fuzzy foi proposta, capaz de classificar fluxos com alta acurácia, utilizando pou-cas característipou-cas extraídas dos primeiros pacotes de um fluxo. Tais característipou-cas foram obtidas através de um procedimento de otimização genética, que tem como responsabili-dade evoluir subconjuntos de características com o objetivo de encontrar o subconjunto com maior desempenho. Os experimentos foram realizados em diferentes conjuntos de dados, sendo um deles conhecido, os traces públicos da Universidade de Bréscia (UNIBS - University of Brescia). Os resultados mostraram que o modelo apresentou acurácia próxima a modelos baseados em Random Tree e SVM, porém com menor custo compu-tacional, aspecto de grande importância em redes de alta capacidade.

O trabalho de (ERTAM; AVCı, 2017) desenvolveu um modelo híbrido, chamado de GA-WK-ELM, que combina métodos baseados no algoritmo ELM e algoritmos genéticos (GA - Genetic Algorithms). A técnica de otimização foi utilizada para selecionar os melhores parâmetros do método ELM (WK-ELM), alcançando melhores taxas de acurácia quando GA foi utilizado. Os experimentos foram realizados em uma base de dados pública de 2003, e informações de porta foram utilizadas para o treinamento do modelo.

Poucos trabalhos são encontrados na literatura que usam otimização de modelos para classificação de tráfego, principalmente em otimização multi-objetivo. Este tipo de otimi-zação tem sido utilizado, por exemplo, nas áreas de classificação de detecção de anomalias em redes (HOZ et al., 2014; OSTASZEWSKI; BOUVRY; SEREDYNSKI, 2009). O trabalho de Bacquet, Zincir-Heywood e Heywood (2009) utilizou otimização multi-objetivo, através do MOGA, para otimizar um modelo classificador de tráfego SSH, com foco em quatro métricas que mensuram a qualidade dos clusters, obtidos pelo K-Means, e o número de características a serem utilizados no modelo. Desta forma, o modelo multi-objetivo foi utilizado tendo como objetivo final o melhoramento da métrica de taxa de detecção de tráfego SSH, apenas. Os dados submetidos a testes (2000 fluxos) foram obtidos de forma privada, em 2007, e rotulados por uma ferramenta DPI comercial, o PacketShaper. Esta-tísticas dos fluxos foram geradas a partir do NetMate. O modelo alcançou resultados de

(34)

92% de taxa de detecção dos fluxos, com taxa de falso positivo em 0,8%.

2.6 COMPARAÇÕES COM OS TRABALHOS RELACIONADOS

A revisão da literatura relacionada ao tema de pesquisa indicou uma tendência do uso de técnicas de aprendizagem de máquina para a tarefa de classificação de tráfegos de redes, com predominância do uso de algoritmos de aprendizagem de máquina supervisionada, uma vez que estes são comumente utilizados para classificação. Assim como muitos dos trabalhos resumidos na Seção 2.1, também utilizamos de algoritmos baseados em redes neurais, no entanto utilizando o algoritmo ELM (HUANG; ZHU; SIEW, 2006), conforme será visto no Capítulo 3, devido à sua rápida capacidade de treinamento, reduzindo assim o custo computacional, e boa capacidade de generalização.

Outros trabalhos utilizam de técnicas da área de aprendizagem de máquina não-supervisionada, com diversos propósitos, geralmente para realizar classificação a partir dos clusters gerados ou classificar tráfegos desconhecidos, conforme visto na Seção 2.2. No entanto, neste trabalho, utilizamos desta técnica como mecanismo para divisão do conjunto de dados em subconjuntos mais similares, mais especificamente para aplicação da estratégia de “dividir para conquistar”, que simplifica a complexidade do problema de classificação, conforme será melhor detalhada no Capítulo 4. Não temos conhecimento de nenhum trabalho que faça uso desta estratégia para classificação de tráfego de redes, além deste trabalho (NASCIMENTO; SADOK, 2018).

Menos da metade dos trabalhos revisados fizeram uso de bases de dados públicas para realização de seus experimentos (SHI et al., 2018; VARTOUNI; KASHI; TESHNEHLAB, 2018; LIU et al., 2015; ERTAM; AVCı, 2017), sendo este uso importante devido à questões de reprodutibilidade. Desta forma, bases públicas também foram utilizadas neste trabalho, como também o uso de algoritmos de seleção de características (Seção 2.4) para otimizar os processos de treinamento e consequentemente os resultados experimentais. Além disso, poucos são os trabalhos que fazem uso de técnicas para redução do custo computacional (HUANG et al., 2013; SHI et al., 2018; VARTOUNI; KASHI; TESHNEHLAB, 2018; SHI et al., 2017; RIZZI et al., 2015) e, entendendo a complexidade das bases de dados utilizadas neste trabalho, foi empregada uma técnica de Deep Learning, o Stacked Sparse Autoencoders (SSAE), tanto para redução do custo computacional quanto para geração de atributos de alto nível, com o objetivo de atingir melhor desempenho de classificação.

Para otimização dos modelos de classificação, visando a obtenção de melhores resul-tados de acurácia, é possível a utilização de técnicas de otimização (Seção 2.5). Quando há mais de um objetivo a ser otimizado, são utilizados algoritmos de otimização multi-objetivo. Este trabalho possui como objetivo otimizar duas importantes métricas na área de classificação de tráfego de redes, a acurácia em fluxos e em bytes. Não temos conheci-mento de ferramentas ou trabalhos na literatura com foco na otimização simultânea de

(35)

tais métricas, visando flexibilizar a classificação de tráfego de acordo com a necessidade do especialista, conforme será melhor detalhado no Capítulo 4.

2.7 CONSIDERAÇÕES FINAIS

Este capítulo apresentou os trabalhos relacionados, onde demonstrou que diferentes es-tratégias têm sido propostas para lidar com a difícil tarefa de classificar tráfego de redes, abordando vários tipos de técnicas de aprendizagem de máquina. No próximo capítulo, um breve resumo dos fundamentos relacionado às técnicas de aprendizagem de máquina utilizadas neste trabalho será apresentado.

(36)

3 FUNDAMENTOS DAS TÉCNICAS DE APRENDIZAGEM DE MÁQUINA

No Capítulo 1, foi demonstrada a importância da classificação de tráfego de redes, prin-cipalmente devido ao aumento crescente do tráfego e questões de segurança, além dos benefícios do uso de técnicas de aprendizagem de máquina para esta tarefa, contornando problemas conhecidos das estratégias de classificação baseadas em portas ou DPI.

Portanto, neste capítulo, os fundamentos relacionados às técnicas de aprendizagem de máquina utilizadas neste trabalho serão apresentados, com o objetivo de introduzir o conhecimento mínimo necessário para o melhor entendimento do método proposto, que será apresentado posteriormente.

3.1 APRENDIZAGEM DE MÁQUINA

Para viabilizar a análise de conjuntos de dados de tráfego de rede, as técnicas de apren-dizagem de máquina têm sido utilizadas como mecanismos importantes para classificação de tráfego devido à sua boa capacidade de generalização (MITCHELL, 1997). Algorit-mos de aprendizagem de máquina podem ser classificados como supervisionados, não-supervisionados (NAMDEV; AGRAWAL; SILKARI, 2015), ou semi-supervisionados. Alguns outros algoritmos auxiliam o processo de aprendizagem, tais como algoritmos de otimiza-ção, seleção de características, geração de novas características e redução da dimensionali-dade com autoencoders. No entanto, o universo de aprendizagem de máquina é composto por muitas outras técnicas (MITCHELL, 1997), mas que não farão parte do escopo desta tese.

3.1.1 Aprendizagem Supervisionada

Na aprendizagem supervisionada, o aprendizado é realizado com o conhecimento prévio dos resultados desejados, ou seja, é fornecido o conjunto de exemplos de entrada e suas respectivas respostas (ALPAYDIN, 2010). Os algoritmos de aprendizagem de máquina su-pervisionada necessitam de dados de treinamento pré-classificados para a construção do modelo (KHALIFE; HAJJAR; DÍAZ-VERDEJO, 2014; SOYSAL; SCHMIDT, 2010). O conjunto de dados de treinamento contém instâncias (e.g., fluxos) que estão representadas por va-lores que os caracterizam (entrada) e, no caso de classificação de tráfego de redes, o tipo de tráfego correspondente (saída). O processo de aprendizagem é normalmente composto de duas fases, a de treinamento e a de teste. No processo de treinamento, uma função é gerada para classificar o tipo de tráfego pelos valores característicos dados pelos fluxos dos dados de treinamento. Esse modelo de classificação é utilizado para classificar novas instâncias desconhecidas (NAMDEV; AGRAWAL; SILKARI, 2015). A fase de teste é utilizada para validar o modelo através da classificação de novas e desconhecidas instâncias.

Referências

Documentos relacionados

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The

Como Recuero (2009) diz que precisamos criar uma identidade, e assim um pertencimento aquele site de rede social, porque o EI não utiliza o recurso que o site

As ferramentas que mais se adequam aos serviços de mão de obra residente foram selecionadas e utilizadas conforme o ciclo DMAIC e os dois primeiros objetivos específicos,

De acordo com José (2011) as mudanças que se registavam no contexto internacional: queda do Muro de Berlim, marcando o fim da URSS – apoiante oficial de Angola desde a

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

Ressalta-se que foram identificados, entre as famílias, três estilos de manejo: cinco famílias no estilo accommodating (acomodando), ou seja, os membros familiares buscam manter

A página da Internet da Direção Geral da Educação disponibiliza alguns recursos para aplicação em sessões de formação sobre a língua e cultura dirigidos ao público