(57)【要約】【課題】  本願発明によれば、連続的に推移するような活動であっても、異常を検知することが可能な情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システムを提供することできる。【解決手段】  本願発明の情報処理装置は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、を有する。【選択図】      図１
2020154489.tif 000002
【特許請求の範囲】
【請求項１】
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、
を有する情報処理装置。
【請求項２】
前記検知部は、前記正常グラフ記憶部が記憶する正常グラフと、前記生成部が生成した分析グラフとの類似度を算出し、当該類似度に基づき異常を検知する、
請求項１に記載の情報処理装置。
【請求項３】
前記検知部は、前記生成部が分析グラフを生成したタイミングで類似度を算出する、
請求項２に記載の情報処理装置。
【請求項４】
前記生成部が生成した分析グラフを格納する分析グラフ記憶部を更に有し、
前記生成部は、１つのエッジ及びそのエッジによって接続される２つのノードを有するイベントグラフを生成し、当該イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとを用いて、新たな分析グラフを生成する、
請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記生成部は、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、当該分析グラフにイベントグラフを結合することで、新たな分析グラフを生成する、
請求項４に記載の情報処理装置。
【請求項６】
前記生成部は、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有さない場合は、当該イベントグラフを新たな分析グラフとして、前記分析グラフ記憶部に格納する、
請求項４又は５に記載の情報処理装置。
【請求項７】
検知部が異常を検知した場合、当該異常に関する情報を出力する出力部を更に有し、
前記出力部は、正常グラフと分析グラフとの一致部分と、正常グラフと分析グラフとの不一致部分とを、異なる態様で出力する、
請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する、
情報処理方法。
【請求項９】
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する処理をコンピュータに実行させる、
情報処理プログラム。
【請求項１０】
情報処理装置と、
１以上のコンピュータを含む監視対象と、
前記情報処理装置に対して情報を入力する入力装置と、
前記情報処理装置が処理を行った情報を出力する出力装置と、
を有し、
前記情報処理装置は、
前記監視対象におけるプログラムの活動をエッジ及びノードを用いて表す分析グラフを生成する生成部と、
前記入力装置から入力された情報に基づき、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部とを有する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム。
に関する。
【背景技術】
【０００２】
近年、標的型攻撃やマルウェア等のサイバー攻撃が脅威となっており、サイバー攻撃を検知したいというニーズが高まっている。サイバー攻撃を検知するために、ルールベース型検知と呼ばれる、過去の攻撃手法の特徴と照合することにより、サイバー攻撃を検知するブラックリスト型の検知方法が広く用いられている。
【０００３】
しかしながら、攻撃者は、攻撃が検知されることを防ぐために、似た攻撃であっても振る舞いが異なるような様々なサイバー攻撃を行う。このような、既知の攻撃パターンと振る舞いが異なるサイバー攻撃を検知することは、ルールベース型検知のようなブラックリスト型の検知方法では難しいケースが想定される。そこで、既知の攻撃パターンと振る舞いが異なるサイバー攻撃を検知するためには、ブラックリスト型の検知方法ではなく、正常な動作と異なることを検出する方法を用いることが有用である。
【０００４】
未知の標的型攻撃による異常を検出する技術の一例として、特許文献１が挙げられる。具体的に、特許文献１に記載の技術は、グラフ化部が、要素間の関係変化情報に基づいて状態グラフを作成し、平常モデル生成部が、任意の期間の関係変化情報に基づいて平常モデルを生成し、異常検出部が、状態グラフと平常モデルとに基づいて異常情報を生成する。平常モデルとは、状態グラフが監視対象システムの平常時に満たすべき条件の集合である。具体的に、平常モデルは、条件種別と条件値とを含む。例えば、条件種別が「関係頂点数」、条件値が「上限値２」の場合は、「１つの頂点との辺を持つ他の要素の数が２以下であること」という条件を示す。また、条件種別が「次数」、条件値が「上限値６」の場合は、「１つの頂点から出る辺の数が６以下であること」という条件を示す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／１４１２２１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、サイバー攻撃の中には、ラテラルムーブメントのように、攻撃者が標的のネットワーク内に侵入した後、特権ユーザになるためにコンピュータ間を移動していくものがある。例えば、ラテラルムーブメントでは、ユーザＡからユーザＢへ推移し、ユーザＢからユーザＣへ推移するような、特定のユーザ間を連続的に推移するような活動が行われる。このようなサイバー攻撃を検知するためには、連続的に推移するような活動についても、異常な活動については検知を行う必要がある。
【０００７】
しかし、特許文献１に記載の技術では、連続的に推移するような活動について、異常を検知することは困難である。なぜなら、特許文献１に記載の技術は、頂点や辺の数等に基づいて異常を検出しているが、連続的に推移するような活動における異常を検知することを想定していないからである。
【０００８】
本願発明は、連続的に推移するような活動であっても、異常を検知することが可能な情報処理装置、情報処理方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願発明の情報処理装置は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、を有する。
【００１０】
本願発明の情報処理方法は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、前記分析グラフと前記正常グラフとに基づいて異常を検知する。
【００１１】
本願発明の情報処理プログラムは、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、前記分析グラフと前記正常グラフとに基づいて異常を検知する処理をコンピュータに実行させる。
【００１２】
本願発明の情報処理システムは、情報処理装置と、１以上のコンピュータを含む監視対象と、前記情報処理装置に対して情報を入力する入力装置と、前記情報処理装置が処理を行った情報を出力する出力装置と、を有し、前記情報処理装置は、前記監視対象におけるプログラムの活動をエッジ及びノードを用いて表す分析グラフを生成する生成部と、前記入力装置から入力された情報に基づき、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部とを有する。
【発明の効果】
【００１３】
本願発明によれば、連続的に推移するような活動であっても、異常を検知することが可能な情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システムを提供することできる。
【図面の簡単な説明】
【００１４】
【図１】情報処理システム１００の構成を示す図である。
【図２】イベントグラフの概念図である。
【図３】情報処理装置１０の動作を示すフローチャートである。
【図４】分析グラフの１例を示す図である。
【図５】イベントグラフの一例を示す図である。
【図６】分析グラフの一例を示す図である。
【図７】イベントグラフの一例を示す図である。
【図８】分析グラフと正常グラフとの不一致箇所を強調表示するように出力した場合の具体例を示す図である。
【図９】情報処理装置１００のブロック図を示す図である。
【図１０】情報処理装置１００の動作を示すフローチャートである。
【図１１】コンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
＜第１の実施形態＞
［構成］
本願発明の第１の実施形態を、図面を参照して説明する。図１は、第１の実施形態における、情報処理システム１の構成を示す図である。
【００１６】
情報処理システム１は、情報処理装置１０と、監視対象システム２０と、入力装置３０と、出力装置４０と、を備える。
【００１７】
情報処理装置１０は、監視対象システム２０で発生したプログラムの活動において異常を検知し、検知結果を出力する。
【００１８】
異常を検知するとは、プログラムの異常な活動を検知することを含む。異常とは、例えば、マルウェアが介在していると考えられるプログラムの活動等である。ただし、ここでいう異常とは、セキュリティ上の異常には限定されない。例えば、プログラムのバグ等によって、プロセスが想定外の動作を行っている等といった異常も含まれる。
【００１９】
情報処理装置１０は、グラフ生成部１１と、分析グラフ記憶部１２と、正常グラフ生成部１３と、正常グラフ記憶部１４と、検知部１５と、出力部１６と、を備える。
【００２０】
グラフ生成部１１は、エッジ及びノードを用いて、監視対象システム２０におけるプログラムの活動を表す分析グラフを生成する。グラフ生成部１１は、生成したイベントグラフを用いて分析グラフを生成し、生成した分析グラフを分析グラフ記憶部１２に格納する。
【００２１】
エッジとは、起動、停止、通信、又は、アクセス等のように、プログラムの活動内容を示す。プログラムの活動内容とは、プロセスを起動する、プロセスを停止する、ファイルをオープンする、ファイルからデータを読み込む、ファイルにデータを書き込む、ソケットをオープンする、ソケットからデータを読み込む、又「ソケットにデータを書き込む等が挙げられる。なお、ソケットに対するアクセスは、そのソケットに対応付けられた他の装置へのアクセスを意味する。なお、エッジには、プログラムの活動内容の他にも、成功可否、実行ユーザ、実行日時等の情報を、付加情報として含めることが可能である。
【００２２】
ノードとは、監視対象システム２０で発生したプログラムの活動内容における要素を示す。ノードの具体例としては、ファイル、プロセス、ソケット、監視対象の装置、等が挙げられる。例えば、ノードがプロセスである場合、当該ノードにはそのプロセスの識別情報等を含む。プロセスの識別情報とは、例えば、そのプロセスのＩＤ等を含む。また、ノードがファイルである場合、当該ノードにはそのファイルの識別情報等を含む。ファイルの識別情報とは、例えば、そのファイルの名称やパス等である。また、ファイルの識別情報は、ファイルのハッシュ値や、ファイルシステムの識別情報、そのファイルシステム上でそのファイルを構成するディスクブロックの識別情報との組み合わせであっても良い。更に、ノードがソケットである場合、ノードは当該ソケットの識別情報を含み、ノードが監視対象の装置である場合、ノードは当該監視対象の装置の識別情報を含む。
【００２３】
ノードは、例えば、プログラムの活動内容における、主体と客体とを示すものであっても良いし、オブジェクトとサブジェクトとを示すものであっても良いし、親と子の関係性を示すものであっても良い。
【００２４】
以後、ノードが、プログラムの活動内容における主体と客体とを示すものである場合について説明を行う。例えば、ノードが主体と客体とを示すものである場合、グラフ生成部１１は、監視対象システム２０で発生したイベントにおける活動内容をエッジとして表し、なおかつその活動内容の主体と客体それぞれをノードとして表すイベントグラフを生成する。
【００２５】
グラフとは、複数のノード及びノード間を接続するエッジによって構成されるデータ構造である。
【００２６】
イベントとは、プログラムにおける主体が何らかの客体に対して行った活動を示す。イベントの具体例として、例えば、「特定のプロセスが特定のファイルを読み込む」活動等が、イベントの一例として挙げられる。
【００２７】
イベントグラフとは、グラフ生成部１１が、取得したイベントを用いて生成したグラフである。具体的に、イベントグラフは、１つのエッジ及びそのエッジによって接続される２つのノードを用いて示される。
【００２８】
図２に、監視対象システム２０内のあるコンピュータにおいて、プロセス「ｆｉｌｅｒｅａｄ．ｅｘｅ」がファイル「ｔｅｓｔｄａｔａ．ｔｘｔ」を読み込むというイベントが発生した場合に、グラフ生成部１１が生成するイベントグラフの概念図を示す。 
図２に示すイベントグラフの概念図は、「ｆｉｌｅｒｅａｄ．ｅｘｅ」を示すノードＮ１と、「ｔｅｓｔｄａｔａ．ｔｘｔ」を示すノードＮ２と、ノードＮ１及びノードＮ２を接続する「ｒｅａｄ」を示すエッジＥ１とで構成されている。
【００２９】
ここで、図２では、向きを表す矢印をエッジＥ１として示すことで、イベントの流れを表している。具体的には、エッジＥ１の始点と接続されているノードＮ１が活動内容の主体を示し、エッジの終点と接続されているノードＮ２が活動内容の客体を示す。そして、エッジＥ１が示す方向に向かって順にノードを見ていくことで、プログラムの活動内容を時系列に沿って把握することが可能となる。
【００３０】
なお、エッジの出力態様は、必ずしも向きを表すものに限定されず、直線などの向きを表さないものであってもよい。エッジが向きを表さない態様で出力される場合、例えば、「グラフにおいて、イベントの流れは左から右へ向かう向きで表される」といったルールを予め定めておき、そのルールに従ってグラフを生成するようにしても良い。
【００３１】
分析グラフとは、グラフ生成部１１が生成し、分析グラフ記憶部１２に記憶されるグラフである。具体的に、分析グラフは１以上のエッジ及びそのエッジによって接続される２以上のノードを用いて示される。
【００３２】
分析グラフ記憶部１２は、グラフ生成部１１が生成した分析グラフを記憶する。
【００３３】
グラフ生成部１１は、分析グラフ記憶部１２に記憶された分析グラフとイベントグラフとを用いて、新たな分析グラフを生成する。グラフ生成部１１が、分析グラフを生成する構成について、具体的に説明する。
【００３４】
グラフ生成部１１は、イベントグラフを生成した場合、当該イベントグラフと分析グラフ記憶部１２に記憶されている分析グラフとの連続関係の有無を確認する。イベントグラフと分析グラフとの連続関係に関する説明については、後述する。
【００３５】
グラフ生成部１１は、イベントグラフと分析グラフ記憶部１２に記憶されている分析グラフとが連続関係を有する場合、当該分析グラフにイベントグラフを結合させることで、新たな分析グラフを生成し、分析グラフ記憶部１２に格納する。グラフ生成部１１は、イベントグラフが、分析グラフ記憶部１２に記憶されている分析グラフと連続関係を有さない場合、当該イベントグラフを分析グラフとして分析グラフ記憶部１２に格納する。
【００３６】
正常グラフ生成部１３は、監視対象システム２０における正常時の活動をエッジ及びノードを用いて表す正常グラフを生成する。具体的に、正常グラフ生成部１３は、監視対象システム２０における正常時の活動内容をエッジとして表し、なおかつその活動内容の主体と客体それぞれをノードとして表す正常グラフを生成し、正常グラフ記憶部１４に格納する。正常グラフ生成部１３が正常グラフを生成する際の説明については後述する。
【００３７】
正常グラフとは、監視対象システム２０における正常時の活動をエッジ及びノードを用いて表したものである。また、正常グラフは、１以上のエッジ及びそのエッジによって接続される２以上のノードを用いて示される。
【００３８】
正常グラフ記憶部１４は、正常グラフ生成部１３が生成した正常グラフを記憶する。分析グラフ記憶部１２及び正常グラフ記憶部１４は、グラフデータベース等のように、グラフを記憶することが可能なデータベースを利用可能である。
【００３９】
検知部１５は、グラフ生成部１１が生成した分析グラフと正常グラフ記憶部１４に記憶された正常グラフとを用いて、異常を検知する。具体的に、検知部１５は、所定の条件を満たす場合に、グラフ生成部１１が生成した分析グラフと、正常グラフ記憶部１４に記憶された正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する。
【００４０】
所定の条件とは、例えば、グラフ生成部１１が、分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合等でも良い。この場合、検知部１５は、グラフ生成部１１が分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合に、当該分析グラフと、正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する。
【００４１】
なお、所定の条件は上記の例に限られない。例えば、所定の条件は、グラフ生成部１１が、イベントグラフを分析グラフとして格納した場合でも良い。つまり、検知部１５は、グラフ生成部１１が分析グラフを新たに生成する度に類似度を算出するとしても良い。
【００４２】
また、所定の条件は、グラフ生成部１１が生成した分析グラフに含まれているノード又はエッジの数が所定の値になった場合でも良い。また、所定の条件は、グラフ生成部１１が生成した分析グラフに所定のノード又はエッジが含まれている場合でも良い。更に、所定の条件は、正常グラフが有するノード又はエッジの数と、分析グラフが有するノード又はエッジの数との差分が所定の値以内の場合でも良く、検知部１５は、当該差分が所定の値以上の場合は、類似度を算出しなくても良い。このように、所定の条件は、検知部１５が分析グラフと正常グラフとの類似度を算出するタイミングを定める条件であれば、どのような条件を用いても構わない。
【００４３】
なお、検知部１５が類似度を算出する方法は、「ｇｒａｐｈ  ｅｄｉｔ  ｄｉｓｔａｎｃｅ」、「Ｓｉｍ  Ｒａｎｋ」、又は「Ｍａｘｉｍｕｍ  ｃｏｍｍｏｎ  ｓｕｂｇｒａｐｈ」等のように、グラフとグラフとの類似度を算出できる方法であれば、どのような方法を用いても構わない。
【００４４】
出力部１６は、検知部１５が異常を検知した場合、当該異常に関する情報を出力装置４０に出力する。
【００４５】
監視対象システム２０は、ネットワーク等で接続された１以上のコンピュータを含む。具体的に、監視対象システム２０は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバマシン、タブレット端末、又は、スマートフォン等のような任意のコンピュータを含む。また、監視対象システム２０は、物理マシンに限定されず、仮想マシンであっても良い。
【００４６】
監視対象システム２０は、対象が１つであっても良いし、対象が複数であっても良い。なお、イベントは、対象毎にそれぞれ発生する場合や、対象間を通信することで発生する場合がある。
【００４７】
なお、監視対象システム２０で発生するイベントは、ログ形式のデータやグラフ形式のデータ等、監視対象システム２０で発生するイベントを示すものであるならば何でも良い。例えば、監視対象システム２０で発生するイベントがログ形式のデータである場合、グラフ生成部１１は、当該ログ形式のデータを用いてイベントグラフを生成する。
【００４８】
入力装置３０は、情報処理装置１０に対して情報を入力する。入力装置３０とは、例えば、マウスやタッチパネル等のポインティングデバイスや、キーボード、又はスキャナ等が挙げられるが、情報処理装置１０に対して情報を入力することが可能な装置であれば、これらに限定されるものではない。入力装置３０が入力する内容としては、監視対象システム２０における正常時の活動に関する情報が挙げられるが、本願発明はこれに限定されない。
【００４９】
出力装置４０は、出力部１６が出力した情報を受信し、当該情報を出力する。出力装置４０とは、例えば、ディスプレイ、スピーカー、ランプ、又はプリンタ等が挙げられるが、外部出力が可能な装置であれば、これらに限定されるものではない。例えば、出力装置４０がディスプレイの場合、ディスプレイは、出力部１６が出力した情報を表示する。
【００５０】
［動作］
次に、第１の実施形態における動作を、フローチャートを用いて説明する。
【００５１】
図３は、情報処理装置１０の動作を示すフローチャートである。
【００５２】
グラフ生成部１１は、監視対象システム２０で発生したイベントを取得する（Ｓ１）。
【００５３】
グラフ生成部１１は、取得したイベントを用いてイベントグラフを生成する（Ｓ２）。
【００５４】
グラフ生成部１１は、生成したイベントグラフが、分析グラフ記憶部１２に記憶された分析グラフと連続関係を有するか否かを確認する（Ｓ３）。
【００５５】
グラフ生成部１１は、生成したイベントグラフと分析グラフ記憶部１２に記憶されている分析グラフとが連続関係を有する場合（Ｓ３でＹｅｓ）、当該分析グラフにイベントグラフを結合することで、新たな分析グラフを生成する（Ｓ４）。
【００５６】
グラフ生成部１１は、新たな分析グラフを分析グラフ記憶部１２に格納する（Ｓ５）。
【００５７】
グラフ生成部１１は、生成したイベントグラフが、分析グラフ記憶部１２に記憶されている分析グラフと連続関係を有さない場合（Ｓ３でＮｏ）、当該イベントグラフを分析グラフとして分析グラフ記憶部１２に格納する（Ｓ６）。
【００５８】
検知部１５は、所定の条件を満たす場合（Ｓ７でＹｅｓ）、グラフ生成部１１が生成した分析グラフと、正常グラフ記憶部１４に記憶された正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する（Ｓ８）。
【００５９】
出力部１６は、検知部１５が異常を検知した場合（Ｓ９でＹｅｓ）、当該異常を検知した分析グラフに関する情報を出力する（Ｓ１０）。
【００６０】
［具体例］
次に、第１の実施形態における詳細な動作について、具体例を用いながら説明する。
【００６１】
第１の実施形態は、正常グラフの生成フェーズと、分析グラフの生成フェーズと、異常検知フェーズとに分けることが可能である。
【００６２】
＜正常グラフの生成フェーズ＞
ユーザは、入力装置３０を用いて、監視対象システム２０における正常時の活動を示す情報を情報処理装置１０に入力する。具体的に、ユーザは、隣接行列や隣接リスト等を入力しても良いし、描画ツール等を用いて生成したグラフを入力しても良い。
【００６３】
正常グラフ生成部１３は、入力装置３０から入力された情報を用いて、監視対象システム２０における正常時の活動を示す正常グラフを生成し、正常グラフ記憶部１４に格納する。
【００６４】
なお、正常グラフ生成部１３は、ユーザによって入力された情報を用いて正常グラフを生成すると説明したが、本願発明はこれに限られない。
【００６５】
例えば、正常グラフ生成部１３は、監視対象システム２０におけるプログラムの活動を監視し、予め定められた条件に基づき正常と想定される活動を選定し、当該選定した情報を用いて正常グラフを生成することが可能である。また、監視対象システム２０におけるプログラムの活動から、ユーザが正常と想定される活動を選定してもよいし、自動で正常と想定される活動が選定されてもよい。更に、正常グラフ生成部１３は、監視対象システム２０において正常なプログラムを実行させ、プログラムの活動を監視することにより、グラフ生成部１１と同等の動作によってグラフを生成し、生成されたグラフを正常グラフとしてもよい。このように、正常グラフを生成することが可能であれば、どのような方法を用いても構わない。
【００６６】
＜分析グラフ生成フェーズ＞
グラフ生成部１１は、監視対象システム２０で発生したイベントを取得し、当該取得したイベントを用いてイベントグラフを生成する。なお、グラフ生成部１１は、イベントを取得することができるのであれば、監視対象システム２０から送られてきたイベントを取得する等のように、どのような方法を用いても構わない。
【００６７】
グラフ生成部１１は、生成したイベントグラフと分析グラフ記憶部１２に記憶されている分析グラフとが連続関係を有するか否かを確認する。
【００６８】
イベントグラフと分析グラフとが連続関係を有するか否かは、ノード一致条件に基づき判断することができる。ノード一致条件とは、例えば、イベントグラフに含まれるノードと、分析グラフに含まれるノードとが等しく、かつ、これらのノードを有するイベントの実行日時の差分が閾値以下の場合に、イベントグラフと分析グラフとが連続関係を有すると判断することができる。
【００６９】
イベントグラフに含まれるノードと、分析グラフに含まれるノードとが等しい場合とは、例えば、イベントグラフにおいて主体を示すノードと、分析グラフにおいて客体を示すノードとが同じノードである場合等が挙げられる。
【００７０】
なお、イベントグラフに含まれるノードと、分析グラフに含まれるノードとが等しい場合であっても、これらの実行日時が離れている場合、これらのグラフは一連の活動を示すものではなく、それぞれ独立した活動であることが考えられる。
【００７１】
実行日時とは、例えば、主体のノードを含むイベントの実行日時と、客体のノードを含むイベントの実行日時とのように、プログラムの活動が実行された時間を示す。従って、これらのノードの実行日時が閾値以上離れている場合、当該イベントグラフと分析グラフとは連続関係を有していないと判断することができる。
【００７２】
また、実行日時について、ミリ秒単位のような精度が高いタイムスタンプを参照する場合は、誤差が含まれることが想定される。従って、実行日時の差分を示す閾値については、誤差等も考慮した設定を行うことが好適である。
【００７３】
また、ノード一致条件には、「プログラムの実行ユーザが等しい場合」等のように、新たな条件を加えることや、既存の条件を削除することが可能である。このように、ノード一致条件に関する許容値や条件を適切に設定することで、セキュアシェル等の通信によるリモート操作であっても、グラフを適切に連結することが可能となる。
【００７４】
グラフ生成部１１が、連続関係を有するイベントグラフと分析グラフとを連結する場合の具体例について、図面を用いて説明する。
【００７５】
図４に、分析グラフ記憶部１２に記憶されている分析グラフの１例を示す。図４を参照すると、ノードＮ３とノードＮ４とがエッジＥ２によって接続され、ノードＮ４とノードＮ５とがエッジＥ３によって接続され、ノードＮ４とノードＮ６とがエッジＥ４によって接続されている。
【００７６】
図４に示す分析グラフは、例えば、「ｒｅａｄｗｒｉｔｅ．ｅｘｅ」が「ｔｅｓｔｄａｔａ．ｔｘｔ」を読み込んで、「ｃｓｖｗｒｉｔｅｒ．ｓｈ」を起動するという動作を示すものであっても良い。例えば、この場合、図４に示す分析グラフは、ノードＮ３が「ｓｔａｒｔ．ｅｘｅ」を示し、エッジＥ２が「ｅｘｅｃｕｔｅ」を示し、ノードＮ４が「ｒｅａｄｗｒｉｔｅ．ｅｘｅ」を示すものであっても良い。また、エッジＥ３が「ｅｘｅｃｕｔｅ」を示し、ノードＮ５が「ｃｓｖｗｒｉｔｅｒ．ｓｈ」を示すものであっても良い。更に、エッジＥ４が「ｒｅａｄ」を示し、ノードＮ６が「ｔｅｓｔｄａｔａ．ｔｘｔ」を示すものであっても良い。
【００７７】
ここで、監視対象システム２０で、「ｃｓｖｗｒｉｔｅｒ．ｓｈ」が「ｄａｔａ．ｃｓｖ」に書き込み処理を行うというイベントが発生し、グラフ生成部１１がイベントグラフを生成したとする。
【００７８】
図５に、グラフ生成部１１が生成したイベントグラフの一例を示す。図５に示すように、グラフ生成部１１が生成したイベントグラフは、ノードＮ５とノードＮ７とが、エッジＥ５によって接続されている。
【００７９】
なお、図５に示すイベントグラフは、ノードＮ５が「ｃｓｖｗｒｉｔｅｒ．ｓｈ」を示し、エッジＥ５が「ｗｒｉｔｅ」を示し、ノードＮ７が「ｄａｔａ．ｃｓｖ」を示すものであっても良い。
【００８０】
なお、図５に示すイベントグラフと、図４に示す分析グラフとは、実行ユーザが等しく、共通するノードＮ５を有するイベントの実行日時の差分が閾値以下であるとする。
【００８１】
グラフ生成部１１は、当該生成したイベントグラフと、分析グラフ記憶部１２に記憶されている分析グラフとが、連続関係を有するか否かを確認する。
【００８２】
図５に示すイベントグラフは、図４に示す分析グラフと、ノードＮ５が等しく、実行ユーザが等しく、かつ、ノードＮ５を有するイベントの実行日時の差分が閾値以下であるため、グラフ生成部１１は、連続関係を有すると判断することができる。グラフ生成部１１は、図４に示す分析グラフに、図５に示すイベントグラフを結合することで、新たな分析グラフを生成し、当該分析グラフを分析グラフ記憶部１２に格納する。
【００８３】
図６に、グラフ生成部１１が新たに生成した分析グラフの一例を示す。図６に示すように、図４に示す分析グラフから、エッジＥ５及びノードＮ７が新たに追加されている。
【００８４】
なお、図４、図５、及び図６を用いて説明したグラフの例はあくまで一例である。本願は、例えば、ノードＮ３がノードＮ４を起動し、ノードＮ４がノードＮ５及びノードＮ６を起動し、ノードＮ６がノードＮ７を起動している場合等のように、プログラムの活動を示すものであれば、どのようなグラフであっても構わない。
【００８５】
次に、グラフ生成部１１が生成したイベントグラフが、分析グラフ記憶部１２が記憶する分析グラフと連続関係を有していない場合について説明する。
【００８６】
図７に、グラフ生成部１１が生成したイベントグラフの一例を示す。図７に記載のように、グラフ生成部１１が生成したイベントグラフは、ノードＮ８とノードＮ９とが、エッジＥ６によって接続されている。
【００８７】
グラフ生成部１１は、図７に示すイベントグラフと、分析グラフ記憶部１２に記憶されている分析グラフとが、連続関係を有するか否かを確認する。
【００８８】
グラフ生成部１１は、図７に示すイベントグラフについて、ノード一致条件を満たす分析グラフが分析グラフ記憶部１２に記憶されていない場合、当該グラフは連続関係を有していないと判断する。
【００８９】
グラフ生成部１１は、図７に示すイベントグラフが、分析グラフ記憶部１２に記憶されている分析グラフと連続関係を有さない場合、当該イベントグラフを新たな分析グラフとして、分析グラフ記憶部１２に格納する。
【００９０】
なお、グラフ生成部１１は、分析グラフ記憶部１２に複数の分析グラフが記憶されている場合、記憶されている全ての分析グラフについて、イベントグラフとの連続関係を確認し、最も連続関係を有する分析グラフに、イベントグラフを結合しても良いが、本願はこれに限られない。例えば、分析グラフ記憶部１２は、分析グラフを実行ユーザ毎に分類して記憶し、グラフ生成部１１は、取得したイベントの実行ユーザが同じ分類の中から、当該取得したイベントと連続関係を有するグラフを探すように構成しても良い。分析グラフ記憶部１２は、実行ユーザ毎の分類に限られず、実行日時毎等のように様々な条件を用いて、分析グラフを分類して記憶しても良く、グラフ生成部１１は当該分類を用いて連続関係を有するグラフを探しても良い。このように構成することで、グラフ生成部１１は、連続関係を有するグラフを効率良く探す事が可能となる。
【００９１】
なお、グラフ生成部１１は、監視対象システム２０で発生するイベントについて、グラフ形式のデータとして取得しても良い。グラフ生成部１１は、監視対象システム２０で発生するイベントについて、グラフ形式のデータとして取得した場合、イベントグラフを生成せずに、当該グラフ形式のデータが分析グラフ記憶部１２に記憶された分析グラフと連続関係を有しているか否かを確認する。グラフ生成部１１は、当該取得したグラフ形式のデータが、分析グラフと連続関係を有している場合、当該グラフ形式のデータと分析グラフとを結合することで新たな分析グラフを生成する。グラフ生成部１１は、当該取得したグラフ形式のデータが、分析グラフと連続関係を有していない場合、当該取得したグラフ形式のデータを新たな分析グラフとして、分析グラフ記憶部１２に格納する。
【００９２】
＜異常検知フェーズ＞
検知部１５は、所定の条件を満たす場合に、グラフ生成部１１が生成した分析グラフと、正常グラフ記憶部１４に記憶された正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する。
【００９３】
一例として、所定の条件が、グラフ生成部１１が、分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合の具体例について説明する。例えば、検知部１５は、グラフ生成部１１が分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合に、当該分析グラフと、正常グラフとの類似度を算出し、当該類似度が予め定めた閾値以下の場合に異常を検知する。
【００９４】
なお、検知部１５が異常を検知する手法は、上記手法に限られない。例えば、検知部１５は、分析グラフと正常グラフとが完全一致していない場合に異常を検知しても良い。このように、検知部１５は、分析グラフと正常グラフとを用いて異常を検知するものであれば、どのような手法を用いても良い。
【００９５】
また、検知部１５は、分析グラフが有するノードやエッジの数に応じて、閾値を変更しても良い。例えば、分析グラフは、様々な活動を行う度に、当該分析グラフが有するノードやエッジの数が多くなる。分析グラフが有するノードやエッジの数が多くなるにつれて、予め定められた正常グラフとの類似度が低下し、その分析グラフが正常な活動を示すものであったとしても、異常と検知されてしまうおそれがある。従って、検知部１５は、分析グラフが有するノードやエッジの数が所定の数よりも多くなる際は異常と検知するための閾値を下げる等のように、分析グラフが有するノードやエッジの数に応じて閾値を変更することで、正常な活動に対して異常と検知することを防止することができる。このように、検知部１５は、分析グラフが有するノードやエッジの数に応じて閾値を変更することで、柔軟な異常検知を行うことが可能となる。
【００９６】
また、検知部１５が分析グラフとの類似度を算出する対象は、正常グラフ記憶部１４に記憶された全ての正常グラフでも良いし、正常グラフ記憶部１４に記憶された一部の正常グラフでも良い。例えば、検知部１５は、正常グラフ記憶部１４に記憶された全ての正常グラフと、グラフ生成部１１が生成した分析グラフとの類似度を算出する際、類似度が閾値以上の正常グラフが１つも無い場合に異常と判断することができる。このように、検知部１５は、正常グラフ記憶部１４に記憶された全ての正常グラフと分析グラフとの類似度を算出することで、精度良く異常検知を行うことが可能となる。また、検知部１５は、正常グラフ記憶部１４に記憶された一部の正常グラフと分析グラフとの類似度を算出することで、全ての正常グラフについて類似度を算出する場合に比べて、処理を軽減することができる。
【００９７】
なお、類似度を算出する対象となる正常グラフは、ユーザが選定しても良いし、所定の基準等を定めて自動で選定されるようにしても良い。例えば、検知部１５は、分析グラフが有する最新のノードと最新のノードが一致する正常グラフについて、類似度を算出する対象として選定しても良い。このように、検知部１５が、類似度を算出する対象となる正常グラフを選定できるのであれば、所定の基準等は何でも良い。
【００９８】
出力部１６は、検知部１５が異常を検知した場合、当該異常に関する情報を出力する。
【００９９】
異常に関する情報として、例えば、出力部１６は、検知部１５が異常を検知したグラフの全体を表示するように出力をしても良いし、正常グラフとの不一致箇所のみを表示するように出力しても良い。また、正常グラフとの不一致箇所を強調表示するように出力しても良いし、正常グラフとの一致箇所をグレースケールや点線等を用いて表示を変更するように出力しても良いし、異常と判断された原因を表示するように出力しても良い。
【０１００】
このように、出力部１６は、グラフ生成部１１が生成した分析グラフと正常グラフとの一致箇所及び不一致箇所について互いに異なる態様で出力することで、ユーザ等が容易に異常な箇所を特定することが可能となる。
【０１０１】
なお、分析グラフと正常グラフとの一致箇所及び不一致箇所を判定する手法については、分析グラフと正常グラフとを対比することで一致部分と不一致部分とを判定する手法等のように、様々な手法を採用することが可能である。
【０１０２】
更に、出力部１６は、スピーカーで流す音声を出力しても良いし、ランプの点灯を変更させるように出力しても良いし、異常に関する情報をプリントするように出力しても良い。このように、出力部１６が出力を行う異常に関する情報は、任意に変更可能である。
【０１０３】
一例として、検知部１５が図６に示す分析グラフの異常を検知した場合における、出力部１６の出力例について説明する。このとき、正常グラフ記憶部１４には図４に示すグラフが正常グラフとして記憶されており、グラフ生成部１１が図６に示す分析グラフを生成したものとする。図８に、出力部１６が、分析グラフと正常グラフとの不一致箇所を強調表示するように出力した場合の具体例を示す。
【０１０４】
図８に示す具体例では、ノードＮ５とノードＮ７との間を枠線で囲むことで、正常グラフとの不一致箇所を強調表示している。なお、出力部１６は、強調表示だけでなく、図８の吹き出し中に示すように、注意書きや異常と判断された原因等を表示するように出力しても良い。このように、出力部１６が正常グラフとの不一致箇所を、一致箇所と異なる態様で出力することで、ユーザは、異常な活動を直感的に把握することができる。
【０１０５】
なお、出力部１６は、検知部１５が検知した異常に関する情報を外部の記憶装置等に出力し、当該情報を記憶させる等、出力装置４０以外の装置に出力することも可能である。
【０１０６】
なお、出力部１６が出力する情報は、例えば、監視対象システム２０の監視を行うユーザによって利用される。ユーザは、出力部１６が出力する情報を出力装置４０から取得することにより、監視対象システム２０の状況を把握することができる。より具体的には、ユーザは、出力装置４０から情報を取得することにより、監視対象システム２０において、異常な状態を表すプログラムの活動が発生していないかどうかを確認する。なお、監視対象システム２０において異常な状態を表すプログラムの活動が発生した場合、ユーザが当該異常に対する対処を行ってもいいし、情報処理装置１０が当該異常に対する対処を行っても良い。
【０１０７】
なお、入力装置３０と出力装置４０とは、別個の装置として説明したが、入出力装置として、１つの装置にまとめても良い。また、入力装置３０及び出力装置４０と情報処理装置１０とは別個の装置として説明したが、情報処理装置１０は、入力装置３０又は出力装置４０を含めても良い。
【０１０８】
なお、グラフ生成部１１は、イベントとグラフとの連続関係を確認する際、イベントグラフを生成した上で、分析グラフとの連続関係を確認しても良い。また、グラフ生成部１１は、イベントからグラフを生成しない状態、つまり、ログ等の状態から、分析グラフ記憶部１２に記憶された分析グラフとの連続関係を確認しても良い。グラフ生成部１１は、連続関係を有する場合、当該ログと分析グラフとを用いて新たな分析グラフを生成し、連続関係を有さない場合、当該ログを用いて分析グラフを生成する。
【０１０９】
なお、グラフ生成部１１は、連続関係を有するイベントグラフと分析グラフとを結合し、新たな分析グラフを生成することで、連続的に推移するような活動を、異常検知の対象となる分析グラフとして表現することが可能となる。
【０１１０】
なお、ノード、エッジ、分析グラフ、正常グラフ、監視対象システム２０内の監視対象、実行ユーザ、及び実行日時等には、それぞれ重み付けをすることが可能である。それぞれに適切な重み付けを設定することで、異常検知の精度を向上させることが可能である。
【０１１１】
［効果］
本願発明は、上記のような構成を有することにより、連続的に推移するような活動であっても、異常を検知することが可能となる。
【０１１２】
特に、本願発明は、マルチホップの活動について、異常を検知する際に効果を奏する。具体的に、本願発明は、異常を検知する対象となる活動（分析グラフ）及びホワイトリスト（正常グラフ）にグラフ構造を用いているため、ユーザＡからユーザＢへ推移し、ユーザＢからユーザＣへ推移するようなマルチホップの活動についても、異常を検知することが可能となる。
【０１１３】
また、グラフ構造が有するマルチホップでの親子関係や、グラフが有する様々な付加情報を用いることで、異常検知の精度を向上させることが可能である。更に、異常を検知する対象となる活動やホワイトリストにグラフを用いることで、ユーザが活動を監視する際の視認性を向上させることができる。
【０１１４】
＜第２の実施形態＞
［構成］
本願発明の第２の実施形態を、図面を参照して説明する。図９は、第２の実施形態における、情報処理装置１００のブロック図を示す図である。第２の実施形態における情報処理装置１００は、生成部２００と、正常グラフ記憶部３００と、検知部４００とを含む。
【０１１５】
生成部２００は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する。
【０１１６】
正常グラフ記憶部３００は、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する。
【０１１７】
検知部４００は、生成部２００が生成した分析グラフと正常グラフ記憶部３００が記憶する正常グラフとに基づいて異常を検知する。
【０１１８】
［動作］
次に、本願発明の第２の実施形態における主な動作を説明する。
【０１１９】
図１０は、情報処理装置１００の動作を示すフローチャートである。
【０１２０】
生成部２００は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する（Ｓ１００）。
【０１２１】
正常グラフ記憶部３００は、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する（Ｓ２００）。
【０１２２】
検知部４００は、生成部２００が生成した分析グラフと正常グラフ記憶部３００が記憶する正常グラフとに基づいて異常を検知する（Ｓ３００）。
【０１２３】
本願発明は、上記のような構成を有することにより、連続的に推移するような活動であっても、異常を検知することが可能となる。
【０１２４】
［プログラム］
本願発明におけるプログラムは、コンピュータに、本願発明の処理を実行させるプログラムである。このプログラムをコンピュータにインストールし、実行することによって、本願発明を実現することができる。
【０１２５】
ここで、本願発明におけるプログラムを実行することによって、本願発明を実現するコンピュータについて図１１を用いて説明する。
【０１２６】
図１１は、本願発明を実現するコンピュータの一例を示すブロック図である。
【０１２７】
図１１に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１２８】
ＣＰＵ１１１は、記憶装置１１３に格納された、本願発明におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶装置である。また、本願発明におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本願発明におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１２９】
また、記憶装置１１３は、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、入力機器１１８との間のデータ伝送を仲介する。入力機器１１８とは、例えば、キーボード及びマウス並びにタッチパネル等が挙げられる。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１３０】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と他のコンピュータとの間のデータ伝送を仲介する。
【０１３１】
また、記録媒体１２０の具体例としては、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標））及びＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）等の汎用的な半導体記憶デバイス、又はフレキシブルディスク（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等の磁気記憶媒体が挙げられる。更に、記録媒体１２０の具体例としては、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの光学記憶媒体も挙げられる。
【０１３２】
ここまで、本願発明を実施するための形態を説明してきたが、本願発明は上述した実施形態に限定されるものではない。例えば、本明細書で記載したフローチャートにおける処理の順序はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で変更する事が可能である。また、本明細書で記載した構成はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で構成を変更する事が可能である。即ち、本願発明は、本願発明を実施する際に矛盾のない範囲で当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せ等も、本願発明の技術的範囲に含まれる。
【０１３３】
［付記］
本発明における一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置、情報処理方法、情報処理プログラム、情報処理システムの構成の概略を説明する。ただし、本発明は、以下の構成に限定されない。
（付記１）
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、
を有する情報処理装置。
（付記２）
前記検知部は、前記正常グラフ記憶部が記憶する正常グラフと、前記生成部が生成した分析グラフとの類似度を算出し、当該類似度に基づき異常を検知する、
付記１に記載の情報処理装置。
（付記３）
前記検知部は、前記生成部が分析グラフを生成したタイミングで類似度を算出する、
付記２に記載の情報処理装置。
（付記４）
前記生成部が生成した分析グラフを格納する分析グラフ記憶部を更に有し、
前記生成部は、１つのエッジ及びそのエッジによって接続される２つのノードを有するイベントグラフを生成し、当該イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとを用いて、新たな分析グラフを生成する、
付記１乃至３のいずれか１項に記載の情報処理装置。
（付記５）
前記生成部は、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、当該分析グラフにイベントグラフを結合することで、新たな分析グラフを生成する、
付記４に記載の情報処理装置。
（付記６）
前記生成部は、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有さない場合は、当該イベントグラフを新たな分析グラフとして、前記分析グラフ記憶部に格納する、
付記４又は５に記載の情報処理装置。
（付記７）
検知部が異常を検知した場合、当該異常に関する情報を出力する出力部を更に有し、
前記出力部は、正常グラフと分析グラフとの一致部分と、正常グラフと分析グラフとの不一致部分とを、異なる態様で出力する、
付記１乃至６のいずれか１項に記載の情報処理装置。
（付記８）
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する、
情報処理方法。
（付記９）
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する処理をコンピュータに実行させる、
情報処理プログラム。
（付記１０）
情報処理装置と、
１以上のコンピュータを含む監視対象と、
前記情報処理装置に対して情報を入力する入力装置と、
前記情報処理装置が処理を行った情報を出力する出力装置と、
を有し、
前記情報処理装置は、
前記監視対象におけるプログラムの活動をエッジ及びノードを用いて表す分析グラフを生成する生成部と、
前記入力装置から入力された情報に基づき、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部とを有する、
情報処理システム。
【符号の説明】
【０１３４】
１    情報処理システム
１０    情報処理装置
１１    グラフ生成部
１２    分析グラフ記憶部
１３    正常グラフ生成部
１４    正常グラフ記憶部
１５    検知部
１６    出力部
２０    監視対象システム
３０    入力装置
４０    出力装置
１００    情報処理装置
１１０    コンピュータ
１１１    ＣＰＵ
１１２    メインメモリ
１１３    記憶装置
１１４    入力インターフェイス
１１５    表示コントローラ
１１６    データリーダ／ライタ
１１７    通信インターフェイス
１１８    入力機器
１１９    ディスプレイ装置
１２０    記録媒体
２００    生成部
３００    正常グラフ記憶部
４００    検知部
【図１】
2020154489.tif 000003
【図２】
2020154489.tif 000004
【図３】
2020154489.tif 000005
【図４】
2020154489.tif 000006
【図５】
2020154489.tif 000007
【図６】
2020154489.tif 000008
【図７】
2020154489.tif 000009
【図８】
2020154489.tif 000010
【図９】
2020154489.tif 000011
【図１０】
2020154489.tif 000012
【図１１】
2020154489.tif 000013