반사 스캔 경로 외 TCP 공격
초록
본 논문은 공유 패킷 큐의 트래픽 부하를 이용해 오프‑패스 공격자가 TCP 연결 상태를 추론하는 방법을 제시한다. 공격자는 동일한 스푸핑 패킷을 연속으로 전송하고, 피해자가 조건을 만족할 경우 응답을 생성한다. 응답은 직접 공격자에게 도달하지 않지만, 피해자와 공격자가 공유하는 라우터 큐에 추가 부하를 일으켜 큐 처리 지연을 측정함으로써 조건이 참인지 판단한다. TCP 외에도 조건부 응답을 제공하는 다른 프로토콜에도 적용 가능함을 실험으로 증명한다.
상세 분석
이 논문은 네트워크 인프라에서 흔히 발생하는 공유 큐(예: ISP 라우터, 데이터센터 스위치)의 처리 지연을 사이드채널로 활용한다는 점에서 혁신적이다. 기존 오프‑패스 공격은 주로 순수 패킷 변조나 타이밍 기반 추정에 의존했지만, 여기서는 “반사” 메커니즘을 도입해 피해자가 특정 조건을 만족할 때만 응답을 생성하도록 유도한다. 공격자는 스푸핑된 TCP 세그먼트를 연속으로 전송하고, 각 세그먼트에 동일한 시퀀스 번호와 ACK 번호를 삽입한다. 피해자는 수신된 세그먼트가 현재 연결 상태와 일치하면 즉시 ACK 혹은 RST를 반환한다. 반환된 패킷은 공격자에게 직접 도달하지 않으며, 대신 동일한 라우터의 출력 큐에 삽입되어 다른 정상 트래픽과 경쟁한다. 큐가 포화되면 해당 트래픽의 전송 지연이 증가하고, 공격자는 이 지연을 측정함으로써 피해자가 응답을 생성했는지를 간접적으로 확인한다.
핵심은 “조건부 반사”와 “공유 큐 부하”라는 두 축을 결합한 점이다. 조건부 반사는 TCP의 3‑way 핸드쉐이크, 윈도우 크기, SACK 옵션 등 다양한 상태 변수에 기반해 설계될 수 있다. 예를 들어, 공격자는 특정 시퀀스 번호가 현재 송신 버퍼에 존재하는지를 테스트하기 위해 해당 번호를 포함한 스푸핑 세그먼트를 전송한다. 만약 버퍼에 해당 번호가 있으면 피해자는 즉시 ACK를 반환하고, 그렇지 않으면 무시한다. 이러한 차이는 큐 부하에 직접적인 영향을 미치며, 공격자는 고정된 간격으로 측정 패킷을 보내 큐 지연 변화를 감지한다.
실험에서는 일반적인 ISP 라우터와 데이터센터 스위치를 대상으로 다양한 트래픽 부하 상황을 재현했으며, 평균 지연 증가량이 5~20 ms에 달함을 확인했다. 이는 현대 TCP 구현에서 재전송 타이머와 혼동되지 않을 정도로 충분히 구별 가능하다. 또한, 공격자는 여러 라우터를 연쇄적으로 이용해 “멀티‑홉 반사 스캔”을 수행할 수 있음을 보였다. 이는 기존의 “ACK 스캔”이나 “SYN 스캔”보다 훨씬 은밀하며, 방화벽이나 IDS가 패킷 자체를 차단하더라도 성공 가능성을 유지한다.
보안적 시사점으로는, 공유 큐에 대한 접근 제어와 트래픽 정규화가 필요함을 강조한다. 특히, 동일한 라우터를 통해 오프‑패스와 인바운드 트래픽이 혼합되는 환경에서는 큐 스케줄링 정책을 강화하고, 비정상적인 지연 패턴을 탐지하는 메트릭을 도입해야 한다. 또한, TCP 스택 수준에서 조건부 응답을 최소화하거나, 의도적으로 지연을 삽입해 사이드채널을 무력화하는 설계도 고려될 수 있다.