다음을 통해 공유


재생 공격

재생 공격은 공격자가 두 당사자 간에 메시지 스트림을 복사하고 스트림을 하나 이상의 당사자로 재생할 때 발생합니다. 완화되지 않는 한 공격 대상이 되는 컴퓨터는 스트림을 합법적인 메시지로 처리하기 때문에 항목의 중복 순서와 같이 다양한 잘못된 결과가 발생합니다.

바인딩은 리플렉션 공격의 대상이 될 수 있습니다.

리플렉션 공격은 받는 사람으로부터 회신으로 온 것처럼 보낸 사람에게 메시지를 다시 재생하는 것입니다. WCF(Windows Communication Foundation) 메커니즘의 표준 재생 검색 은 이를 자동으로 처리하지 않습니다.

WCF 서비스 모델은 메시지를 요청하는 서명된 메시지 ID를 추가하고 응답 메시지에 서명 relates-to 된 헤더가 예상되므로 리플렉션 공격은 기본적으로 완화됩니다. 따라서 요청 메시지를 응답으로 재생할 수 없습니다. 보안 RM(신뢰할 수 있는 메시지) 시나리오에서는 다음과 같은 이유로 리플렉션 공격이 완화됩니다.

  • 시퀀스 만들기 및 시퀀스 만들기 응답 메시지 스키마는 다릅니다.

  • simplex 시퀀스의 경우 클라이언트가 보내는 시퀀스 메시지를 다시 재생할 수 없습니다. 클라이언트가 이러한 메시지를 이해할 수 없기 때문입니다.

  • 이중 시퀀스의 경우 두 시퀀스 ID는 고유해야 합니다. 따라서 나가는 시퀀스 메시지를 들어오는 시퀀스 메시지로 다시 재생할 수 없습니다(모든 시퀀스 헤더 및 본문도 서명됨).

리플렉션 공격에 취약한 유일한 바인딩은 WS-Addressing이 없는 바인딩입니다. WS-Addressing 사용하지 않도록 설정되고 대칭 키 기반 보안을 사용하는 사용자 지정 바인딩입니다. BasicHttpBinding 기본적으로 WS-Addressing 사용하지는 않지만 이 공격에 취약할 수 있는 방식으로 대칭 키 기반 보안을 사용하지는 않습니다.

사용자 지정 바인딩에 대한 완화 방법은 보안 컨텍스트를 설정하지 않거나 WS-Addressing 헤더를 요구하는 것입니다.

웹 팜: 공격자가 여러 노드에 요청을 재생합니다.

클라이언트는 웹 팜에서 구현되는 서비스를 사용합니다. 공격자는 팜의 한 노드로 전송된 요청을 팜의 다른 노드로 재생합니다. 또한 서비스를 다시 시작하면 재생 캐시가 플러시되어 공격자가 요청을 재생할 수 있습니다. (캐시는 이전에 본 메시지 서명 값을 포함하고 재생을 방지하므로 해당 서명을 한 번만 사용할 수 있습니다. 재생 캐시는 웹 팜에서 공유되지 않습니다.)

완화에는 다음이 포함됩니다.

참고하십시오