(57)【特許請求の範囲】
【請求項１】
現在のセッションにおけるイベントのシーケンスの評価のためにコンピュータで実施される方法であって、
プロセッサにより、一組の時間順に並べられたイベントのシーケンスを含む第１のユーザ固有の基準ベースラインを生成するステップと、
前記プロセッサにより、前記現在のセッションにおけるイベントのシーケンスのうちの１つのイベントを受信するステップと、
前記プロセッサにより、前記受信したイベントの属性を使用し、前記現在のセッションにおける前記イベントのシーケンス中の前記受信したイベントの時間的位置に基づいて、前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定するステップと、
前記プロセッサにより、前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かの判定に基づいて、前記現在のセッションにおける前記イベントのシーケンスが、異常なユーザ行動である疑いがあるとみなされるか、それとも、異常なユーザ行動である疑いはないものとみなされるかを判定するステップと
を含む方法。
【請求項２】
前記第１のユーザ固有の基準ベースラインを生成するステップは、各フローがユーザごと及びセッションごとの履歴的イベントの集合である、ユーザに関連する一組の履歴的イベントのフローである未加工ベースラインを使用して、第１のユーザ固有の基準ベースラインを生成することを含む、請求項１に記載のコンピュータで実施される方法。
【請求項３】
前記第１のユーザ固有の基準ベースラインは、前記一組の時間順に並べられたイベントのシーケンス中の各シーケンスに関連する計時データをさらに含み、前記一組の時間順に並べられたイベントのシーケンス中の各シーケンスは、前記ユーザに関連する前記履歴的イベントの特徴的パターンであり、前記計時データは、前記未加工ベースラインにおける履歴的イベントの発生時刻を使用して生成された統計情報を含む、請求項２に記載のコンピュータで実施される方法。
【請求項４】
前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定するステップは、
前記受信したイベントに関連するユーザ識別子に基づいて、複数のユーザ固有の基準ベースラインの中から前記第１のユーザ固有の基準ベースラインを識別するステップと、
前記受信したイベントの前記時間的位置と同じ時間的位置を有する前記第１のユーザ固有の基準ベースラインの前記シーケンス中のイベントを選択するステップと、
前記受信したイベントの属性を前記第１のユーザ固有の基準ベースライン中の前記イベントの同じ属性と比較するステップと
を含み、前記受信したイベントの属性は、イベントタイプである、請求項１〜３の何れか一項に記載のコンピュータで実施される方法。
【請求項５】
前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定するステップは、前記受信したイベントの属性が、ルールの条件において指定された偏差閾値以内であるか否かを判定するステップをさらに含む、請求項１〜４の何れか一項に記載のコンピュータで実施される方法。
【請求項６】
前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定するステップは、
前記受信したイベントの発生時刻と、前記現在のセッションにおける前記イベントのシーケンスのうちの前に受信したイベントの発生時刻との間の時間差を追跡するステップと、
前記時間差を前記第１のユーザ固有の基準ベースラインの前記計時データと比較するステップと
を含む、請求項３、及び、請求項３に直接的又は間接的に従属する請求項４〜５のうちの何れか一項に記載のコンピュータで実施される方法。
【請求項７】
現在のセッションにおけるイベントのシーケンスの評価のためのシステムであって、
プロセッサと、
前記プロセッサに結合されたメモリであって、複数のユーザ固有の基準ベースラインを含むデータリストを記憶するように構成されたメモリと
を含み、前記プロセッサは、
複数のユーザ固有の基準ベースラインのうちの第１のユーザ固有の基準ベースラインを生成し、前記第１のユーザ固有の基準ベースラインが、一組の時間順に並べられたイベントのシーケンスを含み、
前記現在のセッションにおけるイベントのシーケンスのうちの１つのイベントを受信し、
前記受信したイベントの属性を使用し、前記現在のセッションにおける前記イベントのシーケンス中の前記受信したイベントの時間的位置に基づいて、前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定し、
前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かの判定に基づいて、前記現在のセッションにおける前記イベントのシーケンスが、異常なユーザ行動である疑いがあるとみなされるか、それとも、異常なユーザ行動である疑いはないものとみなされるかを判定するように構成される、システム。
【請求項８】
前記プロセッサは、各フローがユーザごと及びセッションごとの履歴的イベントの集合である、ユーザに関連する一組の履歴的イベントのフローである未加工ベースラインを使用して、前記第１のユーザ固有の基準ベースラインを生成するように構成される、請求項７に記載のシステム。
【請求項９】
前記第１のユーザ固有の基準ベースラインは、前記一組の時間順に並べられたイベントのシーケンス中の各シーケンスに関連する計時データをさらに含み、前記一組の時間順に並べられたイベントのシーケンス中の各シーケンスは、前記ユーザに関連する前記履歴的イベントの特徴的パターンであり、前記計時データは、前記未加工ベースラインにおける履歴的イベントの発生時刻を使用して生成された統計情報を含む、請求項８に記載のシステム。
【請求項１０】
前記プロセッサは、
前記受信したイベントに関連するユーザ識別子に基づいて、前記複数のユーザ固有の基準ベースラインの中から前記第１のユーザ固有の基準ベースラインを識別し、
前記受信したイベントの前記時間的位置と同じ時間的位置を有する前記第１のユーザ固有の基準ベースラインの前記シーケンス中のイベントを選択し、
前記受信したイベントの属性を前記第１のユーザ固有の基準ベースライン中の前記イベントの同じ属性と比較することによって、
前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定するように構成される、請求項７〜９の何れか一項に記載のシステム。
【請求項１１】
前記プロセッサは、前記受信したイベントの属性が、ルールの条件において指定された偏差閾値以内であるか否かを判定することによって、前記受信したイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定するように構成される、請求項１０に記載のシステム。
【請求項１２】
データプロセッサを制御し、現在のセッションにおけるトランザクションイベントのシーケンスを評価するための複数の命令を記憶する非一時的コンピュータ読取可能媒体であって、前記複数の命令は、前記データプロセッサに、
複数のユーザ固有の基準ベースラインのうちの第１のユーザ固有の基準ベースラインを生成させ、前記第１のユーザ固有の基準ベースラインは、一組の時間順に並べられたトランザクションイベントのシーケンスを含み、各トランザクションイベントが、金融トランザクションの一部であり、
前記現在のセッションにおけるトランザクションイベントのシーケンスのうちの１つのトランザクションイベントを受信させ、
前記受信したトランザクションイベントの属性を使用し、前記現在のセッションにおける前記トランザクションイベントのシーケンス中の前記受信したトランザクションイベントの時間的位置に基づいて、前記受信したトランザクションイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定させ、
前記受信したトランザクションイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かの判定に基づいて、前記現在のセッションにおける前記トランザクションイベントのシーケンスが、異常なユーザ行動である疑いがあるとみなされるか、それとも、異常なユーザ行動である疑いはないものとみなされるかを判定させるための命令を含む、非一時的コンピュータ読取可能媒体。
【請求項１３】
前記データプロセッサに、第１のユーザ固有の基準ベースラインを生成させる命令は、前記データプロセッサに、各フローがユーザごと及びセッションごとの履歴的トランザクションイベントの集合である、ユーザに関連する一組の履歴的トランザクションイベントのフローである未加工ベースラインを使用して、前記第１のユーザ固有の基準ベースラインを生成させる命令からなる、請求項１２に記載の非一時的コンピュータ読取可能媒体。
【請求項１４】
前記第１のユーザ固有の基準ベースラインは、前記一組の時間順に並べられたトランザクションイベントのシーケンス中の各シーケンスに関連する計時データをさらに含み、前記一組の時間順に並べられたトランザクションイベントのシーケンス中の各シーケンスは、ユーザに関連する前記履歴的トランザクションイベントの特徴的パターンであり、前記計時データは、前記未加工ベースラインにおける履歴的トランザクションイベントの発生時刻を使用して生成された統計情報を含む、請求項１３に記載の非一時的コンピュータ読取可能媒体。
【請求項１５】
前記データプロセッサに、前記受信したトランザクションイベントが前記第１のユーザ固有の基準ベースラインと少なくとも部分的に一致するか否かを判定させる命令は、
前記データプロセッサに、
前記受信したトランザクションイベントに関連するユーザ識別子に基づいて、前記複数のユーザ固有の基準ベースラインの中から前記第１のユーザ固有の基準ベースラインを識別させ、
前記受信したトランザクションイベントの前記時間的位置と同じ時間的位置を有する前記第１のユーザ固有の基準ベースラインの前記シーケンス中のトランザクションイベントを選択させ、
前記受信したトランザクションイベントの属性を前記第１のユーザ固有の基準ベースライン中の前記トランザクションイベントの同じ属性と比較させるための命令を含み、前記受信したイベントの属性は、イベントタイプである、請求項１２〜１４の何れか一項に記載の非一時的コンピュータ読取可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
本願は、２０１１年９月９日に出願された「Rule-Based Analysis of Events Based on Deviation from a Baseline」と題する同時係属中の米国仮特許出願第６１／５３２，９６８号（代理人文書番号第８２８４４８９０号、この出願は、全ての目的のために、本文書において恰も完全に説明されたかの如く、参照により本明細書に援用される。）に基づいて優先権を主張する。本願は、２００８年１０月１日に出願された「Pattern Discovery in a Network System」と題する米国特許第７，９８４，５０２号の全部を、参照により援用する。
【０００２】
コンピュータネットワーク及びシステムは、現代ビジネスにとって不可欠なツールとなった。今日、考えられる実質的にあらゆる事項に関する何テラビットもの情報が、世界中で、ユーザーによってそのようなネットワークに保存され、そのようなネットワークを介してアクセスされている。この情報の多くは、ある程度、秘密的なものであり、その保護が望まれている。情報及びリソースの無権限の使用を検出し、コンピュータネットワーク、及びそこに記憶された情報へのアクセスを獲得するための無権限の者及び／又は装置による攻撃の発見に役立てるために、不正使用検知システム（ＦＤＳ：Ｆｒａｕｄ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）のような侵入検知システム（ＩＤＳ：Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）が開発されている。
【０００３】
侵入を検知するための２つの相補的なアプローチがある。すなわち、知識ベースのアプローチと行動ベースのアプローチである。今日使用されている多くのＩＤＳツールは、知識ベースのものである。知識ベースの侵入検知技術は、捕捉データを、脆弱性を悪用する既存の技術に関する情報と比較することを含む。一致が検出されると、警告が発せられる。一方、行動ベースの侵入検知技術は、システム又はユーザの正常な動作、又は想定される動作（動作のモデルは、種々の手段により収集された参考情報から抽出される。）からの偏差を観測することにより、侵入を見分けることを試みる。疑わしい偏差が観測されると、警告が生成される。
【０００４】
従来のセキュリティシステムは、ルールを使用して種々のイベントを相関付ける。ルールは、種々のユーザ活動イベントを分析し、及び相関付け、それによって侵入を識別するために、具体的には、正常から逸脱した行動パターンを識別するために、使用される場合がある。これらのメカニズムは、多くの標準的相関使用事例を可能にするくらい十分に強力ではあるが、高度な不正攻撃のような一部の侵入は、検出されなかったり、又は、ルールの非常に複雑な組を指定した後に検出されたりすることがある。
【０００５】
本開示は、添付の図面を参照することによって、より良好に理解され、その多数の特徴及び利点が明らかになる場合がある。
【図面の簡単な説明】
【０００６】
【図１】一実施形態によるネットワークセキュリティシステムを示す類型学的ブロック図である。
【図２】一実施形態による、基準ベースライン生成のための処理フロー図である。
【図３】一実施形態による、基準ベースラインからの偏差に基づくユーザ活動イベントの分析のための処理フロー図である。
【図４】一実施形態による、応答動作を発動するための処理フロー図である。
【図５】一実施形態を実施することが可能なコンピュータシステムを示す図である。
【発明を実施するための形態】
【０００７】
セキュリティシステムは、潜在的に何千もの発信源からイベントを受信することがある。ルールを使用して、種々のイベントを相互に関連付けることにより、個々の装置によっては識別されないことがあるセキュリティ関連情報が得られる場合がある。相関ルールに定義されるように、相関は一般に、異なる発信源からの異なるイベントが、共通の事件に関連することを示すことができる。具体的には、例えば相関付けは、イベント間の関係を見つけ出すこと、それらの関係の重要度を推論すること、イベント及びメタイベントに優先順位を付けること、及び動作を行うためのフレームワークを提供することを含む。
【０００８】
本明細書において、ルール、又は「相関ルール」とは、集合体、グループ、及びトリガーのような他の構成と結合されることもある一組の単純な、又は複雑な条件を含む手順を意味する。ルールは、様々な形で使用され、例えば到来イベントが特定の条件及びパターンに合致するか否かを評価すること；相関ルール、並びにアクティブリスト、セッションリスト、及び脅威レベル計算といった他の構成を使用して、異なるイベントからの情報を相互に関連付けること；イベントの重要度に関する意味を推論することなどに使用される。
【０００９】
換言すれば、ルールは、イベントストリームを評価する際の対比の対象となる種々の条件を表す。評価の結果、イベントストリームから意味を抽出するための情報が得られる。一致すると判定された場合、それに応じて、ルールは、動作を開始する場合がある。
【００１０】
条件のほかに、ルールは、閾値（すなわち、発生回数、実行総数）、持続時間、結合基準、及び／又は集計基準をさらに含む場合がある。例えば、次のようなものである：
もし（ログイン試みの失敗）が、（１分）以内に（１０回）（同じ発信源ＩＰアドレスから）発生した場合、（動作）を行う。
【００１１】
このルールの場合、条件は「ログイン試みの失敗」であり、発生回数閾値は「１０」であり、持続時間は「１分」であり、集計基準は「同じ発信源ＩＰアドレスから」である。
【００１２】
ルール条件は、種々のデータモデルを意味する場合がある。例えば、ルール条件は、ネットワーク資産モデルの種々のフィールド又はプロパティを意味する場合がある。ネットワーク資産モデルとは、ネットワーク上の種々のノード及び／又はマシンの表現である。プロパティは、開放ポート、オペレーティングシステム、脆弱性、ビジネス分類などを含む場合がある。
【００１３】
ルール条件は、アクティブリスト及びセッションリストのようなデータリストを意味する場合もある。セッションリストは、ネットワーク上のユーザのイベントトラフィックをユーザに関連付ける。具体的には、セッションリストは、ユーザセッション（例えば、ＤＨＣＰセッション情報、ＶＰＮセッション情報、ユーザからその役割へのマッピング、及びそれらの属性が有効である対応する時間など）に関連する一時的データを保持する構成変更可能なテーブルである。
【００１４】
アクティブリストは、種々のイベントの指定フィールドを集約する構成変更可能なテーブルである。アクティブリストによれば、ある時間（例えば、数日、数週間など）にわたる特定のイベントの追跡が可能となる。集約されたデータは、相関付けに使用可能な場合がある。例えば、データリストは、ある課金サイクルの間に特定のクレジットカードを使用して行われた購入の、ある時点までの合計額を追跡記録する場合がある。例えばクレジット限界に達したことをクレジットカードの所有者に警告するために、ある時点までの合計額は、ルールにより参照される場合がある。
【００１５】
侵入検出の事例では、時間順に並べられたユーザ行動イベントのシーケンス、及びそれらのイベントの各々の間の時間差は、種々の異常、及び異常な行動の識別に適している。具体的には、ユーザの行動をユーザの基準行動と比較することは、不正検出のための異常の適時検出に適している。
【００１６】
しかしながら、ルールは一般に、静的な性質を有するため、ネットワーク及び／又はシステム上の全てのユーザ間における行動パターンの差異を捕捉するには不十分である。さらに、従来のルールエンジンは、単純な結合条件（これは通常、フィールド値の照合に基づいて異なるイベントを関連付ける）、及び、特定時間内に発生する必要があるイベントの数を指定する閾値条件を使用して、種々のイベントを相関付けるルールを指定することができる。こうしたメカニズムは、多くの標準的相関使用事例を可能にするくらい十分に強力ではあるが、複雑な不正攻撃の検出は、このような形で簡単に指定可能なものに比べて、より複雑な条件を必要とすることが多い。
【００１７】
また、静的ルールの複雑な組を使用して、イベントのシーケンスを捕捉し、指定されたイベントシーケンス中の欠落イベントを検出する場合もある。３以上のイベントを有するシーケンスの場合、全ての起こり得るシーケンス偏差を検出するためには、例えばステートマシンを実施するために他のルールを結合するルールのような、膨大な数のルールを生成することが必要となる場合がある。
【００１８】
一実施形態による、ウェブベースの金融トランザクション（例えば、アカウントアクセス）行動、及び他のタイプのユーザ動作イベントにおける異常を検出するための枠組みについて説明する。時間順に並べられたイベントのシーケンスの識別されたパターンに基づいて、及び／又は、当該シーケンスにおけるイベントの各々の間の時間差に基づいて、ユーザ固有のベースラインが決定される。オンラインセッションのプロパティに基づき、種々のルールを使用して、オンライントランザクションが不正なものである可能性があるか否かが、検出される場合がある。オンラインアカウントとのユーザの対話、又は他のセッション（例えば、ウェブセッション）に対応するイベントが、ユーザ固有のベースラインと比較される。ユーザのベースライン、又は想定される行動からの大きな偏差は、不正の可能性としてフラグを立てられる場合がある。さらに、不正な／疑わしいイベントは、セキュリティシステムの全く異なる部分に前もって捕捉されることにより、セキュリティ情報と関連付けられ、システムのより完全な一覧を得ることができる。
【００１９】
オンライン金融トランザクション不正の場合、検出は、ユーザのオンラインセッションの分析に基づいて行われる。特定のユーザにとって、正常なオンラインセッションは、７つのウェブページ（すなわち、ログインページ、ホームページ、アカウント残高ページ、資金振替ページなど）を特定順序で訪問することを含むかもしれない。この例では、資金振替トランザクションは、約５分以内に完了する。事例によっては、ユーザが、このトランザクションにとって通常のステップを飛ばした場合（すなわち、アカウント残高ページへ移動しなかった場合）、想定される順番とは違う順序でステップを実行した場合、セッション中にトランザクションの完了前に２０秒を単に消費した場合、又は想定されるステップ間における時間間隔がそのユーザにとって正常な行動から大きくずれている場合に、その異常性は、不正アクセスを示す場合がある。
【００２０】
一実施形態において、イベントの評価のためのシステム及び方法を提供する。一組の時間順に並べられたイベントのシーケンスを含むユーザ固有の基準ベースラインを生成する。現在のセッションにおけるイベントシーケンスのうちの１つのイベントを受信する。そのイベントの属性、及び、現在のセッションにおけるイベントシーケンス内のそのイベントの時間的位置を使用して、そのイベントが、基準ベースラインと少なくとも部分的に一致するか否かの判定がなされる。ルールの条件が分析され、相関付けイベントが生成される。
【００２１】
図１は、一実施形態による、ネットワークセキュリティシステム１００を示す幾何ブロック図である。システム１００は、エージェント１２ａ〜１２ｎ、少なくとも１つのマネージャ１４、及び少なくとも１つのコンソール（これには、ブラウザベースのバージョンも含まれ得る。）を含む。一部の実施形態において、エージェント、マネージャ、及び／又はコンソールは、単一プラットフォームとして結合される場合もあれば、２、３、又はそれ以上のプラットフォームに分散される場合もある（例えば、図示した例におけるように）。この多段階アーキテクチャの使用によれば、コンピュータネットワーク又はシステムの成長に伴う規模の拡大縮小が可能となる。
【００２２】
エージェント１２ａ〜１２ｎ（これらは、機械読取可能な命令である。）は、種々のネットワークセキュリティ装置及び／又はアプリケーションからの効率的なリアルタイム（又は略リアルタイム）ローカルイベントデータ捕捉、及びフィルタリングを提供するソフトウェアプログラムである。セキュリティイベントの一般的発生源は、ファイアウォール、侵入検知システム、及びオペレーティングシステムログのような共通のネットワークセキュリティ装置である。エージェント１２ａ〜１２ｎは、イベントログ又はメッセージを生成する任意の発生源からイベントを収集することができ、また、ネットワーク内の種々のコンソリデーション・ポイントにおいて、及び／又はＳＮＭＰ（シンプル・ネットワーク・マネジメント・プロトコル）トラップを通して、ネイティブ装置において動作することができる。
【００２３】
エージェント１２ａ〜１２ｎは、手動プロセスと自動プロセスの両方を通して、及び、関連コンフィギュレーションファイルを介して、構成変更可能である。各エージェント１２は、正規化コンポーネント、時間相関コンポーネント、集計コンポーネント、バッチ・コンポーネント、リゾルバ・コンポーネント、トランスポート・コンポーネント、及び／又は、さらに別のコンポーネントを含む、少なくとも１つのソフトウェアモジュールを含む場合がある。これらのコンポーネントは、コンフィギュレーションファイル内の種々の適当なコマンドによって有効化され、及び／又は無効化される場合がある。
【００２４】
マネージャ１４は、ルールエンジン１８及び中央集中型イベントデータベース２０を使用して、エージェントから受信したフィルタイベント及び相互関連イベントをさらに統合するサーバベースの種々のコンポーネントから構成される場合がある。マネージャ１４の１つの役割は、セキュリティ活動の完全な企業規模の図式を構成するための全てのリアルタイムデータ及び履歴データを捕捉し、記憶することである。マネージャ１４は、中央集中型の管理、通知（少なくとも１つの通知手段２４を通して）、及び報告をさらに提供するとともに、知識ベース２８及び事件管理ワークフローをさらに提供する。マネージャ１４は、如何なるコンピュータハードウェアプラットフォーム上に配備されてもよく、一実施形態は、データベース管理システムを使用して、イベントデータ記憶コンポーネントを実施する。マネージャ１４とエージェント１２ａ〜１２ｎとの間の通信は、双方向（例えば、マネージャ１４は、エージェント１２ａ〜１２ｎを有するプラットフォームへコマンドを送信することができる）であり、暗号化されていてもよい。一部の施設において、マネージャ１４は、複数のエージェント１２ａ〜１２ｎのための集線装置として機能する場合があり、情報を他のマネージャ（例えば、本社に配備される）へ転送することができる場合がある。
【００２５】
マネージャ１４は、少なくとも１つのイベントマネージャ２６をさらに含み、イベントマネージャ２６は、エージェント１２ａ〜１２ｎ及び／又は他のマネージャにより送信されたイベントデータメッセージを受信すること、並びに他のマネージャからイベント概要データを受信することについて責任を負う。イベントマネージャ２６は、相関付けイベント及び監査イベントのようなイベントデータメッセージを生成することについても責任を負う。エージェント１２ａ〜１２ｎとの間で双方向通信が実施される場合、イベントマネージャ２６は、エージェント１２ａ〜１２ｎへメッセージを送信するために使用される場合がある。エージェント−マネージャ間通信に暗号化が使用される場合、イベントマネージャ２６は、エージェント１２ａ〜１２ｎから受信したメッセージを復号すること、及び、エージェント１２ａ〜１２ｎへ送信される任意のメッセージを暗号化することについても責任を負う。
【００２６】
イベントデータメッセージを受信した後、イベントデータは、ルールエンジン１８に渡される。ルールエンジン１８は、一致するルールを識別するために、イベントデータと種々の相関ルールとの間の相互相関を求めるように構成される。
【００２７】
ルールにより発動される動作には、（例えば、通知手段２４により）指定された宛先（例えば、セキュリティ分析者は、コンソール１６、ｅｍａｉｌメッセージ、電話呼び出し、携帯電話、ボイスメールボックス及び／又はページャ番号若しくはアドレスを介して、あるいは、ファクシミリマシン等のような他の通信装置及び／又は宛先へのメッセージによって、通知を受けることがある。）へ送信される通知、及び／又は、（例えば、エージェント１２などによる）ネットワーク装置への命令が、含まれ得る。
【００２８】
コンソール１６は、セキュリティ専門家が、イベント監視、ルール作成、事件調査、及び報告のような、日々の管理及びオペレーション業務を実施することを可能にするコンピュータ（例えば、ワークステーション）ベースのアプリケーションである。単一のマネージャ１４が、複数のコンソール１６をサポートすることができる。
【００２９】
一部の実施形態において、ブラウザベースバージョンのコンソール１６は、セキュリティイベント、知識ベースの記事、報告、通知、及び事件へのアクセスを可能にするために使用される場合がある。すなわち、マネージャ１４は、パーソナルコンピュータ又はハンドヘルドコンピュータ上に設けられた、コンソール１６の機能の一部又は全部を提供するウェブブラウザ（これが、コンソール１６の代わりとなる）を介してアクセス可能なウェブサーバ・コンポーネントを含む場合がある。ブラウザアクセスは、コンソール１６から離れたところにいるセキュリティ専門家、及び非常勤ユーザにとって、特に有用である。コンソール１６とマネージャ１４との間の通信は、双方向であり、暗号化されていてもよい。
【００３０】
中央集中化され又は分散された環境は、上記アーキテクチャによりサポートされる場合がある。これが有用である理由は、組織は、システム１００の単一のインスタンスを実施し、アクセスコントロールリストを使用してユーザを区分することを望む場合があるからである。あるいは、組織は、複数のグループの各々について個別のシステム１００を配備し、その結果を「マスター」レベルで統合することを選択する場合がある。そのような配備によれば、「フォロー・ザ・サン（Ｆｏｌｌｏｗ  ｔｈｅ  Ｓｕｎ）」構成をさらに実現することができ、フォロー・ザ・サン構成では、標準営業時間に現在働いているグループに対する監視責任を回避しつつ、地理的に分散されたピアグループが、互いに協働する。システム１００はさらに、企業階級を成すように配備されることがあり、その場合、種々の事業部が個別に機能し、中央集中型管理機能へのロールアップをサポートする。
【００３１】
ネットワークセキュリティシステム１００は、異常検出機能をさらに含む。一実施形態において、マネージャ１４は、未加工ベースラインモジュール３１Ａ、基準ベースラインモジュール３１Ｂ、及びローカルメモリ３２をさらに含む。
【００３２】
未加工ベースラインモジュール３１Ａは、イベントマネージャ２６を介してエージェント１２ａ〜１２ｎのうちの少なくとも１つから、データベースマネージャ２２を介してイベントデータベース２０から、又はイベントマネージャ２６から、セキュリティイベントのような一組のイベントを受信するように構成される。未加工ベースラインモジュール３１Ａは、イベントにおいて与えられるようなユーザＩＤ及びセッションＩＤを使用して、イベントをユーザごと及びセッションごとにそれぞれグループ化するようにさらに構成される。
【００３３】
セッションによるグループ化は、例えば、イベントのセッション識別子（ＩＤ）（例えば、ウェブセッション識別子）に従って実施される場合がある。他の実施形態において、セッションベースのグループ化は、イベントのタイムスタンプを検査し、一組のイベントのタイムスタンプが時間的に近接している場合、その一組のイベントを同じセッションの一部であるものと判定することにより実施される場合がある。換言すれば、イベントは、イベント（例えば、トランザクション）間の時間的近接度によってグループ化される。
【００３４】
未加工ベースラインモジュール３１Ａは、セッション中に行われたユーザ行動のシーケンス、及びそれらの行動間の時間差を識別し、未加工ベースラインを生成するようにさらに構成される。未加工ベースラインモジュール３１は、未加工ベースラインを、データリストモジュール３０のアクティブリスト及び／又はセッションリストのようなデータリストに記憶するように構成される。
【００３５】
基準ベースラインモジュール３１Ｂは、異常を識別するために受信イベントのシーケンスを分析する際の対比の対象となる基準ベースラインを生成するように構成される。基準ベースラインモジュール３１Ｂは、具体的には、未加工ベースラインを使用して、ユーザごとの履歴レコードを形成する時間順に並べられたイベントのシーケンスの共通及び特徴的パターンを識別するように構成される。さらに、特徴的イベントシーケンスにおけるイベントの各々の間の時間差を判定する。
【００３６】
基準ベースラインモジュール３１Ｂは、例えば特定のイベントフローについての全セッションを通しての個々のイベントの発生数を含む、イベントフローに関する統計情報を計算するようにさらに構成される。未加工ベースラインモジュール３１Ａ及び基準ベースラインモジュール３１Ｂは、図示のように独立したモジュールであってもよいし、又は、ルールエンジン１８のような他のコンポーネントと一体化されてもよい。
【００３７】
ルールエンジン１８は、イベントマネージャ２６を介してエージェント１２ａ〜１２ｎのうちの少なくとも１つから、データベースマネージャ２２を介してイベントデータベース２０から、又は、イベントマネージャ２６から、セキュリティイベントのような一組のイベントを受信するように構成される。さらに、ルールエンジン１８は、到来イベントのシーケンス及び現在のセッションの時間データ（時間差を含む）を特定ユーザに関連する基準ベースラインと比較し、現在のセッション情報が基準ベースラインと一致しない場合、ルール実行を開始するように構成される。
【００３８】
ネットワークセキュリティシステム１００は、データリスト機能をさらに含む。一実施形態において、マネージャ１４は、データリストモジュール３０、及びローカルメモリ３２をさらに含む。データリストモジュール３０は、セッションリスト及び／又はアクティブリストを管理するように構成される。さらに、データリストモジュール３０は、イベントマネージャ２６を介してエージェント１２ａ〜１２ｎのうちの少なくとも１つから、若しくはイベントマネージャ２６自体から、セキュリティイベントのような一組のイベントを受信し、並びに／又は、未加工ベースラインモジュール３１Ａ及び基準ベースラインモジュール３１Ｂのうちの少なくとも一方からユーザ固有のベースラインを受信するように構成される。セッションリスト、及び／又はアクティブリストは、ローカルメモリ３２上の種々のテーブル（すなわち、マスターテーブル及び／又はローカルテーブル）において管理される場合がある。一実施形態において、データリストテーブル中の各レコードは、ユーザ固有の、セッション固有のイベントフローを表す。単一ユーザについて複数のイベントフローが存在する場合がある。例えばユーザが、金融トランザクションの複数のセッションに関与しているときは、そのような場合がある。
【００３９】
ローカルメモリ３２は、任意の適当な記憶媒体であってよく、マネージャ１４自体に配置されても、マネージャ１４を含むクラスタに配置されても、又はマネージャ１４にとってアクセス可能なネットワーク上に配置されてもよい。
【００４０】
ベースライン生成
金融トランザクションの最中における不正のような潜在的侵入の検知は、基準ベースラインの生成によって容易になる。基準ベースラインは、ユーザの（正常又は異常）な行動又は取引の履歴的パターンを表す。そして、基準ベースラインにおけるそれらのパターンは、ユーザの行動の異常性の検出に使用される。
【００４１】
図２は、一実施形態による基準ベースラインの生成のための処理フロー図である。図示の処理フロー２００は、種々の実行可能命令のシーケンスの実行により実施される場合がある。他の実施形態において、処理フロー２００の種々の部分は、ネットワークセキュリティシステムの種々のコンポーネント、例えば特定用途向け集積回路（ＡＳＩＣ）等のようなハードウェアロジックの構成によって実施される。例えば、処理フロー２００の種々のブロックは、ネットワークセキュリティシステムの未加工ベースラインモジュールにおいて、実行可能命令の種々のシーケンスの実行により実施される場合がある。例えば、未加工ベースラインモジュールは、ネットワークセキュリティシステムにおいて、マネージャに配備される場合がある。さらに、処理フロー２００の種々のブロックは、ネットワークセキュリティシステムの基準ベースラインモジュールにおいて、実行可能命令の種々のシーケンスの実行により実施される場合がある。例えば、基準ベースラインモジュールは、ネットワークセキュリティシステムにおいて、セキュリティマネージャに配備される場合がある。
【００４２】
ネットワークセキュリティシステムは、セキュリティイベント及びアプリケーションイベントのようなイベントを監視し、及び分析する。ウェブベースの金融トランザクションの事例においては、アプリケーションイベントには、例えば、銀行残高を照会したり、ユーザのクレジットカードアカウントから入出金する資金の移動を開始したり、支払先を追加したり、又はアカウント情報を更新したりする等のための、例えばウェブクリックによるオンライン金融システムを利用したユーザによる操作のような、ユーザ活動イベント／金融トランザクションイベントが含まれる場合がある。一実施形態において、特定セッション（例えば、ウェブセッション、ログインセッションなど）における、金融システムにおける特定ユーザによるページごとの各移動は、イベントフローとしてグループ化される。従って、イベントフローとは、ユーザごと及びセッションごとのイベントの集合である。あるイベントのユーザ及び／又はセッション情報は、そのイベントにおける種々のフィールドから決定される場合がある。イベントには、例えば、セキュリティイベント、アプリケーションイベント（例えば、金融トランザクションイベント）、及び、セキュリティシステムが監視する対象となるシステムに配備された種々のエージェントにより生成される他のタイプのイベントがある。
【００４３】
ステップ２１０において、未加工ベースラインが決定される。本明細書において、未加工ベースラインとは、特定ユーザに関連する一組の履歴的イベントフロー及び時間差情報である。未加工ベースラインは、複数セッションのイベントフローを含む場合がある。それらのイベントフローは、ユーザに関連する履歴レコードを形成する。一実施形態において、イベントフローは、ユーザごと及びセッションごとに、時間順に並べられたイベントのシーケンスに編成される。さらに、各イベントフローについて、シーケンス中のイベントの各々の間における時間差、及び／又は、セッション中で消費された全時間が判定される。あるイベントと次の順番のイベントとの間の時間差は、あるイベントの発生時刻と、次の順番のイベントの発生時刻との間の差をとることによって判定される場合がある。
【００４４】
下記の表１は、データリストのイベントテーブルに含まれることがあるような、ユーザ１に関連する部分的未加工ベースラインの一例である。この未加工ベースラインは、時間差情報を含む。
【００４５】
【表１】
0005941149.tif 000002
【００４６】
イベントフローは、ユーザの「正常」な行動を表す。他の実施形態において、イベントフローは、「異常」な行動を表す。例えば、事後分析が実施され、それによって、イベントフローは、正常又は異常のいずれかであるとしてフラグが立てられる。
【００４７】
一実施形態において、未加工ベースラインは、トランザクションログ、又はイベントデータベース等から得られる既存の履歴的イベントフロー（ユーザ動作イベントのシーケンスを含む）に基づいて、例えばバッチ処理により形成される。その後、未加工ベースラインは、例えばセキュリティシステムにおけるマネージャによって、リアルタイムに、又は新たなイベントの受信に従ってバッチモードで、更新される場合がある。
【００４８】
ステップ２２０では、未加工ベースラインに基づいて、時間順に並べられたイベントの特徴的シーケンスが識別される。一実施形態では、未加工ベースラインに関連するイベントフロー及び計時データを分析することにより、特定ユーザの取引又は行動のパターンを判定する。パターン認識又は識別は、ユーザ固有の未加工ベースラインにおいて種々のイベントフローを結合し、それによって、あるパターンが識別されたときに、特徴的イベントシーケンスが時間順に並べられたイベントのシーケンスとして表されるようにすることを含む。
【００４９】
一実施形態において、金融システムにおけるユーザの実際のページごとの移動の履歴にパターンがあるか否かが、分析される。例えば、ユーザは通常、月々のクレジットカード明細書について支払い予定を立てる前に、クレジットカードオンラインサイト上のログインページからセッションを開始し、アカウント残高を照会し、現在の支払い期間についてのトランザクションの概要を照会し、最後に支払予定ページへ移動することが、未加工のベースラインからかすかに判明する場合がある。その場合、このパターンが、時間順に並べられたイベントのシーケンスとして表される。
【００５０】
さらに、ユーザ固有の未加工ベースライン中の特定イベントの発生回数を追跡する場合、例えばパターン発見を実施する場合があり、未加工ベースライン及び当該発生回数を使用して、ユーザ活動の裏付けグラフを生成する場合がある。パターン発見は、２００８年１０月１日に出願された米国特許第７，９８４，５０２号に詳しく記載されており、この特許は、参照により、その全体が本明細書に援用される。パターン発見の他の方法が使用される場合もある。
【００５１】
ステップ２３０では、未加工ベースラインに基づいて、イベントシーケンスについて計時データが判定される。一実施形態において、計時データは、最小時間、最大時間、平均時間、及び標準偏差のような、イベントシーケンスに関する種々の統計情報を含む。
【００５２】
一実施形態において、同じイベントシーケンス又はそのサブセットを有する（特定ユーザについての）未加工ベースライン中のイベントフローは全て、１つにグループ化される。先に説明したように、各イベントフローは、フロー中の連続した各イベント間の時間差に関するデータをさらに含む。例えば、表１に示したように、あるイベントフロー（すなわち、セッションＩＤ３）において、ログインページからアカウント残高照会ページまでのナビゲーション間の時間差は、５秒である。他のイベントフロー（すなわち、セッションＩＤ４）において、それら２つのページ間の時間差は、７秒である。
【００５３】
最小時間統計情報は、あるセッションの最中に、イベントフローにおいて、ある特定のイベントから次の順番のイベント（又は、その後発生する別のイベント）へ移動したときに、履歴上ユーザによって実行された最小時間である場合がある。表１に示したような例を使用する場合、ログインページからアカウント残高照会ページまでの移動を含む３つのイベントフローが存在する。この例では、ログインページからアカウント残高照会ページまでの移動のための最小時間は、５秒である。
【００５４】
最大時間統計情報は、あるセッションの最中に、イベントフローにおいて、あるイベントから次の順番のイベント（又は、その後発生する別のイベント）へ移動したときに、履歴上ユーザによって実行された最大時間である場合がある。表１に示したような例を使用する場合、ログインページからアカウント残高照会ページまでの移動のための最大時間は、７秒である。
【００５５】
同様に、平均時間統計情報は、ある特定のイベントから次の順番のイベント（又は、その後発生する別のイベント）への全ての履歴上発生したイベントフローの統計的平均である場合がある。表１に示したような例を使用する場合、ログインページからアカウント残高照会ページまでの移動のための平均時間は、６秒である。この例では、同じページごとの移動についての標準偏差統計情報は、１秒である。他の時間ベースの統計情報もさらに判定される場合がある。
【００５６】
ステップ２４０では、特徴的イベントシーケンス、及び関連計時データに基づいて、基準ベースラインが生成される。本明細書において、基準ベースラインとは、取引又は行動のユーザ固有パターンを表すものとして識別された一組の時間順に並べられたイベントの特徴的シーケンスである。基準ベースラインは、各特徴的イベントシーケンスに関連する計時データをさらに含む。
【００５７】
基準ベースライン中の種々のパターン及び計時データは、ユーザの行動の異常性の検出に使用される。一実施形態において、基準ベースラインは、固定スケジュールに基づいて生成され、及び／又は更新される。基準ベースラインは定期的に更新され、例えば金融システムのようなシステムの継続中のユーザ使用に対する変化、及びかかるシステムとの対話を反映するために、定期的に更新される。基準ベースラインの更新は、対応する未加工ベースラインに対して実施される更新に基づく場合がある。
【００５８】
下記の表２は、表１の部分的未加工ベースラインに基づいて生成されることがあるような、ユーザ１に関連する部分的基準ベースラインの一例である。下記の表２の部分的基準ベースラインは、計時データ（例えば、計時統計情報）を含む。
【００５９】
【表２】
0005941149.tif 000003
【００６０】
表２の部分的基準ベースラインでは、少なくとも３つの特徴的基準パターンが識別される。各イベントについて、計時統計情報の少なくとも２つの属性が含まれる。すなわち、シーケンス中の前のイベントからの平均時間差、及びシーケンス中の前のイベントからの時間差の標準偏差である。基準ベースラインには、種々の他の計時統計情報がさらに含まれる場合がある。
【００６１】
異常性検出
先に説明したように、金融トランザクションの最中における不正のような潜在的侵入の検知は、基準ベースラインの使用によって容易になる。具体的には、基準ベースライン中の種々の特徴的シーケンスは、ユーザの行動の異常性を検出するために使用される。現在のセッションにおけるイベントシーケンスは、種々のルールに従って分析される。ルール評価は、現在のセッションの種々のシーケンスを基準ベースライン中の履歴パターンと比較することを含む場合がある。基準ベースラインからの大きな偏差は、ルール違反となる場合があり、異常性を検出する結果となる場合がある。異常性の検出は、侵入可能性を示すことができる。
【００６２】
図３は、一実施形態による、基準ベースラインからの偏差に基づくユーザ活動イベントの分析のための処理フロー図である。図示の処理フロー３００は、実行可能命令の種々のシーケンスの実行により実施される場合がある。他の実施形態において、処理フロー３００の種々の部分は、ネットワークセキュリティシステムの種々のコンポーネント、例えば特定用途向け集積回路（ＡＳＩＣ）等のようなハードウェアロジックの構成によって実施される。例えば、処理フロー３００の種々のブロックは、ネットワークセキュリティシステムのルールエンジンにおいて、実行可能命令の種々のシーケンスの実行により実施される場合がある。例えば、ルールエンジンは、ネットワークセキュリティシステムにおいて、マネージャに配備される場合がある。
【００６３】
先に説明したように、ネットワークセキュリティシステムは、セキュリティイベントのような種々のイベントを監視し、及び分析する。具体的には、イベントは、ルールに対して評価される。ルールには、具体的な種々の条件が指定される場合があり、条件は、時間順に並べられたイベントのシーケンス、及びシーケンス中のそれらのイベント間の時間差を評価することを含む。そのようなルールの一例は、下記のようなものである：
ルール１
もし（トランザクション異常）が、（ユーザＩＤによって）（最大でもそのユーザＩＤについての１標準偏差までの、時間差の標準偏差）で発生した場合、（動作）を行う。
【００６４】
このルールの場合、条件は、「トランザクション異常」であること、すなわち、そのユーザの現在のセッションについてのイベントシーケンスが、そのユーザについての基準ベースラインと一致しない場合であることである。さらに、ルール一致を見付けるための有効性の閾値範囲は、「最大でもそのユーザＩＤについての１標準偏差までの、時間差の標準偏差」であり、集計基準は、「ユーザＩＤによって」である。
【００６５】
一般に、単一の行動パターンがトランザクションシステムの全ユーザに適用される点で、ルール条件は静的である。本明細書に記載されるように、この例におけるルール条件は、異常が存在するか否かを判定するために、イベントシーケンスを追跡することを含む。現在のセッションのシーケンスを評価する場合、ユーザ固有の基準ベースラインは、比較点として使用される。従って、本明細書に記載されるようなルールは静的ではなく、むしろ、ルール条件は、各ユーザについての行動の特定パターンを使用して現在のセッションのイベントシーケンスが評価されるように、表される。
【００６６】
また、多くのルール条件は、ブール的性質を持つ。すなわち、条件は、満たされるか満たされないかのいずれかである。本明細書に記載されるように、ルールは、偏差閾値、又は、ルール条件を満たす有効性範囲を考慮に入れた他のタイプの閾値を指定する場合がある。偏差閾値は、計時データ及び／又は時間的位置データを考慮するだけでなく、複製、欠落及び／又は順序違いのイベントも考慮して表される場合がある。同じルールの一部である複数のブール条件が存在する場合もある。
【００６７】
ステップ３０５では、現在のセッションについてのイベントが受信される。各イベントが受信されると、イベントは、種々のルールに対してリアルタイムに評価される。
【００６８】
ルール評価は、反復を利用して、現在のセッションについてのフローのイベントをユーザ固有の基準ベースラインと照合することを含む。換言すれば、比較を実施し、現在のセッションのフロー中の受信イベントが、基準ベースライン中のパターンと一致するか否かが判定される。一実施形態において、ルールエンジンは、この比較を実施する。
【００６９】
具体的には、ステップ３１０において、ユーザ固有の基準ベースライン中の識別されたパターン（イベントの特徴的シーケンスとして表される）との間に、少なくとも部分一致があるか否かが判定される。具体的には、受信イベントに関連するユーザＩＤが判定される。そのユーザＩＤに固有の基準ベースラインが識別される。
【００７０】
受信イベントは、その基準ベースラインと比較される。具体的には、現在のセッションのイベントフロー中の当該イベントの時間的位置が判定される。例えば、フロー内で他のイベントのうちの最も早い発生時刻を有するイベントは、第１の時間的位置を有する場合があり、２番目に早い発生時刻を有するイベントは、第２の時間的位置を有する場合がある等である。受信イベントは、同じ時間的位置を有する基準ベースライン中のイベントと比較される。また、受信イベントの属性（例えば、イベントタイプ）は、基準ベースライン中のイベントの同じ属性と比較される。
【００７１】
受信イベントの発生時刻と、現在のセッション中の前のイベントの発生時刻との間の時間差、又は他の計時情報が追跡される。一実施形態では、時間的位置を比較することに加え、受信イベントに関連する時間差が、基準ベースライン中の計時データと比較される。
【００７２】
時間的位置、計時情報、又は他の属性に基づく比較の最中における一致の判定は、静的であってもよいし、及び／又は、偏差閾値に基づくものであってもよい。偏差閾値は、それ以内であれば依然として一致であると判定される許容範囲（例えば、有効性の範囲）を指定する。許容範囲は、ルール条件として実施される場合がある。
【００７３】
例えば、ユーザ固有の基準ベースラインは、イベント１、及びその後に続くイベント２からなるシーケンスを含み、７秒の平均時間差を有する場合がある。基準ベースラインは、それらの具体的イベント間の平均時間差を列挙した属性を含む場合がある。ルール照合の目的上、時間差が基準ベースライン中の平均時間差から２秒の標準偏差以内である限り、現在のセッションのイベントシーケンスは、基準ベースラインに一致するものとみなされる。この例において説明したように、偏差閾値は、計時データに関連して表現される場合もあれば、又は他の属性に関連して表現される場合もあり、その結果、欠落イベント又は想定されるものとは異なる順番で発生するイベントについても、許容範囲が表現される。例えば、基準ベースライン中のあるシーケンスにおける一部のイベントの不発生は、許容される場合がある一方で、他のイベントの不発生は、許容されない場合がある。
【００７４】
受信イベントを評価したときに、部分一致が見付からなかった場合、ステップ３１５において、その受信イベントをシーケンスの一部とするシーケンスと、基準ベースラインとの間に、シーケンスの一致は無いものと判定される。
【００７５】
ステップ３１７において、ルール条件の結果が判定される。基準ベースラインは、「正常」なユーザ行動、及び／又は「異常」なユーザ行動を示す種々のシーケンスを含む場合がある。一実施形態において、もし基準ベースラインが、単に「正常」なユーザ行動を示すシーケンスだけを含む場合、基準ベースラインに一致しない現在のセッションの到来シーケンスはいずれも、疑わしいものであるとみなされ、ステップ３１７において、ルール条件は、「真」に戻る（そこで条件は、異常な行動を探索する）。すなわち、ルールが実行される。もし基準ベースラインが、単に「異常」なユーザ行動を示すシーケンスだけを含む場合、基準ベースラインに一致しない現在のセッションの到来シーケンスはいずれも、疑わしくないものであるとみなされ、ステップ３１７において、ルール条件は「偽」に戻る。
【００７６】
他の実施形態において、もし基準ベースラインが、「異常」及び「正常」なユーザ行動を示すシーケンスを含む場合、基準ベースラインに一致しない現在のセッションの到来シーケンスは、ルール条件は、「真」に戻り、ルールが実行される結果となる。なぜなら、ユーザの動作は、（履歴に基づいて）想定されたものではなく、調査されるべきものであったからである。例えば、もし異常シーケンスに一致した場合、この種のルール実行から生成される警告は、低優先順位レベルに関連付けられる場合がある。他の実施形態において、例えば、ポリシー目標が、偽陽性の可能性を最小限に抑えること、又はその他、一致した異常シーケンスにルール実行を制限することである場合、ルール条件は、「偽」に戻る。
【００７７】
受信イベントを評価したときに、ステップ３１０において部分一致が見付かった場合、ステップ３２０において、完全一致があるか否かが判定される。本明細書において、完全一致とは、現在のセッションにおけるイベントのフローが、基準ベースライン中のイベントシーケンス全体に一致するときに発生する。完全一致が無い場合、処理は、ステップ３０５へ進み、そこで、現在のシーケンス中の別のイベントが受信される。ステップ３１０及び３２０における比較は、単一ステップとして実施される場合もあれば、イベントがマネージャによって受信されたときに、リアルタイムにイベントごとに実施される場合もある。照合は、集合体単位で実施される場合もあり、現在のセッションの一組のイベントに対し一度に処理が行われる場合がある。
【００７８】
ステップ３２０において完全一致であると判定された場合、ステップ３２５において、シーケンスの一致が見付かったものと判定される。先に述べたように、ステップ３３０において、ルール条件の結果が判定される。基準ベースラインは、「正常」なユーザ行動、及び／又は「異常」なユーザ行動を示す種々のシーケンスを含む場合がある。一実施形態において、もし基準ベースラインが、単に「正常」なユーザ行動を示すシーケンスだけを含む場合、基準ベースラインに一致する現在のセッションの到来シーケンスはいずれも、疑わしくないものであるとみなされ、ルール条件は、「偽」に戻る（そこで条件は、「異常」な行動を探索する）。もし基準ベースラインが、単に「異常」なユーザ行動を示すシーケンスを含む場合、基準ベースラインに一致する現在のセッションの到来シーケンスはいずれも、疑わしいものであるとみなされ、ルール条件は、「真」に戻る。
【００７９】
他の実施形態において、基準ベースラインは、「異常」及び／又は「正常」なユーザ行動を示す種々のシーケンスを含む。もし現在のセッションの到来フローが基準ベースラインに一致する場合、基準ベースライン中の一致するシーケンスは、「異常」又は「正常」としてフラグを立てられ、又はマーキングされる。もし一致が「異常」シーケンスとの間の一致である場合、ルール条件は「真」に戻り、もし一致が「正常」シーケンスとの間の一致である場合、ルール条件は「偽」に戻る。
【００８０】
説明の目的上、特定ユーザに関連する基準ベースラインは、表２に示したように、３つの基準ベースラインフローを含む場合がある。一例として、（１）イベントA（ログイン）、イベントB（アカウント残高照会）、イベントC（概要）、及びイベントD（支払計画）；（２）イベントA（ログイン）、イベントB（アカウント残高照会）、及びイベントE（支払先追加）；並びに（３）イベントA（ログイン）、及びイベントF（報酬概要）である。上で説明したルール１のようなルールは、現在のセッションのイベントに基づいて評価される。
【００８１】
ステップ３０５では、現在のセッションにおいて、例えばイベントＡが受信される。イベントＡは、基準ベースラインシーケンスと比較される。３つのシーケンスが全て、イベントＡから始まっているので、少なくとも部分一致があるものと判定される。一致が無い場合、例えばステップ３０５においてイベントＧが受信された場合、ステップ３１５において、シーケンスの一致は無いものと判定される。もし基準ベースラインが正常な行動を示す種々のシーケンスを含む場合、シーケンスの一致は無いという判定は、現在のセッションのイベントを疑わしいものとして特徴付ける結果となる。これに応答し、ステップ３１７において、ルール条件は「真」に戻る場合がある。
【００８２】
比較は、ステップ３１０からステップ３２０へと続けられ、そこで、現在のセッションについて既に受信されたイベントのフロー（及び計時情報）に基づいて、完全一致があるか否かが判定される。まだ完全一致が無い場合、システムは、引き続き、後続の受信イベントとの照合を試みる。具体的には、処理は、ステップ３０５へ進み、そこで、別のイベントを受信する。このように、照合／比較処理は、反復的な形で行われる。後続の反復において、ステップ３１０で、現在のイベントフローが少なくとも部分的に一致するか否かが、判定される。
【００８３】
上記の例に続いて、もしイベントＡの５秒の間に、２回目の反復においてイベントＢを受信した場合、ルール１に指定された偏差許容範囲に基づき、現在のセッションのフロー（これは今度は、イベントＡ及びその後ろに続くイベントＢを含む）は、基準パターンＩＤ１及び基準パターンＩＤ２と少なくとも部分的に一致するものと判定される。
【００８４】
ステップ３２０では、今のところ完全一致があるか否かが判定される。この時点で、現在のフローは、単にイベントＡ及びイベントＢだけを含む。基準パターンＩＤ１と完全一致するためには、現在のセッションのフローは、偏差許容範囲内で、イベントＣ及びＤをさらに含まなければならない。同様に、基準パターンＩＤ２と完全一致するためには、当該フローは、偏差許容範囲内で、イベントＥをさらに含まなければならない。従って、完全一致は無い。よって、システムは、再び反復し、ステップ３０５で、次のイベントが受信される。
【００８５】
ステップ３２５で、完全一致であると判定された場合、ステップ３３０において、ルール条件が判定される。基準ベースラインが正常な行動を示すシーケンスを含む場合、現在セッションイベントは、正常として特徴付けられ、ステップ３３０において、ルール条件は「偽」に戻る。
【００８６】
一実施形態において、基準ベースラインは、正常な行動及び／又は異常な行動の種々のシーケンスを含む場合がある。換言すれば、ユーザが過去に行ったイベントシーケンス（従ってこれは、基準ベースライン中に表されるかもしれない。）は、正常なイベントフローである場合もあれば、異常なフローである場合もある。例えば、ユーザが特定シーケンスを最初に実行するとき、ステップ３１０において現在のフローは一致しない場合があり、ステップ３１５においてシーケンスの一致は無いと判定される結果となる場合がある。
【００８７】
未加工ベースライン及び／又は基準ベースラインを更新するために、新たなシーケンスは、図２における基準ベースライン生成フローへフィードバックされる場合がある。事後分析が実施されるまで、システムは、例えば、現在のシーケンスが正常な行動であるか、それとも異常な行動であるかを知らない。事後分析の際、行動の正当性を確認するために、ユーザは、連絡を受け、質問される場合がある。ユーザは、結果を入力することができ、それによって、新たなシーケンスは、正常又は異常としてフラグを立てられる場合がある。もし正常であれば、新たなシーケンスは、未加工ベースラインに追加され、その結果、将来のイベントシーケンスの照合によって一致が発見されても、ルールは実行されないことになる。もし異常であれば、新たなシーケンスは、ベースラインに追加される場合もあるが、異常としてフラグを立てられ、その結果、このパターンに将来一致した場合、ルールは実行されることになる。
【００８８】
従って、図３に示したように、フローの一致が見付からなかった場合、又は、異常及び／又はその他疑わしいものとしてフラグを立てられたフローとの一致が見付かった場合、ルールは、実行される場合がある。
【００８９】
図４は、一実施形態による、応答動作を発動するための処理フロー図である。図示した処理フロー４００は、実行可能命令の種々のシーケンスの実行により実施される場合がある。他の実施形態において、処理フロー４００の種々の部分は、ネットワークセキュリティシステムの種々のコンポーネント、例えば特定用途向け集積回路（ＡＳＩＣ）等のようなハーウェアロジックの構成により実施される。例えば、処理フロー４００の種々のブロックは、ネットワークセキュリティシステムのルールエンジンにおいて、実行可能命令の種々のシーケンスの実行により実施される場合がある。例えば、ルールエンジンは、ネットワークセキュリティシステムにおいて、マネージャに配備される場合がある。
【００９０】
ステップ４１０において、例えば、現在のセッションにおけるイベントがルールに対して評価された後、ルール条件は「真」に戻ったことが検出される。ステップ４１５では、これに応答し、動作が発動される場合がある。
【００９１】
ルールにより発動される動作には、所定のコマンド若しくはスクリプトを実行すること、データリストを更新すること、警告をログに記録すること、コンソール又は指名された人に警告を送信すること、累積的活動に基づいて警告のためのカスタム重大性レベルを設定すること、情報源を疑わしい情報源のリストに追加すること、目標を脆弱性リストに追加すること、他のルールを発動すること、又はこれらの動作の任意の組み合わせが含まれ得る。
【００９２】
さらに、動作には、他のルールを発動することも含まれ得る。例えば、オンラインアカウントとのユーザの対話に対応するトランザクションイベントからの情報は、種々のネットワークセキュリティイベントにさらに相関付けられる場合があり、また、資産モデル、種々のマシンの脆弱性、及びシステムにおいてリアルタイムに動作中の他の攻撃を含むがそれに限定されないネットワークインフラストラクチャの知識にさらに相関付けられる場合がある。なぜなら、攻撃と、検出された異常の同時の存在は、不正の可能性を増大させることがあるからである。このように、相関付けは、複数のデータソースについて実施される場合がある。
【００９３】
換言すれば、独立したルールは、例えば目標ホストについて、不正関連ルールの実行を探索するとともに、セキュリティ関連ルールの実行をさらに探索するための種々のルール条件を含む場合がある。条件が満たされると、相関付けが実施され、それによって、トランザクション又は不正に基づくイベント知識が、セキュリティデータと結び付けられる場合がある。
【００９４】
一実施形態において、動作は、相関付けイベントを生成することを含む。相関付けイベントは、ルール固有の情報だけでなく、ルールを発動した基礎イベントに関する情報も含む場合がある。一実施形態において、相関付けイベントは、条件照合に使用される場合があり、従って、複数ルールの連結が可能とされる。
【００９５】
図５は、一実施形態を実施することが可能なコンピュータシステムを示している。システム５００は、上で説明したコンピュータシステムの何れかを実施するために使用される場合がある。コンピュータシステム５００は、バス５２４に電気的に結合された種々のハードウェア要素を含むものとして示されている。ハードウェア要素には、少なくとも１つの中央演算処理装置（ＣＰＵ）５０２、少なくとも１つの入力装置５０２、及び少なくとも１つの出力装置５０６が含まれ得る。コンピュータシステム５００は、少なくと１つの記憶装置５０８をさらに含む場合がある。記憶装置５０８には、例えば、ディスクドライブ、光学記憶装置、並びに、ランダム・アクセス・メモリ（「ＲＡＭ」）及び／又はリード・オンリー・メモリ（「ＲＯＭ」）のような半導体記憶装置が含まれ得る。リード・オンリー・メモリ（「ＲＯＭ」）は、プログラマブル、及び／又はフラッシュアップデート可能等なものであってもよい。
【００９６】
コンピュータシステム５００は、コンピュータ読取可能記憶媒体リーダー５１２、通信システム５１４（例えば、モデム、ネットワークカード（無線又は有線）、赤外線通信装置など）、及びワークメモリ５１８をさらに含む場合がある。ワークメモリ５１８は、上記のようなＲＡＭ及びＲＯＭ装置を含む場合がある。実施形態によっては、コンピュータシステム５００は、処理アクセラレーションユニット５１６をさらに含む場合があり、ユニット５１６は、デジタル・シグナル・プロセッサ（ＤＳＰ）、及び／又は、特殊目的のプロセッサ等を含むことがある。
【００９７】
コンピュータ読取可能記憶媒体リーダー５１２は、コンピュータ読取可能記憶媒体５１０にさらに接続されることができ、全体として（一実施形態においては、記憶装置５０８にも結合される）、リモート、ローカル、固定、及び／又はリムーバブルな記憶装置に、コンピュータ読取可能情報（例えば、命令及びデータ）を一時的及び／又はより永久に格納、記憶、送信、及び読み出しするための任意の非一時的な記憶媒体を加えたものを、包括的に表している。コンピュータ読取可能記憶媒体５１０は、ハードウェア記憶装置（例えば、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ（書き換え可能なプログラマブルＲＯＭ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブルＲＯＭ）、ハードディスク、及びフラッシュメモリ）のような非一時的なものであってもよい。通信システム５１４は、ネットワーク、及び／又は、システム５００に関連して上で説明した任意の他のコンピュータとの間のデータの交換を許容する場合がある。コンピュータ読取可能記憶媒体５１０は、ルールエンジン５２５、未加工ベースラインモジュール５２６、及び基準ベースラインモジュール５２７を含む。
【００９８】
コンピュータシステム５００は、例えばオペレーティングシステム５２０、及び／又は、アプリケーションプログラム（これは、クライアントアプリケーション、ウェブブラウザ、中間段階アプリケーションなどであってもよい。）のような他のコード５２２を含む、ワークメモリ５１８の中に現在あるものとして示されている、種々のソフトウェア要素（これは、コンピュータ読取可能命令である。）をさらに含む場合がありる。当然ながら、コンピュータシステム５００の代替実施形態は、上で説明したものからの多数の変形を有する場合がある。例えば、カスタマイズされたハードウェアがさらに使用され、及び／又は、特定の要素は、ハードウェア、ソフトウェア（アプレットのようなポータブルソフトウェアを含む）若しくはそれら両方によって実施されるかもしれない。さらに、ネットワーク入力／出力装置のような他の計算装置との接続が採用される場合もある。
【００９９】
従って、明細書及び図面は、制限の意味ではなく、例示的なものとであると考えるべきである。ただし、種々の修正及び変更がなされる場合があることは、明らかである。
【０１００】
本明細書（添付の特許請求の範囲、要約書、及び図面を含む）に開示した各特徴は、特に明示的言及がない限り、同じ、均等の、又は同様の目的を果たす代替の特徴に置換される場合がある。従って、特に明示的言及がない限り、開示した各特徴は、一般的な一連の均等又は類似の特徴の一例である。
【図１】
0005941149.tif 000004
【図２】
0005941149.tif 000005
【図３】
0005941149.tif 000006
【図４】
0005941149.tif 000007
【図５】
0005941149.tif 000008