소프트웨어 제한 정책
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 가 모두 사용하도록 설정됩니다.