Strict 및 Type Strict 컨텍스트 핸들
모든 컨텍스트 핸들에 strict_context_handle 특성을 사용합니다. 기본적으로 컨텍스트 핸들은 인터페이스와 연결되지 않습니다. 즉, 한 인터페이스에서 컨텍스트 핸들을 만든 다음 다른 인터페이스에 전달할 수 있습니다. 이는 쉬운 공격이며 많은 RPC 서버가 이를 방지하지 못합니다.
두 인터페이스가 동일한 프로세스에서 공존하는 경우 공격자는 한 인터페이스에서 컨텍스트 핸들을 열고 다른 인터페이스에 전달할 수 있으며, 이로 인해 예기치 않은 데이터가 발생할 수 있습니다. 많은 개발자는 소프트웨어가 프로세스의 유일한 인터페이스라고 생각하지만, 시스템과 많은 타사 구성 요소가 모두 내부적으로 RPC를 사용하고 해당 인터페이스가 컨텍스트 핸들을 만들 수 있기 때문에 그렇지 않은 경우가 많습니다. strict_context_handle 특성을 사용하는 경우 RPC 런타임은 한 인터페이스에서 만든 컨텍스트를 해당 인터페이스의 메서드에만 인수로 전달할 수 있도록 합니다.
Windows Vista용으로 애플리케이션을 개발하는 경우 type_strict_context_handle 사용할 수 있으며 권장됩니다. 컨텍스트 핸들은 기본적으로 특정 형식과 연결되지 않습니다. 동일한 프로세스에서 여러 유형의 컨텍스트 핸들을 사용하는 경우 악의적인 클라이언트가 다른 컨텍스트 핸들 대신 컨텍스트 핸들을 전달하여 바람직하지 않은 결과를 생성할 수 있습니다. type_strict_context_handle 사용하면 애플리케이션이 컨텍스트 핸들 형식 일관성을 적용하고 일치하지 않는 컨텍스트 핸들 형식 사용을 방지할 수 있습니다.