Threat modeling tool
Hızlı genel bakış
Tehdit modelleme topluluğu tarafından tanınan Microsoft Threat Modeling Tool, mühendislerin veri akışı diyagramları oluşturmasına ve tehdit modelleme çalışmaları için STRIDE uygulamasına yardımcı olur.
Threat Modeling Tool şunları sağlar:
- Özelleştirilebilir şablonlar
- Tehditleri ve risk azaltma stratejilerini içeren tehdit oluşturma altyapısı
Varsayılan şablon "SDL TM Bilgi Bankası" olarak adlandırılır ve size temel bir öğe kümesi ve tehdit oluşturma özellikleri sunar. Tek ihtiyacınız olan veri akışı diyagramları ve STRIDE hakkında temel bilgilerdir.
STRIDE özeti
STRIDE altı önemle tehdit kategorisi için kullanılan kısaltmadır:
- Sahtekarlık: başka biri veya başka bir şeymiş gibi davranma
- Kurcalama: yetkilendirme olmadan verileri değiştirme
- İnkar: gerçekleştirilen bir eylemin sorumluluğunu üstlenmeme
- Bilgilerin açığa çıkması: verileri izinsiz görme
- Hizmet reddi: sistemi bunaltma
- Ayrıcalık yükseltme: Sahip olmamam gereken izinlere sahip olma
İleri düzey kullanıcı bölümü
Daha ileri düzey kullanıcılar için şablonu üç ana bölümde özelleştirebilirsiniz.
Kalıplar
İşlem, dış etkileşim, veri deposu, veri akışı ve güven sınırları üst öğeleri oluşturur.
Daha fazla bağlam, eyleme dönüştürülebilir tehdit oluşturma ve risk azaltma stratejileri için ayrıntı düzeyi sağlamaya yardımcı olacak alt öğeler de oluşturabilirsiniz.
Alt öğelerin nasıl çalıştığını gösteren örnek
Veri akışı üst öğesi, HTTP ve HTTPS alt öğeleri arasında seçim yapma seçeneği sunar.
HTTP daha fazla tehdit oluşturmalıdır çünkü şifrelenmemiş kanallarda kurcalama, bilgilerin açığa çıkması ve kimlik sahtekarlığı tehditleri yaygındır.
HTTP kullanma
HTTPS kullanma
Öğe özelliklerini ekleme
Varsayılan şablona eklenmesi gereken başka özellikleriniz varsa, bunları yönetici görünümündeki her öğeye ekleyebilirsiniz.
Bu öğeyi tuvale sürükleyip bıraktığınızda değişiklikleri görebilirsiniz.
Tehdit özellikleri
Aynı kalıp özelliklerinin her öğe için alanlar oluşturmanızı sağlaması gibi, bu özellikler de oluşturulan her tehdit için doldurulacak alanlar oluşturmanızı sağlar.
Unutmayın: Amaç en basit yoldan mümkün olan en fazla bağlama sahip olmaktır.
Tehdit özellikleri örneği
Yönetici görünümü
Size daha fazla bağlam ve eyleme dönüştürülebilir adım sağlayan alanları ekleyin. Örnekler şunları içerir:
- Sorun önceliği: Öncelikle hangi sorunların üzerinde çalışılması gerektiğini anlayın.
- Köprüler: Sorunları çevrimiçi belgelere bağlayın.
- Dış risk eşlemesi: OWASP İlk 10 ve CWE Ayrıntıları gibi güvenilir üçüncü taraf kaynakları kullanarak diğer kuruluşların aynı risk dilini konuşun.
Kullanıcı görünümü
Tehdit Modelleme Aracı kullanıcıları, veri akışı diyagramlarını her çözümlediklerinde bu değişiklikleri görür.
Tehditler ve risk azaltma stratejileri
Bu bölüm Threat Modeling Tool’un merkezini oluşturur. Tehdit oluşturma altyapısı, hangi tehditlerin oluşturulacağına karar vermek için tek tek ve bağlı öğelere bakar.
Tehdit oluşturmanın işleyişi
1. Adım - Kaynakları ve hedefleri belirtme
Tehdit oluşturma altyapısı, tehdit oluşturmak için basit cümleler kullanır. Örnekler şunları içerir:
- target is [öğe adı]
- source is [öğe adı]
Öğe adını başlıklarda ve açıklamalarda da kullanabilirsiniz. Biçim: '{target. Name}' veya '{source. Ad}'.
2. Adım : Kaynakları ve hedefleri birleştirme
Tehdidin oluşturulma yöntemini kesin olarak belirleyebilirsiniz. Hedefleri, kaynakları ve onların tek tek özelliklerini AND OR işleçleriyle birleştirin. Örnekler şunları içerir:
- target.[özellik adı] is 'Yes' AND source.[özellik adı] is 'No'
- flow crosses [güven sınırı adı]
3. Adım - Tehdit oluşturma veya yoksayma
Tehdit oluşturma altyapısı, bir tehdit oluşturmak veya yoksaymak için iki alan kullanır:
- Ekle: Bu alana eklenen tümceler doğruysa bir tehdit oluşturulur.
- Dışla: Bu alana eklenen tümceler doğruysa bir tehdit oluşturulmaz.
Bu adımları bir araya getirmek için aşağıda varsayılan şablondan alınan gerçek bir örnek verilmiştir:
- Tehdit: Siteler Arası Betik Oluşturma
- Include: (target is [Web Server]) OR (target is [Web Application])
- Exclude: (target.[Sanitizes Output] is 'Yes') AND (target.[Sanitizes Input] is 'Yes')
Bu örnekte siteler arası betik oluşturma tehdidi yalnızca aşağıdaki durumlarda oluşturulur:
- İşlem bir Web Sunucusu veya Web Uygulaması olduğunda
- Giriş ve çıkış zararsız hale getirilmediğinde
Dekont
Microsoft Threat Modeling Tool şablonu oluşturma işlemi karışık bir konudur ve bu öğrenme yolunda her yönüyle ele alınmayacaktır.