UNIVERSIDADE FEDERALDO RIO GRANDEDO NORTE CENTRODE TECNOLOGIA PROGRAMADE PÓS-GRADUAÇÃOEM ENGENHARIA ELÉTRICAE UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DE COMPUTAÇÃO

Smart Defender: Um Sistema de Detecção e Mitigação de Ataques DoS/DDoS usando Aprendizagem de Máquina

Francisco Sales de Lima Filho

Orientador: Prof. Dr. Luiz Felipe de Queiroz Silveira

Tese de Doutorado apresentada ao Pro- grama de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Doutor em Ciências.

Número de ordem PPgEEC: D265 Natal, RN, 20 de dezembro de 2019 Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede

Filho, Francisco Sales de Lima. Smart Defender: um sistema de detecção e mitigação de ataques DoS/DDoS usando aprendizagem de máquina / Francisco Sales de Lima Filho. - 2019. 104 f.: il.

Tese (doutorado) - Universidade Federal do Rio Grande do Norte, Centro de Tecnologia, Programa de Pós-Graduação em Engenharia Elétrica e de Computação, Natal, RN, 2020. Orientador: Prof. Dr. Luiz Felipe de Queiroz Silveira.

1. DoS - Tese. 2. DDoS - Tese. 3. Attack Detection - Tese. 4. Attack Mitigation - Tese. 5. Machine Learning - Tese. 6. Network Security - Tese. I. Silveira, Luiz Felipe de Queiroz. II. Título.

RN/UF/BCZM CDU 004.85

Elaborado por Ana Cristina Cavalcanti Tinôco - CRB-15/262 Smart Defender: Um Sistema de Detecção e Mitigação de Ataques DoS/DDoS usando Aprendizagem de Máquina

Francisco Sales de Lima Filho

Tese de Doutorado aprovada em 20 de dezembro de 2019 pela banca examinadora com- posta pelos seguintes membros:

Prof. Dr. Luiz Felipe de Queiroz Silveira (orientador) ...... DCA/UFRN

Profa Dra Genoveva Vargas Solar ...... CNRS

Prof. Dr. Plácido Antônio de Souza Neto ...... DIATINF/IFRN

Prof. Dr. Agostinho de Medeiros Brito Junior ...... DCA/UFRN

Prof. Dr. Paulo Sérgio da Motta Pires ...... DCA/UFRN

Prof. Dr. Ivanovitch Medeiros Dantas da Silva ...... IMD/UFRN

Dedico este trabalho ao meu tio Antônio Neto da Costa pelo fundamental apoio no desenvolvimento dos meus estudos.

Agradecimentos

Agradeço a Deus por preparar o caminho, por permitir a caminhada e por dar forças para concluí-la.

Agradeço aos meus pais por todo o amor, dedicação e confiança.

À minha amada esposa Érika pela compreensão, cumplicidade, companheirismo, sinceri- dade e amor.

À minha amada filha Sofia, que mesmo em sua inocência soube compreender minhas ausências em nossas deliciosas brincadeiras cotidianas.

Aos meus irmãos Claudinho (em memória), Maik e Claudinha pelo amor fraterno, apoio e confiança.

Aos demais familiares que contribuíram nessa jornada e souberam entender minha dis- tância em eventos da família.

Ao meu orientador Prof. Luiz Felipe pelo trabalho exemplar, conduzido com esmero, profissionalismo, dedicação e amizade.

Ao Prof. Agostinho Medeiros pelo acolhimento no Laboratório de Segurança da Infor- mação - LabSIN, pelo companheirismo, dedicação e amizade.

Aos demais colegas de pós-graduação, pelas críticas e sugestões.

À Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), pelo apoio financeiro.

Resumo

O ataque de negação de serviço (DoS) e sua variante distribuída (DDoS) representa um dos riscos mais significativos para a disponibilidade de serviços operando na Internet. Essa ameaça cibernética continua a crescer em todo o mundo, e é prejudicial mesmo com o avanço das tecnologias de proteção de rede. O desenvolvimento de mecanismos que possam detectar e mitigar os impactos do tráfego malicioso gerado por ataques DDoS é um desafio atual na área de segurança de redes, com um impacto direto na vida da popula- ção mundial. Este trabalho propõe o sistema Smart Defender como uma abordagem para reduzir o impacto desses ataques. Este sistema é formado por duas ferramentas, o Smart Detection (SD) e o Smart Protection (SP), que operam de maneira integrada e distribuída. O sistema de detecção proposto toma decisões com base em assinaturas preexistentes, usando técnicas de Aprendizagem de Máquina (AM), para classificar o tráfego de rede. O sistema de proteção aplica regras para controlar o tráfego indesejado e mitigar os efei- tos do DDoS, considerando as informações compartilhadas pelo sistema de detecção e a política de segurança da rede local. Nos experimentos realizados, foram utilizados moder- nos conjuntos de dados de referência e testes controlados em laboratório. Os resultados mostram que a solução proposta é capaz de detectar precocemente ataques DDoS com alta taxa de acertos e baixa taxa de alarmes falsos, além de isolar a ameaça no primeiro minuto de ataque.

Palavras-chave: DoS, DDoS, Detecção de ataques, Mitigação de ataques, Aprendi- zagem de Máquina, Segurança de Redes.

Abstract

Denial of Service Attack (DoS) and its distributed variant (DDoS) represent one of the most significant risks to the availability of services operating on the Internet. This cy- ber threat continues to grow worldwide and is detrimental even with the advancement of network protection technologies. Developing mechanisms that can detect and mitigate the impacts of malicious traffic generated by DDoS attacks is a current challenge in network security, with a direct impact on the lives of the world’s population. This work proposes the Smart Defender system as an approach to reduce the impact of these attacks. This system consists of two tools, Smart Detection (SD) and Smart Protection (SP), which operate in an integrated and distributed manner. The proposed detection system makes decisions based on pre-existing signatures using Machine Learning (ML) techniques to classify network traffic. The protection system enforces rules to control unwanted traffic and mitigate the effects of DDoS, given the information shared by the detection system and the security policy of the local network. In the experiments performed, modern re- ference data sets and controlled laboratory tests were used. The results show that the proposed solution is capable of early detection of high hit rate and low false alarm rate DDoS attacks, as well as isolating the threat in the first minute of attack.

Keywords: DoS, DDoS, Attack Detection, Attack Mitigation, Machine Learning, Network Security.

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas v

Lista de Símbolos e Abreviaturas vii

1 Introdução 1 1.1 Contribuições ...... 4 1.2 Organização do Documento ...... 5

2 Estado da Arte 7 2.1 Negação de Serviços em Sistemas Computacionais ...... 7 2.2 Negação de Serviços em Redes Convencionais ...... 9 2.3 Negação de Serviços em Redes SDN ...... 12 2.4 Resumo ...... 14

3 Ataques de Negação de Serviços 17 3.1 Ataques Distribuídos de Negação de Serviços ...... 17 3.2 Ataques de Camada de Rede/Transporte ...... 19 3.3 Ataques de Camada de Aplicação ...... 22 3.4 Datasets de referência ...... 24 3.4.1 Dataset ISCXIDS2012 ...... 24 3.4.2 Dataset CIC-DoS ...... 24 3.4.3 Dataset CICIDS2017 ...... 25 3.4.4 Dataset CSE-CIC-IDS2018 ...... 26 3.4.5 Dataset Autoral ...... 26 3.5 Resumo ...... 27

i 4 Aprendizagem de Máquina 31 4.1 Classificação de dados ...... 31 4.2 Classificação usando árvores de decisão ...... 33 4.3 Classificação usando comitê de árvores de decisão ...... 35 4.4 Métricas de Avaliação ...... 37 4.5 Resumo ...... 40

5 Smart Defender 41 5.1 Arquitetura ...... 41 5.2 Smart Detection ...... 42 5.2.1 Arquitetura ...... 43 5.2.2 Extração de Características ...... 46 5.2.3 Seleção de variáveis e algoritmo de aprendizagem ...... 49 5.2.4 Experimentos ...... 52 5.2.5 Análise de Resultados ...... 54 5.3 Smart Protection ...... 59 5.3.1 Arquitetura ...... 59 5.3.2 Gerenciador de Topologia ...... 61 5.3.3 Controle de Tráfego ...... 62 5.3.4 Experimentos ...... 63 5.3.5 Análise de Resultados ...... 64 5.4 Resumo ...... 71

6 Conclusões 73 6.1 Trabalhos Futuros ...... 74 6.2 Produção Científica ...... 75

Referências bibliográficas 76 Lista de Figuras

3.1 Arquitetura de ataque distribuído de negação de serviço (DDoS) na Internet. 18 3.2 Dinâmica da taxa de ataque DDoS. Em (a) ataque de taxa constante, (b) ataque de taxa crescente, (c) ataque de taxa constante com pequenas vari- ações e (d) ataque de taxa pulsante...... 21 3.3 Topologia utilizada na construção do dataset autoral...... 27 3.4 Resumo dos principais tipos, vítimas, taxas e impactos dos ataques de negação de serviços...... 28

4.1 Abordagem de aprendizagem de máquina, adaptado de Géron (2017). . . 32 4.2 Sistema de classificação...... 32 4.3 Exemplo de árvore de decisão com 3 atributos e 3 níveis de profundidade. 34 4.4 Processo de treinamento do algoritmo Random Forest, adaptado de (Géron 2017)...... 36 4.5 Exemplo de matriz de confusão de classificação binária...... 38

5.1 Arquitetura do sistema Smart Defender...... 42 5.2 Construção do modelo e esquema de operação do sistema Smart Detection. 43 5.3 Visão geral do esquema de classificação de tráfego...... 44 5.4 Algoritmo do sistema de detecção...... 45 5.5 Processo de extração, transformação e rotulagem das instâncias do banco de dados...... 49 5.6 Número de variáveis versus número de modelos...... 51 5.7 Variáveis selecionadas pelo algoritmo de seleção proposto...... 52 5.8 Esquema de validação on-line do Smart Detection...... 54 5.9 Tráfego de rede em experimento on-line usando o dataset CICIDS2017. . 56 5.10 Classificação de tráfego e uso de CPU em experimento on-line usando o dataset CICIDS2017...... 57 5.11 Visão geral da arquitetura do Smart Protection para redes SDN...... 60 5.12 Fluxograma do módulo de controle de tráfego do Smart Protection. . . . . 63 5.13 Topologia da rede experimental de validação do Smart Protection. . . . . 64

iii 5.14 Tráfego em pps no RT-CORE (Experimento-01)...... 67 5.15 Tráfego em bps no RT-CORE (Experimento-01)...... 67 5.16 Tráfego em pps no RT-REDE-40 (Experimento-01)...... 68 5.17 Tráfego em bps no RT-REDE-40 (Experimento-01)...... 68 5.18 Detecção realizadas (Experimento-02)...... 69 5.19 Tráfego em pps no RT-CORE (Experimento-02)...... 70 5.20 Tráfego em bps no RT-CORE (Experimento-02)...... 70 Lista de Tabelas

2.1 Resumo de propostas de combate ao DDoS em redes convencionais. . . . 14 2.2 Resumo de propostas de combate ao DDoS em redes SDN...... 15

3.1 Ferramentas de ataque e eventos constantes no dataset CIC-DoS...... 25 3.2 Ferramentas de ataque e eventos constantes no dataset autoral...... 27 3.3 Resumo dos datasets utilizados...... 28

5.1 Parâmetros de configuração do sistema de detecção...... 44 5.2 Variáveis extraídas do cabeçalho dos pacotes e calculadas...... 47 5.3 Resultados com as variáveis escolhidas usando o método RFECV. . . . . 51 5.4 Resultados com as variáveis escolhidas usando o algoritmo proposto. . . . 52 5.5 Avaliação do desempenho do sistema...... 54 5.6 Comparação com abordagens de pesquisa de trabalhos relacionados. . . . 58 5.7 Exemplos de critérios para definição de uma política de tráfego...... 61 5.8 Exemplos de ações de controle de tráfego...... 61 5.9 Componentes do ambiente de validação do Smart Protection...... 65 5.10 Plano de tráfego do experimento sem proteção...... 65 5.11 Plano de tráfego do experimento com proteção...... 66 5.12 Comparação com abordagens de proteção...... 71

6.1 Produção científica...... 75

v

Lista de Símbolos e Abreviaturas

ACL Access Control List

AM Aprendizagem de Máquina

API Application Programming Interface

ARP Address Resolution Protocol

AS Autonomous System bps bits per second

CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart

CART Classification And Regression Tree

CDN Content Delivery Network

CSIRT Computer Security Incident Response Team

CUMSUM Cumulative Sum

DDoS Distributed Denial of Service

DNS Domain Name System

DoS Denial of Service

DRDoS Distributed Reflective Denial of Service

HOIC High Orbit Ion Cannon

HTTP Hypertext Transfer Protocol

ICMP Internet Control Message Protocol

IoT Internet of Things

vii ISP Internet Service Provider

LOIC

MDG Média de Diminuição de Gini

MDI Mean Decrease Impurity importance

ML Machine Learning

PCAP An application programming interface for capturing network traffic pps packets per second

QoS Quality of Service

RFECV Recursive Feature Elimination and Cross-Validated

SDN Software-Defined Networking

TCP Transmission Control Protocol

UDP User Datagram Protocol

VLAN Virtual Local Area Network

VoIP Voice over Internet Protocol Capítulo 1

Introdução

Ao longo dos 50 anos de existência da Internet, seus usuários descobriram diversas maneiras criativas de utilizar esse ambiente dinâmico e sem fronteiras geográficas. Nesse período, as principais nações investiram no fortalecimento e modernização do acesso à rede mundial de computadores visando ampliar sua utilização por meio do fomento ao desenvolvimento científico-tecnológico e incentivo à economia digital. Como resultado, a Internet possou a fazer parte da vida de mais de 4 bilhões de pessoas, quantitativo superior a 50% da população mundial, dos quais 149,1 milhões desses indivíduos são brasileiros, de acordo com estudo realizado por Kemp (2019). A estimativa de alcançar 8,4 bilhões de dispositivos móveis conectados à Internet em 2022 apontada por Cisco & Jose (2019) foi superada no início de 2019, quando a marca de 8,8 bilhões de dispositivos registrados na rede foi atingida, conforme relatado em Kemp (2019). A tendência futura ainda indica forte crescimento nesse segmento, impulsionado principalmente pela popularização da tecnologia 5G e pelos dispositivos de Internet das coisas (IoT), como cita Cisco & Jose (2019). Tais dispositivos possuem potencial para habilitar novos serviços baseados na Internet em diversos setores, tais como indústria automobilística, segurança eletrônica, educação, saúde e agricultura. A comodidade provida pela Internet, que permite aos seus usuários desfrutarem de uma gama de produtos e serviços ao alcance de um clique, aliada à praticidade inerente à computação onipresente, estão concretizando a Internet como um serviço essencial à vida das pessoas. Essa dependência, contudo, exige que a rede seja cada vez mais segura. Entretanto, garantir a operação permanente dessa complexa e descentralizada infraestru- tura tecnológica que permite o funcionamento da rede mundial de computadores constitui um grande desafio, especialmente porque seu modelo arquitetural não incluiu requisitos sólidos de segurança. Essa é uma das razões que permitiram o surgimento de diversas ameaças digitais como os ataques de negação de serviços (DoS). Em termos de estabili- dade e disponibilidade da rede, os ataques DoS são considerados a pior dessas ameaças, 2 CAPÍTULO 1. INTRODUÇÃO notadamente pela sua facilidade de execução e taxa de êxito. Embora o DoS seja um problema amplamente estudado, ainda não existe uma solução definitiva ou mesmo um consenso de como resolver esse problema. Os ataques DoS, e sua variante distribuída (DDoS), representam um dos maiores ris- cos à disponibilidade dos serviços da Internet. Muitos desses ataques conseguiram in- terromper serviços essenciais afetando milhões de usuários em todo o mundo, apontam Marzano et al. (2018) e Kottler (2018), provocando graves prejuízos para as organizações que dependem desses serviços. Em termos financeiros, empresas do setor reportaram à Netscout (2019) um custo médio de US$ 221.836,80 em 2018 pelo tempo de inatividade associado às interrupções causadas por ataques DDoS. As investidas volumétricas de DDoS são consideradas as mais perigosas da Internet de acordo com Cao et al. (2018). Essa ameaça é responsável por 42% de todos os inci- dentes de segurança dessa natureza conforme aponta o relatório da Netscout (2019). Em um evento desse tipo, vários atacantes coordenam o envio de um grande volume de trá- fego indesejado com o objetivo de sobrecarregar os recursos computacionais da vítima ou a infraestrutura de rede subjacente. As altas taxas de sucesso dos ataques volumétri- cos ocorrem por causa da estrutura central da Internet que, geralmente, não é capaz de diferenciar o tráfego legítimo daquele malicioso, o que impõe taxas de perdas iguais para ambos. Entretanto, o tráfego legítimo tende a recuar para evitar mais congestionamentos, ao passo que o tráfego de ataque prossegue até que os canais de comunicação sejam ex- cedidos. Como consequência, o tráfego legítimo também é obstruído, observa Cao et al. (2018). Além disso, os atacantes estão usando técnicas cada vez mais avançadas para potencializar a inundação de suas vítimas, como a contratação de serviço para ataques de DDoS, relatadas por Roman et al. (2013), DDoS baseados em redes IoT, como estudados por Singh et al. (2017) e DDoS por reflexão citados em Vlajic & Zhou (2018). Essas estratégias se aproveitam da capacidade computacional ociosa, da distribuição geográfica e de uma ampla variedade de dispositivos conectados à rede. Embora os ataques volumétricos ocorram com maior frequência e causem maior im- pacto, essa ameaça tem apresentado redução gradual nos últimos anos, enquanto que a negação de serviços por exaustão de estado (31%) e DDoS de camada de aplicação (27%) têm chamado a atenção de especialistas na área pelos seus respectivos crescimen- tos, aponta o estudo da Netscout (2019). Os ataques por exaustão de estado têm como alvo serviços estruturais como DNS e dispositivos como firewalls de última geração, enquanto o DDoS de camada de aplicação visa explorar vulnerabilidades em sistemas e protocolos como o HTTP. Esses dois tipos de ataques são mais furtivos porque usam poucos invaso- res e os eventos são rápidos, às vezes durando apenas alguns minutos. Por esses motivos, 3 as equipes de segurança não sabem que seus sistemas estão sendo atacados, uma vez que as ferramentas comuns não detectam esse tipo de ameaça, destaca Newman (2019). A detecção e mitigação de DDoS têm sido estudadas tanto pela comunidade acadê- mica como pela indústria especializada há vários anos, como apontam Kumar et al. (2007) e Zargar et al. (2013). No entanto, as soluções apresentadas até o momento revelaram-se ineficazes. Embora as propostas da academia ofereçam propriedades comprovadamente seguras, geralmente exigem uma implantação extensa e inexequível na Internet, razão pela qual observa-se pouco progresso na adoção desses sistemas no mundo real. Por ou- tro lado, Cao et al. (2018) afirmam que as soluções industriais de prevenção de DDoS, como as redes de entrega de conteúdo (CDN), são críticas para manter os negócios on- line, mas são ineficazes contra ataques DDoS sofisticados apoiados por vários dispositivos IoT não seguros. Além disso, provedores que oferecem proteção contra DDoS por meio de grandes estruturas, como Akamai, Cloudflare e Netscout, possuem problemas relacio- nados à privacidade dos dados, uma vez que requerem encaminhamento ou intermediação de tráfego, alerta Cao et al. (2018). Desse modo, a busca por novas soluções de proteção contra ataques DDoS, sintonizadas com os anseios acadêmicos e industriais, ainda é um terreno fértil para o desenvolvimento de pesquisas aplicadas, cujos resultados impactam diretamente a vida da população mundial. Nesse contexto, percebendo esses problemas, esta tese de doutorado propõe o Sis- tema Smart Defender, um novo mecanismo integrado de defesa contra ataques DDoS. A arquitetura do sistema foi projetada para detectar precocemente ataques de alto e baixo volume, e mitigá-los o mais próximo possível da origem. O sistema de detecção proposto, o Smart Detection, atua como um sensor, classificando o tráfego on-line usando uma es- tratégia baseada em Aprendizagem de Máquina (AM), podendo ser instalado em qualquer ponto da rede. As decisões de classificação são tomadas a partir de amostras aleatórias de tráfego, coletadas nos dispositivos de rede por meio de protocolos de monitoramento de fluxo. A abordagem proposta é compatível com a infraestrutura atual da Internet e não requer atualizações de software ou hardware. Além disso, a privacidade dos dados dos usuários é garantida em todas as etapas da operação do sistema, uma vez que apenas o cabeçalho dos pacotes são analisados. O sistema de proteção (Smart Protection), por sua vez, foi projetado para atuar no controle do tráfego malicioso próximo ao atacante, por meio de ações de proteção aplicadas com base nas políticas locais de segurança dos provedores de serviços (ISP) de origem dos ataques. Essas medidas de controle são aci- onadas quando o Smart Protection recebe notificações de ataque enviadas pelos sensores de detecção instalados nos diversos ISPs. Além do foco principal de detecção e mitigação de DDoS, o projeto proposto também 4 CAPÍTULO 1. INTRODUÇÃO observou requisitos não funcionais inerentes ao ambiente da Internet, tais como a limi- tação de recursos computacionais, compatibilidade de hardware e software, bem como a privacidade dos dados transmitidos. Nesse sentido, destacam-se a utilização de técni- cas de amostragem de tráfego por meio do protocolo sFlow, Phaal & Lavine (2004), o qual é um padrão na indústria, a utilização exclusiva de informações de cabeçalho dos pacotes, bem como a prevalência da política de segurança local dos provedores na fase de mitigação.

1.1 Contribuições

Em resumo, as contribuições significativas do Smart Defender são as seguintes:

• A modelagem, desenvolvimento e validação do sistema Smart Detection usando um dataset personalizado e outros três datasets bem conhecidos na literatura (CIC- DoS, CICIDS2017 e CSE-CIC-IDS2018). O sistema Smart Detection recebe, em tempo real (on-line), amostras aleatórias do tráfego de rede e classifica o tráfego como sendo legítimo ou um ataque de negação de serviços; • O sistema de detecção proposto difere de outras abordagens pela identificação pre- coce de uma variedade de ataques volumétricos, como TCP flood, UDP flood, e HTTP flood; além de ataques furtivos, como HTTP slow headers, HTTP slow body, and HTTP slow read, mesmo com uma baixa taxa de amostragem de tráfego. Além disso, o Smart Detection é compatível com a infraestrutura atual da Internet e não requer nenhuma atualização de software ou hardware nos ISPs. Ao mesmo tempo, o sistema proposto utiliza tecnologias avançadas, como aprendizagem de máquina e funções de redes virtualizadas; • Ao contrário dos provedores de serviços de segurança existentes, o Smart Defender garante a privacidade dos dados em todas as etapas de execução. Primeiro porque não requer redirecionamento de tráfego ou intermediação de conexão. Além disso, o sistema proposto analisa apenas as informações de cabeçalho da camada de rede dos pacotes; • O reconhecimento de padrões de tráfego foi abordado como um problema de apren- dizagem de máquina supervisionado. Foi produzido um novo dataset contendo as- sinaturas de tráfego legítimo, bem como de vários tipos de ataques de negação de serviços; • Uma abordagem para seleção automática de variáveis foi desenvolvida. Esse al- goritmo faz uma busca exaustiva em N modelos gerados a partir dos dados para 1.2. ORGANIZAÇÃO DO DOCUMENTO 5

identificar as melhores variáveis com base na técnica de validação cruzada, bem como nos critérios de mínimos acurácia desejados. Essa estratégia foi usada para escolher as variáveis utilizadas no modelo de classificação adotado pelo Smart De- tection; • A modelagem, desenvolvimento e validação do sistema Smart Protection para am- bientes SDN. Essa nova ferramenta interage com o sistema de detecção e completa a solução Smart Defender. Por meio dessa integração, a solução proposta é capaz de realizar a mitigação de ataques DDoS próximo à origem do ataque;

1.2 Organização do Documento

O restante deste documento está organizado como segue. No Capítulo 2, é apresen- tado um levantamento do estado da arte sobre estratégias para combater ataques DDoS, destacando-se propostas recentes tanto no contexto de redes convencionais como em redes programáveis (SDN). O Capítulo 3 traz a fundamentação teórica e principais definições sobre os ataques de negação de serviços e suas principais classificações na literatura. O Capítulo 4 aborda técnicas de classificação de dados utilizando algoritmos de apren- dizagem de máquina, com foco na classificação de tráfego de rede. O Capítulo 5 apresenta o sistema Smart Defender como uma abordagem viável para a detecção e mitigação de ataques DDoS na Internet. São apresentados, ainda nesse Ca- pítulo, vários experimentos para a avaliação de desempenho do sistema Smart Defender. Esses experimentos foram realizados a partir de bancos de dados referenciados na litera- tura e de um banco autoral. Os bancos de dados são baseados em tráfegos reais capturados em redes conectadas à Internet sob a ação dos principais tipos de ataques DoS da atuali- dade. Por fim, no Capítulo 6, são apresentadas as considerações finais sobre o sistema pro- posto e discussões sobre novas oportunidades de pesquisa sobre o tema, como desdobra- mentos desta tese. 6 CAPÍTULO 1. INTRODUÇÃO Capítulo 2

Estado da Arte

Neste Capítulo são apresentados e discutidos trabalhos no estado da arte sobre a de- tecção e a mitigação de ataques de negação de serviços em redes conectadas a Internet. Mais especificamente, são analisadas técnicas de detecção, abordagens de processamento dos dados, estratégias de implantação e tempo de reação aos ataques. Ao final, os traba- lhos mais recentes são colocados em perspectiva com esta tese de modo a evidenciar as contribuições mais relevantes.

2.1 Negação de Serviços em Sistemas Computacionais

Os primeiros registros sobre o monitoramento de ameaças em sistemas computacio- nais foram publicados por Anderson (1980) em relatório sobre monitoramento e vigilân- cia de ameaças em segurança de computadores. Nesse estudo foram estabelecidos requi- sitos e definições para o desenvolvimento de ferramentas capazes de identificar anorma- lidades nesse tipo de sistema. Posteriormente, Denning (1987) expandiu tais definições e propôs o primeiro modelo conhecido de Sistema de Detecção de Intrusão - SDI. O Fra- mework proposto por Denning (1987) é independente de sistema, ambiente de aplicação, vulnerabilidade ou tipo de informação, fornecendo uma estrutura para um sistema especi- alista em detecção de invasões de propósito geral. Embora esse modelo ainda inspire, em maior ou menor grau, os SDIs modernos, a rápida evolução tecnológica tem modificado o comportamento das ameaças e também dos sistemas, exigindo um contínuo esforço de pesquisa nesta área de segurança da informação. Na mesma década, os estudos sobre negação de serviços começaram a ser publicados como intrusões em sistemas e redes. Na época, Gligor (1984) apresentou uma definição geral sobre negação de serviços em sistemas operacionais baseado em tempo de uso dos recursos por grupos de usuários. Posteriormente, Yu & Gligor (1990) apresentaram uma especificação e método de verificação para prevenção de DoS. Mais adiante, Schuba et al. 8 CAPÍTULO 2. ESTADO DA ARTE

(1997) analisaram o ataque de negação de serviço, baseado em rede, conhecido como SYN flooding, discutiram e propuseram medidas de proteção, incluindo firewalls e outros mecanismos. Axelsson (2000) marcou os ataques de DoS como uma tendência, mas ao longo dos anos esse tipo de ameaça superou as expectativas. O crescimento das redes, novas aplicações e ampliação da largura de banda dos canais de comunicações também impulsionaram novas formas de ataques. A realidade apresentada nos anos 2000 motivou estudos específicos, levando ao desenvolvimento de soluções especialistas na detecção e mitigação DDoS em redes de computadores. Chang (2002) realçou a sofisticação dos métodos e ferramentas de ataques de DDoS, as quais se mostravam mais eficazes e tor- navam mais difíceis o rastreamento dos invasores reais. O autor alertou em seu trabalho que as tecnologias de defesa eram incapazes de resistir a ataques em larga escala. De acordo com Chang (2002), não existe uma solução única para o problema, entretanto, uma solução abrangente deve envolver prevenção e preempção (antes do ataque), detec- ção e filtragem (durante o ataque), rastreamento e identificação da fonte (durante e depois do ataque). Para o autor, as soluções analisadas em seu estudo estão claramente longe de serem adequadas para proteger os nós da Internet contra ataques DDoS, ressaltando ainda que esse problema pode nunca ser resolvido. Mirkovic & Reiher (2004) traçaram a taxonomia dos ataques de DDoS e dos me- canismos de defesa até então existentes. De acordo com os autores, como a Internet é gerenciada de maneira distribuída, nenhuma política comum pode ser aplicada entre seus participantes, o que abre várias questões de segurança relacionadas a ataques distribuí- dos de negação de serviço. Mirkovic & Reiher (2004) então propuseram oito categorias principais para os mecanismos de ataques, incluindo o tipo de vítima (uma aplicação, um dispositivo, uma rede ou toda uma infraestrutura), impacto na vítima (disruptivo ou degra- dativo) e três categorias de mecanismos de defesa: por atividade (preventivo ou reativo), por cooperação e por local de implantação. Na mesma linha, Peng et al. (2007) comple- mentaram o estudo de Mirkovic & Reiher (2004) ao revisarem novamente a literatura, além de analisarem os pontos fortes e fracos dos mecanismos de defesa contra ataques de DoS/DDoS. Para Peng et al. (2007), um passo importante para combater ataques DoS é aumentar a confiabilidade da infraestrutura de rede global. Segundo os autores, mecanis- mos mais confiáveis são necessários para autenticar a origem do tráfego da Internet, de modo que usuários mal-intencionados possam ser identificados e responsabilizados por suas atividades. Entretanto, essa é uma tarefa muito árdua em razão da estrutura da In- ternet e mecanismos de ocultação e falsificação de origem utilizada pelos atacantes, além dos aspectos relacionados à privacidade dos usuários da rede. Outro passo importante para combater os ataques DoS, segundo os autores, é a cooperação global. No entanto, esse 2.2. NEGAÇÃO DE SERVIÇOS EM REDES CONVENCIONAIS 9 também é um objetivo difícil de alcançar, pois falta incentivos econômicos para usuários investirem em segurança para proteger, principalmente, as redes de terceiros. A busca por soluções continuou nos anos seguintes, como aponta tanto o trabalho de Cambiaso et al. (2012) na taxonomia que traçou sobre ataques lentos de camada de aplicação, quanto as revisões sistemáticas sobre DDoS Flooding realizadas por Zargar et al. (2013) e Wang et al. (2015). Zargar et al. (2013) reforçou o que já havia apontado Chang (2002), ao afirmar que o maior desafio no combate aos ataques DDoS reside na detecção precoce e na mitigação dos ataques o mais próximo possível de sua origem, destacando a importância da colaboração dos sistemas. Entretanto, a implantação de uma solução abrangente que contemple essas características ainda não foi alcançada. Além disso, o desafio tornou-se ainda maior por causa da popularização da tecnologia IoT que ampliou o número de aparelhos, habilitou novos serviços e vulnerabilidades à rede, como relatado em Al-Fuqaha et al. (2015). Assim, como na maioria dos cenários da Internet, esses dispositivos também permitem que agentes mal-intencionados os utilizem como ponto de partida para atacar alvos específicos. Embora existam na literatura vários trabalhos abordando o tema de detecção e pro- teção contra ataques de negação de serviços, conforme listado nos trabalhos de Kumar et al. (2007), Zargar et al. (2013), Mallikarjunan et al. (2016) e Dong et al. (2019), a distribuição e características desses estudos ao longo do tempo indica que esse tema de pesquisa ainda está em aberto. Percebe-se que a evolução tecnológica e social afeta tanto a dinâmica dos ataques como também os sistemas de proteção, que precisam ser cons- tantemente aperfeiçoados e adequados às novas realidades. Neste sentido, esse trabalho contribui para a construção de redes mais seguras com a proposição de um sistema que combate as ameaças de negação de serviços.

2.2 Negação de Serviços em Redes Convencionais

Uma técnica baseada em HTTP (Hypertext Transfer Protocol) foi proposta em Jazi et al. (2017) para detectar ataques de inundação em servidores Web usando amostragem de dados. Os autores estabeleceram matematicamente os perfis de tráfego legítimo e de ataque de DoS baseados nas variáveis: (i) número de solicitações da camada de aplicação e, (ii) número de pacotes com tamanho de carga útil igual a zero. Após a definição de limiares, usaram o algoritmo CUMSUM para classificar o tráfego como normal ou ataque de DoS. O sistema foi avaliado usando o dataset CIC-DOS que é uma mescla de tráfego real e sintético. Os resultados mostraram uma taxa de detecção entre 80-88% usando uma taxa de amostragem de 30% do tráfego. Embora a técnica proposta tenha alcançado 10 CAPÍTULO 2. ESTADO DA ARTE resultados relevantes, as variáveis utilizadas para a caracterização do tráfego são frágeis, especialmente os pacotes com carga útil de tamanho zero, pois essa característica pode ser facilmente alterada pelos atacantes. Além disso, o método proposto registrou aumento no número de alarmes falsos quando foram utilizadas técnicas de amostragem comuns na indústria como Random packet sampling e Random n-out-of-N packet sampling. O D-FACE é um sistema de defesa colaborativo proposto por Behal et al. (2018) que usa métricas de entropia generalizada (GE) e distância de informação generalizada (GID) na detecção de diferentes tipos de ataques DDoS e Eventos Flash (FE). Nesse contexto, um FE é semelhante a um DDoS volumétrico, em que milhares de usuários legítimos tentam acessar simultaneamente um recurso computacional específico, como um sistema web. Os autores configuraram um cenário experimental híbrido composto por sistemas reais e sistemas emulados. Os resultados mostraram que o D-FACE pode detectar, on- line, ataques DDoS e FEs. A validação foi realizada usando dados reais e os datasets MIT Lincoln Laboratory LLSDDoS 1.0, CAIDA e FIFA98. Embora o trabalho apresente contribuições relevantes, os autores não deixam claro se utilizam alguma estratégia de amostragem de tráfego de rede. Além disso, alguns datasets utilizados são atualmente considerados obsoletos. Por fim, a abordagem proposta enfrenta resistência na indústria, especialmente porque a estratégia de colaboração proposta exige um alto grau de envolvi- mento dos ISPs, especialmente em termos das políticas de segurança e privacidade locais. O sistema SkyShield foi proposto por Wang et al. (2018) para detectar e mitigar ata- ques DDoS na camada de aplicação. Na fase de detecção, o SkyShield explora a divergên- cia entre duas tabelas de rascunhos (Sketch) S1 e S2 para detectar anomalias causadas por hosts atacantes. Em cada ciclo de detecção, todas as solicitações recebidas são agregadas no S1, com os endereços IP de origem como chaves de entrada. O esboço de backup S2 armazena os resultados de S1 no último ciclo de detecção normal. No final de cada ciclo de detecção, a divergência d(S1, S2) entre S1 e S2 é calculada. Se a divergência entre S1 e S2 exceder um limite δt, o sistema dispara um alarme de ataque. Nesse caso, o S2 não será mais atualizado. A fase de mitigação usa filtragens, lista de permissões, lista negra e CAPTCHA como mecanismos de proteção. O sistema foi avaliado usando conjuntos de dados personalizados. O SkyShield se concentrou na camada de aplicação, mais especificamente no protocolo HTTP, de modo que o sistema proposto é vulnerável a inundações na camada de rede e na camada de transporte. Além disso, o sistema processa todos os pacotes de rede, o que pode tornar o sistema de detecção um gargalo em ataques volumétricos. Alguns estudos foram patenteados, como o sistema automático de mitigação base- ado em mensagens BGP (Border Gateway Protocol) proposto por Dousti et al. (2018). 2.2. NEGAÇÃO DE SERVIÇOS EM REDES CONVENCIONAIS 11

Esta proposta não prevê detecção, mas estabelece um protocolo de comunicação entre os roteadores gerenciado pelo roteador controlador. Ao receber a informação de detecção de ataque, o controlador envia mensagens aos demais roteadores para iniciar a mitiga- ção. Esta proposta é relevante pela possibilidade de mitigar os ataques no núcleo da rede, embora não seja possível avaliar sua efetividade em operação, nem como ocorre na prá- tica a comunicação com o sistema de detecção. Já a patente registrada por Jalan et al. (2018) define um sistema local de mitigação de ataques de inundação do tipo TCP SYN. A estratégia adotada usa mensagens TCP RESET para mitigar esses ataques em redes de telecomunicações. Essa proposta é bastante limitada em escopo de detecção e mitigação, pois atua exclusivamente sobre um único tipo de ataque. Além disso, não há garantia que os atacantes irão processar a mensagem de RESET TCP enviada pelo alvo. Mais recentemente, Hosseini & Azizi (2019) abordaram a classificação de ataques DDoS usando um sistema de aprendizagem de máquina supervisionado. Os autores pro- puseram um framework híbrido com múltiplos classificadores e usaram o NSL-KDD (Tavallaee et al. 2009) para avaliar o método proposto. Nos estudos de Aamir & Zaidi (2019) eles optaram por uma técnica semi-supervisionada. Em ambos os casos, foram realizadas análises e avaliações off-line de conjunto de dados utilizando aprendizagem de máquina. O sistema Umbrella proposto por Liu et al. (2019), implementa uma arquitetura de defesa em várias camadas para mitigar um amplo espectro de ataques DDoS. Os autores propuseram uma abordagem baseada na detecção e proteção exclusivamente do lado da vítima. A detecção ocorre baseada em limiares de taxas de perda de pacotes e de com- partilhamento justo por usuário, estabelecidas no algoritmo do sistema. A mitigação é conduzida através de filtros de firewall e regras de QoS. O sistema Umbrella foi avali- ado usando uma plataforma de testes personalizada em termos de controle de tráfego. Os autores afirmam que o sistema é capaz de lidar com ataques em massa. No entanto, essa abordagem é amplamente usada na indústria e provou ser ineficiente contra DDoS realmente maciço. No contexto atual, os estudos sobre ataques de negação de serviços estão em evidência em vários cenários de redes como IoT (Mohamad Noor & Hassan 2019), computação em nuvem e SDN (Phan & Park 2019). A detecção precoce, prevenção e mitigação dos ataques o mais próximo possível da origem continuam sendo os principais objetivos dos pesquisadores. Entretanto, novos desafios foram adicionados, dentre eles: a sofisticação dos ataques e o grande volume de dados que precisa ser processado. Além disso, a solução proposta deve possuir uma implementação viável, considerando tanto a tecnologia atual como a futura. Para tanto, os pesquisadores investigam estratégias como detecção baseada 12 CAPÍTULO 2. ESTADO DA ARTE em aprendizagem de máquina, análise de tráfego amostrado, sistemas baseados em SDN e computação em nuvem como formas de resolver o problema de DDoS.

2.3 Negação de Serviços em Redes SDN

As redes definidas por software (SDN) surgiram como um novo paradigma de comuni- cações. Com esse paradigma, é possível gerenciar diferentes tipos de redes, sejam elas de empresas ou domésticas, através de um controle ativado por software. Nessa nova abor- dagem, o plano de controle e a programabilidade estão logicamente centralizados, o que possibilita melhorar a segurança da rede, por meio da implementação de novos mecanis- mos de detecção e mitigação de vários tipos de ameaças, além de permitir a implantação dessas estratégias de segurança como serviços no controlador SDN (Sahay et al. 2019). Neste sentido, várias pesquisas foram desenvolvidas sob esse novo paradigma visando combater ataques de negação de serviços em redes SDN. Giotis et al. (2014) introduziu um mecanismo de detecção e mitigação de anomalias baseado em entropia usando dados estatísticos coletados via OpenFlow (OF) e sFlow em um cenário SDN. Os resultados experimentais mostraram que o mecanismo de coleta sFlow é melhor do que o tráfego OF nativo, porque sobrecarrega menos o controlador SDN. O módulo de detecção proposto avalia a tabela de fluxo em intervalos de trinta se- gundos para classificar o tráfego. Se o tráfego for classificado como ataque, o módulo de mitigação é acionado via OF para bloquear o tráfego na porta do comutador. Os au- tores avaliaram o desempenho do sistema utilizando datasets próprios contendo ataques DDoS, PortScan e Worms, sob vários cenários de rede. Essa abordagem possui muitas semelhanças com o trabalho proposto nesta tese, mas difere em vários aspectos, como a técnica de detecção e a arquitetura de mitigação. Sahay et al. (2017) propuseram um sistema autônomo baseado em SDN chamado ArOMA para mitigação de DDoS. O ArOMA pretende integrar sistematicamente diferen- tes módulos de mitigação de DDoS para seus clientes. No cenário proposto, a detecção das anomalias é realizada no controlador SDN implantado na rede do cliente e a mitiga- ção no controlador SDN do lado do ISP. Quando um DDoS é detectado, o controlador do cliente notifica o controlador do ISP para efetuar a mitigação. Os autores focaram na mitigação de ataques DDoS, assumindo que o cliente possui mecanismos para detectar os ataques e compartilhar os alertas com seu ISP por meio de um canal de comunicação entre os controladores SDN. O sistema é avaliado em cenários simulados usando Mini- net e experimentos específicos. Foram utilizadas métricas de Qualidade de Experiência (QoE) para medir a eficácia do sistema de mitigação. Embora o sistema ArOMA guarde 2.3. NEGAÇÃO DE SERVIÇOS EM REDES SDN 13 semelhanças com a abordagem proposta nessa tese, os trabalhos diferem quanto à estra- tégia de colaboração e abrangência. Enquanto o ArOMA foca apenas na mitigação, o presente trabalho inclui um mecanismo de detecção. Além disso, o sistema ArOMA foca apenas na colaboração entre ISP e seus clientes, enquanto o escopo dessa tese propõe uma abrangência global e inclui tanto redes SDN como também redes convencionais. O sistema Antidose, proposto por Simpson et al. (2018), apresenta um meio de inte- ração entre um serviço periférico vulnerável e um Sistema Autônomo (SA) indiretamente relacionado, que permite ao SA implantar com segurança regras de filtragem locais sob o controle do serviço remoto. Os autores propõem uma abordagem baseada em criptografia para autenticar os pacotes. Baseado em iterações entre os agentes do sistema, busca-se discriminar pacotes bons de pacotes maliciosos, e assim implementar filtros de controle de tráfego. Essa abordagem é focada em sistemas embarcados em hardware pra ambien- tes de altíssimo volume de tráfego. O sistema foi avaliado usando o Mininet. Nenhum dataset de referência foi usado na etapa de validação. Além disso, a abordagem proposta pelos autores enfrenta forte resistência dos ISPs por dois motivos: (i) requer atualização de software e hardware e (ii) a perda de controle sobre as políticas locais de tráfego que ficam a cargo do provedor remoto. A ideia de mitigar os ataques em redes intermediárias, no caso os sistemas autônomos, coincide com a proposta desta tese, entretanto, a técnica de detecção e a estratégia de colaboração e mitigação são diferentes. Hong et al. (2018) propuseram um método utilizando SDN para mitigar ataques de DDoS Slow HTTP. Nessa proposta, o controlador SDN interage diretamente com o servi- dor alvo do ataque. A detecção do ataque é realizada pelo próprio servidor web, que deve informar ao controlador SDN os alertas de ataque. Com base nesses alertas, o controlador aplica as regras de mitigação de ataques. Nesse trabalho, os autores focam especifica- mente em ataques DDoS lentos e acoplam o sistema ao servidor web a ser protegido. Essa estratégia limita o alcance e aplicabilidade da solução, resumindo-se à proteção de hosts servidores. Phan & Park (2019) propuseram um mecanismo para lidar com ataques DDoS no am- biente de nuvem baseado em SDN. Nessa abordagem, os autores buscaram tanto proteger a infraestrutura da nuvem de ser sobrecarregada, resultante de ataques DDoS nos planos de controle e de dados, como também trazer uma melhor qualidade de serviço aos clien- tes da nuvem. Para isso, foi introduzido um modelo híbrido de aprendizagem de máquina para classificação baseado em máquina de vetor de suporte e mapas auto organizados. Além disso, os autores propuseram um esquema aprimorado de filtragem de IP, baseado em histórico, para melhorar o desempenho da detecção no reconhecimento dos endereços IP de origem dos ataques DDoS. Os métodos propostos obtiveram resultados expressivos 14 CAPÍTULO 2. ESTADO DA ARTE em termos de taxa de acerto e uso de recursos computacionais pela estrutura SDN. En- tretanto, o núcleo do sistema opera localmente e é específico para ambientes de nuvem, diferentemente do que se propõe nesta tese. Bawany & Shamsi (2019) propuseram um framework, chamado SEAL, para prote- ger aplicações usadas em cidades inteligentes de ataques DDoS. A detecção é baseada na entropia do tráfego de rede, e a mitigação combina balanceamento de carga entre contro- ladores e comutadores com controle de tráfego utilizando filtragem de tráfego. O sistema é executado localmente e não prevê colaboração. Essas estratégias locais são passíveis de falha em ataques volumétricos por esgotamento de recursos, mesmo fazendo balance- amento ou bloqueio do tráfego.

2.4 Resumo

Um resumo de trabalhos recentes focados no combate aos ataques de DDoS em redes convencionais é apresentado na Tabela 2.1. A Tabela 2.2 apresenta algumas abordagens recentes de combate ao DDoS baseadas no paradigma SDN. Em ambos os casos, foram verificadas na revisão bibliográfica, as principais diferenças, semelhanças e deficiências de cada uma das abordagens de enfrentamento ao DDoS. Detalhes da arquitetura, técnicas de detecção, atuação e processo de validação também são destacados. Nesta revisão, constata-se que, até o momento, não existe unanimidade quanto a uma solução efetiva de controle a essa ameaça digital. Entretanto, a maioria das pesquisas indicam que a solução para esse problema requer um maior engajamento entre os provedores de conteúdo e de serviços da Internet por meio de sistemas colaborativos.

Tabela 2.1: Resumo de propostas de combate ao DDoS em redes convencionais. Referência Escopo Téc. Detecção Atuação Validação Jazi et al. (2017) (L) (O) (D) Offline Behal et al. (2018) (D) (O) (D) Online Wang et al. (2018) (L) (O) (D),(M) Online Dousti et al. (2018) (D) - (M) - Jalan et al. (2018) (L) (O) (D),(M) Online Hosseini & Azizi (2019) (L) (A) (D) Offline Aamir & Zaidi (2019) (L) (A) (D) Offline Liu et al. (2019) (L) (O) (D),(M) Online Esta tese (D) (A) (D),(M) Online Escopo: (L)ocal, (D)istribuído. Atuação: (D)etecção, (M)itigação. Téc. Detecção: (A)prendizagem de máquina, (O)utra. 2.4. RESUMO 15

Tabela 2.2: Resumo de propostas de combate ao DDoS em redes SDN. Referência Escopo Téc. Detecção Atuação Validação Giotis et al. (2014) (L) (O) (D),(M) Online Sahay et al. (2017) (D) - (M) Online Simpson et al. (2018) (D) (O) (D),(M) Online Hong et al. (2018) (L) (O) (D),(M) Online Phan & Park (2019) (L) (A) (D),(M) Online Bawany & Shamsi (2019) (L) (O) (D),(M) Offline Esta tese (D) (A) (D),(M) Online Escopo: (L)ocal, (D)istribuído. Atuação: (D)detecção, (M)itigação. Téc. Detecção: (A)prendizagem de máquina, (O)utra.

Diante da revisão da literatura apresentada, observa-se que os pesquisadores têm bus- cado utilizar métricas e conjuntos de dados atualizados e que incorporem novos vetores de ataques, com o intuito de aproximar a experimentação em laboratório do ambiente de operação real das redes de computadores, em sintonia com as novas tecnologias. Além disso, é possível perceber também o interesse em propor soluções sobre vários aspectos do problema, tais como arquitetura do sistema, técnicas de processamento dos pacotes, técnicas precisas de detecção precoce e estratégias de implantação. Além disso, busca-se aliar os estudos científicos e tecnológicos à realidade operacional e financeira dos ISPs. Com relação à proteção contra os ataques DDoS, enumera-se os principais problemas constatados na literatura:

1. A detecção precoce e precisa dos ataques de negação de serviços em sintonia com os padrões industriais. Diversas métodos de detecção estão presentes na literatura para várias tipos de ataques e paradigmas específicos de redes. Entretanto, o desafio de desenvolver soluções capazes de realizar a detecção precoce e mitigação rápida dos ataques DDoS, tanto de alto como de baixo volume, em sintonia com os ambientes operacionais dos ISPs, ainda está em aberto;

2. O tratamento de grande volume de dados. Muitas das propostas presentes na lite- ratura sofrem com restrições de recursos computacionais para tratar o grande vo- lume de dados decorrentes dos ataques DDoS. Em provedores comerciais, como CloudFire e Akamai, este problema é tratado com incremento sistemático de infra- estrutura tecnológica e gera elevados custos financeiros. A utilização de técnicas de amostragem de tráfego na fase de detecção dos ataques, sem comprometimento significativo nas taxas de detecção e alarmes falsos, representa uma contribuição relevante para a solução desse problema; 16 CAPÍTULO 2. ESTADO DA ARTE

3. Violação da privacidade dos dados durante o tratamento do tráfego. As aborda- gens que adotam inspeção profunda dos pacotes, redirecionamento de tráfego ou intermediações de conexões enfrentam problemas relacionados à privacidade com determinados tipos de clientes, como governos, por exemplo. Neste sentido, so- luções que processem aleatoriamente apenas uma parte do tráfego, sem analisar o conteúdo dos pacotes, nem intermediar conexões, contempla bem esse tipo de problema;

4. A mitigação dos ataques DDoS o mais próximo possível de sua origem. Algumas abordagens da literatura defendem que a mitigação seja realizada na rede da vítima do ataque. Entretanto, essas soluções, até o momento, mostram-se ineficazes. En- tretanto, a detecção do ataque no lado da vítima tem se mostrado bastante eficiente na maioria dos estudos. Desse modo, o desenvolvimento de um sistema híbrido que combine a detecção dos ataques do lado da vítima com a mitigação tanto local como distribuída aumenta significativamente a eficácia do controle de tráfego malicioso dos ataques DDoS;

5. A inter-operação entre redes convencionais e redes SDN ainda é pouco explorada nos estudos existentes. As abordagens presentes na literatura exploram o problema em cenários específicos. Entretanto, o processo de migração tecnológica na infra- estrutura dos ISPs ocorre de forma gradativa. Assim, abordagens de combate ao DDoS que permitam uma operação simultânea nos dois paradigmas são relevantes tanto para tratar o problema do DDoS como para a migração de plataforma tecno- lógica.

Nesse contexto, o sistema proposto neste trabalho mostrou-se capaz de detectar preco- cemente ataques de alto e baixo volume. Além disso, a utilização de mecanismos padrão da Internet para amostrar o tráfego de rede reduz a sobrecarga computacional no me- canismo de detecção e garante a privacidade dos dados. Por outro lado, o mecanismo distribuído do Smart Defender permite isolar rapidamente as ameaças próximo à origem, reduzindo o impacto dos ataques em todo o caminho, mantendo a compatibilidade com as redes atuais. Capítulo 3

Ataques de Negação de Serviços

A Internet foi originalmente projetada para atender aos requisitos básicos de transfe- rência de dados entre sistemas com um foco muito pequeno nas preocupações relaciona- das à segurança. Por essa razão, a rede mundial de computadores permanece vulnerável a uma variedade de ataques, diretos ou indiretos, ameaçando os provedores de serviços e seus usuários. Uma dessas ameaças é o ataque de negação de serviço (DoS), e sua vari- ante distribuída (DDoS). Neste Capítulo, são apresentados os principais conceitos sobre ataques de DDoS em serviços de redes de computadores, as abordagens mais comuns de ataques, tanto de alto como de baixo volume, e também são discutidos os desafios cien- tíficos para detectar e mitigar esse tipo de ameaça digital no cenário atual. Além disso, são listados os datasets utilizados neste trabalho, assinalando como cada um deles foi aproveitado.

3.1 Ataques Distribuídos de Negação de Serviços

Ataques distribuídos de negação de serviços (DDoS) são tentativas planejadas para impedir que usuários legítimos acessem recursos de rede específicos, tais como servidores de aplicação e bancos de dados. Os primeiros registros desses eventos remontam os anos de 1980, especialmente após a divulgação pelo Computer Incident Advisory Capability (CIAC) do primeiro ataque DoS distribuído registrado, como cita Criscuolo (2000). Deste então, de acordo com Zargar et al. (2013), a maioria dos ataques DoS na Internet são de natureza distribuída. Para Kumar et al. (2007), os motivos por trás desses tipos de ataques geralmente estão ligados a competições de negócios, ganhos financeiros e hactivismo. O ataque DoS distribuído (DDoS) começa com um invasor inicialmente formando uma rede de sistemas comprometidos, conhecida como . Essa rede é controlada pelo atacante, o qual se mantém sob várias camadas de bots, conhecidas como trampo- lins, com a intenção de ocultar sua identificação. O invasor inicia o processo de ataque 18 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS disseminando comandos para esses sistemas comprometidos. Após receber os coman- dos, esses sistemas iniciam o fluxo de ataque real em direção à vítima, na tentativa de sobrecarregar sua largura de banda ou outros recursos. Durante um ataque, os serviços das vítimas ficam indisponíveis até que o ataque seja encerrado ou efetivamente mitigado. Esses ataques podem durar alguns segundos ou até dias, levando a enormes perdas finan- ceiras para os provedores de serviços, como aponta Singh et al. (2017). A Figura 3.1 ilustra a arquitetura comumente utilizada em ataques DDoS.

Tráfego de controle Tráfego de ataque

3 2 1

Atacante Vítima Controladores

Botnet

Figura 3.1: Arquitetura de ataque distribuído de negação de serviço (DDoS) na Internet.

De acordo com Cao et al. (2018), os ataques de DDoS volumétrico são considerados uma das ameaças mais perigosas presentes na Internet. Nesse tipo de ataque, vários ata- cantes coordenam o envio de uma alta taxa de dados inúteis na tentativa de sobrecarregar os recursos de computação da vítima ou os links de rede próximos a ela. Por um lado, as altas taxas de sucesso desse tipo de ataque ocorrem porque os principais roteadores 3.2. ATAQUES DE CAMADA DE REDE/TRANSPORTE 19 da Internet geralmente usam as disciplinas de enfileiramento de pacotes do tipo FIFO1 e DROP-TAIL2, que não diferenciam os tipos de tráfego, impondo taxas de perda iguais para ataques e tráfego legítimo. Embora o tráfego legítimo tenda a recuar para evitar mais congestionamentos, o tráfego de ataque não tem esse compromisso e faz com que a largura de banda disponível no enlace seja excedida. Como consequência, o tráfego legítimo também é obstruído aponta Cao et al. (2018). Por outro lado, os atacantes es- tão usando técnicas mais avançadas para potencializar ataques e inundar a vítima, como ataques DDoS por aluguel, DDoS baseados em IoT e ataques DDoS de reflexão. Os ata- ques aproveitando da capacidade computacional e distribuição geográfica promovida pela grande variedade de dispositivos e seus diversos padrões de mobilidade, geralmente base- ados em cenários de redes IoT e IoT móvel, como citam Roman et al. (2013), Singh et al. (2017) e Vlajic & Zhou (2018). Além do DDoS volumétrico, ataques de baixo volume são objeto de estudo dos es- pecialistas em segurança. É um ataque mais furtivo que usa poucos hosts invasores; os eventos são rápidos, às vezes durando apenas alguns minutos e geralmente menos de uma hora. Por esses motivos, as equipes de segurança não sabem que seus sites estão sendo atacados porque ferramentas comuns não detectam esse tipo de ameaça, como aponta Newman (2019). Normalmente, o DDoS de baixo volume explora os protocolos da ca- mada de aplicação, respeita outros protocolos, não sobrecarrega os links, mas causa o esgotamento dos recursos computacionais da vítima. A categorização dos tipos de ataques de DDoS na literatura não é uniforme. Entre- tanto, a macro-divisão em ataques de camadas de rede/transporte e ataques de camada de aplicação é pacificada, como apresentam Zargar et al. (2013), Hoque et al. (2015) e Singh et al. (2017). Nesse sentido, nas Seções 3.2 e 3.3 são detalhados os principais ata- ques conhecidos e as características de cada uma dessas macro-categorias. Além disso, são apresentados aspectos relevantes quanto aos mecanismos utilizados para detecção e mitigação dessas ameaças.

3.2 Ataques de Camada de Rede/Transporte

O principal objetivo desse tipo de ataque é sobrecarregar a infra-estrutura de rede en- viando um grande volume de tráfego malicioso e inútil. Esses ataques podem ser gerados explorando os pontos fracos dos protocolos, como indica Zargar et al. (2013) e Hoque et al. (2015). Os ataques de inundação das camadas de rede/transporte utilizam, prin-

1FIFO: First-in-First-Out, significa que o primeiro pacote que chegar na fila será o primeiro a sair. 2DROP-TAIL: Significa que os últimos pacotes da fila serão descartados em caso de falta de recurso. 20 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS cipalmente, pacotes dos protocolos TCP, UDP, ICMP e DNS para inundar suas vítimas. Para os autores, existem quatro sub-tipos desses ataques:

1. Ataques de inundação: Os invasores se concentram em interromper a conectivi- dade do usuário legítimo esgotando a largura de banda da rede da vítima, utilizando, por exemplo, inundação UDP, inundação ICMP, inundação DNS, inundação VoIP e etc.;

2. Ataques de inundação de exploração de protocolo: Os invasores exploram re- cursos específicos ou erros de implementação de alguns dos protocolos da vítima para consumir quantidades excessivas de recursos do alvo, por exemplo, inundação TCP SYN, inundação TCP SYN-ACK, inundação ACK e PUSH-ACK, inundação RST/FIN e etc.;

3. Ataques de inundação baseados em reflexão: Os invasores geralmente enviam solicitações com endereços IP de origem forjadas em vez de solicitações diretas aos refletores. Assim, esses refletores enviam suas respostas à vítima e esgotam seus recursos computacionais. Os nós intermediários que são usados como lançadores dos ataques de amplificação são chamados refletores. Um refletor é qualquer host que retornará um pacote se lhe for enviado um pacote. Portanto, servidores web, servidores DNS e roteadores são refletores, pois retornam SYN ACKs ou RSTs em resposta a SYN ou outros pacotes TCP. Um invasor envia pacotes que exigem respostas aos refletores. Os pacotes são falsificados com endereços de origem de- finidos como endereço de uma vítima. Os refletores retornam pacotes de resposta para a vítima de acordo com os tipos dos pacotes de ataque. Os pacotes de ataque são essencialmente refletidos nos pacotes normais para a vítima. Os pacotes refleti- dos podem inundar o link da vítima se o número de refletores for grande o suficiente (Douligeris & Mitrokotsa 2004).

4. Ataques de inundação baseados em amplificação: Os invasores exploram servi- ços para gerar mensagens grandes ou múltiplas para cada mensagem que recebem, para ampliar o tráfego em direção à vítima. As redes de bots têm sido usadas constantemente para fins de reflexão e amplificação. As técnicas de reflexão e am- plificação são geralmente empregadas em conjunto, em que os atacantes enviam solicitações com endereços IP de origem falsificados para um grande número de hosts refletores, como servidores de DNS por exemplo, que respondem em massa para o alvo do ataque. 3.2. ATAQUES DE CAMADA DE REDE/TRANSPORTE 21

Um ataque DDoS de camada de rede ou transporte pode ser iniciado usando taxas de transmissão de tráfego constante, crescente ou variável. Em um ataque de taxa constante, geralmente um invasor envia o tráfego inútil para a vítima contendo pequenas variações. No segundo caso, o atacante utiliza uma taxa crescente de dados maliciosos que aumenta gradualmente ou drasticamente, e continua até que a largura de banda do canal seja sa- turada. A terceira estratégia utiliza uma taxa variável, ou pulsante, de tráfego de rede que, geralmente, consiste em várias rajadas de dados por períodos de tempo que se repe- tem em intervalos regulares ou irregulares. Nesse caso, as amplitudes dos pulsos podem ser constantes ou aleatórias. O quarto tipo consiste em uma combinação de ataque de taxa pulsante e constante. A Figura 3.2 ilustra todas essas dinâmicas de ataque (Hoque et al. 2015). Intensidade Intensidade

t0 Tempo t0 t1 Tempo (a) (b) Intensidade Intensidade

t0 t1 t2 Tempo t0 t1 t2 Tempo (c) (d)

Figura 3.2: Dinâmica da taxa de ataque DDoS. Em (a) ataque de taxa constante, (b) ataque de taxa crescente, (c) ataque de taxa constante com pequenas variações e (d) ataque de taxa pulsante.

O aumento abrupto na taxa de tráfego da rede com múltiplas origens globalmente distribuídas nem sempre representa um ataque DDoS. Esse aumento repentino da taxa de 22 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS utilização pode representar picos de acesso legítimos à serviços específicos, como a venda promocional de ingressos para jogos da copa do mundo de futebol, por exemplo. Nesse cenário, os sistemas de detecção de DDoS podem confundir essa mudança de compor- tamento do tráfego legítimo com um ataque de negação de serviço, como aponta Behal & Kumar (2017) e Behal et al. (2018) em seus estudos sobre detecção de DDoS e Flash Events.3 Em um ataque DDoS da camada de rede ou transporte, dependendo do volume de tráfego de ataque usado, a gravidade do dano na máquina ou rede vítima pode variar. O impacto devido a um ataque DDoS pode ser prejudicial ou degradar o desempenho (Hoque et al. 2015).

3.3 Ataques de Camada de Aplicação

Os ataques DDoS da camada de aplicação geralmente visam o protocolo HTTP, com o objetivo de esgotar recursos limitados disponíveis para serviços da Web. Em comparação com os ataques da camada de rede/transporte, esses ataques consomem menor largura de banda. O invasor geralmente os personaliza para direcionar um aplicativo Web especí- fico, enviando solicitações para comprometer profundamente os recursos dentro da rede afetada. Para realizar seus projetos maliciosos, esses invasores exigem apenas conexões de rede limitadas. Normalmente, esses ataques não são de fácil identificação porque se parecem com um tráfego legítimo, inclusive quanto ao volume de tráfego. As três prin- cipais razões que dificultam a detecção desse tipo de ataque DDoS são: (i) obscuridade, dado que são utilizadas conexões TCP e UDP legítimas durante o ataque, o que dificulta a distinção entre tráfego legítimo e malicioso; (ii) furtivo, uma vez que menos conexões são utilizadas para realizar um ataque bem sucedido e (iii) eficiência, pois pode sobrecarregar recursos de serviços rapidamente, resultando em negação de serviços, independentemente dos recursos de hardware do host (Hoque et al. 2015). Os ataques de inundação das camadas inferiores, como rede/transporte, não exigem que os atacantes tenham habilidades especiais para concretizar os ataques. Entretanto, os ataques de camada de aplicação por serem mais específicos, requerem que o invasor seja altamente especializado para identificar e direcionar os ataques a pontos vulneráveis. Os ataques DDoS de inundação HTTP-GET, por exemplo, diferem dos ataques de inundação de camadas inferiores nos seguintes aspectos (Singh et al. 2017):

• Conexão TCP válida. Os próprios bots concluem um handshake TCP de três vias

3Flash events: rajadas rápidas de tráfego legítimo na rede. 3.3. ATAQUES DE CAMADA DE APLICAÇÃO 23

com êxito antes de realmente iniciar um ataque de inundação HTTP-GET. Os bots trocam continuamente dados sobre essas conexões com o servidor; • Endereço IP legítimo. Como os invasores usam endereços IP legítimos, os esque- mas de detecção de anomalias baseados na identificação de endereços IP falsifica- dos não são totalmente bem-sucedidos. Até a lista negra de endereços IP prova ser uma solução improdutiva; • Imita humanos. Os bots tendem a imitar os comportamentos de acesso dos usuá- rios legítimos, dificultado a detecção e mitigação; • Evita a detecção da camada inferior. As camadas inferiores da pilha de rede não observam nenhuma anomalia significativa quando estão sob um ataque no nível de aplicação. Como resultado, muitos mecanismos de detecção com foco em camadas inferiores não conseguem extrair informações suficientes para identificar a presença de ataques na camada de aplicação.

Para Singh et al. (2017), o modelo arquitetural dos servidores HTTP os tornam vul- neráveis aos ataques de inundação do tipo GET. Uma arquitetura típica de servidor da Web considera que um cliente inicia um processo de conexão enviando uma solicitação ao servidor. A fila de soquetes (ou sockets) mantém todas as solicitações de conexão até que os segmentos dedicados sejam alocados para lidar com essas solicitações. O cliente então envia as solicitações de serviço (solicitações GET) ao servidor somente após o esta- belecimento de uma conexão TCP. Todas essas solicitações de serviço são acumuladas na fila de solicitações onde o agendador posteriormente processa e responde a solicitações individuais. Assim como qualquer outro usuário legítimo, um bot também inicialmente estabelece uma conexão autêntica para se comunicar com o servidor. Em seguida, ele en- via um grande número de solicitações HTTP GET ao servidor e aguarda respostas como um usuário legítimo. Assim como nos ataques DDoS da camada de rede/transporte, o tráfego de ataque de inundação HTTP GET também pode ser de vários tipos, dependendo dos padrões de tráfego gerados ao longo do tempo. Em geral, são utilizados quatro tipos distintos: (i) aumento da taxa, onde a taxa de ataque aumenta gradualmente com o tempo, (ii) inunda- ções pseudo-aleatórias, em que o atacante tenta inundar a(s) vítima(s) variando aleatori- amente a intensidade do tráfego, (iii) em vez de inundar com taxas crescentes ou alterar aleatoriamente o tráfego de solicitações de inundação, atacantes lançam ataques enviando periodicamente explosões de solicitações HTTP GET, (iv) inundações explosivas, que são lançadas por inundações com alto volume de solicitações de ataque por um longo período de tempo (Hoque et al. 2015). 24 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS

Os efeitos dos ataques de DDoS de camada de aplicação são perturbadores, como afirma Hoque et al. (2015), pois além do impacto degradativo e disruptivo, esses ataques são sofisticados e difíceis de detectar, como aponta Singh et al. (2017).

3.4 Datasets de referência

Muitos conjuntos de dados (datasets) diferentes, como DARPA (Lincoln Laboratory 1998-99), KDD’99 (Universidade da Califórnia, Irvine 1998-99) e LBNL (Lawrence Ber- keley National Laboratory e ICSI 2004-2005), já foram usados por pesquisadores para avaliar o desempenho de suas técnicas de detecção e prevenção de intrusões. No entanto, muitos desses conjuntos de dados estão desatualizados ou são pouco confiáveis, de acordo com Sharafaldin et al. (2018). Neste estudo, fora utilizados os datasets ISCXIDS2012, CIC-DoS, CICIDS2017, CSE-CIC-IDS2018, bem como um dataset autoral desenvolvido durante esta pesquisa, pois incluem ameaças modernas e técnicas avançadas de ataques de DDoS, como as discutidas na seção anterior. Esses datasets são caracterizados a seguir.

3.4.1 Dataset ISCXIDS2012

O conjunto de dados ISCXIDS20124 foi produzido pelo Information Security Center of Excellence, ISCX, da Universidade de New Brunswick para fornecer uma referência contemporânea para as pesquisas em segurança de redes. O dataset rastreou pacotes reais por sete dias de atividade de rede, incluindo tráfego dos protocolos HTTP, SMTP, SSH, IMAP, POP3 e FTP, cobrindo vários cenários de atividades normais e maliciosas. O ISCXIDS2012 consiste em amostras de tráfego de rede rotulados, incluindo a área de dados dos pacotes, bem como os arquivos brutos completos no formato PCAP,5 e estão publicamente disponíveis na Internet (Shiravi et al. 2012). Nesta pesquisa de tese, o ISCXIDS2012 foi utilizado para caracterização do tráfego de rede legítimo. Os dados brutos processados para definição das assinaturas foram ex- traídos, especificamente, do arquivo da sexta-feira 11/6/2010.

3.4.2 Dataset CIC-DoS

O conjunto de dados do CIC-DoS6 se concentra nos ataques de DoS da camada de aplicação combinados com os rastreios sem ataques do conjunto de dados ISCXIDS2012.

4ISCXIDS2012 está acessível em: https://www.unb.ca/cic/datasets/ids.html 5PCAP: é uma interface de programação de aplicativos (API) para captura de tráfego de rede. 6CIC-DoS:https://www.unb.ca/cic/datasets/dos-dataset.html 3.4. DATASETS DE REFERÊNCIA 25

Quatro tipos de ataques foram realizados com ferramentas diferentes, produzindo 8 tipos de ataques de DoS distintos a partir da camada de aplicação (Jazi et al. 2017). O conjunto resultante contém 24 horas de tráfego de rede com um tamanho total de 4,6 GB e está publicamente disponível na Internet. Um resumo dos eventos e ferramentas de ataque usados no CIC-DoS é apresentado na Tabela 3.1.

Tabela 3.1: Ferramentas de ataque e eventos constantes no dataset CIC-DoS. Ferramentas de Ataque Tipo de Ataque Eventos ddossim (ddossim) Camada de rede/transporte 2 DoS improved GET (Goldeneye (Seidl 2017)) Camada de aplicação 3 DoS GET (hulk (Grafov 2016)) Camada de aplicação 4 slow body (slowbody2) Camada de aplicação 4 slow read (slowread) Camada de aplicação 2 slow headers (slowheaders) Camada de aplicação 5 Rudy (rudy) Camada de aplicação 4 slowloris (slowloris) Camada de aplicação 2

Na execução dos ataques de baixo volume, usando a ferramenta slowhttptest (Shekyan 2016), foi adotado o valor padrão de cinquenta conexões por ataque, tornando os ataques mais furtivos de acordo com (Jazi et al. 2017). Na classificação de ataques adotada nesta pesquisa, o CIC-DoS possui 26 ataques, sendo (i) 8 do tipo HTTP Flood, (ii) 13 do tipo HTTP Slow e (iii) 5 do tipo TCP Flood.

3.4.3 Dataset CICIDS2017

O conjunto de dados CICIDS20177 foi desenvolvido recentemente pelo ISCX e con- tém tráfego normal e os ataques comuns mais atualizados. Esse novo conjunto de dados inclui sete famílias comuns de ataques atualizados que atendem aos critérios do mundo real e está livremente disponível ao público em (Sharafaldin et al. 2018). Neste trabalho, a análise concentrou-se nas atividades maliciosas de DoS do arquivo de captura da quarta-feira, 5 de julho de 2017, que consiste em cinco ataques de DDoS e uma ampla variedade de tráfego de rede legítimo (normal). O conjunto resultante contém 8h de tráfego de rede com um tamanho total de 13 GB. As ferramentas de ataque usadas incluem slowloris, Slowhttptest, Hulk, GoldenEye e Heartbleed. Na classificação de ata- ques adotada nesta pesquisa, o CICIDS2017 possui 5 ataques, sendo (i) 3 do tipo HTTP Flood e (ii) 2 do tipo HTTP Slow.

7CICIDS2017: http://www.unb.ca/cic/datasets/IDS2017.html 26 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS

3.4.4 Dataset CSE-CIC-IDS2018

Esse conjunto de dados é um projeto colaborativo entre o Communications Security Establishment (CSE) e o Canadian Institute for Cybersecurity (CIC). O conjunto de da- dos final inclui sete cenários diferentes de ataque: força bruta, Heartbleed, Botnet, DoS, DDoS, ataques na Web e infiltração da rede por dentro. A infraestrutura de ataque inclui 50 máquinas e a organização da vítima possui 5 departamentos e inclui 420 máquinas e 30 servidores. Um documento de pesquisa descrevendo os detalhes da análise do con- junto de dados e princípios relacionados semelhantes foi publicado por Sharafaldin et al. (2018). Todos os dados estão publicamente disponíveis8. Este trabalho se concentra nas atividades maliciosas de DDoS de 16 de fevereiro de 2018 e de 20 de fevereiro de 2018. As ferramentas de ataque usadas incluem SlowHTTP- Test, Slowhttptest, Hulk, LOIC e HOIC. Considerando a classificação de ataques adotada nesta pesquisa, os dias analisados do CSE-CIC-IDS2018 possuem 4 ataques, sendo (i) 2 do tipo HTTP Flood, (ii) 1 HTTP Slow e (iii) 1 UDP Flood.

3.4.5 Dataset Autoral

Um conjunto de dados autoral foi desenvolvido em um ambiente de rede controlado, como mostra a Figura 3.3. As VLANs 10, 20, 30 e 40 são usadas por dispositivos vítimas. A VLAN 165 é dedicada aos usuários de uma unidade acadêmica. A VLAN 60 é usada por dispositivos atacantes, enquanto o monitoramento ocorre na VLAN 1. Todas as redes com acesso regular à Internet. O plano de ataque foi configurado para que um ataque fosse gerado a cada 30 minu- tos, perfazendo um total de 48 eventos de ataque em 24 horas, iniciando às 00h00m00s e terminando às 23h59m00s. Todos os ataques foram executados pelo mesmo host ata- cante9. Durante os ataques, o sistema atacante não transmitiu tráfego legítimo às vítimas. As ferramentas de ataque foram parametrizadas para produzir modos furtivos de baixo volume, médio volume e ataques maciços de alto volume. Dez variações de ataques ba- seados em protocolos e aplicativos foram adotadas usando quatro ferramentas de ataque, como mostrado na Tabela 3.2. A duração dos ataques baseados em protocolo e em apli- cativos de alto volume foi de 30 segundos, enquanto os ataques baseados em aplicativos de baixo volume variaram entre 30 a 240 segundos. Na classificação de ataques adotada nesta pesquisa, o dataset autoral possui 48 ataques, sendo (i) 9 do tipo HTTP Flood, (ii) 19 HTTP Slow, (iii) 12 TCP Flood e (iv) 8 UDP Flood.

8CSE-CIC-IDS2018: https://www.unb.ca/cic/datasets/ids-2018.html 9O endereço IP do host atacante foi 172.16.60.100 3.5. RESUMO 27

Internet

VLAN 10 VLAN 40 172.16.10.0/24 Vítimas 172.16.40.0/24 Vítimas

VLAN 20 172.16.20.0/24 Roteador VLAN 165 Vítimas Rede acadêmica

VLAN 30 VLAN 60 172.16.30.0/24 172.16.60.0/24 Vítimas Atacantes VLAN 1

Monitoramento

Figura 3.3: Topologia utilizada na construção do dataset autoral.

Tabela 3.2: Ferramentas de ataque e eventos constantes no dataset autoral. Ferramenta de Ataque Eventos TCP SYN Flood (hping3 (Jombart et al. 2014)) 4 TCP SYN Flood - light mode (hping3 (Jombart et al. 2014)) 4 TCP ACK Flood (hping3 (Jombart et al. 2014)) 4 UDP Flood (hping3 (Jombart et al. 2014)) 4 UDP Flood - random dst port (hping3 (Jombart et al. 2014)) 4 DoS improved GET (Goldeneye (Seidl 2017)) 5 DoS GET (hulk(Grafov 2016)) 4 slow headers (slowhttptest (Shekyan 2016)) 5 slow body (slowhttptest (Shekyan 2016)) 5 range attack (slowhttptest (Shekyan 2016)) 4 slow read(slowhttptest (Shekyan 2016)) 5

3.5 Resumo

Neste capítulo foram apresentados os principais conceitos sobre ataques de DDoS em serviços de redes de computadores, especialmente a macro categorização desses ataques baseada nas camadas do modelo OSI-ISO 10 dividido em camadas de funções, criado em 1971 e formalizado em 1983. Uma síntese sobre os ataques de DDoS é apresentada na Figura 3.4, que detalha os principais tipos, vítimas, taxas e impactos dos ataques de

10OSI: Open System Interconnection) e ISO: International Organization for Standardization 28 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS negação de serviços.

DDoS

Em camada de Rede/Transporte Em camada de aplicação

Exploração de Exploração de vulnerabilidade Taxa de ataque Tipo de vítima Impacto vulnerabilidade Taxa de ataque Tipo de vítima Impácto

Inundação de Inundação Contínua Recurso Disruptivo sessões Crescente Recurso Disruptivo

Inundação de Amplificação Variável Rede Degradativo requisições Randômica Host Degradativo

Exploração de protocolo Aplicação Explosão Aplicação

Pacotes mal- formados Furtivo

Figura 3.4: Resumo dos principais tipos, vítimas, taxas e impactos dos ataques de negação de serviços.

Também neste capítulo foram listados os datasets utilizados nesta tese. O uso de conjuntos de dados atuais e mais realísticos são importantes tanto para o estudo do com- portamento do tráfego como para a validação experimental dos métodos de detecção. A Tabela 3.3 resume os dataset utilizados nessa pesquisa, indicando como cada um deles foi aproveitado.

Tabela 3.3: Resumo dos datasets utilizados. Dataset N. Ataques Assinaturas Testes ISCXIDS2012 0   CIC-DoS 26   CICIDS2017 5   CSE-CIC-IDS2018 4   Personalizado 48  

O comportamento imprevisível dos ataques de DDoS representa um enorme desafio para os sistemas de detecção, pois nem sempre o aumento repentino do tráfego de rede é sinônimo de ataque, ou um pequeno volume de tráfego significa acesso legítimo. As estratégias de detecção que adotam o processamento integral do tráfego encontram obstáculos, como falta de recursos computacionais, enquanto que os métodos que reali- zam inspeção profunda dos pacotes enfrentam problemas adicionais, como a criptografia 3.5. RESUMO 29 da área de dados e a desconfiança dos clientes relacionada à privacidade do conteúdo dos pacotes. No próximo Capítulo, apresenta-se uma visão geral das técnicas de aprendizado de máquina voltada para a detecção de ataques DDoS em redes de computadores. 30 CAPÍTULO 3. ATAQUES DE NEGAÇÃO DE SERVIÇOS Capítulo 4

Aprendizagem de Máquina

A detecção de ataques de negação de serviços (DDoS) em redes de computadores é vista nesse trabalho como um problema de Aprendizagem de Máquina (AM). Desse modo, para uma melhor compreensão da solução proposta, este capítulo apresenta uma visão geral de alguns dos conceitos fundamentais e terminologias da área de AM, com ênfase nos algoritmos de Árvore de Decisão (Decision Tree) e Floresta Aleatória (Random Forest), uma vez que essas ferramentas fazem parte do escopo da solução proposta neste trabalho de tese.

4.1 Classificação de dados

A aprendizagem de máquina é definida por Géron (2017) como a ciência (e arte) da programação de computadores para que eles possam aprender com os dados. Nesse sentido, um sistema de classificação supervisionado de AM que utiliza esse tipo de abor- dagem é descrito na Figura 4.1. Nesse modelo, o sistema aprende continuamente com os dados que são refinados em função do conhecimento do problema. Para Mitchell (1997), pode-se dizer que um programa de computador aprende com a experiência E em relação a alguma tarefa T e alguma medida de desempenho P, se seu de- sempenho em T, medido por P, melhorar com a experiência E. Desse modo, um sistema de detecção de DDoS, por exemplo, pode ser construído para aprender com as amostras de dados da rede e classificar o tráfego como Normal ou Ataque. As amostras de trá- fego que o sistema usa para aprender são chamados de conjunto de treinamento. Cada exemplo de treinamento é chamado de instância de treinamento e possui um conjunto de atributos ou variáveis. Assim, pela definição de Mitchell (1997), a tarefa T é alertar para a classe Ataque em novos tráfegos de rede, a experiência E são os dados de treinamento e a medida de desempenho P pode ser a proporção de tráfego classificados corretamente. Formalmente, a tarefa T pode ser definida como uma função de predição h(.) ajustada 32 CAPÍTULO 4. APRENDIZAGEM DE MÁQUINA

Base de Notificar dados

Sim

Treinar o algo- Estudar o problema Avaliar a solução? ritmo de AM

Não

Analisar os erros

Figura 4.1: Abordagem de aprendizagem de máquina, adaptado de Géron (2017).

X

x(i) h(.) yˆ(i) = h(x(i))

Figura 4.2: Sistema de classificação. pela matriz X, que recebe como entrada um vetor de variáveis x(i) e produz como saída um valor preditoy ˆ(i), conforme ilustrado na Figura 4.2. A matriz X contém todos os valores das variáveis, exceto os rótulos, de todas as instâncias no conjunto de dados, uma linha por instância. A i-ésima linha é igual à transposição de x(i), ou seja, (x(i))T , de modo que

 (1) T  (x )    (2) T  x1,1 x1,2 ... x1,N (x )    x2,1 x2,2 ... x2,N  (x(3))T    X =   =  . . . , (4.1)  .   . .. .   .      xm,1 xm,2 ... xm,N (x(i))T em que m é a quantidade de instâncias no conjunto de dados e N é o total de variáveis em (i) (i) cada instância. Pode-se dizer quey ˆ ∈ M = {c1,c2,...,cM} é a classe predita por h(x) . Para o sistema de detecção de DDoS, por exemplo, uma matriz X0 arbitrária pode conter os valores de m instâncias das variáveis x1, x2 e x3, que indicam, respectivamente, as medidas estatísticas que representam o tamanho dos pacotes, os flags TCP e as portas de origem, enquanto o vetor y0 contém os rótulos (0 = Normal,1 = Ataque) para cada instância de X0 indicando o tipo de classe de tráfego para cada instância m em X0, como mostrado na equação 4.2. 4.2. CLASSIFICAÇÃO USANDO ÁRVORES DE DECISÃO 33

    0.258141 0.624248 0.007056 1     0.059637 0.658597 0.006579  0       . . .    1 000000 1 000000 0 010419  1  0   0   X = 1.000000 1.000000 0.010455y =  1  (4.2)      . . .    0 667702 0 650180 0 000000  0   . . .   .   . . .   .      x1m x2m x3m cm Os principais desafios na modelagem de sistemas de classificação baseados em AM são: selecionar um algoritmo de aprendizagem e treiná-lo com um conjunto de dados que se ajuste ao problema. O primeiro desafio torna-se irrelevante quando estão disponíveis grandes quantidades de dados, como Banko & Brill (2001) apontou em seu estudo, mas é fundamental quando os dados são escassos.

4.2 Classificação usando árvores de decisão

Existem diversos algoritmos de classificação de dados baseados em árvores de decisão na literatura, como pode ser visto em Breiman et al. (1984), Quinlan (1986) e Loh (2011). Nesta seção, será brevemente apresentado o algoritmo denominado Classification And Regression Tree (CART), uma vez que ele foi utilizado nos experimentos dessa tese. As árvores de decisão são algoritmos versáteis de aprendizagem de máquina que po- dem executar tarefas de classificação e regressão, inclusive tarefas de múltiplas saídas. Eles são algoritmos muito poderosos, capazes de ajustar conjuntos de dados complexos, Géron (2017). Os modelos são obtidos particionando recursivamente o espaço de dados e ajustando um modelo de previsão simples dentro de cada partição. Como resultado, o particionamento pode ser representado graficamente em formato de árvore, Loh (2011). Essas árvores podem ser representadas por meio de um grafo dirigido, em que cada nó, ou vértice, especifica um atributo de teste. Os arcos ou arestas representam o resultado de um teste e cada nó folha representa uma classificação ou resultado da predição. A Figura 4.3 ilustra uma árvore binária1 de decisão com três atributos, três níveis de profundidade e duas classes. A classificação de uma nova instância x(i) é realizada percorrendo-se a árvore a partir do nível zero (nó raiz) testando-se o atributo relacionado em cada nó e seguindo-se o arco que corresponde ao valor do atributo da instância em questão. Este é um processo

1O algoritmo CART produz apenas árvores binárias, ou seja, nós não-folhas sempre têm dois filhos 34 CAPÍTULO 4. APRENDIZAGEM DE MÁQUINA

ImpurityInpurity Nível 0

ImpurityInpurity ImpurityInpurity Nível 1

ImpurityInpurity ImpurityInpurity ImpurityInpurity ImpurityInpurity Nível 2

ImpurityInpurity ImpurityInpurity ImpurityInpurity ImpurityInpurity

Figura 4.3: Exemplo de árvore de decisão com 3 atributos e 3 níveis de profundidade.

recursivo que se repete até chegar a um nó folha. A folha corresponderá à classe ci predita para essa instância x(i). No exemplo em análise, o atributo samples (amostras) indica a quantidade de instân- cias de treinamento que foram aplicadas à cada nó. No Nível 0 da Figura 4.3, por exemplo, o nó à direita possui 335 instâncias de treinamento da variável ip_len_mean com valores menor ou igual a 0.254. O atributo value informa quantas instâncias de treinamento de cada classe esse nó se aplica: por exemplo, o nó inferior direito se aplica a 1 instância da classe Ataque e a 308 instâncias da classe Normal. Finalmente, o atributo Impurity de um nó mede sua impureza: um nó é "puro"(Impurity = 0) se todas as instâncias de treinamento às quais ele se aplica pertencerem à mesma classe. No algoritmo CART, por padrão, o grau de pureza de um nó é dado pelo índice de Gini, sendo calculado por (Géron 2017):

n 2 Gi = 1 − ∑ pi,k, (4.3) k=1 onde Gi é o i-ésimo nó da árvore e pi,k é a proporção de instâncias da classe k entre as instâncias de treinamento no i-ésimo nó. O treinamento no CART consiste em, inicialmente, dividir o conjunto de dados de 4.3. CLASSIFICAÇÃO USANDO COMITÊ DE ÁRVORES DE DECISÃO 35

treinamento em dois subconjuntos usando uma única variável k e um limiar tk, como sport_entropy e 0.006, respectivamente, no nó raiz da Figura 4.3. Os valores do par

(k,tk) são escolhidos de modo a produzir os subconjuntos mais puros possíveis, pondera- dos pelos seus respectivos tamanhos. Em outras palavras, o algoritmo tenta minimizar a função de custo j(k,tk) dada por:

m m J(k,t ) = e G + d G , (4.4) k m e m d em que Gd e Ge medem a impureza do subconjunto direito e esquerdo, respectivamente, e md e me representam o número de instâncias nos subconjuntos direito e esquerdo, res- pectivamente. Depois de dividir com êxito o conjunto de treinamento em dois no primeiro nó, o CART usa a mesma lógica recursivamente para os nós seguintes. Ele para de se repetir quando atinge a profundidade máxima especificada, ou se não conseguir encontrar ne- nhum limiar que reduza a impureza. O CART é um algoritmo ganancioso, ou seja, busca avidamente por uma divisão ideal no nível superior e repete o processo recursivamente em cada nível inferior. Essa estratégia não verifica se a divisão levará ou não à menor impureza possível nos níveis subsequentes. Entretanto, o CART geralmente produz uma solução razoavelmente boa, mas não é garantido que seja a solução ideal. Infelizmente, encontrar a árvore ideal é conhecido como um problema NP-Completo tornando o pro- blema intratável, mesmo para conjuntos de treinamento relativamente pequenos. Por essa razão, o CART contenta-se com uma solução sub-ótima Géron (2017).

4.3 Classificação usando comitê de árvores de decisão

A classificação baseada em comitê de árvores de decisão consiste no agrupamento de vários classificadores que, em conjunto, escolhem a classe mais popular dentre todas as classes indicadas. De acordo com Breiman (2001), esse arranjo constitui um classifica- (i) dor denominado Floresta Aleatória (Random Forest) de árvores dado por {h(x ,φk),k = 1,...} onde os {φk} são vetores aleatórios distribuídos de forma idêntica e independentes, em que cada árvore profere um voto. A classe mais votada para a uma dada entrada x(i) será a saída do classificador. Os métodos de classificação em comitê funcionam melhor quando os preditores são o mais independentes possível. Uma maneira de obter classificadores diversos é treiná- los usando algoritmos muito diferentes. Isso aumenta a chance de eles cometerem tipos muito diferentes de erros, melhorando a precisão do conjunto. Outra abordagem é usar 36 CAPÍTULO 4. APRENDIZAGEM DE MÁQUINA o mesmo algoritmo de treinamento para todos os preditores, mas treiná-los em diferentes subconjuntos aleatórios do conjunto de treinamento, como faz o Random Forest. O algoritmo Random Forest combina centenas ou milhares de árvores de decisão e treina cada uma delas utilizando um conjunto ligeiramente diferente de observações. Além disso, a divisão dos nós em cada árvore considera apenas um número limitado de atributos, o que garante maior aleatoriedade ao algoritmo. A Amostragem dos subcon- juntos de treinamento podem ser realizadas com ou sem substituição. A amostragem com substituição permite que as instâncias de treinamento sejam selecionadas várias ve- zes para o mesmo preditor, o que não ocorre com a amostragem sem substituição. Esse processo de amostragem e treinamento está ilustrado na Figura 4.4.

Classificadores

Treinamento

Amostragem aleatória

Conjunto de treinamento

Figura 4.4: Processo de treinamento do algoritmo Random Forest, adaptado de (Géron 2017).

Depois que todos os preditores são treinados, o conjunto (no caso a floresta) pode fazer uma previsão para uma nova instância simplesmente agregando as previsões de todos os preditores. Geralmente uma função estatística de agregação é usada para computar a decisão final do classificador. Comumente, a previsão mais frequente (classe mais votada) é escolhida. Cada preditor individual tem um viés mais alto do que se tivesse sido treinado no conjunto de treinamento original. Entretanto, a agregação dos classificadores reduz esse viés e também a variação. Em geral, a floresta de árvores tem um viés semelhante, mas tem uma variação menor do que uma única árvore preditora treinada com o conjunto de treinamento original (Géron 2017). 4.4. MÉTRICAS DE AVALIAÇÃO 37

Outra característica do algoritmo Random Forest é a possibilidade de aferir a contri- buição de cada variável preditora para o processo de classificação. Essa contribuição foi definida por Breiman (2001) e detalhada em Louppe et al. (2013) como a importância das variáveis, e calculada por:

1 Imp(Xm) = ∑ ∑ p(t)∆(st,t), (4.5) NT T t∈T:v(st )=Xm onde p(t) é a proporção Nt/N de amostras que atingem t e v(st) é a variável usada na divisão st. Quando usa-se o índice de Gini (Equação 4.3) como função de impureza, essa medida é conhecida como importância de Gini ou Média de Diminuição de Gini (MDG). No entanto, como pode ser definida para qualquer medida de impureza i(t), a Equação 4.5 também pode ser chamada de Mean Decrease Impurity importance (MDI), independentemente da medida de impureza i(t). A medida de diminuição da impureza presente no Random Forest pode ser utilizada para reduzir o número de variáveis do modelo, eliminando aquelas que exercem contri- buição pouco significativa para a decisão do classificador. Nesta tese, a MDG foi utilizada como medida de importância das variáveis preditoras no processo de eliminação de variá- veis e seleção do algoritmo de classificação, conforme descrito detalhadamente na seção 5.2.

4.4 Métricas de Avaliação

O desempenho de um classificador pode ser avaliado por meio da análise de seus acertos e erros. Nesse contexto, o número de vezes que o classificador acerta a classe alvo, denomina-se Verdadeiros Positivos (VP). Por outro lado, quando o classificador reconhece corretamente os exemplos que não pertencem à classe alvo, constitui-se os Verdadeiros Negativos (VN). Aqueles exemplos que forem atribuídos incorretamente à classe alvo são chamados de Falsos Positivos (FP), ao passo que os exemplos que foram atribuídos incorretamente como não pertencentes à classe alvo, constituem os Falsos Ne- gativos (FN). Essas quatro contagens constituem uma matriz de confusão (Sokolova & Lapalme 2009), conforme ilustrado na Figura 4.5 para o caso da classificação binária. Cada linha em uma matriz de confusão representa uma classe real, enquanto que cada coluna representa uma classe prevista. A primeira linha da matriz ilustrada na Figura 4.5 considera 315 instâncias da classe positiva "Ataque", sendo 313 delas classificadas corretamente (VP) e 2 classificadas incorretamente (FN). A segunda linha considera 99 38 CAPÍTULO 4. APRENDIZAGEM DE MÁQUINA

Ataque 313 2

Rótulo verdadeiro Normal 7 92

Ataque Normal Rótulo predito

Figura 4.5: Exemplo de matriz de confusão de classificação binária. instâncias da classe negativa "Normal", das quais 7 foram erroneamente classificados como "Ataque"(FP), enquanto as restantes 92 foram classificados corretamente como "Normal"(VN). Um classificador perfeito teria apenas verdadeiros positivos e negativos verdadeiros, de modo que sua matriz de confusão teria valores diferentes de zero apenas na diagonal principal. As medidas mais usadas para aferir o desempenho de classificadores baseadas na ma- triz de confusão são: Acurácia (AC), Precisão (PR), Recall (RC), F-medida (F1) (Sokolova & Lapalme 2009). A acurácia mede a eficácia geral de um classificador e tem seu valor calculado da seguinte forma:

VP +VN A = . (4.6) C VP + FN + FP +VN A precisão, também chamada de valor preditivo positivo, mede a capacidade do clas- sificador prever corretamente a classe positiva. No exemplo apresentado na Figura 4.5,

PR mede a capacidade de prever corretamente a classe "Ataque". A equação que calcula o valor de PR é dada por:

VP P = . (4.7) R VP + FP 4.4. MÉTRICAS DE AVALIAÇÃO 39

A métrica Recall (RC), ou revocação, mede a eficácia de um classificador para iden- tificar rótulos positivos. Essa medida, também chamada de sensibilidade, é calculada de acordo com a seguinte equação:

VP R = . (4.8) C VP + FN

F-medida (F1) estabelece uma relação entre os rótulos positivos dos dados e aqueles preditos pelo classificador. Essa medida representa uma média harmônica entre precisão e Recall, sendo calculada por:

PR × RC F1 = 2 × . (4.9) PR + RC Cada uma dessas métricas tem suas peculiaridades que devem ser analisadas de acordo com o modelo de classificação, bem como do problema em questão. Em sistemas de de- tecção e mitigação automática de DDoS, como proposto nesta tese, é importante observar todas essas métricas. Por exemplo, uma baixa precisão (PR), ou seja, muitos falsos po- sitivos, significa que sistemas que estão operando legitimamente serão penalizados pelas ações de mitigação. Por outro lado, um Recall (RC) muito baixo, ou seja, muitos falsos negativos, indica que as atividades maliciosas estão passando despercebidas e não serão mitigadas. Além das métricas específicas para o classificador decorrentes da matriz de confusão, nesse trabalho foram definidas as métricas Taxa de Detecção (TD) e Taxa de Falsos Alar- mes (TFA) para medir o desempenho do sistema em operação em tempo real utilizando tráfego de rede previamente conhecido. A TD é a razão entre o número de ataques de- tectados pelo sistema e o número real de ataques presentes no tráfego de rede conhecido. Essa métrica é calculada de acordo com a seguinte expressão:

AD DR = , (4.10) TA em que AD é o número de ataques detectados e TA é o número total de ataques existentes no arquivo de captura de tráfego em avaliação.

A Taxa de Falsos Alarmes (TFA), também é conhecida na literatura como taxa de falso, é a razão entre FP e a soma de FP e TN. TFA é calculada pela seguinte expressão:

FP T = , (4.11) FA FP +VN onde FP corresponde às classificações falsas positivas e VN são as verdadeiras negativas.

Os cálculos de DR e TFA assumem que apenas o tráfego malicioso foi enviado do 40 CAPÍTULO 4. APRENDIZAGEM DE MÁQUINA atacante para a vítima durante o ataque.

4.5 Resumo

Neste Capítulo, foi apresentada uma visão geral sobre sistemas de aprendizagem de máquina, especialmente sobre classificação de dados utilizando algoritmos baseados em árvore de decisão. Foi detalhado como o algoritmo CART e o Random Forest constroem e treinam seus modelos decisórios, concluindo com as principais métricas de avaliação para sistemas de classificação. A classificação usando Random Forest revela-se uma opção promissora para sistemas de proteção contra DDoS, especialmente, pelas seguintes características:

• A agregação de vários preditores aufere ao classificador uma maior eficácia decisó- ria. Esse aspecto é importante para a mitigação de DDoS distribuído, pois reduz a chance de penalizar erroneamente sistemas que operam legitimamente, e aumenta a chance de penalizar atacantes verdadeiros; • Redução do sobre-ajuste do modelo aos dados em comparação aos modelos basea- dos em árvores simples; • Identificação da contribuição de cada variável preditora no processo decisório. O cálculo da importância de cada variável permite implementar métodos de redução do número de variáveis sem comprometer significativamente o desempenho nem a capacidade de generalização do modelo.

Em seguida, no Capítulo 5, após o detalhamento da arquitetura do sistema Smart Defender, é apresentado o o sistema Smart Detection. São detalhadas as abordagens utilizadas nos processos de seleção de variáveis e algoritmos de AM que indicaram o Random Forest como a melhor opção para o problema de detecção de DDoS estudado neste trabalho. Capítulo 5

Smart Defender

No Capítulo 3, foram abordados diferentes tipos de ataques DDoS, suas característi- cas gerais, bem como os desafios existentes nos processos de detecção e mitigação. No Capítulo 4 foram apresentados os conceitos básicos sobre classificação de dados, dando enfoque aos algoritmos de árvore de decisão e Random Forest, uma vez que a tarefa de detectar ataques de negação de serviços pode ser visto como uma tarefa de classificação usando aprendizagem de máquina. Neste Capítulo, é apresentado o sistema Smart De- fender como uma abordagem distribuída para o problema dos ataques DDoS na Internet. São detalhadas a arquitetura geral do sistema, bem como seus sub-sistemas integrantes, o Smart Detection, que atua na fase de detecção, e o Smart Protection, que atua na mitiga- ção dos ataques.

5.1 Arquitetura

O método de combate aos ataques de negação de serviços proposto nesta tese é cons- tituído por um sistema de detecção (Smart Detection), que identifica precocemente os ataques, e um sistema de proteção (Smart Protection), que atua na mitigação do tráfego malicioso próximo à origem do ataque. A comunicação entre esses dois sistemas ocorre por meio do compartilhamento de informações usando o serviço de nuvem computacio- nal. A Figura 5.1 resume a arquitetura do sistema Smart Defender. Nessa arquitetura, o Smart Detection funciona como um sensor instalado em algum ponto da rede e recebe como entrada amostras de tráfego, por exemplo fluxos sFlow (Phaal & Lavine 2004). Essas amostras são classificadas, dando origem a notificações de ataques como saída. Por outro lado, o Smart Protection deve operar em ativos que permitam o controle de tráfego, como roteadores ou comutadores. Ao receber as notifi- cações de ataque, o sistema de proteção aplica as políticas locais de controle previamente estabelecidas. 42 CAPÍTULO 5. SMART DEFENDER

Notificação

Amostras de Smart Detection Serviço de nuvem Smart Protection Dispositivos de rede tráfego de rede pub/sub 1 - Detecção 2 - Compartilhamento 3 - Proteção

Figura 5.1: Arquitetura do sistema Smart Defender.

Na abordagem proposta, o sistema de detecção compartilha as notificações de ataque com o sistema de proteção, para que a ação de controle do tráfego malicioso possa ocorrer próximo ao dispositivo atacante. Esse modelo permite que tanto soluções tradicionais de proteção de rede, como roteadores e firewalls, possam utilizar os dados do Smart Detec- tion como também tecnologias emergentes, por exemplo Redes Definidas por Software, comumente conhecidas como redes SDN1. Em execução, a abordagem proposta não traz risco à privacidade dos dados, uma vez que o sistema não atua como intermediário de conexões nem faz redirecionamento de tráfego. Além disso, o método de detecção não realiza inspeção na área de dados dos pa- cotes. Em vez disso, são utilizadas somente informações do cabeçalho de uma fração dos pacotes, que são amostrados aleatoriamente do tráfego de rede original. Essa abordagem também reduz o consumo de recurso computacional durante o processamento, uma vez que analisar integralmente todos os pacotes é computacionalmente custoso, especialmente em redes com alto volume de tráfego.

5.2 Smart Detection

O Smart Detection foi projetado para identificar precocemente ataques DDoS em re- des de computadores. Para isso, o sistema proposto analisa e classifica amostras de tráfego que são coletadas em tempo real por ativos de rede como roteadores e comutadores. A abordagem proposta utiliza técnicas de aprendizagem de máquina supervisionada para di- ferenciar o tráfego legítimo do tráfego inútil, gerado pelos ataques de negação de serviços.

1SDN: Software Defined Networks 5.2. SMART DETECTION 43

5.2.1 Arquitetura

O núcleo do sistema de detecção consiste em uma Base de Dados de Assinaturas (BDA) que define as características do tráfego de rede legítimo e de diversos tipos de ataques DDoS, bem como do algoritmo de Aprendizado de Máquina (AM). A Figura 5.2 resume as principais etapas utilizadas para a construção do modelo de classificação (classificador) do sistema de detecção, assim como seu esquema básico de operação. No primeiro passo, as características de tráfego de rede legítimo e DDoS são extraídas, rotu- ladas e armazenadas na base de dados de assinaturas (BDA). Em seguida, realiza-se um processo de escolha das variáveis mais relevantes para o processo de classificação, bem como do algoritmo mais adequado aos dados. Por fim, treina-se o algoritmo selecionado, e carrega-se o modelo gerado no sistema de classificação de tráfego.

Seleção de variáveis e algoritmo de AM Assinaturas de BDA Treinamento tráfego de rede

Amostras de Modelo Smart Detection tráfego de rede

Operação do Construção do Notificação sistema modelo de ataque

Figura 5.2: Construção do modelo e esquema de operação do sistema Smart Detection.

A arquitetura do sistema de detecção foi projetada para trabalhar com amostras de tráfego de rede fornecidas por protocolos de amostragem de tráfego que seguem um pa- drão industrial, coletados de dispositivos de rede. As amostras são recebidas e agrupadas em tabelas de fluxo no buffer do receptor. Assim, quando o comprimento da tabela é maior ou igual ao valor de referência, elas são apresentados ao classificador responsável por rotulá-las, como ilustra a Figura 5.3. A ocorrência de pequenas tabelas de fluxo é maior em taxas de amostragem mais baixas ou sob alguns tipos de ataques de DoS, por exemplo, ataques de inundação SYN. A Tabela 5.1 detalha os principais parâmetros de 44 CAPÍTULO 5. SMART DEFENDER configuração do sistema. Esses parâmetros podem ser ajustados em função do ambiente operacional, como taxa de amostragem, ou foco principal, como a detecção rápida de ataques volumétricos. Tipicamente, taxas de amostragem mais baixas requerem maior tempo de expiração da tabela de fluxo para reduzir o risco do sistema descartar os dados sem classificar o tráfego. O ajuste fino desses parâmetros é determinante para a detecção acurada dos ataques.

Normal Buffer de recepção Classificador Ataque

Amostras de Fluxo tráfego não rotulado rotulados FlowID Var1 Var2 VarN x v1 v2 vN x ......

Tabela de fluxo

Figura 5.3: Visão geral do esquema de classificação de tráfego.

Tabela 5.1: Parâmetros de configuração do sistema de detecção. Parâmetro Descrição Tmin Tamanho mínimo da tabela de fluxo Tmax Tamanho máximo da tabela de fluxo ET Tempo de expiração da tabela de fluxo

O algoritmo completo do sistema de detecção está resumido na Figura 5.4. Durante cada ciclo do processo de detecção, as amostras de tráfego são recebidas e armazenadas em uma tabela de fluxo. Para cada novo fluxo, um identificador exclusivo (FlowID) é calculado com base na 5-tupla (src_IP, dst_IP, src_port, dst_port, IP_protocol) nas Etapas 1 e 2. Se este for um novo fluxo, ou seja, não houver nenhuma outra tabela de fluxo ar- mazenada com o mesmo FlowID, a tabela de fluxo é registrada em um buffer de memória compartilhada. Caso contrário, se houver uma tabela de fluxo registrada com o mesmo FlowID, como a calculada anteriormente, os dados do novo fluxo serão mesclados com os dados da tabela de fluxo existente nas Etapas 3 e 4. Após a operação de mesclagem, se o tamanho da tabela for maior ou igual ao valor de referência (Tl >= Tmax), a tabela de 5.2. SMART DETECTION 45

fluxo é classificada e, se o fluxo for considerado como sendo de um ataque, é emitida uma notificação. Caso contrário, ele será inserido novamente no buffer de memória comparti- lhada. Enquanto isso, na Etapa 7, a tarefa de limpeza procura tabelas de fluxo expiradas no buffer compartilhado, ou seja, tabelas de fluxo que excedem o tempo de expiração do sistema (E > ET ). Para cada tabela de fluxo expirada, o sistema verifica o seu tama- nho. Se o tamanho da tabela de fluxo for menor ou igual ao valor mínimo de referência

(Tl <= Tmin), essa tabela de fluxo será processada pela Etapa 8. Então, um novo FlowID é calculado usando-se a 3-tupla (src_IP, dst_IP, IP_protocol), em seguida a tabela de fluxo é roteada de volta para as Etapas 3 e 4.

Início

1. Receber amostras

2. Criar tabela de fluxo (5-tupla)

Sim 4. Mesclar É um novo fluxo? 3. Armazenar Não

Não Tl >= Tmax Buffer

Sim

5. Classificar 7. Limpar tabelas

E > E T Sim 8.Criar tabela de and fluxo (3-tupla) Tl <= Tmin

Não Não É um ataque?

Sim

6. Notificar

Fim

Figura 5.4: Algoritmo do sistema de detecção. 46 CAPÍTULO 5. SMART DEFENDER

5.2.2 Extração de Características

Nas estratégias de classificação supervisionada, é necessário um conjunto de exem- plos para o treinamento do classificador. Esse conjunto é geralmente definido como um banco de dados de assinaturas. Cada instância do banco de dados possui um conjunto de características ou variáveis associadas a um rótulo ou a uma classe, conforme descrito no Capítulo 4. Nesta seção, o objetivo é identificar características no tráfego de rede capazes de distinguir o comportamento normal (tráfego legítimo) da rede, de ataques de negação de serviços (DoS). O estudo está focado na análise das variáveis de cabeçalho dos paco- tes das camadas de rede e transporte da arquitetura TCP/IP, afim de economizar recursos computacionais, simplificar a implantação nas redes de ISPs e não violar a privacidade dos dados. Nas redes compatíveis com IPv4, os protocolos da camada de rede e transporte são IP, TCP e UDP, especificados nas RFC 791 (Postel 1981), RFC 793 (Postel (b) 1981) e RFC 768 (Postel (a) 1980), respectivamente. Juntos, esses protocolos têm um total de 25 variáveis de cabeçalho. No entanto, os protocolos de amostragem de tráfego de rede amplamente utilizados, como NetFlow (Claise 2004) e sFlow (Phaal & Lavine 2004) comumente usam apenas uma parte dessas variáveis no processo de amostragem. Geral- mente, as sete variáveis usadas são os endereços IP de origem e destino, portas de origem e destino, protocolo da camada de transporte, tamanho do pacote IP e sinalizadores (flags) TCP. Os endereços IP de origem e de destino servem para identificação dos dispositivos, mas não são muito úteis para identificar o comportamento do tráfego de rede no ambiente da Internet, o que reduz o número de variáveis disponíveis para cinco, nos casos mais comuns. Com base nas cinco variáveis comumente usadas pelos protocolos de monitora- mento de fluxo, 33 variáveis foram derivadas conforme descrito na Tabela 5.2, as quais usam medidas estatísticas que expressam a variabilidade dos dados desses fluxos. No contexto do cálculo das variáveis do banco de dados, as referências à média, mediana, variância (var) e desvio padrão (std) devem ser interpretadas como medidas amostrais. A variável denominada ip_proto é uma normalização simples do campo protocol, extraído dos cabeçalhos de pacotes da camada de transporte, definida por:

N ip_proto = proto , (5.1) K em que Nproto é o código do protocolo e K é uma constante de normalização definida como o valor 1.000. Por exemplo, Nproto = 6 e Nproto = 17 nos casos dos protocolos TCP e UDP, respectivamente. 5.2. SMART DETECTION 47

Tabela 5.2: Variáveis extraídas do cabeçalho dos pacotes e calculadas. # Variável Detalhe 01 ip_proto Campo IP proto normalizado 02 ip_len_mean Média do campo IP length 03 ip_len_median Mediana do campo IP length 04 ip_len_var Variancia do campo IP length 05 ip_len_std Desvio padrão do campo IP length 06 ip_len_entropy Entropia do campo IP length 07 ip_len_cv Coeficiente de variação do campo IP length 08 ip_len_cvq Coeficiente quantil do campo IP length 09 ip_len_rte Taxa de mudança do campo IP length 10 sport_mean Média do campo Source port 11 sport_median Mediana do campo Source port 12 sport_var Variancia do campo Source port 13 sport_std Desvio padrão do campo Source port 14 sport_entropy Entropia do campo Source port 15 sport_cv Coeficiente de variação do campo Source port 16 sport_cvq Coeficiente quantil do campo Source port 17 sport_rte Taxa de mudança do campo Source port 18 dport_mean Média do campo Destination port 19 dport_median Mediana do campo Destination port 20 dport_var Variancia do campo Destination port 21 dport_std Desvio padrão do campo Destination port 22 dport_entropy Entropia do campo Destination port 23 dport_cv Coeficiente de variação do campo Destination port 24 dport_cvq Coeficiente quantil do campo Destination port 25 dport_rte Taxa de mudança do campo Destination port 26 tcp_flags_mean Média do campo TCP flags 27 tcp_flags_median Mediana do campo of TCP flags 28 tcp_flags_var Variancia do campo TCP flags 29 tcp_flags_std Desvio padrão do campo TCP flags 30 tcp_flags_entropy Entropia do campo TCP flags 31 tcp_flags_cv Coeficiente de variação do campo TCP flags 32 tcp_flags_cvq Coeficiente quantil do campo TCP flags 33 tcp_flags_rte Taxa de mudança do campo TCP flags

Com as quatro principais variáveis mais usadas no monitoramento de fluxo, é possível calcular as seguintes medidas estatísticas associadas:

• Entropia: a entropia da variável é calculada por:

Entropy(X) = −∑ p(Xi)log2 p(Xi), (5.2) i 48 CAPÍTULO 5. SMART DEFENDER

em que X é a variável de interesse, por exemplo, a porta de origem. • Coeficiente quantil: este parâmetro é aqui definido por:

Qˆ (1 − p) − Qˆ (p) cvq(X) = X X , (5.3) QˆX (1 − p) + QˆX (p)

em que QˆX (p) é a amostra p-quantil, p ∈ (0, 0.5), definida em Hyndman & Fan (1996) e expressa por:

ˆ QX (p) = X(k) + (X(k+1) − X(k)) ∗ f , (5.4)

sendo {X(1),...,X(n)} as estatísticas da ordem das observações independentes, k = bp ∗ nc e f é a parte fracionária do índice delimitado por X(k) e X(k+1). • Taxa de mudança: essa métrica é dada por:

U rte(X) = X , (5.5) SX

onde UX é a quantidade de valores exclusivos e SX é o número total de valores de X.

O tráfego de rede com um comportamento de atividade legítima foi extraído do con- junto de dados ISCXIDS2012 (Shiravi et al. 2012). O tráfego de dados com um com- portamento de atividade malicioso de DoS foi obtido experimentalmente em ambiente de laboratório, usando ferramentas como hping3 (Jombart et al. 2014), hulk (Grafov 2016), Goldeneye (Seidl 2017) e slowhttptest (Shekyan 2016).

O processo de extração, transformação e rotulagem das instâncias do banco de dados de assinaturas está resumido na Figura 5.5. Nessa abordagem, os pacotes foram extraído dos arquivos brutos de captura de tráfego e agrupados por sessões TCP ou UDP. Para cada sessão foi criada uma instância rotulada no banco de dados contendo todas as variáveis listadas na Tabela 5.2. Sessões com menos de quinhentos pacotes foram descartadas para evitar descaracterização da distribuição dos dados.

O banco de dados final contém exemplos de tráfego normal (23.088 instâncias), ata- ques de inundação TCP (14.988 instâncias), inundação UDP (6.894 instâncias), inunda- ção HTTP (347 instâncias) e HTTP lento (183 instâncias). 5.2. SMART DETECTION 49

Tráfego Tráfego (Normal) (DoS)

Extrair pacotes e agrupar por sessão

Calcular variáveis e rotular instâncias

Banco de Assinaturas

Figura 5.5: Processo de extração, transformação e rotulagem das instâncias do banco de dados.

5.2.3 Seleção de variáveis e algoritmo de aprendizagem

A seleção de variáveis é uma etapa importante no processo de reconhecimento de pa- drões e consiste em definir o menor conjunto possível de variáveis capaz de descrever efi- cientemente um conjunto de classes (Ganapathy et al. 2013). Várias técnicas para seleção de variáveis estão disponíveis na literatura e implementadas em bibliotecas de software como o scikit-learn (Pedregosa et al. 2012). Neste trabalho, a seleção das variáveis foi realizada em duas etapas. Primeiro, foi utilizado o método de Eliminação Recursiva de Variáveis com Validação Cruzada (Recursive Feature Elimination and Cross-Validated - RFECV) e alguns Algoritmos de Aprendizagem de Máquina (AAM) amplamente utiliza- dos na literatura científica, como Random Forest (RF), Regressão Logística (RL), Ada- boost, Descida Estocástica de Gradiente (DEG), Árvore de Decisão (AD) e rede neural Perceptron. O RF obteve maior precisão usando 28 variáveis, enquanto o Adaboost sele- cionou sete variáveis, mas obteve menor precisão, conforme mostrado na Tabela 5.3. No segundo estágio, um novo teste de seleção de variáveis foi realizado com RF usando o Algoritmo 1 apresentado em seguida. Na abordagem de seleção de variáveis proposta usando RF, o número de variáveis foi reduzido de 28 para 20 com um pequeno aumento na acurácia, conforme mostrado na Ta- bela 5.4. O algoritmo proposto foi executado usando os seguintes parâmetros de entrada: 1.000 rodadas, 99% de limiar de importância, 95% de limiar de acurácia global e 85% de acurácia por classe. A Figura 5.6 mostra que a maioria dos modelos testados usava 20 50 CAPÍTULO 5. SMART DEFENDER

Algoritmo 1: Algoritmo de seleção de variáveis. input : Banco de dados, Limiar de importância, Limiar de acurácia, Número de rodadas output: Variáveis selecionadas

1 begin 2 Criar uma lista vazia de modelos otimizados; 3 for i ← 1 to Número de rodadas do 4 Definir todas as variáveis do banco de dados como as variáveis atuais; 5 while True do 6 Dividir o banco de dados em partições de treinamento e teste; 7 Criar e treinar um modelo usando a partição de treinamento; 8 Selecionar as variáveis mais importantes do modelo treinado; 9 Calcular a importância cumulativa das variáveis do modelo treinado; 10 if max(importância cumulativa das variáveis) < Limiar de importância then 11 Exit loop; 12 end 13 Treinar o modelo usando apenas as variáveis mais importantes; 14 Testar o modelo treinado e calcular a acurácia; 15 if Acurácia calculada < Limiar de acurácia then 16 Exit loop; 17 end 18 Adicionar modelo atual à lista de modelos otimizado; 19 Definir as variáveis mais importantes do modelo treinado como as variáveis atuais; 20 end 21 end 22 Agrupar os modelos por número de variáveis; 23 Remover modelos discrepantes; 24 Selecionar o grupo de modelos com a maior frequência e seu número de variáveis “N”; 25 Ranquear as variáveis pela média da importância; 26 Retornar as “N” variáveis mais importantes; 27 end 5.2. SMART DETECTION 51

Tabela 5.3: Resultados com as variáveis escolhidas usando o método RFECV. # AAM N. Variáveis Acurácia 1 RF 28 0.996010 2 AD 25 0.994182 3 RL 26 0.972327 4 DEG 16 0.969474 5 Perceptron 28 0.937256 6 AdaBoost 7 0.931131 variáveis. No entanto, cada modelo usou conjuntos específicos de variáveis. Para esco- lher as variáveis mais relevantes dentre os modelos selecionados, foi utilizado o critério de importância da variável retornada pelo RF, no qual as N variáveis melhor posicionadas foram escolhidas, conforme descrito na linha 25 do Algoritmo 1. O resultado final da seleção de recursos é mostrado na Figura 5.7.

NúmeroNumber de of modelos models

Figura 5.6: Número de variáveis versus número de modelos.

Os resultados mostram que o RF obteve maior acurácia do que os outros algoritmos. Embora ele utilize mais variáveis que o DEG e o Adaboost, uma baixa taxa de alarme falso é um requisito primordial nos sistemas de detecção de DDoS. Nesse caso, a RF provou ser a melhor opção de algoritmo para o sistema Smart Detection. No algoritmo 52 CAPÍTULO 5. SMART DEFENDER

Importância

Figura 5.7: Variáveis selecionadas pelo algoritmo de seleção proposto.

Tabela 5.4: Resultados com as variáveis escolhidas usando o algoritmo proposto. # AAM N. Variáveis Acurácia 1 RF 20 0.999363 2 AD 20 0.999011 3 Perceptron 20 0.996000 4 DEG 20 0.986989 5 RL 20 0.982704 6 AdaBoost 20 0.956512 proposto para o sistema de detecção mostrado na Figura 5.4, o RF é usado para classificar o tráfego de rede online, uma tarefa que requer eficiência computacional e altas taxas de acerto.

5.2.4 Experimentos

Os experimentos para validação do Smart Detection foram realizados de maneira on- line, usando os arquivos brutos de captura de trafego dos datasets CIC-DoS, CICIDS2017, CSE-CIC-IDS2018 e do dataset desenvolvido nesse trabalho. Neste contexto, a palavra on-line significa que o tráfego de rede existente nos arquivos PCAP dos datasets foi re- produzido seguindo-se o mesmo padrão e taxa em que foi gravado. Assim, o sistema de 5.2. SMART DETECTION 53 detecção classificou as amostras de tráfego em condições muito semelhante às condições originais. Em síntese, a metodologia adotada obedeceu aos seguintes passos:

1. Dados brutos do tráfego da rede foram obtidos para análise, seguindo-se o formato de arquivo PCAP;

2. Juntamente com os arquivos PCAP (Passo 1), foram formatados os planos de ataque para cada dataset, mapeando-se os endereços IP de atacantes e vítimas, tipo de ataque, bem como horários de início e fim de cada evento malicioso;

3. O ambiente para reprocessar e classificar o tráfego foi configurado;

4. O tráfego foi processado e classificado;

5. O desempenho do sistema foi avaliado comparando-se a saída gerada pelo classifi- cador (Etapa 4) com o plano de ataque descrito na Etapa 2, usando-se as métricas descritas na Seção 4.4.

Seguindo-se essa metodologia de validação, com os arquivos PCAP e a documen- tação descritiva dos datasets CIC-DoS, CICIDS2017, CSE-CIC-IDS2018 e autoral, fo- ram executados os Passos 1 e 2. O ambiente para reprocessamento e classificação de tráfego, conforme descrito na Etapa 3, foi configurado usando duas máquinas virtuais , executando o Open Virtual Switch (OVS) (Pfaff et al. 2015), o software TcpRe- play (Turner 2013) e o sistema Smart Detection, conforme ilustrado na Figura 5.8. Cada dataset foi processado três vezes. Em seguida, foi calculado o desempenho médio do sistema.

Configuração do sistema

O sistema Smart Detection possui três parâmetros principais que influenciam direta- mente seu desempenho. Esses parâmetros, mostrados na Tabela 5.1, permitem ao usuário calibrar o sistema de detecção de acordo com o ambiente operacional. Nos cenários em que a Taxa de Amostragem (TA) de tráfego é muito baixa e o TMax é muito grande, por exemplo, as amostras de tráfego são descartadas antes de serem processadas pelo classifi- cador. Por outro lado, se TMax for muito pequeno, a taxa de alarmes falsos tende a crescer porque o classificador possui poucos dados para analisar. No caso de DDoS lento, uma baixa TA e TMax grande também reduzem a taxa de detecção de ataques devido ao tempo de expiração da tabela de fluxo na memória, medido por ET . 54 CAPÍTULO 5. SMART DEFENDER

Amostras sFlow

VM-01 Network VM-02

SMART DETECTION

L A Y R R R U A O O H L O T D R C D P D R A I T O E A A I C V T S R I C

I S E W F P N I F L E DATASET S I C E S C O T S T P C (PCAP) O O A O R L N P C

Figura 5.8: Esquema de validação on-line do Smart Detection.

Portanto, o ajuste fino desses parâmetros pode variar, a depender do ambiente opera- cional. Neste estudo, várias experiências foram realizadas para calibrar o sistema e definir valores típicos para o ambiente experimental. Nos ensaios realizados no ambiente expe- rimental com (i) TA de 1%, 5%, 10% e 20%, (ii) parâmetro TMax de 25, 50 e 100 e (iii) ET de 2, 5 e 10 segundos, os valores mais equilibrados foram obtidos com TA = 20%, TMax = 50 e ET = 2.

5.2.5 Análise de Resultados

A abordagem proposta foi avaliada experimentalmente conforme descrito na Seção 5.2.4 usando os conjuntos de dados listados na Seção 3.4, métricas detalhadas na Seção 4.4 e configurações do sistema descritas na Seção 5.2.4. A Tabela 5.5 resume o desempe- nho do sistema para cada dataset avaliado.

Tabela 5.5: Avaliação do desempenho do sistema. Dataset DR TFA PR F1 CIC-DoS 0.936 0.0004 0.999 0.999 CICIDS2017 0.800 0.0020 0.992 0.992 CSE-CIC-IDS2018 1.000 0.0000 1.000 1.000 Autoral 0.965 0.0020 0.995 0.995

Os resultados constantes na Tabela 5.5 indica que o melhor desempenho foi obtido para o dataset CSE-CIC-IDS2018, com DR de 100%, TFA de 0,000% e PR de 100%. 5.2. SMART DETECTION 55

Durante a análise, observou-se um baixo volume de tráfego de rede legítimo. O maior tráfego ocorreu durante os ataques. Esse tipo de comportamento facilitou a detecção dos quatro ataques (2 HTTP Flood, 1 HTTP Slow, 1 UDP Flood) nas três avaliações do da- taset. No entanto, um desempenho ligeiramente mais baixo foi obtido na avaliação do dataset desenvolvido nesse trabalho e no CIC-DoS, com TD de 96,5% e 93,6%, TFA de 0,2% e 0,04% e PR de 99,5% e 99,9%, respectivamente. Nesses conjuntos de dados, há um maior volume de tráfego legítimo e vários tipos de ataques, incluindo ataques furtivos na camada de aplicação. Nesses cenários mais realistas, o sistema proposto apresentou algumas falhas de detecção, especialmente nos ataques de baixo volume. Mesmo assim, o desempenho alcançado é competitivo quando comparado a outras abordagens da litera- tura, conforme mostrado na Tabela 5.6. Por outro lado, o pior resultado foi obtido com o dataset CICIDS2017 com TD de 80%, TFA de 2% e PR de 99.2%. Esse conjunto de dados expressa um cenário com baixa incidência de ataques (3 HTTP Flood e 2 HTTP Slow) com tráfego legítimo misturado com alto e baixo volume de tráfego malicioso com comportamento furtivo. Mesmo assim, o sistema proposto detectou, em média, 4 dos 5 ataques com PR maior que 90% e TFA menor que 1%, indicando que o método é confiável. Para discutir a estabilidade do Smart Detection e consumo de recursos computacio- nais durante a experimentação, o sistema foi monitorado durante a avaliação do dataset CICIDS2017. Esse conjunto de dados foi escolhido por ser bastante realista, recente e contemplar os principais vetores de ataques de DoS presentes na Internet. Mesmo no ce- nário mais adverso, o experimento foi concluído normalmente, como mostra as Figuras 5.9 e 5.10. O tráfego geral da rede é demonstrado na Figura 5.9(a), enquanto a Figura 5.9(b) destaca o tráfego amostrado recebido pelo sistema de detecção. É possível per- ceber que, para um tráfego de rede de 81,3 Mbps, o sistema de detecção recebe apenas 1,74 Mbps, indicando que essa abordagem é escalável. A classificação geral de tráfego é mostrada na Figura 5.10(a), enquanto que a Figura 5.10(b) destaca exclusivamente a classificação de tráfego malicioso. Pode-se dizer que o sistema foi eficiente em distinguir o tráfego normal dos ataques de negação de serviço, pois, de todos os ataques realizados, apenas o ataque Heartbleed não foi detectado, conforme destacado na Figura 5.9(b) entre 15h e 16h. Esse tipo de ataque tem como objetivo principal coletar dados, explorando as vulnerabilidades do software OpenSSL, conforme descrito em CVE-2014-0160 2, embora também possa assumir um comportamento de um ataque DDoS, como em qualquer aplicativo. No entanto, nesse caso, o sistema gerou um falso negativo. As razões mais óbvias para este FN são: (i) a execução do ataque Heartbleed sem exploração de DoS, ou (ii) coincidência estatística na

2https://www.cvedetails.com/cve/CVE-2014-0160/ 56 CAPÍTULO 5. SMART DEFENDER amostragem de tráfego. No primeiro caso, o ataque é realizado usando conexões legítimas e regulares, enquanto no segundo caso, as amostras coletadas coincidem com assinaturas de tráfego legítimo, levando o classificador a um erro de classificação. Em termos de uso de recursos, o sistema permaneceu estável durante o experimento, como ilustrado na Figura 5.10(c), com pequenas variações no uso da CPU.

80 Mbps

60 Mbps

40 Mbps

20 Mbps

0 bps 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00

(a) Tráfego de rede geral.

2 Mbps NormalNormal activity

1.5 Mbps

Normal + Normal + Normal e DoS Normal e DoS Slow DoS High DoS 1 Mbps Normal + Normal e Heartbleed Heartbleed DoS

500 kbps

0 bps 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00

(b) Tráfego de rede amostrado.

Figura 5.9: Tráfego de rede em experimento on-line usando o dataset CICIDS2017.

O sistema Smart Defender foi testado usando-se o tráfego de rede on-line em quatro cenários distintos. Os resultados apresentados na Tabela 5.5 mostram que o sistema foi 5.2. SMART DETECTION 57

150

100

50

0 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00

(a) Classificação geral de tráfego.

80

60

40

20

0 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00

(b) Classificação de tráfego malicioso.

100%

80%

60% Tempo de uso CPU system time Tempo ocioso de CPU pelo sistema 40% CPUde idle CPUtime

20% 0 % 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 (c) Utilização da CPU do sistema de detecção.

Figura 5.10: Classificação de tráfego e uso de CPU em experimento on-line usando o dataset CICIDS2017. 58 CAPÍTULO 5. SMART DEFENDER capaz de distinguir, com significativas taxas de precisão, o tráfego legítimo de vários tipos de ataques DoS/DDoS, como TCP flood, UDP flood, HTTP flood, and HTTP slow. Os experimentos também destacaram a importância de ajustar os parâmetros TMax e ET , pois essas variáveis se correlacionam com a taxa de amostragem de tráfego de rede (TA) e influenciam diretamente a taxa de detecção e a acurácia do sistema.

Comparação adicional

Comparado com alguns trabalhos semelhantes recentes disponíveis na literatura, a abordagem introduzida neste trabalho é bastante competitiva em termos das métricas de desempenho avaliadas, conforme mostrado na Tabela 5.6.

Tabela 5.6: Comparação com abordagens de pesquisa de trabalhos relacionados. Trabalho Dataset TD TFA PR Jazi et al. (2017) CIC-DoS 0.7690 N/A N/A Aamir & Zaidi (2019) CICIDS2017 N/A N/A 0.8210 Smart Detection CIC-DoS 0.9360 0.0004 0.9990 Smart Detection CICIDS2017 0.8000 0.0020 0.9920

A comparação apresentada na Tabela 5.6 não é precisa, pois os cenários e dados expe- rimentais foram ligeiramente diferentes, mas é suficiente para permitir uma avaliação dos resultados obtidos. Por exemplo, nas experiências realizadas com o conjunto de dados

CIC-DoS em Jazi et al. (2017), a TD foi de 76,92% usando uma TA de 20%. Entretanto, a descrição do cenário experimental apresentada pelos autores não é precisa quanto à forma de processamento dos dados, ou seja, não foi possível saber com precisão se a detecção ocorreu nos mesmos moldes realizado pelo Smart Detection. Por outro lado, o Smart De- tection obteve uma TD de 93,6% dos ataques com TFA de 0,04% usando a mesma técnica de amostragem em uma abordagem on-line de classificação de tráfego.

Em Aamir & Zaidi (2019), uma PR de 82,1% foi obtida para o dataset CICIDS2017 em uma análise off-line e sem amostragem de tráfego, porém considerando outras ame- aças além de DDoS. Para esse mesmo dataset, o método proposto no Smart Detection obteve uma PR de 99,9% nas classificações ataques, o que pode ser considerado um de- sempenho expressivo para um sistema de detecção on-line baseado em amostras de trá- fego de rede. Além disso, nas experiências com o conjunto de dados do CICIDS2017, no qual a taxa de tráfego legítima é semelhante à do tráfego de ataque, de acordo com as Figuras 5.9(b), 5.10(a) e 5.10(b), o sistema também conseguiu distinguir tráfego malicioso do tráfego legítimo, em situações semelhantes às estudadas por Behal et al. (2018). 5.3. SMART PROTECTION 59

5.3 Smart Protection

A natureza distribuída do Smart Defender permite que sejam desenvolvidas aplicações específicas para proteção de redes contra ataques de negação de serviços. Para tanto, é necessária a existência de uma interface de comunicação entre o módulo Smart Protection e os dispositivos de rede que fazem o processamento do tráfego propriamente dito. Desse modo, em teoria, qualquer dispositivo de rede capaz de executar controle de tráfego pode se tornar um elemento de mitigação de ataques. Entretanto, a falta de padronização de uma interface de comunicação entre os diversos fabricantes é um fator limitante para essa abordagem. Por outro lado, o paradigma das redes programáveis oferece um ambiente promissor para implementação desse tipo de solução, uma vez que em sua especificação está prevista a clara separação entre o plano de controle e o plano de dados. Além disso, o paradigma SDN fornece interfaces de comunicação e protocolos bem definidos pela Open Networking Foundation, ONF (2015). Nesse contexto, esta seção aborda a implementação do Smart Protection para mitiga- ção de ataques DDoS em redes SDN como uma aplicação integrada ao Ryu Framework, RYU (2019), um controlador implementado na linguagem de programação Python e dis- ponível publicamente na Internet.

5.3.1 Arquitetura

O Smart Protection foi desenvolvido como uma aplicação integrada ao controlador SDN, conforme ilustrado na Figura 5.11. Dessa forma, o sistema proposto tem acesso às funções de gerenciamento disponíveis no controlador para combater o tráfego mali- cioso o mais próximo possível da origem do ataque, ou seja, na porta do switch onde o dispositivo atacante está conectado. As funções do Ryu Framework são acessadas por meio de uma interface de programação (API) bem definida, enquanto a comunicação en- tre o controlador e os switchs é realizada por meio do protocolo OpenFlow padronizado pela ONF (2015). Esse protocolo define as funções básicas do switch OpenFlow e as re- gras necessárias que permitem o gerenciamento do dispositivo a partir de um controlador remoto. Para executar suas funcionalidades, o Smart Protection recebe como dados de entrada as notificações de ataque geradas e compartilhadas pelo sistema Smart Detection e a po- lítica de tráfego da rede local. Esses elementos orientam o comportamento do módulo de controle de tráfego, que é responsável pela aplicação das ações de mitigação dos ataques diretamente nos dispositivos OpenFlow. Além das notificações e da política de tráfego, 60 CAPÍTULO 5. SMART DEFENDER

Smart Protection

Política de Controle de Gerenciador de tráfego tráfego topologia

API Notificação de ataque SDN Framework

Protocolo OpenFlow

OpenFlow Switchs OpenFlow Switchs

Figura 5.11: Visão geral da arquitetura do Smart Protection para redes SDN.

o Smart Protection mantém uma instância atualizada da topologia da rede contendo in- formações de Camadas 2 e 3 acerca dos dispositivos conectados nos switchs OpenFlow, incluindo a porta de conexão, bem como os endereços MAC e IP dos hosts.

A política de controle de tráfego visa definir os parâmetros de atuação do sistema. Esse instrumento consiste, em resumo, em um conjunto de critérios objetivos e ações específicas para cada critério. Em geral, essas regras dependem do modelo administrativo de gerenciamento de rede adotado em cada corporação que pode estabelecer medidas mais ou menos restritivas. A Tabela 5.7 apresenta exemplos, não exaustivos, de critérios que podem ser definidos para orientar as ações de mitigação de ataques de DDoS usando o Smart Defender.

Uma vez definidos os critérios da política de controle de tráfego, deve-se também definir as ações relacionadas a cada critério. Isso significa, basicamente, especificar quais ações devem ser executadas quando um determinado critério específico for atendido. A Tabela 5.8 relaciona exemplos de ações de mitigação de tráfego malicioso que podem ser usadas pelo sistema Smart Protection. 5.3. SMART PROTECTION 61

Tabela 5.7: Exemplos de critérios para definição de uma política de tráfego. Critério Descrição Pode-se definir valores mínimo/máximo para a quan- Número de Detecções tidade de detecções. Pode-se definir valores mínimo/máximo para o score Probabilidade da detecção da classificação. Tipo de ataque Pode-se definir ações com base no tipo de ataque. Pode-se calcular um score de reputação com base no Reputação sensor de detecção e/ou hosts envolvidos. Escopo de rede Pode-se definir sob quais redes o sistema vai atuar. Utilizar uma combinação de critérios para definir Combinação ações mais específicas.

Tabela 5.8: Exemplos de ações de controle de tráfego. Ação Descrição Pode-se enviar mensagem de alerta de ataque à equipe Alerta de ataque de segurança. Pode-se aplicar disciplinas de QoS para reduzir a Redução de banda banda do atacante. Pode-se aplicar regras de restrição de tráfego entre os Bloqueio parcial hosts atacante e vítima. Pode-se aplicar regras de restrição total do tráfego do Bloqueio total host atacante. Bloqueio de porta Pode-se aplicar regras de bloqueio da porta do switch.

5.3.2 Gerenciador de Topologia

O módulo gerenciador de topologia é responsável pelo auto-aprendizado da estrutura lógica da rede. O processo de descoberta da topologia é baseada na mensagem do tipo OFPT_PACKET_IN especificada no protocolo OpenFlow definido pela ONF (2015). Esse tipo de mensagem é enviada para o controlador pelos switchs SDN sempre que um pacote é recebido em alguma das portas que ainda não possui regra de encaminhamento definida. O Smart Protection monitora esse tipo de mensagem por meio da API do Ryu Framework e atualiza a topologia da rede. O Algoritmo 2 descreve esse processo de aprendizagem. As mensagens OFPT_PACKET_IN são disparadas por eventos assíncronos e geren- ciadas pelo controlador SDN, que por sua vez, encaminha uma cópia do pacote para todas as aplicações que monitoram esse tipo de evento. O processo de atualização da topologia tem um custo computacional baixo, dado que o evento que gera a mensagem OFPT_PACKET_IN ocorre apenas quando não existe uma 62 CAPÍTULO 5. SMART DEFENDER

Algoritmo 2: Auto-aprendizado da topologia lógica da rede SDN. Entrada: Mensagem OFPT_PACKET_IN, Topologia atual Saída : Topologia atualizada

1 begin 2 Definir regra de encaminhamento camada 2 para OFPT_PACKET_IN; 3 Extrair os dados da Mensagem OFPT_PACKET_IN; 4 Extrair os identificador do switch; 5 Extrair identificador da porta de entrada; 6 Extrair endereços MAC e IP do host remetente; 7 Atualizar a Topologia atual; 8 Retornar a Topologia atualizada; 9 end

regra de encaminhamento instalada na porta do switch por onde o pacote ingressou. Esse evento ocorre tipicamente durante a execução do protocolo ARP3 em uma rede Ethernet, antes mesmo da transmissão de dados propriamente dita ser iniciada. Na lógica proposta, essa regra de encaminhamento é instalada pela instrução presente na primeira linha do Algoritmo 2.

5.3.3 Controle de Tráfego

O módulo controlador de tráfego do Smart Protection opera de maneira paralela no processamento das notificações de ataques de DDoS e no gerenciamento e aplicação de regras de controle de tráfego. Essa dinâmica confere maior eficiência e rapidez ao sistema na mitigação de tráfego malicioso. O diagrama apresentado na Figura 5.12 resume, em alto nível, as principais operações desse módulo do Smart Protection. Durante a execução do processo de recebimento de notificação, as mensagens con- tendo as informações sobre os ataques são colocadas em uma fila de comunicação entre processos. Desse modo, sempre que uma mensagem for recebida, o controle de tráfego será acionado com o objetivo de mitigar o ataque. Conforme indicado na Figura 5.12, após a avaliação da política de tráfego, o sistema identifica a localização do host atacante na topologia da rede. Em seguida, por meio do controlador SDN, aplica uma medida de mitigação utilizando o protocolo OpenFlow.

3ARP: Address Resolution Protocol 5.3. SMART PROTECTION 63

Recebimento de notificações

Política de Fila tráfego Início Fim

Aplicar controle Definir ações de Identificar host Verificar fila de de tráfego na controle de atacante na notificações porta do switch tráfego topologia da rede SDN

Figura 5.12: Fluxograma do módulo de controle de tráfego do Smart Protection.

5.3.4 Experimentos

Os experimentos para validação do Smart Protection foram realizados em ambiente computacional controlado, sendo composto por máquinas virtuais Linux e contêineres LXC4 utilizando a plataforma Microsoft Hyper-V de virtualização. A Figura 5.13 ilustra a topologia da rede experimental de teste configurada para os experimentos, enquanto que a Tabela 5.9 detalha as funções de cada componente utilizado no cenário. Para evidenciar o impacto causado pelos ataques DDoS na rede, foram realizados dois experimentos, sendo o primeiro com o sistema de detecção desativado e o segundo com o Smart Detection em plena operação. O plano de tráfego utilizado no primeiro experimento está descrito na Tabela 5.10. Nesse cenário, o sistema de detecção estava desativado. Inicialmente, apenas o tráfego legítimo foi transmitido pela rede utilizando o programa Iperf3 desenvolvido por Mark Gates & Warshavsky (2015). Em seguida, foi iniciado um ataque volumétrico de DDoS que permaneceu em andamento durante quinze minutos antes de ser cancelado, o que permitiu que a rede voltasse à condição normal de operação. No segundo experimento, cujo plano de tráfego está detalhado na Tabela 5.11, o tráfego legítimo foi iniciado usando o programa Iperf3 e, cerca de dez minutos depois, foi executado novamente um ataque volumétrico de DDoS. Nesse último teste, os ataques não foram interrompidos nos hosts atacantes e permaneceram em execução, assim como o tráfego legítimo.

4LXC é um tipo de virtualização para sistemas Linux (https://linuxcontainers.org/pt_br/) 64 CAPÍTULO 5. SMART DEFENDER

VM-10 SW-REDE-10

Serviço AWS

VM-20 SW-REDE-20 C200-01 C100-01 VM-SD SW-REDE-70

SW-REDE-30 VM-30 C200-02 C100-02

RT-CORE C200-03 C100-03

CT-200 SW-SDN-REDE-200 RT-REDE-50 RT-REDE-40 SW-SDN-REDE-100 CT-100

Figura 5.13: Topologia da rede experimental de validação do Smart Protection.

5.3.5 Análise de Resultados

A abordagem proposta foi avaliada experimentalmente conforme descrito na Seção 5.3.4 por meio de dois experimentos distintos: (i) Experimento-01 sem mecanismo de proteção e (ii) Experimento-02 com sistema proposto em operação. No primeiro Experimento-01 o sistema Smart Defender estava inoperante. Entretanto, no Experimento-02, o Smart Defender foi plenamente configurado. Neste caso, um agente de monitoramento sFlow foi instalado no roteador RT-CORE e configurado para coletar amostras do tráfego de rede a uma taxa de 20%, e enviá-las ao sistema Smart Detection instalado no host VM-SD. Este, por sua vez, classificou o tráfego de rede com base nas amostras recebidas. Ao identificar os ataques de DDoS, o sistema de detecção enviou mensagens de notificação para o Serviço AWS hospedado na Internet, tornando-as aces- síveis para qualquer sistema de proteção inscrito no serviço de compartilhamento. Dessa maneira, as notificações de ataque chegaram aos sistemas Smart Protection em execu- ção nos controladores SDN CT-100 e CT-200 nas Redes 100 e 200, respectivamente, que executaram as ações de controle do tráfego malicioso. Diante disso, o desempenho do Smart Defender foi analisado de maneira integrada em termos de detecção precoce dos ataques e mitigação do tráfego malicioso próximo à origem. A vazão da rede foi medida em pacotes por segundo (pps) e bits por segundo 5.3. SMART PROTECTION 65

Tabela 5.9: Componentes do ambiente de validação do Smart Protection. Nome Descrição RT-CORE Roteador principal que interliga todas as redes RT-REDE-40 Roteador que interliga a REDE-100 ao RT-CORE RT-REDE-50 Roteador que interliga a REDE-200 ao RT-CORE SW-REDE-10 Switch de camada 2 da REDE-10 VM-10 Maquina Virtual Linux usada para tráfego legítimo SW-REDE-20 Switch de camada 2 da REDE-20 VM-20 Maquina Virtual Linux usada para tráfego legítimo SW-REDE-30 Switch de camada 2 da REDE-30 VM-30 Maquina Virtual Linux usada como vítima SW-REDE-70 Switch de camada 2 da REDE-70 VM-SD Maquina Virtual Linux executando o Smart Detection SW-SDN-REDE-100 Switch SDN da REDE-100 C100-01 Contêiner Linux usado para tráfego legítimo e DDoS C100-02 Contêiner Linux usado para tráfego legítimo e DDoS C100-03 Contêiner Linux usado para tráfego legítimo e DDoS CT100 Controlador SDN executando o Smart Protection SW-SDN-REDE-200 Switch SDN da REDE-200 C200-01 Contêiner Linux usado para tráfego legítimo e DDoS C200-02 Contêiner Linux usado para tráfego legítimo e DDoS C200-03 Contêiner Linux usado para tráfego legítimo e DDoS CT200 Controlador SDN executando o Smart Protection Serviço AWS Serviço de compartilhamento de mensagens

Tabela 5.10: Plano de tráfego do experimento sem proteção. Origem Destino Volume Tipo Início Fim VM-10 VM-20 150Mbps Legítimo (TCP) 15:48:51 16:27:38 C100-01 VM-30 Máximo possível Ataque (TCP) 16:00:59 16:16:00 C100-02 VM-30 Máximo possível Ataque (TCP) 16:00:59 16:16:00 C100-03 VM-30 Máximo possível Ataque (TCP) 16:00:59 16:16:00 C100-03 VM-30 150Mbps Legítimo (TCP) 15:48:51 16:27:38 C200-01 VM-30 150Mbps Legítimo (TCP) 15:48:51 16:27:38 C200-01 VM-30 Máximo possível Ataque (UDP) 16:00:59 16:16:00 C200-02 VM-30 Máximo possível Ataque (UDP) 16:00:59 16:16:00 C200-03 VM-30 Máximo possível Ataque (UDP) 16:00:59 16:16:00

(bps) para evidenciar os efeitos dos ataques sobre as duas métricas. As medições foram realizadas nos roteadores RT-CORE e RT-REDE-40 do ambiente experimental descrito na Figura 5.13. 66 CAPÍTULO 5. SMART DEFENDER

Tabela 5.11: Plano de tráfego do experimento com proteção.

Origem Destino Volume Tipo Início Fim VM-10 VM-20 150Mbps Legítimo (TCP) 10:44:35 11:30:30 C100-01 VM-30 Máximo possível Ataque (TCP) 10:54:04 11:19:35 C100-02 VM-30 Máximo possível Ataque (TCP) 10:54:04 11:19:35 C100-03 VM-30 Máximo possível Ataque (TCP) 10:54:04 11:19:35 C100-03 VM-30 150Mbps Legítimo (TCP) 10:44:35 11:30:30* C200-01 VM-30 150Mbps Legítimo (TCP) 10:44:35 11:30:30 C200-01 VM-30 Máximo possível Ataque (UDP) 10:54:04 11:19:35 C200-02 VM-30 Máximo possível Ataque (UDP) 10:54:04 11:19:35 C200-03 VM-30 Máximo possível Ataque (UDP) 10:54:04 11:19:35 * Interrompido antes do término pelo sistema de proteção.

Análise de tráfego no RT-CORE (Experimento-01)

Durante a realização do Experimento-01, a taxa de transmissão de dados em paco- tes por segundo destinados à Rede 30 sofreu uma rápida elevação no momento em que o DDoS foi iniciado, conforme ilustrado na Figura 5.14, conforme esperado. Essa ele- vação foi causada pelo tráfego malicioso somado ao tráfego legítimo que já estava em andamento. Contudo, o tráfego entre as Redes 10 e 20 experimentou uma redução sig- nificativa na taxa de transmissão, mesmo não sendo alvos diretos do ataque. Esse efeito colateral ocorreu devido ao descarte de pacotes no roteador RT-CORE que teve seus re- cursos computacionais comprometidos por causa do grande volume de pacotes inúteis gerados pelos atacantes. Como não conseguiu processar todos os pacotes que chegaram, o roteador começou a descartá-los indistintamente de acordo com as disciplinas de enfilei- ramento definidas no padrão. Com isso, as redes 10, 20 e 30 sofreram com o descarte de pacotes, uma vez que todas compartilham a mesma infraestrutura de roteamento. No caso das redes 10 e 20, foi descartado exclusivamente tráfego benigno, uma vez que apenas esse tipo de tráfego era transmitido naquele instante. Analisando o tráfego apresentado na Figura 5.15 pode-se verificar que a taxa de dados transmitidos, em bits por segundo, diminui durante o ataque DDoS. Essa redução ocorre, nesse caso, por causa do descarte dos pacotes de tráfego legítimo, que possuem tipica- mente, uma carga útil maior do que a dos pacotes gerados pelos atacantes. A redução do volume total de dados transmitidos na rede é outro efeito provocado pelos ataques. Essa característica pode levar a uma interpretação incorreta de que os links de rede estão como a utilização dentro dos limites de normalidade, quando na verdade estão sob um DDoS volumétrico, com perdas elevadas de pacotes. 5.3. SMART PROTECTION 67

6 Rede 10 10 Rede 20 Rede 30

5 10 Pacotes por Segundo 4 10

15:5315:5415:5515:5615:5715:5815:5916:0016:0116:0216:0316:0416:0516:0616:0716:0816:0916:1016:1116:1216:1316:1416:1516:1616:1716:1816:1916:2016:2116:2216:2316:2416:25 Tempo

Figura 5.14: Tráfego em pps no RT-CORE (Experimento-01).

Rede 10 9 10 Rede 20 Rede 30

8 10

7 10 Bits por Segundo

6 10

5 10

15:4915:5015:5115:5215:5315:5415:5515:5615:5715:5815:5916:0016:0116:0216:0316:0416:0516:0616:0716:0816:0916:1016:1116:1216:1316:1416:1516:1616:1716:1816:1916:2016:2116:2216:2316:2416:2516:2616:27 Tempo

Figura 5.15: Tráfego em bps no RT-CORE (Experimento-01).

Análise de tráfego no RT-REDE-40 (Experimento-01)

Análise de tráfego no RT-REDE-40 comprova que a rede que origina ataques de nega- ção de serviços é a primeira vítima dessa ameaça. A Figura 5.16 detalha o tráfego de saída da Rede 40 antes, durante e depois do ataque de DDoS. As rajadas de pacotes maliciosos rapidamente atingem a capacidade máxima de transmissão do roteador, deixando a inter- face de saída inundada com tráfego inútil. Como consequência, a taxa de bits transmitidos por segundo é reduzida, como observado na Figura 5.17. 68 CAPÍTULO 5. SMART DEFENDER

Rede 40 (Saída)

5 10 Pacotes por segundo

4 10

15:5115:5215:5315:5415:5515:5615:5715:5815:5916:0016:0116:0216:0316:0416:0516:0616:0716:0816:0916:1016:1116:1216:1316:1416:1516:1616:1716:1816:1916:2016:2116:2216:2316:2416:25 Tempo

Figura 5.16: Tráfego em pps no RT-REDE-40 (Experimento-01).

Rede 40 (Saída)

9 10 Bits por segundo

8 10

15:5115:5215:5315:5415:5515:5615:5715:5815:5916:0016:0116:0216:0316:0416:0516:0616:0716:0816:0916:1016:1116:1216:1316:1416:1516:1616:1716:1816:1916:2016:2116:2216:2316:2416:25 Tempo

Figura 5.17: Tráfego em bps no RT-REDE-40 (Experimento-01).

Análise das detecções (Experimento-02)

No Experimento-02, com o sistema Smart Defender ativado, foi inicialmente avaliado o desempenho do sistema em termos de detecção. Conforme observado na Figura 5.18, o sistema identificou o primeiro tráfego malicioso às 10h54m16s, doze segundos após o ataque ter sido iniciado. Em seguida, foram registradas mais três ocorrências de DDoS com destino à vítima, separadas por intervalos de aproximadamente cinco minutos. Esse comportamento reflete a atuação da política de controle de tráfego configurada no Smart Protection que, nesse caso, não bloqueou definitivamente o dispositivo atacante logo no primeiro evento, em vez disso, adotou uma estratégia progressiva de controle do tráfego 5.3. SMART PROTECTION 69 malicioso.

8 tcp_flood (C100-01 -> VM-30) tcp_flood (C100-02 -> VM-30) 7 tcp_flood (C100-03 -> VM-30) udp_flood (C200-01 -> VM-30) 6 udp_flood (C200-02 -> VM-30) udp_flood (C200-03 -> VM-30)

5

4 Detecções 3

2

1

0

10:54 10:55 10:56 10:57 10:58 10:59 11:00 11:01 11:02 11:03 11:04 11:05 11:06 11:07 11:08 11:09 11:10 11:11

Figura 5.18: Detecção realizadas (Experimento-02).

O tempo de resposta do sistema foi abaixo de um minuto entre o início do ataque e a aplicação da primeira ação de mitigação. Esse tempo de reação é bem menor do que a média mundial indicada no 14o Relatório Anual Mundial de Segurança de Infraestrutura (Netscout 2019), que aponta um tempo médio de reação de trinta e sete minutos.

Análise de tráfego no RT-CORE (Experimento-02)

O tráfego de rede no roteador RT-CORE, com o Smart Defender em execução, apre- sentou um comportamento compatível com a política de controle de tráfego aplicada pelo sistema Smart Protection. No início da avaliação, quando apenas transmissões legítimas estavam em andamento, não houve alterações relevantes na taxa de transmissão da rede. Entretanto, quando o ataque DDoS foi iniciado, houve um aumento expressivo na taxa de transmissão de pacotes que afetou todas as redes conectadas ao RT-CORE, conforme ilustrado na Figura 5.19. Esse comportamento se repetiu seguidamente sempre que o DDoS inundou a rede com rajadas de pacotes. Porém, por causa da atuação do sistema de proteção, o tráfego indesejado foi controlado no provedor de origem, o que permitiu que a rede retornasse à condição de estabilidade. Ao contrário do que aconteceu no Experimento-01, a taxa de transmissão de dados da rede foi pouco afetada no Experimento-02, por causa da atuação do Smart Protection, conforme observado na Figura 5.19. A redução na taxa de transmissão para a Rede 30, observada na Figura 5.19, após 70 CAPÍTULO 5. SMART DEFENDER

Rede 10 Rede 20 Rede 30

5 10 Pacontes por Segundo

4 10

10:4710:4810:4910:5010:5110:5210:5310:5410:5510:5610:5710:5810:5911:0011:0111:0211:0311:0411:0511:0611:0711:0811:0911:1011:1111:1211:1311:1411:1511:1611:1711:18 Tempo

Figura 5.19: Tráfego em pps no RT-CORE (Experimento-02).

8 10

Rede 10 7 10 Rede 20 Rede 30 Bits por segundo

6 10

10:4710:4810:4910:5010:5110:5210:5310:5410:5510:5610:5710:5810:5911:0011:0111:0211:0311:0411:0511:0611:0711:0811:0911:1011:1111:1211:1311:1411:1511:1611:1711:18 Tempo

Figura 5.20: Tráfego em bps no RT-CORE (Experimento-02).

a primeira intervenção do Smart Protection, às 10h55m, ocorreu porque o host C100- 03 transmitia simultaneamente tráfego legítimo e tráfego de ataque para o host VM-30, usando o protocolo TCP, como indicado na Tabela 5.11. Por causa do bloqueio realizado, a transmissão legítima foi interrompida e os processos foram encerrados, ao contrário dos processos atacantes que continuaram em execução. A filtragem de tráfego legítimo entre os hosts atacante e vítima é positiva na maioria dos casos, pois essa é uma das estraté- gias usadas pelos hackers para confundir os sistemas de proteção durante a realização de ataques. 5.4. RESUMO 71

Comparação com trabalhos semelhantes

Comparado com alguns trabalhos semelhantes recentes disponíveis na literatura, o Smart Protection apresentou um desempenho competitivo, conforme listado na Tabela 5.12.

Tabela 5.12: Comparação com abordagens de proteção. Trabalho Atuação Distribuída Início de mitigação Sahay et al. (2017)  ≤ 35 Segundos Hong et al. (2018)  ≤ 5 Segundos Liu et al. (2019)  ≤ 5 Segundos Smart Protection  ≤ 30 Segundos

A abordagem proposta por Sahay et al. (2017) apresentou um tempo de resposta em torno de 35 segundos, próximo aos 30 segundos que foi obtido pelo Smart Defender. As duas propostas abordam soluções distribuídas para o problema, o que requer uma comu- nicação entre os sistemas de detecção e proteção. Por esse motivo, abordagens com essa estrutura possuem um tempo maior para iniciar a mitigação. Entretanto, o impacto cau- sado pela ação de mitigação é mais efetiva, uma vez que o controle do tráfego malicioso é realizado mais próximo à fonte do ataque. Por outro lado, as propostas apresentadas por Hong et al. (2018) e Liu et al. (2019) obtiveram um tempo de reação menor, próximo de cinco segundos. Contudo, as soluções locais propostas por esses autores atuam exclusiva- mente no lado da vítima do ataque. Embora essa estratégia reduza o tempo de resposta ao ataque, o impacto final da mitigação é menor, por vezes ineficaz, uma vez que o tráfego malicioso será processado por todo o caminho de rede entre o atacante e o alvo.

5.4 Resumo

Neste capítulo foi apresentado o sistema Smart Defender, proposto nesta tese como uma estratégia para detecção e mitigação de ataques de DDoS. Ao longo das seções fo- ram detalhadas as arquiteturas, modelos individuais de funcionamento de cada proposta, bem como a estratégia de comunicação entre o sistema de detecção Smart Detection e o sistema de proteção Smart Protection, que integram essa solução distribuída de com- bate aos ataques de negação de serviços. Além disso, foram detalhadas as metodologias e experimentos realizados, devidamente acompanhada da análise dos resultados obtidos, incluindo uma comparação com trabalhos recentes da literatura. O sistema Smart Detection usa o algoritmo Random Forest Tree para classificar o tráfego de rede com base em amostras coletadas pelo protocolo sFlow diretamente de dis- 72 CAPÍTULO 5. SMART DEFENDER positivos de rede. Várias experiências foram realizadas para calibrar e avaliar o desempe- nho do sistema. Individualmente, o sistema de detecção foi avaliado com base no dataset autoral desenvolvido ao longo da pesquisa, e nos datasets CIC-DoS, CICIDS2017 e CSE- CIC-IDS2018, presentes na literatura. O Smart Detection foi capaz de classificar vários tipos de ataques de DDoS, tais como TCP Flood, UDP Flood, HTTP Flood e HTTP Slow. Além disso, o desempenho do método proposto foi comparado com abordagens recentes da literatura, mostrando-se competitivo em termos métricas de qualidade. Com base nos resultados experimentais, o Smart Detection oferece taxas de detecção (TD), falso alarme

(TAF ) e precisão (PR) destacadas. Para os datasets CIC-DoS e CSE-CIC-IDS2018, por exemplo, o sistema proposto obteve TD e PR maior que 93%, com TAF menor que 1%, utilizando uma taxa de amostragem de 20% do tráfego de rede. Em relação a mitigação dos ataques de DDoS, o modelo proposto focou principal- mente na rápida neutralização do tráfego malicioso próximo da origem do ataque. Neste sentido, Smart Protection foi projetado e desenvolvido para operar como uma aplicação dentro do controlador SDN. Nesse contexto, o sistema de proteção pode aplicar as ações de controle do tráfego de ataque de forma abrangente e granular dentro da rede atacante, respeitando-se a política de segurança local. Essa estratégia garante a autonomia adminis- trativa da rede onde o sistema opera e permite a aplicação do controle de tráfego nos ati- vos de rede onde o host atacante está diretamente conectado. Os resultados experimentais mostraram que o Smart Protection foi capaz de mitigar um ataque de DDoS volumétrico em menos de um minuto, por meio do isolamento do tráfego da porta do switch OpenFlow onde o host atacante estava conectado. Comparado às outras abordagens distribuídas, o tempo de resposta ao ataque alcançado pelo Smart Defender mostrou-se ligeiramente mais rápido do que em outras propostas presentes na literatura. Capítulo 6

Conclusões

Esta tese foi desenvolvida com o objetivo de propor uma solução para minimizar os problemas causados por ataques de negação de serviços em redes de computadores, e resultou na proposição de um novo sistema denominado Smart Defender. Nesse novo sistema, a detecção precoce dos ataques foi tratada como a solução para um problema de classificação de dados, sendo endereçada pelo sub-sistema Smart Detection. Por sua vez, a mitigação dos ataques foi tratada por uma abordagem distribuída, endereçada pelo sub-sistema Smart Protection. A integração entre os sub-sistemas de detecção e proteção ocorre por meio de mensagens de notificação de ataques, baseadas em um serviço em nuvem para compartilhamento de informações. O Smart Detection utiliza uma técnica de aprendizagem de máquina, denominada Random Forest, para realizar a classificação do tráfego de rede. Aqui, o foco principal foi o desenvolvimento de um sistema de predição computacionalmente viável, capaz de identificar uma ampla gama de ataques de DDoS, com baixo impacto de implantação na infraestrutura da rede pré-existente. O método proposto foi avaliado usando diferentes da- tasets da literatura, se destacando, principalmente, pela alta taxa de acerto e baixa taxa de alarmes falsos. Adicionalmente, o Smart Detection apresenta como vantagem a utilização de protocolos de rede que seguem o padrão da indústria, baixo impacto de implantação e facilidade de integração com sistemas de proteção. O sistema de mitigação proposto abordou o controle do tráfego malicioso no con- texto de redes SDN. Desse modo, o Smart Protection foi modelado como uma aplicação integrante do controlador SDN com foco no conhecimento da topologia da rede e no ge- renciamento das medidas protetivas. As ações de mitigação foram baseadas em critérios objetivos definidos a partir das informações contidas nas mensagens de notificação de ataque reportadas pelo sistema de detecção. O sistema foi avaliado de forma integrada, ou seja, todos os componentes da solução Smart Defender dialogaram durante os testes. Os resultados experimentais mostraram 74 CAPÍTULO 6. CONCLUSÕES que a solução proposta foi capaz de detectar e isolar rapidamente o tráfego de ataque, diretamente na rede do host atacante. Essa abordagem apresenta como principal vantagem a redução do impacto dos ataques DDoS em toda a infraestrutura de rede ao longo do caminho entre o atacante e a vítima. Embora este trabalho apresente um estudo abrangente sobre detecção e mitigação de ataques DDoS, devidamente acompanhado de experimentos e resultados, alguns cenários e perspectivas do problema não foram incluídas no escopo final desta tese. Neste sentido, destaca-se a avaliação de desempenho do sistema proposto utilizando outras estratégias de amostragens de tráfego, como IP flow-based sampling, Qiao et al. (2012), e Selective flow sampling, Kalkitware (2016). Aliado a isso, o detalhamento da configuração dos parâmetros para cada estratégia de amostragem na perspectiva da detecção de ataques lentos e volumétricos, bem como um estudo detalhado sobre o desempenho do Smart Defender em cenários de DDoS e Flash Events.

6.1 Trabalhos Futuros

Como continuidade dos estudos realizados nesta tese de doutorado, as seguintes pro- postas de trabalhos futuros são sugeridas:

• Avaliação de desempenho do Smart Detection utilizando outras estratégias de amos- tragens de tráfego, como IP flow-based sampling e Selective flow sampling; • Avaliação de desempenho do Smart Detection em cenários contendo ataques DDoS e Flash Events; • Desenvolvimento de estratégia de auto-configuração dos parâmetros do sistema ba- seado no ambiente de rede de operação; • Adaptação da metodologia utilizada para identificação de novos tipos de ameaças de rede, tais como ataques cross site scripting e SQL injection; • Adaptação da metodologia utilizada de forma a permitir embarcar a solução em hardware para utilização em cenários específicos, tais como redes industriais, IoT e residenciais; • Aprimoramento do mecanismo coletor de amostras de tráfego para suportar outros protocolos de rede, tais como IPv6, NetFlow e IPFIX; • Avaliação do método proposto em um ambiente de maior abrangência, como a Rede Nacional de Pesquisa (RNP); • Adaptação e avaliação do método proposto em ambientes SDN e de computação em nuvem. 6.2. PRODUÇÃO CIENTÍFICA 75

6.2 Produção Científica

Ao longo do desenvolvimento dessa pesquisa de doutorado foram produzidos alguns trabalhos científicos relacionados ao tema, conforme apresentado na Tabela 6.1.

Tabela 6.1: Produção científica. Veículo Título Autores Security and Communi- Smart Detection: An Online Francisco S. L. Filho, cation Networks Approach for DoS/DDoS At- Frederico A. F. Silveira, tack Detection Using Machine Agostinho M. B. Ju- Learning nior, Genoveva V. Solar e Luiz F. Silveira Code Ocean Smart-Detection: Feature se- Francisco S. L. Filho, lection algorithm Frederico A. Silveira, Agostinho M. B. Junior, Genoveva V. Solar, Luiz F. Silveira IEEE Dataport Smart Defender Dataset Francisco S. L. Filho IX Conferência Nacional Sensor IoT para Detecção de Frederico A. F. Silveira, em Comunicações, Re- DDoS Francisco S. L. Filho, des e Segurança da Infor- Agostinho M. B. Junior e mação Luiz F. Silveira 76 CAPÍTULO 6. CONCLUSÕES Referências Bibliográficas

Aamir, Muhammad & Syed Mustafa Ali Zaidi (2019), ‘Clustering based semi-supervised machine learning for DDoS attack classification’, Journal of King Saud University - Computer and Information Sciences In press(xxxx). URL: https://doi.org/10.1016/j.jksuci.2019.02.003

Al-Fuqaha, Ala I., Mohsen Guizani, Mehdi Mohammadi, Mohammed Aledhari & Moussa Ayyash (2015), ‘Internet of things: A survey on enabling technologies, pro- tocols, and applications’, IEEE Communications Surveys and Tutorials 17(4), 2347– 2376. URL: https://doi.org/10.1109/COMST.2015.2444095

Anderson, J P (1980), ‘Computer security threat monitoring and surveillance’, Technical Report James P Anderson Co Fort Washington Pa p. 56. URL: http://www.citeulike.org/user/animeshp/article/592588

Axelsson, Stefan (2000), ‘Intrusion Detection Systems : A Survey and Taxonomy’, 99(April 2000), 1–27.

Banko, Michele & Eric Brill (2001), Scaling to very very large corpora for natural lan- guage disambiguation, em ‘39th Annual Meeting on Association for Computational Linguistics’, ACM, Toulouse, pp. 26–33. URL: https://dl.acm.org/citation.cfm?id=1073017

Bawany, Narmeen Zakaria & Jawwad A Shamsi (2019), ‘SEAL: SDN based secure and agile framework for protecting smart city applications from DDoS attacks’, Journal of Network and Computer Applications 145(June), 102381. URL: https://doi.org/10.1016/j.jnca.2019.06.001

Behal, Sunny & Krishan Kumar (2017), ‘Detection of DDoS attacks and flash events using information theory metrics–An empirical investigation’. URL: http://dx.doi.org/10.1016/j.comcom.2017.02.003

77 78 REFERÊNCIAS BIBLIOGRÁFICAS

Behal, Sunny, Krishan Kumar & Monika Sachdeva (2018), ‘D-FACE: An anomaly based distributed approach for early detection of DDoS attacks and flash events’, Journal of Network and Computer Applications 111(January), 49–63. URL: https://doi.org/10.1016/j.jnca.2018.03.024

Breiman, L. (2001), ‘Random Forests’, Machine Learning 45(1), 5–32.

Breiman, Leo, Jerome H. Friedman, Richard A. Olshen & Charles J. Stone (1984), Clas- sification and regression trees, Chapman & Hall/CRC.

Cambiaso, Enrico, Gianluca Papaleo & Maurizio Aiello (2012), Taxonomy of slow DoS attacks to web applications, em ‘Communications in Computer and Information Sci- ence’, Vol. 335 CCIS, Springer, pp. 195–204.

Cao, Yuan, Yuan Gao, Rongjun Tan, Qingbang Han & Zhuotao Liu (2018), ‘Understan- ding internet DDoS Mitigation from academic and industrial perspectives’, IEEE Access 6, 66641–66648.

Chang, Rocky K.C. (2002), ‘Defending against flooding-based distributed denial-of- service attacks: A tutorial’, IEEE Communications Magazine 40(10), 42–51.

Cisco & San Jose (2019), ‘Cisco visual networking index (VNI) global mobile data traffic forecast update, 2017-2022 white paper’, Ca, Usa pp. 3–5. URL: http://www.gsma.com/spectrum/wp-content/uploads/2013/03/Cisco_VNI- global-mobile-data-traffic-forecast-update.pdf

Claise, B (2004), ‘Cisco Systems NetFlow Services Export Version 9’, Request for Com- ments pp. 1–33. URL: https://www.rfc-editor.org/info/rfc3954

Criscuolo, Paul J (2000), Distributed denial of service: Trin00, tribe flood network, tribe flood network 2000, and stacheldraht ciac-2319, Relatório técnico, California Univ Livermore Radiation Lab.

Denning, Dorothy E (1987), ‘Intrusion Detection Model’, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 13(2), 222–233.

Dong, Shi, Khushnood Abbas & Raj Jain (2019), ‘A Survey on Distributed Denial of Service (DDoS) Attacks in SDN and Cloud Computing Environments’, IEEE Access 7, 80813–80828. REFERÊNCIAS BIBLIOGRÁFICAS 79

Douligeris, Christos & Aikaterini Mitrokotsa (2004), ‘DDoS attacks and defense mecha- nisms: Classification and state-of-the-art’, Computer Networks 44(5), 643–666.

Dousti, Ramin, Scalzo Frank & Bhogavilli Suresh (2018), ‘AUTOMATED DDOS AT- TACK MITIGATION VIA BGP MESSAGING’.

Ganapathy, Sannasi, Kanagasabai Kulothungan, Sannasy Muthurajkumar, Muthusamy Vijayalakshmi, Palanichamy Yogesh & Arputharaj Kannan (2013), ‘Intelligent fea- ture selection and classification techniques for intrusion detection in networks: a sur- vey’, EURASIP Journal on Wireless Communications and Networking 2013(1), 271. URL: http://jwcn.eurasipjournals.com/content/2013/1/271

Géron, Aurélien (2017), Hands-on machine learning with Scikit-Learn and TensorFlow: concepts, tools, and techniques to build intelligent systems, "O’Reilly Media, Inc.".

Giotis, K., C. Argyropoulos, G. Androulidakis, D. Kalogeras & V. Maglaris (2014), ‘Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments’, Computer Networks 62, 122– 136. URL: http://dx.doi.org/10.1016/j.bjp.2013.10.014

Gligor, Virgil D. (1984), ‘A Note on Denial-of-Service in Operating Systems’, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING SE-10(3), 320–324.

Grafov, Alexander (2016), ‘Hulk DoS tool’. URL: https://github.com/grafov/hulk

Hong, Kiwon, Youngjun Kim, Hyungoo Choi & Jinwoo Park (2018), ‘SDN-Assisted Slow HTTP DDoS Attack Defense Method’, IEEE Communications Letters 22(4), 688–691.

Hoque, Nazrul, Dhruba K. Bhattacharyya & Jugal K. Kalita (2015), ‘Botnet in DDoS Attacks: Trends and Challenges’, IEEE Communications Surveys and Tutorials 17(4), 2242–2270.

Hosseini, Soodeh & Mehrdad Azizi (2019), ‘The Hybrid Technique for DDoS Detection with Supervised Learning Algorithms’, Computer Networks 158, 35–45. URL: https://www.sciencedirect.com/science/article/pii/S1389128618306881 80 REFERÊNCIAS BIBLIOGRÁFICAS

Hyndman, Rob J & Yanan Fan (1996), ‘Sample Quantiles in Statistical Packages’, Statis- tical Computing 50(4), 361–365. URL: http://www.jstor.org/stable/2684934

Jalan, Rajkumar, Gurudeep Kamat & Ronald Szeto (2018), ‘MITIGATING TCP SYN DDOS ATTACKS USING TCP RESET’.

Jazi, Hossein Hadian, Hugo Gonzalez, Natalia Stakhanova & Ali A Ghorbani (2017), ‘Detecting HTTP-based application layer DoS attacks on web servers in the presence of sampling’, Computer Networks 121, 25–36.

Jombart, Nicolas, Denis Ducamp, Yann Berthier & Stephane Aubert (2014), ‘hping’. URL: http://www.hping.org/

Kalkitware, Divya Vinod (2016), ‘Improving network anomaly detection via selective flow-based sampling’, Engineering and Technology 2(3), 215–222.

Kemp, Simon (2019), GLOBAL DIGITAL YEARBOOK, Relatório técnico, DataRepor- tal. URL: https://datareportal.com/reports/digital-2019-q4-global-digital- statshotdigital-2019-ghana

Kottler, Sam (2018), ‘February 28th DDoS Incident Report’. URL: https://github.blog/2018-03-01-ddos-incident-report/

Kumar, Krishan, R C Joshi & Kuldip Singh (2007), ‘A distributed approach using entropy to detect DDoS attacks in ISP domain’, Proceedings of ICSCN 2007: International Conference on Signal Processing Communications and Networking pp. 331–337.

Liu, Zhuotao, Yuan Cao, Min Zhu & Wei Ge (2019), ‘Umbrella: Enabling ISPs to offer readily deployable and privacy-preserving DDoS prevention services’, IEEE Tran- sactions on Information Forensics and Security 14(4), 1098–1108.

Loh, Wei-Yin (2011), ‘Classification and regression trees’, WIREs Data Mining and Kno- wledge Discovery 1(February), 14–23. URL: http://pages.stat.wisc.edu/ loh/treeprogs/guide/wires11.pdf

Louppe, Gilles, Louis Wehenkel, Antonio Sutera & Pierre Geurts (2013), ‘Understanding variable importances in forests of randomized trees’, Advances in Neural Informa- tion Processing Systems 26 pp. 431–439. REFERÊNCIAS BIBLIOGRÁFICAS 81

Mallikarjunan, K. Narasimha, K. Muthupriya & S. Mercy Shalinie (2016), ‘A survey of distributed denial of service attack’, Proceedings of the 10th International Confe- rence on Intelligent Systems and Control, ISCO 2016 .

Mark Gates & Alex Warshavsky (2015), ‘Iperf3’.

Marzano, A., D. Alexander, O. Fonseca, E. Fazzion, C. Hoepers, K. Steding-Jessen, M. H. P. C. Chaves, I. Cunha, D. Guedes & W. Meira (2018), The evolution of and mirai iot , em ‘2018 IEEE Symposium on Computers and Communications (ISCC)’, pp. 00813–00818.

Mirkovic, Jelena & Peter Reiher (2004), ‘A taxonomy of DDoS attack and DDoS defense mechanisms’, ACM SIGCOMM Computer Communication Review 34(2), 39. URL: http://portal.acm.org/citation.cfm?doid=997150.997156

Mitchell, Tom M. (1997), Machine Learning, McGraw-Hill Science/Engineering/Math.

Mohamad Noor, Mardiana binti & Wan Haslina Hassan (2019), ‘Current research on Internet of Things (IoT) security: A survey’, Computer Networks 148, 283–294. URL: https://doi.org/10.1016/j.comnet.2018.11.025

Netscout (2019), NETSCOUT’s 14th Annual Worldwide Infrastructure Security Report, Relatório técnico, NETSCOUT SYSTEMS, INC. URL: https://www.netscout.com/press-releases/netscout-releases-14th-annual- worldwide-infrastructure

Newman, Sean (2019), ‘Under the radar: the danger of stealthy DDoS attacks’, Network Security 2019(2), 18–19. URL: http://dx.doi.org/10.1016/S1353-4858(19)30025-X

ONF (2015), ‘OpenFlow Switch Specification Version 1.5.1 ( Protocol version 0x06 ) M’. URL: http://www.opennetworking.org

Pedregosa, Fabian, Gael Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thi- rion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Du- bourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot & Edouard Duchesnay (2012), ‘Scikit-learn: Machine Learning in Python’, Journal of Machine Learning Research 12, 2825–2830. URL: http://dl.acm.org/citation.cfm?id=2078195 82 REFERÊNCIAS BIBLIOGRÁFICAS

Peng, Tao, Christopher Leckie & Kotagiri Ramamohanarao (2007), ‘Survey of network- based defense mechanisms countering the DoS and DDoS problems’, ACM Compu- ting Surveys 39(1), 3–es. URL: http://portal.acm.org/citation.cfm?doid=1216370.1216373

Pfaff, Ben, Justin Pettit, Teemu Koponen, Ethan Jackson, Andy Zhou, Jarno Ra- jahalme, Jesse Gross, Alex Wang, Joe Stringer, Pravin Shelar, Keith Amidon, Awake Networks & Martín Casado (2015), ‘The Design and Implementation of Open vSwitch’, Nsdi pp. 117–130. URL: https://www.openvswitch.org/

Phaal, Peter & Marc Lavine (2004), ‘sFlow Version 5’. URL: http://sflow.org/sflow_version_5.txt

Phan, Trung V. & Minho Park (2019), ‘Efficient distributed denial-of-service attack de- fense in sdn-based cloud’, IEEE Access 7, 18701–18714.

Postel (a), John (1980), ‘User Datagram Protocol’, Request for Comments pp. 1–3. URL: https://rfc-editor.org/rfc/rfc768.txt

Postel (b), John (1981), ‘Transmission Control Protocol’, Request for Comments pp. 1– 85. URL: https://www.rfc-editor.org/info/rfc0793

Postel, John (1981), ‘Internet Protocol’, Request for Comments pp. 1–45. URL: http://tools.ietf.org/pdf/rfc791.pdf

Qiao, Pan, Yong Feng Huang & Pei Feng Zeng (2012), ‘Reduction of traffic sampling impact on anomaly detection’, ICCSE 2012 - Proceedings of 2012 7th International Conference on Computer Science and Education 2(Iccse), 438–443.

Quinlan, J. R. (1986), ‘Induction to Decion Trees’, Machine Learning 1, 81–106.

Roman, Rodrigo, Jianying Zhou & Javier Lopez (2013), ‘On the features and challen- ges of security and privacy in distributed internet of things’, Computer Networks 57(10), 2266–2279. URL: http://dx.doi.org/10.1016/j.comnet.2012.12.018

RYU, Project (2019), ‘RYU SDN Framework’. URL: https://osrg.github.io/ryu/index.html REFERÊNCIAS BIBLIOGRÁFICAS 83

Sahay, Rishikesh, Gregory Blanc, Zonghua Zhang & Hervé Debar (2017), ‘ArOMA: An SDN based autonomic DDoS mitigation framework’, Computers and Security 70, 482–499. URL: https://doi.org/10.1016/j.cose.2017.07.008

Sahay, Rishikesh, Weizhi Meng & Christian D Jensen (2019), ‘The application of Soft- ware Defined Networking on securing computer networks: A survey’. URL: https://doi.org/10.1016/j.jnca.2019.01.019

Schuba, C.L., I.V. Krsul, M.G. Kuhn, E.H. Spafford, A. Sundaram & D. Zamboni (1997), Analysis of a denial of service attack on TCP, em ‘IEEE Symposium on Security and Privacy’, IEEE, pp. 208–223.

Seidl, Jan (2017), ‘GoldenEye’.

Sharafaldin, Iman, Arash Habibi Lashkari & Ali A. Ghorbani (2018), Toward Genera- ting a New Intrusion Detection Dataset and Intrusion Traffic Characterization, em ‘ICISSP 2018 - 4th International Conference on Information Systems Security and Privacy’, CIC, pp. 108–116.

Shekyan, Sergey (2016), ‘SlowHTTPTest’. URL: https://github.com/shekyan/slowhttptest

Shiravi, Ali, Hadi Shiravi, Mahbod Tavallaee & Ali A Ghorbani (2012), ‘Toward develo- ping a systematic approach to generate benchmark datasets for intrusion detection’, Computers and Security 31(3), 357–374.

Simpson, Steven, Syed Noorulhassan Shirazi, Angelos Marnerides, Simon Jouet, Dimi- trios Pezaros & David Hutchison (2018), ‘An Inter-domain Collaboration Scheme to Remedy DDoS Attacks in Computer Networks’, IEEE Transactions on Network and Service Management pp. 1–14.

Singh, Karanpreet, Paramvir Singh & Krishan Kumar (2017), ‘Application layer HTTP- GET flood DDoS attacks: Research landscape and challenges’, Computers and Se- curity 65, 344–372.

Sokolova, Marina & Guy Lapalme (2009), ‘A systematic analysis of performance mea- sures for classification tasks’, Information Processing and Management 45(4), 427– 437. URL: http://dx.doi.org/10.1016/j.ipm.2009.03.002 84 REFERÊNCIAS BIBLIOGRÁFICAS

Tavallaee, Mahbod, Ebrahim Bagheri, Wei Lu & Ali A Ghorbani (2009), A detailed analy- sis of the KDD CUP 99 data set, em ‘IEEE Symposium on Computational Intelli- gence for Security and Defense Applications, CISDA 2009’, número July em ‘CIC’, IEEE, p. 6. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5356528

Turner, Aaron (2013), ‘Tcpreplay’. URL: https://tcpreplay.appneta.com/

Vlajic, Natalija & Daiwei Zhou (2018), ‘IoT as a Land of Opportunity for DDoS Hac- kers’, Computer 51(7), 26–34.

Wang, Chenxu, Tony T.N. Miu, Xiapu Luo & Jinhe Wang (2018), ‘SkyShield: A sketch- based defense system against application layer DDoS attacks’, IEEE Transactions on Information Forensics and Security 13(3), 559–573.

Wang, Yadong, Lianzhong Liu, Bo Sun & Yingbo Li (2015), ‘A Survey of Defense Me- chanisms Against Distributed Denial of Service (DDoS) Flooding Attacks’, 2015 6th IEEE International Conference on Software Engineering and Service Science, 2015 ICSESS pp. 1034–1037.

Yu, Che Fn & Virgil D. Gligor (1990), ‘A Specification and Verification Method for Pre- venting Denial of Service’, IEEE Transactions on Software Engineering 16(6), 581– 592.

Zargar, Saman Taghavi, James Joshi & David Tipper (2013), ‘A survey of defense mecha- nisms against distributed denial of service (DDOS) flooding attacks’, IEEE Commu- nications Surveys and Tutorials 15(4), 2046–2069.