Tehdit Modelleme Aracı'nı kullanmaya başlama

Microsoft Threat Modeling Tool 2018, Eylül 2018'de ücretsiz bir tıkla-indir olarak GA olarak yayımlandı. Teslim mekanizmasındaki değişiklik, aracı her açtıklarında müşterilere en son iyileştirmeleri ve hata düzeltmelerini göndermemize olanak tanır ve böylece bakımı ve kullanımı daha kolay hale gelir. Bu makale, Microsoft SDL tehdit modelleme yaklaşımını kullanmaya başlama süreci boyunca size yol gösterir ve güvenlik sürecinizin omurgası olarak büyük tehdit modelleri geliştirmek için aracın nasıl kullanılacağını gösterir.

Bu makale, SDL tehdit modelleme yaklaşımı hakkında mevcut bilgileri temel alır. Hızlı bir inceleme için Tehdit Modelleme Web Uygulamaları'na ve 2006'da yayımlanan STRIDE Yaklaşımı msdn makalesini kullanarak Güvenlik Açıklarını Ortaya Çıkarma makalesinin arşivlenmiş sürümüne bakın.

Hızlı bir şekilde özetlemek gerekirse yaklaşım bir diyagram oluşturmayı, tehditleri tanımlamayı, azaltmayı ve her azaltmayı doğrulamayı içerir. Bu işlemi vurgulayan bir diyagram aşağıda belirtilmiştir:

SDL Process

Tehdit modelleme işlemini başlatma

Tehdit Modelleme Aracı'nı başlattığınızda, resimde görüldüğü gibi birkaç şey göreceksiniz:

Blank Start Page

Tehdit modeli bölümü

Bileşen Ayrıntılar
Geri Bildirim, Öneriler ve Sorunlar Düğmesi SDL ile ilgili her şey için MSDN Forumu'nu alırsınız. Bu, geçici çözümler ve önerilerin yanı sıra diğer kullanıcıların neler yaptığını okuma fırsatı sunar. Aradığınızı hala bulamıyorsanız, size yardımcı olması için destek ekibimize e-posta gönderin tmtextsupport@microsoft.com
Model Oluşturma Diyagramınızı çizmeniz için boş bir tuval açar. Modeliniz için kullanmak istediğiniz şablonu seçtiğinizden emin olun
Yeni Modeller için Şablon Model oluşturmadan önce kullanılacak şablonu seçmeniz gerekir. Ana şablonumuz Azure'a özgü kalıpları, tehditleri ve risk azaltmaları içeren Azure Tehdit Modeli Şablonu'dur. Genel modeller için açılan menüden SDL TM Bilgi Bankası'nı seçin. Kendi şablonunuzu oluşturmak veya tüm kullanıcılar için yeni bir şablon göndermek mi istiyorsunuz? Daha fazla bilgi edinmek için Şablon Deposu GitHub Sayfamıza göz atın
Model Açma

Önceden kaydedilmiş tehdit modellerini açar. Son Açılan Modeller özelliği, en son dosyalarınızı açmanız gerekiyorsa harikadır. Seçimin üzerine geldiğinizde modelleri açmanın 2 yolunu bulursunuz:

  • Bu Bilgisayardan Aç – yerel depolamayı kullanarak bir dosyayı açmanın klasik yolu
  • OneDrive'dan açın: Ekipler, üretkenliği ve işbirliğini artırmaya yardımcı olmak üzere tüm tehdit modellerini tek bir konumda kaydetmek ve paylaşmak için OneDrive'daki klasörleri kullanabilir

Başlarken Kılavuzu Microsoft Tehdit Modelleme Aracı ana sayfasını açar

Şablon bölümü

Bileşen Ayrıntılar
Yeni Şablon Oluştur Üzerinde derlemeniz için boş bir şablon açar. Sıfırdan şablon oluşturma konusunda kapsamlı bilginiz yoksa, mevcut şablonlardan derlemenizi öneririz
Şablonu Aç Değişiklik yapmanız için mevcut şablonları açar

Tehdit Modelleme Aracı ekibi, araç işlevselliğini ve deneyimini geliştirmek için sürekli çalışmaktadır. Yıl boyunca birkaç küçük değişiklik gerçekleşebilir, ancak tüm önemli değişiklikler kılavuzda yeniden yazılmasını gerektirir. En son duyuruları aldığınızdan emin olmak için sık sık buna başvurun.

Model oluşturma

Bu bölümde şunları takip ediyoruz:

  • Cristina (geliştirici)
  • Ricardo (program yöneticisi) ve
  • Ashish (testçi)

İlk tehdit modellerini geliştirme sürecinden geçiyorlar.

Ricardo: Merhaba Cristina, tehdit modeli diyagramı üzerinde çalıştım ve ayrıntıları doğru yaptığımızdan emin olmak istedim. Bakmama yardım eder misin? Kesinlikle. Şimdi bir göz atalım. Ricardo aracı açar ve ekranını Cristina ile paylaşır.

Basic Threat Model

Tamam, basit görünüyor, ama bana yol gösteremez misin? Ricardo: Elbette! Döküm şu şekildedir:

  • İnsan kullanıcımız bir dış varlık (kare) olarak çizilir
  • Web sunucumuza (daire) komut gönderiyorlar
  • Web sunucusu bir veritabanına danışılıyor (iki paralel çizgi)

Ricardo'nın Cristina'ya gösterdiği şey, Veri Akışı Diyagramı'nın kısaltması olan bir DFD' dir. Tehdit Modelleme Aracı, kullanıcıların farklı varlıkların denetimin neresinde olduğunu göstermek için kırmızı noktalı çizgiyle gösterilen güven sınırlarını belirtmesine olanak tanır. Örneğin, BT yöneticileri kimlik doğrulaması amacıyla bir Active Directory sistemi gerektirir, bu nedenle Active Directory kendi denetimlerinin dışındadır.

Bana doğru göründü. Peki ya tehditler? Sana göstereyim.

Tehditleri analiz etme

Simge menüsü seçiminden (büyüteçli dosya) analiz görünümüne tıkladıktan sonra, STRIDE (Kimlik Sahtekarlığı, Kurcalama, İnkar, Bilgilerin Açığa Çıkması, Hizmet Reddi ve AyrıcalıkLarın Yükseltilmesi) adlı SDL yaklaşımını kullanan varsayılan şablona dayalı olarak bulunan Tehdit Modelleme Aracı'nın oluşturduğu tehditler listesine alınır. Buradaki fikir, yazılımın bu 6 kategori kullanılarak bulunabilen öngörülebilir bir tehdit kümesinin altında olmasıdır.

Bu yaklaşım, alarm sistemi eklemeden veya hırsızın peşinden koşmadan önce her kapı ve pencerenin bir kilitleme mekanizması olmasını sağlayarak evinizin güvenliğini sağlamaya benzer.

Basic Threats

Ricardo, listedeki ilk öğeyi seçerek başlar. Şöyle olur:

İlk olarak, iki kalıp arasındaki etkileşim iyileştirilmiştir

Screenshot shows two stencils and the curved arrow connecting them in a heavier weight of line.

İkincisi, tehditle ilgili ek bilgiler Tehdit Özellikler penceresi

Screenshot shows the Threat Properties window, which contains Title, Category, Description, Interaction, and Priority.

Oluşturulan tehdit, olası tasarım kusurlarını anlamasına yardımcı olur. STRIDE kategorisi ona olası saldırı vektörleri hakkında bir fikir verirken, ek açıklama ona tam olarak neyin yanlış olduğunu ve bunu azaltmanın olası yollarını bildirir. Kuruluşunuzun hata çubuğuna bağlı olarak gerekçe ayrıntılarına not yazmak veya öncelik derecelendirmelerini değiştirmek için düzenlenebilir alanları kullanabilir.

Azure şablonları, kullanıcıların yalnızca neyin yanlış olduğunu anlamalarına yardımcı olmak için ek ayrıntılara ek olarak Azure'a özgü belgelere açıklamalar, örnekler ve köprüler ekleyerek bunu nasıl düzelteceklerini de içerir.

Açıklama, kullanıcıların sahtekarlık yapmasını önlemek için bir kimlik doğrulama mekanizması eklemenin önemini fark etmesini sağladı ve üzerinde çalışılacak ilk tehdidi ortaya çıkardı. Cristina ile tartışmaya birkaç dakika girdiler, erişim denetimi ve rolleri uygulamanın önemini anladılar. Ricardo, bunların uygulandığından emin olmak için bazı hızlı notlar doldurdu.

Ricardo, Bilgilerin Açığa Çıkması altında tehditlere girdikçe erişim denetimi planının denetim ve rapor oluşturma için bazı salt okunur hesaplar gerektirdiğini fark etti. Bunun yeni bir tehdit olup olmadığını merak ediyor, ancak azaltmalar aynıydı, bu nedenle de tehdidi buna göre not etti. Ayrıca bilgilerin açığa çıkması hakkında biraz daha fazla düşündü ve yedekleme bantlarının şifrelemeye ihtiyacı olacağını fark etti, operasyon ekibi için bir iş.

Mevcut risk azaltmaları veya güvenlik garantileri nedeniyle tasarım için geçerli olmayan tehditler Durum açılan listesinden "Uygulanamaz" olarak değiştirilebilir. Üç seçenek daha vardır: Başlatılmadı – varsayılan seçim, Araştırma Gerekiyor – öğeleri izlemek için kullanılır ve Risk Azaltıldı – tam olarak üzerinde çalışıldıktan sonra.

Raporlar ve paylaşım

Ricardo, Cristina ile birlikte listeyi gözden geçirip önemli notlar, risk azaltmalar/gerekçeler, öncelik ve durum değişiklikleri ekledikten sonra Raporlar -> Tam Rapor Oluştur -> Raporu Kaydet'i seçer ve uygun güvenlik çalışmasının uygulandığından emin olmak için iş arkadaşlarıyla birlikte çalışması için güzel bir rapor yazdırır.

Screenshot shows a representative Threat Modeling Report.

Ricardo bunun yerine dosyayı paylaşmak istiyorsa, bunu kuruluşunun OneDrive hesabına kaydederek kolayca yapabilir. Bunu yaptıktan sonra belge bağlantısını kopyalayıp iş arkadaşlarıyla paylaşabilir.

Tehdit modelleme toplantıları

Ricardo tehdit modelini OneDrive'ı kullanarak iş arkadaşına gönderdiğinde test eden Ashish'in adı yetersizdi. Ricardo ve Cristina kolayca ele geçirilebilen birkaç önemli köşe davalarını kaçırdılar gibi görünüyordu. Şüpheciliği tehdit modellerinin tamamlayıcısı.

Bu senaryoda Ashish tehdit modelini devraldıktan sonra iki tehdit modelleme toplantısına çağrıda bulundu: süreçle ilgili eşitlenecek bir toplantı ve diyagramları gözden geçirmek ve ardından tehdit incelemesi ve oturumu kapatmak için ikinci bir toplantı.

İlk toplantıda Ashish, SDL tehdit modelleme sürecinde herkesi gezdirerek 10 dakika geçirdi. Ardından tehdit modeli diyagramını çekti ve ayrıntılı olarak açıklamaya başladı. Beş dakika içinde önemli bir eksik bileşen belirlendi.

Birkaç dakika sonra Ashish ve Ricardo, Web sunucusunun nasıl oluşturulduğuna ilişkin genişletilmiş bir tartışmaya girdi. Toplantının devam edebilmesi için ideal bir yol değildi, ancak herkes sonunda tutarsızlığı erken keşfetmenin gelecekte onlara zaman kazandıracağını kabul etti.

İkinci toplantıda, ekip tehditlerin üzerinden geçti, bunları ele almanın bazı yollarını tartıştı ve tehdit modelinin oturumunu kapattı. Belgeyi kaynak denetimine denetlediler ve geliştirmeye devam ettiler.

Varlıklar hakkında düşünme

Tehdit modellemesi yapan bazı okuyucular varlıklar hakkında hiç konuşmadığımız fark edebilir. Birçok yazılım mühendisinin yazılımlarını varlık kavramını ve saldırganın ilgilenebileceği varlıkları anlamalarından daha iyi anladığını keşfettik.

Bir evi tehdit modelleyecekseniz, ailenizi, yeri doldurulamaz fotoğrafları veya değerli sanat eserlerini düşünerek başlayabilirsiniz. Belki de kimlerin ve geçerli güvenlik sistemini kırabileceğini düşünerek başlayabilirsiniz. Ya da havuz veya ön sundurma gibi fiziksel özellikleri göz önünde bulundurarak başlayabilirsiniz. Bunlar varlıklar, saldırganlar veya yazılım tasarımı hakkında düşünmeye benzer. Bu üç yaklaşımdan herhangi biri çalışır.

Burada sunduğumuz tehdit modelleme yaklaşımı, Microsoft'un geçmişte yaptığı işlemlerden çok daha basittir. Yazılım tasarımı yaklaşımının birçok ekip için iyi çalıştığını bulduk. Umarız sizinki de buna dahildir.

Sonraki Adımlar

Sorularınızı, yorumlarınızı ve endişelerinizi adresine tmtextsupport@microsoft.comgönderin. Başlamak için Tehdit Modelleme Aracı'nı indirin .