Summary

  • 11월 MoQ 중계기 DoS 초안은 중계기가 많은 클라이언트에게 GOAWAY를 보내 제삼자 호스트를 새 세션 목적지로 지정할 수 있다는 위험을 새로 적었다. 표적은 MoQT 서비스를 운영하지 않아도 연결 시도를 받는다.
  • MoQT 전송 초안은 서버의 제어 스트림 GOAWAY에 비어 있지 않은 New Session URI가 있으면 클라이언트가 새 세션에 그 URI를 반드시 사용하도록 한다. 목적지를 적는 권한과 표적의 동의는 같은 것이 아니다.

시청자가 많은 중계기를 생각해 보자. 중계기는 세션을 끝내며 다음 주소를 안내할 수 있다. 정상적인 이전에는 유용하다. 그러나 중계기가 다른 사람의 서버를 그 주소로 써 넣으면 연결된 클라이언트들이 동시에 그쪽으로 향한다. 02판에 새로 들어간 문단은 표적 호스트가 MoQT를 구현할 필요조차 없다고 밝힌다. 접속이 성립하지 않더라도 연결 시도는 먼저 도착한다.

작업반 전송 초안 9.2절에서 서버는 제어 스트림 GOAWAY에 새 세션 URI를 넣을 수 있다. 비어 있지 않으면 클라이언트는 새 세션에 이를 사용해야 한다. 클라이언트가 서버에게 비어 있지 않은 URI를 보내는 것은 역할 위반이다. URI 길이 상한은 8,192바이트이고 같은 제어 스트림에 GOAWAY를 여러 번 보내는 것도 금지된다. 이런 제한은 지정된 호스트가 이전을 승인했는지 확인하지 않는다. 요청 스트림의 GOAWAY는 특정 요청을 지정 주소에서 다시 보내도록 권고하는 별도 규칙이다. 대규모 시청자 이동 시나리오는 서버의 제어 스트림에서 나온다.

7월의 01판에는 제삼자 표적 문단이 없었다. 11월 수정은 일반적인 자원 소모가 아니라 이전 주소 한 줄이 무관한 서버로 연결 폭주를 만들 수 있음을 설명한다. 초안이 제시한 해법은 클라이언트가 새 URI를 따르기 전에 그 주소의 권위를 확인하는 것이다. 구체적인 규칙은 전송 명세의 몫으로 남겼다. TLS가 나중에 잘못된 목적지를 거절할 수 있어도 첫 연결 시도는 이미 전송됐다. 공식 자료에는 실제 사건이나 측정된 과부하 결과가 없다. IETF 기록은 아직 개인 초안이다.

운영 기록에는 원래 중계기, 새 URI, URI 승인 규칙, 연결 시도의 수와 시각, 수신 호스트의 부하가 함께 있어야 한다. “이전 성공” 한 줄만 남기면 누구에게 비용을 넘겼는지 알 수 없다.