
컴퓨터 세상에서 '눈물(Teardrop)'이라는 단어는 감성적인 의미와는 거리가 멀다. 오히려 시스템 전체를 마비시킬 수 있는 날카로운 비수와 같다. 아주 작은 데이터 조각 하나가 거대한 서버를 멈추게 만드는 이 공격은 초창기 인터넷을 뒤흔들었던 강력한 공격 기법 중 하나이다. 바로 '티어드롭(Teardrop)' 공격 이야기이다. 이 공격은 오래된 고전적인 수법이지만, 그 원리를 이해하는 것은 네트워크 보안의 기초를 다지는 데 매우 중요하다.

티어드롭 공격은 서비스 거부(DoS, Denial of Service) 공격의 한 종류이다. 이 공격의 핵심은 인터넷 통신 규약인 IP(Internet Protocol)의 '단편화(Fragmentation)' 과정에서 발생하는 취약점을 교묘하게 이용하는 것이다. 공격자는 의도적으로 비정상적인 IP 단편 패킷 조각들을 만들어 목표 시스템에 전송한다. 이 조각들을 받은 시스템은 정상적으로 재조립을 하지 못하고, 결국 운영체제에 심각한 오류를 일으켜 시스템 다운이나 재부팅과 같은 상태에 빠지게 된다.

티어드롭 공격을 제대로 이해하기 위해서는 먼저 'IP 단편화'에 대해 알아야 한다. 네트워크를 통해 한 번에 보낼 수 있는 데이터의 크기(MTU, Maximum Transmission Unit)는 정해져 있다. 만약 보내려는 데이터가 이 MTU보다 크면, 데이터를 여러 개의 작은 조각으로 나누어 전송하게 되는데 이 과정을 '단편화'라고 한다.
각각의 조각난 패킷, 즉 단편에는 원래 데이터의 어느 부분에 해당하는지를 알려주는 '오프셋(Offset)'이라는 정보가 포함된다. 수신 측 시스템은 이 오프셋 값을 보고 흩어진 퍼즐 조각을 맞추듯 원래의 데이터로 재조립한다. 예를 들어 첫 번째 조각이 0~499, 두 번째 조각이 500~999의 위치 정보를 가지고 있다면, 시스템은 순서대로 합쳐 하나의 완전한 데이터를 만들어낸다.
티어드롭 공격은 바로 이 '오프셋' 값을 조작하여 시스템을 혼란에 빠뜨린다. 공격의 구체적인 동작 과정은 다음과 같이 살펴볼 수 있다.

- 1단계: 비정상적인 단편 생성: 공격자는 고의로 오프셋 값이 서로 겹치거나 중간에 빈 공간이 생기도록 패킷 단편들을 조작한다. 예를 들어, 첫 번째 패킷의 오프셋이 '0'이고 길이가 '500'이라면, 정상적인 다음 패킷의 오프셋은 '500'이어야 한다. 하지만 공격자는 두 번째 패킷의 오프셋을 '400'과 같이 첫 번째 패킷의 범위와 겹치게 설정한다.
- 2단계: 조작된 패킷 전송: 이렇게 조작된 악성 패킷 단편들을 목표 시스템으로 전송한다.
- 3단계: 재조립 오류 발생: 목표 시스템의 운영체제는 이 비정상적인 패킷들을 재조립하려고 시도한다. 하지만 겹치는 오프셋 값 때문에 어떤 데이터를 버리고 어떤 데이터를 취해야 할지 결정하지 못하는 논리적 오류에 직면한다.
- 4단계: 시스템 마비: 재조립 과정에서 반복적인 오류가 발생하면 운영체제 커널에서 충돌(Kernel Panic)이 일어나고, 결국 시스템이 멈추거나 재부팅되는 서비스 거부 상태가 된다.

사실 티어드롭 공격은 1990년대 후반에 발견된 매우 오래된 공격이다. 따라서 현재 우리가 사용하는 대부분의 최신 운영체제(Windows, Linux 등)는 이 공격에 대한 방어 로직을 갖추고 있어 사실상 거의 통하지 않는다. 패킷 재조립 과정에서 오프셋 값이 겹치는 등의 비정상적인 상황이 감지되면 해당 패킷을 그냥 버리도록 패치되었기 때문이다.
하지만 우리가 이 고전적인 공격을 여전히 주목해야 하는 이유는 따로 있다. 바로 보안이 취약한 구형 시스템이나 제대로 관리되지 않는 IoT 기기, 특정 임베디드 시스템 등에서는 여전히 이와 유사한 단편화 기반 공격이 유효할 수 있기 때문이다. 또한, 티어드롭 공격의 원리를 이해하는 것은 네트워크 프로토콜의 취약점을 어떻게 악용할 수 있는지 보여주는 훌륭한 학습 사례가 된다.
티어드롭 공격 및 이와 유사한 파편화 공격을 막기 위한 기본적인 방어 전략은 무엇일까?

- 최신 보안 패치 유지: 운영체제와 네트워크 장비를 항상 최신 상태로 유지하고 제조사에서 제공하는 보안 패치를 즉시 적용하는 것이 가장 기본적인 방어책이다.
- 침입 방지 시스템(IPS) 활용: 최신 IPS는 비정상적인 IP 단편화 패턴을 탐지하고 해당 패킷을 네트워크 단에서 차단하는 기능을 제공한다.
- 방화벽 설정: 방화벽에서 비정상적인 형태의 조각난 패킷이 유입될 경우 이를 탐지하고 폐기하도록 정책을 설정할 수 있다.

티어드롭은 비록 과거의 유물이 된 공격처럼 보일 수 있지만, 그 안에 담긴 '기본 프로토콜의 허점을 노린다'는 핵심 원리는 오늘날의 정교한 사이버 공격에도 여전히 살아 숨 쉬고 있다. 기본에 충실한 보안 관리만이 우리의 시스템을 안전하게 지키는 가장 확실한 방법이다.

#티어드롭 #Teardrop #DoS #서비스거부공격 #IP단편화 #네트워크보안 #사이버공격 #보안취약점 #해킹
'IT 정보 > 용어' 카테고리의 다른 글
| JNDI란? 이름으로 객체를 찾는 마법, 자바를 위한 전화번호부 (0) | 2025.11.03 |
|---|---|
| 적과 아군 모두 사용하는 침투 테스트 도구, 코발트 스트라이크 비컨 파헤치기 (0) | 2025.11.01 |
| lsass.exe의 정체, 윈도우의 숨은 수호자 LSASS란? (0) | 2025.10.28 |
| NTFS란? Windows 파일 시스템의 심장 Windows에서 NTFS를 써야하는 이유는? (0) | 2025.10.26 |
| FAT이란? 아직도 FAT을 사용한다고? 파일 할당 테이블 정리 (0) | 2025.10.24 |