본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
ICMP Flooding; ICMP Flood, Ping Flood, 핑 플러딩
ICMP Echo Request(ping) 같은 ICMP 패킷을 대상에게 대량으로 보내 네트워크 대역폭과 시스템 처리 자원을 소진시키는 서비스 거부 공격

ICMP 플러딩은 네트워크 진단용으로 쓰이는 ICMP 메시지를 양으로 밀어붙이는 공격이다. 대상 호스트는 들어오는 Echo Request 마다 Echo Reply 를 만들어 돌려보내야 하므로, 회선 대역폭과 CPU 를 함께 소모한다. 패킷의 모양 자체에는 이상이 없고 개수가 많을 뿐이라는 점에서, 비정상적인 패킷으로 시스템의 처리 결함을 건드리는 공격(티어드롭, Ping of Death)과 구별된다.

공격자 한 대의 대역폭으로는 효과가 작기 때문에 실제로는 좀비 PC 여러 대를 쓰는 분산 서비스 거부 공격의 한 유형(대역폭 소진형)으로 나타나는 경우가 많다. 출발지 IP 를 위조하면 응답이 위조된 주소로 가므로 공격자는 자기 회선을 아낄 수 있다.

  • 대상 IP 로 ICMP Echo Request 를 쉬지 않고 대량 전송한다
  • 응답을 기다리지 않고 보내는 것이 보통이며, 큰 크기의 패킷을 섞어 대역폭 소진을 노리기도 한다
  • 출발지 IP 를 위조(IP 스푸핑)하면 추적이 어려워진다
  • Echo Request 외에 Destination Unreachable, Timestamp 같은 다른 ICMP 유형을 쓰기도 한다

비슷한 공격과의 구별

편집 원본 편집
공격 무엇을 이용하나 ICMP 플러딩과 다른 점
스머프 공격 출발지를 대상 IP 로 위조한 ICMP Echo Request 를 브로드캐스트 주소로 보냄 공격자가 직접 대상에게 퍼붓지 않고, 네트워크의 여러 호스트가 대신 Echo Reply 를 대상에게 보내게 하는 증폭 공격이다
Ping of Death 최대 크기(65,535바이트)를 넘는 ICMP 패킷 개수가 아니라 크기로 재조합 과정의 버퍼 문제를 일으킨다
티어드롭 공격 오프셋이 겹치거나 어긋난 IP 단편 단편 재조합 오류를 노린다. 프로토콜이 ICMP 일 필요가 없다
UDP 플러딩 대량의 UDP 패킷 같은 대역폭 소진형이지만 프로토콜이 UDP 이다. 닫힌 포트로 오면 대상이 ICMP Port Unreachable 를 만들어 보내므로 부하가 더해진다
SYN 플러딩 TCP SYN 만 보내고 응답하지 않음 대역폭보다 연결 대기 큐를 채운다
  • 경계 라우터·방화벽에서 ICMP 를 유형별로 허용 범위를 정하고, 외부에서 들어오는 Echo Request 의 초당 허용량을 제한(rate limit)한다
  • 꼭 필요한 ICMP(경로 MTU 탐색에 쓰는 Fragmentation Needed 등)는 막지 않는다. ICMP 를 통째로 차단하면 네트워크 진단과 MTU 조정이 깨진다
  • 운영체제에서 ICMP 응답 속도를 제한한다. 리눅스는 net.ipv4.icmp_ratelimit, net.ipv4.icmp_echo_ignore_all 같은 커널 변수를 둔다
  • 대량 공격은 회선 앞단에서 걸러야 하므로 DDoS 방어 장비나 통신사·클라우드의 트래픽 세척(scrubbing) 서비스를 쓴다