Mobil Uygulama Güvenliği: iOS ve Android Pentest, Tersine Mühendislik
Mobil uygulamanın kodu ve verisi saldırganın cihazındadır; açılıp incelenebilir. En sık açıklar tablosu, gömülü sırlar, kritik kararların neden sunucuda verilmesi gerektiği, OWASP MASVS çerçevesi ve KAOS ile kanıt temelli mobil test.
Hızlı cevap: Mobil uygulama güvenliği, iOS ve Android uygulamalarını tersine mühendislik, veri sızıntısı ve yetkisiz erişim saldırılarına karşı korumaktır. Web uygulamasından farklı olarak, mobil uygulamanın kodu ve verisi doğrudan saldırganın cihazında bulunur; bu yüzden uygulama açılıp incelenebilir. En sık açıklar şunlardır: uygulamaya gömülü sırlar ve API anahtarları, cihazda güvensiz saklanan hassas veri, zayıf ya da eksik sunucu tarafı doğrulama, ve trafik dinlemeye karşı yetersiz koruma. Kök çözüm, hiçbir sırrı istemciye gömmemek, hassas veriyi cihazda güvenli biçimde saklamak, tüm kritik kararları sunucu tarafında vermek ve trafiği sertifika sabitlemeyle korumaktır. Mobil güvenlik için OWASP MASVS uluslararası bir referans çerçevesidir.
Bir mobil uygulamayı yayınladığınızda, kodunuzu milyonlarca cihaza dağıtmış olursunuz. Bir saldırgan bu uygulamayı indirir, açar ve içindeki her şeyi inceler. Bu yüzden mobil güvenlik, uygulamanın hem cihazdaki hem sunucudaki tarafını kapsar. Bu yazı, mobil uygulama açıklarını ve doğru savunmayı anlatır.
Mobil uygulama neden farklı bir saldırı yüzeyi
Web uygulamasında kod sunucuda kalır; mobil uygulamada ise kod ve veri saldırganın cihazındadır. Saldırgan uygulamayı tersine mühendislikle açabilir, içindeki metinleri ve mantığı okuyabilir, çalışırken davranışını değiştirebilir. Bu yüzden istemciye güvenmek temel bir hatadır: cihazdaki her şey görülebilir ve değiştirilebilir kabul edilmelidir.
En sık mobil açıklar
| Açık | Ne yapıyor | Sonuç |
|---|---|---|
| Gömülü sır | Uygulamada API anahtarı, token | Sızan sır ile arka uca erişim |
| Güvensiz veri saklama | Hassas veri düz saklanır | Cihaz ele geçirilince veri ifşası |
| İstemci taraflı karar | Yetki cihazda kontrol edilir | Sunucu doğrulaması atlatılır |
| Zayıf trafik koruması | Sertifika sabitleme yok | Ortadaki adam ile trafik okuma |
| Tersine mühendislik | Uygulama açılır, mantık okunur | İş mantığı ve gizli uç keşfi |
Gömülü sır, mobilde en yaygın ve en tehlikeli açıktır: uygulamaya gömülen bir API anahtarı, uygulamayı açan herkes tarafından çıkarılabilir. İstemci hiçbir zaman sır tutmak için güvenli bir yer değildir.
Sunucu tarafı, asıl savunma hattı
Mobil güvenlikte en sık yapılan hata, kritik kontrolleri istemciye bırakmaktır. Fiyat, yetki, indirim ya da erişim gibi kararlar cihazda verilirse, saldırgan uygulamayı değiştirerek bunları atlatır. Tüm kritik kararlar sunucu tarafında verilmeli ve doğrulanmalıdır. Mobil uygulamanın arka uç API'si, tıpkı OWASP API Security Top 10 kapsamında değerlendirilmeli, nesne ve fonksiyon düzeyinde yetki zorlanmalıdır.
Cihazda veri saklama ve trafik
Cihaz kaybolduğunda ya da ele geçirildiğinde, uygulamanın cihazda tuttuğu veri saldırganın eline geçer. Hassas veri düz saklanmamalı, cihazın güvenli saklama mekanizmaları kullanılmalıdır. Trafik ise sertifika sabitlemeyle korunmalı; aksi halde saldırgan aynı ağda ortadaki adam konumuna geçip trafiği okuyabilir. Cihaz adli incelemesi gerektiğinde, mobil adli bilişim araçları bu verilere ulaşmanın ne kadar mümkün olduğunu da gösterir.
Doğru savunma
1. İstemciye sır gömme
Hiçbir API anahtarı, token ya da gizli mantık uygulamaya gömülmemelidir. İstemci açılabilir ve okunabilir kabul edilmelidir.
2. Kritik kararları sunucuda ver
Fiyat, yetki, erişim gibi tüm kritik kararlar sunucu tarafında verilmeli ve doğrulanmalıdır. İstemcinin gönderdiği hiçbir değere körlemesine güvenilmemelidir.
3. Güvenli veri saklama
Cihazda tutulan hassas veri, işletim sisteminin güvenli saklama mekanizmalarıyla korunmalıdır. Gereksiz veri hiç saklanmamalıdır.
4. Sertifika sabitleme
Uygulama ile sunucu arasındaki trafik sertifika sabitlemeyle korunmalı, ortadaki adam ile dinleme engellenmelidir.
KAOS ile mobil uygulama testi
DSET'in yerel yapay zekâ güvenlik motoru KAOS, iOS ve Android uygulamalarını OWASP MASVS çerçevesinde kanıt temelli test eder. Uygulamayı tersine mühendislikle açıp gömülü sırları ve güvensiz saklamayı tespit eder, arka uç API'sinde yetki boşluklarını dener ve trafik korumasını sınar. Bir açığın gerçekten hassas veriye ya da yetkisiz erişime yol açıp açmadığını doğrular ve yalnızca istismar edilebilir bulguyu, yanlış pozitif gürültüsü olmadan raporlar. KAOS çevrim dışı çalıştığı için uygulamanız ve verisi dış servislere gönderilmez.
Sık sorulan sorular
Uygulamama gömdüğüm API anahtarı güvende mi? Hayır. Uygulamaya gömülen bir anahtar, uygulamayı indirip tersine mühendislikle açan herkes tarafından çıkarılabilir. İstemci sır tutmak için güvenli bir yer değildir; anahtarlar sunucu tarafında tutulmalı ve arka uçtan yönetilmelidir.
Kritik kontrolleri neden istemcide yapmamalıyım? Çünkü saldırgan uygulamayı cihazda değiştirebilir. Fiyat, yetki ya da erişim kararı cihazda verilirse, saldırgan bunu atlatır. Tüm kritik kararlar sunucu tarafında verilmeli ve doğrulanmalıdır.
OWASP MASVS nedir? OWASP Mobile Application Security Verification Standard, mobil uygulama güvenliği için uluslararası bir doğrulama çerçevesidir. Veri saklama, kriptografi, kimlik doğrulama, ağ iletişimi ve dayanıklılık gibi alanlarda gereksinimleri tanımlar ve mobil test için ortak bir referans sağlar.
Kaynaklar
- OWASP MASVS, mobil uygulama güvenlik doğrulama standardı: https://mas.owasp.org
- DSET Siber Güvenlik ve Pentest: https://dset.com.tr/hizmetler
iOS ve Android uygulamanızı gömülü sır, veri saklama ve yetki açısından OWASP MASVS çerçevesinde çalışan bir kanıtla test ettirmek için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan mobil sızma testi ve güvenli kod denetimi sağlıyoruz.
Kimliğinizi doğrulayın
Yetkilendirilmiş erişim alanı. Tüm giriş denemeleri kayıt altına alınır.