YAZ.02 EK2 — Güvenlik Açığı Kritiklik Belirleme Kriterleri
Açıklama
Bu doküman, web uygulamalarında tespit edilen güvenlik açıklarının kritikliğinin belirlenmesinde kullanılacak kriterleri tanımlar. Her güvenlik açığı önlemi bir kategoriye, olası etkiye ve kritiklik seviyesine göre sınıflandırılmıştır. Bu ek, YAZ.02 Web Siteleri Standartları dokümanının tamamlayıcısıdır.
Standartlar
Kategoriler
- Hata Yönetimi
- Girdi Denetimi
- Oturum Yönetimi
- Yetkilendirme
- Kayıt Tutma
- Kimlik Doğrulama
- Bağlantı Güvenliği
- Web Servisleri
- İş Mantığı
- Veri Güvenliği
- Yapılandırma Yönetimi
Etkiler
- Bilgi Toplama
- SQL Enjeksiyonu
- XSS
- Bilgi Hırsızlığı
- Hizmet Dışı Bırakma
- Komut Çalıştırma
Seviyeler
- Acil (5)
- Kritik (4)
- Yüksek (3)
- Orta (2)
- Düşük (1)
Güvenlik Açığı Önlemleri
| Önlem | Kategori | Etki | Seviye |
|---|---|---|---|
| Uygulama ile son kullanıcı arasındaki kullanıcı adı, parola, kredi kartı numarası, adres gibi hassas veriler HTTPS protokolü üzerinden aktarılmalıdır. | Bağlantı Güvenliği | Bilgi Hırsızlığı | Acil |
| Kullanılan parolalar ve "parolamı unuttum" kontrol soru-cevapları gibi diğer hassas veriler veri tabanında açık metin olarak saklanmamalıdır. | Veri Güvenliği | Bilgi Hırsızlığı | Acil |
| SQL enjeksiyonuna karşı prepared statement / parameterized query / bind variables / pozitif veri kontrolü yöntemlerinden biri veya birkaçı kullanılmalıdır. | Girdi Denetimi | SQL Enjeksiyonu | Acil |
| Kullanıcıdan gelen tüm girdilere sunucu tarafında pozitif veri kontrolü uygulanmalı ve çıktılar bağlama uygun kodlama/düzgünleştirme (encode/escape) işleminden geçirilmelidir. | Girdi Denetimi | Hepsi | Acil |
| Kullanıcıdan gelen verilerin işletim sistemi komut satırına girmeden kontrol edilmesi ve düzgünleştirme işleminden (escape) geçirilmesi gerekmektedir. | Girdi Denetimi | İşletim Sistemi Komut Enjeksiyonu | Acil |
| Kullanıcıdan gelen ve dosya erişim işlemlerinde kullanılan girdiler normalizasyon işlemine tabi tutulmalıdır. | Girdi Denetimi | Dizin Gezinimi | Acil |
| GET veya POST isteklerindeki HTTP parametreleri değiştirilerek üçüncü şahısların bilgilerine yetkisiz olarak erişilememelidir. | Yetkilendirme | Bilgi Hırsızlığı, Hak Yükseltme | Acil |
| SOAP, RESTful, XML-RPC gibi teknolojilerle geliştirilmiş web servislerine erişimlerde kimlik doğrulama kontrolü uygulanmalıdır. | Web Servisleri | Bilgi Hırsızlığı | Acil |
| Kullanıcıdan veri alarak LDAP'a bağlanan uygulamalar, gerekli girdi kontrollerini gerçekleştirmeli ve bu girdileri LDAP düzgünleştirme işleminden (escape) geçirmelidir. | Girdi Denetimi | LDAP Enjeksiyonu | Acil |
| Güvensiz kaynaklardan veri alarak XPath sorguları yapan uygulamalar, gerekli girdi kontrollerini gerçekleştirmeli ve bu girdileri XPath düzgünleştirme işleminden (escape) geçirmelidir. | Girdi Denetimi | XPath Enjeksiyonu | Acil |
| Karşıdan dosya yükleme işlemlerinde yüklenilen dosya üzerinde isim, boyut, tip ve içerik kontrolü yapılmalıdır. | Girdi Denetimi | XSS, Dosya Çalıştırma | Kritik |
| DoS saldırısı barındırabilecek veya şifre deneme-yanılma gibi kaba kuvvet saldırılarına açık tüm formlara CAPTCHA veya farklı anti-otomasyon güvenlik kontrolleri uygulanmalıdır. | Girdi Denetimi | Hizmet Dışı Bırakma, Kaba Kuvvet | Kritik |
| Güvenli web trafiği için TLS 1.2 ve üzeri (tercihen TLS 1.3) ile güçlü şifreleme algoritmaları kullanılmalı; SSL ve TLS 1.0/1.1 gibi eski protokoller ile zayıf algoritmalar devre dışı bırakılmalıdır. | Bağlantı Güvenliği | Bilgi Hırsızlığı | Kritik |
| Uygulama çatısı, veri tabanı, uygulama sunucusu, web sunucusu gibi kullanılan yazılımların güvenlik yamaları en üst seviyede olmalıdır. | Yapılandırma Yönetimi | Hepsi | Kritik |
| Kritik işlemlerde CSRF saldırılarına karşı güvenlik önlemleri alınmalıdır. | Oturum Yönetimi | CSRF | Kritik |
| Uygulama üzerinden yapılan hassas işlemler hem uygulama seviyesinde hem de sunucu seviyesinde kayıt altına alınmalıdır. | Kayıt Tutma | İnkâr Edilemezlik (Non-repudiation) | Kritik |
| Kullanıcıdan gelen CR/LF karakterleri uygulama tarafında oldukları gibi HTTP cevap başlıklarında kullanılmamalıdır. | Girdi Denetimi | HTTP Response Splitting | Kritik |
| Uygulamaların üzerinde koştukları sunucular, servis verdikleri dizinlerin içeriklerini listelememelidir. | Yapılandırma Yönetimi | Dizin Listeleme | Kritik |
| Güvensiz kaynaklardan veri alarak aritmetik işlem yapan uygulamalar, gerekli tam sayı üst sınır ve alt sınır kontrollerini gerçekleştirmelidir. | Girdi Denetimi | Tamsayı Taşması | Kritik |
| Web servisleri için kullanılan çatıların klasik XML saldırılarına karşı bağışık olup olmadıkları kontrol edilmelidir. | Web Servisleri | Hizmet Dışı Bırakma | Kritik |
| Uygulamalarda başarılı kimlik doğrulama ve çıkış işlemleri sonrası oturum bilgisinin değiştirilmesi gerekmektedir. | Oturum Yönetimi | Session Fixation | Kritik |
| Oturum yönetimi için kullanılan ve uygulamayı kullanan bütün kullanıcılar için tekil olması gereken değerlerin, tahmin edilemez derecede karmaşık olduğu ve güçlü bir rastgele veri üretecinden temin edildiği kontrol edilmelidir. | Oturum Yönetimi | Hak Yükseltme | Kritik |
| Uygulamayı çalıştıran sistem kullanıcısının, hizmet verilen dizin dışındaki yetkileri kaldırılmalıdır. | Yetkilendirme | Hepsi | Yüksek |
| ASP.NET gibi kullanılan uygulama çatılarının güvenlik özellikleri aktif hale getirilmelidir. | Yapılandırma Yönetimi | Hepsi | Yüksek |
| Veri tabanı kullanıcısının sadece uygulamanın kullandığı veri tabanı kaynaklarına erişim hakkı olmalıdır. | Yetkilendirme | Bilgi Hırsızlığı, Komut Çalıştırma | Yüksek |
| Hassas bilgiler içeren web sayfalarının tarayıcılarda belleğe alınmaması için autocomplete, cache-control, pragma gibi gerekli HTTP/HTML başlıkları kullanılmalıdır. | Yapılandırma Yönetimi | Bilgi Hırsızlığı | Yüksek |
| Arama motorları tarafından görüntülenmemesi istenen dizinler varsa, bunlar için robots.txt ile önlem alınmalıdır. | Yapılandırma Yönetimi | Bilgi Toplama | Yüksek |
| Yedekleme, arşiv, test ve geliştirme için kullanılan gereksiz hiçbir dosya internet üzerinden erişilebilir dizinlerde bulunmamalıdır. | Yapılandırma Yönetimi | Bilgi Toplama | Yüksek |
| Ön tanımlı kullanıcı hesapları sistemden veya uygulamadan kaldırılmalıdır. | Yapılandırma Yönetimi | Hepsi | Yüksek |
| Uygulama alan adlarına ait hassas bilgilerin Google/Bing gibi arama motorları tarafından indekslenmediği kontrol edilmelidir. | İş Mantığı | Bilgi Toplama | Yüksek |
| Parola güncelleme işlemleri için eski şifre her zaman sorulmalıdır. | Yetkilendirme | Bilgi Hırsızlığı | Orta |
| "Parolamı unuttum" süreçleri tek kullanımlık doğrulama bağlantısı/kodu ve ek doğrulama adımları gibi birden fazla kontrol ile desteklenmelidir. | İş Mantığı | Hizmet Dışı Bırakma | Orta |
| Veri tabanı kullanıcısının veri tabanına sadece uygulama sunucusu IP'sinden bağlantı hakkı olmalıdır. | Yetkilendirme | Bilgi Hırsızlığı | Orta |
| Başarılı login işlemleri sonrası kullanıcı HTTP 302 ile dahili sayfalara yönlendirilmelidir. | Oturum Yönetimi | Bilgi Hırsızlığı | Orta |
| Gerekmedikçe POST/GET dışındaki HTTP metotlarına izin verilmemeli, bunlar web.config dosyasında kapatılmalıdır. | Yapılandırma Yönetimi | XSS, Dosya Çalıştırma, Bilgi Toplama | Orta |
| Yönetim paneli, arayüzü gibi kritik dizinlerin isimleri kolay tahmin edilebilir olmamalıdır (admin, yonetici, administrator, yonetim, panel vb.). | İş Mantığı | Bilgi Toplama | Orta |
| Sunucu üzerinde bulunan ve web tabanlı istatistik sağlayan uygulamalara erişim herkese açık olmamalıdır. | Yetkilendirme | Bilgi Toplama | Orta |
| Uygulamaların, uygun olan her sayfada çerçeveleme engelleyici önlemleri (X-Frame-Options veya CSP frame-ancestors başlıkları) alması gerekmektedir. | Girdi Denetimi | Clickjacking / Leeching | Orta |
| HTTPS protokolü kullanılan bağlantılarda kullanılan cookie değerleri için Secure parametresinin tanımlı olduğu kontrol edilmelidir. | Oturum Yönetimi | Bilgi Hırsızlığı | Orta |
| Uygulamada oluşan hatalar veya uygulama sunucusu varsayılan hata mesajları kullanıcıya detaylı olarak gösterilmemelidir. | Hata Yönetimi | Bilgi Toplama | Orta |
| Kullanılan cookie değerleri için HttpOnly parametresinin tanımlı olduğu kontrol edilmelidir. | Oturum Yönetimi | Bilgi Hırsızlığı | Orta |
| Siteler arası kaynak paylaşımı (CORS) yapılandırmasında uygulanan politikanın güvenli olduğu, joker (wildcard) izinler verilmediği kontrol edilmelidir. | Yapılandırma Yönetimi | Bilgi Hırsızlığı | Orta |