스푸핑(Spoofing)의 사전적 의미는 '속이다.'다. 네트워크에서 스푸핑 대상은 MAC 주소, IP 주소, 포트 등 네트워크 통신과 관련된 모든 것이 될 수 있다.

스푸핑 공격은 시스템 권한얻기, 암호화된 세션 복호화하기, 네트워크 트래픽 흐름 바꾸기 등에 사용된다.

 

  1.ARP 스푸핑

ARP(Address Resolution Protocol) 스푸핑은 MAC 주소를 속이는 것이다.

즉, MAC주소를 속여 랜에서의 통신 흐름을 왜곡 시킨다.

호스트 이름

IP주소

MAC주소

서버

10.0.0.2

AA

클라이언트

10.0.0.3

BB

공격자

10.0.0.4

CC

    

    

 

  1. 공격자가 서버의 클라이언트에게 10.0.0.2에 해당하는 가짜 MAC 주소 CC를, 10.0.0.에 해당하는 가짜 MAC주소 CC를 알린다.
  2. 공격자가 서버와 클라이언트 컴퓨터에게 서로 통신하는 상대방을 공격자 자기 자신으로 알렸기 때문에 서버와 클라이언트가 공격자에게 패킷을 보낸다.
  3. 공격자는 가자에게 받은 패킷을 읽은 후 서버가 클라이언트에 보내고자 하던 패킷을 클라이언트에게 정상적으로 보내주고, 클라이언트가 서버에게 보내고자 하던 패킷을 서버에게 보내준다.

 

 

윈도우에서는arp –a 명령을 이용해 현재 인지하고 있는 IP와 해당 IP를 가지고 있는 시스템의 MAC주소 목록을 확인할 수 있다. 이것을 ARP 테이블 이라고 한다.

 

ARP 스푸핑을 당하기 전 ARP 테이블

Internet Address Physical Address Type

10.0.0.2 AA Dynamic

 

ARP 스푸핑을 당한 후 ARP 테이블

Internet Address Physical Address Type

10.0.0.2 CC Dynamic

 

이러한 ARP 스푸핑에 대한 대응책은 ARP 테이블이 변경되지 않도록 arp –s [IP주소][MAC주소] 명령으로 MAC주소 값을 고정시키는 것이다.

하지만 이 대응책은 시스템이 재부팅될 때마다 수행해주어야 하는 번거로움이 있다.

 

  2.DNS 스푸핑

DNS(Domain Name System) 스푸핑은 웹 스푸핑과 비슷한 의미로 이해되기도 한다.

인터넷 익스플로러에 사이트 주소를 입력하고 엔터키를 눌렀더니 엉뚱한 사이트로 연결된 경험이 있을 것이다.

DNS 서버의 오류로 인해 생길 수도 있는 경우지만 DNS 스푸핑과 같은 공격으로도 이루어진다.

먼저 자신의 웹 서버를 하나 만들고, 공격 대상이 자주 가는 사이트를 하나 골라서 WebZip이나 Webstripper와 같은 프로그램으로 해당 사이트를 그대로 긁어온다.

그리고 ID와 패스워드를 입력받아 원래 사이트로 전달해주는 스크립트를 간단하게 프로그래밍한다.

 

공격 대상은 사이트 주소를 입력하고는 엔터키를 눌러 들어가면 평소랑 똑 같은 화면을 보고 당연히 정상적으로 접속했다고 생각할 것이다.

그리고 ID와 패스워드를 입력한 다음 엔터키를 누른다.

하지만 평소보다 약간 느리게 로그인된다. 해커가 그 ID와 패스워드를 받아 원래 사이트로 넘겨줘야 하기 때문이다.

공격 대상이 '오늘 따라 조금 늦네…'라고 생각하고 잇을 때 접속하고자 하는 사이트의 로그인 화면이 뜨고, 그사이 해커는 당신의 ID와 패스워드를 얻었을 것이다.

 

  1. 클라이언트가 DNS서버로 DNS Query 패킷을 보내는 것을 확인한다.

    스위칭 환경일 경우 ARP 스푸핑과 같은 선행 작업이 필요하다.

     

     

     

    

  1. 공격자는 로컬에 존재하므로 DNS 서버보다 지리적으로 가깝다. 따라서 DNS서버가 올바른 DNS Response 패킷을 보내주기 전에 클라이언트에게 위조된 DNS Response 패킷을 보낼 수 있다.
  2. 클라이언트는 공격자가 보낸 DNS Response 패킷을 올바른 패킷으로 인식하고, 웹에 접속한다.

     

     

     

     

    하지만 꼭 위의 과정처럼 공격 대상을 기다리고 있다가 공격을 수행해야 하는 것은 아니다.

    네트워크의 특정 URL에 거짓 IP 정보를 계속 브로드캐스팅하면 해당 해킷을 받은 클라이언트가 잘못된 IP주소로 찾아간다.

     


+ Recent posts