Yazılım tanımlı ağlar üzerinde gerçekleştirilen veri aktarımının oluşturduğu ağ trafiğinin güvenli bir şekilde yönetilmesi büyük önem taşımaktadır. Gelişmiş ağ uygulamalarının artması ile veri miktarında artış yaşanmıştır. Bu artış neticesinde oluşan trafik yoğunluğunun kontrol edilebilmesi ve yönetilebilmesi amacı ile daha iyi bir sistem performansı sunan yeni bir ağ oluşturma mimarisi ve daha verimli trafik mühendisliği uygulamaları ortaya çıkmıştır. Bu uygulamalar sonucunda Yazılım Tanımlı Ağlar ile veri trafiğinin güvenli ve verimli bir şekilde yapılması sağlanmıştır. Makine öğrenme algoritmaları yardımıyla ağ güvenliğini tehdit eden zararlı yazılımlar ve uygulamalar engellenerek ağ trafiğinin güvenli bir şekilde gerçekleştirilmesi amaçlanmıştır. Bu tez çalışmasının amacı yazılım tanımlı ağlar üzerinde meydana gelen güvenlik tehditlerinin makine öğrenme algoritmaları ile tespit edilmesi ve kullanılan algoritmalar ile en az hatayla sınıflandırma yapılmasıdır. Bu çalışmada sanal makine üzerinde kurulan mininet ortamında yazılım tanımlı bir ağ tasarlanmıştır. Tasarlanan bu ağ yapısında güvenlik tehditlerini tespit edebilmek için makine öğrenme algoritmalarından Yapay Sinir Ağı, Rastgele Orman Algoritması, XGBoost, AdaBoost, GradientBoost algoritmaları kullanılmıştır. Kullanılan algoritmalar ile en az hata ile saldırı sınıflandırması yapılması sağlanmıştır. Kullanılan makine öğrenme algoritmalarında en iyi parametreleri belirlemek için Izgara Temelli Arama Algoritması kullanılmıştır. Bu arama algoritmasında en iyi parametreler belirlenirken RMSE değeri referans alınmıştır. Makine öğrenme algoritmalarının başarısını tespit edebilmek için ağ üzerinde elde edilen veri seti kullanılmıştır. Birleştirilen veri seti eğitim seti olarak kullanılmıştır. Test verisi olarak hping3 ile üretilen farklı parametrelere sahip veriler kullanılmıştır. Mininet ortamında DDoS saldırısı oluşturabilmek için hping3 programı ile trafik üretimi yapılmıştır. Ağ trafiğinde saldırı paketlerini sınıflandırmak için 2 sınıflı yapılandırma yapılmıştır. Yapılan sınıflandırma tehdit var (0) ve tehdit yok (1) olarak sınıflandırılmıştır. Elde edilen sonuçlara göre gerekli istatistikler incelenerek sonuç alınmıştır. Mininet ortamında tasarlanan yazılım tanımlı ağlara yapılan saldırıların çeşitli makine öğrenme algoritmaları ile tehdit olduğu ve tehdit olmadığı durumların tespiti yapılarak, tehdit olan durumların engellenebilmesi sağlanmaktadır. Ayrıca kullanılan makine öğrenme yöntemlerinden en az hata ile saldırı sınıflandırması yapılabilmesi sağlanmıştır. Elde edilen sonuçlara göre rastgele orman algoritmasının performans değerleri diğer algoritmalar ile kıyaslandığında daha iyi sonuçlar verdiği görülmüştür. Bu sonuçlar neticesinde Rastgele Orman Algoritma modeli sayesinde daha az hata ile saldırıların sınıflandırması yapılmış ve Rastgele Orman Algoritması ile daha verimli sonuçlar alınmıştır. Anahtar Kelimeler : Yazılım tanımlı ağlar, mininet, makine öğrenme algoritması, hping3.
It is of great importance that the network traffic generated by data transfer over software-defined networks is managed securely. With the increase in advanced network applications, the amount of data has increased. As a result of this increase, a new networking architecture that offers better system performance and more efficient traffic engineering applications have emerged in order to control and manage the traffic density. As a result of these applications, it was ensured that data traffic was carried out in a safe and efficient manner with Software Defined Networks. With the help of machine learning algorithms, it is aimed to carry out network traffic safely by preventing malicious software and applications that threaten network security. The aim of this thesis is to detect security threats on software-defined networks with machine learning algorithms and to classify them with the least error with the algorithms used. In this study, a software-defined network is designed in the mininet environment established on the virtual machine. Artificial Neural Network, Random Forest Algorithm, XGBoost, AdaBoost, GradientBoost algorithms from machine learning algorithms were used to detect security threats in this designed network structure. With the algorithms used, it is ensured that the attack classification is made with the least error. Grid Based Search Algorithm was used to determine the best parameters in the machine learning algorithms used. While determining the best parameters in this search algorithm, the RMSE value was taken as a reference. In order to determine the success of machine learning algorithms, the data set obtained on the network were used. The combined data set was used as the training set. Data with different parameters produced with hping3 were used as test data. In order to create a DDoS attack in the Mininet environment, traffic was generated with the hping3 program. A 2-class configuration has been made to classify attack packets in network traffic. The classification made is classified as threat (0) and no threat (1). According to the results obtained, the necessary statistics were examined and the results were obtained. With the help of various machine learning algorithms, it is ensured that the attacks on the software-defined networks designed in the Mininet environment are threats or not, and that the situations that are threats can be prevented. In addition, it has been ensured that attack classification can be made with the least error among the machine learning methods used. According to the results obtained, it was seen that the performance values of the random forest algorithm gave better results when compared to other algorithms. As a result of these results, thanks to the Random Forest Algorithm model, attacks were classified with less errors and more efficient results were obtained with the Random Forest Algorithm. Keywords : Software defined networks, mininet, machine learning algorithm, hping3.
Tez (Yüksek Lisans) - Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı, 2023.
Kaynakça var.
Yazılım tanımlı ağlar üzerinde gerçekleştirilen veri aktarımının oluşturduğu ağ trafiğinin güvenli bir şekilde yönetilmesi büyük önem taşımaktadır. Gelişmiş ağ uygulamalarının artması ile veri miktarında artış yaşanmıştır. Bu artış neticesinde oluşan trafik yoğunluğunun kontrol edilebilmesi ve yönetilebilmesi amacı ile daha iyi bir sistem performansı sunan yeni bir ağ oluşturma mimarisi ve daha verimli trafik mühendisliği uygulamaları ortaya çıkmıştır. Bu uygulamalar sonucunda Yazılım Tanımlı Ağlar ile veri trafiğinin güvenli ve verimli bir şekilde yapılması sağlanmıştır. Makine öğrenme algoritmaları yardımıyla ağ güvenliğini tehdit eden zararlı yazılımlar ve uygulamalar engellenerek ağ trafiğinin güvenli bir şekilde gerçekleştirilmesi amaçlanmıştır. Bu tez çalışmasının amacı yazılım tanımlı ağlar üzerinde meydana gelen güvenlik tehditlerinin makine öğrenme algoritmaları ile tespit edilmesi ve kullanılan algoritmalar ile en az hatayla sınıflandırma yapılmasıdır. Bu çalışmada sanal makine üzerinde kurulan mininet ortamında yazılım tanımlı bir ağ tasarlanmıştır. Tasarlanan bu ağ yapısında güvenlik tehditlerini tespit edebilmek için makine öğrenme algoritmalarından Yapay Sinir Ağı, Rastgele Orman Algoritması, XGBoost, AdaBoost, GradientBoost algoritmaları kullanılmıştır. Kullanılan algoritmalar ile en az hata ile saldırı sınıflandırması yapılması sağlanmıştır. Kullanılan makine öğrenme algoritmalarında en iyi parametreleri belirlemek için Izgara Temelli Arama Algoritması kullanılmıştır. Bu arama algoritmasında en iyi parametreler belirlenirken RMSE değeri referans alınmıştır. Makine öğrenme algoritmalarının başarısını tespit edebilmek için ağ üzerinde elde edilen veri seti kullanılmıştır. Birleştirilen veri seti eğitim seti olarak kullanılmıştır. Test verisi olarak hping3 ile üretilen farklı parametrelere sahip veriler kullanılmıştır. Mininet ortamında DDoS saldırısı oluşturabilmek için hping3 programı ile trafik üretimi yapılmıştır. Ağ trafiğinde saldırı paketlerini sınıflandırmak için 2 sınıflı yapılandırma yapılmıştır. Yapılan sınıflandırma tehdit var (0) ve tehdit yok (1) olarak sınıflandırılmıştır. Elde edilen sonuçlara göre gerekli istatistikler incelenerek sonuç alınmıştır. Mininet ortamında tasarlanan yazılım tanımlı ağlara yapılan saldırıların çeşitli makine öğrenme algoritmaları ile tehdit olduğu ve tehdit olmadığı durumların tespiti yapılarak, tehdit olan durumların engellenebilmesi sağlanmaktadır. Ayrıca kullanılan makine öğrenme yöntemlerinden en az hata ile saldırı sınıflandırması yapılabilmesi sağlanmıştır. Elde edilen sonuçlara göre rastgele orman algoritmasının performans değerleri diğer algoritmalar ile kıyaslandığında daha iyi sonuçlar verdiği görülmüştür. Bu sonuçlar neticesinde Rastgele Orman Algoritma modeli sayesinde daha az hata ile saldırıların sınıflandırması yapılmış ve Rastgele Orman Algoritması ile daha verimli sonuçlar alınmıştır. Anahtar Kelimeler : Yazılım tanımlı ağlar, mininet, makine öğrenme algoritması, hping3.
It is of great importance that the network traffic generated by data transfer over software-defined networks is managed securely. With the increase in advanced network applications, the amount of data has increased. As a result of this increase, a new networking architecture that offers better system performance and more efficient traffic engineering applications have emerged in order to control and manage the traffic density. As a result of these applications, it was ensured that data traffic was carried out in a safe and efficient manner with Software Defined Networks. With the help of machine learning algorithms, it is aimed to carry out network traffic safely by preventing malicious software and applications that threaten network security. The aim of this thesis is to detect security threats on software-defined networks with machine learning algorithms and to classify them with the least error with the algorithms used. In this study, a software-defined network is designed in the mininet environment established on the virtual machine. Artificial Neural Network, Random Forest Algorithm, XGBoost, AdaBoost, GradientBoost algorithms from machine learning algorithms were used to detect security threats in this designed network structure. With the algorithms used, it is ensured that the attack classification is made with the least error. Grid Based Search Algorithm was used to determine the best parameters in the machine learning algorithms used. While determining the best parameters in this search algorithm, the RMSE value was taken as a reference. In order to determine the success of machine learning algorithms, the data set obtained on the network were used. The combined data set was used as the training set. Data with different parameters produced with hping3 were used as test data. In order to create a DDoS attack in the Mininet environment, traffic was generated with the hping3 program. A 2-class configuration has been made to classify attack packets in network traffic. The classification made is classified as threat (0) and no threat (1). According to the results obtained, the necessary statistics were examined and the results were obtained. With the help of various machine learning algorithms, it is ensured that the attacks on the software-defined networks designed in the Mininet environment are threats or not, and that the situations that are threats can be prevented. In addition, it has been ensured that attack classification can be made with the least error among the machine learning methods used. According to the results obtained, it was seen that the performance values of the random forest algorithm gave better results when compared to other algorithms. As a result of these results, thanks to the Random Forest Algorithm model, attacks were classified with less errors and more efficient results were obtained with the Random Forest Algorithm. Keywords : Software defined networks, mininet, machine learning algorithm, hping3.