Merhaba! Önceki dersimizde, STRIDE ile belirlediğimiz geniş tehdit listesini, en yüksek etkiye sahip olanlara odaklanmak üzere nasıl önceliklendireceğimizi öğrendik. Program kapsamı, saldırı yüzeyi yapısı ve tarihsel verileri kullanarak, çabalarımızı en verimli alanlara yönlendirecek sistematik bir çerçeve oluşturduk. Bu, tehdit avcılığını veri odaklı bir disipline dönüştürmede önemli bir adımdı.
Bu derste ise bir adım geri atıp temel felsefeyi sorgulayacağız. Bugüne kadar kullandığımız STRIDE yaklaşımı, sistemi bir savunmacı gözüyle ("what can go wrong?") analiz eder. Peki ya bir saldırgan gibi düşünseydik ("how can I break this?")? Bu dersimizde, STRIDE gibi sistem-merkezli modellemeyi; saldırı ağaçları (attack trees) ve ATT&CK gibi saldırgan-merkezli yaklaşımlarla karşılaştıracağız. Nihai amacımız, bir hata avcısı (bug bounty hunter) olarak hangisinin daha verimli olduğunu ve bu farklı felsefelerin birbirini nasıl tamamlayabileceğini anlamaktır.
1. İki Felsefe: Savunmacı ve Saldırgan Zihniyeti
Tehdit modellemesi, tek bir metodolojiden ibaret değildir; temelinde yatan zihniyete göre farklılaşan bir disiplindir. Bu iki ana zihniyeti, STRIDE ve Saldırı Ağaçları üzerinden inceleyebiliriz.
Savunmacı Yaklaşım: STRIDE
Daha önceki derslerde detaylıca incelediğimiz STRIDE, Microsoft tarafından geliştiricilerin güvenli yazılım üretmesine yardımcı olmak amacıyla tasarlanmıştır. Bu, doğası gereği bir savunmacı (defensive) veya sistem-merkezli (system-centric) yaklaşımdır.

STRIDE'ın temel gücü, sistematik ve kapsamlı bir kontrol listesi sunmasıdır. Bir Data Flow Diagram (DFD) üzerindeki her bir işlem (process), veri akışı (data flow), veri deposu (data store) ve dış varlık (external entity) için altı tehdit kategorisini de sorgularsınız. Bu, bir tehdit kategorisini (örneğin, Repudiation - İnkar Edilemezlik) tamamen gözden kaçırma riskini en aza indirir. Bu yaklaşım, bir sistemi sıfırdan tasarlayan veya güvenliğini sağlamakla sorumlu bir geliştirici ya da mimar için paha biçilmezdir.
Ancak, bir hata avcısı için bu yaklaşımın sınırlılıkları vardır.
A review of threat modelling approaches for APT-style attacks - PMC
Bu akademik makale, farklı tehdit modelleme yaklaşımlarını analiz ederken STRIDE'ın temel bir sınırlılığına dikkat çekiyor.
Makalenin "STRIDE" başlıklı 4.2. bölümünde, şu kritik ifadeye odaklanın: "Ancak, spesifik saldırı vektörlerini veya eylemlerini tanımlamaz, öncelikli olarak genel tehdit türlerini kategorize eder...". Bu, STRIDE'ın size ne tür bir sorun olabileceğini (örneğin, Tampering) söylediğini, ancak bunun nasıl gerçekleştirileceğini (örneğin, 'bir SQL enjeksiyonu ile' veya 'bir JWT token'ını değiştirerek') söylemediğini vurgular.
STRIDE, potansiyel zayıflıkların bir haritasını çıkarır, ancak en kısa veya en etkili saldırı yolunu göstermez. Bir hata avcısı için bu, çok sayıda düşük etkili veya teorik tehditle sonuçlanabilir ve asıl değerli olan, istismar edilebilir zafiyetlerin bulunmasını yavaşlatabilir.
Saldırgan Yaklaşım: Saldırı Ağaçları (Attack Trees)
Saldırgan-merkezli (attacker-centric) yaklaşımlar ise soruyu tersinden sorar: "Hedefime ulaşmak için hangi yolları izleyebilirim?" Bu felsefenin en temel örneği, kriptograf Bruce Schneier tarafından popülerleştirilen Saldırı Ağaçları'dır.

Bir saldırı ağacı oluştururken süreç şöyledir:
- Kök (Root Goal): En üste, ulaşmak istediğiniz nihai hedefi yazarsınız. Hata avcılığı bağlamında bu, programın en yüksek ödülü verdiği "Kritik Müşteri Verilerine Ulaşmak" veya "Uzaktan Kod Çalıştırmak (RCE)" gibi bir hedef olabilir.
- Dallar (Sub-goals): Bu ana hedefe ulaşmak için gereken ara hedefleri (sub-goals) belirlersiniz. RCE için bunlar "Web Sunucusunda Dosya Yükleme Zafiyeti Bulmak" VE "Yüklenen Dosyayı Çalıştırmak" olabilir. Buradaki "VE" (AND) ve "VEYA" (OR) mantığı, saldırı adımlarının bağımlılıklarını modellemenizi sağlar.
- Yapraklar (Leaf Nodes): Dallanmayı, bilinen somut saldırı tekniklerine veya eylemlerine (örneğin, "Kısıtlanmamış dosya türü ile
.phpuzantılı dosya yüklemek") ulaşana kadar sürdürürsünüz.
Bu yaklaşım, doğası gereği yüksek etkili hedeflere odaklanır ve çabalarınızı doğrudan ödüle götürecek yolları aramaya yönlendirir.
Threat modeling using STRIDE and Attack Trees
Bu videoda, Z. Cliffe Schreuders STRIDE ve Saldırı Ağaçları arasındaki temel felsefe farkını net bir şekilde açıklıyor.
Videoda bu kısa bölümü izleyin. Konuşmacının vurguladığı gibi, STRIDE "nelerin yanlış gidebileceğini" düşünürken, Saldırı Ağaçları "bir saldırganın sistemimize saldırmak için deneyebileceği her olası yolu" listelemeye odaklanır.
2. Saldırgan-Merkezli Modellerin Derinliği: Kill Chain ve ATT&CK
Saldırı ağaçları, saldırgan zihniyetinin temelini oluştursa da, sizin gibi siber güvenlik alanında derin tecrübeye sahip bir profesyonel için bu felsefeyi daha gelişmiş çerçevelerle zenginleştirmek mümkündür. Bunlardan en önemlileri Cyber Kill Chain ve MITRE ATT&CK'tır.
- Cyber Kill Chain: Lockheed Martin tarafından geliştirilen bu model, bir siber saldırı kampanyasını yedi aşamalı bir süreç olarak tanımlar: Keşif (Reconnaissance), Silahlandırma (Weaponization), Teslimat (Delivery), İstismar (Exploitation), Yükleme (Installation), Komuta-Kontrol (C2) ve Hedefteki Eylemler (Actions on Objectives). Bu model, bir saldırının makro düzeydeki yaşam döngüsünü anlamak için bir çerçeve sunar.
- MITRE ATT&CK®: Bu, gerçek dünya gözlemlerine dayanan, düşman taktik ve tekniklerinin küresel olarak erişilebilir bir bilgi tabanıdır. Red teaming ve purple teaming çalışmalarınızdan aşina olduğunuz ATT&CK, "saldırganların davranış ansiklopedisi" olarak düşünülebilir. Kill Chain'in aşamalarını alır ve her bir aşama için bilinen yüzlerce somut teknikle (
TXXXXkodları ile) doldurur.
Bu modeller, Saldırı Ağacınızın "yapraklarını" doldurmak için size zengin bir ilham kaynağı sunar. Örneğin, ağacınızdaki bir alt hedef "Kimlik Bilgisi Erişimi" ise, ATT&CK matrisindeki ilgili taktik altında listelenen "Brute Force", "OS Credential Dumping" veya "Kerberoasting" gibi teknikleri potansiyel saldırı yolları olarak ekleyebilirsiniz.
3. Hata Avcılığı Verimliliği için Karşılaştırmalı Analiz
Her iki felsefenin de ne olduğunu anladığımıza göre, asıl soruyu yanıtlayabiliriz: Bir hata avcısı için hangisi daha verimlidir?
| Kriter | STRIDE (Savunmacı-Merkezli) | Saldırgan-Merkezli (Saldırı Ağaçları, ATT&CK) |
|---|---|---|
| Odak | Kapsam ve Genişlik: Sistemin tüm bileşenlerini ve tüm tehdit türlerini kapsar. | Derinlik ve Hedef: Yüksek değerli, spesifik bir hedefe ulaşmaya odaklanır. |
| Zihniyet | Sistematik ve Yapısal: Bir kontrol listesini takip eder. Güvenli tasarım için idealdir. | Yaratıcı ve Fırsatçı: "Nasıl kırarım?" sorusunu sorar. Yeni ve beklenmedik yollar bulmaya teşvik eder. |
| Önceliklendirme | Sonradan Gerekir: Potansiyel tehditlerin bir listesini üretir; bu listenin daha sonra önceliklendirilmesi gerekir (önceki derste yaptığımız gibi). | Doğal Olarak İçerir: En kolay, en ucuz veya en olası saldırı yolları doğal olarak öncelik kazanır. |
| Adaptasyon | Statik: Altı kategori sabittir. Yeni tehdit türlerine adapte olması yavaştır. | Dinamik: Özellikle ATT&CK gibi modeller, sürekli olarak yeni, gerçek dünya tehdit verileriyle güncellenir. |
| Verimlilik | Düşük Sinyal/Gürültü Oranı: Çok sayıda teorik veya düşük etkili bulgu üretebilir. | Yüksek Sinyal/Gürültü Oranı: Çabaları doğrudan istismar edilebilir ve yüksek etkili zafiyetlere odaklar. |
Bu karşılaştırmadan da görülebileceği gibi, hata avcılığı verimliliği açısından saldırgan-merkezli yaklaşımlar genellikle daha üstündür. Amacınız, sınırlı bir zamanda en yüksek etkiyi yaratmaktır. Bir saldırı ağacı, sizi doğrudan bu hedefe yönlendirirken, STRIDE sizi önce tüm olasılıkları listelemeye zorlar.
PASTA Threat Modeling vs STRIDE: How Are They Different?
Bu video, STRIDE'ı daha gelişmiş, risk-merkezli bir metodoloji olan PASTA ile karşılaştırırken saldırgan zihniyetinin neden önemli olduğuna dair mükemmel argümanlar sunuyor.
Videonun şu bölümlerini özellikle dinleyin: Bu bölümde konuşmacı, PASTA'nın sizi "daha kötü niyetli düşünmeye" teşvik ettiğini ve tehditleri kanıtlarla desteklemenin önemini vurguluyor. STRIDE'ın 1990'lardan kalma altı statik kategoriye sıkışıp kalmasını eleştiriyor ve "tehditlerin değiştiğini ve geliştiğini" belirtiyor. Bu, saldırgan-merkezli modellerin dinamizmini vurgular. Burada, PASTA'nın tehditleri kanıtlamak için gerçek tehdit verilerini (örneğin, loglar) ve tehdit istihbaratını (threat intel) nasıl kullandığı anlatılıyor. STRIDE'ın ise bir tehdidi "kanıtlamadığını" belirtiyor. Bu, bir bulgunun etkisini göstermesi gereken hata avcıları için kritik bir farktır.
4. Hibrit Yaklaşım: İki Dünyanın En İyisi
Peki bu, STRIDE'ı tamamen terk etmemiz gerektiği anlamına mı geliyor? Kesinlikle hayır. En verimli avcılar, tek bir araca bağlı kalmazlar; araç kutularındaki tüm metodolojileri birleştirerek hibrit bir yaklaşım benimserler. Akademik çalışmalar da genellikle en iyi sonucun hibrit modellerden alındığını göstermektedir.
A review of threat modelling approaches for APT-style attacks - PMC
Bu makalenin sonuç bölümü, tek bir modelin her duruma uymadığını ve genellikle modelleri birleştirmenin en iyi yaklaşım olduğunu vurgulamaktadır.
Makalede önce "7.2.4. Finding IV: combined models" başlığı altındaki paragrafı okuyun. Ardından "9. Conclusion" bölümündeki şu cümlelere odaklanın: "Mevcut sistemlerin karmaşıklığının hibrit bir tehdit modelleme yaklaşımı gerektirdiğini belirledik." ve "Tüm zafiyet, varlık, tehdit, sistem ve veri permütasyonlarında kullanılabilecek tek bir tehdit modelleme yaklaşımı yoktur."
Bir hata avcısı için verimli bir hibrit iş akışı şu şekilde olabilir:
-
Stratejik Kapsam Belirleme (STRIDE ile): Bir hedef uygulamayı ilk kez incelerken, özelliklerini ve potansiyel zayıf noktalarını zihinsel olarak hızlıca kategorize etmek için STRIDE'ı bir çerçeve olarak kullanın. Örneğin: "Bu uygulama bir kimlik doğrulama akışına sahip (S), kullanıcı tarafından oluşturulan içeriği işliyor (T), hassas verileri saklıyor (I) ve yönetici rolleri var (E)." Bu, size saldırı yüzeyinin genel bir resmini çizer.
-
Hedef Odaklı Planlama (Saldırı Ağacı ile): Hata ödül programının politikasına göre en yüksek ödüllü hedefi (örneğin, ATO) belirleyin ve bunu saldırı ağacınızın kökü yapın.
-
Yol Haritası Oluşturma (ATT&CK ve Deneyim ile): Saldırı ağacınızın dallarını ve yapraklarını doldurmak için ATT&CK matrisinden, geçmiş başarılı avcılık raporlarından ve kendi tecrübenizden yararlanın. Bu aşama, yaratıcılığınızı kullanarak "nasıl?" sorusunu yanıtladığınız yerdir.
-
Etkiyi Artırma ve Raporlama (STRIDE ile): Potansiyel bir zafiyet bulduğunuzda, STRIDE'ı bu zafiyetin tam etkisini anlamak ve raporlamak için kullanın. Örneğin, bulduğunuz basit bir Information Disclosure (I) zafiyeti, başka bir kullanıcının kimliğine bürünmenizi (Spoofing - S) sağlayabilir ve bu da yetkilerinizi yükseltmenize (Elevation of Privilege - E) olanak tanıyabilir. Bu, bulgularınızı zincirleyerek ve etkisini STRIDE kategorileriyle ilişkilendirerek raporunuzun değerini artırmanıza yardımcı olur.
Sonuç
Bu derste, tehdit modellemenin iki temel felsefesini karşılaştırdık.
Temel Çıkarımlar:
- STRIDE, bir sistemi savunmacı gözüyle analiz eden, kapsamlı ve sistematik bir sistem-merkezli yaklaşımdır. Gücü, geniş kapsama alanındadır.
- Saldırı Ağaçları ve ATT&CK gibi saldırgan-merkezli yaklaşımlar, yüksek değerli bir hedefe odaklanır ve "nasıl?" sorusunu sorar. Gücü, verimlilik ve odaklanmadır.
- Hata avcılığı verimliliği için, çabaları doğrudan yüksek etkili hedeflere yönlendiren saldırgan-merkezli zihniyet genellikle daha üstündür.
- En etkili metodoloji, her iki dünyanın da en iyi yönlerini birleştiren hibrit bir yaklaşımdır: STRIDE'ı hızlı bir zihinsel haritalama ve etki analizi için, saldırı ağaçlarını ise hedef belirleme ve saldırı yolu planlaması için kullanmak.
Artık farklı tehdit modelleme felsefelerinin avantajlarını ve dezavantajlarını anladığımıza göre, bir sonraki dersimizde bu teorik bilgiyi pratiğe dökme zamanı. Belirli bir hedef özelliğin odaklanmış bir tehdit modelini oluşturmak için DFD'leri ve güven sınırlarını nasıl sentezleyeceğimizi ele alacağız. Bu, bugüne kadar öğrendiğimiz tüm kavramları somut bir vaka üzerinde birleştirmemizi sağlayacak.