본문 바로가기

자격증/정보보안기사

ARP/RARP 프로토콜(TCP/IP 인터넷 계층)

1. ARP 및 RARP프로토콜의 특징

-논리적인 주소와 물리적인 주소 사이의 변환을 담당하는 프로토콜

-ARP(Address Resolution Protocol) : IP 주소를 MAC 주소로 변환해주는 역할

-RARP(Reverse ARP) : MAC 주소를 IP주소로 변환해주는 역할. 하드디스크가 없는 터미널의 경우에 초기 가동될 때 자신의 MAC 주소를 담아 RARP 요청을 만들어 자신의 IP주소 정보를 받아올 때 사용함. 단, RARP 서버가 구성되어있어야 한다.

2. ARP 동작 방식

출처 : https://xyom.github.io/2018/01/08/ARP%E1%84%85%E1%85%A1%E1%86%AB/

-최초 상대방의 물리적인 주소를 알지 못하기 때문에(상대방의 IP만 알고 있음) ARP Request 메시지를 만들어 Broadcast 한다.

-IP와 같은 B 시스템은 요청자의 MAC 주소로 Unicast로 응답하여 자신의 IP와 MAC 주소 정보를 담아 전송한다.

-ARP Cache에 IP에 매핑된 MAC 주소를 일정 시간(1~2분) 보관해둔다. 그리고 시간이 지나면 삭제한다.

3. ARP Cache Table

-arp -a 명령을 통해 동적과 정적으로 설정된 table을 볼 수 있다.

-dynamic : arp에 의해 동적으로 설정, 일정시간 유지

-static : 관리자에 의해 정적으로 설정, 관리자가 삭제하거나 시스템 종료까지 유지

윈도우에서 arp -a 옵션
Linux에서 arp 명령모음

-arp -a : 캐시 내용 보기

-arp -d : 캐시 내용 삭제

  윈도우는 Cache Table 모두 삭제

  리눅스는 명시한 IP만 삭제

-arp -s : 캐시 정적 설정

4. ARP Spoofing 공격(ARP Cache Poisoning)

출처: KISA 07년 6월 ARP Spoofing 공격 분석 및 대책 보고서 中

-공격자가 희생자 A, B에게 공격자의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 "지속적"으로 전송한다.

why? 지속적인 이유는 ARP Cache Table에 저장되는 정보는 일정시간만 유지되기 때문에 지속적으로 보내야 함

-희생자 A, B의 Cache Table의 MAC정보가 공격자의 MAC정보로 지속적으로 변경해서 스니핑 한다.

-공격자는 희생자 간의 정상적인 통신이 이루어질 수 있도록 IP Forward기능을 활성화한다.

※ARP Spoofing과 ARP Redirect 차이

출처 : https://m.blog.naver.com/jvioonpe/220240268133

-스푸핑은 호스트와 호스트 사이에서의 정보를 스니핑

-리다이렉트는 게이트웨이(라우터) 주소를 공격자의 MAC 주소로 변조하여 외부로 나가는 모든 데이터를 스니핑

5. 대응방법

-ARP 요청 및 응답 과정에서 별도 인증과정이 없기 때문에(ARP 프로토콜 자체 취약점) 완벽한 방어는 없음

-ARP Cache Table을 static(정적)으로 설정하여 reply를 수신하더라도 갱신되지 않게 함

※GARP(Gratuitous ARP)

-Sender IP와 Target IP가 동일한 ARP 요청을 GARP

-다른 장비에게 자신의 존재를 알리는 목적으로 사용되는 패킷

why? IP 충돌 감지, 상대방의 ARP Cache 정보 갱신을 위해 사용