KR101070522B1 - 스푸핑 공격 탐지 및 차단 시스템 및 방법 - Google Patents

스푸핑 공격 탐지 및 차단 시스템 및 방법 Download PDF

Info

Publication number
KR101070522B1
KR101070522B1 KR1020090116814A KR20090116814A KR101070522B1 KR 101070522 B1 KR101070522 B1 KR 101070522B1 KR 1020090116814 A KR1020090116814 A KR 1020090116814A KR 20090116814 A KR20090116814 A KR 20090116814A KR 101070522 B1 KR101070522 B1 KR 101070522B1
Authority
KR
South Korea
Prior art keywords
arp
gateway
client
mac address
server
Prior art date
Application number
KR1020090116814A
Other languages
English (en)
Other versions
KR20110060271A (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 KR1020090116814A priority Critical patent/KR101070522B1/ko
Publication of KR20110060271A publication Critical patent/KR20110060271A/ko
Application granted granted Critical
Publication of KR101070522B1 publication Critical patent/KR101070522B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Abstract

본 발명은 스푸핑 공격 탐지 및 차단 시스템 및 방법에 관한 것으로, 클라이언트를 가지는 적어도 하나의 사용자 컴퓨터, 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 게이트웨이, 및 사용자 컴퓨터들의 IP와 MAC 어드레스 및 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 서버를 포함하며, 사용자 컴퓨터는 자신의 IP와 MAC 어드레스 그리고 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하며, 클라이언트는 ARP_C 테이블에서 변동항목이 있는지 모니터링하고, 만약 변동이 있으면 변동항목을 서버로 전송하며,서버는 변동항목이 스푸핑 공격자에 의해 변동되었는지를 판단한다. 이에 의해, 스푸핑 공격을 사전에 탐지하고 차단하여 보안관리자에게 알릴 수 있고, 나아가 공격자의 컴퓨터 네트웍을 차단함으로써 공격 피해를 최소화할 수 있다.
Figure R1020090116814
스푸핑, ARP, 변조, MAC

Description

스푸핑 공격 탐지 및 차단 시스템 및 방법{SYSTEM AND METHOD FOR MONITORING AND BLOCKING OF SPOOFING ATTACK}
본 발명은 스푸핑 공격 탐지 및 차단 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 스위칭 환경 하에서 ARP 취약점으로 인한 공격 상태를 모니터링을 하고, 실제 공격이 발생할 경우 이를 차단하고, 공격자의 위치 및 현황 관리를 통해 정보유출의 확산을 사전에 차단하는 스푸핑 공격 탐지 및 차단 시스템 및 방법에 관한 것이다.
네트워크를 이용하는 컴퓨터는 에이알피 테이블(ARP Table)이라고 불리우는 아이피와 맥 어드레스간의 변환테이블을 관리하며, 이러한 에이알피 테이블은 주로 동적 또는 수동으로 관리된다. 디폴트 옵션(fault Option)은 동적(dynamic)으로 되어 있으며, 이는 컴퓨터에서 주기적인 에이알피(ARP) 리퀘스트를 전송하면 주위의 컴퓨터들이 응답을(Reply) 보내는 방식으로 동작된다. 이러한 동적 방식에서는, 게이트웨이(Gateway) 및 기타 주변의 컴퓨터의 MAC 주소가 변경되면 같이 변경되어 네트웍이 원활하게 동작하도록 구성되어 있다.
한편, 정적으로 ARP Table을 관리하는 방식이 있는데, 이는 관리 Option을 정적(static)으로 설정하여, ARP 공격 시 Gateway MAC 주소를 변경되지 못하도록 한 것으로서, 송신하는 데이터에 대해서만 공격의 영향을 받지 않도록 하는 기술이다.
하지만, 상기의 방식들은 다음과 같은 문제점이 있다. 첫째 게이트웨이 ㅁ맥 주소를 정적(static) 으로 구성하게 되면 게이트웨이 장비 장애 및 노후, 기타 사유로 인한 장비 변경 등이 발생할 경우 게이트웨이 맥 주소가 해당 컴퓨터에도 자동으로 변경되지 않아 네트웍을 사용할 수 없게 되고 이를 해결하기 위해서는 수작업으로 맥 주소를 변경하거나 원래의 구성으로 변경 후 다시 정적(static)으로 변경해야 하는 등 신속한 대처가 어렵다. 둘째 실제 공격이 발생할 경우 이에 대한 현황 및 모니터링을 할 수 없어 에잉라피 취약점 공격에 대한 실체를 알 수 없고 정보유출이 되고 있는지 파악조차 힘들다. 셋째 ARP 취약점 공격은 해당 컴퓨터의 게이트웨이 맥 주소뿐 아니라 게이트웨이 장비인 라우터(Router)의 에이알피 테이블에 있는 사용자 컴퓨터의 맥 주소도 변경한다. 하지만, 피해자 컴퓨터에서의 데이터 송신은 게이트웨이를 통해 인터넷으로 바로 가기 때문에 문제가 없으나, 수신되는 데이터에 대해서는 라우터에서 피해자의 맥 주소가 공격자의 맥 주소로 변경이 되어 있어 수신 데이터가 노출될 수 있다.
본 발명의 목적은, 스위칭 환경 하에서 ARP 취약점으로 인한 공격 상태를 모니터링을 하고, 실제 공격이 발생할 경우 이를 차단하고, 나아가 공격자의 컴퓨터 네트웍을 사용할 수 없도록 차단함으로써 피해를 최소화하고, 공격자의 위치 및 현황 관리를 통해 정보유출 및 정보자산의 피해 확산을 사전에 차단하는 것을 목적으로 한다.
상기 목적은, 로컬 네트워크에서 스푸핑 공격을 탐지 및 차단하는 시스템에 있어서, 클라이언트를 가지는 적어도 하나의 사용자 컴퓨터; 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 게이트웨이; 및 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 및 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 서버;를 포함하며,
상기 사용자 컴퓨터는 자신의 IP와 MAC 어드레스 그리고 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하며, 상기 클라이언트는 상기 ARP_C 테이블에서 변동항목이 있는지 모니터링하고, 만약 변동이 있으면 변동항목을 상기 서버로 전송하며, 상기 서버는 상기 변동항목이 스푸핑 공격자에 의해 변동되었는지를 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템에 의해서 달성될 수 있다.
상기 서버는 상기 클라이언트로부터 전송받은 변동항목과 상기 ARP_S 테이블 을 비교하고, 비교 결과 차이가 있으면 상기 게이트웨이에게 상기 변동항목에 대응되는 항목을 전송해줄 것을 요청하고, 상기 게이트웨이로부터 전송받은 항목과 상기 클라이언트로부터 전송받은 변동항목을 비교하여 차이가 없으면 스푸핑 공격이 아니라고 판단하고, 만약 차이가 있으면 스푸핑 공격이라고 판단할 수 있다.
상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 자신의 ARP_C 테이블에 포함된 상기 변동항목을 정정하는 ARP 정정 동작을 수행할 수 있다.
상기 변동항목은 상기 게이트웨이의 MAC 어드레스인 것을 특징으로 하며, 상기 클라이언트는 상기 서버로부터 상기 게이트웨이의 정확한 MAC 어드레스('G/W MAC 어드레스')를 수신하고, 자신의 ARP_C 테이블에 포함된 게이트웨이의 MAC 어드레스를 상기 정확한 G/W MAC 어드레스로 변경할 수 있다.
상기 ARP 정정 동작은, 정확한 G/W MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트가 전송되고, 상기 ARP 리퀘스트를 상기 사용자 컴퓨터가 수신하고, 상기 사용자 컴퓨터는 상기 ARP 리퀘스트에 포함된 정확한 G/W MAC 어드레스를 이용하여 자신의 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경할 수 있다.
상기 클라이언트는 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 상기 게이트웨이의 ARP_GW 테이블에 포함된 상기 클라이언트의 MAC 어드레스를 정정하는 ARP 정정 동작을 수행할 수 있다.
상기 ARP 정정 동작은, 상기 사용자 컴퓨터의 정확한 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트가 전송되고, 상기 ARP 리퀘스트를 상기 게이트웨이가 수신하고, 상기 게이트웨이는 상기 ARP 리퀘스트에 포함된 정확한 사용자 컴퓨터 MAC 어드레스를 이용하여 자신의 ARP_GW 테이블에 포함된 사용자 컴퓨터 MAC 어드레스를 변경할 수 있다.
상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 상기 스푸핑 공격을 하는 공격자가 상기 네트워크로 접속하는 것을 차단하는 공격자 차단동작을 수행할 수 있다.
상기 변동항목은 상기 게이트웨이의 MAC 어드레스이며, 상기 공격자 차단동작은,상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 공격자로 전송할 수 있다.
상기 변동항목은 상기 게이트웨이의 MAC 어드레스이며, 상기 공격자 차단동작은, 상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 게이트웨이로 전송할 수 있다.
상기 게이트웨이는, 상기 충돌 리퀘스트를 수신한 경우, 상기 ARP_GW에서 상기 충돌 리퀘스트에 포함된 IP에 존재하지 않은 가상의 MAC 어드레스를 할당하여 저장할 수 있다.
상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 공격 중지 식별값 K를 "0"으로 설정하고, 상기 게이트웨이의 ARP_GW 테이블에 포함된 상기 클라이언트의 MAC 어드레스를 정정하는 ARP 정정 동작과, 상기 스푸핑 공격을 하는 공격자가 상기 네트워크로 접속하는 것을 차단하는 공격자 차단동작을 수행할 수 있다.
상기 클라이언트는 상기 ARP 정정 동작과 상기 공격자 차단동작을 수행한 후, 자신의 ARP_C 테이블의 변동을 모니터링하며, 모니터링할 때마다 상기 K 값을 "1"씩 증가시킬 수 있다.
상기 클라이언트는 상기 K 값이 기설정된 기준값보다 적은 경우, 상기 ARP 정정동작과 상기 공격자 차단 동작을 주기적으로 수행할 수 있다.
상기 클라이언트는 상기 K 값이 기설정된 기준값 이상인 경우, 상기 스푸핑 공격이 중단되었다고 판단하고, 상기 ARP 정정동작과 상기 공격자 차단 동작을 수행하지 않고, 자신의 ARP_C 테이블을 모니터링하는 동작만을 수행할 수 있다.
상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 공격중임을 나타내는 플래그 P를 "1"로 설정하며,
상기 플래그 P가 "1" 인 경우에만, 상기 K 값을 "1"씩 증가시킬 수 있다.
상기 클라이언트는 기준 테이블을 저장 및 관리하며, 상기 클라이언트는 상기 서버로부터 스푸핑 공격이라는 것을 통지받고, 상기 서버로부터 정확하다고 확인된 상기 게이트웨이의 MAC 어드레스를 상기 기준 테이블에 저장할 수 있다.
상기 클라이언트는 상기 ARP_C 테이블과 상기 기준 테이블을 비교함으로써, 변동항목이 있는지 모니터링할 수 있다.
또한, 상기 목적은, 로컬 네트워크에서 스푸핑 공격을 탐지하고 및 차단하는 시스템에 있어서, 클라이언트를 가지는 적어도 하나의 사용자 컴퓨터; 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 게이트웨이; 및 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 및 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 서버;를 포함하며, 상기 사용자 컴퓨터는 자신의 IP와 MAC 어드레스 그리고 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하며, 상기 클라이언트는 상기 사용자 컴퓨터가 온 되면, 상기 ARP_C 테이블을 상기 서버로 전송하고, 상기 서버는 상기 ARP_C 테이블과 상기 ARP_S 테이블을 비교하여 상기 클라이언트가 스푸핑 공격을 당했는지 여부를 판단할 수 있는 스푸핑 공격 탐지 및 차단 방법에 의해서 달성될 수 있다.
상기 서버는, 상기 ARP_C 테이블과 상기 ARP_S 테이블을 비교한 결과, 상기 게이트웨이의 MAC 어드레스가 차이가 있으면 상기 게이트웨이의 MAC 어드레스를 상기 게이트웨이에게 요청하고, 상기 게이트웨이로부터 전송받은 MAC 어드레스와 상기 클라이언트로부터 전송받은 상기 ARP_C 테이블에 포함된 MAC 어드레스를 비교하여 차이가 없으면 스푸핑 공격이 아니라고 판단하고, 만약 차이가 있으면 스푸핑 공격이라고 판단할 수 있다.
상기 클라이언트는 상기 서버로부터 스푸핑 공격을 받았다는 통지를 받으면, ARP 정정 동작을 수행하며, 상기 ARP 정정 동작은, 정확한 게이트웨이 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트가 전송되고, 상기 ARP 리퀘스트를 상기 사용자 컴퓨터가 수신하고, 상기 사용자 컴퓨터는 상기 ARP 리퀘스트에 포함된 정확한 게이트웨이 MAC 어드레스를 이용하여 자신의 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경할 수 있다.
상기 클라이언트는 상기 서버로부터 스푸핑 공격을 받았다는 통지를 받으면, 공격자 차단 동작을 수행하며, 상기 공격자 차단동작은, 상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 공격자로 전송할 수 있다.
상기 클라이언트는 상기 서버로부터 스푸핑 공격을 받았다는 통지를 받으면, 공격자 차단 동작을 수행하며, 상기 공격자 차단동작은, 상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 게이트웨이로 전송할 수 있다.
또한, 상기 목적은, 로컬 네트워크에서 스푸핑 공격을 탐지 및 차단하는 방법에 있어서, 사용자 컴퓨터가 자신의 IP와 MAC 어드레스 그리고 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하는 단계; 게이트웨이가 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 단계; 및 서버가 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 및 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 단계;를 포함하며, 상기 서버는 상기 클라이언트로부터 상기 ARP_C 테이블의 변동항목 또는 상기 ARP_C 테이블을 전송받고, 전송받은 데이터와 ARP_S를 비교한 결과에 기초하여, 스푸핑 공격이 있는지를 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법에 의해 달성될 수 있다.
상기 서버는 상기 클라이언트로부터 전송받은 데이터와 상기 ARP_S 테이블을 비교한 결과 차이가 있으면, 차이가 있는 항목에 대한 데이터를 상기 게이트웨이에 게 요청하고, 상기 게이트웨이로부터 전송받은 데이터와 상기 클라이언트로부터 전송받은 데이터를 비교하여 차이가 없으면 스푸핑 공격이 아니라고 판단하고, 만약 차이가 있으면 스푸핑 공격이라고 판단할 수 있다.
상기 서버가 스푸핑 공격이라고 판단한 경우, 상기 ARP_C 테이블을 정정하는 동작을 수행하는 단계를 더 포함할 수 있다.
상기 서버가 스푸핑 공격이라고 판단한 경우, 상기 ARP_GW 테이블을 정정하는 동작을 수행하는 단계를 더 포함할 수 있다.
상기 서버가 스푸핑 공격이라고 판단한 경우, 상기 공격자 컴퓨터를 상기 네트워크로부터 차단시키는 동작을 수행하는 단계를 더 포함할 수 있다.
상기 ARP_C 테이블을 정정하는 동작은, 정확한 게이트웨이 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트를 전송하고,
상기 ARP 리퀘스트를 수신하고, 상기 수신받은 ARP 리퀘스트에 포함된 정확한 게이트웨이 MAC 어드레스를 이용하여 상기 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경할 수 있다.
상기 ARP_GW 테이블을 정정하는 동작은, 상기 사용자 컴퓨터의 정확한 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트를 전송하고, 상기 ARP 리퀘스트를 상기 게이트웨이가 수신하고, 상기 게이트웨이는 상기 ARP 리퀘스트에 포함된 정확한 사용자 컴퓨터 MAC 어드레스를 이용하여 자신의 ARP_GW 테이블에 포함된 사용자 컴퓨터 MAC 어드레스를 변경할 수 있다.
상기 공격자 컴퓨터를 상기 네트워크로부터 차단시키는 동작은, 상기 공격자 의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 공격자와 상기 게이트웨이로 전송할 수 있다.
상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 공격 중지 식별값 K를 "0"으로 설정하고, 상기 게이트웨이의 ARP_GW 테이블에 포함된 상기 클라이언트의 MAC 어드레스를 정정하는 ARP 정정 동작과, 상기 스푸핑 공격을 하는 공격자가 상기 네트워크로 접속하는 것을 차단하는 공격자 차단동작을 수행할 수 있다.
상기 클라이언트는 상기 ARP 정정 동작과 상기 공격자 차단동작을 수행한 후, 자신의 ARP_C 테이블의 변동을 모니터링하며, 모니터링할 때마다 상기 K 값을 "1"씩 증가시킬 수 있다.
상기 클라이언트는 상기 K 값이 기설정된 기준값보다 적은 경우, 상기 ARP 정정동작과 상기 공격자 차단 동작을 주기적으로 수행할 수 있다.
상기 클라이언트는 상기 K 값이 기설정된 기준값 이상인 경우, 상기 스푸핑 공격이 중단되었다고 판단하고, 상기 ARP 정정동작과 상기 공격자 차단 동작을 수행하지 않고, 자신의 ARP_C 테이블을 모니터링하는 동작만을 수행할 수 있다.
상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우, 공격중임을 나타내는 플래그 P를 "1"로 설정하며, 상기 플래그 P가 "1" 인 경우에만, 상기 K 값을 "1"씩 증가시킬 수 있다.
상기 클라이언트는 기준 테이블을 저장 및 관리하며, 상기 클라이언트는 상기 서버로부터 스푸핑 공격이라는 것을 통지받고, 상기 서버로부터 정확하다고 확 인된 상기 게이트웨이의 MAC 어드레스를 상기 기준 테이블에 저장할 수 있다.
상기 클라이언트는 상기 ARP_C 테이블과 상기 기준 테이블을 비교함으로써, 변동항목이 있는지 모니터링할 수 있다.
한편, 상기 목적은, 상술한 방법들을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 의해 달성될 수 있다.
또한, 상기 목적은, 로컬 네트워크에서 스푸핑 공격을 탐지 및 차단하는 방법에 있어서, 사용자 컴퓨터가 가지는 ARP 테이블에 포함된 게이트웨이의 MAC 어드레스가 변동이 있는지를 모니터링 하는 단계; 상기 게이트웨이의 MAC 어드레스가 변동이 있는 경우, 스푸핑 공격에 의해 변동된 것인지를 판단하는 단계; 및 스푸핑 공격에 의해 상기 게이트웨이의 MAC 어드레스가 변동된 경우, 상기 ARP 테이블에 포함된 게이트웨이의 MAC 어드레스를 정확한 게이트웨이 MAC 어드레스로 정정하는 단계;를 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법에 의해 달성될 수 있다.
상기 스푸핑 공격에 의해 변동된 것인지를 판단하는 단계는, 상기 게이트웨이로부터, 상기 게이트웨이의 정확한 MAC 어드레스를 획득하는 단계; 및 상기 획득한 정확한 게이트웨이 MAC 어드레스와 상기 사용자 컴퓨터가 가지는 ARP 테이블에 포함된 게이트웨이 MAC 어드레스를 비교하는 단계;를 포함할 수 있다.
상기 정확한 게이트웨이 MAC 어드레스로 정정하는 단계는, 상기 사용자 컴퓨터가 정확한 게이트웨이 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트를 전송하고, 이후 상기 네트워크로부터 상기 ARP 리퀘 스트를 수신하고, 상기 수신받은 ARP 리퀘스트에 포함된 정확한 게이트웨이 MAC 어드레스를 이용하여 상기 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경할 수 있다.
상기 게이트웨이가 가지는 ARP 테이블에 포함된 상기 사용자 컴퓨터의 MAC 어드레스를 정정하는 단계;를 더 포함하며, 상기 ARP_GW 테이블을 정정하는 동작은, 상기 사용자 컴퓨터가, 상기 사용자 컴퓨터의 정확한 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트를 전송하고, 상기 ARP 리퀘스트를 상기 게이트웨이가 수신하고, 상기 게이트웨이는 상기 ARP 리퀘스트에 포함된 정확한 사용자 컴퓨터 MAC 어드레스를 이용하여 자신의 ARP 테이블에 포함된 사용자 컴퓨터 MAC 어드레스를 변경하는 단계를 포함할 수 있다.
상기 공격자 컴퓨터를 상기 네트워크로부터 차단시키는 단계를 더 포함하며, 상기 차단 단계는, 상기 클라이언트가 상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 공격자와 상기 게이트웨이로 전송할 수 있다.
또한 상기 목적은, 상술한 방법들을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 의해 달성될 수 있다.
본 발명에 따르면, 기업에서 사용하는 네트웍 환경에서 ARP 취약점 공격을 효과적으로 방지함으로써, 정보자산의 유출을 탐지하고 차단하여 보안관리자에게 알릴 수 있고 피해 확산을 사전에 차단할 수 있고, 나아가 공격자의 컴퓨터 네트웍 을 차단함으로써 해당 공격자에 의한 공격 피해를 최소한 줄일 수 있다. 따라서, 기업의 정보보호에 대해서 만전을 기할 수 있다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시 예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템(이하, '본 시스템'이라고 함)은, 본 발명의 일 실시예에 따른 클라이언트가 설치된 사용자 컴퓨터, 스푸핑 공격 탐지 및 차단 서버(이하, '서버'라고 약칭하기도 함), 및 외부 네트워크 망과의 접속을 지원하는 게이트웨이(이하, 'G/W'라고 표기하기도 함)를 포함한다.
도 1은 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템의 기능 블럭도이고, 도 4 는 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라이언트(C1)가 설치된 사 용자 컴퓨터(P1), 클라이언트(C2)가 설치된 사용자 컴퓨터(P2), 클라이언트(C3)가 설치된 사용자 컴퓨터(P3), 게이트웨이(1), 및 스푸핑 공격 탐지 및 차단 서버(3)를 포함한다.
도 1에 도시된 바와 같이 사용자 컴퓨터들(P1 ~ P3), 게이트웨이(1), 및 스푸핑 공격 탐지 및 차단 서버(3)들은 각각 ARP 테이블을 저장하고 있다.
사용자 컴퓨터(P1)가 저장하는 ARP_1 테이블은, 자신(즉, 사용자 컴퓨터(P1))의 IP(아이피)와 MAC AD(맥 어드레스)을 포함하며, 게이트웨이(1)의 IP와 MAC AD(맥 어드레스)도 포함한다. 본원 명세서에서는 설명의 편의를 위해서 MAC AD(맥 어드레스)를 'MAC AD' 또는 'MAC'이라고 약칭하기로 한다.
사용자 컴퓨터(P2)와 사용자 컴퓨터(P3)도, 자신의 IP와 MAC/게이트웨이의 IP와 MAC을 포함하는 ARP 테이블을 각각 저장하며, 게이트웨이(1)도 자신의 IP와 MAC, 그리고 나머지 사용자 컴퓨터들(P1~P3)의 IP와 MAC을 포함하는 ARP 테이블(ARP_GW)을 포함한다.
사용자 컴퓨터들(P1~P3)은, 또한, 통신부를 각각 포함하며, 이러한 통신부들은 네트워크에 연결된 사용자 컴퓨터들과의 통신을 지원하며, 나아가 서버(3)와의 통신도 지원한다. 바람직하게는, 이들 통신부는 유니캐스트 및/또는 멀티 캐스트 통신을 지원한다.
본원 발명의 일 실시예에 따른 서버(3)는 게이트웨이(1)의 IP와 MAC, 사용자 컴퓨터들(P1~P3)의 IP와 MAC을 포함하는 ARP 테이블(ARP_S)을 저장한다. 또한, 서버(3)는 통신부를 포함하며, 이러한 통신부는 게이트웨이(1)와의 통신을 지원하며, 네트워크에 연결된 사용자 컴퓨터들과의 통신도 지원한다. 바람직하게는, 유니 캐스트 및/또는 멀티 캐스트 통신을 지원하며, 게이트웨이(1)와는 SNMP 통신을 지원할 수 있다.
게이트웨이(1)는 자신의 ARP 테이블(ARP_GW)을 저장관리하며, 통신부를 포함한다. 이러한 통신부는 서버(3)와의 통신을 지원하며, 네트워크에 연결된 사용자 컴퓨터들과의 통신도 지원한다. 바람직하게는, 유니 캐스트 및/또는 멀티 캐스트 통신을 지원하며, 서버(3)와는 SNMP 통신을 지원할 수 있다.
도 4는 사용자 컴퓨터(P1)가 'ON'되는 경우 서버(3)와 사용자 클라이언트(C3)의 동작의 흐름을 예시적으로 도시하고 있다. 이하에서는, 도 1과 도 4를 참조하여, 사용자 컴퓨터(P1)를 기준으로 클라이언트(C1)와 서버(3)의 기능을 상세히 설명하기로 한다.
사용자 컴퓨터(P1)가 온(ON) 되면(S401), 클라이언트(C1)는 ARP_3 테이블에 저장된 자신의 IP와 MAC, 그리고 게이트웨이(3)의 IP와 MAC을 서버(3)로 전송한다(S405).
서버(3)는 자신이 저장하는 ARP_S 테이블과, 클라이언트(C1)가 전송해준 ARP_3 테이블 정보를 비교하고(S405), 비교 결과 차이가 있으면(S407:Y), 서버(3)는 게이트웨이(GW)(1)에 게이트웨이의 MAC 정보를 요청한다. 게이트웨이(1)는 ARP_GW 테이블에서 자신의 MAC을 추출하여 서버(4)로 전송한다. 한편, S405 단계 수행결과 차이가 없으면, 차이가 없다는 것을 클라이언트(C1)에 알려주며, 클라이언트(C1)는, 후술하는 도 7에 예시적으로 도시된 바와 같은 동작들을 수행한 다(S417).
서버(3)는 클라이언트(C1)로부터 전송받은 게이트웨이 MAC과, 게이트웨이(1)로부터 전송받은 게이트웨이 MAC을 비교하며(S411), 비교결과 차이가 있으면(S413:Y), 후술하는 도 5 및/또는 도 6에 예시적으로 도시된 바와 같은 동작들을 수행한다(S415). 한편, S411 단계 수행결과 차이가 없으면(S413: N), 차이가 없다는 것을 클라이언트(C1)에 알려주며, 클라이언트(C1)는, 후술하는 도 7에 예시적으로 도시된 바와 같은 동작을 수행한다(S417).
도 2는 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템을 설명하기 위한 도면이다. 구체적으로, 도 2는, 공격자 컴퓨터(H)(18)에 의해서 컴퓨터(V)(15)가 스푸핑 공격 받은 일시적인 상태를 나타낸 도면이다. 본 발명의 일 실시예에 따른 클라이언트(C_V)는 통상적으로 스푸핑을 주기적으로 탐지하므로, 일시적으로 도 2와 같은 상태가 될 수 있다.
즉, 컴퓨터(15)가 공격자(18)로부터 스푸핑 공격을 받게 되면, 피해자 컴퓨터(15)가 가지는 ARP 테이블(ARP_V)은 공격자의 MAC(즉, 'D')을 게이트웨이(11)의 MAC으로서 저장하고, 게이트웨이(1)가 가지는 ARP 테이블(ARP_GW)은 컴퓨터(15)의 MAC을 공격자의 MAX('D')으로 저장하게 된다.
이러한 상태가 되는 경우는 크게 2가지 경우인데, 첫 번째 경우는, 피해자 컴퓨터(15)가 온(ON) 되는 과정에서 공격자 컴퓨터(18)에 의해서 공격받은 경우이고, 두 번째는 피해자 컴퓨터(15)가 정상적으로 동작하고 있는 동안에 공격자 컴퓨터(18)에 의해서 공격받은 경우이다. 이하에서, 이들에 대하여 순차적으로 설명한 다.
A. 피해자 컴퓨터가 온(ON)될 때 공격받은 경우
본원 발명에 따르면, 피해자 컴퓨터(15)가 온 되면, 피해자 컴퓨터(15)의 클라이언트(C_V)는 자신이 저장하는 ARP_V에 포함된 자신(15)의 IP와 MAC 그리고 게이트웨이(11)의 IP와 MAC을 서버(33)로 전송한다(①). 한편, 이와 다르게, 클라이언트(C_V)는 자신이 저장하는 ARP_V 자체를 서버(33)로 전송하도록 구성될 수 있음은 물론이다.
서버(33)는 자신이 저장하고 있던 ARP_S와, 클라이언트(C_V)로부터 받은 게이트웨이 MAC을 비교한다. 비교 결과, 양자는 서로 차이가 있으므로(즉, ARP_S에서의 G/W 의 MAC은 "E"이고, ARP_V에서의 G/W의 MAC은 "D"이므로), 서버(33)는 게이트웨이(11)에게 MAC을 보내줄 것을 요청한다(②). 게이트웨이(11)는 서버(33)의 요청에 대응하여, 자신(11)의 MAC(즉, "E")을 서버(33)로 전송한다(③). 서버(33)는 게이트웨이(11)로부터 받은 MAC("E")과, 클라이언트(C_V)로부터 받은 게이트웨이 MAC("D")을 비교하며, 양자가 불일치한다는 사실을 탐지하고 스푸핑 공격 중이라고 판단한다. 이후, 서버(33)는 피해자 컴퓨터(15)의 클라이언트(C_V)로 스푸핑 공격 중이라고 통지한다(④).
이후, 피해자 컴퓨터(15)의 클라이언트(C_V)는 도 5 및/또는 도 6에 도시된 동작을 수행한다. 한편, 도 5는 본 발명의 일 실시예에 따른 ARP 정정 동작을 설명 하기 위한 도면이고, 도 6은 본 발명의 일 실시예에 따른 스푸핑 공격을 차단하는 동작을 설명하기 위한 도면이다. 이하에서는, 이들 도면을 참조하여, ARP 정정 동작과, 공격자를 차단하는 동작을 상세히 설명하기로 한다.
ARP 정정 동작
도 5를 참조하면, 피해자 컴퓨터(15)의 클라이언트(C_V)는 ARP를 정하기 위해서 우선 서버(33)로부터 게이트웨이(11)의 정확한 MAC(즉, "E")을 획득한다(S501). 한편, 서버(33)는, 게이트웨이(11)로부터 정확한 MAC을 받은 바 있으므로, 클라이언트(C_V)에게 게이트웨이의 정확한 MAC을 전송할 수 있다.
이후, 클라이언트(C_V)는, 게이트웨이(11)로 자신(15)의 정확한 MAC(즉, "A"을 전송하며(S503), 게이트웨이(11)는 자신(11)이 가진 ARP_GW 테이블에서 피해자 컴퓨터(15)의 MAC("D")을 상기 클라이언트(C_V)로부터 전송받은 MAC("A")으로 정정한다(S507).
또한, 클라이언트(C_V)는, 자신(15)에게로 정정 리퀘스트를 전송한다(S509). 정정 리퀘스트는, 게이트웨이(11)의 정확한 MAC("E")과 IP를 포함하고 있다. 피해자 컴퓨터(15)는 클라이언트(C_V)가 자신(115)에게로 보낸 정정 리퀘스트를 수신하고, 수신한 정정 리퀘스트에 따라서, ARP_V를 정정한다. 즉, ARP_V에 포함된 게이트웨이의 MAC("D")을 MAC("E")로 정정한다(S511).
공격자 차단동작( IP 충돌 동작)
도 6을 참조하면, 서버(33)는 게이트웨이(11)에 ARP_G를 전송해줄 것을 요청하고, 서버(33)는 게이트웨이(11)로부터 전송받은 ARP_G와 자신(33)이 저장하던 ARP_S를 비교함으로써, 공격자 컴퓨터의 IP와 MAC을 획득한다(S601).
클라이언트(C_V)는, 서버(33)로부터 공격자 컴퓨터의 IP("3")와 MAC("D")을 획득하고(S603), 이 정보를 이용하여 충돌 리퀘스트를 생성하며, 생성된 충돌 리퀘스트는 공격자 IP와 충돌되는 IP와, 가상의 MAC을 가진다.
이후, 클라이언트(C_V)는 충돌 리퀘스트를 공격자 컴퓨터(18)와 게이트웨이(11)로 각각 전송(예를 들면 유니캐스트 전송)한다(S607, S609), 따라서, 외부로부터 공격자 컴퓨터로 오는 패킷들은, 공격자 컴퓨터로 전달되지 못하게 된다(S611).
도 3에는, 위에서 설명한 ARP 정정동작과 공격자 차단 동작의 수행결과가 나타나 있다. 즉, 도 2(공격 받은 상태)와 도 3(ARP 정정과 공격자 차단을 완료한 상태)을 비교하면, 피해자 컴퓨터(15)의 ARP_V는 게이트웨이의 정확한 MAC(즉, "E")을 가지고 있고, 게이트웨이(11)의 ARP_GW는 피해자 컴퓨터(15)의 정확한 MAC(즉, "A")를 가지고 있음을 알 수 있고, 또한 공격자 컴퓨터(18)에 대하여 가상의 MAC(즉, "F")을 관리하고 있음을 알 수 있다.
이상과 같이 피해자 컴퓨터가 온(ON)될 때 공격받은 경우에 대하여 상술하였으며, 상술한 동작을 완료한 클라이언트는 아래에서 설명할 도 7과 같은 탐지 동작 을 수행하게 된다.
B. 피해자 컴퓨터(15)가 정상적으로 동작하고 있는 동안에 공격자 컴퓨터(18)에 의해서 공격받은 경우
이제, 피해자 컴퓨터(15)가 정상적으로 동작하다가, 도 2와 같이 공격자 컴퓨터(H)(18)에 의해서 컴퓨터(V)(15)가 스푸핑 공격을 받았다고 가정하고, 본원 발명의 동작을 설명한다. 이러한 경우 본원 발명은 도 7에 예시적으로 도시된 바와 같은 동작을 수행한다.
도 7은 본원 발명의 일 실시예에 따른 탐지 동작을 설명하기 위해서 제공되는 도면이다. 도 7을 참조하면, 피해자 컴퓨터(15)의 클라이언트(C_V)는 자신(15)의 ARP_V를 주기적으로 모니터링 하며(S701), 따라서, 도 2와 같은 상태가 되면, 클라이언트(C_V)는 ARP_V에 변화가 있음을 알 수 있다.
도 2의 경우처럼, ARP_V에 변화가 있으면, 클라이언트(C_V)는 공격 중임을 나타내는 플래그를 "1"로 설정(S711)하고, 공격 중지 식별값 K를 "0"으로 설정한다(S715). 그리고, 클라이언트(C_V)는 스푸핑 공격시 수행하도록 되어 있는 보안 정책들을 수행한다(S715). 여기서, 보안 정책들은 상술한 바와 같은, ARP 정정 동작이나, IP 차단 동작이 될 수 있다. ARP 정정동작이 수행되면, 피해자 컴퓨터(15)와 게이트웨이(11)의 ARP는 정상적인 MAC을 가지도록 변경되고, 게이트웨이(11)는 공격자 컴퓨터의 MAC을 가상 MAC으로 변경하여 유지하게 된다.
이후, 클라이언트(C_V)는 다시 피해자 컴퓨터(15)의 ARP_V의 변동을 모니터링한다(S711). 클라이언트(C_V)는 ARP_V 의 변화가 없고, K 값이 기설정된 기준 값을 초과할 때까지 S715 단계의 보안 정책을 수행한다. 한편, 클라이언트(C_V)는, 가장 최근에 서버(11)로부터 받은 게이트웨이 MAC 이 포함된 테이블(이하 '기준 테이블'이라고 함)을 별도로 저장 관리하며, 이 기준 테이블과 ARP_V를 비교함으로써 ARP_V의 변화 여부를 판단할 수 있다.
만약, ARP_V 의 변화가 없고, K 값이 기설정된 기준 값(예를 들면, '50')을 초과하게 되면, 클라이언트(C_V)는, 공격 중임을 나타내는 플래그를 "0"으로 설정하고, S701로 돌아가서 ARP_V 의 변동을 모니터링하는 동작을 수행하게 된다.
이제, 도 4 내지 도 7을 참조하여, 컴퓨터가 ON 될 때부터 시작하여 발생할 수 있는 상황을 가정하여 본원 발명에 대하여 개략적으로 설명한다.
우선 컴퓨터가 ON 되면, 본원 발명에 따른 서버, 클라이언트, 및 게이트웨이는 도 4의 동작을 수행한다. 도 4의 수행결과, 스푸핑 공격을 탐지하면, 도 5와 도 6의 동작을 수행하며, 스푸핑 공격이 없었다면 도 7의 동작을 수행한다.
도 4의 수행결과 스푸핑 공격을 탐지하여 도 5와 도 6의 동작을 수행하여 완료한 후에는, 도 7의 동작을 수행한다. 도 7의 동작을 수행하던 중에 다시 스푸핑 공격을 탐지하면 도 5와 도 6의 동작을 수행하며, 일정시간 동안 스푸핑 공격이 없으면 스푸핑 공격이 중지된 것으로 판단하고, 다시 도 7의 동작을 수행한다.
도 8은 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템의 기 능 블럭도이다.
도 8을 참조하면, 본 스푸핑 공격 탐지 및 차단 시스템은, 게이트웨이들(G/W1, G/W2, G/W3), 각각 본원 발명에 따른 클라이언트가 설치된 사용자 컴퓨터들(P1 ~ P8), 스푸핑 공격 탐지 및 차단 서버, 및 관리자 웹서버를 포함한다.
본 실시예에서, 게이트웨이들과 스푸핑 공격 탐지 및 차단 서버간의 상호 동작, 클라이언트들과 게이트웨이들간의 상호 동작, 및 클라이언트들과 스푸핑 공격 탐지 및 차단 서버간의 상호 동작은 위에서 도 1 내지 도 7을 참조하여 설명한 바와 같다. 따라서, 이에 대하여는 상세히 설명하지 않기로 하며, 차이점에 대하여만 주로 설명하기로 한다.
도 8의 실시예에서, 스푸핑 공격 탐지 및 차단 서버는, 도 1 내지 도 7에서 설명한 기능들에 추가하여, 보안 정책을 유지 관리하며, 클라이언트들(P1 ~ P8)로 보안정책을 전송한다. 클라이언트들(P1 ~ P8)은 스푸핑 공격 모니터링 및 탐지, 차단 역활을 수행하며, 보안정책에 따라서 동작한다.
여기서, 보안정책은, 스푸핑 공격을 탐지할지 여부, ARP 테이블을 정정할지 여부, IP 충돌 동작을 수행할지 여부, ARP 테이블 모니터링 주기 등과 같이, 스푸핑 공격과 관련되어 수행되어야할 일련의 정책으로 정의된다. 한편, 스푸핑 공격 탐지 및 차단 서버에 유지되는 보안정책은, 관리자 웹서버를 통해서 수정, 삭제, 및 추가될 수 있다. 관리자 웹서버는, 관리할 라우터(게이트웨이)의 정보등록, 경보설정, 현재 동작중인 클라이언트 현황, 스푸핑 공격 현황(ARP 취약점 공격 현황)등을 관리한다.
도 8을 계속 참조하면, 사용자 컴퓨터(P3)의 경우는 로컬 네트워크 2 군데 속해 있으며, 이러한 경우, 사용자 컴퓨터(P3)는, 랜 카드를 2개 가지고 있다. 따라서, MAC 주소와 IP 주소가 각각 2개이며, 자신의 ARP 테이블을 2개 가진다. 또한, 사용자 컴퓨터(P3)의 클라이언트 역시 기준 테이블을 2개 유지 관리한다.
사용자 컴퓨터(P3)는, 도 1 내지 도 7에 설명한 바와 같은 동작들을, 2개의 ARP 테이블 각각에 대하여 수행한다. 이하에서는, 사용자 컴퓨터(P3)가 ARP 1(G/W1이 관리하는 네트워크에서 사용됨)과 ARP 2(G/W2가 관리하는 네트워크에서 사용됨)를 가지고 있고, ARP 1와 비교할 기준테이블을 REF 1이라고 하고, ARP 2와 비교할 기준테이블을 REF 2라고 가정하고, 사용자 컴퓨터(P3)의 기능을 설명하기로 한다.
컴퓨터가 온 되는 순간부터, 클라이언트(C3)는, 게이트웨이(G/W1)와 푸핑 공격 탐지 및 차단 서버와 함께, 도 4의 동작을 수행한다. 도 4의 수행결과, 스푸핑 공격이 있었다면, 도 5와 도 6의 동작을 수행하며, 스푸핑 공격이 없었다면 도 7의 동작을 수행한다. 도 4의 수행결과 스푸핑 공격이 있어서 도 5와 도 6의 동작을 수행하여 완료한 후에는, 도 7의 동작을 수행한다. 도 7의 동작을 수행하던 중에 다시 스푸핑 공격이 있으면 도 5와 도 6의 동작을 수행하며, 일정시간 동안 스푸핑 공격이 없으면 스푸핑 공격이 중지된 것으로 판단하고, 다시 도 7의 동작을 수행한다.
또한, 컴퓨터가 온 되는 순간부터, 클라이언트(C3)는, 게이트웨이(G/W2)와 푸핑 공격 탐지 및 차단 서버와 함께, 도 4의 동작을 수행한다. 도 4의 수행결과, 스푸핑 공격이 있었다면, 도 5와 도 6의 동작을 수행하며, 스푸핑 공격이 없었다면 도 7의 동작을 수행한다. 도 4의 수행결과 스푸핑 공격이 있어서 도 5와 도 6의 동작을 수행하여 완료한 후에는, 도 7의 동작을 수행한다. 도 7의 동작을 수행하던 중에 다시 스푸핑 공격이 있으면 도 5와 도 6의 동작을 수행하며, 일정시간 동안 스푸핑 공격이 없으면 스푸핑 공격이 중지된 것으로 판단하고, 다시 도 7의 동작을 수행한다.
이상 설명한 바와 같은, 클라이언트(C3)와 게이트웨이(G/W1)와의 동작, 그리고 클라이언트(C3)와 게이트웨이(G/W2)와의 동작은 서로 동시에 병행하거나 서로 순차적으로 같이 수행될 수 있으며 서로 영향을 받지 않는다.
클라이언트(C3)는, 예를 들면, 게이터웨이(G/W1)가 관리하는 네트워크('N1')에 공격자가 진입하였음을 탐지한 경우, N1을 통해서 통신할 수 있는 랜카드를 통해서 ARP 정정이나 IP 충돌 동작을 수행한다.
도 9는 본원 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템에서 클라이언트의 동작을 설명하기 위해서 제공되는 도면이다.
도 9를 참조하면, 본원 발명의 일 실시예에 따른 클라이언트는 "Attack 동작의 모니터링"을 수행한다. 여기서, Attack 은 상술한 ARP 취약점을 이용한 스푸핑 공격을 의미한다.
클라이언트는, Attack 동작의 탐지와 차단 동작을 수행하며(S903), 정책에서 설정된 주기로 모니터링을 반복 수행한다(S905). 만약, 클라이언트가 정책을 수신하지 않았으면 정책을 수신하는지 여부를 반복적으로 모니터링하고(S909), 정책을 수신했으면 컴퓨터에 등록된 NET Table을 읽는다(S911). 클라이언트는, NET Table과 서버에서 확인된 ARP Table(상술한 '기준 테이블'을 의미함)을 비교하며, 상술한 도 8과 같이 랜카드가 2개 이상인 경우는, NET Table와 기준테이블도 각각 랜카드의 개수만큼 존재하므로 "NET Table 개수 × 기준테이블 개수"로 도출되는 횟수만큼 비교를 한다.
도 9를 계속 참조하면, 클라이언트는, NET Table의 개수만큼 반복 수행을 하면서(S912), 기준테이블을 읽어 컴퓨터가 속한 게이트웨이의 IP('G/W IP')를 읽고, 이렇게 읽은 게이트웨이 IP와 NET Table에서 읽은 G/W IP가 서로 같은 것을 찾을 때까지 반복 수행한다(S 915).
만약 IP가 서로 같으면, 기준테이블의 G/W MAC과 NET Table의 G/W MAC이 같은지를 다시 비교한다. 만약 MAC도 같으면(S917:Y), 이전에 Attack으로 인한 차단이 실시되고 있는지 판단하기 위해 "공격 중지 식별값" 과 기설정된 "기준값"을 서로 비교하고, "Attack 정보를 서버로 전송" 했는지에 대한 기록을 참조하여, 공격 중이었는지 여부를 결정한다. 클라이언트가 공격 중이 아니라고 결정한 경우, S913으로 가서 그 다음 기준테이블을 읽는 동작을 반복 수행한다. 만약, 클라이언트가 공격 중이었다고 결정한 경우에는, "공격중지 식별값"을 1씩 증가하고 S913으로 간다.
한편, S919 에서는, 그동안 공격을 받다가, "공격중지 식별값"이 " 기준값 "을 초과하게되면, "공격중지"로 판단하며, "공격중지"라는 것을 서버('스푸핑 탐지 및 차단 서버')에 알리고 "공격중지 식별값" 값을 초기화 한다(S923).
본 실시예에서는, 스푸핑 공격이 일시에 중단되었다가 다시 공격이 있을 수 있으므로 정책으로 한계 값을 관리하여 판단하도록 하였다. 즉, S917에서 기준테이블의 G/W MAC과 Net Table의 G/W MAC이 틀리면 공격으로 인식한다. S929에서 "공격중지 식별값"을 0으로 설정하고, S931에서 "Attack 정보를 서버로 전송"한 기록이 있으면 현재까지 "공격중"으로 탐지하여 S913으로 간다. 그리고, S913에서 "Attack 정보를 전송" 하지 않았으면 첫 공격으로 인식하여 서버로 전송할 데이터에 기준테이블에 있는 컴퓨터의 IP, MAC과 G/W IP,MAC정보를 저장하고 NET Table에서 공격으로 인해 변경된 G/W MAC을 저장하여 서버로 공격인지 확인 요청 패킷을 보낸다(S939). 서버에서 공격이라고 나타내는 공격 확정 패킷이 오면 공격차단으로 넘어가 정책에 설정된 값으로 차단을 수행한다(S941).
도 10은, 본 발명의 일 실시예에 따른 클라이언트의 IP 충돌 동작을 설명하기 위한 도면이다. 도 10을 참조하면, 본 발명에 따른 클라이언트는, 스푸핑 공격 탐지 및 차단 서버에 스푸핑 공격이 맞는지 확인 후, 스푸핑 공격이라고 확정되면 "공격자(Attacker) IP 차단"으로 공격자 네트웍을 차단한다.
S1003에서, 클라이언트(Client)는 자신이 설치된 사용자 컴퓨터에서 사용하는 Adapter List를 읽고, 현재 사용 중인 어댑터(Adapter)가 있는지를 찾고, 찾은 Adapter를 이용하여 IP 충돌 리퀘스트 전송시에 사용한다. 만약, 사용자 컴퓨터가 랜 카드를 하나만 구비하고 있다면, 상술한 Adapter List를 읽어서 사용중인 어댑터를 찾는 과정은 수행하지 않는다.
IP 차단을 위해서 사용할 Adapter를 오픈하고(S1009), 차단 정책이 설정되었는지를 확인하여 차단 정책이 설정되어 있으면(S1011:Y), 정정 리퀘스트('차단 ARP 패킷'이라고도 함)를 전송하고 차단정책이 설정되어 있지 않으면(S1011: N), IP 충돌로 공격자의 네트웍을 차단시킬 것인지를 판단하기 위해서 IP충돌 정책을 확인한다(S1013).
차단정책이 설정된 경우(S1011:Y), 클라이언트는, 데이터 노출을 위한 차단 정책을 수행하기 위해서 정정 리퀘스트를 게이트웨이와 자신이 속한 컴퓨터에게로 전송한다. 여기서, 정정 리퀘스트는 ARP 패킷으로 형태로 전송된다. 예를 들면, 처음 정정 리퀘스트(ARP 패킷)를 보낼 경우 ARP Protocol의 발신 옵션을 Request로 설정하여 보내고 두번째부터는 해당 ARP Protocol로 보낸 값들을 유지하기 위해 Reply로 전송한다(S1020).
S1023에서, 데이터 노출 차단을 위해서, 클라이언트는 자기가 속한 사용자 컴퓨터(피해자)의 게이트웨이(G/W)에 피해자의 정상적인 IP와 MAC을 ARP Packet으로 전송한다. 이것은 ARP 취약점 공격시 인터넷에서 피해자의 컴퓨터로 들어오는 데이터를 공격자를 경유해서 들어오지 않도록 하기 위함이다. 다음으로 S1027에서, 클라이언트는 자신(클라이언트가 속한 사용자 컴퓨터)에게, 공격으로 변조된 게이트웨이(G/W) MAC을 정상적인 G/W MAC으로 수정하기 위해 정상적인 G/W IP, MAC을 ARP Packet으로 전송한다. 이는 공격으로 G/W MAC이 변조되어 피해자에서 인터넷 측으로 가는 데이터가 공격자(Attacker)를 통해 나가는 것을 막기 위함이다.
공격자의 네트웍을 차단하기 위해서 IP충돌 정책이 설정되어 있다 면(S1013:Y), 공격자의 IP를 충돌시키는 동작을 수행한다. 즉, S1029에서, ARP Packet 옵션에 Request로 설정하고 가상의 MAC에 Attacker의 IP가 설정된 것처럼 패킷을 구성하여, 공격자와 게이트웨이로 전송한다. 여기서, 게이트웨이는, IP 충돌을 인식하고, 자신의 ARP 테이블에 포함된 공격자의 MAC을 가상의 MAC 값으로 변경하여 저장한다. 이와 같이 게이트웨이에 저장되는 ARP에, 공격자의 MAC이 가상의 값으로 변경되면, 공격자쪽으로는 어떠한 데이터도 전달되지 않게 된다.
IP 충돌 정책이 없거나(S1013: N), IP 충돌 후 S1015에서 스푸핑 공격이 중지되었는지를 확인한다. 중지되었는지를 확인하기 위해서, 보안정책 중 공격 중임을 나타내는 플래그가 "1"로 세팅되어 있으면 "공격"으로 인지하고, "0"으로 세팅되어 있으면 "공격 중지"로 인지한다. 만약, 공격이 계속 유지될 경우 보안 정책의 차단주기만큼 대기 후 다시 S1011로 가서 차단 동작을 반복 수행한다. 공격이 중지되었다면 위의 공격 차단을 중지하고 해당 루틴을 종료한다.
도 11은 본 발명의 일 실시예에 따른 클라이언트와 서버간의 동작을 설명하기 위한 도면이다.
도 11은, 클라이언트와 스푸핑 공격 탐지 및 차단 서버 간의 통신 동작을 설명하며, 특히 UDP Protocol로 클라이언트가 수신하는 동작을 나타낸다. S1105에서는, 클라이언트의 동작 수행에 필요한 값들을 처리하거나 스푸핑 공격시(ARP 취약점 공격시) 차단 정책들로 활용한다.
S1109에서는, 클라이언트에서 스푸핑 공격 탐지 및 차단 서버로 자신의 G/W IP, MAC을 전송하고 맞는지를 확인 요청하며, G/W IP,MAC에 대하여 서버로부터 확 인 받을 때까지 클라이언트는 다른 기능을 수행하지 않는다. 이처럼 하는 이유는, G/W IP,MAC을 서버로부터 확인받지 못한 경우에는 ARP 취약점 공격시 변경된 G/W IP, MAC에 대해서 정상적인 G/W IP, MAC 비교를 할 수 없어 공격에 대한 인지를 할 수 없기 때문이다.
클라이언트는 자신의 G/W IP, MAC에 대하여 서버로부터 확인을 받고, 확인받은 데이터를 이용해서, NET Adapter의 IP와 클라이언트 IP를 비교하여 같은 것을 찾아 사용 중인 Adapter 명을 저장한다(S1111). 이는 공격자에 대하여, 해당 Adapter를 통해 차단 패킷을 보내기 위해서이다. 그리고 서버로부터 확인을 받은 G/W IP, MAC은 장차 공격 탐지용으로 사용하기 위해 클라이언트가 저장한다.
S1113은, 스푸핑 공격시 서버로부터 "공격확정"을 받고 공격자에게 IP 충돌 및 데이터 노출을 차단(즉, 정정 리퀘스트를 이용한 공격자 차단)하기 위한 기능을 수행하는 것으로 상세한 것은 도 10을 참조하기 바란다.
S1115는, 클라이언트가 스푸핑 공격을 탐지하여 서버에 공격이 맞는지 확인 요청을 한 것에 대하여, 서버가 스푸핑 공격이 아닌 G/W 장비 교체에 따른 변경으로 판단하여 공격이 아님을 클라이언트에게 보내는 동작이다. 이때, 클라이언트는 서버에서 받은 변경된 G/W IP,MAC을 현재의 기준 테이블에서 읽어 같은 G/W IP를 찾아 해당 기준 테이블의 G/W IP,MAC을 변경된 G/W IP, MAC으로 저장하여, 스푸핑 공격을 모니터링할 때 사용한다.
도 12는, 본 발명의 일 실시예에 따른 클라이언트의 동작을 설명하기 위한 도면이다. 도 12를 참조하면, 클라이언트가 "실행 중" 이라는 패킷을 주기적으로 서버로 보내면, 서버에서는 이 패킷을 활용하여 실행 중인 클라이언트 현황을 파악할 수 있다. 이때, 클라이언트는 서버로부터 변경된 정책을 주기적으로 받을 수 있다.
S1205에서는, 서버로부터 G/W IP, MAC의 정보를 수신했는지 확인하며, 수신하지 않았을 경우 G/W IP,MAC 정보를 수신할 때까지 반복 수행하여 확인하며, 서버로 확인 요청할 때 송부할 패킷에 컴퓨터명, 클라이언트 IP, MAC과 G/W IP, MAC의 정보를 포함시킨다.
S1205에서, G/W IP, MAC이 서버로부터 수신되면 주기적으로 클라이언트가 "실행 중"이라는 패킷을 현재 시간과 함께 서버로 보내고, 보안정책에서 기설정된 Alive 주기만큼 대기 후 반복 수행한다.
도 13은 본 발명의 일 실시예에 따른 서버가 게이트웨이 장비로부터 ARP 테이블을 구성하는 동작을 설명하기 위한 도면이다.
본 발명에 따른 서버는, 게이트웨이 장비(예를 들면 Router)로부터 ARP Table를 수집하는 역할을 수행하며, 데몬 컨피그(Config) 파일을 통해 정해진 시간에 등록된 모든 게이트웨이 장비로부터 ARP Table을 가져온다.
구체적으로, 서버는, S1305에서, 동기화할 시간이 되면, 서버의 DB에 등록된 모든 Router IP, Community String(읽기권한의 암호), MAC 주소를 읽어 하나씩 처리한다. 즉, 읽은 Router의 정보로 SNMP 패킷을 이용하여 해당 Router의 G/W IP를 가져와 서버의 DB에 저장하고 G/W IP로 SNMP 패킷으로 다시 Router에 등록된 G/W MAC을 가져와 서버의 DB 저장한다. 마지막으로 SNMP 패킷을 이용하여 Router에 등 록된 ARP Table을 가져와 서버의 DB에 저장하고 수신한 시간도 같이 저장하여 다른 프로세스에서 수신한 ARP Table을 읽을 경우 최신 정보로 참고할 수 있도록 한다.
도 14는 본 발명의 일 실시예에 다른 서버와 클라이언트간의 통신 동작을 설명하기 위해서 제공되는 도면이다.
도 14를 참조하면, 서버와 클라이언트는 유디피(UDP) 통신을 통해서 데이터를 송수신한다. S1405에서는, 클라이언트 정책 및 G/W IP, MAC 주소를 전송하는 동작을 수행하며 도 15에서 후술하기로 한다. S1407은 ARP 취약점 공격 처리 동작으로서 클라이언트에서 ARP 취약점으로 인한 공격을 인지하여 서버로 확인 요청을 하면, 서버는 받은 데이터를 서버의 DB를 검색하여 확인하거나 또는 SNMP를 통하여 게이트웨이에 필요한 데이터를 요청하여 확인하고, 클라이언트로 확인 여부를 알려주는 동작을 수행한다. 이 부분은 후술하는 도 16을 참조하여 설명하기로 한다.
S1409에서는, 클라이언트에서 주기적으로 보내는 Alive Signal 처리 및 변경된 클라이언트 정책을 재전송하는 역할을 수행한다. S1419에서 클라이언트의 IP가 DB에 존재하는지 확인하며 만약 존재할 경우, 수신 날짜를 업데이트하고 없으면 신규로서 수신 IP, MAC, 수신 날짜를 추가하여 DB에 저장한다. 그 후 클라이언트에 적용된 정책을 읽어 수신된 IP로 전송한다.
S1411에서 서버는 ARP 취약점 공격 중단 처리 동작을 수행한다. 서버는, S1431에서, 클라이언트로부터 수신되는 정보에서 Attack 정보를 읽어 DB에 Attack 정보를 검색하여 해당 공격정보와 동일한 데이터에 공격중지 시간을 기록한다. 그 후 경보 설정된 관리자 정보를 읽어 각각의 관리자에게 SMS 또는 E-Mail 각각 또는 모두 보낼 것인지 설정된 값에 의해 데이터를 기록하고 발신한다.
도 15는 본 발명의 일 실시예에 따른 서버가 클라이언트로 보안 정책을 전송하는 동작을 설명하기 위한 도면이다.
도 15를 참조하면, 서버는 클라이언트 정책 및 G/W IP, MAC을 자신의 DB 또는 해당 라우터(Router)에서 검색하여 클라이언트로 보내 주는 역할을 수행하며, 클라이언트는 이 정보를 활용하여 공격 모니터링을 실시한다. S1503에서 서버는 클라이언트에게 전송할 정책을 자신의 DB에서 읽어, 수신된 IP의 클라이언트로 전송한다.
S1507에서는, 서버가 G/W IP,MAC 송신을 위한 동작을 처리한다. 서버는 수신된 클라이언트 넷 리트스(Client Net List)만큼 반복 수행하면서 각각의 넷(Net)에 설정된 IP가 DB의 ARP Table에 있는지 확인하고, 만약 있으면 해당 IP에 수신된 데이터 중 컴퓨터명을 업데이트하고(S1511), 해당 IP의 G/W IP, MAC을 읽어 송신할 데이터에 저장하고 다음 넷(Net) 을 읽어 반복 수행한다(S1513). 한편, 해당 IP의 G/W IP, MAC이 없으면(S1515: N) 실패 횟수(Fail Count)를 1씩 증가하고 다음 넷(Net) 을 반복 수행한다. 반복 수행이 끝나면 실패 횟수(Fail Count)가 0이 아니고 넷 리스트의 개수와 같으면 G/W IP, MAC을 알 수 없는 것으로 클라이언트에 송신하고, 그렇지 않으면 클라이언트에 G/W IP, MAC 정보를 송신한다.
S1507의 동작 수행중에 해당 IP가 ARP Table에 없으면, S1525에서 SNMP 통신을 통해서 해당 라우터(Router)에 확인한다. 이를 위해서, 서버는, 해당 IP의 Router MAC, Community String(읽기 전용 암호)를 서버의 DB에서 읽어 이 데이터를 활용하여 라우터(Router)로부터 해당 ARP Table을 가져와 DB에 저장한다. 이후 S1513으로 가서 나머지 동작을 수행한다.
도 16은 본 발명의 일 실시예에 따른 서버가 스푸핑 공격을 인지하여 처리하는 과정을 설명하기 위해서 제공되는 도면이다.
도 16을 참조하면, 클라이언트가 ARP 취약점 공격으로 인지하여 서버로 확인요청을 한 경우, 서버는 그러한 요청에 대하여 결정하는 동작을 수행한다.
S1603에서, 서버는 클라이언트로부터 수신한 정보 중에서 클라이언트의 IP, G/W IP를 읽어 해당 게이트웨이로 SNMP를 이용 G/W MAC을 요청하여 가져온다. 이때 G/W MAC을 게이트웨이로부터 가져올 수 있으면 공격 여부를 확인할 수 있지만, 그렇지 않으면 더 이상 판단이 어려워 클라이언트에게 공격이 아니라는 데이터를 송신한다.
S1609에서, 서버는, 클라이언트로부터 수신한 데이터에서의 Attack G/W MAC과 SNMP로 읽은 G/W MAC이 서로 같고, 초기 클라이언트에서 요청한 G/W MAC과 SNMP에서 가져온 G/W MAC이 다르면 공격이 아닌 G/W MAC 변경으로 처리한다.
S1631에서, 서버는, 공격이 아닌 G/W MAC 변경으로 처리하기 위해 SNMP 로 가져온 G/W MAC을 DB에 수정하여 저장하고 클라이언트에게 공격이 아닌 "G/W MAC 변경"으로 송신한다. 이후, 클라이언트는 새로운 G/W MAC을 기준 테이블에 포함시키고 모니터링을 실시한다.
S1609에서 공격으로 판단되면, S1621에서 Attack G/W MAC을 이용하여 DB에서 Attack IP를 읽고 만약 IP가 존재하면 S1625에서 Attack IP, MAC 정보를 클라이언 트에게 송신하고 DB에 해당 정보들을 저장한다.
한편, S1621에서 Attack IP가 DB에 없어 읽지 못하면 클라이언트로부터 수신한 Attack G/W IP, MAC을 이용하여 해당 라우터(Router)에 ARP Table 전체를 요청하여 전송받고, 전송받은 ARP Table는 DB에 저장한 후 DB에서 다시 Attack IP를 읽는다. 본 실시예에서 서버는 SNMP를 이용하여 라우터에 ARP 테이블을 요청한다.
서버는, 라우터로부터 전송받은 ARP Table에서 Attack IP가 있는지를 확인한 결과, 없으면 더 이상 Attack 으로 결론을 내리기 어려워 "No Attack"라는 내용으로 클라이언트에게 송신한다. 그러나 Attack IP가 있는 경우 S1625의 동작을 수행한다.
도 17은 본 발명의 일 실시예에 따른 관리자 웹서버의 구성의 동작을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 관리자 웹서버는, 관리자가 정책 설정 및 관리할 네트웍의 라우터 등록, ARP 공격에 대한 실시간 탐지/차단현황과 경보설정, ARP Table 현황을 제공할 수 있다.
구체적으로, 관리자 웹서버는, ARP 정책설정(S1701)을 할 수 있도록 관리자 인터페이스를 제공하며, 관리인은 이러한 인터페이스를 통하여 클라이언트가 실행되면서 필요한 정보를 설정할 수 있다. 예를 들면, ARP 공격을 탐지하는 탐지주기와 ARP 공격시 차단 패킷을 몇초 간격(밀리 세컨드)으로 보낼 것인지 결정하는 차단주기를 설정할 수 있고, 그리고 탐지동작만 할 것인지 차단모드로만 동작시킬 것인지 아니면 모두 적용할 것인지 설정할 수 있다. 한편, 차단모드를 설정하는 경 우, 공격자의 컴퓨터를 IP 충돌시키는 것과 자기에게 정정 리퀘스트를 전송하는 것(Reverse ARP Spoofing)기능, 공격중단 기준횟수(공격이 일시 중단인지 공격중단인지 판단 하는 기준값으로 사용될 수 있다), ALIVE 주기(클라이언트가 자신이 수행되고 있음을 주기적으로 패킷을 전송하는 주기이다) 등을 설정할 수 있다.
관리자 웹서버는 관리자로부터 입력받은 ARP 정책을 서버로 전송하며, 서버는 클라이언트로 ARP 정책을 전송한다. 이후, 클라이언트는 ARP 정책에 따라서 동작을 수행한다. 한편, 관리자 웹서버는, 관리자에게 경보를 할 수 있으며, 예를 들면 E-MAIL과 SMS을 제공하도록 경보가 설정될 수 있다.
관리자는 관리자 웹서버에, 클라이언트가 설치되어 관리할 네트웍의 ROUTER를 등록할 수 있고, ROUTER의 위치정보와 IP, MAC Address, Community String을 웹서버에 등록하여 데몬에서 주기적으로 ARP Table의 현황을 가져올 수 있도록 한다(S1703). S1705에서, 관리자 서버는 실시간 탐지/차단현황을 제공하며, ARP 공격이 확정되면 이러한 공격내용을 기록하고, 공격 발생/차단시간과 공격중지 시간, ARP 공격자의 IP,MAC Address,이름, 사번, 부서, 피해자의 IP, MAC Address, 이름,사번, 부서 등을 관리하며, 현재 공격중인지 중단되었는지 상태 및 해당 공격에 대해 제공할 수 있다.
S1707에서는, 관리자 웹서버 경보설정을 할 수 있으며, 예를 들면, 관리자들에게 ARP 공격이 발생하였을 경우 SMS, E-MAIL 중 어떤 것을 보낼 것인가를 관리자 별로 설정을 할 수 있으며, SMS, E-MAIL 각각 구분 또는 전부 선택하여 보낼 수 있도록 설정할 수 있다.
한편, 관리자 웹서버는, ARP Table 현황을 제공함으로써 현재 클라이언트가 수행되고 있는 컴퓨터들의 현황을 제공한다(S1709). ARP Table 현황은 클라이언트의 IP, 맥 어드레스(MAC Address), 게이트웨이(Gateway) IP, Router IP, PC명 과 위치 정보 등을 포함한다.
본원 발명의 일 실시예에 따르면, 상술한 도면들을 참조하여 설명한 스푸핑 공격 탐지 및 차단 방법들을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
도 1은 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템의 기능 블럭도,
도 2는 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템을 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템을 설명하기 위한 도면,
도 4 는 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 방법을 설명하기 위한 도면,
도 5는 본 발명의 일 실시예에 따른 ARP 정정 동작을 설명하기 위한 도면,
도 6은 본 발명의 일 실시예에 따른 스푸핑 공격을 차단하는 동작을 설명하기 위한 도면,
도 7은 본원 발명의 일 실시예에 따른 탐지 동작을 설명하기 위해서 제공되는 도면,
도 8은 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템의 기
능 블럭도,
도 9는 본원 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 스푸핑 공격 탐지 및 차단 시스템에서 클라이언트의 동작을 설명하기 위해서 제공되는 도면,
도 10은, 본 발명의 일 실시예에 따른 클라이언트의 IP 충돌 동작을 설명하 기 위한 도면,
도 11은 본 발명의 일 실시예에 따른 클라이언트와 서버간의 동작을 설명하기 위한 도면,
도 12는, 본 발명의 일 실시예에 따른 클라이언트의 동작을 설명하기 위한 도면,
도 13은 본 발명의 일 실시예에 따른 서버가 게이트웨이 장비로부터 ARP 테이블을 구성하는 동작을 설명하기 위한 도면,
도 14는 본 발명의 일 실시예에 다른 서버와 클라이언트간의 통신 동작을 설명하기 위해서 제공되는 도면,
도 15는 본 발명의 일 실시예에 따른 서버가 클라이언트로 보안 정책을 전송하는 동작을 설명하기 위한 도면,
도 16은 본 발명의 일 실시예에 따른 서버가 스푸핑 공격을 인지하여 처리하는 과정을 설명하기 위해서 제공되는 도면, 그리고,
도 17은 본 발명의 일 실시예에 따른 관리자 웹서버의 구성의 동작을 설명하기 위한 도면이다.
* 도면의 주요 부분에 대한 도면 부호의 설명 *
1, 11 : 게이트웨이 3, 33 : 스푸핑 공격 탐지 및 차단 서버
5, 7, 8, 15, 17, 18 : 사용자 컴퓨터

Claims (44)

  1. 로컬 네트워크에서 스푸핑 공격을 탐지 및 차단하는 시스템에 있어서,
    클라이언트를 가지는 적어도 하나의 사용자 컴퓨터;
    상기 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 게이트웨이; 및
    상기 사용자 컴퓨터들의 IP와 MAC 어드레스 및 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 서버;를 포함하며,
    상기 사용자 컴퓨터는 자신의 IP와 MAC 어드레스 그리고 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하며,
    상기 클라이언트는 상기 ARP_C 테이블에서 상기 게이트웨이의 MAC 어드레스의 변동이 있는지 모니터링하고, 만약 변동이 있으면 변동항목을 상기 서버로 전송하며, 상기 서버는 상기 변동항목이 스푸핑 공격자에 의해 변동되었는지를 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  2. 제1항에 있어서,
    상기 서버는 상기 클라이언트로부터 전송받은 변동항목과 상기 ARP_S 테이블을 비교하고, 비교 결과 차이가 있으면 상기 게이트웨이에게 상기 변동항목에 대응되는 항목을 전송해줄 것을 요청하고, 상기 게이트웨이로부터 전송받은 항목과 상기 클라이언트로부터 전송받은 변동항목을 비교하여 차이가 없으면 스푸핑 공격이 아니라고 판단하고, 만약 차이가 있으면 스푸핑 공격이라고 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  3. 제2항에 있어서,
    상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    자신의 ARP_C 테이블에 포함된 상기 변동항목을 정정하는 ARP 정정 동작을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  4. 제3항에 있어서,
    상기 클라이언트는 상기 서버로부터 상기 게이트웨이의 정확한 MAC 어드레스('G/W MAC 어드레스')를 수신하고, 자신의 ARP_C 테이블에 포함된 게이트웨이의 MAC 어드레스를 상기 정확한 G/W MAC 어드레스로 변경하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  5. 제4항에 있어서,
    상기 ARP 정정 동작은,
    정확한 G/W MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고,
    상기 네트워크로 상기 ARP 리퀘스트가 전송되고,
    상기 ARP 리퀘스트를 상기 사용자 컴퓨터가 수신하고,
    상기 사용자 컴퓨터는 상기 ARP 리퀘스트에 포함된 정확한 G/W MAC 어드레스를 이용하여 자신의 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  6. 제2항에 있어서,
    상기 클라이언트는 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    상기 게이트웨이의 ARP_GW 테이블에 포함된 상기 클라이언트의 MAC 어드레스를 정정하는 ARP 정정 동작을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  7. 제6항에 있어서,
    상기 ARP 정정 동작은,
    상기 사용자 컴퓨터의 정확한 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고,
    상기 네트워크로 상기 ARP 리퀘스트가 전송되고,
    상기 ARP 리퀘스트를 상기 게이트웨이가 수신하고,
    상기 게이트웨이는 상기 ARP 리퀘스트에 포함된 정확한 사용자 컴퓨터 MAC 어드레스를 이용하여 자신의 ARP_GW 테이블에 포함된 사용자 컴퓨터 MAC 어드레스를 변경하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  8. 제2항에 있어서,
    상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    상기 스푸핑 공격을 하는 공격자가 상기 네트워크로 접속하는 것을 차단하는 공격자 차단동작을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  9. 제8항에 있어서,
    상기 공격자 차단동작은,
    상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고,
    생성한 충돌 리퀘스트를 상기 공격자로 전송하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  10. 제8항에 있어서,
    상기 공격자 차단동작은,
    상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고,
    생성한 충돌 리퀘스트를 상기 게이트웨이로 전송하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  11. 제10항에 있어서,
    상기 게이트웨이는, 상기 충돌 리퀘스트를 수신한 경우,
    상기 ARP_GW에서 상기 충돌 리퀘스트에 포함된 IP에 존재하지 않은 가상의 MAC 어드레스를 할당하여 저장하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  12. 제2항에 있어서,
    상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    공격 중지 식별값 K를 "0"으로 설정하고,
    상기 게이트웨이의 ARP_GW 테이블에 포함된 상기 클라이언트의 MAC 어드레스를 정정하는 ARP 정정 동작과, 상기 스푸핑 공격을 하는 공격자가 상기 네트워크로 접속하는 것을 차단하는 공격자 차단동작을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  13. 제12항에 있어서,
    상기 클라이언트는 상기 ARP 정정 동작과 상기 공격자 차단동작을 수행한 후, 자신의 ARP_C 테이블의 변동을 모니터링하며, 모니터링할 때마다 상기 K 값을 "1"씩 증가시키는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  14. 제13항에 있어서,
    상기 클라이언트는 상기 K 값이 기설정된 기준값보다 적은 경우, 상기 ARP 정정동작과 상기 공격자 차단 동작을 주기적으로 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  15. 제13항에 있어서,
    상기 클라이언트는 상기 K 값이 기설정된 기준값 이상인 경우, 상기 스푸핑 공격이 중단되었다고 판단하고, 상기 ARP 정정동작과 상기 공격자 차단 동작을 수행하지 않고, 자신의 ARP_C 테이블을 모니터링하는 동작만을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  16. 제13항에 있어서,
    상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    공격중임을 나타내는 플래그 P를 "1"로 설정하며,
    상기 플래그 P가 "1" 인 경우에만, 상기 K 값을 "1"씩 증가시키는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  17. 제6항에 있어서,
    상기 클라이언트는 기준 테이블을 저장 및 관리하며,
    상기 클라이언트는 상기 서버로부터 스푸핑 공격이라는 것을 통지받고, 상기 서버로부터 정확하다고 확인된 상기 게이트웨이의 MAC 어드레스를 상기 기준 테이블에 저장하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  18. 제17항에 있어서, 상기 클라이언트는
    상기 ARP_C 테이블과 상기 기준 테이블을 비교함으로써, 변동항목이 있는지 모니터링하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  19. 로컬 네트워크에서 스푸핑 공격을 탐지하고 및 차단하는 시스템에 있어서,
    클라이언트를 가지는 적어도 하나의 사용자 컴퓨터;
    상기 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 게이트웨이; 및
    상기 사용자 컴퓨터들의 IP와 MAC 어드레스 및 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 서버;를 포함하며,
    상기 사용자 컴퓨터는 자신의 IP와 MAC 어드레스 그리고 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하며,
    상기 ARP_C 테이블을 상기 서버로 전송하고, 상기 서버는 상기 ARP_C 테이블과 상기 ARP_S 테이블을 비교하여 상기 클라이언트가 스푸핑 공격을 당했는지 여부를 판단하며,
    상기 클라이언트는 상기 서버로부터 스푸핑 공격을 받았다는 통지를 받은 경우, 상기 공격자 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  20. 제19항에 있어서,
    상기 서버는, 상기 ARP_C 테이블과 상기 ARP_S 테이블을 비교한 결과, 상기 게이트웨이의 MAC 어드레스가 차이가 있으면 상기 게이트웨이의 MAC 어드레스를 상기 게이트웨이에게 요청하고, 상기 게이트웨이로부터 전송받은 MAC 어드레스와 상기 클라이언트로부터 전송받은 상기 ARP_C 테이블에 포함된 MAC 어드레스를 비교하여 차이가 없으면 스푸핑 공격이 아니라고 판단하고, 만약 차이가 있으면 스푸핑 공격이라고 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  21. 제20항에 있어서,
    상기 클라이언트는 상기 서버로부터 스푸핑 공격을 받았다는 통지를 받으면, ARP 정정 동작도 수행하며,
    상기 ARP 정정 동작은,
    정확한 게이트웨이 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고,
    상기 네트워크로 상기 ARP 리퀘스트가 전송되고,
    상기 ARP 리퀘스트를 상기 사용자 컴퓨터가 수신하고,
    상기 사용자 컴퓨터는 상기 ARP 리퀘스트에 포함된 정확한 게이트웨이 MAC 어드레스를 이용하여 자신의 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  22. 제20항에 있어서,
    상기 클라이언트는, 상기 생성한 충돌 리퀘스트를 상기 공격자와 상기 게이트웨이로 전송하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 시스템.
  23. 로컬 네트워크에서 스푸핑 공격을 탐지 및 차단하는 방법에 있어서,
    사용자 컴퓨터가 자신의 IP와 MAC 어드레스 그리고 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_C 테이블을 저장하는 단계;
    게이트웨이가 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 그리고 자신의 IP와 MAC 어드레스를 포함한 ARP_GW 테이블을 저장하는 단계; 및
    서버가 상기 사용자 컴퓨터들의 IP와 MAC 어드레스 및 상기 게이트웨이의 IP와 MAC 어드레스를 포함한 ARP_S 테이블을 저장하는 단계;를 포함하며,
    상기 서버는 클라이언트로부터 상기 ARP_C 테이블의 변동항목 또는 상기 ARP_C 테이블을 전송받고, 전송받은 데이터와 ARP_S를 비교하여 상기 게이트웨이의 MAC 어드레스의 변동이 있는지 여부에 기초하여 스푸핑 공격이 있는지를 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  24. 제23항에 있어서,
    상기 서버는 상기 클라이언트로부터 전송받은 데이터와 상기 ARP_S 테이블을 비교한 결과 차이가 있으면, 차이가 있는 항목에 대한 데이터를 상기 게이트웨이에게 요청하고, 상기 게이트웨이로부터 전송받은 데이터와 상기 클라이언트로부터 전송받은 데이터를 비교하여 차이가 없으면 스푸핑 공격이 아니라고 판단하고, 만약 차이가 있으면 스푸핑 공격이라고 판단하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  25. 제24항에 있어서,
    상기 서버가 스푸핑 공격이라고 판단한 경우,
    상기 ARP_C 테이블을 정정하는 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  26. 제24항에 있어서,
    상기 서버가 스푸핑 공격이라고 판단한 경우,
    상기 ARP_GW 테이블을 정정하는 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  27. 제24항에 있어서, 상기 서버가 스푸핑 공격이라고 판단한 경우,
    스푸핑 공격을 하는 공격자 컴퓨터를 상기 네트워크로부터 차단시키는 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  28. 제25항에 있어서,
    상기 ARP_C 테이블을 정정하는 동작은,
    정확한 게이트웨이 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고,
    상기 네트워크로 상기 ARP 리퀘스트를 전송하고,
    상기 ARP 리퀘스트를 수신하고,
    상기 수신받은 ARP 리퀘스트에 포함된 정확한 게이트웨이 MAC 어드레스를 이용하여 상기 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  29. 제26항에 있어서,
    상기 ARP_GW 테이블을 정정하는 동작은,
    상기 사용자 컴퓨터의 정확한 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고,
    상기 네트워크로 상기 ARP 리퀘스트를 전송하고,
    상기 ARP 리퀘스트를 상기 게이트웨이가 수신하고,
    상기 게이트웨이는 상기 ARP 리퀘스트에 포함된 정확한 사용자 컴퓨터 MAC 어드레스를 이용하여 자신의 ARP_GW 테이블에 포함된 사용자 컴퓨터 MAC 어드레스를 변경하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  30. 제27항에 있어서,
    상기 공격자 컴퓨터를 상기 네트워크로부터 차단시키는 동작은,
    상기 공격자의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고,
    생성한 충돌 리퀘스트를 상기 공격자와 상기 게이트웨이로 전송하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  31. 제23항에 있어서,
    상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    공격 중지 식별값 K를 "0"으로 설정하고,
    상기 게이트웨이의 ARP_GW 테이블에 포함된 상기 클라이언트의 MAC 어드레스를 정정하는 ARP 정정 동작과, 상기 스푸핑 공격을 하는 공격자가 상기 네트워크로 접속하는 것을 차단하는 공격자 차단동작을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  32. 제31항에 있어서,
    상기 클라이언트는 상기 ARP 정정 동작과 상기 공격자 차단동작을 수행한 후, 자신의 ARP_C 테이블의 변동을 모니터링하며, 모니터링할 때마다 상기 K 값을 "1"씩 증가시키는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  33. 제32항에 있어서,
    상기 클라이언트는 상기 K 값이 기설정된 기준값보다 적은 경우, 상기 ARP 정정동작과 상기 공격자 차단 동작을 주기적으로 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  34. 제33항에 있어서,
    상기 클라이언트는 상기 K 값이 기설정된 기준값 이상인 경우, 상기 스푸핑 공격이 중단되었다고 판단하고, 상기 ARP 정정동작과 상기 공격자 차단 동작을 수행하지 않고, 자신의 ARP_C 테이블을 모니터링하는 동작만을 수행하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  35. 제34항에 있어서,
    상기 클라이언트는, 상기 서버로부터 스푸핑 공격이라는 것을 통지받은 경우,
    공격중임을 나타내는 플래그 P를 "1"로 설정하며,
    상기 플래그 P가 "1" 인 경우에만, 상기 K 값을 "1"씩 증가시키는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  36. 제24항에 있어서,
    상기 클라이언트는 기준 테이블을 저장 및 관리하며,
    상기 클라이언트는 상기 서버로부터 스푸핑 공격이라는 것을 통지받고, 상기 서버로부터 정확하다고 확인된 상기 게이트웨이의 MAC 어드레스를 상기 기준 테이블에 저장하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  37. 제36항에 있어서, 상기 클라이언트는
    상기 ARP_C 테이블과 상기 기준 테이블을 비교함으로써, 변동항목이 있는지 모니터링하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  38. 제23항 내지 제37항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  39. 로컬 네트워크에서 스푸핑 공격을 탐지 및 차단하는 방법에 있어서,
    사용자 컴퓨터가 가지는 ARP 테이블에 포함된 게이트웨이의 MAC 어드레스가 변동이 있는지를 사용자 컴퓨터에 설치된 클라이언트가 모니터링 하는 단계;
    상기 게이트웨이의 MAC 어드레스가 변동이 있는 경우, 스푸핑 공격에 의해 변동된 것인지를 서버가 판단하는 단계; 및
    스푸핑 공격에 의해 상기 게이트웨이의 MAC 어드레스가 변동되었다고 판단된 경우, 상기 사용자 컴퓨터가 가지는 상기 ARP 테이블에 포함된 게이트웨이의 MAC 어드레스를 정확한 게이트웨이 MAC 어드레스로 정정하는 단계;를 포함하며,
    상기 정확한 게이트웨이 MAC 어드레스는 상기 게이트웨이로부터 획득된 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  40. 제39항에 있어서,
    상기 스푸핑 공격에 의해 변동된 것인지를 판단하는 단계는,
    상기 게이트웨이로부터, 상기 게이트웨이의 정확한 MAC 어드레스를 획득하는 단계; 및
    상기 획득한 정확한 게이트웨이 MAC 어드레스와 상기 사용자 컴퓨터가 가지는 ARP 테이블에 포함된 게이트웨이 MAC 어드레스를 비교하는 단계;를 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  41. 제39항에 있어서,
    상기 정확한 게이트웨이 MAC 어드레스로 정정하는 단계는,
    상기 사용자 컴퓨터가 정확한 게이트웨이 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트를 전송하고, 이후 상기 네트워크로부터 상기 ARP 리퀘스트를 수신하고, 상기 수신받은 ARP 리퀘스트에 포함된 정확한 게이트웨이 MAC 어드레스를 이용하여 상기 ARP 리퀘스트를 전송한 사용자 컴퓨터가 가지는 ARP_C 테이블에 포함된 게이트웨이 MAC 어드레스를 변경하는 단계를 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  42. 제39항에 있어서,
    상기 게이트웨이가 가지는 ARP 테이블에 포함된 상기 사용자 컴퓨터의 MAC 어드레스를 정정하는 단계;를 더 포함하며,
    상기 사용자 컴퓨터의 MAC 어드레스를 정정하는 동작은,
    상기 사용자 컴퓨터가, 상기 사용자 컴퓨터의 정확한 MAC 어드레스가 포함된 ARP 리퀘스트를 생성하고, 상기 네트워크로 상기 ARP 리퀘스트를 전송하고, 상기 ARP 리퀘스트를 상기 게이트웨이가 수신하고, 상기 게이트웨이는 상기 ARP 리퀘스트에 포함된 정확한 사용자 컴퓨터 MAC 어드레스를 이용하여 자신의 ARP 테이블에 포함된 사용자 컴퓨터 MAC 어드레스를 변경하는 단계를 포함하는 것을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  43. 제39항에 있어서,
    스푸핑 공격을 하는 공격자 컴퓨터를 상기 네트워크로부터 차단시키는 단계를 더 포함하며,
    상기 차단 단계는, 클라이언트가 상기 공격자 컴퓨터의 IP와 충돌되는 IP를 가지는 충돌 리퀘스트를 생성하고, 생성한 충돌 리퀘스트를 상기 공격자 컴퓨터와 상기 게이트웨이로 전송하는 것임을 특징으로 하는 스푸핑 공격 탐지 및 차단 방법.
  44. 제39항 내지 제43항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020090116814A 2009-11-30 2009-11-30 스푸핑 공격 탐지 및 차단 시스템 및 방법 KR101070522B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090116814A KR101070522B1 (ko) 2009-11-30 2009-11-30 스푸핑 공격 탐지 및 차단 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090116814A KR101070522B1 (ko) 2009-11-30 2009-11-30 스푸핑 공격 탐지 및 차단 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20110060271A KR20110060271A (ko) 2011-06-08
KR101070522B1 true KR101070522B1 (ko) 2011-10-05

Family

ID=44395069

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090116814A KR101070522B1 (ko) 2009-11-30 2009-11-30 스푸핑 공격 탐지 및 차단 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101070522B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101382527B1 (ko) * 2012-11-23 2014-04-07 유넷시스템주식회사 에이알피 포이즈닝 방지를 위한 네트워크 보안방법 및 보안시스템
KR101687811B1 (ko) 2015-09-07 2017-02-01 박준영 ARP_Probe 패킷을 이용한 Agent 방식의 ARP 스푸핑 탐지 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030043853A1 (en) * 2001-08-15 2003-03-06 Ronald P. Doyle Methods, systems and computer program products for detecting a spoofed source address in IP datagrams
KR100807933B1 (ko) 2006-11-28 2008-03-03 엘지노텔 주식회사 에이알피 스푸핑 감지 시스템 및 감지 방법과 그 방법이저장된 컴퓨터 판독가능 저장매체
KR100920528B1 (ko) 2008-11-27 2009-10-09 (주)넷맨 Arp 스푸핑 탐지 및 방어 방법 및 그에 따른 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030043853A1 (en) * 2001-08-15 2003-03-06 Ronald P. Doyle Methods, systems and computer program products for detecting a spoofed source address in IP datagrams
KR100807933B1 (ko) 2006-11-28 2008-03-03 엘지노텔 주식회사 에이알피 스푸핑 감지 시스템 및 감지 방법과 그 방법이저장된 컴퓨터 판독가능 저장매체
KR100920528B1 (ko) 2008-11-27 2009-10-09 (주)넷맨 Arp 스푸핑 탐지 및 방어 방법 및 그에 따른 시스템

Also Published As

Publication number Publication date
KR20110060271A (ko) 2011-06-08

Similar Documents

Publication Publication Date Title
KR102175193B1 (ko) 자동 장치 탐지를 위한 시스템 및 방법
EP1723745B1 (en) Isolation approach for network users associated with elevated risk
US20230020094A1 (en) Adaptive access control management
US7832006B2 (en) System and method for providing network security
US20130219497A1 (en) Network intrusion detection in a network that includes a distributed virtual switch fabric
US20120117654A1 (en) Methods and systems for managing a potential security threat to a network
US10560452B2 (en) Apparatus and method to control transfer apparatuses depending on a type of an unauthorized communication occurring in a network
JP2008504776A (ja) 動的デバイスアドレス管理のための方法およびシステム
WO2019102811A1 (ja) 制御装置および制御システム
JP2006261827A (ja) ネットワーク機器、その管理装置、そのネットワーク接続方法およびそのネットワーク接続管理方法
CN111245781A (zh) 一种linux服务器动态封阻IP的方法及其系统
KR101522139B1 (ko) DNS 서버 선별 차단 및 Proxy를 이용한 DNS 주소 변경 방법
KR101070522B1 (ko) 스푸핑 공격 탐지 및 차단 시스템 및 방법
KR101491322B1 (ko) 자기 구성 근거리 네트워크 보안
US11170011B2 (en) Triggered scanning using provided configuration information
CN104618469B (zh) 一种基于代理网络架构的局域网访问控制方法及管理机
CN107846480B (zh) Nxdomain应答包处理方法和装置
US20230344798A1 (en) Roaming dns firewall
WO2016003389A1 (en) Inject probe transmission to determine network address conflict
US7669207B2 (en) Method for detecting, reporting and responding to network node-level events and a system thereof
CN116015876B (zh) 访问控制方法、装置、电子设备及存储介质
US11038836B2 (en) Computer server and method of obtaining information on network connection of computer server
KR20170047533A (ko) 비인가 우회접속 차단 방법
JP2009098985A (ja) セッション管理方法、通信システムおよび通信装置
CN116723020A (zh) 网络服务模拟方法、装置、电子设备及存储介质

Legal Events

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

Payment date: 20140603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 9