Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake

Detalhes bibliográficos
Autor(a) principal: Santos, Bruno Matheus dos
Data de Publicação: 2020
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional PUC-Campinas
Texto Completo: http://repositorio.sis.puc-campinas.edu.br/xmlui/handle/123456789/14658
Resumo: Em 2019, foi estimado que a inoperabilidade de um sistema interno causada pelo ataque de negação de serviço, pode gerar, em uma hora, prejuízos financeiros de US$ 300 mil a US$ 1 milhão para as empresas. Esta interrupção gera prejuízos financeiros, operacionais e reputacionais. O Brasil está entre os maiores emissores de ataques DDoS (Distributed Denial of Service, em inglês), figurando a quarta posição, atrás da China, Estados Unidos e Coreia do Sul que ocupam a primeira, segunda e terceira posição, respectivamente. O ataque de negação de serviço SYN flood consome os recursos dos servidores, no qual o requisitante envia diversos pacotes SYN para estabelecer uma conexão, porém ignora a confirmação do recebimento SYN-ACK para o servidor no three-way handshake. A baixa complexidade de execução deste ataque faz com que aumente a demanda do mercado em fornecer soluções eficazes que, mesmo não eliminando o risco, sejam capazes de reduzir os impactos. A criação de uma solução definitiva capaz de prever e detectar a finalidade dos pacotes é barrada pela constante mudança de características nos ataques. O aprendizado de máquina é uma ferramenta que pode auxiliar na predição e detecção destes ataques, porém a utilização de inteligência artificial necessita de um grande volume de dados, alimentando modelos que serão treinados. Desafios na utilização dos datasets incluem o número de features do dataset que descrevem o comportamento da rede na troca de pacotes, bem como o tamanho do dataset, que sendo consideravelmente grande, torna o tempo de treinamento do modelo muito alto, porém uma vez que o modelo está treinado, a detecção do ataque é realizada em menor tempo. Este trabalho apresenta um modelo treinado de aprendizado de máquina para a detecção de ataques distribuídos de negação de serviço, utilizando o dataset fornecido pela Universidade de Brunswick (Canadá). Os dados de tráfego de rede foram analisados utilizando modelos estatísticos aplicados às técnicas de aprendizado de máquina através do editor Google Colaboratory e da biblioteca para aprendizado de máquina Scikit-Learn. A seleção das features mais importantes, o treinamento, o teste e a validação do modelo foram feitos com o algoritmo Random forest, utilizando o método StratifiedK-Fold para separação das amostras de treino e teste, e as medidas de desempenho utilizadas foram Acurácia, Precisão, Revocação e Pontuação F1. Além da assertividade geral relatada nos resultados, este trabalho apresenta uma análise do impacto das features mais importantes na detecção do ataque. Para trabalhos futuros é possível alterar a saída do algoritmo para indicar, além do resultado, o tipo de ataque que foi detectado pelo modelo criado.
id PUC_CAMP-5_5189ca16eec7d1fc052d4da059a6b011
oai_identifier_str oai:repositorio.sis.puc-campinas.edu.br:123456789/14658
network_acronym_str PUC_CAMP-5
network_name_str Repositório Institucional PUC-Campinas
repository_id_str
spelling Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshakeÁrvore de decisãoCICDDoS2019DDoSKDDMachine learningDecision treeEm 2019, foi estimado que a inoperabilidade de um sistema interno causada pelo ataque de negação de serviço, pode gerar, em uma hora, prejuízos financeiros de US$ 300 mil a US$ 1 milhão para as empresas. Esta interrupção gera prejuízos financeiros, operacionais e reputacionais. O Brasil está entre os maiores emissores de ataques DDoS (Distributed Denial of Service, em inglês), figurando a quarta posição, atrás da China, Estados Unidos e Coreia do Sul que ocupam a primeira, segunda e terceira posição, respectivamente. O ataque de negação de serviço SYN flood consome os recursos dos servidores, no qual o requisitante envia diversos pacotes SYN para estabelecer uma conexão, porém ignora a confirmação do recebimento SYN-ACK para o servidor no three-way handshake. A baixa complexidade de execução deste ataque faz com que aumente a demanda do mercado em fornecer soluções eficazes que, mesmo não eliminando o risco, sejam capazes de reduzir os impactos. A criação de uma solução definitiva capaz de prever e detectar a finalidade dos pacotes é barrada pela constante mudança de características nos ataques. O aprendizado de máquina é uma ferramenta que pode auxiliar na predição e detecção destes ataques, porém a utilização de inteligência artificial necessita de um grande volume de dados, alimentando modelos que serão treinados. Desafios na utilização dos datasets incluem o número de features do dataset que descrevem o comportamento da rede na troca de pacotes, bem como o tamanho do dataset, que sendo consideravelmente grande, torna o tempo de treinamento do modelo muito alto, porém uma vez que o modelo está treinado, a detecção do ataque é realizada em menor tempo. Este trabalho apresenta um modelo treinado de aprendizado de máquina para a detecção de ataques distribuídos de negação de serviço, utilizando o dataset fornecido pela Universidade de Brunswick (Canadá). Os dados de tráfego de rede foram analisados utilizando modelos estatísticos aplicados às técnicas de aprendizado de máquina através do editor Google Colaboratory e da biblioteca para aprendizado de máquina Scikit-Learn. A seleção das features mais importantes, o treinamento, o teste e a validação do modelo foram feitos com o algoritmo Random forest, utilizando o método StratifiedK-Fold para separação das amostras de treino e teste, e as medidas de desempenho utilizadas foram Acurácia, Precisão, Revocação e Pontuação F1. Além da assertividade geral relatada nos resultados, este trabalho apresenta uma análise do impacto das features mais importantes na detecção do ataque. Para trabalhos futuros é possível alterar a saída do algoritmo para indicar, além do resultado, o tipo de ataque que foi detectado pelo modelo criado.In 2019, it was estimated that the inoperability of an internal system caused by the denial of service attack can generate, in an hour, financial losses of US$ 300,000 to US$ 1 million to companies. The interruption generates financial, operational and reputational losses. Brazil is among the largest emitters of DDoS (DistributedDenial of Service) attacks,with the fourthposition, behind China,a the United States and South Korea, which occupy the first, second and third positions, respectively. The SYN flood denial-of-service attack consumes the resources of the servers, in which the requester sends several SYN packets to establish a connection, but ignores the confirmation of the SYN-ACK receipt to the server on the three-way handshake. The low complexity of executing this attack increases market demand in providing effective solutions that, even if not eliminating risk, are able to reduce impacts. The creation of a definitive solution capable of predicting and detecting the purpose of packets is barred by the constant change of characteristics in attacks. Machine learning is a tool that can help in predicting and detecting these attacks, but the use of artificial intelligence requires a large volume of data, feeding models that will be trained. Challenges in using datasets include the number of dataset features that describe the behavior of the network in packet exchange, as well as the size of the dataset, which being considerably large, makes the model training time too high, but once the model is trained, attack detection is performed in a shorter time. This paper presents a trained machine learning model for detecting distributed denial of service attacks, using the dataset provided by the University of Brunswick (Canada). Network traffic data was analyzed using statistical models applied to machine learning techniques through the Google Colaboratory editor and scikit-learn machine learning library. The selection of the most important features, the training, testing and validation of the model were made with the Random forest algorithm, using the StratifiedK-Fold method for separation of training and tests amples, and the performance measurements used were Accuracy, Precision, Recall and F1 Score. In addition to the general assertiveness reported in the results, this paper presents an analysis of the impact of the most important features in the detection of the attack. For future jobs it is possible to change the output of the algorithm to indicate, in addition to the result, the type of attack that was detected by the created model.Pontifícia Universidade Católica de Campinas (PUC-Campinas)Heinrich, Ralph RobertPontifícia Universidade Católica de Campinas (PUC-Campinas)Santos, Bruno Matheus dos2021-05-21T13:57:25Z2021-05-21T13:57:25Z2020-12-10info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfhttp://repositorio.sis.puc-campinas.edu.br/xmlui/handle/123456789/14658porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional PUC-Campinasinstname:Pontifícia Universidade Católica de Campinas (PUC-CAMPINAS)instacron:PUC_CAMP2022-09-02T14:36:45Zoai:repositorio.sis.puc-campinas.edu.br:123456789/14658Repositório InstitucionalPRIhttps://repositorio.sis.puc-campinas.edu.br/oai/requestsbi.bibliotecadigital@puc-campinas.edu.bropendoar:2022-09-02T14:36:45Repositório Institucional PUC-Campinas - Pontifícia Universidade Católica de Campinas (PUC-CAMPINAS)false
dc.title.none.fl_str_mv Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
title Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
spellingShingle Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
Santos, Bruno Matheus dos
Árvore de decisão
CICDDoS2019
DDoS
KDD
Machine learning
Decision tree
title_short Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
title_full Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
title_fullStr Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
title_full_unstemmed Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
title_sort Modelos de aprendizado de máquina para a identificação de ataques distribuídos de negação de serviço (DDoS) no three-way handshake
author Santos, Bruno Matheus dos
author_facet Santos, Bruno Matheus dos
author_role author
dc.contributor.none.fl_str_mv Heinrich, Ralph Robert
Pontifícia Universidade Católica de Campinas (PUC-Campinas)
dc.contributor.author.fl_str_mv Santos, Bruno Matheus dos
dc.subject.por.fl_str_mv Árvore de decisão
CICDDoS2019
DDoS
KDD
Machine learning
Decision tree
topic Árvore de decisão
CICDDoS2019
DDoS
KDD
Machine learning
Decision tree
description Em 2019, foi estimado que a inoperabilidade de um sistema interno causada pelo ataque de negação de serviço, pode gerar, em uma hora, prejuízos financeiros de US$ 300 mil a US$ 1 milhão para as empresas. Esta interrupção gera prejuízos financeiros, operacionais e reputacionais. O Brasil está entre os maiores emissores de ataques DDoS (Distributed Denial of Service, em inglês), figurando a quarta posição, atrás da China, Estados Unidos e Coreia do Sul que ocupam a primeira, segunda e terceira posição, respectivamente. O ataque de negação de serviço SYN flood consome os recursos dos servidores, no qual o requisitante envia diversos pacotes SYN para estabelecer uma conexão, porém ignora a confirmação do recebimento SYN-ACK para o servidor no three-way handshake. A baixa complexidade de execução deste ataque faz com que aumente a demanda do mercado em fornecer soluções eficazes que, mesmo não eliminando o risco, sejam capazes de reduzir os impactos. A criação de uma solução definitiva capaz de prever e detectar a finalidade dos pacotes é barrada pela constante mudança de características nos ataques. O aprendizado de máquina é uma ferramenta que pode auxiliar na predição e detecção destes ataques, porém a utilização de inteligência artificial necessita de um grande volume de dados, alimentando modelos que serão treinados. Desafios na utilização dos datasets incluem o número de features do dataset que descrevem o comportamento da rede na troca de pacotes, bem como o tamanho do dataset, que sendo consideravelmente grande, torna o tempo de treinamento do modelo muito alto, porém uma vez que o modelo está treinado, a detecção do ataque é realizada em menor tempo. Este trabalho apresenta um modelo treinado de aprendizado de máquina para a detecção de ataques distribuídos de negação de serviço, utilizando o dataset fornecido pela Universidade de Brunswick (Canadá). Os dados de tráfego de rede foram analisados utilizando modelos estatísticos aplicados às técnicas de aprendizado de máquina através do editor Google Colaboratory e da biblioteca para aprendizado de máquina Scikit-Learn. A seleção das features mais importantes, o treinamento, o teste e a validação do modelo foram feitos com o algoritmo Random forest, utilizando o método StratifiedK-Fold para separação das amostras de treino e teste, e as medidas de desempenho utilizadas foram Acurácia, Precisão, Revocação e Pontuação F1. Além da assertividade geral relatada nos resultados, este trabalho apresenta uma análise do impacto das features mais importantes na detecção do ataque. Para trabalhos futuros é possível alterar a saída do algoritmo para indicar, além do resultado, o tipo de ataque que foi detectado pelo modelo criado.
publishDate 2020
dc.date.none.fl_str_mv 2020-12-10
2021-05-21T13:57:25Z
2021-05-21T13:57:25Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://repositorio.sis.puc-campinas.edu.br/xmlui/handle/123456789/14658
url http://repositorio.sis.puc-campinas.edu.br/xmlui/handle/123456789/14658
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Pontifícia Universidade Católica de Campinas (PUC-Campinas)
publisher.none.fl_str_mv Pontifícia Universidade Católica de Campinas (PUC-Campinas)
dc.source.none.fl_str_mv reponame:Repositório Institucional PUC-Campinas
instname:Pontifícia Universidade Católica de Campinas (PUC-CAMPINAS)
instacron:PUC_CAMP
instname_str Pontifícia Universidade Católica de Campinas (PUC-CAMPINAS)
instacron_str PUC_CAMP
institution PUC_CAMP
reponame_str Repositório Institucional PUC-Campinas
collection Repositório Institucional PUC-Campinas
repository.name.fl_str_mv Repositório Institucional PUC-Campinas - Pontifícia Universidade Católica de Campinas (PUC-CAMPINAS)
repository.mail.fl_str_mv sbi.bibliotecadigital@puc-campinas.edu.br
_version_ 1798415782852427776