Standalone static binary executable rewriting for software protection
Yazılım koruma için bağımsız statik ikili çalıstırılabilir dosya tekrar yazımı
- Tez No: 416674
- Danışmanlar: DR. ONUR TOLGA ŞEHİTOĞLU
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Statik İkili Dosya Tekrar Yazımı, Yazılım Koruma, Yazılım Güvenliği, Yazılım Karıştırma, Yazılımın Değişikliğe Karşı Korunması, Static Binary Rewriting, Software Protection, Software Security, Software Obfuscation, Software Tamper-Proofing
- Yıl: 2015
- Dil: İngilizce
- Üniversite: Orta Doğu Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 75
Özet
Bu çalışma çalıştırılabilir ikili dosyaların güvenliğini arttırmak için bir statik ikili dosya tekrar yazım (SİDTY) metodu tanıtmaktadır. Yazılımın güvenliği için, ağ ve bilgisayar tabanlı önlemler saldırgan tarafından aşıldığında yada hiç olmaması durumunda yazılımın kendi kendini savunması gerekir. Ancak, yazılım koruma yöntemlerinin yazılım geliştirme aşamasında uygulanması ek kaynak kod geliştirme ve teknik bilgi gerektirmektedir. Ayrıca, bu yöntemler yapıları gereği yazılımı istenmeyen bir seviyede karmaşık hale getirmektedir. Bu yöntemleri yazılım derlendikten sonra uygulamak, yazılım geliştirme sürecini ve yazılım koruma sürecini birbirinden ayrıştırır. SİDTY tersine mühendisliği ve istenmeyen değişikliği zorlaştırmak için çalıştırılabilir dosyaları dışarıdan değiştiren bir yöntemdir. İkili dosya tekrar yazımı, yazılım koruma ile birlikte bu çalışmanın kapsamının dışında olan ikili dosya enstrümantasyonu, semantik yamalama gibi alanlarda da kullanılır. Önceki bazı çalışmalar özel derleyici ya da bağlayıcı kullanan yaklaşımlar önermektedir. Bazıları ise üçüncü parti ticari ayrıştırıcılar kullanarak ikili dosya üzerinde analiz yapmaktadır. Bu durum süreci büyük oranda bu araçların başarısına bağımlı kılmaktadır. Bu çalışmada herhangi bir ayrıştırıcı yada özel derleyici/bağlayıcı bağımlılığı olmayan, doğrudan derleyicinin çıktısı üzerinde çalışabilen bağımsız bir SİDTY çatısı geliştirilmiştir. Geliştirilen çatı, fonksiyonların yerini tespit edebilmek için hata ayıklama bilgisi kullanmaktadır, daha sonra fonksiyonları taşıyıp referansları yeni adresleri gösterecek şekilde güncellemektedir. Uygulama, performans ek yükü için C ve C++ dillerinde yazılmış çeşitli açık kaynak yazılımlar üzerinde test edilmiştir. Daha sonra, örnek çalışma olarak, uygulamamız kullanılarak bir yazılım koruma yöntemi bir programa uygulanmış ve ortaya çıkan ikili dosyanın güvenliği kontrol akış grafiğinin yazılım yapısı hakkında verdiği bilgi açısından karşılaştırılmıştır.
Özet (Çeviri)
This study introduces a static binary rewriting method for improving security of executable binaries. For software security, when the network and host-based precautions are passed by the adversary or they are not present at all, the software has to defend itself. Nevertheless, applying software protection methods during software development requires extra source code development and know-how. Furthermore, these methods inherently make the software undesirably complex. Applying these methods after compilation of the software will decouple the software development and protection processes. Binary rewriting is such a method that externally modifies an executable file in order to make binary hard to reverse engineer and tamper. Along with software protection, binary rewriting is also applied on other areas such as binary instrumentation and semantic patching etc. that are out of the scope of this study. Some prior proposed approaches use a special compiler and/or linker and some others use a third party commercial disassemblers to make analysis on the binary file, making process highly dependent on performance of these tools. In this study, a standalone static binary rewriting framework that can work directly on the output of the compiler without any third party disassembler or special compiler/linker dependency is developed. The framework uses debug information in binary to get function locations, and then relocates functions, then update the references to point to the new addresses in the binary. The implementation is tested on various open source software written in C and C++ for performance overhead. Then, as a case study, a software protection method is applied to a program using our framework, and the security of resulting binary is compared in terms of how control flow graph reveals information about software structure.
Benzer Tezler
- İTÜ Trisonik Laboratuvarı aerodinamik deney sonuçlarının analizi ve görselleştirilmesi
Analysis and visualisation of ITU Trisonic Laboratory aerodynamics experiments
ALİ BAŞEL
Yüksek Lisans
Türkçe
2013
Havacılık Mühendisliğiİstanbul Teknik ÜniversitesiUçak ve Uzay Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. DUYGU ERDEM
- Development of volt/var and energy management optimization approach for distribution systems
Dağıtım sistemleri için volt/var ve enerji yönetimi optimizasyonu yaklaşımının geliştirilmesi
ENES BEKTAŞ
Doktora
İngilizce
2023
Elektrik ve Elektronik MühendisliğiAnkara Yıldırım Beyazıt ÜniversitesiElektrik ve Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. KAMİL ÇAĞATAY BAYINDIR
- Alümina ve alüminyum köpük takviyeli seviye 4 düzeyinde yeni bir standalone zırh sentezi
A new level 4 grade alumina and aluminum foam reinforcedstandalone armor synthesis
TOLGA ÜNALIR
Doktora
Türkçe
2021
Savunma ve Savunma TeknolojileriEskişehir Osmangazi ÜniversitesiMakine Mühendisliği Ana Bilim Dalı
PROF. DR. MELİH CEMAL KUŞHAN
- Depreme dayanıklı yapı tasarımı ve onarım güçlendirme tekniklerinin incelenmesi
Design of earthquake resistant structure and investigation of building improvement techniques
ALİRIZA İLKER AKGÖNEN
Yüksek Lisans
Türkçe
2005
İnşaat MühendisliğiKahramanmaraş Sütçü İmam Üniversitesiİnşaat Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. HATİP TOK
- Güneş pili dizisinin maksimum gücünün bilgisayar kontrollü izlenmesi ve fotovoltaik-pompa uygulaması
Computer controlled maximum power tracking of solar cell array and the photovoltaic pump application
YÜCEL AYDIN
Yüksek Lisans
Türkçe
1991
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiPROF.DR. M. KEMAL SARIOĞLU