본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

ICMP 리다이렉트 공격(ICMP Redirect Attack)은 ICMP Redirect 메시지를 위조해 피해 호스트에게 공격자의 시스템이 목적지로 가는 더 나은 라우터라고 알려, 피해 호스트의 패킷이 공격자를 거쳐 나가도록 경로를 바꾸는 네트워크 계층 공격이다.

ICMP Redirect(타입 5)는 원래 라우터가 같은 네트워크의 호스트에게 "이 목적지로는 다른 라우터로 보내는 편이 빠르다" 고 알려 주는 정상 메시지다. 호스트는 이 메시지를 받으면 라우팅 테이블에 해당 목적지의 경로를 새로 기록한다. ICMP 는 인증 기능이 없으므로, 공격자가 기본 게이트웨이를 사칭해 이 메시지를 만들어 보내면 피해 호스트는 그대로 믿고 공격자를 그 목적지의 라우터로 등록한다.

그 뒤로 피해 호스트가 그 목적지로 보내는 패킷은 공격자에게 먼저 간다. 공격자는 패킷을 엿본 뒤 진짜 게이트웨이로 넘겨 주므로 통신은 끊기지 않고, 피해자는 가로채기를 알아채기 어렵다. 그래서 주로 스니핑의 수단으로 쓰인다.

  1. 공격자가 피해 호스트와 같은 네트워크에 있다
  2. 공격자가 출발지를 기본 게이트웨이 주소로 위조한 ICMP Redirect 메시지를 피해 호스트에 보낸다. "목적지 X 로 가는 더 나은 라우터는 공격자의 IP" 라는 내용이다
  3. 피해 호스트가 라우팅 테이블에 목적지 X → 공격자 경로를 추가한다
  4. 피해 호스트의 X 행 패킷이 공격자를 거친다. 공격자는 IP 포워딩을 켜 두고 패킷을 진짜 게이트웨이로 넘긴다

비슷한 공격과 구분

편집 원본 편집
공격 계층 속이는 것 결과
ICMP 리다이렉트 3계층(네트워크) ICMP Redirect 메시지로 라우팅 테이블 특정 목적지의 패킷이 공격자를 거친다
ARP 리다이렉트 2계층 ARP 응답으로 ARP 캐시(게이트웨이 IP 에 공격자 MAC) 게이트웨이로 가는 모든 프레임이 공격자에게 온다
IP 스푸핑 3계층 패킷의 출발지 IP 주소 다른 호스트로 가장해 신뢰 관계를 악용한다
DNS 스푸핑 응용 계층 DNS 응답(도메인의 IP 주소) 사용자가 공격자의 서버로 접속한다
이메일 스푸핑 응용 계층 메일의 발신자 주소 다른 사람이 보낸 메일처럼 보이게 한다 → 이메일 인증

"스니핑 시스템을 네트워크의 또 다른 라우터라고 알려 패킷 흐름을 바꾸는 네트워크 계층 공격" 은 ICMP 리다이렉트다. 라우터인 척하는 점은 ARP 리다이렉트도 같지만 ARP 리다이렉트는 2계층에서 MAC 주소를 속인다.

  • 호스트가 ICMP Redirect 를 받아들이지 않게 한다. 리눅스는 net.ipv4.conf.all.accept_redirects = 0, net.ipv4.conf.all.secure_redirects = 0
  • 라우터가 아닌 호스트는 Redirect 를 보내지도 않게 한다(send_redirects = 0)
  • 방화벽에서 외부·내부의 ICMP 타입 5 를 막는다
  • 라우팅 테이블(route, ip route)에 모르는 경로가 생겼는지 점검한다