Mobile App WikiMobile App Wiki
WikiApp DiscoverDiscuss

Wiki

    mobileapp.wiki

    Wiki

    • ASO17
    • Monetizasyon14
    • Mağaza Politikaları20
    • Metrikler15
    • Geliştirme25
    • Pazarlama15
    • Hukuk9
    • UI/UX14
    • Test & QA10
    • Altyapı10

    mobileapp.wiki

    Ana Sayfa/Test & QA/Security Testing (OWASP MASVS)
    Test & QA4 dk okuma

    Security Testing (OWASP MASVS)

    OWASP MASVS tabanlı mobil güvenlik testi rehberi. SSL pinning, root/jailbreak tespiti, kod obfuscation ve penetrasyon testi araçları.

    Security Testing (OWASP MASVS)

    İçindekiler

    OWASP MASVS Nedir?SSL/TLS PinningJailbreak ve Root TespitiKod ObfuscationAPI Key GüvenliğiMITM Koruması ve Biometric BypassPenetrasyon Testi AraçlarıStore Review'da Güvenlik KontrolleriGüvenlik Test Checklist'iİlgili Konular

    OWASP MASVS Nedir?

    OWASP Mobile Application Security Verification Standard (MASVS), mobil uygulamaların güvenlik seviyesini değerlendirmek için oluşturulmuş endüstri standardı bir çerçevedir. 2026 itibarıyla MASVS v2 aktif olarak kullanılmakta ve iki ana profil sunmaktadır:

    • MAS-L1: Her mobil uygulamanın karşılaması gereken temel güvenlik gereksinimleri
    • MAS-L2: Hassas veri işleyen uygulamalar için ileri düzey gereksinimler (finans, sağlık gibi)

    MASVS'i bir checklist gibi düşünebilirsiniz. Uygulamanızı yayınlamadan önce bu listedeki maddeleri tek tek kontrol ederek güvenlik açıklarını tespit edebilirsiniz.

    SSL/TLS Pinning

    Sunucu ile uygulama arasındaki iletişimin güvenliğini sağlamanın ilk adımı SSL/TLS pinning uygulamaktır. Normal HTTPS bağlantısında cihaz, herhangi bir güvenilir sertifika otoritesini kabul eder. Pinning ile uygulamanız yalnızca belirli bir sertifikayı veya public key'i kabul eder.

    iOS'ta pinning:

    • URLSession delegate metotlarıyla manuel pinning
    • TrustKit kütüphanesi ile deklaratif yapılandırma
    • Info.plist'te App Transport Security kuralları

    Android'de pinning:

    • network_security_config.xml ile pin tanımlama
    • OkHttp CertificatePinner API'si
    • Android 7+ için network security config yeterli oluyor

    Certificate transparency logları da kontrol edin. Sertifikanız için yetkisiz bir sertifika düzenlenip düzenlenmediğini takip etmenizi sağlar.

    Jailbreak ve Root Tespiti

    Jailbreak (iOS) veya root (Android) yapılmış cihazlar, uygulamanızın sandbox korumasını devre dışı bırakabilir. Bu cihazlarda keychain verileri okunabilir, runtime'da fonksiyonlar hook'lanabilir ve dosya sistemine erişilebilir.

    Kontrol edilecek sinyaller:

    • Root/jailbreak ile ilişkili dosya ve dizin varlığı (Cydia, Magisk, SuperSU)
    • su binary erişimi kontrolü
    • Sandbox bütünlüğü testi
    • Sistem kütüphanelerinin orijinallik kontrolü
    • Frida, Xposed gibi hook framework'lerinin tespiti

    Tespit edildiğinde uygulamanın nasıl davranacağına karar verin. Bazı uygulamalar uyarı gösterip devam eder, finans uygulamaları genelde tamamen çalışmayı reddeder.

    Kod Obfuscation

    Uygulamanızın APK veya IPA dosyası reverse engineering ile incelenebilir. Obfuscation, bu süreci zorlaştırmanın temel yoludur.

    Android (ProGuard/R8):

    • R8, Android'in varsayılan code shrinker ve obfuscator aracıdır
    • minifyEnabled true yaparak etkinleştirilir
    • proguard-rules.pro dosyasında keep kurallarını doğru tanımlayın
    • Reflection kullanan kütüphaneler (Gson, Retrofit) için keep rule eklemeyi unutmayın

    iOS:

    • Swift/Objective-C kodu derleme sırasında zaten kısmen obfuscate olur
    • Ek koruma için ticari araçlar (iXGuard, SwiftShield) kullanılabilir
    • Bitcode etkinleştirildiğinde Apple kendi optimizasyonlarını uygular

    API Key Güvenliği

    Mobil uygulamada API key saklama her zaman zor bir konudur. Client tarafında saklanan her key potansiyel olarak ele geçirilebilir.

    • API key'leri source code'a hardcode etmeyin
    • iOS'ta Keychain, Android'de EncryptedSharedPreferences kullanın
    • NDK/C katmanında saklama, decompile sürecini zorlaştırır ama kesin çözüm değildir
    • Mümkünse backend proxy kullanarak hassas API key'leri client'a hiç göndermeden iletişimi yönetin
    • API key rotation mekanizması kurun

    MITM Koruması ve Biometric Bypass

    Man-in-the-middle saldırıları:

    • Proxy araçları (Charles, mitmproxy) ile trafik yakalanabilir
    • SSL pinning bu saldırının ana savunma hattıdır
    • Debug build'lerde pinning genelde devre dışı bırakılır, release build'de mutlaka aktif olmalı

    Biometric bypass riskleri:

    • Sahte parmak izi veya yüz verisi ile doğrulama atlatılabilir
    • Biometric sonucunu sadece local boolean olarak tutmayın
    • Keychain/Keystore'da biometric ile korunan bir key saklayarak doğrulama yapın
    • LAContext (iOS) veya BiometricPrompt (Android) API'lerini doğru kullanın

    Penetrasyon Testi Araçları

    AraçPlatformKullanım Alanı
    FridaiOS/AndroidRuntime hooking, fonksiyon intercept
    Burp SuiteTümüHTTP/HTTPS trafik analizi ve manipülasyon
    JADXAndroidAPK decompile ve kaynak kod inceleme
    Hopper/GhidraiOSBinary analiz ve disassembly
    objectioniOS/AndroidRuntime keşif, SSL pinning bypass
    MobSFiOS/AndroidOtomatik statik ve dinamik analiz
    drozerAndroidComponent güvenlik testi

    Store Review'da Güvenlik Kontrolleri

    Apple ve Google Play, review sürecinde bazı güvenlik kontrollerini otomatik olarak yapar:

    • Bilinen kötü amaçlı SDK'ların tespiti
    • Private API kullanımı (iOS)
    • Permission'ların kullanım amacıyla tutarlılığı
    • Data safety/privacy label doğruluğu

    Ancak store review'lar kapsamlı güvenlik denetimi yerine geçmez. Uygulamanızın güvenlik sorumluluğu tamamen size aittir.

    Güvenlik Test Checklist'i

    • SSL/TLS pinning uygulanmış mı?
    • Root/jailbreak tespiti aktif mi?
    • Hassas veriler şifreli olarak saklanıyor mu?
    • API key'ler güvenli bir şekilde yönetiliyor mu?
    • Kod obfuscation uygulanmış mı?
    • Debug logları release build'de kapalı mı?
    • Clipboard'a hassas veri kopyalanması engelleniyor mu?
    • Biometric doğrulama Keychain/Keystore destekli mi?
    • Screenshot/screen recording koruması gerekli mi?
    • Minimum OS versiyon güvenli bir sürüm mü?

    Güvenlik tek seferlik bir iş değildir. Her release öncesi bu checklist'i gözden geçirin ve yeni tehditlere karşı OWASP MAS checklist'ini takip edin.

    İlgili Konular

    • Device Testing (Cihaz Testi)
    • İlk Uygulama Yayınlama Checklist'i

    Bu içeriği nasıl buldunuz?

    Paylaş

    ← Önceki

    Beta Testing

    Sonraki →

    Crash Reporting (Crashlytics & Sentry)

    İlgili İçerikler

    Beta Testing

    Mobil uygulama beta test süreci rehberi. TestFlight ve Google Play Testing ile closed/open beta, geri bildirim toplama ve kalite güvence stratejileri.

    Crash Reporting (Crashlytics & Sentry)

    Uygulama çökme raporlama rehberi. Firebase Crashlytics ve Sentry ile crash-free rate yönetimi, stack trace analizi ve production hata izleme.

    A/B Testing (Uygulama Ici)

    Mobil uygulama içi A/B testing rehberi. Firebase Remote Config, Statsig ve RevenueCat ile experiment tasarımı ve istatistiksel anlamlılık analizi.

    Performance Profiling

    Mobil uygulama performans profiling rehberi. Startup time, frame rate, memory ve battery analizi araçları ile optimizasyon teknikleri detayları.

    Unit Testing (Mobil)

    Mobil uygulama birim test rehberi. Jest, XCTest ve JUnit araçları, AAA pattern, test coverage hedefleri ve platform bazlı test stratejileri.

    Android Kapalı Test

    Android Kapalı Test hizmeti için androidtesti.com platformunu ziyaret edin.

    androidtesti.com