Tehdit modelleme nedir?
Tehdit modelleme, bir sistemin neyi koruduğunu, kimlerin ona saldırabileceğini, nasıl saldırabileceğini ve hangi önlemlerin gerektiğini yapılandırılmış biçimde ortaya koyan analiz çalışmasıdır. Güvenlik açıkları ortaya çıkmadan önce, tasarım aşamasında risk görmeyi sağlar.
Çıktısı genellikle bir veri akış şeması, tehdit listesi ve her tehdit için önlem veya kabul kararıdır. Önemli olan belge değil, ekibin ortak bir güvenlik anlayışı kazanmasıdır.
Neden önemlidir?
Her şeyi korumaya çalışmak mümkün değildir; kaynaklar sınırlıdır. Tehdit modelleme, çabanın en olası ve en zararlı senaryolara yönelmesini sağlar. Ayrıca tasarım hatalarını koddan önce yakalamak, yayına çıktıktan sonra düzeltmekten çok daha ucuzdur.
Dört temel soru işe yarar: Ne üzerinde çalışıyoruz? Ne ters gidebilir? Bunun için ne yapacağız? Yeterince iyi yaptık mı? Yaygın sınıflandırma yöntemlerinden STRIDE; kimlik sahteciliği, kurcalama, inkâr, bilgi ifşası, hizmet engelleme ve yetki yükseltmeyi kapsar.
Sunucu ve hosting ortamında
Bir müşteri paneli, bir e-ticaret sitesi ya da yeni bir API için şu varlıkları listelemek faydalıdır: müşteri verisi, ödeme akışı, yönetici paneli, yedekler, DNS yönetimi. Güven sınırları belirlenir: internet ile web sunucusu, web sunucusu ile veritabanı, müşteri hesabı ile yönetici.
Paylaşımlı veya çok kiracılı ortamlarda “komşu hesap” da bir tehdit aktörü olarak modele dahil edilmelidir.
Nasıl uygulanır?
- Sistemin basit bir veri akış şemasını çizin: bileşenler, veri depoları, dış kullanıcılar, güven sınırları.
- Her sınır ve akış için STRIDE gibi bir kontrol listesiyle tehditleri sıralayın.
- Tehditleri olasılık ve etkiye göre önceliklendirin.
- Her biri için önlem, devredilen risk veya bilinçli kabul kararı yazın.
- Önlemleri yapılacaklar listesine ve testlere bağlayın.
- Mimari değiştiğinde ya da yeni özellik eklendiğinde modeli güncelleyin.
Sık yapılan hatalar
- Bir kez yapıp bir daha açmamak.
- Yalnızca güvenlik ekibiyle yapmak; geliştirici ve işletme ekibini katmamak.
- Aşırı karmaşık araçlara boğulmak; basit bir tahta çizimi çoğu zaman yeterlidir.
- Saldırgan profilini hesaba katmamak: meraklı bir kullanıcı ile hedefli bir grup farklı önlemler gerektirir.
Sık sorulan sorular
Tehdit modelleme ne zaman yapılmalı?
En iyisi tasarım aşamasında, yeni bir özellik ya da büyük bir mimari değişiklik öncesinde. Mevcut sistemlerde de geriye dönük yapılabilir.
Sızma testinin yerini tutar mı?
Hayır, tamamlar. Tehdit modelleme tasarımı inceler, sızma testi çalışan sistemi dener.
Küçük bir ekip için ağır bir iş mi?
Değil. Bir saatlik bir oturum, şema ve on beş tehditlik bir liste çok değerli sonuç verir.
İlgili terimler
- TLS / SSLİnternet trafiğini şifreleyen ve sunucuyu doğrulayan protokol.
- WAF (Web uygulama güvenlik duvarı)HTTP trafiğini inceleyip web saldırılarını engelleyen güvenlik katmanı.
- Yama (patch)Bir açığı kapatan yazılım düzeltmesi.
- Zafiyet yönetimi (vulnerability management)Sistemlerdeki güvenlik açıklarının sürekli biçimde bulunması, önceliklendirilmesi, giderilmesi ve doğrulanması döngüsü.
- Açık taraması (vulnerability scan)Sistemlerde bilinen açıkları otomatik arayan tarama.
- Adli bilişim (digital forensics)Dijital delillerin bozulmadan toplanması, korunması ve analiz edilerek bir olayın nasıl gerçekleştiğinin ortaya çıkarılması.