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
Abrir arquivo
Autor
Orientador
Heinrich, Ralph RobertData de publicação
10/12/2020Tipo de conteúdo
Trabalho de Conclusão de CursoPrograma de Pós-Graduação
Não se aplicaDireitos de acesso
Acesso abertoMetadados
Mostrar registro completoResumo
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.
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.
Palavras-chave
Árvore de decisãoCICDDoS2019
DDoS
KDD
Machine learning
Decision tree