Yazılım güvenlik açıklarının skorlanması ve kategorisinin belirlenmesinde yeni bir yöntem
A new method to determine  scoring and category of software vulnerabilities
Yazar: HAKAN KEKÜL
Danışman: PROF. DR. BURHAN ERGEN
Fırat Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Donanım Bilim Dalı
Derece: Doktora, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bilgi güvenliği = Information security ; Siber güvenlik = Cyber security ; Yazılım güvenliği = Software security

Özet:
Yazılım güvenlik açıkları, şahıslar, şirketler ve ülkeler için finansal risklere ve itibar kayıplarına neden olabilmektedir. Yazılım güvenlik açıklarının giderilmesi, test kaynaklarının yetersizliği ve uzman personel eksikleri nedeni ile istenilen seviyede değildir. Kurumların itibarlarını korumak ve güvenli yazılımlar geliştirmek adına sınırlı kaynaklarını doğru kullanarak, test ve düzeltmeleri planlamaları gerekmektedir. Ancak güvenlik vektörlerinin sahip olduğu metrik değerlerinin tespit edilmesi manuel bir işlem olarak insanlar tarafından yapılmaktadır. Bu nedenle bu süreç, zaman almakta ve insanın doğasından kaynaklanan hatalar barındırabilmektedir. Bu metrikler güvenlik açığı önem derecelerinin hesaplanmasında kullanılmasından dolayı önemlidir.  Güvenlik açığı analizi ve keşfi işlemlerinin kalitesini artırmak ve süreçleri hızlandırmak için makine öğrenmesi algoritmalarının ve veri madenciliği tekniklerinin kullanılması gerekmektedir. Ancak bu alanda yapılan çalışmalar hala sınırlıdır. Bu çalışmada doğal dil işleme tekniklerinden Bag of Words, Term Frequency Inverse Document Frequency, Ngram, Word2Vec, Doc2Vec ve FastText özellik çıkarımı yöntemleri kullanılarak güvenlik açığı vektörlerinin farklı çok sınıflı sınıflandırılma algoritmaları ile tahmini gerçekleştirilmiştir. Elde edilen metrik değerleri ile güvenlik açığı önem skorları hesaplanmıştır. Sınıflandırma aşamasında Naive Bayes, Desicion Tree, K-Nearest Neighbors, Multi-layer Perceptron ve Random Forest algoritmaları kullanılmıştır. Kamuya açık büyük bir veri setini kullandığımız deneyler, değerlendirmeyi kolaylaştırır ve yazılım güvenlik açığı vektörlerinin sınıflandırılmasında standartlara uygun bir tahmin modeli sunar. Elde edilen sonuçlar çok olasılıklı ve tahmini zor bir problemde farklı tekniklerin ve sınıflandırma algoritmalarının birlikte kullanımının umut verici olduğunu göstermektedir. Ayrıca çalışmamız, kullandığı veri boyutu ve henüz üzerinde pek çalışılmamış güvenlik açığı skorlama sistemi versiyonlarını kapsaması bakımından alanında önemli bir boşluğu doldurmaktadır.

Abstract:
Software vulnerabilities can cause financial and reputational losses for individuals, companies, and countries. Software vulnerabilities have not been eliminated to the desired level due to insufficient test resources and lack of expert personnel. In order to protect their reputations and develop secure software, organizations need to accurately plan tests and implement corrections using limited resources. However, the metric values of security vectors are manually determined by humans, which takes time and may introduce errors stemming from human nature. These metrics are important because of their role in the calculation of vulnerability severity. It is necessary to use machine learning algorithms and data mining techniques to improve the quality and speed of vulnerability analysis and discovery processes. However, studies in this area are still limited. In this study, vulnerability vectors were estimated using the natural language processing techniques bag of words, term frequency–inverse document frequency, Ngram, Word2Vec, Doc2Vec, and FastText for feature extraction together with various multiclass classification algorithms, namely Naive Bayes, decision tree, k-nearest neighbors, multilayer perceptron, and random forest. Our experiments using a large public dataset facilitate assessment and provide a standard-compliant prediction model for classifying software vulnerability vectors. The results show that the joint use of different techniques and classification algorithms is a promising solution to a multi-probability and difficult-to-predict problem. In addition, our study fills an important gap in its field in terms of the size of the dataset used and because it covers a vulnerability scoring system version that has not yet been extensively studied.