자격증/정보보안기사

[네트워크 보안] ICMP 프로토콜

집으로가고싶다 2022. 8. 3. 16:53

1. ICMP Protocol

 1) 등장배경 

  □ IP 프로토콜의 비신뢰성

  □ 전송 상태에 대한 관리가 이루어지지 않음

 2) 기능

  □ Error-Reporting Message : 전송 중 오류 발생 시, 에러 메시지 생성 및 응답

  □ Query Message : 네트워크 상태 진단을 위한 쿼리 요청 및 응답

 3) 구조

  □ 32 bit * 3행

  □ 1행

Type(8bit) Code(8bit) CheckSum(16bit)

   - Type : ICMP 메시지 유형

    * Type 3 - Code : Destination Unreachable - 왜 목적지에 도착할 수 없었는지에 대한 세부 내용

    * Type 5 : Redirection(라우팅 경로가 잘못 되었다는 것을 이전 경유지 혹은 호스트에게 알려주는 내용)

    * Type 11 - Code : Time Exceeded(타임 아웃으로 인해 IP Packet 폐기) - 0(by TTL) or 1(by 재조합 과정에서 발생)

    * Type 8: Echo Request(ping 유틸리티 프로그램에 사용, 종단 노드 간에 네트워크 및 호스트 상태 진단 목적)

    * Type 0 : Echo Reply(ping 유틸리티 프로그램에 사용, 종단 노드 간에 네트워크 및 호스트 상태 진단 목적)

   - Code : Type 의 세부 내용

   - CheckSum : ICMP 메시지의 오류 검사를 위한 값

  □ 2행

Rest of the Header(32bit)

   - Rest of the Header : Type, Code 에 따라 추가되는 헤더

  □ 3행

Data Section(32bit)

2. ICMP Redirect

 1) 개념

  □ ICMP Redirect 패킷을 이용하여 패킷 경로를 악의적으로 재설정하는 공격 

 2) 동작 원리

  □ ICMP Redirect 패킷은 그냥 상식적으로 생각해보면 게이트웨이 or 라우터에서 오는 메시지

  □ 공격자는 본인의 IP를 게이트웨이의 IP 인 마냥 속여서 Redirect 메시지를 보냄

  □ 좀 풀어서 얘기하면 공격대상자한테 "마! 니가 1.1.1.1 IP로 전송하고 싶어? 그러면 Gateway IP가 2.2.2.2(공격자 호스트 IP 주소) 인 놈으로 보내!" 라고 하는 것

  □ 즉, 희생자의 라우팅 테이블을 변조하는 공격

  □ 이를 통해 스니핑 실시

 3) 대응 방법

  □ ICMP Redirection 옵션 해제 : sysctl -w net.ipv4.conf.all.accept_redirects=0

 

3. IGMP

 1) 개념

  □ 멀티캐스트(미리 지정한 다수의 컴퓨터에 데이터를 전송하는 기능)를 지원하는 라우터가 멀티캐스트 그룹에 가입한 네트워크 내의 호스트를 관리하기 위해 사용하는 프로토콜

  2) 특징

  □ IGMP를 수행하는 호스트와 멀티캐스트를 허용하는 라우터 사이에서만 이루어지기 때문에 TTL은 1

  □ report , query 메시지 사용