Flutter Uygulamalarında Güvenlik: SSL Pinning ve Obfuscation Rehberi
20.10.2026 | 25
Flutter Uygulamalarında Güvenlik Stratejileri
Mobil uygulama geliştirmede sadece özelliklere odaklanmak büyük bir hata. Özellikle finansal veya veri odaklı projelerde, uygulamanızın ağ trafiğini ve kaynak kod güvenliğini sağlamak zorundasınız. Bugün, Flutter projelerinde en sık göz ardı edilen iki kritik konuyu ele alacağız: SSL Pinning ve Code Obfuscation.
1. SSL Pinning ile Man-in-the-Middle (MITM) Saldırılarını Engelleyin
Varsayılan olarak, mobil uygulamalar cihazın güvenilen sertifika listesine güvenir. Ancak bir saldırgan, cihazınıza sahte bir sertifika yükleyerek trafiğinizi dinleyebilir. SSL Pinning, uygulamanızın sadece belirli bir sunucu sertifikasını kabul etmesini sağlayarak bu riski ortadan kaldırır.

Flutter'da http paketi ile bunu uygulamak için SecurityContext kullanabilirsiniz:
final ByteData data = await rootBundle.load('assets/certificates/my_cert.pem');
SecurityContext context = SecurityContext(withTrustedRoots: false);
context.setTrustedCertificatesBytes(data.buffer.asUint8List());
HttpClient httpClient = HttpClient(context: context);
2. Obfuscation (Kod Karartma) ile Tersine Mühendisliği Zorlaştırın
Dart kodu derlendiğinde, mantığınızı anlamak isteyen biri strings veya nm gibi araçlarla uygulama içindeki fonksiyon isimlerini ve metinleri okuyabilir. Obfuscation, bu isimleri anlamsız karakterlerle değiştirerek tersine mühendisliği ciddi oranda zorlaştırır.
İpucu: Obfuscation işlemini üretim aşamasında (release) şu komutla aktif edebilirsiniz: flutter build apk --obfuscate --split-debug-info=//debug-info/
Özet ve Tavsiyeler
- SSL Pinning: Sertifika rotasyonunu (rotation) unutmayın, aksi takdirde sertifika süresi dolduğunda uygulamanız çalışmaz hale gelir.
- Obfuscation: Hata izleme (Crashlytics) araçları için
mappingdosyalarınızı mutlaka saklayın. - Veri Güvenliği: Kritik verileri asla
SharedPreferencesgibi basit yerlerde tutmayın,flutter_secure_storagekullanın.