Mobile App Wiki

Mobile App Wiki

mobileapp.wiki

Ana Sayfa

Kategoriler

mobileapp.wiki

Mobile App Wiki

Mobil uygulama geliştirme bilgi tabanı

GizlilikAna SayfaSitemapRSS
© 2026 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 testingowaspmasvsssl pinningjailbreak detectionroot detectionproguardr8fridaburp suitegüvenlik testipenetrasyon

İç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 makaleyi nasıl buldunuz?

Paylaş

← Önceki

Beta Testing

Sonraki →

Crash Reporting (Crashlytics & Sentry)

İlgili Makaleler

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.