Araştırma Makalesi
BibTex RIS Kaynak Göster

İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti

Yıl 2020, Cilt: 13 Sayı: 1, 11 - 19, 13.04.2020

Öz

Günlük hayatımızda kullandığımız birçok
akıllı cihazı kişisel ve çevresel verilerimizle besliyor, daha işlevsel-yararlı
hale gelmelerini sağlıyoruz. İçerdikleri yazılımlar ile “akıllı” davranan bu
cihazlar çoğu zaman karar alma aşamasında bizleri yönlendirebiliyor. Günlük
hayatımızda artan “yazılım kullanma” ihtiyacı aynı zamanda saldırı yüzeyini
artırmakta ve bilinçli kullanıcılarda tedirginlik yaratabilmektedir. Bu durum
yazılımların işlevselliği kadar güvenliğini de ön plana çıkarmaktadır.
Kullandığımız yazılımın güvenlik zayıflığı içerdiğini öğrendiğimizde hızlıca ya
tamamen kullanmaktan vazgeçiyor ya da güvenlik açığı giderilmiş sürümünün
yayımlanmasını bekliyoruz. Yazılımlardaki güvenlik zayıflıklarının kullanım
öncesi tespiti hem müşteri memnuniyetini artırmakta hem de geliştiricinin
saygınlığını artırmaktadır. Bu çalışmada, ikili yürütülebilir yazılımlarda
sıkça rastlanan arabellek taşması zayıflığına neden olan şüpheli ikili işlem
kod dizilimlerinin tespitine yönelik geliştirilen yöntem ve deneysel sonuçlar
paylaşılmıştır.

Kaynakça

  • [1] International Organization for Standardization, "ISO/IEC TR 9126-4: Software engineering -- Product quality -- Part4: Quality in use metrics", http://www.iso.org, Son erişim tarihi: 29 Ekim 2019
  • [2] International Organization for Standardization, "ISO/IEC 25010: Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- System and software quality models", http://www.iso.org, Son erişim tarihi: 29 Ekim 2019
  • [3] Durmuş, G. , Soğukpınar, İ ., “Makine öğrenmesi teknikleri ile ikili yürütülebilir dosyalarda arabellek taşması zayıflığı analizi için yeni bir yaklaşım”, Gazi Üniversitesi Mühendislik Mimarlık Fakültesi Dergisi , 34 (4), 1695-1704, 2019
  • [4] McGraw, G., "Software Security", IEEE Security &Privacy, vol. 2, no. 2, 2004, pp. 80-83, 2004
  • [5] Baca, D.,"Developing Secure Software in an Agile Process", Doctoral Dissertation in Computer Science, Blekinge Institute of Technology, 2012
  • [6] Younan, Y. , “25 Years of Vulnerabilities: 1988-2012”, Research Report, Sourcefire Crop, 2013
  • [7] Younan, Y., Joosen, W., Piessens F., “Code Injection in C and C++ : A Survey of Vulnerabilities and Countermeasures”, Report CW386, 2004
  • [8] 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
  • [9] 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
  • [10] 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
  • [11] Chess, B., McGraw, G., "Static Analysis for Security", IEEE Security &, Privacy, vol. 2, no. 6, pp. 76-79., 2004
  • [12] 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
  • [13] 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
  • [14] Jay-Evan J. Tevis, "Automatic Detection of Software Security Vulnerabilities in Executable Program Files", Doctoral Dissertation in Computer Science, Auburn University, 2005
  • [15] Tevis, Jay-Evan J. et al., "Static Analysis of Anomalies and Security Vulnerabilities in Executable Files", ACM SE'06, Mar. 10-12, 2006
  • [16] D.C. DuVarney, V.N. Venkatakrishnan and S. Bhatkar, "SELF: A Transparent Security Extension for ELF Binaries", Proc. New Security Paradigms Workshop, 2003
  • [17] 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
  • [18] Balakrishnan, G.,“WYSINWYX: What You See Is Not What You eXecute”, PhD Thesis, Computer Science Department, University of Wisconsin at Madison, August 2007
  • [19] 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
  • [20] NIST Software Assurance Reference Dataset, https://samate.nist.gov/SRD/testsuite.php, Son erişim tarihi: 29 Ekim 2019
  • [21] Weka 3 - Data Mining with Open Source Machine Learning Software in Java, https://www.cs.waikato.ac.nz/ml/weka, Son erişim tarihi: 29 Ekim 2019
  • [22] 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
  • [23] Durmus, G., “Source Code and Data Set of The Study”, http://github.com/gdurmus/, Son erişim tarihi: 29 Ekim 2019

Detection of Suspicious OpCode Sequences Causing Buffer Overflow Vulnerabilities in Binary Executable Applications

Yıl 2020, Cilt: 13 Sayı: 1, 11 - 19, 13.04.2020

Öz

We
feed many smart devices that we use in our daily lives with our personal and
environmental data and make them more functional and useful.  These devices, which are smart with the
software they contain, can often guide us in decision-making. The increasing
“need to use software” in our daily lives also increases the attack surface and
can create doubtfulness for privacy-conscious users. This makes the software
security as important as the functionality. When we find out that the software
we use contains security vulnerability we either quickly stop using it
completely or we are waiting for the new release of the secure version.
Detection of security weaknesses in software before use increases customer
satisfaction and developer reputation. In this study, we present a new method
and its success for detecting suspicious opcode sequences which cause buffer
overflow vulnerabilities in binary executables.

Kaynakça

  • [1] International Organization for Standardization, "ISO/IEC TR 9126-4: Software engineering -- Product quality -- Part4: Quality in use metrics", http://www.iso.org, Son erişim tarihi: 29 Ekim 2019
  • [2] International Organization for Standardization, "ISO/IEC 25010: Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- System and software quality models", http://www.iso.org, Son erişim tarihi: 29 Ekim 2019
  • [3] Durmuş, G. , Soğukpınar, İ ., “Makine öğrenmesi teknikleri ile ikili yürütülebilir dosyalarda arabellek taşması zayıflığı analizi için yeni bir yaklaşım”, Gazi Üniversitesi Mühendislik Mimarlık Fakültesi Dergisi , 34 (4), 1695-1704, 2019
  • [4] McGraw, G., "Software Security", IEEE Security &Privacy, vol. 2, no. 2, 2004, pp. 80-83, 2004
  • [5] Baca, D.,"Developing Secure Software in an Agile Process", Doctoral Dissertation in Computer Science, Blekinge Institute of Technology, 2012
  • [6] Younan, Y. , “25 Years of Vulnerabilities: 1988-2012”, Research Report, Sourcefire Crop, 2013
  • [7] Younan, Y., Joosen, W., Piessens F., “Code Injection in C and C++ : A Survey of Vulnerabilities and Countermeasures”, Report CW386, 2004
  • [8] 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
  • [9] 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
  • [10] 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
  • [11] Chess, B., McGraw, G., "Static Analysis for Security", IEEE Security &, Privacy, vol. 2, no. 6, pp. 76-79., 2004
  • [12] 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
  • [13] 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
  • [14] Jay-Evan J. Tevis, "Automatic Detection of Software Security Vulnerabilities in Executable Program Files", Doctoral Dissertation in Computer Science, Auburn University, 2005
  • [15] Tevis, Jay-Evan J. et al., "Static Analysis of Anomalies and Security Vulnerabilities in Executable Files", ACM SE'06, Mar. 10-12, 2006
  • [16] D.C. DuVarney, V.N. Venkatakrishnan and S. Bhatkar, "SELF: A Transparent Security Extension for ELF Binaries", Proc. New Security Paradigms Workshop, 2003
  • [17] 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
  • [18] Balakrishnan, G.,“WYSINWYX: What You See Is Not What You eXecute”, PhD Thesis, Computer Science Department, University of Wisconsin at Madison, August 2007
  • [19] 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
  • [20] NIST Software Assurance Reference Dataset, https://samate.nist.gov/SRD/testsuite.php, Son erişim tarihi: 29 Ekim 2019
  • [21] Weka 3 - Data Mining with Open Source Machine Learning Software in Java, https://www.cs.waikato.ac.nz/ml/weka, Son erişim tarihi: 29 Ekim 2019
  • [22] 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
  • [23] Durmus, G., “Source Code and Data Set of The Study”, http://github.com/gdurmus/, Son erişim tarihi: 29 Ekim 2019
Toplam 23 adet kaynakça vardır.

Ayrıntılar

Birincil Dil Türkçe
Konular Mühendislik
Bölüm Makaleler(Araştırma)
Yazarlar

Gursoy Durmus 0000-0002-2116-1618

İbrahim Sogukpinar Bu kişi benim 0000-0002-0408-0277

Yayımlanma Tarihi 13 Nisan 2020
Yayımlandığı Sayı Yıl 2020 Cilt: 13 Sayı: 1

Kaynak Göster

APA Durmus, G., & Sogukpinar, İ. (2020). İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti. Türkiye Bilişim Vakfı Bilgisayar Bilimleri Ve Mühendisliği Dergisi, 13(1), 11-19.
AMA Durmus G, Sogukpinar İ. İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti. TBV-BBMD. Nisan 2020;13(1):11-19.
Chicago Durmus, Gursoy, ve İbrahim Sogukpinar. “İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti”. Türkiye Bilişim Vakfı Bilgisayar Bilimleri Ve Mühendisliği Dergisi 13, sy. 1 (Nisan 2020): 11-19.
EndNote Durmus G, Sogukpinar İ (01 Nisan 2020) İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti. Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi 13 1 11–19.
IEEE G. Durmus ve İ. Sogukpinar, “İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti”, TBV-BBMD, c. 13, sy. 1, ss. 11–19, 2020.
ISNAD Durmus, Gursoy - Sogukpinar, İbrahim. “İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti”. Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi 13/1 (Nisan 2020), 11-19.
JAMA Durmus G, Sogukpinar İ. İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti. TBV-BBMD. 2020;13:11–19.
MLA Durmus, Gursoy ve İbrahim Sogukpinar. “İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti”. Türkiye Bilişim Vakfı Bilgisayar Bilimleri Ve Mühendisliği Dergisi, c. 13, sy. 1, 2020, ss. 11-19.
Vancouver Durmus G, Sogukpinar İ. İkili Yürütülebilir Uygulamalarda Arabellek Taşması Zayıflığına Neden Olan Şüpheli İkili İşlem Kod Dizilimlerinin Tespiti. TBV-BBMD. 2020;13(1):11-9.

https://i.creativecommons.org/l/by-nc/4.0Makale Kabulü

 

Çevrimiçi makale yüklemesi yapmak için kullanıcı kayıt/girişini kullanınız.

Dergiye gönderilen makalelerin kabul süreci şu aşamalardan oluşmaktadır:

1.       Gönderilen her makale ilk aşamada en az iki hakeme gönderilmektedir.

2.       Hakem ataması, dergi editörleri tarafından yapılmaktadır. Derginin hakem havuzunda yaklaşık 200 hakem bulunmaktadır ve bu hakemler ilgi alanlarına göre sınıflandırılmıştır. Her hakeme ilgilendiği konuda makale gönderilmektedir. Hakem seçimi menfaat çatışmasına neden olmayacak biçimde yapılmaktadır.

3.       Hakemlere gönderilen makalelerde yazar adları kapatılmaktadır.

4.       Hakemlere bir makalenin nasıl değerlendirileceği açıklanmaktadır ve aşağıda görülen değerlendirme formunu doldurmaları istenmektedir.

5.       İki hakemin olumlu görüş bildirdiği makaleler editörler tarafından benzerlik incelemesinden geçirilir. Makalelerdeki benzerliğin %25’ten küçük olması beklenir.

6.       Tüm aşamaları geçmiş olan bir bildiri dil ve sunuş açısından editör tarafından incelenir ve gerekli düzeltme ve iyileştirmeler yapılır. Gerekirse yazarlara durum bildirilir.

 88x31.png   Bu eser Creative Commons Atıf-GayriTicari 4.0 Uluslararası Lisansı ile lisanslanmıştır.