Sdílet prostřednictvím


Imperative Sicherheit überprüfen

Aktualisiert: November 2007

     TypeName

ReviewImperativeSecurity

CheckId

CA2103

Kategorie

Microsoft.Security

Unterbrechende Änderung

Breaking

Ursache

Eine Methode verwendet imperative Sicherheit und erstellt möglicherweise die Berechtigung mit Zustandsinformationen oder Rückgabewerten, die sich ändern können, während die Forderung wirksam ist.

Regelbeschreibung

Bei Verwendung imperativer Sicherheit werden mithilfe verwalteter Objekte während der Codeausführung Berechtigungen und Sicherheitsaktionen festgelegt. Im Gegensatz dazu werden beim Einsatz deklarativer Sicherheit Attribute verwendet, um Berechtigungen und Aktionen in Metadaten zu speichern. Imperative Sicherheit ermöglicht großen Handlungsspielraum, weil die Festlegung des Zustands eines Berechtigungsobjekts und die Auswahl von Sicherheitsaktionen mithilfe von Informationen erfolgen kann, die erst zur Laufzeit zur Verfügung stehen. Diese Flexibilität birgt aber auch das Risiko in sich, dass die Laufzeitdaten, die zur Festlegung des Berechtigungszustands verwendet werden, nicht unverändert bleiben, während die Aktion ausgeführt wird.

Verwenden Sie, wenn irgend möglich, deklarative Sicherheit. Deklarative Forderungen sind leichter verständlich und können von Dienstprogrammen, z. B. Permissions View-Tool (Permview.exe), erkannt werden.

Behandlung von Verstößen

Überprüfen Sie die imperativen Sicherheitsforderungen, um sicherzustellen, dass der Zustand der Berechtigung nicht von Daten abhängt, die sich ändern können, während die Berechtigung verwendet wird.

Wann sollten Warnungen unterdrückt werden?

Eine Warnung dieser Regel kann gefahrlos unterdrückt werden, wenn die Berechtigung nicht auf einer Änderung der Daten beruht. Die imperative Forderung sollte jedoch in ihre deklarative Entsprechung geändert werden.

Siehe auch

Referenz

Permissions View-Tool (Permview.exe)

Weitere Ressourcen

Richtlinien für das Schreiben von sicherem Code

Datenzugriff