(57)【要約】  データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第１ホスト及び第２ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第１ホストと第２ホストとの間のリンクを形成し、本方法は：ａ）データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、ｂ）抽出したプロトコルフィールド値から、第１ホスト、第２ホスト、及びリンクのうちの１つについての属性の属性値を導出するステップと、ｃ）モデルセットから、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルを選択するステップであって、選択されたモデルは、第１ホスト、第２ホスト、及びリンクのうちの１つについて記述する複数の属性を含み、属性の少なくとも１つは、意味属性であり、意味属性は、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味論的意味を表す、ステップと、ｄ）導出された属性値が、選択されたモデルにおいて選択時に特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、ｅ）アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、各属性ベースのポリシーは、第１ホスト、第２ホスト、又はリンクの属性のうちの少なくとも１つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、ｆ）属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも１つに違反することを示す場合は、アラート信号を生成するステップを含む。【選択図】図４
2021515498.tif 000002
【特許請求の範囲】
【請求項１】
データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、前記データ通信ネットワークに第１ホスト及び第２ホストが接続され、前記データ通信ネットワーク上の前記データトラフィックが、前記第１ホストと前記第２ホストとの間のネットワーク通信を形成するリンクを提供し、
前記方法は、
ａ）前記データトラフィックを解析して、前記データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）前記抽出したプロトコルフィールド値から、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの１つについての属性の属性値を導出するステップと、
ｃ）モデルセットから、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連するモデルを選択するステップであって、選択された前記モデルは、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つについて記述する複数の属性を含み、前記属性の少なくとも１つは意味属性であり、前記意味属性は、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つについての意味論的意味を表す、ステップと、
ｄ）前記導出された属性値が、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記選択されたモデルにおいて特徴付けられていない場合に、前記選択されたモデルを前記導出された属性値でアップデートするステップと、
ｅ）前記アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、前記属性ベースのポリシーセットのうちの各属性ベースのポリシーは、前記第１ホスト、前記第２ホスト、又は前記リンクの前記属性のうちの少なくとも１つの属性に基づいて、前記データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）前記属性ベースのポリシーが、前記アップデートされ選択されたモデルが前記属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップと、
を含む方法。
【請求項２】
前記抽出したプロトコルフィールド値から導出された前記属性値は、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの意味属性の値は、異なる時点において前記データ通信ネットワーク上で送信される少なくとも２つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、請求項１又は２に記載の方法。
【請求項４】
前記モデルセットは、前記第１ホストのモデル、前記第２ホストのモデル、及び前記リンクのモデルを含み、前記モデルの各々が、少なくとも１つの意味属性を含む、請求項１〜３の何れか１項に記載の方法。
【請求項５】
前記ポリシーは各々、条件を満たす場合の結果を定義し、前記条件は、定義済みの属性値を有する前記属性のうちの少なくともそれぞれ１つに関して定義され、前記属性ベースのポリシーの前記結果は、前記選択されたモデルが許容可能か又は許容不可かを示す、請求項１〜４の何れか１項に記載の方法。
【請求項６】
前記各ポリシーの条件は、少なくとも１つの意味属性の値を含む、請求項１〜５の何れか１項に記載の方法。
【請求項７】
前記ｂ）は、前記プロトコルフィールド値にルールを適用するステップを含み、前記ルールは、前記プロトコルフィールド値に基づいて、前記属性に前記属性値を割り当てる、請求項１〜６の何れか１項に記載の方法。
【請求項８】
前記ｂ）は、前記属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、請求項１〜７の何れか１項に記載の方法。
【請求項９】
前記ｂ）は、ヒューリスティクスを前記データトラフィックに適用して、前記ヒューリスティクスを用いて前記意味属性の値を導出するステップを含む、請求項１〜８の何れか１項に記載の方法。
【請求項１０】
前記ｂ）は、分類子を前記データトラフィックに適用して、前記分類子を用いて前記意味属性の値を導出するステップを含む、請求項１〜９の何れか１項に記載の方法。
【請求項１１】
前記分類子の信頼性レベルを決定するステップを更に含み、前記信頼性レベルが所定の信頼性レベルを上回る時にのみ、前記属性値が前記分類子から導出される、請求項１０に記載の方法。
【請求項１２】
前記ヒューリスティクスを用いて得られる前記属性値は、前記分類子を用いて得られる前記属性値よりも高い優先度を有する、請求項９〜１１の何れか１項に記載の方法。
【請求項１３】
前記データ通信ネットワークにはスティミュラスが注入されない、請求項１〜１２の何れか１項に記載の方法。
【請求項１４】
前記ステップｂ）、ｃ）、ｄ）、及びｅ）が、前記第１ホスト、前記第２ホスト、及び前記リンクに関して実行され、前記モデルセットは、前記第１ホストに関連するモデル、前記第２ホストに関連するモデル、及び前記リンクに関連するモデルを含み、前記属性ベースのポリシーセットのうちの前記属性ベースのポリシーは、前記第１ホストの前記属性、前記第２ホストの前記属性、及び前記リンクの前記属性に関する条件を定義する、請求項１〜１３の何れか１項に記載の方法。
【請求項１５】
前記属性ベースのポリシーセットは、ホワイトリストポリシーを含み、前記ホワイトリストポリシーの結果は、前記選択されたモデルが許容可能かどうかを示す、請求項１〜１４の何れか１項に記載の方法。
【請求項１６】
前記属性ベースのポリシーセットは、ブラックリストポリシーを含み、前記ブラックリストポリシーの前記結果は、前記選択されたモデルが許容可能ではないかどうかを示す、請求項１〜１５の何れか１項に記載の方法。
【請求項１７】
前記整合性ルールを提供するステップを更に含み、前記整合性ルールは、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記モデルの属性の少なくとも２つの属性値の整合性のある組み合わせを定義し、
・前記監視するデータトラフィックから導出された前記属性の値に基づいて、前記監視するデータトラフィックが前記整合性ルールに従うかどうかを検証するステップと、
・前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記データトラフィックが前記整合性ルールに従わない場合に、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記データトラフィックを隔離内に格納するステップと、
を含む請求項１〜１６の何れか１項に記載の方法。
【請求項１８】
前記隔離は、前記ホスト又は前記リンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、請求項１７に記載の方法。
【請求項１９】
前記監視するデータトラフィックから導出された前記属性の値に基づいて、前記監視するデータトラフィックが前記整合性ルールに従うかどうかを検証するステップが、前記ステップｅ）の前に実行される、請求項１７又は１８に記載の方法。
【請求項２０】
前記整合性ルールは、前記データトラフィックの発生時間及び前記データトラフィックの発生場所のうちの少なくとも１つを含む、請求項１７〜１９の何れか１項に記載の方法。
【請求項２１】
前記第１ホストに関連する前記整合性ルールは、別のホストの属性、好ましくは前記第２ホストの属性を含む、請求項１７〜２０の何れか１項に記載の方法。
【請求項２２】
ホストグループが定義され、前記方法が、前記属性が関連する前記ホストが前記グループ内に含まれるかどうかを決定するステップと、前記属性が関連する前記ホストが前記グループ内に含まれる場合に前記整合性ルールを適用するステップと、を含む、請求項１７〜２１の何れか１項に記載の方法。
【請求項２３】
前記整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、請求項１７〜２２の何れか１項に記載の方法。
【請求項２４】
前記属性ベースのポリシーは更に、動作を実行する時間及び前記動作がそれを介して実行されるリンクのうちの少なくとも１つを表す、請求項１〜２３の何れか１項に記載の方法。
【請求項２５】
前記データトラフィックから前記属性ベースのポリシーを学習するステップを含み、前記学習するステップは、学習フェーズにおいて、
前記データトラフィックを監視するステップと、
前記監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
前記データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
前記データセット内の前記ホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、前記ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件、信頼性及び支援レベルを含む、ステップと、
各ルールに関して、前記ルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、前記ルールの基礎となる前記アイテムセットが前記データセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
前記支援レベル及び前記信頼性レベルに基づいて前記ルールを選択するステップと、
前記選択したルールの前記前件及び前記後件を結び付けることにより、前記属性ベースのポリシーの条件を定義して、
前記支援レベル及び／又は前記信頼性レベルに基づいて、前記属性ベースのポリシーの動作を定義する、
ことによって、前記ルールを前記属性ベースのポリシーに変換するステップと、
を含む、請求項１〜２４の何れか１項に記載の方法。
【請求項２６】
前記支援レベル及び前記信頼性レベルに基づいて前記ルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る前記信頼性レベルを有し且つ所定の支援レベルを上回る前記支援レベルを有するルールを選択するステップを含む、請求項２５に記載の方法。
【請求項２７】
前記支援レベル及び前記信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る前記信頼性レベルを有し且つ所定の支援レベルを上回る前記支援レベルを有するルールを選択するステップを含む、請求項２５又は２６に記載の方法。
【請求項２８】
前記ホスト属性及び前記リンク属性からルールを生成するステップは、関連付けルールを前記ホスト属性及び前記リンク属性に適用するステップを含む、請求項２５〜２７の何れか１項に記載の方法。
【請求項２９】
前記ホスト属性及び前記リンク属性から前記ルールを生成するステップは、頻繁なアイテムセットの抽出を前記ホスト属性及び前記リンク属性に適用するステップを含む、請求項２５〜２８の何れか１項に記載の方法。
【請求項３０】
前記ルールを前記属性ベースのポリシーに変換するステップは更に、
冗長ポリシーを削除することにより前記ポリシーの数を削減するステップであって、前記ポリシーは、該ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
前記２つのポリシーが同じ前記条件を共有するが、前記２つのポリシーが異なる動作を含むというコンフリクトを生じる場合、支援及び信頼性が低い前記ポリシーを削除するステップと、
を含む、請求項２５〜２９の何れか１項に記載の方法。
【請求項３１】
前記属性ベースのポリシーセットは、前記ホワイトリストポリシーを含み、前記ホワイトリストポリシーの前記結果は、前記選択されたモデルが許容可能かどうかを示し、前記第１ホスト、前記第２ホスト、又は前記リンクに関連する前記モデルが、前記ホワイトリストポリシーの何れにも一致できない場合は、前記第１ホスト、前記第２ホスト、又はリンクの前記それぞれに関連する前記データ通信は、隔離内にリストされる、請求項１〜３０の何れか１項に記載の方法。
【請求項３２】
前記プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、前記それぞれのホスト又はリンクが隔離内にリストされる、請求項１〜３１の何れか１項に記載の方法。
【請求項３３】
前記隔離は、前記ホスト又は前記リンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、請求項３２に記載の方法。
【請求項３４】
前記隔離内にリストされた前記ホスト又は前記リンクに関連する属性値を導出するステップを更に含む、請求項３２又は３３に記載の方法。
【請求項３５】
前記隔離内にリストされた前記ホスト又は前記リンクに関連する前記属性値から、前記隔離内にリストされた前記ホスト又は前記リンクが正当であるという仮説への支援を計算するステップと、
前記隔離内にリストされた前記ホスト又は前記リンクに関連する前記属性値から、前記隔離内にリストされた前記ホスト又は前記リンクが悪意があるという仮説への支援を計算するステップと、
任意選択的に、前記隔離内にリストされた前記ホスト又は前記リンクが正当であるという前記仮説への前記支援、或いは前記隔離内にリストされた前記ホスト又は前記リンクが悪意があるという前記仮説への前記支援が所定の閾値を上回る場合は、前記属性ベースのポリシーセットをアップデートするステップと、
を更に含む、請求項３４に記載の方法。
【請求項３６】
前記仮説への前記支援を計算するステップは、前記隔離内の前記ホスト又は前記リンクに関連する前記属性値がアップデートされた時に繰り返される、請求項３５に記載の方法。
【請求項３７】
前記隔離は、前記隔離内にリストされた前記ホスト及び／又はリンクに関して、
前記ホスト又は前記リンクの識別
前記ホスト又は前記リンクの既知の属性値のリスト
前記ホスト又は前記リンクが正当であるという仮説への支援
前記ホスト又は前記リンクが悪意があるという仮説への支援
前記仮説への前記支援を決定するのに用いられるデータトラフィックの識別
を含む、請求項３２〜３６の何れか１項に記載の方法。
【請求項３８】
前記方法は、前記整合性ルールを用いて、前記隔離内の前記ホスト又は前記リンクの前記属性値の整合性をチェックするステップを更に含む、請求項３４〜３７の何れか１項に記載の方法。
【請求項３９】
前記方法は、前記属性ベースのポリシーを用いて、隔離内の前記ホスト又は前記リンクの前記属性値が前記属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、請求項３４〜３８の何れか１項に記載の方法。
【請求項４０】
前記隔離内にリストされた前記ホスト又は前記リンクの前記属性から属性ベースのポリシーを導出するステップを更に含む、請求項３４〜３９の何れか１項に記載の方法。
【請求項４１】
新規のホワイトリストポリシーは、前記隔離内の前記ホスト又は前記リンクに関連する前記プロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、前記隔離内の前記ホスト又はリンクに関連するプロトコルメッセージから導出された前記属性値から導出される、請求項４０に記載の方法。
【請求項４２】
前記隔離内に格納された前記データトラフィックの前記ホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
前記隔離内の前記ホスト及び／又はリンクに関連する前記データトラフィックが観察される時に、前記隔離内の前記ホスト又は前記リンクが正当か又は悪意があるという前記仮説への前記支援を（再）計算するステップと、
前記隔離内の前記ホスト又は前記リンクが正当であるという前記仮説への前記支援が前記ホワイトリスト閾値を上回る場合、前記ホスト又は前記リンクを前記隔離から削除して、前記ホスト又は前記リンクに関連する前記データトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
隔離内のホスト／リンクが悪意があるという前記仮説への前記支援がブラックリスト閾値を上回る場合、アラートを発して、前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
前記抽出した新規のホワイトリスト又は前記ブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、
を含む、請求項４０又は４１に記載の方法。
【請求項４３】
前記隔離内の前記ホスト又は前記リンクが正当か又は悪意があるという前記仮説への支援を（再）計算するステップは、前記隔離内の前記ホスト又は前記リンクと他のホスト又はリンクとの類似性を計算するステップを含む、請求項４２に記載の方法。
【請求項４４】
前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いは前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
請求項２５〜３０の何れか１項に記載の前記ホワイトリストポリシー又は前記ブラックリストポリシーを学習するステップを含む、請求項４２又は４３に記載の方法。
【請求項４５】
請求項１〜４４の何れか１項に記載の方法を実行するように構成された侵入検出システム。
【請求項４６】
請求項４５に記載の前記侵入検出システムを備えたデータ通信ネットワーク。
【請求項４７】
請求項４５に記載の前記侵入検出システムを備えた装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信ネットワーク上のデータトラフィックの異常挙動を検出する方法、及びこの方法を実行するように構成された侵入検出システムに関する。
【背景技術】
【０００２】
データ通信ネットワークは、コンピュータネットワークとしても認識され、共に接続されて通信チャネル上で相互にデータを交換することができる実施可能な異種デバイス（例えば、パーソナルコンピュータ、タブレット、電話、サーバ、コントローラ、アクチュエータ）のグループとして理解することができる。企業は、自らの中核事業を展開し維持するために、コンピュータネットワークにますます依存している。同様に、産業制御システム（ＩＣＳ）もまた、プロセス効率を改善するために情報テクノロジー（ＩＴ）技術をますます導入している。この傾向は、効率性及びビジネスとしての可能性を改善するが、サイバー攻撃に晒されることも増加することになる。侵入検出システム（ＩＤＳ）は、サイバー攻撃を検出するのに用いられる幅広く採用されたセキュリティツールである。ネットワークベースのＩＤＳ（ＮＩＤＳ）は、検出技術のためにネットワークトラフィックの分析に依存している。
【０００３】
通常、ネットワーク侵入検出システム等のネットワーク監視システムは、ｉ）ブラックリスト型システム、及びｉｉ）ホワイトリスト型システムに区別することができる。
ブラックリスト型システムは、周知の攻撃のデータベースを保持して、既知の攻撃に一致する悪意のあるネットワークイベントが検出された時にアラートを発する。これらのシステムは、極めて僅かな偽陽性を示すという利点を有する。他方、ブラックリスト型システムは、明確に定義された仕様が利用可能な周知の攻撃しか検出できないという意味で、限定的である。このことは、ゼロデイ攻撃、すなわち、まだ知られていない脆弱性を悪用する攻撃をこれらのシステムが検出できないことを意味する。更に、管理及びチェックしなければならない署名の数は、攻撃の数に伴って増加する。
一方、ホワイトリスト型システムは、システムの正常挙動のモデルを保持して、これと現在のアクティビティを比較して、不一致が発生した場合にアラートを発する。ホワイトリストソリューションは、既知の攻撃及び未知の攻撃の両方を検出する可能性が高いので、極めて一般的になりつつある。残念ながら、このソリューションは通常、処理コストが高い多数の偽陽性を生じる。通常は、ホワイトリストＮＩＤＳは、正常挙動のモデルを数週間の時間期間にわたって作成する（例えば、自動学習又は手動指定する）が、（そのようなモデルを用いた）検出が非常に長い間継続するという手法を採用する。この一般的なホワイトリスト手法は、以下の問題を引き起こす可能性がある。
物事が変化し続け、正当な挙動が進化して、新たな正当なデバイスが出現する可能性がある、監視対象のあらゆるネットワークの本質的なダイナミズムに起因する正当な変化に対処するための体系的な手法は存在しない。この適応性の欠如は、以下の２つの問題を引き起こす。すなわち、（ｉ）あらゆる（正当な）変化が偽陽性を生じるが、これは、オペレータの手動検査を必要とするので、処理するのにコストがかかる。（ｉｉ）ホワイトリスト型システムによって使用されるモデルは、監視するトラフィック内の各（正当な）変化に対して手動でアップデートする必要があり、これは、高価で複雑なプロセスである。既存のソリューションの一部は、時間の経過に伴うモデルへの僅かな手動アップデートには可能であるが、一般的には、モデルから外れた何らかの挙動がアラートをトリガーすることになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ネットワーク内の変化、例えばアップグレードに、より容易に適応可能な異常挙動の検出を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の１つの態様によれば、データ通信ネットワーク上のデータトラフィックの異常挙動を検出する方法を提供し、第１ホスト及び第２ホストがデータ通信ネットワークに接続され、データ通信ネットワーク上のデータトラフィックが、第１ホストと第２ホストとの間のリンクを提供し（例えば、ネットワーク通信を形成する）、
本方法は、
ａ）データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）抽出したプロトコルフィールド値から、第１ホスト、第２ホスト、及びリンクのうちの１つについての属性の属性値を導出するステップと
ｃ）モデルセットから、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルを選択するステップであって、選択されたモデルは、第１ホスト、第２ホスト、及びリンクのうちの１つについて記述する複数の属性を含み、属性の少なくとも１つは意味属性であり、意味属性が、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味論的意味を表す、ステップと、
ｄ）導出された属性値が、第１ホスト、第２ホスト、及びリンクのうちの１つに関連する選択されたモデルにおいて選択時に特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
ｅ）アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第１ホスト、第２ホスト、又はリンクの属性のうちの少なくとも１つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップ
と、を含む。
【０００６】
データ通信ネットワーク上では、データ通信は、第１ホストと第２ホストとの間で行われる。第１ホストと第２ホストとの間の接続は、ホスト間のリンクを形成する。ホストは、コンピュータ、携帯電話、無線デバイス、プログラマブルロジックコントローラ（ＰＬＣ）のようなプログラマブルデバイス、又は何れかの他のデバイスのような、データ通信を可能にする何れかのデバイスとすることができる。ホストは、サーバ、クライアント、プリンタ、カメラ、ＰＬＣ、ヒューマンマシンインタフェース（ＨＭＩ）、Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ  （ＳＣＡＤＡ）サーバ、その他のような、実施可能なあらゆる役割を担うことができる。ホストは、データ通信における送信側又は受信側、及び送信側及び受信側の両方とすることができる。データ通信ネットワークは、有線又は無線ネットワーク等のあらゆるデータ通信ネットワークとすることができ、あらゆるタイプの通信プロトコルを利用することができる。第１ホストと第２ホストとの間のデータ通信（リンク）は、１対１のリンク、又は第１ホストから複数の第２ホストにデータをブロードキャストする場合とすることができるような、１対多のリンクとすることができる。
データトラフィック、リンク、ネットワークメッセージ、ネットワークメッセージフィールド、属性、ホストモデル、リンクモデル、モデルアップデート、属性ベースのポリシー、及びアラートという用語は以下のように定義することができる。
・データトラフィック：データトラフィック（又はネットワークトラフィック）は、所与の時点においてネットワークを越えて移動するデータである。データトラフィックは、大部分はネットワークメッセージから構成される。
・ホスト：ネットワークホスト、すなわち単にホストは、ネットワークに接続された要素（コンピュータ又は他のデバイス）である。
・リンク：２つのネットワーク要素間で行われるネットワーク通信。通常、リンクは、通信のホストソース及びホストターゲットを有する。
・ネットワークメッセージ（プロトコルメッセージとしても認識される）：１つのホストから別のホストにネットワークを通じて送信されるデータトラフィックの要素、通常は情報単位である。
・ネットワークメッセージフィールド（プロトコルメッセージフィールドとしても認識される）：ネットワークメッセージは、メッセージ情報を伝える複数のフィールドから構成される。あらゆるフィールドに、表現するための長さ（ビット単位）、値、及びデータタイプが関連付けられる。例えば、ソースＩＰ（ＩＰバージョン４又は６に応じて、３２ビット又は１２８ビット）及び宛先ＩＰ（ＩＰバージョン４又は６に応じて、３２ビット又は１２８ビット）が、ＩＰメッセージ内のフィールドの例である。ネットワークメッセージフィールドはまた、データフィールド、プロトコルデータフィールド、又はプロトコルフィールドとして認識することができる。これに応じて、プロトコルフィールドの値は、プロトコルフィールド値、データフィールド値、又はプロトコルデータフィールド値として認識することができる。プロトコルメッセージという用語はまた、メッセージとして認識することができる。
・属性：属性は、ホスト、リンク、又はコンテキスト環境を表す特徴である。属性は、（場合によっては異なる時点における複数のネットワークメッセージにわたる）１又は複数のネットワークメッセージフィールドをより抽象的なカテゴリにマッピングすることによって得られる。属性は、プロトコル汎用特徴、すなわち、汎用であるので、適用される特定のプロトコルには依存しない特徴を記述する。従って、１つの実施形態では、抽出したプロトコルフィールド値から導出された属性値は、第１ホスト、第２ホスト、及びリンクのうちの１つについてのプロトコル汎用特徴を記述する。
・ホストモデル：ホストについて記述するのに用いられる属性リストで、好ましくは少なくとも１つの属性が意味属性である。
・リンクモデル：リンクについて記述するのに用いられる属性リストで、好ましくは少なくとも１つの属性が意味属性である。
・モデルアップデート：ネットワークメッセージフィールドをホストモデル及びリンクモデルにマッピングするプロセス。新規のあらゆるネットワークメッセージにおいて、モデルアップデートプロセスは、ヒューリスティクス及び／又はアグリゲーション及び／又は分類技術を適用して、属性の前の値及び現在のネットワークメッセージによって搬送される新規の情報を考慮することにより、現在のホストモデル及びリンクモデルをアップデートする。
・属性ベースのポリシー：ｉｆ−ｃｏｎｄｉｔｉｏｎ−ｔｈｅｎ−ａｃｔｉｏｎ〔ｏｂｌｉｇａｔｉｏｎ〕形式のステートメントであり、ここで、ｃｏｎｄｉｔｉｏｎ（条件）は、ホストモデル及び／又はリンクモデルを参照する属性を含み、ａｃｔｉｏｎ（動作）は、ポリシーとデータトラフィックの肯定一致の場合に行うべきことを定義し、ｏｂｌｉｇａｔｉｏｎ（義務）（任意）は、一致の場合に行うべき追加の動作（例えば、ｎａｍｅ＠ｄｏｍａｉｎ．ｃｏｍに電子メールを送信、優先度をｈｉｇｈに設定、クリティカリティをｍｅｄｉｕｍに設定）を定義する。属性ベースのポリシーは、条件及び行うべきことをプロトコル汎用方法で、すなわち、データ通信ネットワーク上の通信、例えば、リンクを介した第１ホストと第２ホストとの間の通信に適用することができるプロトコルに非固有の方法で定義する。ポリシーは、例えば、適用可能なプロトコルに汎用なポリシーの機能的論理的説明を提供する宣言型ポリシーとすることができる。従って、１つの実施形態において、属性ベースのポリシーは宣言型ポリシーを含む。
・ホワイトリストポリシー：許容可能なデータトラフィック（動作＝＝ｐｅｒｍｉｔ（許可））を記述する属性ベースのポリシー。
・ブラックリストポリシー：許容不可のデータトラフィック（動作＝＝ｄｅｎｙ（拒否））を記述する属性ベースのポリシー。
・アラート：システムの危険状況の可能性があることを表す意味強化されたコンテキストアウェア情報である。例えば、アラートは、ネットワークに対する特定の脅威が識別された事実を表すことができる。
・ポリシーチェック：属性ベースのポリシーをデータトラフィックに対して照合するプロセスで、一致する場合は、ポリシーによって記述される動作を行う。
・プロトコル：データを通信するためのルール及びガイドラインのセット。ルールは、２又はそれ以上のコンピュータ（ホスト）間の通信中に各ステップ及びプロセスごとに定義される。ネットワークは、データを送信するためにこれらのルールに従う。
【０００７】
データトラフィックは、パーサなどによって解析される。パーサは、データストリームからプロトコルフィールド及びこれらの対応する値を抽出する。パーサは、何れかの適切なプロトコル言語に関連することができる。解析するという用語は、コンピュータによって文章又は他の文字列のその構成要素への分析として理解することができ、相互の構文関係を示し、意味情報及び他の情報も含むことができる解析ツリーが得られる。ネットワークプロトコルは、非限定的な例として、以下のこと、すなわち、Ｅｔｈｅｒｎｅｔフレーム、ワイヤレス（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ（ＷＩ−ＦＩ）、Ｂｌｕｅｔｏｏｔｈ又はロングタームエボリューション（ＬＴＥ）フレーム、又はシリアルバス（ＲＳ−２３２／４８５、コントローラエリアネットワーク（ＣＡＮ）バス）フレーム等の低水準プロトコル、インターネットプロトコル（ＩＰ）ヘッダ、伝送制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ、ＴＣＰ）／ユーザデータグラムプロトコル（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ、ＵＤＰ）／インターネットコントロールメッセージプロトコル（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ、ＩＣＭＰ）／インターネットグループマネージメントプロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ、ＩＧＭＰ）ヘッダ、ハイパーテキスト転送プロトコル（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、ＨＴＴＰ）、シンプルメール転送プロトコル（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、ＳＭＴＰ）、金融情報交換（Ｆｉｎａｎｃｉａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  ｅＸｃｈａｎｇｅ、ＦＩＸ）、ライトウェイトディレクトリアクセスプロトコル（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ、ＬＤＡＰ）、トランスポート層セキュリティ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）／セキュアソケット層（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）（ＳＳＬ／ＴＬＳ）等の高水準プロトコル：分散ネットワークプロトコル３（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｎｅｔｗｏｒｋ  Ｐｒｏｔｏｃｏｌ  ３、ＤＮＰ３），ＭＯＤＢＵＳ／Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ（ＭＯＤＢＵＳ／ＴＣＰ），ＭＯＤＢＵＳ／Ｒｅｍｏｔｅ  Ｔｅｒｍｉｎａｌ  Ｕｎｉｔ  （ＭＯＤＢＵＳ／ＲＴＵ），  Ｂｕｉｌｄｉｎｇ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｎｅｔｗｏｒｋ  （ＢＡＣｎｅｔ）、米国規格協会（ＡＮＳＩ）  Ｃ１２．２２，  ＩＥＣ６１８５０のような産業データ搬送用プロトコル、及びその他のうちの１又は２以上を含むことができる。
【０００８】
属性値は、抽出したプロトコルフィールド値から導出される。属性値は、プロトコルのあらゆる層のデータ（プロトコルフィールド）から導出することができる。属性値は、属性の値を表す。属性は、第１ホスト、第２ホスト、及び／又はリンクの特徴を表す。例えば、属性の一部は、第１ホストに関連することができ、属性の一部は、第２ホストに関連することができ、並びに属性の一部は、第１ホストと第２ホストとの間のリンクに関連することができる。属性値は、プロトコルに汎用のものであり、すなわち、この属性値は、特定のプロトコルに固有のものではない記述を形成する。例えば、読出し動作は、Ｓｔｅｐ７プロトコルでは４、国際電気標準会議１０４（ＩＥＣ−１０４）プロトコルでは４５、及びＭｏｄｂｕｓプロトコルでは２３、３によって形成される。従って、読出し動作の項は、Ｓｔｅｐ７プロトコルでは４、ＩＥＣ−１０４プロトコルでは４５、及びＭｏｄｂｕｓプロトコルでは２３、３のプロトコル汎用記述を形成する。従って、属性値は、第１ホスト、第２ホスト、及びリンクの汎用記述を提供する。
ホスト属性の例は、オペレーティングシステム、ベンダ、役割、ファームウェア、モデル、アプリケーション、サービス、ネットワークタイプである。
リンク属性の例は、プロトコル、ソースポート、宛先ポート、機能、メッセージタイプ、ペイロードパラメータである。
複数のモデルが提供される。モデルの１つは、第１ホストを表し、モデルの１つは、第２ホストを表し、モデルの１つは、第１ホストと第２ホストとの間のリンクを表す。各モデルが複数の属性を含み、各モデルは、属性集合によって形成することができる。モデルは、例えば、最初は空とすることができる。各モデルは、識別子によって、特定のホスト又は特定のリンクと関連付けることができる。データトラフィックが解析されると、第１ホスト、第２ホスト、及び／又はリンクの属性値を提供し、属性値がそれぞれのモデルでまだ特徴付けられていない場合には、属性値を追加することにより、第１ホスト、第２ホスト、及びリンクのうちのそれぞれの１つに関連するそれぞれのモデルがアップデートされる。そうでない場合には、モデルはそのままにされ、或いは、それぞれの属性値の信頼性レベルを高めることができる。ホストのモデルは、限定ではないが、インターネットプロトコル（ＩＰ）アドレス、媒体アクセス制御（ＭＡＣ）アドレス、ＭＡＣベンダ、モデル、ファームウェア、シリアルナンバー、アプリケーション、ポート、プロトコル、サービス、送信データ、受信データ、役割、オペレーティングシステム、最初に記録されたアクティビティ、最後に記録されたアクティビティ、ネットワーク、クリティカリティ（重要度）、感度、所有者、地理的場所、標識、ユーザ名、エージェント名、統一資源位置指定子（ＵＲＬ）、その他のうちの１又はそれ以上を含むことができる。リンクのモデルは、限定ではないが、ソースポート、宛先ポート、レイヤ１プロトコル、レイヤ２プロトコル、レイヤ３プロトコル、レイヤ４プロトコル、レイヤ７プロトコル、メッセージコード、メッセージタイプ、接続数、バイト数、その他のうちの１又は２以上を含むことができ、ここでレイヤは、ＩＳＯ／ＯＳＩレイヤを指す。
モデルは、複数の属性ベースのポリシーに対して保持される。各ポリシー、すなわち、各属性ベースのポリシーは、条件を満たす場合の結果を定義することができ、該条件は、第１ホスト、第２ホスト、及び／又はリンクの属性のうちの１又はそれ以上に関して定義される。属性ベースのポリシーの結果は、データトラフィックの許容性に関連する。従って、各属性ベースのポリシーは、１又はそれ以上のホスト属性及び／又はリンク属性に基づいて、セキュリティ上の制約を定義する。例えば、ポリシーの１又はそれ以上が許容可能でない挙動を示す場合、アラートを発することができる。属性ベースのポリシーセットのポリシーのうちの１つが、第１ホストの少なくとも１つの属性に基づいてセキュリティ上の制約を定義することができ、属性ベースのポリシーセットのポリシーのうちの別のポリシーが、第２ホストの少なくとも１つの属性に基づいてセキュリティ上の制約を定義することができ、属性ベースのポリシーセットのポリシーのうちの更に別のポリシーが、リンクの少なくとも１つの属性に基づいてセキュリティ上の制約を定義することができる。
属性ベースのポリシーの実施例は、以下を含むことができる。：ゲストデバイスは、再プログラムコマンドを電子メールサーバに送信することができない。プリンタデバイスは、スキャンした文書を外部電子メールサーバに送信することができない。プリンタデバイスは、動作状態データを遠隔保守プリンタサーバに送信することができる。Ｗｉｎｄｏｗｓコンピュータは、電子メールサーバとして動作することができない。ユーザプロファイルを実行しているＷｉｎｄｏｗｓコンピュータは、管理者権限を有していない場合がある。管理者プロファイルを実行しているＷｉｎｄｏｗｓコンピュータは、アップデートコマンドを電子メールサーバに送信することができる。このようにしてポリシーは、ホワイトリスト及び／又はブラックリストポリシーを形成することができる。ポリシーは、条件及び動作をプロトコル汎用方法で定義する。上記の実施例は、ポリシーを汎用記述で提供するが、これらは、ｉｆ−ｃｏｎｄｉｔｉｏｎ−ｔｈｅｎ−ａｃｔｉｏｎに関して作成することができる。例えば、「プリンタデバイスは、ｐｄｆ文書を外部電子メールサーバに送信することができない」というポリシーは、「プリンタデバイスがｐｄｆ文書を外部電子メールサーバに送信する場合には」、「アラートメッセージを作成する」として理解することができる。この実施例では、プリンタデバイス及び外部電子メールサーバは、ホスト属性を形成することができ、ｐｄｆ文書送信は、リンク属性を指すことができる。ポリシーセットは、様々なホスト、リンク、その他に関するポリシーを含むことができる。従って、特定のプロトコルメッセージ、特定のモデル、その他に関して、属性ベースのポリシーのサブセットのみが関連することができる。属性ベースのポリシーセットは、データ通信ネットワーク上のデータトラフィックのセキュリティポリシーを定義することができる。
従って、ポリシーの結果は、データトラフィックの許容性に関する結果をもたらす。データトラフィックが許容可能でないことが分かった場合、アラート信号を生成することができる。アラート信号は、オペレータに送信されるワーニングを生成することができ、データベース内に記録されるアラートメッセージを形成することができ、ユーザ／オペレータ、その他への光学的ワーニング（ディスプレイ上などに）及び／又は可聴ワーニング（ビープ音又は他の音響アラーム）を形成することができる。
プロトコルフィールド値の解析、抽出、属性値の導出、モデルの構築、属性ベースポリシーとの比較、及びアラーム信号の生成のプロセスは、自動的に実行することができ、すなわち、１つの実施形態では、プロセスは、人の介入を必要としない。
【０００９】
異常挙動の検出は、属性ベースのポリシーに基づいて行われるので、データトラフィックが許容可能か否かの基準は、属性値に関して定義することができる。従って、基準は、より高い抽象レベルで定義することができ、これは、ポリシーによって設定される基準は、１つの特定のデバイス／環境に適用されるだけでなく、より一般的な範囲を有することができる。属性ベースのポリシーは、より高い抽象レベルでルールを適用することができ、これに応じて、データ通信ネットワーク内で変更が生じた時でも、発生するイベントを決定することができる。
例えば、属性ベースのポリシーが、プリンタ／スキャナが外部デバイスに文書を転送できないとみなされる場合、このポリシーは、１つの特定のプリンタ／スキャナに適用されるだけでなく、ネットワークホストがプリンタ／スキャナであると認識されるあらゆる状況に適用することができ、これに応じて、モデルは、属性値に基づいてアップデートされる。別の実施例として、ポリシーが、再プログラムコマンドを外部デバイスからＰＬＣに送信することができない（すなわち、ローカルネットワークの外部にあるデバイスからは送信できない）と定義する場合、ＰＬＣとしてモデル化されたあらゆるホストをこのポリシーの適用対象とすることができる。従って、ネットワークがアップデートされて、新規ＰＬＣが接続された時、ＰＬＣであるという属性が新規ＰＬＣからも抽出できる場合は、ポリシーをこの新規ＰＬＣに適用することができる。同様に、新規ＰＬＣが異なるプロトコルを使用すると見える場合、例えば、Ｍｏｄｂｕｓプロトコルの代わりにＩＥＣ−１０４プロトコルを用いて通信するように見える場合、類似の動作が異なるプロトコルでは異なるコーディングを有する可能性があるという事実にもかかわらず、既存のポリシーを適用することができる。従って、読出し動作がローカルデバイスから送信された時だけ、ＰＬＣがこの読出し動作に応答できることを属性ベースのポリシーが定義する場合、異なるプロトコルを用いて通信する新規ＰＬＣがネットワーク内で発見された時でも、このポリシーを適用することができる。
【００１０】
従って、ホスト及びリンクの属性を定義するホスト及びリンクのモデルを構築することにより、属性ベースのポリシーが、データトラフィックの許容性をより高い抽象レベルで評価することができ、相対的に高い抽象レベルでポリシーを定義できるようになる。従って、ネットワークへの何らかの変更の場合に、類似の又は同じ属性をデータトラフィックから抽出できるので、ネットワーク内で変更が生じた時にポリシーを適用可能とすることができる。従って、監視、侵入検出、異常挙動の検出、その他に属性ベースのポリシーを使用すると、ネットワーク内である程度の変更が実行された時でも、侵入の検出を促すことができる。
【００１１】
従来技術では、正常挙動のモデルは、典型的には、そのＩＰアドレスによってほぼ識別される単一のネットワークエンティティ（すなわち、ホスト）ごとに定義される。この手法では、新規ホストは、ネットワークアップグレードの結果にすぎないとしても、その存在が常に最初は脅威とみなされることになる。一部のＮＩＤＳは、要素のクラスのためのモデルの作成を支援しない（例えば、全ファイルサーバへのファイル転送プロトコル（ＦＴＰ）のアクセスを許容する）が、要素のクラスは、手動で定義される（及び保持される）必要があり、これはコストがかかりエラーを起こしやすいタスクである。このことは、類似の要素又は類似の挙動を有する要素のクラスのためのモデルを定義することができないことを意味する。これはまた、新規ホストがネットワークに追加されるたびに、所与のホストに対して何が許容可能で何が許容不可であるかを定める新規モデルセットを定義する必要があることを意味する。
【００１２】
更に、属性ベースのポリシーを用いると、受動的観察が可能になり、従って、追加のデータトラフィックは導入されず、ホスト及びデータネットワークの挙動を妨げることもない。
ホスト及び／又はリンクの属性を使用できる時には、送信側、受信側、及び送信側と受信側との間のリンクを考慮に入れることができ、ホスト属性及びリンク属性によりホストの挙動に関してポリシーを定義することができるので、挙動（すなわち、誰が何をしたか？）を観察することができる。
【００１３】
異常挙動の検出は、侵入検出、ネットワークアセットの発見、ネットワークアセットの特性化、ユーザによる悪意のあるアクティビティの識別、ネットワークアセットによる悪意のあるアクティビティの識別、その他のうちの１又はそれ以上を含むことができる。１つの実施形態において、異常挙動の検出は、侵入検出を提供する。
【００１４】
用途は、モノのインターネット、ホームオートメーション、ビルオートメーション、産業制御システムネットワーク（石油＆ガス、発電、送電、及び配電、飲料水及び下水、薬学／生命科学、化学及び石油化学、エンターテインメント等）、インダストリー４．０及び製造ネットワーク、オフィス及びＩＴネットワーク、データセンターネットワーク、車内ネットワーク、ｃａｒ−ｔｏ−ｘ通信を含むことができる。
幾つかの実施例を以下に示す。
モノのインターネットの用途では、属性抽出を用いて、ホストが血圧センサ、歩数計、ジオロケーションデバイスであるかどうかを理解して、並びに「患者の生体認証（ＥＣＧ、心拍、呼吸数、及びアクティビティレベル）を認可デバイスに送信することができるだけである」又は「ウェアラブルデバイスはアウトバウンド通信のみを有することができる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
ホームオートメーションの用途では、属性抽出を用いて、ホストが、プレゼンスセンサ、冷蔵庫、オーブン、コーヒーメーカー、サーモスタット、スマートフォン、その他であるかどうかを理解して、並びに「冷蔵庫はインターネットに接続できない」又は「オーブンは、既知のスマートフォンからのみスイッチをオン・オフできる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
ビルオートメーションの用途では、属性抽出を用いて、ホストが照明、サーモスタット、コントローラ、ＩＰカメラ、カードリーダ、その他であるかどうかを理解して、並びに「ＩＰカメラはインバウンド通信を受信できない」又は「照明は、１分間につき複数のスイッチのオン・オフコマンドを受信できない」又は「コントローラは、セキュア接続（例えば、セキュアソケットレイヤ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）（ＳＳＬ）、ハイパーテキスト転送プロトコルセキュア（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）（ＨＨＴＰＳ）を通じてのみ再プログラムできる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
産業制御システムの用途では、属性抽出を用いて、ホストがＳｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ  （ＳＣＡＤＡ）、プログラマブルロジックコントローラ（ＰＬＣ）、エンジニアリングワークステーション、ＨＭＩ、その他であるかどうかを理解して、並びに「ＰＬＣは、エンジニアリングワークステーションによってのみ再プログラムできる」又は「ＰＬＣは、ＳＣＡＤＡシステムからしかクエリできない」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
インダストリー４．０及び製造の用途では、属性抽出を用いて、ホストがロボットアーム、３次元（３Ｄ）プリンタ、完成品、コントローラ、分散制御システム（ＤＣＳ）、その他であるかどうかを理解して、並びに「ロボットアームは、同じネットワーク内のＤＣＳからしかコマンドを受信できない」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
オフィス及びＩＴの用途では、属性抽出を用いて、ホストがプリンタ、ワークステーション、仮想サーバ、ラックサーバ、スマートフォン、ファイル転送プロトコル（ＦＴＰ）サーバ、その他であるかどうかを理解して、並びに「プリンタは、印刷メッセージしか受信できない」又は「ＦＴＰサーバは、ワークステーションからしかファイルを受信できず、スマートフォンからは受信できない」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
ｃａｒ−ｔｏ−ｘの用途では、属性抽出を用いて、ホストが車両、信号機、コントローラ、速度計、歩行者、その他であるかどうかを理解して、並びに「信号機は、コントローラからしかコマンドを受信できない」又は「車両は、自己の位置を伝えるためだけに他車両に話しかけることができる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
【００１５】
１つの実施形態において、属性の少なくとも１つは、意味属性であり、意味属性は、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味論的意味を表す。属性の少なくとも１つは、意味属性であり、意味属性の属性値は意味属性の値であり、意味属性は、その意味属性が関連するホスト及び／又はリンクの意味論的意味を表す。
意味属性という用語は、暗黙属性と理解することができ、プロトコルメッセージのフィールドから直接導出することはできない。属性は、複数のメッセージ又は複数の通信に関わる可能性がある分析を実行することによってのみ導出することができる場合に、暗黙的である。暗黙属性は、ホスト及び／又はリンクについて有する情報の意味論的強化を可能にするので、意味属性と呼ぶことができる。例えば、ホストの役割、ホストのオペレーティングシステム（ＯＳ）又はクリティカリティ（重要度）は、暗黙属性の例である。実際に、ホストの役割を導出するには、複数のネットワークアクティビティを分析して、ホストがどのレイヤ７プロトコルを話すか、新規接続を開始するだけか又はサービス提供も行うのか、このホストに関連してどのポートが使用されるか、その他を理解すべきである。同様に、メッセージタイプ（例えば、リンクがデータ要求、コマンド、再プログラム動作、その他を表すかどうか）、又はリンクタイプ（例えば、リンクが、同じコリジョンドメイン内のホスト間に存在するか又はネットワークを越えるかどうか）などの属性は、リンクの暗黙属性の例である。
従って、意味属性という用語は、以下のように定義することができる：
意味属性は、（場合によっては異なる時点において複数のネットワークメッセージにわたる）１又は複数のネットワークメッセージフィールドをより抽象的なカテゴリにマッピングすることによって得られる、ホスト、リンク、又はコンテキスト環境を表す特徴である。この表現は、ネットワークアクティビティの上位レベルの意味論モデルの作成につながる。例えば、ホストの役割及びリンクのメッセージタイプが意味属性の例であり、これらは、複数のメッセージにわたる複数のメッセージフィールド値を観察することにより取得され、より高い抽象レベルを有するネットワークアクティビティにわたって論証するのに役立つことができる。例えば、ＩＰ１がＩＰ２と通信できない（低い抽象レベル）と述べるのではなく、ＰＬＣはＳＣＡＤＡとのみ通信でき、又はコーヒーメーカーは、ローカルネットワークの外では通信できないと言える。
【００１６】
意味属性は、プロトコルフィールド値へのダイレクトマッピングから値を抽出できない属性として記述することができる。意味属性の属性値を抽出するには、意味属性に値を割り当てられるように、例えば、コンテキスト、履歴、他のプロトコルフィールド値及び／又は他の属性値を考慮することが必要となる場合がある。意味属性の例は、限定ではないが、以下を含む。
・ホストの役割（例えば、ＰＬＣ、マスタ、スレーブ、コーヒーメーカー、プリンタ、ワークステーション、ウェブサーバ、その他であるかどうか）
・ホストのオペレーティングシステム（例えば、オペレーティングシステムがＬｉｎｕｘ（登録商標）、Ｗｉｎｄｏｗｓ、専用オペレーティングシステム、その他であるかどうか）
・ホストのネットワークのタイプ（例えば、ホストが公衆ネットワーク又はプライベートネットワーク内、或いは企業ネットワーク、制御ネットワーク、又はフィールドネットワーク、その他に存在するか）
・ホストのベンダ（例えば、Ｃｉｓｃｏ、Ｓｉｅｍｅｎｓ、Ｄｅｌｌデバイス、その他であるか）
・ホストのクリティカリティ（例えば、高、中、又は低のクリティカリティアセットかどうか）
・リンクの動作（例えば、読出し、書込み、通知、再プログラム動作、その他かどうか）
・リンクのプロトコルのタイプ（例えば、オペレーショナルプロトコル、ベンダ固有プロトコル、又はオープンプロトコル、その他かどうか）
・メッセージのメッセージタイプ
【００１７】
意味属性を使用すれば、ネットワークアクティビティのより上位レベルの意味モデルを作成することができ、属性ベースのポリシーを意味ベースのポリシーとして定義することができ、従って、より高い抽象レベルでポリシーを定義することが可能となる。
【００１８】
属性抽出は、ネットワークトラフィックから明示属性及び暗黙属性を継続的且つ受動的に抽出するものとして説明できる。属性は、ネットワークアセット、すなわちホスト、又はネットワーク通信、すなわちリンクの何れかを指すことができる。分析には役立つが同時にネットワークの正常動作を妨げる可能性がある何れの追加トラフィックも投入することなく、トラフィックを受動的にリスンすることにより属性が導出される。暗黙属性の抽出により、ネットワークイベントを意味論的及びコンテキスト情報で強化することができる。例えば、ＩＰ1がＩＰ２に話しかけるというイベントを有するのではなく、属性抽出のお陰で、端末の役割のホストがＰＬＣの役割のホストに、再プログラミングメッセージタイプを含むリンクで話すのを確認したと言える。次に、これが属性ベースの検出ポリシーの書き込みを可能にする。
【００１９】
属性ベースのポリシーは、非自明で自動的に抽出されるホスト属性及びリンク属性に依存することによって、許容可能なネットワークアクティビティを許容不可のネットワークアクティビティを区別するものとして説明できる。属性ベースのポリシーの例は、以下の通りである。「エンジニアリングワークステーション（ＥＷ）の役割を有するホストだけが、ＰＬＣの役割を有するホストに再プログラムメッセージを送信することができる。」ｉ）ポリシーが定義される属性は、ネットワークから自動的に抽出される。これにより、ユーザは各ホストに役割を手動で関連付けるという負担から解放される。ｉｉ）ＩＰベースのポリシーではなく属性ベースのポリシーを使用すると、単一のステートメント内に複数のホスト（すなわち、ポリシーの属性に一致する全ホスト）を包含できる意味を意識したポリシーを記述することができる。ｉｉｉ）属性を用いることで、ポリシーがより高い抽象レベルで表され、分かりやすさ及び移植性を向上させる。
【００２０】
解析、属性抽出、モデルアップデート、属性ベースのポリシーに対するモデル保持についての上述のプロセスの実施例が以下に提供される。
【００２１】
データネットワーク上のネットワークトラフィックが監視される。
以下の属性：｛ＩＰ，オペレーティングシステム，ベンダ，役割，ファームウェア，ネットワークタイプ}を含むホストのメタモデルが提供される。以下の属性｛ソースＩＰ，宛先ＩＰ，プロトコル，ソースポート，宛先ポート，動作，発生数}を含むリンクのメタモデルが提供される。
ホストＨ１からホストＨ２へのネットワークリンクＬ１を観察する。ネットワークトラフィックを解析して、ネットワークメッセージから以下のプロトコルフィールドを抽出する：｛プロトコル名=Modbus，ソースIP=10.1.1.1，宛先IP=10.1.1.2，ソースポート=502，宛先ポート=502，機能コード＝16}。
Ｈ１、Ｈ２、及びＬそれぞれに関連するホストモデル及びリンクモデルが選択される。取得したモデルは以下の現在状態を有すると仮定する。
Ｈ１のモデル＝{IP=10.1.1.1，オペレーティングシステム=?，ベンダ=Siemens，役
割=?，ファームウェア=?，ネットワークタイプ=?}  記号「?」は、その属性の値
がないことを意味する。
Ｈ２のモデル＝{IP=10.1.1.2，オペレーティングシステム=?，ベンダ=Siemens，役
割=?，ファームウェア=?，ネットワークタイプ=?}
Ｌ1＝{ソースIP=?, 宛先IP=?，プロトコル=?，ソースポート=?，宛先ポート=?，動作=?，発生数=0}であるので、Ｌのモデルは空である。記号「?」は、その属性の値がないことを意味する。
プロトコルフィールドから属性値を抽出する。例えば：
Ｈ１の属性＝{IP=10.1.1.1，役割＝マスタ}  役割という属性は、「ホストＨｘか
らホストＨｙに１６と同等の機能コードを有するＭｏｄｂｕｓリンクが存在し、
Ｈｙの役割のベンダがＳｉｅｍｅｎｓと同等の場合、Ｈｘはマスタと同等の役割
を有し、Ｈｙはスレーブと同等の役割を有する」のようなヒューリスティクスに
依存することにより（本実施例では）抽出されるので、意味属性であることに留
意されたい。
Ｈ２の属性＝{IP=10.1.1.1，役割=スレーブ}  役割という属性は、「ホストＨｘか
らホストＨｙに１６と同等の機能コードを有するＭｏｄｂｕｓリンクが存在し、
Ｈｙの役割のベンダがＳｉｅｍｅｎｓと同等の場合、Ｈｘはマスタと同等の役割
を有し、Ｈｙはスレーブと同等の役割を有する」のようなヒューリスティクスに
依存することにより（本実施例では）抽出されるので、意味属性であることに留
意されたい。
Ｌ１の属性＝{ソースIP=10.1.1.1，宛先IP=10.1.1.2，プロトコル=Modbus，ソース
ポート=502，宛先ポート=502，動作=change setpoint，発生数＝１}  動作という
属性は、「プロトコル名がＭｏｄｂｕｓに等しく、機能コードが１６と同等のリ
ンクＬが存在する場合、動作という意味属性の値は「change setpoint」と同等の
」のようなヒューリスティクスに依存することにより（本実施例では）抽出され
るので、意味属性であることに留意されたい。
Ｈ１、Ｈ２、及びＬに関して選択されたモデルが、新規の属性値でアップデートされる。従って：
Ｈ１のモデル＝{IP=10.1.1.1，オペレーティングシステム=?，ベンダ=Siemens，役
割＝マスタ，ファームウェア=?，ネットワークタイプ=?}  記号「?」は、その属
性の値がないことを意味する。
Ｈ２のモデル＝{IP=10.1.1.2，オペレーティングシステム=?，ベンダ=Siemens，役
割＝スレーブ，ファームウェア=?，ネットワークタイプ=?}  記号「?」は、その
属性の値がないことを意味する。
Ｌ１のモデル＝{ソースIP=10.1.1.1，宛先IP=10.1.1.2，プロトコル=Modbus,ソー
スポート=502,宛先ポート=502，動作=change setpoint，発生数＝１}  記号「?」
は、その属性の値がないことを意味する。
アップデートされたモデルが、既存の属性ベースのポリシーに従うかどうかを評価する。例えば、属性ベースのポリシーセットが、「ソースホストのベンダがＳｉｅｍｅｎｓに等しく、役割がマスタに等しく、宛先ホストのベンダがＳｉｅｍｅｎｓと同等の場合、ソースホストは、ホスト宛先に「change setpoint」動作を送信することができる」という１つのポリシーからなると仮定される。この場合、アップデートされたモデルがポリシーに従うので、アラートは生成されない。
【００２２】
別の実施例を以下に示す。
データネットワーク上のネットワークトラフィックを監視する。
ホストのメタモデルは、以下の属性：｛ＩＰ、オペレーティングシステム、ベンダ、役割、ファームウェア、ネットワークタイプ）}を含む。
リンクのメタモデルは、以下の属性：｛ソースＩＰ，宛先ＩＰ，プロトコル，ソースポート，宛先ポート、動作，発生数}を含む。
ホストＨ３からホストＨ４へのネットワークリンクＬ２を観察する。
ネットワークトラフィックを解析する。
ネットワークメッセージから以下のプロトコルフィールドを抽出する：｛プロトコル名=Modbus，ソースIP=10.1.1.1，宛先IP=10.1.1.2，ソースポート=502，宛先ポート=502，機能コード=16}
Ｈ１、Ｈ２、及びＬそれぞれに関連するホストモデル及びリンクモデルが選択される。取得したモデルは以下の現在状態を有すると仮定する。
Ｈ２のモデル＝{IP=10.1.1.1，  オペレーティングシステム=?，ベンダ＝Dell，役割
=?，ファームウェア=?，ネットワークタイプ=?}  記号「?」は、その属性の値がな
いことを意味する。
Ｈ３のモデル＝{IP=10.1.1.2，  オペレーティングシステム=?，ベンダ＝Dell，役割
=?，  ファームウェア=?，  ネットワークタイプ=?}Ｌ＝{  ソースIP=?，  宛先IP=
?，プロトコル=?，ソースポート=?，宛先ポート=?，動作=?，発生数=0}であるので
、Ｌ２のモデルは空である。
プロトコルフィールドから属性値を抽出する。例えば：
Ｈ３の属性＝{IP=10.1.1.1，役割=?}  「ホストＨｘからホストＨｙに１６と同等の
機能コードを有するＭｏｄｂｕｓリンクが存在し、Ｈｙの役割のベンダがＳｉｅ
ｍｅｎｓと同等の場合、Ｈｘはマスタと同等の役割を有し、Ｈｙはスレーブと同等
の役割を有する」というヒューリスティクスが満たされないので、この場合は役割
という属性が割り当てられないことに留意されたい。
Ｈ４の属性＝{IP=10.1.1.2，役割=?}  「ホストＨｘからホストＨｙに１６と同等の
機能コードを有するＭｏｄｂｕｓリンクが存在し、Ｈｙの役割のベンダがＳｉｅ
ｍｅｎｓと同等の場合、Ｈｘはマスタと同等の役割を有し、Ｈｙはスレーブと同等
の役割を有する」というヒューリスティクスが満たされないので、この場合は役割
という属性が割り当てられないことに留意されたい。
Ｌ２の属性＝{ソースIP=10.1.1.1，宛先IP=10.1.1.2，プロトコル=Modbus，ソースポ
ート=502，宛先ポート=502，動作=change setpoint，発生数＝１}  動作という属性
は、「プロトコル名がＭｏｄｂｕｓに等しく、機能コードが１６と同等のリンクＬ
が存在する場合、動作という意味属性の値は「change setpoint」と同等の」のよう
なヒューリスティクスに依存することにより（本実施例では）抽出されるので、意
味属性であることに留意されたい。
Ｈ３、Ｈ４、及びＬ２に関して選択されたモデルが新規の属性値でアップデートされる。従って：
Ｈ３のモデル＝{IP=10.1.1.1，オペレーティングシステム=?，ベンダ＝Dell，役割=?
，ファームウェア=?，ネットワークタイプ=?}  記号「?」は、その属性の値がない
ことを意味する。
Ｈ４のモデル＝{IP=10.1.1.2，オペレーティングシステム=?，ベンダ＝Dell，役割=?
，ファームウェア=?，ネットワークタイプ=?}  記号「?」は、その属性の値がない
ことを意味する。
Ｌ２のモデル＝{ソースIP=10.1.1.1，宛先IP=10.1.1.2，プロトコル=Modbus，ソース
ポート=502，宛先ポート=502，動作=change setpoint，発生数＝１}  記号「?」は、
その属性の値がないことを意味する。
アップデートされたモデルが、既存の属性ベースのポリシーに従うかどうかを評価する。例えば、属性ベースのポリシーセットが、「ソースホストのベンダがＳｉｅｍｅｎｓに等しく、宛先ホストのベンダがＳｉｅｍｅｎｓと同等の場合、ソースホストは、ホスト宛先に「change setpoint」動作を送信することができる」という１つのポリシーからなると仮定される。この場合、アップデートされたモデルがポリシーに従わないので、アラートが生成される。
【００２３】
１つの実施形態において、少なくとも１つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも２つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される。従って、意味属性は、挙動を観察することにより及び／又は異なる時点に送信されるデータを組み合わせることにより導出することができ、従って、単一のプロトコルフィールドからは導出できない属性を導出することができる。例えば、第２ホストの挙動に関連する属性は、第２ホストから第１ホストに送信される応答と組み合わせて第１ホストから第２ホストに送信されるメッセージから導出することができる。従って、異なる時点において導出された意味属性により、更に属性関連の情報を導出すること、及び／又はプロトコルデータフィールドから取得した情報からより高レベルの抽象を導出することが可能となる。
【００２４】
１つの実施形態において、モデルセットは、第１ホストのモデル、第２ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも１つの意味属性を含む。ホスト又はリンクのモデルは、ホスト又はリンクの意味属性の属性値を用いて構築することができる。従って、モデルは、意味属性の意味属性の値を考慮して構築することができる。意味属性を使用すると、モデルは、より情報が多くより汎用的とすることができ、これらのモデルにより、より高い抽象レベルのポリシーを作成可能にすることができる。
【００２５】
１つの実施形態において、ポリシーは各々、条件が満たされる場合の結果を定義し、条件は、定義された属性値を有する属性のうちの少なくともそれぞれ１つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す。条件の形のポリシー及び条件が満たされる場合の結果を記載することにより、以下で詳細に説明するように、ポリシーは、その学習、組み合わせ、アップデート時に好都合にプログラムし修正することができる。ポリシーの結果は、例えば、「許容可能」又は「許容不可」又は「隔離」又は「記録」又は「隔離、記録」を含むことができる。
【００２６】
１つの実施形態において、各ポリシーの条件は、少なくとも１つの意味属性の値を含む。従って、各ポリシーは、より高い抽象レベルを有することができ、ユーザによってより容易に理解／解釈することができ、またより汎用的とすることができる。
【００２７】
１つの実施形態において、ｂ）はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる。ルールにより、抽出されたプロトコルフィールド値に基づいて属性値を自動的に割り当てることができる。このようなルールの例は、オペレーティングシステム「Ｌｉｎｕｘ（登録商標）」を使用し且つインターネットメッセージアクセスプロトコル（ＩＭＡＰ）というプロトコルの到着メッセージを有するホストであって、電子メールサーバの役割を有する属性が割り当てられるホストとすることができる。ルールは、ドメイン固有とすることができ、ドメイン固有の知識に基づいて設けることができる。
【００２８】
１つの実施形態において、ｂ）は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む。属性は、ネットワークデータトラフィックの直接観察によって導出することができ、ＩＰアドレス等の属性は、プロトコルフィールド値から直接導出することができる。
【００２９】
１つの実施形態において、ｂ）は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む。
別の実施形態において、ｂ）は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む。
本方法は更に、分類子の信頼性レベルを決定するステップを含み、属性値は、信頼性レベルが所定の信頼性レベルを上回る時にのみ、分類子から導出される。１つの実施形態では、ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する。各意味属性は、ヒューリスティクス又は分類子の何れかを適用することにより導出することができる。通常、ヒューリスティクスによって得られる結果は、分類子よりも高い優先度を有する。役割（Ｒｏｌｅ）という属性を推測するのに用いられるヒューリスティクスの例は、以下の通り：「ドメインネームシステム（ＤＮＳ）プロトコルを用いた会話が観察されると、そのようなリンクのターゲットホストは、ＤＮＳサーバという役割を有する」である。明らかに、複数のこのようなヒューリスティクスを導入することができる。加えて、ヒューリスティクスは、特定の配置に対してグローバル又はローカルとすることができる（例えば、所与のセクタでのみ当てはまるヒューリスティクス）。他方、分類子は、特徴セットを入力として仮定すると、値（又はクラス）を出力として属性に関連付けることができるモデルである。分類子は通常、標識付きデータセット、すなわち、特徴とクラスとの間の関連性が既知であるデータセットに機械学習アルゴリズムを適用することによって生成される。その後、これらの分類子を用いて、非標識のデータに関してクラスを推測することができる。一般に、分類子は、信頼性レベルを分類子の推測に関連付けて、属性抽出構成要素の信頼性を高く保つために、分類子によって推測されたクラスが高い信頼性レベル（例えば、９０％超）を有する場合にのみ属性を解決する。特定の暗黙属性は、一定の時間、例えば、値を評価するのに十分な情報が利用可能になるまで、未解決のままになる可能性がある点に留意されたい。
【００３０】
１つの実施形態において、データ通信ネットワークにはスティミュラスが注入されない。ネットワーク上で行われるデータ通信を受動的にリスンすることにより、ネットワーク上のデータ通信の障害は発生しない。従って、一方では、ネットワーク内に追加の負荷がかからず、他方では、データ通信ネットワークの挙動により良い洞察が得られる可能性がある。スティミュラスが注入されないので、所望の情報を収集するのにはしばらくの時間を要する可能性がある。一部のメッセージは、散発的にしか送信できない。従って、データトラフィックを比較的長期間、例えば、数時間、数日、数週間にわたって監視して、説明される属性値を導出できるようにするプロトコルフィールド値を抽出することができる。
【００３１】
１つの実施形態において、ステップｂ）、ｃ）、ｄ）、及びｅ）は、第１ホスト、第２ホスト、及びリンクに関して実行され、モデルセットは、第１ホストに関連するモデル、第２ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第１ホストの属性、第２ホストの属性、及びリンクの属性に関して条件を定義する。
【００３２】
１つの実施形態において、属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す。従って、属性ベースのモデル及び属性ベースのポリシーにより、許容可能な挙動を高い抽象レベルで定義することができるので、アップデート、新規デバイス、その他のようなネットワーク構成における変更が起こると、許容可能な挙動が観察される場合にホワイトリストポリシーが有効になる。従って、アップグレード又は正当な新規デバイス等の正当な変更は、属性ベースのポリシーを用いると、既存デバイス又はアップグレード前に関して監視された挙動に類似する挙動を示すことが分かり、従って、類似の又は同じ属性を示すこと、すなわち、ホワイトリストポリシーに従うことが分かる。従って、定期アップデート、アップグレード、その他の結果としての誤ったアラームが最大限まで回避することができる。
別の実施形態では、属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能でないかどうかを示す。上記と同様に、ホストの特定の挙動が悪意のあるものと定義されると、類似の攻撃又は類似の攻撃の試みは、そこから類似の又は同じ属性を導出できることを示し、これらのアクティビティがブラックリストに対応するアクティビティに文言通りに対応しない場合でも、可能性のある悪意のあるアクティビティを検出することができる。
【００３３】
第１ホスト、第２ホスト、又はリンクに関連するモデルが、属性ベースのポリシーの何れにも一致することができない場合、この第１ホスト、第２ホスト、及びリンクのそれぞれに関連するデータ通信は、隔離に格納される。
【００３４】
属性抽出構成要素の目標は、ネットワークトラフィックを継続的及び受動的に監視することにより、監視するネットワーク、単一ホスト、通信リンク、その他に関してできる限り多くの情報を見出すことである。
属性抽出は、様々な方法で行うことができる。
１．専門家の直接割り当てを通じて：属性は、直接割り当てを通じて（例えば、「ホストＸは、Ｈｏｎｅｙｗｅｌｌと同等のベンダ及びＰＬＣバージョンＹと同等の役割を有する」又は「位置Ｙにある全てのＰＬＣが属性Ｚに対して値Ｋを有する」というルールを用いて）ユーザが決定するものである。
２．ダイレクトネットワークマッピングを通じて：属性は、ネットワークトラフィックの直接観察によって導出することができる（例えば、ＩＰアドレスを、特定のネットワークメッセージフィールドから抽出することができる）。
３．ヒューリスティクス及び分類子を通じて：オブザーバブルを属性にマッピングするルールが存在し、ここでオブザーバブルは、非応答型（パッシブ・スニッフィング）又は応答型（アクティブ・ディスカバリ）とすることができる。ルールは、専門家（ヒューリスティクス）によって作成されるか、或いは機械学習又はデータマイニングアルゴリズム（分類子）を用いてデータから抽出することができる。
属性は、ホスト又は通信リンクの何れかを参照することができ、明示又は暗黙の何れかとすることができる。明示属性は、例えば、ネットワークパケットフィールドから直接観察することができる。例えば、ＭＡＣアドレス及びＩＰアドレスは、レイヤ２データグラム及びレイヤ３パケットの特定のフィールドに含まれるので、明示的なホスト属性である。同様に、プロトコル、ポート、又はソース及びターゲットは、リンクの明示属性の例である。明示属性を抽出するために、詳細プロトコル検査技術を適用することができる。他方、属性は、複数のメッセージ又は複数の通信に関わる可能性がある分析を実行することによってしか導出できない場合に暗黙的である。暗黙属性は、ホスト及び／又はリンクについて有している情報の意味論的強化を可能にするので、意味属性と呼ぶことができる。例えば、ホストの役割、ホストのオペレーティングシステム（ＯＳ）又はクリティカリティは、暗黙属性の例である。実際に、ホストの役割を導出するには、複数のネットワークアクティビティを分析して、ホストがどのレイヤ７プロトコルを話すか、新規の接続を開始するだけか又はサービス提供も行うのか、このホストに関連して何れのポートが使用されるか、その他を理解すべきである。同様に、メッセージタイプ（例えば、リンクがデータ要求、コマンド、再プログラム動作等を表すかどうか）又はリンクタイプ（例えば、リンクが、同じコリジョンドメイン内のホスト間に存在するか又はネットワークを越えるか）のような属性が、リンクの暗黙属性の例である。
【００３５】
本発明は、ネットワークトラフィックを受動的にスニッフィングすることによって属性を抽出するパッシブ手法を採用することができる。アクティブプローブを使用すると、産業ネットワークのように限られたリソース及び厳しい制約を有する環境では許容可能でない可能性がある、追加のトラフィックを生じるという大きな欠点を有する。加えて、パッシブ手法を用いることにより、属性抽出はそれほど簡単ではなくなる可能性があり、すなわち、ヒューリスティクスの照合に必要なネットワークイベントが現れず、そのため、本発明は、この不都合なことに対処するための対策（例えば、本明細書の他の箇所で説明するような機械学習技術を用いることによって）を講じる場合がある。
【００３６】
本発明は、ホストの正常挙動を特性化するために役割（及び他の属性）を利用して、正常からの逸脱を潜在的感染（攻撃）として検出することができる。本発明では、ホワイトリストポリシー違反により自動的に感染を検出することになるので、このことは、悪意のある役割を定義する必要がないことを意味する。
【００３７】
本発明の解決策は、アクティブ手法ではなくパッシブ手法を採用することで、トラフィックの特性に基づいて暗黙属性を推測することができる。アクティブプローブを使用すると、特定の環境では許容できない可能性がある追加のトラフィックを生じさせる。
本発明の解決策は、役割を推測するだけでなく、複数の暗黙属性（例えば、役割、ベンダ、オペレーティングシステム、場所、機能、及びメッセージタイプ）を抽出する手法（ヒューリスティクス及び分類子）を適用することができる。
本発明の解決策は、役割（及び他の属性）を利用して許容可能な挙動を特性化し、次いで、正常からの逸脱を潜在的感染（攻撃）として検出する。このことは、ホワイトリストポリシー違反により自動的に感染を検出することになるので、本発明の解決策では、悪意のある役割を定義する必要がないことを意味する。
【００３８】
属性ベースのポリシー検出は、明示及び暗黙のホスト属性及びリンク属性に基づいて、ポリシーを施行することを目的とする。
属性ベースのポリシーは、ドメイン固有のセキュリティ制約を表すのに用いられる。例えば、産業制御システムでは、通常はエンジニアリングワークステーションのみが、プログラマブルロジックコントローラ（ＰＬＣ）のロジックを変更できるのに対し、ＳＣＡＤＡ又はＤＣＳは、ＰＬＣメモリの読出し又は書込みを行うためのコマンドを発行するだけである。このドメインの知識を属性ベースのポリシーに変えることができ、ポリシーに違反した場合に、侵入検出システムがアラートを発することができる。属性ベースのポリシーの例は以下の通りである。
・エンジニアリングワークステーションの役割を有するホストのみが、ＰＬＣの役割を有するホストに再プログラムコマンドを送信可能である。
・再プログラムコマンドは、夜間に送信することはできない。
・再プログラムコマンドは、ネットワークを越えるリンク上では送信することができない。
理解できるように、これらのポリシーを表現するためには、ホスト属性及びリンク属性の両方が必要である。加えて、理解しやすく、表現に富み、矛盾するポリシーを識別でき、ポリシー数の増加に伴って拡張可能である言語を定義することが望ましい。また、このような言語は、肯定ポリシー及び否定ポリシーの両方を考慮できる必要がある。実際には、肯定ポリシーは、許容可能な挙動のホワイトリストのリストを可能にし、否定ポリシーは、許容不可の挙動のブラックリストの定義を可能にする。
ポリシーを表現するために用いることができる実施可能な方法は、ｉｆ−ｃｏｎｄｉｔｉｏｎ−ｔｈｅｎ−ａｃｔｉｏｎステートメントの形式である。条件（ｃｏｎｄｉｔｉｏｎ）は、ｔｒｕｅ（真）又はｆａｌｓｅ（偽）を評価することができ、リンク、ホスト、又はコンテキスト属性（例えば、時間、場所）に対して定義可能なブール条件とすることができる。動作（ａｃｔｉｏｎ）は、ネットワークアクティビティが許容可能か又は許容不可か（例えば、許可又は破棄）を表すのに用いることができる。加えて、ポリシーは、任意選択的に、ｏｂｌｉｇａｔｉｏｎ（義務）（ポリシーに一致する場合になすべきこと）を有することができる。ｏｂｌｉｇａｔｉｏｎの例は、管理者ユーザＪｅｆｆに電子メールを送信、優先度を中に設定、及びクリティカリティを高に設定を含む。属性ベースのポリシーは、２つの方法で、すなわち、ａ）ドメインの知識がある専門家によって、及びｂ）生のトラフィックから自動的に作成することができる。最初のケースでは、ポリシーを作成するために人間の専門家に視覚的な支援することが意図される。例えば、ユーザは、ポリシーをテキストとして書き込むのではなく、グラフィカルインタフェースからオブジェクト及び属性を選ぶことができる。２番目のケースでは、ネットワークデータから自動的にポリシーを学習するアルゴリズムの開発、属性抽出構成要素が提供する意味論的強化の利用を目的とする。
【００３９】
属性ベースのポリシーＰは、以下のように定義することができる：
ホスト関連属性（ＡH）、リンク関連属性（ＡL）、及びコンテキスト関連属性（ＡC）を所与として、属性A=AH∪AL∪AC=<a1 = va1, a2=va2,..,an=van>であり、ここで、ai∈Aは値vai ∈Viを有し、i ∈[1,n]であり、属性ベースのポリシーは以下のように定義される。
P = < if < ATTRIBUTE OP VALUE [{LOGICOP ATTRIBUTE OP VALUE}]> then ACTION [{, OBLIGATION}]>
ここで、
・ATTRIBUTEは、任意のホストベース、リンクベース、又はコンテキストベースの属性ai ∈ Aとすることができる。
・OPは、任意の比較演算とすることができる（例えば、>、<、≠、=、その他）
・VALUEは、属性a1が取ることができる任意の値vai ∈ Viである。
・LOGICOPは、任意の論理演算子である（例えば、and,  or,  not）
・ACTIONは、ポリシーの肯定一致の場合に行うべきことを定義する（例えば、拒否又は許可）
・OBLIGATIONは、一致の場合に行うべき追加の動作を定義する（例えば、send email = name@domain.com, set priority = high, set criticality = medium）
ｉｆ節の引数は、ポリシーの適用性を改善する属性ベースのブール式であり、つまり、式の評価がｔｒｕｅ（真）である場合にのみ、動作が実行されることになる点に留意されたい。また、形式［．．．］は任意の要素を示し、｛．．．}は、要素の繰り返しを示すので、属性ベースのポリシーは、１又はそれ以上の属性ベースの式（すなわち、ATTRIBUTE  OP  VALUE）及びゼロもしくはそれ以上のｏｂｌｉｇａｔｉｏｎを有することができる。ｉｆ節における属性の少なくとも１つは、暗黙（すなわち、意味的）属性とすることができる。
【００４０】
従って、属性ベースのポリシーは、アクセス制御（ＡＣ）において使用することができ、ここでリソースへのアクセスは、要求側が所有する属性に従って許可されるか否かである。アクセス制御において、属性は通常は証明書によって立証され、属性がいかにモデル化されるかに従って、異なる言語が提案され採用されている。しかしながら、利用可能な全ての解決策は、属性の手動の定義に依存しており、ネットワークデータからの属性の自動抽出に依存することによる属性ベースのポリシーを定義する解決策は利用可能ではない。
【００４１】
考慮することができる多数のホスト属性及びリンク属性のお陰で、本明細書で記載されるポリシーは、トラフィックフローベースのポリシーよりも遙かにきめ細かくすることができる。例えば、フローベースのポリシーでは、２つのホストが特定のポートを通じて特定数のバイトを交換できるとしか言えないが、本開示の属性ベースのポリシーでは、遙かに深く入り込む制約を表現することができ、及びどのような種類のメッセージを交換できるか又はできないかを示すことができる制約を表現することができる。例えば、ＰＬＣは夜間には再プログラムできない、或いは、ＰＬＣはクロスネットワークリンク上では再プログラムできないことを示すことができる。
本発明では、ホスト属性及びリンク属性は、ネットワークトラフィックから自動的に抽出することができる。これは、属性ベースのポリシーを採用するために、認証機構を導入する必要がないことを意味する。
【００４２】
本発明によれば、属性は、属性抽出構成要素を用いることにより生のトラフィックから自動的に推測できるので、各構成要素に対して手動で設定する必要がない。本発明は、生のトラフィックからの属性の自動的な受動抽出を属性ベースのポリシーと組み合わせて、許容可能なネットワークアクティビティを悪意のあるネットワークアクティビティと区別するための意味を意識したポリシーを作成する。単一の属性ベースのポリシーは、複数のエンティティ（同じ属性を共有する全てのエンティティ）を参照することができる。属性ベースのポリシーは、記述及び理解するのが容易である。
【００４３】
１つの実施形態において、第１ホスト、第２ホスト、又はリンクに関連するモデルがホワイトリストポリシーの何れにも一致できない場合、第１ホスト、第２ホスト、及びリンクのそれぞれ１つに関連するデータ通信は、隔離に格納される。ホワイトリストポリシーに従わないデータトラフィックを隔離に格納することで、データトラフィックの許容性に関する判断を保留することができる。隔離内に格納されたデータトラフィックは、以下でより詳細に説明するように、新規のポリシーを学習するため及び／又は既存ポリシーをアップデートするために適用することができる。隔離は、ホスト又はリンクのそれぞれが正当であるか又は悪意があるかに関する判断が行われていない、ホスト、リンク、又はホスト及びリンクの組み合わせのリストを格納する。従って、隔離という用語は、本明細書では、隔離リストとして理解することができ、隔離リストがホスト又はリンクが正当であるか又は悪意があるかに関する決定が行われていないホスト及び／又はリンクのリストを提供する。隔離は、隔離内にリストされたホスト又はリンクを識別する記録リスト、及び任意選択的に隔離内にリストされたホスト又はリンクが正当又は悪意があるという仮説の支援、任意選択的に支援を計算するのに用いられるエビデンスを構成するイベントのリスト、及び任意選択的に隔離内にリストされたホスト又はリンクに関連するネットワークメッセージセットによって形成することができる。
【００４４】
１つの実施形態において、本方法は更に、整合性ルールを提供するステップを含み、整合性ルールは、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデル（例えば、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデル）の属性の少なくとも２つの属性値の整合した組み合わせを定義し、以下を含む。
・監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップ
・データトラフィック（第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックなど）が整合性ルールに従わない場合に、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックを隔離内に格納するステップ
整合性ルールを使用すると、ホストの属性が相互に一致するかどうかを検証することができる。
従って、整合性ルールは、ホスト／リンクモデル内の許容可能な属性値又は属性値の組み合わせを定義するルールとして定義することができる。一方で、整合性ルールは、既存の属性ベースのポリシーを適用する前でも、不整合を検出するために適用することができる。従って、不整合を検出することができ、不整合が検出された場合は、関連するデータトラフィックが隔離内に格納することができる。更に、隔離内に格納されたデータトラフィックから属性ベースのポリシーをアップデートする時は、以下でより詳細に説明するように、整合性ルールを用いて、アップデートプロセス中にホスト／リンクにおいてエラーを導入するのを防ぐことができる。
【００４５】
１つの実施形態において、監視するデータトラフィックから導出された属性に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検出するステップは、ステップｅ）の前に実行される。従って、データトラフィックは、整合性ルールに従わないように見える場合は、これに応じて処理される、例えば、隔離内に格納することができる。
【００４６】
１つの実施形態において、整合性ルールは、データトラフィックの発生時間、及びデータトラフィックの発生場所のうちの少なくとも１つを含む。このため、整合性ルールは、時間及び場所を考慮することができ、従って、整合性ルールの精緻化が可能となる。
【００４７】
１つの実施形態において、第１ホストに関連する整合性ルールは、別のホストの属性、好ましくは第２ホストの属性を含む。このため、１つのホストに関連する整合性ルールは、別のホストの属性を考慮することができる。例えば、第１ホストがＰＬＣで、第２ホストがＰＲＩＮＴＥＲの場合、これらは、属性ＮＥＴＷＯＲＫに関して同じ値を有することはできない。言い換えれば、ＰＬＣ及びＰＲＩＮＴＥＲは、同じネットワーク内に配置することはできない。
【００４８】
１つの実施形態において、ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む。従って、整合性ルールは、ローカルに、例えば、類似のホストのグループに関連して定義することができる。グループは、例えば、クラスタリングアルゴリズムを用いて定義することができる。
【００４９】
１つの実施形態において、整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される。整合性ルールは、事前定義することができ、例えば、経験、セキュリティ規制等に基づいてオペレータにより入力することができる。代替的に、整合性ルールは、データトラフィックから学習することができる。
【００５０】
整合性ルールは、以下のように様々なタイプとすることができる：
例えば、許容されない属性値の組み合わせを識別するために、経験によって決定付けられる一般ルール（例えば、「ホストは、同時にＰＬＣ及びエンジニアリングワークステーションにはなれない」又は「ベンダがＨｏｎｅｙｗｅｌｌの場合、ホストの役割は、端末にはなれない」）。
例えば、必要な属性値の組み合わせを識別するための、特定のサイトにとってローカルなルール（例えば、「ＰＬＣと同等の役割を有する全てのホストは、Ｈｏｎｅｙｗｅｌｌと同等のベンダを有する」は、ＰＬＣと同等の役割の属性とＲｏｃｋｗｅｌｌと同等のベンダの属性を有するホストが存在する場合、これはルールに違反することになることを意味する）。
セキュリティ又は管理ポリシー、或いは規制に依存することができる。
時間の経過と共に、例えば、システムの管理ポリシーが当てはまる時に変化する場合がある。
時間、場所、及び別のホストの属性を含む、様々な種類のパラメータに依存することができる。
グローバル、すなわちネットワーク内のあらゆるホストに整合性ルールが当てはまる、或いはローカル、すなわち整合性ルールは、特定の近隣、すなわち類似ホストのグループに対してのみ当てはまる、の何れかとすることができる。明確には、ローカルルールを定義するには、ホスト間の類似性を評価するための測定基準を定義する必要があり、従って、（例えば、クラスタリングアルゴリズムを用いることで）類似のホストの近隣を識別する必要がある。
多くの場合に、整合性ルールは、ホストの属性を整合不整合のセットにマッピングする関数となる。より一般的には、整合性ルールは、全てのホストの全属性及びそれらの環境を許容可能な値のセットにマッピングする関数である。これは、当該システムの健全性又は整合性状態が表示され、また、不整合が識別された場合に行うことができる動作も表示されることができる。例えば、属性を、メンバを整合、不整合、疑わしい、問題がある、その他とすることができるセット内に属性をマッピングするルールを有することは有用とすることができる。整合性ルールは、専門家によって手動で定義されるか、又はデータから推測することができる。後者の場合、機械学習アルゴリズムを用いて（例えば、関連付けルール）、属性の正常な組み合わせと異常な組み合わせとを区別することができる。
【００５１】
従って、整合性ルールを適用すると、以下を達成することができる。
・属性を自動的に抽出するのに用いられるアルゴリズムが、システムを意味的に無効な状態にしないことを保証する
・整合性チェックを適用して、属性が単独でではなく、同じホスト又は同じ近隣の他の属性に対して「異常」である時点を検出する
・正常な値と異常な値又は属性値の組み合わせを区別するための機械学習技術
【００５２】
隔離、隔離及び検出アルゴリズム、整合性ルール、及び不整合検出という用語は、以下のように説明することができる：
隔離：隔離は、曖昧な状態にあるホスト及びリンクを含む：これらが正当なものかどうかの決定は、これらを分類するための十分なエビデンスが無くなるまで保留される。隔離は、以下の要素を含むタプルのリストとして表される。
タプルの識別子
ターゲット、すなわち、隔離されているホスト又はリンク、及び関連するホスト／リンクモデル
隔離内のホスト／リンクが正当であるという仮説０への支援
隔離内のホスト／リンクが悪意があるという仮説１への支援
支援を計算するために用いたエビデンスを構成するイベントのリスト。イベントは、データトラフィックから抽出することができ、又はシステムによって生成又はユーザによって提供することができる。イベントの例は、新規ホスト、新規ホスト属性値、新規リンク、新規リンク属性値、アラート、ユーザフィードバック、その他を含むことができる。
隔離内のホスト／リンクに対応するデータトラフィック
【００５３】
検出及び隔離アルゴリズム：インシデントを検出してホスト及び／又はリンクを隔離するプロセス。プロセスは以下のように機能する。
・新規のデータトラフィックが利用可能である
・データトラフィックを解析してホスト属性及びリンク属性を抽出
・対応するホストモデル及び／又はリンクモデルを選択
・データトラフィックと関連付けられる既存のホスト／リンクモデルが存在しない場合、モデルを初期化して、ホスト及び／又はリンクを隔離に追加
・存在する場合は、属性の非整合性をチェック
・非整合の場合は、対応するホスト及び／又はリンクを隔離に追加
・それ以外の場合は、ネットワークメッセージを属性ベースのポリシーと照合
・ブラックリストポリシーと一致する場合は、アラートを発する
・ホワイトリストポリシーと一致する場合は、何も行わない
・一致を評価できない場合は（例えば、対応するホスト／リンクモデル内の全ての属性がまだ特徴付けられていないので）、ホスト及び／又はリンクを隔離に入れる
【００５４】
整合性ルール：ホスト／リンクモデル内で許容可能な属性値又は属性値の組み合わせを定義するルール。整合性ルールは、アップデートプロセス中にホスト／リンクモデルでエラーが生じるのを防ぐために用いられる。
不整合検出：整合性ルール違反を識別するプロセス。
【００５５】
ホストを特性化するために用いる属性の値が矛盾状態にないことを検証するための不整合検出。例えば、ホストは、Ｌｉｎｕｘ（登録商標）と同等のオペレーティングシステムと、ＡＢＢ同等のベンダを同時に有することはできない。整合性ルールの例は、以下を含む。ｉ）可能ではない属性値の組み合わせ、例えば、役割が端末の場合、ベンダはＨｏｎｅｙｗｅｌｌとすることはできない。ｉｉ）必要な属性値の組み合わせ、例えば、役割がＰＬＣの場合、ベンダはＨｏｎｅｙｗｅｌｌでなければならない。ｉｉｉ）特定のドメインにおいて特定の値のみを有する属性、例えば、ベンダは、特定のネットワークではＤｅｌｌ及びＨｏｎｅｙｗｅｌｌのみである。及びｉｖ）近隣の属性値に従って通常のものである属性値の組み合わせ、例えば、近隣の全ホストは特定のプロトコルだけを話す。本態様は、ホストの属性を抽出するのに用いられるアルゴリズムが、モデルを意味的に無効状態にするのを防ぐ。加えて、悪意のあるホストが正当なホストの挙動を模擬しようと試みている場合、整合性チェックがこのような不正行為を検出するのに役立つ。これは、悪意のあるホストが、他のホストを完全に模擬することはできないことに起因する（例えば、ベンダ及びオペレーティングシステムについての情報は模擬するのが難しい）。従って、模擬の試みは、整合性チェック違反を起こす可能性が高い。
【００５６】
１つの実施形態において、本方法は、データトラフィックから属性ベースのポリシーを学習するステップ（例えば、追加の属性ベースのポリシー、及び属性ベースのポリシーセットの属性ベースのポリシーの少なくとも１つを学習するステップ）を含む。学習するステップは、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件と動作を定義する後件とを含み、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内でどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び／又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、ルールを属性ベースのポリシーに変換するステップと、
を含む。
【００５７】
ポリシーは、例えば、学習フェーズにおいて学習することができる。学習フェーズでは、（トレーニング）データトラフィックが提供されて、（トレーニング）データトラフィックからポリシーを学習する。（トレーニング）データトラフィックは、正常動作中に観察されるような標準データトラフィックによって形成することができる。好ましくは、スティミュラスは注入せずに、すなわち、データ通信ネットワーク上で行われる通信を受動的にリスンすることにより、データトラフィックを収集する。また、ポリシーは自動的な方法で学習することができるので、オペレータによる特定のイベントを許容可能又は許容不可としてマーク付けすることは省くことができる。
データトラフィックを監視して、上述の方法でデータトラフィックから属性を抽出する。属性は、直接及び／又は間接的（意味）属性とすることができる。ホスト属性並びにリンク属性は、意味のあるポリシーの生成を可能にするコンテキストを利用可能にするために抽出される。抽出された属性は、属性ベースのトランザクションのデータセットとして格納され、言い換えれば、特定のＩＰアドレスがコード０ｘ００を別のＩＰアドレスに送信することを格納する代わりに、オペレーティングシステムとしてＷｉｎｄｏｗｓを使用するベンダＤｅｌｌの端末が、オペレーティングシステムとしてＷｉｎｄｏｗｓを使用するベンダＤｅｌｌの別の端末に、ファイルメッセージからの読出しを送信し、これらの端末間のリンクはＳＭＢプロトコルを用いている、ことを格納することができる。従って、トランザクション、すなわち、ネットワークアクティビティに関してデータトラフィックから導出された属性は、データセットの形式で格納される。ルールを生成するためにデータセットが適用される。これに機械学習を適用して、データセット内のルールを抽出することができる。データセットから関連付けルールが導出される。機械学習は、アイテムセットの頻度、すなわち、データセット内に格納された属性セットの頻度を考慮する。従って、このようなアイテムセット、すなわち属性セットの発生頻度を利用して、データセットにおけるアイテム間の関係を発見することができる。
複数のルールの各ルールは、条件を定義する前件と、動作、すなわち条件に関連する動作を定義する後件と、を含む。条件及び動作の両方は、属性の１又はそれ以上に関して定義される。例えば、条件が特定のプロトコルを指定できるのに対し、動作は、ポートを指定する（データトラフィックからは、特定のプロトコルを用いたデータトラフィックが、通常はその特定のポートを使用するように見えるので）。各ルールに関して、信頼性レベル及び支援レベルを決定する。支援レベルは、アイテムセット、すなわちルールの基礎となる属性セットがデータセット内でどのくらいの頻度で発生するかを定義する。信頼性レベルは、どのくらいの頻度でルールが当てはまるように現れるか、例えば、アイテムセット、すなわちルールの基礎となる属性セットのデータセット内での発生においてどのくらいの頻度でルールが当てはまるように現れるかを定義する。例えば、高い信頼性レベル及び高い支援レベルは、ルールの基礎となるアイテムセットが、データセット内で比較的頻繁に現れる（従って高い支援）のに対し、データセット内でのアイテムセットのこれらの発生において、ルールが頻繁に当てはまるように見える（従って信頼性レベルが高い）。
次に、信頼性レベル及び支援レベルを用いてルールを選択する。ルールをポリシーに変換するために、ルールは、一定の支援レベルを有する必要がある。例えば、特定の最低支援レベル（例えば、所定の閾値）を有するルールのみがポリシーに変換される。ポリシーの条件は、ルールの前件及び後件の組み合わせから形成される。ポリシーの結果（例えば、許可、拒否）は、信頼性レベルから形成される。頻繁に当てはまることが判明したルール、すなわち、信頼性レベルが高いルールは、許可動作を生じることができ、少数のケースでのみ当てはまるルール、すなわち信頼性レベルが低いルールは、拒否動作を生じることができる。
【００５８】
従って、ポリシーは、データトラフィックから学習することができ、そうすることで、ほとんどが当てはまるルールを提供する属性セットは、許容可能なトラフィックを定義する属性ベースのポリシーを提供することができ、ほとんどが当てはまらないルールを提供する属性セットは、拒否されるトラフィックを定義する属性ベースのポリシーを提供することができる。従って、１つの実施形態において、支援レベル及び信頼性レベルに基づいてルールを選択するステップは、ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む。
同様に、１つの実施形態において、支援レベル及び信頼性レベルに基づいてルールを選択するステップは、ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む。
【００５９】
ルールは、何れかの機械学習及び／又はデータマイニング技術を用いて、属性から生成することができる。詳細には、関連付けルール及び頻繁なアイテムセットの抽出を適用することができる。従って、１つの実施形態において、ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む。更に、ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む。頻繁なアイテムセットの抽出は、頻繁に発生するアイテムセットの抽出として理解することができる。
【００６０】
１つの実施形態において、ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・２つのポリシーが同じ条件を共有するが、これらのポリシーが異なる動作を含むというコンフリクト（矛盾）が生じる場合、支援及び信頼性が低いポリシーを削除するステップと、
を更に含む。
複数のポリシーが同じ動作を有すると仮定すれば、冗長ポリシーを削除することができるので、生成されるポリシーの数を削減することができる。異なる動作の場合、すなわち、矛盾する挙動が生じる可能性がある場合、支援及び／又は信頼性が低いポリシーを削除することができる。
【００６１】
属性ベースのポリシーの学習は、データトラフィックから属性ベースのポリシーを自動的に抽出するプロセスとして説明することができる。このプロセスは、以下のステップからなる：
１．抽出：ネットワークからデータトラフィックをキャプチャ
２．事前処理：データトラフィックを分析して、これを属性ベースのトランザクションのデータセットに変換
３．ルールマイニング：関連付けルールを抽出するために、ルールマイニングアルゴリズム（例えば、関連付けルール）をデータセットに適用。関連付けルールは、属性の特定のアイテムセットが、データセット内で共に観察された回数を考慮することにより生成される。ルールの支援は、データセット内にアイテムセットがどのくらいの頻度で現れるかを指定し、信頼性（百分率で表示される）は、ルールがどのくらいの頻度で当てはまることが判明したかの指示である。
４．ポリシーへの変換：機械学習アルゴリズムによって生成されたルールは、どの属性がより頻繁に共に確認されるか（前件）、及び何を示唆するか（後件）の指示を与える。この情報は、定義と一致して属性ベースのポリシーに変換する必要がある。ルールがポリシーになるには、本方法では、何れが最小の信頼性及び支援であるか、及び信頼性及び支援の特定のレベルが肯定（すなわち許可）又は否定（すなわち拒否）のポリシーに導くかを決定しなければならない。例えば、肯定ポリシーは、９９％を超える信頼性を有するルールのみに関して生成され、否定のルールは、信頼性が１％未満のルールのみに関して生成されると仮定する。
５．ポリシーの削減：前のステップで生成されたポリシーの幾つかは、冗長である可能性がある。Ｐｘの条件が、別のポリシーＰyの条件全体を含み、ポリシーの動作が同じ場合、ポリシーＰｘは冗長である。このような場合には、Ｐｘを削除することができる。
６．ポリシーコンフリクト（矛盾）の解決：ポリシーＰｘとポリシーＰｙとが同じ条件を共有して、これに対して２つの異なる動作が対応している場合、これらのポリシーは矛盾する。コンフリクトを解決するには、２つのポリシーのうちの１つを削除する必要がある。どちらのポリシーを削除すべきかを決定するために、コンフリクト解決プロセスは、矛盾しているポリシーに至るルールの信頼性及び支援を考慮することになる。
【００６２】
属性ベースのポリシーの学習は、ネットワークトラフィックを受動的に観察することによる新規のポリシーを自動的に推測することと説明することができる。学習技術を用いて、属性ベースのポリシーを自動的に抽出する。許容可能な挙動と許容不可の挙動とを区別するためのポリシーを定義するために、人の介入は限定的であるか、又は必要ではない。
ネットワークトラフィックを受動的に観察することによって、例えば特定の属性と特定の挙動との間の関係を学習することによって、新規のポリシーを自動的に推測して、そこからポリシーを自動的に抽出することができる。
【００６３】
属性ベースのポリシーは、人間の専門家によって定義することができ、ここでは許容される及び許容されない挙動についての幅広い知識が要求され、或いは、学習手法でデータから推測することもできる。最初の手法は、時間がかかりエラーを起こしやすいが、２番目の手法は、完全に自動化することができ、エラーのリスク（例えば、ポリシーの複製又は重複）が低減される。本発明は、ネットワークトラフィックフローの観察からポリシーを導出することによってポリシーを定義する、面倒な手動プロセスを克服するための自動化技術を提案している。具体的には、正当なネットワークメッセージの観察からホワイトリストポリシーをマイニングし、（可能であれば）攻撃を受けた時のネットワークアクティビティの観察からブラックリストポリシーをマイニングする。
【表１】
2021515498.tif 000003
表１：関連付けルールの実施例
【００６４】
以下に、ポリシー学習プロセスの実施形態を記載する。
１．抽出：ネットワークからトラフィックをキャプチャする。ネットワークトラフィック（Ｍ）は、ネットワークメッセージ列
2021515498.tif 000004
２．事前処理：ホスト、リスク、及びコンテキスト属性を抽出するためにネットワークトラフィックを分析して、トランザクションのデータセットに変換される。
３．ルールマイニング：ルールを抽出するために、ルールマイニングアルゴリズム（例えば、関連付けルール）をデータセットに適用することができる。表１は、トランザクションのデータセットを分析することにより生成することができる関連付けルールの小実施例を示す。関連付けルールは、属性の特定のアイテムセットがデータセット内で共に観察された回数を考慮することにより生成することができる。ルールの支援は、データセット内にアイテムセットがどのくらいの頻度で現れるかを指定し、信頼性（百分率で表示）は、ルールがどのくらいの頻度で当てはまることが判明したかの指示である。
４．ポリシーへの変換：機械学習アルゴリズムによって生成されたルールは、どの属性がより頻繁に共に確認されるか（前件）、及び何を示唆するか（後件）の指示を与える。この情報は、定義と一致して属性ベースのポリシーに変換する必要がある。ルールがポリシーになるには、本方法では、何れが最小の信頼性及び支援であるか、及び信頼性及び支援の特定のレベルが肯定（すなわち許可）又は否定（すなわち拒否）のポリシーに導くかを決定しなければならない。例えば、肯定ポリシーは、信頼性が９９％超のルールのみに関して生成され、否定のルールは、信頼性が１％未満のルールのみに関して生成されると仮定する。この場合、表１のルール１及びルール２は、肯定ポリシーに変換され（すなわち、以下のＰ１及びＰ２）、ルール４は、否定ポリシーに変換される（すなわち、Ｐ３）。以下に、表１のルールの変換として得られたポリシーを表す：
P1:  <if
L:Hsrc:role ==SCADA AND 
L:Hdst:os == proprietary AND 
L:messageType == reprogram
then allow>
P2: < if 
L:Hsrc:role == SCADA AND
L:messageType == reprogram
then allow>
P3: <if 
L:Proto == HTTP AND
L:DSTPORT ==815
then deny >
５．ポリシーの削減：前のステップで生成されたポリシーの幾つかは、冗長である可能性がある。Ｐｘの条件が、別のポリシーＰyの条件全体を含み、ポリシーの動作が同じ場合、ポリシーＰｘは冗長である。このような場合には、Ｐｘを削除することができる。例えば、前の実施例のポリシーＰ１は、ポリシーＰ２の条件全体を含み且つ同じ動作を共有するので、冗長である。従って、Ｐ１は削除することができる。
６．ポリシーコンフリクト（矛盾）の解決：ポリシーＰｘとポリシーＰｙとが同じ条件を共有して、これに対して２つの異なる動作が対応している場合、これらのポリシーは矛盾する。例えば、ポリシーP1:<if L.Proto == HTTP AND L.DstPort == 815 then deny>、及びポリシーP2:<if L.Proto == HTTP AND L.DstPort == 815 then allow>を有する場合、Ｐ１及びＰ２は矛盾する。コンフリクトを解決するには、２つのポリシーのうちの１つを削除する必要がある。どちらのポリシーを削除すべきかを決定するために、コンフリクト解決プロセスは、衝突するポリシーに至るルールの信頼性及び支援を考慮することになる。
【００６５】
従って、コンテキスト及び意味を考慮する（例えば、リンクの属性だけではなく、ソースホスト及び宛先ホストの属性も）ポリシーを作成することを目的とする。ポリシーは、コンフリクトを検出して解決できるポリシー言語で表現されるので、システムが不整合状態にならないように保証する。
関連付けルール及び頻繁なアイテム抽出アルゴリズムは、そのまま適用することはできず、本事例では、一部の特徴は、先件（又は前件）の一部である必要がある。加えて、プリクックアルゴリズムが、可変数の属性を備えた関連付けルールを有することがあるが、この数を一定にしたい場合がある。加えて、関連付けルール及び頻回なアイテムセットの出力は、入力としてのみ機能することができ、実際のポリシーに変換する必要がある。
【００６６】
１つの実施形態において、属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能であるかどうかを示す。第１ホスト、第２ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合、第１ホスト、第２ホスト、又はリンクのうちのそれぞれに関連するデータ通信は、隔離内にリストすることができる。判断は保留することができ、追加の情報を収集して、隔離内にリストされたホスト又はリンクについて決定することができる。例えば、以下で更に詳細に説明するように、隔離内のホスト又はリンクに関連するデータトラフィックから収集した属性値に基づいて、ポリシーを適応させることができる。隔離は、ホスト又はリンクのそれぞれが正当か又は悪意のあるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する。従って、隔離という用語は、本明細書では、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト及び／又はリンクのリストを提供する隔離リスト表示として理解することができる。隔離は、隔離内にリストされたホスト又はリンクを識別する記録リスト、及び任意選択的に隔離内にリストされたホスト又はリンクが正当又は悪意があるという仮説への支援、任意選択的に支援を計算するのに用いられるエビデンスを構成するイベントのリスト、及び任意選択的に隔離内にリストされたホスト又はリンクに関連するネットワークメッセージセットによって形成することができる。
【００６７】
１つの実施形態において、ネットワークメッセージ（プロトコルメッセージ）が、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクは隔離内にリストされる。
従って、隔離は、未知のホスト又はリンクに関連するアクティビティを記録するのに使用することができる。隔離は、隔離内のホスト又はリンクに関連するネットワークメッセージを追加の分析のために格納できるメモリ又はメモリの一部によって形成することができる。
【００６８】
本方法は、隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップを更に含むことができる。
従って、既知のホスト又はリンクと同様に、プロトコルメッセージからプロトコルフィールド値を抽出し、プロトコルフィールド値から属性値を導出する。属性値は、直接属性、並びに意味（間接）属性に関連することができる。意味属性は、既知のホスト又はリンクに関して上述したのと同じ又は類似の方法で導出することができる。従って、未知のホスト又はリンクのモデルは、属性値に基づいて形成することができる。
【００６９】
本方法は、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、を更に含むことができる。仮説への支援は、例えば、この仮説が当てはまるという確率によって形成することができる。計算は、隔離内のホスト又はリンクの属性値を用いて実行することができ、例えば、隔離内のホスト又はリンクの属性と既知のホスト又はリンクの属性との類似性を比較することによって実行することができる。
【００７０】
計算は、隔離内のホスト又はリンクの属性値がアップデートされるたびに繰り返すことができる。従って、仮説への支援は、新しいエビデンスが利用可能になるたびにアップデートすることができる。従って、十分な支援が属性値から導出されて、隔離内のホスト又はリンクを悪意がある又は正当であると宣言できるようになると直ちに、以下のステップを下記に説明するように行うことができる。従って、未知のホスト又はリンクは、自律的に評価することができ、これによりネットワーク内の変化に自律的に適応できるようになる。
【００７１】
従って、隔離は、隔離内にリストされたホスト及び／又はリンクに関して以下を含む、すなわち、格納することができる。
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
【００７２】
１つの実施形態において、本方法は更に、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを含む。上記と同じ整合性ルールを、隔離内のホスト又はリンクに適用することができる。整合性ルールを用いれば、潜在的に悪意があるアクティビティは、早期の段階で、すなわち、隔離内に格納されたホスト又はリンクが悪意があるという事実への仮説が十分高いレベルに達する前でも認識することができる。従って、悪意があるアクティビティは、早期の段階で認識することができる。
【００７３】
１つの実施形態において、本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む。従って、既存の属性ベースのポリシーは、隔離内のホスト又はリンクの属性値に適用することができる。属性ベースのポリシーに対して隔離内のホスト又はリンクの属性値を保持する結果は、隔離内のホスト又はリンクが正当か又は悪意があるかのエビデンスを提供することができる。この結果は、隔離内のホスト又はリンクが正当か又は悪意があるかの仮説への支援を決定する際のエビデンスとして用いることができる。従って、隔離内の新規ホスト又はリンクを評価する時には、既存の属性ベースのポリシーを考慮することができる。ブラックリストポリシーに違反する場合は、対応するアラートを発することができる。
【００７４】
１つの実施形態において、本方法は更に、隔離内に格納されたデータトラフィックのホスト属性及びリンク属性から１又は複数の属性ベースのポリシーを導出するステップ、例えば、隔離内にリストされたホスト又はリンクの属性から１又は複数の属性ベースのポリシーを導出するステップを含む。隔離内に格納されたホスト又はリンクが正当か又は悪意があるかという仮説が、閾値を超えたことが分かると、隔離内のホスト又はリンクの属性値を用いて、新規のポリシーを学習する、及び／又は既存のポリシーをアップデートすることができる。これに対して、学習フェーズに関連して上述した同じ又は類似の学習機構を適用できる。従って、隔離内に格納されたデータから新規のポリシーを学習する自己アップデート侵入検出を提供することができる。従って、侵入検出システムは、一方で、データネットワークに関連する正当なアップデート／変更は、新規の又はアップデートされたホワイトリストポリシーをもたらす点で、不要なアラームを回避することができる。他方で、以前に気付いていなかった、すなわち、特定のブラックリストポリシーがまだ対応可能ではない悪意があるアクティビティが、新規の又はアップデートされたブラックリストポリシーをもたらすことがある。上述のように、可能性がある悪意のあるアクティビティが属性、エビデンス、及び評価の集合の隔離内に依然として含まれる間に、不整合性ルール又は既存のブラックリストポリシーの何れかに基づいて、既にアラームを発することができる。従って、悪意があるアクティビティが隔離内にある間に、悪意がある可能性があるアクティビティの発生リスクを軽減するよう、既にアクションを実行することができる（例えば、アラーム信号によってトリガーされた人間のオペレータによって又は関連するデータトラフィックを自律でブロックする侵入検出システムによって）。
【００７５】
本発明の１つの態様によれば、頻繁に発生する挙動は、ホワイトリストポリシーをもたらすことができる。従って、隔離内のホスト又はリンクの挙動が頻繁に発生する場合、本発明の１つの態様によれば、これは、この挙動が正当である表示とみなすことができる。従って、新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出することができる。従って、侵入検出は、正当な変更、アップグレード、その他が、比較的頻繁に発生する新規の挙動を生じるもたらす可能性があるという洞察に基づいて、正当な変更、アップグレード、その他に比較的容易に適応することができる。検出閾値、すなわち、例えばそれを上回ると正当な挙動とみなすことができる発生頻度を表す所定のホワイトリスト閾値を適用することができる。頻繁に発生する挙動は、ホワイトリストモデル又はホワイトリストポリシーとの類似性が類似性閾値を上回る場合に、ホワイトリストとして認定することができる。
【００７６】
特に、隔離内に格納されたデータトラフィックのホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び／又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合に、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップと、
・隔離内のホスト／リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含むことができる。
ホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る、すなわち、ホスト又はリンクが正当であるという仮説が示す閾値が、（例えば、所定の）閾値レベルを上回ることが判明すると、このホスト又はリンクを隔離から削除することができ、上述の技術を用いて、新規の（ホワイトリスト）ポリシーを学習及び／又は既存のポリシーをアップデートすることができる。
同様に、ホスト又はリンクが悪意があるという仮説への支援がブラックリスト閾値を上回る、すなわち、ホスト又はリンクが悪意があるという仮説が示す閾値が（例えば、所定の）閾値レベルを上回ることが判明すると、アラートを発することができ、上述の技術を用いて、新規の（ブラックリスト）ポリシーを学習して及び／又は既存のポリシーをアップデートすることができる。
【００７７】
隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップは、隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含むことができる。
上記で説明するように、仮説への支援は、例えば、仮説が当てはまる確率によって形成することができる。計算は、隔離内のホスト又はリンクの属性値を用いて実行することができ、例えば、隔離内のホスト又はリンクの属性と既知のホスト又はリンクの属性との類似性を比較して、その測度を決定することによって実行することができる。更に、隔離内のホスト又はリンクの属性値は、既存のポリシーに対して保持することができ、そのポリシーの結果は、仮説への支援の計算においてエビデンスとして使用することができる。例えば、隔離内のホスト又はリンクが既知のホスト又はリンクと同等の属性値の大部分（例えば、９０％超）を有する場合、正当な仮説への支援を増大させる。同様に、ホスト又はリンクがほとんど又は全く未知の属性値を有する（例えば、そのような値を有する既知のホスト又はリンクモデルが１％未満）場合、悪意がある仮説への支援を増大させる。
【００７８】
前述のように、ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、上述の学習技術を用いて、ホワイトリストポリシー又はブラックリストポリシーを学習するステップを含むことができる。
従って、属性ベースのポリシーの学習は、例えば、初期段階で、例えば、学習フェーズにおいて実行できるだけではなく、動作中も継続することができるので、侵入検出システムが、正当な変更、新規の悪意があるアクティビティ、その他に適応するように学習を継続することになる。
【００７９】
属性ベースのポリシーの自己アップデートのプロセスは、新たに出現する挙動から新規のブラック／ホワイトリストの属性ベースのポリシーを抽出するために、隔離内に含まれた情報を保持して分析するためのプロセスとして説明することができる。アルゴリズムは、以下のように機能する：
１．ｑｉは、隔離内のホスト又はリンクとする。
２．ｑｉに関連する新規のデータトラフィックが観察される時は常に：
データトラフィックをｑｉに関連するエビデンスに追加
隔離アイテムｑｉが正当であるという仮説（仮説０）への支援を（再）計算
隔離アイテムｑｉが悪意があるという仮説（仮説１）への支援を（再）計算
３．隔離内の各アイテムに対して、ユーザは、仮説０又は仮説１の関連する値に直接、影響を与えることになるフィードバックを提供することができる。
４．トリガーが開始された時に（例えば、一定の期間が経過した、又はユーザがフィードバックを提供した）、隔離内の各アイテムｑ及び所与の閾値Ｔに関して：  
（ａ）仮説０＞τの場合、隔離からｑを削除して、ネットワークメッセージを正当なメッセージセットに追加
（ｂ）仮説１＞τの場合、隔離からｑを削除して、ネットワークメッセージを悪意があるメッセージセットに追加
５．新規のホワイトリストポリシーを学習するために、正当なメッセージセットを属性ベースのポリシー学習アルゴリズムへの入力として与える
６．新規のブラックリストポリシーを学習するために、悪意があるメッセージセットを属性ベースのポリシー学習アルゴリズムへの入力として与える
７．現在のホワイトリストポリシー及ぶブラックリストポリシーをアップデート
【００８０】
自己アップデートポリシーは、ポリシー及び整合性ルールを最新に維持するのを提供することができる。これは、既存のポリシー又は整合性ルールに明示的には違反していないネットワークイベントの判断を、「十分な」情報が利用可能になるまで保留することによって得られる。加えて、「判断保留」中に収集された情報が継続的に分析され、全体として考慮した場合に、許容可能な又は許容不可のパターンへの準拠を示唆するかどうかを検証する。最終的に、その時になれば、収集した情報がまた集約されて、エンドユーザに表示するために、意味的に解釈される。このようにして、ユーザにイベントの詳細なリスト（例えば、「新規ホスト  １９２．１６８．１．５」「ホスト  １９２．１６８．１．５と新規ホスト１９２．１６８．１．４．との新規通信」「プロトコルＭｏｄｂｕｓによる新規通信」）を提示するのではなく、イベントについて論理的に考えて、１つの意味あるメッセージ（例えば、「正当なＲＴＵに見える新規ホストが識別された」）を提示することができる。このシステムにより、ネットワーク挙動における正当な変更によって生じる偽陽性を低減することができる。これは、新たに出現する正当な挙動を自動的に認識することにより、及び収集した新規の情報から導出された新規のポリシーにこれを埋め込むことによって達成することができる。判断を保留して、決定を行う前により多くの支援を得るための追加のエビデンスを収集して、意味論的強化を用いることによって、異常検出の一般的な手法に優ることになる。実際に、一般的には１つの異常が悪いとみなされ、多くの異常が更に悪いとみなされる。対照的に、本発明のケースでは、多くの異常が良い場合があり、観察しているものは悪いものではなく、単に新たな正当な挙動の出現であることを示唆する。
【００８１】
発明者らは、静的な「一度定義されて永遠に有効な」セキュリティポリシーが、動的環境における変化に対応できない問題に対処することを目的とする。加えて、動作条件が変化するのに伴って、ポリシーは、時間と共に準最適になる傾向がある。この構成要素の目標は、ポリシー及び整合性ルールをシステムの現況と一致するように保つことである。これはつまり、既存のポリシー及び制約に明示的には違反していない新規の挙動が観察されて、これが許容可能とみなされる場合に、これをポリシーシステム内に埋め込む必要があることを意味する。
【００８２】
ポリシーは、人間のオペレータによって定義されるか又は学習アルゴリズムによって生成されるかの何れかとすることができる。何れの手法も、不完全なポリシーセットを生成するという問題を生じる。人間のオペレータの場合、不完全なポリシーは、全ての許容可能又は許容不可の挙動（例えば、ゼロデイ攻撃）をリストするのが難しいという事実に起因する。学習アルゴリズムの場合、不完全なポリシーは、学習中に許容可能なアクティビティの一部が現れない（例えば、動作シナリオの全てが実行されるわけではない）、或いはシステムが時間と共に変更された可能性があるという事実に起因する。これは、最終的に偽陽性、いわゆる正当な挙動を悪意があるものと誤って分類することを引き起こす可能性がある。
一般に、コンピュータネットワークを含むあらゆるシステムは、時間と共に進化するが、このような変化は、コンセプト（概念）ドリフトとして知られる。一部のシステムでは、他（例えば、ＯＴネットワーク内）よりも早く（例えば、ＩＴネットワーク内で）変化が発生することがある。ＯＴネットワークにおけるコンセプトドリフトの例は、ハードウェアのアップデート（例えば、旧ＰＬＣの置き換え）又は基礎となる物理プロセスのアップデートを含む。検出を実行するために使用するモデルとは独立して、ネットワーク監視のために利用可能なソリューションのほとんどは、通常はそのようなモデルのアップデートは行わないか、或いはアップデートを行う場合は、新たに出現する正当な挙動を定義するのに人の介入を必要とする。しかしながら、検出モデルの最適性を維持するために、モデルは継続的にアップデートすべきである。このために、継続的なアップデート、変更、又はプルーニングを、特にネットワークフロー内では可能性のある無限データストリームを考慮するよう、既存の機械学習アルゴリズムを修正する必要がある。ここでの目的は、新たに出現する正当な挙動を自動的に識別して、既存のポリシー及び整合性ルールを自動的にアップデートすることである。この目標に向けた第一の一歩が、以下で説明するように、悪意があるアクティビティの検出及び出現する未知の挙動の隔離である。
【００８３】
隔離Ｑは、形式q:<ID, Target, Hyp0, Hyp1, E, M>のレコードqのリストであり、ここで、
ＩＤは、レコードｑの識別子であり；
Target∈{Host, Link}は、隔離内にあるホストＨ又はリンクＬである。
Hyp0∈{0,1}は、隔離内のホスト／リンクが正当であるという仮説への支援（例えば、確率）である。
Hyp1∈{0,1}は、隔離内のホスト／リンクが悪意があるという仮説への支援（例えば、確率）である。
E: <e1, e2, ..., en>は、支援を計算するのに用いられるエビデンスを構成するイベントのリストである。イベントの例は、新規ホスト、新規ホストの属性値（役割=ＰＬＣ）、新規リンク、新規リンクの属性値（L.MrssageType=reprogram）、アラート、ユーザフィードバック．．．等を含むことができる。
M:<m1, m2, ..., mn>は、隔離内のホスト／リンクに関連するネットワークメッセージセットである。
【００８４】
検出及び隔離アルゴリズムは、以下のように機能する。新規のネットワークメッセージが利用可能になると常に、ホスト属性及びリンク属性を抽出して、ネットワークメッセージが未知のホスト又はリンクについての情報を伝える場合は、これらのホスト又はリンクが隔離に追加される。次に、アルゴリズムは、属性の不整合をチェックし、ネットワークメッセージと属性ベースのポリシーとの照合に進む。ブラックリストポリシーに一致する場合は、このネットワークアクティビティが周知の攻撃に関連することを意味するので、「ブラックリストアラート」を発する。そうでない場合は、アクティビティがホワイトリストポリシーに一致する。この場合、一致の結果は３通りである。１）アクティビティがホワイトリスト内のポリシーに一致し、よって新規のネットワークアクティビティの観察に戻ることができる。２）アクティビティが何れのポリシーにも一致しないので、アラートを発する。又は３）例えば、ポリシーを評価するのに必要な全ての属性が利用可能ではないので、アクティビティをポリシーに対して照合できない。最後の２つの場合は、アクティビティがシステムにとって新規であるので、このアクティビティが正当か否かを立証する必要がある。このような決定を行うために、１つのネットワークアクティビティでは十分でないので、新規の挙動のための十分な情報が収集されるまで、アクティビティを記録する隔離手法を採用する。隔離は、曖昧な状態にあるホスト及びリンクを含み、これらが正当か否かの決定は、これらを分類するための十分なエビデンスが無くなるまで保留される。
【００８５】
この手法は、（極めて頻繁に）ポリシー評価を悲観的手法で行う、すなわち、必要でない時でも（すなわち、新しいもの全てが危険というわけではない）アラートを発するという直観に依存する。エビデンスが新規の（不当な）正当なアクティビティの出現を示唆する場合にのみ、エビデンスを新規のポリシーの推測に用いる。
【００８６】
検出及び隔離アルゴリズムは、以下のように機能することができる。
１．Ｐを属性ベースのポリシーセットとし、ここで、pi. action==deny（拒否）の場合、pi ∈ Pをブラックリストと呼び、pj. action==permit（許可）の場合、pj ∈ Pをホワイトリストと呼ぶ。
２．Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
３．あらゆる新規のネットワークメッセージｍに関して、
（ａ）ｍからソースホストHsrc、宛先ホストHdst、及びリンクＬを抽出
ｉ．Hsrc（又はHdst又はＬ）が既知のホスト／リンクのデータベース内にない場合は、これを隔離に追加し、すなわち、
2021515498.tif 000005
q(n+1)をＱに追加する（Hdst 又はＬに関しても同様のことを行う）。
（ｂ）Hsrc, Hdst, 及びＬの明示属性及び暗黙属性を抽出
（ｃ）抽出した属性が整合性ルールに従わない場合、「整合性違反」についてのアラートを生成：
ｉ．アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
ｉｉ．それ以外の場合は、アラートをアラートリストに追加
（ｄ）それ以外の場合、Hsrc, Hdst，及びＬを新規の属性値でアップデート
ｉ．Hsrc, Hdst,又はＬが隔離内にある場合、新規属性値をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
（ｅ）ｍを各属性ベースのポリシーpi ∈ Pに対して照合
ｉ．ｍがブラックリストポリシーに一致する場合は、「ブラックリスト違反」についてのアラートを生成；
Ａ．アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
Ｂ．それ以外の場合は、アラートをアラートリストに追加
ｉｉ．それ以外でｍがホワイトリストポリシーに一致する場合、次のネットワークメッセージの分析に進む。
ｉｉｉ．それ以外でｍがホワイトリストポリシーに一致しない場合、「非ホワイトリスト違反」についてのアラートを生成；
Ａ．アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
Ｂ．それ以外の場合は、アラートをアラートリストに追加
ｉｖ．それ以外でｍの一致が未定義の場合（すなわち、例えば、属性の一部が未定義であるので、ポリシーに一致しない）、ポリシー候補（例えば、将来的に一致し得るポリシー）をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
【００８７】
人間のオペレータが、隔離を表示して、最終的にはフィードバックを提供する、又は欠落情報を追加することができる。これは、特定のホスト／リンクの（不当）正当性についてより多くのエビデンスを収集するのに役立つことができる。適切な時間になると、隔離内の要素は、自己アップデートアルゴリズムによって分析され、新規のブラックリストポリシー又はホワイトリストポリシーを抽出することができる。隔離の分析をトリガーするイベントは、限定ではないが、：ｉ）ユーザのリクエスト、ｉｉ）時間期間の経過、ｉｉｉ）最近、過多のエントリが隔離に追加されたこと、又はｉｖ）隔離内の他のイベントと共に、仮説の確認又は拒否を可能にする（例えば、許容可能な又は許容不可のパターンの認識）特定のイベントの観察、を含む。例えば、システムがネットワーク上で新規ホストを識別したと仮定する。新規ホストは、ネットワークに追加された新規の正当なデバイス（仮説Hyp0）、又は侵入者（仮説Hyp1）の何れかとすることができる。従来の検出手法では、この場合、直ちにアラートを発することになる。対照的に、本発明の自己学習手法では、ホストを隔離して、何らかの決定を行う前に追加の情報を待機することに決定する。例えば、新規ホストが既存のプロファイルに類似していることを示すアクティビティを観察して、これが、何らかの整合性ルールにもブラックリストポリシーにも違反しない場合、Hyp0への支援が増加する。他方、ホストが何れのプロファイルにも一致しないことを示すアクティビティ（例えば、特定の役割に属するように見えるが、そのような役割と一致しない動作を行う）の場合、Hyp1への支援が増加する。その後、決定を行うため及びエンドユーザに意味的に有効なメッセージを通知するために必要な支援の閾値を定義することができる。明らかに、悲観的仮説Hyp1が正しい仮説である場合は、悪意があるホストが何らかのダメージを与えるほど長く隔離内に留まることができないように、システムを調整しなければならない。このために、ブラックリストポリシー及び整合性ルールが、危険状態を直ちに見つけてアラートを発することに依存している。
【００８８】
自己アップデートアルゴリズムは、以下のように定義することができる。自己アップデートアルゴリズムは、新たに出現する挙動から新規のブラックリスト／ホワイトリストポリシーを抽出するために、隔離内に含まれる情報を保持して分析する。アルゴリズムは、以下のように機能する。
１．Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
２．新規のエビデンスeiを隔離アイテムqiのエビデンスEiに追加する時は常に：
（ａ）新規のエビデンスeiを考慮することにより、隔離アイテムqiが正当（Hyp0i）か又は悪意がある（Hyp1i）という仮説への支援を（再）計算する。実施可能な実施形態において、支援は、エビデンスタイプに基づいて計算することができる。例えば、ei==新規ホストの場合、新規ホストと既知のホストとの類似性を計算して、類似性が高い場合はHyp0iを増加させ、類似性が低い場合はHyp1iを増加させる。新規属性値又は新規リンクの場合も同様の手法を行うことができる。別の実施形態では、一次論理、ベイズ推定又はデンプスター・シェファーのエビデンス理論等の技術を用いて、支援を計算することができる。
３．各アイテムq ∈ Qに関して、ユーザは、Hyp0及び／又はHyp1の関連する値に直接影響を与えることになるフィードバックを提供することができる。
４．各アイテムq ∈Qに関して及び所与の閾値τに関して、トリガーが開始される時に（例えば、一定期間が経過した又はユーザがフィードバックを提供した）：
（ｂ）ｑ.Hyp0＞τの場合、Ｑからｑを削除して、ネットワークメッセージq.Mを正当なメッセージセットMlegitに追加する。
（ｃ）ｑ.Hyp1→τの場合、Ｑからｑを削除して、ネットワークメッセージq.Mを悪意があるメッセージセットMmaliciousに追加する。
５．新規のホワイトリストポリシーを学習するために、Mlegitを学習アルゴリズムへの入力として与える
６．新規のブラックリストポリシーを学習するために、Mmaliciousを学習アルゴリズムへの入力として与える
７．現在のホワイトリストポリシー及びブラックリストポリシーをアップデート
【００８９】
この手法は、とりわけ、通常は異常が増えるほど、「アラート」、従って「リスク」が増えることを意味するが、本発明の事例では、異常が増えるほど実際にはアラートがより少なくなる可能性があるという意味で、既存のソリューションとは異なる。
この手法は、ポリシーを継続的にアップデートして精緻化することにより動的な動作環境の変化に対処するという利点を有する。
十分なエビデンスが無くなるまで、新規ホストの属性又は挙動についての判断を保留する隔離アルゴリズムを採用する。エビデンスが、新規の正当なアクティビティの出現を示唆する場合、これを用いて新規のポリシーを導出する。
このシステムにより、監視するネットワーク挙動の変化を偽アラートが低減されて自動的にキャプチャすることができる。
変化は、収集した新規情報から導出された新規ポリシー内に自動的に埋め込まれる。
【００９０】
本発明の別の態様によれば、本発明による方法を実行するように構成された侵入検出システムが提供される。侵入検出システムは、マイクロプロセッサ等のデータ処理デバイスと、マイクロプロセッサに本方法を実行させるためにプログラム命令が格納されたメモリと、データトラフィックを観察するためにデータネットワークに接続するためのネットワーク接続と、を備えることができる。メモリは更に、モデル、ポリシー、アラームメッセージ、その他を格納することができる。任意選択的に、例えば、ユーザにアラートを発するために、ユーザインタフェースを設けることができる。
本発明は更に、本発明による侵入検出システムを備えたデータ通信ネットワークを提供する。
更にまた、本発明は、本発明による侵入検出システムを備えた装置を提供する。用途は、例えば、ホスト監視システム、ホスト特性化及び分類、規格コンプライアンスチェック、ポリシーコンプライアンスチェックを含むことができる。
【００９１】
更なる特徴、効果、及び利点は、非限定的な実施形態を示す添付図面から得られる。
【図面の簡単な説明】
【００９２】
【図１】従来技術の侵入検出システムの動作原理を示す図である。
【図２】本発明の実施形態による侵入検出システムの動作原理を示す図である。
【図３】本発明の実施形態による実施可能な属性検出を示す図である。
【図４】本発明の実施形態による侵入検出の概要を示す図である。
【図５】本発明の実施形態によるホスト属性及びリンク属性の例を示す図である。
【図６】本発明の実施形態によるリンク属性のモデルを示す図である。
【図７】本発明の実施形態による不整合の実施例を示す図である。
【図８】本発明の実施形態によるネットワークトラフィックデータセットの例を示す図である。
【図９】本発明の実施形態によるポリシー学習のプロセスを示す図である。
【図１０】本発明の実施形態によるポリシーアップデートに適用されるデータ構造の例を示す図である。
【発明を実施するための形態】
【００９３】
図１は、従来技術の侵入検出システムの概略図を示す。侵入検出システムは、学習フェーズで学習が行われて、学習フェーズの後、侵入検出システムが侵入検出のために適用される。ホワイトリスト及び／又はブラックリストモデルを学習することができる。
【００９４】
全体として、本発明の背後にある直観的洞察は、ホワイトリストモデルは、一度で学習されて、その後ずっと静的なままではありえないということである。加えて、オペレータにモデルの手動アップデート及び保守を頼ることは、このタスクに必要な時間及び知識がオペレータに欠けていることが多いことから非現実的である。本発明の根本的な考え方は、新規のトラフィックが観察されると、モデルを自動的にアップデートするＮＩＤＳを作成することである。システムにとっての主要な課題は、どの変更が正当であり（及びモデルに追加することができる）、どの変更が正当ではないか（従って、更にアラートを生成すべきである）を区別する能力である。提案されるソリューションは、２フェーズ（学習／検出）手法を、監視するトラフィックの正当な変更に対処できる継続的プロセスで置き換えることによって、ホワイトリストＮＩＤＳへの一般的な手法に対する根本的な変更を形成することができる。提案する手法は、図２に概略的に示されるような以下のフェーズを含むことができる。
１．学習：短い時間期間の間ネットワークを監視して、収集したデータを用いて初期モデル、ポリシー、及び制約を作成
２．観察：ネットワークから受動的にデータを収集
３．識別：新たに利用可能な情報を用いて、既存の要素特性化を改善又は新規要素の初期特性化を作成
４．論証：新規のエビデンスが既存モデル及び制約に一致しているか、及び新規のエビデンスが新規の（正当な）パターンの出現を示唆しているかを検証
５．反応：モデル及び制約との不整合が見出された場合、アラートを生成するが、出現した（正当な）パターンであるという十分なエビデンスがある場合は、モデルをアップデート
【００９５】
このモデルの実施を成功させるために、意味論的強化を利用する。意味論的強化により、ＮＩＤＳは、ネットワークアクティビティについての時間通りの事実（例えば、「IP192.168.1.4がStep7コマンド240をIP192.168.1.5に送信する」）を伝達できるだけでなく、このような事実をより分かりやすくするよう解釈することもでき、情報利得を高めるようにする（例えば、「ＰＬＣは、再プログラムメッセージを他のＰＬＣに送信する」）。意味論的強化は、技術と人間のオペレータとの間の距離を縮め、：オペレータが自動システムからより価値のある情報（例えば、より意味のあるアラート）が得られて場合、オペレータはまた、モデルを調整するためのフィードバックを提供し、その結果システム全体を改善する傾向がある。
【００９６】
［概要］
図４は、本明細書で説明する方法の概要を示す。ネットワークの監視が開始されると直ちに、ホワイトリスト及びブラックリストの初期セットが、整合性ルールと共にシステムへの入力として与えられる。ホワイトリスト及びブラックリストポリシーセットは、整合性ルールセットと共に、最初は空である可能性がある点に留意されたい。あらゆる新規のネットワークアクティビティ（Ａ）に関して、システムはホストの属性及びリンクの属性を抽出する（Ｂ）。ホストの属性とリンクの属性を区別することが重要であり、：ホストの属性はホストの特性を参照し、リンクの属性は、ホスト間で行われる通信を参照する。属性が利用可能になると、（利用可能な整合性ルールを用いて）整合性チェックを実行する（Ｃ）。現在の属性が整合性ルールに従わない場合、アラートがアラートリストに格納され（Ｌ）、それ以外の場合は、プロセスが継続する。この時点で、ネットワーク動作がブラックリストに対して照合され（Ｄ）、：一致が生じると、アラートが生成され（Ｌ）、それ以外の場合は、２つのケースを区別することができ、システムがまだ学習モードにある場合は（Ｅ）、ネットワークアクティビティは、学習モジュールに入力として与えられ、ホワイトリストポリシー及び整合性ルールをアップデートし、他方、学習フェーズが終了している場合、ネットワークアクティビティがホワイトリストポリシーに対して照合される（Ｇ）。この時点で一致が生じると、これは、このネットワークアクティビティが以前に既に確認されていること（既知のホスト／挙動）を意味し、それ以外の場合は、未知のホスト又は挙動が出現した状況である。この時点で、典型的なネットワーク侵入検出システム（ＮＩＤＳ）はアラートを発することになる。対照的に、本方法では、アクティビティが正当か又は悪意があるかを決定するための十分なエビデンスが無くなる（Ｈ）まで、このネットワークアクティビティを記録する隔離システムを用いることに決める（Ｉ）。隔離内に含まれるホスト又はリンクにアラートが関連する場合は、アラートも隔離内に記録する（Ｏ）ことに留意されたい。決定を行うのに十分な情報が利用可能な場合、システムは、隔離内のイベントを、自己アップデートのため、すなわち、新規のホワイトリスト又はブラックリストポリシーの動的抽出のために使用することになる（Ｊ）。新規のポリシーの作成はまた、追加のエビデンスとして隔離に追加することができるイベントを作成する（Ｋ）。最後に、アラートリストが分析され（Ｍ）、その内容を集約、相関、及び解釈してエンドユーザ宛ての意味論的強化されたコンテキストアウェアのアラートを生成する（Ｎ）。エンドユーザは、アラート及び隔離アイテムを視覚化することができ、エンドユーザはまた、ホスト及びリンクを正当又は悪意があるとするフラグのようなフィードバックを隔離に提供することもできる。
以下では、上述のシステムを実施するのに役立つ主要構成要素、すなわち、属性抽出、不整合検出、属性ベースのポリシー、属性ベースのポリシーの学習、及び自己アップデートポリシーについて詳細に説明する。
【００９７】
［属性抽出］
図３は、ネットワークトラフィックをキャプチャすることによってホスト属性及びリンク属性を抽出するための実施可能な実施形態を示す。第１ステップは、明示属性を抽出することである。明示属性が利用可能になると、メッセージフィールドとの自明のマップが存在しない暗黙属性の導出に進むことができる。各暗黙属性は、ヒューリスティクス又は分類子の何れかを適用することで導出することができる。通常、ヒューリスティクスによって得られる結果は、分類子よりも高い優先度を有する。役割という属性を推測するのに用いられるヒューリスティクスの例は、以下の通り：「ＤＮＳプロトコルを用いた会話が観察されると、そのようなリンクのターゲットホストは、ＤＮＳサーバという役割を有する」。明らかに、このような幾つかのヒューリスティクスを導入することができる。加えて、ヒューリスティクスは、特定の配置に対してグローバル又はローカルとすることができる（例えば、所与のセクタでのみ当てはまるヒューリスティクス）。他方、分類子は、特徴セットを入力として与えると、出力として属性に値（又はクラス）を関連付けることができるモデルである。分類子は通常、標識付きデータセット、すなわち、特徴とクラスとの間の関係が分かっているデータセットに機械学習アルゴリズムを適用することによって生成される。その後、これらの分類子を用いて、非標識データに関してクラスを推測することができる。一般に、分類子は、自己の推測に信頼性レベルを関連付け、属性抽出構成要素の信頼性を高く保つために、分類子によって推測されたクラスが高い信頼性レベル（例えば、９０％超）を有する場合にのみ属性を解決する。特定の暗黙属性は、一定の期間、例えば、それらの値を評価するのに十分な情報が利用可能になるまで未解決のままにしておくことができる点に留意されたい（図５の第１行のベンダ属性を参照のこと）。
【００９８】
［属性モデル化の実施例］
図６は、暗黙リンク属性のメッセージタイプをモデル化する方法を示す。属性メッセージタイプは、特定のネットワークメッセージが特定のドメイン内で有することができる意味的意味を表す。例えば、ホストＡが機能コード２３と共にＭｏｄｂｕｓメッセージをホストＢに送信する場合、これは、ホストＡがホストＢからデータ値を読み出すことを意味する。読出し動作は、図示するように、異なるプロトコルに対して異なる方法で符号化することができ、例えば、ＩＥＣ−１０４では、読出しは番号４５で符号化され、ＳＴＥＰ７では番号４で符号化される。推論及び意味的標識を適用することにより、ネットワークから到来する生のトラフィックを強化することができる。次に、この強化は、汎用で（所与のプロトコルに固有ではない）理解しやすいポリシーを表現するのに用いることができる。例えば、汎用ポリシー「端末という役割を有するホストは、ＰＬＣを再プログラムしない」を表すことができ、再プログラミング動作が実際にネットワークレベルでどのように符号化されるかをポリシー作成者が知ることなく、このようなポリシーを監視することができる。
【実施例１】
【００９９】
以下のホスト関連属性ＡH、リンク関連属性ＡL、コンテキスト関連属性ＡC（ここで記号？は、属性値が未知であることを意味する）、及びネットワークメッセージｍ1を有すると仮定する：
・s=<IP=?, mac=?, os=?, role=?>
・AL=<prot=?, srcPort=?, dstPort=?, messageType=?, linkType=?>
・AC=<location=?, networkType=?, time=?, msgFrequency=?>
・m1=<protold=Modbus, srclp=10.1.1.1, dstlp=10.1.1.2, srcPort=22; dstPort=44, functionCode=16> この場合、フィールドは、以下の順序である：使用するプロトコルの識別子（例えば、Modbus、HTTP、IOEC104）、送信側及び宛先のＩＰアドレス及びポート、並びにメッセージの機能コード。
メッセージｍ1を所与とすれば、以下のホスト及びリンク情報を抽出することができる：
・H1=<id=1,AH=<IP=10.1.1.1,mac=?,os=?,role=?>>
・H2=<id=2,AH=<IP=10.1.1.2,mac=?,os=?,role=?>>
・L1=<id=1,Hsrc=H1,Hdst=H2,AL=<proto=Modbus,srcPort=22,dstPort=44,messageType=?,linkType=?>>
この実施例では、リンク関連属性Ｌ．ｐｒｏｔｏの値（Ｍｏｄｂｕｓ）とｍ１のフィールドｐｒｏｔｏｌｄとの間に直接的なマッピングが存在するので、このリンク関連属性は明示属性であることが分かる。他方、ホスト関連属性Ｈ．ｒｏｌｅの値を導出するには、複数のメッセージ及び複数のメッセージフィールドを確認すべきであるので、このホスト関連属性は暗黙属性の実施例である。実際には、単一メッセージを所与とすれば、この属性は未定義のままである。例えば、ホストの役割がサーバ又はクライアントであると述べることを可能にするには、様々なメッセージのｆｕｎｃｔｉｏｎＣｏｄｅ及びｐｒｏｔｏｌｄフィールド、並びに特定のｆｕｎｃｔｉｏｎＣｏｄｅを有する多くのメッセージを確認しなければならない（例えば、サーバは通常は、特定のメッセージコードを有する特定のポート上のかなり多くのメッセージの宛先である）。これらの条件下で、属性ポリシーＰの実施例は以下の通りである：
<if
L.Hsrc.role == Engineering Workstation   AND
L.Hdst.role == PLC  AND
L.messageType == reprogram AND 
C.networkType == industrial
then
allow,
send email=name@domain.com.set priority=high>
【０１００】
［不整合検出］
図７は、不整合検出の幾つかの実施例を示す。この図の上部は、４ホスト：２つのＤＣＳ（分散制御システム）及び２つのＰＬＣ（プログラマブルロジックコントローラ）から構成されるネットワーク例の「正常な」状況を示す。表は、整合性ルールの実施例を示す。具体的には、ルール番号１は、ホストがＰＬＣと同等の役割を有する場合、そのプロトコルは、Ｍｏｄｂｕｓのみとすることができることを示し、ルール番号２は、ホストが値ＰＬＣを含む役割を有する場合、Ｍａｓｔｅｒ及び追加の役割としてＲＴＵのみを有することができる（ホストは複数の役割を有することができる点に留意）ことを示す。最後に、ルール番号３は、ホストがＷｉｎｄｏｗｓと同等のＯＳを有する場合、そのベンダはＤｅｌｌとすることができることを示す。これらの条件下では、ＰＬＣと同等の役割を有する特定のデバイス（例えば、図中のホストＦ）が、ＤＮＳサーバの役割を有するホストとしての挙動を示しているというエビデンスが存在する場合、整合性ルール番号２の違反が存在する。このことは、ＰＬＣが破損しており、悪意があるコードが役割の異常変更を発生させていることを示唆することができる。同様に、ホストに関連するプロトコルが、ドメインネームシステム（ＤＮＳ）及びファイル転送プロトコル（ＦＴＰ）クライアントという値を含み、同じホストの役割がＰＬＣである場合、整合性ルール１への違反が存在し、ＰＬＣの破損を示唆する。他方で、ホストのベンダがＨＰであると検出された場合、ルール番号３に違反する。一般に、整合性違反は、システム内に正当な変更が存在すること（例えば、管理者がハードウェアプロバイダの変更を決定した）、或いはホストが侵害されたので、整合性ルール違反は、何かが間違っているという信号である。この２つの状況の何れが当てはまるかを理解することが、自己アップデートポリシー構成要素のタスクである。
【０１０１】
［属性ベースのポリシーの学習］
図８は、属性抽出が行われた後に、正当なネットワークメッセージを構築することができる方法の実施例を示す。理解できるように、あらゆる行が、ネットワークアクティビティ及び関連する属性（又は特徴）を表す。このデータ構造に対して、機械学習及びデータマイニング技術を適用して、属性ベースのポリシーを抽出することができる。例えば、大きなデータセット内の要素間の関心のある関係を発見するために、関連付けルール学習、ルールベースの機械学習法を適用することができる。関連付けルールは、見掛け上無関係なデータ間の関係を明らかにするのに役立つ、ｉｆ−ｃｏｎｄｉｔｉｏｎ−ｔｈｅｎ−ａｃｔｉｏｎステートメント（ポリシーとして）である。
しかしながら、関連付けルール及び頻繁なアイテムセットの抽出は、ポリシー作成に役立てることができるが、図９に示すようなプロセス全体はカバーしない手法である。実際には、ネットワークデータに関連付けルールアルゴリズムが適用された後、データから抽出される情報は、ポリシーに変換する必要がある。加えて、関連付けルールは極めて多くのルールを生成する傾向があるので、ポリシー削減及びコンフリクト解決のためのアルゴリズムも同様に導入する必要がある。
2021515498.tif 000006
表１：関連付けルールの実施例
【０１０２】
［隔離］
図１０は、隔離がどのように見えるかの実施例を示す。
検出及び隔離アルゴリズムは、以下のように機能する。新規のネットワークメッセージが利用可能になると常に、ホスト属性及びリンク属性を抽出して、ネットワークメッセージが未知のホスト又はリンクについての情報を伝える場合は、これらのホスト又はリンクを隔離に追加される。次に、アルゴリズムは、属性の不整合のチェック、及びネットワークメッセージと属性ベースのポリシーとの照合に進む。ブラックリストポリシーに一致する場合は、これは、ネットワークアクティビティが周知の攻撃に関連することを意味するので、「ブラックリストアラート」を発する。それ以外の場合は、アクティビティをホワイトリストポリシーに対して照合する。この場合、照合の結果は３通りである：
１）アクティビティがホワイトリスト内のポリシーに一致し、よって新規のネットワークアクティビティの観察に戻ることができる。２）アクティビティが何れのポリシーにも一致しないので、アラートを発する。又は３）例えば、ポリシーを評価するのに必要な全ての属性が利用可能ではないので、アクティビティをポリシーに対して照合できない。最後の２つの場合は、アクティビティがシステムにとって新規であるので、このアクティビティが正当か否かを立証する必要がある。このような決定を行うために、１つのネットワークアクティビティでは十分でないので、新規の挙動のための十分な情報が収集されるまで、アクティビティを記録する隔離手法を採用する。隔離は、曖昧な状態にあるホスト及びリンクを含み、これらが正当か否かの決定は、これらを分類するための十分なエビデンスが無くなるまで保留される。
この手法は、（極めて頻繁に）ポリシー評価を悲観的手法で行う、すなわち、必要でない時でも（すなわち、新しいもの全てが危険というわけではない）アラートを発するという直観に依存する。エビデンスが新規の（不当な）正当なアクティビティの出現を示唆する場合にのみ、エビデンスを新規のポリシーの推測に用いる。
【０１０３】
［自己アップデートポリシー］
図１０の隔離の実施例を考慮してみる。第１行は、ホスト（ｉｄ＝１）及び正当（Hyp0）か又は悪意がある（Hyp1）という事実を支援するための関連するエビデンスを含む。具体的に、ホストは、まだ属性が関連付けられておらずシステムにとって最初は未知である（エビデンス列の第１行）。追加のネットワークアクティビティは、ＰＬＣと同等の役割についてのエビデンス（エビデンス列の２行目）を追加し、その後、ＡＢＢと同等のベンダについてのエビデンス（エビデンス列の３行目）も追加した。隔離はまた、ｉｄ＝２のホストからｉｄ＝１のホストに向かうリンク（隔離ｉｄ２）を含む。エビデンスは、リンクが、端末という役割を有するｉｄ＝２のホストからＰＬＣという役割を有するｉｄ＝１のホストに向かうことを示す。加えて、再プログラムメッセージタイプを観察する。隔離内のホスト又はリンクのための新しいエビデンスが収集されるたびに、Hyp0及びHyp1への支援がアップデートされる。属性ベースのポリシーは、端末という役割を有するホストがＰＬＣという役割を有するホストを再プログラムできないことを示していると仮定する。これはつまり、ｉｄ＝１のホストの役割属性がＰＬＣであるというエビデンスが収集された時に、このポリシーに唯一一致することができる（よってアラートを発する）ことを意味する。従って、隔離は、過去のアクティビティが、現在導入しているポリシーに違反していたケースを検出するのに役立つ。
加えて、ユーザは隔離についてのフィードバックを常時提供することができる。例えば、ユーザは、ｉｄ＝１のホストが正当であると示すことができる。この場合、自己学習モジュールが、隔離に含まれる間はｉｄ＝１のホストによって実行される全てのアクティビティを、可能性がある新規のホワイトリストポリシーの抽出のための入力として考慮する必要がある。
【０１０４】
本特許出願にて適用される種々の用語を定義するために適用可能な定義を以下に示す。
【０１０５】
［定義１（属性Ａ）］
属性Ａの配列は、A:<a_1=v_a1,a_2=v_a2,..,a_n=v_an,>として定義され、この場合、vai ∈Vi（i ∈[1,n]）は値域Vi内の属性aiが取る値である。
【０１０６】
［定義２（ホストＨ及びホスト属性ＡＨ）］
ネットワークホストＨは、H=<id,AH>として定義され、idは、ホストの一意の識別子であり、AH:<ah1=vh1,ah2=vh2,..,ahn=vhn,>は、ホスト関連属性の配列である。ホスト関連属性の例は、ＩＰアドレス、ＭＡＣアドレス、動作システム、役割、その他を含む。特定のホストの特定の属性に言及するためにHj.ahiと記述し、例えば、Hj.roleはホストＨｊの役割属性を指す。
【０１０７】
［定義３（リンクＬ及びリンク属性ＡＬ）］
ネットワークリンクは、ソースホストと宛先ホストとの間のダイレクト通信である。ここでリンクL=<id,Hsrc,Hdst,AL>と定義し、idは、リンクの一意の識別子であり、Hsrcは、リンクのホストソースであり、Hdstは、リンクのホスト宛先であり、AL:<al1=vl1,al2=vl2,..,alm=vlm,>がリンク関連属性の配列である。リンク関連属性の例は、プロトコル、ｓｒｃポート、ｄｓｔポート、メッセージタイプ、リンクタイプ等である。特定のリンクの特定の属性に言及するためにLj.aliと記述し、例えば、Lj.protoは、リンクLjのｐｒｏｔｏ属性を示す。また、リンクのソース（又は宛先）ホストの特定の属性に言及するためにLj.Hsrc.ahiと記述し、例えば、L.Hsrc.ipは、リンクのソースホストのＩＰアドレスを指す（或いは、L.Hdst.ahiはホスト宛先の属性を指す。例えば、L.Hdst.ip）。
【０１０８】
［定義４（コンテキスト属性ＡＣ）］
コンテキストＣは、ネットワークアクティビティ周辺の一連の環境であり、ネットワーク又はシステムに関連する属性セットによって表すことができる。コンテキストは、AC:<ac1=vc1,ac2=vc2,..,acn=vck,>として表記される。コンテキスト関連属性の例は、時間、地理的場所、監視するネットワークのタイプ（例えば、公共事業、製造、及びオートメーション）、特定の期間にわたる類似のメッセージの数、その他を含む。
【０１０９】
［定義５（ネットワークメッセージｍ）］
通信プロトコルは、２又はそれ以上のホストが、明確に定義された構造を有する要素の使用を通じて情報を交換できるようにするルール体系である。これらの要素の構造は、プロトコルごとに大きく変化し、プロトコルの用語も変わり、要素は、パケット、フレーム、又はメッセージと呼ぶことができる。プロトコルとは無関係に、ネットワーク通信の基本要素を指すためにメッセージという用語を用いる。フィールド列<f1,f2, …fz,>を所与とすると、フィールド値vfj ∈ Vjを定義し、j ∈[1,z]は値域Vj内のフィールドfjによって取られる値であり、メッセージｍをフィールド値列m= <f1=vf1,f2=vf2,..,fz=vfz>として定義する。
【０１１０】
［定義６（明示属性）］
ホスト関連属性及びリンク関連属性のセットA=AH∪AL=<a1=va1,a2=va2,..,an=van>を所与として、この場合のa1 ∈ Aは値va1 ∈ V1を有し、i∈[1,n]及びメッセージ列M= <m1,m2,…,mw>、mj ∈Mはmj= <f1j= vf1j,f2j= vf2j,…,fzj= vfzj>の形式であり、j ∈[1,w]で、属性a1の値がＭ内のメッセージの何れかの単一フィールド値と同等の場合、すなわち、属性の指標ｉ、メッセージフィールドの指標ｋ、及びメッセージの指標ｊとして、vai= vfkjの場合、属性a1は明示的である。明示属性をaeと呼ぶことにする。
【０１１１】
［定義７（暗黙（又は意味）属性）］
ホスト関連属性及びリンク関連属性のセットA=AH∪AL=<a1=va1,a2=va2,..,an=van>を所与として、この場合のa1 ∈Aは値va1 ∈V1を有し、 i ∈[1,n]及びメッセージ列M= <m1,m2,…,mw>、mj ∈Mはmj= <f1j= vf1j,f2j= vf2j,…,fzj= vfzj>の形式であり、j ∈[1,w]で、属性a1の値が、（場合によっては）複数のメッセージにわたる複数のフィールド値及びコンテキスト関連属性ACの関数である場合、すなわち、M'⊆M x ACとしてg(M')= vaiとなるような関数ｇ（）が存在する場合、属性a1は暗黙的又は意味的である。暗黙属性をaiと呼ぶことにする。
【０１１２】
［定義８（属性ベースポリシー）］
属性ベースのポリシーＰは、以下のように定義することができる。
ホスト関連属性、リンク関連属性、及びコンテキスト関連属性のセットA=AH∪AL∪AC=<a1=va1,a2=va2,..,an=van>を所与として、ここでa1 ∈Aは値va1 ∈V1を有し、i ∈[1,n]で、属性ベースのポリシーは以下のように定義する。
P : if < ATTRIBUTE OP VALUE [{LOGICOP ATTRIBUTE OP VALUE}]> then ACTION [{, OBLIGATION}]>
ここで、
・ATTRIBUTEは、あらゆるホストベース、リンクベース、又はコンテキストベースの属性ai P Aとすることができる。
・OPは、あらゆる比較演算とすることができる
2021515498.tif 000007
・VALUEは、属性aiが取ることができるあらゆる値vai E Viである。
・LOGICOPは、あらゆる論理演算子である
2021515498.tif 000008
・ACTIONは、ポリシーの肯定一致の場合に行うべきことを定義する（例えば、拒否又は許可）
・OBLIGATIONは、一致の場合に行うべき追加の動作を定義する（例えば、ｎａｍｅ＠ｄｏｍａｉｎ．ｃｏｍに電子メールを送信、優先度をｈｉｇｈに設定、クリティカリティをｍｅｄｉｕｍに設定）。
【０１１３】
［定義９（隔離）］
隔離Ｑは、形式q:<ID,Target,Hyp0,Hyp1,E,M>のレコードｑのリストであり、ここで、
ＩＤは、レコードｑの識別子であり；
Target∈{Host,Link}は、隔離内にあるホストＨ又はリンクＬである。
Hyp0∈{0,1}は、隔離内のホスト／リンクが正当であるという仮説への支援（例えば、確率）である。
Hyp1∈{0,1}は、隔離内のホスト／リンクが悪意があるという仮説への支援（例えば、確率）である。
E:<e1,e2,...,en>は、支援を計算するために用いられるエビデンスを構成するイベントのリストである。イベントの例は、新規ホスト、新規ホストの属性値（役割=ＰＬＣ）、新規リンク、新規リンクの属性値（L.MrssageType=reprogram）、アラート、ユーザフィードバック．．．等を含むことができる。
M:<m1, m2, ..., mn>は、隔離内のホスト／リンクに関連するネットワークメッセージセットである。
【０１１４】
［定義１０（検出及び隔離アルゴリズム）］
検出及び隔離アルゴリズムは以下のように機能することができる：
１．Ｐを属性ベースのポリシーセットとし、ここで、pi. action==deny（拒否）の場合、pi ∈ Pをブラックリストと呼び、pj. action==permit（許可）の場合、pj ∈ Pをホワイトリストと呼ぶ。
２．Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
３．あらゆる新規のネットワークメッセージｍに関して
（ｆ）ｍからソースホストHsrc、宛先ホストHdst、及びリンクＬを抽出
ｉ．Hsrc（又はHdst又はＬ）が既知のホスト／リンクのデータベース内にない場合は、これを隔離に追加し、すなわち、
2021515498.tif 000009
q(n+1)をＱに追加する（Hdst 又はＬに関しても同様のことを行う）。
（ｇ）Hsrc, Hdst, 及びＬの明示属性及び暗黙属性を抽出
（ｈ）抽出した属性が整合性ルールに従わない場合、「整合性違反」についてのアラートを生成：
ｉ．アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
ｉｉ．それ以外の場合は、アラートをアラートリストに追加
（ｉ）それ以外の場合、Hsrc, Hdst，及びＬを新規の属性値でアップデート
ｉ．Hsrc, Hdst,又はＬが隔離内にある場合、新規属性値をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
（ｊ）ｍを各属性ベースのポリシーpi ∈ Pに対して照合
ｉ．ｍがブラックリストポリシーに一致する場合は、「ブラックリスト違反」についてのアラートを生成；
Ａ．アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
Ｂ．それ以外の場合は、アラートをアラートリストに追加
ｉｉ．それ以外でｍがホワイトリストポリシーに一致する場合、次のネットワークメッセージの分析に進む。
ｉｉｉ．それ以外でｍがホワイトリストポリシーに一致しない場合、「非ホワイトリスト違反」についてのアラートを生成；
Ａ．アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
Ｂ．それ以外の場合は、アラートをアラートリストに追加
ｉｖ．それ以外でｍの一致が未定義の場合（すなわち、例えば、属性の一部が未定義であるので、ポリシーに一致しない）、ポリシー候補（例えば、将来的に一致し得るポリシー）をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
【０１１５】
［定義１１（自己アップデートアルゴリズム）］
自己アップデートアルゴリズムは、新たに出現する挙動から新規のブラックリスト／ホワイトリストポリシーを抽出するために、隔離内に含まれる情報を保持して分析する。アルゴリズムは、以下のように機能する。
１．Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
２．新規エビデンスｅｉを隔離アイテムｑjのエビデンスＥｉに追加する時は常に：
（ｄ）新規のエビデンスeiを考慮することにより、隔離アイテムqiが正当（Hyp0i）か又は悪意がある（Hyp1i）という仮説への支援を（再）計算する。実施可能な実施形態において、支援は、エビデンスタイプに基づいて計算することができる。例えば、ei==新規ホストの場合、新規ホストと既知のホストとの類似性を計算して、類似性が高い場合はHyp0iを増加させ、類似性が低い場合はHyp1iを増加させる。新規属性値又は新規リンクの場合も同様の手法を行うことができる。別の実施形態では、一次論理、ベイズ推定又はデンプスター・シェファーのエビデンス理論等の技術を用いて、支援を計算することができる。
３．各アイテムq ∈ Qに関して、ユーザは、Hyp0及び／又はHyp1の関連する値に直接影響を与えることになるフィードバックを提供することができる。
４．各アイテムq ∈Qに関して及び所与の閾値τに関して、トリガーが開始される時に（例えば、一定期間が経過した又はユーザがフィードバックを提供した）：
ａ．ｑ.Hyp0＞τの場合、Ｑからｑを削除して、ネットワークメッセージq.Mを正当なメッセージセットMlegitに追加する。
ｂ．ｑ.Hyp1→τの場合、Ｑからｑを削除して、ネットワークメッセージq.Mを悪意があるメッセージセットMmaliciousに追加する。
５．新規のホワイトリストポリシーを学習するために、Mlegitを学習アルゴリズムへの入力として与える
６．新規のブラックリストポリシーを学習するために、Mmaliciousを学習アルゴリズムへの入力として与える
７．現在のホワイトリストポリシー及びブラックリストポリシーをアップデート
【０１１６】
以下の番号付きの条項１０１−１４６は本明細書の一部を形成する。
【０１１７】
１０１．データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第１ホスト及び第２ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第１ホストと第２ホストとの間のリンクを提供し（ネットワーク通信を形成）、
本方法は：
ａ）データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）抽出したプロトコルフィールド値から、第１ホスト、第２ホスト、及びリンクのうちの１つについての属性の属性値を導出するステップと、
ｃ）モデルセットから、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルを選択するステップであって、選択されたモデルは、第１ホスト、第２ホスト、及びリンクのうちの１つについて記述する複数の属性を含む、ステップと、
ｄ）導出された属性値が、第１ホスト、第２ホスト、及びリンクのうちの１つに関連する選択されたモデルにおいて（例えば、選択時に）特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
ｅ）アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第１ホスト、第２ホスト、又はリンクの属性のうちの少なくとも１つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
本方法は更に、データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び／又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む。
【０１１８】
１０２．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項１０１に記載の方法。
【０１１９】
１０３．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項１０１又は１０２に記載の方法。
【０１２０】
１０４．ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項１０１〜１０３の何れか１項に記載の方法。
【０１２１】
１０５．ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項１０１〜１０４の何れか１項に記載の方法。
【０１２２】
１０６．ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・２つのポリシーが同じ条件を共有するが、これら２つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、条項１０１〜１０５の何れか１項に記載の方法。
【０１２３】
１０７．属性の少なくとも１つは、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味的意味を表す意味属性である、条項１０１〜１０６の何れか１項に記載の方法。
【０１２４】
１０８．少なくとも１つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも２つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項１０１〜１０７の何れか１項に記載の方法。
【０１２５】
１０９．モデルセットは、第１ホストのモデル、第２ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも１つの意味属性を含む、条項１０１〜１０８の何れか１項に記載の方法。
【０１２６】
１１０．ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ１つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項１０１〜１１０の何れか１項に記載の方法。
【０１２７】
１１１．各ポリシーの条件は、少なくとも１つの意味属性の値を含む、条項１０１〜１１０の何れか１項に記載の方法。
【０１２８】
１１２．上記ｂ）はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項１０１〜１１１の何れか１項に記載の方法。
【０１２９】
１１３．上記ｂ）は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項１０１〜１１２の何れか１項に記載の方法。
【０１３０】
１１４．前記ｂ）は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項１０１〜１１３の何れか１項に記載の方法。
【０１３１】
１１５．前記ｂ）は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項１０１〜１１４の何れか１項に記載の方法。
【０１３２】
１１６．分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項１１５に記載の方法。
【０１３３】
１１７．ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項１１４〜１１６の何れか１項に記載の方法。
【０１３４】
１１８．データ通信ネットワークにはスティミュラスが注入されない、条項１０１〜１１７の何れか１項に記載の方法。
【０１３５】
１１９．ステップｂ）、ｃ）、ｄ）、及びｅ）が、第１ホスト、第２ホスト、及びリンクに関して実行され、モデルセットは、第１ホストに関連するモデル、第２ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第１ホストの属性、第２ホストの属性、及びリンクの属性に関する条件を定義する、条項１０１〜１１８の何れか１項に記載の方法。
【０１３６】
１２０．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項１０１〜１１９の何れか１項に記載の方法。
【０１３７】
１２１．属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項１０１〜１２０の何れか１項に記載の方法。
【０１３８】
１２２．整合性ルールを提供するステップを更に含み、整合性ルールは、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルの属性の少なくとも２つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックが整合性ルールに従わない場合に、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックを隔離内に格納するステップと、を含む、条項１０１〜１２１の何れか１項に記載の方法。
【０１３９】
１２３．監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップが、ステップｅ）の前に実行される、条項１２２に記載の方法。
【０１４０】
１２４．整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちの少なくとも１つを含む、条項１２２又は１２３に記載の方法。
【０１４１】
１２５．第１ホストに関連する整合性ルールは、別のホストの属性、好ましくは第２ホストの属性を含む、条項１２２〜１２４の何れか１項に記載の方法。
【０１４２】
１２６．ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項１２２〜１２５の何れか１項に記載の方法。
【０１４３】
１２７．整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項１２２〜１２６の何れか１項に記載の方法。
【０１４４】
１２８．属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも１つを表す、条項１０１〜１２７の何れか１項に記載の方法。
【０１４５】
１２９．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第１ホスト、第２ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第１ホスト、第２ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項１０１〜１２８の何れか１項に記載の方法。
【０１４６】
１３０．プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされる、条項１０１〜１２９の何れか１項に記載の方法。
【０１４７】
１３１．隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップを更に含む、条項１３０に記載の方法。
【０１４８】
１３２．隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、を更に含む、条項１３１に記載の方法。
【０１４９】
１３３．仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項１３２に記載の方法。
【０１５０】
１３４．隔離は、隔離内にリストされたホスト及び／又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項３０〜１３３の何れか１項に記載の方法。
【０１５１】
１３５．本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項１３１〜１３４の何れか１項に記載の方法。
【０１５２】
１３６．本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項１３１〜１３５の何れか１項に記載の方法。
【０１５３】
１３７．隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップを更に含む、条項１３１〜１３６の何れか１項に記載の方法。
【０１５４】
１３８．新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項１３７に記載の方法。
【０１５５】
１３９．隔離内に格納されたデータトラフィックのホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び／又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト／リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、
を含む、条項１３７又は１３８に記載の方法。
【０１５６】
１４０．隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項１３９に記載の方法。
【０１５７】
１４１．ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
上記条項の何れかによる、ホワイトリストポリシー又はブラックリストポリシーを学習するステップを含む、条項１３９又は１４０に記載の方法。
【０１５８】
１４２．  抽出したプロトコルフィールド値から導出された属性値は、第１ホスト、第２ホスト、及びリンクのうちの１つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちのうちの少なくとも１つを含む、条項１０１〜１４１の何れか１項に記載の方法。
【０１５９】
１４３．隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項１０１〜１４２の何れか１項に記載の方法。
【０１６０】
１４４．上記条項１０１〜１４３の何れか１項に記載の方法を実行するように構成された侵入検出システム。
【０１６１】
１４５．条項１４４に記載の侵入検出システムを備えたデータ通信ネットワーク。
【０１６２】
１４６．条項４４に記載の侵入検出システムを備えた装置。
【０１６３】
以下の番号付きの条項２０１〜２４４は本明細書の一部を形成する。
【０１６４】
２０１．データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第１ホスト及び第２ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第１ホストと第２ホストとの間のリンクを提供し（ネットワーク通信を形成）、
本方法は：
ａ）データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）抽出したプロトコルフィールド値から、第１ホスト、第２ホスト、及びリンクのうちの１つについての属性の属性値を導出するステップと、
ｃ）モデルセットから、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルを選択するステップであって、選択されたモデルは、第１ホスト、第２ホスト、及びリンクのうちの１つについて記述する複数の属性を含む、ステップと、
ｄ）導出された属性値が、第１ホスト、第２ホスト、及びリンクのうちの１つに関連する選択されたモデルにおいて特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
ｅ）アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第１ホスト、第２ホスト、又はリンクの属性のうちの少なくとも１つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされ、
本方法が更に、
隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップと、
隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップと、
を含む、
【０１６５】
２０２．新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項２０１に記載の方法。
【０１６６】
隔離内にリストされたデータトラフィックの属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び／又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト／リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含む、条項２０１又は２０２に記載の方法。
【０１６７】
２０４．隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項２０３に記載の方法。
【０１６８】
２０５．ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
隔離内にリストされたホスト又はリンクの属性から、ホワイトリストポリシー又はブラックリストポリシーのそれぞれを学習するステップを含む、条項２０３又は２０４に記載の方法。
【０１６９】
２０６．隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に
隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、を更に含む、条項２０１〜２０５の何れか１項に記載の方法。
【０１７０】
２０７．仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項２０６に記載の方法。
【０１７１】
２０８．隔離は、隔離内にリストされたホスト及び／又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項２０１〜２０７の何れか１項に記載の方法。
【０１７２】
２０９．本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項２０１〜２０８の何れか１項に記載の方法。
【０１７３】
２１０．本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項２０１〜２０９の何れか１項に記載の方法。
【０１７４】
２１１．属性の少なくとも１つは、意味属性であり、意味属性は、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味論的意味を表す、条項２０１〜２１０の何れか１項に記載の方法。
【０１７５】
２１２．少なくとも１つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも２つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項２０１〜２１１の何れか１項に記載の方法。
【０１７６】
２１３．モデルセットは、第１ホストのモデル、第２ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも１つの意味属性を含む、条項２０１〜２１２の何れか１項に記載の方法。
【０１７７】
２１４．ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ１つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項２０１〜２１３の何れか１項に記載の方法。
【０１７８】
２１５．各ポリシーの条件は、少なくとも１つの意味属性の値を含む、条項２０１〜２１４の何れか１項に記載の方法。
【０１７９】
２１６．上記ｂ）はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項２０１〜２１５の何れか１項に記載の方法。
【０１８０】
２１７．上記ｂ）は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項１０１〜２１６の何れか１項に記載の方法。
【０１８１】
２１８．前記ｂ）は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項２０１〜２１７の何れか１項に記載の方法。
【０１８２】
２１９．前記ｂ）は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項２０１〜２１８の何れか１項に記載の方法。
【０１８３】
２２０．分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項２１９に記載の方法。
【０１８４】
２２１．ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項２１８〜２２０の何れか１項に記載の方法。
【０１８５】
２２２．データ通信ネットワークにはスティミュラスが注入されない、条項２０１〜２２１の何れか１項に記載の方法。
【０１８６】
２２３．ステップｂ）、ｃ）、ｄ）、及びｅ）が、第１ホスト、第２ホスト、及びリンクに関して実行され、モデルセットは、第１ホストに関連するモデル、第２ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第１ホストの属性、第２ホストの属性、及びリンクの属性に関する条件を定義する、条項２０１〜２２１の何れか１項に記載の方法。
【０１８７】
２２４．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項２０１〜２２３の何れか１項に記載の方法。
【０１８８】
２２５．属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項２０１〜２２４の何れか１項に記載の方法。
【０１８９】
２２６．整合性ルールを提供するステップを更に含み、整合性ルールは、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルの属性の少なくとも２つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の属性値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックが整合性ルールに従わない場合に、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックを隔離内に格納するステップと、を含む、条項２０１〜２２５の何れか１項に記載の方法。
【０１９０】
２２７．監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検出するステップを、ステップｅ）の前に実行される、条項２２６に記載の方法。
【０１９１】
２２８．整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちのうちの少なくとも１つを含む、条項２２６又は２２７に記載の方法。
【０１９２】
２２９．第１ホストに関連する整合性ルールは、別のホストの属性、好ましくは第２ホストの属性を含む、条項２２６〜２２８の何れか１項に記載の方法。
【０１９３】
２３０．ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項２２６〜２２９の何れか１項に記載の方法。
【０１９４】
２３１．整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項２２６〜２３０の何れか１項に記載の方法。
【０１９５】
２３２．属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも１つを表す、条項２０１〜２３１の何れか１項に記載の方法。
【０１９６】
２３３．データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び／又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む、条項２０１〜２３２の何れか１項に記載の方法。
【０１９７】
２３４．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項２３３に記載の方法。
【０１９８】
２３５．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項２３３又は２３４に記載の方法。
【０１９９】
２３６．ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項２３３〜２３５の何れか１項に記載の方法。
【０２００】
２３７．ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項２３３〜２３６の何れか１項に記載の方法。
【０２０１】
２３８．ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・２つのポリシーが同じ条件を共有するが、これら２つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、
条項２３３〜２３７の何れか１項に記載の方法。
【０２０２】
２３９．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第１ホスト、第２ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第１ホスト、第２ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項２０１〜２３８の何れか１項に記載の方法。
【０２０３】
２４０．
抽出したプロトコルフィールド値から導出された属性値は、第１ホスト、第２ホスト、及びリンクのうちの１つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも１つを含む、条項２０１〜２３９の何れか１項に記載の方法。
【０２０４】
２４１．隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項２０１〜２４０の何れか１項に記載の方法。
【０２０５】
２４２．上記条項２０１〜２４１の何れか１項に記載の方法を実行するように構成された侵入検出システム。
【０２０６】
２４３．条項２４２に記載の侵入検出システムを備えたデータ通信ネットワーク。
【０２０７】
２４４．条項２４２に記載の侵入検出システムを備えた装置。
【０２０８】
以下の番号付きの条項３０１〜３４４は本明細書の一部を形成する。
【０２０９】
３０１．データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第１ホスト及び第２ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第１ホストと第２ホストとの間のリンクを提供し（ネットワーク通信を形成）、
本方法は：
ａ）データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）抽出したプロトコルフィールド値から、第１ホスト、第２ホスト、及びリンクのうちの１つについての属性の属性値を導出するステップと、
ｃ）モデルセットから、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルを選択するステップであって、選択されたモデルは、第１ホスト、第２ホスト、及びリンクのうちの１つについて記述する複数の属性を含む、ステップと、
ｄ）導出された属性値が、第１ホスト、第２ホスト、及びリンクのうちの１つに関連する選択されたモデルにおいて特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
ｅ）アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第１ホスト、第２ホスト、又はリンクの属性のうちの少なくとも１つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされ、
本方法は更に、
前記隔離内にリストされた前記ホスト又は前記リンクに関連する属性値を導出するステップと、
隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、
隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に
隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、
を含む、方法。
【０２１０】
３０２．仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項３０１に記載の方法。
【０２１１】
３０３．隔離は、隔離内にリストされたホスト及び／又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項３０１又は３０２に記載の方法。
【０２１２】
３０４．本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項３０１〜３０３の何れか１項に記載の方法。
【０２１３】
３０５．本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項３０１〜３０４の何れか１項に記載の方法。
【０２１４】
３０６．隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップを更に含む、条項３０１〜３０５の何れか１項に記載の方法。
【０２１５】
３０７．新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項３０６に記載の方法。
【０２１６】
３０８．隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び／又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト／リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含む、条項３０６又は３０７に記載の方法。
【０２１７】
３０９．隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項３０８に記載の方法。
【０２１８】
３１０．ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
隔離内にリストされたホスト又はリンクの属性から、ホワイトリストポリシー又はブラックリストポリシーのそれぞれを学習するステップを含む、条項３０８又は３０９に記載の方法。
【０２１９】
３１１．属性の少なくとも１つは、意味属性であり、意味属性は、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味論的意味を表す、条項３０１〜３１０の何れか１項に記載の方法。
【０２２０】
３１２．少なくとも１つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも２つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項３０１〜３１１の何れか１項に記載の方法。
【０２２１】
３１３．モデルセットは、第１ホストのモデル、第２ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも１つの意味属性を含む、条項３０１〜３１２の何れか１項に記載の方法。
【０２２２】
３１４．ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ１つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項３０１〜３１３の何れか１項に記載の方法。
【０２２３】
３１５．各ポリシーの条件は、少なくとも１つの意味属性の値を含む、条項３０１〜３１４の何れか１項に記載の方法。
【０２２４】
３１６．上記ｂ）はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項３０１〜３１５の何れか１項に記載の方法。
【０２２５】
３１７．上記ｂ）は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項３０１〜３１６の何れか１項に記載の方法。
【０２２６】
３１８．前記ｂ）は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項３０１〜３１７の何れか１項に記載の方法。
【０２２７】
３１９．前記ｂ）は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項３０１〜３１８の何れか１項に記載の方法。
【０２２８】
３２０．分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項３１９に記載の方法。
【０２２９】
３２１．ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項３１８〜３２０の何れか１項に記載の方法。
【０２３０】
３２２．データ通信ネットワークにはスティミュラスが注入されない、条項３０１〜３２１の何れか１項に記載の方法。
【０２３１】
３２３．ステップｂ）、ｃ）、ｄ）、及びｅ）が、第１ホスト、第２ホスト、及びリンクに関して実行され、モデルセットは、第１ホストに関連するモデル、第２ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第１ホストの属性、第２ホストの属性、及びリンクの属性に関する条件を定義する、条項３０１〜３２２の何れか１項に記載の方法。
【０２３２】
３２４．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項３０１〜３２３の何れか１項に記載の方法。
【０２３３】
３２５．属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項３０１〜３２４の何れか１項に記載の方法。
【０２３４】
３２６．整合性ルールを提供するステップを更に含み、整合性ルールは、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルの属性の少なくとも２つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の属性値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックが整合性ルールに従わない場合に、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックを隔離内に格納するステップと、を含む、条項３０１〜３２５の何れか１項に記載の方法。
【０２３５】
３２７．監視するデータトラフィックから導出された属性に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップは、ステップｅ）の前に実行される、条項３２６に記載の方法。
【０２３６】
３２８．整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちの少なくとも１つを含む、条項３２６又は３２７に記載の方法。
【０２３７】
３２９．第１ホストに関連する整合性ルールは、別のホストの属性、好ましくは第２ホストの属性を含む、条項３２６〜３２８の何れか１項に記載の方法。
【０２３８】
３３０．ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項３２６〜３２９の何れか１項に記載の方法。
【０２３９】
３３１．整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項３２６〜３３０の何れか１項に記載の方法。
【０２４０】
３３２．属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも１つを表す、条項３０１〜３３１の何れか１項に記載の方法。
【０２４１】
３３３．データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び／又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む、条項３０１〜３３２の何れか１項に記載の方法。
【０２４２】
３３４．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項３３３に記載の方法。
【０２４３】
３３５．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項３３３又は３３４に記載の方法。
【０２４４】
３３６．ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項３３３〜３３５の何れか１項に記載の方法。
【０２４５】
３３７．ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項３３３〜３３６の何れか１項に記載の方法。
【０２４６】
３３８．ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・２つのポリシーが同じ条件を共有するが、これら２つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、条項３３３〜３３７の何れか１項に記載の方法。
【０２４７】
３３９．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第１ホスト、第２ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第１ホスト、第２ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項３０１〜３３８の何れか１項に記載の方法。
【０２４８】
３４０．
抽出したプロトコルフィールド値から導出された属性値は、第１ホスト、第２ホスト、及びリンクのうちの１つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも１つを含む、条項３０１〜３３９の何れか１項に記載の方法。
【０２４９】
３４１．隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項３０１〜３４０の何れか１項に記載の方法。
【０２５０】
３４２．上記条項３０１〜３４１の何れか１項に記載の方法を実行するように構成された侵入検出システム。
【０２５１】
３４３．条項３４２に記載の侵入検出システムを備えたデータ通信ネットワーク。
【０２５２】
３４４．条項３４２に記載の侵入検出システムを備えた装置。
【０２５３】
以下の番号付きの条項４０１〜４４６は本明細書の一部を形成する。
【０２５４】
４０１．データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第１ホスト及び第２ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第１ホストと第２ホストとの間のリンクを提供し（ネットワーク通信を形成）、
本方法は：
ａ）データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）抽出したプロトコルフィールド値から、第１ホスト、第２ホスト、及びリンクのうちの１つについての属性の属性値を導出するステップと、
ｃ）モデルセットから、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルを選択するステップであって、選択されたモデルは、第１ホスト、第２ホスト、及びリンクのうちの１つについて記述する複数の属性を含む、ステップと、
ｄ）導出された属性値が、第１ホスト、第２ホスト、及びリンクのうちの１つに関連する選択されたモデルにおいて特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
ｅ）アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第１ホスト、第２ホスト、又はリンクの属性のうちの少なくとも１つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
整合性ルールを提供するステップを更に含み、整合性ルールは、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するモデルの属性の少なくとも２つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の属性値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックが整合性ルールに従わない場合に、第１ホスト、第２ホスト、及びリンクのうちの１つに関連するデータトラフィックを隔離内に格納するステップと、
を含む、方法。
【０２５５】
４０２．監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップが、ステップｅ）の前に実行される、条項４０１に記載の方法。
【０２５６】
４０３．整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちの少なくとも１つを含む、条項４０１又は４０２に記載の方法。
【０２５７】
４０４．第１ホストに関連する整合性ルールは、別のホストの属性、好ましくは第２ホストの属性を含む、条項４０１〜４０３の何れか１項に記載の方法。
【０２５８】
４０５．ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項４０１〜４０４の何れか１項に記載の方法。
【０２５９】
４０６．整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項４０１〜４０５の何れか１項に記載の方法。
【０２６０】
４０７．属性の少なくとも１つは、第１ホスト、第２ホスト、及びリンクのうちの１つについての意味的意味を表す意味属性である、条項４０１〜４０６の何れか１項に記載の方法。
【０２６１】
４０８．少なくとも１つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも２つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項４０１〜４０７の何れか１項に記載の方法。
【０２６２】
４０９．モデルセットは、第１ホストのモデル、第２ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも１つの意味属性を含む、条項４０１〜４０８の何れか１項に記載の方法。
【０２６３】
４１０．ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ１つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項４０１〜４０９の何れか１項に記載の方法。
【０２６４】
４１１．各ポリシーの条件は、少なくとも１つの意味属性の値を含む、条項４０１〜４１０の何れか１項に記載の方法。
【０２６５】
４１２．上記ｂ）はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項４０１〜４１１の何れか１項に記載の方法。
【０２６６】
４１３．上記ｂ）は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項４０１〜４１２の何れか１項に記載の方法。
【０２６７】
４１４．前記ｂ）は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項４０１〜４１３の何れか１項に記載の方法。
【０２６８】
４１５．前記ｂ）は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項４０１〜４１４の何れか１項に記載の方法。
【０２６９】
４１６．分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項４１５に記載の方法。
【０２７０】
４１７．ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項４１４〜４１６の何れか１項に記載の方法。
【０２７１】
４１８．データ通信ネットワークにはスティミュラスが注入されない、条項４０１〜４１７の何れか１項に記載の方法。
【０２７２】
４１９．ステップｂ）、ｃ）、ｄ）、及びｅ）が、第１ホスト、第２ホスト、及びリンクに関して実行され、モデルセットは、第１ホストに関連するモデル、第２ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第１ホストの属性、第２ホストの属性、及びリンクの属性に関する条件を定義する、条項４０１〜４１８の何れか１項に記載の方法。
【０２７３】
４２０．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項４０１〜４１９の何れか１項に記載の方法。
【０２７４】
４２１．属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項４０１〜４２０の何れか１項に記載の方法。
【０２７５】
４２２．属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも１つを表す、条項４０１〜４２１の何れか１項に記載の方法。
【０２７６】
４２３．データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び／又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む、条項４０１〜４２２の何れか１項に記載の方法。
【０２７７】
４２４．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項４２３に記載の方法。
【０２７８】
４２５．支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項４２３又は４２４に記載の方法。
【０２７９】
４２６．ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項４２３〜４２５の何れか１項に記載の方法。
【０２８０】
４２７．ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項４２３〜４２６の何れか１項に記載の方法。
【０２８１】
４２８．ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・２つのポリシーが同じ条件を共有するが、これら２つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、条項４２３〜４２７の何れか１項に記載の方法。
【０２８２】
４２９．属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第１ホスト、第２ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第１ホスト、第２ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項４０１〜４２８の何れか１項に記載の方法。
【０２８３】
４３０．プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされる、条項４０１〜４２９の何れか１項に記載の方法。
【０２８４】
４３１．隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップを更に含む、条項４３０に記載の方法。
【０２８５】
４３２．隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に
隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、を更に含む、条項４３１に記載の方法。
【０２８６】
４３３．仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項４３２に記載の方法。
【０２８７】
４３４．隔離は、隔離内にリストされたホスト及び／又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項４３０〜４３３の何れか１項に記載の方法。
【０２８８】
４３５．本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項４３１〜４３４の何れか１項に記載の方法。
【０２８９】
４３６．本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項４３１〜４３５の何れか１項に記載の方法。
【０２９０】
４３７．隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップを更に含む、条項４３１〜４３６の何れか１項に記載の方法。
【０２９１】
４３８．新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項４３７に記載の方法。
【０２９２】
４３９．隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び／又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト／リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含む、条項４３７又は４３８に記載の方法。
【０２９３】
４４０．隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を（再）計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項４３９に記載の方法。
【０２９４】
４４１．ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
項４２３〜４２８の何れか１項に記載のホワイトリストポリシー又はブラックリストポリシーのそれぞれを学習するステップを含む、条項４３９又は４４０に記載の方法。
【０２９５】
４４２．
抽出したプロトコルフィールド値から導出された属性値は、第１ホスト、第２ホスト、及びリンクのうちの１つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも１つを含む、条項４０１〜４４２の何れか１項に記載の方法。
【０２９６】
４４３．隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項４０１〜４４２の何れか１項に記載の方法。
【０２９７】
４４４．上記条項４０１〜４４３の何れか１項に記載の方法を実行するように構成された侵入検出システム。
【０２９８】
４４５．条項４４４に記載の侵入検出システムを備えたデータ通信ネットワーク。
【０２９９】
４４６．条項４４４に記載の侵入検出システムを備えた装置。
【符号の説明】
【０３００】
whitelist policies：ホワイトリストポリシー
consistency rules：整合性ルール
blacklist policies：ブラックリストポリシー
Observe：観察
Ａ  新規のネットワークアクティビティ
Identify：識別
Ｂ  ホスト属性及びリンク属性を抽出
Ｃ  属性は整合性ルールに従うか？
yes：はい、no：いいえ
Ｄ  アクティビティがブラックリストポリシーに一致するか？
yes：はい、no：いいえ
Ｅ  学習中か？
yes：はい、no：いいえ
Ｆ  ポリシー＆整合性ルールを学習
Ｇ  アクティビティがホワイトリストに一致するか？
yes：はい、no：いいえ
Ｈ  アクティビティを分類するための十分なエビデンスが（隔離内に）存在するか？
yes：はい、no：いいえ
Log：記録
Ｉ  隔離
Ｊ  自己アップデート（隔離を用いて）
Ｋ  隔離をアップデート
Ｌ  アラートを生成
Ｍ  アラートを分析
Ｎ  アラート
Ｏ  ホスト又はリンクが隔離内に含まれるか？
yes：はい、no：いいえ
Alert List：アラートリスト
Undefined：未定義
Reason：推論
React & Adapt：反応＆適応
Learn：学習
END：終了
【図１】
2021515498.tif 000010
【図２】
2021515498.tif 000011
【図３】
2021515498.tif 000012
【図４】
2021515498.tif 000013
【図５】
2021515498.tif 000014
【図６】
2021515498.tif 000015
【図７】
2021515498.tif 000016
【図８】
2021515498.tif 000017
【図９】
2021515498.tif 000018
【図１０】
2021515498.tif 000019
【手続補正書】
【提出日】令和2年11月12日(2020.11.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、前記データ通信ネットワークに第１ホスト及び第２ホストが接続され、前記データ通信ネットワーク上の前記データトラフィックが、前記第１ホストと前記第２ホストとの間のネットワーク通信を形成するリンクを提供し、
前記方法は、
ａ）前記データトラフィックを解析して、前記データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
ｂ）前記抽出したプロトコルフィールド値から、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの１つについての属性の属性値を導出するステップと、
ｃ）モデルセットから、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連するモデルを選択するステップであって、選択された前記モデルは、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つについて記述する複数の属性を含み、前記属性の少なくとも１つは意味属性であり、前記意味属性は、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つについての意味論的意味を表す、ステップと、
ｄ）前記導出された属性値が、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記選択されたモデルにおいて特徴付けられていない場合に、前記選択されたモデルを前記導出された属性値でアップデートするステップと、
ｅ）前記アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、前記属性ベースのポリシーセットのうちの各属性ベースのポリシーは、前記第１ホスト、前記第２ホスト、又は前記リンクの前記属性のうちの少なくとも１つの属性に基づいて、前記データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
ｆ）前記属性ベースのポリシーが、前記アップデートされ選択されたモデルが前記属性ベースのポリシーの少なくとも１つに違反することを示す場合に、アラート信号を発生させるステップと、
を含む方法。
【請求項２】
前記抽出したプロトコルフィールド値から導出された前記属性値は、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記モデルセットは、前記第１ホストのモデル、前記第２ホストのモデル、及び前記リンクのモデルを含み、前記モデルの各々が、少なくとも１つの意味属性を含む、請求項１又は２に記載の方法。
【請求項４】
前記ポリシーは各々、条件を満たす場合の結果を定義し、前記条件は、定義済みの属性値を有する前記属性のうちの少なくともそれぞれ１つに関して定義され、前記属性ベースのポリシーの前記結果は、前記選択されたモデルが許容可能か又は許容不可かを示す、請求項１〜３の何れか１項に記載の方法。
【請求項５】
前記各ポリシーの条件は、少なくとも１つの意味属性の値を含む、請求項１〜４の何れか１項に記載の方法。
【請求項６】
前記ステップｂ）、ｃ）、ｄ）、及びｅ）が、前記第１ホスト、前記第２ホスト、及び前記リンクに関して実行され、前記モデルセットは、前記第１ホストに関連するモデル、前記第２ホストに関連するモデル、及び前記リンクに関連するモデルを含み、前記属性ベースのポリシーセットのうちの前記属性ベースのポリシーは、前記第１ホストの前記属性、前記第２ホストの前記属性、及び前記リンクの前記属性に関する条件を定義する、請求項１〜５の何れか１項に記載の方法。
【請求項７】
前記属性ベースのポリシーセットは、ホワイトリストポリシーを含み、前記ホワイトリストポリシーの結果は、前記選択されたモデルが許容可能かどうかを示す、請求項１〜６の何れか１項に記載の方法。
【請求項８】
前記整合性ルールを提供するステップを更に含み、前記整合性ルールは、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記モデルの属性の少なくとも２つの属性値の整合性のある組み合わせを定義し、
・前記監視するデータトラフィックから導出された前記属性の値に基づいて、前記監視するデータトラフィックが前記整合性ルールに従うかどうかを検証するステップと、
・前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記データトラフィックが前記整合性ルールに従わない場合に、前記第１ホスト、前記第２ホスト、及び前記リンクのうちの前記１つに関連する前記データトラフィックを隔離内に格納するステップと、
を含む請求項１〜７の何れか１項に記載の方法。
【請求項９】
前記隔離は、前記ホスト又は前記リンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、請求項８に記載の方法。
【請求項１０】
前記データトラフィックから前記属性ベースのポリシーを学習するステップを含み、前記学習するステップは、学習フェーズにおいて、
前記データトラフィックを監視するステップと、
前記監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
前記データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
前記データセット内の前記ホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、前記ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件、信頼性及び支援レベルを含む、ステップと、
各ルールに関して、前記ルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、前記ルールの基礎となる前記アイテムセットが前記データセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
前記支援レベル及び前記信頼性レベルに基づいて前記ルールを選択するステップと、
前記選択したルールの前記前件及び前記後件を結び付けることにより、前記属性ベースのポリシーの条件を定義して、
前記支援レベル及び／又は前記信頼性レベルに基づいて、前記属性ベースのポリシーの動作を定義する、
ことによって、前記ルールを前記属性ベースのポリシーに変換するステップと、
を更に含む、請求項１〜９の何れか１項に記載の方法。
【請求項１１】
前記支援レベル及び前記信頼性レベルに基づいて前記ルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る前記信頼性レベルを有し且つ所定の支援レベルを上回る前記支援レベルを有するルールを選択するステップを含む、請求項１０に記載の方法。
【請求項１２】
前記支援レベル及び前記信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る前記信頼性レベルを有し且つ所定の支援レベルを上回る前記支援レベルを有するルールを選択するステップを含む、請求項１０又は１１に記載の方法。
【請求項１３】
前記属性ベースのポリシーセットは、前記ホワイトリストポリシーを含み、前記ホワイトリストポリシーの前記結果は、前記選択されたモデルが許容可能かどうかを示し、前記第１ホスト、前記第２ホスト、又は前記リンクに関連する前記モデルが、前記ホワイトリストポリシーの何れにも一致できない場合は、前記第１ホスト、前記第２ホスト、又はリンクの前記それぞれに関連する前記データ通信は、隔離内にリストされる、請求項１〜１２の何れか１項に記載の方法。
【請求項１４】
前記プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、前記それぞれのホスト又はリンクが隔離内にリストされ、前記隔離は、前記ホスト又は前記リンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、請求項１〜１３の何れか１項に記載の方法。
【請求項１５】
前記隔離内にリストされた前記ホスト又は前記リンクに関連する属性値を導出するステップを更に含む、請求項１４に記載の方法。
【請求項１６】
前記隔離内にリストされた前記ホスト又は前記リンクに関連する前記属性値から、前記隔離内にリストされた前記ホスト又は前記リンクが正当であるという仮説への支援を計算するステップと、
前記隔離内にリストされた前記ホスト又は前記リンクに関連する前記属性値から、前記隔離内にリストされた前記ホスト又は前記リンクが悪意があるという仮説への支援を計算するステップと、
任意選択的に、前記隔離内にリストされた前記ホスト又は前記リンクが正当であるという前記仮説への前記支援、或いは前記隔離内にリストされた前記ホスト又は前記リンクが悪意があるという前記仮説への前記支援が所定の閾値を上回る場合は、前記属性ベースのポリシーセットをアップデートするステップと、
を更に含む、請求項１５に記載の方法。
【請求項１７】
前記仮説への前記支援を計算するステップは、前記隔離内の前記ホスト又は前記リンクに関連する前記属性値がアップデートされた時に繰り返される、請求項１６に記載の方法。
【請求項１８】
前記方法は、前記整合性ルールを用いて、前記隔離内の前記ホスト又は前記リンクの前記属性値の整合性をチェックするステップを更に含む、請求項１５〜１７の何れか１項に記載の方法。
【請求項１９】
前記方法は、前記属性ベースのポリシーを用いて、隔離内の前記ホスト又は前記リンクの前記属性値が前記属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、請求項１５〜１８の何れか１項に記載の方法。
【請求項２０】
前記隔離内にリストされた前記ホスト又は前記リンクの前記属性から属性ベースのポリシーを導出するステップを更に含む、請求項１５〜１９の何れか１項に記載の方法。
【請求項２１】
新規のホワイトリストポリシーは、前記隔離内の前記ホスト又は前記リンクに関連する前記プロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、前記隔離内の前記ホスト又はリンクに関連するプロトコルメッセージから導出された前記属性値から導出される、請求項２０に記載の方法。
【請求項２２】
前記隔離内に格納された前記データトラフィックの前記ホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
前記隔離内の前記ホスト及び／又はリンクに関連する前記データトラフィックが観察される時に、前記隔離内の前記ホスト又は前記リンクが正当か又は悪意があるという前記仮説への前記支援を（再）計算するステップと、
前記隔離内の前記ホスト又は前記リンクが正当であるという前記仮説への前記支援が前記ホワイトリスト閾値を上回る場合、前記ホスト又は前記リンクを前記隔離から削除して、前記ホスト又は前記リンクに関連する前記データトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
隔離内のホスト／リンクが悪意があるという前記仮説への前記支援がブラックリスト閾値を上回る場合、アラートを発して、前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
前記抽出した新規のホワイトリスト又は前記ブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、
を含む、請求項２０又は２１に記載の方法。
【請求項２３】
前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いは前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
前記ホワイトリストポリシー又は前記ブラックリストポリシーを学習するステップを含む、請求項２２に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
属性ベースのポリシーは、人間の専門家によって定義することができ、ここでは許容される及び許容されない挙動についての幅広い知識が要求され、或いは、学習手法でデータから推測することもできる。最初の手法は、時間がかかりエラーを起こしやすいが、２番目の手法は、完全に自動化することができ、エラーのリスク（例えば、ポリシーの複製又は重複）が低減される。本発明は、ネットワークトラフィックフローの観察からポリシーを導出することによってポリシーを定義する、面倒な手動プロセスを克服するための自動化技術を提案している。具体的には、正当なネットワークメッセージの観察からホワイトリストポリシーをマイニングし、（可能であれば）攻撃を受けた時のネットワークアクティビティの観察からブラックリストポリシーをマイニングする。
【表１】
2021515498.tif 000020
表１：関連付けルールの実施例
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
［属性ベースのポリシーの学習］
図８は、属性抽出が行われた後に、正当なネットワークメッセージを構築することができる方法の実施例を示す。理解できるように、あらゆる行が、ネットワークアクティビティ及び関連する属性（又は特徴）を表す。このデータ構造に対して、機械学習及びデータマイニング技術を適用して、属性ベースのポリシーを抽出することができる。例えば、大きなデータセット内の要素間の関心のある関係を発見するために、関連付けルール学習、ルールベースの機械学習法を適用することができる。関連付けルールは、見掛け上無関係なデータ間の関係を明らかにするのに役立つ、ｉｆ−ｃｏｎｄｉｔｉｏｎ−ｔｈｅｎ−ａｃｔｉｏｎステートメント（ポリシーとして）である。
しかしながら、関連付けルール及び頻繁なアイテムセットの抽出は、ポリシー作成に役立てることができるが、図９に示すようなプロセス全体はカバーしない手法である。実際には、ネットワークデータに関連付けルールアルゴリズムが適用された後、データから抽出される情報は、ポリシーに変換する必要がある。加えて、関連付けルールは極めて多くのルールを生成する傾向があるので、ポリシー削減及びコンフリクト解決のためのアルゴリズムも同様に導入する必要がある。
【表２】
2021515498.tif 000021
表１：関連付けルールの実施例
【国際調査報告】
2021515498.tif 000022
2021515498.tif 000023
2021515498.tif 000024