Sistem günlüklerinin anomali tespiti için makine öğrenimi tekniklerinin kullanılarak analiz edilmesi
Analysis of system logs using machine learning techniques for anomaly detection
Yazar: SADETTİN DEMİR
Danışman: PROF. DR. SERHAT ÖZEKES
Üsküdar Üniversitesi / Bağımlılık ve Adli Bilimler Enstitüsü / Adli Bilimler Ana Bilim Dalı / Adli Bilişim Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Bilim ve Teknoloji = Science and Technology

Özet:
Siber güvenlik, teknolojiye olan bağımlılığımız artmaya devam ettikçe modern toplumun giderek daha önemli bir yönü haline gelmektedir. Bağımlılıktaki bu artışla birlikte siber tehdit riski de artmış, bu da etkili güvenlik önlemleri geliştirmeyi her zamankinden daha önemli hale getirmiştir. Bu önlemlerden biri de makine öğrenimi algoritmaları kullanılarak güvenlik ihlallerinin tespit edilmesidir.
Bu tezde, CICIDS2017 veri kümesi üzerinde makine öğrenimi algoritmaları kullanarak ağ anormalliklerini tespit etmek için bir yaklaşım önerilmektedir. Python kütüphaneleri ve makine öğrenimi modelleri kullanılarak veri seti üzerinde siber saldırıların tespitine dair veriler aranmıştır. Ayrıca verilerin kolay değerlendirilebilmesi ve sistem günlüklerinin saklanıp, daha sonradan da sorgulanabilmesi için ELK Stack uygulama yapısı kullanılmıştır. CICIDS2017 veri kümesi, çeşitli kaynaklardan gelen ağ trafiği günlüklerini içeren halka açık bir veri kümesidir ve bu uygulamada kullanılan makine öğrenimi modellerini eğitmek ve doğrulamak için ideal bir seçimdir. ELK Stack, günlük verilerini toplamak, analiz etmek ve görselleştirmek için güçlü bir çözüm sağlamak üzere Elasticsearch, Logstash ve Kibana'yı birleştiren popüler bir açık kaynak aracıdır. Python yapay zeka ve makine öğrenimi uygulamalarını geliştirilmesinde sıklıkla kullanılan, bu uygulamaların geliştirilmesinde büyük kolaylıklar sağlayan kütüphaneleri olan programlama dilidir. 
Bu tez CICIDS2017 veri setinde sunulan ve geliştirilen uygulamanın doğrulanabilmesi için uygun şekilde etiketlenmiş günlük kayıtlarının üzerinde Python ile geliştirilen yapay zeka uygulaması ile belirlenen atak tiplerini tespit etmeye çalışacaktır. Bu tespit sırasında farklı yapay zeka algoritmaları ve yaklaşımlar denenecek, sonuçlar grafiklere yansıtılan rakamlarla sunulup değerlendirilecektir.
Deneylerimizin sonuçları, önerilen yaklaşımın ağ anomalilerini yüksek doğruluk, hassasiyet ve geri çağırma ile etkili bir şekilde tespit ettiğini göstermektedir. Genel olarak, bu tez, bilgisayar ağlarının güvenliğini artırmaya yardımcı olabilecek makine öğrenimini kullanarak ağ anormalliklerini tespit etmek için etkili tekniklerin geliştirilmesine katkıda bulunmaktadır.
Genel olarak bu tez hem bireyler hem de kuruluşlar için siber güvenliğin iyileştirilmesi nihai hedefiyle, makine öğrenimi algoritmalarının kullanımı yoluyla etkili güvenlik önlemlerinin geliştirilmesine ve bir siber saldırı sonrasında saldırı ve saldırgan hakkında delillerin toplanmasına katkıda bulunmayı amaçlamaktadır.

Abstract:
Cybersecurity is becoming an increasingly important aspect of modern society as our dependence on technology continues to grow. With this increase in dependency comes an increased risk of cyber threats, making it more important than ever to develop effective security measures. One of these measures is the detection of security breaches using machine learning algorithms.
In this thesis, we propose an approach to detect network anomalies using machine learning algorithms on the CICIDS2017 dataset. Python libraries and machine learning models are used to search the dataset for data on the detection of cyber attacks. In addition, the ELK Stack application structure is used for easy data evaluation and system logs can be stored and queried later. The CICIDS2017 dataset is a publicly available dataset containing network traffic logs from various sources, making it an ideal choice for training and validating the machine learning models used in this application. ELK Stack is a popular open source tool that combines Elasticsearch, Logstash and Kibana to provide a powerful solution for collecting, analyzing and visualizing log data. Python is a programming language that is frequently used in the development of artificial intelligence and machine learning applications, with libraries that provide great convenience in the development of these applications.
This thesis will try to detect the attack types identified by the artificial intelligence application developed with Python on the appropriately labeled log records presented in the CICIDS2017 dataset in order to validate the developed application. Different artificial intelligence algorithms and approaches will be tested during this detection, and the results will be presented and evaluated by means of a graphical figure.
The results of our experiments show that the proposed approach effectively detects network anomalies with high accuracy, precision and recall. Overall, this thesis contributes to the development of effective techniques for detecting network anomalies using machine learning that can help improve the security of computer networks.
Overall, this thesis aims to contribute to the development of effective security measures through the use of machine learning algorithms, with the ultimate goal of improving cyber security for both individuals and organizations.