JP6757978B2 - 異常トラフィックを探知する方法および装置 - Google Patents

異常トラフィックを探知する方法および装置 Download PDF

Info

Publication number
JP6757978B2
JP6757978B2 JP2017235153A JP2017235153A JP6757978B2 JP 6757978 B2 JP6757978 B2 JP 6757978B2 JP 2017235153 A JP2017235153 A JP 2017235153A JP 2017235153 A JP2017235153 A JP 2017235153A JP 6757978 B2 JP6757978 B2 JP 6757978B2
Authority
JP
Japan
Prior art keywords
data
traffic
encoders
traffic data
learning
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017235153A
Other languages
English (en)
Other versions
JP2019028971A (ja
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 ペンタ・セキュリティ・システムズ・インコーポレーテッド
Publication of JP2019028971A publication Critical patent/JP2019028971A/ja
Application granted granted Critical
Publication of JP6757978B2 publication Critical patent/JP6757978B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Image Analysis (AREA)

Description

本発明は、異常トラフィックを探知する方法および装置に関するもので、さらに詳細にはマシンラーニング学習方法の一つであるインセプション−レジデュアルネットワーク−V2(inception-residual network-v2、inception-resnet-v2)基盤のオートエンコーダを利用して異常トラフィックを探知する方法および装置に関するものである。
最近インターネットの急速な発達によってサーバーとインターネットとの間のHTTP(HyperText Transfer Protocol)基盤の通信量も急速に増加しているのが実情である。ここで、HTTPはハイパーテキスト(hypertext)文書を交換するために使われる通信規約であり、ハイパーテキストは文書の間々に特定のキーワードを置いて文字や絵を相互有機的に結び付けて連結させることによって、互いに異なる文書であっても一つの文書のように見えて参照しやすいようにする方式を意味する。我々の社会は通信量が増加するにつれて数多くの情報をやり取りして生活の質を向上させてきたが、それと同時に大規模のネットワークを対象とする攻撃が増加しており、深刻な社会的問題が発生している。
したがって、このような大規模なネットワーク攻撃を探知するためにトラフィックを分析する技術が台頭してきており、トラフィックを分析する技術はパケットの数またはバイトの大きさの量的変化を観察するのがほとんどである。
ただし、単に量的な変化にのみ基づいて異常トラフィックを探知する方法は、少ない量的変化を起こす攻撃を探知することができなかったり正常ではあるが過度の量的変化を表わす場合を異常トラフィックと誤って探知する場合が発生し得る問題点がある。
前記のような問題点を解決するための本発明の目的は、異常トラフィックを探知する方法を提供するところにある。
前記のような問題点を解決するための本発明の目的は、異常トラフィックを探知する装置を提供するところにある。
前記目的を達成するための本発明の一実施例に係る異常トラフィック探知方法は、学習用トラフィック(traffic)データに基づいて複数のエンコーダ(encoder)を生成する段階、探知対象であるセッション別トラフィックデータに基づいて複数のイメージデータを生成する段階、および前記学習用トラフィックデータ、前記複数のエンコーダおよび前記複数のイメージデータのうち少なくとも一つを利用して前記セッション別トラフィックデータの異常の有無を判断する段階を含むことができる。
前記目的を達成するための本発明の一実施例に係る異常トラフィック探知装置は、プロセッサ(processor)、および前記プロセッサを通じて実行される少なくとも一つの命令が保存されたメモリ(memory)を含み、前記少なくとも一つの命令は、学習用トラフィック(traffic)データに基づいて複数のエンコーダ(encoder)を生成するように実行され、探知対象であるセッション別トラフィックデータに基づいて複数のイメージデータを生成するように実行され、前記学習用トラフィックデータ、前記複数のエンコーダおよび前記複数のイメージデータのうち少なくとも一つを利用して前記セッション別トラフィックデータの異常の有無を判断するように実行することができる。
本発明によると、異常トラフィックの探知にマシンラーニングを利用して誤警報率を減少させることができる。
本発明によると、マシンラーニングのうちインセプション−レジデュアルネットワーク−v2(inception-resnet-v2)基盤のオートエンコーダ(autoencoder)を利用することによって、効果的に計算量を減らしレイヤー(layer)を増加させることができるため、異常トラフィックの探知において高い正確度および速度を提供することができる。
本発明の一実施例に係る異常トラフィック探知装置のブロック構成図。 本発明の一実施例に係るトラフィックデータをイメージデータに変換する方法を説明する図面。 本発明の一実施例に係るコンボリューショナルニューラルネットワークのコンボリューション動作を説明する概念図。 本発明の一実施例に係るオートエンコーダの基盤となるインセプション−レジデュアルネットワーク−v2を説明する概念図。 本発明の一実施例に係るオートエンコーダの構成を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでエンコーダの構造を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでエンコーダの構造に対応するデコーダの構造を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでステム(stem)段階を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでInception−resnet−A段階を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでReduction−A段階を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでInception−resnet−B段階を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでReduction−B段階を説明する概念図。 本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでInception−resnet−C段階を説明する概念図。 本発明の一実施例に係る異常トラフィック探知方法を説明するフローチャート。 本発明の一実施例に係る異常トラフィック探知方法のうちエンコーダ、エンコーダに対応するデータ群集およびイメージデータを利用して異常の有無を判断する方法を説明するフローチャート。 本発明の一実施例に係るオートエンコーダでデコーダを除去し、エンコーダの出力である多次元データに対してt−SNEを適用した結果を示した図面。 本発明の一実施例に係る異常トラフィック探知装置の性能を説明するための図面。
本発明は多様な変更を加えることができ、多様な実施例を有することができるところ、特定の実施例を図面に例示し、詳細な説明に詳細に説明する。しかし、これは本発明を特定の実施形態に限定するためのものではなく、本発明の思想および技術範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解されるべきである。各図面の説明において、類似の参照符号は類似の構成要素に付与した。
第1、第2、A、Bなどの用語は多様な構成要素の説明に使われ得るが、前記構成要素は前記用語によって限定されてはならない。前記用語は一つの構成要素を別の構成要素から区別する目的でのみ使われる。例えば、本発明の権利範囲を逸脱することなく、かつ第1構成要素は第2構成要素と命名され得、同様に第2構成要素も第1構成要素と命名され得る。「および/または」という用語は、複数の関連して記載された項目の組み合わせまたは複数の関連して記載された項目中のいずれかの項目を含む。
ある構成要素が別の構成要素に「連結されて」いるとか「接続されて」いると言及された時には、その他の構成要素に直接的に連結されているかまたは接続されていることもあり得るが、中間に他の構成要素が存在することもあり得ると理解されるべきである。反面、ある構成要素が他の構成要素に「直接連結されて」いるとか「直接接続されて」いると言及された時には、中間に他の構成要素が存在しないものと理解されるべきである。
本出願で使った用語は単に特定の実施例を説明するために使われたものであって、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なることを意味しない限り、複数の表現を含む。本出願において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するためのものであり、一つまたはそれ以上の別の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加の可能性をあらかじめ排除しないものと理解されるべきである。
別途に定義されない限り、技術的又は科学的な用語を含んでここで使われるすべての用語は、本発明が属する技術分野で通常の知識を有する者によって一般に理解されることと同じ意味を有している。一般に使われる辞書に定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈されるべきであり、本出願で明白に定義しない限り、理想的又は過度に形式的な意味に解釈されない。
以下、本発明に係る好ましい実施例を添付図面を参照して詳細に説明する。
本明細書においてトラフィックとは、ウェブサイトに訪問する人々がやりとりするデータの量を意味するウェブトラフィック(web traffic)を意味し得、インターネットを経由するデータの流れを意味するインターネットトラフィック(internet traffic)を意味し得る。また、トラフィックはHTTP(HyperTextTransfer Protocol)を利用するインターネットトラフィックを意味し得る。ここで、HTTPはステートレス(stateless)プロトコルであり得、ステートレスプロトコルはHTTPサーバーが多重要請期間の間、各ユーザーに対する情報または状態を保有することを要求しないこともある。
図1は本発明の一実施例に係る異常トラフィック探知装置のブロック構成図である。
図1を参照すると、本発明の一実施例に係る異常トラフィック探知装置100は、少なくとも一つのプロセッサ110、メモリ120および保存装置130を含むことができる。
プロセッサ110は、メモリ120および/または保存装置130に保存されたプログラム命令(program command)を実行することができる。プロセッサ110は、中央処理装置(central processing unit;CPU)、グラフィック処理装置(graphicsprocessing unit;GPU)または本発明に係る方法が実行される専用のプロセッサを意味し得る。メモリ120と保存装置130は、揮発性保存媒体および/または不揮発性保存媒体で構成され得る。例えば、メモリ120は、読み取り専用メモリ(read only memory;ROM)および/またはランダムアクセスメモリ(randomaccess 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は生成したイメージデータを機械学習の学習データとして利用してエンコーダを生成することができる。ここで、機械学習はコンボリューショナルニューラルネットワーク(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の行列の形態は、F(0)×L(0)の大きさを有することができる。ここで、F(0)は、トラフィックデータを構成できる文字の種類の個数を意味し得、L(0)は行列に変換できるテキストの長さを意味し得る。
また、トラフィックデータの文字列の長さがL(0)より短い場合には、足りないvectorは0で表わすことができる。トラフィックデータの文字列の長さがL(0)より長い場合には、トラフィックデータの文字列の最初の文字が含まれるようにL(0)の大きさだけ前の部分の文字をvectorで表わすことができ、最後の文字が含まれるようにL(0)の大きさだけ後の部分の文字をvectorで表わすことができるが、ユーザーによって設定され得る。
例えば、図2を参照すると、トラフィックデータを構成できる文字は、「ABCDEF」であり、L(0)は6であると仮定する。この場合、F(0)は「ABCDEF」の個数として6の値を有し得る。したがって、one−hot vectorは、6x6の大きさを有することができる。このような設定で文字列「DBFC」を変換すると、文字列の最後の文字である「C」が第1列(column)に示され得 、その後は逆順で「F」、「B」および「D」が表われ得る。また、L(0)が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は、文字列で構成されたトラフィックデータをL(0)の大きさと対応するように分割して行列変換過程を行うことができる。
図3は、本発明の一実施例に係るコンボリューショナルニューラルネットワークのコンボリューション動作を説明する概念図である。
図3を参照すると、コンボリューショナルニューラルネットワーク(convolutionalneural network)は、入力データに対してコンボリューション(convolution)動作およびプーリング(pooling)動作などを行い、layerを積んで入力データを学習する機械学習を意味し得る。ここで、コンボリューション動作は、一定の大きさのカーネル(kernel)行列を利用して行列をスイープし(sweep)、データを他の形態に変形させることを意味し得、特性マップ(feature map)はコンボリューション動作を通じて生成されたイメージを意味し得る。ここで、カーネル行列の各元素に該当する値は加重値を意味し得る。プーリング動作はイメージの大きさを減らす過程であるサブサンプリング(subsampling)であって、convolution動作を行った結果からあらかじめ設定した方法によって代表値を抽出することを意味し得る。
本発明の一実施例に係るオートエンコーダはコンボリューショナルニューラルネットワークを利用して実現され得、教師信号(正解)なしに学習を行う非教師学習に該当し得る。
本発明の一実施例に係るオートエンコーダは、入力データをエンコーディングして隠れレイヤーを生成し、隠れレイヤーを再びデコーディングして出力データを生成し、入力データと出力データとを比較して出力データが入力されたデータに近似するようにエンコーディングおよび/またはデコーディング時のパラメーターまたは加重値を調整させることによって、データを学習する人工神経網である。オートエンコーダは学習が完了すると、デコーディングを行う部分を除去してエンコーディングを行う部分のみを使うことに特徴がある。本発明の明細書ではエンコーディングを行う部分をエンコーダと示すことができ、デコーディングを行う部分をデコーダと示すことができる。本発明の一実施例に係るオートエンコーダは、インセプション−レジデュアルネットワーク−v2を基盤とすることができる。インセプション−レジデュアルネットワーク−v2は、コンボリューショナルニューラルネットワークの構造であるインセプションネットワーク構造にレジデュアルネットワークを接ぎ木させたものであって、図4と共に後述する。また、具体的にコンボリューションを利用してエンコーディングおよびデコーディングを行う方法については図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の段階を含むことができ、演算量を減らしてより多くのレイヤーを有することができるインセプションネットワークの特性と、ネットワークが深くなって訓練が不可能なvanishing gradient problemを解決するために下位レイヤーの出力を減らし、上位レイヤーの出力を下位レイヤーに加えるレジデュアルネットワークの特性を接ぎ木させたネットワークであり得る。さらに詳細には、Christian SzegedyのInception-v4、inception-resnet and the impact of residual connections onlearning(2016)論文に説明されている。前述した論文で、インセプション−レジデュアルネットワーク−v2は299×299の大きさを有するRGB 3個のチャネルで構成されたイメージ、すなわち299×299×3の大きさの入力データを受信して1000の大きさの圧縮データを生成する方法を提案した。ただし、本発明でインセプション−レジデュアルネットワーク−v2は、前述した論文で提案した構造を変形して、図2で説明した方式により生成された1×L(0)×F(0)大きさの入力データを受信して1000の大きさの圧縮データを生成するエンコーダの部分を含むことができ、図5で後述するデコーダを利用して再び1×L(0)×F(0)大きさのデータにデコーディングするデコーダの部分を含むことができる。
図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 maxpooling)を意味し得、strideはコンボリューションまたはマックスプーリングを行う間隔を意味し得、linearは活性関数(avtivation function)なしに全コンボリューション(fullconvolution)を行うことを意味し得る。Conv.はコンボリューションを意味し得、Conv.Trans.はコンボリューションの逆を意味し得る。Ma×Poolはマックスプーリングを意味し得、MaxUnPoolはマックスプーリングの逆を意味し得る。A×B Conv.はAxBの大きさを参照してコンボリューションを行うことを意味し得、A×B MaxPoolはA×Bの大きさを参照してマックスプーリングを行うことを意味し得る。前述した記号の説明は本発明の明細書で継続して同じ意味で使われ得る。
図6は、本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでエンコーダの構造を説明する概念図である。
具体的には、図6はエンコーディング段階の合算、分配およびスケーリングを説明するもので、図6の(a)を参照すると、本発明の一実施例に係るオートエンコーダのエンコーディング段階において、Filter Concatは各モジュールの出力データを合算することができ、シグマ(sigma)記号を使って表わすこともできる。換言すれば、Filter Concatの出力データXは、各モジュールの出力データx、x、…、xを合算したもので表わすことができる。図5の(b)を参照すると、本発明に係るオートエンコーダのエンコーディング段階において、分配は出力データを同じ出力データに分配することを表わすことができる。また、図5の(c)を参照すると、本発明のオートエンコーダでスケーリング(scaling)は各モジュールの出力データにa、a、…、aをかけた値を合算することであり、ここで、a、a、…、aはエンコーディングの部分のパラメーターまたは加重値を意味し得、a、a、…、aを調整して学習を進めることができる。
図7は、本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでエンコーダの構造に対応するデコーダの構造を説明する概念図である。
具体的には、図7はデコーディング段階の分配、平均およびスケーリングを説明するもので、図7の(a)を参照すると、本発明の一実施例に係るオートエンコーダのデコーディング段階において、Filter Splitは上位モジュールの出力データを分けて各モジュールに分配することができ、各モジュールに分配された出力データの合計が上位段階の出力データと同じでもよい。Filter Splitはエンコーディング段階と同様にシグマ記号を使って表わすこともできる。換言すれば、Filter Splitの上位段階の出力データXは、各モジュールに分配された出力データx、x、…、xを合算したもので表わすことができる。図6の(b)を参照すると、本発明に係るオートエンコーダのデコーディング段階でMeanは各上位モジュールの出力データに対する平均を算出することができる。また、図6の(c)を参照すると、本発明のオートエンコーダでスケーリングは上位モジュールの出力データを分配して各分配された出力データにb、b、…、bをそれぞれかけることであり、ここで、b、b、…、bはデコーディングの部分のパラメーターまたは加重値を意味し得、b、b、…、bを調整して学習を進めることができる。
図8は、本発明の一実施例に係るインセプション−レジデュアルネットワーク−v2基盤のオートエンコーダでステム(stem)段階を説明する概念図である。
図8を参照すると、本発明の一実施例に係るオートエンコーダのstem段階は、図5のエンコーダ(encoder)とデコーダ(decoder)でそれぞれ行われ得る。換言すれば、図5のエンコーダでは図8のエンコーダstem段階が行われ得、図5のデコーダでは図8のデコーダstem段階が行われ得る。エンコーダのstem段階は入力データを順次に1×3 Conv.(stride 2)、1×3 Conv.および1×3 Conv.を行うことができ、最後の1×3 Conv.の出力データを分配して1×3 MaxPool(stride 2)および1×3 Conv.(strde 2)を行うことができ、分配して行った出力データを再び合算し、再び分配して、一方では1×1 Conv.および1×3 conv.を順次に行うことができ、他方では1×1 Conv.、1×1 Conv.、1×7 Conv.および1×3 Conv.を順次に行うことができる。分配して行った出力データを再び合算し、再び分配して、1×3 Conv.および1×3 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個に分配することができ、一番目は1×1 Conv.、1×3 Conv.および1×3 Conv.を順次に行うことができ、二番目は1×1 Conv.および1×3 Conv.を順次に行うことができ、三番目は1×1 Conv.を行うことができる。一番目、二番目および三番目は合算されて1×1 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個に分配することができ、一番目は1×1 Conv.、1×3 Conv.および1×3 Conv.(stride 2)を順次に行うことができ、二番目は1×3 Conv.(stride 2)を行うことができ、三番目は1×3 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個に分配することができ、一番目は1×1 Conv.、1×7 Conv.および1×1 Conv.を順次に行うことができ、二番目は1×1 Conv.を行うことができる。一番目および二番目は合算されて1×1 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個に分配することができ、一番目は1×1 Conv.、1×3 Conv.および1×3 Conv.(stride 2)を順次に行うことができ、二番目は1×3 Conv.および1×3 Conv.(stride 2)を行うことができ、三番目は1×1 Conv.および1×3 Conv.(stride 2)を行うことができ、四番目は1×3 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個に分配することができ、一番目は1×1 Conv.、1×3 Conv.および1×1 Conv.を順次に行うことができ、二番目は1×1 Conv.を行うことができる。一番目および二番目は合算されて1×1 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 トラフィックデータ獲得部
110 プロセッサ
120 メモリ
130 保存装置

Claims (8)

  1. 異常トラフィック探知装置で遂行される異常トラフィック探知方法として、
    コンボリューショナルニューラルネットワーク(convolutional neural networks)を利用するインセプション−レジデュアルネットワーク−v2(inception−residual network−v2)基盤のオートエンコーダ(autoencoder)を通じて学習用トラフィック(traffic)データを学習して複数のエンコーダ(encoder)を生成する段階と、
    探知対象であるセッション別トラフィックデータに基づいて複数のイメージデータを生成する段階と、
    前記学習用トラフィックデータ、前記複数のエンコーダおよび前記複数のイメージデータのうち少なくとも一つを利用して前記セッション別トラフィックデータの異常の有無を判断する段階とを含み、
    前記セッション別トラフィックデータの異常の有無を判断する段階は、
    前記オートエンコーダに前記複数のイメージデータを入力してBCE(binary cross entropy)を算出する段階と、
    前記BCEとあらかじめ設定されたしきい値とを比較して前記セッション別トラフィックデータの異常の有無を判断する段階と
    前記BCEが前記あらかじめ設定されたしきい値未満の場合、前記学習用トラフィックデータおよび前記複数のエンコーダに基づいてクラスタリングアルゴリズムを利用して複数のデータ群集を生成する段階および
    同じエンコーダを基準として前記複数のエンコーダによる出力データが前記複数のエンコーダに対応するデータ群集にすべて含まれない場合、前記セッション別トラフィックデータを異常トラフィックと判断する段階と、を含み、
    前記探知対象であるセッション別トラフィックデータに基づいて複数のイメージデータを生成する段階は、
    前記セッション別トラフィックデータに含まれる文字列を構成する各文字を逆順でワン−ホットベクター(one−hot vector)に変換する段階と、
    変換されたone−hot vectorを結合して各文字の位置を示す行列を構成する段階と、
    構成された行列に基づいてイメージを生成する段階とを含む、異常トラフィック探知方法。
  2. 前記学習用トラフィックデータを学習して複数のエンコーダを生成する段階は、
    前記学習用トラフィックデータをあらかじめ設定された単位に分割する段階と、
    前記分割した学習用トラフィックデータを複数の学習用イメージデータに変換する段階と、
    前記複数の学習用イメージデータを学習して前記複数のエンコーダを生成する段階と、を含む、請求項1に記載の異常トラフィック探知方法。
  3. 前記BCEとあらかじめ設定されたしきい値とを比較して前記セッション別トラフィックデータの異常の有無を判断する段階は、
    前記BCEが前記あらかじめ設定されたしきい値以上の場合、前記セッション別トラフィックデータを異常と判断する段階を含む、請求項に記載の異常トラフィック探知方法。
  4. 前記学習用トラフィックデータおよび前記複数のエンコーダに基づいてクラスタリングアルゴリズムを利用して複数のデータ群集を生成する段階は、
    前記分割した学習用トラフィックデータを前記複数のエンコーダに入力して前記複数のエンコーダの出力をそれぞれ保存する段階と、
    前記それぞれ保存した複数のエンコーダの出力に対して前記クラスタリングアルゴリズムを適用して前記複数のエンコーダによる少なくとも一つ以上のデータ群集をそれぞれ生成する段階と、を含む、請求項に記載の異常トラフィック探知方法。
  5. プロセッサと、
    前記プロセッサを通じて実行される少なくとも一つの命令が保存されたメモリと、を含み、
    前記少なくとも一つの命令は、
    コンボリューショナルニューラルネットワーク(convolutional neural networks)を利用するインセプション−レジデュアルネットワーク−v2(inception−residual network−v2)基盤のオートエンコーダ(autoencoder)を通じて学習用トラフィックデータを学習して複数のエンコーダを生成するように実行され、
    探知対象であるセッション別トラフィックデータに基づいて複数のイメージデータを生
    成するように実行され、
    前記学習用トラフィックデータ、前記複数のエンコーダおよび前記複数のイメージデータのうち少なくとも一つを利用して前記セッション別トラフィックデータの異常の有無を判断するように実行され、
    前記オートエンコーダに前記複数のイメージデータを入力してBCEを算出するように実行され、
    前記BCEとあらかじめ設定されたしきい値を比較して前記セッション別トラフィックデータの異常の有無を判断するように実行され、
    前記BCEが前記あらかじめ設定されたしきい値未満の場合、前記学習用トラフィックデータおよび前記複数のエンコーダに基づいてクラスタリングアルゴリズムを利用して複数のデータ群集を生成するように実行され、
    同じエンコーダを基準として前記複数のエンコーダによる出力データが前記複数のエンコーダに対応するデータ群集にすべて含まれない場合、前記セッション別トラフィックデータを異常トラフィックと判断するように実行され、
    前記セッション別トラフィックデータに含まれる文字列を構成する各文字を逆順でワン−ホットベクター(one−hot vector)に変換するように実行され、
    変換されたone−hot vectorを結合して各文字の位置を示す行列を構成するように実行され、
    構成された行列に基づいてイメージを生成するように実行される、異常トラフィック探知装置。
  6. 前記少なくとも一つの命令は、
    前記学習用トラフィックデータをあらかじめ設定された単位に分割するように実行され、
    前記分割した学習用トラフィックデータを複数の学習用イメージデータに変換するように実行され、
    前記複数の学習用イメージデータを学習して前記複数のエンコーダを生成するように実行される、請求項に記載の異常トラフィック探知装置。
  7. 前記少なくとも一つの命令は、
    前記BCEが前記あらかじめ設定されたしきい値以上の場合、前記セッション別トラフィックデータを異常と判断するように実行される、請求項に記載の異常トラフィック探知装置。
  8. 前記少なくとも一つの命令は、
    前記分割した学習用トラフィックデータを前記複数のエンコーダに入力して前記複数のエンコーダの出力をそれぞれ保存するように実行され、
    前記それぞれ保存した複数のエンコーダの出力に対して前記クラスタリングアルゴリズムを適用して前記複数のエンコーダによる少なくとも一つ以上のデータ群集をそれぞれ生成するように実行される、請求項に記載の異常トラフィック探知装置。
JP2017235153A 2017-07-28 2017-12-07 異常トラフィックを探知する方法および装置 Active JP6757978B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JP2019028971A JP2019028971A (ja) 2019-02-21
JP6757978B2 true JP6757978B2 (ja) 2020-09-23

Family

ID=63230316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017235153A Active JP6757978B2 (ja) 2017-07-28 2017-12-07 異常トラフィックを探知する方法および装置

Country Status (3)

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

Families Citing this family (39)

* 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
AU2017281232B2 (en) * 2016-06-22 2020-02-13 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
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
CN109829299B (zh) * 2018-11-29 2022-05-10 电子科技大学 一种基于深度自编码器的未知攻击识别方法
KR102169255B1 (ko) * 2018-12-20 2020-10-23 펜타시큐리티시스템 주식회사 Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
KR102279983B1 (ko) * 2018-12-28 2021-07-21 성균관대학교산학협력단 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
KR102171810B1 (ko) * 2018-12-28 2020-10-30 강원대학교산학협력단 다차원 임베딩을 이용한 시퀀스 데이터 태깅 방법 및 장치
CN109726717B (zh) * 2019-01-02 2022-03-01 西南石油大学 一种车辆综合信息检测系统
KR102148283B1 (ko) * 2019-01-31 2020-08-26 (주)에이알씨엔에스 딥 러닝을 이용한 네트워크 공격 탐지 시스템
CN109978013B (zh) * 2019-03-06 2021-01-19 华南理工大学 一种用于人物动作识别的深度聚类方法
KR102088509B1 (ko) * 2019-03-27 2020-03-12 국방과학연구소 컴퓨터 시스템의 이상 행위 탐지 방법 및 장치
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 北京百度网讯科技有限公司 作弊检测的方法及装置
KR102281819B1 (ko) * 2019-10-01 2021-07-26 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
CN110796366A (zh) * 2019-10-28 2020-02-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
KR102407730B1 (ko) 2020-06-10 2022-06-16 한국전자통신연구원 복수개의 머신 러닝 학습 모델을 이용한 이상 상황 탐지 방법 및 이를 위한 장치
KR102418237B1 (ko) 2020-06-10 2022-07-08 한국전자통신연구원 머신 러닝을 이용한 이상 상황 탐지 시스템의 탐지 이상 처리 방법 및 이를 위한 장치
CN113762299A (zh) * 2020-06-28 2021-12-07 北京沃东天骏信息技术有限公司 一种异常流量检测方法和装置
CN113971424A (zh) * 2020-07-22 2022-01-25 中国科学院沈阳计算技术研究所有限公司 一种基于自编码器降维结合聚类的水质点位优化的方法
KR102502648B1 (ko) * 2020-07-27 2023-02-22 가톨릭대학교 산학협력단 Rnn 인코더-디코더를 이용하여 시계열에서의 이상상황을 탐지하는 방법 및 장치
KR20220019560A (ko) * 2020-08-10 2022-02-17 삼성전자주식회사 네트워크 모니터링 장치 및 방법
SG10202008469RA (en) * 2020-09-01 2020-10-29 Ensign Infosecurity Pte Ltd A deep embedded self-taught learning system and method for detecting suspicious network behaviours
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
KR102329889B1 (ko) * 2020-09-23 2021-11-23 펜타시큐리티시스템 주식회사 로드 사이드 유닛의 이상 감지 방법 및 장치
CN112150447B (zh) * 2020-09-27 2021-10-15 北京嘀嘀无限科技发展有限公司 基于位置服务的异常数据确定方法、装置和电子设备
CN114638777A (zh) * 2020-12-16 2022-06-17 富泰华工业(深圳)有限公司 图像瑕疵检测方法、装置、电子设备及介质
KR102572192B1 (ko) * 2021-03-29 2023-08-29 주식회사 씨티아이랩 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
CN114710322B (zh) * 2022-03-15 2023-06-20 清华大学 基于流量交互图的隐蔽恶意流量检测方法和装置
CN117278262B (zh) * 2023-09-13 2024-03-22 武汉卓讯互动信息科技有限公司 基于深度神经网络的ddos安全防御系统

Family Cites Families (19)

* 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
US8016629B2 (en) * 2005-04-25 2011-09-13 Showa Denko K.K. 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 한국전자통신연구원 비정상 트래픽 탐지 장치 및 방법
KR100978972B1 (ko) * 2008-01-17 2010-08-30 한남대학교 산학협력단 에스브이엠 침입 탐지 시스템 및 그 동작 방법
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 한국전자통신연구원 탐지 규칙 자동 생성 장치 및 방법
US10848386B2 (en) * 2015-12-08 2020-11-24 Siemens Aktiengesellschaft Method and apparatus for automatic identification of an outage of a network node
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
US10305553B2 (en) * 2017-06-19 2019-05-28 Virginia Tech Intellectual Properties, Inc. Encoding and decoding of information for wireless transmission using multi-antenna transceivers
US10726128B2 (en) * 2017-07-24 2020-07-28 Crowdstrike, Inc. Malware detection using local computational models

Also Published As

Publication number Publication date
JP2019028971A (ja) 2019-02-21
KR101888683B1 (ko) 2018-08-14
US10432653B2 (en) 2019-10-01
US20190036952A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
JP6757978B2 (ja) 異常トラフィックを探知する方法および装置
Hu et al. Learning semantic segmentation of large-scale point clouds with random sampling
JP6608981B2 (ja) 異常セッション感知方法
JP6757986B2 (ja) Cae基盤で異常なトラフィックを探知する方法および装置
CN111782838B (zh) 图像问答方法、装置、计算机设备和介质
JP2019032808A (ja) 機械学習方法および装置
CN111723732A (zh) 一种光学遥感图像变化检测方法、存储介质及计算设备
US20220335272A1 (en) Fast sparse neural networks
CN107832794A (zh) 一种卷积神经网络生成方法、车系识别方法及计算设备
EP3855357A1 (en) Image processing method and apparatus using neural network
CN113239914B (zh) 课堂学生表情识别及课堂状态评估方法、装置
CN112906721B (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN106355210B (zh) 基于深度神经元响应模式的绝缘子红外图像特征表达方法
CN114021696A (zh) 用于高保真图像变换的条件轴向变换层
Zhang et al. MultiResolution attention extractor for small object detection
Li et al. Multi-source image fusion algorithm based on cellular neural networks with genetic algorithm
Chhikara et al. An improved discrete firefly and t-test based algorithm for blind image steganalysis
CN111753729B (zh) 一种假脸检测方法、装置、电子设备及存储介质
Chen et al. Efficient video hashing based on low‐rank frames
CN116958324A (zh) 图像生成模型的训练方法、装置、设备及存储介质
Guo et al. Efficient convolutional networks learning through irregular convolutional kernels
CN112348855B (zh) 视觉里程计特征点提取方法、系统、电子设备和存储介质
Li et al. Spnet: Multi-shell kernel convolution for point cloud semantic segmentation
CN116250022A (zh) 在用于以对象为中心的视觉推理的对象嵌入上实现注意力的神经网络
CN113628139A (zh) 一种基于生成对抗网络的模糊图像复原方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R150 Certificate of patent or registration of utility model

Ref document number: 6757978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250