Mobil Uygulama Güvenliği: OWASP MASVS ile Doğrulama

Mobil uygulama güvenliğinde OWASP MASVS çerçevesi: güvenli veri saklama, TLS ve sertifika sabitleme, WebView riskleri, tersine mühendislik direnci ve yayın öncesi doğrulama listesi.

Android Keystore ile güvenli veri saklama kodunu gösteren Kotlin editör penceresi

Mobil uygulama güvenliği neden web güvenliğinden farklıdır?

Mobil uygulamada kodunuz, saldırganın cihazında çalışır: APK/IPA paketi indirilebilir, sökülebilir (decompile), ağ trafiği araya girilerek incelenebilir ve uygulama içine gömdüğünüz her sır okunabilir kabul edilmelidir. Web'de sunucu sizin kontrolünüzdedir; mobilde istemci tarafı düşman bölgededir. Bu fark, güvenlik modelinin baştan farklı kurulmasını gerektirir.

OWASP MASVS: mobil güvenliğin doğrulama standardı

OWASP MASVS (Mobile Application Security Verification Standard), mobil uygulama güvenliğini ölçülebilir gereksinimlere döken açık standarttır; kardeş doküman MASTG ise bu gereksinimlerin nasıl test edileceğini anlatır. Güncel MASVS, gereksinimleri sekiz alanda toplar:

MASVS alanı

Kapsam

Tipik zafiyet

STORAGE

Hassas verinin cihazda saklanması

Token'ın düz metin tercihen (SharedPreferences) yazılması

CRYPTO

Kriptografi kullanımı

Gömülü sabit anahtar, zayıf algoritma

AUTH

Kimlik doğrulama ve oturum

Cihazda kalıcı, süresiz oturumlar

NETWORK

Ağ iletişimi

TLS doğrulamasının kapatılması

PLATFORM

Platform API'leri, WebView, IPC

Güvensiz WebView, korumasız deep link

CODE

Kod kalitesi ve derleme ayarları

Debug bayrakları, eski SDK hedefleri

RESILIENCE

Tersine mühendislik direnci

Obfuscation ve bütünlük kontrolü yokluğu

PRIVACY

Kullanıcı mahremiyeti

Gereksiz veri ve izin toplama

STORAGE: cihazdaki veri, cihaz sahibinindir

Temel kural: cihazda saklamak zorunda olmadığınız hassas veriyi saklamayın. Saklamak zorundaysanız platformun donanım destekli mekanizmalarını kullanın: Android'de Keystore sistemi ve şifreli tercihen/dosya API'leri, iOS'ta Keychain. Erişim token'larını düz metin olarak SharedPreferences veya UserDefaults'a yazmak, mobil sızma testlerinin en sık bulgusudur. Loglara hassas veri yazılması da aynı başlığın parçasıdır: üretim derlemelerinde ayrıntılı loglama kapatılmalıdır.

NETWORK: TLS pazarlık konusu değildir

Tüm trafik TLS üzerinden akmalı; geliştirme kolaylığı için sertifika doğrulamasını gevşeten kod parçaları (tüm sertifikalara güvenen TrustManager gibi) üretime asla taşınmamalıdır. Sertifika sabitleme (certificate pinning) araya girme saldırılarına karşı ek koruma sağlar; ancak operasyonel maliyeti vardır — sertifika rotasyonunda uygulamayı kilitlememek için yedek pin ve güncelleme stratejisiyle birlikte planlanmalıdır. Android'de Network Security Config, iOS'ta App Transport Security bu politikaların bildirimsel olarak tanımlanacağı yerlerdir.

PLATFORM: WebView ve deep link kapıları

WebView, mobil uygulamanın içindeki tarayıcıdır ve yanlış yapılandırıldığında web zafiyetlerini uygulamanın yetkileriyle birleştirir: yalnızca gerekliyse JavaScript açılmalı, yerel köprüler (Javascript interface) dar tutulmalı ve WebView'de yalnızca kendi kontrolünüzdeki içerik yüklenmelidir. Deep link ve app link'ler ise dışarıdan gelen komutlardır: parametreleri doğrulanmadan hassas ekranlara yönlendirme yapılmamalı, hassas aksiyonlar ek yetkilendirme istemelidir.

RESILIENCE: caydırıcılık katmanı

Kod karartma (Android'de R8/ProGuard), kök/jailbreak tespiti ve bütünlük kontrolleri, kararlı bir saldırganı durduramaz — bunu MASVS de açıkça söyler. Amaçları saldırının maliyetini yükseltmek ve otomatik/kitlesel kötüye kullanımı caydırmaktır. Bu yüzden doğru sıralama önemlidir: önce STORAGE ve NETWORK gibi temel alanlar sağlamlaştırılır; RESILIENCE üstüne eklenir, hiçbir zaman onların yerine geçmez.

Gömülü sırlar: APK içinde sır olmaz

API anahtarlarını, imza sırlarını veya sabit kimlik bilgilerini uygulama paketine gömmek, onları herkese açık yayımlamakla eşdeğerdir — paket sökme araçlarıyla dakikalar içinde çıkarılır. Doğru mimari: sırların sunucu tarafında kalması, mobil istemcinin kısa ömürlü token'larla çalışması ve üçüncü taraf API çağrılarının mümkün olduğunca kendi backend'iniz üzerinden geçmesidir.

İş etkisi: mağaza güveni ve kurumsal dağıtım

Mobil güvenlik eksikleri iki kanaldan maliyet üretir: veri ihlalinde KVKK/GDPR yükümlülükleri ve marka hasarı; kurumsal müşteri dağıtımlarında ise MDM/güvenlik değerlendirmelerinden geçememe. Bankacılık ve sağlık gibi alanlarda müşteriler MASVS temelli doğrulama raporu sorar hale gelmiştir. Yayın öncesi bağımsız mobil sızma testi, hem bu soruların cevabı hem de mağaza sonrası kriz ihtimalinin sigortasıdır.

Sık sorulan sorular

Sertifika sabitleme zorunlu mu?

MASVS'in temel seviyesi için zorunlu değildir; yüksek riskli uygulamalar (finans, sağlık) için güçlü şekilde önerilir. Yedek pin ve rotasyon planı olmadan uygulanmamalıdır.

Kök tespiti kullanıcıyı engellemeli mi?

Risk iştahınıza bağlıdır: finans uygulamaları çoğunlukla engeller veya işlevleri kısıtlar; diğerleri riski işaretleyip sunucu tarafında ek kontrole bağlar. Tespitin aşılabilir olduğu unutulmamalıdır.

Biyometrik doğrulama parolanın yerini alır mı?

Biyometri cihaz düzeyinde pratik bir ikinci faktördür; sunucu tarafındaki kimlik doğrulamanın yerine değil, yanına konumlanmalıdır. Kriptografik anahtarların biyometriyle korunması (Keystore/Keychain) doğru kullanımdır.

Flutter/React Native güvenliği değiştirir mi?

Çapraz platform çatılar temel ilkeleri değiştirmez: veri saklama, TLS, sır yönetimi ve platform API kuralları aynen geçerlidir; ek olarak çatının kendi paket ekosisteminin bağımlılık riski yönetilmelidir.

Yayın öncesi doğrulama listesi

  1. Cihazda saklanan hassas veri envanteri çıkarıldı; gereksizler kaldırıldı

  2. Kalan hassas veriler Keystore/Keychain destekli mekanizmalarda

  3. Üretimde TLS doğrulaması tam; geliştirme amaçlı gevşetmeler temizlendi

  4. WebView yapılandırması ve deep link parametre doğrulaması gözden geçirildi

  5. Pakette gömülü sır taraması yapıldı; sırlar backend'e taşındı

  6. Üretim derlemesi: debug kapalı, loglar kısıtlı, karartma açık

  7. MASVS temelli sızma testi raporu alındı

SSH Yazılım, mobil uygulamalarınız için MASVS temelli güvenlik değerlendirmesi ve sıkılaştırma hizmeti sunar. Yayın öncesi doğrulama için bizimle iletişime geçin.