Dergiler / Fırat Üniversitesi Mühendislik Bilimleri Dergisi / 2022 / Cilt: 34 - Sayı: 2

Yazılım Güvenlik Açıklarının Evrişimsel Sinir Ağları

Classification of Software Vulnerabilities with Deep Neural Networks

Sayfa
517–529
DOI
—

Özet

Kötü niyetli saldırılara karşı yazılım sisteminin doğru şekilde çalışmaya devam etmesini sağlayacak teknik uygulamalar yazılım güvenliği kapsamındadır. Yazılım sisteminde bulunan ve saldırıya uğrama riskine sebep olacak zayıflıklar ve kusurlar yazılım güvenlik açığı olarak tanımlanır. Yazılım güvenlik açıkları, bir yazılımın gizliliğini, bütünlüğünü, kullanılabilirliğini, erişilebilirliğini tehlikeye atarak ciddi zararlara sebep olabilir. Yazılım güvenlik açıkları erken aşamada tespit edilip, etkin şekilde yönetilirse sistemin saldırıya uğrama ve hasar görme riski azaltılabilir. Yazılım güvenlik açıklarını otomatik yönetmek için son yıllarda yapay zekâ tabanlı yöntemler kullanılmaya başlanmıştır. Bu çalışmada, güvenlik açıklarının kategorilerinin belirlenerek yönetilmesine fayda sağlamak için derin öğrenmeye dayalı otomatik sınıflandırma yöntemi önerilmiştir. Geliştirilen yöntem, derin sinir ağ modellerinden biri olan evrişimli sinir ağı (ESA) modeli üzerine inşa edilmiştir. Önerilen yöntemin başarımını test etmek için ABD Ulusal Güvenlik Açığı Veri tabanı (NVD) kullanılmıştır. Çalışmada kullanılan ESA modeli, yazılım güvenlik açıklarının otomatik sınıflandırılmasında yüksek performans sağladığı görülmüştür

Abstract

The technical applications that will ensure that the software system continues to work correctly against malicious attacks is called software security. Weaknesses and flaws in the software system that cause the risk of being hacked are defined as software vulnerability. Software vulnerabilities can cause serious damage by compromising the confidentiality, integrity, usability and accessibility of a software. If software vulnerabilities are detected at an early stage and managed effectively, the risk of system attack and damage can be reduced. Artificial intelligence-based methods have been used in recent years to automatically manage software security vulnerabilities. In this study, a deep learning-based automatic classification method has been proposed to help identify and manage the categories of security vulnerabilities. The developed method is built on the convolutional neural network (CNN) model, which is one of the deep neural network models. The National Vulnerability Database (NVD) was used to measure the performance of the proposed model. The CNN model used in the study has been shown to provide high performance in automatic classification of software security vulnerabilities.