Mobil Uygulama Sızma Testi
Mobil uygulama sızma testi iOS ve Android uygulamalarınızın güvenlik açıklarını gerçek saldırgan araç ve teknikleriyle sistematik biçimde tespit eden kontrollü güvenlik değerlendirmesidir. OWASP MSTG ve OWASP Mobile Top 10 çerçevesinde yürütülür, istemci (APK/IPA), backend API ve ağ trafiği olmak üzere üç katmanı kapsar.
Çıktı olarak CVSS 3.1 skorlu bulgu listesi, kanıt görselleri, yönetici özeti ve düzeltme önerileri sunulur.
Rapor teslimi sonrasında ücretsiz danışmanlık oturumu (workshop) ve doğrulama testi sürece dahil edilir.
Sparta Siber Güvenlik; Mobil Uygulama bileşenlerinizdeki güvenlik zafiyetlerini, operasyonel sürekliliği gözeten kontrollü test yaklaşımıyla ortaya çıkarır. Bulguları önceliklendirir, uygulanabilir iyileştirme adımlarına dönüştürür.
TSE A Sınıfı Firma | OSCP • eMAPT • LPT-M Sertifikalı Ekip
Mobil Uygulama Sızma Testi Nedir?
Mobil uygulama sızma testi, uygulamanıza gerçek bir saldırganın gözüyle bakmayı ve bulduklarını raporlamayı kapsayan kontrollü bir güvenlik sürecidir. Amaç; saldırganlar uygulamanızda açık bulmadan önce siz bulup kapatmaktır.
Web uygulama testinden temel farkı şudur: Mobil sızma testi, tarayıcı üzerinde çalışan bir uygulamayı değil, cihazda kurulu bir binary dosyasını hedef alır. Bu binary tersine mühendisliğe açıktır; SSL trafiği kesilip izlenebilir; çalışma zamanında fonksiyonlar manipüle edilebilir. Bu nedenle mobil uygulama güvenlik testi, web testinden farklı araçlar ve farklı uzmanlık gerektirir.
Mobil uygulama sızma testi iki yöntemle yürütülür:
- Statik Analiz (SAST): Uygulama çalıştırılmadan, binary dosyası tersine mühendislikle incelenir. Hardcoded kimlik bilgileri, zayıf kriptografi, manifest hataları bu aşamada tespit edilir.
- Dinamik Analiz (DAST): Uygulama gerçek veya emülatör cihazda çalışırken analiz edilir. Ağ trafiği proxy üzerinden izlenir, runtime fonksiyonlar hook’lanır, güvenlik mekanizmaları atlatılmaya çalışılır.
Her iki yöntem birlikte uygulandığında kapsamlı bir mobil uygulama güvenlik değerlendirmesi elde edilir.
Mobil Uygulama Sızma Testi Nasıl Yapılır?
Sparta’nın mobil uygulama sızma testi süreci 7 aşamadan oluşur.
Her aşama belgelidir, müşterilerimiz hangi adımda ne yapıldığını ve ne bulunduğunu test sonucunda iletilen raporda açıkça görür.
Aşama | İçerik ve Çıktı |
1. Kapsam & Sözleşme | Test edilecek platform(lar), uygulama versiyonu, test tipi (black / grey / white-box), API listesi ve test ortamı belirlenir. NDA ve test yetkilendirme belgesi imzalanır. |
2. Keşif | App Store / Google Play metadata analizi, geliştirici bilgileri, kullanılan framework, backend domain ve IP aralıkları, CDN ve 3. taraf entegrasyonlar haritalanır. |
3. Statik Analiz (SAST) | APK / IPA dosyası tersine mühendislikle incelenir: manifest ve plist analizi, hardcoded credentials arama, kriptografi algoritması denetimi, bağımlılık güvenlik analizi, kod gizleme kalitesi. |
4. Dinamik Analiz (DAST) | Uygulama cihazda / emülatörde çalıştırılır: Frida & Objection ile runtime hook, proxy ile ağ trafiği izleme, SSL pinning bypass, root / jailbreak detection atlatma, bellek analizi, IPC güvenlik testi. |
5. API & Backend Testi | Tüm API endpoint’leri proxy üzerinden haritalanır ve test edilir: kimlik doğrulama bypass, IDOR, rate limiting eksikliği, JWT güvenliği, business logic hataları, GraphQL derinlik sınırı, mass assignment. |
6. Raporlama | Her bulgu CVSS 3.1 ile skorlanır, kanıt (screenshot / log / Burp trafiği) ve düzeltme rehberiyle birlikte raporlanır. Yönetici özeti ve teknik detay bölümü ayrı hazırlanır. |
7. Doğrulama – Kontrol Testi (Ücretsiz) | Kritik ve yüksek bulgular düzeltildikten sonra doğrulama testi yapılır. ‘Düzelttik’ ile ‘gerçekten düzeldi’ farklı şeylerdir, bu aşama ikisi arasındaki boşluğu kapatır. |
Mobil Uygulama Sızma Testi Neleri Kapsar?
Mobil uygulama sızma testi üç ana katmanı kapsar.
Bu katmanların tamamının test edilmesi gerekir, yalnızca biri eksik kalsa bile kritik bir açık gözden kaçabilir.
Test Katmanı | Kapsam |
İstemci Katmanı (APK / IPA) | Tersine mühendislik (JADX, Apktool, class-dump, Hopper) · Manifest & plist analizi · Hardcoded credentials & API key tespiti · SSL pinning bypass · Root / jailbreak detection atlatma · Kod gizleme kalitesi · Binary koruma kontrolleri |
Backend API Katmanı | Tüm endpoint haritalama · Broken authentication & broken access control · IDOR & yetki yükseltme · Rate limiting eksikliği · JWT token güvenliği · Business logic hataları · GraphQL / REST güvenlik kontrolleri |
Ağ & Veri Katmanı | SSL / TLS yapılandırması · Sertifika doğrulama · Man-in-the-middle simülasyonu · Yerel depolama şifreleme (Keychain, Keystore, SQLite) · Log sızıntıları · Clipboard & geçici dosya güvenliği |
Test kapsamı OWASP Mobile Security Testing Guide (MSTG) ve OWASP Mobile Application Security Verification Standard (MASVS) çerçevesinde yürütülür. Bu iki standart, mobil uygulama güvenlik değerlendirmelerinin uluslararası referansıdır.
OWASP Mobile Top 10 Kapsamı
OWASP Kategorisi | Test Tekniği ve Araçları |
M1 — Credential Usage | String analizi (MobSF, JADX), .env & config dosyaları, CI/CD artifact leak, hardcoded API key tarama |
M2 — Supply Chain | Bağımlılık versiyonu & CVE taraması, npm / gradle / CocoaPods güvenlik denetimi, SDK davranış analizi |
M3 — Authentication | Biyometrik bypass (Frida), PIN brute-force, token yenileme açığı, MFA atlatma, oturum yönetimi testleri |
M4 — Input Validation | WebView XSS, deep link enjeksiyon, push notification payload, intent tabanlı SQLi, path traversal |
M5 — Communication | Burp Suite / mitmproxy proxy, certificate pinning bypass, cleartext HTTP tespiti, HSTS kontrolü |
M6 — Privacy Controls | 3. taraf SDK veri akışı analizi, analytics SDK denetimi, KVKK Md.12 teknik kontrol değerlendirmesi |
M7 — Binary Protections | Anti-tamper bypass, Frida anti-debug atlatma, ProGuard / R8 obfuscation kalite ölçümü |
M8 — Misconfiguration | Exported bileşenler, android:backup=true, iOS ATS istisnaları, debug build tespiti, izin analizi |
M9 — Data Storage | SharedPreferences, SQLite şifreleme, Keychain erişilebilirlik seviyesi, geçici dosyalar, clipboard |
M10 — Cryptography | MD5 / SHA1 kullanımı, ECB modu, sabit IV, zayıf anahtar boyutu, custom crypto implementasyonu |
iOS ve Android: Platforma Özgü Test Alanları
Mobil uygulama sızma testi her platform için ayrı bir yaklaşım gerektirir. Güvenlik mimarileri farklıdır ve bir platformdaki açık diğerinde bulunmayabilir.
iOS’a Özgü Test Alanları | Android’e Özgü Test Alanları |
Keychain erişilebilirlik seviyesi (kSecAttrAccessibleAlways kritik risk) | Keystore implementasyon kalitesi ve şifreleme seviyesi |
App Transport Security (ATS) konfigürasyonu | Network Security Config — cleartext traffic istisnaları |
Universal Link & URL Scheme güvenliği | Intent, Deep Link, Content Provider güvenliği |
Clipboard izolasyonu & extension veri sızıntısı | BroadcastReceiver saldırı vektörleri |
Jailbreak ortamında uygulama davranışı | Root detection bypass — Magisk / Zygisk senaryoları |
IPA tersine mühendislik (class-dump, Hopper) | APK decompile — JADX, Apktool, Smali kodu analizi |
Objective-C / Swift runtime hooking (Frida) | Java / Kotlin runtime hooking (Frida + Objection) |
TestFlight & enterprise certificate güvenliği | android:debuggable=true, APK imzalama güvenliği |
Flutter, React Native, Xamarin — Cross-Platform Uygulamalar Test Edilir mi?
Evet. Cross-platform framework kullanan uygulamalar farklı tersine mühendislik yaklaşımı gerektirir.
Sparta ekibi bu framework’lerin tamamında deneyimlidir.
Flutter: Dart snapshot analizi, libapp.so binary inceleme, Dart VM üzerinden Frida hook,
React Native: JavaScript bundle (index.android.bundle) analizi, Hermes bytecode decompile,
Xamarin: IL kodu decompile (dnSpy, ILSpy), Mono runtime hook, DLL analizi
Kapsam görüşmesinde hangi framework’ü kullandığınızı belirtirseniz test stratejisi buna göre şekillendirilir.
Mobil Uygulama Sızma Testi Kimler İçin Gereklidir?
Kullanıcı verisi işleyen, kimlik doğrulama gerektiren veya finansal işlem barındıran her mobil uygulama periyodik güvenlik testine tabi tutulmalıdır. Aşağıdaki durumlar için mobil uygulama sızma testi bir tercih değil, zorunluluktur:
- Finans ve bankacılık uygulamaları — BDDK yönetmeliği ve PCI DSS v4.0 kapsamında güvenlik testi zorunluluğu
- Sağlık ve hasta verisi işleyen uygulamalar — KVKK Madde 12 teknik tedbir zorunluluğu
- E-ticaret ve ödeme uygulamaları — ödeme verisi yüksek değerli saldırı hedefi oluşturur
- Kurumsal B2E uygulamalar — şirket sistemlerine erişim sağlayan uygulamalarda tek bir açık iç ağa sızmaya kapı açar
- ISO 27001 kapsamında teknik kontrol kanıtı gerektiren kuruluşlar — sızma testi raporu denetim kanıtı olarak kullanılır
- App Store / Google Play lansmanı öncesinde güvenlik doğrulaması isteyen yazılım ekipleri
Regülasyon / Standart | Mobil Uygulama Sızma Testi ile Karşılanan Gereksinim |
KVKK Madde 12 | Kişisel verilerin güvenliğini sağlamaya yönelik teknik tedbirler — sızma testi doğrudan kanıt |
BDDK Bilgi Sistemleri | Mobil bankacılık uygulamaları için periyodik güvenlik testi zorunluluğu |
PCI DSS v4.0 | Ödeme verisi işleyen uygulamalar için penetrasyon testi (Req. 11.4) |
ISO 27001 — A.14 | Uygulama geliştirme güvenliği — teknik test sonuç raporu audit kanıtı olarak kullanılır |
ISO 27701 | Kişisel veri işleme sistemlerinde teknik kontrol doğrulaması |
Mobil Uygulama Sızma Testi Raporu Nasıl Olur?
Mobil uygulama sızma testi sonunda teslim ettiğimiz rapor iki farklı okuyucuya hitap eder: yönetim ve teknik ekip. Kimsenin zamanını raporu anlamaya veya özetlemeye harcamaması gerekir.
Yönetici Özeti (1–2 Sayfa) |
Risk dağılımı: Kritik / Yüksek / Orta / Düşük — grafik ve sayısal özet İş etkisi: ‘Bu açık ne anlama gelir?’ sorusunun teknik jargon içermeyen yanıtı Öncelik sırası: Hangi bulgu önce kapatılmalı? Regülasyon bağlantısı: Hangi bulgu hangi KVKK / BDDK / ISO 27001 gereksinimi ile ilgili? |
Teknik Bulgular Raporu (Her Bulgu İçin) |
Başlık · OWASP Mobile Top 10 kategorisi · CVSS 3.1 skoru Etkilenen bileşen ve istismar senaryosu: ‘Saldırgan bu açığı nasıl kullanır?’ Kanıt: Screenshot, log çıktısı, Burp Suite trafiği Düzeltme rehberi: Kod örneği veya konfigürasyon değişikliği ile birlikte Doğrulama adımları: Geliştirici ekibi ‘düzeldi’ diyebilmek için ne yapmalı? |
Mobil Uygulama Sızma Testi Ne Kadar Sürer?
Test süresi uygulamanın karmaşıklığına, platform sayısına ve seçilen test tipine (black / grey / white-box) göre değişir. Aşağıdaki tablo genel referans değerleridir; kesin süre kapsam görüşmesinden sonra belirlenir.
Uygulama Profili | Tahmini Süre |
Basit — 5-10 ekran, tek platform, sınırlı API | 3–5 iş günü |
Orta — 15-30 ekran, tek platform, zengin API | 5–8 iş günü |
Finans / ödeme özelliği, tek platform | 8–12 iş günü |
Her iki platform (iOS + Android), orta karmaşıklık | 10–15 iş günü |
Kurumsal, her iki platform, white-box, tam API kapsamı | 15–25 iş günü |
Sparta ile Mobil Uygulama Sızma Testi
Ekibimizin kurucusu Alper Başaran, INE Security eMAPT — sektörün önde gelen mobil uygulama sızma testi sertifikasyonu — eğitimini ve sınav içeriğini hazırlamıştır.
Mobil uygulama sızma testi, araç çalıştırmaktan ibaret değildir. Otomatik tarayıcılar bilinen imzaları bulur, bir saldırgan ise iş mantığı hatalarını, platform’a özgü konfigürasyon açıklarını ve birden fazla zafiyetin birleşiminden oluşan saldırı zincirlerini arar.
Sparta testleri manuel analiz ağırlıklıdır.
- TSE onaylı ekip — eMAPT, OSCP, CEH, GPEN sertifikalı uzmanlar
- OWASP MSTG + MASVS + OSSTMM metodoloji kombinasyonu
- Manuel test ağırlıklı, otomatik tarayıcıların kaçırdığı iş mantığı hatalarını bulur
- Flutter, React Native, Xamarin dahil cross-platform uygulama desteği
- Ücretsiz doğrulama testi: kritik ve yüksek bulgular için düzeltme doğrulaması
- İki katmanlı rapor: yönetici özeti ve teknik detay ayrı hazırlanır
- Talep halinde AttackScope entegrasyonu — tespit edilen saldırı zincirini savunma ekibinize karşı simüle edin
Sıkça Sorulan Sorular (FAQ)
APK veya kaynak kodu vermek zorunda mıyım?
Hayır. Black-box testte yalnızca yayında olan uygulama yeterlidir. Grey-box’ta test hesabı ve API dokümantasyonu sağlanır. White-box’ta kaynak kod erişimi verilirse test derinliği ve hızı artar. En uygun yaklaşım kapsam görüşmesinde birlikte kararlaştırılır.
Test sırasında uygulama hizmet dışı kalır mı?
Hayır. Mobil uygulama sızma testi öncelikle ayrı bir test ortamında yürütülür. Production’a dokunulması gerekiyorsa, hizmet sürekliliğine minimum etki sağlayan kontrollü yaklaşım uygulanır ve önceden bilgilendirme yapılır.
iOS ve Android için ayrı test mi gerekir?
Her iki platformda da yayında bir uygulamanız varsa, her ikisi için ayrı kapsam önerilir. Platform güvenlik mimarileri farklı olduğundan, iOS’ta bulunmayan bir açık Android’de çıkabilir ya da tam tersi. İki platform için tek proje kapsamı ve tek sözleşme tanımlayabiliriz.
Flutter veya React Native uygulama test edilebilir mi?
Evet. Sparta ekibi Flutter, React Native ve Xamarin uygulamalarında deneyimlidir. Bu framework’ler standart APK / IPA testinden farklı tersine mühendislik yaklaşımı gerektirir. Kapsam görüşmesinde framework bilgisi alınır ve buna göre planlama yapılır.
Mobil uygulama sızma testi ne sıklıkla yapılmalıdır?
Her major güncelleme veya yeni özellik lansmanı öncesinde test edilmesi önerilir. Finans ve sağlık uygulamaları için yılda en az bir kez, BDDK ve PCI DSS kapsamındaki uygulamalar için ilgili düzenlemenin belirlediği periyotta test zorunludur.
Sadece rapor mu alıyoruz?
Hayır. Teknik raporun yanında yönetici özeti, bulguların önceliklendirilmiş aksiyon planı ve kapanış değerlendirme oturumu sunarız. İsterseniz düzeltme adımlarını planlamak için test sonrası 1 günlük ücretsiz danışma görüşmesi ile yol haritasını birlikte netleştiririz.
Rapor denetim kanıtı olarak kullanılabilir mi?
Evet. Raporlarımız ISO 27001, BDDK ve KVKK denetimleri için teknik kanıt niteliğindedir. Talep halinde denetçi sorularını yanıtlamak amacıyla danışmanlık desteği sağlanır.
