Gerçek zamanlı saldırı tespiti ve engelleme için makine öğrenmesi yöntemleri kullanarak web uygulama güvenlik duvarı geliştirilmesi
Development of web application firewall using machine learning techniques for real-time intrusion detection and prevention
Yazar: MUHAMMED ERSİN DURMUŞKAYA
Danışman: DR. ÖĞR. ÜYESİ HÜSEYİN FEHMİ SELİM BAYRAKLI
Milli Savunma Üniversitesi / Atatürk Stratejik Araştırmalar ve Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Siber Güvenlik Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Teknolojik gelişmelerin ve internet kullanımının artmasıyla birlikte web uygulamaları hem istemci hem de sunucu tarafından internet kullanımını kolaylaştırarak yaygınlaşmıştır. Hassas bilgilerin saklanması ve finansal işlemlerin gerçekleştirilmesi için kritik bir platform haline gelen web uygulamaları, saldırganlar tarafından hedef alınarak şirketlere, kurumlara ve kullanıcılara büyük zararlara yol açabilmektedir. Bu durum, web uygulamalarının güvenliğinin sağlanmasını kritik bir önem arz etmektedir. Web uygulamalarının güvenliğini sağlamak için web uygulama güvenlik duvarları geliştirilmektedir. Bu tez çalışması, makine öğrenimi tabanlı bir web uygulama güvenlik duvarı geliştirerek web uygulamalarını enjeksiyon saldırılarına karşı korumayı amaçlamaktadır. Literatürdeki veri setlerinin güncel ve yeterli olmamasından dolayı, çalışmada CISC2010, HTTPParams 2015 ve yeni gerçek zamanlı HTTP isteklerinden oluşan hibrit bir veri seti kullanılmıştır. OWASP Top 10' da üçüncü sırada yer alan enjeksiyon saldırılarına odaklanılmış ve K-En Yakın Komşu, Lojistik Regresyon, Naive Bayes, Destek Vektör Makineleri ve Karar Ağacı algoritmaları XSS, SQL, İşletim Sistemi Komutu Enjeksiyonu ve Yerel Dosya İhlali güvenlik açıklıklarına karşı ayrı ayrı test edilmiştir. Değerlendirmeler sonucunda Karar Ağacı algoritması, en yüksek duyarlılık, doğruluk, kesinlik, F1-skoru, ROC ve AUC değerlerine sahip algoritma olarak belirlenmiştir. Geliştirilen web uygulama güvenlik duvarı, bu çalışmada kullanılan tüm zafiyet türleri için tek bir modülde Karar Ağacı algoritmasını kullanarak yüksek performans göstermiştir. Burp suite aracı kullanılarak gerçek zamanlı saldırı senaryosu yapılmış ve web uygulama güvenlik duvarının performansı gerçek zamanlı olarak test edilmiştir. Karmaşıklık matrisi analizine göre, web uygulama güvenlik duvarı %93,13 gibi oldukça yüksek bir F1-skoru elde etmiştir. Bu çalışma, makine öğrenimi tabanlı web uygulama güvenlik duvarlarının, web uygulamalarını enjeksiyon saldırılarına karşı korumak için oldukça etkili bir yöntem olduğunu göstermektedir. Gelecekteki çalışmalar, web uygulama güvenlik duvarının diğer saldırı türlerini kapsayacak şekilde genişletilmesini ve farklı veri kümeleri üzerinde test edilmesini içermektedir.

Abstract:
The exponential growth of technological advancements and internet usage has led to the widespread adoption of web applications, facilitating seamless internet interactions for both clients and servers. Web applications have emerged as critical platforms for safeguarding sensitive information and enabling financial transactions. However, this growing reliance on web applications has also made them prime targets for malicious attacks, potentially causing significant financial and reputational damage on businesses, organizations, and individuals. Consequently, ensuring the security of web applications has become a paramount concern. Web application firewalls have been developed to safeguard web applications from cyber threats. This thesis aims to develop a machine learning based web application firewall to protect web applications from injection attacks. Due to the limitations of outdated and insufficient datasets in the literature, this study utilizes a hybrid dataset comprising CISC2010, HTTPParams 2015, and newly acquired real-time HTTP requests. Focusing on injection attacks, ranked third in the OWASP Top 10, the K-Nearest Neighbors, Logistic Regression, Naive Bayes, Support Vector Machine, and Decision Tree algorithms are individually evaluated against XSS, SQL, Operating System Command Injection, and Local File Inclusion vulnerabilities. Evaluation results revealed the Decision Tree algorithm to exhibit the highest recall, accuracy, precision, F1-score, ROC, and AUC values. The developed WAF demonstrated high performance across all vulnerability types by employing the Decision Tree algorithm in a single module. Real-time attack scenarios were constructed using the Burp suite tool, and the web application firewall' s performance was evaluated in real-time. According to the confusion matrix analysis, the web application firewall achieved a remarkably high F1-score of 93,13%. This study demonstrates the effectiveness of machine learning based web application firewalls in protecting web applications from injection attacks. Future research directions include expanding the WAF' s coverage to encompass other attack types and evaluating its performance on diverse datasets.