Geri Dön

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ı

  1. Tez No: 416674
  2. Yazar: ÖZGÜR SAYGIN BİCAN
  3. Danışmanlar: DR. ONUR TOLGA ŞEHİTOĞLU
  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: 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
  7. Yıl: 2015
  8. Dil: İngilizce
  9. Üniversite: Orta Doğu Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. 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

  1. İ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

    Türkçe

    2013

    Havacılık Mühendisliğiİstanbul Teknik Üniversitesi

    Uçak ve Uzay Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. DUYGU ERDEM

  2. 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

    İngilizce

    2023

    Elektrik ve Elektronik MühendisliğiAnkara Yıldırım Beyazıt Üniversitesi

    Elektrik ve Elektronik Mühendisliği Ana Bilim Dalı

    PROF. DR. KAMİL ÇAĞATAY BAYINDIR

  3. 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

    Türkçe

    2021

    Savunma ve Savunma TeknolojileriEskişehir Osmangazi Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    PROF. DR. MELİH CEMAL KUŞHAN

  4. 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

    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

  5. 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

    Türkçe

    1991

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    PROF.DR. M. KEMAL SARIOĞLU