Tehdit Modelleme (Threat Modeling) ve STRIDE Rehberi
Tehdit modelleme, kod yazılmadan sistemi saldırgan gözüyle inceleyip açıkları tasarımda yakalamaktır. STRIDE altı tehdit sınıfı (infografik), sınıflar ve karşı önlemler tablosu, dört adımlı süreç, ne zaman yapılacağı ve sık sorulan sorular.
Hızlı cevap: Tehdit modelleme, bir sistemi saldırgan gözüyle, kod yazılmadan önce inceleyip "burada ne ters gidebilir" sorusunu sistematik olarak sormaktır. Amaç, açıkları üretime çıkmadan tasarım aşamasında yakalamaktır; bu, en ucuz ve en etkili güvenliktir. En yaygın yöntem STRIDE çerçevesidir: her bileşeni altı tehdit sınıfına karşı sorgular. Spoofing (kimlik taklidi), Tampering (kurcalama), Repudiation (inkar), Information disclosure (bilgi ifşası), Denial of service (hizmet reddi), Elevation of privilege (yetki yükseltme). Süreç dört adımdır: sistemi modelle (veri akış diyagramı), tehditleri bul (STRIDE), her tehdidi önceliklendir, ve önlemi tasarla. Tehdit modelleme bir kere yapılıp bitmez; sistem değiştikçe tekrarlanan yaşayan bir uygulamadır.
Güvenlik açıklarının çoğu koda değil, tasarıma gömülüdür. Bir açığı üretimde bulup düzeltmek, tasarımda yakalamaktan kat kat pahalıdır. Tehdit modelleme tam da bunu yapar: henüz tek satır kod yokken, sistemin nasıl saldırıya uğrayabileceğini düşünür. Bu rehber, tehdit modellemeyi ve STRIDE çerçevesini dünya standardında bir netlikle, uygulanabilir biçimde anlatır.
STRIDE: altı tehdit sınıfı
STRIDE'ın gücü, dağınık "acaba ne olabilir" düşüncesini sistematik bir kontrol listesine çevirmesidir. Her bileşeni (kullanıcı, servis, veri deposu, veri akışı) bu altı soruyla ayrı ayrı sorgularsınız; hiçbir tehdit sınıfı gözden kaçmaz.
STRIDE sınıfları ve karşı önlemleri
| Tehdit | Ne sorar | Tipik önlem |
|---|---|---|
| Spoofing | Biri başkası gibi davranabilir mi | Güçlü kimlik doğrulama, MFA |
| Tampering | Veri izinsiz değişebilir mi | Bütünlük kontrolü, imza, yetki |
| Repudiation | Kim ne yaptı inkar edilebilir mi | Değişmez günlük, denetim izi |
| Information disclosure | Gizli veri sızabilir mi | Şifreleme, erişim denetimi |
| Denial of service | Hizmet durdurulabilir mi | Oran sınırı, ölçekleme, dayanıklılık |
| Elevation of privilege | Yetki aşılabilir mi | En az yetki, sunucu tarafı yetki |
Dört adımlı tehdit modelleme süreci
- Sistemi modelle. Bir veri akış diyagramı çizin: bileşenler, veri depoları, veri akışları ve güven sınırları. Güven sınırı, verinin bir güven düzeyinden diğerine geçtiği yerdir; tehditler en çok orada doğar.
- Tehditleri bul. Her bileşeni ve akışı STRIDE ile sorgulayın. "Bu servisin kimliği taklit edilebilir mi? Bu akış kurcalanabilir mi?"
- Önceliklendir. Her tehdidi olasılık ve etkiye göre sıralayın; en kritik olanlarla başlayın.
- Önlemi tasarla ve doğrula. Her önemli tehdide bir karşı önlem eşleyin ve gerçekten çalıştığını sızma testiyle doğrulayın.
Tehdit modelleme ne zaman yapılır
- Tasarım aşamasında, kod yazılmadan önce; en yüksek getiri buradadır.
- Büyük değişikliklerde, yeni bir bileşen ya da entegrasyon eklendiğinde.
- Düzenli aralıklarla, çünkü sistem ve tehditler zamanla değişir.
Tehdit modelleme, güvenli yazılım geliştirme yaşam döngüsünün kalbindeki proaktif adımdır; iş mantığı açıkları gibi otomatik araçların kaçırdığı sorunları erken yakalar.
Sık sorulan sorular
Tehdit modelleme için güvenlik uzmanı şart mı? Uzman değeri artırır ama STRIDE, geliştirme ekibinin de uygulayabileceği kadar erişilebilirdir. Önemli olan, sistemi saldırgan gözüyle ve sistematik düşünmektir.
STRIDE tek yöntem mi? Hayır. PASTA, LINDDUN (gizlilik odaklı), saldırı ağaçları gibi başka yöntemler de vardır. STRIDE en yaygın ve öğrenmesi en kolay olanıdır.
Küçük bir uygulamaya tehdit modelleme gerekir mi? Ölçeğe göre hafifletilebilir ama ilke her boyutta değerlidir. Güven sınırlarını çizip STRIDE ile birkaç soru sormak, en küçük projede bile açık yakalar.
Otomatik araçlarla yapılabilir mi? Araçlar diyagram ve kontrol listesinde yardımcı olur, ama tehdit modelleme özünde insan muhakemesi gerektirir; bağlamı ve iş mantığını yalnızca insan değerlendirir.
Kaynaklar
- OWASP, Threat Modeling: https://owasp.org/www-community/Threat_Modeling
- Microsoft, STRIDE Threat Model: https://learn.microsoft.com
- OWASP Threat Modeling Cheat Sheet: https://cheatsheetseries.owasp.org
- NIST SP 800 154, Data-Centric Threat Modeling: https://csrc.nist.gov
Sisteminizin tasarımını STRIDE tabanlı tehdit modelleme ve sızma testiyle güvence altına almak için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan güvenli kod denetimi ve sızma testi hizmeti veriyoruz.
Kimliğinizi doğrulayın
Yetkilendirilmiş erişim alanı. Tüm giriş denemeleri kayıt altına alınır.