(57)【特許請求の範囲】
【請求項１】
脅威検知を実行するための方法であって、
サーバーにおいてクライアントシステムからイベントデータを受信するステップであり、前記イベントデータは、前記クライアントシステム上で発生しているさまざまなイベントに関連付けられているエンティティー識別子の難読化された表示を含みおよび前記エンティティー識別子自体を含まない、ステップと、
前記サーバーにおいて前記イベントデータを受信することに応答して、前記イベントデータが少なくとも１つのサイバー脅威に関連付けられているということを決定するステップであって、前記イベントデータを１または複数の脅威インジケータと比較して、少なくとも１つの脅威インジケータが前記イベントデータにおいて存在しているかどうかを決定するステップを含み、それぞれの脅威インジケータは、少なくとも１つの潜在的なサイバー脅威に関連付けられており、前記イベントデータは、イベントのインデックス付けされた階層を含み、前記インデックス付けされた階層における第１のレベルが、前記インデックス付けされた階層における第２のレベルと比べて異なる時間ベースの粒度に関連付けられている、ステップと、
前記サーバーによって前記少なくとも１つのサイバー脅威の存在を前記クライアントシステムに報告するステップと
を含むことを特徴とする方法。
【請求項２】
前記イベントデータが少なくとも１つのサイバー脅威に関連付けられているということを決定するステップは、前記イベントデータに関連付けられているドメイン名が悪意あるエンティティーに関連しているかどうかを決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記イベントデータを前記１または複数の脅威インジケータと比較するステップは、前記インデックス付けされた階層における前記第１のレベルを前記１または複数の脅威インジケータと比較して、前記第１のレベルと、前記１または複数の脅威インジケータのうちの少なくとも１つとの間においてマッチが存在する場合にのみ、前記第２のレベルへ進むステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記１または複数の脅威インジケータに含まれていないさらなる脅威インジケータを識別するステップと、
前記イベントデータ上で１または複数のリアルタイムフォレンジックオペレーションを実行して、前記さらなる脅威インジケータに関連付けられているサイバー脅威が前記イベントデータにおいて存在しているかどうかを決定するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記少なくとも１つのサイバー脅威の存在を報告するステップは、脅威データのマルチパネル表示を表示するステップを含み、前記マルチパネル表示におけるそれぞれのパネルは、別々のデータ次元に従って前記少なくとも１つの脅威インジケータの存在を提示することを特徴とする請求項１に記載の方法。
【請求項６】
前記データ次元は、脅威の時間、脅威のタイプ、脅威が有効である確実性、脅威の重大度、脅威となるアクションのタイプ、宛先ポート、ソースポート、タグ、および地勢から構成されているグループから選択された少なくとも１つを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記マルチパネル表示における第１のパネルの一部分を選択するためのユーザ入力を受信して、前記選択された部分のさらに詳細なビューを前記第１のパネルにおいて提示するステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記第１のパネルにおける前記選択された部分に基づいて前記マルチパネル表示におけるさらなるパネルを更新するステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記マルチパネル表示における少なくとも１つのパネルが、ディスプレイ表面上でのユーザのタッチを使用して操作されることを特徴とする請求項５に記載の方法。
【請求項１０】
前記脅威データをフィルタリングするための１または複数のパラメータを指定するテキスト検索クエリーを受信して、前記１または複数のパラメータに従ってフィルタリングされた前記脅威データを提示するように前記マルチパネル表示を更新するステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項１１】
第１の脅威インジケータから第２の脅威インジケータを、前記第１の脅威インジケータから抽出されたデータに基づいて生成するステップをさらに含み、前記第２の脅威インジケータは、前記１または複数の脅威インジケータに含まれることを特徴とする請求項１に記載の方法。
【請求項１２】
前記１または複数の脅威インジケータのうちの少なくとも１つを含む脅威データソースから複数の脅威データフィードを受信するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記脅威データフィードのうちのそれぞれに関連付けられている関連性インデックスを算出するステップをさらに含み、所与の脅威データフィードに関する前記関連性インデックスは、前記脅威データフィードに含まれている脅威インジケータが前記クライアントシステムにとっていかに関連しているかを示すことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記複数の脅威データフィードをデジタルストアにおける購入のためにクライアントシステムに提供するステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記複数の脅威データフィードのうちの複数の間においていくつの脅威インジケータが共通しているかを前記クライアントシステムが比較することを可能にするステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
第１の脅威インジケータを処理して、前記第１の脅威インジケータの１または複数のパラメータに基づいてさらなる脅威インジケータを生成するステップと、
前記さらなる脅威インジケータが前記イベントデータにおいて存在しているということを決定するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１７】
イベントデータ上でフォレンジックオペレーションを実行するための方法であって、
サーバーにおいてイベントデータ上でフォレンジックオペレーションを実行するための１または複数の検索パラメータを指定するフォレンジッククエリーをクライアントシステムから受信するステップであり、前記イベントデータは、クライアントシステム上で発生しているさまざまなイベントに関連付けられているエンティティー識別子の難読化された表示を含みおよび前記エンティティー識別子自体を含まない、ステップと、
前記サーバーによって、前記フォレンジッククエリーを受信することに応答して前記検索パラメータのうちの少なくとも１つを満たす１または複数のサイバー脅威を識別するステップであり、それぞれの脅威インジケータは、少なくとも１つの潜在的なサイバー脅威に関連付けられている、ステップと、
前記サーバーによって前記イベントデータ上でリアルタイムフォレンジックオペレーションを実行して、前記イベントデータが前記サイバー脅威のうちの少なくとも１つを示しているかどうかを決定するステップであって、前記イベントデータを１または複数の脅威インジケータと比較して、少なくとも１つの脅威インジケータが前記イベントデータにおいて存在しているかどうかを決定するステップを含み、前記イベントデータは、イベントのインデックス付けされた階層を含み、前記インデックス付けされた階層における第１のレベルが、前記インデックス付けされた階層における第２のレベルと比べて異なる時間ベースの粒度に関連付けられている、ステップと
を含むことを特徴とする方法。
【請求項１８】
少なくとも１つの潜在的なサイバー脅威に関連付けられているさらなる脅威インジケータを生成するために第１の脅威インジケータを拡張する第１の拡張パラメータを受信するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１９】
前記イベントデータ上でリアルタイムフォレンジックオペレーションを実行して、前記さらなる脅威インジケータに関連付けられているサイバー脅威が前記イベントデータにおいて存在しているかどうかを決定するステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
サーバーのプロセッサによって実行されると、前記プロセッサに、
クライアントシステムからイベントデータを受信することであって、前記イベントデータは、前記クライアントシステム上で発生しているさまざまなイベントに関連付けられているエンティティー識別子の難読化された表示を含みおよび前記エンティティー識別子自体を含まない、ことと、
前記イベントデータを受信することに応答して、前記イベントデータが少なくとも１つのサイバー脅威に関連付けられているということを決定することであって、前記イベントデータを１または複数の脅威インジケータと比較して、少なくとも１つの脅威インジケータが前記イベントデータにおいて存在しているかどうかを決定することを含み、それぞれの脅威インジケータは、少なくとも１つの潜在的なサイバー脅威に関連付けられ、前記イベントデータは、イベントのインデックス付けされた階層を含み、前記インデックス付けされた階層における第１のレベルが、前記インデックス付けされた階層における第２のレベルと比べて異なる時間ベースの粒度に関連付けられている、ことと、
前記少なくとも１つのサイバー脅威の存在を前記クライアントシステムに報告することと
をさせる命令を格納するコンピュータ可読メディア。
【請求項２１】
前記イベントデータを前記１または複数の脅威インジケータと比較するステップは、前記インデックス付けされた階層における前記第１のレベルを前記１または複数の脅威インジケータと比較して、前記第１のレベルと、前記１または複数の脅威インジケータのうちの少なくとも１つとの間においてマッチが存在する場合にのみ、前記第２のレベルへ進むステップを含むことを特徴とする請求項２０に記載のコンピュータ可読メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にサイバー脅威検知の分野に関する。
【背景技術】
【０００２】
関連出願の相互参照
本出願は、２０１５年１月３０日に出願された米国特許仮出願第６２／１０９，８６２号、および２０１６年１月２６日に出願された米国特許出願第１５／００７，１３１号の利益およびそれらに対する優先権を主張するものであり、それらは、その全体が参照によって本明細書に組み込まれている。
【０００３】
技術の説明
サイバー脅威検知は、オンラインシステムのセキュリティーインフラストラクチャーの不可欠な部分である。典型的な脅威検知システムの鍵となる部分は、脅威情報フィード、すなわち、不審な行動に関連付けられているエンティティーを示すフィードである。脅威情報フィードからの情報は次いで、オンラインシステムから収集されたイベント情報と比較されて、それらのイベントのうちのいずれかがサイバー脅威に関連付けられている可能性があるかどうかを決定する。いくつかのケースにおいては、脅威情報フィードは、本来なら無害であるイベントがサイバー脅威として誤ってフラグ設定されるようにしてしまう情報を含む可能性がある。これは、誤った情報から生じる偽陽性または偽陰性に起因して、不必要な調査負荷をオンラインシステムのオペレータに課す。
【図面の簡単な説明】
【０００４】
開示されている実施形態は、詳細な説明、添付の特許請求の範囲、および添付の図（または図面）からさらに容易に明らかになる利点および特徴を有している。それらの図の簡単な紹介は、下記のとおりである。
【図１】脅威検知のために構成されているコンピューティング環境を示す図である。
【図２】図１における脅威検知エンジンの詳細な図を示す。
【図３】セキュリティーモニタリングシステムから受信されたアグリゲートされたイベントデータを格納するためのブルームフィルタの階層を示す図である。
【図４−１】所与のセキュリティーモニタリングシステムに関する脅威報告モジュールによって生成された例示的な脅威報告インターフェースを示す図である。
【図４−２】所与のセキュリティーモニタリングシステムに関する脅威報告モジュールによって生成された例示的な脅威報告インターフェースを示す図である。
【図５】脅威検知エンジンによって生成された例示的なフォレンジックインターフェースを示す図である。
【図６】脅威検知エンジンによって生成された例示的なストアインターフェースを示す図である。
【図７】セキュリティーモニタリングシステムから受信されたアグリゲートされたイベントデータに基づいて脅威を検知するための例示的な流れ図を示す。
【図８】マシン可読媒体から命令を読み取ってそれらの命令をプロセッサ（またはコントローラ）において実行するように構成されている例示的なマシンのコンポーネントを示すブロック図である。
【発明を実施するための形態】
【０００５】
図および以降の説明は、単なる例示としての好ましい実施形態に関する。以降の論考から、本明細書において開示されている構造および方法の代替的実施形態が、特許請求の範囲の原理から逸脱することなく用いられることが可能である実行可能な代替案として容易に認識されるであろうということに留意されたい。
【０００６】
いくつかの実施形態に対して詳細に参照が行われ、それらの実施形態の例が、添付の図において示されている。実用的である場合は常に、類似のまたは同様の参照番号が、図において使用されることが可能であり、類似のまたは同様の機能を示すことができるということが留意される。それらの図は、開示されているシステム（または方法）の実施形態を、例示のみの目的で表示している。本明細書において示されている構造および方法の代替的実施形態が、本明細書において記述されている原理から逸脱することなく用いられることが可能であるということを、当業者なら、以降の説明から容易に認識するであろう。
【０００７】
構成の概観
例示的な実施形態として開示されているのは、下流クライアントシステムから受信されたイベント情報を自動制御で処理して、赤色フラグイベント、すなわち、サイバー脅威を示すイベントを識別する脅威分析システムである。オペレーションにおいては、下流クライアントによって運用されているセキュリティーモニタリングシステムが、下流クライアントのコンピューティング環境内で発生したイベントを示すイベント情報を継続的に収集する。それぞれのイベントは、入ってくる要求に関連付けられているインターネットプロトコル（ＩＰ）アドレス、ファイルハッシュ、ドメイン、Ｅメールアドレス、およびその他のタイプの情報など、そのイベントに関連付けられているエンティティー識別子を指定する。モニタリングシステムは、脅威分析システムによって提供されたソフトウェアを使用して、イベント情報を、安全でスペース効率のよいデータ構造へとアグリゲートする。イベント情報は、別々の時間ウィンドウに従ってアグリゲートされることが可能であり、それによって、あるデータ構造は、１カ月にわたってアグリゲートされたイベント情報を含むことができ、別のデータ構造は、１時間にわたってアグリゲートされたイベント情報を含むことができる。モニタリングシステムは、アグリゲートされたイベント情報を格納しているデータ構造をさらなる処理のために脅威分析システムへ送信する。代替的実施形態においては、イベント情報は、アグリゲートされることなく単一のイベントとして脅威分析システムへ送信される。
【０００８】
脅威分析システムはまた、インテリジェンスフィードデータソースから脅威インジケータを受信する。これらの脅威インジケータは、インテリジェンスフィードデータソースによって潜在的な脅威として識別された、ＩＰアドレス、ドメイン名、およびユニフォームリソースロケータ（ＵＲＬ）などのエンティティー識別子を含む。脅威分析システムは、それぞれのセキュリティーモニタリングシステムから受信されたイベント情報を、インテリジェンスフィードデータソースから収集された脅威インジケータと比較する。脅威インジケータが、イベント情報に含まれているエンティティー識別子にマッチした場合には、脅威分析システムは、その脅威インジケータの有効性を決定する。その脅威インジケータが、有効な脅威であると決定された場合には、そのエンティティー識別子に関連付けられているイベントは、赤色フラグイベントとみなされる。脅威分析システムは、イベント情報を処理して、赤色フラグイベントに関連したすべての情報を合成し、赤色フラグイベントを下流クライアントに報告する。
【０００９】
例示的なコンピューティング環境アーキテクチャー
図１は、実施形態による、脅威検知のために構成されているコンピューティング環境１００を示している。示されているように、コンピューティング環境１００は、セキュリティーモニタリングシステム１１０（０）〜１１０（Ｎ）（全体としてセキュリティーモニタリングシステム１１０、および個々にセキュリティーモニタリングシステム１１０）、脅威分析システム１２０、および脅威データソース１３０（０）〜１３０（Ｎ）（全体として脅威データソース１３０、および個々に脅威データソース１３０）を含む。セキュリティーモニタリングシステム１１０（０）〜１１０（Ｎ）のそれぞれは、アドオンモジュール１１５（０）〜１１５（Ｎ）（全体としてアドオンモジュール１１５、および個々にアドオンモジュール１１５）のうちの１つに結合されている。
【００１０】
セキュリティーモニタリングシステム１１０は、イベント収集モジュール１１２およびイベントストア１１４を含む。一実施形態においては、セキュリティーモニタリングシステム１１０は、セキュリティー情報およびイベント管理（ＳＩＥＭ）システムであることが可能である。イベント収集モジュール１１２は、クライアントシステムのコンピューティングインフラストラクチャー内のさまざまなサービスに接続して、それらのサービスからイベント情報を継続的に収集する。そのようなサービスは、ネットワークデバイス、セキュリティーシステム、サーバ、データベース、およびソフトウェアアプリケーションを含む。それぞれのイベントは、少なくともタイムスタンプおよびエンティティー識別子に関連付けられており、それらに、そのイベントは起因すると考えられることができる。エンティティー識別子は、ＩＰアドレス、ドメイン名、ユーザ名、ＭＡＣアドレス、Ｅメールアドレス、ファイルハッシュ、またはその他の任意の技術的に実現可能な一意の識別子であることが可能である。エンティティー識別子へのイベントの帰属は、断定的な帰属または推定された帰属であることが可能である。イベント収集モジュール１１２は、収集されたイベント情報をイベントストア１１４において格納する。
【００１１】
セキュリティーモニタリングシステム１１０に結合されているアドオンモジュール１１５は、イベント情報をアグリゲートする目的で脅威分析システム１２０によってセキュリティーモニタリングシステム１１０に提供されたソフトウェアモジュールである。アドオンモジュール１１５は、イベントアグリゲーションモジュール１１６（あるいは、アグリゲーションモジュール１１６）および構成ストア１１８を含む。イベントアグリゲーションモジュール１１６は、イベントストア１１４において格納されているイベント情報を、脅威分析システム１２０へ送信するためにアグリゲートする。イベントアグリゲーションモジュール１１６は、イベント情報をアグリゲートする際の２つの主な原理、すなわち、データセキュリティーおよびストレージ効率のもとで機能する。両方を達成するために、イベントアグリゲーションモジュール１１６は、イベント情報を、時間効率のよい様式で検索されることが可能であるスペース効率のよい難読化されたデータ構造へとアグリゲートする。これらのデータ構造は、本明細書においては、「アグリゲートされたイベントデータ構造」と呼ばれる。アグリゲートされたイベントデータ構造の例は、ハッシュマップ、ビットマップ、ブルームフィルタ、キー／値ペア、リスト、処理を伴わない生データなどを含む。一実施形態においては、イベントアグリゲーションモジュール１１６は、イベント情報を１または複数のホワイトリストと比較して、目下のまたは差し迫った脅威に関連したイベントではないと以前に判断されたイベントを除外する。それらのホワイトリストは、アグリゲーションモジュール１１６にとって利用可能な脅威情報に応じて構成できるものであることおよび頻繁に変更されることが可能である。
【００１２】
一実施形態においては、イベントアグリゲーションモジュール１１６は、所与の期間、たとえば、年、月、日、時間に関連付けられているイベント情報を、ブルームフィルタ、すなわち、あるタイプのアグリゲートされたイベントデータ構造へとアグリゲートする。一般には、ブルームフィルタは、所与の要素、たとえば、エンティティー識別子のハッシュがそのブルームフィルタに含まれているかどうかをテストするために使用されるスペース効率のよい確率的なデータ構造である。ブルームフィルタを検索することは、偽陽性を生み出す可能性があるが、偽陰性を生み出す可能性はない。オペレーションにおいては、イベントアグリゲーションモジュール１１６は、所与の期間に関連付けられているブルームフィルタを、その所与の期間においてクライアントシステム内で発生したイベントに関連付けられているエンティティー識別子に基づいて生成する。重要なことに、ブルームフィルタは、実際のエンティティー識別子を格納せず、代わりに、そのエンティティー識別子の難読化されたバージョン、すなわちハッシュを格納する。ブルームフィルタは、拡張可能なカウンティングブルームフィルタであることが可能であり、それによって、ブルームフィルタのサイズは、必要に応じて増大されることが可能である。ブルームフィルタは、所与のエンティティー識別子に関して生成されると、そのエンティティー識別子が確実にそのブルームフィルタに含まれていないかどうかを決定するために検索されることが可能である。イベント情報は、ブルームフィルタ以外のデータ構造において同じ様式でアグリゲートされることが可能であるということを当業者なら容易に認識するであろう。
【００１３】
構成ストア１１８は、構成を格納し、その構成に従って、イベントアグリゲーションモジュール１１６がイベント情報をアグリゲートする。そのような１つの構成は、イベント情報が、アグリゲートされたイベントデータ構造へとアグリゲートされる頻度、たとえば、毎日、毎月、毎時、リアルタイムなどである。イベントアグリゲーションモジュール１１６は、その結果として、構成によって指定されている時点で、アグリゲートされたイベントデータ構造を生成する。別の構成は、イベント情報がアグリゲートされることになる期間、たとえば、１年にわたるアグリゲートされたイベント情報、１カ月にわたるアグリゲートされたイベント情報などである。イベントアグリゲーションモジュール１１６は、その結果として、構成ストア１１８において指定されているさまざまな期間にわたるアグリゲートされたイベントデータ構造を生成する。その他の構成は、イベントアグリゲーションモジュール１１６によって生成されるデータ構造、たとえばブルームフィルタに関する最大のサイズおよびエラー率に関連することが可能である。一例においては、これらの構成は、イベントアグリゲーションモジュール１１６によって生成されるデータ構造、たとえばブルームフィルタに関するサイズおよびエラー率の要件を決定する。一実施形態においては、ブルームフィルタに関するサイズおよびエラー率の要件は、ブルームフィルタに関連付けられている期間に応じてさまざまである。たとえば、所与の１年間にわたる難読化されたイベント情報を格納しているブルームフィルタは、当然のことながら、所与の１カ月間にわたる難読化されたイベント情報を格納しているブルームフィルタよりも大きいこと、および高いエラー率を有することが可能である。
【００１４】
一実施形態においては、アグリゲーション中に、イベントアグリゲーションモジュール１１６は、クラッシュ回復の目的で、これまでアグリゲートされたイベント情報に定期的にチェックポイントを設定する。具体的には、セキュリティーモニタリングシステム１１０が全体として、またはイベントアグリゲーションモジュール１１６が特に、アグリゲーションプロセス中にクラッシュを経験した場合には、イベントアグリゲーションモジュール１１６は、アグリゲーションプロセスを最初から開始するのとは対照的に、最後のチェックポイントから回復することができる。
【００１５】
イベントアグリゲーションモジュール１１６は、生成された、アグリゲートされたイベントデータ構造を、脅威検知の目的で脅威分析システム１２０へ送信する。代替的実施形態においては、イベント情報は、アグリゲートされることなく単一のイベントとして脅威分析システムへ送信される。脅威分析システム１２０は、クライアントインターフェースエンジン１２２、脅威検知エンジン１２４、およびフィードインターフェースエンジン１２６を含む。
【００１６】
クライアントインターフェースエンジン１２２は、脅威分析システム１２０がセキュリティーモニタリングシステム１１０と通信することを可能にする統合された双方向の通信インターフェースを提供する。とりわけ、クライアントインターフェースエンジン１２２は、アグリゲートされたイベントデータ構造をセキュリティーモニタリングシステム１１０から受信し、それらのデータ構造を脅威検知エンジン１２４へ送信する。重要なことに、クライアントインターフェースエンジン１２２は、別々のセキュリティーモニタリングシステム１１０にわたってさまざまな通信プロトコルを抽出し、それによって、脅威分析システム１２０のその他のダウンストリームコンポーネントは、それらのさまざまなプロトコルの具体的な知識がなくても機能する。クライアントインターフェースエンジン１２２は、脅威分析システム１２０のダウンストリームコンポーネントが単一の通信をすべてのセキュリティーモニタリングシステム１１０へ送信することを可能にする一対多のプッシュ通信機能を含む。さらに、セキュリティーモニタリングシステム１１０から入ってくる通信に関して、クライアントインターフェースエンジン１２２は、それらの通信にチェックポイントを設定し、それによって、何らかの理由で通信が中断した場合に、セキュリティーモニタリングシステム１１０は、通信を再び最初から開始することを要求されないこととなる。
【００１７】
フィードインターフェースエンジン１２６は、脅威分析システム１２０が脅威データソース１３０から脅威データフィードを受信することを可能にする通信インターフェースを提供する。脅威データフィードは、そのフィードが受信された脅威データソース１３０が脅威とみなした脅威インジケータのリストを含む。フィードインターフェースエンジン１２６は、脅威データフィードを受信し、それらのフィードをさらなる処理のために脅威検知エンジン１２４へ送信する。
【００１８】
脅威検知エンジン１２４は、（１）赤色フラグイベント、すなわち、サイバー脅威を示すイベントを識別すること、（２）赤色フラグイベントに関する詳細なレポートを、関連するセキュリティーモニタリングシステム１１０に提供すること、および（３）入ってくる脅威データフィードの品質を分析することという少なくとも３つの機能を提供する。少なくともこれらの機能を実行する際の脅威検知エンジン１２４のオペレーションが、以降で図２〜図４に関連して詳細に記述されている。
【００１９】
脅威検知プロセス
図２は、図１における脅威検知エンジン１２４の詳細な図を示している。示されているように、脅威検知エンジン１２４は、脅威識別モジュール２０２、脅威報告モジュール２０４、フィード品質モジュール２０６、脅威データフィードストア２０８、およびアグリゲートされたイベントストア２１０を含む。
【００２０】
脅威データフィードストア２０８は、フィードインターフェースエンジン１２６を介して脅威データソース１３０から受信された脅威データフィードを格納する。それぞれの脅威データフィードに関連して、脅威データフィードストア２０８は、そのフィードが受信された脅威データソース１３０に一意に関連付けられている識別子と、そのフィードが受信された時刻と、そのフィードに関連付けられている品質メトリックとを格納する。品質メトリックは、独立したソースから受信されることが可能であり、（以降でフィード品質モジュール２０６に関連して論じられている）脅威検知エンジン１２４によって算出されることが可能であり、または独立したソースから受信されたメトリックと、脅威検知エンジン１２４によって算出されたメトリックとの組合せであることが可能である。
【００２１】
アグリゲートされたイベントストア２１０は、クライアントインターフェースエンジン１２２を介してセキュリティーモニタリングシステム１１０から受信された、アグリゲートされたイベントデータ構造を格納する。それぞれのアグリゲートされたイベントデータ構造に関連して、アグリゲートされたイベントストア２１０は、そのデータ構造が受信されたセキュリティーモニタリングシステム１１０に一意に関連付けられている識別子と、そのデータ構造が受信された時刻と、そのデータ構造が生成された期間とを格納する。
【００２２】
一実施形態においては、アグリゲートされたイベントストア２１０は、セキュリティーモニタリングシステム１１０から受信されたアグリゲートされたイベントデータ構造を、インデックス付けされた階層で格納する。図３は、セキュリティーモニタリングシステム１１０から受信されたアグリゲートされたイベントデータを格納するためのブルームフィルタの階層を示している。示されているように、ブルームフィルタ３０２〜３０８のそれぞれは、別々のレベルの時間ベースの粒度を有する。たとえば、年別ブルームフィルタ３０２は、所与の１年に関連付けられており、月別ブルームフィルタ３０４はそれぞれ、その所与の１年の異なる月に関連付けられており、日別ブルームフィルタ３０６はそれぞれ、１カ月の異なる日に関連付けられており、時間別ブルームフィルタ３０８はそれぞれ、その１日の異なる１時間に関連付けられている。その他のタイプのデータ構造が、図３におけるブルームフィルタに関して示されている同じタイプの階層へと編成されることが可能であるということを当業者なら認識するであろう。
【００２３】
図２へ戻ると、脅威識別モジュール２０２は、アグリゲートされたイベントデータ構造を処理して、赤色フラグイベント、すなわち、セキュリティーモニタリングシステム１１０において取り込まれた、サイバー脅威を示すイベントを識別する。赤色フラグイベントを識別するために、脅威識別モジュール２０２は、特定のセキュリティーモニタリングシステム１１０に関連付けられているアグリゲートされたイベントデータ構造を、そのデータ構造によって表されているエンティティー識別子と、ストア２０８において格納されている脅威データフィードに含まれている脅威インジケータとの間におけるマッチを求めて検索する。
【００２４】
一実施形態においては、脅威識別モジュール２０２は、１または複数のインジケータ拡張技術を介してストア２０８における利用可能な脅威インジケータを拡張する。インジケータ拡張技術によって、脅威識別モジュール２０２が、脅威インジケータの１または複数のパラメータを評価して、それらのパラメータに基づいてさらなるインジケータを生成することが可能となる。たとえば、インターネットプロトコルアドレスを含む脅威インジケータに関しては、脅威識別モジュール２０２は、そのアドレスのドメインを決定することができる。そのドメインに基づいて、脅威識別モジュール２０２は次に、そのドメインに以前に関連付けられたその他のＩＰアドレスを決定する。そしてそれらのさらなるＩＰアドレスも、脅威インジケータ、より具体的には、拡張された脅威インジケータになる。
【００２５】
別の例においては、Ｅメールアドレスを含む脅威インジケータに関しては、脅威識別モジュール２０２は、ドメイン登録者情報に基づいて、そのＥメールアドレスを使用して登録されているドメインを決定することができる。そしてそのドメインも、脅威インジケータになる。別の例においては、脅威識別モジュール２０２は、セキュリティーモニタリングシステム１１０によって提供されたログ情報を分析して、システム１１０によって経験された脅威または攻撃に関連付けられているインターネットプロトコルアドレス、Ｅメールアドレス、ドメイン、またはその他の情報に基づいて、さらなる脅威インジケータを識別することができる。脅威識別モジュール２０２は、拡張された脅威インジケータを、脅威データフィードから直接に受信された脅威インジケータとともにストア２０８において格納する。脅威識別モジュール２０２はさらに、赤色フラグイベントを識別する際に、これらの拡張された脅威インジケータを使用する。
【００２６】
データ構造がブルームフィルタである実施形態においては、脅威識別モジュール２０２は、それぞれの脅威インジケータがそのブルームフィルタにおいて存在していないかどうかを決定する。インジケータが存在していない場合には、ブルームフィルタによって表されているイベントは、その脅威インジケータによって示されている脅威に関連付けられていない。インジケータが存在している場合には（これは、ブルームフィルタのケースにおいては、偽陽性である可能性がある）、ブルームフィルタによって表されている少なくとも１つのイベントは、その脅威インジケータによって示されている脅威に関連付けられている。セキュリティーモニタリングシステム１１０から受信されたブルームフィルタが、（図３において示されているように）時間ベースの階層として編成されている一実施形態においては、脅威識別モジュール２０２は、所与のインジケータが、最も低い粒度に関連付けられているブルームフィルタ（たとえば、年別ブルームフィルタ）において存在しているかどうかを最初に決定し、そこで初めて、より高い粒度（たとえば、月別）に関連付けられているブルームフィルタへ進むことができる。この階層的な検索は、時間効率がよく、それによって、必要なブルームフィルタのみが検索される。ブルームフィルタは、ハッシュマップ、ビットマップ、ブルームフィルタ、キー／値ペア、リスト、処理を伴わない生データなどを含むその他のタイプのイベントデータ構造と置き換えられることが可能であるということを当業者なら認識するであろう。
【００２７】
イベントが、所与の脅威インジケータに関連付けられていると決定された場合には、脅威識別モジュール２０２は、任意選択で、その脅威インジケータに関連付けられている脅威の有効性を調査することができる。いくつかのケースにおいては、脅威インジケータを含む脅威フィードは、完全に正確ではない。したがって、脅威の有効性へのさらなる調査は、セキュリティーモニタリングシステム１１０への脅威の誤った報告の可能性を低減する。いくつかの実施形態においては、脅威識別モジュール２０２は、そのような評価を実行するための手動のプロセスを開始する。いくつかの実施形態においては、脅威識別モジュール２０２は、脅威の有効性を評価するための自動化されたプロセスを伴って構成されている。一例においては、脅威識別モジュール２０２は、脅威の有効性の数値的な確実性を示すそれぞれの脅威に関する脅威確実性スコアを算出する。そのような確実性スコアは、脅威インジケータそのもの、および全体としての脅威フィードに関連した機能を考慮に入れる機械学習アルゴリズムを使用して算出されることが可能である。脅威インジケータ機能の例は、脅威に関連付けられているｗｈｏｉｓ情報、ドメインネームスペース、およびウイルス総合情報を含む。いくつかの実施形態においては、脅威識別モジュール２０２によって算出された脅威確実性スコアは、脅威分析システム１２０の管理者またはその他のユーザによって手作業でオーバーライドされることが可能である。重要なことに、無効であると決定されている脅威は、ストア２０８において格納されている脅威データフィードにおいて無効な脅威としてフラグ設定される。したがって脅威データフィードは、時間とともにますます正確になる。
【００２８】
脅威インジケータにマッチしているエンティティー識別子に帰属されるイベントは、赤色フラグイベントとみなされる。脅威報告モジュール２０４は、イベント情報を収集した必要なセキュリティーモニタリングシステム１１０に赤色フラグイベントの存在を報告する。脅威報告モジュール２０４は、赤色フラグイベントが識別された時での個別のアラート、およびすべての識別された赤色フラグイベントの時間ベースの（たとえば、毎時、毎週、および毎月の）報告を含むさまざまなタイプの報告メカニズムをサポートする。
【００２９】
一実施形態においては、脅威識別モジュール２０２は、ドメイン生成アルゴリズムによって生成されたドメインに帰属される赤色フラグイベントを識別する。ドメイン生成アルゴリズムは、悪意あるエンティティーによって、それらの悪意あるエンティティーのシステムにリンクされている多数のドメイン名を定期的に生成するために使用される。多数のドメイン名は、これらのドメインを追跡して悪意あるものとして事前に識別することを困難にする。そのようなシナリオに対処するために、脅威識別モジュール２０２は、所与のイベントに関連付けられているドメインがサイバー脅威を示しているかどうかを、ドメイン名を分析することによって決定する。ドメイン名の分析は、ドメイン名の長さがしきい値を超えているかどうか、ドメイン名が辞書の言葉を含んでいるかどうか、ドメイン名が、繰り返されている文字を含んでいるかどうか等などのルールに基づくことが可能である。これらのルールは、機械学習を使用して決定されることが可能である。
【００３０】
図４は、所与のセキュリティーモニタリングシステム１１０に関する脅威報告モジュール２０４によって生成された例示的な脅威報告インターフェース４００を示している。脅威報告インターフェース４００は、所与のセキュリティーモニタリングシステム１１０に関して識別された赤色フラグイベントなどの脅威データの多次元の対話型表示を提示する。
【００３１】
脅威報告インターフェース４００は、パネル４０２〜４１２などの複数のパネルを含む。それぞれのパネルは、特定の次元に従って編成された脅威データを表示する。パネルが生成されることが可能であることに準じたさまざまな次元は、脅威の時間（パネル４０２におけるような）、脅威のタイプ、脅威が有効である確実性、脅威の重大度（パネル４０６におけるような）、脅威となるアクションのタイプ（パネル４１２）、宛先ポートおよびソースポート、タグ、ならびに地形を含む。一実施形態においては、脅威報告インターフェース４００は、図４において示されているさまざまなパネルを同じ表示インターフェース上に同時に表示する。代替的実施形態においては、脅威報告インターフェース４００は、個々のパネルまたはパネルのグループに関して別々のインターフェースを生成する。
【００３２】
一実施形態においては、脅威報告モジュール２０４は、所与のセキュリティーモニタリングシステム１１０に関する脅威マップパネル４１０を、そのセキュリティーモニタリングシステム１１０に関して識別された赤色フラグイベントに基づいて生成する。脅威マップパネル４１０は、赤色フラグイベントに関連付けられている地球上のさまざまなロケーションを視覚的に示す。そのようなロケーションは、赤色フラグイベントに関して収集されたイベント情報、および／または脅威インジケータに関する脅威データフィードに含まれている情報に基づいて決定されることが可能である。
【００３３】
一実施形態においては、脅威報告インターフェース４００、およびその中に含まれている個々のパネルは、対話式である。たとえば、脅威報告インターフェース４００が表示されるユーザは、パネルの一部分を選択し、その部分における脅威データを拡大して、その脅威データのさらなる詳細および／またはより詳細な内訳を見ることができる。さらに、脅威報告インターフェース４００における個々のパネルどうしはリンクされることが可能であり、それによって、ユーザ対話が所与のパネルに対する更新をもたらした場合には、１または複数のその他のパネルが同様に更新されることが可能である。たとえば、時間別に脅威データを示しているパネルが所与の期間へズームインした場合には、１または複数のその他のパネルが同様に更新して、その所与の期間において取り込まれた脅威データのみを示す。一実施形態においては、脅威報告インターフェース４００はタッチセンサー方式であり、それによってユーザは、タッチ入力を使用してインターフェース４００およびその中のパネルに対して対話および操作を行うことができる。
【００３４】
脅威報告インターフェース４００はまた、ユーザが、クエリー入力４１４においてテキストクエリーを提供して、インターフェース４００において提示される脅威データをさまざまなカテゴリーに従ってフィルタリングすることを可能にする。そのようなカテゴリーは、インバウンドの／アウトバウンドの脅威、許可された／拒否された脅威、脅威の重大度、脅威のタイプ、時間、宛先／ソースなどを含む。オペレーションにおいては、ユーザがテキストクエリーを入力した場合には、脅威報告モジュール２０４は、そのクエリーのテキストを解析して、そのクエリーにおいて指定されているフィルタリングパラメータを決定する。それぞれのフィルタリングパラメータは、脅威データがフィルタリングされるべきである際に基づくカテゴリーを示し、そのフィルタリングパラメータを満たすことになる値の範囲を任意選択で含む。脅威報告モジュール２０４は、決定されたフィルタリングパラメータに従って所与のセキュリティーモニタリングシステム１１０に関する脅威データを処理する。脅威報告モジュール２０４は、結果として生じるフィルタリングされた脅威データを脅威報告インターフェース４００において提示する。
【００３５】
図２へ戻ると、リアルタイムの（またはリアルタイムに近い）脅威検知とともに、脅威識別モジュール２０２は、所与のセキュリティーモニタリングシステム１１０に関連付けられている、ストア２１０において格納されているアグリゲートされたイベントデータ構造上で履歴分析を実行することもできる。たとえば、以前に脅威として識別されなかったインジケータが今度は脅威として識別された場合には、識別モジュール２０２は、アグリゲートされたイベントデータ構造において過去のイベントを評価して、セキュリティーモニタリングシステム１１０がその脅威を経験したかどうかを決定することができる。
【００３６】
さらに、図３において示されているように、アグリゲートされたイベントデータ構造を時間ベースの階層で編成することは、新たな脅威が識別されている状況においてフォレンジックオペレーションを効率よく実行することを可能にする。アグリゲートされたイベントデータ構造によって駆動されるフォレンジックオペレーションは、１または複数のセキュリティーモニタリングシステム１１０によって経験されているリアルタイムの脅威をエンティティーが調査することを可能にする。オペレーションにおいては、脅威検知エンジン１２４は、アグリゲートされたイベントデータ構造において利用可能な過去のデータ、ならびにストア２０８において格納されている脅威インジケータに基づいて脅威を検索するための１または複数のパラメータを指定するフォレンジック検索クエリーを受信する。脅威検知エンジン１２４は、データ構造の階層的なインデックスを使用してリアルタイムの検索オペレーションを実行して、検索クエリーにマッチするイベントを識別する。脅威検知エンジン１２４は、検索結果を対話式のインターフェースにおいて提示する。
【００３７】
一実施形態においては、フォレンジック検索クエリーは、利用可能な脅威インジケータを拡張して、ひいては、フォレンジックオペレーションの一部とみなされることになるさらなる脅威インジケータを生成するための１または複数のパラメータを指定する。拡張は、フォレンジック検索クエリーのその他の側面にマッチする特定の脅威インジケータまたは脅威インジケータのグループ上で実行されることが可能である。
【００３８】
図５は、脅威検知エンジン１２４によって生成された例示的なフォレンジックインターフェース５００を示している。インターフェース５００は、評価されている脅威データの持続時間をインターフェース５００のユーザが選択することを可能にする持続時間選択要素５０２を含む。インターフェース５００はまた、フォレンジックオペレーションを実行するためのテキストフォレンジック検索クエリーをユーザが提供することを可能にするクエリー入力５０４を含む。
【００３９】
インターフェース５００は、検索クエリーの結果をグラフ要素５０６およびテーブル要素５０８において提示する。グラフ要素５０６は、時間軸上に描かれた検索クエリーにマッチするイベントのカウントを示している。テーブル要素５０８は、検索クエリーにマッチするイベントのうちのそれぞれの詳細を示している。それぞれのイベントに関する詳細は、イベントが発生した時刻、脅威のタイプ、脅威に関連付けられているインターネットプロトコルアドレス、脅威が現実のものであるという確実性レベル、脅威の重大度レベル、および、脅威に関連付けられている任意のメタデータ、たとえばタグを含む。一実施形態においては、インターフェース５００は、特定の詳細を視覚的に強調表示して、ユーザの注目を得る。たとえば、高い重大度レベルを有しているイベントは、強調表示されること、またはその他のイベントと比べて異なる色で着色されることが可能である。
【００４０】
フィード品質モジュール２０６は、脅威データソース１３０から受信されたそれぞれの脅威データフィードに関連付けられている品質メトリックを定期的に算出する。オペレーションにおいては、所与のデータフィードに関して、フィード品質モジュール２０６は、時間とともに無効であるとみなされた脅威インジケータの数を決定する。品質メトリックは、少なくとも、無効な脅威インジケータの数の数値表示である。一実施形態においては、フィード品質モジュール２０６は、それぞれのセキュリティーモニタリングシステム１１０に関する関連性インデックスを生成することもできる。所与のセキュリティーモニタリングシステム１１０に関して、所与の脅威インジケータを使用して赤色フラグイベントが識別された場合には、脅威分析システム１２０は、そのような脅威がセキュリティーモニタリングシステム１１０に関連しているということを示すように、そのタイプの脅威インジケータに関する関連性インデックスを再び算出する。所与のセキュリティーモニタリングシステム１１０に関する脅威フィードまたはあるタイプの脅威インジケータの関連性インデックスは、そのフィードまたはそのタイプの脅威がシステム１１０にとっていかに関連しているかを示す。フィード品質モジュール２０６は、脅威データフィードに関して算出された品質メトリックと、セキュリティーモニタリングシステム１１０に関して算出された関連性インデックスとを脅威データフィードストア２０８において格納する。
【００４１】
品質メトリックおよび関連性インデックスは、いくつかの方法で使用されることが可能である。たとえば、所与の脅威データソース１３０から受信された脅威データフィードの品質メトリックは、脅威データソース１３０からの今後の購入決定を行うために使用されることが可能である。具体的には、脅威データソース１３０から受信されたデータフィードの平均品質メトリックが、最小しきい値を下回っている場合には、今後のデータフィードに対して支払われる価格は、最大額を上限とされることが可能であり、またはデータフィードがまったく購入されないことも可能である。別の例として、脅威検知プロセス中に、脅威識別モジュール２０２は、セキュリティーモニタリングシステム１１０によって取り込まれたイベントとのマッチを生じさせた脅威データフィードの品質メトリックを決定することができる。品質メトリックが、低い品質を示している場合には、脅威識別モジュール２０２は、品質メトリックが、より高い品質を示している場合とは対照的に、より厳格な脅威検証プロセスを実行することができる。
【００４２】
一実施形態においては、脅威検知エンジン１２４は、脅威データフィードを購入するためのデジタルストアを顧客に提供する。デジタルストアにおいては、脅威検知エンジン１２４は、脅威データフィードを相対的な品質メトリックに従ってソートすることができる。脅威検知エンジン１２４は、あるいは、または追加として、脅威データフィードを、その特定の顧客（セキュリティーモニタリングシステム１１０など）に関して算出された関連性インデックスに従って提示することができる。一実施形態においては、脅威検知エンジン１２４は、顧客が、２つ以上の脅威データフィードをそれらの関連性インデックスおよびインジケータオーバーラップ（もしあれば）のサイズに従って比較することを可能にする。インジケータオーバーラップは、２つ以上の脅威データフィードが、少なくともいくつかの共通の脅威インジケータを含んでいる、したがっていくらかのオーバーラップを有している場合に発生する。
【００４３】
図６は、脅威検知エンジン１２４によって生成された例示的なストアインターフェース６００を示している。示されているように、ストアインターフェース６００は、フィード６０６および６０８を含む脅威データフィードのリスト６０２を含む。それぞれのフィードに関して、ストアインターフェース６００は、そのフィードの名前、そのフィードのソース、およびそのフィードに関して算出されている関連性スコアを提示する。たとえば、関連性スコア６０４が、フィード６０６に関して算出されている。ストアインターフェース６００はまた、エンドユーザが、２つ以上のフィードを比較して、それらのフィードの間においてどれぐらい多くのインジケータオーバーラップが存在するかを決定することを可能にする。示されている例示的なイラストにおいては、ユーザは、フィード６０６および６０８を比較のために選択している。ストアインターフェース６００は、フィード６０６と６０８との間において存在するインジケータオーバーラップの量を視覚的に表すオーバーラップ要素６１０を表示している。
【００４４】
図７は、セキュリティーモニタリングシステム１１０から受信されたアグリゲートされたイベントデータに基づいて脅威を検知するための例示的な流れ図を示している。その他の実施形態は、図７において示されているプロセスのステップを異なる順序で実行することができ、異なる、さらなる、および／またはより少ないステップを含むことができる。このプロセスは、脅威検知エンジン１２４などの任意の適切なエンティティーによって実行されることが可能である。
【００４５】
脅威検知エンジン１２４は、クライアントインターフェースエンジン１２２を介してセキュリティーモニタリングシステム１１０から、アグリゲートされたイベントデータをステップ７０２で受信する。アグリゲートされたイベントデータは、所与の期間においてセキュリティーモニタリングシステム１１０によって収集されたイベントに関連付けられている情報を含む。それぞれのイベントは、少なくともタイムスタンプおよびエンティティー識別子に関連付けられており、それらに、そのイベントは帰属させられることが可能である。一実施形態においては、アグリゲートされたイベントデータは、スペース効率のよいデータ構造、たとえばブルームフィルタへと編成され、難読化されることが可能である。
【００４６】
脅威検知エンジン１２４は、脅威データフィードストア２０８において格納されている１または複数の脅威インジケータが、アグリゲートされたイベントデータにおいて存在しているかどうかをステップ７０４で決定する。具体的には、脅威検知エンジン１２４は、アグリゲートされたイベントデータを、脅威データフィードに含まれている脅威インジケータと比較して、脅威インジケータがイベントデータにおいて存在しているかどうかを決定する。脅威インジケータが、アグリゲートされたイベントデータにおいて存在していない場合には、脅威検知エンジン１２４は、ステップ７０６でそれ以上は進まない。しかしながら、脅威インジケータが、アグリゲートされたイベントデータにおいて存在している場合には、脅威検知エンジン１２４は、ステップ７０６でステップ７０８へ進む。
【００４７】
脅威検知エンジン１２４は、アグリゲートされたイベントデータにおいて存在している脅威インジケータに関連付けられている脅威の有効性をステップ７０８で決定する。いくつかの実施形態においては、脅威識別モジュール２０２は、脅威の有効性を評価するための自動化された手順を伴って構成されている。その他の実施形態においては、脅威識別モジュール２０２は、そのような評価を実行するための手動のプロセスを開始する。脅威インジケータに関連付けられている脅威が無効であると決定された場合には、脅威検知エンジン１２４は、ステップ７１０でそれ以上は進まない。しかしながら、脅威インジケータに関連付けられている脅威が有効であると決定された場合には、脅威検知エンジン１２４は、ステップ７１０でステップ７１４へ進む。
【００４８】
脅威が有効であると決定された場合には、脅威インジケータにマッチするエンティティー識別子に帰属されるイベントは、赤色フラグイベントとみなされる。脅威検知エンジン１２４は、イベント情報を収集した必要なセキュリティーモニタリングシステム１１０に赤色フラグイベントの存在および対応する脅威情報をステップ７１４で報告する。脅威報告モジュール２０４は、赤色フラグイベントが識別された時の個別のアラート、およびすべての識別された赤色フラグイベントの時間ベースの（たとえば、毎時、毎週、および毎月の）報告を含むさまざまなタイプの報告メカニズムをサポートする。
【００４９】
例示的なコンピュータシステム
図８は、マシン可読媒体から命令を読み取ってそれらの命令をプロセッサ（またはコントローラ）において実行することができる例示的なマシンのコンポーネントを示すブロック図である。具体的には、図８は、コンピュータシステム８００の例示的な形態におけるマシンの図表示を示している。コンピュータシステム８００は、本明細書において記述されている方法（またはプロセス）のうちの任意の１または複数をこのマシンに実行させるための命令８２４（たとえば、プログラムコードまたはソフトウェア）を実行するために使用されることが可能である。代替的実施形態においては、このマシンは、スタンドアロンのデバイス、またはその他のマシンに接続している接続された（たとえば、ネットワーク接続された）デバイスとして機能する。ネットワーク接続された展開においては、このマシンは、サーバ／クライアントネットワーク環境においてサーバマシンもしくはクライアントマシンのキャパシティー内で、またはピアツーピアの（もしくは分散された）ネットワーク環境においてピアマシンとして機能することができる。
【００５０】
このマシンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、スマートフォン、インターネットオブシングス（ＩｏＴ）アプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または、そのマシンが行うことになるアクションを指定する（シーケンシャルな、もしくはその他の）命令８２４を実行することができる任意のマシンであることが可能である。さらに、単一のマシンのみが示されているが、「マシン」という用語は、個別にまたは共同で命令８２４を実行して、本明細書において論じられている方法のうちの任意の１または複数を実行するマシンの任意の集合を含むようにも理解されなければならない。
【００５１】
例示的なコンピュータシステム８００は、１または複数の処理ユニット（一般的にプロセッサ８０２）を含む。プロセッサ８０２は、たとえば、中央処理装置（ＣＰＵ）、グラフィックスプロセッシングユニット（ＧＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、コントローラ、状態マシン、１もしくは複数の特定用途向け集積回路（ＡＳＩＣ）、１もしくは複数の無線周波数集積回路（ＲＦＩＣ）、またはこれらの任意の組合せである。コンピュータシステム８００はまた、メインメモリ８０４を含む。このコンピュータシステムは、ストレージユニット８１６を含むことができる。プロセッサ８０２、メモリ８０４、およびストレージユニット８１６は、バス８０８を介して通信する。
【００５２】
加えて、コンピュータシステム８００は、スタティックメモリ８０６、グラフィックディスプレイ８５０（たとえば、プラズマディスプレイパネル（ＰＤＰ）、液晶ディスプレイ（ＬＣＤ）、またはプロジェクタを駆動するための）を含むことができる。コンピュータシステム８００は、英数字入力デバイス８５２（たとえば、キーボード）、カーソルコントロールデバイス８１４（たとえば、マウス、トラックボール、ジョイスティック、モーションセンサ、またはその他のポインティング機器）、信号生成デバイス８１８（たとえば、スピーカー）、およびネットワークインターフェースデバイス８２０を含むこともでき、これらはまた、バス８０８を介して通信するように構成されている。
【００５３】
ストレージユニット８１６は、マシン可読媒体８２２を含み、そのマシン可読媒体８２２の上に、本明細書において記述されている方法または機能のうちの任意の１または複数を具体化する命令８２４（たとえば、ソフトウェア）が格納されている。命令８２４は、コンピュータシステム８００によるその実行中に、メインメモリ８０４内に、またはプロセッサ８０２内に（たとえば、プロセッサのキャッシュメモリ内に）、完全にまたは少なくとも部分的に存在することも可能であり、メインメモリ８０４およびプロセッサ８０２も、マシン可読媒体を構成している。命令８２４は、ネットワークインターフェースデバイス８２０を介してネットワーク８２６を通じて送信または受信されることが可能である。
【００５４】
マシン可読媒体８２２は、例示的な実施形態においては単一のメディアであるように示されているが、「マシン可読媒体」という用語は、命令８２４を格納することができる単一の媒体または複数の媒体（たとえば、集中型のもしくは分散型のデータベース、または関連付けられているキャッシュおよびサーバ）を含むと理解されるべきである。「マシン可読媒体」という用語は、マシンによる実行のための命令８２４を格納することができ、ならびに、本明細書において開示されている方法のうちの任意の１または複数をマシンに実行させる任意の媒体を含むとも理解されなければならない。「マシン可読媒体」という用語は、ソリッドステートメモリ、光メディア、および磁気メディアの形態のデータリポジトリを含むが、それらには限定されない。
【００５５】
さらなる考慮事項
本明細書を通じて、単一のインスタンスとして記述されているコンポーネント、オペレーション、または構造を複数のインスタンスが実施することができる。１または複数の方法の個々のオペレーションは、別々のオペレーションとして示され記述されているが、それらの個々のオペレーションのうちの１または複数は、同時に実行されることが可能であり、それらのオペレーションが、示されている順序で実行されることを必要とするものはない。例示的な構成において別々のコンポーネントとして提示されている構造および機能は、組み合わされた構造またはコンポーネントとして実施されることが可能である。同様に、単一のコンポーネントとして提示されている構造および機能は、別々のコンポーネントとして実施されることが可能である。これらおよびその他の変形、修正、追加、および改良は、本明細書における主題の範囲内に収まる。
【００５６】
特定の実施形態は、本明細書においては、ロジック、または、たとえば図１および図２において示されているような複数のコンポーネント、モジュール、もしくはメカニズムを含むものとして記述されている。モジュールは、ソフトウェアモジュール（たとえば、マシン可読媒体上で、もしくは送信信号において具体化されるコード）、またはハードウェアモジュールを構成することができる。ハードウェアモジュールは、特定のオペレーションを実行することができる有形のユニットであり、特定の様式で構成または配置されることが可能である。例示的な実施形態においては、１もしくは複数のコンピュータシステム（たとえば、スタンドアロンのコンピュータシステム、クライアントコンピュータシステム、もしくはサーバコンピュータシステム）、またはコンピュータシステムの１もしくは複数のハードウェアモジュール（たとえば、プロセッサ、もしくはプロセッサのグループ）が、ソフトウェア（たとえば、アプリケーション、またはアプリケーションの部分）によって、本明細書において記述されている特定のオペレーションを実行するように機能するハードウェアモジュールとして構成されることが可能である。
【００５７】
さまざまな実施形態においては、ハードウェアモジュールは、機械的にまたは電子的に実装されることが可能である。たとえば、ハードウェアモジュールは、特定のオペレーションを実行するように（たとえば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）などの特殊用途のプロセッサとして）永続的に構成されている専用の回路またはロジックを含むことができる。ハードウェアモジュールは、特定のオペレーションを実行するようにソフトウェアによって一時的に構成されている（たとえば、汎用プロセッサまたはその他のプログラマブルプロセッサ内に包含されている）プログラム可能なロジックまたは回路を含むこともできる。ハードウェアモジュールを機械的に実装するか、専用の永続的に構成されている回路で実装するか、または一時的に構成されている（たとえば、ソフトウェアによって構成されている）回路で実装するかの決定は、コストおよび時間の考慮事項によって行われる場合があるということが理解されるであろう。
【００５８】
本明細書において記述されている例示的な方法のさまざまなオペレーションは、関連するオペレーションを実行するように（たとえば、ソフトウェアによって）一時的に構成されている、または永続的に構成されている１または複数のプロセッサ、たとえばプロセッサ８０２によって、少なくとも部分的に実行されることが可能である。一時的に構成されているか、または永続的に構成されているかにかかわらず、そのようなプロセッサは、１または複数のオペレーションまたは機能を実行するように機能するプロセッサ実施モジュールを構成することができる。本明細書において言及されているモジュールは、いくつかの例示的な実施形態においては、プロセッサ実施モジュールを含む。
【００５９】
１または複数のプロセッサは、「クラウドコンピューティング」環境における、または「サービス型ソフトウェア」（ＳａａＳ）としての関連するオペレーションの実行をサポートするように機能することもできる。たとえば、オペレーションのうちの少なくともいくつかは、（プロセッサを含むマシンの例としての）コンピュータのグループによって実行されることが可能であり、これらのオペレーションは、ネットワーク（たとえば、インターネット）を介して、および１または複数の適切なインターフェース（たとえば、アプリケーションプログラムインターフェース（ＡＰＩ））を介してアクセス可能である。
【００６０】
オペレーションのうちのいくつかの実行は、単一のマシン内に存在しているだけでなく複数のマシンにわたって展開されてもいる１または複数のプロセッサの間で分散されることが可能である。いくつかの例示的な実施形態においては、１または複数のプロセッサまたはプロセッサ実施モジュールは、単一の地理的ロケーションにおいて（たとえば、家庭環境、オフィス環境、またはサーバファーム内に）配置されることが可能である。その他の例示的な実施形態においては、１または複数のプロセッサまたはプロセッサ実施モジュールは、複数の地理的ロケーションにわたって分散されることが可能である。
【００６１】
本明細書のいくつかの部分は、マシンメモリ（たとえば、コンピュータメモリ）内のビットまたはバイナリーデジタル信号として格納されているデータ上のオペレーションのアルゴリズムまたはシンボル表示という点から提示されている。これらのアルゴリズムまたはシンボル表示は、データ処理技術分野における当業者たちによって、それらの技術者たちの作業の実体を他の当業者たちに伝達するために使用される技術の例である。本明細書において使用される際には、「アルゴリズム」とは、所望の結果へつながるオペレーションまたは同様の処理の首尾一貫したシーケンスである。このコンテキストにおいては、アルゴリズムおよびオペレーションは、物理量の物理的な操作を含む。典型的には、ただし必ずというわけではないが、そのような量は、マシンによって格納されること、アクセスされること、転送されること、組み合わされること、比較されること、またはその他のやり方で操作されることが可能な電気信号、磁気信号、または光信号の形態を取ることができる。「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「シンボル」、「文字」、「用語」、「数」、「数字」等などの言葉を使用してそのような信号を指すことが、主として共通の使用という理由から、時として好都合である。しかしながら、これら言葉は便宜上のラベルにすぎず、適切な物理量に関連付けられるものである。
【００６２】
特に別段の記載がない限り、「処理する」、「算出する」、「計算する」、「決定する」、「提示する」、「表示する」等などの言葉を使用している本明細書における論考は、情報を受信、格納、送信、または表示する１または複数のメモリ（たとえば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組合せ）、レジスタ、またはその他のマシンコンポーネント内の物理的な（たとえば、電子的な、磁気的な、または光学的な）量として表されているデータを操作または変換するマシン（たとえば、コンピュータ）のアクションまたはプロセスを指すことが可能である。
【００６３】
本明細書において使用される際には、「一実施形態」または「実施形態」へのいかなる言及も、その実施形態に関連して記述されている特定の要素、機能、構造、または特徴が、少なくとも１つの実施形態に含まれているということを意味する。「一実施形態においては」という語句が、本明細書におけるさまざまな個所に登場しても、それらは、必ずしもすべて同じ実施形態を指しているとは限らない。
【００６４】
いくつかの実施形態は、「結合される」および「接続される」という表現をそれらの派生語とともに使用して記述されているかもしれない。たとえば、いくつかの実施形態は、２つ以上の要素が直接の物理的なまたは電気的な接触状態にあるということを示すために、「結合される」という用語を使用して記述されているかもしれない。しかしながら、「結合される」という用語は、２つ以上の要素が互いに直接の接触状態にはないが、それでもなお互いに協力または対話しているということを意味することもある。実施形態は、このコンテキストにおいて限定されるものではない。
【００６５】
本明細書において使用される際には、「ｃｏｍｐｒｉｓｅｓ」、「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｅｓ」、「ｉｎｃｌｕｄｉｎｇ」、「ｈａｓ」、「ｈａｖｉｎｇ」という用語、またはそれらのその他の任意の変形は、非排他的な包含をカバーすることを意図されている。たとえば、要素のリストを含むプロセス、方法、製品、または装置は、それらの要素だけに必ずしも限定されず、明示的にリストアップされてはいない、またはそのようなプロセス、方法、製品、もしくは装置に固有のその他の要素を含むことができる。さらに、そうではないと明示されていない限り、「または（もしくは）」は、排他的な「または（もしくは）」ではなく、包括的な「または（もしくは）」を指す。たとえば、ＡまたはＢという条件は、「Ａが真であり（または存在して）、Ｂが偽である（または存在しない）」、「Ａが偽であり（または存在せず）、Ｂが真である（または存在する）」、ならびに「ＡおよびＢの両方が真である（または存在する）」のうちのいずれか１つによって満たされる。
【００６６】
加えて、「ａ」または「ａｎ」の使用は、本明細書における実施形態の要素およびコンポーネントについて記述するために用いられている。これは、便宜上、および本発明の一般的な意味を与えるために行われているにすぎない。そうではないことが意味されているということが明らかである場合は除いて、この記述は、１つまたは少なくとも１つを含むと読み取られるべきであり、単数は複数も含む。
【００６７】
当業者なら、本開示を読めば、本明細書における開示されている原理を通じて、脅威検知のためのシステムおよびプロセスのためのいっそうさらなる代替の構造的なおよび機能的な設計を理解するであろう。したがって、特定の実施形態および応用例が示され記述されているが、開示されている実施形態は、本明細書において開示されている厳密な構造およびコンポーネントに限定されるものではないということを理解されたい。当業者にとって明らかであろうさまざまな修正、変更、および変形が、添付の特許請求の範囲において定義されている趣旨および範囲から逸脱することなく、本明細書において開示されている方法および装置のアレンジ、オペレーション、および詳細において行われることが可能である。
【図１】
0006723267.tif 000002
【図２】
0006723267.tif 000003
【図３】
0006723267.tif 000004
【図４−１】
0006723267.tif 000005
【図４−２】
0006723267.tif 000006
【図５】
0006723267.tif 000007
【図６】
0006723267.tif 000008
【図７】
0006723267.tif 000009
【図８】
0006723267.tif 000010