1. ARP란?
📌 ARP (Address Resolution Protocol)
- OSI 2계층 (데이터 링크 계층)에서 동작
- IP 주소 → MAC 주소를 매핑해주는 프로토콜
- LAN 내에서 통신할 때 목적지 MAC 주소를 알아내기 위해 사용
📌 작동 방식
- Host A: “192.168.0.5의 MAC 주소가 뭐야?” (
ARP Request) - Host B: “나야, 내 MAC은 xx:xx:xx:xx:xx:xx야” (
ARP Reply) - Host A는 이 응답을 ARP 테이블에 저장하여 이후에는 요청 없이 사용
2. ARP 스푸핑이란?
📌 정의
ARP 스푸핑(ARP Spoofing)은 공격자가 허위 ARP Reply를 보내서,
피해자의 ARP 테이블에 잘못된 MAC 주소를 등록시키는 공격입니다.
결과적으로, 트래픽을 가로채거나 변조, 차단할 수 있게 됩니다.
3. 공격 원리
💥 공격 흐름 예시
환경
- Victim: 192.168.0.10
- Gateway: 192.168.0.1
- Attacker: 192.168.0.50
📍 1단계: ARP Reply 위조
Attacker → Victim:
“나는 192.168.0.1 (게이트웨이)야. MAC은 XX:XX:XX:XX:XX:XX야”
Attacker → Gateway:
“나는 192.168.0.10 (Victim)야. MAC은 XX:XX:XX:XX:XX:XX야”
Victim과 Gateway의 ARP 테이블이 공격자의 MAC으로 덮어쓰기됨.
📍 2단계: 트래픽 하이재킹 (MITM)
- 이제 Victim의 모든 트래픽은 공격자 → 게이트웨이로 우회됨
- 공격자는 트래픽을 보기, 수정, 저장할 수 있음
- 이후 게이트웨이로 전달되므로 피해자는 눈치채기 어려움
4. ARP 스푸핑 영향
| 영향 범위 | 설명 |
|---|---|
| ✅ 정보 유출 | 로그인 정보, 쿠키, 개인정보 등 가로채기 |
| ❌ 세션 탈취 | 세션 하이재킹 (ex: 웹 로그인 유지된 상태 탈취) |
| ⚠️ 트래픽 변조 | 패킷 내용을 위조하거나 중간에서 조작 |
| ⛔ 서비스 거부 | 목적지로 트래픽 전달하지 않아 통신 차단 가능 (DoS) |
5. ARP 스푸핑 탐지 방법
📌 수동 탐지
- ARP 테이블 확인:
arp -a
→ 동일한 MAC 주소가 여러 IP에 등록되어 있으면 의심
- 패킷 스니핑 도구 사용:
- Wireshark, tcpdump 등으로 ARP 패킷 모니터링
📌 도구 기반 탐지
- XArp, ARPWatch, Ettercap (공격자도 사용)
- 보안 솔루션에서 의심되는 ARP 패킷 탐지
6. 방어 및 대응 방법
✅ 1. 정적 ARP 테이블 설정 (중소 네트워크에 적합)
# Windows 예시
arp -s 192.168.0.1 00-11-22-33-44-55
# Linux 예시
ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 dev eth0
→ 수동으로 지정한 MAC 주소만 신뢰
✅ 2. 동적 ARP 방어 시스템 도입
| 보안 기능 | 설명 |
|---|---|
| Dynamic ARP Inspection (DAI) | 스위치에서 ARP 패킷의 MAC/IP 일치 여부 확인 (Cisco 스위치) |
| Port Security | 허용된 MAC 주소 외에는 포트 차단 |
| DHCP Snooping 연계 | 신뢰된 포트에서만 DHCP 응답 허용 → ARP 검증에 활용 |
✅ 3. 암호화 사용
- HTTPS, SSH 등 암호화된 프로토콜 사용 → 중간자 공격시에도 안전성 향상
7. 요약 정리
| 항목 | 내용 |
|---|---|
| 동작 계층 | OSI 2계층 (데이터 링크 계층) |
| 공격 방식 | 허위 ARP 응답으로 MAC 주소 위조 |
| 주요 목적 | 중간자 공격, 정보 탈취, 서비스 방해 |
| 탐지 방법 | ARP 테이블 확인, 스니핑 도구 사용 |
| 방어 방법 | 정적 ARP, DAI, Port Security, 암호화 사용 등 |
💡 보너스: 실습 예시 (공격 도구)
| 도구 | 설명 |
|---|---|
| Ettercap | GUI 기반 MITM 도구 |
| arpspoof | CLI 기반 ARP 스푸핑 도구 (Kali Linux 포함) |
| Bettercap | 강력한 MITM 프레임워크 |
⚠️ 실습은 반드시 허가된 테스트 환경에서만 사용하세요. 실제 네트워크에서 사용 시 불법입니다.