Политика ограничения программного обеспечения
Параметры политики ограничений программного обеспечения (SRP) были введены в выпуске Windows XP для защиты систем от неизвестного и, возможно, опасного кода. SRP предоставляет механизм, в котором только доверенный код предоставляет неограниченный доступ к привилегиям пользователя. Неизвестный код, который может содержать вирусы или код, конфликты с установленными в настоящее время программами, разрешено запускаться только в ограниченной среде (часто называемой песочницей), где она запрещена получать доступ к любым привилегиям пользователей с учетом безопасности. Правильное использование SRP может сделать бизнес более гибким, так как он предоставляет упреждающую платформу для предотвращения проблем, а не реактивную платформу, которая зависит от дорогостоящей альтернативы восстановлению системы после возникновения проблемы.
SRP зависит от назначения уровней доверия коду, который может выполняться в системе. В настоящее время существуют два уровня доверия: Неограниченное и запрещено. Код с неограниченным уровнем доверия предоставляет неограниченный доступ к привилегиям пользователя, поэтому этот уровень доверия должен применяться только к полностью доверенному коду. Код с уровнем доверия запрещен от доступа к любым привилегиям пользователя с учетом безопасности и может выполняться только в песочнице, чтобы неограниченный код не смог загрузить запрещенный код в адресное пространство.
Настройка SRP отдельных COM-приложений выполняется с помощью значения SRPTrustLevel в разделе AppID приложения в реестре. Если уровень доверия SRP не указан для COM-приложения, используется значение по умолчанию запрещено. Приложение COM с неограниченным уровнем доверия имеет неограниченный доступ к привилегиям пользователя, но может загружать только компоненты с неограниченным уровнем доверия, в то время как запрещенное com-приложение может загружать компоненты с любым уровнем доверия, но не может получить доступ к любым привилегиям пользователя с учетом безопасности.
Помимо уровней доверия SRP отдельных com-приложений, два других свойства SRP определяют, как SRP используется для всех приложений COM. Если SRPRunningObjectChecks включен, попытки подключения к запущенным объектам будут проверка для соответствующих уровней доверия SRP. Выполняющийся объект не может иметь менее строгий уровень доверия SRP, чем объект клиента. Например, запущенный объект не может иметь уровень доверия запрещено, если у клиентского объекта есть уровень доверия с неограниченным уровнем доверия.
Второе свойство определяет, как SRP обрабатывает подключения активации от имени активации. Если включенА функция SRPActivateAsActivatorChecks , уровень доверия SRP, настроенный для объекта сервера, сравнивается с уровнем доверия SRP клиентского объекта и более строгим уровнем доверия будет использоваться для запуска объекта сервера. Если SRPActivateAsActivatorChecks не включен, серверный объект запускается с уровнем доверия SRP клиентского объекта независимо от уровня доверия SRP, с которым он был настроен. По умолчанию включены функции SRPRunningObjectChecks и SRPActivateAsActivatorChecks .