Smurfing Attack(Smurf 공격)

Smurfing Attack(Smurf 공격)ICMP 프로토콜과 브로드캐스트 기능을 악용한 서비스 거부(DoS) 공격이다. 핵심은 공격자가 직접 공격하지 않고, 제3자 네트워크를 이용해 공격 트래픽을 증폭시킨다는 점이다.

기본 구조부터 보자. 공격자는 ICMP Echo Request, 즉 핑(ping) 요청을 보낸다. 그런데 이 핑 요청의 출발지 IP 주소를 공격 대상 서버의 IP로 위조한다. 그리고 이 패킷을 일반 호스트가 아니라 브로드캐스트 주소로 보낸다. 브로드캐스트 주소는 같은 네트워크에 있는 모든 장비에게 패킷을 전달한다.

이제 문제가 발생한다. 브로드캐스트로 전달된 ICMP 요청을 받은 네트워크 내부의 수많은 호스트들은, 정상 동작에 따라 Echo Reply(응답)를 보낸다. 그런데 출발지 IP가 위조되어 있으므로, 이 응답들은 전부 공격 대상 서버로 향한다. 결과적으로 공격자는 작은 수의 패킷만 보냈는데, 공격 대상은 수십 배, 수백 배로 증폭된 ICMP 응답을 한꺼번에 받게 된다. 이로 인해 네트워크 대역폭이나 시스템 자원이 고갈되어 정상 서비스가 불가능해진다.

정리하면 Smurf 공격의 핵심 요소는 세 가지다.
첫째, ICMP Echo Request 사용
둘째, 출발지 IP 위조(IP Spoofing)
셋째, 브로드캐스트 주소를 이용한 트래픽 증폭

보안 관점에서 Smurf 공격은 증폭 공격(Amplification Attack)의 대표적인 예로 분류된다. 공격자는 자신의 흔적을 숨기기 쉽고, 적은 자원으로 큰 공격 효과를 낼 수 있기 때문에 과거에 매우 위협적이었다.

이 공격에 대한 대응 방법도 비교적 명확하다. 네트워크 장비에서 브로드캐스트 주소로 들어오는 ICMP 요청을 차단하고, 라우터에서 IP Spoofing 방지 설정을 적용한다. 또한 대부분의 현대 운영체제와 라우터는 기본적으로 브로드캐스트 ICMP 응답을 하지 않도록 설정되어 있어, 예전보다 발생 빈도는 크게 줄었다.

Smurf 공격은 ICMP 기반 DoS 공격이다.
브로드캐스트 주소와 IP 스푸핑을 사용한다.
제3자 시스템을 이용해 공격 트래픽을 증폭시킨다.