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

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

Classification of Software Vulnerabilities with Deep Neural Networks

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.

___

  • [1] Bulut GF. Predicting Software Vulnerabilities Using Topic Modeling With Issues, MSc, İstanbul Technical University, İstanbul, 2019.
  • [2] Dangler YJ. Categorization of Security Design Patterns, MSc, East Tennessee State University, Sam Wilson Hall, 2013.
  • [3] Hosseinzadeh S, Rauti S, Lauren S, Makela M.J, Holvitie J, Hyrynsalmi S, Leppanen, V. Diversification and obfuscation techniques for software security: A systematic literature review, Information and Software Technology 2018; 104(1): 72-93.
  • [4] Baran O. Yazılım Güvenliği Sistemlerinin İncelenmesi Ve Bir Yazılım Koruma Uygulaması, Yüksek Lisans Tezi, Gazi Üniversitesi, Ankara, 2011.
  • [5] Sarıman G. Yazılım Güvenliği Test Ve Değerlendirme Aracı Geliştirilmesi, Doktora Tezi, Süleyman Demirel Üniversitesi, Isparta, 2015.
  • [6] Kaçtıoğlu S., Keskinkılıç M., Kahveci F. Yazılım Kalitesi Faktörü Olarak Yazılım Güvenliğinin Öğrenci Bilgi Sisteminde Rıps Testi İle Değerlendirilmesi. Atatürk üniversitesi İktisadi ve İdari Bilimler Dergisi, 2019; 33(4): 1261-1278.
  • [7] Assal H., Chiasson S. Security in the Software Development Lifecycle. Symposium on Usable Privacy and Security (SOUPS), August 12–14, 2018; Baltimore, MD, USA. 281-294.
  • [8] Hanif, H., Md Nasir, M. H. N., Ab Razak, M. F., Firdaus, A., & Anuar, N. B. The rise of software vulnerability: Taxonomy of software vulnerabilities detection and machine learning approaches. Journal of Network and Computer Applications, 2021; 179(9).
  • [9] Aota, M., Kanehara, H., Kubo, M., Murata, N., Sun, B., & Takahashi, T. Automation of Vulnerability Classification from its Description using Machine Learning. 2020 IEEE Symposium on Computers and Communications (ISCC), November 10, 2020; Tokyo, Japan.
  • [10] Han, Z., Li, X., Xing, Z., Liu, H., & Feng, Z. Learning to Predict Severity of Software Vulnerability Using Only Vulnerability Description. 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), September 17-22 2017; Shanghai, China. 125-136.
  • [11] Rehman, S., Mustafa, K. Software Design Level Vulnerability Classification Model. International Journal of Computer Science and Security (IJCSS), 2012; 6(4): 238-255.
  • [12] Mısırlı A. Modelling Software Reliability Using Hybrid Bayesian Networks, Doktora Tezi, Boğaziçi Üniversitesi, İstanbul, 2012.
  • [13] Wu F, Wang J, Liu J, Wang W. Vulnerability Detection with Deep Learning. 3rd IEEE International Conference on Computer and Communications, 2017; Nanjing, China. 1298-1302.
  • [14] Clemente JC, Jaafar F, Malik Y. Is Predicting Software Security Bugs using Deep Learning Better than the Traditional Machine Learning Algorithms?, IEEE International Conference on Software Quality, Reliability and Security, 2018; Lisbon.; 95-102.
  • [15] Kaya A, Keceli AS, Catal C, Tekinerdogan B. The impact of feature types, classifiers, and data balancing techniques on software vulnerability prediction models. Journal of Software: Evolution and Process, 2019; 31(1): 1-25.
  • [16] Russell R, Kim L, Hamilton L, Lazovich T, Harer J, Ozdemir O, McConley M. Automated Vulnerability Detection in Source Code Using Deep Representation Learning, IEEE International Conference on Machine Learning and Applications, 2018; Canada; 757-762.
  • [17] Huang G, Li Y, Wang Q, Ren J, Cheng Y, Zhao XA. Automatic Classification Method For Software Vulnerability Based On Deep Neural Network, IEEE Access 2019; 1(1): 1-9.
  • [18] Davari, M., Zulkernine, M., & Jaafar, F. An Automatic Software Vulnerability Classification Framework. 2017 International Conference on Software Security and Assurance (ICSSA), July 24-25 2017; Altoona, PA, USA; 44-49. [19] Şahin, C. B., Dinler, Ö. B., & Abualigah, L. Prediction of software vulnerability based deep symbiotic genetic algorithms: Phenotyping of dominant-features. Applied Intelligence, 2021; 51(11):8271-8287.
  • [20] Chernis, B., & Verma, R. Machine Learning Methods for Software Vulnerability Detection. Proceedings of the Fourth ACM International Workshop on Security and Privacy Analytics, March 21, 2018; Tempe, AZ, USA. 31-39.
  • [21] NVD, https://www.cvedetails.com/vulnerabilities-by-types.php, Erişim: 11-1-2021.
  • [22] OWASP Top Ten, https://owasp.org/www-project-top-ten/, Erişim: 20-07-2022.
  • [23] https://owasp.org/www-community/attacks/SQL_Injection, Erişim Tarihi: 7.07.2021.
  • [24] https://owasp.org/www-community/attacks/xss/, Erişim Tarihi: 7.07.2021.
  • [25] https://owasp.org/www-community/attacks/Denial_of_Service, Erişim Tarihi: 7.07.2021.
  • [26] Wood AD, Stankovic JA. Denial of service in sensor networks. Computer 2002; 35(10), 54–62.
  • [27] https://owasp.org/www-community/attacks/csrf, Erişim Tarihi: 7.07.2021.
  • [28] Yadav P, Parekh CD. A report on CSRF security challenges & prevention techniques. 2017 International Conference on Innovations in Information, Embedded and Communication Systems, March 17-18, 2017; Coimbatore, India. 1-4.
  • [29] https://owasp.org/www-community/attacks/Buffer_overflow_attack, Erişim Tarihi: 7.07.2021.
  • [30] Oriyano SP, Shimonski R. Web Application Attacks. Client-Side Attacks and Defense, 2018; 195–221.
  • [31] Wang A, Wang H, Guo M, Xia M. Security metrics for software systems. Proceedings of the 47th Annual Southeast Regional Conference, 2009; Marietta, ABD. 1-6.
  • [32] Lin, G., Wen, S., Han, Q.-L., Zhang, J., & Xiang, Y. Software Vulnerability Detection Using Deep Neural Networks: A Survey. Proceedings of the IEEE, 2020; 108(10): 1825-1848.
Fırat Üniversitesi Mühendislik Bilimleri Dergisi-Cover
  • ISSN: 1308-9072
  • Yayın Aralığı: Yılda 2 Sayı
  • Başlangıç: 1987
  • Yayıncı: FIRAT ÜNİVERSİTESİ