Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Godne zaufania przetwarzanie to inicjatywa firmy Microsoft umożliwiająca zapewnienie produkcji bezpiecznego kodu. Kluczowym elementem inicjatywy Trustworthy Computing jest cykl projektowania zabezpieczeń firmy Microsoft (SDL). SDL to praktyka inżynieryjna używana w połączeniu ze standardowymi procesami inżynieryjnymi w celu ułatwienia dostarczania bezpiecznego kodu. SDL składa się z dziesięciu faz, które łączą najlepsze rozwiązania z formalizacją, miasurability i dodatkową strukturą, w tym:
Analiza projektu zabezpieczeń
Testy jakości oparte na narzędziach
Testy penetracyjne
Ostateczny przegląd zabezpieczeń
Zarządzanie bezpieczeństwem produktów po wydaniu
Specyfika WPF
Zespół inżynierów WPF stosuje i rozszerza SDL, co obejmuje następujące kluczowe aspekty:
Narzędzia do analizy zabezpieczeń i edytowania
Modelowanie zagrożeń
Modelowanie zagrożeń jest podstawowym składnikiem języka SDL i służy do profilowania systemu w celu określenia potencjalnych luk w zabezpieczeniach. Po zidentyfikowaniu luk w zabezpieczeniach modelowanie zagrożeń zapewnia również zastosowanie odpowiednich środków zaradczych.
Na wysokim poziomie modelowanie zagrożeń obejmuje następujące kluczowe kroki przy użyciu sklepu spożywczego jako przykładu:
Identyfikowanie zasobów. Aktywa sklepu spożywczego mogą obejmować pracowników, sejf, kasy fiskalne i zapas towarów.
Wyliczanie punktów wejścia. Punkty wejścia sklepu spożywczego mogą obejmować przednie i tylne drzwi, okna, dok ładowania i klimatyzację.
Badanie ataków na zasoby przy użyciu punktów wejścia. Jednym z możliwych ataków może być atak na sejf sklepu spożywczego poprzez punkt wejścia klimatyzacji. Urządzenie klimatyzacji można odkręcić, aby umożliwić wyciągnięcie sejfu przez nie na zewnątrz sklepu.
Modelowanie zagrożeń jest stosowane w całym WPF i obejmuje następujące elementy:
Jak analizator XAML odczytuje pliki, mapuje tekst na odpowiednie klasy modelu obiektów i tworzy rzeczywisty kod.
Jak tworzony jest uchwyt okna (hWnd), wysyła komunikaty i używa się go do renderowania zawartości okna.
Jak powiązanie danych uzyskuje zasoby i współdziała z systemem.
Te modele zagrożeń są ważne dla identyfikowania wymagań projektowych zabezpieczeń i ograniczania ryzyka zagrożeń podczas procesu programowania.
Narzędzia do analizy źródła i edytowania
Oprócz ręcznego przeglądu kodu zabezpieczeń elementów SDL zespół WPF używa kilku narzędzi do analizy źródła i skojarzonych edycji w celu zmniejszenia luk w zabezpieczeniach. Używany jest szeroki zakres narzędzi źródłowych i obejmuje następujące elementy:
Ostrzeżenie
Zabezpieczenia dostępu kodu (CAS) nie są obsługiwane przez nowoczesną platformę .NET. Jest to pojęcie tylko dla platformy .NET Framework. Wszystkie funkcje związane z usługą CAS są traktowane zgodnie z założeniem pełnego zaufania. Aby uzyskać więcej informacji, zobacz Różnice w zabezpieczeniach dostępu do kodu WPF .NET.
FXCop: znajduje typowe problemy z zabezpieczeniami w kodzie zarządzanym, począwszy od reguł dziedziczenia po użycie zabezpieczeń dostępu do kodu, po sposób bezpiecznego współdziałania z kodem niezarządzanym. Zobacz FXCop.
Prefiks/Prefast: znajduje luki w zabezpieczeniach i typowe problemy z zabezpieczeniami w niezarządzanym kodzie, takie jak przekroczenia buforu, problemy z ciągami formatu i sprawdzanie błędów.
Zakazane interfejsy API: wyszukuje kod źródłowy w celu zidentyfikowania przypadkowego użycia funkcji, które są dobrze znane z powodowania problemów z zabezpieczeniami, takich jak
strcpy. Po zidentyfikowaniu te funkcje są zastępowane alternatywami, które są bezpieczniejsze.
Techniki testowania
WPF używa różnych technik testowania zabezpieczeń, które obejmują:
Testowanie whitebox: Testerzy analizują kod źródłowy, a następnie tworzą testy eksploatacyjne.
Testowanie czarnej skrzynki: testerzy próbują znaleźć luki w zabezpieczeniach, sprawdzając interfejs API i funkcje, a następnie próbują zaatakować produkt.
Regresja problemów z zabezpieczeniami z innych produktów: w stosownych przypadkach są testowane problemy z zabezpieczeniami powiązanych produktów. Na przykład zidentyfikowano odpowiednie warianty około sześciudziesiąt problemów z zabezpieczeniami dla programu Internet Explorer i próbowano zastosować je do platformy WPF.
Tools-Based Testy penetracyjne przez fuzzowanie plików: fuzzowanie plików to wykorzystanie zakresu danych wejściowych czytnika plików przez różnorodne dane wejściowe. Jednym z przykładów w WPF, w którym ta technika jest używana, jest sprawdzenie niepowodzenia w kodzie dekodowania obrazu.
Krytyczne zarządzanie kodem
W przypadku aplikacji przeglądarki XAML (XBAPs) WPF tworzy piaskownicę zabezpieczeń przy użyciu obsługi platformy .NET Framework do oznaczania i śledzenia kodu krytycznego dla zabezpieczeń, który podnosi poziom uprawnień (zobacz Security-Critical Metodologia strategii zabezpieczeń WPF — Zabezpieczenia platformy). Biorąc pod uwagę wymagania dotyczące wysokiej jakości zabezpieczeń kodu krytycznego dla zabezpieczeń, taki kod otrzymuje dodatkowy poziom kontroli zarządzania źródłami i inspekcji zabezpieczeń. Około 5% do 10% WPF składa się z kodu krytycznego dla zabezpieczeń, który jest przeglądany przez dedykowany zespół ds. przeglądu. Kod źródłowy i proces wprowadzania zmian jest zarządzany przez śledzenie kodu krytycznego dla zabezpieczeń i mapowanie każdej jednostki krytycznej (tj. metody zawierającej kod krytyczny) na stan zatwierdzenia. Stan logowania zawiera nazwy co najmniej jednego recenzenta. Każda codzienna kompilacja WPF porównuje krytyczny kod z tym w poprzednich kompilacjach, aby sprawdzić, czy nie zostały zatwierdzone zmiany. Jeśli inżynier modyfikuje kod krytyczny bez zatwierdzenia od zespołu recenzowania, zostanie on zidentyfikowany i naprawiony natychmiast. Ten proces umożliwia stosowanie i konserwację szczególnie wysokiego poziomu kontroli nad kodem piaskownicy WPF.
Ostrzeżenie
XBAPs wymagają obsługi starszych przeglądarek, takich jak Internet Explorer i stare wersje przeglądarki Firefox. Te starsze przeglądarki są zwykle nieobsługiwane w systemach Windows 10 i Windows 11. Nowoczesne przeglądarki nie obsługują już technologii wymaganej dla aplikacji XBAP ze względu na zagrożenia bezpieczeństwa. Wtyczki obsługujące XBAPs nie są już obsługiwane. Aby uzyskać więcej informacji, zobacz często zadawane pytania dotyczące aplikacji hostowanych w przeglądarce WPF (XBAP).
Zobacz także
- Bezpieczeństwo
- Zabezpieczenia częściowego poziomu zaufania w WPF
- strategia zabezpieczeń WPF — zabezpieczeń platformy
- zabezpieczenia na platformie .NET
.NET Desktop feedback