핵심 인사이트 (3줄 요약)

  1. 본질: ARP 캐시 오염(Cache Poisoning) 또는 ARP 스푸핑(Spoofing)은 해커가 조작된 가짜 ARP 응답 메시지를 계속 뿌려, **동네 PC들의 ARP 수첩(테이블)에 적힌 게이트웨이(공유기)의 MAC 주소를 "해커 자신의 MAC 주소"로 덮어쓰게 만드는 악랄한 중간자 공격(MITM)**이다.
  2. 취약점 (ARP의 맹목적 신뢰): ARP 프로토콜은 상대방이 진짜 그 IP의 주인이 맞는지 암호학적으로 인증하는 기능이 아예 없으며, 심지어 "내가 묻지도 않은 대답(G-ARP)"이 날아와도 무조건 믿고 자기 수첩을 갱신해 버리는 치명적인 '팔랑귀' 특성을 악용한 것이다.
  3. 파급 효과 (패킷 도청): 공격에 당한 피해자 PC들은 인터넷(공유기)으로 나간다고 쏜 패킷을 모조리 해커의 노트북으로 던지게 되며, 해커는 이 패킷들을 유유히 뜯어보며 비밀번호를 탈취(Sniffing)한 뒤, 들키지 않게 진짜 공유기로 다시 토스(Relay)해 준다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: 희생자의 ARP 캐시 테이블을 변조하여 근거리 통신망(LAN) 내의 트래픽을 가로채는 해킹 기법.

  • 배경: 1980년대 ARP가 처음 만들어질 땐 컴퓨터 네트워크에 낭만과 신뢰가 넘쳤다. "설마 거짓말로 자기 MAC을 속이는 미친놈이 있겠어?"라는 안일한 생각으로 인증(Authentication) 절차를 단 한 줄도 넣지 않았다. 이 보안 결함은 오늘날까지도 고쳐지지 않고 이어져, LAN 환경에서 가장 방어하기 까다로운 1순위 해킹 기법이 되었다.

  • 💡 비유: 회사 로비에서 우편물(패킷)을 모아 우체국(라우터)으로 가져가는 전담 우체부 아저씨가 있습니다. 어느 날 해커가 우체부 옷을 똑같이 입고 나타나, 직원들에게 **"오늘부터 내가 진짜 우체부(라우터)니까 편지는 무조건 나한테 줘!"**라고 거짓말(스푸핑)을 합니다. 직원들은 아무 의심 없이 해커에게 편지를 다 넘겨주고, 해커는 벤치에 앉아 남의 연애편지를 다 뜯어보고 다시 풀을 붙여 진짜 우체국에 몰래 갖다 줍니다.

📢 섹션 요약 비유: ARP 스푸핑은 동네 내비게이션(ARP 테이블) 앱을 해킹해서, "서울 가는 고속도로 톨게이트(라우터)" 목적지 좌표를 **"산골짜기 해커의 아지트(해커 MAC)"**로 몰래 바꿔치기하여 모든 차량을 납치하는 톨게이트 사기극입니다.


Ⅱ. 공격의 3단계 시나리오와 방어 대책 (Deep Dive)

1. 스푸핑 공격의 완벽한 3단계 (MITM)

  • 정상 상태: 피해자 PC(IP: 10번, MAC: AA) ──▶ 진짜 공유기(IP: 1번, MAC: RR)로 통신 중.
  • 해커 난입: 해커 노트북(IP: 99번, MAC: HH)이 같은 사무실 랜선에 몰래 꽂혔다.
  1. 독약 살포 (Poisoning): 해커가 칼리 리눅스(arpspoof 툴 등)를 켜서 1초에 한 번씩 위조된 ARP 응답(Reply)을 방송한다. "여러분! 게이트웨이(1번)의 MAC 주소는 RR이 아니라 내 MAC인 HH입니다!"
  2. 수첩 오염 (Table Update): 피해자 PC는 이 거짓말을 무지성으로 믿고 자기 ARP 테이블에 1번 = HH(해커)라고 수정해 버린다.
  3. 가로채기와 릴레이 (Sniffing & Relay): 이제 피해자 PC가 네이버 아이디/비밀번호를 로그인해서 보낸다. 이 패킷은 1번(게이트웨이)을 향해 쏘아졌지만, 도착지는 해커의 노트북(HH)이 된다. 해커는 패킷 분석기(와이어샤크)로 비밀번호를 쏙 빼먹은 뒤, 피해자가 인터넷이 끊겨서 의심하지 않도록 패킷을 진짜 공유기(RR)로 다시 보내준다. (완벽한 중간자 공격).
 ┌─────────────────────────────────────────────────────────────┐
 │                ARP 스푸핑 (중간자 공격, MITM) 시각화           │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [ 피해자 PC ] ARP 캐시: "공유기 MAC은 해커 꺼다!"                 │
 │       │                                                     │
 │       │  (1. 패킷 탈취)                (2. 몰래 전달)           │
 │       ▼                               ▼                     │
 │   [ 해커 노트북 ] ─────────────────────────▶ [ 진짜 공유기 ]       │
 │   "오호, 비밀번호가 1234군."                    (인터넷으로 나감)     │
 │                                                             │
 │   * 피해자 입장: 인터넷이 평소보다 아주 살~짝 느려질 뿐 전혀 눈치채지 못함.│
 └─────────────────────────────────────────────────────────────┘

2. ARP 스푸핑의 한계와 탐지

해커가 이 공격을 하려면 반드시 희생자와 물리적으로 똑같은 스위치(같은 브로드캐스트 도메인, 같은 VLAN) 안에 랜선을 꽂아야만 한다. 대전에서 서울 PC를 향해 원격으로 ARP 스푸핑을 거는 것은 라우터를 넘지 못하므로 불가능하다. (내부자 소행이거나 뚫린 좀비 PC가 필요함)

3. 방어 대책 (DAI와 Static ARP)

  • 개인적 방어 (Static ARP): 명령 프롬프트를 열고 arp -s 192.168.0.1 RR(공유기진짜MAC)이라고 수동으로 강제 고정해 버린다. 이러면 해커가 아무리 가짜 방송을 때려도 PC가 귀를 닫아버리므로 절대 감염되지 않는다. (하지만 자리 이동 시 매우 귀찮음)
  • 기업적 방어 (DAI, Dynamic ARP Inspection): 비싼 L2 스위치(Cisco 등)에 방어막을 친다. 스위치가 평소에 합법적인 IP와 MAC의 짝꿍 리스트(DHCP 스누핑 바인딩 테이블)를 들고 있다가, 해커 포트에서 엉뚱한 가짜 ARP가 기어 나오면 즉시 패킷을 폐기하고 해커 포트를 셧다운시켜 버리는 최고의 방어벽이다.

📢 섹션 요약 비유: ARP의 '묻지 마 수용' 성질은 마치 **"사기꾼이 가져다준 위조된 등기부등본을 동사무소 직원이 확인 한 번 안 해보고 원본 장부에 그대로 덮어써 버리는 행정 참사"**와 같습니다. 이를 막으려면 직원에게 위조감별기(DAI)를 쥐여줘야 합니다.