Kimlik Doğrulama ve İşlem Güvenliği Denetim Testleri
Mobil uygulama ve mobil cihazlarda güvenlik kontrollerinin (anti-keylogging, anti-injection, antidebugging ve anti-emulation, device-binding, antimalware ve jailbreaking) test edilmesi
1 - Anti-Keylogging
Aşağıda kurallar ve tespit ettiklerini paylaşıyorum. Device-binding konusu bize ait bir durum değildir. Bizim tarafta bir aktivasyon bulunmamaktadır. Fakat kullanıcı cihazını değiştirdiğinde yeni bir cihazdan giriş yaptığında bunu tespit edip sizlere iletiyoruz.
Injection 1346 MobileInjection (Frida Detect) Android
Debug 256 Debug Android
Rooted - Jailbreak 116 Jailbreak IOS 209 Rooted Android 2503 Jailbreak IOS
Emulator 361 - The user accesses the protected resource using the android emulator. - Android emulator usage detected 91 Emulator Android-IOS
Overlay(Keylogging) 328 Overlay Android 210 - Detected the use of accessibility services for working with the application - Android: Accessibility service
Malware 1802 - Android: malware has been detected on the device - Android: malware has been detected on the device 93 Malware Android 94 Malware-Trojan Andorid 92 Suspicious Mobile Application
- SDK’nin güvenlik sensörleri, BSEBY’nin 34 üncü maddesinin on beşinci fıkrasına uygun olacak şekilde, sürekli bir biçimde asgari olarak aşağıdaki kontrolleri sağlayarak SS’ye iletilmek üzere gerekli risk verilerini oluşturmalıdır: i. Mobil uygulama güvenilirliğinin ve bütünlüğünün bozulmasına ilişkin kontroller, a) (anti-keylogging) Hassas verilerin kullanıcı arayüzü üzerinden girilmesi esnasında çalınmasını engellemeye yönelik kontroller 328,210 (481 Fraud senaryosu ile takip edilmektedir) Sanal Klavye: Uygulama içinde kullanıcı bilgileri (ör. şifreler) girilirken, cihazın yerel klavyesi yerine özel bir sanal klavye kullanılabilir. Bu, tuş vuruşlarını izleyen kötü niyetli yazılımları devre dışı bırakır. Şifreleme: Tuş vuruşlarının uygulamaya iletilmeden önce şifrelenmesi, araya girme saldırılarına karşı koruma sağlar. Ekran Yakalama Önleme: Uygulama, ekran görüntüsü alınmasını veya ekran kaydedilmesini engelleyen mekanizmalar içerebilir.
b) (anti-injection) Çalışmakta olan SDK kodunun çalışma anında değiştirilmediğine ve araya zararlı kod parçalarının eklenmediğine ilişkin kontroller 1346 (532 Fraud senaryosu ile takip edilmektedir) Kod Bütünlüğü Doğrulama: Uygulama çalışırken SDK kodunun değişip değişmediğini tespit etmek için bir hash doğrulama sistemi kullanılabilir. Dinamik Koruma: Uygulama, çalışma anında zararlı kodların enjekte edilmesini engelleyen güvenlik çözümleri (ör. kod sıkıştırma ve karıştırma teknikleri, dinamik analiz koruması) içermelidir. c) (anti-debugging ve anti-emulation) Çalışmakta olan SDK kodunun debugger ortamında, emülatör ortamında ya da sanal makinede çalışmakta olup olmadığına ilişkin kontroller 256 debug android-emülatör 1401,361,824,1502,1504,255,91,1503 (419 numaralı senaryo ile takip edilmektedir) 1502 ve 255 e yönelik kural yok (419 Fraud senaryosu ile takip edilmektedir.) Debugger Algılama: Uygulama, çalıştığı ortamın bir debugger tarafından izlenip izlenmediğini tespit edebilir. Örneğin, belirli işletim sistemi API çağrılarını kontrol edebilir. Emülatör Algılama: Uygulama, cihazın fiziksel bir cihaz mı yoksa sanal bir ortam mı olduğunu doğrulamak için donanım özelliklerini (ör. IMEI, CPU, sensörler) kontrol edebilir. Kullanıcı Bildirimi: Debugging veya emulation tespit edildiğinde, kullanıcıya bir uyarı gönderilebilir ve uygulama çalışması durdurulabilir. d) (device-binding) Aktive edilmiş mobil bankacılık uygulaması ve SDK’nin yalnızca aktivasyon sırasında kaydedilmiş mobil cihaz üzerinde çalıştığına ilişkin kontroller (Aktive edilmiş mobil bankacılık uygulaması ve SDK’nin yalnızca aktivasyon sırasında kaydedilmiş mobil cihaz üzerinde çalıştığına ilişkin kontroller (device-binding) Yeni cihaz kuralları aşağıda paylaşıyorum; 111 305 (Yeni cihaza yönelik birçok fraud kontrolleri bulunmaktadır)
Cihaz Kimliği: Uygulama, cihazın benzersiz kimliğini (ör. IMEI, UUID, MAC adresi) aktivasyon sırasında kaydederek yalnızca bu cihaz üzerinde çalışmasına izin verir. Cihaz Bağlılığı Doğrulama: Her oturum başlatıldığında cihaz kimliği kontrol edilir. Eşleşme olmazsa, oturum engellenir ve kullanıcıdan yeniden doğrulama istenir. ii. Mobil cihaz güvenilirliğinin ve bütünlüğünün bozulmasına ilişkin kontroller, (anti-malware), Mobil cihazın zararlı yazılım barındırıp barındırmadığı ya da bu yazılımlarca ele geçirilip geçirilmediğine ilişkin kontroller 1802,93,94,92,1713 (440,520,490,474 Fraud senaryosu ile takip edilmektedir) Davranış Analizi: Uygulama, cihazda çalışan diğer uygulamaların anormal davranışlarını (ör. veri izleme, izin ihlalleri) tespit edebilir. Tehdit İstihbaratı: Mobil uygulama, bilinen kötü amaçlı yazılım veritabanlarına karşı cihazdaki yazılımları tarayabilir. İzole Uygulama Çalıştırma: Uygulama, hassas verileri yalnızca güvenilir ortamlarda işlemeye izin verecek şekilde tasarlanabilir. b) (jailbreaking) Mobil cihaz işletim sisteminin kırılıp kırılmadığına ilişkin kontroller, 116,209 (471 ve 418 Fraud kuralı ile takip edilmektedir) İşletim Sistemi Kontrolü: Uygulama, cihazın işletim sistemi dosya izinlerini, sistem bütünlüğünü ve kök dizin yapılandırmasını analiz ederek jailbreak tespit edebilir. Sistem Arayüzleri Doğrulama: Standart işletim sistemi API'leri dışında kullanılan API çağrılarını tespit etmek için kontrol mekanizmaları geliştirilebilir. Çalışmayı Engelleme: Jailbreak tespit edildiğinde uygulamanın çalışması otomatik olarak sonlandırılabilir ve kullanıcıya bir bildirim gönderilebilir.