Derin öğrenme tabanlı saldırı tespit sistemi
Intrusion detection system using deep learning
Yazar: GÖZDE KARATAŞ
Danışman: DR. ÖĞR. ÜYESİ ÖNDER DEMİR ; DOÇ. DR. ÖZGÜR KORAY ŞAHİNGÖZ
Marmara Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Doktora, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bilgisayarların üstün işlem yeteneklerinin yanı sıra insan kaynaklı hata oranını düşürmesi yaygın kullanıma sebep olmuş, bilgisayar kullanımı ile miktarı artan verilerin iletimini kolaylaştırmak amacıyla bilgisayar ağları oluşturulmuştur. Bilgisayar ağları üzerindeki kritik veriler zaman içerisinde saldırganların hedefi haline gelmiştir. Bu durum siber güvenlik kavramının ortaya çıkmasına neden olmuştur. Bilgisayar ağlarını saldırılardan korumak amacıyla çeşitli yöntemler geliştirilse de zaman içerisinde bunların yeni saldırı türleri karşısında yetersiz kaldığı durumlar oluşmuştur. 
Yapay Zekâ ve Makine Öğrenmesi algoritmaları eğitilebilen sistemlerin tasarımında sıklıkla kullanılmaktadır. Birden çok doğrusal olmayan dönüşümden oluşan mimarileri kullanan bir Makine Öğrenmesi algoritması olan Derin Öğrenme ise yüksek işlem gücüne sahip bilgisayarlar ile diğer yöntemlerden daha yüksek başarı sağlamaktadır. Derin Öğrenme algoritmalarının popülerleşmesiyle birlikte birçok farklı alanda geliştirilmiş uygulamaya rastlanmaktadır. Bu tez çalışmasında siber güvenlik alanında Derin Öğrenme uygulaması geliştirilerek bilgisayar ağları için Saldırı Tespit Sistemi tasarlanması amaçlanmıştır. Tezi geliştirmek için güncel veri kümesi olan CSE-CIC-IDS2018 kullanılmıştır. Çalışma yapılacak veri kümesi dengesiz dağılımlı olduğundan sentetik veri üretimi  /  veri örnekleme işlemleri gerçekleştirilmiş ve veriler arasındaki dengesizlik çözülmüştür. Öncelikle AdaBoost, Karar Ağacı, Rastgele Orman, K-En Yakın Komşu, Gradyan Arttırma, Doğrusal Ayrımcılık Analizi ve Naive Bayes Makine Öğrenmesi algoritmaları kullanılarak veri kümesindeki başarım oranı hem orijinal hem de örneklenmiş veri kümesinde incelenmiştir. Bunun sonucunda AdaBoost en başarılı algoritma olurken, süre ve başarım açısından Karar Ağacı algoritmasının daha tercih edilebilir olduğu görülmüştür. Ayrıca Naive Bayes algoritması ile oldukça düşük sonuçlara ulaşılmıştır ve bunun sonucunda veri kümesinin normal dağılımlı olmadığı görülmüştür. Bunun ardından Derin Öğrenme algoritmaları çalıştırılmıştır. Derin Öğrenme ile sistemin yeni tür saldırılara karşı başarılı olması sağlanarak, azınlık sınıfların tespit edilmesi ve bu algoritmaların öğrenebilme yeteneği ile daha önce karşılaşılmamış saldırı türlerine karşı da tespit gerçekleştirilebilmesi hedeflenmiştir. Bu işlemleri yapabilmek için güncel veri kümesi kullanılmıştır.
Konvolüsyonel Sinir Ağları, Tekrarlayan Sinir Ağları, Çift Yönlü Tekrarlayan Sinir Ağları, Uzun Kısa Vadeli Hafıza Ağları, Çift Yönlü Uzun Kısa Vadeli Hafıza Ağları, Konvolüsyonel Uzun Kısa Vadeli Hafıza Ağları, Geçitli Tekrarlayan Sinir Ağları ve Derin Oto-Kodlayıcı Derin Öğrenme algoritmaları orijinal ve örneklenmiş veri kümesi ile çalıştırıldığında örneklenmiş veri kümesi ile azınlık sınıfların tespitinde yüksek başarım oranı elde edilmiştir. Derin Öğrenme algoritmaları tek katman, iki katman ve üç katman şeklinde düzenlenerek farklı katmanlardaki sonuçları da incelenmiştir. Ancak veri kümesinin normal dağılımlı olmaması sonucunda Makine Öğrenmesi algoritmaları kadar yüksek bir orana ulaşılmamış, bu da Derin Öğrenme algoritmalarının normal dağılımlı olmayan veri kümeleri ile çok uyumlu çalışamadığını göstermiştir. Genel doğruluk oranları incelendiğinde Uzun Kısa Vadeli Hafıza Ağları ile Çift Yönlü Uzun Kısa Vadeli Hafıza Ağlarının azınlık sınıfların tespitinde oldukça başarılı olduğu görülmüştür. Derin Öğrenme algoritmalarının siber güvenlik alanında sentetik veri üretimi ile kullanımıyla ilgili kısıtlı sayıda çalışma vardır. Yapılan tez ayrıca bu alanda öncü çalışmalardan olmuştur.

Abstract:
Computer networks have been created in order to facilitate the transmission of increased data with the use of computers and superior processing capabilities and lowering of human error rate caused widespread use of computers. Critical data on computer networks has become the target of attackers over time. This situation led to the emergence of the concept of cyber security. There have been instances where they have been inadequate against new types of attacks although various methods have been developed to protect computer networks from attacks over time.
Artificial Intelligence and Machine Learning algorithms are frequently used in the design of smart systems. Deep Learning which is Machine Learning algorithm that uses architectures consisting of multiple non-linear transformations provides higher success with computers than other methods. Applications developed in many different fields are encountered with the popularization of Deep Learning algorithms. In this thesis, it is aimed to design an Intrusion Detection System for computer networks by developing Deep Learning application in cyber security. The most recent dataset, CSE-CIC-IDS2018 was used to develop the thesis. Over-sampling and under-sampling data trancastions has been done and the imbalance between the data has been resolved since the dataset is imbalanced. First of all the performance rate in the dataset was analyzed in both the original and sampled dataset using AdaBoost, Decision Tree, Random Forest, K-Nearest Neighbor, Gradient Boosting, Linear Discriminant Analysis and Naive Bayes Machine Learning algorithms. As a result, AdaBoost was the most successful algorithm, while the Decision Tree algorithm was more preferable in terms of time and performance. It is seen that the Decision Tree algorithm is more preferable in terms of time and performance while AdaBoost is the most successful algorithm in accuracy rate. In addition, quite low results were obtained with the Naive Bayes algorithm and as a result it was seen that the dataset was not normally distributed. After that Deep Learning algorithms were examined. it is aimed to perform detection against the types of attacks that have not been encountered before it happens with the ability to identify minority classes and the ability of these algorithms to learn by ensuring that the system is successful against new types of attacks with Deep Learning. Convolutional Neural Networks, Recurrent Neural Networks, Bidirectional Recurrent Neural Networks, Long Short Term Memory Networks, Bidirectional Long Short Term Memory Networks, Convolutional Long Short Term Memory Networks, Gated Recurrent Unit and Deep-Auto Encoder Deep Learning algorithms has been run on the original and sampled dataset. High performance rate was obtained in the determination of minority classes with the sampled dataset. However, as a result of the fact that the data set is not normally distributed an accuracy rate has not been reached as high as Machine Learning algorithms. This shows that Deep Learning algorithms cannot work very well with non normally distributed datasets. It was seen that Long Short Term Memory Networks and Bidirectional Long Short Term Memory Networks were very successful in determining minority classes when the general accuracy rates were analyzed. There are a limited number of studies on the use of Deep Learning algorithms with synthetic data production in the field of cyber security. The thesis has also been one of the pioneering studies in this field.