본문 바로가기
Network

ICMP Flooding (Ping Flooding)

by ㅇㅅㅇ.. 2024. 11. 23.

ICMPv4(Internet Control Message Protocol version 4)

TCP/IP 기반의 인터넷 프로토콜(IP)과 조합하여 통신 중에 발생하는 오류 처리와 전송 경로의 변경 등을 위한,

제어 메세지를 취급하는 무연결 전송용의 프로토콜이다. (네트워크 계층에 속함.)

IP 프로토콜은 신뢰성을 보장하지 않는 프로토콜로 error-reporting, error-correcting 기능이 없고,
이러한 단점을 보완하기 위해 설계된 것이 ICMP이다.

 

ICMP 메세지는 크게 Error-reporting messasgeQuery messages로 나눌 수 있다.

 

  • Error-reporting messages
    ICMP의 주된 임무 중 하나는 IP 데이터그램의 프로세싱 동안 발생하는 오류를 출발지(송신자)에게 보고하는 것이다. 
    발생한 오류는 수정하지 않고 보고만 하는 것이며, 오류수정은 TCP와 같은 상위 계층 프로토콜에 맡긴다.
    (데이터그램으로부터 알 수 있는 경로에 대한 정보는 Source, Dest 주소밖에 없기 때문)
  • Query messages
    네트워크에서 특정 정보를 요청하고 응답받는 데 사용되는 메세지로 호스트나 라우터가 활성화되었는지 확인하거나, 두 장치 간의 데이터 전송 시간과 같은 네트워크 상태 정보를 파악할 수 있다.

 

+ping

ping 명령어 또한 ICMP를 이용한다.

ICMP 타입 중에서 Echo Request(Type 8)를 지정하여 대상 시스템으로 ICMP 패킷을 전송하고,

그 대상 시스템으로부터 Echo Reply(Type 0) 패킷을 수신함으로써 접근성을 확인한다.


ICMP Flooding

피해서버로 대량의 ICMP Request 패킷을 생성해 전송하여 피해서버의 네트워크 대역폭을 고갈시키는 공격.

 

DNS, NTP, SNMP 등의 프로토콜에서 발생하는 반사공격(Reflection Attack)의 경우 요청보다 응답 크기가 훨씬 큰 경우가 많아
증폭효과가 나타나지만 ( ex. 공격자가 1MB 요청을 보내면 피해자는 50MB 응답을 받을 수 있다 -> 50배 증폭 )

 

ICMP 기반 공격은 증폭이 거의 발생하지 않으므로, 공격 규모는 공격자가 보유한 대역폭에 의존하게 된다.
( ICMP Echo Request를 보내면 응답(Echo Reply)이 거의 동일한 크기이기 때문 )