Yazılım güvenliğinde yapay zekâ çözümleri
Artificial intelligence solutions in software security
Yazar: EDANUR ÖZDEMİR
Danışman: PROF. DR. İBRAHİM TÜRKOĞLU
Fırat Üniversitesi / Fen Bilimleri Enstitüsü / Yazılım Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Yazılım endüstrisi günümüzde hızlı bir şekilde gelişmekte ve büyümektedir. Buna bağlı olarak yazılımların karmaşıklıkları artmakta ve güvenlik açıkları da aynı oranda artmaktadır. Bir sistemde bulunan güvenlik açıkları kötü amaçlı kişiler tarafından kullanıldığında verilerin sızdırılması, sisteme zarar verme ve tamamen yok edilmesi gibi ciddi ölçüde mali ve itibar kaybına sebep olabilir. Güvenlik açıklarının yapay zekâ kullanılarak otomatik bir şekilde sınıflandırılması, güvenlik açıklarının daha hızlı ve insan hatası olmadan yönetilmesini sağlamaktadır.
Bu tez çalışmasında, derin öğrenme yöntemleri ile yazılım güvenlik açıklarının türlerine göre sınıflandırılması amaçlanmaktadır. Çalışmada oluşturulan modellerin sınıflandırma başarımlarını değerlendirmek için ABD Ulusal Güvenlik Açığı Veritabanı'ndan alınan 75.870 doğal dil ile yazılmış güvenlik açığı raporlarından oluşan veri seti kullanılmıştır. Yazılım güvenlik açıkları açıklaması verileri metin ön işleme, kelime vektörleştirme, özellik seçimi aşamalarından geçirilerek anahtar özellikler elde edilmiştir. Elde edilen özellikler derin öğrenme yöntemlerinden Evrişimli Sinir Ağı, Uzun Kısa Süreli Bellek ve NCP-LSTM kullanılarak 8 güvenlik açığı kategorisinde yazılım güvenlik açıkları sınıflandırılmıştır. Geliştirilen yöntemlerden Evrişimli Sinir Ağı modelinde %84, Uzun Kısa Süreli Bellek modelinde %87, NCP-LSTM hibrit modelinde %88 doğruluk değeri elde edilmiştir.

Abstract:
The software industry is developing and growing rapidly today. Accordingly, the complexity of the software increases and the security vulnerabilities increase at the same rate. Security vulnerabilities in a system, when used by malicious people, can cause serious financial and reputational loss, such as data leakage, damage to the system and complete destruction. Automatic classification of security vulnerabilities using artificial intelligence enables security vulnerabilities to be managed faster and without human error.
In this thesis, it is aimed to classify software vulnerabilities according to their types with deep learning methods. In order to evaluate the classification performance of the models created in the study, a dataset consisting of 75,870 natural language-written vulnerability reports from the US National Vulnerability (NVD) Database was used. Key features were obtained by passing the software vulnerability disclosure data through the stages of text preprocessing, word vectorization, and feature selection. Software vulnerabilities were classified in 8 vulnerability categories by using the obtained features, Convolutional Neural Network, Long Short-Term Memory and NCP-LSTM, which are deep learning methods. Among the developed methods, 84% accuracy in the Convolutional Neural Network model, 87% in the Long Short-Term Memory model, and 88% in the NCP-LSTM hybrid model were obtained.