Freigeben über


Softwareeinschränkungsrichtlinie

Die Einstellungen der Softwareeinschränkungsrichtlinie (Software Restriction Policy, SRP) wurden mit der Veröffentlichung von Windows XP eingeführt, um Systeme vor unbekanntem und möglicherweise gefährlichem Code zu schützen. Der SRP bietet einen Mechanismus, bei dem nur vertrauenswürdiger Code uneingeschränkten Zugriff auf die Berechtigungen eines Benutzers erhält. Unbekannter Code, der Viren oder Code enthalten kann, der mit derzeit installierten Programmen in Konflikt steht, darf nur in einer eingeschränkten Umgebung (oft als Sandbox bezeichnet) ausgeführt werden, in der der Zugriff auf sicherheitsrelevante Benutzerberechtigungen nicht zulässig ist. Die ordnungsgemäße Verwendung des SRP kann Ihr Unternehmen agiler machen, da es ein proaktives Framework zur Vermeidung von Problemen bietet, anstatt ein reaktives Framework, das auf der kostspieligen Alternative zur Wiederherstellung eines Systems nach einem Problem basiert.

Der SRP hängt davon ab, dem Code, der auf einem System ausgeführt werden kann, Vertrauensebenen zuzuweisen. Derzeit gibt es zwei Vertrauensstufen: Uneingeschränkt und Unzulässig. Code mit einer uneingeschränkten Vertrauensstufe erhält uneingeschränkten Zugriff auf die Berechtigungen des Benutzers, sodass diese Vertrauensstufe nur auf vollständig vertrauenswürdigen Code angewendet werden sollte. Code mit einer Nicht zulässigen Vertrauensstellungsebene darf nicht auf sicherheitsrelevante Benutzerberechtigungen zugreifen und kann nur in einer Sandbox ausgeführt werden, sodass uneingeschränkter Code den Nicht zulässigen Code nicht in seinen Adressraum laden kann.

Die SRP-Konfiguration einzelner COM-Anwendungen erfolgt über den Wert SRPTrustLevel im AppID-Schlüssel der Anwendung in der Registrierung. Wenn die SRP-Vertrauensstufe für eine COM-Anwendung nicht angegeben wird, wird der Standardwert von Disallowed verwendet. Eine COM-Anwendung mit uneingeschränkter Vertrauensstufe hat uneingeschränkten Zugriff auf die Berechtigungen des Benutzers, kann aber nur Komponenten mit einer uneingeschränkten Vertrauensstufe laden, während eine nicht zulässige COM-Anwendung Komponenten mit einer beliebigen Vertrauensstufe laden kann, aber nicht auf sicherheitsrelevante Benutzerberechtigungen zugreifen kann.

Neben den SRP-Vertrauensstufen einzelner COM-Anwendungen bestimmen zwei weitere SRP-Eigenschaften, wie der SRP für alle COM-Anwendungen verwendet wird. Wenn SRPRunningObjectChecks aktiviert ist, werden Versuche, eine Verbindung mit ausgeführten Objekten herzustellen, auf geeignete SRP-Vertrauensstufen überprüft. Das ausgeführte Objekt darf keine weniger strenge SRP-Vertrauensstufe als das Clientobjekt aufweisen. Beispielsweise kann das ausgeführte Objekt keine Vertrauensstellungsstufe Nicht zulässig haben, wenn das Clientobjekt eine Uneingeschränkte Vertrauensstellungsstufe aufweist.

Die zweite Eigenschaft bestimmt, wie der SRP Verbindungen mit aktivierungsbasierter Aktivierung behandelt. Wenn SRPActivateAsActivatorChecks aktiviert ist, wird die SRP-Vertrauensstufe, die für das Serverobjekt konfiguriert ist, mit der SRP-Vertrauensstellungsebene des Clientobjekts verglichen, und die strengere Vertrauensstufe wird zum Ausführen des Serverobjekts verwendet. Wenn SRPActivateAsActivatorChecks nicht aktiviert ist, wird das Serverobjekt mit der SRP-Vertrauensstellungsebene des Clientobjekts ausgeführt, unabhängig von der SRP-Vertrauensstellungsebene, mit der es konfiguriert wurde. Standardmäßig sind sowohl SRPRunningObjectChecks als auch SRPActivateAsActivatorChecks aktiviert.