Code obfuscation in interpreted languages: A layered approach
Yorumlanan dillerde kod şaşırtma: Katmanlı bir yaklaşım
- Tez No: 813184
- Danışmanlar: DR. ÖĞR. ÜYESİ ÖZGÜR CAN TURNA
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: İngilizce
- Üniversite: İstanbul Üniversitesi-Cerrahpaşa
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- 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
- 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
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMarmara ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. BUKET DOĞAN
PROF. DR. ÖZGÜR KORAY ŞAHİNGÖZ
- 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
2016
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolGebze Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. İBRAHİM SOĞUKPINAR
- 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
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolHacettepe ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ MURAT AYDOS
DR. ÖĞR. ÜYESİ İLKER KARA
- Detecting android obfuscation methods with LSTM
LSTM ile androıd gizleme yöntemlerinin tespiti
BULUT ULUKAPİ
Yüksek Lisans
İngilizce
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiSiber Güvenlik Ana Bilim Dalı
DOÇ. DR. CİHANGİR TEZCAN
DR. PINAR GÜRKAN BALIKÇIŎGLU
- 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
2011
Bilim ve TeknolojiSabancı ÜniversitesiBilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı
DOÇ. DR. ALBERT LEVİ
PROF. DR. BULENT YENER