Test-Case Uygulaması Güvenlik Analizi (2025), Android mobil uygulamalar için yapılan kapsamlı güvenlik testleri, SSL pinning eksikliği, API zafiyetleri ve root tespit mekanizmaları gibi kritik açıkları ortaya koyarak mobil uygulama güvenliği açısından önemli bulgular sunmaktadır.
- Test Ortamı ve Metodoloji
2.1. Test Ortamı
- Cihaz: Android Emulator (5554 ve SSSL portları)
- Araçlar: Frida 16.7.19, Burp Suite, ADB
- Hedef Uygulama: com.halltsever.testcase (veya com.halitseven.testcase)
- Scriptler: root_bypass.js, asd.js
2.2. Metodoloji
- Statik Analiz: Manifest dosyası ve kod yapısı incelendi.
- Dinamik Analiz: Frida ile runtime manipülasyonu ve hooking işlemleri yapıldı.
- Ağ Analizi: Burp Suite ile HTTP/HTTPS trafiği incelendi.
- Güvenlik Kontrolleri: SSL pinning, kök tespit, hash kullanımı ve API güvenliği test edildi.
- Bulgular ve Zafiyetler
3.1. Manifest Dosyası Zafiyetleri
3.1.1. WRITE_EXTERNAL_STORAGE ve READ_EXTERNAL_STORAGE İzinleri
- Risk Seviyesi: Orta
- Açıklama: Bu izinler, Android 10+ ile sınırlandırılmış olsa da eski cihazlarda hassas dosyalara erişim sağlar.
- Saldırı Vektörü: Kötü niyetli uygulamalar, kullanıcı verilerini okuyabilir veya değiştirebilir.
- Öneri: Scoped Storage kullanımına geçilmeli ve MANAGE_EXTERNAL_STORAGE yerine Storage Access Framework tercih edilmelidir.
3.1.2. SYSTEM_ALERT_WINDOW İzni
- Risk Seviyesi: Yüksek
- Açıklama: Overlay saldırılarına (tapjacking) açıktır.
- Saldırı Vektörü: Kullanıcı etkileşimleri taklit edilebilir ve kimlik bilgileri çalınabilir.
- Öneri: Bu izin sadece kritik durumlarda ve kullanıcı onayı ile kullanılmalıdır.
3.1.3. android:allowBackup=”true”
- Risk Seviyesi: Orta
- Açıklama: Uygulama verileri ADB backup ile dışarı aktarılabilir.
- Saldırı Vektörü: Token, config dosyaları gibi hassas veriler yedeklenebilir.
- Öneri: android:allowBackup=”false” yapılarak yedekleme devre dışı bırakılmalıdır.
3.1.4. MainActivity’nin exported=”true” Olması
- Risk Seviyesi: Orta
- Açıklama: Dış intent’ler ile aktivite tetiklenebilir.
- Saldırı Vektörü: URI manipülasyonu ile yetkisiz erişim sağlanabilir.
- Öneri: Deep link’ler validate edilmeli ve intent verileri sanitize edilmelidir.
3.2. Dinamik Analiz Zafiyetleri
3.2.1. SSL Pinning Eksikliği
- Risk Seviyesi: Kritik
- Açıklama: Uygulama, Burp CA sertifikasını kabul etmektedir ve sertifika pinning uygulanmamıştır.
- Saldırı Vektörü: MitM saldırıları ile ağ trafiği okunabilir veya değiştirilebilir.
- Öneri:
- Sertifika pinning uygulanmalı (network_security_config.xml veya native kod).
- Public key pinning tercih edilmeli.
3.2.2. Zayıf Kök Tespit Mekanizmaları
- Risk Seviyesi: Yüksek
- Açıklama: Kök tespit mekanizmaları Frida ile bypass edilebilmektedir.
- Saldırı Vektörü: Köklü cihazlarda uygulama güvenlik kontrolleri atlanabilir.
- Öneri:
- Çok katmanlı kök tespit yöntemleri kullanılmalı (örneğin; su komutu, sistem dizinlerinin yazılabilirliği).
- Sunucu tarafında cihaz doğrulaması yapılmalı.

3.2.3. Frida Tespit Eksikliği
- Risk Seviyesi: Yüksek
- Açıklama: Uygulama, Frida enjeksiyonlarını tespit edememektedir.
- Saldırı Vektörü: Runtime manipülasyonu ve API hooking işlemleri yapılabilir.
- Öneri:
- Frida tespit mekanizmaları eklenmeli (port tarama, process memory inceleme).
- Anti-debugging teknikleri kullanılmalı.

3.3. Hash ve Kriptografi Zafiyetleri
3.3.1. Güvenli Olmayan Hash Algoritmaları
- Risk Seviyesi: Yüksek
- Açıklama: MD5 ve SHA-1 gibi zayıf hash algoritmaları kullanılmaktadır.
- Saldırı Vektörü: Collision atakları ile hash değerleri taklit edilebilir.
- Öneri:
- SHA-256 veya SHA-3 gibi güvenli algoritmalara geçilmeli.
- Tuzlama (salting) ve anahtar türetme fonksiyonları (PBKDF2, bcrypt) kullanılmalı.

3.3.2. Sabit Kimlik Bilgileri
- Risk Seviyesi: Kritik
- Açıklama: Kullanıcı adı ve şifreler sabit olarak kodlanmıştır (username: demouser, password: 123456).
- Saldırı Vektörü: Brute-force veya credential stuffing saldırıları ile hesap ele geçirilebilir.
- Öneri: Sabit kimlik bilgileri kaldırılmalı ve dinamik kimlik doğrulama mekanizmaları kullanılmalı.

3.4. API Güvenlik Zafiyetleri
3.4.1. /verify Endpoint’i
- Risk Seviyesi: Kritik
- Açıklama: Endpoint, hassas kullanıcı bilgilerini (kullanıcı adı, şifre) döndürmektedir.
- Saldırı Vektörü: Yetkisiz erişim ile kullanıcı hesapları ele geçirilebilir.
- Öneri:
- Hassas veriler API yanıtlarında gönderilmemeli.
- JWT veya OAuth gibi yetkilendirme mekanizmaları kullanılmalı.
3.4.2. Rol Bilgisinin Açıkta Olması
- Risk Seviyesi: Orta
- Açıklama: role: user bilgisi client tarafından gönderilmektedir.
- Saldırı Vektörü: Parametre manipülasyonu ile yetki yükseltme saldırıları yapılabilir.
- Öneri: Rol bilgisi sunucu tarafında doğrulanmalı ve client’a güvenilmemelidir.
3.5. Diğer Zafiyetler
3.5.1. Debugging Özelliğinin Açık Olması
- Risk Seviyesi: Yüksek
- Açıklama: Uygulama, JDWP (Java Debug Wire Protocol) ile debug edilebilmektedir.
- Saldırı Vektörü: Frida veya benzeri araçlarla runtime manipülasyonu yapılabilir.
- Öneri: Release build’lerde debugging özelliği kapatılmalıdır.
3.5.2. Clipboard Erişimi
- Risk Seviyesi: Orta
- Açıklama: Clipboard içeriği okunabilmektedir.
- Saldırı Vektörü: Hassas veriler (token, parola) clipboard üzerinden sızabilir.
- Öneri: Clipboard’a hassas veriler yazılmamalı ve clipboard erişimi kısıtlanmalıdır.
- Sonuç ve Öneriler
4.1. Genel Değerlendirme
Uygulama, birçok kritik güvenlik zafiyeti içermektedir. SSL pinning eksikliği, zayıf hash algoritmaları ve API güvenlik problemleri, uygulamayı yüksek risk altına sokmaktadır. Bu zafiyetler, saldırganların hassas verilere erişmesine, kullanıcı hesaplarını ele geçirmesine ve uygulama mantığını bypass etmesine olanak tanımaktadır.
4.2. Acil Eylem Planı
- SSL Pinning Uygulama: Sertifika veya public key pinning mekanizması eklenmeli.
- Hash Algoritmalarını Güçlendirme: MD5 ve SHA-1 yerine SHA-256 veya SHA-3 kullanılmalı.
- Sabit Kimlik Bilgilerini Kaldırma: Hardcoded kullanıcı adı ve şifreler kaldırılmalı.
- API Güvenliği İyileştirme: Hassas veriler API yanıtlarında gönderilmemeli ve yetkilendirme mekanizmaları güçlendirilmeli.
- Kök Tespit Mekanizmalarını Güçlendirme: Çok katmanlı kök tespit ve sunucu tarafı doğrulama eklenmeli.
4.3. Uzun Vadeli Öneriler
- Kod Obfuscation: Kritik kod blokları obfuscate edilmeli.
- RASP (Runtime Application Self-Protection): Runtime güvenlik kontrolleri eklenmeli.
- Düzenli Penetrasyon Testleri: Uygulama düzenli olarak güvenlik testlerine tabi tutulmalı.
- Güvenli Kodlama Eğitimleri: Geliştiricilere güvenli kodlama eğitimleri verilmeli.
- Referanslar
- OWASP Mobile Security Testing Guide: https://owasp.org/www-project-mobile-security-testing-guide/
- Android Developer Documentation: https://developer.android.com/
- Frida Documentation: https://frida.re/docs/home/
- Allsafe apk çözümü : allsafe android app analizi (2025)
Rapor Hazırlayan: Mehmet Karagülle
Tarih: 27 Ağustos 2025
Versiyon: 1.0












