# OWASP A02:2021 – Kriptografik Başarısızlıklar (Cryptographic Failures) ve Veri Şifreleme Analizi > **E-E-A-T Uzman İncelemesi**: Eski adıyla "Hassas Veri Açığa Çıkması" (Sensitive Data Exposure) olarak bilinen bu zafiyet sınıfı, verilerin nakil esnasında (in-transit) veya durğan halde (at-rest) yetersiz şifrelenmesinden kaynaklanır. --- ## 1. Giriş: Kriptografik Hataların Kurumsal Maliyeti Müşteri kredi kartı bilgileri, T.C. kimlik numaraları, sağlık verileri ve parolalar gibi hassas verilerin açık metin (cleartext) olarak saklanması, veritabanı sızıntılarında felaket boyutunda sonuçlar doğurur. --- ## 2. Yaygın Kriptografik Hatalar Matrisi | Hata Türü | Risk Faktörü | Çözüm Yaklaşımı | | :--- | :--- | :--- | | **Açık Metin İletim (HTTP)** | Man-in-the-Middle (MitM) dinleme | TLS 1.3 ve HSTS (HTTP Strict Transport Security) kullanımı | | **Zayıf Özetleme (MD5 / SHA1)** | Rainbow Table ve Brute Force ile parola kırma | Argon2id veya bcrypt kullanımı | | **Zayıf Şifreleme (DES / RC4)** | Matematiksel olarak şifre çözebilme | AES-256-GCM veya ChaCha20-Poly1305 | | **Sabit / Statik IV (Initialization Vector)** | Ciphertext kalıplarından veri çıkarma | Her şifrelemede rastgele IV üretilmesi | --- ## 3. Kod Örneği: Zayıf vs Güvenli Parola Hashleme ```php // ZAFİYETLİ KOD (Hızlı kırılabilir): $hash = md5($password); // GÜVENLİ KOD (Argon2id / bcrypt): $hash = password_hash($password, PASSWORD_ARGON2ID); ``` --- ## 4. Savunma ve Sıkılaştırma Önlemleri - **Veri Sınıflandırması**: Hangi verilerin hassas olduğunu belirleyin ve gereksiz verileri saklamayın. - **HSTS Zorunluluğu**: `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload` başlığını tüm HTTPS yanıtlarına ekleyin.