İçeriğe geç
parazade

Tehdit Modelleme Nedir?

İngilizce: Threat Modeling

Yayın: · Son güncelleme:

Tehdit Modelleme Nedir? Kısaca

Tehdit modelleme, bir uygulama ya da sistemin tasarım aşamasında olası saldırganları, saldırı yollarını ve zayıf noktaları sistematik olarak belirleyip bunlara karşı önlemleri en baştan planlama yöntemidir.

Tehdit Modelleme nedir?
İçindekiler
  1. Tehdit modelleme nedir?
  2. Nasıl yapılır?
  3. Nelere dikkat etmeli?

Tehdit modelleme nedir?

Tehdit modelleme, bir sistemi daha inşa edilmeden saldırgan gözüyle incelemektir. Amaç, güvenlik sorunlarını kod yazılmadan ya da sistem kurulmadan önce yakalamaktır. Bu aşamada bir değişiklik yapmak, yayından sonra yapmaktan çok daha ucuzdur.

Yöntem dört basit soru etrafında şekillenir: Ne inşa ediyoruz? Neler ters gidebilir? Buna karşı ne yapacağız? Yeterince iyi iş çıkardık mı?

Nasıl yapılır?

Önce sistemin bir şeması çizilir. Kullanıcılar, sunucular, veritabanları ve aralarındaki veri akışları bu şemada gösterilir. Özellikle güven sınırları, yani verinin bir bölgeden başka bir bölgeye geçtiği noktalar işaretlenir.

Ardından her bileşen için olası tehditler listelenir. Bu iş için sık kullanılan çerçevelerden biri STRIDE'dır:

  • Kimlik taklidi (Spoofing)
  • Verinin değiştirilmesi (Tampering)
  • İnkâr (Repudiation)
  • Bilgi ifşası (Information disclosure)
  • Hizmet engelleme (Denial of service)
  • Yetki yükseltme (Elevation of privilege)

Örneğin bir mobil bankacılık uygulamasında "şifre sıfırlama" akışı modellenirken, saldırganın başkasının telefon numarasıyla sıfırlama kodu isteyip isteyemeyeceği sorulur. Cevap evetse ek bir doğrulama adımı tasarıma eklenir.

Nelere dikkat etmeli?

Tehdit modelleme bir kerelik bir belge değildir. Sistem değiştikçe model de güncellenmelidir. Toplantıya yalnız güvenlik ekibini değil, geliştiricileri ve ürün sahiplerini de katmak daha gerçekçi sonuç verir.

Mükemmel bir model beklemek yerine en kritik akışlardan başlamak işi ilerletir. Bulguların önceliklendirilmesi için risk değerlendirmesi maddesine bakabilirsiniz.

Sıkça Sorulan Sorular

Tehdit modelleme kimler için gerekli?

Yazılım geliştiren ekipler, sistem mimarları ve yeni bir altyapı kuran kurumlar için faydalıdır. Küçük ekipler de bir beyaz tahta ve bir saatlik toplantıyla başlayabilir.

STRIDE nedir?

STRIDE, tehditleri altı kategoride düşünmeyi sağlayan bir çerçevedir. Her harf bir tehdit türünü temsil eder ve tasarımdaki eksiklerin unutulmamasına yardım eder.

İlgili terimler

Risk Değerlendirmesi(Security Risk Assessment)Risk değerlendirmesi, bir kurumun bilgi varlıklarını, bunlara yönelik tehditleri ve açıkları belirleyip her riskin gerçekleşme olasılığını ve etkisini ölçerek hangi önlemlerin öncelikli olduğuna karar verme sürecidir.Uygulama Güvenliği(Application Security)Uygulama güvenliği, web, mobil ve masaüstü uygulamalarının tasarım, geliştirme, test ve yayın aşamalarında güvenlik açıklarından arındırılması ve yayından sonra da korunması için uygulanan yöntemlerin bütünüdür.Güvenli Kodlama(Secure Coding)Güvenli kodlama, yazılımı geliştirirken enjeksiyon, yetki hatası ve veri sızıntısı gibi güvenlik açıklarının oluşmasını baştan önleyen yazım alışkanlıkları ve ilkeler bütünüdür.Saldırı Vektörü(Attack Vector)Saldırı vektörü, bir saldırganın bir sisteme, ağa ya da hesaba erişmek veya zararlı yazılım bulaştırmak için kullandığı yol ya da yöntemdir. E-posta, zayıf şifre ve güncellenmemiş yazılım yaygın örneklerdir.Bileşen(Component)Bileşen (component), bir yazılımın ya da kullanıcı arayüzünün kendi görevi olan, bağımsız ve yeniden kullanılabilir parçasıdır. Web geliştirmede düğme, ürün kartı ya da menü gibi arayüz parçaları bileşen olarak yazılır.Yetki Yükseltme(Privilege Escalation)Yetki yükseltme (Privilege Escalation), bir saldırganın ya da zararlı yazılımın hakkı olandan daha fazla izin elde etmesidir. Sınırlı bir kullanıcı hesabından yönetici ya da sistem yetkisine geçiş tipik örnektir.Mobil Bankacılık(Mobile Banking)Mobil bankacılık, bankacılık işlemlerinin akıllı telefon ya da tablete kurulan banka uygulaması üzerinden yapılmasıdır. Para transferi, ödeme, kart yönetimi ve karekodla işlem gibi hizmetleri içerir.