Web uygulamalarında SQL injectıon zafiyetinin önlenmesi için açıklanabilir yapay zeka kullanımı
Using explainable artificial intelligence to prevent SQL injection vulnerability in web applications
Yazar: ERHAN BAŞ
Danışman: DOÇ. DR. AHMET ALİ SÜZEN
Isparta Uygulamalı Bilimler Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bu yüksek lisans tezi, web uygulamalarında SQL enjeksiyon zafiyetlerinin önlenmesi
amacıyla açıklanabilir yapay zekanın (AYZ) kullanımını araştırmaktadır. Çalışma
kapsamında, SQL enjeksiyon saldırılarını tespit etmek ve engellemek için çeşitli
makine öğrenmesi algoritmaları incelenmiştir. Bu amaç doğrultusunda AdaBoost,
Gradient Boosting, Extra Trees, Rastgele Orman ve Karar Ağacı algoritmaları
kullanılmıştır. Deneyler sonucunda, AdaBoost algoritmasının en yüksek başarıyı
sağladığı belirlenmiştir. AdaBoost algoritmasının performansını daha da artırmak
amacıyla hiperparametre optimizasyonu gerçekleştirilmiş ve sonuçlar daha da
iyileştirilmiştir. Optimizasyon sürecinin ardından, AdaBoost algoritması en iyi
sonuçları vermiştir. AdaBoost algoritmasının üstün performansını daha anlaşılır hale
getirmek ve modelin kararlarını açıklayabilmek için LIME yöntemi kullanılmıştır.
LIME, modelin kararlarını açıklamak ve kullanıcıların modelin nasıl çalıştığını
anlamalarını sağlamak için kullanılmıştır. Bu sayede, web uygulamalarının güvenlik
açıklarını daha etkili bir şekilde tespit edebilmek ve önleyebilmek için hem güçlü bir
model hem de bu modelin kararlarını açıklayabilen bir yöntem geliştirilmiştir. Sonuç
olarak, bu tez çalışması, web uygulamalarında SQL enjeksiyon zafiyetlerinin
önlenmesi için açıklanabilir yapay zekanın etkili bir şekilde kullanılabileceğini
göstermiştir. AdaBoost algoritması %99.1 doğruluk oranı ile LIME yöntemi için
kullanılmış böylece model açıklanabilirliği açısından başarılı sonuçlar sunmuştur. Bu
bulgular, web uygulamaları geliştiricilerine ve güvenlik uzmanlarına, SQL enjeksiyon
saldırılarına karşı daha güvenli sistemler geliştirmeleri için önemli bir katkı
sağlamaktadır.

Abstract:
This master's thesis investigates the use of explainable artificial intelligence (XAI) to
prevent SQL injection vulnerabilities in web applications. Within the scope of the
study, various machine learning algorithms were examined to detect and prevent SQL
injection attacks. For this purpose, AdaBoost, Gradient Boosting, Extra Trees, Random
Forest and Decision Tree algorithms were used. As a result of the experiments, it was
determined that the AdaBoost algorithm provided the highest success. In order to
further increase the performance of the AdaBoost algorithm, hyperparameter
optimization was performed and the results were further improved. After the
optimization process, the AdaBoost algorithm produced the best results. The LIME
method was used to make the superior performance of the AdaBoost algorithm more
understandable and to explain the decisions of the model. LIME has been used to
explain the model's decisions and enable users to understand how the model works. In
this way, both a powerful model and a method that can explain the decisions of this
model have been developed in order to more effectively detect and prevent security
vulnerabilities in web applications. As a result, this thesis study has shown that
explainable artificial intelligence can be used effectively to prevent SQL injection
vulnerabilities in web applications. The AdaBoost algorithm was used for the LIME
method with an accuracy of 99.1%, thus providing successful results in terms of model
explainability. These findings provide an important contribution to web application
developers and security experts to develop more secure systems against SQL injection
attacks.