Skip to main content
Siber Güvenlik

Mobil ve Web Uygulamalarında Siber Güvenlik: Geliştiriciler İçin Kritik Önlemler

February 28, 2026 4 min read 28 views Raw
Pexels Uygulamasını Gösteren İki Açık Akıllı Telefon
Table of Contents

Mobil ve web uygulamaları günümüzde iş süreçlerinin, finansal işlemlerin ve kullanıcı etkileşiminin merkezinde yer alıyor. Bu yoğun kullanım, uygulamaları saldırganlar için cazip hedeflere dönüştürüyor. Geliştiriciler olarak güvenlik, sadece bir opsiyon değil; tasarımın, geliştirme sürecinin ve dağıtımın ayrılmaz bir parçası olmalıdır. Bu yazıda mobil ve web uygulamalarında dikkat edilmesi gereken kritik siber güvenlik önlemlerini, yaygın zafiyetleri ve pratik uygulama önerilerini ele alacağız.

Neden uygulama güvenliği kritik?

Uygulama katmanındaki zafiyetler veri ihlallerine, kimlik hırsızlığına, finansal kayıplara ve marka itibarının zarar görmesine yol açar. Kullanıcı verisi, kimlik doğrulama bilgileri veya iş mantığına yönelik saldırılar, doğrudan işletme operasyonlarını etkileyebilir. Bu nedenle güvenlik, yazılım yaşam döngüsünün başından itibaren planlanmalı ve sürekli olarak test edilmelidir.

Temel güvenlik ilkeleri

Güvenli uygulama geliştirme için uyulması gereken temel ilkeler şunlardır:

  • En az ayrıcalık (least privilege): Her servis, bileşen ve kullanıcı yalnızca ihtiyacı olan yetkilere sahip olmalı.
  • Güvenli varsayılan ayarlar (secure by default): Yeni bileşenler varsayılan olarak güvenli konfigürasyonla gelmeli.
  • Savunma derinliği (defense in depth): Birden çok güvenlik katmanı ile tek bir başarısızlık noktası riski azaltılmalı.
  • Şeffaflık ve izlenebilirlik: Olay kayıtları (logs) ve izleme ile şüpheli aktiviteler hızlıca tespit edilebilmeli.

Kimlik Doğrulama ve Yetkilendirme

Kimlik doğrulama ve yetkilendirme hataları en sık istismar edilen zafiyetler arasındadır. Doğru uygulamalar:

  • Parola güvenliğini sağlamak için bcrypt, Argon2 gibi modern hashing algoritmaları kullanın.
  • OAuth2 ve OpenID Connect gibi standart protokollerle güvenli token tabanlı oturum yönetimi uygulayın.
  • Access token'ları kısa ömürlü, refresh token'ları güvenli depolama ve kullanım kurallarıyla yönetin.
  • MFA (çok faktörlü kimlik doğrulama) uygulayarak hesap ele geçirme riskini azaltın.

Veri Koruma ve Şifreleme

Veri hem dinamik (in-transit) hem de durağan (at-rest) halde korunmalıdır.

  • İletim sırasında TLS 1.2+ kullanın; zayıf protokolleri ve eski kriptografileri devre dışı bırakın.
  • Durağan veriler için güçlü simetrik şifreleme (AES-256 gibi) ve doğru anahtar yönetimi uygulayın.
  • Mobil cihazlarda hassas verileri güvenli depolama mekanizmaları (Keychain, Keystore) içinde saklayın; plain-text dosyalardan kaçının.

Girdi Doğrulama ve Güvenli Kodlama

Girdi doğrulaması yapılmayan uygulamalar XSS, SQL Injection ve benzeri zafiyetlere açıktır.

  • Sunucu taraflı doğrulama asla ihmal edilmemeli; istemci taraflı doğrulama kullanıcı deneyimi içindir ama güvenlik için yeterli değildir.
  • Hazırlanmış ifadeler (prepared statements) ve ORM'lerin güvenlik özellikleri kullanılarak SQL enjeksiyonları engellenmeli.
  • HTML kodu üretirken çıktı kaçışlaması (output encoding) ile XSS riskleri azaltılmalı.

API Güvenliği

Web ve mobil uygulamaların arkasındaki API'ler korumasız kalırsa, iş mantığı saldırılarına ve veri sızıntılarına davetiye çıkar.

  • API'lerde rate limiting ve throttling uygulayarak brute-force ve DDoS etkilerini azaltın.
  • API gateway veya WAF (Web Application Firewall) ile istekleri filtreleyin ve güvenlik politikalarını merkezi olarak yönetin.
  • İnput validation, schema doğrulama (JSON Schema) ve izin kontrollerini her istekte uygulayın.

Bağımlılık ve Tedarik Zinciri Güvenliği

Üçüncü parti kütüphaneler ve paketler saldırı yüzeyi oluşturur. Yönetimi şu şekilde yapın:

  • Düzenli güvenlik taramaları (SCA - Software Composition Analysis) ile bilinen açıkları tespit edin.
  • Güncellemeleri sıkı bir şekilde takip edin ve kritik yamaları hızla uygulayın.
  • Güvenilmeyen kaynaklardan gelen paketleri kullanmaktan kaçının; paket imzalama ve checksum doğrulaması uygulayın.

Güvenlik Testleri ve Otomasyon

Güvenlik testleri sürekli entegrasyon sürecine entegre edilmelidir:

  • SAST (statik uygulama güvenlik testi) ile kod seviyesinde zafiyetleri erken yakalayın.
  • DAST (dinamik uygulama güvenlik testi) ile çalışan uygulamada istismar senaryolarını test edin.
  • IAST, fuzzing ve penetrasyon testleri ile kapsamlı değerlendirmeler gerçekleştirin.

Mobil Uygulamalara Özgü Önlemler

Mobil platformların kendine özgü riskleri vardır. Dikkat edilmesi gerekenler:

  • Uygulama paketlerini (APK/IPA) tersine mühendisliğe karşı korumak için obfuscation kullanın; ancak bu tek başına tam koruma sağlamaz.
  • Hassas bilgileri cihaz üzerinde saklamaktan kaçının; saklanması gerekiyorsa platformun sağladığı güvenli depolama mekanizmalarını kullanın.
  • Root/jailbreak tespiti, debug engelleme ve güvenlik politikaları ile uygulama çalıştırma ortamını kontrol edin.

Gözlem, Loglama ve Olay Müdahalesi

Güvenlik yalnızca önleme değil; tespit ve müdahale süreçlerini de kapsar.

  • İyi yapılandırılmış loglama ile anormal aktiviteler için alarm kurun. Ancak hassas bilgileri loglamamaya dikkat edin.
  • Olay müdahale (IR) planı oluşturun; kim, ne zaman, hangi adımlarla müdahale edeceğini bilmelidir.
  • İhlal durumunda iletişim ve yasal prosedürlere hazırlıklı olun.

Geliştiriciler İçin Pratik Güvenlik Kontrol Listesi

  • Güvenli varsayılan ayarlar ve en az ayrıcalık prensibi.
  • Güncel kriptografi ve TLS uygulaması.
  • Sızma testleri ve otomatik güvenlik taramalarının CI/CD'ye entegrasyonu.
  • Bağımlılık yönetimi ve düzenli SCA taramaları.
  • Hassas verilerin güvenli depolanması ve token yönetimi.
  • Rate limiting, CORS konfigürasyonu ve güvenli başlıklar (CSP, HSTS, X-Frame-Options).

Sonuç

Mobil ve web uygulamalarında siber güvenlik, sürekli dikkat, doğru araç seti ve disiplinli süreçler gerektirir. Geliştiriciler, güvenliği baştan tasarıma dahil ederek, otomasyonla destekleyerek ve düzenli testlerle uygulamalarını daha dayanıklı hale getirebilirler. Unutmayın: güvenlik bir proje aşaması değil, yaşam döngüsü boyunca devam eden bir sorumluluktur.

Share this post