[네트워크] ICMP Redirect Attack

이희수·2025년 2월 7일

네트워크

목록 보기
4/4

ICMP란?

ICMP(Internet Control Message Protocol): 인터넷 제어 메시지 프로토콜, 오류 메시지를 전송받는데 주로 쓰임

ICMP 패킷 헤더 구조

ICMP Type: ICMP의 메시지를 구별
ICMP Code: 메시지 내용에 대한 추가 정보
ICMP Checksum: ICMP 값의 변조 여부를 확인
ICMP 메시지1,2: ICMP TYPE에 따라 내용이 가변적으로 들어가는 내용

결국 ICMP 는 TYPE에 따라 종류가 다양하다.

ICMP Redirect Attack

ICMP Redirect 란 라우터가 더 효율적인 경로가 있을 때 경로를 재설정하기 위해 전송되는 ICMP TYPE(5)으로, ICMP Redirect Attack은 이 메시지를 악용한다.

공격자가 자기가 라우터인척 메시지를 보내서, 모든 메시지를 자기에게 오게하고 정상적인 흐름처럼 보여준다.

정상적인 ICMP Redirect 패킷 흐름도

위 처럼 더 효율적인 경로가 있을 경우, 자신이 더 효율적이라고 알린다.

악의적인 ICMP Redirect Attack

위처럼 ATTACKER가 자신이 라우터인 척, 더 효율적인 경로라고 자기를 이용하라고 보낸다.

그럼 PC1은 ATTACKER가 더 효율적인 라우터인 줄 알고, ATTACKER를 라우터로 사용하고, ATTACKER는 PC1과 Target 사이의 모든 패킷을 정상적인 것 처럼 주고 받고 하면서 모든 패킷을 볼 수 있게 된다.

대응 방법

ICMP Redirect 설정인 accept_redirects 를 0으로 설정한다.

sysctl -w net.ipv6.conf.all.accept_redirects=0

대부분의 OS에서 보안상의 이유로 이미 설정이 되어있다!

profile
백엔드 개발자로 살아남기

0개의 댓글