(57)【要約】【課題】網内の異常振舞を検出するシステム，装置，計算機可読媒体及び計算機で実現される方法を提供すること。【解決手段】正常活動レベルを決定するために網の過去のパラメータが決定される。網を表すグラフの一部として網内の複数の道が列挙され，網内の各計算システムはグラフ内のノードであってよく，二つの計算システム間の一連のコネクションは，網内の有向辺であってよい。異常振舞を検出すために，グラフ内の複数の道に，スライド窓ベースで統計モデルが適用される。また，異常振舞を検出するために，統一ホスト収集エージェント（ＵＨＣＡ）によって収集されたデータを用いてもよい。【選択図】図４
2015514356.tif 000002
【特許請求の範囲】
【請求項１】
計算システムが，正常活動レベルを決定するために網の過去のパラメータを決定するステップと，
前記計算システムが，前記網を表すグラフの一部として前記網内の複数の道を列挙するステップであって，前記網内の各計算システムは前記グラフ内のノードを為し，二つの計算システム間の一連のコネクションは，前記網内の有向辺を為す，ステップと，
前記計算システムが，前記グラフ内の前記複数の道にスライド窓ベースでマルコフ辺分解モデルを適用するステップと，
前記計算システムが，前記の適用されたマルコフ辺分解モデルに基づいて異常振舞を検出するステップと，
を有する計算機で実現される方法。
【請求項２】
前記の検出された異常振舞に属するデータを利用者に表示するステップを更に有する，請求項１に記載の計算機で実現される方法。
【請求項３】
前記マルコフ辺分解モデルは，観測マルコフモデル（ＯＭＭ）又は隠れマルコフモデル（ＨＭＭ）を為す，請求項１に記載の計算機で実現される方法。
【請求項４】
前記ＯＭＭ又は前記ＨＭＭは２状態モデルを有し，
「オン」状態は利用者の存在を示し，
「オフ」状態は前記利用者の不在を示す，請求項３に記載の計算機で実現される方法。
【請求項５】
前記計算システムは，少なくとも二つの辺種別を考慮に入れて前記過去のパラメータを決定する，請求項１に記載の計算機で実現される方法。
【請求項６】
第１辺種別は個別モデルを推定するために十分なデータを有する要素辺を有し，
第２辺種別は，要素辺であって該要素辺の個別モデルを推定するために十分なデータがない，要素辺を有する，請求項５に記載の計算機で実現される方法。
【請求項７】
前記第２辺種別は，モデルが低カウント辺に過度に敏感でないことを確実にするために，平均ベクトルによってパラメータ化される，請求項６に記載の計算機で実現される方法。
【請求項８】
前記計算システムが，前記網内の対応するホストによって送受信された網通信に属する複数のホストエージェントからデータを収集するステップと，
所定の期間内の異常振舞を検出するために前記の収集したデータを分析するステップと，
を更に有する，請求項１に記載の計算機で実現される方法。
【請求項９】
少なくとも一つプロセッサと，
計算機プログラム命令を記憶するメモリであって，前記命令は，前記少なくとも一つのプロセッサで実行されたとき，前記少なくとも一つのプロセッサに，
正常活動レベルを決定するために網の過去のパラメータを決定し，
前記網を表すグラフの一部として前記網内の複数の道を列挙し，前記網内の各計算システムは前記グラフ内のノードを為し，二つの計算システム間の一連のコネクションは，前記網内の有向辺を為し，
前記グラフ内の前記複数の道にスライド窓ベースで統計モデルを適用し，
前記の適用された統計モデルに基づいて異常振舞を検出させる，
ように構成される，装置。
【請求項１０】
前記計算機プログラム命令は，前記少なくとも一つのプロセッサに，前記の検出された異常振舞に属するデータを利用者に表示させるように更に構成される，請求項９に記載の装置。
【請求項１１】
前記統計モデルは，観測マルコフモデル（ＯＭＭ）又は隠れマルコフモデル（ＨＭＭ）を為す，請求項９に記載の装置。
【請求項１２】
前記ＯＭＭ又は前記ＨＭＭは２状態モデルを有し，
「オン」状態は利用者の存在を示し，
「オフ」状態は前記利用者の不在を示す，請求項１１に記載の装置。
【請求項１３】
前記計算機プログラム命令は，前記少なくとも一つのプロセッサに，少なくとも二つの辺種別を考慮に入れて，前記過去のパラメータを決定させるように更に構成される，請求項９に記載の装置。
【請求項１４】
第１辺種別は個別モデルを推定するために十分なデータを有する要素辺を有し，
第２辺種別は，要素辺であって該要素辺の個別モデルを推定するために十分なデータがない，要素辺を有する，請求項１３に記載の装置。
【請求項１５】
前記第２辺種別は，モデルが低カウント辺に過度に敏感でないことを確実にするために，平均ベクトルによってパラメータ化される，請求項１４に記載の装置。
【請求項１６】
前記計算機プログラム命令は，前記少なくとも一つのプロセッサに，
前記網内の対応するホストによって送受信された網通信に属する複数のホストエージェントからデータを収集し，
所定の期間内の異常を検出するために前記の収集したデータを分析させる，
ように更に構成される，請求項９に記載の装置。
【請求項１７】
網内の異常振舞を検出するように構成された計算機プログラム命令を記憶するメモリと，
前記の記憶された計算機プログラム命令を実行するように構成された複数の処理コアと，を備えるシステムであって，前記複数の処理コアは，
正常活動レベルを決定するために網の過去のパラメータを決定し，
前記網を表すグラフの一部として前記網内の複数の道を列挙し，前記網内の各計算システムは前記グラフ内のノードを為し，二つの計算システム間の一連のコネクションは，前記網内の有向辺を為し，
前記グラフ内の前記複数の道に，スライド窓ベースで統計モデルを適用し，
前記の適用された統計モデルに基づいて，異常振舞を検出する，
ように構成される，システム。
【請求項１８】
前記複数の処理コアは，前記の検出された異常振舞に属するデータを利用者に表示するように更に構成される，請求項１７に記載のシステム。
【請求項１９】
前記統計モデルは，観測マルコフモデル（ＯＭＭ）又は隠れマルコフモデル（ＨＭＭ）を為す，請求項１７に記載のシステム。
【請求項２０】
前記ＯＭＭ又は前記ＨＭＭは２状態モデルを有し，
「オン」状態は利用者の存在を示し，
「オフ」状態は前記利用者の不在を示す，請求項１７に記載のシステム。
【請求項２１】
前記複数の処理コアは，少なくとも二つの辺種別を考慮に入れて，前記過去のパラメータを決定するように更に構成され，
第１辺種別は個別モデルを推定するために十分なデータを有する要素辺を有し，
第２辺種別は，要素辺であって該要素辺の個別モデルを推定するために十分なデータがない，要素辺を有する，請求項１７に記載のシステム。
【請求項２２】
前記第２辺種別は，モデルが低カウント辺に過度に敏感でないことを確実にするために，平均ベクトルによってパラメータ化される，請求項２１に記載のシステム。
【請求項２３】
前記複数の処理コアは，
前記網内の対応するホストによって送受信された網通信に属する複数のホストエージェントからデータを収集し，
所定の期間内の異常振舞を検出するために前記の収集したデータを分析する，ように更に構成される，請求項１７に記載のシステム。
【請求項２４】
計算システムが，網内の対応するホストによって送受信された網通信に属する複数のホストエージェントからデータを収集するステップと，
前記計算システムが，所定期間内の異常振舞を検出するために前記の収集したデータを分析するステップと，
異常振舞が検出されたとき，前記計算システムが，前記所定期間内に前記異常振舞が発生したという指示を提供するステップと，
を有する，計算機で実現される方法。
【請求項２５】
前記収集されたデータは，片方向通信として，前記ホストエージェントからユーザデータグラムプロトコル（ＵＤＰ）を介して送信される，請求項２４に記載の計算機で実現される方法。
【請求項２６】
ホストごとに収集された前記データは，開始したプロセスイメージのチェックサムを含むプロセス停止及び開始情報と，網接続イベントログと，実行中プロセスと確立されている網接続との対応付けと，現在の網接続状態と，を有する，請求項２４に記載の計算機で実現される方法。
【請求項２７】
前記収集されたデータは，ホスト間の網接続を示す三つ組の値のリストを有し，各三つ組は，前記通信が発生した時刻と，送信元インターネットプロトコル（ＩＰ）アドレスと，あて先ＩＰアドレスとを有する，請求項２４に記載の計算機で実現される方法。
【請求項２８】
前記データを収集する前記ステップは，前記データを求めて前記ホストエージェントを周期的にポーリングするステップを更に有する，請求項２４に記載の計算機で実現される方法。
【請求項２９】
前記計算システムが，伝送制御プロトコル（ＴＣＰ）時間待機状態を用いて，短期間接続の情報を収集するステップを更に有する，請求項２４に記載の計算機で実現される方法。
【請求項３０】
前記計算システムが，前記カウントについて平均及び分散統計量を計算することによってカウント情報を用い，カウント加重値を設定するステップを更に有する，請求項２４に記載の計算機で実現される方法。
【請求項３１】
前記データは対応するホストの異常性のレベルに比例して収集され，
低レベルの異常性においては，基本確率的方式からの派生と考えられるとおり，前記計算システムが，基本網接続性及びプロセス情報を集約し，
中レベルの異常性では，前記計算システムが，より多くのプロセス報告及びサービス，並びにより完全な網振舞データを収集し，
高レベルの異常性では，前記計算システムが，完全なホスト振舞情報を収集し，完全なパケット捕捉を行う，請求項２４に記載の計算機で実現される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概略，網侵入，異常及び方針（ｐｏｌｉｃｙ）違反の検出に関し，より特定すれば，時間発展（ｔｉｍｅ ｅｖｏｌｖｉｎｇ）グラフに組み込まれた異常部分グラフを検出するための道探査（ｐａｔｈ ｓｃａｎｎｉｎｇ）による，網侵入，異常及び方針違反の検出に関し，さらに，計算機網の状況認知及び異常／変更検出のためのドメイン名サービス（ＤＮＳ）の使用に関する。
【０００２】
本発明に関し，米国政府は，Los Alamos国立研究所の運営に関する米国エネルギ庁とLos Alamos National Security, LLCとの間の契約第DE-AC52-06NA25396号に基づく権利を有する。
【０００３】
本願は，2012年3月22日出願の米国仮特許出願第61/614,148号の優先権を主張するものである。この先出願された仮特許出願の内容はここに全体を参照によって組み込まれる。
【背景技術】
【０００４】
最新の計算機ハッキングは，会社，政府機関及びほかの団体に深刻な脅威となっている。一般に，ハッカーは自動化された手段によってシステムに侵入する。例えば，ハッカーがフィッシング電子メールをある機関に送信し，利用者がリンクをクリックすると，マルウェアが機械を危険にさらす（ｃｏｍｐｒｏｍｉｓｅ）。これがハッカーに危険にさらされた機械の制御手段を与え，したがって，危険にさらされた機械が存在する網への足がかりを与える。
【０００５】
ハッカーはどの機械が危険にさらされ，自分が網内のどこに着地するかを選択することはできない。ハッカーは通常，網が危険にさらされた初期点から，網を進み，利用する別のホストを探す。一般に，一人の利用者が網全体にアクセスすることはできないため，ハッカーは網を完全に危険にさらすために複数の機械を通過（ｔｒａｖｅｒｓｅ）する必要がある。ハッカーはしばしば，複数利用者がいる機械を探し，アクセスするために危険にさらされたアカウントを利用し，更に網内に進入する。
【０００６】
計算機網内の悪意のある部内者を検出する従来の方法は，一般に「通過」穴（ｔｒａｖｅｒｓａｌ ｗｅｌｌ）を補足できない。通過はハッカーが網を進み，システムに潜入し，危険にさらされたシステムを用いて更にほかのホストを危険にさらすときに起こる。特定の機械を監視するホストベースの検出システムはある程度完成しており，ファイアウォールを用いた侵入検出はよく研究されているが，セキュリティ周辺部内の多段ホップを検査し，同時に異常を探す方法は一般に十分に開拓されていない。さらに，網トラヒック監視は一般に，網傍受，ルータミラーポート及びルータベースのフロー観察といった精巧なシステムを用いて実行される。この方法は費用が掛かり，網内のトラヒックを完全に含むことはできない。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明のある実施例は，現在の侵入，異常，及び方針違反検出技術によっては完全に特定され，理解され又は解決されていない，本技術における課題及び要望に対する解決手段を提供することができる。例えば，本発明のいくつかの実施例は，網内通信パターンを推測するために用いることができるＤＮＳ要求を用いて，局所異常部分グラフを検出するために，探査統計量を用いる。本発明のいくつかの実施例は，各辺（ｅｄｇｅ）に時系列データを有する，任意の種類のグラフに適用することができる。動的ソーシャルネットワーク分析（例えば，Twitter（登録商標），Facebook（登録商標），電子メール網，等）はこの種の分析に従うこともあるし，生物学で見られるような適切なほかのグラフ構造があってもよい。このように，本発明のいくつかの実施例は，サイバセキュリティ外部のアプリケーションを有してもよい。
【０００８】
一つの実施例において，計算機で実現される方法は，正常活動レベルを決定するために網上の各「辺」（すなわち，通信している機械の対）の基本統計モデルの過去のパラメータ（ｈｉｓｔｏｒｉｃａｌ ｐａｒａｍｅｔｅｒ）を決定するステップを含む。この計算機で実現される方法はまた，網を表すグラフの一部として，網内の複数の道を列挙するステップを含み，網内の各計算システムはグラフ内のノードであってよく，二つの計算システム間の一連のコネクションは，グラフ内の有向辺であってよい。方法は，スライド窓ベースの観察下にあるグラフの辺から形成された道に，これらの基本モデル又は統計モデルを適用するステップと，適用された統計モデルに基づいて異常な振舞を検出するステップとを更に含む。
【０００９】
別の実施例においては，装置は少なくとも一つのプロセッサ及び命令を含むメモリを含む。この命令は，少なくとも一つのプロセッサで実行されたとき，少なくとも一つのプロセッサに，正常活動レベルを決定するために網の過去のパラメータを決定させるように構成される。命令はまた，少なくとも一つのプロセッサに，網を表すグラフの一部として網内の複数の道を列挙させるように構成され，網内の各計算システムはグラフ内のノードであってよく，二つの計算システムの間の一連のコネクションは，グラフ内の有向辺であってもよい。命令は，少なくとも一つのプロセッサに，スライド窓ベースのグラフに，統計モデルを適用し，適用された統計モデルに基づいて異常な振舞を検出するように更に構成される。
【００１０】
また別の実施例においては，システムは，網内の異常な振舞を検出するように構成された計算機プログラム命令を記憶するメモリと，記憶された計算機プログラム命令を実行するように構成された複数の処理コアとを含む。複数の処理コアは，正常活動レベルを決定するために網の過去のパラメータを決定するように構成される。複数の処理コアはまた，網を表すグラフの一部として網内の複数の道を列挙させるように構成され，網内の各計算システムはグラフ内のノードであってよく，二つの計算システムの間の一連のコネクションは，グラフ内の有向辺であってもよい。複数の処理コアは，スライド窓ベースのグラフに統計モデルを適用し，適用された統計モデルに基づいて異常な振舞を検出するように更に構成される。
【００１１】
また別の実施例においては，計算機で実現された方法は，計算システムが，網内の対応するホストが送受信した網通信に属する複数のホストエージェントからデータを収集するステップを含む。計算機で実現される方法はまた，計算システムが，所定の期間に異常な振舞を検出するために収集したデータを分析するステップと，異常な振舞が検出されたとき，異常な振舞が所定の期間に生じたという指示を提供するステップとを含む。
【００１２】
本発明を適切に理解するためには，添付の図面を参照することが望ましい。これらの図面は本発明のいくつかの実施例を描いているに過ぎず，本発明の範囲を制限するものではない。
【図面の簡単な説明】
【００１３】
【図１Ａ】ハッカーによる攻撃のよくある初期段階を示す図である。
【図１Ｂ】ハッカーによる攻撃の第２段階を示す図である。
【図１Ｃ】ハッカーによる攻撃の第４段階を示す図である。
【図２】本発明の実施例による，侵入，異常及び方針違反を検出するシステムを示す図である。
【図３】外向きの星を示す図である。
【図４】本発明の実施例による，網上の異常な振舞を検出する方法を示すフローチャートである。
【図５Ａ】本発明の実施例による，名前辺だけを用いて生成された道を示す道の図である。
【図５Ｂ】本発明の実施例による，ＩＰ辺だけを用いて生成された道を示す道の図である。
【図５Ｃ】本発明の実施例による，３個の名前辺から始まり，ＩＰ辺で終わる道を示す道の図である。
【図５Ｄ】本発明の実施例による，交番する名前辺及びＩＰ辺を有する道を示す道の図である。
【図６】本発明の実施例による，ＵＨＣＡを用いて異常に属するデータを収集する方法のフローチャートである。
【発明を実施するための形態】
【００１４】
本発明のいくつかの実施例は網を介して道を検査し，道は互いに接続している一連の相互接続計算システムである。グラフにおいて，「ノード」は計算システムを表し，「辺」は二つの計算システムの間の一連のコネクションを表す。経時的な道の検査によって，いくつかの実施例において通過任務（ｔｒａｖｅｒｓａｌ ｍｉｓｓｉｏｎ）を実行する異常行為者（ａｎｏｍａｌｏｕｓ ａｃｔｏｒ）がうまく検出できることが分かった。一般に，網内の辺ごとに確率モデルが作成される。考慮下の時間の所与の窓において推定されたパラメータに対して，モデルの過去のパラメータに統計的検定が行われる。利用者が規定する警報率に従って調整された過去のパラメータからの一定のしきい値による逸脱が，異常な道を示すことがある。
【００１５】
いくつかの実施例は，ｋ縦続道（ｋ−ｐａｔｈｓ）において一緒に結合された辺集合における異常な行動を検出する。ｋ縦続道は，第１辺の終点（ｄｅｓｔｉｎａｔｉｏｎ）が第２辺の始点（ｓｏｕｒｃｅ）であり，第２辺の終点が第３辺の始点であり，等々のような，道内の辺の数がｋ個であるグラフ内の一連の有向辺であってよい。各辺にデータが関係付けられている。このデータは，いくつかの実施例においては，単位時間当たりの，計算機網上のホスト間のコネクションの個数であってよい。（ある固定数ｋに関して）すべてのｋ縦続道を列挙し，時間のスライド窓を用いてデータを検査してもよい。道ごとに確立モデルを構築し，異常さのレベルを判定するために，時間窓内で過去のパラメータを現在の推定パラメータと比較してもよい。
【００１６】
計算機網における異常を特定することは，一般に困難かつ複雑な問題である。異常はしばしば，網の非常に局所的な範囲で生じる。基礎となる（ｕｎｄｅｒｌｙｉｎｇ）グラフ構造があるため，この設定において局所性は複雑なことがある。局所的異常を特定するために，経時的にグラフの辺から抽出したデータに探査統計量を用いてもよい。グラフ内の局所性を捕捉するために，二つの形状，すなわち，星状及び上述のｋ縦続道が特に有利である。探査窓として道を使用することは新規である。これらの形状は双方とも，現実の網攻撃において観察されたハッカーの振舞に動機付けられている。
【００１７】
局所的異常を特定するために，スライド時間窓の集合を用いて全グラフにわたって，これらの形状を列挙してもよい。異常を捕捉するために，各窓における局所統計量を過去の振舞と比較してもよい。これらの局所統計量はモデルベースであってよく，例示探査手続を示すことを支援するために，例として，網フローデータによって動機付けられた本発明のいくつかの実施例によって用いられた二つのモデルをここで説明する。大規模網のデータ速度は一般にオンライン検出が迅速である必要がある。したがって，実時間の分析速度を達成することが異常検出システムに望まれる。
【００１８】
攻撃者が一旦網内に入ると，攻撃者の検出は一般に，国及び多くの機関にとって，サイバセキュリティにおいて高優先度の事項である。攻撃者全員を網の中に入れないことは，不可能ではないが非常に困難である。網攻撃のうち，網内の通過は非常にありふれたものであり，攻撃者が達成を望む多くの大規模任務，特に攻撃者が国民国家を代表して仕事をしている任務については核心的要求条件である。本発明のいくつかの実施例は，通過を検出することを約束し，システム運用者が利用可能な調整可能偽陽性パラメータを有する。さらに，いくつかの実施例は実時間で実行されるように設計され，攻撃が発生したとき，迅速な検出を提供する。本発明のいくつかの実施例の別の核心部分は科学捜査ツールの集合であり，それらは分析者が攻撃者の通過を完全に発見し，危険にさらされたホストを特定できるようにする。
【００１９】
本発明のいくつかの実施例は，異常な道の検出に加えて，網トラヒックの前兆であるＤＮＳ要求を観測し，これらの要求から後続の網トラヒックを推測する。そして，この推測されたトラヒックは，網の偵察，網状況認知及び本発明のいくつかの実施例に関して説明した部分グラフ検出ツールを含む，網異常／変化検出ツールのための高信頼データ源として用いることができる。多くの機関においては，１又は２ヶ所の集約点がすべてのＤＮＳ要求を処理している。その結果，データ供給は一般に，ルータ又は網傍受集約機構のようなほかのありふれた網集約機構から得られるデータよりも小さく，捕捉することが容易である。さらに，各ルータを傍受することの代替物は禁止的に高価であり，ルータの傍受は一般に過密ベースの標本化の影響を受けるため，ＤＮＳは一般にコネクションレベルのトラヒックをより完全に処理する。ルータ又は傍受によって見ることができない下位網内のトラヒックでさえ，多くの場合ＤＮＳ要求から推測することができる。ハッカーが下位網内に留まることは一般に珍しいことではないため，このことは異常検出の点で重要であり得る。
【００２０】
明確化のために，本発明のいくつかの実施例が検出できるハッカーによる攻撃の異常シナリオを説明する。図１Ａはハッカーによる攻撃のありふれた初期段階１００を示している。ハッカーは，悪意のあるソフトウェアを用いて網上の機械１０２を危険にさらすことによって，初期攻撃を達成することができる。危険にさらされた機械１０２は，通過経路に接続されていない補助機械１０４に接続されている。これらの機械は必ずしも無故障（ｃｌｅａｎ）ではないが，この例においては後続の通過には用いられない。網を最初に危険にさらす一つの方法はフィッシング攻撃と呼ばれ，悪意のあるウェブサイトへのリンクを含む電子メールが網上の利用者集合に送信される。利用者がリンクをクリックすると，利用者の計算システムが危険にさらされ，利用者の計算システムへのある形態のアクセスを攻撃者に与える。
【００２１】
攻撃者は一般にどの計算システムが危険にさらされるかを指示することはできず，最終目標があったとしても，初期ホストは通常攻撃の最終目標ではない。その代わり，ハッカーは，価値のあるデータを探して取り出し，特権を拡大し，及び／又は後の利用及び／又は網事業者が行う防衛手段に直面したときの耐性のために，網内に広範な影響力（ｐｒｅｓｅｎｃｅ）を確立するように，ほかの計算システムへ移動することを望むかも知れない。したがって，攻撃者はこの初期ホストから，一つずつホップしながらほかのホストへ進むことができる。図１Ｂはハッカーによる攻撃の第２段階１１０を示している。ここで，第２計算システム１０２は危険にさらされており，危険にさらされた計算システム１０２は一つの辺１１２によって接続されている。図１Ｃはハッカーによる攻撃の第４段階１２０を示しており，四つの計算システム１０２が危険にさらされており，危険にさらされた計算システム１０２は道１２２によって接続されている。
【００２２】
攻撃者は網を通過しながら，通過する各辺に沿って通信の時系列において異常な行動を起こす。このことは，辺ごとに過去には正常であった通信レベルの上に追加の通信が一般に見られることを意味する。本発明のいくつかの実施例においては，ある時間間隔においてこれらの異常な辺の結合（ｕｎｉｏｎ）が検出され，これがシステム内への侵入を表す。
【００２３】
図２は，本発明の実施例による，侵入，異常及び方針違反を検出する計算システム又は「システム」２００を示している。システム２００はバス２０５又は情報を伝送するほかの通信機構と，バス２０５に結合され，情報を処理するプロセッサ２１０を含む。プロセッサ２１０は，中央処理ユニット（ＣＰＵ）又は特定用途集積回路（ＡＳＩＣ）を含む，任意の種類のはん用又は特定用途のプロセッサであってよい。プロセッサ２１０はまた複数の処理コアを有してもよく，コアの少なくともいくつかは特定機能を実行するように構成されてもよい。いくつかの実施例は対称マルチプロセシング（ＳＭＰ）と呼ばれる複数コア，単一機械方式を用いることができる。ほかの実施例は複数の機械を横断して実現され，各機械が複数のコアを有してもよい。この方式はメッセージパッシングインタフェース（ＭＰＩ）と呼ばれる。システム２００は，情報及びプロセッサ２１０が実行する命令を記憶するメモリ２１５を更に含む。メモリ２１５は，ランダムアクセスメモリ（ＲＡＭ），リードオンリメモリ（ＲＯＭ），フラッシュメモリ，キャシュ，磁気ディスク又は光ディスクのような静止記憶装置，又は任意のほかの種類の非一時的計算機可読媒体，の任意の組合せからなっていてもよい。さらに，システム２００は網への接続を提供する無線網インタフェースのような通信装置２２０を含む。
【００２４】
非一時的計算機可読媒体は，プロセッサ２１０が利用できる任意の入手可能な媒体であってよく，揮発性媒体及び非揮発性媒体の双方，着脱可能媒体及び非着脱可能媒体，及び通信媒体を含んでもよい。通信媒体は，計算機可読命令，データ構造体，プログラムモジュール又は搬送波若しくはほかの転送機構のような変調データ信号内のほかのデータを含んでもよく，任意の情報配信媒体を含む。
【００２５】
プロセッサ２１０は，バス２０５を介して，液晶ディスプレイ（ＬＣＤ）のような利用者に情報を表示する表示装置２２５に更に結合されている。利用者がシステム２００と対話できるように，キーボード２３０及び計算機マウスのようなカーソル制御装置２３５がバス２０５に更に結合される。
【００２６】
一つの実施例においては，メモリ２１５はプロセッサ２１０が実行したとき機能を提供するソフトウェアモジュールを記憶する。このモジュールはシステム２００のオペレーティングシステム２４０を含む。モジュールは，侵入，異常及び方針違反を検出するように構成された検出モジュール２４５を更に含む。システム２００は，追加機能を含む１又は複数の追加機能モジュール２５０を含んでもよい。
【００２７】
当業者であれば，「システム」はパーソナル計算機，サーバ，コンソール，パーソナルデジタルアシスタント（ＰＤＡ），携帯電話機，任意のほかの適切な計算装置，又は装置の組合せとして実現できることを理解するであろう。上述の機能が「システム」によって実行されると述べたことは，本発明の範囲をいかようにも制限するものではなく，本発明の多くの実施例の一例を提供するものである。実際，ここに開示した方法，システム及び装置は，計算技術と矛盾しない局所化形態及び分散形態で実現することができる。
【００２８】
本明細書において説明したシステムの特徴のうちいくつかは，その実現の独立性を更にとりわけ強調するために，モジュールとして表されていることに注意されたい。例えば，モジュールは，特注の超大規模集積回路（ＶＬＳＩ），又はゲートアレイ，論理チップ，トランジスタ，若しくは個別部品のような市販の半導体で実現してもよい。モジュールはまた，フィールドプログラム可能ゲートアレイ，プログラム可能アレイ論理，プログラム可能論理デバイス，グラヒック処理ユニット，等のようなプログラム可能ハードウェア装置で実現してもよい。
【００２９】
モジュールはまた，少なくとも部分的に，種々の種類のプロセッサによって実行されるソフトウェアで実現してもよい。特定された実行可能コードの単位は，例えば，計算機命令の１又は複数の物理ブロック又は論理ブロックを有してもよく，計算機命令は例えば，オブジェクト，手続又は関数として整理される。それでもなお，特定されたモジュールの実行可能コードは物理的に一緒に配置する必要はなく，別々の場所に記憶された異種の命令であって，論理的に一緒に結合されたときモジュールを為し，上述のモジュールの目的を達成するものであってもよい。さらに，モジュールは，例えば，ハードウェアディスクドライブ，フラッシュデバイス，ＲＡＭ，テープ，又はデータを記憶するために用いられる任意のほかの媒体であってよい。
【００３０】
実際，実行可能コードのモジュールは単一命令であってもよいし，多くの命令であってもよく，いくつかのメモリデバイスにまたがる別個のプログラムのうちいくつかの異なるコードセグメントに分散されていてもよい。類似して，運用データはここではモジュール内で特定され，示されており，任意の適切な形態で実現され，任意の適切な種類のデータ構造体内に整理されてもよい。運用データは一つのデータセットとして集約されていてもよいし，別個の記憶装置を含む，別個の位置に分散されてもよいし，少なくとも部分的にはシステム上又は網上の単なる電子信号として存在してもよい。
【００３１】
ハッカーが網に入ったとき，道及び星の異常が観察される。星の異常は，ハッカーが危険にさらされた計算システムを用いてアクセスできるほかの計算システムに接続し，危険にさらされたホストから発散する複数の辺に異常を生成する。
【００３２】
道の異常はより巧妙な攻撃を示すことがあり，その攻撃は道内の各ホストから次への一連の通過である。芋虫異常（ｃａｔｅｒｐｉｌｌａｒ ａｎｏｍａｌｙ）は星及び道の混合である。この方式は実時間で計算機網を監視するように設計され，企業レベル（２０，０００以上の個別インターネットプロトコル（ＩＰ）アドレス）での計算機網データに適用されるどの方式も高速である必要がある。また，非常に局所的な異常を特定するために，システムは一般に多くの小さな窓を同時に監視する必要がある。本発明のいくつかの実施例は，企業規模の網における多数の局所的オブジェクトを実時間で検査することができる。
【００３３】
外積空間内の窓
【００３４】
時間×グラフ積空間内の窓を検査することは有用である。これらの窓集合は，ノード集合Ｖ及び辺集合Ｅを含むグラフＧ＝（Ｖ，Ｅ）が存在するように定義してもよい。辺ｅ∈Ｅごとに，離散時点ｔ∈｛１，・・・，Ｔ｝において，データプロセスＸｅ（ｔ）がある。離散化された時間間隔（ｓ，ｓ＋１，・・・，ｋ）において，辺ｅ上の時間窓集合はΩ＝｛［ｅ，（ｓ，ｓ＋１，・・・，ｋ）］：ｅ∈Ｅ，０≦ｓ≦ｋ≦Ｔ｝と表わすことができる。窓のすべての部分集合の集合，Γ＝｛｛ｗ１，ｗ２，・・・｝：ｗｊ∈Ω｝は通常非常に大きく，時間及びグラフ空間において局所性制約を含む部分集合
【数１】
2015514356.tif 000003
だけが一般に重要である。したがって，一般に注意は窓の集合γ∈Γｘに制約される。Γｘは通常問題依存である。便宜上，Ｘ（γ）はγで与えられる窓におけるデータとして表される。
【００３５】
任意の時点ｔ及び辺ｅについて，Ｘｅ（ｔ）はθｅ（ｔ）で与えられるパラメータ関数を有する確立過程と説明できると仮定してもよい。パラメータ関数の値は，対応する窓γの集合において，θ（γ）によって評価できる。最後に，確立過程の尤度はγについてＬ（θ（γ）｜Ｘ（γ））として表すことができる。
【００３６】
時間×グラフ空間における窓の探査統計量
【００３７】
窓内のデータが，パラメータが変化したことを示す代替物に対して，既知のパラメータ関数
【数２】
2015514356.tif 000004
によって生成されたか否かを知ることは有益である。すなわち，Ｘ（γ）＝ｘ（γ）が観測されたとすると，全パラメータ空間Θを部分集合
【数３】
2015514356.tif 000005
に制限することによって形成できる代替物に対して，
【数４】
2015514356.tif 000006
を検定することは有益である。一般化尤度比検定（ＧＬＲＴ）統計量は利用できるもっともな統計量である。ここで，
【数５】
2015514356.tif 000007
とする。
【００３８】
λγのサイズは窓内で検定されたパラメータの数に依存し，直接使用することは困難である。この問題を解決するために，λγをｐ値ｐγに変換することによってλγを正規化できる。
【００３９】
（時間×グラフ）積空間における異常を探査するために，一般にすべての窓γの上をスライドし，探査統計量φ＝ｍｉｎγｐγを記録する必要がある。実際には，一般に最小のｐ値以上が考慮されるように，一般にｐ値の集合にしきい値処理を行う必要がある。オンライン監視には，偽発見率を制御するためにｐ値に対してしきい値を設定することができる。しきい値が高ければ高いほど，特定される異常が多くなるが，偽陽性も同様に多くなる。一般には，監視ソフトウェアを実行させる分析者が圧倒されないように設定することが望ましい。一般に，検出が発生したとき，窓の集合（唯一つではない）がしきい値を超えており，これらの窓の結合がシステムによって生成された検出された異常である。
【００４０】
局所形状：星及び有向ｋ縦続道
【００４１】
上述の方式は，バッチ（回顧的）処理又はオンライン（予期的）処理に用いることができる。しかし，グラフは本質的に一般に組合せ的（ｃｏｍｂｉｎａｔｏｒｉａｌ）である。ｎ個のノードを有する完全連結グラフについては，部分グラフの数は２ｎ（ｎ−１）である。実際の応用，特にオンライン環境においては，このような多数の部分グラフについては，グラフ窓の制限された集合を用いることが有利である。窓は，特定の異常の形状を特定するために適切なように作成される。
【００４２】
有向ｋ縦続道
【００４３】
一つのよくある侵入の例は，計算機網におけるハッカーの通過によるものであり，オンライン監視用の特定の種類の部分グラフ，すなわち有向ｋ縦続道が特に有利である。有向ｋ縦続道は直径ｋを有するサイズｋの部分グラフである。ここで，サイズとはグラフ内の辺の数であり，直径とはノードの任意の対の間の最大ホップ距離である。これは略式には，ｋ縦続道は一連の辺であり，一連のうち現在の辺の終点ノードが一連の次の辺の開始ノードである，等々であることを意味する。
【００４４】
攻撃は網を通る道によって説明されるため，核心の道の辺りに“ｆｕｚｚ”という追加の辺を加えることによって，ｋ縦続道は多くの網攻撃の核心を捕捉するという利点を有する。この攻撃形状は実際の攻撃において観測された。さらに，ｋ縦続道は非常に局所的であり，小さな以上の検出を可能にする。
【００４５】
いくつかの実施例においては，３縦続道（３−ｐａｔｈｓ）が用いられる。３縦続道は局所性という利点を有し，同時に重大な通過を捕捉するために十分大きい。網グラフ内のすべての３縦続道を探査するために，最初に道が列挙される。多くのグラフにとって，これはささいではない。ｎノードの完全連結グラフにおいて閉道（ｃｙｃｌｅ）及び逆辺（ｂａｃｋ ｅｄｇｅ）を除去すると，ｎ（ｎ−１）（ｎ−２）（ｎ−３）個の３縦続道がある。
【００４６】
実際には，網グラフは一般に多くは連結されていない。しかし，３０秒の時間窓において，窓内の非零活動を有する辺だけを含めて，例示実施例においては，約１７，０００のノード，９０，０００の辺及び３億の３縦続道を含むグラフが得られる。ｎ（ｎ−１）（ｎ−２）（ｎ−３）個の潜在的な３縦続道の全集合を実効的に探査しても，現在の時間窓において活動がない辺を含むどの道についても異常測定値は一般に計算できない。ハッカーは辺を通過するために，通常少なくとも一つの通信を行う必要があるため，辺に活動がないことは，その辺には通過がなかったことを示し，したがって，その辺を含む道は（注目する時間窓においては）異常とは考えられない。
【００４７】
３縦続道は多数あるため，近実時間応答能力を維持するために道を迅速に列挙できることが重要である。ｋ縦続道列挙するアルゴリズムを以下に示す。メッセージパッシングインタフェース（ＭＰＩ）ベースのクラスタへ，ループごとのＥＮＵＭＥＲＡＴＥ内の辺を分配することによって，並列処理が可能になる。次に，各ＭＰＩノードは，当該辺から始めてすべての道を辺リストから再帰的に計算する。この例において，辺Ａは長さ２のリストであり，Ａ［１］は始点ノードであり，Ａ［２］は終点ノードである。
function ENUMERATE（E, K): 
// E = グラフを表す辺のリスト
// K = 列挙する道の整数長
for each edge A in E: // Ａはグラフ内のある辺
list P[l] = A // Ａが道内の最初の辺になる
RECURSE(E, P, 1, K) // 追加の辺を再帰的に付加する
function RECURS E(E, P, L, K):
// E = グラフを表す辺のリスト
// P = 道を表す辺のリスト
// L = Ｐの整数長
// K = 列挙する道の整数長
edge A = P[L] // Ａは道内の最後の辺
for each edge B in E: // Ｂはグラフ内のある辺
if A[2] = B[1] then:
P[L+1] = B // Ｂが道内の最後の辺になる
if L+1 == K: 
EMIT(P) // ｋ縦続道が見付かった
else: 
RECURSE(E, P, L+l, K) // 追加の辺を再帰的に付加
【００４８】
このアルゴリズムはほとんどメモリを使用せず，容易に並列化できる。いくつかの実時間シミュレーションにおいては，およそ３億の道からなる３０分の窓を，４８コアのはん用機械を用いて，窓当たり５秒未満で列挙し検定することができた。これによって，モデルに複雑性を追加し，実時間データストリームを維持しながら，現在分析している既にかなり大きいグラフよりも大きいグラフを扱う余地が生じる。
【００４９】
星
【００５０】
図３の外向きの星（ｏｕｔ−ｓｔａｒ）３００に示すように，星は通信網を監視するための別の興味深い形状である。星は始点が所与の中央ノードである辺の集合と定義される。図３において，中央ノード３０２は有向辺によって外側のノード３０４に連結されている。これらの形状は，特に高出次数のノードに関しては，非常に局所化されている訳ではないが，依然として星形の異常をかなり良く捉える。道は星状窓よりもより微細な異常を記述する能力を有するが，星状窓は一般に大きな星状異常については道より優れている。
【００５１】
時間間隔
【００５２】
時間構成要素はグラフ窓内の辺ごとに同一の時間間隔を含む。これは，形状内の辺ごとに同一の時間窓で生じる異常を検出することができる。順次時間窓又は望遠時間窓のようなより精巧な選択肢を用いて，セキュアシェル（ＳＳＨ）のような特定のプロトコルを提供してもよい。
【００５３】
辺データ
【００５４】
一般に，形状γの分解（ｒｅｓｏｌｕｔｉｏｎ）よりも辺の分解でデータをモデル化する方が有利である。推定，仮説検証，ｐ値計算及びしきい値処理を含む，経時的な辺のデータの分布によって動機付けられた二つのモデルを説明する。
【００５５】
ＩＰアドレスはノードを規定し，ＩＰアドレス間の通信は，グラフ内のこれらのノード間の有向辺の存在を規定する。網内の辺には膨大な多様性があり，ある特性が，発信元機械に人間の行為者が居ることを表してもよい。
【００５６】
計算機網データにおいて，切替え過程を観測することがよくある。直感的に言えば，多くの辺については，この切替えは網上に人間が居ることによって生じる。利用者がある機械に居るとき，利用者は当該機械から発する辺上に非零カウントを生じさせる。しかし，多くの瞬間に，利用者が居たとしても，利用者はあるほかの機械と通信しているかも知れないし，網を全く使用していないかも知れないため，利用者がこの辺に非零カウントを生じさせないことがある。利用者がそこに居ないとき，この辺で０を観測することだけがわかっている。この在／不在が，純粋な０カウント発出とより高い活動性カウント発出との切替え過程を誘起する。直感的に言えば，夜よりも真昼の方がカウントが高いが，モデルの単純性のために，いくつかの実施例においては，均一（ｈｏｍｏｇｅｎｅｏｕｓ）モデルを用いてもよい。
【００５７】
道内の辺の独立性
【００５８】
異常形状を探査するため，一般に，正常条件下の窓内のデータの振舞を記述するモデルを持つことが必要である。列挙された部分グラフの数はノードの数に対して指数的に変化する傾向があり，形状内の辺の独立性を仮定すると，合理的なメモリ要求条件下で，回線速度でグラフを処理するために必要な計算を調整することが容易になる。これは一般に，辺の独立性が辺ごとのモデル（及び辺パラメータの記憶）を必要とするに過ぎないのに対して，非独立性は，何十億ではないにしろ，数億ある形状ごとのモデルを必要とするためである。独立性を仮定して，道のＧＬＲＴは次の式で表される。
【数６】
2015514356.tif 000008
【００５９】
ここで，λｅは窓γ内の各辺のＧＬＲＴ評点を表す。
【００６０】
観測されたマルコフモデル（ＯＭＭ）
【００６１】
ここで説明する二つのモデルのうち第１の最も簡単なものは２状態ＯＭＭであり，Ｂｔで表される。時間ビンに非零カウントがあったときは，Ｂｔ＝１，そうでないときはＢｔ＝０である。このモデルは二つのパラメータｐ０１＝Ｐ（Ｂｔ＝０｜Ｂｔ＝１）を有する。その尤度は次の式で表される。
【数７】
2015514356.tif 000009
【００６２】
ここでｎｉｊは，連続する対（ｂｉ，ｂｊ）がデータ内で観測された回数である。初期状態は固定かつ既知であると仮定してもよい。このモデルはバースト性を捕捉するが，非零カウントの分布は無視し，また，０が高状態（ｈｉｇｈ ｓｔａｔｅ）で生じることを許さない。ＯＭＭの最尤推定は次の式で与えられる。
【数８】
2015514356.tif 000010
【００６３】
隠れマルコフモデル（ＨＭＭ）
【００６４】
ＨＭＭは上述のＯＭＭの問題を解決する。いくつかの実施例においては，２状態ＨＭＭが，低状態及び高状態における負の２項発出密度に関してゼロの縮退分布と共に用いられる。２項分布密度はポワソン分布の等分散（ｅｑｕｉｄｉｓｐｅｒｓｉｏｎ）の影響を受けず，網カウントにおける異常を監視するために，それらを用いる正当な理由がある。ほかのモデルは一般にゼロを発出するために高状態を許可しないが，このモデルは許可する。例えば，ゼロカウントはｏｎ-ｚｅｒｏデータで分散されるが，依然として明確に「活性」状態の一部であってよい。直感的に言えば，活性状態は一般に，「利用者がこの辺で通信している」ではなく，「利用者が機械のところに居る」，したがって，通信を行う可能性が高いと考えられる。
【００６５】
観察されたカウントＯｔは「隠れた」２状態ＨＭＭ Ｑｔに従う。遷移パラメータは，ｐ０１＝Ｐ（Ｑｔ＝１｜Ｑｔ-１＝０）及びｐ１０＝Ｐ（Ｑｔ=0｜Ｑｔ-１＝１）で与えられる。発出密度は各状態において，ｂ０（Ｏｔ）＝Ｐ（Ｏｔ｜Ｑｔ＝０）＝ＩＱｔ＝０）及びｂ１（Ｏｔ）＝Ｐ（Ｏｔ｜μ，ｓ，Ｑｔ＝１）＝ＮＢ（Ｏｔ｜μ，ｓ）としてパラメータ化され，ここでＩ（・）は指示関数，ＮＢ（・｜μ，ｓ）は平均値μ，大きさｓの負２項分布密度関数である。尤度は次の式で表される。
【数９】
2015514356.tif 000011
【００６６】
ＨＭＭ最尤推定値は閉形式を有しないため，推定最大化（ＥＭ）方式を用いてもよい。Ｔ個の離散時点の集合において，カウントｘ＝［ｘ１，・・・，ｘＴ］’，ここで，ｔ＝１，・・・，Ｔに対してｘｔ∈｛０，１，・・・｝を観測する。このモデルにおいて，カウントは，二つの分布のうち一つから到来し，Ｚ＝［Ｚ１，・・・，ＺＴ］’，すなわち２状態マルコフ過程とみなされる。ｐ０１＝Ｐｒ（Ｚｎ＝１｜Ｚｎ-１＝０）及びｐ１０＝Ｐｒ（Ｚｎ＝０｜Ｚｎ-１＝１）とすると，潜在遷移行列は次のように表される。
【数１０】
2015514356.tif 000012
【００６７】
初期状態分布はπ＝Ｐｒ（Ｚ１＝１）と表される。
【００６８】
Ｚｔ＝０のとき，時刻ｔにおけるカウントの周辺分布は０に縮退する。すなわち，
【数１１】
2015514356.tif 000013
【００６９】
ここでＩ（・）は指示関数である。Ｚｔ＝１のとき，カウントは，φ＝［μ，ｓ］’で与えられる平均値及びサイズのパラメータを有する次の負２項分布に従って分布すると推定される。
【数１２】
2015514356.tif 000014
【００７０】
有用なことは，潜在変数及び観測変数双方の同時確率分布は別個のパラメータ種別に分離されるため，計算に便利な方法で分解できることである。
【数１３】
2015514356.tif 000015
【００７１】
ここで，θ＝（π，Ａ，φ）’である。最後に，尤度は次のようになる。
【数１４】
2015514356.tif 000016
【００７２】
プール化及び推定
【００７３】
実際上，網内の多くの辺は非常にまばらなことがあり，したがって，高状態カウントを観測する機会は多くないことがある。推定を行うため，辺はμｅ，すなわち，所定の日数にわたって平均化された１日当たり非零カウントの平均数に従ってプール化してもよい。いくつかの実施例においては，二つの種類の辺を定義してもよい。
【００７４】
辺種別Ｉ（μｅ≧１）は，個々のモデルを推定するために十分なデータが存在するこれらの辺からなる。いくつかのモデルの試行（ｒｕｎ）において，この数はある網について辺の約４５％であったが，割合は変わり得る。これらの辺のパラメータとして，最尤推定値（ＭＬＥ）を用いてもよい。
【００７５】
辺種別ＩＩ（μｅ＜１）は，非常にまばらなデータにまたがって情報を「借りる」ために，共通パラメータ集合を共有する残りの辺（ある網における辺の約５５％）を含む。次に，辺
【数１５】
2015514356.tif 000017
の集合を，
【数１６】
2015514356.tif 000018
が辺種別ＩＩにおける所定数の最大のμｅ値の中にあるように抽出される。いくつかの実施例においては，この数は例えば１，０００であってよい。これらの辺それぞれのパラメータが推定され，これらのパラメータベクトルの平均が取られる。辺種別ＩＩの共通辺モデルはこの平均ベクトルによってパラメータ化される。例えば最大の１，０００個のμｅ値を取ることは，モデルが低カウント辺に過度に敏感にならないことを確実にする助けとなる。
【００７６】
代替仮説
【００７７】
ＧＬＲＴを得るために，一般に検出するハッカーの振舞の種類を反映する代替物を考慮するためにパラメータ空間全体を制限する必要がある。これらの代替物は，種々の振舞を捉えるために意図的に汎用的に保たれることがある。ハッカーの振舞がモデルを管理するパラメータのＭＬＥを増加させることを前提としている。これは，ハッカーは辺上の正常な振舞に加えて行動しなければならないことによる。特に，ＯＭＭを参照すると，ハッカーの振舞は不活性状態から活性状態に遷移する確率
【数１７】
2015514356.tif 000019
【００７８】
ＨＭＭ設定においてはより多くの選択肢が利用可能である。いくつかの実施例においては，パラメータ変更の三つの組合せが検定された。
【数１８】
2015514356.tif 000020
各場合において，帰無仮説はパラメータ又は二つのパラメータの対が過去のＭＬＥ値に等しい。
【００７９】
ｐ値の計算及びしきい値の決定
【００８０】
観測されたＧＬＲＴ統計量λγのｐ値を求める。穏やかな正則条件下で、ＧＬＲＴはΘ内の自由パラメータの数に等しい自由度で漸近的にχ２分布となる。しかし，これは真のパラメータがΘの境界にないときには適用されない。真のパラメータが境界にあるときは，λγの分布におけるゼロの点質量が得られる。
【００８１】
星のｐ値
【００８２】
星は一般に二つの形状の簡易形である。グラフ内の星の数はノードの数であり，したがって，ノードνごとに，ＧＬＲＴ
【数１９】
2015514356.tif 000021
の分布は，νの周りの星によって形成される。Ａνがλνの分布を有するとする。すると，ＡνはＡν＝ＢνＸνでモデル化することができ，ここでＢν〜ベルヌーイ分布（ｐν），Ｘν〜ガンマ分布（τνην）である。すべてのλｅの合計はゼロであるから，Ａνはゼロの点質量を有する。これはＢνによって捕捉できる。Ａνの分布の正部分をモデル化するためには，ガンマ分布が魅力的である。何となれば，ガンマ分布はτν＝ν／２，ην＝２のとき，自由度νのχ２分布に等しいからである。λνの漸近分布は，独立なゼロ過剰（ｚｅｒｏ ｉｎｆｌａｔｅｄ）χ２分布の確率変数の合計である。したがって，ゼロ過剰ガンマ分布はλνの分布をかなり良くモデル化できることが期待される。Ｎ個の独立な，同一に分布した標本の対数尤度は次の式で表される。
【数２０】
2015514356.tif 000022
【００８３】
τν及びηνを推定するために，直接数値最適化を用いてもよい。例えば，これは，検定されたいくつかの実施例において，ノードνを中心とする星ごとに重複しない３０分の窓で１０日に渡って実行することができる。ＭＬＥは
【数２１】
2015514356.tif 000023
と表わすことができる。観測されたλνに対して，上部ｐ値は
【数２２】
2015514356.tif 000024
によって計算され，ここでＦΓは，ガンマ累積分布関数（ＣＤＦ）である。
【００８４】
道のｐ値
【００８５】
星と異なり，多数の道は，道ごとにλγをモデル化することが多くのシステムには，計算時間及びメモリ双方の要求条件の点で禁止的に高価である。その代わり，個別の辺ごとにモデルを構築して，道の尤度計算の際に辺のモデル結合をしてもよい。辺ｅごとに，Λｅがｅ，λｅに対してＧＬＲＴ評点の空分布を有すると仮定する。ここでも，ゼロ過剰ガンマ分布を辺のモデル化に用いてもよい。しかしここでは，辺ごとベースに限定される。λｅの空分布は漸近的にゼロ過剰χ２分布（一つのパラメータを検定したとき，ゼロにおいて５０％質量を有する）ことによって，このモデルが動機付けられることを再度強調しておく。
【００８６】
Λｅ＝ＢｅＸｅと仮定する。ここで，Ｂｅ〜ベルヌーイ分布（ｐｅ），Ｘｅ〜ガンマ分布（τｅ，η），τｅは辺特定形状，ηは共有尺度である。すなわち，辺ごとに二つの自由パラメータｐｅ 及びτｅがあり，すべての辺に共通尺度パラメータηがある。ＭＬＥ ｐｅ，τｅ及び
【数２３】
2015514356.tif 000025
は，非重複の３０分の窓からλｅｓを用いて推定してもよい。尤度は上述の星に関して説明したものと類似するが，各辺は独自のτｅ及び共有尺度ηを有するため，すべての辺についてηを推定し，次に決定されたηについて個別のτｅを推定するステップを交互に行う反復方式が開発された。反復の各ステップが尤度を増加させるため，手続全体が尤度を増加させる。
【００８７】
辺のモデルが決定されると，道のｐ値を計算することができる。
【数２４】
2015514356.tif 000026
を仮定する。３縦続道超過（ｅｘｃｅｅｄａｎｃｅ）のｐ値は，次の式で与えられる混合超過である。
【数２５】
2015514356.tif 000027
【００８８】
ここで，共通尺度パラメータを有するガンマ分布確率変数の合計は，またガンマ分布であることを利用している。
【００８９】
しきい値の決定
【００９０】
しきい値を決定する一つの方法は，異常が発生していない辺ごとにある期間の分当たりカウントをシミュレートすることである。例えば，これを１０日間実行してもよい。１０分だけずれた３０分の窓を１０日に渡ってスライドさせ，完全探査手続の際に行うように，各窓において最小のｐ値を計算する。１日当たり１回の警報のようなある偽発見率を達成するために，例えばｐ値の結果リストにおける１０番目に小さなｐ値を取ってもよい。窓は重複しているため，単一のｐ値と同一の道について，連続した窓から得られる最小のｐ値をカウントすることによってより控えめではないように選択し，非連続窓に関係する１０番目に小さい最小ｐ値を発見するようにしてもよい。このようにして，いくつかの重複窓に渡る警報がしきい値の決定に対して一つの警報を与えるだけになり，これが一般に分析者が一連の連続する警報を見る方法である。
【００９１】
本発明のいくつかの実施例は，基礎となるグラフ構造の辺に経時的に規定されたデータを用いて，異常行動を検出することに向けられている。攻撃は非常に局所的であることがあるため，本発明のいくつかの実施例では時間×グラフ積空間において，局所的に窓を適用する。この局所的な窓におけるデータに用いられた過去のモデルは，過去の振舞に従って予期されるように振る舞う。ｋ縦続道は網を通る通過を検出するために特に効果的である。
【００９２】
図４は，本発明の実施例による，網上の異常な振舞を検出する方法を示している。いくつかの実施例においては，図４の方法は，例えば図２の計算システム２００によって少なくとも部分的に実行することができる。正常な活動レベルを決定するために，ステップ４１０において網の過去のパラメータが決定される。過去のパラメータは，例えば種々の期間における辺上の連結数を含んでもよい。いくつかの実施例においては，過去のパラメータは，二つの辺種別，すなわち要素辺が個別モデルを推定するために十分なデータを有している第１種別，及び要素辺の個別モデルを推定するために十分なデータがない第２種別を考慮して設定してもよい。ある実施例においては，モデルが低カウントの辺に過度に敏感でないことを確かめるために，平均ベクトルによって第２種別の辺がパラメータ化される。
【００９３】
網内の複数の道は，ステップ４２０において，網を表すグラフの一部として列挙される。各計算システムはグラフ内のノードであってよく，二つの計算システム間の一連のコネクションは，グラフ内の有向辺であってよい。異常な振舞を検出するために，ステップ４３０において，スライド窓ベースで統計モデルがグラフに適用される。いくつかの実施例においては，観測マルコフモデル（ＯＭＭ）が用いられる。別の実施例においては，隠れマルコフモデル（ＨＭＭ）が用いられる。いくつかの実施例においては，ＯＭＭ又はＨＭＭは２状態モデルであってよい（例えば，「オン」が利用者の存在を示し，「オフ」が利用者の不在を示す）。しかし，いくつかの実施例の方法は必ずしもモデルの選択に依存しない。換言すれば，種々の実施例においては種々の統計モデルを用いてもよい。ステップ４４０において，検出された異常な振舞に属するデータが利用者に表示される。
【００９４】
統一ホスト集約エージェント（ＵＨＣＡ）
【００９５】
アンチウィルスソフトウェア及びファイアウォールのようなセキュリティアプリケーションを動作させることによって，ホストを保護するホストエージェントを用いてもよい。ホストエージェントは一般に，異常検出のためにホストからサーバへデータをアップロードする統一ホスト集約エージェント（ＵＨＣＡ）を用いる。しかし，本発明のいくつかの実施例は，ホストからほかの機械への網接続，その接続に関係するプロセス，そのプロセスに関係する実行可能ファイル，等を含むデータを提供するためにＵＨＣＡを用いる。
【００９６】
便宜のため，ホストから直接データを得る代わりに，２次サーバ源からデータが収集される。いくつかの実施例は，新規イベントを生成するためにこの観測情報を考慮に入れる。サーバはホストに対して片方向通信を有してもよく，それによってサーバは多数のホストエージェントからメッセージを受信する。いくつかの実施例における双方向通信の欠如は効率を増加させる。
【００９７】
多くの実施例において，効果的運用に完全なデータ収集は必要ないため，いくつかの実施例は利用者データグラムプロトコル(ＵＤＰ)を用いる。これらの実施例は，できるだけ多くの情報を捕捉してもよいが，いくつかを取り損ねても，異常検出は一般に依然として効果的に機能する。この「損失のある」（ｌｏｓｓｙ）収集方式は，パケット配信がＴＣＰによって実装された方法では保証されないため，通信が片方向であることを可能にする。このことはまた，ＴＣＰベースの方式よりも多いデータ量を許可する。
【００９８】
いくつかの実施例においては，ＵＤＰストリームは暗号化され，それによって網データが保護される。処理が重要な問題であり，データ管理は大規模システムにおいては困難である。それでもなお，いくつかの実施例は強力な暗号化を提供し，プライバシを保証することができる。いくつかの実施例は，損失のある性質によって，セキュリティに必要な追加処理を提供することを支援する。
【００９９】
いくつかの実施例はＵＤＰを使用しつつ，パケットのシーケンス番号を用いてパケット損失を検出することができる。媒体接続制御（ＭＡＣ）アドレス及びシーケンス番号を用いて，機械ごとベースでパケットを追跡することができる。この情報はまた，異常検出と独立に用いてもよい。例えば，この情報は所与のホスト上のデータを監視するための科学捜査に用いることができる。例えば，特定のホストがマルウェアを有するか否かを判定するために，実行可能ファイルのチェックサムをリストに置いてもよい。
【０１００】
ほとんどのデータ集約基盤設備（ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）の弱点は，網内の内部ノード間の可視性が限られることである。攻撃者の検出を改善するために，端点可視性を強化することが望ましい。包括的端点可視性は一般に，網ホストレベルでソフトウェアを展開することを必要とする。すべての網スイッチが，下位網レベルでの網フローデータを集約することができる訳ではない。同様に，ＤＮＳデータ可視性は通常，キャッシュの影響を受け，目的のホストにコネクションを設定するとき，敵がＩＰアドレスではなくホスト名を用いることを要求する。
【０１０１】
端点可視性を改善するために，いくつかの実施例は，Ｗｉｎｄｏｗｓ（登録商標），Ｍａｃ ＯＳ（登録商標），Ｌｉｎｕｘ（登録商標），Ａｎｄｒｏｉｄ（登録商標）のような種々のオペレーティングシステム上で動作するクロスプラットホームソフトウェアエージェント（以降，「エージェント」と呼ぶ）を用いる。ＵＨＣＡはいくつかの実施例においてＰｙｔｈｏｎで書かれ，種々の目的オペレーティングシステムに適応し，拡大することを容易にしている。しかし，任意の所望のプログラム言語又はアセンブリコードを用いてもよい。エージェントの主な目的はデータ集約であり，エージェントはホストオペレーティングシステムに最小の影響を与えるように設計することができる。試験によって，エージェントのいくつかの実施例は単一ＣＰＵコアの２〜８％しか使用しないことを示した。エージェントはシステム状態及びイベントを収集し，ＪＳＯＮ符号化ログ（ＪＥＬ）と呼ばれるJavaScript（登録商標） Object Notation（ＪＳＯＮ）レコードとして符号化してもよい。いくつかの実施例においては，すべてのＪＥＬが，生成時刻スタンプ，エージェントＩＤ（例えばＭＡＣアドレス），エージェントのＩＰアドレス，オペレーティングシステムの種別及びレコード種別（例えば，網接続状態）を含む。
【０１０２】
ＪＥＬは暗号化されたＵＤＰパケットによって１又は複数の中央集約サーバに比較的頻繁な間隔（例えば１〜５分）で転送してもよい。いくつかの実施例においては，エージェント設定ファイルに複数のサーバを指定してもよく，システムが横に拡大縮小することを可能にする。エージェントの集約能力は，開始プロセスイメージのチェックサムを含むプロセス終了開始情報，網接続イベントログ，実行されているプロセスと設定されている網接続との対応付け，及び現在の網接続状態を含んでもよい。
【０１０３】
網ポーリング状態
【０１０４】
異常な道を検出するために，いくつかの実施例はホスト間の網通信を示す値の三つ組（時間，送信元ＩＰアドレス，あて先ＩＰアドレス）のリストを取得する。このような実施例をＵＨＣＡデータを活用するために拡張するために，エージェントは一般に，目的のプラットホームのすべてに渡る統一ホスト網通信情報を報告することが望ましい。Ｌｉｎｕｘ（登録商標）においては，このデータを生成するためにｐｒｏｃｆｓ（特に，/proc/tcp及び/proc/udp）を用いてもよい。ＯＳ  Ｘ（登録商標）及びＡｎｄｒｏｉｄ（登録商標）による実現ではnetstatの実行出力をパースしてもよいが，最適な方法ではない。Ｗｉｎｄｏｗｓ（登録商標）のエージェントは，Python ctype Windows（登録商標） IP helperモジュールのGetExtendedTcpTableメソッド（ctypes.windll.iphlpapi.GetExtendedTcpTable）を用いてもよく，これはprocfs及びnetstatと類似の網状態情報を提供する。
【０１０５】
いくつかの実施例においては，データは１秒又は任意のほかの所望の期間ごとにポーリングされる。当然に，ポーリングが頻繁なほどより多くのデータが分析に利用でき，捕捉される可能性が高い接続種別は短くなる。１秒ごとにポーリングすることの欠点は，短命な（すなわち，秒以下）接続は通常エージェントが見過ごすことである。これは多くの検出技法の課題であり得るが，いくつかの実施例の焦点は，網の通過を対話的に検出できることである。自動化された通過でさえ，目的ノードで状態を維持するために，通常は１秒以上の分析（ｒｅｓｏｌｕｔｉｏｎ）を必要とする。
【０１０６】
短命な接続を見失う問題に対処するために，ＴＣＰ時間待機状態（ｔｉｍｅ ｗａｉｔ ｓｔａｔｅ）を用いることが有利である。クライアントがＴＣＰ上でサーバと通信するとき，サーバはＴＣＰ接続の状態を維持する。通信が終了したとき，サーバは一般に，一定の期間，普通３０秒かそれ以上のＴＩＭＥ＿ＷＡＩＴ状態に接続情報を維持しなければならない。この長い時間窓は，エージェントが，別のやり方では見失ったであろう，秒以下の網通信に関する情報を捕捉できるようにする。後処理において，試験によって対応する設定された接続エントリを有していなかった時間待機状態のエントリがあるか否かが分かる。このような接続はいずれも短命接続として報告してもよい。
【０１０７】
いくつかの実施例は三つ組のリストを必要とするだけであるが，ＵＨＣＡは，網接続についての出来る限りの詳細を，ほかのアプリケーションに提供するために集約サーバに返送してもよい。データは，例えば，少量の試験データのためのスクリプト，又はより大きなジョブのためのＭａｐＲｅｄｕｃｅを用いて三つ組に後処理される。網接続におけるほかの分野において，ＪＥＬは，送信元及びあて先ポート，接続状態（確立，聴取，時間待機，等），接続と関係するプロセスＩＤ，１分の時間窓内又は任意のほかの所望の時間窓で接続が活性であった秒数を含んでもよい。いくつかの実施例は，異常検出のために，ポート情報を活用して個別の通信をより良く区別し，カウント情報を用いて，平均及び分散のような統計量をカウントから収集することによって辺の重みを設定してもよい。
【０１０８】
試験において，ＵＨＣＡを組み込んだいくつかの実施例は，ＵＨＣＡ無しのいくつかの実施例の辺検出率の約２倍を示した。例えば，合計３０個の辺を有する一つの試験において，ＵＨＣＡ無しの実施例は３０個の辺のうち１４（４６．７％）を検出し，一方ＵＨＣＡ有りの実施例は３０個の辺のうち２７個（９０％）を検出した。道は１５個の名称辺及び１５個のＩＰ辺からなっていた。この場合，ＵＨＣＡ無しの実施例は最大理論検出率５０％であり，ＵＨＣＡ有りの実施例は最大理論検出率１００％である。
【０１０９】
図５Ａ〜５Ｄの下部は，この実験において生成された５個の試験道のうち４個の部分道（ｓｕｂｐａｔｈ）を示す。一貫性のために，各道の最初の４個の辺を表示しているが，いくつかの道はより多くの辺を含む。辺が省略されているすべての場合において，この方法は示された最後の辺を検出すると，引き続いて残りの辺を検出する。方法が最後の辺を検出することに失敗すると，残りのすべての辺を見逃し続ける。
【０１１０】
図５Ａ〜Ｄにおいて，ノード（すなわち，網ホスト）は丸印で描かれ，辺（すなわち，網通信）は，あて先ノードを指す菱型の短点を有する線（名称辺），又は矢型端点を有する線（ＩＰ辺）のいずれかで描かれる。ＤＮＳ及びＵＨＣＡのラベルが付けられた棒は，各方法の検出長を示すために用いられる。棒が長いほど長く検出された道を示す。短い棒又は棒がないときは，道内の辺を検出することに失敗したことを強調する。
【０１１１】
図５Ａは，本発明の実施例による名称辺だけを用いて生成された道を示す道の図５００である。道は６個の辺を有する道（６縦続道）の検出結果を示し，すべての辺はホスト名参照によって生成された。予想通り，この道は非ＵＨＣＡ ＤＮＳ道検出方式（以降，「ＤＮＳ方式」という）によって成功裏に検出された。驚くべきことに，ＵＨＣＡ方式は道の最初の２辺を見逃したが，ＵＨＣＡ方式はその後の道を拾い上げ，残りの４辺を検出した。
【０１１２】
データを詳細に分析した後，道内（２番目のホップ）に関わる一つのホストが機関のサーバとして機能し，定常的に多数の新規コネクションを生成していると判定された。いくつかの実施例においては，新規な辺の振舞がモデル化されているため，ソフトウェアはこのサーバが新規の辺を生成すると予想した。したがって，このサーバを通る道通過（ｐａｔｈ ｔｒａｖｅｒｓｅ）は異常度が低く，警報しきい値を超えなかったと認定された。これは面白い結果であり，すべての新規の辺（すなわち，すべて新規の辺からなる道）を単に異常と判定することに対して，いくつかの実施例のモデルの使用を正当化するものである。このようなモデル無しでは，このサーバを通るすべての道が警報を生じさせ，偽警報率を増加させる。
【０１１３】
図５Ｂは，本発明の実施例による，ＩＰ辺だけを用いて生成された道を示す道の図５１０である。この道はすべてＩＰ辺で生成された７縦続道である。この実験は正確に予期したとおりに振る舞った。ＵＨＣＡ方式はすべての辺を検出し，ＤＮＳ方式はどの辺も検出しなかった。この種の網通過で生成されるＤＮＳ活動はないため，ＤＮＳ方式ではこの種の道を全く検出することはできない。
【０１１４】
図５Ｃは，本発明の実施例による，３個の名称辺で始まり，ＩＰ辺で終わる道を表す道の図５２０である。この道は６縦続道であり，最初の３個の辺は名称辺で生成され，最後の３個の辺はＩＰ辺で生成された。ＤＮＳ方式は予想どおり最初の３個の辺は検出できたが，ＩＰ辺を検出することはできなかった。ＵＨＣＡ方式は予想どおり，道全体を検出できた。
【０１１５】
この未知の別の変形も同様に試験したが，簡潔にするため結果は示していない。この５縦続道においては，道は２個のＩＰ辺で始まり，３個の名称辺が続く。ＵＨＣＡ方式は道全体を検出したが，ＤＮＳ方式は名称辺に切り替わった後の道だけを検出した。
【０１１６】
図５Ｄは，本発明の実施例による，名称辺とＩＰ辺とを交番させた道を示す道の図５３０である。この道は６縦続道であい，辺は名称辺とＩＰ辺とを交番する。予想ではこの道はＤＮＳ方式では検出不能であり，ＵＨＣＡによって全体が検出されると考えられた。実際には，ＵＨＣＡ方式は道全体を検出し，ＤＮＳ方式は道の最初の辺を検出できた。データを分析すると，この辺はＤＮＳ方式で発見された無関係の３縦続道の一部であることが分かった。この辺は，この試験用の道に選択された辺に偶然関係したものであった。
【０１１７】
これらの初期結果は，ＵＨＣＡ方式が攻撃者の検出を改善することにつながるという仮説を検証できたという点で勇気づけられるものである。この結果はまた，ＤＮＳ方式が予想検出率に近い性能であることを検証した。
【０１１８】
異常性に基づくデータの収集
【０１１９】
各ホスト上のすべての利用可能なデータは，特に大きな網ではデータ量が膨大であるため，いつでも収集できる訳ではない。その代わり，ここで説明する異常検出方法によって決定された，当該ホスト上の異常性レベルに比例して収集してもよい。異常性のレベルが低いときは，基本網接続性（例えば，ＤＮＳ参照）及びプロセス情報を収集してもよい。中レベルでは，より完全な網振舞データ（例えば，NetFlowデータ）と共に，より多くのプロセス報告（ｐｒｏｃｅｓｓ ａｃｃｏｕｎｔｉｎｇ）及びサービスを収集してもよい。高レベルでは，プロセス報告，サービス，公開ファイル等を含む完全なホスト振舞情報を，網可視性用の完全なパケット捕捉と共に収集してもよい。いくつかの場合，網の局所的な範囲でだけこれを行ってもよく，異常検出によって駆動される。これは，これらのホストについてより高い品質の検出能力を提供するが，同時に，異常に応答する分析者に高品質の科学捜査情報も提供する。
【０１２０】
いくつかの実施例においては，ここで説明した道通過方法によって異常レベルを決定してもよい。ノードを通る道通過は，各ノードで収集された現在データによればほんのわずかな異常と認定されることがある。しかし，この道内のノードが中レベルの異常性で振る舞っているときは，道内の各ホストにおいてより包括的なデータを収集してもよい。より良い忠実性を提供するために，このデータをアルゴリズムに反映させてもよく，それによってアルゴリズムはこの道についてより高品質な決定を行うことができる（例えば，より低い偽陽性率及びより高い真陽性率）。この新たな，より高忠実度のデータが異常と認定され続けるときは，ホストにおいて全パケットの捕捉及びプロセス報告を有効にしてもよく，それによって，セキュリティ応答要員が使用するための高品質異常検出データ及び全科学捜査データを提供することができる。
【０１２１】
図６は，本発明の実施例による，異常に属するデータを収集するためにＵＨＣＡを利用する方法のフローチャート６００である。いくつかの実施例において，図６の方法は，例えば図２の計算システム２００によって少なくとも部分的に実行してもよい。方法は，ステップ６１０において，データを求めて複数のホストエージェントを周期的にポーリングすることから始まる。ステップ６２０において，データは網内の対応するホストによって送受信される網通信に属する複数のホストエージェントから収集される。いくつかの実施例においては，収集されたデータをＵＤＰを介してホストエージェントから片方向通信で送信してもよい。ホストごとに収集されたデータは，開始プロセスイメージのチェックサム，網接続イベントログ，実行プロセスと設定された網接続との対応付け，現在の網接続状態を含むプロセス停止開始情報を含んでもよい。収集されたデータは，ホスト間の網通信を示す三つ組の値のリストを含んでもよく，各三つ組は通信が発生した時刻，送信元ＩＰアドレス，あて先ＩＰアドレスを含んでもよい。
【０１２２】
いくつかの実施例においては，データは，対応するホストの異常性レベルに比例して収集してもよい。低レベルの異常性では，基本確率的方式からの派生と考えられるとおり，基本網接続性及びプロセス情報を集約してもよい。中レベルの異常性では，より多くのプロセス報告及びサービス，並びにより完全な網振舞データを収集してもよい。高レベルの異常性では，完全なホスト振舞情報を収集し，完全なパケット捕捉を行ってもよい。
【０１２３】
ステップ６３０において，所定の期間内の異常振舞を検出するために，収集したデータを分析する。ステップ６４０において短期間接続を検出するためにＴＣＰ待機状態が用いられ，ステップ６５０において，カウント情報を用いてカウント加重値が設定される。異常振舞が検出されたときは，ステップ６６０において，所定の期間に異常振舞が生じたという指示が提供される。
【０１２４】
図４及び６において実行される方法ステップは，少なくとも，本発明の実施例による，図４及び６に説明される方法を実行するために，非線形適応型プロセッサ用の命令を符号化した計算機プログラム製品によって実行してもよい。計算機プログラム製品は計算機可読媒体で実現してもよい。計算機可読媒体は，限定するものではないが，ハードディスクドライブ，フラッシュ素子，ランダムアクセスメモリ，テープ，又はデータを記憶するために用いられる任意のほかのそのような媒体であってよい。計算機プログラム製品は，図４及び６で説明した方法を実現するように非線形適応型プロセッサを制御する符号化された命令を含んでもよく，それらはまた計算機可読媒体に記憶させることもできる。
【０１２５】
計算機プログラム製品はハードウェア，ソフトウェア又は混成実装で実現できる。計算機プログラム製品は，互いに通信するように動作し，情報又は命令を表示装置に渡すように設計されたモジュールからなってもよい。計算機プログラム製品は，はん用計算機又は特定用途集積回路（ＡＳＩＣ）で動作するように構成してもよい。
【０１２６】
本願の図面において概略説明及び図示した，本発明の種々の実施例の構成要素は，広範な別の構成で配置及び設計してもよいことは容易に理解されるであろう。したがって，添付の図面に表した，本発明の実施例に詳細な説明は請求した発明の範囲を限定するものではなく，本発明の選択された実施例を代表するものに過ぎない。
【０１２７】
本明細書を通じて説明した本発明の特徴，構造及び特性は，１又は複数の実施例において任意の適切な方法で組み合わせてもよい。例えば，本明細書を通じて，「ある実施例」，「いくつかの実施例において」又は類似の表現への言及は，実施例に関係して説明した特定の特徴，構造又は特性が本発明の少なくとも一つの実施例に含まれることを意味する。したがって，本明細書を通じて，「ある実施例において」，「いくつかの実施例において」，「別の実施例において」又は類似の表現の句の出現は，必ずしもすべてが同一グループの実施例を指すものではなく，１又は複数の実施例においては，説明された特徴，構造又は特性を任意の適切な方法で組み合わせてもよい。
【０１２８】
本明細書を通じて，特徴，利点，又は類似の表現への言及は，本発明で実現できる特徴及び利点のすべてが，本発明の任意の一つの実施例にあることを暗示しないことに注意されたい。反対に，特徴及び利点に言及する表現は，実施例に関係して説明された特定の特徴，利点又は特性が，本発明の少なくとも一つの実施例に含まれることを意味すると理解されたい。したがって，本明細書を通じて，特徴及び利点並びに類似の表現の説明は必ずしも同一の実施例を指すものではない。
【０１２９】
さらに，１又は複数の実施例においては，本発明の説明された特徴，利点及び特性を任意の適切な方法で組み合わせてもよい。当業者であれば，本発明を特定の実施例の特定の特徴又は利点のうち１又は複数を省いて実施してもよいことを理解するであろう。本発明のすべての実施例にある訳ではないほかの例，追加の特徴及び利点は，ある実施例において認識されることがある。
【０１３０】
当業者であれば，上述の発明は，開示されたものと異なる順序のステップ及び／又は異なる構成の要素で実現してもよいことを容易に理解するであろう。したがって，本発明は好適な実施例に基づいて説明されたが，当業者には，本発明の思想及び範囲内に留まる一定の修正物，変形物及び代替構成が存在することは明白であろう。したがって，本発明の境界及び範囲を決定するためには本願の請求項を参照することが望ましい。
【図１Ａ】
2015514356.tif 000028
【図１Ｂ】
2015514356.tif 000029
【図１Ｃ】
2015514356.tif 000030
【図２】
2015514356.tif 000031
【図３】
2015514356.tif 000032
【図４】
2015514356.tif 000033
【図５Ａ】
2015514356.tif 000034
【図５Ｂ】
2015514356.tif 000035
【図５Ｃ】
2015514356.tif 000036
【図５Ｄ】
2015514356.tif 000037
【図６】
2015514356.tif 000038
【国際調査報告】
2015514356.tif 000039