Mobil Güvenlik Neden Diğer Uygulamalardan Daha Zordur?
Mobil uygulamalar, klasik web uygulamalarına göre çok daha karmaşık bir tehdit ortamına sahiptir çünkü:
- Cihaz kurumun kontrolünde değildir
- Uygulama tersine mühendisliğe açıktır
- Ağ bağlantıları her ortamda değişir
- Kullanıcı davranışı öngörülemezdir
Bu da mobil uygulamaları saldırganlar için son derece cazip hale getirir.
Risk Zincirinin İlk Halkası: Kullanıcı Cihazı
Mobil güvenliğin başladığı yer sunucu değil, kullanıcının cebidir.
1. Rootlu / Jailbreak’li Cihazlar
Root veya jailbreak yapılmış cihazlarda:
- Uygulama sandbox yapısı bozulur
- Bellek manipülasyonu mümkündür
- Hassas veriler kolayca okunabilir
Birçok saldırı, uygulamayı değil cihazı hedef alarak başlar.
2. Zararlı Uygulamalar ve Overlay Saldırıları
Kullanıcının cihazında yüklü olan başka bir uygulama:
- Ekranı izleyebilir
- Klavye girdilerini yakalayabilir
- Sahte ekranlar (overlay) oluşturabilir
Özellikle mobil bankacılık ve kurumsal uygulamalar için bu, ciddi bir tehdittir.
3. Cihaz Üzerinde Tutulan Hassas Veriler
Sık yapılan hatalar:
- Token’ların plain-text saklanması
- Local storage / SharedPreferences kullanımı
- SQLite içinde şifreli olmayan veriler
Cihaz ele geçirildiğinde, saldırgan için sunucuya gitmeye bile gerek kalmaz.
Uygulama Katmanı: Görünmeyen Açıklar
Mobil uygulama kodu, saldırgan açısından şeffaf bir kaynaktır.
1. Tersine Mühendislik (Reverse Engineering)
APK veya IPA dosyaları:
- Kolayca decompile edilebilir
- API endpoint’leri ortaya çıkar
- Gizli anahtarlar ifşa olabilir
Kod gizleme (obfuscation) yapılmayan uygulamalar, saldırganlara adeta yol haritası sunar.
2. Hardcoded Bilgiler
En tehlikeli hatalardan bazıları:
- API key’lerin uygulama içine gömülmesi
- Test ortamı kullanıcılarının kalması
- Gizli URL’lerin açıkta bulunması
Bu bilgiler ele geçirildiğinde saldırgan, yetkili kullanıcı gibi davranabilir.
3. Yetki Kontrollerinin İstemciye Bırakılması
“Bu buton adminlere görünür” demek, güvenlik değildir.
Eğer:
- Yetki kontrolü client tarafında yapılıyorsa
- Backend tarafında doğrulama yoksa
mobil uygulama, saldırganın istediği gibi yönlendirebileceği bir araca dönüşür.
Ağ Katmanı: Mobil Trafik En Savunmasız Alan
Mobil kullanıcılar:
- Açık Wi-Fi
- Kafe ağı
- Havalimanı bağlantısı
gibi güvenli olmayan ortamlarda uygulamayı kullanır.
1. Man-in-the-Middle (MitM) Saldırıları
TLS yanlış yapılandırıldıysa:
- Trafik dinlenebilir
- API çağrıları manipüle edilebilir
- Kimlik bilgileri çalınabilir
Sadece HTTPS kullanmak yeterli değildir. Certificate pinning gibi ek önlemler şarttır.
2. Proxy ve Trafik Analizi
Saldırganlar:
- Uygulamayı proxy arkasına alır
- Tüm API çağrılarını inceler
- Yetki ve iş mantığı açıklarını keşfeder
Bu aşama genellikle zincirin en kritik kırılma noktasıdır.
API Katmanı: Saldırıların Gerçek Hedefi
Mobil uygulamalar çoğu zaman yalnızca bir “taşıyıcıdır”. Asıl hedef, API’lerdir.
1. Yetersiz Kimlik Doğrulama
- Token süresi kontrol edilmiyorsa
- Refresh mekanizması zayıfsa
- IP / cihaz bağlamı yoksa
API’ler kolayca suistimal edilir.
2. Yetkisiz Veri Erişimi (BOLA / IDOR)
Sık karşılaşılan senaryo:
- Kullanıcı kendi verisini çekiyor
- ID değeri değiştiriliyor
- Başkasının verisi görüntüleniyor
Bu tür açıklar, OWASP Mobile Top 10’un da temel maddelerindendir.
3. Rate Limiting Eksikliği
Rate limit yoksa:
- Brute-force saldırıları
- Otomatik veri çekme
- Servis dışı bırakma (DoS)
çok daha kolay hale gelir.
Sunucu ve Backend: Zincirin Son Ama Kritik Halkası
Mobil uygulama güvenliği, backend zayıfsa anlamsızdır.
1. Loglama ve İzleme Eksikliği
Mobil kaynaklı saldırılar genellikle:
- Dağıtık gelir
- Normal trafik gibi görünür
Loglama yoksa:
- Saldırı fark edilmez
- Hasar ölçülemez
- Müdahale gecikir
2. Güvenli Olmayan İş Mantığı
Backend tarafında:
- İş kuralları doğru uygulanmıyorsa
- Client’tan gelen her şeye güveniliyorsa
mobil uygulama, saldırganın kontrolüne girer.
Risk Zinciri Neden Bu Kadar Önemli?
Çünkü saldırganlar tek bir noktaya değil, en zayıf halkaya odaklanır.
- Güçlü backend + zayıf mobil uygulama
- Güçlü TLS + zayıf cihaz güvenliği
- Güçlü kod + zayıf API
Sonuç hep aynıdır: İhlal
Mobil güvenlik, parça parça değil, uçtan uca düşünülmelidir.
Kurumlar Mobil Uygulama Güvenliğini Nasıl Ele Almalı?
- Güvenliği tasarım aşamasında düşünmek
- Mobile özel sızma testleri yapmak
- OWASP Mobile Top 10’u referans almak
- Loglama, izleme ve anomali tespiti uygulamak
- Cihaz, uygulama ve sunucu katmanlarını birlikte değerlendirmek
Sonuç: Mobil Uygulama Güvenliği Bir Zincirdir
Mobil uygulama güvenliği:
- Sadece kod yazmak değildir
- Sadece SSL kullanmak değildir
- Sadece mağazaya uygulama koymak değildir
Bu, cihazdan sunucuya uzanan bir risk zinciridir.
Ve zincir, en zayıf halkası kadar güçlüdür.
Gerçek güvenlik; bu halkaların tamamını görmek, ölçmek ve sürekli güçlendirmekle mümkündür.
Mobil Uygulama Güvenliği: Cihazdan Sunucuya Risk Zinciri