Uygulama Tehdit Modellemesi v2

Frank Swiderski ve Window Snyder tarafından tehdit modeli uzun zamandır İncil'i tehdit eden tehdit modeli ve haklı olarak da öyle. Geleneksel Tehdit modellemesi, veri akış şemalarının, girdilerin kodla `` dokunduğu '' noktaları bulmak için kullanıldığı bir yazılım geliştirme yaşam döngüsü sürecidir.

 Esasen süreç şu şekildeydi: à ¢ ¢ à ¢,  ¢ Düşmanın Görüşlerini Anlayın o Entery Puanları o Varlıklar o Güven Düzeyleri à ¢ ¢ à ¢,  ¢ Sistem Güvenliğini Karakterize Edin o Senaryoları Kullanın o Varsayımlar / Bağımlılıklar o Sistemin Modellenmesi à ¢ ¢ à ¢, ‚ ¢ Tehditleri Belirleyin o Tehditleri Belirleyin o Tehditleri Analiz Edin o Güvenlik Açıklarını Belirleyin 
Bu geleneksel yaklaşımda Tehditler, öncelikle uygulamaların giriş noktalarını, güven seviyelerini ve ilgili varlıkları anlayarak belirlenir. Bu öğeleri, yazılım aracılığıyla daha önce belirlenen varlıklara kadar tüm giriş noktalarından veri izlemek için bir veri akışı yaklaşımı kullanarak keşfetti.

Bu, bir sistemi zayıflıklar açısından incelemenin sistematik bir yolu olmakla birlikte, tamamen uygulamaya karşı olumsuz bir yaklaşıma dayanmaktadır. Bir uygulamayı bu şekilde Tehdit Modeline sokmaya çalışmanın temel sorunlarından biri, geliştiricilerin ve mimarların uygulamanın nasıl kullanılacağı ve yaklaşılacağıyla ilgili varsayımlara sahip olma eğilimindedir.

Geliştiriciye ne kadar eğitim veya talimat verirseniz verin, bir kullanıcı olarak, kullanıcıların uygulama ile nasıl etkileşime gireceğine dair varsayımlar hakkında bildiklerini 'öğrenemezler'. Bu, uygulamaya zarar vermenin yollarını keşfetmeye çalışırken kararlarını bulanıklaştıracaktır.

Diğer bir sorun da geliştiricilerin Güvenlik Konusu Uzmanları haline gelmeleri gerektiğidir. Kodun zayıf alanlarını tanımlamak için bu teknikleri uygulamak için uygulamaya saldırabileceğiniz her yolu bilmelidirler. Tam zamanlı işiniz olduğunda ortaya çıkan tüm saldırı yöntemlerini takip etmek yeterince zordur ve kodunu yazmaya zaman ayırmak zorunda kalan biri için neredeyse imkansızdır. Bunu yapamayacakları değil, sadece zamanları yok.

Bu, kısmen, Microsoft'taki Uygulama Danışmanlığı ve Mühendisliği (ACE) ekibinin Tehdit modellemesi uygulamasını tekrar gözden geçirmesine yol açtı. Ortaya koydukları şey ACE Tehdit modellemesi. Bu, Microsoft'un dahili olarak bir yıldan fazla bir süredir kullandığı metodolojidir.

ACE TM bir savunucunun bakış açısına dayanır. Saldırılara değil, Tehditlere odaklanır. Geleneksel TM yönteminde, saldırılara odaklanıldı. Olası saldırıları keşfederek bir tehdidi ortaya çıkardınız. Yeni ACE TM'de, bir savunucunun bakış açısından tehditlere odaklanıyorsunuz.

Savunucu, sisteme yönelik tehditleri anlamak için özellikle iyi bir konumdadır. Ürünü oluşturan insanlar üründe neyin önemli olduğunu ve bu önemli şeylere nasıl erişildiğini bilirler. Saldırgan, proje ekibinin yanı sıra proje ekibi için neyin önemli olduğunu asla bilemez.

ACE TM'nin iyi çalışmasını sağlayan birkaç temel fikri vardır. Birincisi, olumsuz bir ticari etki gerçekleştirilemezse bir şeyin tehdit olmamasıdır. Örneğin, Müşteri Kredi Kartı numaralarından ödün vermek bir tehdittir. Bu gerçekleşirse ciddi ve ölçülebilir olumsuz iş etkisi vardır.

Geleneksel TM yöntemlerinde Tehdit olarak modelleyebileceğiniz bazı şeyler gerçek tehditler değildi. Örneğin, aşırı uzun bir dize, yöntemin bir istisna oluşturmasına ve girdinin reddedilmesine neden olabilir. Bu ilginç olsa da, bir saldırgan istisna bilgilerini ifşa edip edemeyeceğini görmek için bunu deneyebilir, burada iş üzerinde olumsuz bir etkisi yoktur. Bu bir tehdit değil. Potansiyel bir saldırı olabilir, ancak uygulama veya iş için bir tehdit değildir.

Tehditler ve Saldırılar arasındaki bu açık ayrım, bir uygulamada mevcut tehditlerin derinlemesine anlaşılması için önemlidir.

Yeni ACE TM ayrıca tehditlerin belirlenmesine biraz farklı yaklaşıyor. Her şeyden önce bu tehditlerin uygulanabileceği bağlam tanımlanmalıdır. Bu, Uygulama Bağlamı olarak bilinir. Uygulama Bağlamı, uygulamanın Veri, Roller, Bileşenler ve isteğe bağlı olarak Harici Bağımlılıklar'a bölünmesiyle belirlenir.

ACE TM metodolojisindeki normal adımlar şunlardır:

Bağlamı tanımladıktan sonra, olası Çağrıları numaralandıran Kullanım Örnekleri oluşturursunuz. Aramalar, bir öznenin bir nesneyle nasıl etkileşime girdiğidir. Bunun için bir formül var:

Arayan Bileşene Göre Eylem Yürütüyor
Örneğin:
Kayıtlı Kullanıcı Sipariş Verilerini Web Sitesine Göre Yürütür
Bu çağrılar, gerçek Tehditlerinizi nasıl belirlediğinizin özüdür.

Tehditler, izin verilebilir eylemlerin sistematik olarak bozulması olarak tanımlanır. Tehditler, Güvenlik AIC üçlüsü tarafından kategorize edilir. Kullanılabilirlik, Dürüstlük ve Gizlilik. Örneğin, yukarıdaki örneğimizden bir Dürüstlük Tehdidi şöyle olacaktır:
Kayıtlı Kullanıcı tarafından Web Sitesi Kullanarak Sipariş Verilerinin Yasadışı Yürütülmesi

Bu tehditlerin risk değerlendirmesi ve güvenlik sınıflandırması için dahil etme / hariç tutma modeline dayandığını unutmayın. Kapsama dahil olanları listeleriz ve diğer her şey hariç tutulmalıdır. Bu nedenle bu metodoloji, tehdit bağlamında uygulama bağlamından türetilen çağrılara odaklanmaktadır.

Bu yaklaşımı tutarlı kılan, tehditleri türetmenin bu çok sistematik yoludur. Bu yöntemle ilgili en önemli şeylerden biri, güvenlik KOBİ'si olmayan geliştiriciler, mimarlar ve işletme sahipleri tarafından gerçekleştirilebilmesidir.

Metodoloji ayrıca Saldırı Kitaplıklarını da içerir. Tehditler üretildiğinde, Saldırı Kitaplığı, söz konusu tehdide yönelik saldırı türlerini azaltmak için kullanılır. Saldırı Kitaplıkları, Güvenlik KOBİ'leri tarafından korunur ve optimize edilir. Geliştiriciler ve mimarlar sadece güvenlik uzmanı olmak zorunda kalmadan uygulamak zorundadırlar.

Neyse ki, tüm bunları yapmak için kullanabileceğimiz, Attack Library'den gelen önlemlerle tamamlanmış uygulama içeriğimize dayalı tehditleri otomatik olarak oluşturmak da dahil olmak üzere, ufukta çok güzel bir araç var.

Bu, yeni ACE TM 'ye buzdağının girişinin bir ipucu oldu. Önümüzdeki haftalarda yeni ACE Tehdit Modelleme Metodolojisi hakkında daha fazla bilgi edineceğim.

© Copyright 2020 | mobilegn.com