KR102056641B1 - Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법 - Google Patents

Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법 Download PDF

Info

Publication number
KR102056641B1
KR102056641B1 KR1020170175445A KR20170175445A KR102056641B1 KR 102056641 B1 KR102056641 B1 KR 102056641B1 KR 1020170175445 A KR1020170175445 A KR 1020170175445A KR 20170175445 A KR20170175445 A KR 20170175445A KR 102056641 B1 KR102056641 B1 KR 102056641B1
Authority
KR
South Korea
Prior art keywords
arp
mac address
response message
arp table
timer
Prior art date
Application number
KR1020170175445A
Other languages
English (en)
Other versions
KR20190074071A (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 KR1020170175445A priority Critical patent/KR102056641B1/ko
Publication of KR20190074071A publication Critical patent/KR20190074071A/ko
Application granted granted Critical
Publication of KR102056641B1 publication Critical patent/KR102056641B1/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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Abstract

본 발명의 일 측면에 따른 SDN네트워크에서의 ARP 포이즈닝 공격을 해결하기 위한 SDN 컨트롤러는 ARP 테이블 관리 프로그램을 저장하는 메모리, 데이터 입출력을 수행하는 데이터 입출력 모듈 및 상기 메모리에 저장된 ARP 테이블 관리 프로그램을 실행하는 프로세서를 포함한다. ARP 테이블 관리 프로그램은 프로세서를 통해, 클라이언트의 ARP 요청 메시지에 포함된 목적지 IP 주소에, 상기 ARP 요청 메시지에 대응하여 수신된 ARP 응답 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장하되, 상기 ARP 응답 메시지에 포함된 신규 MAC 주소가 상기 ARP 테이블에 기저장된 기존 MAC 주소와 상이한 경우 타이머를 활성화시키고, 상기 타이머가 종료되기 전까지 상기 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신된 경우 해당 ARP 응답 메시지를 ARP 포이즈닝 공격으로 보고, 상기 ARP 테이블 상에 기존 MAC 주소의 저장 상태를 유지시킨다.

Description

ARP 포이즈닝 공격을 해결하기 위한 SDN 컨트롤러 및 그 동작 방법{SDN CONTROLLER FOR RESOLVING ARP POISONING ATTACK AND METHOD FOR MANAGING THE SAME}
본 발명은 SDN(Software Defined Networks) 네트워크에서의 ARP 포이즈닝(poisoning) 공격을 해결하기 위한 SDN 컨트롤러와 그 동작 방법에 대한 것이다.
최근들어 컨트롤 플레인(Control Plane) 과 데이터 플레인(Data Plane)의 분리로 중앙 집중화 네트워크를 구축하여 비용을 절감하고, 빠른 속도를 보장하는등 다양한 이점을 가지는 SDN 네트워크에 대하여 활발한 연구가 진행되고 있다.
이와 같은 SDN의 성장과 아울러 SFC(Service Function Chaining) 기술에 대한 관심도 빠르게 증가하고 있다. SFC는 침입탐지시스템이나 방화벽과 같은 다양한 네트워크 서비스 및 기능을 일련의 체인으로 묶고, 이를 이용하여 통신 경로를 설정해서 서비스를 제공하는 기술로서, 높은 성능과 이용율을 제공하는데 매우 유용한 기술인 반면에 많은 보안 취약점을 가지고 있는 것으로 알려져 있다.
SFC 시스템은 MAC 주소 기반으로 동작하는데, 클라이언트와 서버 간 통신 시, SF(Service Function)를 통과할 때, IP 주소는 패킷의 종단 노드의 분류와 유저의 신원 확인을 위해 사용되어지고, 실제로는 MAC 주소에 의해 통신이 이루어진다. 만약 악의적인 사용자가 이를 악용하여 자신의 MAC 주소가 SF라고 속이는 ARP(Address Resolution Protocol) 포이즈닝(Poisoning) 공격을 하게 된다면, SF로 가야하는 패킷들은 모두 악의적인 사용자에게 전송되어지고, 악의적인 사용자는 이를 이용하여 패킷을 도청 또는 폐기 할 수 있게 된다.
본 발명에서는 이러한 ARP 포이즈닝 공격의 특징을 이용하여 ARP 상태를 확인해 ARP 포이즈닝 공격을 해결하고자 한다.
종래의 경우 ARP 포이즈닝 공격을 탐지하고 이를 차단하는 방법으로서, 특정 ARP 요청에 대하여 ARP 응답이 100개 이상으로 다량으로 수신되거나, ARP 테이블에 저장된 IP 주소와 MAC 주소의 쌍이 서로 다른 경우 ARP 공격으로 탐지하는 방법이 알려져 있다. 첫번째 방법의 경우, 악의적인 공격가 ARP 응답을 최소한으로 유지하게 되면 공격을 탐지하기 어렵고, 두번째 방법의 경우, 정당한 유저의 MAC 주소 변경을 ARP 공격으로 오탐할 가능성이 있다.
또한, SFC가 가능한 SDN에서의 취약점에 대해서는 적절한 대응방법이 마련되지 않고 있다.
대한민국 등록특허 제 10-0863313 호(발명의 명칭: 에이알피 스푸핑 자동 차단 장치 및 방법)
본 발명의 일 실시예는 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, SDN 네트워크에서의 ARP 포이즈닝 공격을 효과적으로 탐지하고 차단할 수 있는 SDN 컨트롤러 및 그 동작 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 SDN(Software Defined Networks) 네트워크에서의 ARP 포이즈닝(poisoning) 공격을 해결하기 위한 SDN 컨트롤러는 ARP 테이블 관리 프로그램을 저장하는 메모리, 데이터 입출력을 수행하는 데이터 입출력 모듈 및 메모리에 저장된 ARP 테이블 관리 프로그램을 실행하는 프로세서를 포함한다. 이때, ARP 테이블 관리 프로그램은 상기 프로세서를 통해, 클라이언트의 ARP 요청 메시지에 포함된 목적지 IP 주소에, 상기 ARP 요청 메시지에 대응하여 수신된 ARP 리플라이 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장하되, 상기 ARP 리플라이 메시지에 포함된 신규 MAC 주소가 상기 ARP 테이블에 기저장된 기존 MAC 주소와 상이한 경우 타이머를 활성화시키고, 상기 타이머가 종료되기 전까지 상기 신규 MAC 주소를 포함하는 ARP 리플라이 메시지가 재수신된 경우 해당 ARP 리플라이 메시지를 ARP 포이즈닝 공격으로 보고, 상기 ARP 테이블 상에 기존 MAC 주소의 저장 상태를 유지시키는 동작을 수행한다.
본 발명의 다른 측면에 따른 SDN(Software Defined Networks) 네트워크에서의 ARP 포이즈닝(poisoning) 공격을 해결하기 위한 SDN 컨트롤러의 동작 방법은, 상기 SDN 컨트롤러의 스위치를 통해 클라이언트의 ARP 요청 메시지를 수신하는 단계; 상기 ARP 요청 메시지에 대응하여 전송된 ARP 리플라이 메시지를 수신하는 단계; 및 상기 ARP 요청 메시지에 포함된 목적지 IP 주소에, 상기 ARP 리플라이 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장하는 단계를 포함한다. 이때, ARP 테이블에 저장하는 단계는 상기 ARP 리플라이 메시지에 포함된 신규 MAC 주소가 상기 ARP 테이블에 기저장된 기존 MAC 주소와 상이한 경우 타이머를 활성화시키는 단계; 및 상기 타이머가 종료되기 전까지 상기 신규 MAC 주소를 포함하는 ARP 리플라이 메시지가 재수신된 경우 해당 ARP 리플라이 메시지를 ARP 포이즈닝 공격으로 보고, 상기 ARP 테이블 상에 기존 MAC 주소의 저장 상태를 유지시키는 단계를 수행한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, SDN 네트워크에서의 ARP 포이즈닝 공격을 효율적으로 탐지할 수 있다. 특히, 목적지 서버로 위장하는 공격 뿐만 아니라, SDN 컨트롤러에 의하여 결정되는 플로우 경로에 포함된 SF로 위장하는 공격에 대해서도 탐지가 가능하다.
도 1은 본 발명의 일 실시예에 따른 SDN 컨트롤러를 도시한 도면이다.
도 2는 본 발명에 적용되는 SFC의 개념을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 SDN 컨트롤러의 동작 방법을 설명한 순서도이다.
도 4는 본 발명의 설명을 위한 ARP 포이즈닝 공격 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 설명을 위한 ARP 포이즈닝 공격 과정을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한, 도면을 참고하여 설명하면서, 같은 명칭으로 나타낸 구성일지라도 도면에 따라 도면 번호가 달라질 수 있고, 도면 번호는 설명의 편의를 위해 기재된 것에 불과하고 해당 도면 번호에 의해 각 구성의 개념, 특징, 기능 또는 효과가 제한 해석되는 것은 아니다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)' 또는 '모듈'이란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 양방을 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다.
도 1은 본 발명의 일 실시예에 따른 SDN 컨트롤러를 도시한 도면이다.
도 1에 도시한 바와 같이, SDN 컨트롤러(100)는 데이터 입출력모듈(110), 메모리(120), 프로세서(130)를 포함한다. SDN 네트워크는 기존 레거시 네트워크와는 다르게 SDN 컨트롤러(100)에 의해서 운영되는 컨트롤 플레인에서 경로 설정 및 계산을 수행하고, 데이터 플레인은 SDN 컨트롤러(100)에 의해 만들어진 정책대로 데이터를 전송한다. 이때, 사우스 바운드 프로토콜 오픈 플로우(South bound Protocol OpenFlow)는 컨트롤 플레인에 속하는 SDN 컨트롤러(100)와 데이터 플레인에 속하는 SDN 스위치 사이에 인터페이스를 제공하며, 노스 바운드 프로토콜 오픈 플로우(North bound Protocol OpenFlow)는 SDN 컨트롤러(100)와 SDN 애플리케이션간 연결을 제공한다.
데이터 입출력모듈(110)은 통신 모듈을 통해 데이터를 수신 또는 송신하는 기능을 수행할 수 있다. 데이터 입출력 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(120)에는 ARP 테이블 관리 프로그램이 저장된다. 해당 프로그램은 프로세서에 의하여 구동되어, 클라이언트의 ARP 요청 메시지에 포함된 목적지 IP 주소에, 상기 ARP 요청 메시지에 대응하여 수신된 ARP 응답 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장한다. 이때, ARP 응답 메시지에 포함된 신규 MAC 주소가 ARP 테이블에 기저장된 기존 MAC 주소와 상이한 경우 타이머를 활성화시킨다. 타이머가 종료되기 전까지 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신된 경우 해당 ARP 응답 메시지를 ARP 포이즈닝 공격으로 보고, 상기 ARP 테이블 상에 기존 MAC 주소의 저장 상태를 유지시키고, 타이머가 종료될 때 까지 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신되지 않으면, ARP 테이블 상의 기존 MAC 주소를 신규 MAC 주소로 갱신한다.
또한, 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(120)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(130)는 메모리(120)에 저장된 ARP 테이블 관리 프로그램을 실행한다. 프로세서(130)는 일종의 중앙처리장치로서 ARP 테이블 관리를 위한 과정을 제어한다. 프로세서(130)가 수행하는 각 단계에 대해서는 후술하기로 한다. 여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 2 는 본 발명에 적용되는 SFC의 개념을 설명하기 위한 도면이다.
호스트와 호스트 사이의 애플리케이션 수행과정에서 발생하는 트패픽 플로우는 미리 결정된 경로 중에 NIDS, IDS/IPS, DPI, 방화벽(Firewall), WAN 옵티마이저, 로드 밸런서(Load balancer)와 같은 다양한 네트워크 서비스들을 통과하는 것이 요구 된다. 예를 들어, 원격 사이트에서 애플리케이션 서버에 접속하는 사용자의 플로우는 애플리케이션 서버에 도달하기 전에 성능향상을 위해 WAN 옵티마이저를 경유하게 되고, 보안을 위해 방화벽과 IPS/IDS를 경유하며, 성능향상과 높은 이용률을 위해 로드 밸런서와 VPN 서버를 경유하게 될 것이다. 만약 어떤 플로우가 몇몇의 네트워크 서비스에 요구된다면, 플로우에 요구된 서비스 기능의 경로를 경유하도록 하는 SFC(Service Function Chaining) 기술이 필요하다.
도 2에 도시된 바와 같이, SF(Service Function)는 SFC 오케스트라(Orchestrator)위에 배치된다. 플로우들은 오픈플로우 스위치인 SFF(Service Function Forwarder)에 의해 SF로 전송된다. 정렬된 목록을 정의한 후에, 이러한 서비스들은 도면에서 보여지는 것처럼 서비스체인을 생성한 네트워크에서 함께 연결되고 SFC 트래픽은 네트워크 컴포넌트에 의해 서비스체인을 통해 전송된다.
SFC는 NFV((network functions virtualization)와 SDN두 가지로부터 특정한 VNF 순서를 통해 네트워크 트래픽을 제어하여 더 유연하고 동적인 이익을 얻는다. 그러나, 이러한 SFC 기술은 여러 취약점을 안고 있는데, 그 중 하나가 MAC 주소를 이용한 ARP 포이즈닝 공격이다. 패킷이 SDN 스위치로 입력되면 SDN 스위치는 해당 패킷을 처리하기 위해 패킷인(Packet_in)메시지를 발생시키고, SDN 컨트롤러는 해당 패킷에 대한 정책을 생성하는MAC 주소 기반으로 동작한다. IP주소는 패킷의 종단 노드의 분류와 유저의 신원 확인을 위해 사용되고, 실제로 통신은 MAC 주소를 이용해 SF로 전송 된다. 이때 SFC 취약점이 발생한다. 공격자는 ARP 응답(reply)을 조종하여 이 취약점을 악용한다.
도 3은 본 발명의 일 실시예에 따른 SDN 컨트롤러의 동작 방법을 설명한 순서도이고, 도 4와 도 5는 본 발명의 설명을 위한 ARP 포이즈닝 공격 과정을 설명하기 위한 도면이고.
먼저, SDN 컨트롤러는 SND스위치를 통해 클라이언트의 ARP 요청 메시지를 수신한다(S310).
도 4에 도시된 바와 같이, 클라이언트(410)는 SF(440)를 거쳐 서버(450)에 접속하고자 한다. 이를 위해 클라이언트(410)가 전송한 패킷은 SDN 스위치(420)로 전송되고, SDN 스위치(420)는 패킷인 메시지를 발생시킨다. ARP 요청 메시지는 접속하고자 하는 단말의 IP 주소에 매칭되는 단말의 MAC 주소를 요청하는 것으로서, 문의하는 단말의 IP 주소가 포함되어 있다. 이는 SDN 컨트롤러(410)로 전달되며, ARP 테이블에 ARP 요청 메시지에 포함된 IP 주소가 기록된다.
다음으로, ARP 요청 메시지에 대응하여 전송된 ARP 응답 메시지를 수신한다(S320). ARP 요청 메시지에 대하여 자신의 MAC 주소를 회신하는 ARP 응답 메시지가 ARP 스위치(420)를 통해 ARP 컨트롤러(410)로 전송된다. 이때, ARP 응답 메시지는 정당한 사용자인 서버(450)에서 전송되는 것이 일반적이며, SDN 네트워크에서는 앞서 설명한 SF로 패킷이 전달되어야 할 수 있으므로, SF 가 자신의 정당한 MAC 주소를 응답할 수 있다. 그러나, 공격자는 자신이 서버 또는 SF 인 것으로 위장하고, 잘못된 MAC 주소를 응답할 수 있다.
다음으로, SDN 컨트롤러는 ARP 요청 메시지에 포함된 목적지 IP 주소에, ARP 응답 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장하는데, 이를 위해 먼저 ARP 테이블에 저장된 MAC 주소를 확인한다(S314).
즉, ARP 응답 메시지에 포함된 신규 MAC 주소가 ARP 테이블에 먼저 저장되어 있던 기존 MAC 주소와 상이한지 여부를 확인하고(S316), 동일한 경우에는 ARP 포이즈닝 공격이 아닌 것으로 판단하고, 정상적인 패킷 플로우 전달 동작을 수행한다. 이때, 기존의 MAC 주소는 ARP 요청 메시지에 포함된 목적지 IP 주소에 대하여 정상적인 SF 또는 서버가 MAC 주소를 송부하여 기저장된 것으로서, 동일한 MAC 주소가 새로운 응답으로서 전송되었다면 ARP 포이즈닝 공격이 아니라고 판단하는 것이다.
이때, 신규 MAC 주소가 ARP 테이블에 먼저 저장되어 있던 기존 MAC 주소와 상이한 경우에는 ARP 포이즈닝 공격으로 의심할 수 있고, 이를 판단하기 위해 타이머를 활성화시킨다(S318).
타이머는 짧은 시간 동안 설정되는데 예를 들면, 1초 또는 2초 정도로 설정되며, 해당 제한 시간내에, 즉 타이머가 종료되기전에 동일한 ARP 응답 메시지가 수신된다면 ARP 포이즈닝 공격으로 판단한다(S320, 324). 타이머에 설정한 제한시간보다 짧은 시간 동안 반복하여 ARP 응답 메시지를 전송하는 주체를 공격자로 판단하는 것이다. ARP 포이즈닝 공격으로 판단된 경우에는, ARP 테이블에 ARP 테이블 상에 저장되어 있던 기존 MAC 주소의 저장 상태를 유지시킨다.
이때, 타이머가 종료될 때 까지 신규 MAC 주소를 포함하는 ARP 응답메시지가 재수신되지 않으면, ARP 테이블 상의 기존 MAC 주소를 신규 MAC 주소로 갱신하는 단계를 수행한다(S322). 정상적인 서버나 SF의 MAC 주소가 변경되는 경우가 있을 수 있는데, 타이머의 시간 만큼 빈번하게 ARP 응답 메시지를 전송하지 않는다면 정상적인 사용자로 판단하는 것이다.
예를 들어, 도 4와 같이, 공격자는 SF의 MAC 주소를 문의하는 ARP 요청 메시지에 대하여 자신이 SF 인 것으로 위장하여 자신의 MAC 주소(00:04)를 반복하여 전송하게 된다. SDN 컨트롤러(410)는 기존에 저장되어 있는 SF의 MAC 주소(00:03)과 상이하므로, ARP 포이즈닝 공격으로 판단하게 된다. 그러나, 정상 SF의 MAC 주소가 변경되는 경우가 있을 수 있으므로, 타이머를 이용하여 공격 여부를 한번 더 판단하게 되고, 타이머 종료 전에 공격자는 ARP 응답 메시지를 더 전송할 경우 최종적으로 해당 ARP 응답은 ARP 포이즈닝 공격으로 판단하게 된다.
한편, 도 5에 도시된 바와 같이, 패킷 플로우는 복수의 SF를 경유한 후 목적지 서버로 전송되도록 그 경로가 설정될 수 있다. 이 경우에, 공격자는 자신이 제 2 SF(SF2)인 것 처럼 위장하여, 자신의 MAC 주소(00:04)를 포함하는 ARP 응답 메시지를 전송할 수 있다. 이러한 경우에도, 앞서 설명한 바와 같이, 기존에 저장된 ARP 테이블의 MAC 주소와 상이하고, 짧은 시간 동작 반복적으로 ARP 응답 메시지를 전송하는 공격 특성을 활용하여 ARP 포이즈닝 공격을 탐지할 수 있다.
이상에서 설명한 본 발명의 실시예에 따른 SDN 컨트롤러의 동작 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 조사 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
또한, 본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수도 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: SDN 컨트롤러 110: 데이터 입출력 모듈
120: 메모리 130: 프로세서

Claims (4)

  1. SDN(Software Defined Networks) 네트워크에서의 ARP 포이즈닝(poisoning) 공격을 해결하기 위한 SDN 컨트롤러에 있어서,
    ARP 테이블 관리 프로그램을 저장하는 메모리,
    데이터 입출력을 수행하는 데이터 입출력 모듈 및
    상기 메모리에 저장된 ARP 테이블 관리 프로그램을 실행하는 프로세서를 포함하되,
    상기 ARP 테이블 관리 프로그램은 상기 프로세서를 통해, 클라이언트의 ARP 요청 메시지에 포함된 목적지 IP 주소에, 상기 ARP 요청 메시지에 대응하여 수신된 ARP 응답 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장하되,
    상기 ARP 응답 메시지에 포함된 신규 MAC 주소가 상기 ARP 테이블에 기저장된 기존 MAC 주소와 상이한 경우 타이머를 활성화시키고, 상기 타이머가 종료되기 전까지 상기 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신된 경우, 상기 타이머에 설정한 제한시간보다 짧은 시간 동안 반복하여 ARP 응답 메시지를 전송하는 주체를 공격자로 판단하여 해당 ARP 응답 메시지를 ARP 포이즈닝 공격으로 보고, 상기 ARP 테이블 상에 기존 MAC 주소의 저장 상태를 유지시키는 것인 SDN 컨트롤러.
  2. 제 1 항에 있어서,
    상기 ARP 테이블 관리 프로그램은 상기 타이머가 종료될 때 까지 상기 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신되지 않으면, 상기 ARP 테이블 상의 기존 MAC 주소를 상기 신규 MAC 주소로 갱신하는 것인 SDN 컨트롤러.
  3. SDN(Software Defined Networks) 네트워크에서의 ARP 포이즈닝(poisoning) 공격을 해결하기 위한 SDN 컨트롤러의 동작 방법에 있어서,
    상기 SDN 컨트롤러의 스위치를 통해 클라이언트의 ARP 요청 메시지를 수신하는 단계;
    상기 ARP 요청 메시지에 대응하여 전송된 ARP 응답 메시지를 수신하는 단계; 및
    상기 ARP 요청 메시지에 포함된 목적지 IP 주소에, 상기 ARP 응답 메시지에 포함된 MAC 주소를 매칭하여 ARP 테이블에 저장하는 단계를 포함하되,
    상기 ARP 테이블에 저장하는 단계는
    상기 ARP 응답 메시지에 포함된 신규 MAC 주소가 상기 ARP 테이블에 기저장된 기존 MAC 주소와 상이한 경우 타이머를 활성화시키는 단계; 및
    상기 타이머가 종료되기 전까지 상기 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신된 경우, 상기 타이머에 설정한 제한시간보다 짧은 시간 동안 반복하여 ARP 응답 메시지를 전송하는 주체를 공격자로 판단하여 해당 ARP 응답 메시지를 ARP 포이즈닝 공격으로 보고, 상기 ARP 테이블 상에 기존 MAC 주소의 저장 상태를 유지시키는 단계를 수행하는 것인 SDN 컨트롤러의 동작 방법.
  4. 제 3 항에 있어서,
    상기 ARP 테이블에 저장하는 단계는
    상기 타이머가 종료될 때 까지 상기 신규 MAC 주소를 포함하는 ARP 응답 메시지가 재수신되지 않으면, 상기 ARP 테이블 상의 기존 MAC 주소를 상기 신규 MAC 주소로 갱신하는 단계를 더 포함하는 것인 SDN 컨트롤러의 동작 방법.
KR1020170175445A 2017-12-19 2017-12-19 Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법 KR102056641B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170175445A KR102056641B1 (ko) 2017-12-19 2017-12-19 Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170175445A KR102056641B1 (ko) 2017-12-19 2017-12-19 Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20190074071A KR20190074071A (ko) 2019-06-27
KR102056641B1 true KR102056641B1 (ko) 2019-12-17

Family

ID=67057325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170175445A KR102056641B1 (ko) 2017-12-19 2017-12-19 Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102056641B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953519B (zh) * 2020-07-14 2023-07-25 浪潮思科网络科技有限公司 一种sdn网络流量可视化方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101231620B1 (ko) * 2011-09-05 2013-02-08 고려대학교 산학협력단 네트워크 내 노드의 arp 공격 방지 방법
KR101606352B1 (ko) * 2015-07-03 2016-03-28 (주)씨드젠 로그 ap 탐지를 위한 시스템, 사용자 단말, 방법 및 이를 위한 컴퓨터 프로그램

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100863313B1 (ko) 2007-02-09 2008-10-15 주식회사 코어세스 에이알피 스푸핑 자동 차단 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101231620B1 (ko) * 2011-09-05 2013-02-08 고려대학교 산학협력단 네트워크 내 노드의 arp 공격 방지 방법
KR101606352B1 (ko) * 2015-07-03 2016-03-28 (주)씨드젠 로그 ap 탐지를 위한 시스템, 사용자 단말, 방법 및 이를 위한 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20190074071A (ko) 2019-06-27

Similar Documents

Publication Publication Date Title
US11082436B1 (en) System and method for offloading packet processing and static analysis operations
US11924170B2 (en) Methods and systems for API deception environment and API traffic control and security
US9491189B2 (en) Revival and redirection of blocked connections for intention inspection in computer networks
US9118716B2 (en) Computer system, controller and network monitoring method
US9398027B2 (en) Data detecting method and apparatus for firewall
US8990573B2 (en) System and method for using variable security tag location in network communications
US10904288B2 (en) Identifying and deceiving adversary nodes and maneuvers for attack deception and mitigation
CN112995162B (zh) 网络流量的处理方法及装置、电子设备、存储介质
JP6422677B2 (ja) ネットワーク中継装置、同装置を用いたDDoS防御方法および負荷分散方法
Nehra et al. FICUR: Employing SDN programmability to secure ARP
KR102056641B1 (ko) Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법
Conti et al. Know your enemy: Stealth configuration-information gathering in SDN
CN107241297B (zh) 通信拦截方法及装置、服务器
US20160352686A1 (en) Transmitting network traffic in accordance with network traffic rules
US20150128260A1 (en) Methods and systems for controlling communication in a virtualized network environment
JP6418232B2 (ja) ネットワーク管理装置、ネットワークシステム、ネットワーク管理方法およびプログラム
KR101041997B1 (ko) 웹 방화벽의 능동적 탐지ㆍ차단을 위한 대응 시스템 및 그 방법
KR20200006035A (ko) 제공된 구성 정보를 사용하여 트리거된 스캐닝
US9455911B1 (en) In-band centralized control with connection-oriented control protocols
KR101976794B1 (ko) 네트워크 보안 방법 및 그 장치
KR101914831B1 (ko) 호스트 추적 서비스에 대한 공격을 방지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러
US10320751B2 (en) DNS server selective block and DNS address modification method using proxy
CN108200076B (zh) Host头域伪造攻击的防护方法和装置
FI126032B (en) Detection of threats in communication networks
AU2018304187B2 (en) Systems and methods for mitigating and/or preventing distributed denial-of-service attacks

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