ARP 스푸핑

최근 수정 시각:

분류


1. 개요2. 비전공자를 위한 설명3. 전공자들을 위한 설명4. 피해 증상5. 예방법6. 기타

정보통신망 이용촉진 및 정보보호 등에 관한 법률 제48조(정보통신망 침해행위 등의 금지) ① 누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니 된다.
② 누구든지 정당한 사유 없이 정보통신시스템, 데이터 또는 프로그램 등을 훼손·멸실·변경·위조하거나 그 운용을 방해할 수 있는 프로그램(이하 "악성프로그램"이라 한다)을 전달 또는 유포하여서는 아니 된다.
③ 누구든지 정보통신망의 안정적 운영을 방해할 목적으로 대량의 신호 또는 데이터를 보내거나 부정한 명령을 처리하도록 하는 등의 방법으로 정보통신망에 장애가 발생하게 하여서는 아니 된다.

제71조(벌칙) 다음 각 호의 어느 하나에 해당하는 자는 5년 이하의 징역 또는 5천만원 이하의 벌금에 처한다.
1. 제22조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 동의를 받지 아니하고 개인정보를 수집한 자
2. 제23조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 동의를 받지 아니하고 개인의 권리·이익이나 사생활을 뚜렷하게 침해할 우려가 있는 개인정보를 수집한 자
3. 제24조, 제24조의2제1항 및 제2항 또는 제26조제3항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 개인정보를 이용하거나 제3자에게 제공한 자 및 그 사정을 알면서도 영리 또는 부정한 목적으로 개인정보를 제공받은 자
4. 제25조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 동의를 받지 아니하고 개인정보 취급위탁을 한 자
5. 제28조의2제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 개인정보를 훼손·침해 또는 누설한 자
6. 제28조의2제2항을 위반하여 그 개인정보가 누설된 사정을 알면서도 영리 또는 부정한 목적으로 개인정보를 제공받은 자
7. 제30조제5항(제30조제7항, 제31조제3항 및 제67조에 따라 준용되는 경우를 포함한다)을 위반하여 필요한 조치를 하지 아니하고 개인정보를 제공하거나 이용한 자
8. 제31조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 법정대리인의 동의를 받지 아니하고 만 14세 미만인 아동의 개인정보를 수집한 자
9. 제48조제2항을 위반하여 악성프로그램을 전달 또는 유포한 자
10. 제48조제3항을 위반하여 정보통신망에 장애가 발생하게 한 자
11. 제49조를 위반하여 타인의 정보를 훼손하거나 타인의 비밀을 침해·도용 또는 누설한 자

1. 개요[편집]

ARP spoofing. 굉장히 단순하면서도 치명적이고 지독한 해킹 방법으로 중간자(Man In The Middle, MITM) 공격 기법 중 하나이다. 말 그대로 두 사람 사이에 슬쩍 끼어들어가서 데이터를 몰래 훔쳐본다는 뜻.

2. 비전공자를 위한 설명[편집]

가상의 아파트 단지가 하나 있다고 가정해 보자. 이 아파트 단지에는 "아파트로 오고 가는 모든 우편물 및 택배들은 관리사무소에 있는 우편분류실을 거쳐야 한다"라는 규정이 있다. 즉, 특정 아파트 주민이 받는 우편물들은 먼저 아파트 우편분류실로 보내지며, 여기서 재분류 작업을 거친 후 비로소 주인에게 배달된다. 아파트 주민이 우편물을 외부로 보낼 때도 마찬가지로 우편분류실에서 취합한 후 보낸다.

그런데 여기서 도둑이 등장한다. 도둑은 아파트 단지 내에 아지트를 하나 지어놓은 후 문 앞에 "우편분류실"이라고 큼지막하게 써붙여 놓았다. ARP 스푸핑이란 이처럼 "다른 사람으로 하여금 우편분류실, 즉 중앙 통제실이 다른 곳에 있다고 오인시키는 행위"를 뜻한다.

이렇게 되면 아파트 주민과 아파트를 드나드는 우체부와 택배 기사는 우편분류실의 위치가 바뀐 줄 알고 도둑의 아지트를 우편분류실처럼 이용한다. 진짜 우편분류실에 앉아 있는 직원들은 가짜 우편물을 만들어서 던져 주면 감쪽같이 속일 수 있다. 이렇게 되면 도둑은 아파트를 드나드는 모든 우편물을 뜯어볼 수 있다. 하지만 아파트 주민과 우체부, 택배 기사, 그리고 우편분류실 직원들은 이를 까맣게 모른다. 이상한 낌새를 눈치채고 발로 뛰어다니며 조사를 해 보지 않는 이상은.

한 줄 요약 : 군대에서 간부들에게 갈 것이라고 생각했던 소원수리 쪽지를 상관이 가로채서 뜯어보는 격이다

3. 전공자들을 위한 설명[편집]

어떠한 네트워크건 인터넷으로 통하는 관문이 있는데 이것을 흔히 게이트웨이라고 부른다. 가령 공유기가 그러할 것이다. 당연히 네트워크 안의 모든 기기는 인터넷 세상과 통신을 위해서는 이 게이트웨이를 통해야 한다. ARP 스푸핑이란 공격자가 자신이 게이트웨이라고 속이는, 원리 자체는 단순한 기법이다. 그러나 이렇게 되면 당연히 피해자는 공격자에게 모든 데이터를 전송하게 된다. 공격자는 이를 원래 게이트웨이로 전송해주기만 하면 피해자는 아무런 문제점 없이 통신을 할 수 있다. 자신의 모든 정보가 노출되고 있다는 점 빼고는 말이다.

이것이 가능한 이유를 이해하려면 먼저 OSI 모형을 이해하고 IP 주소와 MAC 주소와의 관계를 이해해야 한다. IP 주소는 단순히 L3에서 단대단 연결을 위한 주소이고 실질적인 데이터 이동은 MAC 주소를 사용하는 L2단을 거쳐야 한다. 여기서 IP 주소와 MAC 주소를 이어 주는 역할을 하는 프로토콜이 바로 ARP(Address Resolution Protocol)이다. 여기서 공격자가 자신이 게이트웨이라고 허위로 적은 ARP 패킷을 뿌리면 해당 네트워크 내에 있는 다른 사용자들은 공격자를 게이트웨이로 인식하게 된다. 이리하여 모든 피해자는 공격자에게 모든 패킷을 전송하게 되며, 공격자는 이를 적절히 원래 게이트웨이로 중계해주기만 하면 OK. 당연히 이 통신이 VoIP라면 도청이 가능하고, 다운로드 한 자료라면 공격자 또한 그것을 다운받을 수 있다.

4. 피해 증상[편집]

만약 아래와 같은 문제점이 있다면 ARP spoofing을 의심해보아야 한다.

  • 잘 되던 사이트가 갑자기 먹통이 될 때. 아예 안 뜨진 않지만 제대로 동작하지 않는다.

  • 특정 사이트에서 로그인이 안 된다. 이것도 될 때는 멀쩡히 된다.

  • 특정 페이지에서 페이지에 오류가 있습니다 라고 뜬다. 혹은 스크립트 오류 발견 등이 뜬다. 이것도 되다가 안되다가 할 때가 있다.

  • 액티브 X 를 사용하는 페이지[1]에서, 이유 없이 오류가 나거나 액티브 X를 재설치하라는 문구가 계속 뜬다. 이때 액티브 X를 삭제 후 재설치 해도 여전하다. 그러다가 될 때는 갑자기 된다.

  • 특정 사이트가 이유없이 깨져서 나타난다. 특히 인코딩이 깨진 것 처럼 외계어만 나타나는 경우가 많다. 이것도 될 때는 된다.

  • 윈도우 업데이트가 실패한다.

  • 이런 증상들이 나타나면서 바이러스나 악성코드 진단 시에는 이상이 없다.

  • 인터넷 속도가 느려진다.


파일:attachment/arp_spoofing.png

실제로 가상 머신 상에서 ARP Spoofing을 시도하여 성공한 모습이다. arp -a를 입력했을때 이런 식으로 MAC 주소가 중첩되어 나타난다면 100%.

파일:attachment/arp_spoofing_2.png

피해자 PC에서 패킷을 잡아본다면 이런 패킷들이 보인다.


이런 문제가 발생한다면 일단은 안철수 연구소에서 ARP spoofing 관련 방어 툴을 제공하고 있으니 다운 받아보자. 하지만 이것도 근본적인 해결책은 안된다. 인터넷에서 많이 이야기 하는 Xarp 진단 툴의 경우 진단만 되고 치료는 유료다.

5. 예방법[편집]

개인 컴퓨터의 감염 예방 방법으로는

  • 사용중인 공유기의 펌웨어를 항상 최신으로 업데이트 함과 동시에 공유기에서 ARP Virus방어 기능을 지원한다면 활성화 해두어야 하고

  • 항상 운영체제와 백신을 최신 상태로 업데이트하고, 항상 백신을 실시간감시로 두며 (기왕이면 실시간 감시를 꺼도 일정 시간후 자동으로 다시 켜지는 기능도 설정해 둔다.)

  • MS에서 제공하는 보안패치 MS10-002, MS10-018를 적용하고

  • CMD에서 “arp -s 게이트웨이 IP 주소 게이트웨이 MAC 주소”를 입력하여 게이트웨이의 주소들을 Static으로 고정하여 ARP Spoofing 공격으로 인해 발생되는 인터넷 불가 현상을 예방할 수 있다. (예 : arp -s 192.168.0.1 00-08-5B-84-C6-DE) 이 방법이 먹히지 않는 경우가 있는데, 이 경우엔 netsh를 사용하면 된다. 명령 프롬프트를 열고, netsh -c "interface ipv4"로 netsh 메뉴에 진입하고 show interfaces를 입력하여 자신의 랜카드를 찾는다. 보통 MTU가 1500이고, 로컬 영역 연결 또는 이더넷 등의 이름을 달고 있다. 확인 했으면, set neighbors "랜카드 이름" "IP 주소" "맥 주소"를 입력하면 ARP 테이블에 게이트웨이를 Static으로 올려서 이 공격을 예방할 수 있다. 이런식으로 ARP 테이블에 게이트웨이를 등록하게 되면...

파일:attachment/arp_spoofing_3.png

이렇게 게이트웨이의 MAC 주소가 정적으로 영구적으로 등록된다. 당연히 우선순위는 정적 > 동적이기 때문에 저렇게 해 두면 아무리 ARP Spoofing 공격을 날려도 무용지물.


네트워크 관리자로서는 위에 언급한 Xarp 진단툴등을 이용하거나 arp -a 커맨드로 감염된 PC를 찾아내어 치료를 하면 되겠다. Xarp는 여기서 다운로드 받을 수 있다.

Comodo 방화벽의 경우 ARP-spoofing에 대한 보안 옵션을 제공하고 있다.

6. 기타[편집]

상기하였듯 불법 행위이므로 아파트 같은 공용 네트워크에서 이런 짓거리를 하다가 걸리면 얄짤없이 법의 철퇴를 맞는다. 실습 목적으로 하고 싶다면 사설 네트워크를 구축한 후 철저하게 그 안에서만 실습하도록 하자. "사설 네트워크"라고 해서 거창한 게 아니라 위의 스크린샷 예시처럼 가상머신 여러 개를 만들어 놓으면 OK. 조금 더 리얼함(?)을 느껴보고 싶다면 공유기 하나 사와서 컴퓨터와 스마트폰 등등을 연결해 두어도 훌륭한 사설 네트워크 하나가 구축된다.

"데이터를 가로채서 훔쳐본 후 이를 받는 사람에게 그대로 다시 보내 눈치채지 못하게 한다"라는 컨셉은 더 악독하게도 활용할 수 있다. 아예 데이터를 변조해 버리는 것. 아파트 이야기로 다시 돌아가면 보내는 사람/받는 사람의 주소를 고쳐 쓰거나 내용을 이상하게 바꿔버리는 짓거리가 가능하다는 것이다. 예를 들면 특정 집으로 배달될 공과금 고지서를 가로채서 계좌번호를 도둑의 계좌번호로 바꿔 놓으면 피해자는 공과금을 도둑의 계좌로 입금하는 상황이 벌어질 수 있다. 이런 류의 해킹 기법 중 하나로 DNS 스푸핑이 있다.

[1] 주로 게임실행이나 본인 인증 등