Mobil uygulama güvenliği, uygulamanın telefona indirilmesinden sunucuya veri göndermesine, kullanıcının oturum açmasından ödeme yapmasına kadar her temas noktasını kapsar. Bir uygulama App Store veya Google Play’de yayınlanabiliyor diye güvenli kabul edilemez; mağaza onayı yalnızca minimum platform kurallarının sağlandığını gösterir.
Atalay Tech tarafında mobil uygulama geliştirme projelerinde güvenliği “sonradan eklenecek bir kontrol listesi” olarak değil, keşif aşamasından bakım dönemine kadar devam eden teknik bir disiplin olarak ele alıyoruz. Çünkü mobil uygulamada en pahalı güvenlik açığı çoğu zaman kod yazıldıktan sonra değil, yanlış karar daha ilk mimari toplantıda verildiğinde oluşur.
Örneğin bir sağlık uygulamasında kullanıcının rapor dosyası cihazda düz metin tutulursa, sonradan ekranlara kilit koymak tek başına yeterli olmaz. Bir e-ticaret uygulamasında ödeme token’ı mobil istemcide saklanıyorsa, güçlü bir şifre politikası bile temel riski çözmez. Bir saha operasyon uygulamasında API yetkilendirmesi rol bazlı değilse, kullanıcı arayüzünde buton gizlemek veri sızıntısını engellemez.
OWASP tarafından yayınlanan Mobile Application Security Verification Standard mobil uygulama güvenliği için sektör standardı kabul edilen kapsamlı bir referanstır. Android tarafında Google’ın güvenlik en iyi pratikleri, iOS tarafında ise Apple’ın Security Overview ve Secure Enclave yaklaşımı uygulama mimarisinde dikkate alınması gereken temel kaynaklardır.
Mobil Uygulama Güvenliği Nedir?
Mobil uygulama güvenliği; uygulamanın kodunu, API bağlantılarını, veri saklama yöntemini, oturum yönetimini, cihaz izinlerini, kimlik doğrulamayı, şifrelemeyi, yayın süreçlerini ve bakım operasyonunu birlikte koruma yaklaşımıdır.
Bu kavram sadece “hacklenmemek” anlamına gelmez. Kullanıcının kişisel verisinin yanlış kişiye görünmemesi, API’nin yetkisiz erişime kapalı olması, uygulamanın tersine mühendisliğe karşı makul seviyede dirençli olması, hatalı yetkilendirme nedeniyle başka kullanıcının verisine erişilememesi ve log kayıtlarında hassas veri tutulmaması da güvenliğin parçasıdır.
Bir mobil uygulama genellikle üç katmandan oluşur:
| Katman | Risk Örneği | Güvenlik Yaklaşımı |
|---|
| Mobil istemci | Token’ın cihazda düz metin saklanması | Keychain, Keystore, güvenli depolama |
| API ve backend | Yetkisiz veri erişimi | Rol bazlı yetkilendirme, rate limit, audit log |
| Operasyon | Eski bağımlılıkların yayında kalması | Versiyon takibi, bakım, güvenlik yamaları |
Bu nedenle mobil uygulama güvenliği sadece mobil geliştiricinin sorumluluğu değildir. Backend, DevOps, ürün sahibi, tasarım ekibi ve teknik destek süreci birlikte çalışmalıdır.
Mobil Uygulamalarda En Yaygın Güvenlik Riskleri
Mobil uygulamalarda güvenlik zafiyetleri genellikle tek bir büyük hatadan değil, küçük ihmallerin birleşmesinden doğar. API anahtarının repoda kalması, test ortamının prod ortamıyla aynı veritabanını kullanması, kullanıcı rolünün sadece frontend’de kontrol edilmesi veya log kayıtlarında telefon numarası tutulması tek başına küçük görünebilir; birlikte ciddi bir veri ihlaline dönüşebilir.
Aşağıdaki tablo, mobil uygulama projelerinde sık karşılaşılan riskleri ve alınabilecek önlemleri özetler:
| Risk Alanı | Gerçekçi Senaryo | Alınması Gereken Önlem |
|---|
| Zayıf oturum yönetimi | Kullanıcı çıkış yaptıktan sonra token hâlâ geçerli | Kısa ömürlü access token, refresh token rotasyonu |
| Güvensiz veri saklama | Kimlik numarası cihazda düz metin tutuluyor | iOS Keychain, Android Keystore, şifreli local storage |
| API yetki hatası | Kullanıcı başka kullanıcının siparişini ID değiştirerek görüyor | Backend tarafında nesne bazlı yetkilendirme |
| Eksik TLS kontrolü | Trafik proxy ile okunabiliyor | HTTPS, certificate pinning, güvenli network config |
| Gereksiz izinler | Basit not uygulaması konum izni istiyor | Minimum permission prensibi |
| Hardcoded secret | API key uygulama paketi içinde bulunuyor | Secret yönetimi, backend proxy, environment ayrımı |
| Debug build yayını | Logcat içinde token görünüyor | Release pipeline kontrolü, debug log temizliği |
Özellikle finans, sağlık, eğitim, pazar yeri, üyelik sistemi ve kurum içi operasyon uygulamalarında bu riskler doğrudan iş sürekliliğini etkiler. IBM’in Cost of a Data Breach Report 2025 raporu, veri ihlallerinin yalnızca teknik değil finansal bir risk olduğunu da gösterir. Global ölçekte rakamlar sektör ve ülkeye göre değişse de küçük ekiplerin bile güvenlik bütçesini “gereksiz masraf” gibi görmemesi gerekir.
Güvenli Mimari Keşif Aşamasında Başlar
Güvenlik, tasarım dosyası bittikten sonra veya uygulama mağazaya gönderilmeden önce başlayan bir iş değildir. En doğru nokta keşif aşamasıdır.
Atalay Tech’in mobil, web platformu ve AI entegrasyonu projelerinde ilk teknik değerlendirme sırasında şu sorular netleştirilir:
- Uygulama hangi kişisel verileri işleyecek?
- Kullanıcı rolleri neler olacak?
- Hangi veriler cihazda, hangi veriler sunucuda tutulacak?
- Ödeme, mesajlaşma, dosya yükleme veya konum takibi var mı?
- Kullanıcının hesabını silmesi gerektiğinde hangi veriler ne kadar süre saklanacak?
- Yönetim panelinde hangi ekip hangi veriye erişecek?
- API üçüncü parti servislerle konuşacak mı?
- KVKK ve aydınlatma metni akışı nasıl kurulacak?
Örneğin bir randevu uygulamasında “müşteri”, “personel” ve “admin” rolleri varsa, bu roller sadece arayüzde buton gizleyerek ayrılmamalıdır. Backend’de her endpoint için yetki kontrolü yapılmalıdır. Aksi durumda mobil uygulama ekranında görünmeyen bir işlem, API isteğiyle tetiklenebilir.
Bir başka örnek: Kurum içi saha uygulamasında ekip üyeleri günlük görev fotoğrafı yüklüyorsa, bu görseller herkese açık URL ile servis edilmemelidir. Dosya erişimi süreli imzalı URL, rol kontrolü veya CDN seviyesinde erişim stratejisiyle korunmalıdır.
Kimlik Doğrulama ve Oturum Güvenliği
Mobil uygulamalarda kimlik doğrulama genellikle e-posta/şifre, telefon OTP, sosyal giriş, Apple ile giriş veya kurumsal SSO üzerinden yapılır. Güvenli çözüm, sadece giriş yöntemini seçmek değil, oturumun tüm yaşam döngüsünü doğru yönetmektir.
İyi bir oturum mimarisinde şu noktalar bulunur:
- Access token kısa ömürlü olmalıdır.
- Refresh token güvenli saklanmalı ve gerektiğinde döndürülmelidir.
- Cihaz değişikliği, şüpheli IP veya olağan dışı aktivite izlenmelidir.
- Kullanıcı şifre değiştirdiğinde eski oturumlar geçersiz olmalıdır.
- Hesap silme, çıkış yapma ve oturum iptali backend tarafında gerçekten uygulanmalıdır.
- MFA gerekiyorsa riskli işlemlerde devreye alınmalıdır.
Örneğin bir finansal takip uygulamasında kullanıcı yalnızca bakiye görüntülüyorsa tek aşamalı giriş yeterli olabilir. Fakat para transferi, IBAN kaydı veya cihaz değişikliği gibi işlemlerde ek doğrulama gerekir. Aynı mantık sağlık uygulamalarında rapor indirme, e-ticaret uygulamalarında kayıtlı kart yönetimi, kurumsal uygulamalarda yetkili işlem onayı için de geçerlidir.
Apple’ın App Attest yaklaşımı, sunucunun isteğin gerçekten meşru uygulamadan gelip gelmediğini doğrulamasına yardımcı olur. iOS projelerinde Apple’ın App Attest ve DeviceCheck mekanizmaları, özellikle yüksek riskli işlemler için değerlendirilebilir.
API Güvenliği Mobil Uygulamanın Omurgasıdır
Mobil uygulama güvenliğinin en kritik kısmı çoğu zaman telefondaki ekranlar değil, uygulamanın konuştuğu API’dir. Çünkü saldırganlar uygulamanın arayüzünü değil, API endpoint’lerini hedefler.
Atalay Tech projelerinde API entegrasyonu yapılırken her isteğin kimlik, rol, oran sınırlama, veri kapsamı ve loglama açısından ayrı değerlendirilmesi gerekir. Bir endpoint’in “mobil uygulamada görünmüyor” olması onu güvenli yapmaz.
API güvenliği için temel kontroller şunlardır:
| API Kontrolü | Neden Gerekli? | Örnek Uygulama |
|---|
| Authentication | İsteğin kimden geldiğini doğrular | Bearer token, Sanctum, OAuth2 |
| Authorization | Kullanıcının hangi veriye erişeceğini belirler | Rol ve sahiplik kontrolü |
| Rate limiting | Brute force ve abuse riskini azaltır | OTP denemesinde IP + kullanıcı limiti |
| Input validation | Zararlı veya hatalı veriyi engeller | Dosya tipi, boyut, format kontrolü |
| Audit logging | Kritik işlemlerin izini tutar | Şifre değişikliği, ödeme, admin aksiyonu |
| Error masking | Sistem bilgisinin sızmasını önler | Stack trace yerine kontrollü hata mesajı |
Örneğin bir sipariş takip uygulamasında /orders/123 endpoint’i sadece siparişin sahibine veya yetkili personele veri döndürmelidir. Mobil uygulamada başka sipariş ID’si gösterilmese bile backend bu kontrolü yapmıyorsa güvenlik açığı vardır.
Cihazda Veri Saklama: Ne Tutulur, Ne Tutulmaz?
Mobil uygulamalarda en sık yapılan hatalardan biri, “kullanıcı deneyimi hızlı olsun” diye fazla veriyi cihazda saklamaktır. Offline kullanım bazı projelerde gereklidir; ancak offline veri ile hassas veri aynı şey değildir.
Cihazda saklanabilecek ve saklanmaması gereken veriler iyi ayrılmalıdır:
| Veri Türü | Cihazda Tutulabilir mi? | Güvenli Yaklaşım |
|---|
| Tema tercihi | Evet | Local storage yeterli olabilir |
| Dil seçimi | Evet | Hassas değildir |
| Access token | Dikkatli | Keychain / Keystore |
| Kimlik numarası | Genellikle hayır | Sunucuda sakla, maskele |
| Sağlık raporu | Riskli | Şifreli cache, süreli erişim |
| Ödeme kartı bilgisi | Hayır | PCI uyumlu ödeme sağlayıcı token’ı |
| Admin yetkisi | Hayır | Backend oturum ve rol kontrolü |
Android tarafında Google, uygulamaların TLS kullanmasını ve güvenli network yapılandırmalarını önerir. iOS tarafında Apple Secure Enclave, özel anahtarların ana işlemciden izole şekilde korunmasına yardımcı olur. Apple’ın Secure Enclave dokümantasyonu, özel anahtarların düz metin olarak ele alınmaması gerektiğini açıkça vurgular.
Bir örnek üzerinden düşünelim: Ayşe, 28 yaşında freelance tasarımcı. Kullandığı bir fatura takip uygulamasında müşteri bilgileri, fatura PDF’leri ve ödeme hatırlatmaları var. Uygulama tüm PDF’leri cihazda şifresiz saklıyorsa, telefon kaybolduğunda sadece ekran kilidine güvenilmiş olur. Daha güvenli mimaride PDF dosyaları sunucuda tutulur, mobil uygulama gerektiğinde süreli erişimle dosyayı çeker ve hassas cache kontrollü temizlenir.
KVKK, Gizlilik ve Kullanıcı İzni
Mobil uygulama güvenliği yalnızca teknik saldırılara karşı koruma değildir; kişisel verinin hukuka uygun işlenmesi de güvenlik disiplininin parçasıdır. Türkiye’de kişisel veri işleyen uygulamalarda KVKK uyumluluğu dikkate alınmalıdır.
KVKK açısından mobil uygulamalarda özellikle şu başlıklar net olmalıdır:
- Hangi veri neden toplanıyor?
- Veri işleme amacı açıkça belirtiliyor mu?
- Kullanıcıdan gereksiz izin isteniyor mu?
- Hesap silme ve veri silme akışı var mı?
- Push bildirim izni ayrı yönetiliyor mu?
- Konum, kamera, mikrofon ve galeri izinleri ihtiyaç anında mı isteniyor?
- Aydınlatma metni uygulama içinde erişilebilir mi?
- Loglarda kişisel veri tutuluyor mu?
Örneğin bir spor salonu uygulaması üyelik takip etmek için ad, soyad ve telefon numarası isteyebilir. Ancak sürekli arka plan konum izni istiyorsa bu izin amacını açıklamak ve gerçekten gerekli olduğunu kanıtlamak zorlaşır. Bir yemek sipariş uygulaması teslimat adresini kullanabilir; fakat adres geçmişinin ne kadar süre saklandığı ve kullanıcının hesabını silince ne olacağı açık olmalıdır.
KVKK uyumu sadece metin eklemek değildir. Uygulama mimarisinde veri minimizasyonu, erişim kontrolü, saklama süresi ve silme akışı doğru kurulmalıdır.
Test Süreci: Sadece Çalışıyor mu, Güvenli mi?
Mobil uygulama testleri çoğu zaman “ekran açılıyor mu, buton çalışıyor mu, bildirim geliyor mu?” seviyesinde kalır. Güvenlik testi ise farklı sorular sorar:
- Kullanıcı kendi yetkisindeki veriden fazlasını görebiliyor mu?
- API endpoint’leri manipüle edilebiliyor mu?
- Token süresi dolunca erişim gerçekten kapanıyor mu?
- Debug loglarında hassas bilgi var mı?
- Root edilmiş veya jailbreak yapılmış cihazlarda riskli özellikler sınırlanıyor mu?
- SSL pinning devrede mi?
- Dosya yükleme alanı zararlı dosyaya açık mı?
- Eski uygulama versiyonları API’ye erişmeye devam edebiliyor mu?
Mobil güvenlik testlerinde manuel test, otomatik analiz, statik kod analizi, bağımlılık kontrolü ve API testleri birlikte düşünülmelidir. OWASP MASVS, bu testleri kategorize etmek için güçlü bir referans sağlar.
Aşağıdaki tablo, test seviyelerini pratik şekilde ayırır:
| Test Türü | Ne Kontrol Edilir? | Ne Zaman Yapılır? |
|---|
| Fonksiyonel test | Ekranlar ve akışlar çalışıyor mu? | Sprint sonunda |
| API güvenlik testi | Yetki, rate limit, input validation | Backend geliştirme sırasında |
| Mobil paket analizi | Debug flag, hardcoded secret, izinler | Yayın öncesi |
| Penetrasyon testi | Gerçek saldırı senaryoları | Kritik projelerde yayın öncesi |
| Bağımlılık taraması | Eski paket ve CVE riskleri | CI/CD ve bakım sürecinde |
| Log denetimi | Hassas veri loglanıyor mu? | Test ve prod öncesi |
Güvenlik testinin en büyük avantajı, problemi kullanıcıya yansımadan bulmasıdır. Bir veri sızıntısı yaşandıktan sonra düzeltme yapmak, yayın öncesi testten çok daha pahalıdır.
Mobil Uygulama Güvenliği Maliyeti Ne Kadar?
Mobil uygulama güvenliği maliyeti; uygulamanın veri hassasiyetine, kullanıcı sayısına, sektörüne, backend karmaşıklığına, entegrasyon sayısına ve uyumluluk gereksinimlerine göre değişir. Buradaki rakamlar 2026 Türkiye pazarı için tahmini aralıklardır; proje kapsamına göre aşağı veya yukarı değişebilir.
| Proje Seviyesi | Güvenlik Kapsamı | Tahmini Ek Maliyet |
|---|
| MVP uygulama | Temel auth, HTTPS, güvenli storage, basit log kontrolü | 40.000 - 120.000 TL |
| Orta ölçek uygulama | Rol bazlı yetki, API hardening, rate limit, KVKK akışları | 120.000 - 350.000 TL |
| Kurumsal uygulama | Penetrasyon testi, audit log, SSO, gelişmiş izleme | 350.000 - 900.000 TL |
| Fintech / sağlık benzeri yüksek risk | Ek doğrulama, detaylı test, uyumluluk, özel güvenlik mimarisi | 900.000 TL+ |
Bu tablo, uygulama geliştirme maliyetinden bağımsız “güvenlik katmanı” perspektifiyle düşünülmelidir. Örneğin basit bir katalog uygulamasında güvenlik kapsamı sınırlıyken, doktor-hasta mesajlaşması, ödeme, canlı konum, dosya paylaşımı veya yönetim paneli olan bir uygulamada güvenlik bütçesi daha belirgin hale gelir.
Proje fikrinizin hangi güvenlik seviyesine ihtiyaç duyduğunu görmek için mobil uygulama fiyatları aracını inceleyebilir veya kapsamı teknik olarak netleştirebilirsiniz. Burada amaç yüksek fiyat vermek değil, güvenlik kapsamını daha ilk aşamada doğru seviyeye yerleştirmektir.
Güvenli Geliştirme Süreci Nasıl İlerler?
Güvenli mobil uygulama geliştirme süreci, sadece kod yazma aşamasından oluşmaz. Keşif, tasarım, MVP, test, yayın ve bakım adımları güvenlik kriterleriyle birlikte yürütülmelidir.
| Aşama | Güvenlik Kararı | Somut Çıktı |
|---|
| Keşif | Veri, rol ve risk analizi | Güvenlik kapsam dokümanı |
| Tasarım | Hassas ekranlar ve izin akışı | UX içinde izin stratejisi |
| MVP | Temel auth ve API yetkilendirme | Güvenli ilk sürüm |
| Test | API, cihaz, paket ve log kontrolleri | Güvenlik test raporu |
| Yayın | Store ayarları, release build, crash izleme | Kontrollü canlı geçiş |
| Bakım | Paket güncelleme, log izleme, yama | Sürekli güvenlik takibi |
Atalay Tech tarafında mobil uygulama, web platformu ve yapay zekâ entegrasyonu projelerinde güvenlik kararları tek bir “yayın öncesi kontrol” olarak bırakılmaz. Kaan Atalay liderliğindeki Atalay Tech ekibi için doğru yaklaşım, ürünü hızlı çıkarırken güvenlik borcunu kontrolsüz büyütmemektir.
Örneğin MVP aşamasında her kurumsal özelliği geliştirmek şart değildir. Ancak oturum güvenliği, temel API yetkilendirmesi, veri saklama kararı ve KVKK akışı MVP’de eksik bırakılmamalıdır. Çünkü bu alanlar sonradan yamayla düzeltilmesi zor olan temel mimari kararlardır.
Yayın Sonrası Güvenlik ve Bakım
Mobil uygulama güvenliği yayınlandıktan sonra bitmez. Aksine gerçek güvenlik süreci kullanıcılar uygulamayı kullanmaya başladığında devam eder. Yeni işletim sistemi sürümleri, bağımlılık güncellemeleri, API değişiklikleri, yeni saldırı teknikleri ve kullanıcı davranışları uygulamanın risk profilini zamanla değiştirir.
Yayın sonrası güvenlikte şu operasyonlar düzenli yapılmalıdır:
- Crash ve hata kayıtları izlenmelidir.
- Hassas veri içeren loglar temizlenmelidir.
- Kullanılmayan endpoint’ler kapatılmalıdır.
- Eski uygulama versiyonları için minimum destek politikası belirlenmelidir.
- Paket ve framework güncellemeleri takip edilmelidir.
- Güvenlik yamaları planlı şekilde yayınlanmalıdır.
- Sunucu ve CDN erişim kayıtları izlenmelidir.
- Admin panel erişimleri düzenli kontrol edilmelidir.
Bu nedenle teknik destek ve bakım, güvenli mobil uygulama stratejisinin ayrılmaz parçasıdır. Sadece yeni özellik geliştirmek değil, mevcut uygulamanın sağlıklı, güncel ve izlenebilir kalması da ürünün güvenliğini etkiler.
Bir örnek: Uygulama ilk yayında güvenli olabilir; fakat 8 ay sonra kullanılan bir paket kritik açık alırsa, bakım süreci yoksa risk büyür. Aynı şekilde eski Android veya iOS sürümlerinde beklenmedik izin davranışları ortaya çıkabilir. Bu yüzden güvenlik, tek seferlik teslim değil, ürün yaşam döngüsüdür.
Hangi Projelerde Güvenlik Seviyesi Daha Yüksek Olmalı?
Her mobil uygulama aynı güvenlik seviyesine ihtiyaç duymaz. Basit bir etkinlik duyuru uygulamasıyla ödeme alan bir pazar yeri uygulaması aynı risk sınıfında değildir. Gereksiz güvenlik katmanı bütçeyi şişirebilir; eksik güvenlik ise ürünü doğrudan riske atar.
| Uygulama Türü | Risk Seviyesi | Öncelikli Güvenlik Başlığı |
|---|
| İçerik / katalog uygulaması | Düşük - orta | API erişimi, yayın güvenliği |
| Randevu uygulaması | Orta | Kişisel veri, rol bazlı erişim |
| E-ticaret uygulaması | Orta - yüksek | Ödeme, sipariş, hesap güvenliği |
| Kurum içi saha uygulaması | Orta - yüksek | Yetki, cihaz, dosya erişimi |
| Sağlık uygulaması | Yüksek | Hassas veri, KVKK, erişim logları |
| Finansal takip uygulaması | Yüksek | MFA, oturum, işlem onayı |
| Mesajlaşma uygulaması | Yüksek | Şifreleme, abuse kontrolü, veri saklama |
Bu ayrım özellikle mobil uygulama yaptırmak isteyen işletmeler için önemlidir. İyi bir proje başlangıcında sadece “hangi özellikler olacak?” sorusu değil, “hangi veri hangi riskle işlenecek?” sorusu da sorulmalıdır.