Ana Sayfa

DexProtector'a Derin Bir Bakış: Mobil Uygulama Korumasının Sırları

1 dk okuma

DexProtector, mobil uygulamaları (Android/iOS) tersine mühendislik ve kötü amaçlı yazılımlara karşı korumak için tasarlanmış kapsamlı bir güvenlik çözümüdür. Temel özellikleri arasında kod karıştırma (obfuscation), şifreleme, sanallaştırma, RASP (Runtime Application Self-Protection) ve bütünlük kontrolü bulunur. Revolut gibi büyük uygulamalar tarafından kullanılması, çözümün etkinliğini gösterirken, Live Net TV gibi daha şüpheli uygulamalarda da görülmesi dikkat çekicidir. Bu makale, DexProtector'ın iç işleyişine dair detaylı bir incelemenin bulgularını özetlemektedir.

DexProtector, statik ve dinamik analizi ile bellek dökümünü zorlaştırmak için karmaşık bir yükleme zinciri kullanır. Süreç, uygulamanın ana paketine enjekte edilen ve AndroidManifest.xml'de referans verilen Protected<suffix> adında özel bir sınıf ile başlar. Bu sınıf, çeşitli aşamalarda rol oynar ancak öncelikle libdpboot.so adlı yerel bir kütüphaneyi yüklemek için kullanılır. libdpboot.so ise birden fazla amaca hizmet eder ve bunlardan biri, JNI aracılığıyla System.loadLibrary("dexprotector") çağrısı yaparak libdexprotector.so kütüphanesini yüklemektir. libdexprotector.so, son korumalı yükü (payload) şifresini çözmekten ve belleğe eşlemekten sorumlu özel bir ELF yükleyicisidir. Bu korumalı yük, kütüphanenin içine gömülüdür ve bazı versiyonlarda DPLF sihirli baytları ile, diğerlerinde ise son PT_LOAD segmentinde bulunabilir.

İçgörü

Bu analiz, popüler mobil uygulamaların güvenlik mekanizmalarının karmaşıklığını ve tersine mühendislik tekniklerine karşı nasıl savunma geliştirdiğini gözler önüne seriyor.

Kaynak