단편화 공격(Fragmentation Attack): 네트워크 패킷 취약점 악용 기법
네트워크 통신에서 큰 데이터는 작은 패킷으로 분할되어 전송되는데, 이 과정의 취약점을 악용하는 기법이 단편화 공격이다. 이 공격은 IP 프로토콜의 단편화(Fragmentation) 메커니즘을 비정상적으로 조작하여 대상 시스템의 자원을 고갈시키거나 충돌을 유발한다.
단편화(Fragmentation)의 기본 원리
네트워크 통신에서 MTU(Maximum Transmission Unit)보다 큰 데이터 패킷은 작은 조각으로 분할되어 전송된다. IP 헤더의 특정 필드들이 이 단편화를 관리한다:
- Identification: 같은 원본 패킷에서 온 단편들을 식별
- Fragment Offset: 각 단편의 원본 패킷 내 위치
- More Fragment(MF) 플래그: 더 많은 단편이 있는지 표시
- Don't Fragment(DF) 플래그: 패킷의 단편화 금지 여부
graph TD
A[큰 데이터 패킷] --> B[MTU 검사]
B -- MTU보다 큼 --> C[단편화 수행]
C --> D[Fragment 1: Offset=0, MF=1]
C --> E[Fragment 2: Offset=n, MF=1]
C --> F[Fragment 3: Offset=m, MF=0]
D --> G[전송]
E --> G
F --> G
G --> H[수신측에서 재조립]
B -- MTU보다 작음 --> G
수신 시스템은 이러한 단편들을 재조립하여 원본 데이터를 복원한다. 그러나 이 과정에서 보안 취약점이 발생할 수 있다.
주요 단편화 공격 기법
1. Teardrop 공격
Teardrop 공격은 IP 단편화 과정의 오버랩(중첩) 취약점을 악용하는 기법이다.
공격 메커니즘:
- 공격자는 겹치는 오프셋을 가진 패킷 단편을 전송한다.
- 두 번째 단편의 오프셋이 첫 번째 단편 내에 위치하도록 설정한다.
- 수신 시스템이 이러한 중첩된 단편을 재조립하려고 시도할 때 메모리 버퍼 오버플로우나 시스템 충돌이 발생한다.
graph LR
A[단편 1: 오프셋 0, 길이 1000] --- B((중첩 영역))
C[단편 2: 오프셋 500, 길이 1000] --- B
영향 및 사례:
- Windows 95, NT, 일부 Linux 배포판이 취약했다.
- 1997년 널리 알려진 공격으로, 많은 시스템이 단순히 재부팅으로만 복구 가능했다.
- 현대 운영체제는 대부분 이 취약점을 패치했으나, 레거시 시스템은 여전히 위험할 수 있다.
2. Tiny Fragmentation 공격
Tiny Fragmentation은 극도로 작은 크기의 패킷 단편을 생성하여 시스템 자원을 소모시키는 공격이다.
공격 메커니즘:
- 공격자는 최소 크기(8바이트 등)의 데이터를 포함한 다수의 패킷 단편을 생성한다.
- 이런 작은 단편들은 네트워크 장비와 방화벽의 필터링을 우회할 수 있다.
- 목표 시스템은 수많은 작은 단편들을 처리하느라 CPU와 메모리 자원을 과도하게 소모한다.
graph TD
A[원본 데이터] --> B[공격자의 단편화]
B --> C[단편 1: 8바이트]
B --> D[단편 2: 8바이트]
B --> E[단편 3: 8바이트]
B --> F[...]
B --> G[단편 n: 8바이트]
C --> H[대상 시스템]
D --> H
E --> H
F --> H
G --> H
H --> I[자원 소모 및 성능 저하]
영향 및 대응:
- 특히 저사양 장비나 IoT 디바이스에서 DoS(서비스 거부) 조건을 유발할 수 있다.
- 현대 방화벽은 비정상적으로 작은 단편을 감지하고 차단하는 기능을 갖추고 있다.
- 최소 단편 크기 제한과 단편 수 제한을 적용하여 방어할 수 있다.
3. Fragmentation Overlap 공격
Fragmentation Overlap은 단편의 오프셋과 길이를 조작하여 중첩되는 영역을 생성하는 공격이다.
공격 메커니즘:
- 공격자는 의도적으로 중첩되는 오프셋을 가진 단편들을 전송한다.
- 중첩 영역에 다른 데이터를 포함시켜 혼란을 가중시킨다.
- 재조립 과정에서 어느 단편의 데이터를 사용할지 결정하는 방식이 OS마다 다르므로, 이를 악용해 방화벽 우회가 가능하다.
graph TD
A[원본 패킷] --> B[공격자의 단편화]
B --> C[단편 1: 오프셋 0, 길이 100, 데이터 X]
B --> D[단편 2: 오프셋 50, 길이 100, 데이터 Y]
C --> E[수신 시스템]
D --> E
E --> F{재조립 정책}
F -- "선점(First)" --> G[오프셋 50-100 구간에 X 데이터 사용]
F -- "후위(Last)" --> H[오프셋 50-100 구간에 Y 데이터 사용]
보안 영향:
- 방화벽과 IDS 우회: 방화벽은 첫 번째 단편을 기준으로 필터링하지만, 대상 시스템은 마지막 단편을 우선시할 수 있다.
- 시스템마다 단편 처리 방식이 다르므로 보안 검사를 우회하는 공격 벡터가 된다.
- 정보 유출과 권한 상승 공격의 기반이 될 수 있다.
방어 및 대응 방안
1. 네트워크 수준 대응
- 단편화 필터링: 비정상적인 단편화 패턴을 감지하고 차단하는 규칙 적용
- 단편화 재조립 검사: 방화벽이나 IDS에서 패킷 재조립 후 검사 수행
- 단편화 제한: 단편의 최소 크기와 최대 수량 제한 설정
- 상태 기반 검사: 단편화된 모든 패킷을 추적하고 완전히 재조립하여 검사
2. 시스템 수준 대응
- 최신 패치 적용: 운영체제와 네트워크 스택의 보안 업데이트 유지
- 취약 프로토콜 비활성화: 불필요한 IP 프로토콜 스택 기능 비활성화
- 패킷 처리 제한: 시스템 자원을 과도하게 소모하는 단편화 패킷 처리 제한
- 로깅 및 모니터링: 비정상적인 단편화 패턴 감지를 위한 네트워크 모니터링
3. 단편화 공격 대응 도구
- 침입 탐지 시스템(IDS): Snort, Suricata 등에 단편화 공격 탐지 규칙 적용
- 침입 방지 시스템(IPS): 실시간으로 비정상 단편화 패턴 차단
- 네트워크 분석 도구: Wireshark를 통한 패킷 단편화 패턴 모니터링
- 보안 방화벽: 단편화 공격 전용 방어 기능 활성화
실제 사례 및 교훈
사례 1: Windows 시스템 취약점 (CVE-2018-4878)
2018년 발견된 취약점으로, 특정 방식의 단편화 패킷이 Windows 시스템의 메모리 손상을 유발했다. 이 취약점은 원격 코드 실행으로 이어질 수 있었으며, Microsoft는 긴급 보안 패치를 배포했다.
사례 2: 방화벽 우회 공격
보안 연구자들은 Fragmentation Overlap 기법을 사용하여 상용 방화벽 제품의 검사를 우회하는 방법을 시연했다. 이 공격은 방화벽이 첫 번째 단편만 검사하고, 목표 시스템이 마지막 단편의 중첩 데이터를 우선시하는 동작 차이를 악용했다.
사례 3: IoT 디바이스 DoS 공격
2019년, 특정 IoT 라우터가 Tiny Fragmentation 공격에 취약하다는 사실이 발견되었다. 공격자는 수천 개의 작은 단편을 전송하여 디바이스의 메모리를 고갈시키고 서비스 장애를 유발했다.
결론
단편화 공격은 IP 프로토콜의 기본 메커니즘을 악용하는 오래된 공격 기법이지만, 여전히 효과적인 공격 벡터로 존재한다. 특히 레거시 시스템, IoT 디바이스, 복잡한 네트워크 환경에서는 더욱 주의가 필요하다.
효과적인 방어를 위해서는 네트워크 계층에서의 이상 탐지, 비정상 패킷 필터링, 시스템 패치 관리가 필수적이다. 또한 보안 전문가들은 이러한 기본적인 네트워크 공격 기법의 원리를 이해하고, 새로운 변형에 대비하는 지속적인 학습이 요구된다.
Keywords
Fragmentation Attack, Teardrop, Tiny Fragmentation, Fragmentation Overlap, IP 단편화, 패킷 중첩, 네트워크 보안, 방화벽 우회, 서비스 거부 공격, MTU
'IT Professional Engineering > SEC' 카테고리의 다른 글
스마트공장 보안요구사항: 제조환경의 디지털 보안 체계 (0) | 2025.06.26 |
---|---|
TCP Wrapper: 네트워크 접근 제어를 위한 호스트 기반 보안 솔루션 (0) | 2025.06.26 |
보안관리 측면 적용 방법: 현대적 접근으로 보안 수준 제고 (0) | 2025.06.26 |
CV.sh: 쉘 스크립트를 활용한 시스템 사용자 DNS 조회 자동화 (0) | 2025.06.26 |
DNS Covert Channel: 보안 경계를 우회하는 은밀한 통신 기법 (0) | 2025.06.26 |