Geri Dön

Code obfuscation in interpreted languages: A layered approach

Yorumlanan dillerde kod şaşırtma: Katmanlı bir yaklaşım

  1. Tez No: 813184
  2. Yazar: SAMER ZIDANNE
  3. Danışmanlar: DR. ÖĞR. ÜYESİ ÖZGÜR CAN TURNA
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2023
  8. Dil: İngilizce
  9. Üniversite: İstanbul Üniversitesi-Cerrahpaşa
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 202

Özet

Yazılımın günlük hayatımızın her noktasına entegre olduğu 2023 yılında, yazılım güvenliği hiç olmadığı kadar önemli hale geldi. Yazılım güvenliği alanındaki önemli bir husus, kaynak kod güvenliğidir ve bu, bir programlama dilinden diğerine farklılık gösterir. Derlenmiş dillerde, programın kaynak kodu dağıtılmadan önce yürütülebilir bir binary dosya halinde derlenir ve bu, kaynak kodu geri döndürmek için çok büyük bir çaba harcanmadıkça programın kullanıcıları için erişilemez hale getirir. Orijinal kaynak koduna yalnızca programın geliştiricisi erişebilir. Yorumlanan diller için aynı şey söylenemez, çünkü bu tür dillerde dağıtılan program kaynak kodudur. Bu nedenle, bu tür programların geliştiricisi, yazdığı kaynak kodu kullanıcılardan saklamak istiyorsa, kaynak kodunu şaşırtma gibi başka gizleme yöntemlerine başvurmalıdır. Bu çalışma, yorumlanan dillerde yazılmış yazılımlara uygulanabilecek çeşitli karartma yöntemlerine odaklanmakta ve bunlara maliyet, güç ve gizlilik kriterlerine göre performans testi uygulamaktadır. Bu çalışmada, karmaşıklığa eklemeleri ve performans üzerindeki etkileri açısından test ederek şaşırtma yöntemlerini test etmek için bir dizi düzenli örnek oluşturuldu. Bilinen kötü amaçlı (malware) kod örnekleri de toplandı ve bunlar, kod şaşırtma tekniklerinin antivirüs algılama oranları üzerindeki etkisini veya bunların gizliliğini keşfetmek için kullanıldı. Buna ek olarak, bu çalışma, tek bir prosedürde çoklu gizleme tekniklerinin faydalarından yararlanmayı amaçlayan, gizlemeye yönelik katmanlı bir yaklaşım da sunmaktadır. Bu araştırmada yapılan testlerin sonuçları, uygulanan tek gizleme yöntemlerinin farklı faydalarının aslında katmanlı şaşırtmada mevcut olduğunun doğru olduğunu göstermektedir. Buna karşın katmanlı yapının özellikle performans açısından kendi dezavantajlarını beraberinde getirmektedir. Bununla birlikte, bu araştırmadaki sonuçlardan, çoğu durumda, katmanlı şaşırtmaya eşlik eden faydaların hem eklenen gizlilik hem de karmaşıklık açısından bu dezavantajlara ağır bastığı aşikardır. Bazı durumlarda, orijinal örneğe yapılan yaklaşık 33 antivirüs algılaması, katmanlı şaşırtma uygulandığında kesinlikle sıfır algılamaya dönüştüğünden, katmanlı şaşırtma, gizlilik açısından test ettiğimiz en üstün yöntemdi. Tek bir virüsten koruma aracı, katmanlı şaşırtma uygulanmış kötü amaçlı yazılımı algılamadı.

Özet (Çeviri)

In 2023, where software is integrated onto each and every small part of our daily lives, software security has become more important than ever before. A key part in the field of software security is the security of the source code, and that differs from one type of programming languages to another. In compiled languages, the source code of the program is first compiled into an executable binary before distribution, making the source code inaccessible for the users of the program unless a tremendous effort is put into reversing it back. Even then, the original source code would still be accessible only to the developer of the program. The same cannot be said in the case of interpreted languages, as the program written in such languages is the source code itself. Because of that, if the developer of these types of programs wants to keep the source code that he wrote hidden from the users, he must resort to other means of concealment, such as source code obfuscation. This study focuses on and implements various obfuscation methods that can be applied to software written in interpreted languages, before testing them according to different criteria: cost, potency, and stealth. In this study, a number of regular samples were created to test the obfuscation methods on, in terms of addition to complexity as well as reduction to performance. Known malicious code samples were also collected, they were used to discover the impact of code obfuscation techniques on antivirus detection rates, or their stealth. In addition to that, this study also introduces a layered approach to obfuscation, which is intended to harness the benefits of multiple obfuscation techniques in a single procedure with a single output. The results of the tests conducted in this research indicate that the different benefits of the applied single obfuscation methods are actually present in the layered obfuscation. They, conversely, also bring along their respective drawbacks, especially in terms of performance. It is however evident from the results in this research that, in most cases, the benefits that accompany layered obfuscation outweigh those drawbacks in terms of both added stealth and complexity. The layered obfuscation was the most superior method we tested in terms of stealth, as, in some cases, around 33 antivirus detections to the original sample turned to absolutely zero detections when layered obfuscation is applied. Not a single antivirus tool detected the malicious software with layered obfuscation applied.

Benzer Tezler

  1. Android sistemlerde derin öğrenme tabanlı kötü amaçlı yazılım tespit sistemi

    Deep learning based malware detection system on android systems

    ESRA ÇALIK BAYAZIT

    Doktora

    Türkçe

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMarmara Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. BUKET DOĞAN

    PROF. DR. ÖZGÜR KORAY ŞAHİNGÖZ

  2. Metamorfik kötücül kodların gerçek zamanlı tespiti

    Real time metamorphic malware detection system

    NECMETTİN ÇARKACI

    Yüksek Lisans

    Türkçe

    Türkçe

    2016

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolGebze Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. İBRAHİM SOĞUKPINAR

  3. An enhanced approach for malware detection by utilizing computer vision and memory forensic

    Bilgisayarlı görü ve bellek analizinden yararlanılarak zararlı yazılım tespiti için gelişmiş bir yaklaşım

    ERŞAN TAHILLIOĞLU

    Yüksek Lisans

    İngilizce

    İngilizce

    2020

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolHacettepe Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ MURAT AYDOS

    DR. ÖĞR. ÜYESİ İLKER KARA

  4. Detecting android obfuscation methods with LSTM

    LSTM ile androıd gizleme yöntemlerinin tespiti

    BULUT ULUKAPİ

    Yüksek Lisans

    İngilizce

    İngilizce

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik Üniversitesi

    Siber Güvenlik Ana Bilim Dalı

    DOÇ. DR. CİHANGİR TEZCAN

    DR. PINAR GÜRKAN BALIKÇIŎGLU

  5. Increasing chances of survival for malware using theory of natural selection and the selfish gene

    Dogal seçilim teorisi ve bencil gen ile zararlı yazılımların yaşam sürecini arttırmak

    CAN YILDIZLI

    Yüksek Lisans

    İngilizce

    İngilizce

    2011

    Bilim ve TeknolojiSabancı Üniversitesi

    Bilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ALBERT LEVİ

    PROF. DR. BULENT YENER