Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
apphost und singlefilehost sind jetzt als Intel CET gekennzeichnet – kompatibel (sie werden mit der /CETCOMPAT Option kompiliert). Diese Änderung wurde vorgenommen, um die Sicherheit von .NET-Anwendungen zu verbessern. Sie legt jedoch eine Einschränkung für die freigegebenen Bibliotheken fest, mit denen .NET-Apps geladen und interopiert werden können. Bibliotheken dürfen keinen Threadkontext auf eine Position mit einem Anweisungszeiger festlegen, der nicht im Schattenstapel oder in einer Tabelle zulässiger Fortsetzungsadressen für die Ausnahmebehandlung vorhanden ist.
Vorheriges Verhalten
Zuvor konnten freigegebene Bibliotheken, die in den .NET-Prozess geladen wurden, den Threadkontext mithilfe von SetThreadContext, RtlRestoreContext/NtContinue
Neues Verhalten
Ab .NET 9 dürfen freigegebene Bibliotheken, die in den .NET-Prozess geladen wurden, nur den Threadkontext mithilfe von SetThreadContext, RtlRestoreContext/NtContinue
- Im Schattenstapel vorhanden.
- In einer Tabelle zulässiger Fortsetzungsadressen für die Ausnahmebehandlung (generiert durch die
/EHCONTCompileroption oder dieSetProcessDynamicEHContinuationTargetsAPI).
Wenn Bibliotheken versuchen, einen Threadkontext an einen anderen Speicherort zu ändern, wird der Prozess beendet.
Eingeführt in Version
.NET 9 Preview 6
Typ des Breaking Changes
Diese Änderung kann sich auf die binäre Kompatibilität auswirken.
Grund für die Änderung
Durch die Aktivierung von CET wird die Sicherheit von .NET-Anwendungen verbessert, indem hardwaregezwungener Stapelschutz gegen Rückgabeorientierte Programmierungs-Exploits (ROP) hinzugefügt wird.
Empfohlene Maßnahme
Problemumgehungen:
- Sie können CET deaktivieren, indem Sie der Projektdatei Ihrer App (z
<CETCompat>false</CETCompat>) hinzufügen. - Verwenden Sie die Windows-Sicherheit-App oder eine Gruppenrichtlinie, um die hardwaregestützte Stapelerzwingung für die spezifische .NET-Anwendung zu deaktivieren. Weitere Informationen finden Sie unter Aktivieren des Exploit-Schutzes.
Betroffene APIs
- –