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
Autor(a) principal: | |
---|---|
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_ |
1807210237663379456 |