ARP Spoofing 원리와 네트워크 탐지·방어 전략
ARP Spoofing이 ARP 캐시를 오염시켜 중간자 공격으로 이어지는 원리와 트래픽 감청, 탐지, DHCP Snooping 및 DAI 방어 방법을 정리한다.
2026-08-14 · 최초 발행 2025-06-28
ARP 응답이 신뢰되는 방식과 그 빈틈
ARP(Address Resolution Protocol)는 IP 주소에 대응하는 물리적 MAC 주소를 찾기 위해 사용된다. 호스트 A가 호스트 B에 데이터를 전송하려면 먼저 B의 MAC 주소를 알아야 하며, 이때 네트워크에 ARP 브로드캐스트를 보낸다. 해당 IP 주소를 가진 호스트 B는 자신의 MAC 주소를 응답하고, 호스트 A는 이 값을 ARP 캐시 테이블에 기록한 뒤 통신을 진행한다.
문제는 ARP가 응답의 진위를 확인하는 인증 메커니즘을 갖고 있지 않다는 점이다. 수신한 ARP 응답은 검증 없이 캐시에 저장될 수 있으며, 이 설계상의 특성이 ARP Spoofing의 출발점이 된다.
위조된 IP-MAC 매핑이 만드는 중간 경로
ARP Spoofing 또는 ARP Poisoning은 공격자가 위조 ARP 메시지를 보내 데이터 흐름을 자신에게 우회시키는 기법이다. 공격자는 희생자와 게이트웨이 사이의 통신을 가로채기 위해, 게이트웨이의 IP 주소에 자신의 MAC 주소를 연결한 ARP 응답을 희생자에게 보낸다. 동시에 희생자의 IP 주소 역시 공격자의 MAC 주소로 연결한 응답을 게이트웨이에 전송한다.
그 결과 양쪽의 ARP 캐시 테이블이 오염되고, 희생자와 게이트웨이 사이의 통신은 공격자를 거치게 된다. 이 상태가 중간자(Man-in-the-Middle) 공격의 기반이 된다.
트래픽을 장악했을 때 발생하는 위험
공격자는 중간 경로에 위치한 뒤 희생자의 네트워크 트래픽을 감청할 수 있다. 암호화되지 않은 HTTP 트래픽에서는 ID, 비밀번호, 이메일, 메시지 같은 정보가 노출될 수 있으며, 로그인 정보를 획득하는 경우도 있다.
인증 쿠키나 세션 토큰을 탈취하면 사용자의 세션을 장악할 수 있다. 예를 들어 웹 애플리케이션의 세션 쿠키가 유출되면 해당 계정에 접근해 권한을 획득할 수 있다.
패킷 내용 자체를 바꾸는 공격도 가능하다. 공격자는 통신 중인 데이터에 악성 코드를 주입하거나 링크를 변조할 수 있고, 다운로드 중인 파일에 악성코드를 삽입할 수도 있다. 반대로 패킷을 모두 드롭하거나 트래픽을 지연시켜 특정 호스트의 네트워크 연결을 차단하는 서비스 거부 공격도 가능하다.
DNS 요청 조작과 결합될 때는 정상 웹사이트 대신 피싱 사이트로 사용자를 유도할 수 있다. 은행 웹사이트에 접속하려는 사용자가 유사한 피싱 사이트로 리다이렉션되는 방식이 이에 해당한다. 기업 내부 네트워크의 기밀 정보 유출이나 공공 Wi-Fi에서의 사용자 계정 정보 탈취도 빈번하게 발생하고 있다.
캐시 변화와 ARP 트래픽에서 찾는 징후
가장 직접적인 확인 방법은 ARP 캐시 테이블을 관찰하는 것이다. 동일 IP 주소에 연결된 MAC 주소가 자주 바뀌는지 확인한다. 운영체제에서는 다음 명령으로 캐시를 조회할 수 있다.
- Windows:
arp -a - Linux/Unix:
arp -n
네트워크 트래픽 분석도 유효하다. 요청되지 않은 ARP 응답(Gratuitous ARP)이 다수 발생하는지 확인하고, Wireshark와 같은 패킷 분석 도구로 비정상적인 ARP 트래픽 패턴을 점검한다.
IDS/IPS와 네트워크 모니터링 솔루션의 ARP 스푸핑 탐지 기능을 활용하면 비정상 트래픽을 자동으로 감지하고 알림을 받을 수 있다. 주요 시스템에는 정적 ARP 항목을 두고 현재 캐시와 비교하면 변경 사항을 빠르게 식별할 수 있다.
ARP 응답을 제한하고 노출을 줄이는 방법
중요 시스템에서는 게이트웨이와 중요 서버의 IP-MAC 매핑을 정적으로 구성할 수 있다. 정적 항목은 악의적인 ARP 응답으로 변경되지 않는다.
- Windows 예시:
arp -s 192.168.1.1 00-11-22-33-44-55 - Linux 예시:
arp -s 192.168.1.1 00:11:22:33:44:55
ARP 스푸핑 방지 소프트웨어를 이용해 비정상 ARP 패킷을 차단하는 방법도 있다. ArpON, XArp, Arpwatch 등이 이에 사용될 수 있다.
통신 내용의 보호는 HTTPS, SSH, VPN 같은 암호화 프로토콜에 맡긴다. 중요 데이터에는 엔드-투-엔드 암호화를 적용해, 트래픽이 탈취되더라도 내용이 노출되지 않도록 한다.
VLAN으로 브로드캐스트 도메인을 줄이고, 네트워크 액세스 제어(NAC)와 스위치 포트 보안을 함께 적용하는 방식도 필요하다. 스위치에서는 DHCP Snooping과 동적 ARP 검사(DAI)를 사용해 신뢰할 수 있는 포트와 신뢰할 수 없는 포트를 구분하고, IP-MAC 바인딩 테이블을 기준으로 ARP 패킷을 검증할 수 있다.
사용자 교육도 방어 체계의 일부다. 공공 Wi-Fi 사용 시 VPN 활용을 권장하고, 의심스러운 네트워크 활동을 보고할 수 있는 체계를 마련해야 한다.
기업 네트워크에서 지속적으로 관리할 영역
기업 환경에서는 네트워크, 호스트, 애플리케이션 레벨의 보호 조치를 함께 운용해야 한다. 기술적 대응과 관리적 대응을 분리하지 않고 다층 방어 체계로 묶는 방식이 필요하다.
실시간 네트워크 트래픽 모니터링, 이상 징후 탐지와 자동 알림, 보안 이벤트 로깅 및 분석을 통해 공격 징후를 지속적으로 확인한다. 정기적인 네트워크 취약점 점검과 보안 패치·업데이트 관리, 불필요한 서비스 및 포트 차단도 병행한다.
ARP Spoofing이 발생했을 때의 대응 절차는 미리 문서화해야 한다. 담당자를 지정하고 훈련하며, 피해를 최소화하고 복구하기 위한 방안을 준비한다. ARP의 인증 부재를 완전히 없애기 어려운 만큼, 캐시 통제와 암호화, 네트워크 분리, 모니터링과 대응 절차를 함께 갖추는 것이 방어의 기반이 된다.