보안

Unnamed ACK Attack

타우루스 2026. 2. 28. 20:03

Unnamed ACK Attack은 네트워크 통신 과정에서 IP 패킷 단편화(Fragmentation)의 재조합 과정 취약점을 악용하는 서비스 거부(DoS) 공격 기법 중 하나입니다.

 

이 공격은 널리 알려진 단편화 공격인 'Teardrop Attack'과 유사한 메커니즘을 가지지만, 패킷의 오프셋(Offset)을 조작하여 빈 공간(Gap)을 만들어낸다는 점에서 결정적인 차이가 있습니다. 주로 보안 자격증이나 네트워크 보안 이론에서 단편화 공격의 세부 유형으로 다뤄집니다.


공격 원리 및 메커니즘

일반적으로 네트워크 망의 MTU(Maximum Transmission Unit)보다 큰 데이터를 전송할 때, 데이터는 여러 개의 작은 조각(Fragment)으로 나뉘어 전송되며 수신 측은 오프셋(Offset) 정보를 바탕으로 이를 원래 순서대로 재조합합니다.

  • 정상적인 재조합: 각 패킷 조각의 오프셋이 정확히 맞물려 빈틈없이 순서대로 조립됩니다.

  • Teardrop 공격 (중첩, Overlap): 패킷 조각들의 오프셋을 의도적으로 겹치게 조작하여 전송합니다. 수신 측 시스템이 이를 재조합하는 과정에서 계산 오류가 발생하여 시스템이 다운됩니다.
  • Unnamed ACK 공격 (공백, Gap): 패킷 조각들의 오프셋 사이에 의도적으로 빈 공간(Gap)을 만들어 전송합니다.

 

구체적인 진행 단계:

 

1. 조작된 패킷 전송: 공격자는 IP 헤더의 Fragment Offset 값을 조작하여, 조각들 사이에 누락된 공간(Gap)이 생기도록 패킷을 분할 전송합니다. 방화벽의 상태 추적(Stateful) 검사를 우회하기 위해 TCP ACK 플래그를 달고 전송되는 경우가 많습니다.

 

2. 수신 대기 및 자원 소모: 수신 측 시스템은 누락된 중간 패킷 조각이 도착할 때까지 재조합을 완료하지 못합니다. 해당 세션을 닫지 못하고 메모리 버퍼에 패킷을 계속 유지하며 대기 상태에 빠집니다.

 

3. 시스템 마비 (DoS): 대기 상태의 불완전한 패킷들이 버퍼에 계속 누적되면서 시스템의 메모리와 CPU 자원이 고갈되고, 결국 정상적인 트래픽을 처리하지 못하는 서비스 거부 상태가 됩니다.


단편화 공격(Fragmentation Attack) 유형 비교

복잡한 개념 이해를 돕기 위해 정상 단편화와 대표적인 공격 기법들을 표로 비교해 드립니다.

구분 오프셋(Offset) 조작 방식 수신 측 시스템의 반응 및 결과
정상 단편화 순차적 연결 (오차 없음) 정상적으로 패킷 재조합 및 애플리케이션 계층으로 전달
Teardrop Attack 중첩 (Overlap) 유발 재조합 시 오프셋 계산 오류로 인한 시스템 크래시 (버그 유발)
Unnamed ACK Attack 공백 (Gap) 유발 누락된 패킷 무한 대기로 인한 메모리 버퍼 및 자원 고갈 (마비)

대응 및 방어 방안

대부분의 최신 운영체제(OS)는 비정상적인 단편화 패킷을 처리하는 방어 로직을 자체적으로 갖추고 있어 과거에 비해 위협도가 낮아졌으나, 네트워크 인프라 보호를 위해 다음과 같은 보안 조치가 적용되어야 합니다.

  • 방화벽 및 IPS(침입방지시스템) 룰셋 적용: 패킷 검사 시 오프셋 값에 공백(Gap)이나 중첩(Overlap) 등 논리적 오류가 있는 비정상적인 Fragment 패킷을 탐지하고 즉시 폐기(Drop)하도록 설정합니다.

  • OS 및 보안 장비 패치 관리: 시스템 운영체제 및 네트워크 장비의 펌웨어를 최신 상태로 유지하여, 비정상 패킷 재조합 시 발생하는 알려진 취약점을 제거합니다.

  • 라우터 레벨의 단편화 통제: 네트워크 경계 라우터에서 단편화된 패킷의 유입을 엄격히 통제하거나, 보안 장비에서 패킷을 먼저 재조합하여 무결성을 검증한 후 내부망으로 들여보냅니다.