KR101231975B1 - 차단서버를 이용한 스푸핑 공격 방어방법 - Google Patents

차단서버를 이용한 스푸핑 공격 방어방법 Download PDF

Info

Publication number
KR101231975B1
KR101231975B1 KR1020110044667A KR20110044667A KR101231975B1 KR 101231975 B1 KR101231975 B1 KR 101231975B1 KR 1020110044667 A KR1020110044667 A KR 1020110044667A KR 20110044667 A KR20110044667 A KR 20110044667A KR 101231975 B1 KR101231975 B1 KR 101231975B1
Authority
KR
South Korea
Prior art keywords
address
mac address
arp packet
client
list
Prior art date
Application number
KR1020110044667A
Other languages
English (en)
Other versions
KR20120126674A (ko
Inventor
김준섭
정우영
Original Assignee
(주)이스트소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)이스트소프트 filed Critical (주)이스트소프트
Priority to KR1020110044667A priority Critical patent/KR101231975B1/ko
Priority to US14/117,131 priority patent/US9038182B2/en
Priority to DE112012002054.5T priority patent/DE112012002054T5/de
Priority to PCT/KR2012/001714 priority patent/WO2012153913A1/ko
Priority to JP2014510237A priority patent/JP5826920B2/ja
Publication of KR20120126674A publication Critical patent/KR20120126674A/ko
Application granted granted Critical
Publication of KR101231975B1 publication Critical patent/KR101231975B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Abstract

본 발명은 차단서버를 이용한 스푸핑 공격 방어방법에 관한 것으로서, 보다 상세하게는 네트워크망 내부의 클라이언트에 수신되는 ARP 패킷에 포함된 IP 및 MAC 주소를 검사하여 스푸핑 공격에 이용되는 것으로 확인되면 정상적인 IP 주소와 대응되는 MAC 주소로 변경하는 것을 특징으로 하는 차단서버를 이용한 스푸핑 공격 방어방법에 관한 것이다.
본 발명에 따르면 네트워크망에 대한 스푸핑 공격을 차단함에 있어서 네트워크망에 연결된 정상 하드웨어에 대한 IP 주소 및 MAC 주소를 미리 저장하여 감시할 수 있으므로, 빠른 시간안에 정확한 방어가 가능해지는 효과가 있다.

Description

차단서버를 이용한 스푸핑 공격 방어방법{METHOD OF DEFENDING A SPOOFING ATTACK USING A BLOCKING SERVER}
본 발명은 차단서버를 이용한 스푸핑 공격 방어방법에 관한 것으로서, 보다 상세하게는 네트워크망 내부의 클라이언트에 수신되는 ARP 패킷에 포함된 IP 및 MAC 주소를 검사하여 스푸핑 공격에 이용되는 것으로 확인되면 정상적인 IP 주소와 대응되는 MAC 주소로 변경하는 것을 특징으로 하는 차단서버를 이용한 스푸핑 공격 방어방법에 관한 것이다.
인터넷의 사용이 날로 증가함에 따라 해킹의 기술 또한 증가하고 있으며, 현재에 이르러서는 해킹 프로그램 등이 네트워크 상에 산재하는 상황에까지 이르게 됨으로써 이제 전문가가 아닌 일반인도 해커가 될 수 있는 상황에 이르렀다.
이와 같이, DoS, DDoS, Sniffing 또는 Hijacking 과 같은 해킹을 위해 사용되는 근본적인 수단이 ARP 또는 IP 스푸핑(Spoofing)이다. 이 중 ARP(Address Resolution Protocol) 스푸핑은 발신자(Sender) 하드웨어 주소와 발신자 IP 주소를 조작하는 것으로서, 로컬 네트워크에서 다른 시스템의 IP 주소에 대해서 공격 시스템의 MAC 주소를 ARP Reply 패킷의 소스 정보로 사용하여 로컬 네트워크 내의 다른 라우터나 스위치, 호스트들의 ARP 테이블을 변경함으로써, 공격 시스템의 IP 주소가 아닌 패킷을 공격 시스템의 MAC 주소를 달고 공격 시스템으로 전달되게 만드는 공격 기법이다.
또한, IP 스푸핑은 자신의 소스 IP를 변경하여 다른 시스템에게 자신이 누군지 모르게 또는 다른 시스템으로 오인하도록 만드는 공격을 위한 수단으로 사용된다.
현재, ARP나 IP 스푸핑 공격으로 인한 피해는 해킹 피해의 대부분을 차지한다고 볼 수 있으며, 누구나 인터넷에서 돌아다니는 스푸핑 툴을 이용하여 특정 호스트를 공격하거나 망 내에서 돌아다니는 정보를 훔쳐 봄으로써 보안이 유지되어야 할 개인 정보들이 쉽게 도용되는 일이 빈번한 실정이다.
예를 들면, ARP 스푸핑을 통하여 동일한 내부 네트워크에 연결된 다른 호스트에서 행하여지는 여러 가지 IP 패킷들을 훔쳐 봄으로써 개인 정보가 유출될 수 있고, 심지어 금융정보까지도 노출되는 위험이 있으며, 특정 서버의 관리자 레벨의 ID와 패스워드를 훔쳐 봄으로써 서버 정보를 마음대로 조작하는 것이 가능한 게 현실이다. 더 나아가, IP 스푸핑을 하여 외부 네트워크 상에서 행하여지는 온라인 작업을 훔쳐 볼 경우 더 많은 시스템이 공격에 쉽게 노출되게 된다.
이러한 스푸핑을 방지하기 위하여 현재 사용되고 있는 기법으로는, 필터링 기능이 있는 라우터를 사용하여 외부망으로부터 들어오는 IP 패킷에 대해서 각각의 포트에 연결된 호스트들에 대한 개별적인 IP 주소를 이용하지 않고 로컬 네트워크에 할당된 IP 네트워크 주소와 마스크를 이용하여 필터링하는 방법이 있다. 그러나, 상기 방법은, 필터링에 각 호스트의 개별적인 IP 주소가 아니라 로컬 네트워크 주소를 사용함으로 인해 공격자가 임의의 로컬 네트워크의 다른 주소를 이용한 스푸핑을 할 경우 이를 잡아내지 못할 뿐만 아니라, ARP 스푸핑에 대해서는 전혀 대처하지 못하는 문제점이 있었다.
대한민국 공개특허 제2007-0081116호 대한민국 공개특허 제2004-0109985호 대한민국 공개특허 제2010-0040792호
전술한 문제점을 해결하기 위한 본 발명은 각 클라이언트 PC가 차단서버로부터 얻은 네트워크망 내 모든 클라이언트 PC의 유효한 IP-MAC 주소정보를 담고 있는 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 이용해 ARP 테이블과 ARP 패킷을 검사함으로써 ARP 스푸핑 공격에 실시간으로 또는 사후에 대응할 수 있도록 하는 차단서버를 이용한 스푸핑 공격 방어방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 허용 IP-MAC 주소 목록과 차단 IP-MAC 주소 목록을 차단서버 또는 각 클라이언트에 저장하여 차단서버나 클라이언트가 독자적으로 스푸핑 공격을 감시 및 차단할 수 있도록 하는 차단서버를 이용한 스푸핑 공격 방어방법을 제공하는 것을 목적으로 한다.
전술한 문제점을 해결하기 위해 안출된 본 발명은 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서, 차단서버(108)의 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106)의 IP 주소와 MAC 주소를 수집하는 제1단계와; 상기 주소수집부(108-1)가 상기 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 허용 IP-MAC 주소 목록을 생성하고, 상기 허용 IP-MAC 주소 목록을 허용주소DB(108-3)에 저장하는 제2단계와; 상기 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106) 중에서 스푸핑 공격을 하는 공격자가 사용하는 클라이언트(106)의 MAC 주소에 대한 정보인 차단 MAC 주소 목록을 차단주소DB(108-4)에 저장하는 제3단계와; 상기 클라이언트(106)에 ARP 패킷이 유입되면, 상기 클라이언트(106)의 ARP 패킷처리부(106-1c)는 상기 ARP 패킷에 포함된 송신자의 IP 주소와 MAC 주소를 추출하여 상기 차단서버(108)로 전송하면서 스푸핑 공격 여부에 대한 검사를 요청하는 제4단계와; 차단서버(108)의 주소검사부(108-2)의 검사 결과, 상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단주소DB(108-4)에 저장된 차단 MAC 주소 목록에 포함된 경우, 상기 ARP 패킷이 감염 ARP 패킷이라는 것을 상기 차단서버(108)가 상기 클라이언트(106)에 통보하는 제5단계와; 상기 ARP 패킷처리부(106-1c)가 상기 감염 ARP 패킷의 송수신을 차단하는 제6단계;를 포함한다.
상기 제5단계는 상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단 MAC 주소 목록에 포함되어 있지 않은 경우, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 없거나, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 맵핑되어 주소쌍으로 저장되어 있는 허용 IP-MAC 주소의 구성과 다르다면 상기 ARP 패킷을 의심 ARP 패킷으로 정의하는 제5-1단계와; 상기 주소검사부(108-2)가 단위시간 동안 상기 클라이언트(106)에 유입된 ARP 패킷 중에서 상기 의심 ARP 패킷에 포함된 송신자의 MAC 주소와 동일한 송신자 MAC 주소를 가지는 ARP 패킷의 전송 개수를 누적하는 제5-2단계와; 일정한 시간 동안 누적된 전송 개수가 임계치를 넘는 경우, 상기 의심 ARP 패킷을 감염 ARP 패킷으로 분류하는 제5-3단계;를 추가로 포함한다.
다른 실시예에 따른 본 발명은 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서, 차단서버(108)의 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106)의 IP 주소와 MAC 주소를 수집하는 제1단계와; 상기 주소수집부(108-1)가 상기 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 허용 IP-MAC 주소 목록을 생성하고, 상기 허용 IP-MAC 주소 목록을 허용주소DB(108-3)에 저장하는 제2단계와; 상기 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106) 중에서 스푸핑 공격을 하는 공격자가 사용하는 클라이언트(106)의 MAC 주소에 대한 정보인 차단 MAC 주소 목록을 차단주소DB(108-4)에 저장하는 제3단계와; 상기 클라이언트(106)의 ARP 테이블보호부(106-1b)가 상기 클라이언트(106)의 ARP 테이블에 포함된 ARP 엔트리의 IP 주소와 MAC 주소를 추출하여 상기 차단서버(108)로 전송하면서 스푸핑 공격 여부에 대한 검사를 요청하는 제4단계와; 차단서버(108)의 주소검사부(108-2)의 검사 결과, 상기 제4단계에서 추출된 MAC 주소가 상기 차단주소DB(108-4)에 저장된 차단 MAC 주소 목록에 포함된 경우, 상기 ARP 엔트리가 감염 ARP 엔트리라는 것을 상기 차단서버(108)가 상기 클라이언트(106)에 통보하는 제5단계와; 상기 ARP 테이블보호부(106-1b)가 상기 감염 ARP 엔트리에 포함된 IP 주소를 추출하고, 상기 추출된 IP 주소와 대응하여 저장된 정상 MAC 주소를 상기 허용 IP-MAC 주소 목록에서 조회하는 제6단계와; 상기 ARP 테이블보호부(106-1b)가 상기 감염 ARP 엔트리의 MAC 주소를 상기 조회된 정상 MAC 주소로 변경시키는 제7단계;를 포함한다.
또 다른 실시예에 따른 본 발명은 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서, 차단서버(108)의 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106)의 IP 주소와 MAC 주소를 수집하는 제1단계와; 상기 주소수집부(108-1)가 상기 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 허용 IP-MAC 주소 목록을 생성하고, 상기 허용 IP-MAC 주소 목록을 상기 클라이언트(106)의 허용주소DB(106-1d)에 저장하는 제2단계와; 상기 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106) 중에서 스푸핑 공격을 하는 공격자가 사용하는 클라이언트(106)의 MAC 주소에 대한 정보인 차단 MAC 주소 목록을 상기 클라이언트(106)의 차단주소DB(106-1e)에 저장하는 제3단계와; 상기 클라이언트(106)에 ARP 패킷이 유입되면, 상기 클라이언트(106)의 ARP 패킷처리부(106-1c)는 상기 ARP 패킷에 포함된 송신자의 IP 주소와 MAC 주소를 추출하여 스푸핑 공격 여부를 검사하는 제4단계와; 상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단 MAC 주소 목록에 포함된 경우, 상기 ARP 패킷처리부(106-1c)가 상기 ARP 패킷을 감염 ARP 패킷으로 분류하는 제5단계와; 상기 ARP 패킷처리부(106-1c)가 상기 감염 ARP 패킷의 송수신을 차단하는 제6단계;를 포함한다.
상기 제5단계는 상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단 MAC 주소 목록에 포함되어 있지 않은 경우, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 없거나, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 맵핑되어 주소쌍으로 저장되어 있는 허용 IP-MAC 주소의 구성과 다르다면 상기 ARP 패킷을 의심 ARP 패킷으로 정의하는 제5-1단계와; 상기 ARP 패킷처리부(106-1c)가 단위시간 동안 상기 클라이언트(106)에 유입된 ARP 패킷 중에서 상기 의심 ARP 패킷에 포함된 송신자의 MAC 주소와 동일한 송신자 MAC 주소를 가지는 ARP 패킷의 전송 개수를 누적하는 제5-2단계와; 일정한 시간 동안 누적된 전송 개수가 임계치를 넘는 경우, 상기 의심 ARP 패킷을 감염 ARP 패킷으로 분류하는 제5-3단계;를 추가로 포함한다.
또 다른 실시예에 따른 본 발명은 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서, 차단서버(108)의 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106)의 IP 주소와 MAC 주소를 수집하는 제1단계와; 상기 주소수집부(108-1)가 상기 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 허용 IP-MAC 주소 목록을 생성하고, 상기 허용 IP-MAC 주소 목록을 상기 클라이언트(106)의 허용주소DB(106-1d)에 저장하는 제2단계와; 상기 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106) 중에서 스푸핑 공격을 하는 공격자가 사용하는 클라이언트(106)의 MAC 주소에 대한 정보인 차단 MAC 주소 목록을 상기 클라이언트(106)의 차단주소DB(106-1e)에 저장하는 제3단계와; 상기 클라이언트(106)의 ARP 테이블보호부(106-1b)가 상기 클라이언트(106)의 ARP 테이블에 포함된 ARP 엔트리의 IP 주소와 MAC 주소를 추출하여 스푸핑 공격 여부를 검사하는 제4단계와; 상기 제4단계에서 추출된 MAC 주소가 상기 차단 MAC 주소 목록에 포함된 경우, 상기 ARP 테이블보호부(106-1b)가 상기 ARP 엔트리를 감염 ARP 엔트리로 분류하는 제5단계와; 상기 ARP 테이블보호부(106-1b)가 상기 감염 ARP 엔트리에 포함된 IP 주소를 추출하고, 상기 추출된 IP 주소와 대응하여 저장된 정상 MAC 주소를 상기 허용 IP-MAC 주소 목록에서 조회하는 제6단계와; 상기 ARP 테이블보호부(106-1b)가 상기 감염 ARP 엔트리의 MAC 주소를 상기 조회된 정상 MAC 주소로 변경시키는 제7단계;를 포함한다.
또 다른 실시예에 따른 본 발명은 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서, 특정 클라이언트(106)에 설치되어 있는 장치들의 IP 주소와 MAC 주소를 수집하는 제1단계와; 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 로컬 IP-MAC 주소 목록을 상기 클라이언트(106)의 허용주소DB(106-1d)에 저장하는 제2단계와; 상기 특정 클라이언트(106)로부터 ARP 패킷이 송신될 때, 상기 특정 클라이언트(106)의 ARP 패킷처리부(106-1c)는 상기 송신되는 ARP 패킷에 포함된 송신자의 IP 주소와 MAC 주소를 추출하여 스푸핑 공격 여부를 검사하는 제2단계와; 제2단계에서 추출된 송신자의 IP 주소가 상기 로컬 IP-MAC 주소 목록에 포함되어 있지 않거나, 추출된 송신자의 IP 주소와 동일한 IP 주소에 대응하여 저장된 MAC 주소가 상기 송신되는 ARP 패킷에 포함된 송신자의 MAC 주소와 다른 경우, 상기 ARP 패킷처리부(106-1c)가 상기 송신되는 ARP 패킷을 감염 ARP 패킷으로 분류하는 제3단계와; 상기 ARP 패킷처리부(106-1c)가 상기 감염 ARP 패킷의 송신을 차단하는 제4단계;를 포함한다.
본 발명에 따르면 네트워크망에 대한 스푸핑 공격을 차단함에 있어서 네트워크망에 연결된 정상 하드웨어에 대한 IP 주소 및 MAC 주소를 미리 저장하여 감시할 수 있으므로, 빠른 시간 안에 정확한 방어가 가능해지는 효과가 있다.
또한 차단서버뿐만 아니라 각각의 클라이언트에도 허용 주소 목록과 차단 주소 목록을 저장하고, 각각의 클라이언트가 공격의 감지와 방어를 수행할 수 있으므로, 차단서버의 부하를 줄이고 공격에 대한 대응 시간을 단축시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 차단서버가 포함된 네트워크망의 구성요소를 나타낸 블럭도.
도 2는 도 1의 차단서버의 구성요소를 나타낸 블럭도.
도 3은 도 1의 클라이언트의 구성요소를 나타낸 블럭도.
도 4는 스푸핑 공격을 차단하는 과정을 나타낸 순서도.
도 5는 스푸핑 공격으로 의심되는 패킷을 감시하는 과정을 나타낸 순서도.
이하에서 도면을 참조하여 본 발명의 실시예에 따른 "차단서버를 이용한 스푸핑 공격 방어방법"(이하, '방어방법'이라 함)을 설명한다.
도 1은 본 발명의 실시예에 따른 차단서버가 포함된 네트워크망의 구성요소를 나타낸 블럭도이며, 도 2는 도 1의 차단서버의 구성요소를 나타낸 블럭도, 도 3은 도 1의 클라이언트의 구성요소를 나타낸 블럭도이다.
본 발명의 실시예에 따른 스푸핑 공격 방어방법은 네트워크망에 포함된 L2스위치(104)의 하단에 연결된 클라이언트(106)와, 각각의 클라이언트(106)와 연결된 차단서버(108)와, 수동으로 차단 대상을 입력하는 관리자단말기(110)에 의하여 수행된다. 클라이언트(106)는 클라이언트1(106-1)부터 클라이언트N(106-N)까지 N개의 단말기로 구성되는 것으로 설명한다.
클라이언트1(106-1) 내지 클라이언트N(106-N)은 ARP를 통해 서로 IP 패킷을 주고받게 된다. 이를 위해 ARP 패킷에는 클라이언트1(106-1) 내지 클라이언트N(106-N)의 IP 주소와 맵핑(mapping)된 MAC 주소가 포함된다.
차단서버(108)는 IP-MAC 주소 목록 수집 절차를 통해 클라이언트(106) 또는 관리자단말기(110)로부터 유효한 IP-MAC 주소 목록을 전달받고, 이를 토대로 허용 IP-MAC 주소 목록을 구성한다. 차단서버(108)는 허용 IP-MAC 주소 목록을 가지고 있다가 L2스위치(104)를 통해 출입하는 ARP 패킷을 검사하여 스푸핑 공격인지를 판단한다.
차단서버(108)는 허용 IP-MAC 주소 목록을 각각의 클라이언트(106)에 전달하여 저장하도록 하고, 클라이언트(106)가 직접 스푸핑 공격을 감시하도록 할 수도 있다.
본 발명에서는 클라이언트(106)의 IP 주소와, 이에 대응하는 MAC 주소(각각의 클라이언트에 설치된 어댑터의 MAC 주소)를 결합하여 'IP-MAC 주소'라 한다.
클라이언트(106)는 ARP 스푸핑 공격 검사 단계에서 ARP 테이블보호부(106-1b)와 ARP 패킷처리부(106-1c)를 통해 ARP 테이블의 감염 여부를 검사하고, 클라이언트(106)를 통해 출입하는 ARP 패킷을 검사한다.
ARP 테이블보호부(106-1b)는 클라이언트(106)에 구성된 ARP 테이블의 모든 ARP 엔트리를 파악한다. ARP 엔트리의 파악은 주기적으로 이루어질 수도 있고, 차단 주소에 대한 정보가 업데이트될때마다 할 수도 있다. ARP 엔트리 중에서 감염 ARP 엔트리가 있는 경우에는 공격 차단 과정이 진행된다.
ARP 패킷처리부(106-1c)는 ARP 패킷이 클라이언트(106)에 들어올때마다 ARP 의 감염 여부를 검사한다.
검사 과정에서 발견된 감염 ARP 엔트리 혹은 감염 ARP 패킷은 차단서버(108)에 의해 ARP 스푸핑 공격 차단 단계에서 처리되고,(도 4 참조) 의심 ARP 엔트리 혹은 의심 ARP 패킷은 의심 MAC 주소 확인 요청 단계에서 처리된다.(도 5 참조)
도 4는 스푸핑 공격을 차단하는 과정을 나타낸 순서도이며, 도 5는 스푸핑 공격으로 의심되는 패킷을 감시하는 과정을 나타낸 순서도이다.
이하에서 도 1 내지 5를 참조하여 본 발명의 실시예에 따른 차단서버(108)의 동작과정을 설명한다.
차단서버(108)는 네트워크망 내부의 모든 클라이언트(106)의 IP-MAC 주소 목록을 수집하여 저장한다.(S102) 차단서버(108)가 수집하는 대상은 로컬 네트워크를 구성하는 모든 단말기를 포함하는 것으로서, 하나의 라우터(102)의 하부에 연결된 모든 L2스위치(104)와 클라이언트(106)를 의미한다.
이를 위해 네트워크망에 포함된 클라이언트(106)는 자신의 IP 주소와 모든 어댑터(하드웨어)의 MAC 주소를 수집해 차단서버(108)에 전송한다.
IP-MAC 주소의 수집과 전송은 자동으로(주기적으로) 이루어질 수도 있고, 장비의 교체나 추가와 같은 일정한 이벤트가 발생했을 때, 이루어질 수도 있다.
클라이언트(106)는 새로운 어댑터를 추가하거나 기존 어댑터를 제거함으로써 어댑터 정보의 변경이 감지되는 경우에 변경된 최근 IP-MAC 주소를 차단서버(108)로 전송한다.
IP-MAC 주소의 수집은 관리자에 의해 수동으로 이루어질 수도 있는데, 네트워크망에 대한 관리자는 네트워크망에 연결된 1대 이상의 개별 클라이언트(106-1 내지 106-N)에 대한 IP-MAC 주소를 수집해 관리자단말기(110)를 통해 차단서버(108)에 수동으로 입력한다.
클라이언트(106)에 의해 자동으로 수집되거나 관리자에 의해 수동으로 입력된 IP-MAC 주소 정보는 차단서버(108)에 저장된다. 주소수집부(108-1)는 클라이언트(106) 또는 관리자단말기(110)로부터 입력되는 유효한 IP-MAC 주소 목록을 전송받는다.
차단서버(108)에 저장되는 IP-MAC 주소 정보는 네트워크망에 포함되어 있는 장치(스위치, 클라이언트)들에 대한 유효한 주소 정보이므로, 데이터 패킷의 교환이 허용되는 화이트리스트(white list)가 된다.
본 발명에서는 왜곡되지 않은 진정한 IP-MAC 주소 목록을 허용 IP-MAC 주소 목록이라고 정의하며, 허용 IP-MAC 주소 목록 중에서 특정 클라이언트(106)에 설치되어 있는 장치들에 대한 주소 정보를 해당하는 클라이언트(106)의 로컬 IP-MAC 주소 목록이라고 지칭한다.
로컬 IP-MAC 주소 목록은 주로 특정 클라이언트(106)에 의해 자동으로 생성되어 차단서버(108)에 보내진다. 허용 IP-MAC 주소 목록 중에서 로컬 IP-MAC 주소 목록을 제외한 나머지 목록은 관리자가 수동으로 입력하거나, 클라이언트(106)가 공격 감시 과정에서 획득하여 입력하거나, 외부 기관의 보안시스템으로부터 입수하여 저장된다.
로컬 IP-MAC 주소 목록을 특별히 따로 보관하는 것은 클라이언트(106)에서 나가는 ARP 패킷의 감염 여부를 확인하기 위해서이다. 클라이언트(106) 자신의 모든 장치들에 대한 MAC 주소를 가지고 있는 상황에서 클라이언트(106)가 다른 호스트를 향해서 ARP 패킷을 송신할 때, 송신되는 ARP 패킷에 포함된 송신자의 IP 주소가 로컬 IP-MAC 주소 목록에 포함되어 있지 않거나, 송신자의 IP 주소와 동일한 IP 주소에 대응하여 저장된 MAC 주소가 송신되는 ARP 패킷에 포함된 송신자의 MAC 주소와 다른 경우에는 클라이언트(106) 자신이 이미 스푸핑 공격을 받아서 IP 주소와 MAC 주소의 변경이 이루어져 있는 것으로 볼 수 있다. 이때에는 즉시 ARP 패킷의 송신을 차단하여야 하는데, 이를 위해 로컬 IP-MAC 주소 목록을 따로 관리하는 것이 바람직하다.
허용 IP-MAC 주소 목록의 IP주소와 MAC 주소 관계는 1:N 관계이다. 즉, 하나의 IP 주소를 갖는 클라이언트(106)에 독립적인 MAC 주소를 갖는 다수의 어댑터가 설치될 수 있으므로, 하나의 IP 주소와 다수의 MAC 주소가 각각의 주소쌍으로 저장될 수 있다.
차단서버(108)는 허용 IP-MAC 주소 목록을 관리하기 위해 자동으로 클라이언트(106)에 허용 IP-MAC 주소 목록을 요청하여 전송받거나, 관리자가 수동으로 허용 IP-MAC 주소 목록을 입력하면 이를 저장하는 방식을 모두 지원할 수 있다.
한편, L2스위치(104)를 통해 중계되는 ARP 패킷의 이더넷 헤더에 기록된 출발지(송신자)의 MAC 주소가 스푸핑 공격에 이용되는 것일 경우에는 차단 MAC 주소 목록에 추가함으로써 앞으로의 추가 공격을 막을 수 있다.
스푸핑 공격을 시도하는 단말기는 네트워크망에 포함된 클라이언트(106) 중의 하나일 것이며, 본 발명에서 지칭하는 차단 MAC 주소 목록은 공격자가 사용하는 클라이언트(106)의 하드웨어 주소를 의미한다. 차단 MAC 주소 목록은 차단서버(108)에 의한 지속적인 감시와 관리자의 입력 등의 방식으로 생성 및 추가가 가능하다.
IP 주소와 이에 대응하는 MAC 주소를 쌍으로 대응시켜 저장하는 허용 IP-MAC 주소 목록과 달리 차단 MAC 주소 목록에는 패킷 전달이 차단되는 MAC 주소만 기재된다. 이것은 공격자가 IP 주소를 임의로 변조하여 ARP 패킷에 포함시키는 경우에도 동일한 MAC 주소를 가진 L2스위치(104)로 데이터가 전송되어 스푸핑 공격이 이루어지므로, 이를 방지하기 위하여 IP 주소에 관계없이 동일한 MAC 주소를 가진 L2스위치(104)로 데이터 패킷이 전해지지 않도록 하기 위한 것이다.
차단서버(108)는 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 각각 허용주소DB(108-3)와 차단주소DB(108-4)에 저장한다. 차단서버(108)는 두 개의 DB(108-3, 108-4)에 저장된 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 바탕으로 네트워크망을 출입하는 ARP 패킷의 감염여부를 확인한다.
그리고 차단서버(108)는 특정 클라이언트(106)가 네트워크망에 연결되는 시점을 통지받는 즉시 해당 클라이언트(106)로 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 전송한다.
허용 IP-MAC 주소 목록과 차단 MAC 주소 목록에 변동이 발생되면 차단서버(108)는 네트워크망에 포함된 모든 클라이언트(106)에게 변동된 허용 IP-MAC 주소 목록과 차단 IP-MAC 주소 목록을 전송한다.
클라이언트(106)에게 전송된 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록은 클라이언트(106) 내부에 존재하는 허용주소DB(106-1d)와 차단주소DB(106-1e)에 각각 저장된다. 클라이언트(106)에 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 전송하여 저장하도록 하는 것은 선택적으로 채택할 수 있는 정책이며, 클라이언트(106)가 이러한 주소 목록을 가지고 있는 경우에는 자신에게 입력되는 ARP 패킷을 스스로 검사하여 스푸핑 공격 여부를 판단할 수 있다. 만약 정책적인 선택에 의해 각각의 클라이언트(106)에는 주소 목록을 전송하지 않는 것으로 설정한다면, ARP 패킷이 입력될 때마다 차단서버(108)가 공격 여부를 판단하게 될 것이다.
ARP 테이블보호부(106-1b)는 새로운 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록이 전송될 때마다 클라이언트(106)의 ARP 테이블에 포함된 ARP 엔트리를 검사하여 감염 여부를 검사한다.
차단서버에만 허용 주소 목록이 저장된 경우
먼저, 차단서버(108)만 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 가지고 있는 경우의 검사과정을 설명한다.
L2스위치(104)는 네트워크망 내부에서 오고가는 모든 ARP 패킷을 중계(수신 및 송신)한다.(S104)
클라이언트(106)에 설치된 네트워크 필터 드라이버는 클라이언트(106)를 통해 들어오고 나가는 ARP 패킷을 실시간으로 검사한다. 여기서 ARP 패킷은 ARP 요청(Request)과 ARP 응답(Reply)을 포함한 모든 Operation 타입의 ARP 패킷을 지칭한다.
ARP 패킷을 수신한 클라이언트(106)의 ARP 패킷처리부(106-1c)는 수신된 ARP 패킷에 포함된 출발지(송신자)의 IP 주소와 MAC 주소를 추출하여 차단서버(108)로 전송함으로써 스푸핑 공격 여부에 대한 검사를 요청한다.(S106) 또한 ARP 테이블보호부(106-1b)는 ARP 테이블에 포함된 ARP 엔트리의 출발지의 IP 주소와 MAC 주소를 추출하여 차단서버(108)로 전송한다.
검사요청은 일정한 시간을 주기로 이루어질 수도 있고, ARP 패킷이 입력될 때마다 또는 허용 또는 차단 주소 목록이 변경될 때마다 이루어질 수도 있다.
주소검사부(108-2)는 추출된 IP-MAC 주소를 DB(108-3, 108-4)에 저장된 주소 목록과 비교하여 스푸핑 공격 여부를 검사한다.(S108)
주소검사부(108-2)는 먼저 전송된 ARP 패킷 또는 ARP 엔트리의 출발지의 MAC 주소와 동일한 주소가 차단주소DB(108-4)에 저장되어 있는지를 검사한다.
공격자가 사용하는 클라이언트(106)로부터 전송된 ARP 패킷 또는 ARP 엔트리의 출발지의 MAC 주소가 차단주소DB(108-4)에 저장된 IP-MAC 주소 목록의 MAC 주소와 동일하다면, 이 ARP 패킷은 변조된 MAC 주소로 패킷 데이터를 가로채려는 스푸핑 공격에 사용되는 것으로 판단할 수 있으며, 이를 감염 ARP 패킷이라고 지칭한다.
예를 들어 클라이언트1(106-1)이 공격자의 단말기이고, 클라이언트2(106-2)와 클라이언트3(106-3) 사이를 오고가는 패킷을 가로채려고 한다고 가정한다.
클라이언트1(106-1)은 클라이언트2(106-2)와 클라이언트3(106-3)에 감염 ARP 패킷을 보내서 자신의 MAC 주소를 정상적인 수신자의 주소인 것처럼 속인다. 즉, 클라이언트2(106-2)의 ARP 테이블에서 클라이언트3(106-3)의 MAC 주소를 기록하는 곳에 클라이언트1(106-1)의 MAC 주소가 기재되도록 하며, 클라이언트3(106-3)의 ARP 테이블에서 클라이언트2(106-2)의 MAC 주소를 기록하는 곳에 클라이언트1(106-1)의 MAC 주소가 기재되도록 하는 것이다.
이렇게 감염이 되면, 클라이언트2(106-2)가 클라이언트3(106-3)에게 보내는 패킷과, 클라이언트3(106-3)이 클라이언트2(106-2)에게 보내는 패킷이 모두 클라이언트1(106-1)에게 전달된다. 클라이언트1(106-1)은 클라이언트2(106-2)와 클라이언트3(106-3)으로부터 입력되는 패킷을 캡쳐하여 저장한 후 다시 정상적인 목적지로 보내거나, 패킷의 전달을 차단하여 정상적인 통신이 이루어지지 않도록 한다.
차단서버(108)는 미리 저장한 모든 클라이언트(106)의 IP-MAC 주소쌍과 새로 입력되는 ARP 패킷 또는 ARP 엔트리에 포함된 IP-MAC 주소쌍을 비교하여 정상적인 MAC 주소를 가진 것인지를 판단한다.
공격자 클라이언트(106)로부터 입력된 감염 ARP 패킷은 차단서버(108)에 의해 수신자의 MAC 주소를 갖는 클라이언트(106)로 전송되지 않도록 차단(드롭)되며, 클라이언트(106)의 ARP 테이블은 정상적인 장치의 MAC 주소로 변경된다.
전송된 ARP 패킷 또는 ARP 엔트리의 송신자(출발지)의 MAC 주소와 동일한 주소가 차단주소DB(108-4)에 포함되어 있지 않다면, 주소검사부(108-2)는 허용주소DB(108-3)를 검사하여 이와 동일한 MAC 주소가 있는지를 판단한다.
만약 송신자의 IP 주소와 MAC 주소의 조합이 허용 IP-MAC 주소 목록에 저장된 조합의 내용과 동일하다면, 이 ARP 패킷은 정상적인 장치에서 보낸 것이므로 스푸핑 공격과 무관한 것이라고 볼 수 있다. 따라서 ARP 패킷에 포함된 목적지의 IP-MAC 주소에 해당하는 클라이언트(106)로 데이터 패킷을 전송하여야 하는데, 그 전에 의심 패킷에 대한 검사단계를 거친다.
두 개의 DB(108-3, 108-4)에 저장된 주소 중에서 송신자의 MAC 주소와 동일한 주소를 찾을 수 없거나, 송신자의 MAC 주소가 차단 MAC 주소 목록에는 없지만 IP 주소와 MAC 주소의 조합이 허용 IP-MAC 주소 목록에 저장된 조합의 내용과 다르다면 아직 최종적으로 안전한 패킷인지 감염된 패킷인지를 확정할 수 없는 상태이다. 이때에는 의심 ARP 패킷으로 분류하여 별도의 검사과정(도 4의 A 단계로서 도 5에 도시)을 거치도록 한다.
유입된 ARP 패킷의 송신자의 MAC 주소가 차단 MAC 주소 목록에 없다면 감염 패킷이 아닐 가능성이 크지만, 추가적인 두 가지 조건의 충족 여부를 확인한 후 의심 ARP 패킷으로 분류한다.
첫 번째는 송신자의 IP 주소와 MAC 주소가 허용 IP-MAC 주소 목록에 없는 경우이다. 다시 말해서 차단 목록에도 없지만 허용 목록에도 없다면 그 송신자로부터는 처음으로 들어온 패킷일 가능성이 크므로, 의심 ARP 패킷으로 분류한다.
두 번째는 송신자의 IP 주소와 MAC 주소가 허용 IP-MAC 주소 목록에 개별적으로 포함되어 있기는 하지만, 허용 IP-MAC 주소 목록에 저장된 조합과는 다른 경우이다. 예를 들어서 클라이언트1(106-1)과 클라이언트2(106-2)의 IP-MAC 주소가 [A-a]와 [B-b]로 각각 맵핑되어 허용 IP-MAC 주소 목록에 주소쌍으로 저장되어 있는데, 특정 클라이언트(106)에 들어온 ARP 패킷의 송신자의 IP-MAC 주소쌍이 [A-b] 또는 [B-a]인 경우를 말한다. 각각의 IP 주소인 A, B와, MAC 주소인 a, b가 허용 목록에 있기는 하지만 맵핑된 주소쌍의 구성요소가 달라진 경우이므로, 스푸핑 공격에 의해 주소가 변질된 것으로 의심해 볼 수 있다.
허용 IP-MAC 주소 목록에 저장된 주소쌍의 내용과 정확히 일치하지 않는 경우에는 바로 감염 ARP 패킷으로 분류하여 차단시킬 수도 있지만, 네트워크망 내부의 통신 상황에 따라서 MAC 주소를 변경하는 경우도 생길 수 있으므로, 최종적인 확인을 위해서 일단은 의심 패킷으로 분류한다.
의심 ARP 패킷에 대해서는 주소검사부(108-2)가 단위시간 동안 해당 의심 ARP 패킷의 출발지 MAC 주소와 동일한 출발지 MAC 주소를 가지는 ARP 패킷의 전송 개수를 누적한다.(S202)
일정한 시간동안 누적된 개수가 특정한 임계치를 넘는 경우에는 네트워크망에 대해서 지속적으로 과도한 ARP 패킷을 발송하는 것이므로, 스푸핑 공격을 시도하는 것으로 간주하는 것이 안전하다.(S204) 통상적으로는 1초당 20회 이상의 ARP 패킷의 발송이 이루어지는 경우에 스푸핑 공격이 시도되고 있는 것으로 판단하도록 하지만, 이 수치는 네트워크의 상태에 따라서 달라질 수 있다. 이후에는 의심 ARP 패킷을 감염 ARP 패킷으로 분류하여 차단과정이 진행된다.
한편, 어느 하나의 클라이언트(106)로부터 다른 클라이언트(106)로 나가는 ARP 패킷에 대해서도 동일한 방법으로 스푸핑 공격 감염 여부를 판단할 수 있다.
주소검사부(108-2)는 L2스위치(104)를 경유해서 다른 클라이언트(106)로 향하는 ARP 패킷의 이더넷 헤더의 출발지 IP 주소와 출발지 MAC 주소가 로컬 IP-MAC 주소 목록에 포함되는지를 검사한다. 로컬 IP-MAC 주소 목록은 네트워크망에 포함된 특정 클라이언트(106)의 모든 하드웨어에 대한 주소 정보를 가지고 있으므로, 특정 클라이언트(106)에서 나가는 ARP 패킷의 출발지 주소가 로컬 IP-MAC 주소 목록과 다르다면 해당하는 특정 클라이언트(106)는 이미 스푸핑 공격에 의해 감염이 된 것으로 볼 수 있다.
따라서 ARP 패킷의 이더넷 헤더의 출발지 IP 주소와 출발지 MAC 주소가 로컬 IP-MAC 주소 목록에 포함되지 않는 ARP 패킷은 감염 ARP 패킷으로 판단하여 차단과정을 진행한다. 송신되는 ARP 패킷에서 출발지 IP 주소 및 MAC 주소를 추출하고, 추출된 IP 주소가 로컬 IP-MAC 주소 목록에 없으면 감염 ARP 패킷이다.
또한 추출된 IP 주소와 동일한 IP 주소가 로컬 IP-MAC 주소 목록에 포함되어 있는지를 조회한다. 조회 결과 동일한 IP 주소가 발견되고, 이와 대응하여 저장된 MAC 주소가 있다면 이를 조회한다. 송신되는 ARP 패킷의 출발지의 MAC 주소와 로컬 IP-MAC 주소 목록에서 조회한 MAC 주소가 동일하지 않다면 이 역시 감염 ARP 패킷이다.
이와 같은 모든 검사과정을 거쳐서 안전한 ARP 패킷인 것으로 인정되는 경우에는 지정된 목적지로 ARP 패킷의 송수신이 진행된다.(S118)
클라이언트에도 허용 주소 목록이 저장된 경우
개별 클라이언트(106)의 허용주소DB(106-1d)와 차단주소DB(106-1e)에 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록이 저장되어 있는 경우에는 L2스위치(104)를 거쳐서 각 클라이언트(106)에 ARP 패킷이 입력되었을 때 또는 허용주소DB(106-1d)와 차단주소DB(106-1e)가 업데이트될 때마다 클라이언트(106)의 ARP 테이블보호부(106-1b)와 ARP 패킷처리부(106-1c)가 자체적으로 스푸핑 공격 여부를 검사한다. 이때에는 차단서버(108)에 감염 여부의 검사를 요청하지 않고 클라이언트(106)가 직접 수행한다.
이 경우에도 전술한 바와 같이 출발지의 MAC 주소가 DB(106-1d, 106-1e)에 저장된 주소 목록과 동일한지를 판단한다. ARP 테이블보호부(106-1b)는 차단서버(108)가 수집하여 생성한 허용 IP-MAC 주소 목록과 차단 MAC 주소 목록을 주기적으로 또는 특정 이벤트가 발생했을 때마다 수신함으로써 허용주소DB(106-1d)와 차단주소DB(106-1e)가 항상 업데이트된 상태가 되도록 한다.
ARP 테이블보호부(106-1b)는 주기적으로 ARP 엔트리를 검사하여 추출된 IP-MAC 주소를 DB(106-1d, 106-1e)에 저장된 주소 목록과 비교하여 감염 여부를 판단한다. 그리고 ARP 패킷처리부(106-1c)는 ARP 패킷이 들어오거나 나갈 때마다 IP-MAC 주소를 추출하여 감염 여부를 판단한다.
만약 출발지의 MAC 주소가 차단 IP-MAC 주소 목록에 저장된 MAC 주소와 동일하다면 ARP 패킷처리부(106-1c)가 해당 ARP 패킷을 차단시키거나, ARP 테이블보호부(106-1b)가 ARP 엔트리의 MAC 주소를 변경한다.
또한 의심 ARP 패킷에 대해서도 앞에서와 동일하게 일정한 시간 동안 동일한 MAC 주소를 갖는 ARP 패킷이 유입되는지를 감시하고, 특정한 임계치를 넘는 경우에는 감염 ARP 패킷으로 분류한다.
또한 클라이언트(106)로부터 나가는 ARP 패킷의 출발지 IP-MAC 주소가 로컬 IP-MAC 주소 목록에 저장된 정보와 다를 경우에 감염 ARP 패킷으로 분류한다.
스푸핑 공격 차단 과정
차단서버(108) 또는 클라이언트(106)에 의해 감염 ARP 패킷으로 밝혀진 경우, 해당 ARP 패킷이 네트워크망 내부를 돌아다니지 않도록 해야 한다.
이를 위해 먼저 감염된 ARP 패킷의 송수신을 차단하고, ARP 테이블에서 해당 IP-MAC 주소를 수정한다.(S112) ARP 패킷처리부(106-1c)는 차단서버(108)로부터 ARP 패킷이 스푸핑 공격에 사용되고 있다는 검사결과를 통보받으면 해당 감염 ARP 패킷의 송수신을 차단시킨다.
그리고 ARP 테이블보호부(106-1b)는 ARP 엔트리가 스푸핑 공격에 사용되고 있다는 검사결과를 통보받으면 해당 감염 ARP 엔트리에 포함된 IP-MAC 주소 중에서 IP 주소를 추출하고, 추출된 IP 주소와 대응하여 저장된 정상 MAC 주소를 차단서버(108)의 DB(108-3, 108-4)나 클라이언트(106)의 DB(106-1d, 106-1e)에서 조회한다. 정상 MAC 주소가 조회되면, 감염 ARP 엔트리의 출발지(송신자) 주소를 저장된 정상 MAC 주소로 고정(static) 설정한다.(S114) 향후에는 해당 IP 주소를 가진 ARP 패킷이 들어왔을 때, 고정으로 설정된 정상 MAC 주소를 가진 클라이언트(106)로만 향하게 된다.
ARP 테이블보호부(106-1b)와 ARP 패킷처리부(106-1c)는 차단된 패킷의 Operation 타입, 출발지 IP 주소, 출발지 MAC 주소, 대상지 IP 주소, 대상지 MAC 주소, 패킷 발신 프로세스 등의 정보를 차단서버(108)로 전송한다.(S116) 차단서버(108)의 주소수집부(108-1)는 ARP 테이블보호부(106-1b)와 ARP 패킷처리부(106-1c)가 전송한 데이터를 수신하여 차단주소DB(108-4)를 업데이트한다.
이상 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하였지만, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술 분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
102 : 라우터 104 : L2스위치
106 : 클라이언트 108 : 차단서버
110 : 관리자단말기

Claims (7)

  1. 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서,
    차단서버(108)의 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106)의 IP 주소와 MAC 주소를 수집하는 제1단계와;
    상기 주소수집부(108-1)가 상기 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 허용 IP-MAC 주소 목록을 생성하고, 상기 허용 IP-MAC 주소 목록을 허용주소DB(108-3)에 저장하는 제2단계와;
    상기 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106) 중에서 스푸핑 공격을 하는 공격자가 사용하는 클라이언트(106)의 MAC 주소에 대한 정보인 차단 MAC 주소 목록을 차단주소DB(108-4)에 저장하는 제3단계와;
    상기 클라이언트(106)에 ARP 패킷이 유입되면, 상기 클라이언트(106)의 ARP 패킷처리부(106-1c)는 상기 ARP 패킷에 포함된 송신자의 IP 주소와 MAC 주소를 추출하여 상기 차단서버(108)로 전송하면서 스푸핑 공격 여부에 대한 검사를 요청하는 제4단계와;
    차단서버(108)의 주소검사부(108-2)의 검사 결과, 상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단주소DB(108-4)에 저장된 차단 MAC 주소 목록에 포함된 경우, 상기 ARP 패킷이 감염 ARP 패킷이라는 것을 상기 차단서버(108)가 상기 클라이언트(106)에 통보하는 제5단계와;
    상기 ARP 패킷처리부(106-1c)가 상기 감염 ARP 패킷의 송수신을 차단하는 제6단계;를 포함하며,
    상기 제5단계는
    상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단 MAC 주소 목록에 포함되어 있지 않은 경우, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 없거나, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 맵핑되어 주소쌍으로 저장되어 있는 허용 IP-MAC 주소의 구성과 다르다면 상기 ARP 패킷을 의심 ARP 패킷으로 정의하는 제5-1단계와;
    상기 주소검사부(108-2)가 단위시간 동안 상기 클라이언트(106)에 유입된 ARP 패킷 중에서 상기 의심 ARP 패킷에 포함된 송신자의 MAC 주소와 동일한 송신자 MAC 주소를 가지는 ARP 패킷의 전송 개수를 누적하는 제5-2단계와;
    일정한 시간 동안 누적된 전송 개수가 임계치를 넘는 경우, 상기 의심 ARP 패킷을 감염 ARP 패킷으로 분류하는 제5-3단계;로 이루어지는 것을 특징으로 하는, 차단서버를 이용한 스푸핑 공격 방어방법.
  2. 삭제
  3. 삭제
  4. 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서,
    차단서버(108)의 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106)의 IP 주소와 MAC 주소를 수집하는 제1단계와;
    상기 주소수집부(108-1)가 상기 제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 허용 IP-MAC 주소 목록을 생성하고, 상기 허용 IP-MAC 주소 목록을 상기 클라이언트(106)의 허용주소DB(106-1d)에 저장하는 제2단계와;
    상기 주소수집부(108-1)가 상기 네트워크망 내부에 연결된 클라이언트(106) 중에서 스푸핑 공격을 하는 공격자가 사용하는 클라이언트(106)의 MAC 주소에 대한 정보인 차단 MAC 주소 목록을 상기 클라이언트(106)의 차단주소DB(106-1e)에 저장하는 제3단계와;
    상기 클라이언트(106)에 ARP 패킷이 유입되면, 상기 클라이언트(106)의 ARP 패킷처리부(106-1c)는 상기 ARP 패킷에 포함된 송신자의 IP 주소와 MAC 주소를 추출하여 스푸핑 공격 여부를 검사하는 제4단계와;
    상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단 MAC 주소 목록에 포함된 경우, 상기 ARP 패킷처리부(106-1c)가 상기 ARP 패킷을 감염 ARP 패킷으로 분류하는 제5단계와;
    상기 ARP 패킷처리부(106-1c)가 상기 감염 ARP 패킷의 송수신을 차단하는 제6단계;를 포함하며,
    상기 제5단계는
    상기 제4단계에서 추출된 송신자의 MAC 주소가 상기 차단 MAC 주소 목록에 포함되어 있지 않은 경우, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 없거나, 상기 송신자의 IP 주소와 MAC 주소가 상기 허용 IP-MAC 주소 목록에 맵핑되어 주소쌍으로 저장되어 있는 허용 IP-MAC 주소의 구성과 다르다면 상기 ARP 패킷을 의심 ARP 패킷으로 정의하는 제5-1단계와;
    상기 ARP 패킷처리부(106-1c)가 단위시간 동안 상기 클라이언트(106)에 유입된 ARP 패킷 중에서 상기 의심 ARP 패킷에 포함된 송신자의 MAC 주소와 동일한 송신자 MAC 주소를 가지는 ARP 패킷의 전송 개수를 누적하는 제5-2단계와;
    일정한 시간 동안 누적된 전송 개수가 임계치를 넘는 경우, 상기 의심 ARP 패킷을 감염 ARP 패킷으로 분류하는 제5-3단계;로 이루어지는 것을 특징으로 하는, 차단서버를 이용한 스푸핑 공격 방어방법.
  5. 삭제
  6. 삭제
  7. 네트워크망 내부의 L2스위치(104)를 통해 중계되는 ARP 패킷에 포함된 IP 주소와 MAC 주소를 검사하여 스푸핑 공격이 이루어지고 있는 것으로 판단되면, 상기 ARP 패킷의 전송을 차단시키는 방어방법으로서,
    특정 클라이언트(106)에 설치되어 있는 장치들의 IP 주소와 MAC 주소를 수집하는 제1단계와;
    제1단계에서 수집한 상기 IP 주소와 상기 MAC 주소를 서로 대응시킨 로컬 IP-MAC 주소 목록을 상기 클라이언트(106)의 허용주소DB(106-1d)에 저장하는 제2단계와;
    상기 특정 클라이언트(106)로부터 ARP 패킷이 송신될 때, 상기 특정 클라이언트(106)의 ARP 패킷처리부(106-1c)는 상기 송신되는 ARP 패킷에 포함된 송신자의 IP 주소와 MAC 주소를 추출하여 스푸핑 공격 여부를 검사하는 제2단계와;
    제2단계에서 추출된 송신자의 IP 주소가 상기 로컬 IP-MAC 주소 목록에 포함되어 있지 않거나, 추출된 송신자의 IP 주소와 동일한 IP 주소에 대응하여 저장된 MAC 주소가 상기 송신되는 ARP 패킷에 포함된 송신자의 MAC 주소와 다른 경우, 상기 ARP 패킷처리부(106-1c)가 상기 송신되는 ARP 패킷을 감염 ARP 패킷으로 분류하는 제3단계와;
    상기 ARP 패킷처리부(106-1c)가 상기 감염 ARP 패킷의 송신을 차단하는 제4단계;를 포함하는, 차단서버를 이용한 스푸핑 공격 방어방법.
KR1020110044667A 2011-05-12 2011-05-12 차단서버를 이용한 스푸핑 공격 방어방법 KR101231975B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020110044667A KR101231975B1 (ko) 2011-05-12 2011-05-12 차단서버를 이용한 스푸핑 공격 방어방법
US14/117,131 US9038182B2 (en) 2011-05-12 2012-03-08 Method of defending against a spoofing attack by using a blocking server
DE112012002054.5T DE112012002054T5 (de) 2011-05-12 2012-03-08 Spoofing-Angriff-Abwehrverfahren unter Verwendung eines Blockierungsservers
PCT/KR2012/001714 WO2012153913A1 (ko) 2011-05-12 2012-03-08 차단서버를 이용한 스푸핑 공격 방어방법
JP2014510237A JP5826920B2 (ja) 2011-05-12 2012-03-08 遮断サーバを用いたスプーフィング攻撃に対する防御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110044667A KR101231975B1 (ko) 2011-05-12 2011-05-12 차단서버를 이용한 스푸핑 공격 방어방법

Publications (2)

Publication Number Publication Date
KR20120126674A KR20120126674A (ko) 2012-11-21
KR101231975B1 true KR101231975B1 (ko) 2013-02-08

Family

ID=47139371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110044667A KR101231975B1 (ko) 2011-05-12 2011-05-12 차단서버를 이용한 스푸핑 공격 방어방법

Country Status (5)

Country Link
US (1) US9038182B2 (ko)
JP (1) JP5826920B2 (ko)
KR (1) KR101231975B1 (ko)
DE (1) DE112012002054T5 (ko)
WO (1) WO2012153913A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010052394B4 (de) * 2010-11-24 2019-01-03 Kuka Roboter Gmbh Robotersystem mit einem Roboter und zwei wechselweise mit diesem verbindbaren Einrichtungen sowie Verfahren zum Wechseln dieser Einrichtungen
JP5876788B2 (ja) * 2012-08-21 2016-03-02 株式会社Pfu 通信遮断装置、通信遮断方法、及びプログラム
KR101420196B1 (ko) * 2013-01-18 2014-07-18 한남대학교 산학협력단 DDoS 공격의 대응 방법 및 장치
US20150235052A1 (en) 2014-02-17 2015-08-20 Samsung Electronics Co., Ltd. Electronic device and method for protecting users privacy
TWI506472B (zh) * 2014-03-12 2015-11-01 Hon Hai Prec Ind Co Ltd 網路設備及其防止位址解析協定報文攻擊的方法
JPWO2015174100A1 (ja) * 2014-05-14 2017-04-20 学校法人東京電機大学 パケット転送装置、パケット転送システム及びパケット転送方法
US9985984B1 (en) * 2014-10-27 2018-05-29 National Technology & Engineering Solutions Of Sandia, Llc Dynamic defense and network randomization for computer systems
CN105741510A (zh) * 2016-03-17 2016-07-06 云丁网络技术(北京)有限公司 一种基于无线信号的智能报警方法及其智能报警系统
WO2018186511A1 (ko) * 2017-04-06 2018-10-11 (주)노르마 사물 인터넷 네트워크에서의 에이알피 스푸핑 방지 시스템
KR102640946B1 (ko) * 2017-09-26 2024-02-27 (주)노르마 Arp 스푸핑 탐지 시스템 및 방법
CN107729202A (zh) * 2017-11-06 2018-02-23 深圳开发微电子有限公司 可追溯usb生产源头的一种方法
US10547587B2 (en) 2018-03-19 2020-01-28 Didi Research America, Llc Method and system for near real-time IP user mapping
CN110401616A (zh) * 2018-04-24 2019-11-01 北京码牛科技有限公司 一种提高mac地址和ip地址安全性和稳定性的方法和系统
CN108965263B (zh) * 2018-06-26 2021-06-08 新华三技术有限公司 网络攻击防御方法及装置
JP6923809B2 (ja) * 2018-08-23 2021-08-25 日本電信電話株式会社 通信制御システム、ネットワークコントローラ及びコンピュータプログラム
US11201853B2 (en) 2019-01-10 2021-12-14 Vmware, Inc. DNS cache protection
US11277442B2 (en) * 2019-04-05 2022-03-15 Cisco Technology, Inc. Verifying the trust-worthiness of ARP senders and receivers using attestation-based methods
US11368484B1 (en) * 2019-04-26 2022-06-21 Cisco Technology, Inc Endpoint security mechanism to detect IP theft on a virtual machine mobility in switch fabric
US10855644B1 (en) * 2019-09-09 2020-12-01 Vmware, Inc. Address resolution protocol entry verification
US11575646B2 (en) * 2020-03-12 2023-02-07 Vmware, Inc. Domain name service (DNS) server cache table validation
CN112637373B (zh) * 2020-11-17 2022-05-27 新华三技术有限公司合肥分公司 一种保持哑终端在线的方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040109985A (ko) * 2003-06-19 2004-12-29 주식회사 인티게이트 Dhcp 패킷을 이용한 동적 ip 주소할당 환경에서의arp/ip 스푸핑 자동 방지 방법
KR20060064450A (ko) * 2004-12-08 2006-06-13 한국전자통신연구원 Arp 공격 탐지 장치 및 방법
KR100807933B1 (ko) * 2006-11-28 2008-03-03 엘지노텔 주식회사 에이알피 스푸핑 감지 시스템 및 감지 방법과 그 방법이저장된 컴퓨터 판독가능 저장매체
KR20080107599A (ko) * 2007-06-07 2008-12-11 주식회사 케이티 통신 네트워크에서의 arp 공격 차단 시스템 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234163B1 (en) * 2002-09-16 2007-06-19 Cisco Technology, Inc. Method and apparatus for preventing spoofing of network addresses
US8819285B1 (en) * 2002-10-01 2014-08-26 Trustwave Holdings, Inc. System and method for managing network communications
US7523485B1 (en) * 2003-05-21 2009-04-21 Foundry Networks, Inc. System and method for source IP anti-spoofing security
US8688834B2 (en) * 2004-07-09 2014-04-01 Toshiba America Research, Inc. Dynamic host configuration and network access authentication
US20060114863A1 (en) * 2004-12-01 2006-06-01 Cisco Technology, Inc. Method to secure 802.11 traffic against MAC address spoofing
US8336092B2 (en) * 2005-02-18 2012-12-18 Duaxes Corporation Communication control device and communication control system
KR20070103502A (ko) * 2005-02-18 2007-10-23 듀아키시즈 가부시키가이샤 통신 제어 장치
US8510833B2 (en) * 2005-10-27 2013-08-13 Hewlett-Packard Development Company, L.P. Connection-rate filtering using ARP requests
WO2008039148A1 (en) * 2006-09-28 2008-04-03 Packetfront Sweden Ab Method for automatically providing a customer equipment with the correct service
CN101110821B (zh) * 2007-09-06 2010-07-07 华为技术有限公司 防止arp地址欺骗攻击的方法及装置
KR101270041B1 (ko) * 2011-10-28 2013-05-31 삼성에스디에스 주식회사 Arp 스푸핑 공격 탐지 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040109985A (ko) * 2003-06-19 2004-12-29 주식회사 인티게이트 Dhcp 패킷을 이용한 동적 ip 주소할당 환경에서의arp/ip 스푸핑 자동 방지 방법
KR20060064450A (ko) * 2004-12-08 2006-06-13 한국전자통신연구원 Arp 공격 탐지 장치 및 방법
KR100807933B1 (ko) * 2006-11-28 2008-03-03 엘지노텔 주식회사 에이알피 스푸핑 감지 시스템 및 감지 방법과 그 방법이저장된 컴퓨터 판독가능 저장매체
KR20080107599A (ko) * 2007-06-07 2008-12-11 주식회사 케이티 통신 네트워크에서의 arp 공격 차단 시스템 및 방법

Also Published As

Publication number Publication date
US20140325651A1 (en) 2014-10-30
WO2012153913A1 (ko) 2012-11-15
US9038182B2 (en) 2015-05-19
JP5826920B2 (ja) 2015-12-02
JP2014517593A (ja) 2014-07-17
DE112012002054T5 (de) 2014-02-13
KR20120126674A (ko) 2012-11-21

Similar Documents

Publication Publication Date Title
KR101231975B1 (ko) 차단서버를 이용한 스푸핑 공격 방어방법
US7768921B2 (en) Identification of potential network threats using a distributed threshold random walk
US7478429B2 (en) Network overload detection and mitigation system and method
US7823202B1 (en) Method for detecting internet border gateway protocol prefix hijacking attacks
EP1905197B1 (en) System and method for detecting abnormal traffic based on early notification
KR100609170B1 (ko) 네트워크 보안 시스템 및 그 동작 방법
US8347383B2 (en) Network monitoring apparatus, network monitoring method, and network monitoring program
KR101217647B1 (ko) 특정 소스/목적지 ip 어드레스 쌍들에 기초한 ip 네트워크들에서 서비스 거부 공격들에 대한 방어 방법 및 장치
JP4768020B2 (ja) IPネットワークにおいてターゲット被害者自己識別及び制御によってDoS攻撃を防御する方法
US20080028073A1 (en) Method, a Device, and a System for Protecting a Server Against Denial of DNS Service Attacks
KR100858271B1 (ko) 분산서비스거부공격 차단장치 및 그 방법
KR20060116741A (ko) 통신 네트워크에서 웜을 식별하여 무력화시키는 방법과장치
US7596808B1 (en) Zero hop algorithm for network threat identification and mitigation
KR20060076325A (ko) 서비스 불능 공격 방어 시스템, 서비스 불능 공격 방어방법 및 서비스 불능 공격 방어 프로그램
KR100950900B1 (ko) 분산서비스거부 공격 방어방법 및 방어시스템
JP2008306610A (ja) 不正侵入・不正ソフトウェア調査システム、および通信振分装置
KR101065800B1 (ko) 네트워크 관리 장치 및 그 방법과 이를 위한 사용자 단말기및 그의 기록 매체
JP7060800B2 (ja) 感染拡大攻撃検知システム及び方法、並びに、プログラム
JP2010507871A (ja) 1つまたは複数のパケット・ネットワーク内で望まれないトラフィックの告発をオーバーライドする方法および装置
KR20170109949A (ko) 동적 네트워크 환경에서의 네트워크 보안 강화 방법 및 장치
US20060225141A1 (en) Unauthorized access searching method and device
KR101380096B1 (ko) 분산 서비스 거부 공격 대응 시스템 및 그 방법
KR102046612B1 (ko) Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법
KR101080734B1 (ko) 스푸핑 방지 방법 및 장치
KR101236129B1 (ko) 비정상 트래픽 제어 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190118

Year of fee payment: 9