1. Adım - Tasarım
Tasarım aşaması tehdit modelleme etkinlikleriniz için başlangıç zeminidir. Ne oluşturduğunuz ve oluşturmak için ne kullandığınız hakkında mümkün olduğunca çok veri toplayın.
Hedefler
- Sisteminizin nasıl çalıştığını gösteren net bir resim oluşturma
- Sisteminiz tarafından tüketilen tüm hizmetleri listeleme
- Ortam ve varsayılan güvenlik yapılandırmaları hakkındaki tüm varsayımları sıralama
- Doğru bağlam derinliği düzeyini kullanan bir veri akışı diyagramı oluşturma
Önemli
Bu aşamayı tamamlamazsanız, sisteminiz için önemli güvenlik tasarımı konularını gözden kaçırabilir ve bu da müşterilerinizi riske atabilir.
Sisteminiz hakkında sorular sorma
Sisteminiz hakkında olabildiğince çok soru sorun. İşte göz önüne alınabilecek birkaç soru:
Alan | Sorular |
---|---|
Sistem açıklaması | Sistem ne yapıyor? Hizmet hangi iş süreçlerini işliyor? Bunlar açıkça tanımlandı mı? |
Sistem ortamı | Sistem bulutta mı yoksa şirket içinde mi oluşturulacak? Hangi işletim sisteminde oluşturulmuş? Kapsayıcılar kullanıyor mu? Sistem bir uygulama mı, hizmet mi yoksa tamamen farklı bir şey mi? |
Senaryolar | Sistem nasıl kullanılacak? Nasıl kullanılmayacak? |
İzinler | Sistemin betik yürütme, veri veya donanım erişimi gereksinimleri var mı? Öyleyse, bunlar nelerdir? |
Bulut sağlayıcısı | Sistem hangi bulut sağlayıcısını kullanıyor? Sağlayıcı hangi varsayılan güvenlik yapılandırma seçeneklerini sunar? Bu seçenekler sistemin güvenlik gereksinimlerini nasıl etkiliyor? |
İşletim sistemi | Sistem hangi İşletim Sistemini kullanacak? İşletim sistemi hangi varsayılan güvenlik yapılandırma seçeneklerini sunar? Bu seçenekler sistemin güvenlik gereksinimlerini nasıl etkiliyor? |
Birinci ve üçüncü taraf | Sistem hangi birinci ve üçüncü taraf hizmetlerini kullanacak? Bu hizmetler varsayılan güvenlik yapılandırması seçeneklerini sunuyor? Bu seçenekler sistemin güvenlik gereksinimlerini nasıl etkiliyor? |
Firmalar | Kullanıcılar ve yöneticiler gibi sistemin kullandığı hesap türleri nelerdir? Bu hesaplar yerel mi yoksa bulut özellikli mi? Nasıl bir erişime ihtiyaçları var ve bunun nedeni ne? |
Kimlik ve erişim denetimi | Sistem bu hesapların güvenliğini sağlamaya nasıl yardımcı olur? Microsoft Entra Id kullanıyor mu? Erişim Denetim Listeleri (ACL), çok faktörlü kimlik doğrulaması (MFA) ve Oturum denetimi gibi özellikleri kullanıyor mu? |
Belirteçler ve oturumlar | Sistem SOAP veya REST API’leri gibi istekleri işleyecek mi? Farklı oturumları nasıl işler? |
Atlama | Sistem arka kapıları kullanacak mı yoksa gerektirecek mi? Öyleyse, atlama nasıl çalışır? |
Günlüğe kaydetme, izleme ve yedekleme | Sistemin güvenlik olaylarını günlüğe kaydetmek, anomalileri izlemek ve sistem verilerini yedeklemek için kullandığı mekanizmalar nelerdir? Hangi olay türleri yakalanıyor? |
Ağ | Hangi yetkisiz giriş algılama ve koruma sistemleri kullanılacak? İletişim nasıl şifrelenir? |
Veri | Sistem hangi tür verileri oluşturacak veya işleyecek? Veri sınıflandırma türü ne olacak? Sistem veri kaynaklarına nasıl güvenir? Verileri nasıl ayrıştırıyor? Beklenen giriş ve çıkış davranışları nelerdir? Doğrulama nasıl işlenir? Veriler tüm eyaletlerde nasıl şifrelenir? |
Gizli dizi yönetimi | Sistem anahtarları, sertifikaları ve kimlik bilgilerini nasıl işler? |
Önemli
Bu liste kapsamlıdır, ancak kapsamlı değildir. Sistem için ilgili kapsamın tamamını yakalamak için iş arkadaşlanızla ve güvenlik ekibinizle konuşun.
Dekont
Özel bir güvenlik ekibiniz varsa, ilk tasarımın üzerinden geçmek için onlarla bir beyaz tahta oturumu zamanlayın. Bu kişi size önemli ölçüde zaman kazandırabilir.
Veri akışı diyagramı oluşturma
Yanıtları kullanarak bir veri akışı çizelgesi oluşturun. Diyagramınız, veri yaşam döngüsündeki her aşamadaki verileri gösterir ve güven bölgelerindeki değişiklikleri içerir. Örnekler şunları içerir:
- İnsan kullanıcılar verilere erişmek için Azure'da barındırılan web uygulamanızda oturum açar
- Yönetici istrator'lar web uygulaması tarafından kullanılan elastik kaynaklar için varsayılan güvenlik yapılandırmalarını değiştirir
- Otomatik günlük betikler web uygulaması için etkinlik günlüklerini izler ve tüm anomalileri yöneticilere bildirir
Microsoft mühendislik ekipleri, güvenlik uyumluluğu gereksinimleri kapsamında veri akışı diyagramları gönderir. Bu diyagramlar güvenlik görüşmelerini yürütmeyi kolaylaştırır.
Diyagram oluşturma araçları
Microsoft mühendisleri bugün sağlanan iki araçtan birini önerir:
- Threat Modeling Tool
- Visio
Diyagram öğeleri
Veri akışı diyagramı belirli bir sistemdeki verilerin akışını gösterir. Genellikle kullanıcılardan veya veri depolarından gelen isteklerle başlar ve veri depoları veya Analiz Hizmetleri’yle biter. Veri akışı diyagramında temsil edilen öğeleri göstermek için farklı şekiller kullanılır.
Öğe | Şekil | Açıklama |
---|---|---|
İşlem | Girişi alan, değiştiren veya web hizmeti gibi bir çıkışa yönlendiren görev. | |
Veri deposu | Web önbelleği veya Azure yönetilen veritabanları gibi kalıcı ve geçici veri depolama alanı. | |
Dış varlık | Kullanıcılar ve üçüncü taraf API’leri gibi doğrudan denetiminizin dışında kalan görev, varlık veya veri deposu. | |
Veri akışı | Bağlantı dizeleri ve yükler gibi işlemler, veri depoları ve dış varlıklar arasındaki veri hareketi. | |
Güven sınırı | Güven bölgesi, güvenli bir şirket ağına erişmek için İnternet'i kullanan kullanıcılar gibi veriler sistem üzerinden aktıkça değişir. |
Veri akışı diyagramındaki öğelerin sistemde nasıl kullanıldığını ve güvenlik altına alındığını herkesin anlamasına yardımcı olmak için bu öğelerin bağlamı da olmalıdır.
Veri akışı diyagramına eklenecek bilgiler
Veri akışı diyagramına eklenecek bilgi miktarı birkaç önemli faktöre bağlıdır:
Faktör | Açıklama |
---|---|
Oluşturduğunuz sistemin türü | Hassas verileri işlemeyen veya yalnızca şirket içinde kullanılan sistemler, dış kullanıma yönelik bir sistem kadar bağlam gerektirmeyebilir |
Güvenlik ekibinizden gereken bağlam | Güvenlik ekipleri tehdit modellerinde neyi aradıklarını tam olarak bilirler. Gerekli derinlik katmanını onaylamak için güvenlik ekibinizle görüşün |
Doğru bağlamın eklenememesi, eksik güvenlik incelemelerine ve güvenlik açığı olabilecek sistemlere yol açar.
Diyagram katmanları
Ne kadar bilgi ekleneceğini anlamanıza yardımcı olması için şu dört bağlam derinlik katmanı arasından seçim yapın:
Derinlik katmanı | Başlık | Açıklama |
---|---|---|
0 | Sistem | Herhangi bir sistem için başlama noktası. Veri akışı diyagramı önemli sistem parçalarını ve bunların nasıl çalıştığını, birbirleriyle nasıl iletişim kurduğunu anlamanıza yardımcı olmak için yeterli bağlamı içerir. |
1 | İşlem | Diğer veri akışı diyagramlarını kullanarak sistemin her parçası için veri akışı diyagramlarına odaklanın. Özellikle hassas verileri işleyecekse bu katmanı her sistem için kullanın. Bu katmandaki bağlam, tehditleri ve riskleri daha verimli bir şekilde azaltmanın veya ortadan kaldırmanın yollarını belirlemenize yardımcı olur. |
2 | Alt süreç | Veri akışı diyagramlarında bir sistem parçasının her alt parçasına odaklanma. Kritik olarak kabul edilen sistemler için kullanılır. Örnekler arasında güvenli ortamlara yönelik sistemler, yüksek oranda hassas verileri işleyen sistemler veya yüksek risk derecelendirmesine sahip sistemler yer alır. |
3 | Düşük Düzey | Son derece kritik ve çekirdek düzeyi sistemlere odaklanma. Veri akışı diyagramları her alt işlemi dakikası dakikasına açıklar. |
Dekont
Veri akışı diyagramlarının çoğu hem Katman 0 hem de 1 derinlik katmanlarını içermelidir. Gerekli katman derinliğini onaylamak için güvenlik ekibinizle görüşün.