KR20140128554A - 유해 트래픽 탐지 시스템 및 방법 - Google Patents

유해 트래픽 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR20140128554A
KR20140128554A KR20130046975A KR20130046975A KR20140128554A KR 20140128554 A KR20140128554 A KR 20140128554A KR 20130046975 A KR20130046975 A KR 20130046975A KR 20130046975 A KR20130046975 A KR 20130046975A KR 20140128554 A KR20140128554 A KR 20140128554A
Authority
KR
South Korea
Prior art keywords
packet
unit
pattern matching
hardware
rule set
Prior art date
Application number
KR20130046975A
Other languages
English (en)
Other versions
KR101498696B1 (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 KR1020130046975A priority Critical patent/KR101498696B1/ko
Publication of KR20140128554A publication Critical patent/KR20140128554A/ko
Application granted granted Critical
Publication of KR101498696B1 publication Critical patent/KR101498696B1/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 유해 트래픽 탐지 시스템으로, 모니터링 대상 네트워크를 통해 전송되는 패킷을 캡쳐하고, 상기 패킷의 임의의 위치의 패턴 매칭 검사를 수행한 후, 해시키를 부가하여 플로우별로 출력시키는 하드웨어 기반 패킷 수집 장치와, 상기 하드웨어 기반 패킷 수집 장치에 의해 출력되는 플로우별 패킷 내의 특정 위치의 패턴 매칭 검사를 수행하여 네트워크 플로우(Netflow)로 출력시키는 소프트웨어 기반 패킷 수집 장치를 포함한다.

Description

유해 트래픽 탐지 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING HARMFUL TRAFFIC}
본 발명은 유해 트래픽을 탐지하는 시스템 및 방법에 관한 것으로, 보다 구체적으로는 네트워크 카드를 이용하여 의심되는 유해 트래픽의 패턴을 예비적으로 매칭하고 매칭 결과에 따라, 소프트웨어 기반으로 재차 패턴 매칭을 하여 유해 트래픽을 탐지하는 것이다.
오늘날 네트워크의 기술의 발전과 사용자의 증가로 정보화 사회로 발전하고 있는 반면, 네트워크를 통해 다른 사용자들에 게 바이러스를 유포하거나, 공격하는 유해 트래픽에 따른 부정적인 측면도 증가하고 있다.
유해 트래픽이라 함은 수신자 측에서 해당 트래픽을 수신할 경우 시스템이 이상 작동하게 되는 공격적 트래픽, 혹은 공격 정보나 정상적인 네트워크 흐름에 있어서 필요치 않은 트래픽, 혹은 데이터 흐름 또는 정상 패킷이지만 해당 패킷을 과도하게 발생하여 수신자의 정상적인 네트워크 소통의 흐름을 방해하거나 네트워크 연결을 중단시키는 행위를 하기 위한 트래픽을 말한다. 유해 트래픽이 네트워크 망을 통해 사용자의 컴퓨터로 유입될 경우 컴퓨터 성능 저하 등의 문제점이 발생하게 된다. 따라서 유해 트래픽을 차단하기 위한 시도가 계속되어왔다.
일반적으로 유해 트래픽을 탐지하기 위해서는 시그니처 탐지 엔진 즉, 소프트웨어만을 사용하였다. 네트워크를 지나는 모든 패킷에 대하여 시그니처와 매칭을 하는 경우 시그니처의 개수가 증가하게 되면 유해 트래픽 탐지에 소요되는 시간이 증가하고 탐지 성능이 저하되며, CPU 사용율의 증가로 시스템 전체의 성능이 떨어지는 문제점이 있다.
본 발명은 네트워크 상의 유해 트래픽을 탐지하기 위하여 소프트웨어만을 이용했을 때의 문제점을 해결하기 위한 것으로, 시그니처의 개수가 증가해도 시그니처 매칭 시간이 지연되지 않으며, 시스템 전체의 성능이 저하되지 않고 일정하게 유지함으로써 안정적인 시스템의 운영을 보장하면서 유해 트래픽 탐지의 성능은 높일 수 있는 방법 및 시스템을 제공하는 것이다.
본 발명은 유해 트래픽 탐지 시스템으로, 모니터링 대상 네트워크를 통해 전송되는 패킷을 캡쳐하고, 상기 패킷의 임의의 위치의 패턴 매칭 검사를 수행한 후, 해시키를 부가하여 플로우별로 출력시키는 하드웨어 기반 패킷 수집 장치와, 상기 하드웨어 기반 패킷 수집 장치에 의해 출력되는 플로우별 패킷 내의 특정 위치의 패턴 매칭 검사를 수행하여 네트워크 플로우(Netflow)로 출력시키는 소프트웨어 기반 패킷 수집 장치를 포함한다.
본 발명은 유해 트래픽 탐지 방법으로, 모니터링 대상 네트워크를 통해 전송되는 패킷을 캡쳐하는 단계와, 하드웨어 기반으로 상기 패킷의 임의의 위치의 패턴 매칭 검사를 수행한 후, 해시키를 부가하여 플로우별 분리하는 단계와, 소프트웨어 기반으로 상기 플로우별 패킷 내의 특정 위치의 패턴 매칭 검사를 수행하여 네트워크 플로우(Netflow)로 출력시키는 단계를 포함한다.
본 발명은 하드웨어 및 소프트웨어를 연동하여 유해 트래픽을 탐지하므로, 시그니처의 개수가 증가해도 시그니처 매칭 시간이 지연되지 않으며, 시스템 전체의 성능이 저하되지 않고 일정하게 유지함으로써 안정적인 시스템의 운영을 보장하면서 유해 트래픽 탐지의 성능은 높일 수 있다.
도 1은 본 발명의 일 실시 예에 따른 유해 트래픽 탐지 시스템의 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 하드웨어 기반 패킷 수집 장치의 구성도이다.
도 3은 본 발명의 일 실시 예에 따른 패킷 분석부의 구성도이다.
도 4는 본 발명의 일 실시 예에 따른 룰셋 매칭부에 구현된 다중 레지스터를 이용한 룰셋 매칭 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 다중 메모리를 통해 다중 쓰레드 구현을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 소프트웨어 기반 패킷 수집 장치의 구성도이다.
도 7은 본 발명의 일 실시 예에 따른 유해 트래픽 탐지 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시 예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시 예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
명세서 전반에 걸쳐 사용되는 용어들은 본 발명 실시 예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 본 발명의 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 유해 트래픽 탐지 시스템의 구성도이다.
도 1에 도시된 바와 같이, 유해 트래픽 탐지 시스템은 백본망(10)과 가입자망(20)과 같은 모니터링 대상 네트워크에서 발생되는 트래픽을 캡쳐하여, 트래픽 유해 여부를 탐지한다. 본 발명의 실시 예에 따라, 모니터링 대상 네트워크를 통해 추출된 10G 실시간 패킷 수집/분석 및 고속 트래픽 유해 탐지 처리를 위해, 하드웨어 기반 패킷 수집 장치(100) 및 소프트웨어 기반 패킷 수집 장치(200)가 연동하여 트래픽 유해 탐지가 이루어질 수 있다.
하드웨어 기반 패킷 수집 장치(100)는 네트워크 카드 형태로 제작되어, 소프트웨어 기반 패킷 수집 장치(200)에 플러그 인 형태로 결합된다.
하드웨어 기반 패킷 수집 장치(100)는 모니터링 대상 네트워크를 통해 전송되는 패킷을 캡쳐하고, 캡쳐된 패킷의 유해 검사 여부를 위한 패턴 매칭 검사 및 플로우 식별을 위한 해시키 생성 프로세싱을 수행한다.
본 발명의 실시 예에 따라, 하드웨어 기반 패킷 수집 장치(100)는 오프셋(Offset)이 없는 패턴 매칭을 수행한다. 여기서, 오프셋(Offset)이 없는 패턴 매칭은 패킷의 임의의 위치에 존재하는 룰셋(Rule set)을 검출하는 하는 것으로, 이는 소프트웨어에서 검출하는데 많은 시간이 소요되므로, 실시간 고속 탐지를 위해 하드웨어 기반으로 처리되도록 한다. 또한, 고속 처리를 위해 다중 플로우 관리를 수행한다.
소프트웨어 기반 패킷 수집 장치(200)는 하드웨어 기반 패킷 수집 장치(100)에 의해 처리된 데이터를 다중 쓰레드 프로세싱 처리하여 트래픽의 비정상 여부를 검사하고, 검사된 결과를 네트워크 플로우(Netflow)로 출력시킨다. 본 발명의 실시 예에 따라, 소프트웨어 기반 패킷 수집 장치(200)는 오프셋(Offset)이 있는 패턴 매칭을 수행한다. 여기서, 오프셋(Offset)이 있는 패턴 매칭은 패킷의 특정 위치에 존재하는 룰셋을 검출하는 것으로, 이는 소프트웨어에서도 용이하게 검출될 수 있으므로, 실시간 고속 탐지를 위해 소프트웨어 기반으로 처리되도록 한다.
소프트웨어 기반 패킷 수집 장치(200)는 네트워크 플로우(Netflow)를 서버(40)에 제공하게 되고, 서버(40)는 이를 DB(50)에 저장하거나, 사용자 컴퓨터(60)를 통해 GUI 형태로 출력시켜 사용자가 직접 분석할 수 있도록 한다. 그런 후, 서버(40)는 분석 결과에 따른 유해 탐지 정책을 소프트웨어 기반 패킷 수집 장치(200)에 피드백할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 하드웨어 기반 패킷 수집 장치의 구성도이다.
도 2를 참조하면, 전술한 바와 같이 하드웨어 기반 패킷 수집 장치(100)는 네트워크 카드 형태로 제작되어, 소프트웨어 기반 패킷 수집 장치(200)에 플러그인 형태로 접속될 수 있다.
하드웨어 기반 패킷 수집 장치(100)는 광모듈(110), 입력 인터페이스부(120), EMAC(130), 패킷 분석부(140), 다중 메모리부(150) 및 컴퓨터 인터페이스부(PCIe IP)(160)를 포함할 수 있다. 여기서, 본 발명에 따라, 입력 인터페이스부(120), EMAC(130), 패킷 분석부(140), 다중 메모리부(150) 및 출력 인터페이스부(160)는 FPGA(170)로 구현되어 고속 처리될 수 있다.
광모듈(110)은 모니터링 대상 네트워크 망을 통해 전송되는 패킷을 수집한다. 본 발명의 일 실시 예에 따라, 두 개의 포트(Port)를 통해 광 파이버(Optical Fiber)로부터 패킷을 수집하는 광 모듈일 수 있다. 본 발명에 따라, 광 모듈(110)은 10G 광 파이버(Optical Fiber)(30)를 통해 입력되는 패킷을 4개의 3.125G 패킷으로 분할하고, 분할된 3.125G 패킷을 4개의 파이프 라인(Pipeline)들을 통해 FPGA(170)에 출력한다. 이를 통해, 10G 이상의 패킷들을 실시간으로 빠르게 처리해줄 수 있다는 이점이 있다.
입력 인터페이스부(120)는 광모듈(110)에서 분할된 패킷들을 순차로 저장되고, EMAC에 입력 가능한 형태로 변환하여 출력된다. 본 발명의 일 실시 예에 따라, 3.125G의 데이터를 64bit로 변환하여 출력해준다.
EMAC(130)은 하나의 완전한 온칩 서브시스템을 제공하여 코어 프로세서와 외부 이더넷 네트워크 사이의 인터페이스를 구현하는 것으로, 인터페이스부(120)와 패킷 분석부(140) 사이를 인터페이스한다.
패킷 분석부(140)는 입력되는 패킷의 패턴 매칭을 수행하여 유해 여부를 1차적으로 판별하고, 패킷을 분석하여 플로우 종류별로 분리하여 출력한다. 이에 대해서는 하기의 도 3을 참조하여 상세히 설명하기로 한다.
다중 메모리(150)는 본 발명의 다중 플로우 처리를 위해 패킷 분석부(140)로부터 출력되는 패킷을 플로우 종류별로 저장하여, 하드웨어 기반 패킷 수집 장치(100)와 연동하여 소프트웨어 기반 패킷 수집 장치(200)에서 다중 쓰레드 프로세싱 처리를 하도록 하기 위한 것으로, 이에 대해서는 하기의 도 4를 참조하여 상세히 설명하기로 한다. 본 발명의 일 실시 예에 따라, DMA(Direct memory access) 메모리가 사용될 수 있는데, 이는 입출력 장치 제어기(IO device controller)가 CPU에 의한 프로그램의 실행없이 자료의 이동을 할 수 있도록 하는 것이다. 이로 인해, 입출력의 속도를 향상할 수 있으며, CPU와 주변 장치 간의 속도차를 줄일 수 있다.
접속 처리부(160)는 PCIe IP 코어로, PC와 서버 등 컴퓨터 주변기기에서 PCIe 호환성 장치나 주변기기를 개발할 때 필수적으로 사용되는 IP 핵심 기술이다.
도 3은 본 발명의 일 실시 예에 따른 패킷 분석부의 구성도이다.
도 3을 참조하면, 패킷 분석부(140)는 상세하게는 네트워크 모듈(141), 패턴 매칭부(142), 해시키 생성부(143), 패킷 생성부(144) 및 제어 레지스터(145)를 포함한다.
네트워크 모듈(141)은 EMAC(130)에서 전달된 64 bit의 패킷을 소정 프레임 링크 포맷(Frame Link Format)으로 변환하여 패턴 매칭부(142)로 전달한다. 일 예로, netcope platform에서 정해진 바에 따라 변환된 프레임 링크 포맷(FrameLink Format)은 하기의 <표 1>과 같다.
FrameLink Header FrameLink Payload
Field Dst MAC Src MAC Type/
Length
Data FCS
Bytes 16 2 6 2 46-1500 4
패턴 매칭부(142)는 프레임 링크 포맷(Frame Link Format)으로 변환된 패킷의 패턴 매칭 검사를 수행하는데, 본 발명의 실시 예에 따라 1차적으로 패킷 내의 임의의 위치에 존재하는 룰셋(Rule Set)을 검출해낸다. 이러한 패턴 매칭부(142)는 상세하게는 룰셋 저장부(142a) 및 룰셋 매칭부(142b)을 포함한다.
룰셋 저장부(142a)에는 유해 트래픽을 탐지하기 위한 수 개의 룰셋(Rule Set)이 저장되는데, 전술한 바와 같이 임의의 위치에 존재하는 룰셋이 저장되고, 이러한 룰셋은 소프트웨어로부터 다운로드될 수 있다.
룰셋 매칭부(142b)은 전달된 패킷과 룰셋 저장부(142a)에 저장된 룰셋 패턴을 매칭하여 일치 여부를 판단한다. 룰셋 매칭부(142b)은 하나의 룰셋 매칭을 담당해서 프레임(frame) 단위로, 룰셋 매칭 여부를 한 비트의 매칭 플래그로 출력해 준다. 즉, 입력되는 프레임 데이터를 한 바이트씩 쉬프트(shift)시키면서, 룰셋과 일치하는 부분이 있는지를 판단해준다. 본 발명의 일 실시 예에 따라, 룰셋의 길이는 1 바이트 내지 16 바이트일 수 있으며, 소프트웨어 기반 패킷 수집 장치(200)에 의해 미리 설정될 수 있다. 이를 위해 룰셋 매칭부(142b)은 1byte 내지 16byte 용 다중 레지스터들로 구성되어 구현될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 룰셋 매칭부에 구현된 다중 레지스터를 이용한 룰셋 매칭 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 각 룰셋 레지스터는 룰셋 저장 레지스터(410), 경우의 수 저장 레지스터(420) 및 임시 저장 레지스터(430)로 구성된다. 그리고, 여기서는 레지스터를 이용하여 입력된 페이로드 스트림 중 8byte 내에서 3byte의 룰셋을 매칭하는 경우를 예를 들어 설명하기로 한다.
페이로드(Payload)는 연속해서 입력되어 스트림(stream)을 이루고, 룰셋 매칭부(142b)는 이중에 8byte을 임시 저장 레지스터(430)에 1 클럭(clock)에서 입력시킨다. 그리고, 다음 클럭(clock)에 임시 저장 레지스터(430)에 저장된 8byte의 데이터를 3byte씩 분리시켜 8개의 경우의 수 레지스터(420)에 저장시킨다. 그런 후, 8개의 경우의 수 레지스터들(420)에 저장된 값들과 3byte의 룰셋 레지스터(410) 내에 저장된 값을 비교하여 동일한 것이 하나라도 있으면, 매치 플래그(match flag)를 구동한다.
해시키 생성부(143)는 패턴 매칭에 의해 매치 플래그가 구동된 패킷을 분석하여 플로우를 구별하고, 그 구별에 상응하는 해시키(Hash key)를 생성한다.
여기서, 플로우라는 용어는 특정 통신 어플리케이션의 사용에 따라 발생되는 TCP 또는 UDP 패킷 플로우를 의미한다. 각각의 패킷 플로우는 L3(IP Packet)의 Source IP, Destination IP, Protocol 및 L4(TCP Packet)의 Source Port, Destination Port를 포함하는 5 투플(tuple)로 구별이 가능하다. 그러나, 이는 일 실시 예일 뿐, 플로우 구별 방법은 이에 한정되지 않는다.
그런데, 패턴 매칭(Pattern matching)과 해시키(Hash key)를 패킷 헤더(Packet header)로 생성하여 전송하는 경우, 이들 헤더값이 커지면 오버헤드가 되므로 패킷 중 일부 손실이 발생할 수 있으므로 가능한 해시키(hash key)를 작게 하는 것이 바람직하다.
패킷 생성부(144)는 패턴 매칭부(142) 및 해시키 생성부(143)에서 출력된 결과값으로 헤더(Header)로 생성하고, 이값을 페이로드(Payload)에 붙여서 다중 메모리(150)에 전송한다. 즉, 프레임 링크 포맷(Frame Link Format)으로 전달되는 데이터를 수신하여 source MAC, Destination MAC은 제거하고, 매치 플래그(Match flag)와 해시키(Hash Key)를 부가한다.
패킷 생성부(144)에 의해 재생성된 패킷 포맷(Packet format)의 일 예는 하기의 <표 2>와 같다.
FrameLink Header FrameLink Payload
Field Type/
Length
Data FCS Match
Flag
Hash
Key
Bytes 16 2 46-1500 4 4 4
상기 <표 2>를 <표 1>에서의 프레임 링크 포맷과 비교하면, source MAC, Destination MAC는 제거되고, Match Flag와 Hash Key를 부가되었음을 알 수 있다.
제어 레지스터(145)는 소프트웨어 기반 패킷 수집 장치(200)로부터 전달된 값을 룰셋 정보 및 룰셋 매칭을 위한 제어 정보, 해시키 생성 제어 정보 및 패킷 제어 정보를 저장하고, 이를 패턴 매칭부(142), 해시키 생성부(143) 및 패킷 생성부(144)에 입력한다.
도 5는 본 발명의 일 실시 예에 따른 다중 메모리를 통해 다중 쓰레드 구현을 설명하기 위한 도면이다.
도 5를 참조하면, 다중 메모리는 하드웨어 처리된 패킷을 해시 키(Hash Key) 별로 분리하여 저장하고, 이를 다중 쓰레드 소프트웨어 처리되도록 출력시켜 준다. 본 발명의 일 실시 예에 따라, 다중 메모리는 8개의 채널로 구성될 수 있다.
도 6은 본 발명의 일 실시 예에 따른 소프트웨어 기반 패킷 수집 장치의 구성도이다.
도 6을 참조하면, 소프트웨어 기반 패킷 수집 장치(200)는 패킷 수집부(210), 비정상 트래픽 검출부(220), 네트워크 플로우 생성부(230), 시스템 관리 부(240), 환경 설정부(250) 및 플로우 출력부(260)를 포함한다.
패킷 수집부(210)는 다중 메모리(150)에 플로우별로 저장되어 있는 패킷을 다중 쓰레드 처리를 통해 수집한다.
비정상 트래픽 검출부(220)는 패킷 수집부(210)에 의해 수집된 패킷의 패턴 매칭을 수행하여 그 유해 여부를 판별한다. 이때, 환경 설정부(250)에 의해 설정된 룰 추가/삭제/변경 정보를 참조하여 패턴 매칭을 수행한다. 플로우별로 패킷의 특정 위치에 존재하는 룰셋 패턴의 매칭을 수행하므로, 속도가 향상될 수 있다. 이와 같이 비정상 트래픽 검출부(220)에 의해 패턴 매칭된 결과는 플로우별로 해시 테이블(미도시)에 저장된다.
네트워크 플로우 생성부(230)는 플로우들을 네트워크 전송 가능한 네트워크 플로우(Netflow)로 변환한다. 이때, 환경 설정부(250)로부터 입력된 Netflow 템플릿을 참조하여 변환한다.
플로우 출력부(260)는 네트워크 플로우 생성부(230)에 의해 생성된 네트워크 플로우들을 여러개 묶어서 외부로 전송한다.
시스템 관리부(240)는 시스템 관리 정보를 주기적으로 분석자에게 전달하고, 그에 상응하는 피드백 정보를 수신하여 전체 시스템을 관리하기 위한, 분석자 인터페이스를 수행한다. 여기서, 시스템 관리 정보는 CPU 사용량, 메모리 사용량, 디스크 사용량이나, 룰셋 정보, 하드웨어 기반 또는 소프트웨어 기반으로 처리할 룰셋 매칭 위치 정보 등을 포함하는 config 정보 또는 비정상 트래픽 검출에 따른 로그 정보 등이 포함될 수 있다.
환경 설정부(250)는 시스템 관리부(240)에 의해 피드백된 정보에 따라, 패턴 매칭을 처리하는 비정상 트래픽 검출부로 룰셋의 추가/삭제/변경을 수행하고, 하드웨어 기반 패턴 매칭을 위해 룰셋 매칭에 관련된 정보를 다운로드해줄 수 있다.
도 7은 본 발명의 일 실시 예에 따른 유해 트래픽 탐지 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 유해 트래픽 탐지 방법은 모니터링 대상 네트워크를 통해 추출된 10G 실시간 패킷 수집/분석 및 고속 트래픽 유해 탐지 처리를 위해, 하드웨어 기반 프로세스 및 소프트웨어 기반 프로세스를 연동하여 트래픽 유해 탐지가 이루어질 수 있다.
하드웨어 기반 패킷 수집 장치(100)는 모니터링 대상 네트워크 망을 통해 전송되는 패킷을 캡쳐한다(S710). 본 발명의 일 실시 예에 따라, 두 개의 포트(Port)를 통해 광 파이버(Optical Fiber)로부터 패킷이 수집될 수 있다. 본 발명에 따라, 10G 광 파이버(Optical Fiber)(30)를 통해 입력되는 패킷을 4개의 3.125G 패킷으로 분할하고, 분할된 3.125G 패킷을 4개의 파이프 라인(Pipeline)들을 통해 출력될 수 있다. 이를 통해, 10G 이상의 패킷들을 실시간으로 빠르게 처리해줄 수 있다는 이점이 있다.
하드웨어 기반 패킷 수집 장치(100)는 캡쳐된 패킷의 임의의 위치의 패턴 매칭을 수행한다(S720). 입력되는 프레임 데이터를 한 바이트씩 쉬프트(shift)시키면서, 룰셋과 일치하는 부분이 있는지를 판단하고, 하나라도 일치하는 부분이 있으면 매치 플래그를 구동시킨다. 본 발명의 일 실시 예에 따라, 룰셋의 길이는 1 바이트 내지 16 바이트일 수 있으며, 소프트웨어 기반 패킷 수집 장치(200)에 의해 미리 설정될 수 있다. 또한, 임의의 위치에서의 패턴 매칭을 위해 다중 레지스터가 이용될 수 있다.
하드웨어 기반 패킷 수집 장치(100)는 패턴 매칭에 의해 매치 플래그가 구동된 패킷을 분석하여 플로우를 구별하고, 그 구별에 상응하는 해시키(Hash key)를 생성한다(S730).
하드웨어 기반 패킷 수집 장치(100)는 매치 플래그 및 해시키가 부가된 패킷을 플로우별로 저장한다(S740). 이는, 다중 플로우 처리를 위해 패킷을 플로우 종류별로 저장하여, 하드웨어 기반 패킷 수집 장치(100)와 연동하여 소프트웨어 기반 패킷 수집 장치(200)에서 다중 쓰레드 프로세싱 처리를 하도록 하기 위함이다.
소프트웨어 기반 패킷 수집 장치(200)는 플로우별로 저장되어 있는 패킷을 다중 쓰레드 처리를 통해 수집한다(S750).
소프트웨어 기반 패킷 수집 장치(200)는 수집된 패킷의 특정 위치의 패턴 매칭을 수행하여 그 유해 여부를 판별한다(S760). 즉, 플로우별로 패킷의 특정 위치에 존재하는 룰셋 패턴의 매칭을 수행하므로, 속도가 향상될 수 있다. 이와 같이 패턴 매칭된 결과는 플로우별로 해시 테이블(미도시)에 저장된다(S770).
소프트웨어 기반 패킷 수집 장치(200)는 플로우들을 네트워크 전송 가능한 네트워크 플로우(Netflow)로 변환한다(S780). 이때, 입력된 Netflow 템플릿을 참조하여 변환한다. 소프트웨어 기반 패킷 수집 장치(200)는 네트워크 플로우들을 여러개 묶어서 외부로 전송한다(S790).

Claims (19)

  1. 모니터링 대상 네트워크를 통해 전송되는 패킷을 캡쳐하고, 상기 패킷의 임의의 위치의 패턴 매칭 검사를 수행한 후, 매칭된 패킷들만을 출력시키는 하드웨어 기반 패킷 수집 장치와,
    상기 하드웨어 기반 패킷 수집 장치에 의해 출력되는 패킷 내의 특정 위치의 패턴 매칭 검사를 수행하여 네트워크 플로우(Netflow)로 출력시키는 소프트웨어 기반 패킷 수집 장치를 포함하는 유해 트래픽 탐지 시스템.
  2. 제 1항에 있어서, 상기 하드웨어 기반 패킷 수집 장치는
    컴퓨터 카드 형태로 제작되어, 소프트웨어 기반 패킷 수집 장치에 플러그 인 형태로 결합됨을 특징으로 하는 유해 트래픽 탐지 시스템.
  3. 제 1항에 있어서, 상기 하드웨어 기반 패킷 수집 장치는
    모니터링 대상 네트워크 망을 통해 전송되는 패킷을 캡쳐하는 광모듈을 포함하되,
    입력되는 패킷의 패턴 매칭을 수행하여 유해 여부를 1차적으로 판별하고, 유해 여부가 판별된 패킷을 분석하여 플로우 종류별로 분리하여 출력하는 패킷 분석부와,
    상기 패킷 분석부로부터 출력되는 패킷을 플로우 종류별로 저장하여, 하드웨어 기반 패킷 수집 장치와 연동하여 소프트웨어 기반 패킷 수집 장치에서 다중 쓰레드 프로세싱 처리를 위한 다중 메모리를 포함함을 특징으로 하는 유해 트래픽 탐지 시스템.
  4. 제 3항에 있어서, 상기 패킷 분석부 및 다중 메모리는
    FPGA로 구현됨을 특징으로 하는 유해 트래픽 탐지 시스템.
  5. 제 3항에 있어서, 상기 광모듈은
    10G 광 파이버를 통해 입력되는 패킷을 4개의 3.125G 패킷으로 분할하고, 분할된 3.125G 패킷을 4개의 파이프 라인(Pipeline)들을 통해 출력함을 특징으로 하는 유해 트래픽 탐지 시스템.
  6. 제 3항에 있어서, 상기 패킷 분석부는
    상기 패킷 내의 임의의 위치에 존재하는 룰셋(Rule Set)을 검출하는 패턴 매칭부와,
    패턴 매칭에 의해 매치 플래그(Match Flag)가 구동된 패킷을 분석하여 플로우를 구별하고, 그 구별에 상응하는 해시키(Hash key)를 생성하는 해시키 생성부와,
    상기 패턴 매칭부 및 해시키 생성부에서 출력된 결과값으로 헤더(Header)로 생성하고, 이값을 페이로드(Payload)에 붙여서 다중 메모리에 전송하는 패킷 생성부를 포함함을 특징으로 하는 유해 트래픽 탐지 시스템.
  7. 제 6항에 있어서, 상기 패킷 분석부는
    상기 광모듈에 의해 캡쳐된 패킷을 소정 프레임 링크 포맷(Frame Link Format)으로 변환하여 상기 패턴 매칭부에 출력하는 네트워크 모듈을 더 포함함을 특징으로 하는 유해 트래픽 탐지 시스템.
  8. 제 6항에 있어서, 상기 패턴 매칭부는
    유해 트래픽을 탐지하기 위한 수 개의 룰셋(Rule Set)을 저장하는 룰셋 저장부와,
    전달된 패킷의 입력되는 프레임 데이터를 한 바이트씩 쉬프트(shift)시키면서, 상기 룰셋 저장부에 저장된 룰셋과 일치하는 부분이 있는지를 검사하고, 그 검사 결과를 매치 플래그로 출력하는 룰셋 매칭부을 포함함을 특징으로 하는 유해 트래픽 탐지 시스템.
  9. 제 8항에 있어서, 상기 룰셋의 길이는
    1 바이트 내지 16 바이트일 수 있음을 특징으로 하는 유해 트래픽 탐지 시스템.
  10. 제 8항에 있어서, 상기 룰셋 매칭부는
    상기 룰셋을 저장하는 룰셋 레지스터와,
    입력되는 패킷 중 검사 대상이 되는 소정 길이의 데이터를 저장하는 임시 저장 레지스터와,
    상기 임시 저장 레지스터에 저장된 소정 길이의 데이터를 룰셋 길이로 분리시켜 저장하는 경우의 수 레지스터들을 포함하되,
    상기 경우의 수 레지스터들에 저장된 값들과 룰셋 레지스터 내에 저장된 값을 비교하여 동일한 것이 하나라도 있으면 매치 플래그(match flag)를 구동함을 특징으로 하는 유해 트래픽 탐지 시스템.
  11. 제 10항에 있어서, 상기 경우의 수 레지스터의 개수는
    상기 임시 저장 레지스터에 저장된 데이터의 바이트 수임을 특징으로 하는 유해 트래픽 탐지 시스템.
  12. 제 6항에 있어서, 상기 해시키 생성부는
    각각의 패킷 플로우는 L3(IP Packet)의 Source IP, Destination IP, Protocol 및 L4(TCP Packet)의 Source Port, Destination Port를 포함하는 5 투플(tuple)에 따라 해시키를 생성함을 특징으로 하는 유해 트래픽 탐지 시스템.
  13. 제 1항에 있어서, 상기 소프트웨어 기반 패킷 수집 장치는
    상기 하드웨어 기반 패킷 수집 장치에 플로우별로 저장되어 있는 패킷을 다중 쓰레드 처리를 통해 수집하는 패킷 수집부와,
    상기 패킷 수집부에 의해 수집된 패킷의 특정 위치에 존재하는 룰셋 매칭을 수행하여 그 유해 여부를 판별하는 비정상 트래픽 검출부를 포함함을 특징으로 하는 유해 트래픽 탐지 시스템.
  14. 제 10항에 있어서, 상기 소프트웨어 기반 패킷 수집 장치는
    상기 비정상 트래픽 검출부로 룰셋의 추가/삭제/변경을 수행하고, 하드웨어 기반 패턴 매칭을 위해 룰셋 매칭에 관련된 정보를 상기 하드웨어 기반 패킷 수집 장치에 다운로드하는 환경 설정부를 더 포함함을 특징으로 하는 유해 트래픽 탐지 시스템.
  15. 모니터링 대상 네트워크를 통해 전송되는 패킷을 캡쳐하는 단계와,
    하드웨어 기반으로 상기 패킷의 임의의 위치의 패턴 매칭 검사를 수행하는 단계와,
    상기 하드웨어 기반으로 패턴 매칭된 패킷만을 소프트웨어 기반으로 패킷 내의 특정 위치의 패턴 매칭 검사를 수행하는 단계를 포함하는 유해 트래픽 탐지 방법.
  16. 제 15항에 있어서, 상기 임의의 위치의 패턴 매칭 검사를 수행하는 단계는
    상기 소정 프레임 링크 포맷(Frame Link Format)으로 변환된 패킷 내의 임의의 위치에서 룰셋(Rule Set) 매칭을 수행하는 단계와,
    상기 룰셋 매칭에 의해 매치 플래그(Match Flag)가 구동된 패킷을 분석하여 플로우를 구별하고, 그 구별에 상응하는 해시키(Hash key)를 생성하는 해시키를 생성하는 단계를 포함함을 특징으로 하는 유해 트래픽 탐지 방법.
  17. 제 16항에 잇어서, 상기 패턴 매칭 검사를 수행하는 단계는
    룰셋 매칭 이전에 패킷을 소정 프레임 링크 포맷(Frame Link Format)으로 변환하는 단계를 더 포함함을 특징으로 하는 유해 트래픽 탐지 방법.
  18. 제 16항에 있어서, 상기 룰셋 매칭을 수행하는 단계는
    상기 변환된 패킷의 프레임 데이터를 한 바이트씩 쉬프트(shift)시키면서, 미리 저장된 룰셋과 일치하는 부분이 있는지를 검사하고, 그 검사 결과를 매치 플래그를 구동시킴을 특징으로 하는 유해 트래픽 탐지 방법.
  19. 제 15항에 있어서, 상기 특정 위치의 패턴 매칭을 수행하는 단계는
    상기 하드웨어 기반으로 플로우별로 저장되어 있는 패킷을 다중 쓰레드 처리를 통해 수집하는 단계와,
    상기 수집된 패킷의 특정 위치에 존재하는 룰셋 매칭을 수행하여 그 유해 여부를 판별하는 단계를 포함함을 특징으로 하는 유해 트래픽 탐지 방법.
KR1020130046975A 2013-04-26 2013-04-26 유해 트래픽 탐지 시스템 및 방법 KR101498696B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130046975A KR101498696B1 (ko) 2013-04-26 2013-04-26 유해 트래픽 탐지 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130046975A KR101498696B1 (ko) 2013-04-26 2013-04-26 유해 트래픽 탐지 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140128554A true KR20140128554A (ko) 2014-11-06
KR101498696B1 KR101498696B1 (ko) 2015-03-12

Family

ID=52454402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130046975A KR101498696B1 (ko) 2013-04-26 2013-04-26 유해 트래픽 탐지 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101498696B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160085593A (ko) * 2015-01-08 2016-07-18 주식회사 윈스 시그니처 기반 네트워크 보안 장비의 프로파일링 서비스 방법 및 장치
KR20160087187A (ko) * 2015-01-13 2016-07-21 한국전자통신연구원 사이버 블랙박스 시스템 및 그 방법
KR101656621B1 (ko) * 2015-07-15 2016-09-12 마이크로큐닉스 주식회사 네트워크 패킷 모니터링 장치 및 방법
KR102126185B1 (ko) * 2020-03-30 2020-06-24 주식회사 코닉글로리 트래픽 누수시 탐지 성능 저하를 일으키는 탐지 정책 추출 시스템 및 그 방법
KR102352187B1 (ko) * 2020-09-09 2022-01-19 이경문 패시브 핑거프린트 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102484886B1 (ko) * 2021-06-11 2023-01-06 주식회사 시큐다임 정보 유출 모니터링 서버 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994746B1 (ko) * 2008-08-01 2010-11-16 주식회사 정보보호기술 패턴 매칭부를 이용한 유해 트래픽 탐지 방법 및 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160085593A (ko) * 2015-01-08 2016-07-18 주식회사 윈스 시그니처 기반 네트워크 보안 장비의 프로파일링 서비스 방법 및 장치
KR20160087187A (ko) * 2015-01-13 2016-07-21 한국전자통신연구원 사이버 블랙박스 시스템 및 그 방법
KR101656621B1 (ko) * 2015-07-15 2016-09-12 마이크로큐닉스 주식회사 네트워크 패킷 모니터링 장치 및 방법
KR102126185B1 (ko) * 2020-03-30 2020-06-24 주식회사 코닉글로리 트래픽 누수시 탐지 성능 저하를 일으키는 탐지 정책 추출 시스템 및 그 방법
KR102352187B1 (ko) * 2020-09-09 2022-01-19 이경문 패시브 핑거프린트 방법 및 장치

Also Published As

Publication number Publication date
KR101498696B1 (ko) 2015-03-12

Similar Documents

Publication Publication Date Title
KR101498696B1 (ko) 유해 트래픽 탐지 시스템 및 방법
US10397260B2 (en) Network system
KR100922579B1 (ko) 네트워크 공격 탐지 장치 및 방법
Wang et al. Seeing through network-protocol obfuscation
US9762544B2 (en) Reverse NFA generation and processing
US9191399B2 (en) Detection of infected network devices via analysis of responseless outgoing network traffic
US9860278B2 (en) Log analyzing device, information processing method, and program
US7703138B2 (en) Use of application signature to identify trusted traffic
CN102387045B (zh) 嵌入式p2p流量监控系统及方法
KR101295708B1 (ko) 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법
US20030084326A1 (en) Method, node and computer readable medium for identifying data in a network exploit
KR20140106547A (ko) 네트워크 메타데이터를 처리하기 위한 스트리밍 방법 및 시스템
KR101221045B1 (ko) 패킷 처리 방법 및 이를 이용한 toe 장치
JP2016513944A (ja) ネットワーク通信分析のためにメタデータを抽出及び保持するシステム及び方法
US20200110853A1 (en) Method and System for Detecting Pirated Video Network Traffic
US20160006764A1 (en) Distributed network instrumentation system
Hurley et al. ITACA: Flexible, scalable network analysis
US20210234871A1 (en) Infection-spreading attack detection system and method, and program
CN113377051B (zh) 一种基于fpga的网络安全防护设备
KR101615587B1 (ko) 전자전에서 사이버 공격 탐지와 분석을 위한 dpi 구현 시스템 및 이의 구현 방법
Heigl et al. A resource-preserving self-regulating Uncoupled MAC algorithm to be applied in incident detection
CN106657087B (zh) 一种实现Ethernet/Ip协议动态跟踪的工业防火墙的方法
US9742699B2 (en) Network apparatus and selective information monitoring method using the same
KR102544874B1 (ko) 분할 패킷의 보안 처리 방법 및 이를 이용하는 보안 지원 장치
US20240095367A1 (en) Verifying encryption of data traffic

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: 20191210

Year of fee payment: 6