ARP 스푸핑의 개요
ARP 스푸핑의 정의
근거리 통신망 하에서 주소 결정 프로토콜(ARP) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법
ARP 스푸핑의 개념도
ARP 스푸핑의 증상과 탐지기법
ARP 스푸핑 발생 증상
- 공격시스템 또한 네트워크 사용량 증가 (ARP 조작 패킷 발송, 악성코드 프로세스 가동)
증상 |
원인 |
탐지요소 |
네트워크 속도 저하 |
통신을 가로채어 재전송하는 시스템이 있기 때문에 네트워크 속도의 저하가 발생 |
NMS, APM |
악성코드가 실행 |
주로 웹페이지가 공통적으로 사용하는 태그를 인식하여 악성코드가 시작되는 head, title 등의 태그 주변에 삽입 (fragmentation 방지) |
패킷 분석기 |
ARP 패킷 다량 수신 |
조작한 ARP 패킷을 지속적으로 발송 |
ARP 감시도구 |
ARP 스푸핑 탐지 기법
- 네트워크 상에서도 동일하게 ARP table 및 패킷 분석을 통한 탐지 가능
탐지 기법 |
설명 |
주요 도구 |
ARP table을 통한 MAC 주소 중복 확인 |
ARP table을 조회 후 주변 시스템 IP, MAC 주소를 확인 |
arp -a, nmap 등 |
송수신 패킷에서 악성코드 유무 검사 |
서버로부터 송신되는 패킷에 악성코드가 삽입되어 있는지 확인 |
tcpdump, Wireshark, 패킷뷰어 등 |
비정상적인 ARP 패킷 수신 확인 |
ARP 패킷을 수집하여 분석해 보면 필요 이상의 reply 패킷 확인 |
arp -a tcpdump arp |
Arp table 감시도구 활동 |
ARP table의 cache 상태, 동일 IP에서 MAC 주소가 변경된 시점 표시 |
Sniffswitch, Xarp 등 |
ARP 스푸핑 방어 대책
시스템에서의 ARP 스푸핑 방어 대책
대책 |
설명 |
구현 방안 |
정적인 ARP table 관리 |
시스템의 IP, MAC 주소를 입력하는 스크립트 지정하거나 실행하도록 하여 재부팅 시에도 항상 정적인 ARP table이 관리 |
Windows: 시작 프로그램, Linux: rc3.d 추가 |
ARP 스푸핑 서버로 악용되지 않도록 보안 수준 강화 |
침입자가 설치한 프로그램으로 인해 악용되지 않도록 서버 보안 수준 강화 |
OS 보안 설정 및 서비스 보안 관리 |
중요 패킷의 암호화 |
중요 데이터가 송수신될 경우 공격자에 의해 유출되거나 변조될 수 있으므로 이러한 데이터에 대한 암호화 |
SSL, 공인인증서 |
네트워크 장비에서의 ARP 스푸핑 방어 대책
증상 |
원인 |
주요 도구 |
MAC Flooding 제어 및 정적인 MAC 주소 관리 |
MAC 주소의 개수나 특정 MAC 주소 지정, 네트워크 장비와 Host 시스템 양측에서 모두 정적인 ARP 관리 |
Port security |
ARP 패킷 검사 |
방화벽의 동작과 유사하게 지정된 경로로만 ARP 패킷이 전송되도록 하는 기능을 사용 |
ARP Inspection |
사설 VLAN 기능 활용 |
사설 VLAN 기능을 활용하여 서로 통신할 필요가 없는 서버들을 격리 |
VLAN |