Makine öğrenmesi tabanlı yazılım güvenliği zayıflık analizi

Gürsoy DURMUŞ, İbrahim SOĞUKPINAR
380 56

Öz


Bir yazılım öğesinin güvenlik zayıflığı içerip içermediğinin analizi yazılımın güvenli olup olamadığına karar vermede belirleyici bir unsurdur. Geleneksel yöntemler ile bir yazılımın güvenli olup olmadığı değerlendirilirken; yazılıma ait güvenlik gereksinimlerinin incelenmesi, kaynak kod analizi ve yazılım güvenlik test faaliyetleri icra edilebilir. Bu faaliyetler sırası ile yazılım ile ilgili gereksinimlerin belgelendirilmiş olması, yazılım kaynak kodlarının mevcut olması ve yazılım güvenliği konusunda uzman test ekiplerine olan bağımlılıkları nedeni ile çoğu zaman son kullanıcı tarafından tekrarlanamayan faaliyetlerdir. Söz konusu yazılım ikili yürütülebilir dosya formatında olduğunda, son kullanıcı tarafında güvenlik analizlerinin yapılabilmesi için sadece ikili yürütülebilir dosyanın girdi olarak kullanılabileceği sistemlere ihtiyaç duyulmaktadır.

 

Bu çalışmada, ikili yürütülebilir dosya formatlı yazılımların güvenlik zayıflığı analizinde kullanılmak üzere makine öğrenmesi teknikleri kullanılarak geliştirilen yeni bir yöntem ve başarımı sunulmuştur.


Anahtar kelimeler


Yazılım güvenliği, yazılım güvenliği zayıflığı, makine öğrenmesi

Tam metin:

PDF


Referanslar


McGraw, G., "Software Security", IEEE Security &Privacy, vol. 2, no. 2, 2004, pp. 80-83, 2004

Baca, D.,"Developing Secure Software in an Agile Process", Doctoral Dissertation in Computer Science, Blekinge Institute of Technology, 2012

Younan, Y. , “25 Years of Vulnerabilities: 1988-2012”, Research Report, Sourcefire Crop,2013

Younan, Y., Joosen, W., Piessens F., “Code Injection in C and C++ : A Survey of Vulnerabilities and Countermeasures”, Report CW386, July 2004

Akgün, F., Buluş, E., Buluş, H.N., “Yazılım Mühendisliği Açısından Uygulamalardaki Ara Bellek Taşması Zafiyetinin İncelenmesi", Elektrik-Elektronik-Bilgisayar Mühendisliği 11. Ulusal Kongresi ve Fuarı, İstanbul-TÜRKİYE", 2005

Sidiroglou, S., Locasto, M.E., Boyd, S.W., Keromytis, A. D., “Building a Reactive Immune System for Software Services”, USENIX Annual Technical Conference, 2005

Wang, Y., Kelly, T., Kudlur, M., Lafortune, S., Mahlke, S.A., "Gadara: Dynamic Deadlock Avoidance for Multithreaded Programs", USENIX Symposium on Operating Systems Design and Implementation, 2008

Alhazmi, O.H., Malaiya, Y.K., Ray I., "Measuring, Analyzing and Predicting Security Vulnerabilities in Software Systems", Computers & Security (2006), doi:10.1016/j.cose.2006.10.002, 2006

Ozment, A., Schechter, S.E., “Milk or Wine: Does Software Security Improve with Age?”, In the proceedings of The Fifteenth Usenix Security Symposium, July 31 - August 4 2006: Vancouver, BC, Canada, 2004

Chess, B., McGraw, G., "Static Analysis for Security", IEEE Security &, Privacy, vol. 2, no. 6, pp. 76-79., 2004

Halkidis, S.T., Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., "Architectural Risk Analysis of Software Systems Based on Security Patterns", IEEE Transactions on Dependable and Secure Computing, vol. 5, no. 3, 2008

Jay-Evan J. Tevis, "Automatic Detection of Software Security Vulnerabilities in Executable Program Files", Doctoral Dissertation in Computer Science, Auburn University, 2005

Tevis, Jay-Evan J. et al., "Static Analysis of Anomalies and Security Vulnerabilities in Executable Files", ACM SE'06, Mar. 10-12, 2006

D.C. DuVarney, V.N. Venkatakrishnan and S. Bhatkar, "SELF: A Transparent Security Extension for ELF Binaries", Proc. New Security Paradigms Workshop, 2003

M. Cova, V. Felmetsger, G. Banks, and G. Vigna., “Static Detection of Vulnerabilities in x86 Executables", Annual Computer Security Applications Conference (ACSAC), Miami, FL, December, 2006

Balakrishnan, G.,“WYSINWYX: What You See Is Not What You eXecute”, PhD Thesis, Computer Science Department, University of Wisconsin at Madison, August 2007

Cha, S. K., Avgerinos, T., Rebert A., Brumley, D., "Unleashing MAYHEM on Binary Code", Proceedings of the 2012 IEEE Symposium on Security and Privacy, p.380-394, May 20-25, 2012

NIST Software Assurance Reference Dataset, https://samate.nist.gov/SRD/testsuite.php, Erişim tarihi: 11/12/2017

Weka 3 - Data Mining with Open Source Machine Learning Software in Java, https://www.cs.waikato.ac.nz/ml/weka, Erişim tarihi: 11/12/2017

Durmus, G., “Çalışma Kaynak Kod ve Sonuçları”, http://github.com/gdurmus/, Son Erişim Tarihi:10/12/2017




Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.