Skip to main content
Uygulama Güvenliği

Uygulama Güvenliğinin Temel Taşları: Mobil ve Web İçin Pratik Sızma Testi İpuçları

Mart 07, 2026 4 dk okuma 18 views Raw
Pexels Uygulamasını Gösteren İki Açık Akıllı Telefon
İçindekiler

Uygulama güvenliği, hem mobil hem de web platformlarında veri bütünlüğünü, gizliliğini ve erişilebilirliğini korumak için kritik öneme sahiptir. Bu rehberde, uygulama güvenliğinin temel taşlarını ve pratik sızma testi (penetration testing) ipuçlarını adım adım ele alacağız. Hedefimiz, geliştiriciler, güvenlik mühendisleri ve BT ekiplerine uygulanabilir yöntemler sunmaktır.

1. Sızma Testinin Temel Adımları

Bir sızma testi planı yapılandırılırken takip edilmesi gereken aşamalar vardır. Bu aşamalar hem kapsamın belirlenmesine yardımcı olur hem de test sonuçlarının tekrarlanabilir olmasını sağlar.

1.1. Kapsam ve İzin

Test öncesi net bir kapsam belirlenmelidir: hangi URL'ler, API uç noktaları, mobil uygulama sürümleri ve sunucular dahil olacak? Yasal izinlerin alınması, etki alanı sınırlarının yazılı olarak tanımlanması zorunludur. Yetkisiz testler hukuki sorunlara yol açabilir.

1.2. Keşif (Reconnaissance)

Hedef hakkında bilgi toplama: DNS, subdomain'ler, açık portlar, kullanılan teknolojiler ve üçüncü taraf servisler. Bu adımda pasif ve aktif teknikler birlikte kullanılır. Örnek araçlar: Nmap, Amass, Sublist3r, Shodan.

1.3. Analiz ve Tehdit Modelleme

Uygulamanın mimarisine göre tehdit modelleme yapmak, hangi varlıkların öncelikli olduğunu ve hangi saldırı vektörlerinin daha olası olduğunu belirlemeye yardımcı olur. STRIDE veya DREAD gibi yaklaşımlar kullanılabilir.

1.4. Test Etme (SAST, DAST, IAST)

Statik kod analizi (SAST), dinamik test (DAST) ve etkileşimli analiz (IAST) kombinasyonu en iyi sonuçları verir. Otomatik araçlarla bulgular tespit edilir; ardından manuel doğrulama yapılır. Web için Burp Suite, OWASP ZAP, SQLMap; mobil için MobSF, Frida, Objection gibi araçlar sık kullanılır.

1.5. Raporlama ve Remediasyon

Bulgular önceliklendirilmiş bir şekilde raporlanmalı, örnek PoC (proof of concept) ve risk azaltma önerileri sunulmalıdır. Düzeltme sonrası yeniden test (retesting) yapılmalıdır.

2. Web Uygulamaları İçin Pratik İpuçları

Web uygulamaları, OWASP Top 10 gibi yaygın güvenlik açıklarına karşı düzenli test edilmelidir. İşte pratik kontrol noktaları:

2.1. Girdi Doğrulama ve XSS

Kullanıcı girdileri her zaman doğrulanmalı ve çıktılar uygun şekilde escape edilmelidir. Stored ve reflected XSS testleri için farklı context'lerde (HTML, JavaScript, URL, attribute) kontroller yapılmalıdır.

2.2. SQL Injection ve Diğer Enjeksiyonlar

Hazır sorgu ifadeleri (prepared statements), parametrized queries ve ORM kullanımı enjeksiyon riskini azaltır. Testlerde SQLMap ve manual payloadlar ile farklı veri tipleri ve zaman tabanlı teknikler denenmelidir.

2.3. Kimlik Doğrulama ve Yetkilendirme

Güçlü parola politikaları, çok faktörlü doğrulama (MFA) ve güvenli oturum yönetimi önemlidir. IDOR (Insecure Direct Object References) ve yetkilendirme eskalasyon testleri yapılmalıdır.

2.4. CSRF, CORS ve Güvenlik Başlıkları

CSRF token'ları, CORS yapılandırması ve güvenlik başlıkları (CSP, HSTS, X-Frame-Options) kontrol edilmelidir. Zafiyetleri tespit ederken hem başlıkların varlığı hem de doğru yapılandırılması doğrulanmalıdır.

3. Mobil Uygulamalar İçin Pratik İpuçları

Mobil uygulamalar, cihaz depolaması, IPC, platform API'leri ve tersine mühendislik gibi özel riskler taşır. Bu alanlara odaklanmak gerekir.

3.1. Güvenli Veri Depolama

Hassas veriler cihazda şifresiz veya kolay erişilebilir formatta saklanmamalıdır. Android için EncryptedSharedPreferences veya KeyStore; iOS için Keychain kullanılmalıdır. Testte cihazın dosya sisteminde bilgi sızıntısı aranmalıdır.

3.2. Ağ Trafiği ve Sertifika Doğrulama

Tüm ağ trafiği TLS ile korunmalı, sertifika pinning uygulanmalıdır. Test yaparken proxy ve MITM araçları (Burp, mitmproxy) ile uygulama trafiği incelenir; pinning açık ise Frida/Objection ile test edilir.

3.3. Tersine Mühendislik ve Kod Koruma

APK/IPA dosyaları unzip edilip kaynak kod/manifest incelemesi yapılmalıdır. Kritik mantıkların tersine mühendisliğe karşı obfuscation ve binary hardening ile korunması önerilir. Araçlar: apktool, JADX, ClassyShark, Hopper.

4. Ortak Araçlar ve Otomasyon

Sızma testi süreçlerini hızlandırmak için otomasyon ve güvenlik araçları kullanılmalıdır. Ancak otomasyon her zaman manuel doğrulama gerektirir.

4.1. SAST ve Bağımlılık Tarayıcıları

Snyk, SonarQube, Dependabot gibi araçlarla üçüncü taraf kütüphaneler ve kodun statik analizi sürekli entegrasyon (CI) pipeline'larına eklenmelidir.

4.2. DAST ve Penetrasyon Araçları

Burp Suite, OWASP ZAP, Nikto, SQLMap gibi araçlar düzenli olarak kullanılmalı; CI/CD aşamasında canary testleri ya da güvenlik testleri tetiklenmelidir.

4.3. Mobil Özel Araçlar

MobSF, Frida, Objection, Drozer mobil güvenlik analizinde faydalıdır. Otomatize edilebilen analizler CI'da kullanışlıdır fakat cihaz/emsülatör bazlı manuel testler de şarttır.

5. Raporlama, Önceliklendirme ve Düzeltme Stratejileri

Bulgu raporları açık, yeniden üretilebilir adımlarla ve risk seviyeleriyle sunulmalıdır. CVSS puanlaması, etki ve exploit kolaylığı göz önünde bulundurularak önceliklendirme yapılmalıdır. Kısa vadede patch/konfigürasyon düzeltmeleri, orta vadede mimari değişiklikler ve uzun vadede güvenli kod eğitimleri planlanmalıdır.

6. Güvenli Geliştirme Yaşam Döngüsü (SDLC) Entegrasyonu

Güvenlik testleri sadece üretim öncesi değil, SDLC'nin erken aşamalarına entegre edilmelidir. Kod incelemeleri, SAST taramaları, bağımlılık kontrolleri ve güvenli kodlama eğitimleri süreklilik arz etmelidir.

7. Sonuç ve İyi Uygulama Özeti

Uygulama güvenliği, tekrarlayan ve katmanlı bir yaklaşımla sağlanır. Keşif, tehdit modelleme, otomatik ve manuel testler, hızlı raporlama ve düzeltme döngüsü en etkili pratiği oluşturur. Hem web hem mobil için ortak unsurlar: güçlü kimlik doğrulama, güvenli veri saklama, şifreleme, giriş doğrulama ve güncel bağımlılık yönetimidir. Ayrıca yasal sınırlar içinde hareket etmek, kapsamı net belirlemek ve sonuçları paydaşlarla paylaşmak güvenlik kültürünün önemli parçalarıdır.

Sen Ekolsoft olarak, uygulama güvenliği danışmanlığında sistematik test yaklaşımları ve özelleştirilmiş raporlamalar sunuyoruz. Uygulamanızın güvenliğini artırmak için kapsamlı pen test paketlerimizi inceleyebilirsiniz.

Bu yazıyı paylaş