Makine öğrenmesi teknikleri ile ikili yürütülebilir dosyalarda arabellek taşması zayıflığı analizi için yeni bir yaklaşım

Bu çalışmada, ikili yürütülebilir dosya formatlı yazılımların arabellek taşması 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 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.

___

  • 1. McGraw, G., Software Security, IEEE Security &Privacy, 2 (2), 80-83, 2004.
  • 2. Baca, D.,Developing Secure Software in an Agile Process, Doctoral Dissertation in Computer Science, Blekinge Institute of Technology, 2012.
  • 3. Younan, Y., 25 Years of Vulnerabilities: 1988-2012, Research Report, Sourcefire Crop, 2013.
  • 4. Younan, Y., Joosen, W., Piessens F., Code Injection in C and C++ : A Survey of Vulnerabilities and Countermeasures, Report CW386, July 2004.
  • 5. 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.
  • 6. Sidiroglou, S., Locasto, M.E., Boyd, S.W., Keromytis, A. D., Building a Reactive Immune System for Software Services, USENIX Annual Technical Conference, 2005.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. Chess, B., McGraw, G., Static Analysis for Security, IEEE Security &, Privacy, 2 (6), 76-79., 2004.
  • 11. 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, 5, 3, 2008.
  • 12. Utku A., Doğru İ.A., Permission based detection system for android malware, Journal of the Faculty of Engineering and Architecture of Gazi University, 32 (4), 1015-1024, 2017.
  • 13. Jay-Evan J. Tevis, Automatic Detection of Software Security Vulnerabilities in Executable Program Files, Doctoral Dissertation in Computer Science, Auburn University, 2005.
  • 14. Tevis, Jay-Evan J. et al., Static Analysis of Anomalies and Security Vulnerabilities in Executable Files, ACM SE'06, Mar. 10-12, 2006.
  • 15. D.C. DuVarney, V.N. Venkatakrishnan and S. Bhatkar, SELF: A Transparent Security Extension for ELF Binaries, Proc. New Security Paradigms Workshop, 2003.
  • 16. Cova, M., Felmetsger, V., Banks, G., Vigna, G., Static Detection of Vulnerabilities in x86 Executables, Annual Computer Security Applications Conference (ACSAC), Miami, FL, December, 2006.
  • 17. Balakrishnan, G.,WYSINWYX: What You See Is Not What You eXecute, PhD Thesis, Computer Science Department, University of Wisconsin at Madison, August 2007.
  • 18. 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.
  • 19. NIST Software Assurance Reference Dataset, https://samate.nist.gov/SRD/testsuite.php, Erişim tarihi: 11/12/2017.
  • 20. 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.
  • 21. Aydın F., Aslan Z., Diagnosis of neuro degenerative diseases using machine learning methods and wavelet transform, Journal of the Faculty of Engineering and Architecture of Gazi University, 32 (3), 749-766, 2017.
  • 22. Durmus, G., Çalışma Kaynak Kod ve Sonuçları, http://github.com/gdurmus/, Son Erişim Tarihi: 05/04/2018