## **공격 조건** * 공격자는 **ARP 응답을 주고 받을 수 있는 Local Area Network**에 접속해 있어야 한다. 즉, 공격자와 피해자가 같은 로컬 네트워크에 있어야 한다. * ARP는 자체로 신뢰성을 보장하지 않는다. * ARP Req을 검증하지 않고 받아들이는 특징을 악용 * 허브인 경우 모든 트래픽을 네트워크의 모든 장치에 브로드캐스트하므로 공격자는 쉽게 네트워크 트래픽을 모니터링하거나 변경 가능 * 스위치인 경우 MAC 주소 테이블을 사용하여 트래픽을 특정 장치로 전달. * ARP 스푸핑 공격을 통해 스위치의 MAC 주소 테이블을 변조하여 스위치 환경에서도 중간자 공격 가능하게 함 * 장치가 주기적으로 ARP 캐시(ARP Table)를 업데이트지 하지 않거나 캐시가 오래 유지되면위험함 --- ## **공격의 한계** * HTTPS 또는 VPN과 같은 암호화된 트래픽을 사용하는 경우, 공격자가 트래픽을 가로채도 해독하기 어려워 유의미한 데이터 추출 어려움 * 로컬 네트워크에서만 가능한 공격. 물리적 또는 논리적으로 같은 네트워크에 접근할 수 있어야함 * 네트워크 모니터링 툴이나 IDS에 의해 쉽게 탐지될 수 있음 * ARP 스푸핑 공격 시 패킷 손실이 발생하고 네트워크 성능 저하를 사용자가 체감할 수 있다 *** ## **ARP Spoofing 과정** 1. `PC#1`이 **부팅**되면 해당 **Local LAN**으로 **ARP Req**가 **BroadCast** 방식으로 퍼진다 2. `PC#3`에서 조작된 **ARP Res**를 `GW`보다 더 빠르게 `PC#1`에게 보낸다 *** ## **배경 설정** * `PC#1`부터 `R(Router)`까지가 **Local LAN** 구간이라고 한다. * `R(Router)`가 `Gateway`로 설정되어 있다. --- ## **연관 공격** * [[DNS Spoofing]] * ARP Spoofing을 통해 네트워크 내에서 가로챈 트래픽을 활용해 DNS 요청을 변조. 그 후 악의적인 서버로 트래픽 유도 후 공격자 목적에 따라 사용자 자산 탈취 * [[SSL Scripting]] * ARP Spoofing으로 HTTPS 트래픽을 가로챈 후 HTTP로 다운그레이드. 그 후 암호화로 보호되지 않는 트래픽들을 탈취 *** ## **방지 방법** * **DAI(Dynamic ARP Inspection)** * **스위치**에서 지원하는 보안 기능 * 신뢰할 수 있는 IP-MAC의 쌍을 사전에 정의 후 네트워크 트래픽에서 이를 벗어나는 ARP를 차단 * **IP-MAC 바인딩** * 스위치 혹은 라우터에서 특정 IP 주소와 대응되는 MAC 주소를 고성시켜 공격자가 임의로 MAC 주소를 위조하는 것을 방지 * **VPN** * 기본적으로 SSL/TLS 기반의 암호화 통신을 사용하면 ARP 스푸핑으로 가로채더라도 트래픽 내용을 해독할 수 없음. --- ## **관련 도구** * Ettercap * Cabin & Abel * dsniff ***