레지스트리 키의 추가 Windows 리소스 보호

플랫폼

클라이언트 - Windows 7
서버 - Windows Server 2008 R2

기능 영향

심각도 - 보통
빈도 - 낮음

설명

추가 시스템 리소스가 Windows 7에 WRP(Windows 리소스 보호) 설정을 추가하여 읽기 전용 설정으로 만듭니다. 추가된 보호를 받은 대부분의 리소스는 시스템 COM 서버 키이지만 일부 기능은 대상 리소스 보호를 추가했습니다. Microsoft는 시스템 및 다른 애플리케이션이 서로 끊어지는 것을 방지하고 애플리케이션을 안정적으로 실행할 수 있는 일관되고 안정적인 플랫폼을 제공하기 위해 이러한 리소스를 변경했습니다. 과거에 애플리케이션은 사용자 지정 파일을 제공하고 보호되지 않은 COM 등록을 사용하여 시스템을 변경할 수 있습니다. 이전 애플리케이션의 경우 시스템 런타임을 다운그레이드하거나 다른 애플리케이션이 제대로 작동하는 데 필요한 인터페이스를 변경할 수 있습니다. 최악의 경우 이러한 설치로 인해 시간이 지남에 따라 시스템 오류 또는 성능이 저하될 수 있습니다. 더 나은 환경과 보다 안정적인 애플리케이션 플랫폼을 제공하기 위해 Microsoft 업데이트만 시스템 구성 요소를 변경할 수 있도록 이러한 등록을 잠갔습니다.

변경된 대부분의 리소스는 시스템에서 사용하는 COM 키이므로 이 변경 내용은 대부분의 애플리케이션에 영향을 미치지 않습니다. 이러한 변경으로 인해 대부분의 애플리케이션이 Windows 7에서 더 나은 환경을 가질 것으로 예상하지만, 애플리케이션의 작은 하위 집합은 부정적인 영향을 받을 수 있습니다. 시스템의 애플리케이션 호환성 계층은 보호된 리소스로 인해 실패하더라도 설정을 변경하는 데 성공했음을 애플리케이션에 항상 알려 설정 문제를 자동으로 resolve. 이렇게 하면 애플리케이션 설정이 중단되지 않지만 애플리케이션이 제대로 작동하기 위해 설정을 변경해야 하는 경우 문제가 발생할 수 있습니다.

형상

애플리케이션은 Windows 7 이전에 이러한 설정을 수정했을 수 있습니다. Windows 7에 설치할 때 설정이 애플리케이션이 예상한 내용을 반영하지 않았기 때문에 애플리케이션에서 특정 기능이 더 이상 작동하지 않을 수 있습니다.

애플리케이션에 이 추가된 보호와 관련된 문제가 발생할 수 있는 두 가지 시나리오가 있습니다.

  • 현재 보호된 설정을 데이터 저장소 또는 희귀하거나 의도하지 않은 확장성 지점으로 사용했을 수 있는 애플리케이션
  • 드물게 애플리케이션 설정을 식별하는 데 사용되는 검색 메커니즘이 특정 설정을 인식하지 못할 수 있으므로 애플리케이션 호환성 완화 계층이 적용되지 않을 수 있습니다.

완화 방법

완화의 기본 수단은 시스템의 애플리케이션 호환성 계층으로, 감지되면 애플리케이션 설정에 자동으로 적용됩니다. 애플리케이션 속성의 호환성 탭을 사용하여 애플리케이션에 수동으로 적용할 수도 있습니다.

이 계층은 레지스트리 작업을 가로채 문제를 해결합니다. 애플리케이션이 WRP(읽기 전용) 설정을 수정하려고 시도하는 경우 설정이 실제로 변경되지 않았더라도 계층은 항상 성공을 반환합니다. 대부분의 애플리케이션에서는 문제가 발생하지 않습니다. 그러나 애플리케이션이 제대로 작동하기 위해 해당 설정을 변경해야 할 가능성이 있습니다. 이는 위에서 설명한 첫 번째 시나리오입니다.

솔루션

위에서 식별한 두 가지 시나리오의 경우:

  • 애플리케이션에서 데이터 저장소를 작동하거나 사용하기 위해 키를 쓸 수 있어야 하는 경우 더 이상 해당 위치에 쓰지 않도록 애플리케이션을 변경하는 것 외에는 솔루션이 없습니다.
  • 호환성 계층이 설정에 적용되지 않은 경우 설치 실패를 검색하여 적용하고 다시 실행하도록 제공해야 합니다. 애플리케이션은 호환 모드에서 실행할 수도 있습니다. 이 경우 완화 계층이 항상 적용됩니다.

호환성 테스트

애플리케이션에 WRP 완화가 적용되었는지 검색하는 방법:

  • Windows Installer는 WRP를 알고 있습니다. 보호된 리소스를 작성하거나 수정하려는 시도를 자동으로 무시합니다. 애플리케이션이 Windows Installer와 함께 설치되고 로깅이 사용하도록 설정된 경우 WRP로 보호되는 리소스이므로 무시된 각 레지스트리 키 쓰기 작업에 대한 경고가 기록됩니다.
  • WRP API는 SfCIsKeyProtected를 통합하여 레지스트리 키가 현재 시스템에서 WRP로 보호되는지 쿼리할 수 있습니다. 이 API 사용에 대한 자세한 내용은 아래 링크에서 MSDN의 WRP 항목을 참조하세요.

Windows 리소스 보호