ARP (Address Resolution Protocol)

1. ARP란?

📌 ARP (Address Resolution Protocol)

  • OSI 2계층 (데이터 링크 계층)에서 동작
  • IP 주소 → MAC 주소를 매핑해주는 프로토콜
  • LAN 내에서 통신할 때 목적지 MAC 주소를 알아내기 위해 사용

📌 작동 방식

  1. Host A: “192.168.0.5의 MAC 주소가 뭐야?” (ARP Request)
  2. Host B: “나야, 내 MAC은 xx:xx:xx:xx:xx:xx야” (ARP Reply)
  3. 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, 암호화 사용 등

💡 보너스: 실습 예시 (공격 도구)

도구설명
EttercapGUI 기반 MITM 도구
arpspoofCLI 기반 ARP 스푸핑 도구 (Kali Linux 포함)
Bettercap강력한 MITM 프레임워크

⚠️ 실습은 반드시 허가된 테스트 환경에서만 사용하세요. 실제 네트워크에서 사용 시 불법입니다.

Leave a Comment