Tehdit analizi önerileri

Bu Azure İyi Tasarlanmış Çerçeve Güvenliği denetim listesi önerisi için geçerlidir:

SE:02 Sağlamlaştırılmış, çoğunlukla otomatik ve denetlenebilir bir yazılım tedarik zinciri kullanarak güvenli bir geliştirme yaşam döngüsünü koruyun. Güvenliği bozan uygulamalara karşı koruma sağlamak için tehdit modellemesini kullanarak güvenli bir tasarım ekleyin.

İlgili kılavuz: Geliştirme yaşam döngüsünün güvenliğini sağlamaya yönelik öneriler

Bir iş yükünün tasarım aşamasında tehditleri, saldırıları, güvenlik açıklarını ve karşı önlemleri belirlemeye yönelik kapsamlı bir analiz çok önemlidir. Tehdit modellemesi , güvenlik gereksinimlerini tanımlamayı, tehditleri tanımlamayı ve azaltmayı ve bu azaltmaları doğrulamayı içeren bir mühendislik alıştırmasıdır. Bu tekniği uygulama geliştirme veya üretimin herhangi bir aşamasında kullanabilirsiniz, ancak yeni işlevlerin tasarım aşamalarında en etkili yöntemdir.

Bu kılavuzda, güvenlik açıklarını hızla belirleyebilmeniz ve güvenlik savunmalarınızı tasarlamanız için tehdit modellemesi yapma önerileri açıklanmaktadır.

Tanımlar 

Terim Tanım
Yazılım geliştirme yaşam döngüsü (SDLC) Yazılım sistemleri geliştirmek için çok aşamalı, sistematik bir süreç.
ADIM Tehdit türlerini kategorilere ayırmak için Microsoft tarafından tanımlanan bir taksonomi.
Tehdit modelleme Uygulama ve sistemdeki olası güvenlik açıklarını belirleme, riskleri azaltma ve güvenlik denetimlerini doğrulama süreci.

Temel tasarım stratejileri

Tehdit modelleme, bir kuruluşun SDLC ile tümleştirilmesi gereken önemli bir süreçtir. Tehdit modelleme yalnızca bir geliştiricinin görevi değildir. Bu, şuler arasında paylaşılan bir sorumluluktır:

  • Sistemin teknik yönlerinden sorumlu olan iş yükü ekibi.
  • İş sonuçlarını anlayan ve güvenliğe ilgi duyan iş paydaşları.

Kritik iş yükleri için iş gereksinimleriyle ilgili olarak genellikle kurumsal liderlik ve teknik ekipler arasında bir bağlantı kesiliyor. Bu bağlantı kesilmesi, özellikle güvenlik yatırımları için istenmeyen sonuçlara yol açabilir.

İş yükü ekibi tehdit modelleme alıştırması yaparken hem iş hem de teknik gereksinimleri dikkate almalıdır. İş yükü ekibi ve iş paydaşlarının, karşı önlemlere uygun yatırımlar yapabilmeleri için iş yükünün güvenliğe özgü ihtiyaçları üzerinde anlaşmaları gerekir.

Güvenlik gereksinimleri, tehdit modelleme sürecinin tamamı için kılavuz görevi görür. Bunu etkili bir alıştırma yapmak için iş yükü ekibinin bir güvenlik zihniyetine sahip olması ve tehdit modelleme araçları konusunda eğitilmesi gerekir.

Alıştırmanın kapsamını anlama

Kapsamın net bir şekilde anlaşılması, etkili tehdit modellemesi için çok önemlidir. Çalışmalara ve kaynaklara en kritik alanlara odaklanmaya yardımcı olur. Bu strateji, sistemin sınırlarını tanımlamayı, korunması gereken varlıkların envanterini almayı ve güvenlik denetimlerinde gerekli olan yatırım düzeyini anlamayı içerir.

Her bileşen hakkında bilgi toplama

İş yükü mimarisi diyagramı, sistemin görsel bir gösterimini sağladığından bilgi toplamaya yönelik bir başlangıç noktasıdır. Diyagramda sistemin teknik boyutları vurgulanır. Örneğin, kullanıcı akışlarını, verilerin ağ üzerinden nasıl taşıntığını, veri duyarlılığı düzeylerini ve bilgi türlerini ve kimlik erişim yollarını gösterir.

Bu ayrıntılı analiz genellikle tasarımdaki olası güvenlik açıklarına ilişkin içgörüler sağlayabilir. Her bileşenin işlevselliğini ve bağımlılıklarını anlamak önemlidir.

Olası tehditleri değerlendirme

Her bileşeni dışarıdan bir perspektiften analiz edin. Örneğin, bir saldırgan hassas verilere ne kadar kolay erişebilir? Saldırganlar ortama erişim elde ederse, daha sonra hareket edebilir ve potansiyel olarak diğer kaynaklara erişebilir veya hatta başka kaynaklara işleyebilir mi? Bu sorular, bir saldırganın iş yükü varlıklarından nasıl yararlanabileceğini anlamanıza yardımcı olur.

Sektör metodolojisini kullanarak tehditleri sınıflandırma

Tehditleri sınıflandırmak için kullanılan yöntemlerden biri, Microsoft Güvenlik Geliştirme Yaşam Döngüsü tarafından kullanılan STRIDE yöntemidir. Tehditleri sınıflandırmak, her tehdidin doğasını anlamanıza ve uygun güvenlik denetimlerini kullanmanıza yardımcı olur.

Tehditleri azaltma

Tanımlanan tüm tehditleri belgele. Her tehdit için güvenlik denetimlerini ve bu denetimler başarısız olursa bir saldırının yanıtını tanımlayın. İş yükünde tanımlanan güvenlik açıklarının açığa çıkarılma durumunu en aza indiren bir süreç ve zaman çizelgesi tanımlayın; böylece bu güvenlik açıkları gereksiz bırakılamaz.

İhlal varsay yaklaşımını kullanın. Birincil güvenlik denetimi başarısız olursa riski azaltmak için tasarımda gerekli denetimleri belirlemeye yardımcı olabilir. Birincil denetimin başarısız olma olasılığını değerlendirin. Başarısız olursa, olası kuruluş riskinin kapsamı nedir? Ayrıca telafi denetiminin etkinliği nedir? Değerlendirmeye bağlı olarak, güvenlik denetimlerinin olası hatalarını gidermek için derinlemesine savunma önlemleri uygulayın.

Bir örnek aşağıda verilmiştir:

Bu soruyu sorun Bu denetimleri belirlemek için...
Karşılıklı kimlik doğrulaması ile Microsoft Entra Kimliği, Aktarım Katmanı Güvenliği (TLS) veya güvenlik ekibinin onayladığı başka bir modern güvenlik protokolü aracılığıyla kimlik doğrulaması yapılan bağlantılar şunlardır:

- Kullanıcılar ve uygulama arasında mı?

- Uygulama bileşenleri ve hizmetler arasında mı?
Uygulama bileşenlerine ve verilerine yetkisiz erişimi engelleyin.
Erişimi yalnızca uygulamadaki verileri yazması veya değiştirmesi gereken hesaplara mı sınırlandırıyorsunuz? Yetkisiz verilerin değiştirilmesini veya değiştirilmesini önleyin.
Uygulama etkinliği Azure İzleyici aracılığıyla bir güvenlik bilgileri ve olay yönetimi (SIEM) sistemine mi yoksa benzer bir çözüme mi kaydedilip besleniyor? Saldırıları hızla algılayın ve araştırın.
Kritik veriler güvenlik ekibinin onayladığı şifrelemeyle korunuyor mu? Bekleyen verilerin yetkisiz olarak kopyalanmasını önleyin.
Gelen ve giden ağ trafiği TLS aracılığıyla şifreleniyor mu? Aktarımdaki verilerin yetkisiz olarak kopyalanmasını önleyin.
Uygulama, Azure DDoS Koruması gibi hizmetler aracılığıyla yapılan dağıtılmış hizmet reddi (DDoS) saldırılarına karşı korunuyor mu? Kullanılamaması için uygulamayı aşırı yüklemek için tasarlanmış saldırıları algılayın.
Uygulama diğer uygulamalara, veritabanlarına veya hizmetlere erişmek için oturum açma kimlik bilgilerini veya anahtarlarını depolar mı? Bir saldırının uygulamanızı diğer sistemlere saldırmak için kullanıp kullanamayacağını belirleyin.
Uygulama denetimleri mevzuat gereksinimlerini karşılamanıza olanak sağlıyor mu? Kullanıcıların özel verilerini koruyun ve uyumluluk cezalarından kaçının.

Tehdit modelleme sonuçlarını izleme

Tehdit modelleme aracı kullanmanızı kesinlikle öneririz. Araçlar, tehditleri tanımlama sürecini otomatikleştirebilir ve tanımlanan tüm tehditlerin kapsamlı bir raporunu oluşturabilir. Sonuçları tüm ilgili takımlara ileterek emin olun.

Sorumluluğu zamanında sağlamak için iş yükü ekibinin kapsamı kapsamında sonuçları izleyin. Tehdit modellemenin tanımlamış olduğu belirli bir riski azaltmakla sorumlu kişilere görevler atayın.

Çözüme yeni özellikler eklerken tehdit modelini güncelleştirin ve kod yönetimi işlemiyle tümleştirin. Bir güvenlik sorunu bulursanız, sorunu önem derecesine göre önceliklendirmeye yönelik bir işlem olduğundan emin olun. İşlem, sorunun ne zaman ve nasıl düzeltileceğini belirlemenize yardımcı olmalıdır (örneğin, sonraki sürüm döngüsünde veya daha hızlı bir sürümde).

İş açısından kritik iş yükü gereksinimlerini düzenli olarak gözden geçirme

Gereksinimleri tanımlamak için yönetici sponsorlarıyla düzenli olarak toplantılar. Bu incelemeler, beklentileri uyumlu hale getirme ve girişime operasyonel kaynak ayırma olanağı sağlar.

Azure kolaylaştırma

Microsoft Güvenlik Geliştirme Yaşam Döngüsü, tehdit modelleme işlemine yardımcı olacak bir tehdit modelleme aracı sağlar. Bu araç ek ücret ödemeden kullanılabilir. Daha fazla bilgi için Tehdit Modelleme sayfasına bakın.

Örnek

Bu örnek, güvenlik temelinde (SE:01) oluşturulan Bilgi Teknolojisi (BT) ortamını temel alır. Bu yaklaşım, farklı BT senaryolarında tehdit ortamının kapsamlı bir şekilde anlaşılmasını sağlar.

Bir kuruluşun güvenlik temelinin tehdit ortamıyla bir örneğini gösteren diyagram.

  1. Geliştirme Yaşam Döngüsü kişilikleri. Geliştiriciler, test ediciler, son kullanıcılar ve yöneticiler dahil olmak üzere geliştirme yaşam döngüsünde yer alan birçok kişi vardır. Bunların tümü tehlikeye girebilir ve kasıtlı olarak oluşturulan güvenlik açıkları veya tehditler aracılığıyla ortamınızı riske atabilir.

  2. Olası saldırganlar. Saldırganlar, güvenlik açıklarınızı keşfetmek ve bir saldırı başlatmak için her zaman kolayca kullanılabilecek çok çeşitli araçları göz önünde bulundurmaktadır.

  3. Güvenlik denetimleri. Tehdit analizi kapsamında, çözümünüzü korumak için kullanılacak Azure güvenlik hizmetlerini ve bu çözümlerin ne kadar etkili olduğunu belirleyin.

  4. Günlük koleksiyonu. Azure kaynaklarından ve bazı şirket içi bileşenlerden gelen günlükler Azure Log Analytics'e gönderilebilir, böylece çözümünüzün geliştirdiği davranışı anlayabilir ve ilk güvenlik açıklarını yakalamaya çalışabilirsiniz.

  5. Güvenlik bilgileri olay yönetimi (SIEM) çözümü. Microsoft Sentinel, çözümün erken bir aşamasında bile eklenebilir, böylece tehditleri ve güvenlik açıklarını azaltmak için analiz sorguları oluşturabilir ve üretim aşamasındayken güvenlik ortamınızı tahmin edebilirsiniz.

  6. Bulut için Microsoft Defender güvenlik duruşunu geliştirmek için bazı güvenlik önerilerinde bulunabilirsiniz.

Open Web Application Security Project (OWASP), uygulamalar için bir tehdit modelleme yaklaşımını belgelemiştir.

Güvenlik denetim listesi

Öneriler kümesinin tamamına bakın.