(57)【要約】  ネットワークトラフィックの時間的挙動を特徴付ける機能を抽出する時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施するシステムと方法が提供される。その方法は、１つまたは複数の装置に関連付けられた通信とプロファイルデータを抽出し（５１０）、その装置に関連付けられたデータのシーケンスを決定することを含む。その方法は、時間的機能を生成し（５２０）、異常なネットワークトラフィックをモデル化することを含む。その方法は、また、異常なネットワークトラフィックの異常な検出処理に、その装置に関連付けられた時間的機能とデータのシーケンスとを入力すること（５５０）、および、その装置に関連付けられた異常なネットワークトラフィックの予測結果のリストを定式化すること（５６０）を含む。
2021528743.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークトラフィックの時間的挙動を特徴付ける機能を抽出する時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施する方法であって、
少なくとも１つの装置に関連付けられた通信とプロファイルデータを抽出し（５１０）、前記少なくとも１つの装置に関連付けられた複数のデータのシーケンスを決定することと、
プロセッサ装置によって少なくとも１つの時間的機能を生成し（５２０）、異常なネットワークトラフィックをモデル化することと、
異常なネットワークトラフィックの少なくとも１つの異常な検出処理に、前記少なくとも１つの装置に関連付けられた前記少なくとも１つの時間的機能と前記複数のデータのシーケンスとを入力すること（５５０）と、
前記少なくとも１つの装置に関連付けられた異常なネットワークトラフィックの予測結果のリストを定式化すること（５６０）と、を含む方法。
【請求項２】
前記少なくとも１つの装置に関連付けられた前記通信とプロファイルデータを抽出することは、さらに、
前記複数のシーケンスの各々について、時点｛ｔ1，・・・，ｔn｝のシーケンスを決定することを含み、各時点ｔi（ｉ＝１、・・・、ｎ）は、その時点でデータがあることを示す、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの装置に関連付けられた前記通信とプロファイルデータを抽出することは、さらに、
前記通信とプロファイルデータの各タイムスタンプを最小最大正規化によって正規化することを含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つの時間的機能を生成することは、さらに、
短期使用機能を生成することを含み、短期使用は時間の間隔および時点の数に基づいて決定される、請求項１に記載の方法。
【請求項５】
前記少なくとも１つの時間的機能を生成することは、さらに、
データの機能の間に長い間隔を生成することを含み、データのない最大間隔は、
ｍａｘｇａｐ＝ｍａｘ1≦i≦k-1（ｔi+1−ｔi）
として定義され、
各時点ｔi（ｉ＝１、・・・、ｎ）は、その時点でデータがあることを示す、請求項１に記載の方法。
【請求項６】
前記少なくとも１つの時間的機能を生成することは、さらに、
クラスタパターン機能を生成することを含み、クラスタパターンは時点の密度に基づいて決定され、各時点ｔi（ｉ＝１、・・・、ｎ）は、その時点でデータがあることを示す、請求項１に記載の方法。
【請求項７】
前記クラスタパターン機能を生成することは、さらに、
最大密度機能、最小密度機能、最小最大密度比機能、高密度機能のビンの数、および低密度機能のビンの数のうちの１つまたは複数を生成することを含む、請求項６に記載の方法。
【請求項８】
前記最大密度機能を生成することは、さらに、
各シーケンスについて、各シーケンスの監視時間全体をスライドさせるサイズＴのスライディングウィンドウを生成することと、
【数１】
2021528743.tif 000011
を決定することと、を含み、最大密度は、前記複数のシーケンスの全てのスライディングウィンドウの密度の最大値である、請求項７に記載の方法。
【請求項９】
前記最小密度機能を生成することは、さらに、
各シーケンスについて、各シーケンスの監視時間全体をスライドさせるサイズＴのスライディングウィンドウを生成することと、
【数２】
2021528743.tif 000012
を決定することと、を含み、最小密度は、前記複数のシーケンスのすべてのスライディングウィンドウの密度の最小値である、請求項７に記載の方法。
【請求項１０】
前記異常なネットワークトラフィックの前記少なくとも１つの異常な検出処理に入力することは、さらに、
異常を検出するノイズを伴うアプリケーションの密度ベースの空間クラスタリング（ＤＢＳＣＡＮ）、分離フォレスト、および１クラスサポートベクターマシンの少なくとも１つを入力することを含む、請求項１に記載の方法。
【請求項１１】
前記異常なネットワークトラフィックの前記少なくとも１つの異常な検出処理に入力することは、さらに、
教師なし処理として少なくとも１つの異常検出処理を実装することを含む、請求項１に記載の方法。
【請求項１２】
ネットワークトラフィックの時間的挙動を特徴付ける機能を抽出する時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施するコンピュータシステムであって、
記憶装置に動作可能に結合されたプロセッサ装置を含み、前記プロセッサ装置は、
少なくとも１つの装置に関連付けられた通信とプロファイルデータを抽出し（３１０）、前記少なくとも１つの装置に関連付けられた複数のデータのシーケンスを決定し、
少なくとも１つの時間的機能を生成し（３２０）、異常なネットワークトラフィックをモデル化し、
異常なネットワークトラフィックの少なくとも１つの異常な検出処理に、前記少なくとも１つの装置に関連付けられた前記少なくとも１つの時間的機能と前記複数のデータのシーケンスとを入力し（３９０）、
前記少なくとも１つの装置に関連付けられた異常なネットワークトラフィックの予測結果のリストを定式化する（３９０）、
ように構成されている、システム。
【請求項１３】
前記少なくとも１つの装置に関連付けられた前記通信とプロファイルデータを抽出する場合、前記プロセッサ装置は、さらに、
前記複数のシーケンスの各々について、時点｛ｔ1，・・・，ｔn｝のシーケンスを決定するように構成されており、各時点ｔi（ｉ＝１、・・・、ｎ）は、その時点でデータがあることを示す、請求項１２に記載のシステム。
【請求項１４】
前記少なくとも１つの装置に関連付けられた通信とプロファイルデータを抽出する場合、前記プロセッサ装置は、さらに、
前記通信とプロファイルデータの各タイムスタンプを最小最大正規化によって正規化するように構成されている、請求項１２記載のシステム。
【請求項１５】
前記少なくとも１つの時間的機能を生成する場合、前記プロセッサ装置は、さらに、
短期使用機能を生成するように構成されており、短期使用は時間の間隔および時点の数に基づいて決定される、請求項１２に記載のシステム。
【請求項１６】
前記少なくとも１つの時間的機能を生成する場合、前記プロセッサ装置は、さらに、
データの機能の間に長い間隔を生成するよう構成されており、データのない最大間隔は、
ｍａｘｇａｐ＝ｍａｘ1≦i≦k-1（ｔi+1−ｔi）
として定義され、
各時点ｔi（ｉ＝１、・・・、ｎ）は、その時点でデータがあることを示す、請求項１２に記載のシステム。
【請求項１９】
前記少なくとも１つの時間的機能を生成する場合、前記プロセッサ装置は、さらに、
クラスタパターン機能を生成するよう構成されており、クラスタパターンは時点の密度に基づいて決定され、各時点ｔi（ｉ＝１、・・・、ｎ）は、その時点でデータがあることを示す、請求項１２に記載のシステム。
【請求項２０】
ネットワークトラフィックの時間的挙動を特徴付ける機能を抽出する時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、それで具体化されるプログラム命令を有する非一時的なコンピュータ可読記憶媒体を含み、コンピューティング装置によって実行可能な前記プログラム命令は、前記コンピューティング装置に、
少なくとも１つの装置に関連付けられた通信とプロファイルデータを抽出し（５１０）、前記少なくとも１つの装置に関連付けられた複数のデータのシーケンスを決定することと、
プロセッサ装置によって少なくとも１つの時間的機能を生成し（５２０）、異常なネットワークトラフィックをモデル化することと、
異常なネットワークトラフィックの少なくとも１つの異常な検出処理に、前記少なくとも１つの装置に関連付けられた前記少なくとも１つの時間的機能と前記複数のデータのシーケンスとを入力すること（５５０）と、
前記少なくとも１つの装置に関連付けられた異常なネットワークトラフィックの予測結果のリストを定式化すること（５６０）と、を含む方法を実行させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願情報）
本出願は２０１８年９月１９日に出願された仮出願番号６２／７３３，２７６よび２０１９年９月６日に出願された米国特許出願番号１６／５６２，８０５に対する優先権を主張するものであり、その全体が夫々参照により本明細書に組み込まれる。
【背景技術】
【０００２】
（技術分野）
本発明はディープラーニングに関し、特により具体的には、異常データの検出にディープラーニングを適用することに関する。
【０００３】
（関連技術の説明）
ディープラーニングは、人工ニューラルネットワークに基づく機械学習方法である。ディープラーニングアーキテクチャは、コンピュータビジョン、音声認識、自然言語処理、音認識、ソーシャルネットワークフィルタリング、機械翻訳、バイオインフォマティクス、ドラッグデザイン、医療画像分析、材料検査およびボードゲームプログラムなどを含む分野に適用することができる。ディープラーニングは、教師あり、半教師あり、または教師なしにすることができる。
【発明の概要】
【０００４】
本発明の一態様によれば、ネットワークトラフィックの時間的挙動を特徴付ける機能を抽出する時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施する方法が提供される。前記方法は、１つまたは複数の装置に関連付けられた通信とプロファイルデータを抽出し、前記装置に関連付けられたデータのシーケンスを決定することを含む。前記方法は、時間的機能を生成し、異常なネットワークトラフィックをモデル化することを含む。前記方法は、また、異常なネットワークトラフィックの１つの異常な検出処理に、前記装置に関連付けられた前記時間的機能と前記データのシーケンスとを入力すること、および前記装置に関連付けられた異常なネットワークトラフィックの予測結果のリストを定式化することを含む。
【０００５】
本発明の他の態様によれば、ネットワークトラフィックの時間的挙動を特徴付ける機能を抽出する時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施するシステムが提供される。前記システムは、記憶装置に動作可能に結合されたプロセッサ装置を含む。前記プロセッサ装置は、１つまたは複数の装置に関連付けられた通信とプロファイルデータを抽出し、前記装置に関連付けられたデータのシーケンスを決定する。前記プロセッサは、また、時間的機能を生成し、異常なネットワークトラフィックのモデル化も行う。前記プロセッサ装置は、異常なネットワークトラフィックの異常な検出処理に、前記装置に関連付けられた前記時間的機能と前記データのシーケンスとを入力し、前記装置に関連付けられた異常なネットワークトラフィックの予測結果のリストを定式化する。
【０００６】
これらおよび他の特徴および利点は添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【０００７】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【図１】本発明の一実施形態によるニューラルネットワークの一般化された図である。
【図２】本発明の一実施形態による人工ニューラルネットワーク（ＡＮＮ）アーキテクチャの図である。
【図３】本発明の一実施形態によるネットワークトラフィックの時間的挙動を特徴付けるための機能を抽出するために時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施するシステムを示すブロック図である。
【図４】本発明の一実施形態による時間的機能生成器を示すブロック図である。
【図５】本発明の一実施形態によるハイブリッド機能生成器を示すブロック図である。
【図６】本発明の一実施形態による時間的挙動機能の概要を示す表の一例である。
【図７】本発明の一実施形態による異常時間的挙動（ＡＴＢ）検出器を示すブロック図である。
【図８】本発明の一実施形態による異常なネットワークトラフィックを示す時間的挙動を特徴付ける機能を抽出するための時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）の方法を示す流れ図である。
【発明を実施するための形態】
【０００８】
本発明の実施形態によれば、ネットワークトラフィックの時間的挙動を特徴付ける機能を自動的に抽出する（例えば、教師なし）ためのシステムおよび方法が提供される。機能は、異常トラフィックを検出するための異常検出技術などの下流分析に使用することができる。
【０００９】
例示的な実施形態によれば、システムは、異常なネットワークトラフィックを検出する。システムは、異常なネットワークトラフィックデータを特徴付け、システムログから過去のネットワークトラフィックデータに基づいて、異常な接続および疑わしい接続の自動検出を可能にする。システムは、異常なネットワークトラフィックデータを特徴付け、システムログから過去のネットワークトラフィックデータに基づいて異常な接続および疑わしい接続の自動検出を可能にする時間的挙動機能を提供する。
【００１０】
一実施形態では、システムは、幅広い適用を可能にする方法で、効率的な教師なし検出を容易にし、場合によっては、トレーニングデータは得ること（例えば、限られたトレーニングデータを使用すること）が難しいことを含んでいる。システムは、異常を含む（例えば、しばしば隠れている）重要な時間的挙動（例えば、３つ）を捕捉するモデルに基礎付けられた点処理を実装し、シーケンスの異常な挙動を回復するために使用することができる。方法は、検出結果の解釈を容易にし、検出に使用される機能の意味に基づいて結果に文脈を提供する。ＳＤＴＢＡは、これらの時間的挙動を測定および定量化する機能を利用し、ネットワーク化されたシステムにおける異常を検出するのに有効である。
【００１１】
本明細書に記載する実施形態は完全にハードウェアであってもよく、完全にソフトウェアであってもよく、またはハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明がファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実施される。
【００１２】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、または伝達する任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム（または装置またはデバイス）、または伝達媒体とすることができる。媒体は、半導体またはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【００１３】
各コンピュータプログラムは本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるとき、コンピュータの操作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置（例えば、プログラムメモリまたは磁気ディスク）に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の予め決められた方法で動作させて、本明細書に記載する機能を実行させる。
【００１４】
プログラムコードを記憶および／または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも１つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルク記憶、および実行中にバルク記憶からコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力／出力またはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング装置などを含むが、これらに限定されない）は直接または経由するＩ／Ｏコントローラを介してシステムに結合され得る。
【００１５】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいは遠隔プリンタまたは記憶装置に結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在利用可能なネットワークアダプタのタイプのほんの一部である。
【００１６】
ここで、図を参照すると、同様の数字は同一または類似の要素を表し、最初に図１を表し、ニューラルネットワークの一般化された図が示される。
【００１７】
人工ニューラルネットワーク（ＡＮＮ）は、脳などの生物学的神経系に刺激される情報処理システムである。ＡＮＮの重要な要素は情報処理システムの構造であり、これは、特定の問題を解決するために並列に動く多くの高度に相互接続された処理要素（「ニューロン」と呼ばれる）を含む。ＡＮＮはさらに、ニューロン間に存在する重みの調整を含む学習を用いて、使用中にトレーニングされる。ＡＮＮは、このような学習処理を介して、パターン認識またはデータ分類などの特定のアプリケーションのために構成される。
【００１８】
ＡＮＮは、複雑または不正確なデータから意味を導出する能力を示し、パターンを抽出し、人間または他のコンピュータベースのシステムによって検出するには複雑すぎる傾向を検出するために使用することができる。ニューラルネットワークの構造は一般に、１つまたは複数の「隠れた」ニューロン１０４に情報を提供する入力ニューロン１０２を有する。入力ニューロン１０２と隠れニューロン１０４との間の接続１０８は重み付けされ、次に、これらの重み付けされた入力は層間で重み付けされた接続１０８と共に、隠れニューロン１０４内の何らかの機能にしたがって隠れニューロン１０４によって処理される。隠れニューロン１０４、およびニューロンと同様に異なる機能を実行する任意の数の層が存在し得る。畳み込みニューラルネットワーク、最大出力ネットワーク等のような異なるニューラルネットワーク構造も存在する。最後に、出力ニューロン１０６のセットは、隠れニューロン１０４の最後のセットから重み付けされた入力を受け入れ、処理する。
【００１９】
これは情報が入力ニューロン１０２から出力ニューロン１０６に伝搬する「フィードフォワード」計算を表す。フィードフォワード計算の完了時に、出力はトレーニングデータから利用可能な所望の出力と比較される。本明細書の例示的な実施形態では、トレーニングデータは複数のシーケンスのネットワークトラフィックデータを含むことができる。トレーニングデータに対する誤差は、次に、「フィードバック」計算で処理され、隠れニューロン１０４および入力ニューロン１０２は出力ニューロン１０６から後方に伝搬する誤差に関する情報を受信する。一旦、後方誤差伝搬が完了すると、重み付けが更新され、受信された誤差を説明するために、重み付けされた接続１０８が更新される。これは、ＡＮＮの１つの種類に過ぎない。
【００２０】
図２を参照すると、人工ニューラルネットワーク（ＡＮＮ）アーキテクチャ２００が示されている。本アーキテクチャは純粋に例示的なものであり、代わりに他のアーキテクチャまたはタイプのニューラルネットワークを使用することができることを理解されたい。本明細書で説明されるＡＮＮの実施形態は、高レベルの一般性でニューラルネットワーク計算の一般的な原理を説明することを意図して含まれており、如何なる方法でも制限するものとして解釈されるべきではない。
【００２１】
さらに、以下に記載されるニューロンの層およびそれらを接続する重みは、一般的な方法で記載され、任意の適切な程度またはタイプの相互接続性を有する任意のタイプのニューラルネットワーク層によって置き換えることができる。例えば、層は、畳み込み層、プーリング層、完全に接続された層、ストップマックス層、または任意の他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または除去することができ、相互接続のより複雑な形態のために重みを省略することができる。
【００２２】
フィードフォワード操作中、１組の入力ニューロン２０２は夫々、重み２０４の夫々の行に並列に入力信号を供給する。本明細書で説明するハードウェアの実施形態では、重み２０４は夫々、重み出力が重み２０４から夫々の隠れニューロン２０６に渡され、隠れニューロン２０６への重み付け入力を表すように、夫々の設定可能な値を有する。ソフトウェアの実施形態では、重み２０４は、単に、関連する信号に対して乗算される係数値として表すことができる。各重みからの信号を列ごとに加算し、隠れニューロン２０６に流れる。
【００２３】
隠れニューロン２０６は、重み２０４の層からの信号を使用し、何らかの計算を実行する。次に、隠れニューロン２０６は、それ自身の信号を他の重み２０４層に出力する。この層は、同じ方法で、重み２０４の列が、夫々の隠れニューロン２０６から信号受信し、行ごとに加算し、出力ニューロン２０８に供給される重み付けされた信号出力を生成する。
【００２４】
層および隠れニューロン２０６の追加の層を介在させることによって、任意の数のこれらの段階が実施されることを理解されたい。また、いくつかのニューロンは、層に一定の出力を提供する定常ニューロン２０９であってもよいことに留意すべきである。定常ニューロン２０９は入力ニューロン２０２および／または隠れニューロン２０６の間に存在することができ、フィードフォワード操作中にのみ使用される。
【００２５】
後方伝搬の間、出力ニューロン２０８は、重み２０４の層を横切って戻る信号を提供する。出力層は生成されたネットワーク応答とトレーニングデータを比較し、誤差を計算する。誤差信号は、誤差値に比例させることができる。この実施例では、重み２０４の行は、夫々の出力ニューロン２０８から並列に信号を受信し、列ごとに加算して隠れニューロン２０６に入力を提供する出力を生成する。隠れニューロン２０６は重み付けされたフィードバック信号をそのフィードフォワード計算の導関数と結合し、フィードバック信号を重み２０４の夫々の列に出力する前に誤差値を記憶する。この後方伝搬は、すべての隠れニューロン２０６および入力ニューロン２０２が誤差値を記憶するまで、ネットワーク２００全体を通って進む。
【００２６】
重み更新の間、記憶された誤差値は、重み２０４の設定可能な値を更新するために使用される。このようにして、重み２０４は、ニューラルネットワーク２００をその処理における誤差に適応させるようにトレーニングされ得る。３つの操作モード、フィードフォワード、後方伝搬、および重み更新は、互いに重複しないことに留意されたい。
【００２７】
ＡＮＮ２００は、ネットワークトラフィックの時間的挙動を特徴付けるための機能を抽出するために適用することができる。ＡＮＮ２００は以下のシステム３００に関して説明するように、ネットワークトラフィックの時間的挙動を特徴付けるための機能を抽出するために、時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施することによって、異常トラフィックを検出するための異常検出技術などの下流分析を実行することができる。
【００２８】
次に図３を参照すると、例示的な実施形態による、実在物の時間的挙動を特徴付ける機能を抽出するためにＳＤＴＢＡを実装するためのシステム３００を示すブロック図である。
【００２９】
図３は、システム３００のアーキテクチャを示す。システム３００は、時間的挙動分析エンジンに基礎付けられたシーケンスデータ（ＳＤＴＢＡＥ）と呼ぶことができ、ネットワークシステムデータプリプロセッサ３１０、時間的機能生成器３２０、ハイブリッド機能生成器３６０、および異常時間的挙動（ＡＴＦＢ）検出器３９０を含むことができる。
【００３０】
システム３００は、異常なネットワークトラフィックの教師なし検出を実施することができる。システム３００は、例えば企業ネットワークにおけるネットワーク性能の正確な推定を提供することができる。例えば、企業ネットワークでは、毎分複数（例えば、数千、数百万、数千万など）のネットワーク接続がセキュリティシステムによって監視される。システム３００はネットワーク接続上で収集されたトラフィックデータを効果的に分析し、ネットワークソースの異常なユーティリティをタイムリーに報告することができる。システム３００はシステムログから過去のネットワークトラフィックデータに基づいて、異常なネットワークトラフィックデータを特徴付け、異常な接続および疑わしい接続の自動検出を可能にするため、効果的な時間的挙動機能を設計する方法を実装する。
【００３１】
ネットワークシステムデータプリプロセッサ３１０は入力通信およびプロファイルデータを処理する（例えば、前処理を実行する）。ネットワークシステムデータプリプロセッサ３１０は、通信およびプロファイルデータを処理して、不完全なデータおよび重複するデータを除去する。処理後、各シーケンスは、時点｛ｔ1，・・・，ｔn｝のシーケンスを有し、各時点ｔi（ｉ＝１、・・・、ｎ）は、この時点で処理があることを示す。時間的挙動分析は、複数のそのようなシーケンスに基づいて実行することができる。
【００３２】
ネットワークシステムデータプリプロセッサ３１０によって受信されたデータは、ネットワーク内のサーバの通信データおよびプロファイルデータを含む。例えば、データは、過去のトラフィックデータのシステムログを含むことができる。ネットワークシステムデータプリプロセッサ３１０は、不完全なデータおよび／または重複するデータを除去することができる。ネットワークシステムデータプリプロセッサ３１０は、すべての有効なデータを抽出するため、識別（ＩＤ）照合を実行することもできる。すべてのデータのタイムスタンプは所定の倍率（例えば、１００、５０等の要素）で最小最大正規化によって正規化され、所定の間隔（例えば、[０、１００]の間隔）にあり、その結果、異なるシーケンスの時間的挙動は比較できる。最小最大正規化は、ｘをｙ＝（ｘ−ｍｉｎ）／（ｍａｘ−ｍｉｎ）に線形変換する正規化戦略として定義することができ、ここで、ｍｉｎおよびｍａｘはＸにおける最小値および最大値であり、ここで、Ｘは、ｘの観測値のセットである。
【００３３】
時間的機能生成器３２０は、通信データおよびプロファイルデータを受信し、異なるタイプ（例えば、３つのタイプ）の時間的挙動の機能を自動的に生成する。各時間的挙動は、短期間の使用（処理モジュール）３３０、長いギャップ（処理モジュール）３４０、およびクラスタパターン（処理モジュール）３５０などのモジュールに対応する。
【００３４】
ハイブリッド機能生成器３６０は、ハイブリッド機能を生成する。ハイブリッド機能生成器３６０は、短期間の使用（処理モジュール）３３０、長いギャップ（処理モジュール）３４０、およびクラスタパターン（処理モジュール）３５０を介して、時間的機能発生器３２０から生成された時間的挙動機能を受信する。代替的に、または追加的に、時間的機能生成器３２０からの機能は、いくつかの静的機能および埋め込み機能などの他の機能３７５と連結３６７することができる。静的機能は時間によって影響されない、システムの本質的な特性を特徴付ける機能を含む。ネットワークトラフィックシステムにおいて、静的機能は、ＩＰアドレス、装置タイプ（サーバ、クライアント）などの機能を含む。埋め込み機能は、ディープラーニングモデルによって他の機能（時間的機能および静的機能など）から学ぶ低次元機能である。埋め込み機能は、しばしば、よりコンパクトで有益であり、元の機能の非線形関係を捕捉することができる。したがって、機能を埋め込むことは、有効性および効率性を改善するのに役立つことができる。
【００３５】
ＡＴＢ検出器３９０は、次いで、異常検出処理の入力として（例えば、シーケンス毎のレベルで）時間的挙動機能３６５を受信する。ＡＴＢ検出器３９０の出力は、図７に関して以下で説明されるような予測結果のリストを含むことができる。
【００３６】
システム３００は、ネットワークトラフィックの時間的挙動を特徴付ける機能を自動的に抽出するＳＤＴＢＡＥを実装することができる。特に、この機能は、異常トラフィックを検出するための異常検出技術などの下流分析に容易に使用することができる。ＳＤＴＢＡＥの中核は、特定の（例えば、１１）機能を有する異常なネットワークトラフィックの（例えば、３つの）重要な挙動を捕捉するポイントプロセスに基礎付けられたモデルである。重要な挙動は、短期使用、データとクラスタパターンとの間の長いギャップを含む。
【００３７】
図４は、例示的実施形態に従った、時間的機能生成器３２０のブロック図である。
【００３８】
時間的機能生成器３２０は、ネットワークトラフィックの重要な時間的挙動を特徴付ける機能を生成する。一例では、時間的機能生成器３２０は、疑わしい接続を提供するネットワーク接続（および、関連する実在物）の重要な時間的挙動を特徴付ける機能を生成する。
【００３９】
ネットワークトラフィックに関して、これらの機能は、異常が監視時間中に短期間に一連のデータを生成する傾向があることを意味する短期間の使用（短期間の使用３３０）、異常が連続する処理間に長いギャップを伴ってデータをまれに生成する傾向があることを意味するデータ間の長いギャップ（長いギャップ３４０）、および異常が短時間に集中的にデータを生成する傾向があり、監視時間中に多数の集中的な期間を有することを意味するクラスタパターン（クラスタパターン３５０）を含むことができる。
【００４０】
短期間の使用３３０は、異常なネットワークトラフィックのパターンを特徴付ける機能を生成することができる。例示的な実施形態によれば、短期間の使用のパターンは、使用の間隔および時点の数に基づいて特徴付けることができる。
【００４１】
使用の間隔は各シーケンスについて、Ｉｎｔｖ＝ｔmax−ｔminとして定義することができ、ここで、ｔmaxはシーケンスの最大時点であり、ｔminはシーケンスの最小時点である。Ｉｎｔｖの値が小さいことは、シーケンスが、（例えば、全体の）監視時間の（例えば、所定の最大間隔未満）の小さい期間のシーケンスであることを示す。
【００４２】
時点の数は、｛ｔ1，・・・，ｔn｝に対してｎとして定義することができる。シーケンスが監視時間全体の小さいウィンドウにデータを有する場合、シーケンスはｎの小さい値を有する傾向がある。一方、シーケンスが監視時間全体にデータを有する場合、そのシーケンスは、ｎの大きな値を有する傾向がある。さらに、シーケンスが小さいｎを有するが、データが監視時間の大きな期間に分配される場合、シーケンスはまた、異常である傾向がある。
【００４３】
データ間の長いギャップ３４０は、このパターンを特徴付けるために単一の機能を選択することができ、これは、データがない最大のギャップである。無データの最大ギャップの定義は、ｍａｘｇａｐ＝ｍａｘ1≦i≦k-1（ｔi+1−ｔi）である。シーケンスがｍａｘｇａｐの大きな値を有する場合、シーケンスはデータがない間、複数の長いギャップを有する傾向がある。データ間の長いギャップ３４０は、この挙動を異常挙動として定義することができる。
【００４４】
クラスタパターン３５０は、異なる機能を選択して、異常なネットワークトラフィックと一致するクラスタ化された活動のパターンを特徴付けることができる。例えば、クラスタパターン３５０は、最大密度、最小密度、最小最大密度比、高密度のビンの数、および低密度のビンの数などの機能を使用して、このパターンを特徴付けることができる。
【００４５】
最大密度の定義は、
【数１】
2021528743.tif 000003
である。
【００４６】
ここで、各シーケンスの監視時間全体をスライドさせるサイズＴのウィンドウがある。スライディングウィンドウ毎に、上記方程式の最大演算内の式を使用して密度が計算される。最大密度は、すべてのスライディングウィンドウの密度の最大値である。
【００４７】
シーケンスが最大密度の大きな値を有する場合、集中的なデータを含むシーケンス中に、クラスタパターンと一致する（例えば、暗示する）いくつかの領域が存在する。
【００４８】
最小密度の定義は、
【数２】
2021528743.tif 000004
である。
【００４９】
ここで、各シーケンスの全体の監視時間（例えば、全体）をスライドさせるサイズＴのウィンドウがある。スライディングウィンドウ毎に、上記方程式の最大演算内の式を使用して密度が計算される。最小密度は、すべてのスライディングウィンドウの密度の最小値である。
【００５０】
シーケンスが最小密度の大きな値を有する場合、希少なデータを含むシーケンス中にクラスタパターンを暗示するいくつかの領域が存在する。
【００５１】
最小最大密度比の定義は、
【数３】
2021528743.tif 000005
である。
【００５２】
これは、最大密度と最小密度の組み合わせである。シーケンスがそのデータ中に集中的な領域と希少な領域の両方を有する場合、シーケンスについての最小最大密度比の値は小さい。これは、クラスタパターンを暗示する。
【００５３】
高密度のビンの数の定義は、
【数４】
2021528743.tif 000006
である。
【００５４】
ビンの数＝ビンの値の合計
【００５５】
全体の監視時間は、複数のウィンドウに分割され、各ウィンドウは１つのビンに対応する。各ビンにおける時点の密度は計算される。密度が予め決められた閾値よりも大きい場合、密度の値は１に設定される。高密度のビンの数は、すべてのビンに対するそのような値の合計である。
【００５６】
シーケンスが高密度のビンの数の大きな値を有する場合、集中的なトランザクションを含むシーケンス内に複数の領域があり、これはクラスタパターンを暗示する。
【００５７】
低密度のビンの数。低密度ビンの数の定義は、
【数５】
2021528743.tif 000007
である。
【００５８】
全体の監視時間が複数のウィンドウに分割され、各ウィンドウは１つのビンに対応する。各ビンにおける時点の密度は計算される。密度が予め決められた閾値よりも低い場合、密度の値は１に設定される。低密度のビンの数は、すべてのビンに対するそのような値の合計である。
【００５９】
シーケンスが低密度のビンの数の大きな値を有する場合、希少なデータを含むシーケンス内に複数の領域が存在し、これは、クラスタパターンを暗示する。
【００６０】
図５は、実施例に従ったハイブリッド機能生成器３６０を示すブロック図である。
【００６１】
ハイブリッド機能生成器３６０は、（図４に関して上述したような）時間的機能を組み合わせて、違法な活動に関連するシーケンスの時間的挙動に関する洞察を提供する。ハイブリッド機能生成器３６０は短期間の使用３３０および長いギャップ３４０において生成される機能を組み合わせることによって、（例えば、３つの）ハイブリッド機能を生成する。例えば、ハイブリッド機能生成器３６０は、間隔ギャップ比、間隔時点数比、および時点数ギャップ比などの機能を生成することができる。
【００６２】
間隔ギャップ比の定義は、
【数６】
2021528743.tif 000008
である。図４に関して説明したように、特に、使用間隔およびデータ間の長いギャップに関して、間隔ギャップ比の小さな値は、異常な挙動を示す。
【００６３】
間隔時点数比の定義は、
【数７】
2021528743.tif 000009
である。図４に関して説明したように、特に時点の数およびデータ間の長いギャップに関して、間隔点数比の小さい値は異常な挙動を示す。
【００６４】
時点数ギャップ比の定義は
【数８】
2021528743.tif 000010
である。図４に関して説明したように、特に、時点の数およびデータ間の長いギャップに関して、時点数ギャップ比の小さい値は、異常な挙動を示す。
【００６５】
図６は、例示的な実施形態による、時間的挙動機能の概要を示す例示的な表である。
【００６６】
図６に示すように、表４００は、インデックス４１０（１〜１１）、機能４２０、および説明４３０（機能が何を含むか）の列を含む。表４００は機能の説明と共に、ＳＤＴＢＡＥシステム３００によって生成される時間的挙動機能の要約を提供する。
【００６７】
図４に関して上述したように、Ｉｎｔｖ（機能４２０、インデックス１）は、データ間隔ｔｍａｘ−ｔｍｉｎを定義する。
【００６８】
図４に関して上述したように、ｔｐ＿ｎｕｍｓ（インデックス２）は、時点の数（＃）を定義する。
【００６９】
図４に関して上述したように、ｇａｐ＿ｍａｘ（機能４２０、インデックス３）は、無データの最大ギャップを定義する。
【００７０】
ｉ＿ｇ＿ｒａｔｉｏ（機能４２０、インデックス４）は、図５に関して上述したように、間隔ギャップ比を定義し、インデックス付１および３の機能を組み合わせることによって決定することができる。例えば、ｉ＿ｇ＿ｒａｔｉｏは、Ｉｎｔｖ（機能４２０、インデックス１）を無データの最大ギャップ（インデックス３）で分割することによって決定される。
【００７１】
ｉ＿ｔ＿ｒａｔｉｏ（機能４２０、インデックス５）は、図５に関して上述したように、間隔時点数比を定義し、インデックス付１および２の機能を組み合わせることによって決定することができる。例えば、ｉ＿ｔ＿ｒａｔｉｏは、Ｉｎｔｖ（機能４２０、インデックス１）を時点数（インデックス２）で分割することによって決定される。
【００７２】
ｔ＿ｇ＿ｒａｔｉｏ（機能４２０、インデックス６）は、図５に関して上述したように、間隔ギャップ比を定義し、インデックス付２および３の機能を組み合わせることによって決定することができる。例えば、ｔ＿ｇ＿ｒａｔｉｏは、時点（インデックス２）を無データの最大ギャップ（インデックス３）で分割することによって決定される。
【００７３】
図４に関して上述したように、ｄｅｎｓｉｔｙ＿ｍａｘ（機能４２０、インデックス７）は、最大密度を定義する。
【００７４】
図４に関して上述したように、ｄｅｎｓｉｔｙ＿ｍｉｎ（機能４２０、インデックス８）は、最小密度を定義する。
【００７５】
ｄｅｎｓｉｔｙ＿ｒａｔｉｏ（機能４２０、インデックス９）は、図４に関して上述したように、インデックス付７および８の特徴を組み合わせることによって最小最大密度比を定義する。例えば、ｄｅｎｓｉｔｙ＿ｒａｔｉｏは、時点の数（インデックス２）を無データの最大ギャップ（インデックス３）で分割することによって決定することができる。
【００７６】
ｂｉｎ＿ｃｎｔ＿１（機能４２０、インデックス１０）は、図４に関して上述したように、ビンの密度が（例えば、予め決められた）閾値よりも大きくなるようなビンの数（＃）を定義する。
【００７７】
図４に関して、上述したｂｉｎ＿ｃｎｔ＿０（機能４２０、インデックス１１）は、ビンの密度が０（ゼロ）となるようなビンの数（＃）を定義する。
【００７８】
これらのインデックス付き機能（および、場合によっては、通信およびプロファイルデータおよび／またはシーケンス識別データに対応する値）は、ＡＴＢ検出器３９０に入力され得る。
【００７９】
図７は、例示的実施形態による、異常時間的挙動（ＡＴＢ）検出器を示すブロック図である。
【００８０】
図３および図７に示されるように、ＡＴＢ検出器３９０は、図３および図４に関して本明細書で上述されるような、時間的特徴生成器３２０から生成される時間的挙動機能を受信する。ＡＴＢ検出器３９０は、異常検出処理の入力としてこれらの機能を使用する。代替的に（または追加的に／任意に）、時間機能生成器３２０からの機能は、いくつかの静的機能および埋め込み機能などの他の機能と連結され得る。異常検出処理はベクトルデータ（例えば、異常ネットワークトラヒック検出のためのカスタマイズされた異常検出技術、ノイズを伴うアプリケーションの密度に基礎付けられた空間クラスタリング（ＤＢＳＣＡＮ）、分離フォレスト、１クラスサポートベクトルマシン（ＳＶＭ）など）の予め決められた異常検出技術を実装することができる。
【００８１】
ＡＴＢ検出器３９０は予測結果のリストを出力し、例示的な実施形態によれば、値１はシーケンスが異常であることを意味し、値０はシーケンスが正常であることを意味する。ＡＴＢ検出器３９０は時間的機能生成器３２０によって生成された機能（短期間のデータ３３０、長いギャップ３４０、およびクラスタパターン３５０によって管理される機能を含む）に基づいて異常なネットワークトラフィックを検出し、これらの機能を他のソース（例えば、エンジンなど）からの他の機能と組み合わせることができ、または異常なネットワークトラフィックを検出するためにこれらの機能を独立して使用することができる。
【００８２】
ＡＴＢ検出器３９０は、異常なネットワークトラフィックシーケンス（および検出されたネットワークトラフィックの関連するソース）のレポートを送信することができる。ＡＴＢ検出器３９０が１つまたは複数のシーケンスに関連する異常なネットワークトラフィックを検出する場合、ＡＴＢ検出器３９０は、（１つまたは複数の）シーケンスの識別情報を送信することができる。例示的な実施形態では、ＡＴＢ検出器３９０はまた、検出されたシーケンスに関連する特徴のタイプと、トラフィックのソースなどであるかなど、異常なネットワークトラフィックを識別することに関連する他の情報とを含むことができる。
【００８３】
システム３００、特にＡＴＢ検出器３９０は制限された（例えば、希少など）トレーニングデータがある場合に分析を実施することができる。多くの場合、異常なネットワークトラフィック検出のためのトレーニングデータを得ることは難しい。これらの場合ではモデルトレーニングのためのデータは非常に希少であり得るが、システム３００、特にＡＴＢ検出器３９０はトレーニング段階なしで教師なし方法を実施することができる。システム３００、特に、ＡＴＢ検出器３９０はテストデータに関する事前知識を（例えば、殆どまたは全く）用いて、教師なし設定においてそのような検出を実行することができる。
【００８４】
システム３００は、次元の制限を克服する方法でネットワークトラフィックを特徴付けるための機能を実装する。例示的な実施形態は、効果的な検出のために設計された機能を含むことができる。システム３００は（例えば、多くの）機能が無関係および／または騒々しい場合を含む、データの高次元に対する低い感度の教師なし処理で実施され得る。
【００８５】
例示的な実施形態によれば、システム３００は、高い再現度を伴う異常なネットワークトラフィックの通知を提供することができる。
【００８６】
システム３００は、検出結果の説明を提供することができる。検出結果が与えられると、システム３００は、シーケンスのいくつかがなぜ異常として検出されるかの理解を可能にする情報および／または説明をユーザに提供することができる。言い換えれば、システム３００は、どの機能が検出境界を決定するのに重要であるか（例えば、１つのシーケンスがネットワークトラフィック内でグループ化される理由、および他のシーケンスがグループ化されない理由）の解釈を可能にすることができる。
【００８７】
図８は本発明による、異常なネットワークトラフィックの時間的挙動を特徴付ける機能を抽出するために、時間的挙動分析に基礎付けられたシーケンスデータ（ＳＤＴＢＡ）を実施するための方法５００を示す流れ図である。
【００８８】
ブロック５１０で、システム３００は１つまたは複数の装置に関連する通信およびプロファイルデータを受信し、処理する。システム３００は通信およびプロファイルデータを含むデータを（例えば、データベースから）受信することができる。システム３００は、不完全なデータおよび重複するデータを除去することができる。システム３００はすべての有効なデータを抽出するために、ＩＤ照合を実行することもできる。
【００８９】
ブロック５２０において、システム３００は疑わしいネットワーク接続等のような異常なネットワークトラフィック（例えば、サイバーセキュリティリスク等）の時間的挙動をモデル化する時間的機能を生成する。システム３００は予め情報（例えば、トレーニングデータセット、予め定義されたモデルなど）を必要としない。したがって、システム３００は教師なし異常検出のため、およびエンドユーザがデータに不慣れである（例えば、データをあまりよく知らない）実際の展開シナリオのためにも実装することができる。システム３００は、教師なし設定で自動検出を容易にするように設計された時間的機能を含む。
【００９０】
時間的機能は個々のデータにおいて利用可能ではないが、データのシーケンスにおいて利用可能である隠れた機能であり得る。生成された機能は、非常に高い次元を有しておらず、したがって、殆どの既存の異常検出方法、および高速実装にも適している。これらの機能は、短期間のデータ、データ間の長いギャップ、およびクラスタリングを含むことができる。
【００９１】
時間的機能を生成することは、クラスタパターン機能を生成することを含むことができる。クラスタパターンは、時点の密度に基づいて決定される。各時点ｔi（ｉ＝１、・・・、ｎ）はその時点にデータ（例えば、生成、受信、通信等）があることを示す。
【００９２】
ブロック５３０において、システム３００はハイブリッド機能を生成する。これらは、ブロック５３０で決定された時間的機能のハイブリッドである特徴を含むことができる。
【００９３】
ブロック５４０で、システム３００は、ブロック５２０で決定された機能を、いくつかの静的機能および埋め込み機能などの他の機能と連結することができる。
【００９４】
ブロック５５０で、システム３００は、ブロック５２０、５３０、５４０で生成されたもの（例えば、何れか）のような異常ネットワークトラフィックの時間的挙動機能を、ＤＢＳＣＡＮ、１クラスＳＶＭ、および分離フォレストなどのような有害な（例えば、違法な金融、サイバーセキュリティリスクなどの）活動の異常検出処理に入力する。これらの異常検出処理は事前定義されたラベルを使用することなく、サンプルの大きなプール（正常なサンプルと異常なサンプルとが混合されたもの）から異常な実例（例えば、ネットワークシステム内のコンピューティング装置からのネットワークトラフィック）を検出するために使用することができる。
【００９５】
ブロック５６０において、システム３００は予測結果のリストを定式化し、出力し、ここで、値１はシーケンスが異常であること意味し、値０はシーケンスが正常であることを意味する。この特徴は、結果の良好な解釈を可能にする。すなわち、エンドユーザは検出に用いた特徴の意味から、検出結果を理解することができる。リストは、実在物間の有害な実在物の予測結果を含むことができる。実在物からのネットワーク接続をブロックすること、シーケンスまたは装置にフラグを立てることなど、さらなる行動を予測結果に基づいて実行することができる。
【００９６】
以上の説明は、あらゆる点において、限定するものではなく例示的および典型的なものとして理解すべきであり、本明細書において開示されている本発明の範囲は、詳細な説明から決定されてはならず、そうではなく、特許法で許容されるすべての幅に応じて解釈される特許請求の範囲から決定されなければならない。本明細書において示され、かつ、説明された実施形態は、本発明についての単なる例示的なものにすぎないこと、また、当業者は、本発明の範囲および精神から逸脱することなく、様々な修正を加えることができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴組合せを実現することが可能である。以上、本発明の態様について、特許法で要求される詳細および特異性と共に説明したが、特許請求され、特許証で保護されることが望ましいものは、添付の特許請求の範囲に説明されている。
【図１】
2021528743.tif 000013
【図２】
2021528743.tif 000014
【図３】
2021528743.tif 000015
【図４】
2021528743.tif 000016
【図５】
2021528743.tif 000017
【図６】
2021528743.tif 000018
【図７】
2021528743.tif 000019
【図８】
2021528743.tif 000020
【国際調査報告】
2021528743.tif 000021
2021528743.tif 000022