WPF Güvenlik Stratejisi - Güvenlik Mühendisliği

Güvenilir bilgi Işlem, güvenli kod üretimi sağlamaya yönelik bir Microsoft girişimidir. Güvenilir bilgi Işlem girişiminin önemli bir öğesi Microsoft Security Development Lifecycle (SDL). SDL, güvenli kod teslimini kolaylaştırmak için standart MÜHENDİSLİK süreçleriyle birlikte kullanılan bir mühendislik uygulamasıdır. SDL, en iyi yöntemleri formalization, measurability ve ek yapıyla birleştiren on aşamadan oluşur; örneğin:

  • Güvenlik tasarımı Analizi

  • Araç tabanlı kalite denetimleri

  • Sızma testi

  • Son güvenlik incelemesi

  • Yayın sonrası ürün güvenlik yönetimi

WPF özellikleri

WPF mühendislik ekibi, aşağıdaki anahtar yönlerini de kapsayan, SDL 'yi uygular ve genişletir:

Tehdit modelleme

Güvenlik analizi ve Düzen araçları

Test teknikleri

Kritik kod yönetimi

Tehdit modelleme

Tehdit modellemesi, SDL 'nin temel bir bileşenidir ve olası güvenlik açıklarını tespit etmek üzere bir sistemin profilini almak için kullanılır. Güvenlik açıkları tanımlandıktan sonra, tehdit modelleme uygun azaltmaları da sağlar.

Tehdit modellemesi, yüksek düzeyde bir market mağaza kullanarak bir örnek olarak aşağıdaki temel adımları içerir:

  1. Varlıkları tanımlama. Market mağazalarının varlıkları çalışanlar, güvenli, nakit kayıtları ve envanter içerebilir.

  2. Giriş noktaları numaralandırılıyor. Market 'in giriş noktaları, ön ve arka kapılar, pencereler, yükleme rampası ve AIR koşullandırma birimlerini içerebilir.

  3. Giriş noktalarını kullanarak varlıklara karşı saldırıları araştırma. Olası bir saldırı, bir Market giriş noktası aracılığıyla Market 'in güvenli varlığını hedefleyebilir; Havalandırma birimi, güvenli bir şekilde ve mağaza 'dan çekilme izni vermek için unvidalı olabilir.

Tehdit modellemesi WPF genelinde uygulanır ve şunları içerir:

  • XAML ayrıştırıcısı dosyaları okur, metni ilgili nesne modeli sınıflarıyla eşleştirir ve gerçek kodu oluşturur.

  • Pencere tanıtıcısının (hWnd) nasıl oluşturulduğu, ileti gönderdiği ve bir pencerenin içeriğini işlemek için kullanılan.

  • Veri bağlama, kaynakları nasıl edinir ve sistemle etkileşime girer.

Bu tehdit modelleri, geliştirme sürecinde güvenlik tasarımı gereksinimlerini ve tehdit azaltmalarını belirlemek için önemlidir.

Kaynak çözümleme ve Düzen araçları

SDL 'nin el ile güvenlik kodu İnceleme öğelerine ek olarak, WPF ekibi, güvenlik açıklarını azaltmak için kaynak analizine ve ilişkili düzenlemelere yönelik çeşitli araçlar kullanır. Çok çeşitli kaynak araçları kullanılır ve şunları içerir:

  • FxCop: Yönetilen koddaki, devralma kurallarından, yönetilmeyen kod ile güvenli bir şekilde birlikte çalışma ile kod erişimi güvenlik kullanımı arasındaki yaygın güvenlik sorunlarını bulur. Bkz. FxCop.

  • Önek/PREfast: arabellek aşımları, biçim dizesi sorunları ve hata denetimi gibi yönetilmeyen koddaki güvenlik açıklarını ve genel güvenlik sorunlarını bulur.

  • Yasaklanmış API 'ler: gibi güvenlik sorunlarına neden olmak üzere iyi bilinen işlevlerin yanlışlıkla kullanımını belirlemek için kaynak kodu arar . Tanımlandıktan sonra, bu işlevler daha güvenli olan alternatifler ile değiştirilmiştir.

Test teknikleri

WPF aşağıdakiler dahil olmak üzere çeşitli güvenlik testi teknikleri kullanır:

  • Beyaz kutu testi: test ediciler kaynak kodunu görüntüler ve ardından Exploit testlerini oluşturur.

  • Kara kutu testi: test edenler, API ve özellikleri inceleyerek güvenlik açıklarını bulmaya çalışır ve ardından ürüne saldırmayı dener.

  • Diğer ürünlerden güvenlik sorunlarını gerileme: ilgili ürünlerden ilgili olan güvenlik sorunları test edilir. Örneğin, Internet Explorer için yaklaşık 60 güvenlik sorunlarının uygun çeşitleri tanımlanmış ve WPF üzerinde uygulanabilirliğini denedi.

  • Dosya belirsizlik aracılığıyla araçlara dayalı sızma testi: dosya bulanık hale getirme, çeşitli girişler aracılığıyla bir dosya okuyucusunun giriş aralığından yararlanılır. WPF 'de bu tekniğin kullanıldığı bir örnek, görüntü kod çözme kodunda hata olup olmadığını denetmektir.

Kritik kod yönetimi

XAML tarayıcı uygulamaları (xbap) için wpf, ayrıcalıkları destekleyen güvenlik açısından kritik kodu işaretleme ve izleme için .NET Framework desteğini kullanarak bir güvenlik korumalı alanı oluşturur (bkz.WPF güvenlik stratejisi-Platform güvenliği). Güvenlik açısından kritik kodda yüksek güvenlik kalitesi gereksinimleri verilince, bu kod, ek bir kaynak yönetimi denetimi ve güvenlik denetimi düzeyi alır. WPF 'in yaklaşık %5 ' e kadar %10 ' u, özel bir gözden geçirme ekibi tarafından gözden geçirilen güvenlik açısından kritik koddan oluşur. Kaynak kodu ve iade işlemi, güvenlik açısından kritik kodu izleyerek ve her kritik varlıkla (kritik kod içeren bir yöntem) oturum kapatma durumuna eşlenerek yönetilir. Kaydolma durumu, bir veya daha fazla gözden geçiren adını içerir. Her bir WPF derlemesi, onaylanmamış değişiklikleri denetlemek için kritik kodu önceki Derlemeleriyle karşılaştırır. Bir mühendis İnceleme ekibinden onay olmadan kritik kodu değiştirirse, bu, hemen belirtilir ve düzeltilir. Bu işlem, WPF Sandbox kodu üzerinden özellikle yüksek düzeyde bir uygulama ve bakım yapmanızı mümkün bir şekilde sunar.

Ayrıca bkz.