ARP 스푸핑 공격
ARP는 로컬 네트워크에서 IP 주소와 MAC 주소를 연결하는 데 사용되는 필수 프로토콜입니다. 하지만 신뢰 기반으로 설계된 이 프로토콜에는 본질적인 보안 취약점이 있습니다. 바로 이 점을 노리는 공격이 ARP 스푸핑(ARP Spoofing)입니다.
1. ARP 스푸핑이란?
ARP 스푸핑(ARP Spoofing)은 공격자가 위조된 ARP 패킷을 네트워크에 보내 다른 장비의 ARP 캐시를 속이는 공격입니다. 쉽게 말해, "나(MAC 주소)는 저 IP야!"라고 거짓말을 하는 것입니다.
이 공격은 로컬 네트워크에서 이루어지며, IP 주소와 MAC 주소의 신뢰 관계를 악용하여 트래픽을 가로채거나 조작할 수 있게 합니다.
ARP 스푸핑의 위험성
- 데이터 도청 (Sniffing) : 로그인 정보, 인증 쿠키, 민감한 데이터를 공격자가 중간에서 열람 가능합니다.
- 세션 하이재킹 (Session Hijacking) : 로그인된 세션을 탈취해 사용자인 척 행동이 가능합니다.
- 서비스 방해 (DoS) : 모든 트래픽을 블랙홀로 유도하면 네트워크 사용이 불가능하게 됩니다.
- DNS 스푸핑과 연계 가능 : 가짜 DNS 응답으로 피싱 페이지로 유도합니다.
2. ARP 스푸핑의 동작 원리
a. 정상적인 ARP 흐름
- PC A → "192.168.1.2의 MAC 주소는 뭐야?" (ARP Request)
- PC B → "그건 내 IP야, 내 MAC은 xx:xx:xx:xx야" (ARP Reply)
- PC A는 MAC 정보를 저장하고 통신
b. ARP 스푸핑 흐름
- 공격자 C → "192.168.1.1(IP 주소)는 내 MAC 주소야"라는 위조된 ARP Reply를 브로드캐스트
- 다른 장비들이 공격자의 MAC 주소를 게이트웨이의 MAC으로 착각
- 공격자가 중간자(Man-in-the-Middle)로서 모든 트래픽을 가로채거나 조작 가능
3. 실제 공격 예시
공격 대상: 일반 사용자 PC ↔ 공유기(라우터)
목표: 중간에서 통신 내용을 가로채기
1. 공격자는 공유기의 IP(예: 192.168.0.1)를 자신의 MAC 주소와 연결되도록 ARP 패킷을 조작
2. 사용자 PC는 공유기의 MAC 주소로 공격자의 MAC을 저장
3. 사용자의 패킷은 공격자를 거쳐 공유기로 전달됨
4. 공격자는 모든 트래픽을 열람하거나 변조 가능 (HTTPS가 아니라면 매우 위험)
4. ARP 스푸핑 탐지 방법
a. 수동 탐지
- arp -a 명령어로 ARP 캐시 확인
- 동일한 IP 주소에 여러 MAC 주소가 번갈아 매핑되는 경우 의심
b. 전문 도구
- Wireshark : 의심스러운 ARP Reply 트래픽 분석
- arpwatch : ARP 테이블 변경을 모니터링하고 알림
- XArp : ARP 공격 탐지 전문 프로그램 (GUI 기반)
5. ARP 스푸핑 방어 방법
방법 | 설명 |
정적 ARP 설정 | 서버/게이트웨이 등 중요한 장비는 수동으로 IP-MAC 매핑 설정 |
스위치 포트 보안(Port Security) | 특정 포트에 허용된 MAC 주소만 등록 |
Dynamic ARP Inspection (DAI) | 스위치 단에서 ARP 패킷을 검증하는 기능 (L2 보안 기능) |
HTTPS 사용 | 중간자 공격으로 데이터가 유출되더라도 암호화되어 있어 안전 |
VPN 사용 | 트래픽 자체를 암호화하여 보호 |
6. 마무리
- ARP 스푸핑은 로컬 네트워크에서 IP-MAC 매핑을 조작하여 통신을 가로채는 공격입니다.
- 도청, 세션 탈취, DNS 스푸핑 등 다양한 2차 공격으로 이어질 수 있습니다.
- 정적 ARP, 스위치 보안, HTTPS 등의 대책으로 예방이 가능합니다.
- ARP는 신뢰 기반 프로토콜이기 때문에, 보안은 반드시 네트워크 장비나 애플리케이션 레벨에서 보완해야 합니다.
함께 보면 좋은 자료
블로그 글 :
[ARP와 RARP] IP와 MAC 주소를 연결하는 숨은 조력자들
ARP와 RARP 네트워크 통신은 물 흐르듯 자연스럽게 일어나지만, 그 이면에는 여러 중요한 프로토콜이 조용히 제 역할을 다하고 있습니다. 그중에서도 ARP와 RARP는 네트워크 레벨에서 매우 기본적이
dachaes-devlogs.tistory.com
[GARP] 질문 없는 ARP, 나를 먼저 알리는 네트워크 자기소개서
GARP(Gratuitous ARP) 일반적인 ARP는 “이 IP를 가진 장비의 MAC 주소가 뭐지?”라는 질문을 던지고 그에 대한 응답을 받는 과정입니다. 그런데, 가끔은 질문 없이도 스스로 나서서 "이 IP는 내가 쓰고 있
dachaes-devlogs.tistory.com
'컴퓨터 사이언스 > 보안' 카테고리의 다른 글
[세션 쿠키] 로그인 보안을 위한 세션 쿠키 (0) | 2025.04.22 |
---|---|
[세션 하이재킹] 사용자의 신뢰를 가로채는 공격 (0) | 2025.04.21 |
[Access Token과 Refresh Token] 개발자를 위한 인증 토큰 설명서 (0) | 2025.04.14 |
[JWT의 구조] Header, Payload, Signature의 역할과 의미 (0) | 2025.04.14 |
[JWT] 인증 시스템의 핵심 (0) | 2025.04.14 |