ARP Spoofing(ARP Poisoning)

ARP Spoofing(ARP Poisoning)같은 네트워크(LAN) 안에서 ARP 프로토콜의 신뢰 구조를 악용해 통신을 가로채거나 조작하는 공격이다. 핵심은 IP 주소와 MAC 주소의 대응 관계를 속여 공격자를 중간에 끼워 넣는 것이다.

먼저 배경부터 정리하자. LAN 환경에서 실제 통신은 IP가 아니라 MAC 주소를 기준으로 이루어진다. 그래서 컴퓨터는 “이 IP 주소를 가진 장비의 MAC 주소가 무엇인가?”를 알아내기 위해 ARP 요청(ARP Request)을 브로드캐스트로 보낸다. 정상이라면 해당 IP를 가진 장비가 자신의 MAC 주소를 알려준다. 이 과정에서 ARP는 인증이나 검증 기능이 없다는 것이 문제의 출발점이다.

ARP Spoofing 공격에서는 공격자가 이 점을 이용한다. 공격자는 피해자와 게이트웨이(라우터)에게 거짓 ARP 응답을 지속적으로 보낸다. 예를 들어 피해자에게는 “게이트웨이 IP의 MAC 주소는 나다”라고 속이고, 게이트웨이에게는 “피해자 IP의 MAC 주소는 나다”라고 속인다. 그러면 피해자와 게이트웨이의 ARP 테이블이 오염되고, 양쪽의 트래픽이 모두 공격자에게 먼저 전달되는 구조가 된다.

이 상태가 되면 공격자는 여러 가지 공격을 할 수 있다. 가장 대표적인 것이 스니핑(MITM, Man-In-The-Middle)이다. 통신 내용을 몰래 엿보거나 계정 정보, 세션 쿠키를 탈취할 수 있다. 또한 패킷을 변조해 세션 하이재킹, 악성 코드 삽입, 통신 차단(DoS)도 가능하다. 즉, ARP Spoofing은 단독 공격이라기보다는 다른 공격의 기반 기술로 매우 중요하다.

특징을 정리하면 다음과 같다.
ARP Spoofing은 LAN 내부 공격이다.
IP–MAC 매핑을 속인다.
거짓 ARP Reply를 사용한다.
중간자 공격(MITM)의 대표적인 기법이다.

대응 방법도 함께 기억해 두는 것이 좋다. 동적 ARP 대신 정적 ARP 테이블을 사용하거나, 스위치에서 ARP 검사(Dynamic ARP Inspection)를 활성화한다. 또한 암호화 통신(HTTPS, SSH)을 사용하면 스니핑으로 정보가 노출되는 것을 줄일 수 있다. IDS/IPS를 통해 비정상적인 ARP 트래픽을 탐지하는 것도 일반적인 대응이다.

정리하면, ARP Spoofing은
“ARP의 신뢰를 악용해 공격자가 중간에 끼어드는 공격”이며,
스니핑·세션 하이재킹의 출발점이 되는 매우 중요한 개념이다.