Mobil

Mobil Uygulama Güvenliği: Best Practices

30 Nov 2025
5 dakika okuma
İninia Teknoloji

Mobil uygulama güvenliği, kullanıcı verilerini korumak ve uygulamanın bütünlüğünü sağlamak için kritik öneme sahiptir. Bu rehberde, iOS ve Android platformları için güvenlik best practice'lerini ele alacağız.

Veri Güvenliği

Güvenli Veri Depolama

  • iOS: Keychain Services kullanın
  • Android: EncryptedSharedPreferences veya Keystore
  • SQLite veritabanlarını şifreleyin (SQLCipher)
  • Hassas verileri asla düz metin olarak saklamayın
// Android - EncryptedSharedPreferences
val masterKey = MasterKey.Builder(context)
    .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
    .build()

val sharedPrefs = EncryptedSharedPreferences.create(
    context,
    "secret_prefs",
    masterKey,
    EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
    EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)

Veri İletimi

  • HTTPS zorunlu kullanın
  • Certificate pinning uygulayın
  • TLS 1.3 tercih edin
  • Hassas verileri URL parametrelerinde taşımayın

Kimlik Doğrulama

Güvenli Oturum Yönetimi

  • OAuth 2.0 / OpenID Connect kullanın
  • JWT token'ları güvenli saklayın
  • Token expiration süreleri kısa tutun
  • Refresh token rotation uygulayın

Biyometrik Kimlik Doğrulama

  • Face ID / Touch ID (iOS)
  • Fingerprint / Face Unlock (Android)
  • Fallback mekanizması zorunlu

Kod Güvenliği

Obfuscation (Karıştırma)

  • Android: ProGuard / R8
  • iOS: LLVM obfuscation
  • String encryption
# Android - ProGuard rules
-keep class com.myapp.model.** { *; }
-keepclassmembers class * {
    @com.google.gson.annotations.SerializedName <fields>;
}

Reverse Engineering Koruması

  • Root/Jailbreak detection
  • Debugger detection
  • Emulator detection
  • Tamper detection

API Güvenliği

API Key Yönetimi

  • API key'leri kod içinde hardcode etmeyin
  • Backend proxy kullanın
  • Rate limiting uygulayın
  • API versiyonlama

Input Validation

  • Tüm kullanıcı girdilerini validate edin
  • SQL injection koruması
  • XSS koruması (WebView'lar için)

Platform Spesifik Güvenlik

iOS

  • App Transport Security (ATS) aktif tutun
  • Data Protection API kullanın
  • Keychain access groups ayarlayın

Android

  • android:exported="false" (gereksiz componentler için)
  • Content provider permissions
  • Network security config
<!-- network_security_config.xml -->
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">api.myapp.com</domain>
        <pin-set>
            <pin digest="SHA-256">base64encodedpin=</pin>
        </pin-set>
    </domain-config>
</network-security-config>

Test ve Audit

  • OWASP Mobile Security Testing Guide (MSTG)
  • Penetration testing
  • Static Application Security Testing (SAST)
  • Dynamic Application Security Testing (DAST)
  • Dependency vulnerability scanning

Güvenlik Checklist

  • ☐ HTTPS zorunlu
  • ☐ Certificate pinning aktif
  • ☐ Hassas veriler şifreli
  • ☐ Secure storage kullanılıyor
  • ☐ Root/Jailbreak detection
  • ☐ Code obfuscation
  • ☐ Input validation
  • ☐ Secure authentication
  • ☐ Logging'de hassas veri yok
  • ☐ Backup disabled (gerekirse)

Mobil uygulama güvenliği, sürekli dikkat gerektiren bir süreçtir. OWASP Mobile Top 10'u düzenli takip edin ve güvenlik güncellemelerini ihmal etmeyin.

İninia Teknoloji

İstanbul Teknik Üniversitesi ARI Teknokent'te kurulu Ininia Teknoloji, 12+ yıllık deneyimle AR/VR, yapay zeka ve mobil uygulama alanlarında yenilikçi çözümler sunmaktadır.

Projeniz için profesyonel destek mi arıyorsunuz?

12+ yıllık deneyimimizle dijital dönüşümünüzü hızlandıralım.

Ücretsiz Görüşme Talep Et