Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
apphost
i singlefilehost
są teraz oznaczone jako Intel CET — zgodne (są kompilowane z opcją /CETCOMPAT
). Ta zmiana została wprowadzona w celu zwiększenia bezpieczeństwa aplikacji platformy .NET. Nakłada jednak ograniczenie dotyczące bibliotek udostępnionych, z którymi aplikacje platformy .NET mogą ładować i współdziałać. Biblioteki nie mogą ustawiać kontekstu wątku na lokalizację ze wskaźnikiem instrukcji, który nie znajduje się na stosie w tle ani w tabeli dozwolonych adresów kontynuacji na potrzeby obsługi wyjątków.
Poprzednie zachowanie
Wcześniej udostępnione biblioteki załadowane do procesu platformy .NET były w stanie ustawić kontekst wątku przy użyciu polecenia SetThreadContext,
Nowe zachowanie
Począwszy od platformy .NET 9, biblioteki udostępnione załadowane do procesu platformy .NET mogą ustawiać kontekst wątku tylko przy użyciu polecenia SetThreadContext,
- Obecny na stosie cieni.
- W tabeli dozwolonych adresów kontynuacji obsługi wyjątków (generowanych przez
/EHCONT
opcję kompilatoraSetProcessDynamicEHContinuationTargets
lub interfejs API).
Jeśli biblioteki spróbują zmienić kontekst wątku na inną lokalizację, proces zostanie zakończony.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 6)
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność binarną.
Przyczyna wprowadzenia zmiany
Włączenie CET zwiększa bezpieczeństwo aplikacji platformy .NET przez dodanie ochrony stosu wymuszanej sprzętowo przed eksploatacjami przy użyciu technik zwrotnych (ROP).
Zalecana akcja
Obejścia:
- Możesz zrezygnować z cet, dodając
<CETCompat>false</CETCompat>
plik projektu aplikacji (na przykład plik csproj ). - Użyj aplikacji Zabezpieczenia Windows lub zasad grupy, aby zrezygnować z wymuszania stosu obsługiwanego przez sprzęt dla określonej aplikacji .NET. Aby uzyskać więcej informacji, zobacz Włączanie ochrony przed programami wykorzystującą luki w zabezpieczeniach.
Dotyczy interfejsów API
- Nie dotyczy