3. INVICTUS
“Intelligence Research and Development”
Senior Mobile Security Consultant
at Invictus in Istanbul
VP, R&D Lead at Prodaft
Bsc. Comp Sci. & Eng. Sabanci
University
Msc. Candidate, Comp Eng at
Bogazici University
Security and Privacy in
Biometrics
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
4. İÇERİK
1
2
3
4
Android Runtime, Xposed Framework
iOS Platformunda Örnek Saldırı
Senaryoları
iOS Cydia Substrate API
Android Platformunda Örnek Saldırı
Senaryoları
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
6. Zygote
• Zygote işletim sistemindeki bütün uygulamaların başlatılmasından
sorumlu ‘daemon’dır ve bütün uygulamalar bu process’ten fork edilir.
Android Runtime
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
• /system/bin/app_process aracılığıyla ayağa kaldırılır. (@ init.rc)
7. Yükleme:
• Installer uygulaması aracılığıyla sisteme yüklenir (root
yetkileri gerektirir).
• Extended bir app_process çalıştırılabilir dosyası hali
hazırda var olan dosyanın yerini alır.
• ClassPath’e XposedBridge.jar kütüphanesini ekler ve
bu kütüphanedeki metodları gerektiğinde çağırır.
• Böylece XPosedBridge.jar kütüphanesinden gerekli
metodları Zygote process’inin bir parçasıymış gibi
çalıştırabilir.
• https://github.com/rovo89
Xposed Framework
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
8. Method Hooking/Replacing:
• Framework’ün asıl gücü hedef uygulamadaki metodları hook’layabilmesinden gelir.
• APK’yı modifiye etmek yeterli olmaz mı?
• Decompile/Compile/Sign Döngüsü
• Redistribution
• Yazacağınız bir Xposed modülü ise hedef metodun öncesinde ve sonrasında sizin kendi
kodunuzu çağırmanızı veya hedef metodu direkt olarak override etmenizi sağlar.
Xposed Framework
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
18. • Substrate C API, hedef platformlarda kod instrumentasyonu yapmanıza olanak sağlar.
• Hedef platformdaki objenin veya metodun argümanlarını, return değerlerini ve hatta
implementasyonunu değiştirmenize olanak sağlar.
• C/C++/Assembly, Objective-C ve Java (Android/Dalvik) platformlarını destekler.
• C seviyesinde çalışır.
• Android 4.3’ün üstünü desteklemez. (ART?)
Cydia Substrate API
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
19. Cydia Substrate API Hello World – Adım 1 – Binary Decryption
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
20. Cydia Substrate API Hello World – Adım 2 – Tweak Oluşturma
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
THEOS SDK
• Linux, MacOS ve Windows (Cygwin) desteği bulunur.
o Windows: https://coolstar.org/theos.pdf
o Linux/OSX: http://iphonedevwiki.net/index.php/Theos/Setup
21. Cydia Substrate API Hello World – Adım 2 – Tweak Oluşturma
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
Logos
• Preprocessor tabanlı bir kütüphanedir.
• Tweak yazma işlemini kolaylaştırır.
22. Cydia Substrate API Hello World – Adım 3 – Tweak’i Yükleme
OWASP-TR Mobil Güvenlik Çalıştayı ‘15
• Oluşturulan dylib ve plist
dosyaları
/Library/MobileSubstrate/D
ynamicLibraries/ dizinine
kopyalanır.
• Hedef uygulama (kelime
oyunu) yeniden başlatılır.
29. Teşekkürler.
When next year’s crop of high-school graduates arrive at Oxford University in the fall of 2009, they’ll be joined by a new face;
Andrew Hamilton, the 55-year-old provost of Yale, who’llWhen next year’s crop of high-school graduates arrive at