KR102169255B1 - Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 - Google Patents
Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102169255B1 KR102169255B1 KR1020180166682A KR20180166682A KR102169255B1 KR 102169255 B1 KR102169255 B1 KR 102169255B1 KR 1020180166682 A KR1020180166682 A KR 1020180166682A KR 20180166682 A KR20180166682 A KR 20180166682A KR 102169255 B1 KR102169255 B1 KR 102169255B1
- Authority
- KR
- South Korea
- Prior art keywords
- cae
- traffic
- image
- converting
- converted
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1916—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/196—Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
- G06V30/1983—Syntactic or structural pattern recognition, e.g. symbolic string recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
CAE 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치가 개시된다. CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법은, 정상 트래픽에 따른 문자열을 이미지로 변환하는 단계, 변환된 이미지를 CAE를 이용하여 학습하는 단계 및 학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함할 수 있다.
Description
본 발명은 CAE 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치에 관한 것으로, 더욱 상세하게는, 정상적인 트래픽을 컨볼루셔널 오토인코더(CAE)로 학습하고, 학습된 컨볼루셔널 오토인코더에 테스트 대상 트래픽을 입력하여 비정상적인 트래픽을 탐지하는 기술에 관한 것이다.
최근 이동 통신을 비롯한 초고속 통신이 널리 보급됨에 따라 서버와 인터넷 간의 HTTP(HyperText Transfer Protocol) 기반의 통신 트래픽이 급속도로 증가하고 있다. 여기서, HTTP는 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신 규약(protocol)이며, 하이퍼텍스트는 문서 중간중간에 특정 키워드를 두고 문자나 그림을 상호 유기적으로 결합하여 연결시킴으로써, 서로 다른 문서라 할지라도 하나의 문서인 것처럼 보이면서 참조하기 쉽도록 하는 방식을 의미한다.
이러한 HTTP 기반의 통신 트래픽 중에서는 일반적인 사용자가 사용하는 트래픽 뿐만 아니라 악의적 목적을 가진 공격자에 의해 과도하게 유발되는 비정상 트래픽이 포함되어 있다. 이러한 비정상 트래픽은 서버 접속 지연이나 서버 접속 불가와 같이 일반 사용자에게 큰 불편을 초래하고 있어 비정상 트래픽을 탐지하기 위한 노력이 계속되고 있다.
기존의 비정상 트래픽을 탐지하는 수단은 패킷의 수나 크기와 같이 양적인 변화를 모니터링하고 급격한 변화가 있을 때 비정상 트래픽으로 탐지하는 것이 일반적이지만, 비정상 트래픽은 반드시 패킷의 양이나 크기로 분별될 수 있는 것이 아니어서 정상 트래픽을 비정상 트래픽으로 잘못 탐지하는 문제가 발생할 수 있다.
한편 최근에는 CNN(Convolutional Neural Network)을 이용한 이미지 인식 기술에 대한 연구가 많이 이루어지고 있고, 이로인하여 이미지 인식 성능 향상을 위한 다양한 네트워크 구조가 제안되고 있다. 그러나 기존의 CNN 기반 이미지 인식 기술들은 이미지를 입력 데이터로 입력받아 학습하기 때문에 트래픽의 이상 유무를 검출하는 데 부적합한 문제가 있다.
따라서, 종래의 트래픽 분석 방식에서 벗어나 인공 신경망 기반으로 트래픽을 분석하여 이상 트래픽을 탐지할 수 있는 방안이 필요한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법을 제공한다.
CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법은, 정상 트래픽에 따른 문자열을 이미지로 변환하는 단계, 변환된 이미지를 CAE를 이용하여 학습하는 단계 및 학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함할 수 있다.
상기 이상 트래픽을 탐지하는 단계는, 상기 타겟 트래픽을 이미지로 변환하는 단계 및 이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 또는 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계는, 상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계 및 획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계는, 상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계, 역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계 및 벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함할 수 있다.
상기 CAE는, Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)일 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 비용함수(Cost function)는, 수학식
상기 목적을 달성하기 위한 본 발명의 다른 측면은 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치를 제공한다.
CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치는, 적어도 하나의 프로세서(processor) 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(isntructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 단계는, 정상 트래픽에 따른 문자열을 이미지로 변환하는 단계, 변환된 이미지를 CAE를 이용하여 학습하는 단계 및 학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함할 수 있다.
상기 이상 트래픽을 탐지하는 단계는, 상기 타겟 트래픽을 이미지로 변환하는 단계 및 이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 또는 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계는, 상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계 및 획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계는, 상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계, 역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계 및 벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함할 수 있다.
상기 CAE는, Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)일 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 비용함수(Cost function)는, 수학식
상기와 같은 본 발명에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치를 이용할 경우에는 이상 트래픽의 분산과 엔트로피 특성을 반영하여 정확하게 이상 트래픽을 탐지할 수 있다.
또한, 문자열 기반의 트래픽을 이미지 기반의 오토인코더를 적용하여 분석함으로써 이상 트래픽을 감지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 CAE 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치의 개념을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 문자열을 이미지로 변환하는 방법을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 문자열을 이미지로 변환하는 방법에 대한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 CAE의 기반이 되는 인셉션-레지듀얼 네트워크-v2를 설명하는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 CAE의 구성을 설명하는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조를 설명하는 개념도이다.
도 7은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조에 대응되는 디코더의 구조를 설명하는 개념도이다.
도 8은 본 발명의 일 실시예에 따른 CAE에서 스템(stem) 단계를 설명하는 개념도이다.
도 9는 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-A 단계를 설명하는 개념도이다.
도 10은 본 발명의 일 실시예에 따른 CAE에서 Reduction-A 단계를 설명하는 개념도이다.
도 11은 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-B 단계를 설명하는 개념도이다.
도 12는 본 발명의 일 실시예에 따른 CAE에서 Reduction-B 단계를 설명하는 개념도이다.
도 13은 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-C 단계를 설명하는 개념도이다.
도 14는 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법에 대한 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치에 따른 구성도이다.
도 16 내지 도 18은 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치에 대한 실험 결과를 나타낸 그래프이다.
도 2는 본 발명의 일 실시예에 따른 문자열을 이미지로 변환하는 방법을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 문자열을 이미지로 변환하는 방법에 대한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 CAE의 기반이 되는 인셉션-레지듀얼 네트워크-v2를 설명하는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 CAE의 구성을 설명하는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조를 설명하는 개념도이다.
도 7은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조에 대응되는 디코더의 구조를 설명하는 개념도이다.
도 8은 본 발명의 일 실시예에 따른 CAE에서 스템(stem) 단계를 설명하는 개념도이다.
도 9는 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-A 단계를 설명하는 개념도이다.
도 10은 본 발명의 일 실시예에 따른 CAE에서 Reduction-A 단계를 설명하는 개념도이다.
도 11은 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-B 단계를 설명하는 개념도이다.
도 12는 본 발명의 일 실시예에 따른 CAE에서 Reduction-B 단계를 설명하는 개념도이다.
도 13은 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-C 단계를 설명하는 개념도이다.
도 14는 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법에 대한 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치에 따른 구성도이다.
도 16 내지 도 18은 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치에 대한 실험 결과를 나타낸 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
일반적으로 트래픽란, 웹 사이트에 방문하는 사람들이 주고받는 데이터의 양을 의미하는 웹 트래픽(web traffic)을 의미할 수 있으며, 인터넷을 경유하는 데이터의 흐름을 의미하는 인터넷 트래픽(internet traffic)을 의미할 수 있다. 또한, 트래픽은 HTTP(HyperText Transfer Protocol)을 이용하는 인터넷 트래픽을 의미할 수 있다. 여기서, HTTP는 무상태(stateless) 프로토콜(protocol)일 수 있고, 무상태 프로토콜은 HTTP 서버가 다중 요청 기간 동안 각 사용자에 대한 정보 또는 상태를 보유할 것을 요구하지 않을 수 있다.
또한, HTTP 세션이란, 일련의 네트워크 요청 및 응답의 트랜잭션(transaction)을 의미할 수 있다. 예를 들어, HTTP 클라이언트는 서버의 특정 포트에 TCP(Transmission Control Protocol) 연결을 설정하여 요청을 시작할 수 있고, 해당 포트에서 수신 대기하는 HTTP 서버는 클라이언트의 요청 메시지를 기다릴 수 있으며, 요청을 받으면 서버는 "HTTP / 1.1 200 OK"와 같은 상태 표시 줄과 자체 메시지를 보낼 수 있다. 이 메시지의 본문은 일반적으로 요청된 자원일 수 있지만 오류 메시지 또는 기타 정보가 반환 될 수 있으며, 여기서, HTTP 클라이언트의 요청 및 서버의 응답이 HTTP 세션을 의미할 수 있다.
본 발명에서 HTTP 트래픽은 HTTP 세션에서 HTTP 클라이언트와 HTTP 서버가 주고 받은 메시지로서 문자열의 형태를 가질 수 있다. 이하에서는 HTTP 트래픽을 전제로 설명하지만 HTTP 트래픽 이외에도 문자열로 표현되는 통신 메시지는 모두 적용될 수 있는 것으로 해석되어야 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 CAE 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치의 개념을 설명하기 위한 예시도이다.
유무선 통신 과정에서 주고받을 수 있는 메시지는 문자열로 표현될 수 있다. 이때, 본 발명의 일 실시예에서는 통신 과정에서 주고 받는 메시지에 따른 문자열을 이미지로 변환하고 이미지 학습 기반의 CAE(Convolutional Autoencoder)를 이용하여 학습함으로써 비정상 트래픽을 탐지하는 방법을 제안한다.
도 1을 참조하면, 본 발명의 일 실시예에서는 통신 메시지에 따른 문자열을 이미지로 변환하여 입력 이미지(Input Image)로서 사용하며, 입력 이미지가 CAE가 입력되면 CAE는 입력 이미지를 학습하여 출력 이미지와 입력 이미지 사이의 차이가 작아질 수 있도록 컨볼루션 레이어의 계수들을 선정할 수 있다.
한편, CAE는 인코더(Encoder)와 디코더(Decoder)를 포함하는 컨볼루셔널 신경망(Convolutional Neural Network)인 컨볼루셔널 오토 인코더(Convolutional Autoencoder)로 지칭될 수 있다. 여기서, 인코더는 CAE를 구성하는 다수의 계층 중에서 입력 데이터가 압축되어 히든 레이어(hidden layers)를 형성하는 과정(인코딩 과정)을 수행하는 계층들로 구성될 수 있으며, 디코더는 인코더의 반대 과정으로서, 히든 레이어에서 출력 데이터를 생성하는 과정을 수행하는 계층들로 구성될 수 있다.
구체적으로 인코더는, 콘볼루셔널 레이어(convolutional layer)과 풀링 레이어(pooing layer)를 포함할 수 있고, 디코더는 업풀링(uppooling layer) 및 트랜스포즈드 콘볼루셔널 레이어(transposed convolutional layer)를 포함할 수 있다. 이때 , 인코더와 디코더는 서로 풀리 컨넥티드 레이어(fully connected layer)로 연결될 수 있다.
컨볼루셔널 레이어는 입력 영상을 필터와 합성곱(또는 컨볼루션)하여 특징(또는 특징 맵으로 지칭)을 추출하는 계층일 수 있다. 합성곱을 수행하는 간격 값을 스트라이드(stride)라고 지칭할 수 있는데, 스트라이드 값에 따라 다른 크기의 특징 맵이 추출될 수 있다.
풀링 레이어는 추출된 특징맵에 대하여 서브 샘플링(subsampling) 또는 풀링(pooling)을 수행하여 특징맵을 대표하는 특징을 선정하는 계층으로서, 특징맵의 일정 영역에 대하여 가장 큰 값을 추출하는 맥스 풀링(max pooling), 평균값을 추출하는 애버리지 풀링(average pooling) 등이 수행될 수 있다.
풀리 컨넥티드 레이어(fully connected layer)는 완전 접속 계층으로서, 이전 레이어의 모든 액티베이션들과 연결되어 있는 계층일 수 있다.
트랜스포즈드 콘볼루셔널 레이어(transposed convolutional layer)는 인코더에서 수행된 콘볼루셔널 레이어의 반대 과정을 수행하는 계층일 수 있고, 업풀링 레이어는 풀링 레이어의 반대 과정을 수행하는 계층일 수 있다.
이와 같은 정상적인 트래픽에 대한 문자열을 변환한 이미지를 학습한 CAE에 학습에 사용되지 않은 유형의 이미지를 입력하면, 심하게 왜곡된 출력 이미지를 획득하게 된다. 따라서, 학습되지 않은 비정상적인 트래픽에 대한 문자열을 입력 이미지로 변환하여 CAE를 통해 출력하면 심하게 왜곡된 이미지가 출력되는 점을 통해 비정상적인 트래픽을 판단하는 것이 용이하다.
도 2는 본 발명의 일 실시예에 따른 문자열을 이미지로 변환하는 방법을 설명하기 위한 개념도이다. 도 3은 본 발명의 일 실시예에 따른 문자열을 이미지로 변환하는 방법에 대한 예시도이다.
도 2를 참조하면, 본 발명의 일 실시예에서는 트래픽에 대한 문자열을 구성하는 개별 문자들을 하나의 벡터(x0, x1, x2, x3, x4, x5)로 표현하고, 여러 벡터들을 모아(또는 여러 벡터를 행렬로 표현하여) 하나의 2진 이미지 형태로 표현할 수 있다.
도 2에서 개별 문자를 나타내는 벡터가 행렬에서 하나의 행을 구성할 경우, one-hot vector의 행렬 형태는 의 크기를 가질 수 있다. 여기서, 는 트래픽 데이터를 구성할 수 있는 문자 종류의 개수를 의미할 수 있으며, 은 행렬로 변환할 수 있는 문장의 길이를 의미할 수 있다. 또한, 트래픽 데이터의 문자열의 길이가 보다 짧은 경우에는 부족한 vector는 0으로 나타낼 수 있다. 트래픽 데이터의 문자열의 길이가 보다 긴 경우에는 트래픽 데이터의 문자열의 첫 번째 문자가 포함되도록 의 크기만큼 앞 부분의 문자를 vector로 나타낼 수 있고, 마지막 문자가 포함되도록 의 크기만큼 뒷 부분의 문자를 vector로 나타낼 수 있으나, 사용자에 의해 설정될 수 있다.
예를 들어, 다시 도 2를 참조하면, 트래픽 데이터를 구성할 수 있는 문자는 "ABCDEF"이고, 은 6이라고 가정한다. 이 경우, 는 "ABCDEF"의 개수로서 6의 값을 가질 수 있다. 따라서, one-hot vector는 6x6의 크기를 가질 수 있다. 이러한 설정에서 문자열 "DBFC"을 변환하면, 문자열의 마지막 문자인 "C"가 제1 열(column)에 나타날 수 있으며, 그 뒤로는 역순으로 "F", "B" 및 "D"가 나타날 수 있다. 또한, 가 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)에 각각 위치할 수 있다.
또 다른 예시로 도 3을 참조하면, 트래픽에 따른 문자열이 'cbcfga'인 것을 예로 들어 이미지로 문자열을 변환하는 과정을 설명할 수 있다. 먼저, 문자열로 구성되어 있는 트래픽 데이터를 문장의 마지막 문자부터 역순으로 one-hot vector로 변환할 수 있다. 여기서, one-hot vector는 하나의 차원 값이 1이고, 나머지 모든 차원 값이 0인 벡터를 의미할 수 있다. 이때 변환될 수 있는 문자의 집합을 {a, b, c, d, e, f}로 설정하고, 하나의 이미지로 변환 가능한 문자열의 길이(벡터의 길이에 해당)를 7로 설정하면, 문자열의 가장 뒤에 있던 문자 'a'에 따른 벡터(x0)는 가장 첫번째에 문자가 위치하고 있으므로, [1, 0, 0, 0, 0, 0, 0]으로 표현될 수 있다. 또한, 문자열에 포함된 'b'는 역순으로 구성(agfcbc)할 때 뒤에서 두 번째(또는 앞에서 5번째)에 위치하고 있으므로, 5번째 원소값이 1인 벡터 [0, 0, 0, 0, 1, 0, 0]으로 표현할 수 있다. 또한, 문자열에 포함된 'c'는 역순으로 구성(agfcbc)할 때 앞에서 네번째와 여섯번째에 위치하고 있으므로 네번째와 여섯번째 원소가 1인 벡터 [0, 0, 0, 1, 0, 1, 0]으로 표현할 수 있다. 한편, 벡터의 길이를 7로 가정하였으므로 문자열의 길이 6보다 크다. 따라서, 벡터의 마지막 원소는 해당하는 문자가 없으므로 '0'으로 정해질 수 있다. 같은 방식으로 문자 'a' 부터 문자 'f'까지 표현할 경우 각각의 문자에 해당하는 벡터가 하나의 채널(또는 이미지의 가로줄)을 구성하여 모두 6채널을 갖고, 벡터의 길이가 7이므로 6X7의 크기를 갖는 1차원(one dimension) 이미지로 표현(6X1X7)할 수 있다. 이때, 이미지의 각 픽셀은 벡터의 원소값이 1이면 흑백(black), 0이면 백색(white)으로 표현될 수 있다.
한편, 이미지로 변환할 때 허용가능한 문자의 개수를 어떻게 처리할 것인지 문제될 수 있다. 예를 들어 다음과 같이 허용가능한 문자를 구성할 수 있다.
그러나, 위의 경우 영어 대문자는 소문자로 변환하여 표현해야 하고, 포함되지 않는 문자는 없는 것(blank)으로 처리될 수 있다. 다양한 문자의 입력을 허용하기 위해서 본 발명의 일 실시예에 따르면, 트래픽에 대한 문자열을 UTF-8 형식으로 인코딩하여 입력받고, 입력된 값을 16진수 단위로 변환할 수 있다. 16진수에서는 하나의 값을 다음의 문자열만으로 표현할 수 있다.
UTF-8에 의해 변환되는 알파벳 하나는 16진수 2개로 표현될 수 있고, 따라서, 16진수 하나를 표현하는 문자열들만 허용가능한 문자열로 구성하더라도 모든 입력 문자를 표현할 수 있다.
도 4는 본 발명의 일 실시예에 따른 CAE의 기반이 되는 인셉션-레지듀얼 네트워크-v2를 설명하는 개념도이다.
본 발명의 일 실시예에 따른 CAE는 인셉션-레지듀얼 네트워크-v2(Inception-ResNet-V2)를 기반으로 구성될 수 있다. 이때, 도 4를 참조하면, 인셉션-레지듀얼 네트워크-v2는 입력데이터를 인코딩하기 위해 Stem, 5개의 Inception-resnet-A, Reduction-A, 10개의 Inception-resnet-B, Reduction-B, 5개의 Inception-resnet-C, Average Pooling, Dropout 및 Softmax의 단계를 포함할 수 있으며, 연산량을 줄여 더욱 많은 레이어(layer)를 가질 수 있는 인셉션 네트워크(inception network)의 특성과 네트워크가 깊어져 훈련이 불가한 vanishing gradient problem을 해결하기 위해 하위 레이어의 출력을 줄이고 상위 레이어의 출력을 하위 레이어에 더하는 레지듀얼 네트워크(residual network)의 특성을 접목시킨 네트워크일 수 있다.
인셉션-레지듀얼 네트워크-v2는 299x299 크기를 가지는 RGB 3개의 채널로 구성된 이미지, 즉 299x299x3 크기의 입력데이터를 수신하여 1000 크기(또는 100개의 클래스 수)의 압축데이터를 생성하는 할 수 있으며, 도 4에서 각 계층에 표시된 데이터는 (높이X폭X채널수)를 갖는 이미지 또는 데이터 개수로 표현될 수 있다.
그 밖에 인셉션-레지듀얼 네트워크-v2에 대해서는 Christian Szegedy의 Inception-v4, inception-resnet and the impact of residual connections on learning(2016)을 참조할 수 있다.
본 발명의 일 실시예에 따른 CAE는 앞에서 설명한 인셉션-레지듀얼 네트워크-v2를 기반으로 변형된 오토 인코더로서 이하에서 상술한다.
도 5는 본 발명의 일 실시예에 따른 CAE의 구성을 설명하는 개념도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 CAE는 인셉션-레지듀얼 네트워크-v2 기반의 인코딩 단계 및 대응되는 디코딩 단계를 포함할 수 있다. 이때, 인코딩 단계를 수행하는 인코더는 도 4에서의 인셉션-레지듀얼 네트워크-v2의 입력부터 에버리지 풀링 레이어 까지의 계층들로 구성될 수 있고, 디코더는 인코더의 역과정을 수행하는 계층으로 구성될 수 있다.
이때, CAE는 입력 이미지를 출력데이터와 비교하여 오차가 감소되도록 파라미터 또는 가중치를 조정할 수 있다. 파라미터 또는 가중치는 5개의 Inception-resnet-A, 10개의 Inception-resnet-B 및 5개의 Inception-resnet-C 단계에서 조정될 수 있으며, 각각 스케일링(scaling)을 통해 조정될 수 있다.
본 발명의 도면을 포함한 명세서에서 별도의 설명이 없는 경우, F는 기본 프레임 사이즈로서 128을 의미할 수 있으며, V는 유효한 컨볼루션(valid convolution) 또는 유효한 맥스 풀링(valid max pooling)을 의미할 수 있고, 스트라이드(stride)는 컨볼루션 또는 맥스 풀링을 수행하는 간격을 의미할 수 있으며, linear는 활성 함수(activation function) 없이 전체 컨볼루션(full convolution)을 수행하는 것을 의미할 수 있다. Conv.는 컨볼루션을 의미할 수 있고, Conv. Trans.는 컨볼루션의 역을 의미할 수 있다. MaxPool는 맥스 풀링을 의미할 수 있고, MaxUnPool은 맥스 풀링의 역을 의미할 수 있다. A x B Conv.는 A x B의 크기를 참조하여 컨볼루션을 수행하는 것을 의미할 수 있으며, A x B MaxPool은 A x B의 크기를 참조하여 맥스 풀링을 수행하는 것을 의미할 수 있다. 상술한 기호의 설명들은 본 발명의 명세서에서 계속하여 동일한 의미로 사용될 수 있다.
도 6은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조를 설명하는 개념도이다.
구체적으로, 도 6은 인코딩 단계의 합산, 분배 및 스케일링을 설명하는 것으로, 도 6의 (a)를 참조하면, 본 발명의 일 실시예에 따른 CAE의 인코딩 단계에서 Filter Concat은 각 모듈의 출력데이터를 합산할 수 있으며, 시그마(sigma) 기호를 사용하여 나타낼 수도 있다. 다시 말해, Filter Concat의 출력데이터 X는 각 모듈의 출력데이터 , , ..., 을 합산한 것으로 나타낼 수 있다. 도 5의 (b)를 참조하면, 본 발명에 따른 CAE의 인코딩 단계에서 분배는 출력데이터를 동일한 출력데이터로 분배하는 것을 나타낼 수 있다. 또한, 도 5의 (c)를 참조하면, 본 발명의 CAE에서 스케일링(scaling)은 각 모듈의 출력데이터에 , , ..., 을 곱한 값을 합산하는 것으로, 여기서, , , ..., 은 인코딩 부분의 파라미터 또는 가중치를 의미할 수 있으며, , , ..., 을 조정하여 학습을 진행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조에 대응되는 디코더의 구조를 설명하는 개념도이다.
구체적으로, 도 7은 디코딩 단계의 분배, 평균 및 스케일링을 설명하는 것으로, 도 7의 (a)를 참조하면, 본 발명의 일 실시예에 따른 CAE의 디코딩 단계에서 Filter Split는 상위 모듈의 출력데이터를 나누어 각 모듈로 분배할 수 있으며, 각 모듈로 분배된 출력데이터의 합이 상위 단계의 출력데이터와 동일할 수 있다. Filter Split는 인코딩 단계에서와 같이 시그마 기호를 사용하여 나타낼 수도 있다. 다시 말해, Filter Split의 상위 단계의 출력데이터 X는 각 모듈로 분배된 출력데이터 , , ..., 을 합산한 것으로 나타낼 수 있다. 도 6의 (b)를 참조하면, 본 발명에 따른 CAE의 디코딩 단계에서 Mean은 각 상위 모듈의 출력데이터에 대한 평균을 산출할 수 있다. 또한, 도 6의 (c)를 참조하면, 본 발명의 CAE에서 스케일링(scaling)은 상위 모듈의 출력데이터를 분배하고 각 분배된 출력데이터에 , , ..., 을 각각 곱하는 것으로, 여기서, , , ..., 은 디코딩 부분의 파라미터 또는 가중치를 의미할 수 있으며, , , ..., 을 조정하여 학습을 진행할 수 있다.
도 8은 본 발명의 일 실시예에 따른 CAE에서 스템(stem) 단계를 설명하는 개념도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 CAE의 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)을 수행할 수 있으며, 분배하여 수행한 출력데이터를 다시 합산할 수 있다. 또한, 본 발명에 따른 CAE의 stem 단계는 상술한 stem 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 stem 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 stem 단계는 인코딩 단계의 stem 단계와 역으로 수행될 수 있다.
도 9는 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-A 단계를 설명하는 개념도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 CAE의 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개로 분배된 입력데이터 중 어떠한 과정도 수행하지 않은 입력데이터를 합산할 수 있다. 또한, 본 발명에 따른 CAE의 Inception-resnet-A 단계는 상술한 Inception-resnet-A 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Inception-resnet-A 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Inception-resnet-A 단계는 인코더의 Inception-resnet-A 단계와 역으로 수행될 수 있다.
본 발명의 일 실시예에 따른 CAE는 Inception-resnet-A 단계의 스케일링 크기 a, b 및 c를 조정할 수 있으며, 조정을 통해 학습을 진행할 수 있다.
도 10은 본 발명의 일 실시예에 따른 CAE에서 Reduction-A 단계를 설명하는 개념도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 CAE의 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 단계의 출력데이터를 생성할 수 있다. 본 발명에 따른 CAE의 Reduction-A 단계는 상술한 Reduction-A 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Reduction-A 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Reduction-A 단계는 인코더의 Reduction-A 단계와 역으로 수행될 수 있다.
도 11은 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-B 단계를 설명하는 개념도이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 CAE의 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개로 분배된 입력데이터 중 어떠한 과정도 수행하지 않은 입력데이터를 합산할 수 있다. 또한, 본 발명에 따른 CAE의 Inception-resnet-B 단계는 상술한 Inception-resnet-B 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Inception-resnet-B 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Inception-resnet-B 단계는 인코더의 Inception-resnet-B 단계와 역으로 수행될 수 있다.
본 발명의 일 실시예에 따른 CAE는 Inception-resnet-B 단계의 스케일링 크기 a, b 및 c를 조정할 수 있으며, 조정을 통해 학습을 진행할 수 있다.
도 12는 본 발명의 일 실시예에 따른 CAE에서 Reduction-B 단계를 설명하는 개념도이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 CAE의 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 단계의 출력데이터를 생성할 수 있다. 본 발명에 따른 CAE의 Reduction-B 단계는 상술한 Reduction-B 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Reduction-B 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Reduction-B 단계는 인코더의 Reduction-B 단계와 역으로 수행될 수 있다.
도 13은 본 발명의 일 실시예에 따른 CAE에서 Inception-resnet-C 단계를 설명하는 개념도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 CAE의 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개로 분배된 입력데이터 중 어떠한 과정도 수행하지 않은 입력데이터를 합산할 수 있다. 또한, 본 발명에 따른 CAE의 Inception-resnet-C 단계는 상술한 Inception-resnet-C 단계뿐만 아니라 통상의 인셉션-레지듀얼 네트워크-v2의 Inception-resnet-C 단계와 동일하게 수행될 수 있으나, 이에 한정하지 않는다. 디코더의 Inception-resnet-C 단계는 인코더의 Inception-resnet-C 단계와 역으로 수행될 수 있다.
본 발명의 일 실시예에 따른 CAE는 Inception-resnet-C 단계의 스케일링 크기 a, b 및 c를 조정할 수 있으며, 조정을 통해 학습을 진행할 수 있다.
도 14는 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법에 대한 흐름도이다.
도 14를 참조하면, 정상 트래픽에 따른 문자열을 이미지로 변환하는 단계(S100), 변환된 이미지를 CAE를 이용하여 학습하는 단계(S110) 및 학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계(S120)를 포함할 수 있다.
상기 이미지로 변환하는 단계(S100)는, 상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계 및 획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계(S100)는, 상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계, 역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계 및 벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함할 수 있다.
그 밖에 상기 이미지로 변환하는 단계(S100)는 도 1 내지 도 3에 따른 설명을 참조할 수 있다.
상기 CAE는, Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)일 수 있다. 더욱 상세하게 CAE는 도 4 내지 도 13에 따른 설명을 참조할 수 있다.
상기 이상 트래픽을 탐지하는 단계(S120)는, 상기 타겟 트래픽을 이미지로 변환하는 단계 및 이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 또는 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함할 수 있다.
상기 BCE는, 아래의 수학식 1로 정의될 수 있다.
상기 수학식 1에서 채널의 수는 K, 시퀀스의 길이(또는 문자열의 길이)는 L이라 하고, 는 이미지로 변환된 타겟 트래픽 또는 더 정확하게는 n번째 샘플에서 채널 k에 대한 픽셀 l의 이진값이고, 은 n번째 샘플에 대한 CAE의 출력값일 수 있다.
일반적으로 문자 기반의 이미지 변환에서 각 채널(각각의 문자)는 대부분 0을 원소로 갖는 벡터로 변환되므로 매우 적은 수의 1을 갖는다. 따라서, 정상적인 트래픽에 대하여 BCE를 산출하면, 출력 이미지를 구성하는 픽셀값 대부분은 0에 가까운 값을 가질 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 상기 수학식 1에 따른 n번째 샘플의 BCE값을 산출하고 산출된 BCE값을 문턱치(threshold value)와 비교하여 이상 트래픽인지 여부를 결정할 수 있다. 구체적으로 산출된 BCE 값이 문턱치보다 큰 경우에는 입력된 타겟 트래픽을 이상 트래픽으로 탐지할 수 있다.
이때, BCE를 평가하여 이상 트래픽을 탐지하기 위해서는 BCE 기반으로 정의되는 비용 함수를 사용하여 CAE를 학습하는 것이 필요할 수 있다.
BCE 기반으로 정의되는 비용 함수는 다음의 수학식 2와 같다.
수학식 2를 참조하면, 수학식 2에 따른 비용 함수는 학습되는 데이터 샘플들의 수를 N로 정의할 때, 데이터 샘플 N개에 대하여 각각 수학식 1을 산출하고 더하여 N으로 나눔으로써 total BCE를 산출한 것으로 해석될 수 있다.
따라서, 상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 의해 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
한편, 이상 트래픽을 탐지하는 데 사용하는 수학식 1을 다시 참조하면, 출력 픽셀값들에 대하여 log를 취한 후 평균한 것으로서, 이상 트래픽은 다양한 값을 가진다는 특성을 충분히 반영하지 못하는 문제가 있을 수 있다. 이때, 분산은 평균을 기준으로 값들이 얼마나 넓게 분포되어 있는지를 측정하는 통계값이므로, 분산을 활용하면 검출 성능이 향상될 가능성이 높다.
구체적으로 본 발명에서 제안하는 분산을 기준으로 이상 트래픽을 탐지할 경우에 따른 평가 함수를 상기 BCV(Binary Cross Valentropy)로 지칭할 수 있고, 이때, 탐지하고자 하는 n번째 데이터 샘플에 대한 BCV는 다음의 수학식 3과 같이 정의될 수 있다.
수학식 3에서 BCEn은 수학식 1에 따른 산출값을 의미할 수 있으며, 그 밖에 변수는 수학식 1 과 2에 따른 설명을 참조할 수 있다.
본 발명의 일 실시예에서 제안하는 BCV를 이용할 경우 수학식 1과 같이 픽셀값들에 log를 취한 후 분산값을 산출하므로 이상 트래픽이 다양한 가진다는 특성을 충분히 반영할 수 있게 된다.
한편, 수학식 3에 따른 평가 함수를 사용하여 이상 트래픽을 탐지할 경우, CAE를 학습하는 데 사용하는 비용함수는 수학식 3에 따른 BCV를 반영할 필요가 있다.
구체적으로, 상기 BCE에 대한 total BCE와 상기 BCV에 대한 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다. 이때, BCE와 BCV를 활용한 비용함수(Cost function)는 다음이 수학식 4와 같다.
수학식 5를 참조하면, total BCV는 수학식 3에 따른 BCV를 데이터 샘플 N개에 대하여 수행하여 더하고, N으로 나눈 값으로 정의될 수 있다.
도 15는 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치에 따른 구성도이다.
도 15를 참조하면, CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치(100)는, 적어도 하나의 프로세서(processor, 110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(isntructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
상기 적어도 하나의 단계는, 정상 트래픽에 따른 문자열을 이미지로 변환하는 단계, 변환된 이미지를 CAE를 이용하여 학습하는 단계 및 학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함할 수 있다.
상기 이상 트래픽을 탐지하는 단계는, 상기 타겟 트래픽을 이미지로 변환하는 단계 및 이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 또는 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계는, 상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계 및 획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함할 수 있다.
상기 이미지로 변환하는 단계는, 상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계, 역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계 및 벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함할 수 있다.
상기 CAE는, Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)일 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 비용함수(Cost function)는, 수학식
CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
도 16 내지 도 18은 본 발명의 일 실시예에 따른 CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치에 대한 실험 결과를 나타낸 그래프이다.
실험을 위한 조건으로서, 2014년 2/3 분기에 WAPPLE이 공격으로 탐지한 데이터 중 정상 요청(request)으로 판정한 약 66만건을 정상 트래픽에 대한 학습 데이터로 사용하였다. 여기서 사용한 학습 데이터를 본 발명의 일 실시예에 따른 CAE에 대한 비교사 학습 데이터로 사용하여 CAE를 학습하였다.
또한, 학습에 사용되지 않은 2014년 2/3분기의 약 21만건에 대한 데이터를 타겟 트래픽에 대한 데이터로 사용하였다. 여기서 타겟 트래픽에는 약 16만 5천건의 정상 트래픽과 4만 8천건의 이상 트래픽이 포함되어 있다.
도 16을 참조하면, 정상 데이터(normal)와 이상 데이터(anomalous)에 대하여 BCE와 BCV를 사용하였을 때 평균(mean)과 표준편차(STD)에 대한 empirical CDF(실증적 누적 분포 함수)를 산출한 결과 그래프를 확인할 수 있다.
도 17을 참조하면, 전체 샘플 데이터를 한바퀴 학습한 것을 1 epoch으로 하였을 때 epoch의 수가 누적됨에 따라 잘못 판단할 비율(false positive rate, FPR)이 감소하는 것을 확인할 수 있다. 이때, 옳게 판단할 비율(True positive rate, TPR)은 0.99이다.
도 18을 참조하면, BCE와 BCV 각각에 대하여 전체 데이터 샘플들의 학습에 따른 Area Under Curve (AUC) 성능을 도시한 그래프를 확인할 수 있다. 학습 데이터가 많을수록 검출 성능이 향상되는 것을 확인할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (18)
- CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법으로,
정상 트래픽에 따른 문자열을 이미지로 변환하는 단계;
변환된 이미지를 CAE를 이용하여 학습하는 단계; 및
학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함하고,
상기 이상 트래픽을 탐지하는 단계는,
상기 타겟 트래픽을 이미지로 변환하는 단계; 및
이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 및 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함하고,
상기 BCV는,
채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽()과 상기 출력()에 대하여, 수학식
로 정의되는, 비정상적인 트래픽을 탐지하는 방법. - 청구항 1에서,
상기 이미지로 변환하는 단계는,
상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계; 및
획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법. - 청구항 1에서,
상기 이미지로 변환하는 단계는,
상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계;
역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계; 및
벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법. - 청구항 1에서,
상기 CAE는,
Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)인, 비정상적인 트래픽을 탐지하는 방법. - 청구항 1에서,
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법. - 삭제
- 청구항 1에서,
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법. - CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치로서,
적어도 하나의 프로세서(processor); 및
상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(isntructions)을 저장하는 메모리(memory)를 포함하고,
상기 적어도 하나의 단계는,
정상 트래픽에 따른 문자열을 이미지로 변환하는 단계;
변환된 이미지를 CAE를 이용하여 학습하는 단계; 및
학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함하고,
상기 이상 트래픽을 탐지하는 단계는,
상기 타겟 트래픽을 이미지로 변환하는 단계; 및
이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 및 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함하고,
상기 BCV는,
채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽()과 상기 출력()에 대하여, 수학식
로 정의되는, 비정상적인 트래픽을 탐지하는 장치. - 청구항 10에서,
상기 이미지로 변환하는 단계는,
상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계; 및
획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치. - 청구항 10에서,
상기 이미지로 변환하는 단계는,
상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계;
역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계; 및
벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치. - 청구항 10에서,
상기 CAE는,
Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)인, 비정상적인 트래픽을 탐지하는 장치. - 청구항 10에서,
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치. - 삭제
- 청구항 10에서,
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180166682A KR102169255B1 (ko) | 2018-12-20 | 2018-12-20 | Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 |
US16/231,797 US10783395B2 (en) | 2018-12-20 | 2018-12-24 | Method and apparatus for detecting abnormal traffic based on convolutional autoencoder |
JP2018243019A JP6757986B2 (ja) | 2018-12-20 | 2018-12-26 | Cae基盤で異常なトラフィックを探知する方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180166682A KR102169255B1 (ko) | 2018-12-20 | 2018-12-20 | Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200077307A KR20200077307A (ko) | 2020-06-30 |
KR102169255B1 true KR102169255B1 (ko) | 2020-10-23 |
Family
ID=71098464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180166682A KR102169255B1 (ko) | 2018-12-20 | 2018-12-20 | Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10783395B2 (ko) |
JP (1) | JP6757986B2 (ko) |
KR (1) | KR102169255B1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11468542B2 (en) * | 2019-01-18 | 2022-10-11 | Arizona Board Of Regents On Behalf Of Arizona State University | LAPRAN: a scalable Laplacian pyramid reconstructive adversarial network for flexible compressive sensing reconstruction |
TWI779245B (zh) * | 2019-10-31 | 2022-10-01 | 安碁資訊股份有限公司 | 異常流量偵測方法與異常流量偵測裝置 |
US11777520B2 (en) | 2020-03-31 | 2023-10-03 | Arizona Board Of Regents On Behalf Of Arizona State University | Generic compression ratio adapter for end-to-end data-driven compressive sensing reconstruction frameworks |
US11763165B2 (en) | 2020-05-11 | 2023-09-19 | Arizona Board Of Regents On Behalf Of Arizona State University | Selective sensing: a data-driven nonuniform subsampling approach for computation-free on-sensor data dimensionality reduction |
US11611588B2 (en) | 2020-07-10 | 2023-03-21 | Kyndryl, Inc. | Deep learning network intrusion detection |
CN111901000A (zh) * | 2020-08-03 | 2020-11-06 | 电子科技大学 | 基于Inception结构的信道译码方法 |
KR102329889B1 (ko) * | 2020-09-23 | 2021-11-23 | 펜타시큐리티시스템 주식회사 | 로드 사이드 유닛의 이상 감지 방법 및 장치 |
KR102497737B1 (ko) * | 2020-12-14 | 2023-02-09 | 한전케이디엔주식회사 | 생성적 적대 신경망을 활용해 미 발견 네트워크 침입 유형을 탐지하는 시스템 및 방법 |
CN112766459B (zh) * | 2021-01-12 | 2024-05-03 | 合肥黎曼信息科技有限公司 | 一种基于生成器的异常检测方法 |
CN112633425B (zh) * | 2021-03-11 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 图像分类方法和装置 |
CN113194094B (zh) * | 2021-04-29 | 2022-07-15 | 哈尔滨工程大学 | 一种基于神经网络的异常流量检测方法 |
CN115456962B (zh) * | 2022-08-24 | 2023-09-29 | 中山大学中山眼科中心 | 一种基于卷积神经网络的脉络膜血管指数预测方法和装置 |
CN115797849B (zh) * | 2023-02-03 | 2023-04-28 | 以萨技术股份有限公司 | 一种基于图像确定异常行为的数据处理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101888683B1 (ko) * | 2017-07-28 | 2018-08-14 | 펜타시큐리티시스템 주식회사 | 비정상 트래픽을 탐지하는 방법 및 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6303390B2 (ja) | 2013-10-22 | 2018-04-04 | 富士ゼロックス株式会社 | 印刷装置、印刷システム及びプログラム |
KR101644998B1 (ko) | 2015-12-22 | 2016-08-02 | 엑스브레인 주식회사 | Convolutional Neural Network를 이용하여 비정상 입력 데이터를 검출하는 방법 및 장치 |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
US10685284B2 (en) * | 2017-04-03 | 2020-06-16 | Royal Bank Of Canada | Systems and methods for malicious code detection |
US20200027000A1 (en) * | 2018-07-23 | 2020-01-23 | Samsung Electronics Co., Ltd. | Methods and systems for annotating regulatory regions of a microbial genome |
US10764246B2 (en) * | 2018-08-14 | 2020-09-01 | Didi Research America, Llc | System and method for detecting generated domain |
US10846522B2 (en) * | 2018-10-16 | 2020-11-24 | Google Llc | Speaking classification using audio-visual data |
-
2018
- 2018-12-20 KR KR1020180166682A patent/KR102169255B1/ko active IP Right Grant
- 2018-12-24 US US16/231,797 patent/US10783395B2/en active Active
- 2018-12-26 JP JP2018243019A patent/JP6757986B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101888683B1 (ko) * | 2017-07-28 | 2018-08-14 | 펜타시큐리티시스템 주식회사 | 비정상 트래픽을 탐지하는 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
Antonia Creswella 외 2인, ‘On denoising autoencoders trained to minimise binary cross-entropy’, Data Science Institute, Imperial College London (2017.10.09.)* |
Also Published As
Publication number | Publication date |
---|---|
US20200202160A1 (en) | 2020-06-25 |
JP6757986B2 (ja) | 2020-09-23 |
KR20200077307A (ko) | 2020-06-30 |
US10783395B2 (en) | 2020-09-22 |
JP2020102178A (ja) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102169255B1 (ko) | Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 | |
KR101888683B1 (ko) | 비정상 트래픽을 탐지하는 방법 및 장치 | |
CN110147711B (zh) | 视频场景识别方法、装置、存储介质和电子装置 | |
CN109101552B (zh) | 一种基于深度学习的钓鱼网站url检测方法 | |
KR101880907B1 (ko) | 비정상 세션 감지 방법 | |
CN107330127B (zh) | 一种基于文本图片检索的相似文本检测方法 | |
CN109857871B (zh) | 一种基于社交网络海量情景数据的用户关系发现方法 | |
WO2019226429A1 (en) | Data compression by local entropy encoding | |
US20220189083A1 (en) | Training method for character generation model, character generation method, apparatus, and medium | |
CN112508782A (zh) | 网络模型的训练方法、人脸图像超分辨率重建方法及设备 | |
US20220164934A1 (en) | Image processing method and apparatus, device, video processing method and storage medium | |
CN113762261A (zh) | 一种对图像的字符识别方法、装置、设备及介质 | |
CN114612688B (zh) | 对抗样本生成方法、模型训练方法、处理方法及电子设备 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
Chen et al. | Efficient video hashing based on low‐rank frames | |
EP3924889A1 (en) | A method, an apparatus and a computer program product for video encoding and video decoding | |
CN115187456A (zh) | 基于图像强化处理的文本识别方法、装置、设备及介质 | |
CN117807269A (zh) | 基于视频情景分析的达人推荐方法及系统 | |
CN114973271B (zh) | 一种文本信息提取方法、提取系统、电子设备及存储介质 | |
Zhang et al. | Blind image quality assessment based on local quantized pattern | |
CN114140858A (zh) | 图像处理方法、装置、设备及存储介质 | |
EP4300425A1 (en) | Method, apparatus, and system for transmitting image features | |
CN116958635A (zh) | 图像生成方法、装置、设备、存储介质及程序产品 | |
CN116403026A (zh) | 一种基于多类别风格提取的风格迁移方法 | |
CN117997619A (zh) | 一种基于深度学习的Web攻击端到端检测方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |