소프트웨어 제한 정책
SRP(소프트웨어 제한 정책) 설정은 알 수 없는 위험한 코드로부터 시스템을 보호하기 위해 Windows XP 릴리스와 함께 도입되었습니다. SRP는 신뢰할 수 있는 코드만 사용자의 권한에 무제한으로 액세스할 수 있는 메커니즘을 제공합니다. 현재 설치된 프로그램과 충돌하는 바이러스 또는 코드를 포함할 수 있는 알 수 없는 코드는 보안에 민감한 사용자 권한에 액세스할 수 없는 제한된 환경(샌드박스이라고도 함)에서만 실행할 수 있습니다. SRP를 올바르게 사용하면 문제가 발생한 후 시스템을 복원하는 비용이 많이 드는 대안에 의존하는 반응형 프레임워크가 아니라 문제를 방지하기 위한 사전 예방 프레임워크를 제공하기 때문에 비즈니스를 더 민첩하게 만들 수 있습니다.
SRP는 시스템에서 실행할 수 있는 코드에 신뢰 수준을 할당하는 데 따라 달라집니다. 현재 제한되지 않은 트러스트 수준과 허용되지 않는 두 가지 신뢰 수준이 있습니다. 무제한 신뢰 수준이 있는 코드에는 사용자의 권한에 대한 무제한 액세스 권한이 부여되므로 이 신뢰 수준은 완전히 신뢰할 수 있는 코드에만 적용되어야 합니다. 허용되지 않는 신뢰 수준이 있는 코드는 보안에 중요한 사용자 권한에 액세스할 수 없으며, 무제한 코드가 허용되지 않는 코드를 주소 공간에 로드할 수 없도록 샌드박스에서만 실행할 수 있습니다.
개별 COM 애플리케이션의 SRP 구성은 레지스트리의 애플리케이션 AppID 키에 있는 SRPTrustLevel 값을 통해 수행됩니다. COM 애플리케이션에 대해 SRP 신뢰 수준을 지정하지 않으면 허용되지 않는 기본값이 사용됩니다. 무제한 신뢰 수준이 있는 COM 애플리케이션은 사용자 권한에 무제한으로 액세스할 수 있지만 무제한 신뢰 수준이 있는 구성 요소만 로드할 수 있지만 허용되지 않는 COM 애플리케이션은 신뢰 수준이 있는 구성 요소를 로드할 수 있지만 보안에 민감한 사용자 권한에는 액세스할 수 없습니다.
개별 COM 애플리케이션의 SRP 신뢰 수준 외에도 다른 두 개의 SRP 속성은 SRP가 모든 COM 애플리케이션에 사용되는 방법을 결정합니다. SRPRunningObjectChecks 사용하도록 설정된 경우 실행 중인 개체에 대한 연결 시도가 적절한 SRP 신뢰 수준에 대해 확인됩니다. 실행 중인 개체는 클라이언트 개체보다 덜 엄격한 SRP 신뢰 수준을 가질 수 없습니다. 예를 들어 클라이언트 개체에 무제한 신뢰 수준이 있는 경우 실행 중인 개체는 허용되지 않는 신뢰 수준을 가질 수 없습니다.
두 번째 속성은 SRP가 활성화자 연결을 처리하는 방법을 결정합니다. SRPActivateAsActivatorChecks 사용하도록 설정된 경우 서버 개체에 대해 구성된 SRP 신뢰 수준이 클라이언트 개체의 SRP 신뢰 수준과 비교되고 서버 개체를 실행하는 데 더 엄격한 신뢰 수준이 사용됩니다. SRPActivateAsActivatorChecks 사용하도록 설정되지 않은 경우 서버 개체는 구성된 SRP 신뢰 수준에 관계없이 클라이언트 개체의 SRP 신뢰 수준으로 실행됩니다. 기본적으로 SRPRunningObjectChecks 및 SRPActivateAsActivatorChecks 모두 사용하도록 설정됩니다.