KR20200077307A - Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 - Google Patents

Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 Download PDF

Info

Publication number
KR20200077307A
KR20200077307A KR1020180166682A KR20180166682A KR20200077307A KR 20200077307 A KR20200077307 A KR 20200077307A KR 1020180166682 A KR1020180166682 A KR 1020180166682A KR 20180166682 A KR20180166682 A KR 20180166682A KR 20200077307 A KR20200077307 A KR 20200077307A
Authority
KR
South Korea
Prior art keywords
traffic
cae
image
converting
converted
Prior art date
Application number
KR1020180166682A
Other languages
English (en)
Other versions
KR102169255B1 (ko
Inventor
박승영
심상규
김덕수
이석우
김명진
Original Assignee
펜타시큐리티시스템 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 펜타시큐리티시스템 주식회사 filed Critical 펜타시큐리티시스템 주식회사
Priority to KR1020180166682A priority Critical patent/KR102169255B1/ko
Priority to US16/231,797 priority patent/US10783395B2/en
Priority to JP2018243019A priority patent/JP6757986B2/ja
Publication of KR20200077307A publication Critical patent/KR20200077307A/ko
Application granted granted Critical
Publication of KR102169255B1 publication Critical patent/KR102169255B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1916Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing 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 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치{METHOD AND APPARATUS FOR DETECTING ABNORMAL TRAFFIC BASED ON CONVOLUTIONAL AUTOENCODER}
본 발명은 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의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 BCE는, 채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
Figure pat00001
)과 상기 출력(
Figure pat00002
)에 대하여, 수학식
Figure pat00003
로 정의될 수 있다.
상기 BCV는, 채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
Figure pat00004
)과 상기 출력(
Figure pat00005
)에 대하여, 수학식
Figure pat00006
로 정의될 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 비용함수(Cost function)는, 수학식
Figure pat00007
로 정의될 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은 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의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 BCE는, 채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
Figure pat00008
)과 상기 출력(
Figure pat00009
)에 대하여, 수학식
Figure pat00010
로 정의될 수 있다.
상기 BCV는, 채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
Figure pat00011
)과 상기 출력(
Figure pat00012
)에 대하여, 수학식
Figure pat00013
로 정의될 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 비용함수(Cost function)는, 수학식
Figure pat00014
로 정의될 수 있다.
상기와 같은 본 발명에 따른 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) 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치에 대한 실험 결과를 나타낸 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제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의 행렬 형태는
Figure pat00015
의 크기를 가질 수 있다. 여기서,
Figure pat00016
는 트래픽 데이터를 구성할 수 있는 문자 종류의 개수를 의미할 수 있으며,
Figure pat00017
은 행렬로 변환할 수 있는 문장의 길이를 의미할 수 있다. 또한, 트래픽 데이터의 문자열의 길이가
Figure pat00018
보다 짧은 경우에는 부족한 vector는 0으로 나타낼 수 있다. 트래픽 데이터의 문자열의 길이가
Figure pat00019
보다 긴 경우에는 트래픽 데이터의 문자열의 첫 번째 문자가 포함되도록
Figure pat00020
의 크기만큼 앞 부분의 문자를 vector로 나타낼 수 있고, 마지막 문자가 포함되도록
Figure pat00021
의 크기만큼 뒷 부분의 문자를 vector로 나타낼 수 있으나, 사용자에 의해 설정될 수 있다.
예를 들어, 다시 도 2를 참조하면, 트래픽 데이터를 구성할 수 있는 문자는 "ABCDEF"이고,
Figure pat00022
은 6이라고 가정한다. 이 경우,
Figure pat00023
는 "ABCDEF"의 개수로서 6의 값을 가질 수 있다. 따라서, one-hot vector는 6x6의 크기를 가질 수 있다. 이러한 설정에서 문자열 "DBFC"을 변환하면, 문자열의 마지막 문자인 "C"가 제1 열(column)에 나타날 수 있으며, 그 뒤로는 역순으로 "F", "B" 및 "D"가 나타날 수 있다. 또한,
Figure pat00024
가 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)으로 표현될 수 있다.
한편, 이미지로 변환할 때 허용가능한 문자의 개수를 어떻게 처리할 것인지 문제될 수 있다. 예를 들어 다음과 같이 허용가능한 문자를 구성할 수 있다.
Figure pat00025
그러나, 위의 경우 영어 대문자는 소문자로 변환하여 표현해야 하고, 포함되지 않는 문자는 없는 것(blank)으로 처리될 수 있다. 다양한 문자의 입력을 허용하기 위해서 본 발명의 일 실시예에 따르면, 트래픽에 대한 문자열을 UTF-8 형식으로 인코딩하여 입력받고, 입력된 값을 16진수 단위로 변환할 수 있다. 16진수에서는 하나의 값을 다음의 문자열만으로 표현할 수 있다.
Figure pat00026
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는 각 모듈의 출력데이터
Figure pat00027
,
Figure pat00028
, ...,
Figure pat00029
을 합산한 것으로 나타낼 수 있다. 도 5의 (b)를 참조하면, 본 발명에 따른 CAE의 인코딩 단계에서 분배는 출력데이터를 동일한 출력데이터로 분배하는 것을 나타낼 수 있다. 또한, 도 5의 (c)를 참조하면, 본 발명의 CAE에서 스케일링(scaling)은 각 모듈의 출력데이터에
Figure pat00030
,
Figure pat00031
, ...,
Figure pat00032
을 곱한 값을 합산하는 것으로, 여기서,
Figure pat00033
,
Figure pat00034
, ...,
Figure pat00035
은 인코딩 부분의 파라미터 또는 가중치를 의미할 수 있으며,
Figure pat00036
,
Figure pat00037
, ...,
Figure pat00038
을 조정하여 학습을 진행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 CAE에서 인코더의 구조에 대응되는 디코더의 구조를 설명하는 개념도이다.
구체적으로, 도 7은 디코딩 단계의 분배, 평균 및 스케일링을 설명하는 것으로, 도 7의 (a)를 참조하면, 본 발명의 일 실시예에 따른 CAE의 디코딩 단계에서 Filter Split는 상위 모듈의 출력데이터를 나누어 각 모듈로 분배할 수 있으며, 각 모듈로 분배된 출력데이터의 합이 상위 단계의 출력데이터와 동일할 수 있다. Filter Split는 인코딩 단계에서와 같이 시그마 기호를 사용하여 나타낼 수도 있다. 다시 말해, Filter Split의 상위 단계의 출력데이터 X는 각 모듈로 분배된 출력데이터
Figure pat00039
,
Figure pat00040
, ...,
Figure pat00041
을 합산한 것으로 나타낼 수 있다. 도 6의 (b)를 참조하면, 본 발명에 따른 CAE의 디코딩 단계에서 Mean은 각 상위 모듈의 출력데이터에 대한 평균을 산출할 수 있다. 또한, 도 6의 (c)를 참조하면, 본 발명의 CAE에서 스케일링(scaling)은 상위 모듈의 출력데이터를 분배하고 각 분배된 출력데이터에
Figure pat00042
,
Figure pat00043
, ...,
Figure pat00044
을 각각 곱하는 것으로, 여기서,
Figure pat00045
,
Figure pat00046
, ...,
Figure pat00047
은 디코딩 부분의 파라미터 또는 가중치를 의미할 수 있으며,
Figure pat00048
,
Figure pat00049
, ...,
Figure pat00050
을 조정하여 학습을 진행할 수 있다.
도 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로 정의될 수 있다.
Figure pat00051
상기 수학식 1에서 채널의 수는 K, 시퀀스의 길이(또는 문자열의 길이)는 L이라 하고,
Figure pat00052
는 이미지로 변환된 타겟 트래픽 또는 더 정확하게는 n번째 샘플에서 채널 k에 대한 픽셀 l의 이진값이고,
Figure pat00053
은 n번째 샘플에 대한 CAE의 출력값일 수 있다.
일반적으로 문자 기반의 이미지 변환에서 각 채널(각각의 문자)는 대부분 0을 원소로 갖는 벡터로 변환되므로 매우 적은 수의 1을 갖는다. 따라서, 정상적인 트래픽에 대하여 BCE를 산출하면, 출력 이미지를 구성하는 픽셀값 대부분은 0에 가까운 값을 가질 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 상기 수학식 1에 따른 n번째 샘플의 BCE값을 산출하고 산출된 BCE값을 문턱치(threshold value)와 비교하여 이상 트래픽인지 여부를 결정할 수 있다. 구체적으로 산출된 BCE 값이 문턱치보다 큰 경우에는 입력된 타겟 트래픽을 이상 트래픽으로 탐지할 수 있다.
이때, BCE를 평가하여 이상 트래픽을 탐지하기 위해서는 BCE 기반으로 정의되는 비용 함수를 사용하여 CAE를 학습하는 것이 필요할 수 있다.
BCE 기반으로 정의되는 비용 함수는 다음의 수학식 2와 같다.
Figure pat00054
수학식 2를 참조하면, 수학식 2에 따른 비용 함수는 학습되는 데이터 샘플들의 수를 N로 정의할 때, 데이터 샘플 N개에 대하여 각각 수학식 1을 산출하고 더하여 N으로 나눔으로써 total BCE를 산출한 것으로 해석될 수 있다.
따라서, 상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 의해 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
한편, 이상 트래픽을 탐지하는 데 사용하는 수학식 1을 다시 참조하면, 출력 픽셀값들에 대하여 log를 취한 후 평균한 것으로서, 이상 트래픽은 다양한 값을 가진다는 특성을 충분히 반영하지 못하는 문제가 있을 수 있다. 이때, 분산은 평균을 기준으로 값들이 얼마나 넓게 분포되어 있는지를 측정하는 통계값이므로, 분산을 활용하면 검출 성능이 향상될 가능성이 높다.
구체적으로 본 발명에서 제안하는 분산을 기준으로 이상 트래픽을 탐지할 경우에 따른 평가 함수를 상기 BCV(Binary Cross Valentropy)로 지칭할 수 있고, 이때, 탐지하고자 하는 n번째 데이터 샘플에 대한 BCV는 다음의 수학식 3과 같이 정의될 수 있다.
Figure pat00055
수학식 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와 같다.
Figure pat00056
상기 수학식 4에서 total BCE는 수학식 2를 참조할 수 있고, α,
Figure pat00057
는 양의 상수이며, total BCV는 다음의 수학식 5와 같이 정의될 수 있다.
Figure pat00058
수학식 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의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 BCE는, 채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
Figure pat00059
)과 상기 출력(
Figure pat00060
)에 대하여, 수학식
Figure pat00061
로 정의될 수 있다.
상기 BCV는, 채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
Figure pat00062
)과 상기 출력(
Figure pat00063
)에 대하여, 수학식
Figure pat00064
로 정의될 수 있다.
상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는, 상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 비용함수(Cost function)는, 수학식
Figure pat00065
로 정의될 수 있다.
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천건의 이상 트래픽이 포함되어 있다.
각 요청 메시지에 대하여 이미지로 변환한 데이터에 대한 이상 트래픽 탐지 결과를 분석하였으며, 이때 비용함수의 계수 α는 0으로,
Figure pat00066
는 1로 적용하였다.
도 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)

  1. CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 방법으로,
    정상 트래픽에 따른 문자열을 이미지로 변환하는 단계;
    변환된 이미지를 CAE를 이용하여 학습하는 단계; 및
    학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함하고,
    상기 이상 트래픽을 탐지하는 단계는,
    상기 타겟 트래픽을 이미지로 변환하는 단계; 및
    이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 또는 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법.
  2. 청구항 1에서,
    상기 이미지로 변환하는 단계는,
    상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계; 및
    획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법.
  3. 청구항 1에서,
    상기 이미지로 변환하는 단계는,
    상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계;
    역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계; 및
    벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법.
  4. 청구항 1에서,
    상기 CAE는,
    Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)인, 비정상적인 트래픽을 탐지하는 방법.
  5. 청구항 1에서,
    상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
    상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법.
  6. 청구항 1에서,
    상기 BCE는,
    채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
    Figure pat00067
    )과 상기 출력(
    Figure pat00068
    )에 대하여, 수학식
    Figure pat00069
    로 정의되는, 비정상적인 트래픽을 탐지하는 방법.
  7. 청구항 1에서,
    상기 BCV는,
    채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
    Figure pat00070
    )과 상기 출력(
    Figure pat00071
    )에 대하여, 수학식
    Figure pat00072
    로 정의되는, 비정상적인 트래픽을 탐지하는 방법.
  8. 청구항 1에서,
    상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
    상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 방법.
  9. 청구항 8에서,
    상기 비용함수(Cost function)는, 수학식
    Figure pat00073
    로 정의되는, 비정상적인 트래픽을 탐지하는 방법.
  10. CAE(Convolutional AutoEncoder) 기반으로 비정상적인 트래픽을 탐지하는 장치로서,
    적어도 하나의 프로세서(processor); 및
    상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(isntructions)을 저장하는 메모리(memory)를 포함하고,
    상기 적어도 하나의 단계는,
    정상 트래픽에 따른 문자열을 이미지로 변환하는 단계;
    변환된 이미지를 CAE를 이용하여 학습하는 단계; 및
    학습된 CAE에 타겟 트래픽을 입력하여 이상 트래픽을 탐지하는 단계를 포함하고,
    상기 이상 트래픽을 탐지하는 단계는,
    상기 타겟 트래픽을 이미지로 변환하는 단계; 및
    이미지로 변환된 타겟 트래픽을 상기 학습된 CAE에 입력하여 획득한 출력에 대하여 BCE(Binary Cross Entropy) 또는 BCV(Binary Cross Varentropy)를 평가하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치.
  11. 청구항 10에서,
    상기 이미지로 변환하는 단계는,
    상기 정상 트래픽을 UTF-8(Unicode-Transformation-Format-8) 형식으로 획득하는 단계; 및
    획득된 정상 트래픽에 따른 문자열을 16진수로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치.
  12. 청구항 10에서,
    상기 이미지로 변환하는 단계는,
    상기 정상 트래픽에 따른 문자열을 역순으로 변환하는 단계;
    역순으로 변환된 문자열을 구성하는 문자를 벡터로 변환하는 단계; 및
    벡터로 변환된 문자열을 이미지로 변환하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치.
  13. 청구항 10에서,
    상기 CAE는,
    Inception Resnet V2 기반으로 구성된 오토 인코더(Autoencoder)인, 비정상적인 트래픽을 탐지하는 장치.
  14. 청구항 10에서,
    상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
    상기 BCE에 기초하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치.
  15. 청구항 10에서,
    상기 BCE는,
    채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
    Figure pat00074
    )과 상기 출력(
    Figure pat00075
    )에 대하여, 수학식
    Figure pat00076
    로 정의되는, 비정상적인 트래픽을 탐지하는 장치.
  16. 청구항 10에서,
    상기 BCV는,
    채널의 수를 K, 시퀀스의 길이를 L이라 하고, 상기 이미지로 변환된 타겟 트래픽(
    Figure pat00077
    )과 상기 출력(
    Figure pat00078
    )에 대하여, 수학식
    Figure pat00079
    로 정의되는, 비정상적인 트래픽을 탐지하는 장치.
  17. 청구항 10에서,
    상기 변환된 이미지를 CAE를 이용하여 학습하는 단계는,
    상기 BCE에 따른 total BCE와 상기 BCV에 따른 total BCV를 선형 결합하여 정의되는 비용함수(Cost function)를 최소화하도록 상기 CAE의 파라미터를 결정하는 단계를 포함하는, 비정상적인 트래픽을 탐지하는 장치.
  18. 청구항 17에서,
    상기 비용함수(Cost function)는, 수학식
    Figure pat00080
    로 정의되는, 비정상적인 트래픽을 탐지하는 장치.
KR1020180166682A 2018-12-20 2018-12-20 Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 KR102169255B1 (ko)

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 true KR20200077307A (ko) 2020-06-30
KR102169255B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102329889B1 (ko) * 2020-09-23 2021-11-23 펜타시큐리티시스템 주식회사 로드 사이드 유닛의 이상 감지 방법 및 장치
KR20220084866A (ko) * 2020-12-14 2022-06-21 한전케이디엔주식회사 생성적 적대 신경망을 활용해 미 발견 네트워크 침입 유형을 탐지하는 시스템 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
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
CN111901000A (zh) * 2020-08-03 2020-11-06 电子科技大学 基于Inception结构的信道译码方法
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101888683B1 (ko) * 2017-07-28 2018-08-14 펜타시큐리티시스템 주식회사 비정상 트래픽을 탐지하는 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101888683B1 (ko) * 2017-07-28 2018-08-14 펜타시큐리티시스템 주식회사 비정상 트래픽을 탐지하는 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Antonia Creswella 외 2인, ‘On denoising autoencoders trained to minimise binary cross-entropy’, Data Science Institute, Imperial College London (2017.10.09.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102329889B1 (ko) * 2020-09-23 2021-11-23 펜타시큐리티시스템 주식회사 로드 사이드 유닛의 이상 감지 방법 및 장치
KR20220084866A (ko) * 2020-12-14 2022-06-21 한전케이디엔주식회사 생성적 적대 신경망을 활용해 미 발견 네트워크 침입 유형을 탐지하는 시스템 및 방법

Also Published As

Publication number Publication date
US10783395B2 (en) 2020-09-22
US20200202160A1 (en) 2020-06-25
JP2020102178A (ja) 2020-07-02
JP6757986B2 (ja) 2020-09-23
KR102169255B1 (ko) 2020-10-23

Similar Documents

Publication Publication Date Title
KR102169255B1 (ko) Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
KR101888683B1 (ko) 비정상 트래픽을 탐지하는 방법 및 장치
CN109101552B (zh) 一种基于深度学习的钓鱼网站url检测方法
CN110147711B (zh) 视频场景识别方法、装置、存储介质和电子装置
KR101880907B1 (ko) 비정상 세션 감지 방법
US20190139191A1 (en) Image processing methods and image processing devices
US20210319232A1 (en) Temporally distributed neural networks for video semantic segmentation
KR101880901B1 (ko) 기계 학습 방법 및 장치
CN109857871B (zh) 一种基于社交网络海量情景数据的用户关系发现方法
Baek et al. Deep self-representative subspace clustering network
EP3885966B1 (en) Method and device for generating natural language description information
WO2019226429A1 (en) Data compression by local entropy encoding
US20220189083A1 (en) Training method for character generation model, character generation method, apparatus, and medium
CN107239532B (zh) 数据挖掘方法及装置
CN112508782A (zh) 网络模型的训练方法、人脸图像超分辨率重建方法及设备
Wanda et al. URLDeep: Continuous Prediction of Malicious URL with Dynamic Deep Learning in Social Networks.
CN114612688B (zh) 对抗样本生成方法、模型训练方法、处理方法及电子设备
CN111310411B (zh) 一种基于多样性模型的文本相关性判定方法、装置和设备
CN112307243B (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
Zhu et al. How to evaluate semantic communications for images with vitscore metric?
CN113762261A (zh) 一种对图像的字符识别方法、装置、设备及介质
Thevaraja et al. Recent developments in data science: Comparing linear, ridge and lasso regressions techniques using wine data
CN113343235B (zh) 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant