ARP 스푸핑

경고. 이것은 대한민국에서 불법입니다.

본 문서가 다루고 있는 내용은 본인이나 타인의 신체적·정신적·재산적 피해를 야기하며 대한민국에서 범죄의 구성요건으로 규정되어 있으며 정당한 사유없이 행할 시 민·형사상 책임을 질 수 있습니다. 또한 대한민국 외에서도 불법일 가능성이 상당히 높으며, 이와 같은 행위로 인해 외국에서 현지의 유사한 법령으로 처벌 받거나, 설령 외국에서 합법이라도 대한민국에 귀국 후 속인주의에 의해 처벌 받을 수 있습니다.

본 문서에 고의적으로 모방범죄를 부추기는 서술은 금하며 그럴경우 법률상의 형벌조항에 따라 범죄 교사범 또는 방조범 또는 예비,음모죄로 처벌받을 수 있으니 주의하시기 바랍니다. 서술에 대해 법적인 모든 책임은 편집자에게 있으며 나무위키가 책임지지 않습니다.

또한 이 틀은 대한민국의 헌법, 법률, 대통령령, 조례 등의 문서에만 사용할 수 있으며 틀:법률과 함께 사용할 수 없습니다
정보통신망 이용촉진 및 정보보호 등에 관한 법률 제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 개요

굉장히 단순하면서도 치명적이고 지독한 해킹 방법으로 MITM 공격 기법 중 하나이다.

2 비전공자를 위한 설명

어떠한 네트워크건 인터넷으로 통하는 관문이 있는데 이것을 흔히 게이트웨이라고 부른다. 가령 공유기가 그러할 것이다. 당연히 네트워크 안의 모든 기기는 인터넷 세상과 통신을 위해서는 이 게이트웨이를 통해야 한다.

이제 공격자는 자신이 게이트웨이라고 속이게 되면 당연히 피해자는 공격자에게 모든 데이터를 전송하게 되고, 이를 원래 게이트웨이로 전송하게 되면 피해자는 아무런 문제점 없이 통신을 할 수 있다[1]. 자신의 모든 정보가 노출되고 있다는 점 빼고는 말이다.

3 전공자들을 위한 설명

잘 알다시피 IP주소는 단순히 L3에서 단대단 연결을 위한 주소이고 실질적인 데이터 이동은 L2단을 거쳐야 하기 때문에 MAC 주소가 있어야 된다. 우리는 이 과정에서 피해자에게 ARP(특정 IP의 MAC 주소를 알아내거나 알려주는) 패킷을 통해 게이트웨이의 IP주소에 해당하는 MAC 주소를 자신의 것으로 속이게 된다.

이리하여 모든 피해자는 당연히 게이트웨이에게 전송하지만 전술했듯, 실제 전송을 담당하는 주소는 MAC주소이다. 따라서 공격자에게 모든 패킷을 전송한다. 공격자가 이를 적절히 원래 게이트웨이로 중계해준다면 피해자는 인터넷 속도가 감소되는 점을 제외한다면 어떠한 특이점도 느끼지 못한다. 자신의 모든 통신이 감시당하고 있음에도 말이다.

당연히 이 통신이 VoIP라면 도청이 가능하고, 다운로드 한 자료라면 공격자 또한 그것을 다운받을 수 있다.

4 피해 증상

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

  • 잘 되던 사이트가 갑자기 먹통이 될 때. 아예 안 뜨진 않지만 제대로 동작하지 않는다.
  • 특정 사이트에서 로그인이 안 된다. 이것도 될 때는 멀쩡히 된다.
  • 특정 페이지에서 페이지에 오류가 있습니다 라고 뜬다. 혹은 스크립트 오류 발견 등이 뜬다. 이것도 되다가 안되다가 할 때가 있다.
  • 액티브 X 를 사용하는 페이지[2]에서, 이유 없이 오류가 나거나 액티브 X를 재설치하라는 문구가 계속 뜬다. 이때 액티브 X를 삭제 후 재설치 해도 여전하다. 그러다가 될 때는 갑자기 된다.
  • 특정 사이트가 이유없이 깨져서 나타난다. 특히 인코딩이 깨진 것 처럼 외계어만 나타나는 경우가 많다. 이것도 될 때는 된다.
  • 윈도우 업데이트가 실패한다.
  • 이런 증상들이 나타나면서 바이러스나 악성코드 진단 시에는 이상이 없다.
  • 인터넷 속도가 느려진다.

파일:Attachment/arp spoofing.png

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

파일:Attachment/arp spoofing 2.png

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

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

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

  • 항상 백신을 최신 상태로 업데이트하고, 실시간감시로 두며
  • 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는 여기서 다운로드 받을 수 있다.

5 기타

당연히 이 또한 해킹으로써, 정보통신망법에 위배되는 행위이다. 호기심으로 아파트 같은 곳에서 ARP Spoofing을 하다가, 우연히 패킷을 잡던 누군가에게 걸리면 얄짤 없다.매우 흔치 않은 경우지만, 가령 과제를 해야한다던가... 물론, 정 과제를 핑계(?)로 대야 할 만큼이나 해야만 한다면 외부와의 연결은 철저히 단절한채로 해야할 지도 모른다(...) 그래도 하지말라면 절대 하지마라
  1. 이건 마치 군대에서 간부들에게 갈 것이라고 생각했던 소원 수리 쪽지가 상관한테 가는 것과 같다
  2. 주로 게임실행이나 본인 인증 등