ARP Poisoning 공격 개념
o 일반적인 통신 절차
사용자 계층에서는 통신을 위하여 IP주소를 이용한다. 그러나, 실제 LAN 네트워크
통신상에서는 IP 주소가 아닌 하위 계층인 MAC 주소에 의하여 통신이 이루어지게 된다.
실제, 통신을 위하여는 사용자가 사용하는 IP주소와 실제 물리 적인 MAC 주소와의
매핑과정이 필요하게 되는데, 상대IP에 대한 MAC 주소를 파악하는데,
ARP 프로토콜이 이용되게 된다. 과정은 아래와 같다 .
PC A는 PC B와 통신하기 위하여 MAC 주소를 알아야 하는데, MAC주소를 파악하기 위하여,
PC B IP에 해당하는 MAC 주소가 무엇인지를 묻는 ARP패킷을 로컬 네트워크에 Broadcasting 함.
ARP 패킷을 받은 PC B 는 자신의 MAC주소를 요청하고 있음을 확인하고 자신의
MAC정보를 ARP 패킷에 담아 Reply 함.
PC A는 PC B가 보내준 ARP 패킷 내의 MAC정보를 확인한 후, 통신을 시작함.
또한, PC A는 PC B의 IP 정보와 MAC 정보를 테이블로 만들어 Cache에 저장함.
이후에는 PC A 가 PC B 와 통신할 경우,ARP 과정을 거치지 않고 Cache 테이블을 참조하여 통신함
★ ARP poisoning 공격 예
ARP 프로토콜 통신방식은 공격자에게 악용될 수 있다. 즉, 공격대상 서버 또는 라우터에
주기적으로 위조된 ARP Reply 패킷을 전송하여, 모든 트래픽이 공격자를 거치고 가도록 할 수 있다.
공격자는 이러한 방법을 통하여 통신자료를 유출하거나 각종 악의적인 행위를 할 수 있게 된다.
<공격 절차 상세 예>
①주기적으로 위조된 ARP Reply 패킷을
전송하여, 공격대상 PC의 ARP Cache에
공격자의 MAC 주소가 저장되도록 함
②PC A가 PC B로 통신을 할 경우,
PC A의 ARP cache에 존재하는
조작되어 있는 MAC주소를 참조하게
되므로 패킷은 공격자에게로 전송됨.
※ 공격자 PC에서는 패킷 스니퍼링 후 패킷을 PC B로 Forwarding하므로 통신장애는 발생하지 않음.