KR101888683B1 - 비정상 트래픽을 탐지하는 방법 및 장치 - Google Patents

비정상 트래픽을 탐지하는 방법 및 장치 Download PDF

Info

Publication number
KR101888683B1
KR101888683B1 KR1020170096317A KR20170096317A KR101888683B1 KR 101888683 B1 KR101888683 B1 KR 101888683B1 KR 1020170096317 A KR1020170096317 A KR 1020170096317A KR 20170096317 A KR20170096317 A KR 20170096317A KR 101888683 B1 KR101888683 B1 KR 101888683B1
Authority
KR
South Korea
Prior art keywords
data
image data
traffic
encoder
traffic data
Prior art date
Application number
KR1020170096317A
Other languages
English (en)
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 KR1020170096317A priority Critical patent/KR101888683B1/ko
Priority to US15/832,050 priority patent/US10432653B2/en
Priority to JP2017235153A priority patent/JP6757978B2/ja
Application granted granted Critical
Publication of KR101888683B1 publication Critical patent/KR101888683B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • G06F17/30705
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

머신 러닝 중 하나인 인셉션-레지듀얼 네트워크-v2(inception-residual network-v2) 기반의 오토인코더(autoencoder)를 이용하여 학습용 트래픽(traffic) 데이터를 기초로 복수의 인코더(encoder)를 생성하는 단계, 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하는 단계, 및 상기 학습용 트래픽 데이터, 상기 복수의 인코더 및 상기 복수의 이미지 데이터 중 적어도 하나를 이용하여 상기 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계를 포함하는 비정상 트래픽 탐지 방법이 개시된다.

Description

비정상 트래픽을 탐지하는 방법 및 장치{METHOD AND APPARATUS FOR DETECTING ANOMALY TRAFFIC}
본 발명은 비정상 트래픽을 탐지하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 머신러닝 학습 방법 중 하나인 인셉션-레지듀얼 네트워크-V2(inception-residual network-v2, inception-resnet-v2) 기반의 오토인코더를 이용하여 비정상 트래픽을 탐지하는 방법 및 장치에 관한 것이다.
최근 인터넷의 급속한 발달로 인해 서버와 인터넷 간의 HTTP(HyperText Transfer Protocol) 기반의 통신량도 급속도로 증가되고 있는 실정이다. 여기서, HTTP는 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신규약이며, 하이퍼텍스트는 문서 중간중간에 특정 키워드를 두고 문자나 그림을 상호 유기적으로 결합하여 연결시킴으로써, 서로 다른 문서라 할지라도 하나의 문서인 것처럼 보이면서 참조하기 쉽도록 하는 방식을 의미한다. 우리 사회는 통신량이 증가됨에 따라 수 많은 정보를 주고 받으며 우리 삶의 질을 향상시켜왔으나, 동시에 대규모 네트워크를 대상으로 하는 공격이 증가하고 있어 심각한 사회적 문제가 발생하고 있다.
따라서, 이러한 대규모 네트워크 공격을 탐지하기 위해 트래픽을 분석하는 기술이 대두되었으며, 트래픽을 분석하는 기술은 패킷의 수 또는 바이트 크기의 양적 변화를 관찰하는 것이 대부분이다.
다만, 단순히 양적인 변화만을 기초로 비정상 트래픽을 탐지하는 방법은 적은 양적 변화를 일으키는 공격을 탐지하지 못하거나 정상적이지만 과다한 양적 변화를 나타내는 경우를 비정상 트래픽으로 잘못 탐지하는 경우가 발생할 수 있는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 inception-resnet-v2(inception-residual network-v2,) 기반의 오토인코더를 이용한 비정상 트래픽 탐지 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 inception-resnet-v2 기반의 오토인코더를 이용한 비정상 트래픽 탐지 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법은, 학습용 트래픽(traffic) 데이터를 기초로 복수의 인코더(encoder)를 생성하는 단계, 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하는 단계 및 학습용 트래픽 데이터, 복수의 인코더 및 복수의 이미지 데이터 중 적어도 하나를 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계를 포함할 수 있다.
여기서, 학습용 트래픽 데이터를 기초로 복수의 인코더를 생성하는 단계는, 학습용 트래픽 데이터를 미리 설정된 단위로 분할하는 단계, 분할한 학습용 트래픽 데이터를 복수의 학습용 이미지 데이터로 변환하는 단계 및 복수의 학습용 이미지 데이터를 기초로 복수의 인코더를 생성하는 단계를 포함할 수 있다.
여기서, 복수의 학습용 이미지 데이터를 학습하여 복수의 인코더를 생성하는 단계는, 컨볼루셔널 신경망(convolutional neural networks)을 이용하는 인셉션-레지듀얼 네트워크-v2(inception-residual network-v2) 기반의 오토인코더(autoencoder)를 통해 복수의 학습용 이미지 데이터를 학습하여 복수의 인코더를 생성하는 단계를 포함할 수 있다.
여기서, 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하는 단계는, 탐지 대상인 세션별 트래픽 데이터를 미리 설정된 단위로 분할하는 단계 및 분할한 탐지 대상인 세션별 트래픽 데이터를 복수의 이미지 데이터로 변환하는 단계를 포함할 수 있다.
여기서, 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계는, 오트인코더에 복수의 이미지 데이터를 입력하여 BCE(binary cross entropy)를 산출하는 단계 및 BCE와 미리 설정된 문턱치 값을 비교하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계를 포함할 수 있다.
여기서, BCE와 미리 설정된 문턱치 값을 비교하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계는, BCE가 미리 설정된 문턱치 값 이상인 경우, 세션별 트래픽 데이터를 비정상으로 판단하는 단계를 포함할 수 있다.
여기서, BCE와 미리 설정된 문턱치 값을 비교하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계는, BCE가 미리 설정된 문턱치 값 미만인 경우, 클러스터링(clustering) 알고리즘을 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계를 더 포함할 수 있다.
여기서, 클러스터링(clustering) 알고리즘을 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계는, 학습용 트래픽 데이터 및 복수의 인코더를 기초로 클러스터링 알고리즘을 이용하여 복수의 데이터 군집을 생성하는 단계 및 복수의 인코더, 복수의 데이터 군집 및 복수의 이미지 데이터를 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계를 포함할 수 있다.
여기서, 학습용 트래픽 데이터 및 복수의 인코더를 기초로 클러스터링 알고리즘을 이용하여 복수의 데이터 군집을 생성하는 단계는, 분할한 학습용 트래픽 데이터를 복수의 인코더에 입력하여 복수의 인코더의 출력을 각각 저장하는 단계 및 각각 저장한 복수의 인코더의 출력에 대하여 클러스터링 알고리즘을 적용하여 복수의 인코더에 대응하는 적어도 하나 이상의 데이터 군집을 각각 생성하는 단계를 포함할 수 있다.
여기서, 복수의 인코더, 복수의 데이터 군집 및 복수의 이미지 데이터를 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하는 단계는, 복수의 탐지 대상 데이터를 복수의 인코더에 입력하여 복수의 인코더에 따른 출력데이터를 각각 생성하는 단계 및 동일한 인코더를 기준으로 복수의 인코더에 따른 출력데이터가 복수의 인코더에 대응하는 데이터 군집에 모두 포함되지 않는 경우, 세션별 트래픽 데이터를 비정상 트래픽으로 판단하는 단계를 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, 학습용 트래픽(traffic) 데이터를 기초로 복수의 인코더(encoder)를 생성하도록 실행되고, 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하도록 실행되고, 학습용 트래픽 데이터, 복수의 인코더 및 복수의 이미지 데이터 중 적어도 하나를 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 학습용 트래픽 데이터를 미리 설정된 단위로 분할하도록 실행되고, 분할한 학습용 트래픽 데이터를 복수의 학습용 이미지 데이터로 변환하도록 실행되고, 복수의 학습용 이미지 데이터를 기초로 복수의 인코더를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 컨볼루셔널 신경망(convolutional neural networks)을 이용하는 인셉션-레지듀얼 네트워크-v2(inception-residual network-v2) 기반의 오토인코더(autoencoder)를 통해 복수의 학습용 이미지 데이터를 학습하여 복수의 인코더를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 탐지 대상인 세션별 트래픽 데이터를 미리 설정된 단위로 분할하도록 실행되고, 분할한 탐지 대상인 세션별 트래픽 데이터를 복수의 이미지 데이터로 변환하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 오트인코더에 복수의 이미지 데이터를 입력하여 BCE(binary cross entropy)를 산출하도록 실행되고, BCE와 미리 설정된 문턱치 값을 비교하여 세션별 트래픽 데이터의 비정상 여부를 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, BCE가 미리 설정된 문턱치 값 이상인 경우, 세션별 트래픽 데이터를 비정상으로 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, BCE가 미리 설정된 문턱치 값 미만인 경우, 클러스터링(clustering) 알고리즘을 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 학습용 트래픽 데이터 및 복수의 인코더를 기초로 클러스터링 알고리즘을 이용하여 복수의 데이터 군집을 생성하도록 실행되고, 복수의 인코더, 복수의 데이터 군집 및 복수의 이미지 데이터를 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 분할한 학습용 트래픽 데이터를 복수의 인코더에 입력하여 복수의 인코더의 출력을 각각 저장하도록 실행되고, 각각 저장한 복수의 인코더의 출력에 대하여 클러스터링 알고리즘을 적용하여 복수의 인코더에 대응하는 적어도 하나 이상의 데이터 군집을 각각 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 복수의 탐지 대상 데이터를 복수의 인코더에 입력하여 복수의 인코더에 따른 출력데이터를 각각 생성하도록 실행되고, 동일한 인코더를 기준으로 복수의 인코더에 따른 출력데이터가 복수의 인코더에 대응하는 데이터 군집에 모두 포함되지 않는 경우, 세션별 트래픽 데이터를 비정상 트래픽으로 판단하도록 실행될 수 있다.
본 발명에 따르면, 비정상 트래픽 탐지에 머신러닝을 이용하여 오경보율을 감소시킬 수 있다.
본 발명에 따르면, 머신러닝 중 인셉션-레지듀얼 네트워크-v2(inception-resnet-v2) 기반의 오토인코더(autoencoder)를 이용하여 효과적으로 계산량을 줄이며 레이어(layer)를 증가할 수 있으므로, 비정상 트래픽 탐지에 있어서 높은 정확도 및 속도를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 트래픽 데이터를 이미지 데이터로 변환하는 방법을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 컨볼루셔널 신경망의 컨볼루션 동작을 설명하는 개념도이다.
도 4는 본 발명의 일 실시예에 따른 오토인코더의 기반이 되는 인셉션-레지듀얼 네트워크-v2를 설명하는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 오토인코더의 구성을 설명하는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 인코더의 구조를 설명하는 개념도이다.
도 7은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 인코더의 구조에 대응되는 디코더의 구조를 설명하는 개념도이다.
도 8은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 스템(stem) 단계를 설명하는 개념도이다.
도 9는 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Inception-resnet-A 단계를 설명하는 개념도이다.
도 10은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Reduction-A 단계를 설명하는 개념도이다.
도 11은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Inception-resnet-B 단계를 설명하는 개념도이다.
도 12는 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Reduction-B 단계를 설명하는 개념도이다.
도 13은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Inception-resnet-C 단계를 설명하는 개념도이다.
도 14는 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법을 설명하는 순서도이다.
도 15는 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법 중 인코더, 인코더에 대응되는 데이터 군집 및 이미지 데이터를 이용하여 비정상 여부를 판단하는 방법을 설명하는 순서도이다.
도 16은 본 발명의 일 실시예에 따른 오토인코더에서 디코더를 제거하고 인코더의 출력인 다차원 데이터에 대하여 t-SNE를 적용한 결과를 나타낸 도면이다.
도 17은 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치의 성능을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 트래픽란, 웹 사이트에 방문하는 사람들이 주고받는 데이터의 양을 의미하는 웹 트래픽(web traffic)을 의미할 수 있으며, 인터넷을 경유하는 데이터의 흐름을 의미하는 인터넷 트래픽(internet traffic)을 의미할 수 있다. 또한, 트래픽은 HTTP(HyperText Transfer Protocol)을 이용하는 인터넷 트래픽을 의미할 수 있다. 여기서, HTTP는 무상태(stateless) 프로토콜(protocol)일 수 있고, 무상태 프로토콜은 HTTP 서버가 다중 요청 기간 동안 각 사용자에 대한 정보 또는 상태를 보유할 것을 요구하지 않을 수 있다.
도 1은 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치의 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치 (100)는 적어도 하나의 프로세서(110), 메모리(120) 및 저장 장치(130)를 포함할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(130)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(130)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
메모리(120)는 프로세서(110)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 학습용 트래픽(traffic) 데이터를 기초로 복수의 인코더(encoder)를 생성하는 명령, 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하는 명령 및 상기 학습용 트래픽 데이터, 상기 복수의 인코더 및 상기 복수의 이미지 데이터 중 적어도 하나를 이용하여 상기 세션별 트래픽 데이터의 비정상 여부를 판단하는 명령을 포함할 수 있다.
메모리(120)에 저장된 명령들은 프로세서(110)의 기계 학습에 의해 업데이트될 수 있다. 프로세서(110)는 기계 학습에 의해 메모리에 저장된 명령을 변경할 수 있다. 프로세서(110)가 수행하는 기계 학습은 비지도 학습 방식에 의해 이루어질 수 있다.
프로세서(110)는 메모리(120)에 저장된 명령에 따라 트래픽 데이터 획득부(10)로부터 탐지 대상인 세션별 트래픽 데이터를 수신할 수 있고, 트래픽 데이터 획득부(10)는 획득한 세션별 트래픽 데이터를 프로세서(110)로 송신할 수 있다.
프로세서(110)는 학습용 트래픽(traffic) 데이터를 기초로 학습용 이미지 데이터를 생성할 수 있으며, 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성할 수 있다. 여기서, 트래픽 데이터는 HTTP 세션별 트래픽 데이터를 의미할 수 있다. HTTP 세션이란, 일련의 네트워크 요청 및 응답의 트랜잭션(transaction)을 의미할 수 있다. 예를 들어, HTTP 클라이언트는 서버의 특정 포트에 TCP(Transmission Control Protocol) 연결을 설정하여 요청을 시작할 수 있고, 해당 포트에서 수신 대기하는 HTTP 서버는 클라이언트의 요청 메시지를 기다릴 수 있으며, 요청을 받으면 서버는 "HTTP / 1.1 200 OK"와 같은 상태 표시 줄과 자체 메시지를 보낼 수 있다. 이 메시지의 본문은 일반적으로 요청된 자원일 수 있지만 오류 메시지 또는 기타 정보가 반환 될 수 있으며, 여기서, HTTP 클라이언트의 요청 및 서버의 응답이 HTTP 세션을 의미할 수 있다. 다시 말해, 트래픽 데이터는 문자열 데이터를 의미할 수 있다. 프로세서(110)는 문자열 데이터를 기초로 이미지 데이터를 생성하기 위해 문자열 데이터를 역순으로 one-hot vector로 변환하여 행렬을 생성할 수 있으며, 더욱 상세하게는 도 2와 함께 후술하겠다.
프로세서(110)는 생성한 이미지 데이터를 기계 학습의 학습데이터로 이용하여 인코더(encoder)를 생성할 수 있다. 여기서, 기계 학습은 컨볼루셔널 신경망(Convolutional Neural Networks, CNN)인 오토인코더(autoencoder)를 이용할 수 있으며, 인셉션-레지듀얼 네트워크-v2(inception-residual network-v2, inception-resnet-v2) 기반의 오토인코더를 이용할 수 있다. 여기서, 인코더는 입력데이터가 압축되어 히든 레이어(hidden layers)를 형성하는 과정을 인코딩이라 나타낼 수 있으며, 인코딩을 수행하는 부분을 인코더라 나타낼 수 있다. 또한, 그 역으로 히든 레이어가 출력데이터를 형성하는 과정은 디코딩이라 나타낼 수 있으며, 디코딩을 수행하는 부분을 디코더라 나타낼 수 있다. 오토인코더는 상술한 인코더 및 디코더를 포함하며, 더욱 상세하게는 도 3과 함께 후술하겠다.
프로세서(100)는 이미지 데이터를 오토인코더에 입력하여 획득한 출력 값인 BCE(Binary Cross Entropy)와 미리 설정한 문턱 값을 비교하여 세션별 트래픽 데이터의 비정상 여부를 판단할 수 있다. 본 발명의 일 실시예에서는 기계 학습으로서 오토인코더를 학습하는 과정에서 정상 트래픽 데이터를 이용하였으므로, 정상 트래픽 데이터를 이미지 데이터로 변환하여 오토인코더에 입력한 경우, BCE는 낮은 값을 가질 수 있으며, 비정상 트래픽 데이터를 이미지 데이터로 변환하여 오토인코더에 입력한 경우, BCE는 높은 값을 가질 수 있다. 여기서, CE(Cross Entropy)는 두 개의 확률 분포간의 차이 또는 거리를 나타내는 지표를 의미할 수 있으며, 차이가 클수록 높은 값을 가질 수 있다. 즉, 오토인코더는 비지도 학습 방법을 통해 기계 학습을 수행하므로 입력 데이터와 출력 데이터의 차이가 작아지도록 계속하여 학습을 수행할 수 있으므로, BCE가 높은 값을 가지는 것은 정상 트래픽 데이터로 학습한 오토인코더에 있어서 비정상 트래픽 데이터가 입력되었다는 것을 의미할 수 있다. 따라서, 프로세서(100)는 BCE가 미리 설정한 문턱 값 이상인 경우 세션별 트래픽 데이터를 비정상 트래픽으로 판단할 수 있다.
프로세서(100)는 BCE가 미리 설정한 문턱 값 미만인 경우 클러스터링(clustering) 알고리즘을 이용하여 세션별 트래픽 데이터의 비정상 여부를 판단할 수 있다. 여기서, 클러스터링 알고리즘은 다차원 데이터 벡터들을 특정한 방식으로 정의된 거리를 기준으로 근접한 데이터 벡터들을 군집화하는 것을 의미할 수 있으며, 본 발명의 일 실시예에서는 t-SNE를 이용할 수 있다. t-SNE는 t-분포 확률적 임베딩으로 데이터의 차원 축소에 사용되는 기계 학습 알고리즘 중 하나를 의미할 수 있다. t-SNE는 비선형 차원 축소 기법으로, 고차원 데이터를 2, 3차원 등으로 줄여 가시화하는데 이용될 수 있으며, 비슷한 데이터는 근접한 2, 3차원의 지점으로, 다른 데이터는 멀리 떨어진 지점으로 매핑할 수 있다.
프로세서(100)는 학습용 이미지 데이터를 인코더에 입력하여 인코더의 출력을 저장할 수 있고, 저장한 출력에 상술한 클러스터링 알고리즘을 적용하여 복수의 출력 중 거리가 가까운 출력끼리 군집하여 인코더에 대응하는 데이터 군집을 생성할 수 있다. 또한, 복수의 학습용 이미지 데이터를 기초로 복수의 데이터 군집을 생성할 수 있다. 이후, 프로세서(100)는 인코더에 탐지 대상의 이미지 데이터를 입력하여 출력데이터를 생성할 수 있으며, 출력데이터가 복수의 데이터 군집 중 어느 하나에 포함되는 경우 세션별 트래픽 데이터를 정상 트래픽 데이터로 판단할 수 있으며, 출력데이터가 복수의 데이터 군집 모두에 포함되지 않는 경우 세션별 트래픽 데이터를 비정상으로 판단할 수 있다. 여기서, 학습용 트래픽 데이터는 미리 설정한 단위로 분할되어 복수의 학습용 이미지 데이터를 생성할 수 있으며, 복수의 학습용 이미지 데이터는 복수의 인코더를 생성될 수 있으므로, 이러한 경우, 프로세서(100)는 하나의 탐지 대상 이미지 데이터로부터 복수의 인코더에 따른 복수의 출력데이터를 가질 수 있으며, 하나의 학습용 이미지 데이터로부터 복수의 인코더에 따른 복수의 데이터 군집을 가질 수 있다. 따라서, 프로세서(110)는 동일한 인코더를 기준으로 복수의 출력데이터가 복수의 데이터 군집에 모두 포함하지 않는 경우, 세션별 트래픽 데이터를 비정상으로 판단할 수 있다.
예를 들어, 제1 학습용 이미지 데이터를 기초로 제1 인코더 및 제1 데이터 군집을 생성하였고, 동일한 방식으로 제2 학습용 이미지 데이터 및 제3 학습용 이미지 데이터를 기초로 제2 인코더, 제2 데이터 군집, 제3 인코더 및 제3 시게열 데이터를 생성하였다고 가정한다. 프로세서(110)는 탐지 대상인 이미지 데이터를 제1 인코더에 입력하여 제1 출력데이터를 생성할 수 있으며, 제1 출력데이터와 제1 데이터 군집을 비교할 수 있다. 제1 출력데이터가 제1 데이터 군집에 포함되지 않는 경우, 프로세서(110)는 탐지 대상인 이미지 데이터를 제2 인코더에 입력하여 제2 출력데이터를 생성할 수 있으며, 제2 출력데이터와 제2 데이터 군집을 비교할 수 있다. 제2 출력데이터가 제2 데이터 군집에 포함되지 않는 경우, 프로세서(110)는 탐지 대상인 이미지 데이터를 제3 인코더에 입력하여 제3 출력데이터를 생성할 수 있으며, 제3 출력데이터와 제3 데이터 군집을 비교할 수 있다. 제3 출력데이터가 제3 데이터 군집에 포함되지 않는 경우, 프로세서(110)는 탐지 대상인 이미지 데이터를 포함하는 세션별 트래픽 데이터를 비정상 트래픽으로 판단할 수 있다.
프로세서(110)는 세션별 트래픽 데이터가 비정상으로 판단된 경우, 판단 결과를 사용자에게 제공할 수 있다. 프로세서(110)는 사용자에게 비정상 트래픽 감지에 따른 경보 표시 또는 경보 문구를 함께 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 트래픽 데이터를 이미지 데이터로 변환하는 방법을 설명하는 도면이다.
본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치는 문자열 데이터를 행렬 형태로 변환하고, 형렬 형태를 이미지 데이터로 인식함으로서 문자열 데이터로부터 이미지 데이터를 생성할 수 있다. 다시 말해, 프로세서(100)는 학습용 트래픽 데이터 및 탐지 대상인 세션별 트래픽 데이터를 행렬 형태로 변환하고, 변환된 행렬 형태를 학습용 이미지 데이터 및 탐지 대상 이미지 데이터로 인식할 수 있다.
프로세서(100)가 문자열 데이터을 행렬 형태로 변환하는 방법은 문자열로 구성되어 있는 트래픽 데이터를 문장의 마지막 문자부터 역순으로 one-hot vector로 변환하여 행렬 형태로 변환하는 방법을 이용할 수 있다. 여기서, one-hot vector는 하나의 차원 값이 1이고, 나머지 모든 차원 값이 0인 벡터를 의미할 수 있다. 또한, one-hot vector의 행렬 형태는
Figure 112017073195085-pat00001
의 크기를 가질 수 있다. 여기서,
Figure 112017073195085-pat00002
는 트래픽 데이터를 구성할 수 있는 문자 종류의 개수를 의미할 수 있으며,
Figure 112017073195085-pat00003
은 행렬로 변환할 수 있는 문장의 길이를 의미할 수 있다.
또한, 트래픽 데이터의 문자열의 길이가
Figure 112017073195085-pat00004
보다 짧은 경우에는 부족한 vector는 0으로 나타낼 수 있다. 트래픽 데이터의 문자열의 길이가
Figure 112017073195085-pat00005
보다 긴 경우에는 트래픽 데이터의 문자열의 첫 번째 문자가 포함되도록
Figure 112017073195085-pat00006
의 크기만큼 앞 부분의 문자를 vector로 나타낼 수 있고, 마지막 문자가 포함되도록
Figure 112017073195085-pat00007
의 크기만큼 뒷 부분의 문자를 vector로 나타낼 수 있으나, 사용자에 의해 설정될 수 있다.
예를 들어, 도 2를 참조하면, 트래픽 데이터를 구성할 수 있는 문자는 "ABCDEF"이고,
Figure 112017073195085-pat00008
은 6이라고 가정한다. 이 경우,
Figure 112017073195085-pat00009
는 "ABCDEF"의 개수로서 6의 값을 가질 수 있다. 따라서, one-hot vector는 6x6의 크기를 가질 수 있다. 이러한 설정에서 문자열 "DBFC"을 변환하면, 문자열의 마지막 문자인 "C"가 제1 열(column)에 나타날 수 있으며, 그 뒤로는 역순으로 "F", "B" 및 "D"가 나타날 수 있다. 또한,
Figure 112017073195085-pat00010
가 6이므로 문자열의 길이 4보다 크다. 따라서, 나머지 제5 열 및 제6 열은 0으로 나타날 수 있다. "C"는 트래픽 데이터를 구성할 수 있는 문자 "ABCDEF" 중 세 번째에 위치하므로, 제3 행에 나타날 수 있으며, 그 뒤로는 "F"는 제6 행, "B"는 제2 행 및 "D"는 제4 행에 각각 나타날 수 있다. 결과적으로, "DBFC"는 도 2와 같이 "C"는 (3,1), "F"는 (6,2), "B"는 (2,3) 및 "D"는 (4,4)에 각각 위치할 수 있다.
본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치는 학습용 트래픽 데이터 및 세션별 트래픽 데이터를 미리 설정한 개수로 분할할 수 있으며, 분할한 데이터를 상술한 행렬 변환 방법에 따라 행렬 형태로 변환할 수 있다. 다시 말해, 프로세서(100)는 문자열로 구성된 트래픽 데이터를
Figure 112017073195085-pat00011
의 크기와 대응되도록 분할하여 행렬 변환 과정을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 컨볼루셔널 신경망의 컨볼루션 동작을 설명하는 개념도이다.
도 3을 참조하면, 컨볼루셔널 신경망(convolutional neural network)은 입력 데이터에 대하여 컨볼루션(convolution) 동작 및 풀링(pooling) 동작 등을 수행하며 layer를 쌓아 입력데이터를 학습하는 기계 학습을 의미할 수 있다. 여기서, 컨볼루션 동작은 일정한 크기의 커널(kernel) 행렬을 이용하여 행렬을 훑으며(sweep), 데이터를 다른 형태로 변형시키는 것을 의미할 수 있으며, 특성 맵(feature map)은 컨볼루션 동작을 통해 생성된 이미지들을 의미할 수 있다. 여기서, 커널 행렬의 각 원소에 해당되는 값은 가중치를 의미할 수 있다. 풀링 동작은 이미지의 크기를 줄이는 과정인 서브 샘플링(subsampling)으로서, convolution 동작을 수행한 결과에서 미리 설정한 방법에 따라 대표 값을 추출하는 것을 의미할 수 있다.
본 발명의 일 실시예에 따른 오토인코더(autoencoder)는 컨볼루셔널 신경망을 이용하여 구현될 수 있으며, 교사 신호(정답) 없이 학습을 수행하는 비교사학습에 해당할 수 있다.
본 발명의 일 실시예에 따른 오토인코더는 입력데이터를 인코딩하여 히든 레이어(hidden layer)를 생성하고, 히든 레이어를 다시 디코딩하여 출력데이터를 생성하여, 입력데이터와 출력데이터를 비교하여 출력데이터가 입력된 데이터에 근사되도록 인코딩 및/또는 디코딩 시의 파라미터(parameter) 또는 가중치를 조정시킴으로서, 데이터를 학습하는 인공신경망이다. 오토인코더는 학습이 완료되면 디코딩을 수행하는 부분을 제거하여 인코딩을 수행하는 부분만을 사용하는 것에 특징이 있다. 본 발명의 명세서에서는 인코딩을 수행하는 부분을 인코더로 나타낼 수 있으며, 디코딩을 수행하는 부분을 디코더로 나타낼 수 있다. 본 발명의 일 실시예에 따른 오토인코더는 인셉션-레지듀얼 네트워크-v2를 기반으로 할 수 있다. 인셉션-레지듀얼 네트워크-v2는 컨볼루셔널 신경망의 구조인 인셉션 네트워크(inception network) 구조에 레지듀얼 네트워크(residual network)를 접목시킨 것으로, 도 4과 함께 후술하겠다. 또한, 구체적으로 컨볼루션(convolution)을 이용하여 인코딩 및 디코딩을 수행하는 방법에 대하여는 도 6 내지 도 13과 함께 후술하겠다.
도 4는 본 발명의 일 실시예에 따른 오토인코더의 기반이 되는 인셉션-레지듀얼 네트워크-v2를 설명하는 개념도이다.
도 4를 참조하면, 인셉션-레지듀얼 네트워크-v2는 입력데이터를 인코딩하기 위해 Stem, 10개의 Inception-resnet-A, Reduction-A, 20개의 Inception-resnet-B, Reduction-B, 10개의 Inception-resnet-C, Average Pooling, Dropout 및 Softmax의 단계를 포함할 수 있으며, 연산량을 줄여 더욱 많은 레이어(layer)를 가질 수 있는 인셉션 네트워크(inception network)의 특성과 네트워크가 깊어져 훈련이 불가한 vanishing gradient problem을 해결하기 위해 하위 레이어의 출력을 줄이고 상위 레이어의 출력을 하위 레이어에 더하는 레지듀얼 네트워크(residual network)의 특성을 접목시킨 네트워크일 수 있다. 더욱 상세하게는 Christian Szegedy의 Inception-v4, inception-resnet and the impact of residual connections on learning(2016) 논문에 설명되어 있다. 상술한 논문에서 인셉션-레지듀얼 네트워크-v2는 299x299 크기를 가지는 RGB 3개의 채널로 구성된 이미지, 즉 299x299x3 크기의 입력데이터를 수신하여 1000 크기의 압축데이터를 생성하는 방법을 제안하였다. 다만, 본 발명에서 인셉션-레지듀얼 네트워크-v2는 상술한 논문에서 제안한 구조를 변형하여, 도 2에서 설명한 방식에 따라 생성된 1x
Figure 112017073195085-pat00012
x
Figure 112017073195085-pat00013
크기의 입력데이터를 수신하여 1000 크기의 압축데이터를 생성하는 인코더 부분을 포함할 수 있으며, 도 5에서 후술하는 디코더를 이용하여 다시 1x
Figure 112017073195085-pat00014
x
Figure 112017073195085-pat00015
크기의 데이터로 디코딩하는 디코더 부분을 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 오토인코더의 구성을 설명하는 개념도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 오토인코더는 인셉션-레지듀얼 네트워크-v2 기반의 인코딩 단계 및 대응되는 디코딩 단계를 포함할 수 있다. 학습부(130)는 도 4의 오토인코더를 이용하여 학습데이터를 학습할 수 있으며, 학습데이터를 출력데이터와 비교하여 오차가 감소되도록 파라미터 또는 가중치를 조정할 수 있다. 파라미터 또는 가중치는 10개의 Inception-resnet-A, 20개의 Inception-resnet-B 및 10개의 Inception-resnet-C 단계에서 조정될 수 있으며, 각각 스케일링(scaling)을 통해 조정될 수 있다. 더욱 상세한 오토인코더의 구성은 도 5 내지 도 12와 함께 후술하겠다.
본 발명의 명세서에서, F는 기본 프레임 사이즈인 128을 의미할 수 있으며, V는 유효한 컨볼루션(valid convolution) 또는 유효한 맥스 풀링(valid max pooling)을 의미할 수 있고, strde는 컨볼류션 또는 맥스 풀링을 수행하는 간격을 의미할 수 있으며, linear는 활성 함수(avtivation function) 없이 전체 컨볼루션(full convolution)을 수행하는 것을 의미할 수 있다. Conv.는 컨볼루션을 의미할 수 있고, Conv. Trans.는 컨볼루션의 역을 의미할 수 있다. MaxPool는 맥스 풀링을 의미할 수 있고, MaxUnPool은 맥스 풀링의 역을 의미할 수 있다. A x B Conv.는 A x B의 크기를 참조하여 컨볼루션을 수행하는 것을 의미할 수 있으며, A x B MaxPool은 A x B의 크기를 참조하여 맥스 풀링을 수행하는 것을 의미할 수 있다. 상술한 기호의 설명들은 본 발명의 명세서에서 계속하여 동일한 의미로 사용될 수 있다.
도 6은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 인코더의 구조를 설명하는 개념도이다.
구체적으로, 도 6은 인코딩 단계의 합산, 분배 및 스케일링을 설명하는 것으로, 도 6의 (a)를 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 인코딩 단계에서 Filter Concat은 각 모듈의 출력데이터를 합산할 수 있으며, 시그마(sigma) 기호를 사용하여 나타낼 수도 있다. 다시 말해, Filter Concat의 출력데이터 X는 각 모듈의 출력데이터
Figure 112017073195085-pat00016
,
Figure 112017073195085-pat00017
, ...,
Figure 112017073195085-pat00018
을 합산한 것으로 나타낼 수 있다. 도 5의 (b)를 참조하면, 본 발명에 따른 오토인코더의 인코딩 단계에서 분배는 출력데이터를 동일한 출력데이터로 분배하는 것을 나타낼 수 있다. 또한, 도 5의 (c)를 참조하면, 본 발명의 오토인코더에서 스케일링(scaling)은 각 모듈의 출력데이터에
Figure 112017073195085-pat00019
,
Figure 112017073195085-pat00020
, ...,
Figure 112017073195085-pat00021
을 곱한 값을 합산하는 것으로, 여기서,
Figure 112017073195085-pat00022
,
Figure 112017073195085-pat00023
, ...,
Figure 112017073195085-pat00024
은 인코딩 부분의 파라미터 또는 가중치를 의미할 수 있으며,
Figure 112017073195085-pat00025
,
Figure 112017073195085-pat00026
, ...,
Figure 112017073195085-pat00027
을 조정하여 학습을 진행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 인코더의 구조에 대응되는 디코더의 구조를 설명하는 개념도이다.
구체적으로, 도 7은 디코딩 단계의 분배, 평균 및 스케일링을 설명하는 것으로, 도 7의 (a)를 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 디코딩 단계에서 Filter Split는 상위 모듈의 출력데이터를 나누어 각 모듈로 분배할 수 있으며, 각 모듈로 분배된 출력데이터의 합이 상위 단계의 출력데이터와 동일할 수 있다. Filter Split는 인코딩 단계에서와 같이 시그마 기호를 사용하여 나타낼 수도 있다. 다시 말해, Filter Split의 상위 단계의 출력데이터 X는 각 모듈로 분배된 출력데이터
Figure 112017073195085-pat00028
,
Figure 112017073195085-pat00029
, ...,
Figure 112017073195085-pat00030
을 합산한 것으로 나타낼 수 있다. 도 6의 (b)를 참조하면, 본 발명에 따른 오토인코더의 디코딩 단계에서 Mean은 각 상위 모듈의 출력데이터에 대한 평균을 산출할 수 있다. 또한, 도 6의 (c)를 참조하면, 본 발명의 오토인코더에서 스케일링(scaling)은 상위 모듈의 출력데이터를 분배하고 각 분배된 출력데이터에
Figure 112017073195085-pat00031
,
Figure 112017073195085-pat00032
, ...,
Figure 112017073195085-pat00033
을 각각 곱하는 것으로, 여기서,
Figure 112017073195085-pat00034
,
Figure 112017073195085-pat00035
, ...,
Figure 112017073195085-pat00036
은 디코딩 부분의 파라미터 또는 가중치를 의미할 수 있으며,
Figure 112017073195085-pat00037
,
Figure 112017073195085-pat00038
, ...,
Figure 112017073195085-pat00039
을 조정하여 학습을 진행할 수 있다.
도 8은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 스템(stem) 단계를 설명하는 개념도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 stem 단계는 도 5의 인코더(encoder)와 디코더(decoder)에서 각각 수행될 수 있다. 다시 말해, 도 5의 인코더에서는 도 8의 인코더 stem 단계가 수행될 수 있고, 도 5의 디코더에서는 도 8의 디코더 stem 단계가 수행될 수 있다. 인코더의 stem 단계는 입력데이터를 순차적으로 1x3 Conv.(stride 2), 1x3 Conv. 및 1x3 Conv.를 수행할 수 있으며, 마지막 1x3 Conv.의 출력데이터를 분배하여 1x3 MaxPool(stride 2) 및 1x3 Conv.(strde 2)를 수행할 수 있고, 분배하여 수행한 출력데이터를 다시 합산하고, 다시 분배하여 한 쪽에서는 1x1 Conv. 및 1x3 conv.를 순차적으로 수행할 수 있고, 다른 한 쪽에서는 1x1 Conv., 1x1 Conv., 1x7 Conv. 및 1x3 Conv.를 순차적으로 수행할 수 있다. 분배하여 수행한 출력데이터를 다시 합산하고, 다시 분배하여 1x3 Conv. 및 1x3 MaxPool(stride 2)을 수행할 수 있으며, 분배하여 수행한 출력데이터를 다시 합산할 수 있다. 또한, 본 발명에 따른 오토인코더의 stem 단계는 상술한 stem 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 stem 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 stem 단계는 인코딩 단계의 stem 단계와 역으로 수행될 수 있다.
도 9는 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Inception-resnet-A 단계를 설명하는 개념도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 Inception-resnet-A 단계는 도 5의 인코더(encoder)와 디코더(decoder)에서 각각 수행될 수 있다. 다시 말해, 도 5의 인코더에서는 도 9의 인코더 Inception-resnet-A 단계가 수행될 수 있고, 도 5의 디코더에서는 도 9의 디코더 Inception-resnet-A 단계가 수행될 수 있다. 인코더의 Inception-resnet-A 단계는 입력데이터를 4개로 분배할 수 있으며, 첫 번째는 1x1 Conv., 1x3 Conv. 및 1x3 Conv.를 순차적으로 수행할 수 있고, 두 번째는 1x1 Conv. 및 1x3 Conv.를 순차적으로 수행할 수 있으며, 세 번째는 1x1 Conv.를 수행할 수 있다. 첫 번째, 두 번째 및 세 번째는 합산되어 1x1 Conv.(linear) 및 스케일링될 수 있고. 스케일링된 출력데이터와 4개로 분배된 입력데이터 중 어떠한 과정도 수행하지 않은 입력데이터를 합산할 수 있다. 또한, 본 발명에 따른 오토인코더의 Inception-resnet-A 단계는 상술한 Inception-resnet-A 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Inception-resnet-A 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Inception-resnet-A 단계는 인코더의 Inception-resnet-A 단계와 역으로 수행될 수 있다.
본 발명의 일 실시예에 따른 오토인코더는 Inception-resnet-A 단계의 스케일링 크기 a, b 및 c를 조정할 수 있으며, 조정을 통해 학습을 진행할 수 있다.
도 10은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Reduction-A 단계를 설명하는 개념도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 Reduction-A 단계는 도 5의 인코더(encoder)와 디코더(decoder)에서 각각 수행될 수 있다. 다시 말해, 도 5의 인코더에서는 도 10의 인코더 Reduction-A 단계가 수행될 수 있고, 도 5의 디코더에서는 도 10의 디코더 Reduction-A 단계가 수행될 수 있다. 인코더의 Reduction-A 단계는 입력데이터를 3개로 분배할 수 있으며, 첫 번째는 1x1 Conv., 1x3 Conv. 및 1x3 Conv.(stride 2)를 순차적으로 수행할 수 있으며, 두 번째는 1x3 Conv.(stride 2)를 수행할 수 있고, 세 번째는 1x3 MaxPool(strde 2)를 수행할 수 있다. 또한, 분배하여 수행된 출력데이터를 모두 합산하여 Reduction-A 단계의 출력데이터를 생성할 수 있다. 본 발명에 따른 오토인코더의 Reduction-A 단계는 상술한 Reduction-A 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Reduction-A 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Reduction-A 단계는 인코더의 Reduction-A 단계와 역으로 수행될 수 있다.
도 11은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Inception-resnet-B 단계를 설명하는 개념도이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 Inception-resnet-B 단계는 도 5의 인코더(encoder)와 디코더(decoder)에서 각각 수행될 수 있다. 다시 말해, 도 5의 인코더에서는 도 11의 인코더 Inception-resnet-B 단계가 수행될 수 있고, 도 5의 디코더에서는 도 11의 디코더 Inception-resnet-B 단계가 수행될 수 있다. 인코더의 Inception-resnet-B 단계는 입력데이터를 3개로 분배할 수 있으며, 첫 번째는 1x1 Conv., 1x7 Conv. 및 1x1 Conv.를 순차적으로 수행할 수 있고, 두 번째는 1x1 Conv.를 수행할 수 있다. 첫 번째 및 두 번째는 합산되어 1x1 Conv.(linear) 및 스케일링될 수 있고. 스케일링된 출력데이터와 3개로 분배된 입력데이터 중 어떠한 과정도 수행하지 않은 입력데이터를 합산할 수 있다. 또한, 본 발명에 따른 오토인코더의 Inception-resnet-B 단계는 상술한 Inception-resnet-B 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Inception-resnet-B 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Inception-resnet-B 단계는 인코더의 Inception-resnet-B 단계와 역으로 수행될 수 있다.
본 발명의 일 실시예에 따른 오토인코더는 Inception-resnet-B 단계의 스케일링 크기 a, b 및 c를 조정할 수 있으며, 조정을 통해 학습을 진행할 수 있다.
도 12는 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더에서 Reduction-B 단계를 설명하는 개념도이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 Reduction-B 단계는 도 5의 인코더(encoder)와 디코더(decoder)에서 각각 수행될 수 있다. 다시 말해, 도 5의 인코더에서는 도 12의 인코더 Reduction-B 단계가 수행될 수 있고, 도 5의 디코더에서는 도 12의 디코더 Reduction-B 단계가 수행될 수 있다. 인코더의 Reduction-B 단계는 입력데이터를 4개로 분배할 수 있으며, 첫 번째는 1x1 Conv., 1x3 Conv. 및 1x3 Conv.(stride 2)를 순차적으로 수행할 수 있으며, 두 번째는 1x3 Conv. 및 1x3 Conv.(stride 2)를 수행할 수 있고, 세 번째는 1x1 Conv. 및 1x3 Conv.(stride 2)를 수행할 수 있으며, 네 번째는 1x3 MaxPool(strde 2)를 수행할 수 있다. 또한, 분배하여 수행된 출력데이터를 모두 합산하여 Reduction-B 단계의 출력데이터를 생성할 수 있다. 본 발명에 따른 오토인코더의 Reduction-B 단계는 상술한 Reduction-B 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Reduction-B 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Reduction-B 단계는 인코더의 Reduction-B 단계와 역으로 수행될 수 있다.
도 13은 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토코더에서 Inception-resnet-C 단계를 설명하는 개념도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 오토인코더의 Inception-resnet-C 단계는 도 5의 인코더(encoder)와 디코더(decoder)에서 각각 수행될 수 있다. 다시 말해, 도 5의 인코더에서는 도 13의 인코더 Inception-resnet-C 단계가 수행될 수 있고, 도 5의 디코더에서는 도 13의 디코더 Inception-resnet-C 단계가 수행될 수 있다. 인코더의 Inception-resnet-C 단계는 입력데이터를 3개로 분배할 수 있으며, 첫 번째는 1x1 Conv., 1x3 Conv. 및 1x1 Conv.를 순차적으로 수행할 수 있고, 두 번째는 1x1 Conv.를 수행할 수 있다. 첫 번째 및 두 번째는 합산되어 1x1 Conv.(linear) 및 스케일링될 수 있고. 스케일링된 출력데이터와 3개로 분배된 입력데이터 중 어떠한 과정도 수행하지 않은 입력데이터를 합산할 수 있다. 또한, 본 발명에 따른 오토인코더의 Inception-resnet-C 단계는 상술한 Inception-resnet-C 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Inception-resnet-C 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Inception-resnet-C 단계는 인코더의 Inception-resnet-C 단계와 역으로 수행될 수 있다.
본 발명의 일 실시예에 따른 오토인코더는 Inception-resnet-C 단계의 스케일링 크기 a, b 및 c를 조정할 수 있으며, 조정을 통해 학습을 진행할 수 있다.
도 14는 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법을 설명하는 순서도이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법은 우선, 학습용 트래픽 데이터를 미리 설정된 단위로 분할하고, 분할한 복수의 학습용 트래픽 데이터를 변환하여 복수의 학습용 이미지 데이터를 생성할 수 있다(S1401). 여기서, 학습용 트래픽 데이터는 복수의 HTTP request 단위로 분할될 수 있다. 예를 들어, 5개의 HTTP request가 3개의 단위로 분할되는 경우, 1-2-3, 2-3-4 및 3-4-5로 분할될 수 있으며, 분할된 3개의 HTTP request를 연접하여 하나의 문장으로 만들 수 있고, 도 2에 상술한 방법에 따라 이를 이미지로 변환할 수 있다. 이후, 복수의 학습용 이미지 데이터를 이용하여 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더를 학습할 수 있다(S1402). 오토인코더를 학습한 후, 비정상 트래픽 탐지 장치(100)는 트래픽 데이터 획득부(10)를 통해 탐지 대상인 세션별 트래픽 데이터를 수신하여, 세션별 트래픽 데이터를 미리 설정된 단위로 분할하고, 분할한 복수의 세션별 트래픽 데이터를 변환하여 복수의 이미지 데이터를 생성할 수 있다(S1403). 여기서, 세션별 트래픽 데이터를 복수의 이미지 데이터로 생성하는 방법은 학습용 트래픽 데이터를 학습용 이미지 데이터로 생성하는 방법과 동일한 방법을 이용할 수 있다. 복수의 이미지 데이터는 학습을 마친 오토인코더에 입력될 수 있으며, 그 결과로 복수의 이미지 데이터에 대응되는 복수의 BCE 값이 산출될 수 있다(S1404). 이후, 산출된 복수의 BCE 값과 미리 설정된 문턱치 값을 비교할 수 있으며(S1405), 복수의 BCE 값 중 미리 설정한 특정 개수 이상의 BCE 값이 미리 설정된 문턱치 값보다 크거나 같은 경우, 탐지 대상인 세션별 트래픽 데이터를 비정상 트래픽 데이터로 판단할 수 있다(S1406).
다만, 복수의 BCE 값 중 미리 설정한 특정 개수 이상의 BCE 값이 미리 설정된 문턱치 값보다 작은 경우, 탐지 대상인 세션별 트래픽 데이터의 비정상 여부를 판단하기 위해 클러스터링 알고리즘을 이용할 수 있다. 이 경우, 오토인코더로부터 복수의 인코더를 생성할 수 있고(S1407), 복수의 인코더의 출력을 기초로 클러스터링 알고리즘을 이용하여 복수의 인코더 각각에 대응되는 복수의 데이터 군집을 생성할 수 있다(S1408).
이후, 복수의 인코더, 복수의 인코더 각각에 대응되는 데이터 군집 및 탐지 대상인 세션별 트래픽 데이터로부터 생성된 이미지 데이터를 기초로 비정상 트래픽 여부를 판단할 수 있으나(S1409), 구체적인 판단 방법에 대하여는 도 15와 함께 후술하겠다.
도 15는 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법 중 인코더, 인코더에 대응되는 데이터 군집 및 이미지 데이터를 이용하여 비정상 여부를 판단하는 방법을 설명하는 순서도이다.
여기서, 하나의 인코더는 하나의 데이터 군집을 생성할 수 있으나, 본 발명의 다른 실시예에서 하나의 인코더는 복수의 데이터 군집을 생성할 수 있다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 방법을 설명하기 위해 도 14에서 n개의 학습용 이미지 데이터 집합, 학습용 이미지 데이터 집합에 따른 n개의 인코더 및 인코더에 따른 n개의 데이터 군집을 생성하고, 탐지 대상인 세션별 트래픽 데이터를 기초로 m개의 이미지 데이터를 생성하였다고 가정하며(S1501), 제1 인코더, 제1 데이터 군집 및 제1 이미지 데이터를 기준 또는 초기값으로 비정상 트래픽 탐지를 시작할 수 있다(S1502). 본 발명에 따른 비정상 트래픽 탐지 방법은 이미지 데이터를 인코더에 입력하여 출력데이터를 생성할 수 있고(S1503), 출력데이터가 사용된 인코더에 대응되는 데이터 군집이 존재하는 영역에 출력데이터가 포함되는지 판단할 수 있다(S1504).
출력데이터가 데이터 군집에 포함되지 않는 경우 사용된 인코더가 마지막 인코더인지 판단할 수 있고(S1505), 마지막 인코더가 아닌 경우 다음 인코더 및 다음 인코더에 대응되는 데이터 군집을 선택할 수 있으며(S1506), 마지막 인코더인 경우 탐지 대상인 세션별 트래픽 데이터를 비정상 트래픽으로 탐지할 수 있다(S1507).
출력데이터가 데이터 군집에 포함하는 경우 사용된 이미지 데이터가 마지막 이미지 데이터인지 판단할 수 있고(S1508), 마지막 이미지 데이터가 아닌 경우 다음 이미지 데이터를 선택할 수 있으며(S1509), 마지막 이미지 데이터인 경우 탐지 대상인 세션별 트래픽 데이터를 정상 트래픽으로 탐지할 수 있다(S1510).
도 16은 본 발명의 일 실시예에 따른 오토인코더에서 디코더를 제거하고 인코더의 출력인 다차원 데이터에 대하여 t-SNE를 적용한 결과를 나타낸 도면이다.
도 16을 참조하면, 본 발명의 오토인코더에서 디코딩 단계를 제거하고 t-분포 확률적 임베딩(t-SNE)을 적용하면, 유사한 트래픽들은 좁은 영역에 군집될 수 있다. t-SNE는 데이터의 차원 축소에 사용되는 기계 학습 알고리즘 또는 클러스터링(clustering) 알고리즘일 수 있으며, 비선형 차원 축소 기법에 해당할 수 있다. t-SNE는 비슷한 데이터는 근접한 지점에, 다른 데이터는 떨어진 지점에 맵핑하는 특징을 가질 수 있다.
본 발명에 따른 비정상 트래픽 탐지 장치는 정상 트래픽에 따른 결과에서 좁은 영역에 모인 데이터를 하나의 데이터 군집으로 정의할 수 있으며, 데이터 군집은 각 인코더에 따라 상이하게 정의될 수 있다. 더욱 상세하게는, 각 인코더의 출력에 클러스터링 알고리즘을 적용한 결과에서 가장 좁은 영역에 가장 많은 데이터가 모인 하나 또는 복수의 데이터 군집을 해당 인코더에 대응되는 데이터 군집으로 정의 또는 선정할 수 있다.
도 17은 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치의 성능을 설명하기 위한 도면이다.
도 17을 참조하면, 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 장치의 성능은 ROC(Receiver Operating Characteristic) 커브(curve)를 이용하여 나타낼 수 있다. ROC 커브는 민감도 및 특이도를 이용하는 기준치를 결정하는 커브로서, ROC 커브의 밑면적을 계산한 값인 AUC(Area Under the Curve)의 면적이 클수록 성능이 좋다고 판단할 수 있다. 여기서, 본 발명의 일 실시예에 따른 오토인코더의 출력은 실수 값인 BCE(binary cross entropy)로 나타낼 수 있고, 정상 트래픽 데이터로 오토인코더를 훈련하였으므로, 정상 트래픽 데이터에 대하여 낮은 BCE가 출력될 수 있으며, 비정상 트래픽 데이터에 대하여는 높은 BCE가 출력될 수 있다. 따라서, BCE 값에 문턱값을 설정하여 출력이 문턱값보다 낮으면 정상 트래픽으로 탐지할 수 있고, 출력이 높거나 같으면 비정상 트래픽으로 탐지할 수 있다. 도 15는 상술한 문턱값에 따라 비정상 트래픽을 비정상 트래픽으로 탐지하는 확률(true positive rate) 및 정상 트래픽을 비정상 트래픽으로 탐지하는 확률, 즉 오판(false positive rate)를 산출한 것일 수 있다.
도 17의 (a)는 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더와 CREPE 기반의 오토인코더를 이용하여 비정상 트래픽을 탐지한 결과를 비교한 그래프이다. 도 17의 (a)를 참조하면, 인셉션-레지듀얼 네트워크-v2 기반의 오토인코더를 사용한 비정상 트래픽 탐지 장치가 CREPE 기반의 오토인코더를 사용한 비정상 트래픽을 탐지 장치보다 높은 성능을 가지는 것으로 판단할 수 있다. 또한, Era는 훈련의 반복 정도를 의미할 수 있으며, Era가 증가할수록 AUC가 증가하여 더욱 높은 성능을 가지는 것을 판단할 수 있다.
도 17의 (b)는 본 발명의 일 실시예에 따른 오토인코더의 구조에 따라 결과를 비교한 그래프이다. 도 17의 (b)를 참조하면, 본 발명의 일 실시예에 따른 인셉션-레지듀얼 네트워크-v2에서 1-1-1 구조보다 1-2-1의 구조가 더 높은 성능을 가지는 것으로 판단할 수 있다. 여기서, 1-1-1 구조는 오토인코더에서 각각 Inception-resnet-A 단계, Inception-resnet-B 단계 및 Inception-resnet-C 단계의 반복 개수를 의미할 수 있으며, 1-2-1는 Inception-resnet-B 단계가 두 번 반복 되었다는 것을 의미할 수 있다. 다시 말해, 인셉션-레지듀얼 네트워크-v2의 모듈이 증가할수록 네트워크가 더욱 복잡해질 수 있으며, 성능도 더욱 좋아질 것으로 판단할 수 있다.
본 발명의 실시예에 따른 비정상 트래픽 탐지 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 트래픽 데이터 획득부 100: 비정상 트래픽 탐지 장치
110: 프로세서 120: 메모리
130: 저장 장치

Claims (20)

  1. 학습용 트래픽(traffic) 데이터를 기초로 서로 다른 복수의 인코더(encoder)를 생성하는 단계;
    탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하는 단계;
    상기 복수의 이미지 데이터에 대한 BCE(Binary Cross Entropy) 및 미리 설정한 문턱치 값을 기초로 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하는 단계;
    1차적으로 판단한 결과 상기 세션별 트래픽 데이터가 비정상이 아닌 경우, 상기 학습용 트래픽 데이터 및 상기 서로 다른 복수의 인코더를 기초로 클러스터링(clustering) 알고리즘을 이용하여 각 인코더에 따른 데이터 군집을 생성하는 단계; 및
    상기 복수의 이미지 데이터를 이미지 데이터 별로 상기 서로 다른 복수의 인코더 각각에 순차적으로 입력하여 상기 각 인코더에 따른 데이터 군집에 상기 입력한 이미지 데이터의 출력 데이터가 포함되는지 판단하여 상기 세션별 트래픽 데이터의 비정상 여부를 2차적으로 판단하는 단계를 포함하고,
    상기 서로 다른 복수의 인코더는,
    하나의 이미지 데이터에 대하여 서로 다른 데이터를 출력하는, 비정상 트래픽 탐지 방법.
  2. 청구항 1에 있어서,
    상기 학습용 트래픽 데이터를 기초로 서로 다른 복수의 인코더를 생성하는 단계는,
    상기 학습용 트래픽 데이터를 미리 설정된 단위로 분할하는 단계;
    상기 분할한 학습용 트래픽 데이터를 복수의 학습용 이미지 데이터로 변환하는 단계; 및
    상기 복수의 학습용 이미지 데이터를 기초로 상기 서로 다른 복수의 인코더를 생성하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  3. 청구항 2에 있어서,
    상기 복수의 학습용 이미지 데이터를 학습하여 상기 서로 다른 복수의 인코더를 생성하는 단계는,
    컨볼루셔널 신경망(convolutional neural networks)을 이용하는 인셉션-레지듀얼 네트워크-v2(inception-residual network-v2) 기반의 오토인코더(autoencoder)를 통해 상기 복수의 학습용 이미지 데이터를 학습하여 상기 서로 다른 복수의 인코더를 생성하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  4. 청구항 1에 있어서,
    상기 탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하는 단계는,
    상기 탐지 대상인 세션별 트래픽 데이터를 미리 설정된 단위로 분할하는 단계; 및
    상기 분할한 탐지 대상인 세션별 트래픽 데이터를 복수의 이미지 데이터로 변환하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  5. 청구항 3에 있어서,
    상기 복수의 이미지 데이터에 대한 BCE 및 미리 설정한 문턱치 값을 기초로 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하는 단계는,
    상기 오토인코더에 상기 복수의 이미지 데이터를 입력하여 BCE를 산출하는 단계; 및
    상기 BCE와 상기 미리 설정된 문턱치 값을 비교하여 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  6. 청구항 5에 있어서,
    상기 BCE와 상기 미리 설정된 문턱치 값을 비교하여 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하는 단계는,
    상기 BCE가 상기 미리 설정된 문턱치 값 이상인 경우, 1차적으로 상기 세션별 트래픽 데이터를 비정상으로 판단하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  7. 청구항 5에 있어서,
    상기 BCE와 상기 미리 설정된 문턱치 값을 비교하여 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하는 단계는,
    상기 BCE가 상기 미리 설정된 문턱치 값 미만인 경우, 상기 세션별 트래픽 데이터를 비정상이 아니라고 1차적으로 판단하는 단계를 더 포함하는, 비정상 트래픽 탐지 방법.
  8. 삭제
  9. 청구항 2에 있어서,
    상기 클러스터링 알고리즘을 이용하여 각 인코더에 따른 데이터 군집을 생성하는 단계는,
    상기 분할한 학습용 트래픽 데이터를 상기 서로 다른 복수의 인코더에 입력하여 상기 서로 다른 복수의 인코더의 출력 데이터를 각각 저장하는 단계; 및
    상기 각각 저장한 서로 다른 복수의 인코더의 출력 데이터에 대하여 상기 클러스터링 알고리즘을 적용하여 상기 각 인코더에 따른 데이터 군집을 생성하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  10. 청구항 1에 있어서,
    상기 세션별 트래픽 데이터의 비정상 여부를 2차적으로 판단하는 단계는,
    상기 복수의 이미지 데이터 중 적어도 하나의 이미지 데이터에 대하여 상기 서로 다른 복수의 인코더 중 데이터 군집에 출력데이터가 포함되는 인코더가 없는 경우 2차적으로 상기 세션별 트래픽 데이터를 비정상 트래픽으로 판단하는 단계를 포함하는, 비정상 트래픽 탐지 방법.
  11. 프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은,
    학습용 트래픽(traffic) 데이터를 기초로 서로 다른 복수의 인코더(encoder)를 생성하도록 실행되고,
    탐지 대상인 세션별 트래픽 데이터를 기초로 복수의 이미지 데이터를 생성하도록 실행되고,
    상기 복수의 이미지 데이터에 대한 BCE(Binary Cross Entropy) 및 미리 설정한 문턱치 값을 기초로 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하도록 실행되고,
    1차적으로 판단한 결과 상기 세션별 트래픽 데이터가 비정상이 아닌 경우, 상기 학습용 트래픽 데이터 및 상기 서로 다른 복수의 인코더를 기초로 클러스터링(clustering) 알고리즘을 이용하여 각 인코더에 따른 데이터 군집을 생성하도록 실행되고,
    상기 복수의 이미지 데이터를 이미지 데이터 별로 상기 서로 다른 복수의 인코더 각각에 순차적으로 입력하여 상기 각 인코더에 따른 데이터 군집에 상기 입력한 이미지 데이터의 출력 데이터가 포함되는지 판단하여 상기 세션별 트래픽 데이터의 비정상 여부를 2차적으로 판단하도록 실행되고,
    상기 서로 다른 복수의 인코더는,
    하나의 이미지 데이터에 대하여 서로 다른 데이터를 출력하는, 비정상 트래픽 탐지 장치.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 학습용 트래픽 데이터를 미리 설정된 단위로 분할하도록 실행되고,
    상기 분할한 학습용 트래픽 데이터를 복수의 학습용 이미지 데이터로 변환하도록 실행되고,
    상기 복수의 학습용 이미지 데이터를 기초로 상기 서로 다른 복수의 인코더를 생성하도록 실행되는, 비정상 트래픽 탐지 장치.
  13. 청구항 12에 있어서,
    상기 적어도 하나의 명령은,
    컨볼루셔널 신경망(convolutional neural networks)을 이용하는 인셉션-레지듀얼 네트워크-v2(inception-residual network-v2) 기반의 오토인코더(autoencoder)를 통해 상기 복수의 학습용 이미지 데이터를 학습하여 상기 서로 다른 복수의 인코더를 생성하도록 실행되는, 비정상 트래픽 탐지 장치.
  14. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 탐지 대상인 세션별 트래픽 데이터를 미리 설정된 단위로 분할하도록 실행되고,
    상기 분할한 탐지 대상인 세션별 트래픽 데이터를 복수의 이미지 데이터로 변환하도록 실행되는, 비정상 트래픽 탐지 장치.
  15. 청구항 13에 있어서,
    상기 적어도 하나의 명령은,
    상기 오토인코더에 상기 복수의 이미지 데이터를 입력하여 BCE를 산출하도록 실행되고,
    상기 BCE와 상기 미리 설정된 문턱치 값을 비교하여 상기 세션별 트래픽 데이터의 비정상 여부를 1차적으로 판단하도록 실행되는, 비정상 트래픽 탐지 장치.
  16. 청구항 15에 있어서,
    상기 적어도 하나의 명령은,
    상기 BCE가 상기 미리 설정된 문턱치 값 이상인 경우, 1차적으로 상기 세션별 트래픽 데이터를 비정상으로 판단하도록 실행되는, 비정상 트래픽 탐지 장치.
  17. 청구항 15에 있어서,
    상기 적어도 하나의 명령은,
    상기 BCE가 상기 미리 설정된 문턱치 값 미만인 경우, 상기 세션별 트래픽 데이터를 비정상이 아니라고 1차적으로 판단하도록 실행되는, 비정상 트래픽 탐지 장치.
  18. 삭제
  19. 청구항 12에 있어서,
    상기 적어도 하나의 명령은,
    상기 분할한 학습용 트래픽 데이터를 상기 서로 다른 복수의 인코더에 입력하여 상기 서로 다른 복수의 인코더의 출력 데이터를 각각 저장하도록 실행되고,
    상기 각각 저장한 서로 다른 복수의 인코더의 출력 데이터에 대하여 상기 클러스터링 알고리즘을 적용하여 상기 각 인코더에 따른 데이터 군집을 생성하도록 실행되는, 비정상 트래픽 탐지 장치.
  20. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 복수의 이미지 데이터 중 적어도 하나의 이미지 데이터에 대하여 상기 서로 다른 복수의 인코더 중 데이터 군집에 출력데이터가 포함되는 인코더가 없는 경우 2차적으로 상기 세션별 트래픽 데이터를 비정상 트래픽으로 판단하도록 실행되는, 비정상 트래픽 탐지 장치.
KR1020170096317A 2017-07-28 2017-07-28 비정상 트래픽을 탐지하는 방법 및 장치 KR101888683B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170096317A KR101888683B1 (ko) 2017-07-28 2017-07-28 비정상 트래픽을 탐지하는 방법 및 장치
US15/832,050 US10432653B2 (en) 2017-07-28 2017-12-05 Method and apparatus for detecting anomaly traffic
JP2017235153A JP6757978B2 (ja) 2017-07-28 2017-12-07 異常トラフィックを探知する方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170096317A KR101888683B1 (ko) 2017-07-28 2017-07-28 비정상 트래픽을 탐지하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101888683B1 true KR101888683B1 (ko) 2018-08-14

Family

ID=63230316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170096317A KR101888683B1 (ko) 2017-07-28 2017-07-28 비정상 트래픽을 탐지하는 방법 및 장치

Country Status (3)

Country Link
US (1) US10432653B2 (ko)
JP (1) JP6757978B2 (ko)
KR (1) KR101888683B1 (ko)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726717A (zh) * 2019-01-02 2019-05-07 西南石油大学 一种车辆综合信息检测系统
CN109829299A (zh) * 2018-11-29 2019-05-31 电子科技大学 一种基于深度自编码器的未知攻击识别方法
KR101988028B1 (ko) * 2018-09-04 2019-06-11 넷마블 주식회사 서버 및 이의 동작 방법
CN110796366A (zh) * 2019-10-28 2020-02-14 中国联合网络通信集团有限公司 质差小区识别方法和装置
KR102088509B1 (ko) * 2019-03-27 2020-03-12 국방과학연구소 컴퓨터 시스템의 이상 행위 탐지 방법 및 장치
WO2020061153A1 (en) * 2018-09-21 2020-03-26 Mcafee, Llc Methods, systems, and media for detecting anomalous network activity
KR20200077307A (ko) * 2018-12-20 2020-06-30 펜타시큐리티시스템 주식회사 Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
KR20200083751A (ko) * 2018-12-28 2020-07-09 강원대학교산학협력단 다차원 임베딩을 이용한 시퀀스 데이터 태깅 방법 및 장치
KR20200087299A (ko) * 2018-12-28 2020-07-21 성균관대학교산학협력단 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
KR20200095219A (ko) * 2019-01-31 2020-08-10 (주)에이알씨엔에스 딥 러닝을 이용한 네트워크 공격 탐지 시스템
KR20210039231A (ko) * 2019-10-01 2021-04-09 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
KR102329889B1 (ko) * 2020-09-23 2021-11-23 펜타시큐리티시스템 주식회사 로드 사이드 유닛의 이상 감지 방법 및 장치
KR20210153784A (ko) 2020-06-10 2021-12-20 한국전자통신연구원 머신 러닝을 이용한 이상 상황 탐지 시스템의 탐지 이상 처리 방법 및 이를 위한 장치
KR20210153785A (ko) 2020-06-10 2021-12-20 한국전자통신연구원 복수개의 머신 러닝 학습 모델을 이용한 이상 상황 탐지 방법 및 이를 위한 장치
CN113971424A (zh) * 2020-07-22 2022-01-25 中国科学院沈阳计算技术研究所有限公司 一种基于自编码器降维结合聚类的水质点位优化的方法
KR20220013811A (ko) * 2020-07-27 2022-02-04 가톨릭대학교 산학협력단 Rnn 인코더-디코더를 이용하여 시계열에서의 이상상황을 탐지하는 방법 및 장치
WO2022035102A1 (ko) * 2020-08-10 2022-02-17 삼성전자 주식회사 네트워크 모니터링 장치 및 방법
KR20220029532A (ko) * 2020-09-01 2022-03-08 엔사인 인포시큐리티 피티이. 엘티디. 의심스러운 네트워크 거동들을 검출하기 위한 심층 임베드된 자기 교시 학습 시스템 및 방법
KR20220134954A (ko) * 2021-03-29 2022-10-06 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
RU2811840C1 (ru) * 2023-03-23 2024-01-18 Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ обнаружения аномального трафика в сети

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690938B1 (en) 2015-08-05 2017-06-27 Invincea, Inc. Methods and apparatus for machine learning based malware detection
EP3475822B1 (en) 2016-06-22 2020-07-22 Invincea, Inc. Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
WO2019117184A1 (ja) * 2017-12-15 2019-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
JP6821614B2 (ja) * 2018-02-16 2021-01-27 日本電信電話株式会社 モデル学習装置、モデル学習方法、プログラム
US10984122B2 (en) 2018-04-13 2021-04-20 Sophos Limited Enterprise document classification
CN109978013B (zh) * 2019-03-06 2021-01-19 华南理工大学 一种用于人物动作识别的深度聚类方法
US10992696B2 (en) 2019-09-04 2021-04-27 Morgan Stanley Services Group Inc. Enterprise-level security method and system
CN110570217B (zh) * 2019-09-10 2022-10-14 北京百度网讯科技有限公司 作弊检测的方法及装置
TWI779245B (zh) * 2019-10-31 2022-10-01 安碁資訊股份有限公司 異常流量偵測方法與異常流量偵測裝置
CN111064721A (zh) * 2019-12-11 2020-04-24 中国科学院深圳先进技术研究院 网络流量异常检测模型的训练方法及检测方法
EP3840319A1 (en) * 2019-12-16 2021-06-23 Robert Bosch GmbH Anomaly detector, anomaly detection network, method for detecting an abnormal activity, model determination unit, system, and method for determining an anomaly detection model
US11727248B2 (en) 2020-04-07 2023-08-15 NEC Laboratories Europe GmbH Interpretable node embedding
EP3919996A1 (en) 2020-06-02 2021-12-08 Siemens Aktiengesellschaft Method and apparatus for monitoring of industrial devices
CN113762299A (zh) * 2020-06-28 2021-12-07 北京沃东天骏信息技术有限公司 一种异常流量检测方法和装置
CN113709089A (zh) * 2020-09-03 2021-11-26 南宁玄鸟网络科技有限公司 一种物联网过滤非法数据系统及方法
US20220083898A1 (en) * 2020-09-11 2022-03-17 Optum Technology, Inc. Anomalous text detection and entity identification using exploration-exploitation and pre-trained language models
CN112150447B (zh) * 2020-09-27 2021-10-15 北京嘀嘀无限科技发展有限公司 基于位置服务的异常数据确定方法、装置和电子设备
CN114638777A (zh) * 2020-12-16 2022-06-17 富泰华工业(深圳)有限公司 图像瑕疵检测方法、装置、电子设备及介质
CN114710322B (zh) * 2022-03-15 2023-06-20 清华大学 基于流量交互图的隐蔽恶意流量检测方法和装置
CN117278262B (zh) * 2023-09-13 2024-03-22 武汉卓讯互动信息科技有限公司 基于深度神经网络的ddos安全防御系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090079330A (ko) * 2008-01-17 2009-07-22 한남대학교 산학협력단 에스브이엠 침입 탐지 시스템 및 그 동작 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8435181B2 (en) * 2002-06-07 2013-05-07 Verathon Inc. System and method to identify and measure organ wall boundaries
EP1875529A1 (en) * 2005-04-25 2008-01-09 Showa Denko Kabushiki Kaisha Method of producing a display device
US7711747B2 (en) * 2007-04-06 2010-05-04 Xerox Corporation Interactive cleaning for automatic document clustering and categorization
KR100974888B1 (ko) 2007-11-26 2010-08-11 한국전자통신연구원 비정상 트래픽 탐지 장치 및 방법
KR20110035336A (ko) 2009-09-30 2011-04-06 주식회사 케이티 비정상 트래픽 탐지 방법 및 이를 이용한 네트워크 관리 시스템
US20130018650A1 (en) * 2011-07-11 2013-01-17 Microsoft Corporation Selection of Language Model Training Data
KR101381558B1 (ko) 2012-08-30 2014-04-14 포항공과대학교 산학협력단 비정상 트래픽 탐지 방법 및 장치
KR20150035279A (ko) * 2013-09-27 2015-04-06 삼성전기주식회사 다이플렉서 및 그 제조 방법
KR20150091775A (ko) 2014-02-04 2015-08-12 한국전자통신연구원 비정상 행위 탐지를 위한 네트워크 트래픽 분석 방법 및 시스템
US10200382B2 (en) * 2015-11-05 2019-02-05 Radware, Ltd. System and method for detecting abnormal traffic behavior using infinite decaying clusters
KR20170060280A (ko) * 2015-11-24 2017-06-01 한국전자통신연구원 탐지 규칙 자동 생성 장치 및 방법
EP3342099B1 (en) * 2015-12-08 2020-02-05 Siemens Aktiengesellschaft Automatic identification of a network node causing a network outage
KR101644998B1 (ko) 2015-12-22 2016-08-02 엑스브레인 주식회사 Convolutional Neural Network를 이용하여 비정상 입력 데이터를 검출하는 방법 및 장치
US10382478B2 (en) * 2016-12-20 2019-08-13 Cisco Technology, Inc. Detecting malicious domains and client addresses in DNS traffic
US11144616B2 (en) * 2017-02-22 2021-10-12 Cisco Technology, Inc. Training distributed machine learning with selective data transfers
US20180307912A1 (en) * 2017-04-20 2018-10-25 David Lee Selinger United states utility patent application system and method for monitoring virtual perimeter breaches
KR102174659B1 (ko) * 2017-06-19 2020-11-05 버지니아 테크 인터렉추얼 프라퍼티스, 인크. 다중 안테나 송수신기를 이용한 무선 송신을 위한 정보의 인코딩 및 디코딩
US10726128B2 (en) * 2017-07-24 2020-07-28 Crowdstrike, Inc. Malware detection using local computational models

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090079330A (ko) * 2008-01-17 2009-07-22 한남대학교 산학협력단 에스브이엠 침입 탐지 시스템 및 그 동작 방법

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988028B1 (ko) * 2018-09-04 2019-06-11 넷마블 주식회사 서버 및 이의 동작 방법
US11005868B2 (en) 2018-09-21 2021-05-11 Mcafee, Llc Methods, systems, and media for detecting anomalous network activity
WO2020061153A1 (en) * 2018-09-21 2020-03-26 Mcafee, Llc Methods, systems, and media for detecting anomalous network activity
CN109829299A (zh) * 2018-11-29 2019-05-31 电子科技大学 一种基于深度自编码器的未知攻击识别方法
US10783395B2 (en) 2018-12-20 2020-09-22 Penta Security Systems Inc. Method and apparatus for detecting abnormal traffic based on convolutional autoencoder
KR102169255B1 (ko) * 2018-12-20 2020-10-23 펜타시큐리티시스템 주식회사 Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
KR20200077307A (ko) * 2018-12-20 2020-06-30 펜타시큐리티시스템 주식회사 Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
JP2020102178A (ja) * 2018-12-20 2020-07-02 ペンタ・セキュリティ・システムズ・インコーポレーテッド Cae基盤で異常なトラフィックを探知する方法および装置
KR20200083751A (ko) * 2018-12-28 2020-07-09 강원대학교산학협력단 다차원 임베딩을 이용한 시퀀스 데이터 태깅 방법 및 장치
KR20200087299A (ko) * 2018-12-28 2020-07-21 성균관대학교산학협력단 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
KR102279983B1 (ko) * 2018-12-28 2021-07-21 성균관대학교산학협력단 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
KR102171810B1 (ko) * 2018-12-28 2020-10-30 강원대학교산학협력단 다차원 임베딩을 이용한 시퀀스 데이터 태깅 방법 및 장치
CN109726717A (zh) * 2019-01-02 2019-05-07 西南石油大学 一种车辆综合信息检测系统
CN109726717B (zh) * 2019-01-02 2022-03-01 西南石油大学 一种车辆综合信息检测系统
KR20200095219A (ko) * 2019-01-31 2020-08-10 (주)에이알씨엔에스 딥 러닝을 이용한 네트워크 공격 탐지 시스템
KR102148283B1 (ko) * 2019-01-31 2020-08-26 (주)에이알씨엔에스 딥 러닝을 이용한 네트워크 공격 탐지 시스템
KR102088509B1 (ko) * 2019-03-27 2020-03-12 국방과학연구소 컴퓨터 시스템의 이상 행위 탐지 방법 및 장치
KR102281819B1 (ko) * 2019-10-01 2021-07-26 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
KR20210039231A (ko) * 2019-10-01 2021-04-09 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
CN110796366A (zh) * 2019-10-28 2020-02-14 中国联合网络通信集团有限公司 质差小区识别方法和装置
KR20210153784A (ko) 2020-06-10 2021-12-20 한국전자통신연구원 머신 러닝을 이용한 이상 상황 탐지 시스템의 탐지 이상 처리 방법 및 이를 위한 장치
KR20210153785A (ko) 2020-06-10 2021-12-20 한국전자통신연구원 복수개의 머신 러닝 학습 모델을 이용한 이상 상황 탐지 방법 및 이를 위한 장치
CN113971424A (zh) * 2020-07-22 2022-01-25 中国科学院沈阳计算技术研究所有限公司 一种基于自编码器降维结合聚类的水质点位优化的方法
KR102502648B1 (ko) 2020-07-27 2023-02-22 가톨릭대학교 산학협력단 Rnn 인코더-디코더를 이용하여 시계열에서의 이상상황을 탐지하는 방법 및 장치
KR20220013811A (ko) * 2020-07-27 2022-02-04 가톨릭대학교 산학협력단 Rnn 인코더-디코더를 이용하여 시계열에서의 이상상황을 탐지하는 방법 및 장치
WO2022035102A1 (ko) * 2020-08-10 2022-02-17 삼성전자 주식회사 네트워크 모니터링 장치 및 방법
US11838192B2 (en) 2020-08-10 2023-12-05 Samsung Electronics Co., Ltd. Apparatus and method for monitoring network
KR20220029532A (ko) * 2020-09-01 2022-03-08 엔사인 인포시큐리티 피티이. 엘티디. 의심스러운 네트워크 거동들을 검출하기 위한 심층 임베드된 자기 교시 학습 시스템 및 방법
CN114205106A (zh) * 2020-09-01 2022-03-18 安信资讯安全私人有限公司 用于检测可疑网络行为的深度嵌入式自学系统和方法
KR102590451B1 (ko) * 2020-09-01 2023-10-19 엔사인 인포시큐리티 피티이. 엘티디. 의심스러운 네트워크 거동들을 검출하기 위한 심층 임베드된 자기 교시 학습 시스템 및 방법
CN114205106B (zh) * 2020-09-01 2024-04-23 安信资讯安全私人有限公司 用于检测可疑网络行为的深度嵌入式自学系统和方法
KR102329889B1 (ko) * 2020-09-23 2021-11-23 펜타시큐리티시스템 주식회사 로드 사이드 유닛의 이상 감지 방법 및 장치
KR20220134954A (ko) * 2021-03-29 2022-10-06 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
WO2022211301A1 (ko) * 2021-03-29 2022-10-06 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
KR102572192B1 (ko) 2021-03-29 2023-08-29 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
RU2811840C1 (ru) * 2023-03-23 2024-01-18 Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ обнаружения аномального трафика в сети

Also Published As

Publication number Publication date
US20190036952A1 (en) 2019-01-31
JP6757978B2 (ja) 2020-09-23
US10432653B2 (en) 2019-10-01
JP2019028971A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
KR101888683B1 (ko) 비정상 트래픽을 탐지하는 방법 및 장치
KR102169255B1 (ko) Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
JP6608981B2 (ja) 異常セッション感知方法
CN110032926B (zh) 一种基于深度学习的视频分类方法以及设备
CN108682007B (zh) 基于深度随机森林的jpeg图像重采样自动检测方法
CN110853033A (zh) 基于帧间相似度的视频检测方法和装置
KR20210045828A (ko) 영상 처리 장치 및 방법
CN111179270A (zh) 基于注意力机制的图像共分割方法和装置
CN111402156B (zh) 一种涂抹图像的复原方法、装置及存储介质和终端设备
CN112817563B (zh) 目标属性配置信息确定方法、计算机设备和存储介质
CN115131214A (zh) 基于自注意力的室内老人图像超分辨率重构方法及系统
CN111553296B (zh) 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN114419406A (zh) 图像变化检测方法、训练方法、装置和计算机设备
CN108156130A (zh) 网络攻击检测方法和装置
Chen et al. Efficient video hashing based on low‐rank frames
CN111079930A (zh) 数据集质量参数的确定方法、装置及电子设备
CN112333155B (zh) 一种异常流量的检测方法、系统、电子设备及存储介质
CN111882563B (zh) 一种基于方向性全卷积网络的语义分割方法
CN117058498B (zh) 分割图评估模型的训练方法、分割图的评估方法及装置
CN117557775B (zh) 基于红外和可见光融合的变电站电力设备检测方法及系统
WO2024032075A1 (zh) 图像处理网络的训练、编解码方法及电子设备
CN115131200A (zh) 一种图像处理方法、系统及存储介质和终端设备
CN117272075A (zh) 数据聚类方法、装置、电子设备及存储介质
CN112766312A (zh) 用户信息获取方法、电子设备和介质
CN117351290A (zh) 一种iv故障曲线的分类方法及装置

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant