(57)【要約】  ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法が記載される。ノードに適応型閾値を設定する、記載される１つの方法は、ノードに関連するデータストリームを監視して、ノードの特徴を明らかにすること、ノードに影響することができる環境要因を監視すること、および特徴または環境要因のうちの少なくとも一方に基づいて適応型閾値を決定すること、を含む。ネットワークトラフィックに関連するリスクを動的に評価する、記載される別の方法は、ノードに向けられた通信を識別すること、通信に関連するリスクレベルを判断すること、およびリスクレベルを適応型閾値と比較すること、を含む。
2009504104.tif 000002
【特許請求の範囲】
【請求項１】
ノードに適応型閾値を設定する方法であって、
前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするステップ、
前記ノードに影響することができる環境要因を監視するステップ、および
前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するステップ、
を含む方法。
【請求項２】
前記特徴は、オペレーティングシステム、アプリケーション、またはサービスのうちの１つを含む、請求項１に記載の方法。
【請求項３】
前記環境要因は、インターネット規模脅威レベル、前記ノードに対する過去の攻撃、または時刻のうちの１つを含む、請求項１に記載の方法。
【請求項４】
前記ノードに向けられた通信を識別するステップ、
前記通信に関連するリスクレベルを判断するステップ、
前記リスクレベルを前記適応型閾値と比較するステップ、および
前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するステップ、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記通信はイベントを含む、請求項４に記載の方法。
【請求項６】
前記比較に基づいて前記通信に応答するステップは、前記イベントのログを記録するステップ、前記イベントを終了させるステップ、前記イベントを無害化するステップ、または前記通信の発信元をブラックリストに入れるステップのうちの１つを含む、請求項５に記載の方法。
【請求項７】
前記通信はネットワーク環境における攻撃を含み、前記比較に基づいて前記通信に応答するステップは、前記攻撃のログを記録するステップ、接続を終了させるステップ、または前記攻撃の発信元に関連する識別子をブラックリストに入れるステップのうちの１つを含む、請求項６に記載の方法。
【請求項８】
前記通信は電子メールを含み、前記比較に基づいて前記通信に応答するステップは、悪意のある電子メールのログを記録するステップ、前記悪意のある電子メールの送信を阻止するステップ、前記電子メールを無害化するステップ、または前記電子メールの発信元をブラックリストに入れるステップのうちの１つを含む、請求項６に記載の方法。
【請求項９】
前記リスクレベルを判断することは、基本閾値決定要因を判断することを含む、請求項４に記載の方法。
【請求項１０】
前記基本閾値決定要因はオペレーティングシステムリスク要因を含む、請求項９に記載の方法。
【請求項１１】
前記リスクレベルを判断するステップは、複合閾値決定要因を判断するステップを含む、請求項４に記載の方法。
【請求項１２】
前記リスクレベルを判断するステップは、管理閾値決定要因を判断するステップを含む、請求項４に記載の方法。
【請求項１３】
前記リスクレベルを前記適応型閾値と比較する前に、閾値変更子で前記リスクレベルを乗算するステップをさらに含む、請求項４に記載の方法。
【請求項１４】
前記特徴はノードで実行されているサービス数を含む、請求項１に記載の方法。
【請求項１５】
前記特徴は、オペレーティングシステム、サービス、またはアプリケーションに関連するそれまでのリスク指標を含む、請求項１に記載の方法。
【請求項１６】
静的閾値を決定するステップ、および
前記静的閾値に基づいて前記適応型閾値を変更するステップ、
をさらに含む、請求項１に記載の方法。
【請求項１７】
前記適応型閾値を決定するステップは、総合リスクレベル指標を決定するステップを含む、請求項１に記載の方法。
【請求項１８】
ネットワークトラフィックに関連するリスクを動的に評価する方法であって、
ノードに向けられた通信を識別するステップ、
前記通信に関連するリスクレベルを判断するステップ、および
前記リスクレベルを適応型閾値と比較するステップ、
を含む方法。
【請求項１９】
前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するステップをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記通信に関連するネットワークパケットの発信元を判断するステップをさらに含む、請求項１８に記載の方法。
【請求項２１】
第１の特徴はシーケンス番号を含む、請求項２１に記載の方法。
【請求項２２】
前記第１の特徴は、発信元識別子、発信元ポート、宛先識別子、および宛先ポートのうちの少なくとも１つを含む、請求項２１に記載の方法。
【請求項２３】
前記ノードに適応型閾値を設定するステップをさらに含む、請求項１８に記載の方法。
【請求項２４】
前記ノードに前記適応型閾値を設定するステップは、
前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするステップ、
前記ノードに影響することができる環境要因を監視するステップ、および
前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するステップ、
を含む、請求項２３に記載の方法。
【請求項２５】
前記特徴は、オペレーティングシステム、アプリケーション、またはサービスのうちの１つを含む、請求項２４に記載の方法。
【請求項２６】
前記環境要因は、インターネット規模脅威レベル、前記ノードに対する過去の攻撃、または時刻のうちの１つを含む、請求項２４に記載の方法。
【請求項２７】
ノードに適応型閾値を設定することをコンピュータプロセッサで実行するように適合されるプログラムコードを含むコンピュータ可読媒体であって、
前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするプログラムコードと、
前記ノードに影響することができる環境要因を監視するプログラムコードと、
前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するプログラムコードと、
を含むコンピュータ可読媒体。
【請求項２８】
前記ノードに向けられた通信を識別するプログラムコードと、
前記通信に関連するリスクレベルを判断するプログラムコードと、
前記リスクレベルを前記適応型閾値と比較するプログラムコードと、
前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するプログラムコードと、
をさらに含む、請求項２７に記載のコンピュータ可読媒体。
【請求項２９】
前記比較に基づいて前記通信に応答するプログラムコードは、イベントのログを記録するプログラムコード、前記イベントを終了させるプログラムコード、前記イベントを無害化するプログラムコード、または前記通信の発信元をブラックリストに入れるプログラムコードのうちの１つを含む、請求項２８に記載のコンピュータ可読媒体。
【請求項３０】
前記通信はネットワーク環境における攻撃を含み、前記比較に基づいて前記通信に応答するプログラムコードは、前記攻撃のログを記録するプログラムコード、接続を終了させるプログラムコード、または前記攻撃の発信元に関連する識別子をブラックリストに入れるプログラムコードのうちの１つを含む、請求項２９に記載のコンピュータ可読媒体。
【請求項３１】
前記通信は電子メールを含み、前記比較に基づいて前記通信に応答するプログラムコードは、悪意のある電子メールのログを記録するプログラムコード、前記悪意のある電子メールの送信を阻止するプログラムコード、前記電子メールを無害化するプログラムコード、または前記電子メールの発信元をブラックリストに入れるプログラムコードのうちの１つを含む、請求項２９に記載のコンピュータ可読媒体。
【請求項３２】
前記リスクレベルを判断するプログラムコードは、基本閾値決定要因を判断するプログラムコードを含む、請求項２８に記載のコンピュータ可読媒体。
【請求項３３】
前記リスクレベルを判断するプログラムコードは、複合閾値決定要因を判断するプログラムコードを含む、請求項２８に記載のコンピュータ可読媒体。
【請求項３４】
前記リスクレベルを判断するプログラムコードは、管理閾値決定要因を判断するプログラムコードを含む、請求項２８に記載のコンピュータ可読媒体。
【請求項３５】
前記リスクレベルを前記適応型閾値と比較する前に、閾値変更子で前記リスクレベルを乗算するプログラムコードをさらに含む、請求項２８に記載のコンピュータ可読媒体。
【請求項３６】
静的閾値を決定するプログラムコードと、
前記静的閾値に基づいて前記適応型閾値を変更するプログラムコードと、
をさらに含む、請求項２７に記載のコンピュータ可読媒体。
【請求項３７】
前記適応型閾値を決定するプログラムコードは、総合リスクレベル指標を決定するプログラムコードを含む、請求項２７に記載のコンピュータ可読媒体。
【請求項３８】
ネットワークトラフィックに関連するリスクを動的に評価することをコンピュータプロセッサで実行するように適合されるプログラムコードを含むコンピュータ可読媒体であって、
前記ノードに向けられた通信を識別するプログラムコードと、
前記通信に関連するリスクレベルを判断するプログラムコードと、
前記リスクレベルを前記適応型閾値と比較するプログラムコードと、
を含むコンピュータ可読媒体。
【請求項３９】
前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するプログラムコードをさらに含む、請求項３８に記載のコンピュータ可読媒体。
【請求項４０】
前記通信に関連するネットワークパケットの発信元を判断するプログラムコードをさらに含む、請求項３８に記載のコンピュータ可読媒体。
【請求項４１】
前記ノードに適応型閾値を設定するプログラムコードをさらに含む、請求項３８に記載のコンピュータ可読媒体。
【請求項４２】
前記ノードに前記適応型閾値を設定するプログラムコードは、
前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするプログラムコードと、
前記ノードに影響することができる環境要因を監視するプログラムコードと、
前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するプログラムコードと、
を含む、請求項４１に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークセキュリティ、コンピュータ通信、および情報セキュリティの分野に関する。
【０００２】
［関連出願の相互参照］
本出願は、２００５年８月３日に出願され、「Ｍｅｃｈａｎｉｓｍｓ  ｆｏｒ  Ｄｙｎａｍｉｃａｌｌｙ  Ｌｅａｒｎｉｎｇ  Ｎｅｔｗｏｒｋ  Ｅｎｖｉｒｏｎｍｅｎｔｓ  ｔｏ  Ａｃｈｉｅｖｅ  Ａｄａｐｔｉｖｅ  Ｓｅｃｕｒｉｔｙ（ネットワーク環境を動的に学習して適応型セキュリティを実現するメカニズム）」と表題がつけられた米国仮特許出願第６０／７０４，６７０号明細書の優先権を主張するものであり、その全体が参照により本明細書に援用される。
【背景技術】
【０００３】
ネットワーク管理者は、侵入検知システム（ＩＤＳ）およびファイアウォール等の種々のネットワークセキュリティ装置を利用している。しかし、従来のネットワークセキュリティ装置には種々の欠点がある。
【０００４】
例えば、通常、従来のネットワークセキュリティ装置は、事前にプログラムされた静的な規則に従ってのみ動作する。したがって、未知の攻撃への対応は制限されているか、または不可能である。この理由は、このような攻撃が事前にプログラムされた規則に表されている挙動を示さないためである。このような装置はユーザ側での構成も必要とし、ユーザは、装置を構成するために、情報セキュリティおよびネットワークについて適度な量の知識を有さなくてはならない。この前提は危険となるかもしれない。なぜなら、コンピュータ分野を専門としないユーザは、装置を構成するのに十分な量の知識を必ずしも有しているわけではないからである。これは結果としてネットワークセキュリティ装置を安全ではない様式で導入するおそれがあり、ユーザに安全であるとの誤った感覚を与えることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
侵入検知システム等の従来のネットワークセキュリティ装置は、大規模で複雑なネットワークで実施される場合にさらなる問題に直面する。このようなネットワークは多数の侵入を毎日受け得るため、人間による侵入検知システムの出力の解釈をますます難しくさせる。どのイベントが実際の侵入で、どれが誤検出であるのかを識別することは難しい。実際の侵入が識別されるときでは、侵害されたネットワーク上で何らかのダメージがすでに発生している可能性があるため、遅すぎることがある。ＩＤＳにより生成される大量のデータは記憶領域の問題も引き起こす。
【０００６】
さらに、従来のネットワークセキュリティ装置は、大きな再構成なしでは異なる環境に導入することができない。監査データの記憶に相当なデータ記憶空間も必要とし、かつその動作に通常のハードドライブを使用するように設計されており、これはネットワークセキュリティ装置の安定性および寿命に影響し得る。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法を提供する。本発明の一実施形態は、ノードに適応型閾値を設定する方法であって、ノードに関連するデータストリームを監視してノードの特徴を明らかにするステップ、ノードに影響することができる環境要因を監視するステップ、および特徴または環境要因のうちの少なくとも一方に基づいて適応型閾値を決定するステップを含む方法を含む。別の実施形態は、ネットワークトラフィックに関連するリスクを動的に評価する方法であって、ノードに向けられた通信を識別するステップ、その通信に関連するリスクレベルを判断するステップ、およびリスクレベルを適応型閾値と比較するステップを含む方法を含む。さらに別の実施形態は、このような方法を実施するプログラムコードを含むコンピュータ可読媒体を含む。
【０００８】
これら例示的な実施形態を、本発明を制限または定義するために述べるのではなく、本発明の理解を助けるための例を提供するために述べる。例示的な実施形態について、発明を実施するための最良の形態において考察し、本発明のさらなる説明をそこに提供する。本明細書を調べることにより、本発明の各種実施形態により提供される利点をさらに理解することができる。
【０００９】
本発明のこれらおよび他の特徴、態様、および利点が、以下の発明を実施するための最良の形態を、添付図面を参照して読んだときによりよく理解される。
【発明を実施するための最良の形態】
【００１０】
［序文］
本発明の実施形態は、ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法を含む。
【００１１】
本発明の一実施形態は、周囲環境で各種パラメータを動的に発見して応答システムに送る適応型学習システムを含む。これらシステムの組み合わせを使用して、ネットワークノードへのネットワークセキュリティの提供等の有益なタスクを行うことができる。本明細書では、組み合わせられたシステムを適応型セキュリティシステムと呼ぶことができる。
【００１２】
適応型セキュリティシステムは、ハードウェア機器として具現化することができる。ハードウェア機器は、学習システムおよび応答システムの両方のロジックを実施するファームウェアを含む。機器は、リファレンスデータベースおよび環境プロファイルを記憶する記憶領域を含む。
【００１３】
このような実施形態での応答システムは、以下のうちのいくつかまたはすべてを実行することができる。すなわち、データストリームの読み取り、データストリームの部分またはすべての解析および解析中のデータストリームの部分への数値の割り当て、意思決定プロセスに基づく数値の変更または除去、ならびに数値と１つまたは複数の数値閾値との比較である。応答システムは、数値が数値閾値を満たす、または数値閾値を超える場合に応答アクションを実行することもできる。
【００１４】
このような実施形態での学習システムは、内部保護されるノードに適正な閾値を決定することができる。学習システムは、データストリームを監視して、適応型セキュリティシステムが導入される環境についての情報を得る。これらデータストリームを各種パラメータについて解析し、それから各種パラメータを使用して妥当な閾値を保護されるノードに割り当てる。閾値決定プロセスはいくらか複雑になりうるが、一般に、学習システムは、ノードが特に脆弱であると判断した場合、そのノードにより低い閾値を割り当てる。これとは対照的に、学習システムは、ノードが攻撃に対して自己を守るより高い潜在性を有する（すなわち、脆弱性がより低い）と判断した場合、より高い閾値をそのノードに割り当てる。
【００１５】
閾値が低いことは、ノードがより重要であることも示しうる。したがって、低い閾値を有するノードに対して向けられた攻撃ほど、成功する可能性が低い。これは、その攻撃の脅威レベルが、仮にそのノードにより高い閾値が割り当てられていた場合よりもはやく保護ノードの閾値に達することになるためである。閾値レベルに達すると、このような実施形態での応答システムは、データストリームまたはその発信元からのあらゆるデータストリームまたはこれら両方を積極的にブロックする。
【００１６】
この序文は、本出願の概括的な主題を読み手に照会するために提供されている。本発明は決してこのような主題に制限されない。例示的な実施形態について以下に説明する。
【００１７】
［システム構造］
本発明に従い各種システムを構築することができる。このようなシステムは、インターネット等の各種ネットワークを介して通信するクライアント装置、サーバ装置、およびネットワーク機器を含み得る。ネットワークは、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、電話回線、または適したネットワークの組み合わせ等を含んでもよい。装置は、有線接続、無線接続、または光接続を通してネットワークに接続することができる。
【００１８】
［クライアント装置］
クライアント装置の例は、パーソナルコンピュータ、情報端末、個人情報端末、セルラ電話、携帯電話、スマートフォン、ページャ、デジタルタブレット、ラップトップコンピュータ、インターネット機器、および他のプロセッサベースの装置である。一般に、クライアント装置は、ネットワークに接続され、１つまたは複数のアプリケーションプログラムと対話する任意の適した種類のプロセッサベースのプラットフォームであってよい。
【００１９】
クライアント装置は、ランダムアクセスメモリまたは読み取り専用メモリ等のコンピュータ可読媒体に結合されるプロセッサを含むことができる。クライアント装置は、ブラウザまたはブラウザ対応アプリケーション（例えば、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）（登録商標）ウィンドウズ(登録商標)（Ｗｉｎｄｏｗｓ（登録商標））またはリナックス（Ｌｉｎｕｘ））等のアプリケーションをサポート可能な任意のオペレーティングシステムで動作することができる。例えば、クライアント装置は、マイクロソフトコーポレーション（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）のインターネットエクスプローラ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）（商標）、ネットスケープコミュニケーションコーポレーション（Ｎｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｃｏｒｐｏｒａｔｉｏｎ）のネットスケープナビゲータ（Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ）（商標）、モジラオーガナイゼーション（Ｍｏｚｉｌｌａ  Ｏｒｇａｎｉｚａｔｉｏｎ）のファイアフォックス（Ｆｉｒｅｆｏｘ）、アップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．）のサファリ（Ｓａｆａｒｉ）（商標）、オペラソフトウェア（Ｏｐｅｒａ  Ｓｏｆｔｗａｒｅ）のオペラ（Ｏｐｅｒａ）ウェブブラウザ、およびオープンソースコンカラー（Ｋｏｎｑｕｅｒｏｒ）ブラウザ等のブラウザアプリケーションプログラムを実行しているパーソナルコンピュータであることができる。
【００２０】
［サーバ装置／ネットワーク機器］
サーバ装置またはネットワーク機器もコンピュータ可読媒体に結合されるプロセッサを含む。メモリはアプリケーションを含む。サーバまたはネットワーク機器は、いくつかのソフトウェアプログラムおよび／またはハードウェア構成の組み合わせを含むことができる。以下の説明では、プロセスがプログラムコードにより実施されるものとして説明するが、専用プロセッサまたは専用プロセッサとプログラムコードの組み合わせとしても同様に実施することができる。
【００２１】
サーバ装置またはネットワーク機器はデータベースサーバを含むこともできる。データベースサーバは、データベースサーバが問い合わせに応答してデータを提供できるようにする、オラクル（Ｏｒａｃｌｅ）（登録商標）、ＳＱＬサーバ（ＳＱＬ  Ｓｅｒｖｅｒ）、またはＭｙＳＱＬ関係データストア管理システム等のデータベース管理システムを含む。
【００２２】
サーバ装置およびネットワーク機器は、コンピュータプロセッサのネットワークとして実施することができる。サーバ装置およびネットワーク機器の例は、サーバ、メインフレームコンピュータ、ネットワークコンピュータ、ルータ、スイッチ、ファイアウォールまたは他のプロセッサベースの装置、および同様の種類のシステムおよび装置である。これら装置が使用するプロセッサは、カリフォルニア州サンタクララ（Ｓａｎｔａ  Ｃｌａｒａ，Ｃａｌｉｆｏｒｎｉａ）に所在のインテルコーポレーション（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）およびイリノイ州ショームバーグ（Ｓｃｈａｕｍｂｕｒｇ，Ｉｌｌｉｎｏｉｓ）に所在のモトローラコーポレーション（Ｍｏｔｏｒｏｌａ  Ｃｏｒｐｏｒａｔｉｏｎ）等の任意の数のコンピュータプロセッサであることができる。
【００２３】
このようなプロセッサは、マイクロプロセッサ、ＡＳＩＣ、および状態機械を含むことができる。このようなプロセッサはコンピュータ可読媒体を含むか、またはコンピュータ可読媒体と通信してもよく、コンピュータ可読媒体は、プロセッサにより実行されるとプロセッサにアクションを実行されるプログラムコードまたは命令を記憶する。コンピュータ可読媒体の実施形態は、サーバ装置１０４のプロセッサ１１４等のプロセッサにコンピュータ可読命令を提供できる電子装置、光学装置、磁気装置、または他の記憶装置または伝送装置を含むがこれらに限定されない。適した媒体の他の例としては、フロッピー(登録商標)ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、磁気ディスク、メモリチップ、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、構成プロセッサ、光学媒体、磁気テープ媒体、またはコンピュータプロセッサが命令を読み取ることができる任意の他の適した媒体が挙げられるがこれらに限定されない。他の各種形態のコンピュータ可読媒体は、コンピュータにプログラムコードまたは命令を伝送または搬送してもよく、有無線両方のルータ、私設ネットワーク、公衆ネットワーク、または他の伝送装置もしくはチャネルを含む。命令は、例えば、Ｃ、Ｃ＋＋、Ｃ＃、ビジュアルベーシック、ジャバ（Ｊａｖａ(登録商標)）、パイソン（Ｐｙｔｈｏｎ）、パール（Ｐｅｒｌ）、およびジャバスクリプト（Ｊａｖａ(登録商標)Ｓｃｒｉｐｔ）を含む任意のコンピュータプログラミング言語からのプログラムコードを含むことができる。
【００２４】
本発明が、図示し、以下に説明する構造と異なる構造を有するシステムを含んでもよいことに留意されたい。
【００２５】
［適応型セキュリティシステム］
本発明の一実施形態は、周囲環境において各種パラメータを動的に発見して応答システムに送る適応型学習システムを含む。これらシステムの組み合わせを使用して、ネットワークセキュリティの提供等の有益なタスクを行うことができる。
【００２６】
表記上好都合のため、このような実施形態を学習システムと呼ぶ。学習システムから学習されたパラメータを受け取るシステムは応答システムとして知られている。両方のシステムの組み合わせが適応型セキュリティシステムとして知られている。
【００２７】
学習システムは、学習システムと通信可能な任意の応答システムと共に使用することができる。例えば、共通の通信プロトコルを介して通信してもよく、かつ／または共通のインタフェースを介して接続してもよい。
【００２８】
［応答システム］
本発明の一実施形態では、応答システムは、以下の５つのタスクを実行することができる任意のシステムであることができる。
データストリームの読み取り
データストリームの部分またはすべての解析および解析中のデータストリームの部分またはデータストリーム全体への数値の割り当て
意思決定プロセスに基づく数値の変更または数値の除去
数値と１組の数値閾値との比較
【００２９】
応答システムは、数値が、数値閾値を満たすか、または数値閾値を超えるポイントまで変化したときに応答アクションを実行することができる。
【００３０】
一実施形態では、応答システムは、セキュリティを通信媒体に提供する装置として導入される。このような実施形態では、応答システムは、外部データソースのまとまりと保護される内部ノードのまとまりとの間に導入される。外部データソースは、保護ノードのうちの１つまたは複数により受信される宛先を有するデータストリームを生成する。保護ノードは、データソースおよび保護ノードの両方が理解する任意の事前に規定された通信プロトコルに従ってデータストリームに応答することができる。保護ノードは、外部データソースとの接続を開始することもできる。このような実施形態での応答システムの役割は、内部ノードと外部データソースとの間でのデータストリームを監視して解析することである。データストリームの部分が疑わしいまたは悪意があると見なす場合、応答システムは、特定の時間期間（使用される方式に応じて不定であり得る）にわたりその送信相手からのそれ以上のデータのさらなる送信を積極的にブロックすることができる。
【００３１】
例えば、一実施形態では、外部データソースのまとまりをインターネットに接続されたコンピュータシステムを指すことができ、内部保護ノードのまとまりを組織の内部ネットワーク内のマシンを指すことができる。応答システムは、インターネットと内部ネットワークとの間のネットワークトラフィックの監視、解析、転送、またはブロックを行う能力を有するハードウェア機器として具現化することができる。
【００３２】
このような実施形態での外部データソースと内部保護ノードとの間のデータストリームは、ユニットまたはフラグメントで送信される。例えば、インターネットのコンテキストの中では、ネットワークトラフィック（データストリーム）はパケットで送信される。応答システムは、通常の挙動から逸脱する、疑いのある性質である異常を探してパケットを調べることによりデータストリームを解析する。各パケットは一意に識別可能である。同様に、特定のデータストリーム（基本的に一連の関連パケット）の発信元も識別可能である。応答システムは、パケットまたはデータストリームを疑わしいと見なした場合、そのパケットまたはデータストリームに関連する数値を増大させる。本明細書では、この数値を脅威レベルと呼ぶ。脅威レベルが特定の閾値に達すると、応答システムは、疑わしい発信元から発信されるか、または疑わしい性質を示すそれ以上のデータストリームまたはパケットをブロックする。
【００３３】
［学習システム］
本発明の一実施形態では、学習システムは内部保護ノードに適正な閾値を決定する。学習システムを、一体装置、すなわち適応型学習システムとして応答システムと併せて動作するものとして説明するが、学習システムは別個の独立したシステムとして実施してもよい。学習システムはデータストリームを監視して、適応型セキュリティシステムが導入される環境についての情報を得る。学習システムは、各種パラメータについてこれらデータストリームを解析し、各種パラメータを使用して適正な閾値を保護ノードに割り当てる。閾値決定プロセスはいくらか複雑であり得るが、一般に、学習システムは、ノードが特に脆弱であると判断した場合、そのノードにより低い閾値を割り当てる。これとは対照的に、学習システムは、ノードが攻撃に対して自己を守るより高い潜在性を有する（すなわち、脆弱性がより低い）と判断した場合、より高い閾値をそのノードに割り当てる。閾値が低いことは、そのノードが他のノードよりも重要であることも示しうる。したがって、そのようなノードにより低い閾値を設定することにより、その攻撃の脅威レベルが、仮にそのノードにより高い閾値が割り当てられていた場合よりもはやく保護ノードの閾値に達することになるため、そのノードへの攻撃が成功する可能性は低くなる。閾値を計算した後、次に、学習システムは、これら閾値を応答システムに提案する。脅威レベルが閾値に達すると、応答システムはデータストリーム、発信元、またはこれら両方を積極的にブロックする。
【００３４】
学習システムは、環境について学習して、妥当な閾値を保護ノードに割り当てる。これより、同様の番号が数枚の図の全体を通して同様の要素を示す図面を参照すると、図１は、本発明の一実施形態を実施する例示的な環境を示すブロック図である。図１は、本発明の一実施形態での学習システムおよび各種構成要素との対話を示すブロック図である。学習システム１０２は、１つまたは複数のリファレンスデータベース１０４から入力を得ることができる。
【００３５】
リファレンスデータベース１０４は、適応型セキュリティシステムが導入されるコンテキストに固有の知識ベースである。例えば、インターネットのコンテキストの中では、外部データソースと保護ノードとの間でのデータストリームの部分であるオペレーティングシステム、サービス、およびアプリケーションについて学習することが有益である。このようなコンテキストでのリファレンスデータベース１０４は、オペレーティングシステムをサービスおよびアプリケーションにマッピングすることができる。このようなリファレンスデータベースの一例を図９に示す。リファレンスデータベース１０４は他のコンテキストに適用することも可能である。例えば、適応型セキュリティシステムが、システムコール解析を実行するホストベースの侵入検知・応答システムとして実施される場合、リファレンスデータベース１０４は、特定のオペレーティングシステムのシステムコールを含むことができる。他の例として内部脅威管理システムが挙げられ、この場合、リファレンスデータベース１０４はアプリケーション、ファイルタイプ、および転送モードを含むことができ、このような実施形態での適応型セキュリティシステムが、機密情報を漏出させようとしている悪意のある内部者を追跡できるようにする。
【００３６】
図１に示す実施形態での環境プロファイル１０６は、学習システムが特定の環境でノードに適正な閾値を計算するのに役立つ１組のパラメータを定義する。例えば、適応型セキュリティシステムが大企業に導入される実施形態では、メールサーバおよびウェブサーバ等の重要なサーバに高い優先度が割り当てられる。それとは対照的に、通常、このようなサーバは家庭環境に存在しないため、家庭環境の環境プロファイル１０６は、ホームネットワークで使用されている実際のワークステーションに高い優先度を付与する。他の環境も思い描くことができ、例えば、ラップトップとインターネットとの間に導入された適応型セキュリティシステム装置を有する出張者の場合、ここでも優先順位は変わる。いくつかの実施形態では、事前に規定されない環境の場合、汎用環境プロファイル１０６を使用することができる。
【００３７】
図１に示す実施形態は、構成ファイル１０８も含む。構成ファイル１０８は、適応型セキュリティシステムのユーザが適応型セキュリティシステムの構成パラメータを指定できるようにする。
【００３８】
図示の学習システムは、リアルタイム入力１１０も受け取る。リアルタイム入力１１０は、学習システムの閾値計算に影響する動的リアルタイム入力を適応型セキュリティシステムに入力できるようにする。例えば、ワームがインターネットの大部分に広がっている場合、インターネットトラフィック監視組織がこのイベントを発見する。こういった組織は、このようなイベント中、そのワームの脅威レベルを上げる。こういった脅威レベルを、学習システム１０２へのリアルタイム入力１１０として利用することができる。次に、学習システム１０２は、リアルタイム入力１１０を使用してその閾値を計算する。例えば、ワームアクティビティが検知されている場合、インターネット脅威レベルは高であるため、ワームの攻撃が発生する可能性が非常に高いため、ノードの閾値が下げられる。いくらか静的であるリファレンスデータベース１０４および環境プロファイル１０６とは対照的に、リアルタイム入力１１０の性質は、その名称が示唆するようにリアルタイムである。
【００３９】
図１に示す実施形態では、学習システム１０２はデータストリーム１１２にアクセスすることもできる。学習システム１０２は、データストリーム１１２を解析し、リファレンスデータベース１０４、構成ファイル１０８、リアルタイム入力１１０、および環境プロファイル１０６からのパラメータを使用してノードの閾値を計算する。
【００４０】
図示の実施形態では、学習システム１０２は、周囲環境を学習している間、その結果を状態記憶装置１１４に定期的に記録することができる。この書き込みプロセスを「ダンプ状態」と呼ぶことができる。状態記憶装置１１４は、記憶コストを最小に維持しながら、適応型セキュリティシステムの環境内の一連の履歴イベントについての多くの情報を取り込もうとする。一実施形態では、最新の状態は、ネットワークについて学習された最新の情報の記録を含む。これを「ジャストインタイム状態更新」と呼ぶ。
【００４１】
［例示的な実施形態］
本発明の実施形態では、適応型セキュリティシステムはハードウェア機器として具現化することができる。ハードウェア機器には、学習システム１０２および応答システム１１６の両方のロジックを実施するファームウェアがロードされる。機器は、リファレンスデータベース１０４および環境プロファイル１０６を記憶するための記憶領域も含む。このような実施形態では、リファレンスデータベース１０４および環境プロファイル１０６をホストするこの記憶領域、ならびに学習システム１０２および応答システム１１６は、更新可能であるように書き込み可能である。
【００４２】
図７は、本発明の一実施形態によるハードウェア機器のブロック図である。図示の機器７００は、外部環境との通信に使用できる３つの入出力インタフェースを備える。図７では、これら入出力インタフェースのうちの２つ（ｉｎｔｆ１  ７０４およびｉｎｔｆ２  ７０６）が、対称（全二重）モードでデータストリームのルーティングに使用される。第３のインタフェースは、管理および処理に使用することができる（ｉｎｔｆ０  ７０２）。入出力インタフェースとの通信が不便であるか、または不可能である場合に追加の物理インタフェース７０８を使用することができる。例えば、適応型セキュリティシステムがリファレンスデータベースおよび環境プロファイルの更新を実現するための外部インターネットへのリンクを有していない場合、物理インタフェース７０８をそれらの更新に使用することができる。物理インタフェース７０８の一例はＵＳＢポートである。
【００４３】
図７に示す実施形態は３つの入出力インタフェース７０８を含むが、本発明の一実施形態による機器は、３つのインタフェースを必要としない。入出力インタフェースの数は、適応型セキュリティシステムが使用される用途および環境に依存する。しかし、一般に、本発明の一実施形態による機器は、データストリームにアクセスするために少なくとも１つの入出力インタフェースを備える。
【００４４】
図８は、本発明の代替の実施形態でのハードウェア機器としての適応型セキュリティシステムを示すブロック図である。図示の適応型セキュリティシステム８００は、１つのみの入出力インタフェース８０２を備える。図示の実施形態では、適応型セキュリティシステム８００は、入出力インタフェース８０２を介してデータストリームを読み取ることができる。新しい情報をデータストリームに注入することも可能である。図示の実施形態は物理インタフェース８０４も含む。
【００４５】
本発明により、他の実施形態を実施することも可能である。例えば、一実施形態は４つ以上の入出力インタフェースを有するハードウェア機器を含み、これは、要求のより厳しい用途に使用することができる。
【００４６】
ハードウェア機器の異なる変形を特定用途に向けてカスタマイズすることもできる。例えば、家庭またはＳＯＨＯ（「小規模オフィス／ホームオフィス」）市場では、低出力ハードウェア機器で十分でありうる。したがって、適応型セキュリティシステムは、データ記憶装置としてコンパクトフラッシュ(登録商標)を有する小規模ハードウェア機器として具現化することができる。しかし、企業環境の場合、より高出力のハードウェア機器が望ましいであろう。このような環境では、適応型セキュリティシステムハードウェア機器の適した変形は、大きなデータ記憶領域、追加のメモリ、およびより大きな処理能力を有するラックマウントサーバでありうる。
【００４７】
［動作プロファイル］
適応型セキュリティシステムの実施形態は、種々の構成で導入することができる。これら構成を動作プロファイル（「ＯＰ」）と呼ぶことができる。これら動作プロファイルは、適応型セキュリティシステムが環境をどのように学習するかに影響する。ＯＰの使用は、装置がユーザ側での構成が最小であるか、またはない状態で使用可能であるように、適応型セキュリティシステムを異なる環境にシームレスに統合できるようにすることに役立つ。データストリームを評価するに当たり、学習システムは、どのデータストリーム接続が外部データソースからのものであり、どれが内部保護ノードから開始されるものであるかを判断する。インターネットのコンテキストの中では、適応型セキュリティシステムは、遭遇したＩＰアドレスを調べ、どれがインターネット（外部ＩＰアドレス）からのものであり、どれが内部ネットワークに属するものかを判断する。これを実現する２つの概括的な戦略がある。第１の戦略は、適応型セキュリティシステムが遭遇したＩＰアドレスのパターンを調べる戦略であり、第２の戦略は、入出力インタフェースでデータストリームを調べる戦略である。
【００４８】
動作プロファイルは、第１の戦略の実現に役立つ。以下の動作プロファイルの説明では、適応型セキュリティシステムがインターネットおよびネットワーキングドメインに導入されるものと仮定する。
【００４９】
［動作プロファイル１：各部門間］
図２は、本発明の一実施形態での動作プロファイル（「ＯＰ」）を示すブロック図である。ＯＰ１では、適応型セキュリティシステム２０２は、ＯＳＩレイヤ２ブリッジとして２つの内部ネットワーク（例えば、２つの部門間）２０４、２０６の間に導入される。各内部ネットワークは、ルータ２０８、２１０により適応型セキュリティシステム２０２に接続される。各内部ネットワークに属するＩＰアドレスは同じサブネットに属するため、繰り返して現れる傾向がある。
【００５０】
［動作プロファイル２：企業］
図３は、本発明の一実施形態での別の動作プロファイル（「ＯＰ」）を示すブロック図である。この動作プロファイルでは、適応型セキュリティシステム３０２は、ルータ３０６を介してインターネット３０４と内部ネットワーク３０８との間にＯＳＩレイヤ２ブリッジとして導入される。内部ネットワーク３０８は複数のノード３１０ａ〜３１０ｃを含む。内部ネットワーク３０８内のノード３１０ａ〜３１０ｃのＩＰアドレスにはしばしば遭遇するが、インターネット上のＩＰアドレスはより「ランダム」に出現する。
【００５１】
［動作プロファイル３：単一ノード］
図４は、本発明の一実施形態での別の動作プロファイル（「ＯＰ」）を示すブロック図である。ＯＰ３は、１台だけのワークステーションを有するホームユーザまたはラップトップを携えた出張者（ノード４０２）に典型的な動作プロファイルを表す。適応型セキュリティシステム４０４は、ノード４０２と通信し、ＯＳＩレイヤ２ブリッジとして動作する。適応型セキュリティシステム４０４は、ルータ４０８を介してインターネット４０６とも通信する。この場合、ノード４０２のＩＰアドレスのみが、適応型セキュリティシステム４０４が受信するデータストリームに一貫して出現する。
【００５２】
［動作プロファイル４：ルータ構成］
図５は、本発明の一実施形態での別の動作プロファイル（「ＯＰ」）を示すブロック図である。前出の３つの動作プロファイルでは、適応型セキュリティシステムはレイヤ２ブリッジとして実施される。ＯＰ４では、適応型セキュリティシステム５０２はルータとして実施される。適応型セキュリティシステム５０３はインターネット５０４と通信する。適応型セキュリティシステム５０３は内部ネットワーク５０６とも通信する。内部ネットワーク５０６は複数のノード５０８ａ〜５０８ｃを含む。
【００５３】
このような実施形態では、適応型セキュリティシステムはすべてのデータストリームを受信して、どのＩＰアドレスがどのカテゴリに属するか、すなわち内部に属するのか、それとも外部に属するのかを判断することができる。しかし、このような実施形態では、ルータをセットアップするために、ユーザによる構成が必要である。
【００５４】
他の要因も同様に、こういった動作プロファイルでの学習システムアルゴリズムに影響しうる。このような一要因は、使用されているのがＩＰｖ４であるか、それともＩＰｖ６であるかである。別の要因は、ＩＰアドレスが各動作プロファイルに割り当てられる方法、例えば、ＤＨＣＰおよび静的ＩＰアドレス割り当てである。ネットワークインタフェースカード（ＮＩＣ）のＭＡＣアドレスに依存するＩＰｖ６のステートレス自動構成メカニズムも動作プロファイルに影響しうる。これら要因はサブ構成と呼ばれる。以下の表に考えられるいくつかのサブ構成を列挙する。
【００５５】
【表１】
2009504104.tif 000003
【００５６】
［入出力インタフェースを介してのアドレス識別］
前の項で述べたように、本発明の一実施形態は、どのＩＰアドレスが外部データソースに属し、どれが内部保護ノードに属するのかを識別する２つの概括的な戦略に従う。これらのうちの第２の戦略は、データストリームの発信元が最初に出現した入出力インタフェースがどれであるかを調べることにより、アドレスの発信元を識別する戦略である。この手法は前の戦略よりも正確でありうるが、入出力インタフェースのレベルでデータを観察し比較するには計算サイクルが必要であるため、最初の戦略と比較して性能のペナルティも発生しうる。
【００５７】
以下の考察でも図を参照し、いくつかの仮定が必要である。第１に、入出力インタフェースｉｎｔｆ１  ７０４は外部インターネット（図示せず）に接続される。第２に、入出力インタフェースｉｎｔｆ２  ７０６は内部インターネットに接続される。したがって、ｉｎｔｆ１  ７０４は外部インタフェース（ｅｘｔ＿ｉｎｔｆ）と呼ばれ、ｉｎｔｆ２  ７０６は内部インタフェース（ｉｎｔ＿ｉｎｔｆ）と呼ばれる。学習システムは、パケット捕捉機能を実行することにより両方のインタフェースを観察する。
【００５８】
この戦略での基本動作は、データストリームが外部および内部両方のインタフェースに出現したときにデータストリームの特徴を調べることである。データストリーム（ネットワークトラフィック）の各チャンク（パケット）は、タイムスタンプ、シーケンス番号、発信元ＩＰアドレスまたは他の識別子、宛先ＩＰアドレスまたは他の識別子等の特定のフィールドを含む。タイムスタンプは、この場合に特に関連する。これは、特定のパケットがインターネットから来る場合、外部インタフェースでのタイムスタンプが、内部インタフェースでのタイムスタンプと比較して早い時間を示すためである。これら特徴に基づいて、以下の観察を行うことができる。
【００５９】
パケットが受信パケット（例えば、インターネットからのパケット）である場合、時間（ｅｘｔ＿ｉｎｔｆ）＜時間（ｉｎｔ＿ｉｎｔｆ）である。同様に、パケットが出力パケット（例えば、内部ネットワークからのパケット）である場合、時間（ｅｘｔ＿ｉｎｔｆ）＞時間（ｉｎｔ＿ｉｎｔｆ）である。通常、これらインタフェース同士の時間差は非常に小さいため、測定はミリ秒単位で行われる。
【００６０】
発信元を識別する例示的な実施形態
以下の表に、この戦略を使用してパケットの発信元を判断する例を示す。以下のパケットが外部インタフェースで観察されたものと仮定する。
【００６１】
【表２】
2009504104.tif 000004
【００６２】
そして、以下のパケットが内部インタフェースで観察された。
【００６３】
【表３】
2009504104.tif 000005
（注：上記表中、リファレンス＃が参照のために追加され、その他のフィールドはデータストリームから取り込まれる。）
【００６４】
表から、学習システムは、パケット＃１および＃３のシーケンス番号が２８０４５０３９９１であるため、本質的に同じパケットであることに気付く。しかし、パケット＃１および＃３は異なるインタフェースで観察された。これら２つのパケットのタイムスタンプは異なる。パケット＃３のタイムスタンプは、パケット＃１のタイムスタンプよりも早い。したがって、学習システムは、発信元ＩＰアドレス（１９２．１６８．０．４）が内部ネットワークに属すると判断する。
＃１＝＃３：同じパケット、ｓｒｃ＿ｉｐ＝１９２．１６８．０．４、シーケンス＃＝２８０４５０３９９１、時間（ｅｘｔ＿ｉｎｔｆ）＞時間（ｉｎｔ＿ｉｎｔｆ）：したがって、ｓｒｃ＿ｉｐ（１９２．１６８．０．４）は内部である。
【００６５】
同様に、学習システムは、パケット＃２および＃４が同じシーケンス番号を共有しているため、実際に同じパケットであると判断する。パケット＃２のタイムスタンプはパケット＃４のタイムスタンプよりも早い。したがって、ＩＰアドレス１０．２０．３０．４０は外部インターネットに属する。
＃２＝＃４：同じパケット、ｓｒｃ＿ｉｐ＝１０．２０．３０．４０、シーケンス＃＝３９３５９１７５８０、時間（ｅｘｔ＿ｉｎｔｆ）＜時間（ｉｎｔ＿ｉｎｔｆ）：したがって、ｓｒｃ＿ｉｐ（１０．２０．３０．４０）は外部である。
【００６６】
上記実施形態では、両方のインタフェースで観察された２つのパケットインスタンスが実際に同じパケットであると判断するために、パケットのシーケンス番号のみが突き合わせられる。一実施形態では、学習システムは、発信元ＩＰアドレス、発信元ポート、宛先ＩＰアドレス、および宛先ポートも突き合わせる。
【００６７】
適応型セキュリティシステムの実際の実施形態に応じて、ＩＰアドレスが外部データソースに属するか、それとも内部保護ノードに蔵するのかを識別するために他の方法を使用してもよい。例えば、この情報は、オペレーティングシステムのユーザレベルまたはカーネルレベルの機能、システムコール、ルーティングテーブル、および他の同様の技法を介して得ることができる。
【００６８】
［断片化および正規化］
現実世界のネットワークでは、本発明の一実施形態での学習システムおよび応答システムは、互いに協働して、ＩＰアドレスを正確に正しいアドレスプールに割り当てられることが要求される。この一理由は、現実世界のネットワークトラフィックは断片化を受けうるためである。断片化は非意図的である場合もあれば意図的である場合もある。非意図的な断片化は、パケットが、宛先までのルート上にある特定の物理ネットワークにとって大きすぎ、したがってパケットをさらに小さなユニットまたは断片に分ける必要がある場合に発生する。これは通常の挙動である。意図的な断片化は、パケットが別個の断片に意図的に分割される場合に発生する。例えば、侵入検知システムを回避するために、攻撃者はデータストリームを意図的に、必要な数のパケットよりも多くのパケットに断片化することがある。
【００６９】
正規化されたデータストリームと呼ぶことができるデフラグされたデータストリームは、解析が容易であるため、本発明の一実施形態はデータストリームを正規化する正規化構成要素を備える。いくつかの実施形態では、正規化構成要素は、応答システム内でネイティブに実施される。他の実施形態では、オープンソースソフトウェアが利用される。
【００７０】
正規化構成要素が利用される一実施形態では、未処理の断片データストリームが外部インタフェースに出現する。次に、応答システムはデータを正規化し、したがって、正規化されたデータストリームが内部インタフェースに出現する。このような実施形態では、応答システムは内部インタフェースのみのデータストリームを観察する。
【００７１】
このような実施形態は、問題を学習システムに提供する。断片化されたパケットは外部インタフェースに現れ、対応する正規化されたデータが内部インタフェースに現れるため、パケットインスタンスを突き合わせてタイムスタンプを判断することが難しいことがある。一実施形態では、学習システムは特定のパケットサブセットを観察する。例えば、ＴＣＰ接続が利用される一実施形態では、学習システムはＳＹＮフラグ、ＦＩＮフラグ、およびＡＣＫフラグがオンになっているパケットのみを観察する。一般に、このようなパケットは、あまりに小さすぎて断片化することができない（大半の場合、これらパケットのデータペイロードは０バイトである）。このような実施形態は、性能の利点を提供する。学習システムは、小さなパケットセットのみを調べて、ＩＰアドレスがどこに属するのかを判断し、それにより、このタスクの実行に必要な計算サイクル量を低減する。
【００７２】
本発明の一実施形態は、ＲＳＴパケットも観察する。しかし、ＳＹＮパケット、ＦＩＮパケット、およびＡＣＫパケットはこの観察の良好な候補であるが、ＲＳＴパケットは、応答システムが、脅威レベルが閾値を超えた接続を積極的に終了させるように意図的にＲＳＴパケットを作ることが可能であるため、良好な候補ではない場合がある。
【００７３】
［動作モード］
周囲環境を学習するために、学習システムの実施形態は異なるモードで動作することができる。図６は、本発明の一実施形態において学習システムがとることができる各種動作モードおよび動作モード間で可能な遷移を示すブロック図である。本発明の一実施形態において使用可能な動作モードについて以下に手短に説明し、それから各状態のより詳細な考察を提示する。
【００７４】
［動作モードの手短な考察］
開始（ＳＴＡＲＴ）６０２：開始モードは、学習システムが最初に開始されたときに学習システムを初期化する。
【００７５】
学習（ＬＥＡＲＮＩＮＧ）６０４：学習システムは、システム内のパラメータを動的に発見しているが、環境について十分な情報が収集されたという確信がない場合にこのモードに入る。
【００７６】
確立（ＥＳＴＡＢＬＩＳＨＥＤ）６０６：このモードでは、学習システムは、環境の正確な状況を有するのに十分な情報を収集したという確信がある。学習システムがまだ新しい情報を求めて環境を引き続き監視していることに留意する。
【００７７】
リセット（ＲＥＳＥＴ）６０８：このモードが呼び出されると、学習システムは確立モードから学習モードに戻る。例えば、このモードは、学習システムがデータストリーム内で全く新しい情報に遭遇し、それにより、十分な情報が集められたという確信度が下がった場合に呼び出すことができる。
【００７８】
受動（ＰＡＳＳＩＶＥ）６１０：このモードは、学習システムを、データストリームを単に監視してアクティビティを報告するだけの受動監視モードにする。
【００７９】
一時状態ダンプ（ＤＵＭＰ＿ＳＴＡＴＥ＿ＴＥＭＰ）６１２：学習システムは、変数（それまでに学習したこと）を一時状態に書き込んでいる場合にこのモードになる。例えば、これは２時間毎に発生しうる。
【００８０】
状態ダンプ（ＤＵＭＰ＿ＳＴＡＴＥ）６１４：このモードと前の一時状態ダンプモードとの相違は、状態ダンプが変数を「永久的な」状態に書き込むことである。この文脈の中では、永久的とは「長期」を意味する。例えば、このモードは、毎日真夜中に呼び出すことができる。説明する実施形態において状態をダンプする２つのモードがある理由は、状態の動作コストと状態の永続性とのバランスを実現するためである。一時状態ダンプは、非常に低い動作コストで状態をダンプすることを意味するが、状態は永続しない（例えば、学習システムが再開されるときになくなりうる）。状態ダンプは、状態を永続的な記憶装置にダンプするが、そうするための計算コストはより高い。
【００８１】
更新（ＵＰＤＡＴＥ）６１６：この動作モードは、いくつかの構成要素、すなわち学習システム、応答システム、およびリファレンスデータベースを更新する場合に使用される。
【００８２】
フォールバック（ＦＡＬＬＢＡＣＫ）６１８：このモードは、状態が、それ以上更新することができないポイント（例えば、状態を記憶するための記憶領域がなくなった）に達したことを学習システムが検出した場合に呼び出される。この場合、学習システムはフォールバック手続きを呼び出して、状態を再び更新できるようにする。
【００８３】
シャットダウン（ＳＨＵＴＤＯＷＮ）６２０：学習システムは、停止プロセスにあるときにシャットダウンモードになる。
【００８４】
［動作モードの詳細な考察］
以下に、本発明の一実施形態において学習システムで実施される動作モードの詳細な考察を提供する。
【００８５】
開始：学習システムは、最初に開始されるときに開始モードになる。このモードでは、学習システムの変数およびランタイム構成パラメータが初期化される。学習システムはまず、任意の状態が存在するか否かをチェックする。状態が存在しない場合、学習システムは初めて開始されている。学習システムが状態を生成し、状態の変数を初期化する。状態がすでに存在する場合、学習システムはその状態の変数をメモリに読み込む。
【００８６】
初期化プロセスが完了すると、学習システムは３つの動作モード、すなわち学習、確立、または受動のうちの１つに遷移することができる。学習システムは、環境を十分に学習したか否かを判断する。まだ十分ではない場合、学習動作モードに切り替わる。十分である場合、確立モードになる。
【００８７】
学習システムが環境を十分に学習したか否かは、経過時間および監視されたデータストリームアクティビティ量により判断される。環境の学習が終わるときには、学習システムはアドレスリストを集計し、どれが外部データソースに属し、どれが保護内部ノードに属するのかを知っている。
【００８８】
受動動作モードは、管理者が、受動監視を行うように学習システムを構成する場合になる。いくつかの実施形態では、自動的に受動動作モードになることができる。
【００８９】
学習：学習モードは、学習システムに周囲環境を学習させる。本発明の実施形態では種々の学習方式を用いることができる。データストリームの監視を行い、情報を収集する。学習モードの２つの主な目的は、（１）データストリームから情報を収集し、（２）閾値をノードに割り当てることである。収集される情報としては、例として以下を挙げることができる。
（ａ）外部データソースとして参加しているノードアドレスセット
（ｂ）内部保護ノードとして参加しているノードアドレスセット
（ｃ）複数入力ソースとの名称の以下の項で説明される情報
【００９０】
各種学習方式を使用して（ａ）および（ｂ）を判断することができる。例えば、ある方式は、２つの入出力インタフェースでリッスンし、「入出力インタフェースを介してのアドレス識別」という名称の項で概説した戦略に従ってデータストリームを監視する。（ｃ）に関しては、監視する必要があるのは１つのみの入出力インタフェースのみであり、そのタイプの情報を収集する。
【００９１】
本発明の一実施形態では、学習システムが収集された情報についてどの程度の確信があるかに基づいて、閾値がノードに割り当てられる。これは、経過時間に関連して収集された情報の特定のインスタンスの頻度を監視することにより行うことができる。確信レベルはこれら収集された情報のインスタンスにマッピングされる。これら確信レベルは、各種方式に応じて増減することができる。一実施形態では、学習システムは、特定のインスタンスがデータストリームに出現し続ける場合、その特定のインスタンスの確信レベルを増大させ続ける。したがって、インスタンスの頻度が高いほど、確信レベルは高くなる。そのインスタンスの確信レベルが高いほど、学習システムによるそのインスタンスについての確信度は高くなる。
【００９２】
学習システムは、こういった確信レベルを、特定の確信閾値を満たすまでの、その情報インスタンスがどの程度「真」であるかについての推定として解釈することができる。特定のインスタンスの確信レベルが、学習プロセス中に確信閾値を満たす、または超える場合、学習システムは、そのインスタンスが「真」であるという「絶対的な」確信を有する。これら確信閾値は、以下に説明する環境プロファイルにおいて定義される。
【００９３】
全体的な確信レベルが達成されると、本発明の一実施形態での学習システムは、確立動作モードになることができる。各種方式を使用して、学習システムが周囲環境について十分な確信を有するときを判断することができる。例えば、一実施形態では、学習システムは、収集されたすべてのインスタンスのうちの８０％が確信閾値を超える確信レベルを有する場合に、学習システムが確立モードになるのに十分な確信を有する方式を利用する。このような実施形態では、優先度を上記情報の最初の２つのセット、すなわち、外部データソースとして参加しているノードアドレスセットおよび内部保護ノードとして参加しているノードアドレスセットに与えることができる。
【００９４】
確立：確立モードは、学習システムが周囲環境について十分に学習したことを意味する。この動作モードでは、学習システムは、学習モード中にノードに割り当てたノード閾値について応答システムに通知する。このモードでは、外部データソースおよび内部保護ノードがすでに確立されているため、学習システムがリッスンする必要があるのは１つの入出力インタフェースのみである。２つではなく１つのみの入出力インタフェースをリッスンすることにより、データストリームの監視に関連する計算コストも低減する。
【００９５】
リセット：一実施形態では、リセット動作モードは、学習システムが現在確立モードである場合のみ呼び出すことができる。他の実施形態では、リセットモードは他のときに呼び出すことができる。リセットモードは、状態内のすべての情報インスタンスの確信レベルをクリアし、ＡＥＦを学習モードに再び戻す遷移モードである。
【００９６】
リセットモードには、管理者により故意になるか、または学習システムにより自動的に呼び出すことができる。本発明の一実施形態を利用する管理者は、いくつかの理由によりリセットモードを呼び出したい場合がある。例えば、管理者は新しいサーバを設置中であり、学習システムによる新しいサーバが設置された環境の明示的な再学習を要求しうる。または、管理者は、適応型セキュリティシステムを、適応型セキュリティシステムがそれまでに収集した状態がもはや妥当でなくなる全く新しい環境に導入しうる。
【００９７】
リセットモードは、学習システムにより自動的に呼び出すことも可能である。例えば、これは、全体的な確信レベルが低下した（例えば、確信閾値を超えた情報インスタンスの割合がもはや８０％ではない）場合に行うことができる。
【００９８】
例えば、本発明の一実施形態では、学習システムは、１９２．１６８．０．０／２４サブネット内のＩＰアドレスを有する内部保護ノードを監視していることを学習する。次に、適応型セキュリティシステムは、１７２．１６．０．０／１６サブネットからのアドレスを使用する新しい環境に突然導入される。したがって、１９２．１６８．０．０／２４と全く異なる新しい１７２．１６．０．０／１６アドレスからのＩＰアドレスがｉｎｔ＿ｉｎｔｆインタフェースで突然見られるようになると、学習システムはリセットモードになり、学習モードに戻る。本発明の他の実施形態は異なるデフォルト挙動を呼び出すことができ、他の方式を使用して、学習システムがリセットモードを自動的に呼び出すときを判断することができる。
【００９９】
受動：受動モードは、データストリームを受動的に監視するためだけに使用される。このモードは、適応型セキュリティシステムをテストするために統計学的な情報を収集するために主に使用される。受動モードは、学習システムおよび応答システムの両方に適用することができる。このような実施形態では、両方のシステムが各自のアクティビティを報告するが、実際にデータストリームを変更することはない。実際に、応答システムは疑わしいトラフィックをブロックせず、単にそのログを記録するだけであるため、このモードは学習システムよりも応答システムに影響しうる。受動モードが呼び出されると、学習システムおよび応答システムの両方が受動モードに設定される。一実施形態では、管理者が受動モードを手動で呼び出すことができる。他の実施形態では、受動モードは自動的に呼び出すことができる。
【０１００】
一時状態ダンプ：収集された情報、確信レベル、および割り当てられたノード閾値はすべて、学習システムにより状態として記憶される。状態は、記憶媒体またはファイルシステムに定期的に書き込まれるまで、メモリに保持される。状態をファイルシステムに書き込む動作は、「状態ダンプ」として知られている。状態はファイルシステムに書き込まれるため、それまで学習システムが状態を保持するために使用していたメモリ資源を他の目的で使用することができる。
【０１０１】
一実施形態では、一時状態ダンプ動作モードは、状態を一時的で非永続的なファイルシステムにダンプするために使用される（適応型セキュリティシステムのハードウェア機器が再開されると、もはや状態を利用することはできない）。状態は非永続的であるが、このようにして状態をダンプすることにはいくつかの利点がある。これを行うための計算コストは低く、高速である。記憶媒体にあまり「ダメージ」（損耗および損傷）を与えない。このため、かなり頻繁に行うことができる。一時状態ダンプを呼び出す実際の頻度は、管理者の好みに基づいて決められてもよく、またはシステムデフォルト値（例えば、２時間毎）から導出してもよい。
【０１０２】
状態ダンプ：状態ダンプ動作モードは、一時状態ダンプモードの逆と考えることができる。一時状態ダンプモードと異なり、状態ダンプモードは、状態を永続的に、または長期記憶目的で書き込むためのモードである。したがって、適応型セキュリティシステムハードウェア機器が再開されても状態を引き続き利用することができる。しかし、この動作モードは、一時状態ダンプと比較して高いコストを発生させ、計算コストがより高く、速度がより遅く、かつ記憶媒体に対する損耗および損傷がより大きい。
【０１０３】
例えば、学習システムが、コンパクトフラッシュ(登録商標)カードを利用するハードウェア機器等のハードウェア機器で具現化される一実施形態では、記憶媒体は、多数回の書き込み後に摩耗しうる。コンパクトフラッシュ(登録商標)カードは、潜在的に、１００，０００回等の多数回の書き込み後に摩耗しうる。この発生を回避するために、本発明の一実施形態では２つのファイルを使用することができる。
ファイルシステム１:コンパクトフラッシュ(登録商標)カードの記憶空間全体を使用する読み取り専用ファイルシステム
ファイルシステム２：使用されていないメモリに基づく読み書きファイルシステム
【０１０４】
学習システムおよび応答システムは、永続的な状態情報と共に、ファイルシステム１に記憶することができる。ファイルシステム１は「読み取り専用」と見なされるが、非常に短い時間（例えば、３０秒間）にわたって読み書きされるように再構成し、その後、再び読み取り専用として再構成することができることに留意する。換言すれば、ファイルシステム１は大半の時間で読み取り専用であるが、時には読み書きすることができる。
【０１０５】
一時的な状態はファイルシステム２に記憶することができる。一時状態ダンプは、状態をファイルシステム２に書き込み、それを行うコストおよび速度はわずかである（メモリベースのファイルシステムは非常に高速の読み書きをサポートする）。しかし、欠点は、状態が永続しないことである。
【０１０６】
状態ダンプ動作は、状態をファイルシステム２からファイルシステム１へ転送する。このプロセス中、ファイルシステム１は、短時間にわたって読み書きされるように再構成されて、一時的な状態をファイルシステム２からファイルシステム１に書き込めるようにする。状態がファイルシステム１に書き込まれ、正しく書き込まれたことが確認された後、ファイルシステム１は再び読み取り専用に再構成される。
【０１０７】
状態ダンプ動作での動作の種類および回数により、計算コストが高くなり、永続状態を書き込む速度が遅くなる。さらに、コンパクトフラッシュ(登録商標)カード（または他の同様の記憶媒体）の記憶空間に実際に書き込むため、書き込み毎に記憶媒体をわずかに損耗させる。このため、状態ダンプ動作は一時状態ダンプのように頻繁に行われるべきではなく、考えられる方式は、状態ダンプ動作を毎日真夜中または非ピーク期間中に行うことである。
【０１０８】
以下の表に、一時状態ダンプと状態ダンプとの相違をまとめる。
【０１０９】
【表４】
2009504104.tif 000006
【０１１０】
更新：更新モードは、学習システムプログラム、応答システムプログラム、およびリファレンスデータベースを含む適応セキュリティシステムの構成要素の更新に使用される。更新プロセスでは、適応型セキュリティシステムの構成要素は、より新しいバージョンで置き換えられる。更新は、バグを修正するため、より新しく高度なアルゴリズムを構成要素に導入するため、またはリファレンスデータベースの場合、現在の環境により適切な更新されたリファレンスデータベースを導入するために使用される。
【０１１１】
一実施形態では、状態変更が更新中に失われないように、更新モードを呼び出す前に状態ダンプ動作が行われて、更新中の状態を永続的にする。これにより、学習システムの更新されたバージョンが最新の状態を使用できることも保証される。
【０１１２】
更新動作モードになると、学習システムは、以下の「学習システムの更新」の項において説明される手順を使用してのそれ自体の更新に進む。更新プロセスが完了した後、更新された構成要素に対してサニティチェックを行い、構成要素の現在の状態が新しいバージョンと適合しないバージョンを有さないことを保証することにより、確認が行われる。この後、更新動作モードは、学習または確立である前のモードに戻る。
【０１１３】
フォールバック：有限状態機械として、適応型セキュリティシステムの状態は、それ以上は進化できないポイントまで進化しうる。このような状況の一例は、確信レベルおよび脅威レベルがすべて閾値を超えるか、または各最大値（確信／脅威レベルスケールの終点）に達した場合である。
【０１１４】
フォールバックモードは、現在の確信レベルをより低いレベルに低減させるために使用される。これを行いたい１つの理由は、確信レベルが、確信閾値をはるかに超える確信レベルスケールの終点に達しないようにすることである。このモードが呼び出されると、すべての確信レベルまたは特定の確信レベルのみ（使用されるフォールバック方式に応じて）が、確信閾値に関連して計算されてもされなくてもよい特定の割合または値だけ低減される。フォールバック方式の他に、減分値は、現在そのセッションで使用されている環境プロファイルにも依存する。
【０１１５】
フォールバックモードは、応答システムに使用することも可能である。応答システムに使用される場合、脅威レベルは確信レベルと同様に扱われる。
【０１１６】
シャットダウン：シャットダウンモードは、学習システムがシャットダウンしているときに呼び出される。管理者は、学習システムのシャットダウンを用いて、システムを停止させる（ハードウェアまたはソフトウェアを使用して発行されるコマンドを介して）ことができる。別法として、適応型セキュリティシステムは、ハードウェア故障の検出、予期せぬエラーまたは状況、ブラックアウトによる電源消失、または管理者による計画された／計画外の物理的な保守のため必要になることによりシャットダウンされうる。
【０１１７】
シャットダウンモード中、状態は状態ダンプ動作を使用してファイルシステム１にダンプされる。現在のシステム状態のスナップショット、デバッグ情報、またはシステムでの最新のアクティビティのログ等の他の情報を、診断のために永続的な記憶装置に記録することもできる。
【０１１８】
［複数入力ソース］
この項では、学習動作モード中に本発明の一実施形態により収集することができる情報について説明する。先に述べたように、学習動作モードの目的の１つは、閾値をノードに割り振ることである。このために、学習システムは、ノード閾値の計算に使用できる情報を収集する。この情報は複数の入力ソースから収集することができ、適応型セキュリティシステムの用途に応じて、これらソースは様々でありうる。これらソースは閾値決定要因またはＴＤＦと呼ばれる。これら閾値決定要因が監視され、データストリームから収集される。
【０１１９】
本発明の一実施形態では、これら閾値決定要因は関連するリファレンスデータベースと比較され、それから環境プロファイル内の変更子に割り当てられて、ノード閾値が計算される。
【０１２０】
本発明の一実施形態では、３種類の閾値決定要因、すなわち基本ＴＤＦ、複合ＴＤＦ、および管理ＴＤＦが利用される。
【０１２１】
［基本閾値決定要因］
基本閾値決定要因は、データストリームから直接読み取ることができる。例えば、一実施形態では、学習システムはＴＣＰ／ＩＰを実行しているコンピュータネットワークを監視している。異なるオペレーティングシステムが外部ノードおよび内部ノードの両方で実行されている場合がある。ＴＣＰ接続を開始するとき、各オペレーティングシステムは、生成するネットワークトラフィックの最初のパケットに特定の特徴を示す（これら特徴はあらゆるパケットに存在しうるが、この考察は最初のパケットに制限する）。これら特徴は、学習システムが接続を開始したオペレーティングシステムを識別するのに十分な一意性を有する。これら特徴は集合的にオペレーティングシステムフィンガープリントまたはＯＳフィンガープリントと呼ばれる。したがって、ＯＳフィンガープリントのリファレンスデータベースが利用可能な場合、学習システムは、単にデータストリームを監視し、ＯＳフィンガープリントをＯＳフットプリントのリファレンスデータベースと比較するだけで任意のＴＣＰ接続の開始ノードのオペレーティングシステムを識別することができる。したがって、このような実施形態では、オペレーティングシステムを基本閾値決定要因として使用する。
【０１２２】
基本閾値決定要因を使用する１つの目的は、基本ＴＤＦに関連するリスクを判断することである。リスクレベルとして測定することができるこのリスクを使用して、次にノードの閾値を計算する。オペレーティングシステムを基本ＴＤＦとして使用する上記例では、そのオペレーティングシステムおよびベンダーのセキュリティトラック記録に応じて、特定のリスクレベルをそのオペレーティングシステムに割り当てることができる。そして、このリスクレベルを使用して、ノード閾値を計算することができる。
【０１２３】
例えば、一実施形態では、オペレーティングシステムＡは、過去５年間でオペレーティングシステムＢよりもセキュリティの脆弱性が高い。したがって、オペレーティングシステムＡはオペレーティングシステムＢよりも危険であり、より高いリスクレベルが割り当てられるべきである。このリスクレベルは、ノード閾値の計算に影響し、リスクレベルが高いほど、ノードの閾値は低い（ノードは疑わしいトラフィックに対する耐性がより低い）。図１０は、本発明の一実施形態でのリスクレベルスケールを示す表である。図示のスケールでは、１は最小リスクを表し、５は最大リスクを表す。
【０１２４】
一実施形態では、環境プロファイル内で定義される数値変更子が、ノード閾値の低減量を決定する。このような実施形態では、環境プロファイルはオペレーティングシステム基本ＴＤＦの記録およびリスクレベルスケールでの各リスクレベルの変更子を含む。
【０１２５】
例えば、一実施形態では、ノードＮはオペレーティングシステムＡを実行している。現在の環境プロファイルは以下の値を定義する。
新規ノードの初期閾値：
オペレーティングシステムＡのリスクレベル：４
オペレーティングシステムＢのリスクレベル：２
リスクレベル１の閾値変更子：              ０
リスクレベル２の閾値変更子：              −０．２
リスクレベル３の閾値変更子：              −０．３
リスクレベル４の閾値変更子：              −０．４
リスクレベル５の閾値変更子：              −０．５
【０１２６】
これにより、学習システムは、ノードに遭遇した場合、以下のタスクを実行する。
ノードＮは新ノードであるため、ノードＮに初期閾値＝１０を割り当てる。
ノードＮの閾値＝１０。
ノードＮのオペレーティングシステムを識別する。オペレーティングシステムはＡである。
Ａのリスクレベルを探す。Ａのリスクレベルは４である。
リスクレベル４の閾値変更子を探す。閾値変更子は−０．４である。
この変更子を使用してノードＮの閾値を計算する。
ノードＮの閾値＝１０−０．４＝９．６。
【０１２７】
説明する実施形態では、ノードＮの最終的な閾値は９．６であると判断される。ノードＮはリスクのあるオペレーティングシステムを使用しているため、ノードＮの閾値は元々の閾値１０から減じられていることに留意する。
【０１２８】
本発明の別の実施形態では、ノードＺはオペレーティングシステムＢを使用する。学習システムは、上述したタスクと同じタスクを実行する。
ノードＺは新ノードであるため、ノードＺに初期閾値＝１０を割り当てる。
ノードＺの閾値＝１０。
ノードＺのオペレーティングシステムを識別する。オペレーティングシステムはＢである。
Ｂのリスクレベルを探す。Ｂのリスクレベルは２である。
リスクレベル２の閾値変更子を探す。閾値変更子は−０．２である。
この変更子を使用してノードＺの閾値を計算する。
ノードＺの閾値＝１０−０．２＝９．８。
【０１２９】
ノードＺの最終的な閾値は９．８と計算される。ノードＺのオペレーティングシステムはノードＮのオペレーティングシステムよりもリスクが低いため、ノードＺの閾値はノードＮの閾値よりも高い。これは、ノードＺがノードＮよりも攻撃に対して耐性があることを意味する。
【０１３０】
以下のリストに、本発明の実施形態が利用しうる基本ＴＤＦを含む。各ＴＤＦについて、リスクがノードの閾値にどのように影響するか、およびその状況の裏にどのような関係があるのかについて説明する。リストは完全なものではない。考えられる基本閾値決定要因として以下が挙げられるが、これらに限定されない。
【０１３１】
［オペレーティングシステム］
閾値判断方式：セキュリティトラック記録（例えば、過去ｘ年間でのセキュリティ脆弱性の数）が悪いほど、閾値は低くなる。
根拠：オペレーティングシステムの脆弱性の数が多いほど、攻撃者が侵入方法を見つけられる可能性が高くなる。
【０１３２】
［オペレーティングシステムのバージョン］
閾値判断方式：オペレーティングシステムのバージョンが古いほど、閾値は低くなる。
根拠：オペレーティングシステムのバージョンが古い場合、２つのことが意味されうる。すなわち、（１）このオペレーティングシステムが、新しいバージョンのオペレーティングシステムでは修正されている悪用されうるバグを有する可能性があり、または（２）これは、未だに多くのセキュリティホールを有する、旧式で放置され、おそらくはパッチが適用されていないマシンである可能性がある。
【０１３３】
［ノードで実行中のサービス数］
閾値判断方式：ノードで実行中のサービスが多いほど、閾値は低くなる。
根拠：実行中のサービスが多いことは、潜在的な攻撃者のエントリポイントが多いことを意味する。
【０１３４】
［ノードで実行中のサービスの種類］
閾値判断方式：ノードが、テルネット（Ｔｅｌｎｅｔ）またはＦＴＰ等のサービスを実行している場合、閾値は低くなる。一方、ＳＳＨが実行されている場合、閾値の低減量は、テルネットまたはＦＴＰの場合の低減量と同じではない。
根拠：テルネットおよびＦＴＰ等のサービスは通信を平文で送信するため、盗聴を受けやすい。攻撃者が、盗聴したパスワードを使用してノードに侵入する危険性がある。
【０１３５】
［アプリケーション］
閾値判断方式：これは、オペレーティングシステムの場合に使用される基準と同様である。セキュリティトラック記録が悪いほど、閾値は低くなる。
根拠：セキュリティトラック記録が悪いほど、可能性としてより多くのセキュリティホールが存在することを意味する。
【０１３６】
［アプリケーションのバージョン］
関係判断方式：バージョンが古いほど、閾値は低くなる。
根拠：アプリケーションのバージョンが古いほど、悪用されうるバグが存在する可能性が高くなる。
【０１３７】
基本ＴＤＦは、攻撃に応答するために応答システムによっても使用される。例えば、適応型セキュリティシステムがメールトラフィックを監視していると想定する。ノードがリナックス（Ｌｉｎｕｘ）を実行していることが分かっており、ウィンドウズ(登録商標)（Ｗｉｎｄｏｗｓ（登録商標））．ｅｘｅファイルを含む電子メール添付物がノードに送信される場合、これは、何か疑わしいものを意味する。この場合、応答システムは、そのメールの通過をブロックするのに適当なアクションをとることができる。
【０１３８】
［複合閾値決定要因］
基本ＴＤＦと同様に、複合ＴＤＦもデータストリームから読み取られるが、他のソースから得ることも可能である。さらに、複合ＴＤＦを判断するには、何等かの相関付けおよび統計学的な解析が必要でありうる。例えば、本発明の一実施形態では、通常、組織のネットワークは１日の特定の期間（業務時間中）では非常にビジーであり、他の時間では暇である（真夜中ら夜明けまで）。非ピーク時間中、組織のサーバにアクセスされる可能性は極めて低い。この時間に、ビジートラフィックが急にサービスに向けられる場合、これは攻撃が発生していることを意味しうる。したがって、サーバの閾値を低減すべきである。したがって、このような実施形態において、時刻は複合ＴＤＦの候補である。しかし、基本ＴＤＦと異なり、学習システムが１日のどの部分がピークであり、どの部分が非ピークであるかを確立するために、一般に、いくらかの監視が行われる。このような閾値決定要因は、基本ＴＤＦのようにデータストリームから直接読み取ることができないため、複合閾値決定要因として特徴付けられる。
【０１３９】
以下は、本発明の各種実施形態において使用できる複合閾値決定要因のリストである。リストは完全なものではない。考えられる複合閾値決定要因として以下が挙げられるが、これらに限定されない。
【０１４０】
ノードの役割：サーバ、ワークステーション、それとも両方？
学習システムは、ノードがサーバとして動作しているのか、ワークステーションとして動作しているのか、それともこれら両方として動作しているのかを判断することができる。平均して、ワークステーションは多数の接続を開始するが、接続を受信しない。これとは対照的に、サーバは多数の接続を受信するが、接続を開始しない。これら両方として動作するノードは、混ざった接続を有する。これら仮定には例外がある。一実施形態では、学習システムは各ノードのｍ：ｎ比を計算する。但し、ｍはノードが開始した接続数であり、ｎはノードの接続総数である。ｍ：ｎ比が高い（１に近い）場合、ノードはワークステーションである可能性が最も高い。ｍ：ｎ比が低い（０に近い）場合、ノードはサーバである可能性が最も高い。ｍ：ｎ比が中間をうろついている（０．５前後）ノードはおそらく、サーバおよびワークステーションの両方として動作しているノードである。これは、ノードの役割を判断するために使用できる１つの方式である。他の方式も同様に使用することが可能である。例えば、本発明の実施形態は以下の閾値判断方式を利用することができる。
【０１４１】
閾値判断方式１：
ワークステーションの閾値は高く、
サーバの閾値は中間であり、
サーバおよびワークステーションの両方であるノードの閾値は低い。
方式１の根拠：サーバがワークステーションよりも重要であるため、サーバにより低い閾値を付与して、万が一攻撃された場合のダメージ量を低減すべきである。サーバおよびワークステーションの両方として動作するノードは攻撃をより受けやすいため、閾値は低くあるべきである。
【０１４２】
閾値判断方式２：
ワークステーションの閾値は低く、
サーバの閾値は中間であり、
サーバおよびワークステーションの両方であるノードの閾値は低い。
方式２の根拠：この方式は、サーバが厳重に保護されてセキュア化されるが、ワークステーションの保護の程度が低い組織に適用可能でありうる。これは、多数のワークステーションがあり、ワークステーションに定期的にパッチを適用する有効な方法がなく、それにより、電子メールウィルス等の脅威を受けやすくなる場合に適当である。
【０１４３】
［総合インターネット規模脅威レベル指標］
インターネットにわたるすべての脅威を監視し、現在のインターネット規模脅威レベル状況を大まかに示す脅威レベル指標を提供するいくつかのインターネットサイトがある。このようなサイトとしてインターネットストームセンター（Ｉｎｔｅｒｎｅｔ  Ｓｔｏｒｍ  Ｃｅｎｔｅｒ）およびｄｓｈｉｅｌｄ．ｏｒｇならびに商業的インターネット監視組織が挙げられる。伝染力の強いワーム攻撃等のインターネット規模攻撃がある場合、こういったサイトは高脅威レベル指標を提供し、他の場合、脅威レベル指標は低または並みである。本発明の実施形態は、こういったサイトからの脅威レベル指標を集計し、複合ＴＤＦとして使用することができる。これは、データストリームではなく外部ソースから読み取られる複合ＴＤＦの一例である。
【０１４４】
閾値判断方式：総合インターネット規模脅威レベル指標が高の場合、ノードの閾値を低減すべきである。
根拠：多くのインターネット規模攻撃が発生している場合、組織が攻撃される可能性は高くなる。したがって、ノードの閾値を低減すべきである。
【０１４５】
時刻の影響
時刻の影響について手短に上述した。
【０１４６】
閾値判断方式１：一実施形態では、オフピーク期間中、閾値を低減すべきである。ピーク期間中、閾値を高めるべきである。
方式１の根拠：オフピーク時間中のビジートラフィックは、攻撃が発生していることのサインでありうる（その時間には誰もシステムを使用していないはずであるため）。したがって、閾値を低減すべきである。
【０１４７】
閾値判断方式２：別の実施形態では、オフピーク期間中、閾値は高められ、ピーク期間中、閾値は低減される。方式２の根拠：これは、管理者が、ピーク期間中にネットワークに潜り込むことにより自らを隠そうとするステルス攻撃を警戒している状況で使用しうる。しかし、この方式の使用により、正当なトラフィックであっても低閾値ノードにアクセスできなくなるという悪影響がありうる（たとえば、仮に正当なトラフィックが誤って悪意のあるトラフィックと解釈された場合）。
【０１４８】
この特定のノードに向けられた過去の攻撃量
多くの攻撃が特定のノードに向けられている場合、これは、そのノードが攻撃者の常習的なターゲットであることを暗に示す。
【０１４９】
閾値判断方式：多くの過去の攻撃が特定のノードに向けられている場合、そのノードの閾値を低減すべきである。
根拠：頻繁な過去の攻撃は、より多くの攻撃が発生することのサインでありうる。したがって、多くの過去の攻撃試行履歴を有するノードの閾値を低減して、このような攻撃に対する耐性を高めるべきである。
【０１５０】
［基本ＴＤＦの頻度確信レベル］
基本ＴＤＦの頻度確信レベルは、学習システムが、頻度を測定することによりノードの評価についての確信の程度を推定する。この確信度に基づいて、学習システムはノードの閾値を判断することができる。このために、学習システムは、特定の基本ＴＤＦが特定のノードのデータストリームにどの程度の頻度で現れるかを測定する。例えば、一実施形態はノードで実行されているサービスの種類を利用する。学習システムがＨＴＴＰサービスを頻繁に観察する場合、ノードはＨＴＴＰサービスを実行している可能性が非常に高いため、ノードがＨＴＴＰサーバであるとの確信度は高くなる。しかし、学習システムは、ＦＴＰサービスを散発的にしか観察しない場合、ノードがＦＴＰサーバであるとの確信する程度は低い。基本ＴＤＦの頻度は時間に関連して測定される。各種方式を利用してよい。
【０１５１】
閾値判断方式：学習システムの基本ＴＤＦについての確信度が低いほど、基本ＴＤＦが関連するノードの閾値は低くなる。
根拠：学習システムがノードの評価について確信がない場合、保守的は手法をとり、ノードが攻撃からよりよく保護されるように閾値を低減する。
【０１５２】
［基本ＴＤＦの参照確信レベル］
一実施形態では、リファレンスデータベースが特定の基本ＴＤＦに利用可能な場合、基本ＴＤＦがリファレンスデータベースと比較される。リファレンスデータベースは、基本ＴＤＦ間で可能性が非常に高い関連を記録し、例えば、センドメール（Ｓｅｎｄｍａｉｌ）メールサーバは、ウィンドウズ(登録商標)（Ｗｉｎｄｏｗｓ（登録商標））よりもリナックス（Ｌｉｎｕｘ）サーバと共に使用される可能性がより高い。したがって、センドメール（Ｓｅｎｄｍａｉｌ）−リナックス（Ｌｉｎｕｘ）の関連性がセンドメール（Ｓｅｎｄｍａｉｌ）−ウィンドウズ(登録商標)（Ｗｉｎｄｏｗｓ（登録商標））の関連性よりも強い。学習システムが、Ｗｉｎｄｏｗｓ（登録商標）マシンで実行されているセンドメール（Ｓｅｎｄｍａｉｌ）サーバを検出した場合、そのノードを正しく評価したことの確信度はより低くなる。頻度確信レベルのように、参照確信レベルが低い場合、これは、学習システムがノードを正しく評価しなかった可能性があることを暗に示す。
【０１５３】
閾値判断方式：学習システムによる基本ＴＤＦについての確信度が低いほど、基本ＴＤＦが関連するそのノードの閾値は低くなる。
根拠：学習システムがノードの評価について確信がない場合、保守的な手法をとり、そのノードが攻撃からよりよく保護されるように閾値を低減すべきである。
【０１５４】
頻度確信レベルおよび参照確信レベルは、確信レベル関数により計算される。この関数は、図１０に示す確信レベルスケールでの値を返す。例えば、確信レベル関数は２のような値を返し、スケールによれば、この値は、このノードと基本ＴＤＦとが関連する可能性が低いことを意味する。
【０１５５】
異なる関数を異なる種類の複合ＴＤＦおよび基本ＴＤＦに使用することができる。次に、これら関数の出力を使用して、ノードの閾値を計算することができる。例えば、一実施形態では、これは、関数の出力を環境プロファイルにおいて定義される変更子セットと突き合わせることにより行われる。この突き合わせプロセスを容易にするために、各確信レベル関数に関数ＩＤを割り当てることができる。
【０１５６】
［管理閾値決定要因］
基本ＴＤＦおよび複合ＴＤＦと異なり、管理ＴＤＦは、管理者またはシステムデフォルト値により静的に定義される。一実施形態では、管理ＴＤＦは、構成ファイルおよび環境プロファイルから得られる。
【０１５７】
管理ＴＤＦは、最終的なノード閾値を計算するために基本ＴＤＦおよび複合ＴＤＦと併せて使用される。本発明の一実施形態では、以下のすべて管理ＴＤＦが環境プロファイルにおいて定義され、例外は最初の１つであり、全体反応性は構成ファイルにおいて定義される。変更子の目的は、基本ＴＤＦおよび複合ＴＤＦに基づいてノード閾値を増減するメカニズムを提供することである。基本ＴＤＦおよび複合ＴＤＦはカテゴリ的である傾向があり、または少数の値からなるスケールの部分である。変更子は、これらカテゴリおよびスケール値を正／負の値に変換できるようにし、次に、この正／負の値を使用して、ノード閾値をそれぞれ増減することができる。
【０１５８】
本発明の一実施形態では、以下に列挙する管理閾値決定要因が利用される。このリストは完全なものではない。考えられる管理閾値決定要因として以下が挙げられるが、これらに限定されない。
【０１５９】
［全体反応性］
全体反応性は構成ファイルにおいて定義される。カテゴリ的な性質のものであり、３つの値、すなわち保守的、並み、または積極的のうちの１つであることができる。積極的な反応性は、保守的な反応性よりもはるかにノード閾値を低減させる。
【０１６０】
［新ノードの初期閾値］
新ノードの初期閾値は環境プロファイルにおいて定義される。いかなる調整も行う前に新ノードの閾値として使用される実際の数値である。
【０１６１】
［各リスクレベルの閾値変更子］
閾値変更子については、８．６．１項においてすでに手短に考察した。リスクレベルスケール（図１０）は、リスクを表すために使用される。リスクレベルが基本ＴＤＦに割り当てられる場合、これは、ＴＤＦがどの程度危険かを示す（１〜５のスケール）。閾値変更子が使用されて、このリスクレベルが変更子に変換され、次に、これを使用してノードの閾値が増減される。リスクレベルが高いほど、ノード閾値をより大きな程度で低減する変更子を有する。
【０１６２】
［全体反応性の変更子］
これは、全体反応性に基づいてノード閾値を増減するために使用される変更子である。積極的な反応性は、ノード閾値をより大きな程度で低減する変更子を有する。
【０１６３】
［ノード役割の変更子］
これは、ノードの役割（サーバであるか、ワークステーションであるか、それとも両方か）に基づいてノードの閾値を調整するために使用される変更子である。変更子が正であるか、負であるかは使用される方式に依存する。
【０１６４】
［現在の動作モードの変更子］
この場合に関連する現在の動作モードは、学習システムが学習動作モードであるか、または確立動作モードであるかである。使用しうる可能な方式は、学習モードの場合の変更子は負の値を有し、確立モードの場合の変更子はゼロである。
【０１６５】
［確信レベルの変更子］
先に述べたように、学習システムが評価中のノードについてあまり確信を有さない場合、そのノードにより低い閾値が推奨される。したがって、確信レベルスケールの下端（最小確信度）の変更子ほど、スケールの上端の変更子と比較して大きな負の値を有する。
【０１６６】
［ノード閾値の計算］
本発明の一実施形態では、学習システムは、上述した閾値決定要因を使用してノードの閾値を計算する。一実施形態は、以下のノード閾値計算方式を利用する。
ノード閾値＝新ノードの初期閾値ｏｐ変更子（全体反応性）ｏｐ変更子（各基本ＴＤＦのリスクレベル）ｏｐ変更子（各複合ＴＤＦのリスクレベル）ｏｐ変更子（総合頻度確信レベル）ｏｐ変更子（総合参照確信レベル）ｏｐ変更子（動作モード）
【０１６７】
ｏｐは、使用できる適当な演算子（例えば、＋演算子）である。変更子（ｘ）表記は、ｘの変更子を意味する。例えば、変更子（全体反応性）は、全体反応性の変更子を意味する。
【０１６８】
ノード閾値がデフォルトにより静的ではなく、使用される方式に応じてかなり頻繁である場合もあれば、またはあまり頻繁ではない場合もある定期的に計算されることに留意する。
【０１６９】
［構成ファイル］
本発明の一実施形態では、構成ファイルが、学習システムの構成パラメータを指定するために使用される。このような実施形態では、構成ファイルは、学習システムの実施形態に固有の他のパラメータも指定する。例えば、学習システムがウェブ対応機器として具現化される場合、考えられる実施形態固有パラメータは、セキュアソケットレイヤ（ＳＳＬ）が可能であるか否かである。
【０１７０】
３種類の構成パラメータがある。
全体反応性
環境プロファイルの選択
リファレンスデータベースの選択
【０１７１】
このような実施形態では、全体反応性は保守的、並み、または積極的として定義される。使用される方式に応じて、４つ以上の反応性レベルを使用してもよく、同様に３つ未満の反応性レベルを使用してもよい。
【０１７２】
環境プロファイルの選択により、管理者は、どの環境プロファイルを使用するかを選択できるようにする。特定の状況に対して異なる環境プロファイルを使用することができる。
【０１７３】
リファレンスデータベースの選択により、管理者は、使用する学習システムに関連するリファレンスデータベースのセットを選択する。
【０１７４】
管理者が構成パラメータの設定を選択しない場合、デフォルトの構成パラメータが使用される。一実施形態では、以下のデフォルト構成パラメータが利用される。
全体反応性：並み
環境プロファイル：汎用
リファレンスデータベース：学習システムの実施形態に関連するあらゆるリファレンスデータベース
【０１７５】
［環境プロファイル］
上述したように、環境プロファイルにより、学習システムの実施形態は、異なる環境でのノード閾値の計算に影響を及ぼすために使用できるパラメータを指定することができる。小企業環境用の環境プロファイルが存在しうるが、家庭ユーザ用の別の環境プロファイルを使用することもできる。カスタム環境プロファイルも可能である。この表で、本発明の一実施形態において環境プロファイルで何が定義されるのかを説明する。
【０１７６】
【表５】
2009504104.tif 000007
2009504104.tif 000008
2009504104.tif 000009
【実施例】
【０１７７】
［実施例］
以下に、ノード閾値計算プロセスを実行する本発明の一実施形態について説明する。この実施形態では、学習システムは、小企業環境でのリナックス（Ｌｉｎｕｘ）サーバをピーク期間中に解析している。管理者はシステムのセキュリティに自信を持っているため、全体反応性レベルは保守的に設定されている。この時点で、インターネット全体に影響する大規模な攻撃はないため、総合インターネット規模脅威レベルはリスクレベル２である。管理者が学習システムに使用している方式は、ＯＳ−Ａｐｐリファレンスデータベース（オペレーティングシステムのアプリケーションへのマッピング）を使用する。以下に環境を要約する。
時刻：ピーク
全体反応性：保守的
インターネット脅威レベル：リスクレベル２
環境プロファイル：小企業
リファレンスデータベース：ＯＳ−Ａｐｐ
【０１７８】
この実施形態では、サーバは、かなり最新のリリースであるリナックス（Ｌｉｎｕｘ）２．４．２２カーネルを実行している。サーバは３つのサービス、すなわちＳＳＨ、テルネット、およびＦＴＰを実行する。サーバの構成中、管理者はモジラ（Ｍｏｚｉｌｌａ）ウェブブラウザを使用して、インターネット上の情報を検索した。管理者は、ワイン（Ｗｉｎｅ）プログラムをリナックス（Ｌｉｎｕｘ）上で使用して、リナックス（Ｌｉｎｕｘ）上でウィンドウズ(登録商標)（Ｗｉｎｄｏｗｓ（登録商標））ウェブブラウザインターネットエクスプローラ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）も実行した。これは、あまりない組み合わせである。
【０１７９】
この情報に基づいて、以下の表に、学習システムがノードＢをどのように解析するかを示す。基本ＴＤＦのリスクレベルは、リファレンスデータベースから判断される。複合ＴＤＦのリスクレベルは環境プロファイルから判断される。頻度確信レベルは頻度：ある時間期間にわたる時間方式に基づいて計算される。参照確信レベルは、指定された関連性がどの程度強いか（例えば、ＳＳＨ−リナックス（Ｌｉｎｕｘ）の関連性は非常に強いため、ＳＳＨ−リナックス（Ｌｉｎｕｘ）の組み合わせの参照確信度は４（可能性が非常に高い）である）に基づいてリファレンスデータベースから導き出される。
【０１８０】
【表６】
2009504104.tif 000010
【０１８１】
この例で使用される環境プロファイルは小企業用のものであり、以下の表に示す。
【０１８２】
【表７】
2009504104.tif 000011
2009504104.tif 000012
【０１８３】
ＳＭＡＬＬＢＩＺ環境プロファイルを使用して、学習システムは以下のようにノード閾値を計算する。
【０１８４】
【表８】
2009504104.tif 000013
2009504104.tif 000014
【０１８５】
したがって、このノードの閾値は１８．８である。示す実施形態では、全体反応性（この場合では保守的）が計算の最後の最後にノード閾値に適用されることに留意する。
【０１８６】
［状態］
本発明の一実施形態では、学習システムのために、状態情報は４つの異なる情報からなる。
時間カウンタ−現在時刻および学習システムの累積稼働時間を記録する
システムレベル統計−収集された高レベル統計を記録する
リアルタイム状態−リアルタイム状態を記録する
ノード状態−基本ＴＤＦおよび複合ＴＤＦ等の個々の各ノードについての情報を記録する
【０１８７】
［時間カウンタ］
時間カウンタは、学習システムが使用する最新の時間関連情報を記録するために使用される。各種基本ＴＤＦの頻度確信レベルの計算に使用することもできる。時間カウンタは、例えば、以下を含みうる。
最初に開始された時間
最初の開始からの累積稼働時間Ｔ
現在のセッションが最初に開始された時間Ｓ（Ｃ）
現在のセッションの稼働時間Ｅ（Ｃ）−Ｓ（Ｃ）
現在のセッションでの状態ダンプ数
最初の開始からの状態ダンプ数
【０１８８】
［システムレベル統計］
システムレベル統計は、時間の経過に伴ってデータストリームから収集される高レベル統計である。これら統計は、例えば、以下を含みうる。
接続総数
全帯域幅
攻撃総数
【０１８９】
システムレベル統計は、特定のノードに向けられた過去の攻撃の割合（これは非常に容易に行うことができる：ノードに向けられた攻撃総数／攻撃総数）等の特定の複合ＴＤＦを計算するために使用することができる。個々のノードの他の統計も同様にして計算することができる。
【０１９０】
８．１１．３リアルタイム状態
リアルタイム状態は、学習システムが使用する最新の情報を表す。リアルタイム状態は、ノード閾値が計算される方法に影響する。リアルタイム状態は、２つの複合ＴＤＦ、すなわちインターネット規模脅威レベルおよび時刻からなる。これら２つの複合ＴＤＦに従ってノード閾値を調整することができる（高インターネット規模脅威レベルはノード閾値を低減し、オフピーク時間もノード閾値を低減させる）。
【０１９１】
閾値決定要因は以下のフォーマットで記憶される。
・ＴＤＦ名：ＴＤＦの名称
・ＴＤＦ  ＩＤ：このＴＤＦを識別する一意のＩＤ
・ＴＤＦ種別：これが基本ＴＤＦであるか、複合ＴＤＦであるか、それとも管理ＴＤＦであるか。
・値：このＴＤＦに割り当てることが可能な値の数
・リスクレベル：このＴＤＦのリスクレベル
・ＴＤＦ固有データ：これは、このＴＤＦに固有のデータ構造である。このデータ構造を有する場合、新ＴＤＦに固有のデータがこの構造に保たれるため、新ＴＤＦの導入が容易であるが、他のフィールド（上述）はそのままの場所に保持することができる。例えば、インターネット規模脅威レベルのＴＤＦ固有データは、各インターネット監視組織の個々の脅威レベルである。リアルタイム状態は以下の複合ＴＤＦからなる。
・インターネット規模脅威レベル
ＴＤＦ名：インターネット規模脅威レベル
ＴＤＦ  ＩＤ：ＣＴＤＦ０００１
ＴＤＦ種別：複合
値：現在のインターネット脅威レベル、「入手不可能」、または「使用されない」
リスクレベル：環境プロファイルにより決定されるこの複合ＴＤＦの現在のリスクレベル
ＴＤＦ固有データ：各インターネット監視組織の個々の脅威レベル
・時刻
ＴＤＦ名：時刻
ＴＤＦ  ＩＤ：ＣＴＤＦ０００２
ＴＤＦ種別：複合
値：ピーク、オフピーク、「入手不可能」、または「使用されない」
リスクレベル：環境プロファイルにより決定されるこの複合ＴＤＦの現在のリスクレベル
ＴＤＦ固有データ：ピーク期間とみなされる時間期間およびオフピークの時間期間
【０１９２】
［ノード状態］
ノード状態は、所与の時点でのノードの特徴を捕捉する。これは７つの部分、すなわちノードＩＤ、識別、閾値、コンテキスト固有情報、ノードレベル統計、基本ＴＤＦ、および複合ＴＤＦからなる。
・ノードＩＤ：これは学習システムがノードを識別するために使用する一意のＩＤである。
・識別：識別セクションは、学習システムが使用されるコンテキストに固有のフィールドを有する。例えば、学習システムがＴＣＰ／ＩＰネットワークに導入される場合、識別セクション内のフィールドは、ＩＰアドレスおよびＭＡＣアドレスである。他のコンテキスト固有の一意の（またはほどほどに一意の）識別子を識別フィールドの部分として使用することもできる。
・閾値：これは、項８．１０で説明されたようにＴＤＦから計算される現在のノード閾値である。
・コンテキスト固有データ：これは、学習システムが導入されるコンテキストに固有の情報を記憶するデータ構造である。例えば、ＴＣＰ／ＩＰネットワークでは、このデータ構造は、ネットワークのサブネット、既知のＤＮＳサーバ、ＤＨＣＰサーバ等からなる。これらフィールドは、潜在的な攻撃を識別するために応答システムによっても使用される。
・ノードレベル統計
開始された接続数：これは、このノードにより開始された接続数である。ＴＣＰ／ＩＰネットワークでは、これは、このノードにより生成される送信ＳＹＮパケットの数である。
接続総数：このフィールドは、このノードに関連する接続の総数を表す。
・基本ＴＤＦ：これは、上述したようにＴＤＦフォーマットで記憶される基本ＴＤＦのリストである。基本ＴＤＦは項８．６．１において考察したものである（オペレーティングシステム、サービス等）。
・複合ＴＤＦ：これは、上述したようにＴＤＦフォーマットで記憶される複合ＴＤＦのリストである。簡潔にするために、以下のリストでは、それぞれに可能な値およびＴＤＦ固有データ構造に何かあるかについてのみ考察する。現在、ノード状態に記憶されるべき複合ＴＤＦのリストは以下である。
役割：可能な値は「サーバ」、「ワークステーション」、「両方」、「入手不可能」、または「使用されない」である。ＴＤＦ固有データは項８．６．２において説明した現在のｍ：ｎ比である。
過去の攻撃の割合：可能な値はある割合、「入手不可能」、または「使用されない」である。ＴＤＦ固有データは、このノードに向けられた攻撃の現在の数である。
【０１９３】
［参照確信レベル］
本発明の一実施形態では、参照確信レベルはリファレンスデータベースを使用して計算される。図９は、本発明の一実施形態でのリファレンスデータベースを示すブロック図である。図９のリファレンスデータベースは、オペレーティングシステムをそれぞれの可能性の高いサービスおよびアプリケーションにマッピングする。図の一番左側にある「ＯＳ」フィールドは、フィンガープリント処理プロセス（特定のオペレーティングシステムによってのみ示されるデータストリームの一意の特徴を識別する）により得られる実際のオペレーティングシステムおよびバージョンである。次に、実際のオペレーティングシステムが、基本的にバージョンなしのオペレーティングシステムである「ＯＳマイナー」フィールドにマッピングされる。次に、「ＯＳマイナー」フィールドは、このオペレーティングシステムが属するオペレーティングシステムファミリに例えることができる「ＯＳメジャー」フィールドにリンクされる。
【０１９４】
次に、「ＯＳメジャー」フィールドは各種サービスにマッピングされる。各サービスはいくらかのサービス固有情報を有し、図９では、この情報は、サービスの名称、ポート番号、およびサービスが使用するプロトコルを含む。「確信度」フィールドは、「ＯＳメジャー」フィールドと特定のサービスとのマッピングの確信度を表す。例えば、ユニックス（ＵＮＩＸ(登録商標)）−ＳＳＨマッピングは可能性が非常に高い（ＶＬ：ｖｅｒｙ  ｌｉｋｅｌｙ）であるのに対して、ユニックス（ＵＮＩＸ(登録商標)）−ケルベロス（Ｋｅｒｂｅｒｏｓ）マッピングは可能性が高い（Ｌ：ｌｉｋｅｌｙ）である。未知のサービスも説明することができる。この場合、未知のＴＣＰサービスに名称「ｕｋ＿ｔｃｐ」が与えられる。
【０１９５】
サービスは、サービスの提供に使用される可能性が高いサーバソフトウェアを表すサーバにもマッピングされる。例えば、ＷＷＷサービスはアパッチ（Ａｐａｃｈｅ）またはＺｅｕｓ（ゼウス）ウェブサーバソフトウェアにより提供することができる。
【０１９６】
アプリケーションは「ＯＳメジャー」フィールドにもマッピングされる。サービスのように、「ＯＳメジャー」−アプリケーションマッピングも確信レベルを有する。これらアプリケーションの説明は、メジャー名およびマイナー名にさらに分解することができる。例えば、ウェブブラウザのモジラ（Ｍｏｚｉｌｌａ）スイートのメジャー名は「モジラ（Ｍｏｚｉｌｌａ）」であり、マイナー名は「モジラ（Ｍｏｚｉｌｌａ）」、「ファイアフォックス（Ｆｉｒｅｆｏｘ）」、および「ガレオン（Ｇａｌｅｏｎ）」でありうる（モジラ（Ｍｏｚｉｌｌａ）ＨＴＭＬレンダリングエンジンに基づく３つの異なるウェブブラウザ）。
【０１９７】
頻度確信レベル方式（学習システムがどのように時間を使用するか）
この項では、各種基本ＴＤＦの頻度確信レベルを計算するために使用することができる各種方式について説明する。最初に、学習システムが使用されている各種セッション、および学習システムが実際の時間にどのように関連するかを理解することが重要である。一実施形態では、学習システムは電子装置として具現化される。別の実施形態では、学習システムはコンピューティング装置で実行されているソフトウェアとして具現化される。これらのいずれの実施形態でも、管理者は装置をオンオフすることができる。セッションとは、学習システムがオンにされてからオフにされるまでの時間期間を指す。装置の寿命を通して、装置は各ポイントでオンオフされるため（保守、テスト等のために）、多くのセッションがありうる。図１１は、本発明の一実施形態での学習システムの開始および停止を行うプロセスを示すタイミング図である。
【０１９８】
図１２は、本発明の一実施形態での状態ダンプ動作の発生を示すタイミング図である。図示の実施形態では、セッション内に、複数のダンプ状態動作がありうる（図１２では小さなｘで示される）。これらは、状態（上述）が記憶媒体に書き込まれるときである。これら状態ダンプの各ポイントは付番される（Ｄ１、Ｄ２等）。
【０１９９】
本発明の各種実施形態では、学習システムは、異なる方法で時間を認識して使用する。例えば、学習システムは、時間を、
学習システムがオンである限り、タイマ刻み単位で増分し続ける累積カウンタ、
その実施形態から導き出される実際のネットワーク時間、
タイムゾーンが考慮されたことを意味する現地時間、および／または
行われた状態ダンプ動作数
として使用しうる。
【０２００】
学習システムの一実施形態が使用しうる表記は以下である。
Ａ  学習システムが開始された最初の時間である。
Ｃ  現在のセッションを指す。
Ｂ（Ｃ）  学習システム装置が開始される都度記録される時間である。
Ｓ（Ｃ）  状態に記録された現在のセッションの開始時間である。
Ｅ（Ｃ）  最後の状態ダンプ動作が行われた時間である。
ｔｉ  セッションｉの合計時間である。ｔｉはタイマ刻み単位で測定される。但し、タイマ刻みは使用される方式に応じて１分、１秒、または１ミリ秒でありうる。
Ｔ  全セッションの累積稼働時間である（Σｔｉ）。
Ｔｐｒｅｖ  前のセッション（これは、現在のセッションを除くすべてのセッションを意味する）からの累積稼働時間である。
ｄｕｍｐ＿ｃｏｕｎｔ  最初の起動から行われたダンプ数のトラックを保持する。
【０２０１】
Ｓ（Ｃ）は、現在のセッションの開始時間である。これは、ダンプ状態中に状態に記録される。したがって、学習システムが状態からＳ（Ｃ）を読み取り、Ｓ（Ｃ）＝Ｂ（Ｃ）の場合、これはまだ現在のセッションであることを意味する。一致しない場合、これは、装置の再起動が行われたことを意味する。
【０２０２】
時間カウンタを状態にダンプするために使用することができる本発明の一実施形態による１つのアルゴリズムを、以下の擬似コードにより説明する。
前提条件：起動時、Ｂ（Ｃ）＝現在時刻である。
ｄｕｍｐ＿ｃｏｕｎｔｅｒ（）
｛
ｉｆ Ｎｏ Ｓｔａｔｅ ｛
／／状態がない場合、これは、適応型セキュリティシステムを開始する最初の
／／時間である
ＦｉｒｓｔＢｏｏｔ＝Ｂ（Ｃ）;
ｄｕｍｐ＿ｃｏｕｎｔ＝０;
Ｔ＝０;
Ｔｐｒｅｖ＝０;
Ｓ（Ｃ）＝Ｂ（Ｃ）;
Ｅ（Ｃ）＝Ｓ（Ｃ）;
Ｗｒｉｔｅ  Ｓｔａｔｅ
｝ｅｌｓｅ｛
Ｒｅａｄ  Ｓｔａｔｅ ［Ｔ， Ｔｐｒｅｖ， Ｓ（Ｃ）， Ｅ（Ｃ）， ｄｕｍｐ＿ｃｏｕｎｔ］;
ｉｆ（Ｓ（Ｃ）==Ｂ（Ｃ））｛    ／／学習システムは現在セッション中である
Ｅ（Ｃ）＝ｃｕｒｒｅｎｔ  ｔｉｍｅ;
Ｔ＝Ｔｐｒｅｖ  ＋Ｅ（Ｃ）−Ｓ（Ｃ）;
｝ｅｌｓｅ{    ／／最後にダンプされてから再起動が行われた
Ｔｐｒｅｖ＝Ｔｐｒｅｖ＋Ｔ;
Ｓ(Ｃ)＝Ｂ（Ｃ）;
Ｅ（Ｃ）＝Ｓ（Ｃ）;
｝
Ｗｒｉｔｅ  Ｓｔａｔｅ;
ｄｕｍｐ＿ｃｏｕｎｔ＋＋;
｝
｝
【０２０３】
累積稼働時間が状態にコンスタントにではなく定期的に記憶される理由は、記憶媒体に損耗および損傷が生じる可能性があるためであり、これは（上述したように）コンパクトフラッシュ(登録商標)カード等の媒体で典型的である。
【０２０４】
［頻度確信レベルについてのイベント監視］
時間を記録する１つの目的は、頻度確信レベルをイベントに割り当てることができるようにイベント（基本ＴＤＦ等）の監視を容易にすることである。このために多くの方式を使用することができる。本発明の実施形態では、各方式は使用する記憶領域を最小にしようとする。
【０２０５】
３つの時間関連パラメータがイベントについての情報を提供することができる。すなわち、実際のネットワーク時間（例えば、「１８：４９：５５」）、
タイマ刻み単位での累積稼働時間、および
ダンプ数。
【０２０６】
一実施形態では、これら３つのパラメータは、時間コンテキストと呼ばれるデータ構造で記憶される。時間コンテキストには各イベントが関連付けられ、したがって、各イベントについて、いつ発生したか（実際の時刻）、学習システム装置が開始された最初の時刻からいつ発生したか（累積稼働時間）、およびこのイベント前に状態ダンプ動作が何回発生したか（ダンプ数）が分かる。
【０２０７】
イベントの時間コンテキストを現在の時間コンテキスト（現在時刻、現在の累積時間、および現在のダンプ数）と比較することにより、学習システムは、現在時刻に関連してどれくらい前にイベントが発生したのかを推定することができる。
【０２０８】
時間コンテキストを評価する場合に様々な状況が考えられる。図１３、図１４、図１５、および図１６は、本発明のいくつかの実施形態での時間に関連するイベントを示すグラフである。イベントの規則性は各状況で異なる。
【０２０９】
有効であるために、本発明の一実施形態が利用する時間方式は、最小の記憶コストでイベントの履歴特徴を捕捉する。一実施形態では、学習システムは、イベントが時間の経過中に見られる平均回数を使用する。別の実施形態では、学習システムはイベントの最高頻度および最低頻度を使用する。ｘ個の最高頻度およびｙ個の最低頻度だけを記録することも可能である。さらに別の実施形態は、イベントが見られた最初の時間とイベントがアクティブであった最後の時間とを比較することにより方式の頻度確信度を正確に測定することができる。これら方式の組み合わせが可能であり、種々の他の方式も当業者により考えることができる。
【０２１０】
［学習システムおよびリファレンスデータベースの更新］
時々、本発明の実施形態を更新する必要がありうる。例えば、適応型セキュリティシステムを実行するバイナリプログラムならびにリファレンスデータベースおよび環境プロファイルを更新する必要がありうる。これらの理由は多岐にわたる。よりよいアルゴリズム、バグ修正、およびエンジン改良を特徴とするバイナリプログラムの新しいバージョンが利用可能でありうる。より最新のリファレンスデータベースが利用可能でありうる。現在のリファレンスデータベースがこういった新しいリファレンスデータベースで更新される場合、現在の状況をよりよく反映することが可能である。例えば、ＯＳ−Ａｐｐリファレンスデータベースは、オペレーティングシステム、アプリケーション等の最新バージョンに適合するように更新することができる。同様に、特定の環境（よりよい変更子、より正確な初期ノード閾値等）の特徴をよりよく捕捉することができる新しい環境プロファイルがある場合、環境プロファイルへの更新も推奨される。更新は、適応型セキュリティシステムが異なる環境に移され、したがって、新しい環境プロファイルが必要になる場合にも必要である。こういった更新により、ノード閾値をより正確に計算することができるとともに、学習システムおよび応答システムの両方がより有効に機能することができる。
【０２１１】
図１７は、本発明の一実施形態での適応型セキュリティシステムのバイナリプログラムの更新を可能にする構成を示すブロック図である。簡潔にするために、図は適応型セキュリティシステムのみの観点から示されるが、同じ構成および更新技法はリファレンスデータベースおよび環境プロファイルにも同様に適用することが可能である。
【０２１２】
図示の実施形態では、３つのパーティションが示される。すなわち、１つの読み取り専用パーティション１７０２（現在の適応型セキュリティシステムプログラムが記憶されている）、１つの読み取り専用「工場デフォルト」パーティション１７０４（装置と一緒に来たオリジナルの適応型セキュリティシステムプログラムが記憶される）、および読み書きパーティション１７０６。読み書きパーティション１７０６は、一時メモリベースのファイルシステムであることができ、適応型セキュリティシステムが再開されるときに内容が消去される。
【０２１３】
図１７に示す実施形態では、永続的な状態および一時的な状態の場所が示されることに留意する。状態ダンプ動作が書き込む永続的な状態は、読み取り専用パーティションに記憶される。一時状態ダンプ動作は、状態を読み書きパーティションにダンプする。
【０２１４】
図示の実施形態は、更新に使用される２つの「デーモン」を含む。デーモンは、バックグランドで実行されて入力の受信を待つプログラムである。入力が来ると、デーモンは、入力に対して何等かの計算を実行し、それから再び元の待機に戻る。デーモンは、セッション全体にわたって（適応型セキュリティシステムが開始されたときから停止されるときまで）実行される傾向がある。
【０２１５】
２つのデーモンは、更新受信デーモンおよび更新適用デーモンである。更新受信デーモンは、外部ソース（インターネット等）、物理インタフェース（ＵＳＢポート等）、または管理コンソール（シリアルインターフェースを介して適応型セキュリティシステムに取り付けられたコンピュータ等）から更新を受信することが可能である。この考察では、ここでの更新は、適応型セキュリティシステムのバイナリプログラム、リファレンスデータベースのセット、または環境プロファイルのセットを指すことができる。更新が受信されると、更新受信デーモンは、ファイルを読み書きパーティション内の入力ドロップロケーションに書き込む。次に、更新受信デーモンは待機サイクルに戻る。
【０２１６】
更新プロセスは、この時点から先では更新適用デーモンに引き継がれる。更新適用デーモンは、新しい更新を探して入力ドロップロケーションを定期的にスキャンする。更新が現れると（更新受信デーモンが新しい更新をそのロケーションに書き込むと）、更新適用デーモンは、読み書きパーティション内の抽出ロケーションに向けた新しい更新の抽出またはアンパックに進む。更新は圧縮された形態で記憶されたり、多くのファイルから構成されたり、またはファイルセットが圧縮された形態で記憶されていたりするため、抽出またはアンパッキングが必要である。
【０２１７】
抽出後、更新適用デーモンは完全性チェックを行い、更新が有効であることを保証する（更新のメッセージダイジェストの調査から更新のデジタル署名の検証、更新内のファイルの内容の検査まで、各種の完全性チェック方式を使用することができる）。チェックは、使用中の適応型セキュリティシステムのバージョンが更新をサポートし、かつその逆も同様であることを保証するためにも行う必要がある。完全性チェックに合格した場合、読み取り専用パーティション内の実際の適応型セキュリティシステムのバイナリプログラムをここで、抽出ロケーション内の新しいバージョンで置き換えることができる。
【０２１８】
［更新の適用］
この項では、本発明の一実施形態において更新が実際にどのように適用されるかを説明する。これらは更新の適応に使用されるステップである。
・読み取り専用パーティションを読み書き用に再構成する（これは一時的にのみ行われる）。
・更新の新しいバージョンをバックアップロケーションにコピーする。
・状態ダンプ動作を強制する。
・適応型セキュリティシステムプログラムが実行中の場合にはそのプログラムを終了する。
・適応型セキュリティシステムプログラムを抽出ロケーション内の新しい適応型セキュリティシステムプログラムで置き換える。
・適応型セキュリティシステムプログラムを開始する。
・新しい適応型セキュリティシステムプログラムが正常に実行されているか否かをチェックする。正常に実行されていない場合、フェールセーフシャットダウン手続きを呼び出す（以下に示す）。
・正常に実行されている場合、読み取り専用パーティションを再び読み取り専用に再構成する。
・更新が成功したことを示すログファイル（利用できる場合）を書き込む。
・更新ファイルを一時入力ドロップロケーションから消去する。
・適応型セキュリティシステムプログラムを一時抽出ロケーションから消去する。
【０２１９】
フェールセーフシャットダウン手続きが先の上記ステップリストに示されることに留意する。このような実施形態でのフェールセーフシャットダウン手続きは以下のステップを含む。
・現在の適応型セキュリティシステムプログラムを終了する（適応型セキュリティシステムプログラム、またはその任意の構成要素がまだ実行されている場合）。
・オリジナルの適応型セキュリティシステムプログラムをバックアップロケーションから再びプログラムロケーションにコピーすることによりリストアする。
・適応型セキュリティシステムプログラムを開始する。
・一時入力ロケーション内の更新を消去する。
・一時抽出ロケーション内の適応型セキュリティシステムプログラムを消去する。
・更新が失敗したことを示すログを書き込む。
・読み取り専用パーティションを再び読み取り専用に再構成する。
・アプリケーション更新プロセスを終了する。
【０２２０】
［工場デフォルトのリストア］
一実施形態では、以下のステップが使用されて、適応型セキュリティシステムを再び元の「工場デフォルト」構成にリストアされる。
・現在の適応型セキュリティシステムプログラムを終了する。
・一時状態を消去する。
・入力ドロップロケーションをクリアする。
・抽出ロケーションをクリアする。
・読み取り専用パーティションを読み書き用として再構成する。
・永続状態を消去する。
・あらゆる構成ファイルを消去する。
・適応型セキュリティシステムを工場デフォルトロケーション内のプログラムで置き換える。
・読み取り専用パーティションを再び読み取り専用に再構成する。
【０２２１】
［更新の受信］
本発明のいくつかの実施形態では、更新は、インターネット等の外部ソース、ＵＳＢポート等の物理インタフェース、または管理コンソールから受信することができる。こういった更新は各種方法で受信することができる。例えば、本発明の実施形態は、以下に述べる４つの方式を使用することができる。
【０２２２】
方式１：実在しない内部ノードアドレスを使用して更新を外部ソースから受信する
この方式では、適応型セキュリティシステムは、実在しない内部ノードアドレスを呈し、それにより外部ソースに接続して更新を受信することができる。これは、例えば、適応型セキュリティシステムがノードアドレスを有さない（事前に構成することなく任意の環境に統合できるため）状況で使用することができる。
【０２２３】
実在しないアドレスを呈するには、２つの前提条件がある。
・好ましくは、適応型セキュリティシステムが、どのノードが存在し、どのノードが存在していないかについて確信があるように、確立動作モードにある必要がある（が、これは必須ではない）。
・適応型セキュリティシステムは、ある形態の自動アドレス構成装置が使用されていることを知っている（ネットワークドメインでは、このような装置の一例はＤＨＣＰサーバである）。
【０２２４】
この方式は、適応型セキュリティシステムがこれら動作プロファイル、すなわち、ＯＰ１：部門間（図２）およびＯＰ２：典型的な構成（図３）で使用される場合に適する。この方式を使用して更新を受信するステップは、以下である。
・ｅｘｔ＿ｉｎｔｆインタフェースに実在しないノードアドレスを呈する。これは２つの方法で行うことができる。自動アドレス構成装置が使用されている場合、適応型セキュリティシステムはその装置からアドレスを要求することができる。第２の方法は、単にｅｘｔ＿ｉｎｔｆインタフェースが利用不可能なことが分かっているノードアドレスを割り当てる。
・外部ソース（インターネット上のサーバ等）内の更新リポジトリに接続する。
・確立された更新検索プロトコルに従って関連する最新の更新を検索する。
・ノードアドレスをｅｘｔ＿ｉｎｔｆインタフェースから除去する。
・先に概説したステップに従って更新を適用する。
【０２２５】
自動アドレス構成装置が環境内で使用されている場合、この方式は、装置が最初に問い合わせることのないデータストリームの転送をディセーブルしているか否かを知り、それに従って適応する必要もありうることに留意する。
【０２２６】
既存の内部ノードアドレスを使用して外部ソースから更新を受信する
この方式も外部ソースから更新を検索するが、ｅｘｔ＿ｉｎｔｆインタフェースは実在しないものではなく既存の内部ノードアドレスを呈する。この方式の前提条件は、好ましくは、適応型セキュリティシステムが、既存の内部ノードアドレスおよび各ノードが実行するサービスを知るように、確立動作モードにある必要がある（が、これは必須ではない）。この方式は３つの動作プロファイル、すなわち、ＯＰ１：部門間、ＯＰ２：典型的な構成、およびＯＰ３：単一ノードに適する。この方式の実施に使用されるステップは以下である。
・外部ソースに接続する既存ノードアドレスおよび存在しないサービス番号を決定する。ネットワークドメインでは、サービス番号はポート番号であることができる。
・入力接続を更新リポジトリから、決定された既存のノードアドレスを有し、存在しないサービス番号を有する内部保護ノードに転送しないように、応答システムでデータストリームブロックポリシーをセットアップする。
・既存のノードアドレスおよび存在しないサービス番号を使用して、更新リポジトリへの接続を開始する。
・更新リポジトリが返信すると、適応型セキュリティシステムは、まるで先に決定されたアドレスを有する内部ノードであるかのように応答する。応答システムはこのノードおよびサービス番号に対して所定位置に非転送ポリシーを有するため、実際の内部ノードはこの通信をまったく見ることがない。
・適応型セキュリティシステムは引き続き内部ノードとして動作し、確立された更新検索プロトコルと通信し、更新リポジトリからデータストリームの内容を読み取ることにより更新を検索する。
・更新を検索した後、非転送ポリシーを応答システムから除去する。
・上記項の概説したステップに従って更新を適用する。
【０２２７】
管理コンソールからの更新を受信する
この方式は、動作プロファイル、すなわち、ＯＰ１：部門間、ＯＰ２：典型的な構成、およびＯＰ３：単一ノードに適する。ステップを以下のように説明する。
・管理コンソールがｉｎｔｆ０（管理インタフェース）に取り付けられる。
・管理コンソールを使用して、管理者が適応型セキュリティシステムを停止させる。
・ｅｘｔ＿ｉｎｔｆインタフェースのノードアドレスが記録される（最初に外部インタフェースにアドレスが割り当てられている場合）。
・ｅｘｔ＿ｉｎｔｆインタフェースに既存の内部ノードアドレスのアドレスが与えられる。
・更新が、外部ソース内の更新リポジトリから検索される。
・適応型セキュリティシステムが、上述した手続きに従って更新される。
・ｅｘｔ＿ｉｎｔｆインタフェースのノードアドレスが再び、先に記録された元のアドレスに変更される。
・管理者が管理コンソールをシステムから取り外す。
【０２２８】
物理インタフェースから更新を受信する
この方式は、物理インタフェース（ＵＳＢポート等）に挿入されて適応型セキュリティシステムを更新する物理トークン（ＵＳＢフラッシュドライブ等）を使用する。この方式では、物理インタフェース監視デーモンが使用される。この方式は、動作プロファイル、すなわち、ＯＰ１：部門間、ＯＰ２：典型的な構成、およびＯＰ３：単一ノードに適する。ステップを以下のように説明する。
・物理インタフェース監視デーモンが、物理インタフェース上の入力を待つ。
・更新を含む物理トークンが物理インタフェースに挿入されると、デーモンはトークンに論理的に連結する（トークンレイアウトはデーモンが理解可能な形態でなければならない）。
・デーモンは、更新をトークンから読み取り専用パーティションの入力ドロップロケーションにコピーする。
・デーモンは物理トークンとの連結を解除する。この時点で、トークンをプログラム的または物理的に物理インタフェースから取り外すことができる。
・入力ドロップロケーション内の更新が上述したステップに従って適用される。
【０２２９】
本発明の実施形態は、種々の用途に利用することが可能である。例えば、一実施形態は、汎用ネットワーク侵入の検知および抑止に利用することができる。別の実施形態は、特定のネットワーク侵入の検知および抑止に利用される。さらに別の実施形態は、ホストベースの侵入の検知および抑止に利用される。そして、さらなる実施形態が、内部者脅威（悪意のある内部者による電子リソースの乱用）の検知および抑止に利用される。システムのマルチソース性により、他の多くの範囲に適合可能であり、当業者により他の分野に適用されることも可能である。
【０２３０】
［例示的なネットワークセキュリティシステム］
本発明の一実施形態は、学習システムを利用するネットワークセキュリティシステムである。学習システムを利用する適応型セキュリティシステムは、中央または分散した学習・判断・応答ユニットと共に複数の「攻撃解析エンジン（ＡＡＥ）」で構成されるものとして見ることができる。図１８は、本発明の一実施形態での適応型セキュリティシステムのブロック図である。
【０２３１】
図示の実施形態では、各攻撃解析エンジンは特定のタスク専用である。これらタスクは、ネットワーク接続の監視、データストリーム内のパケットの検査、ウィルス、スパイウェア、および他の種類の有害ソフトを探しての送／受信電子メールメッセージの検査、組織方針の違反を探しての送／受信ネットワークトラフィックの内容の検査（内容フィルタリング等）、電子詐欺（フィッシング等）を探しての送／受信ネットワークトラフィックの内容の検査、１つまたは複数のノードに提供される帯域幅の動的な調整、ローカルネットワーク、広域ネットワーク、またはグローバルインターネットのネットワーク攻撃アラートレベルの監視等を含みうるがこれらに限定されない。侵入検知／阻止システムまたはウィルススキャンユーティリティ等の比較的独立したソフトウェアパッケージを、攻撃解析エンジンとして利用してもよい。導入されるセキュリティシステムに、多くの攻撃解析エンジンのどれがどのように利用されるかは様々であってよく、コスト、データスループット要件、環境プロファイル、またはユーザプロファイル等の要因によって決まる。
【０２３２】
図示の実施形態では、各攻撃解析エンジンに、セキュリティターゲットに対する攻撃のレベルまたは激しさを示唆するリスクレベル指標が関連付けられる。リスク指標が値をどのように変更するかは、学習システムによって決定される。リスク指標が割り当てられた閾値を超えるとすぐに、潜在的または現在の攻撃に応答して、中央ユニット（例えば、応答システム）が適当なアクションをとる。
【０２３３】
このような実施形態では、いくつかまたはすべての利用可能なリスクレベル指標を組み合わせて、「総合リスクレベル指標」を得ることができ、次に、セキュリティシステムが総合リスクレベル指標を使用して、対象とするシステムアセットをよりよく保護するという最終的な目標を実現するように挙動を適応的に変更することができる。
【０２３４】
総合リスクレベル指標は、数学的に正しい式を使用して、攻撃解析エンジンに関連するリスクレベル指標（構成要素リスクレベル指標と呼ばれる）から計算することができる。このような式の一例が、構成要素リスクレベル指標の値の加重和である。構成要素リスクレベル指標に割り当てられる重みは、長時間期間にわたって静的であってもよく、または重要性／関連するデータソースの脆弱性等の要因によって決まるように可変であってもよい。より複雑な式は、意図される用途に最適であると決定される非線形数式を含みうる。総合リスクレベル指標は定期的に更新することができる。
【０２３５】
総合リスクレベル指標は全体のリスクレベルをリアルタイムで示唆するため、攻撃からセキュリティターゲットを動的に保護する種々の方法に使用することができる。一例として、総合リスクレベル指標が許容される閾値を超えると、最も重要な構成要素リスクレベル指標を、他の要因と共に総合指標から導き出される値だけ低減し、それにより、これら構成要素指標に関連するアラートレベルを上げることができる。
【０２３６】
さらに別の例として、総合リスク指標が、まだ、割り当てられた閾値未満であるが、その値を加速する速度で増大させている場合、構成要素リスク指標を、潜在的な攻撃に対する先手を打つように先制して調整することができる。
【０２３７】
［潜在的な用途例］
本発明の実施形態は、種々の潜在的な用途に利用することができる。例えば、本発明の一実施形態は、適応型セキュリティを大企業に提供するのに特に有用でありうる。多くの場合、大企業は大規模で複雑なコンピュータネットワークを有する。学習システムは、こういった複雑なネットワークを自動的に学習することができ、人間による手動で構成する必要性が皆無であるかまたは皆無に近いため、ネットワーク管理者の負担を軽減する。
【０２３８】
本発明の実施形態は、小企業にも首尾良く導入することができる。小企業所有者は、ネットワークセキュリティの専門知識を有さない傾向がある。学習システムは、小企業のコンピュータネットワークの特徴を学習することができるため、所有者がネットワークセキュリティを学習する（またはそうする誰かを雇う）必要性を軽減するとともに、専門知識がないことによりセキュリティ装置を誤って構成する危険性を低減することができる。
【０２３９】
ホームユーザは、本発明のさらなる実施形態を利用することができる。小企業所有者のように、ホームユーザは、ホームコンピュータおよびホームネットワークを安全にするために必要なネットワークセキュリティの専門知識を有さない場合がある。ブロードバンドサービスを使用しはじめるホームユーザ数が増えるにつれ（最近のインターネットリサーチ調査によれば、現在、米国内で５戸のうち２戸がブロードバンドを使用している）、こういったホームコンピュータおよびネットワークのセキュリティがますます重要になっている。学習システムは、ネットワークセキュリティを学習する必要性というホームユーザの負担を軽減する。
【０２４０】
出張者も本発明の実施形態を利用することができる。出張者は、出張を通して異なるネットワーク環境でポータブルコンピュータを使用する傾向がある。各ネットワーク環境は異なるセキュリティ脅威を有しうる。学習システムを使用して、新しい環境の詳細を学習することができ、そして、応答システムがセキュリティを出張者に提供することができる。
【０２４１】
各種企業が、販売する製品内に本発明の実施形態を利用することができる。例えば、ファイアウォール企業、侵入検知企業、侵入阻止システムを販売する企業、セキュリティ企業、ネットワークインフラ企業、ＩＴ技術サポートプロバイダ、およびインターネットサービスプロバイダが、製品およびサービスの一環として本発明の実施形態を利用することができる。
【０２４２】
全般を通して
本発明の実施形態の上記説明は、例示および説明のためにのみ提示されたものであり、網羅的である、すなわち本発明を開示された厳密な形態に制限する意図はない。本発明の精神および範囲から逸脱することなく、当業者には多くの変更および適合が明らかになろう。
【図面の簡単な説明】
【０２４３】
【図１】本発明の一実施形態を実施する例示的な環境を示すブロック図である。
【図２】本発明の一実施形態での動作プロファイル（「ＯＰ」）を示すブロック図である。
【図３】本発明の一実施形態での別の動作プロファイル（「ＯＰ」）を示すブロック図である。
【図４】本発明の一実施形態での別の動作プロファイル（「ＯＰ」）を示すブロック図である。
【図５】本発明の一実施形態での別の動作プロファイル（「ＯＰ」）を示すブロック図である。
【図６】本発明の一実施形態での、学習システムがとることができる各種動作モードおよび動作モード間で可能な遷移を示すブロック図である。
【図７】本発明の一実施形態によるハードウェア機器のブロック図である。
【図８】本発明の代替の実施形態でのハードウェア機器としての適応型セキュリティシステムを示すブロック図である。
【図９】本発明の一実施形態でのリファレンスデータベースを示すブロック図である。
【図１０】本発明の一実施形態でのリスクレベルスケールを示す表である。
【図１１】本発明の一実施形態での学習システムの開始および停止を行うプロセスを示すタイミング図である。
【図１２】本発明の一実施形態での状態ダンプ動作の発生を示すタイミング図である。
【図１３】本発明の実施形態でのイベントを時間に関連して示すグラフである。
【図１４】本発明の実施形態でのイベントを時間に関連して示すグラフである。
【図１５】本発明の実施形態でのイベントを時間に関連して示すグラフである。
【図１６】本発明の実施形態でのイベントを時間に関連して示すグラフである。
【図１７】本発明の一実施形態での適応型セキュリティシステムバイナリプログラムを更新できるようにする構成を示すブロック図である。
【図１８】本発明の一実施形態での適応型セキュリティシステムのブロック図である。
【図１】
2009504104.tif 000015
【図２】
2009504104.tif 000016
【図３】
2009504104.tif 000017
【図４】
2009504104.tif 000018
【図５】
2009504104.tif 000019
【図６】
2009504104.tif 000020
【図７】
2009504104.tif 000021
【図８】
2009504104.tif 000022
【図９】
2009504104.tif 000023
【図１０】
2009504104.tif 000024
【図１１】
2009504104.tif 000025
【図１２】
2009504104.tif 000026
【図１３】
2009504104.tif 000027
【図１４】
2009504104.tif 000028
【図１５】
2009504104.tif 000029
【図１６】
2009504104.tif 000030
【図１７】
2009504104.tif 000031
【図１８】
2009504104.tif 000032
【国際調査報告】
2009504104.tif 000033
2009504104.tif 000034
2009504104.tif 000035