Yazılım Güvenlik Açıklarının Evrişimsel Sinir Ağları (CNN) ile Sınıflandırılması
Yıl 2022,
Cilt: 34 Sayı: 2, 517 - 529, 30.09.2022
Edanur Özdemir
,
İbrahim Türkoğlu
Öz
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ımda 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 modelinin yazılım güvenlik açıklarının otomatik sınıflandırılmasında etkili olduğu gözlemlenmiştir.
Destekleyen Kurum
Fırat Üniversitesi Bilimsel Araştırmalar Projesi Birimi
Proje Numarası
TEKF.21.14
Teşekkür
Bu çalışma TEKF.21.14 nolu Proje ile Fırat Üniversitesi Bilimsel Araştırmalar Projesi Birimi tarafından desteklenmiştir
Kaynakça
- Bulut, G. F. (2019). Predicting Software Vulnerabilities Using Topic Modeling With Issues, M.Sc. Thesis, İstanbul Technical University, Informatics Institute
- Dangler, Y. J. (2013). Categorization of Security Design Patterns, Electronic Theses and Dissertations. Paper 1119.
- Hosseinzadeh, S., Rauti, S., Lauren S., Makela, M. J., Holvitie, J., Hyrynsalmi, S., Leppanen, V. (2018). Diversification and obfuscation techniques for software security: A systematic literature review, Information and Software Technology, cilt 104, ss. 72-93
- Baran, O. (2011). Yazılım Güvenliği Sistemlerinin İncelenmesi Ve Bir Yazılım Koruma Uygulaması, Yüksek Lisans Tezi, Gazi Üniversitesi, Bilişim Enstitüsü
- Sarıman, G. (2015). Yazılım Güvenliği Test Ve Değerlendirme Aracı Geliştirilmesi, Doktora Tezi, Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü
- NVD, https://www.cvedetails.com/vulnerabilities-by-types.php, Erişim: 11-1-2021.
- Mısırlı, A. (2012). Modelling Software Reliability Using Hybrid Bayesian Networks, Doktora Tezi, Boğaziçi Üniversitesi, Fen Bilimleri Enstitüsü
- Wy, F., Wang, J., Liu, J., Wang, W. (2017). Vulnerability Detection with Deep Learning, 3rd IEEE International Conference on Computer and Communications, Nanjing, China
- Clemente, J., C., Jaafar, F., Malik, Y. (2018). Is Predicting Software Security Bugs using Deep Learning Better than the Traditional Machine Learning Algorithms?, IEEE International Conference on Software Quality, Reliability and Security, 95-102
- Sarıman, G. (2015). Yazılım Güvenliği Test Ve Değerlendirme Aracı Geliştirilmesi, Doktora Tezi, Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü
- Kaya, A., Keceli, A. S., Catal, C., & Tekinerdogan, B. (2019). The impact of feature types, classifiers, and data balancing techniques on software vulnerability prediction models. Journal of Software: Evolution and Process, 1-25
- Russell, R., Kim, L., Hamilton, L., Lazovich, T., Harer, J., Ozdemir, O., … McConley, M. (2018). Automated Vulnerability Detection in Source Code Using Deep Representation Learning, IEEE International Conference on Machine Learning and Applications, 757-762
- Huang, G., Li, Y., Wang, Q., Ren, J., Cheng, Y., Zhao, X. A. (2019). Automatic Classification Method For Software Vulnerability Based On Deep Neural Network, IEEE Access, 1–1
- https://owasp.org/www-community/attacks/SQL_Injection, Erişim Tarihi: 7.07.2021.
- https://owasp.org/www-community/attacks/xss/, Erişim Tarihi: 7.07.2021.
- https://owasp.org/www-community/attacks/Denial_of_Service, Erişim Tarihi: 7.07.2021.
- Wood, A. D., & Stankovic, J. A. (2002). Denial of service in sensor networks. Computer, 35(10), 54–62.
- https://owasp.org/www-community/attacks/csrf, Erişim Tarihi: 7.07.2021.
- Yadav, P., & Parekh, C. D. (2017). A report on CSRF security challenges & prevention techniques. 2017 International Conference on Innovations in Information, Embedded and Communication Systems
- https://owasp.org/www-community/attacks/Buffer_overflow_attack, Erişim Tarihi: 7.07.2021.
- Oriyano, S.-P., & Shimonski, R. (2012). Web Application Attacks. Client-Side Attacks and Defense, 195–221.
- Wang, A., Wang, H., Guo, M., Xia, M. (2009). Security metrics for software systems. Proceedings of the 47th Annual Southeast Regional Conference, Marietta, ABD
Classification of Software Vulnerabilities with Deep Neural Networks
Yıl 2022,
Cilt: 34 Sayı: 2, 517 - 529, 30.09.2022
Edanur Özdemir
,
İbrahim Türkoğlu
Öz
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.
Proje Numarası
TEKF.21.14
Kaynakça
- Bulut, G. F. (2019). Predicting Software Vulnerabilities Using Topic Modeling With Issues, M.Sc. Thesis, İstanbul Technical University, Informatics Institute
- Dangler, Y. J. (2013). Categorization of Security Design Patterns, Electronic Theses and Dissertations. Paper 1119.
- Hosseinzadeh, S., Rauti, S., Lauren S., Makela, M. J., Holvitie, J., Hyrynsalmi, S., Leppanen, V. (2018). Diversification and obfuscation techniques for software security: A systematic literature review, Information and Software Technology, cilt 104, ss. 72-93
- Baran, O. (2011). Yazılım Güvenliği Sistemlerinin İncelenmesi Ve Bir Yazılım Koruma Uygulaması, Yüksek Lisans Tezi, Gazi Üniversitesi, Bilişim Enstitüsü
- Sarıman, G. (2015). Yazılım Güvenliği Test Ve Değerlendirme Aracı Geliştirilmesi, Doktora Tezi, Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü
- NVD, https://www.cvedetails.com/vulnerabilities-by-types.php, Erişim: 11-1-2021.
- Mısırlı, A. (2012). Modelling Software Reliability Using Hybrid Bayesian Networks, Doktora Tezi, Boğaziçi Üniversitesi, Fen Bilimleri Enstitüsü
- Wy, F., Wang, J., Liu, J., Wang, W. (2017). Vulnerability Detection with Deep Learning, 3rd IEEE International Conference on Computer and Communications, Nanjing, China
- Clemente, J., C., Jaafar, F., Malik, Y. (2018). Is Predicting Software Security Bugs using Deep Learning Better than the Traditional Machine Learning Algorithms?, IEEE International Conference on Software Quality, Reliability and Security, 95-102
- Sarıman, G. (2015). Yazılım Güvenliği Test Ve Değerlendirme Aracı Geliştirilmesi, Doktora Tezi, Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü
- Kaya, A., Keceli, A. S., Catal, C., & Tekinerdogan, B. (2019). The impact of feature types, classifiers, and data balancing techniques on software vulnerability prediction models. Journal of Software: Evolution and Process, 1-25
- Russell, R., Kim, L., Hamilton, L., Lazovich, T., Harer, J., Ozdemir, O., … McConley, M. (2018). Automated Vulnerability Detection in Source Code Using Deep Representation Learning, IEEE International Conference on Machine Learning and Applications, 757-762
- Huang, G., Li, Y., Wang, Q., Ren, J., Cheng, Y., Zhao, X. A. (2019). Automatic Classification Method For Software Vulnerability Based On Deep Neural Network, IEEE Access, 1–1
- https://owasp.org/www-community/attacks/SQL_Injection, Erişim Tarihi: 7.07.2021.
- https://owasp.org/www-community/attacks/xss/, Erişim Tarihi: 7.07.2021.
- https://owasp.org/www-community/attacks/Denial_of_Service, Erişim Tarihi: 7.07.2021.
- Wood, A. D., & Stankovic, J. A. (2002). Denial of service in sensor networks. Computer, 35(10), 54–62.
- https://owasp.org/www-community/attacks/csrf, Erişim Tarihi: 7.07.2021.
- Yadav, P., & Parekh, C. D. (2017). A report on CSRF security challenges & prevention techniques. 2017 International Conference on Innovations in Information, Embedded and Communication Systems
- https://owasp.org/www-community/attacks/Buffer_overflow_attack, Erişim Tarihi: 7.07.2021.
- Oriyano, S.-P., & Shimonski, R. (2012). Web Application Attacks. Client-Side Attacks and Defense, 195–221.
- Wang, A., Wang, H., Guo, M., Xia, M. (2009). Security metrics for software systems. Proceedings of the 47th Annual Southeast Regional Conference, Marietta, ABD