Дополнительная защита ресурсов Windows в разделах реестра

Платформа

Клиенты — Windows 7
Серверы — Windows Server 2008 R2

Влияние на функции

Уровень серьезности — средний
Частота — низкая

Описание

Дополнительные системные ресурсы добавили параметры Защиты ресурсов Windows (WRP) в Windows 7, сделав их параметрами только для чтения. Подавляющее большинство ресурсов, которые получили дополнительную защиту, являются ключами системного COM-сервера, хотя некоторые функции добавили целевую защиту ресурсов. Корпорация Майкрософт изменила эти ресурсы, чтобы защитить систему и другие приложения от нарушения друг друга и обеспечить согласованную, стабильную платформу, на которой приложения могут надежно работать. В прошлом приложения могли предоставлять пользовательские файлы и использовать незащищенную регистрацию COM для изменения системы. В случае старых приложений это может понизить уровень системных сред выполнения или изменить интерфейс, на котором другие приложения должны работать должным образом. В худшем случае такие установки могут со временем привести к сбою или ухудшению работы системы. Чтобы обеспечить лучшую работу и более стабильную платформу приложений, мы заблокировали эти регистрации, чтобы только обновления Майкрософт могли изменять системные компоненты.

Так как большинство измененных ресурсов являются ключами COM, используемыми системой, это изменение не повлияет на большинство приложений. Хотя мы ожидаем, что большинство приложений будут лучше работать в Windows 7 в результате этих изменений, небольшое подмножество приложений может оказать негативное влияние. Уровни совместимости приложений системы будут автоматически устранять проблемы с установкой, всегда сообщая приложению о том, что ему удалось изменить параметр, даже если произошел сбой из-за того, что он является защищенным ресурсом. Это предотвращает прерывание настройки приложения, но может привести к проблемам, если необходимо изменить параметр для правильной работы приложения.

Проявление

Приложения могли изменить эти параметры до Windows 7. После установки в Windows 7 приложения могут обнаружить, что некоторые функции больше не работают, так как параметры не соответствуют ожидаемому приложению.

Существует два сценария, в которых приложения могут столкнуться с проблемами, связанными с этой дополнительной защитой:

  • Приложения, которые могли использовать защищенные параметры в качестве хранилища данных или редкой или нежелательной точки расширения
  • В редких случаях механизм обнаружения, используемый для определения настроек приложений, может не распознать определенную настройку, поэтому уровень защиты совместимости приложений может не применяться.

Меры по снижению риска

Основным средством устранения рисков является уровень совместимости приложений системы, который автоматически применяется к настройкам приложений при обнаружении. Вы также можете вручную применить его к любому приложению с помощью вкладки "Совместимость" в свойствах приложения.

Этот уровень решает проблему путем перехвата операций реестра. В случае, когда приложение пыталось изменить параметр только для чтения (WRP), слой всегда возвращает успешное выполнение, даже если этот параметр не был изменен. Для большинства приложений это не приведет к возникновению проблем. Однако существует вероятность того, что приложению потребуется изменить этот параметр для правильной работы, что является первым описанным выше сценарием.

Решение

Для двух описанных выше сценариев:

  • Если приложению требуется, чтобы ключ был доступен для записи для работы или использования хранилища данных, нет другого решения, кроме изменения приложения, чтобы оно больше не записывало в это расположение.
  • Если уровень совместимости не был применен к установке, следует обнаружить сбой установки и предложить его применить и повторно запустить. Приложения также могут работать в режиме совместимости, и в этом случае всегда применяется уровень устранения рисков.

Тесты совместимости

Как определить, применено ли к приложению устранение рисков WRP:

  • Установщик Windows знает о WRP; Он автоматически и автоматически игнорирует попытки записи или изменения защищенного ресурса. Если приложение было установлено с установщиком Windows и было включено ведение журнала, то для каждой операции записи раздела реестра, которая была проигнорирована из-за того, что она является ресурсом, защищенным WRP.
  • API WRP включает SfCIsKeyProtected, который может запрашивать, защищен ли раздел реестра WRP в текущей системе. Дополнительные сведения об использовании этого API см. в записи WRP на сайте MSDN по ссылкам ниже.

Windows Resource Protection