JP6757986B2 - Cae基盤で異常なトラフィックを探知する方法および装置 - Google Patents

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

Info

Publication number
JP6757986B2
JP6757986B2 JP2018243019A JP2018243019A JP6757986B2 JP 6757986 B2 JP6757986 B2 JP 6757986B2 JP 2018243019 A JP2018243019 A JP 2018243019A JP 2018243019 A JP2018243019 A JP 2018243019A JP 6757986 B2 JP6757986 B2 JP 6757986B2
Authority
JP
Japan
Prior art keywords
cae
traffic
stage
image
converting
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
JP2018243019A
Other languages
English (en)
Other versions
JP2020102178A (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 JP2020102178A publication Critical patent/JP2020102178A/ja
Application granted granted Critical
Publication of JP6757986B2 publication Critical patent/JP6757986B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

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)基盤で異常なトラフィックを探知する方法および装置を利用する場合には、異常トラフィックの分散とエントロピー特性を反映して正確に異常トラフィックを探知することができる。
また、文字列基盤のトラフィックをイメージ基盤のオートエンコーダーを適用して分析することによって、異常トラフィックを感知することができる。
本発明の一実施例に係るCAE基盤で異常なトラフィックを探知する方法および装置の概念を説明するための例示図。 本発明の一実施例に係る文字列をイメージに変換する方法を説明するための概念図。 本発明の一実施例に係る文字列をイメージに変換する方法に対する例示図。 本発明の一実施例に係るCAEの基盤となるインセプション−レジデュアルネットワーク−v2を説明する概念図。 本発明の一実施例に係るCAEの構成を説明する概念図。 本発明の一実施例に係るCAEでエンコーダーの構造を説明する概念図。 本発明の一実施例に係るCAEでエンコーダーの構造に対応するデコーダーの構造を説明する概念図。 本発明の一実施例に係るCAEでステム(stem)段階を説明する概念図。 本発明の一実施例に係るCAEでInception−resnet−A段階を説明する概念図。 本発明の一実施例に係るCAEでReduction−A段階を説明する概念図。 本発明の一実施例に係るCAEでInception−resnet−B段階を説明する概念図。 本発明の一実施例に係るCAEでReduction−B段階を説明する概念図。 本発明の一実施例に係るCAEでInception−resnet−C段階を説明する概念図。 本発明の一実施例に係るCAE(Convolutional AutoEncoder)基盤で異常なトラフィックを探知する方法に対するフローチャート。 本発明の一実施例に係るCAE(Convolutional AutoEncoder)基盤で異常なトラフィックを探知する装置に従う構成図。 本発明の一実施例に係るCAE(Convolutional AutoEncoder)基盤で異常なトラフィックを探知する方法および装置に対する実験結果を示したグラフ。 本発明の一実施例に係るCAE(Convolutional AutoEncoder)基盤で異常なトラフィックを探知する方法および装置に対する実験結果を示したグラフ。 本発明の一実施例に係る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を参照すると、本発明の一実施例ではトラフィックに対する文字列を構成する個別文字を一つのベクトル(x、x、x、x、x、x)で表現し、複数のベクトルを集めて(または複数のベクトルを行列で表現して)一つの2進数のイメージ形態で表現することができる。
さらに他の例示として、図3を参照すると、トラフィックによる文字列が「cbcfga」であるものを例にして、イメージに文字列を変換する過程を説明することができる。まず、文字列で構成されているトラフィックデータを文章の最後の文字から逆順に、one−hot vectorに変換することができる。ここで、one−hot vectorは、一つの次元値が1であり、残りのすべての次元値が0であるベクトルを意味し得る。この時、変換され得る文字の集合を{a、b、c、d、e、f}に設定し、一つのイメージに変換可能な文字列の長さ(ベクトルの長さに該当)を7に設定すると、文字列の最も後にあった文字「a」によるベクトル(x)は最初に文字が位置しているので、[1、0、0、0、0、0、0]と表現され得る。また、文字列に含まれた「b」は逆順に構成(agfcbc)する時に後から2番目(または前から5番目)に位置しているので、5番目の要素値が1であるベクトル[0、0、0、0、1、0、0]で表現することができる。また、文字列に含まれた「c」は逆順に構成(agfcbc)する時に前から4番目と6番目に位置しているので、4番目と6番目の要素が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の大きさを有するRGB3個のチャネルで構成されたイメージ、すなわち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はマックスプーリングの逆を意味し得る。AxB Conv.はAxBの大きさを参照して畳み込みを遂行することを意味し得、AxB MaxPoolはAxBの大きさを参照してマックスプーリングを遂行することを意味し得る。前述した記号の説明は本発明の明細書で継続して同じ意味で使用され得る。
図6は、本発明の一実施例に係るCAEでエンコーダーの構造を説明する概念図である。
具体的には、図6はエンコーディング段階の合算、分配およびスケーリングを説明するものであって、図6の(a)を参照すると、本発明の一実施例に係るCAEのエンコーディング段階で、Filter Concatは各モジュールの出力データを合算することができ、シグマ(sigma)記号を使用して表してもよい。換言すると、Filter Concatの出力データXは、各モジュールの出力データX、X、…、Xを合算したものと表すことができる。図6の(b)を参照すると、本発明に係るCAEのエンコーディング段階で、分配は出力データを同じ出力データに分配するものと表すことができる。また、図6の(c)を参照すると、本発明のCAEでスケーリング(scaling)は各モジュールの出力データにa、a、…、aを積算した値を合算するものであって、ここで、a、a、…、aはエンコーディング部分のパラメーターまたは加重値を意味し得、a、a、…、aを調整して学習を進行させることができる。
図7は、本発明の一実施例に係るCAEでエンコーダーの構造に対応するデコーダーの構造を説明する概念図である。
具体的には、図7はデコーディング段階の分配、平均およびスケーリングを説明するものであって、図7の(a)を参照すると、本発明の一実施例に係るCAEのデコーディング段階で、Filter Splitは上位モジュールの出力データを分けて各モジュールに分配することができ、各モジュールに分配された出力データの和が上位段階の出力データと同じであり得る。Filter Splitはエンコーディング段階でのように、シグマ記号を使用して示すこともできる。換言すると、Filter Splitの上位段階の出力データXは、各モジュールに分配された出力データX、X、…、Xを合算したもので表すことができる。図7の(b)を参照すると、本発明に係るCAEのデコーディング段階でMeanは、各上位モジュールの出力データに対する平均を算出することができる。また、図7の(c)を参照すると、本発明のCAEでスケーリング(scaling)は上位モジュールの出力データを分配して各分配された出力データにb、b、…、bをそれぞれ積算したものであって、ここで、b、b、…、bはデコーディング部分のパラメーターまたは加重値を意味し得、b、b、…、bを調整して学習をシンクさせることができる。
図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.を順次遂行することができ、2番目は1x1 Conv.および1x3 Conv.を順次遂行することができ、3番目は1x1 Conv.を遂行できる。最初、2番目および3番目は合算されて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)を順次遂行することができ、2番目は1x3 Conv.(stride 2)を遂行することができ、3番目は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.を順次遂行することができ、2番目は1x1 Conv.を遂行できる。最初および2番目は合算されて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)を順次遂行することができ、2番目は1x3 Conv.および1x3 Conv.(stride 2)を遂行することができ、3番目は1x1 Conv.および1x3 Conv.(stride 2)を遂行することができ、4番目は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.を順次遂行することができ、2番目は1x1 Conv.を遂行できる。最初および2番目は合算されて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で定義され得る。
一般的に文字基盤のイメージ変換において、各チャネル(それぞれの文字)は殆ど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の通りである。
前記数式4でtotal BCEは数式2を参照することができ、α、βは正の定数であり、total BCVは下記の数式5のように定義され得る。
数式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千件の異常トラフィックが含まれている。
各要請メッセージに対してイメージに変換したデータに対する異常トラフィック探知結果を分析したし、この時、費用関数の係数αは0、βは1として適用した。
図16を参照すると、正常データ(normal)と異常データ(anomalous)に対してBCEとBCVを使用した時に平均(mean)と標準偏差(STD)に対するempirical CDF(実証的累積分布関数)を算出した結果グラフを確認することができる。
図17を参照すると、全体のサンプルデータを一回り学習したものを1epochとした時、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 (16)

  1. CAE(Convolutional AutoEncoder)基盤で異常なトラフィックを探知する方法であって、
    正常トラフィックによる文字列をイメージに変換する段階;
    変換したイメージをCAEを利用して学習する段階;および
    学習したCAEにターゲットトラフィックを入力して異常トラフィックを探知する段階を含み、
    前記異常トラフィックを探知する段階は、
    前記ターゲットトラフィックをイメージに変換する段階;および
    イメージに変換したターゲットトラフィックを前記学習したCAEに入力して獲得した出力に対してBCE(Binary Cross Entropy)またはBCV(Binary Cross Varentropy)を評価する段階を含み、
    前記変換したイメージをCAEを利用して学習する段階は、
    前記BCEによるtotal BCEと前記BCVによるtotal BCVを線形結合して定義される費用関数(Cost function)を最小化するように、前記CAEのパラメーターを決定する段階を含む、異常なトラフィックを探知する方法。
  2. 前記イメージに変換する段階は、
    前記正常トラフィックをUTF−8(Unicode−Transformation−Format−8)形式で獲得する段階;および
    獲得した正常トラフィックによる文字列を16進数に変換する段階を含む、請求項1に記載の異常なトラフィックを探知する方法。
  3. 前記イメージに変換する段階は、
    前記正常トラフィックによる文字列を逆順に変換する段階;
    逆順に変換した文字列を構成する文字をベクトルに変換する段階;および
    ベクトルに変換した文字列をイメージに変換する段階を含む、請求項1に記載の異常なトラフィックを探知する方法。
  4. 前記CAEは、
    Inception Resnet V2基盤で構成されたオートエンコーダー(Autoencoder)である、請求項1に記載の異常なトラフィックを探知する方法。
  5. 前記変換したイメージをCAEを利用して学習する段階は、
    前記BCEに基づいて定義される費用関数(Cost function)を最小化するように、前記CAEのパラメーターを決定する段階を含む、請求項1に記載の異常なトラフィックを探知する方法。
  6. で定義される、請求項1に記載の異常なトラフィックを探知する方法。
  7. で定義される、請求項1に記載の異常なトラフィックを探知する方法。
  8. 前記費用関数(Cost function)は、数式
    で定義される、請求項に記載の異常なトラフィックを探知する方法。
  9. CAE(Convolutional AutoEncoder)基盤で異常なトラフィックを探知する装置であって、
    少なくとも一つのプロセッサ(processor);および
    前記少なくとも一つのプロセッサが少なくとも一つの段階を遂行するように指示する命令語(isntructions)を保存するメモリ(memory)を含み、
    前記少なくとも一つの段階は、
    正常トラフィックによる文字列をイメージに変換する段階;
    変換したイメージをCAEを利用して学習する段階;および
    学習したCAEにターゲットトラフィックを入力して異常トラフィックを探知する段階を含み、
    前記異常トラフィックを探知する段階は、
    前記ターゲットトラフィックをイメージに変換する段階;および
    イメージに変換したターゲットトラフィックを前記学習したCAEに入力して獲得した出力に対してBCE(Binary Cross Entropy)またはBCV(Binary Cross Varentropy)を評価する段階を含み、
    前記変換したイメージをCAEを利用して学習する段階は、
    前記BCEによるtotal BCEと前記BCVによるtotal BCVを線形結合して定義される費用関数(Cost function)を最小化するように、前記CAEのパラメーターを決定する段階を含む、異常なトラフィックを探知する装置。
  10. 前記イメージに変換する段階は、
    前記正常トラフィックをUTF−8(Unicode−Transformation−Format−8)形式で獲得する段階;および
    獲得した正常トラフィックによる文字列を16進数に変換する段階を含む、請求項に記載の異常なトラフィックを探知する装置。
  11. 前記イメージに変換する段階は、
    前記正常トラフィックによる文字列を逆順に変換する段階;
    逆順に変換した文字列を構成する文字をベクトルに変換する段階;および
    ベクトルに変換した文字列をイメージに変換する段階を含む、請求項に記載の異常なトラフィックを探知する装置。
  12. 前記CAEは、
    Inception Resnet V2基盤で構成されたオートエンコーダー(Autoencoder)である、請求項に記載の異常なトラフィックを探知する装置。
  13. 前記変換したイメージをCAEを利用して学習する段階は、
    前記BCEに基づいて定義される費用関数(Cost function)を最小化するように、前記CAEのパラメーターを決定する段階を含む、請求項に記載の異常なトラフィックを探知する装置。
  14. で定義される、請求項に記載の異常なトラフィックを探知する装置。
  15. で定義される、請求項に記載の異常なトラフィックを探知する装置。
  16. 前記費用関数(Cost function)は、数式
    で定義される、請求項に記載の異常なトラフィックを探知する装置。
JP2018243019A 2018-12-20 2018-12-26 Cae基盤で異常なトラフィックを探知する方法および装置 Active JP6757986B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180166682A KR102169255B1 (ko) 2018-12-20 2018-12-20 Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치
KR10-2018-0166682 2018-12-20

Publications (2)

Publication Number Publication Date
JP2020102178A JP2020102178A (ja) 2020-07-02
JP6757986B2 true JP6757986B2 (ja) 2020-09-23

Family

ID=71098464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018243019A Active JP6757986B2 (ja) 2018-12-20 2018-12-26 Cae基盤で異常なトラフィックを探知する方法および装置

Country Status (3)

Country Link
US (1) US10783395B2 (ja)
JP (1) JP6757986B2 (ja)
KR (1) KR102169255B1 (ja)

Families Citing this family (12)

* 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结构的信道译码方法
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 以萨技术股份有限公司 一种基于图像确定异常行为的数据处理系统

Family Cites Families (8)

* 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
CA3058010A1 (en) * 2017-04-03 2018-10-11 Royal Bank Of Canada Systems and methods for malicious code detection
KR101888683B1 (ko) 2017-07-28 2018-08-14 펜타시큐리티시스템 주식회사 비정상 트래픽을 탐지하는 방법 및 장치
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6757986B2 (ja) Cae基盤で異常なトラフィックを探知する方法および装置
JP6757978B2 (ja) 異常トラフィックを探知する方法および装置
KR102275413B1 (ko) 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법
CN106844410B (zh) 确定多媒体内容的摘要的质量
CN108154222B (zh) 深度神经网络训练方法和系统、电子设备
CN116935169B (zh) 文生图模型训练方法以及文生图方法
WO2022105117A1 (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
CN116402063B (zh) 多模态讽刺识别方法、装置、设备以及存储介质
US20220189083A1 (en) Training method for character generation model, character generation method, apparatus, and medium
CN111324696A (zh) 实体抽取方法、实体抽取模型的训练方法、装置及设备
CN113826119A (zh) 纯注意力的计算机视觉
CN107239532B (zh) 数据挖掘方法及装置
US10824808B2 (en) Robust key value extraction
CN114612688B (zh) 对抗样本生成方法、模型训练方法、处理方法及电子设备
US10558909B2 (en) Linearly augmented neural network
CN115222845A (zh) 样式字体图片生成方法、装置、电子设备和介质
Chen et al. Image splicing localization using residual image and residual-based fully convolutional network
CN113435531B (zh) 零样本图像分类方法、系统、电子设备及存储介质
US20230394306A1 (en) Multi-Modal Machine Learning Models with Improved Computational Efficiency Via Adaptive Tokenization and Fusion
CN115906861B (zh) 基于交互方面信息融合的语句情感分析方法以及装置
Tiwary et al. Web accessibility challenges for disabled and generation of alt text for images in websites using artificial intelligence
CN113343235B (zh) 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质
CN113298265B (zh) 一种基于深度学习的异构传感器潜在相关性学习方法
CN114973271A (zh) 一种文本信息提取方法、提取系统、电子设备及存储介质
CN114078274A (zh) 人脸图像检测方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190125

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200512

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250