Tear Drop 공격
Tear Drop 공격은 IP 패킷 단편화(Fragmentation) 처리 과정의 취약점을 이용한 서비스 거부(DoS) 공격이다. 핵심은 비정상적으로 조작된 조각(Fragment) 패킷을 보내서 대상 시스템을 오류 상태로 만드는 것이다.
IP 프로토콜에서는 큰 패킷을 네트워크 상황에 맞게 여러 개의 작은 조각으로 나누어 전송할 수 있다. 수신 측에서는 이 조각들을 Fragment Offset 값을 기준으로 다시 원래의 패킷으로 재조합한다. Tear Drop 공격은 바로 이 재조합 과정을 노린다. 공격자는 일부러 조각들의 Offset 값을 겹치게(overlap) 하거나 논리적으로 맞지 않게 만들어 전송한다.
정상적인 시스템이라면 이런 잘못된 패킷을 무시해야 하지만, 과거의 일부 운영체제(특히 오래된 Windows, Linux 커널)는 이런 비정상 조각을 처리하지 못하고 시스템 오류, 커널 패닉, 재부팅, 서비스 중단 같은 문제를 일으켰다. 공격자는 많은 트래픽을 보낼 필요도 없이, 몇 개의 조작된 패킷만으로도 시스템을 멈추게 할 수 있었다.
정리하면 Tear Drop 공격의 특징은 다음과 같다.
IP 단편화(Fragmentation)를 악용한다.
Fragment Offset 값을 겹치게 조작한다.
재조합 과정에서 오류를 유발해 시스템을 다운시킨다.
대표적인 DoS 공격 기법이다.
현재 대부분의 운영체제와 네트워크 장비는 이 취약점이 패치되어 있어 실제 공격 성공률은 낮다.