Sertan Kolat skolat@avanteg.com
Sertan Kolat Avanteg Güvenlik Denetimi & Servisler Yöneticisi Güvenlik TV Yapımcı ve Sunucu CISSP, CISA, OSCP Blogger SertanKolat.com AutomatedScanning.blogspot.com
Mobil Dünya ve Beraberinde Getirdiği Tehditler Mobil Platformlar Mobil Uygulama Denetim Yöntemleri Kaynak Kodu Analizi Ağ Trafiği İnceleme Harici Dosyaların İncelenmesi Derlenmiş Dosyaların Analizi Statik Analiz Dinamik Analiz Dinamik Manipülasyon
Hassas Bilginin Açığa Çıkması Kayıp/Çalıntı Cihaz Güvensiz Hassas Veri Saklama Gömülü Erişim Anahtarları, Şifreler Güvensiz Ağ İletişimi Artniyetli Yazılımlar İzinsiz Arama, SMS Gönderim, Mobil Ödeme İzinsiz Ağ Trafiği Kullanıcı İzleme (Arama geçmişi, SMS, mail, adres defteri, fotoğraflar, GPS verisi, ) Güçlü Kimlik Doğrulama Cihazlarını Hedef Alma
İşletim Sistemleri/Cihazlar Android Apple ios (Pad, iphone, ipod) BlackBerry OS Windows Mobile Symbian OS, Bada, Diğer Sistemler J2ME (Java 2 Platform, Micro Edition)
Statik analiz yazılımları Ücretli/Ücretsiz yazılımlar Her dil desteklenmiyor veya yeni ekleniyor Kaynak kodunun birebir incelenmesi Dil, platform ve güvenlik problemlerine hakim olma
Uygulama özel verileri dışarıya gönderiyor mu? İzinsiz gizlilik ihlali var mı? Veriler güvenli kanallar üzerinden mi gönderiliyor? Değiştirilen paketler uygulama ve uygulama sunucusu tarafında ne gibi problemler yaratıyor? Uygulamaya hizmet veren servislerin kontrolü Test edilen uygulamaların çoğu web servisi ile haberleşiyor Klasik web uygulamalarında yapılan hatalara devam kullanıcı verileri değiştiremez zannedildiğinden daha az önemseniyor Web sunucularında unutulmuş geçici dosyalar çoğunlukta Uygulamalar mantıksal saldırılara, veya diğer kullanıcının yerine geçme durumlarına açık
Mantıksal Saldırılar
Mantıksal Saldırılar
Uygulamaya ait konfigürasyon veya program veri dosyalarının incelenmesidir Kurulum paketi Uygulamanın kurulu olduğu dizin Neler bulunabilir? Uygulama bileşenlerini daha iyi anlama Uygulamaya ait özel veritabanları, bilgiler Uygulamaya gömülü şifreler vb. Kullanıcılara ait hassas bilgiler
Neler bulunabilir?
Tersine mühendislik / disassembly Platform spesifik bazı örnekler Android Uygulama dosyasını Java Arşivine Dönüştürme (dex2jar) Java Decompiler kullanılarak kaynak koduna çevirme Kaynak kodu inceleme ios Uygulamanın deşifre edilmesi Disassemble edilerek incelenmesi
Derlenmiş uygulamanın çalışırken incelenmesi Uygulamanın kullandığı kütüphaneler Alınan veriler nasıl işleniyor Input/output (Geçici dosyalar, erişilen yerler, ) Hafızadaki verinin incelenmesi Diğer uygulamalarla iletişim
Uygulama çalışırken, uygulamanın çağırdığı fonksiyonların değiştirilmesi Örnek Platform: Apple ios Cycript ile runtime manipülasyonu Çalışan uygulamaya attach edip, mevcut metodlar değiştirilebilir, varolan metodlar çağırılabilir Hedef Uygulama: Dot Lock Photo Özel fotoğraflarınızı belirlediğiniz pattern ile şifreliyor Doğru pattern girildiğinde gizli albümlerinizi açıyor
(Deşifre edilmiş binary için class-dump-z çıktısından bir bölüm) @interface SecurePhotoAppDelegate : NSObject <UIApplicationDelegate, DotLockPasscodeViewControllerDelegate> { int wrongattempt; int runmode; int loginpasscodetype; (kesilmiştir) -(BOOL)doSaveNewPasscode:(unsigned)passcode; -(BOOL)doCancelPasscode; -(BOOL)isCorrectOldPasscode:(unsigned)passcode; -(void)initnormalwindow; -(void)initdecoywindow;
# ps -ef grep -i dotlock grep -v grep 501 1674 1 0 0:00.95?? 0:03.42 /var/mobile/applications/5b27ead5-9646-48ea-99fb- 1C2701349765/SecureDotLockPhotoLite.app/SecureDotLockPhotoLite # cycript -p 1674 cy# cy# var app = [ UIApplication sharedapplication ] "<UIApplication: 0x1a64d0>" cy# [ app.delegate docancelpasscode ] 1 cy#
Video Demo
İletişim Avanteg sales@avanteg.com avanteg.com twitter: @AvantegSec Sertan Kolat skolat@avanteg.com sertankolat.com twitter: @warex