(57)【特許請求の範囲】
【請求項１】
標的型攻撃やマルウェアの活動を検知する検知装置と接続されたサイバー攻撃分析装置であって、
前記検知装置から送信された、標的型攻撃やマルウェアの活動内容を表現する構造である複数の不審活動グラフを記憶する記憶部と、
クライアント端末の要求に応じて前記複数の不審活動グラフの類似度を算出する制御部と、
前記複数の不審活動グラフの類似度の算出結果を前記クライアント端末に表示させる出力部と、
を備えることを特徴とする、サイバー攻撃分析装置。
【請求項２】
前記不審活動グラフは、標的型攻撃やマルウェアが侵入した端末をノード、侵入経路をエッジ、前記端末内での活動記録をラベルとするグラフ構造である
ことを特徴とする、請求項１に記載のサイバー攻撃分析装置。
【請求項３】
前記制御部は、
前記不審活動グラフのノード、グラフ、ラベルの各要素に固有の記述である正規化前識別子を、予め定義された抽象的または一般的な記述である正規化後識別子に変換して正規化グラフを構築し、構築した前記正規化グラフ間のグラフ構造の類似度を算出する
ことを特徴とする、請求項２に記載のサイバー攻撃分析装置。
【請求項４】
前記制御部は、
前記正規化前識別子から前記正規化後識別子への変換に際して、両識別子の対応情報を有することを特徴とする、請求項３に記載のサイバー攻撃分析装置。
【請求項５】
前記記憶部には、前記不審活動グラフを正規化するための情報が記憶されており、
前記制御部は、
前記不審活動グラフを正規化するための情報をもとに、前記不審活動グラフの前記ラベルの情報に含まれる実行ファイルの挙動情報や通信情報に対応する前記正規化後識別子を選択する
ことを特徴とする、請求項４に記載のサイバー攻撃分析装置。
【請求項６】
前記制御部は、
前記不審活動グラフのグラフ構造について、任意のルールに基づいて重複ノードやエッジを削除する変形処理を行う
ことを特徴とする、請求項５に記載のサイバー攻撃分析装置。
【請求項７】
前記制御部は、
任意の不審活動グラフに類似する他の不審活動グラフの形状をもとに、任意の不審活動グラフの今後の形状変化を予測する
ことを特徴とする、請求項１に記載のサイバー攻撃分析装置。
【請求項８】
前記制御部は、
予測対象の不審活動グラフに類似し、かつ、予測対象には含まれない要素を有する不審活動グラフであるスーパーグラフを特定し、前記スーパーグラフと前記予測対象の不審活動グラフの差分を、攻撃の動向予測結果として求める
ことを特徴とする、請求項７に記載のサイバー攻撃分析装置。
【請求項９】
前記制御部は、
外部のクライアント端末からの類似グラフ検索要求及びグラフ動向予測要求を受け付け
前記出力部は、
類似グラフ検索結果及びグラフ動向予測結果を前記クライアント端末に出力させる
ことを特徴とする、請求項８に記載のサイバー攻撃分析装置。
【請求項１０】
前記サイバー攻撃分析装置は、前記クライアント端末がもつアクセス権限に応じて、前記類似グラフ検索結果及び前記グラフ動向予測結果を前記クライアント端末に出力させる際に、前記不審活動グラフの情報を表示させるかを判断する
ことを特徴とする、請求項９に記載のサイバー攻撃分析装置。
【請求項１１】
標的型攻撃やマルウェアの活動を検知する検知装置と接続されたサイバー攻撃分析装置におけるサイバー攻撃分析方法であって、
前記検知装置から送信された、標的型攻撃やマルウェアの活動内容を表現する構造である複数の不審活動グラフを記憶するステップと、
クライアント端末の要求に応じて前記複数の不審活動グラフの類似度を算出するステップと、
前記複数の不審活動グラフの類似度の算出結果を前記クライアント端末に表示させるステップと、
を含むことを特徴とする、サイバー攻撃分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイバー攻撃分析装置及びサイバー攻撃分析方法に関し、複数の異なる標的型攻撃及びマルウェアの攻撃動向を分析するサイバー攻撃分析装置及びサイバー攻撃分析方法に適用して好適なるものである。
【背景技術】
【０００２】
近年、情報漏えいや不正アクセスなどの脅威をもたらすコンピュータウイルスやスパイウェア、ボットプログラムといった悪意ある不正プログラム（マルウェア）が増加している。マルウェアの脅威からシステムやネットワークを守るには、最初にマルウェアを検知する必要がある。マルウェアの検知方式はであるが、検知方式によっては検知するまでに時間がかかるという課題があった。また、高度なマルウェアに対しては検知精度が低下してしまうという課題があった。さらに、ここ数年では、高度なマルウェアを巧みに活用して特定の官庁や企業、組織のネットワークに侵入し、機密情報の窃取やシステム破壊を行う「標的型攻撃」が、セキュリティ上の大きな脅威となっている。
【０００３】
これらのマルウェアや標的型攻撃による被害を最小化するには、まず、初期感染端末から、ソフトウェアの脆弱性などを悪用して、同ネットワーク内の他端末への感染を広げる活動を、何らかの方法によって「不審活動」として検知する必要がある。さらに、検知した「不審活動」について、過去に同一ネットワーク或いは別のネットワークで検知された不審活動との類似性・関係性を分析して、攻撃者が同一のものかどうかを判断したり、今後の攻撃の動向を予測したりする仕組みが必要となる。
【０００４】
組織ネットワーク内で、これらの高度なマルウェアや標的型攻撃を、不審活動として検知する方法の１つとして、ネットワークや端末の挙動を詳細に観測し、観測結果を基に検知する方法がある。
【０００５】
例えば、特許文献１では、プロセスが行う端末内活動や通信を観測し、その挙動が予め決められたルールに合致するとき、初めてマルウェアを検知する。特許文献２及び特許文献３では、特定の標的型攻撃が行われるときに生じる通信の特徴に着目した検知を行う。
【０００６】
また、非特許文献１では、マルウェアが拡散活動を行うと通常の通信頻度が低い組織内端末間でコネクションが張られ、さらに、マルウェアの感染が広がると、このコネクションをエッジとするツリー構造が観測されることに着目する。そして、一定サイズ以上のツリー構造が発生した場合にマルウェアを検知する。
【０００７】
また、非特許文献２では、ネットワーク内に同一種類の端末（例えばＷＥＢサーバ）のグループが存在し、その一部のサブグループのレスポンスタイムやＣＰＵ負荷などが変動した場合に、変動の度合いを分析することで、個々のサーバの調子が偶然悪いのではなくサブグループが攻撃されていることを検知する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−５３８９３号公報
【特許文献２】特開２０１４−８６８２１号公報
【特許文献３】特開２０１４−８６８２２号公報
【非特許文献】
【０００９】
【非特許文献１】”サイレントワーム検知のためのアノマリーコネクションツリーメソッド”, 情報処理学会論文誌48(2), pp.614-624, 2007
【非特許文献２】” Community Epidemic Detection Using Time-Correlated Anomalies”, Springer LectureNotes in Computer Science Volume 6307, 2010, pp 360-381
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、上記特許文献１、特許文献２及び特許文献３では、予め決められたパターンに従う攻撃を検知するため、検知結果間の比較や今後の攻撃動向の分析を行うことが困難であった。また、上記非特許文献１で提示されている手法では、一連の攻撃活動をツリー構造として検出するが、異なるツリー間の類似度を求める方法が示されていない。また、非特許文献２で提示されている手法では、攻撃活動自体を提示できないため、攻撃の分析に用いることは困難であるという問題があった。
【００１１】
本発明は以上の点を考慮してなされたもので、標的型攻撃及びマルウェアの活動の分析、及び、今後の攻撃の動向を予測することが可能なサイバー攻撃分析装置及びサイバー攻撃分析方法を提案しようとするものである。
【課題を解決するための手段】
【００１２】
かかる課題を解決するために本発明においては、標的型攻撃やマルウェアの活動を検知する検知装置と接続されたサイバー攻撃分析装置であって、前記検知装置から送信された、標的型攻撃やマルウェアの活動内容を表現する構造である複数の不審活動グラフを記憶する記憶部と、クライアント端末の要求に応じて前記複数の不審活動グラフの類似度を算出する制御部と、前記複数の不審活動グラフの類似度の算出結果を前記クライアント端末に表示させる出力部と、を備えることを特徴とする、サイバー攻撃分析装置が提供される。
【００１３】
かかる課題を解決するために本発明においては、標的型攻撃やマルウェアの活動を検知する検知装置と接続されたサイバー攻撃分析装置におけるサイバー攻撃分析方法であって、前記検知装置から送信された、標的型攻撃やマルウェアの活動内容を表現する構造である複数の不審活動グラフを記憶するステップと、クライアント端末の要求に応じて前記複数の不審活動グラフの類似度を算出するステップと、前記複数の不審活動グラフの類似度の算出結果を前記クライアント端末に表示させるステップと、を含むことを特徴とする、サイバー攻撃分析方法が提供される。
【発明の効果】
【００１４】
本発明によれば、標的型攻撃及びマルウェアの活動の分析、及び、今後の攻撃の動向を予測することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るサイバー攻撃分析システムの概要を示す図である示す断面図である。
【図２】同実施形態にかかるサイバー攻撃分析装置の構成を示す図である。
【図３】同実施形態にかかる不審活動グラフを説明する概念図である。
【図４Ａ】同実施形態にかかる不審活動グラフＤＢレコードの内容を説明する図表である。
【図４Ｂ】同実施形態にかかる不審活動グラフＤＢレコードの内容を説明する図表である。
【図５】同実施形態にかかるポリシーＤＢレコードの内容を説明する図表である。
【図６】同実施形態にかかるルールＤＢレコードの内容を説明する図表である。
【図７Ａ】同実施形態にかかる正規化グラフＤＢレコードの内容を説明する図表である。
【図７Ｂ】同実施形態にかかる正規化グラフＤＢレコードの内容を説明する図表である。
【図８】同実施形態にかかる正規化グラフ構築処理の流れを示すフローチャートである。
【図９】同実施形態にかかる情報正規化処理の流れを示すフローチャートである。
【図１０】同実施形態にかかるグラフ検索処理の流れを示すフローチャートである。
【図１１】同実施形態にかかる動向予測処理の流れを示すフローチャートである。
【図１２】同実施形態にかかるグラフ構造の正規化を説明する概念図である。
【図１３】同実施形態にかかる攻撃元分析結果レコードの内容を説明する図表である。
【図１４】同実施形態にかかる攻撃元分析結果の表示例を示す概念図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を、図面を参照して説明する。本実施の形態では、３つの異なる組織Ａ、Ｂ及びＣから、標的型攻撃やマルウェアの不審活動に関する情報を収集して、類似度の高い活動を分析する。また、過去に発生した不審活動をもとに、今後の不審活動の動向の予測を行う。
【００１７】
（１）サイバー攻撃分析システムの構成
図１は本実施の形態にかかるサイバー攻撃分析システムの構成を示すブロック図である。図１に示すように、サイバー攻撃分析システムは、サイバー攻撃分析装置１０、不審活動検知装置Ａ２０ａ、不審活動検知装置Ｂ２０ｂ、不審活動検知装置Ｃ２０ｃ、検索クライアント３０ａ、動向予測クライアント３０ｂ、通信ネットワーク４０ａ及び通信ネットワーク４０ｂから構成される。
【００１８】
サイバー攻撃分析装置１０は、一般的なサーバであり、複数の組織から寄せられた、標的型攻撃及びマルウェアが実施した不審活動（以下、単に不審活動と称して説明する場合もある。）を収集し、その類似度の分析及び活動の動向予測を行う情報処理装置である。
【００１９】
不審活動検知装置Ａ２０ａ、不審活動検知装置Ｂ２０ｂ及び不審活動検知装置Ｃ２０ｃ（以下、不審活動検知装置２０と総称して説明する場合もある。）は、組織Ａ、Ｂ及びＣにそれぞれ配置されたサーバであり、標的型攻撃及びマルウェアが実施した不審活動を検知して、該不審活動をサイバー攻撃分析装置１０に通知する。不審活動検知装置２０は、該不審活動を不審活動グラフという形状で表現する。不審活動グラフについては後で詳細に説明する。
【００２０】
検索クライアント３０ａは、ネットワーク４０ｂを介してサイバー攻撃分析装置１０にアクセスする一般的なＰＣ（Personal computer）であり、ある特定の不審活動に類似する不審活動の検索リクエストを、サイバー攻撃分析装置１０に依頼する。
【００２１】
動向予測クライアント３０ｂは、ネットワーク４０ｂを介してサイバー攻撃分析装置１０にアクセスする一般的なＰＣであり、ある特定の不審活動の、今後の動向の予測をサイバー攻撃分析装置１０に依頼する。
【００２２】
通信ネットワーク４０ａは、ＷＡＮ（World Area Network）やＬＡＮ（Local Area Network）、携帯電話、ＰＨＳ等の公衆回線網でもよい。サイバー攻撃分析装置１０と、不審活動検知装置Ａ２０ａ、不審活動検知装置Ｂ２０ｂ及び不審活動検知装置Ｃ２０ｃとの通信は、通信ネットワーク４０ａを介して行われる。
【００２３】
通信ネットワーク４０ｂは、ＷＡＮ（World Area Network）やＬＡＮ（Local Area Network）、携帯電話、ＰＨＳ等の公衆回線網でもよい。サイバー攻撃分析装置１０と、検索クライアント３０ａ及び動向予測クライアント３０ｂとの通信は、通信ネットワーク４０ｂを介して行われる。尚、通信ネットワーク４０ａと通信ネットワーク４０ｂとは同一のものであってもよい。
【００２４】
サイバー攻撃分析装置１０には、図１に示すように、以下の機能部及びＤＢ（DataBase）が含まれる。すなわち、不審活動グラフＤＢ１００、ポリシーＤＢ２００、振舞いルールＤＢ３００及び正規化グラフＤＢ４００と、正規化グラフ構築部５００、情報正規化機能部６００、グラフ検索部７００及び動向予測部８００とが含まれる。
【００２５】
不審活動グラフＤＢ１００は、不審活動検知装置２０から受け取った不審活動グラフの情報を保持するＤＢである。
【００２６】
ポリシーＤＢ２００は、不審活動グラフＤＢ１００に保管されている不審活動グラフの情報を正規化するのに必要なポリシー情報が含まれている。なお、本実施の形態では、「正規化」という用語を、固有名称をその固有名称が属する一般名称に変換する作業一般として用いる。
【００２７】
振舞いルールＤＢ３００は、不審活動グラフＤＢ１００に保管されている不審活動グラフの情報を正規化するのに必要な振舞いに関する情報が含まれている。振舞いルールＤＢ３００に含まれているレコードは、プログラム（ソフトウェア）の挙動情報をもとに、そのプログラムが属する一般名称を解決するために用いられる。
【００２８】
正規化グラフＤＢ４００は、不審活動グラフＤＢ１００に含まれている不審活動グラフを正規化した正規化グラフを保管するためのＤＢである。
【００２９】
正規化グラフ構築部５００は、不審活動検知装置２０から受信した不審活動グラフを不審活動グラフＤＢ１００に保管し正規化した後、正規化グラフＤＢ４００に保管する機能である。
【００３０】
情報正規化機能部６００は、ポリシーＤＢ２００及び振舞いルールＤＢ３００を用いて、不審活動グラフの固有名称を一般名称に変換する機能である。
【００３１】
グラフ検索部７００は、検索クライアント３０ａからの、類似グラフの検索リクエストを受け付け、類似グラフに関する情報を返信する。
【００３２】
動向予測部８００は、動向予測クライアント３０ｂからの、不審活動グラフの今後の動向予測のリクエストを受付け、予測結果を返信する。
【００３３】
（２）ハードウェア構成
図２は、サイバー攻撃分析装置１０のハードウェア構成を示している。なお、不審活動検知装置２０や検索クライアント３０ａ、動向予測クライアント３０ｂのハードウェア構成もサイバー攻撃分析装置１０のハードウェア構成と同様である。
【００３４】
図２に示すように、サイバー攻撃分析装置１０のハードウェアは、ＣＰＵ１、メモリ２、外部記憶装置３、インタフェース（ＩＦ）４、入出力装置５、バス６から構成される。
【００３５】
ＣＰＵ１は、メモリ内に保存されたプログラムを実行し、各機能部（正規化グラフ構築部５００、情報正規化機能部６００、グラフ検索部７００または動向予測部８００）として具現化させる。メモリ２は、各機能部を実現するのに必要な実行プログラムを含んでいる。
【００３６】
外部記憶装置３は、ＨＤＤ（Hard Disk Drive）などから構成され、データの長期記憶を行うのに用いられる。外部記憶装置３は、サイバー攻撃分析装置１０に含まれるＤＢ（不審活動グラフＤＢ１００、ポリシーＤＢ２００、振舞いルールＤＢ３００及び正規化グラフＤＢ４００）を格納する。
【００３７】
インタフェース（図中ＩＦと表記）４は、サイバー攻撃分析装置１０を通信ネットワーク４０ａ及び通信ネットワーク４０ｂに接続する。
【００３８】
入出力装置５は、サイバー攻撃分析装置１０のユーザ及び管理者による各種情報の入力、及び、格納されている情報の出力を行う。
【００３９】
バス６は、ＣＰＵ１、メモリ２、外部記憶装置３、ＩＦ４及び入出力装置５を接続し、機能間の情報のやりとりを実現する。
【００４０】
（３）不審活動グラフの詳細
図３に、不審活動グラフの概念図を示す。図３の不審活動グラフは、あるネットワーク内で行われた標的型攻撃・マルウェア感染の流れを表現する。図３に示す不審活動グラフは、ノード（Ｎ−１、Ｎ−２、Ｎ−３及びＮ−４）と、ノード間を繋ぐエッジ（Ｅ−１、Ｅ−２及びＥ−３）により構成される。
【００４１】
グラフのノードは、攻撃が行われた端末（ＰＣやサーバ）である。エッジは、攻撃者やマルウェアによる、端末の渡り歩きや感染拡大に利用された不審通信（ＴＣＰ通信やＵＤＰ通信）を表現する。また、各ノードには、各端末内で行われた不審活動の情報が、ラベル（Ｌ−１、Ｌ−２、Ｌ−３及びＬ−４）として付与される。
【００４２】
図３の例では、グラフは４つのノードＮ−１、Ｎ−２、Ｎ−３、Ｎ−４から構成され、各ノードは、端末Ａ−１、端末Ａ−２、端末Ａ−３、端末Ａ−４をそれぞれ示す。また、エッジＥ−１、Ｅ−２、Ｅ−３は、端末Ａ−１から端末Ａ−２への渡り歩きに利用された通信、端末Ａ−２から端末Ａ−３の渡り歩きに利用された通信、端末Ａ−３から端末Ａ−４に利用された通信の渡り歩きを意味する。また、ラベルＬ−１、Ｌ−２、Ｌ−３及びＬ−４は、各端末で行われた不審活動情報を、それぞれ示す。
【００４３】
不審活動グラフは、不審活動検知装置２０により検知される。各装置がどのような検知方式・アルゴリズムで不審活動を検知するかは、一般的な不審活動の検知システムを適用することができる。
【００４４】
（４）各種ＤＢの構成
図４Ａ及び図４Ｂを参照して、不審活動グラフＤＢ１００について説明する。不審活動グラフＤＢ１００は、各不審活動検知装置から収集した不審活動グラフを保管するデータベースである。
【００４５】
図４Ａ及び図４Ｂに示すように、不審活動グラフＤＢ１００は、ＩＤ１１０、生成時間１２０、端末１３０、不審活動内容１４０及び不審通信先１５０から構成される。
【００４６】
ＩＤ１１０は、各不審活動グラフを一意に識別するための識別子である。生成時間１２０は、各不審活動グラフの最初のノードが生成された時間を示す。端末１３０は、不審活動グラフにノードとして含まれる端末の一覧である。端末１３０は、図３のノードＮ−１〜Ｎ−４が対応している。
【００４７】
不審活動内容１４０は、各端末において実施された不審活動の情報である。これは、図３のラベルＬ−１〜Ｌ−４が対応する。不審通信先１５０は、各端末に侵入した攻撃者・マルウェアが次に移動した端末識別子である。移動先が無い場合、“ＮＯＮＥ”という文字列となる。不審通信先１５０は、図３のエッジＥ−１〜Ｅ−３に対応する。
【００４８】
このように、図４Ａ及び図４Ｂには、３つの不審活動グラフが記録されている。例えば、図４Ａでは、ＩＤ１１０＝１のグラフは、「2014-07:17 10:55」に記録されたもので、組織Ａに属する端末である端末Ａ−１、端末Ａ−２、端末Ａ−３、端末Ａ−４をノードとして持つことがわかる。
【００４９】
端末Ａ−１では、「ファイルa1-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 10:55)」「ファイルa1-2.exeが、端末Ａ−２の管理ポートに対してアクセス(2014-07-17 10:55)」という２つの不審活動が記録される。また、端末Ａ−１から端末Ａ−２に対して不審通信が発生していることがわかる。
【００５０】
端末Ａ−２では、「ファイルa2-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 11:00)」「ファイルa2-2.exeが、端末Ａ−３の管理ポートに対してアクセス(2014-07-17 11:00)」という２つの不審活動が記録される。また、端末Ａ−2から端末Ａ−３に対して不審通信が発生していることがわかる。
【００５１】
端末Ａ−３では、「ファイルa3-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 11:05)」「ファイルa3-2.exeが、端末Ａ−４の管理ポートに対してアクセス(2014-07-17 11:05)」という２つの不審活動が記録される。また、端末Ａ−３から端末Ａ−４に対して不審通信が発生していることがわかる。
【００５２】
端末Ａ−４では、「ファイルa4-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 11:10)」「ファイルa4-2.exeが、POSTメソッドで、外部サイトU-A2に対して、100MBのデータをアップロード(2014-07-17 11:10)」という２つの不審活動が記録される。
【００５３】
また、ＩＤ１１０＝２のグラフは、「2013-07:17 10:55」に記録されたもので、組織Ｂに属する端末である端末Ｂ−１、端末Ｂ−２、端末Ｂ−３、端末Ｂ−４をノードとして持つことがわかる。
【００５４】
端末Ｂ−１では、「ファイルb1-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して60分間通信(2013-07-17 10:55)」「ファイルb1-2.exeが、端末Ｂ−２の管理ポートに対してアクセス(2013-07-17 10:55)」という２つの不審活動が記録される。また、端末Ｂ−１から端末Ｂ−２に対して不審通信が発生している。
【００５５】
端末Ｂ−２では、「ファイルb2-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して60分間通信(2013-07-17 11:00)」「ファイルb2-2.exeが、端末Ｂ−３の管理ポートに対してアクセス(2013-07-17 11:00)」という２つの不審活動が記録される。また、端末Ｂ−2から端末Ｂ−３に対して不審通信が発生していることがわかる。
【００５６】
端末Ｂ−３では、「ファイルb3-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して50分間通信(2013-07-17 11:05)」「ファイルb3-2.exeが、端末Ｂ−４の管理ポートに対してアクセス(2013-07-17 11:05)」という２つの不審活動が記録される。また、端末Ｂ−３から端末Ｂ−４に対して不審通信が発生していることがわかる。
【００５７】
端末Ｂ−４では、「ファイルb4-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して45分間通信(2013-07-17 11:10)」「ファイルb4-2.exeが、POSTメソッドで、外部サイトU-B2に対して、100MBのデータをアップロード(2013-07-17 11:10)」という２つの不審活動が記録される。
【００５８】
また、ＩＤ１１０＝３のグラフは、「2012-07:17 10:55」に記録されたもので、組織Ｃに属する端末である端末Ｃ−１、端末Ｃ−２、端末Ｃ−３、端末Ｃ−４、端末Ｃ−５をノードとして持つことがわかる。
【００５９】
端末Ｃ−１では、「ファイルc1-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して40分間通信(2012-07-17 10:55)」「ファイルc1-2.exeが、端末Ｃ−２の管理ポートに対してアクセス(2012-07-17 10:55)」という２つの不審活動が記録される。また、端末Ｃ−１から端末Ｃ−２に対して不審通信が発生している。
【００６０】
端末Ｃ−２では、「ファイルc2-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して50分間通信(2012-07-17 11:00)」「ファイルc2-2.exeが、端末Ｃ−３の管理ポートに対してアクセス(2012-07-17 11:00)」という２つの不審活動が記録される。また、端末Ｃ−２から端末Ｃ−３に対して不審通信が発生している。
【００６１】
端末Ｃ−３では、「ファイルc3-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して60分間通信(2012-07-17 11:05)」「ファイルc3-2.exeが、端末Ｃ−４の管理ポートに対してアクセス(2012-07-17 11:05)」という２つの不審活動が記録される。また、端末Ｃ−３から端末Ｃ−４に対して不審通信が発生している。
【００６２】
端末Ｃ−４では、「ファイルc3-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して55分間通信(2012-07-17 11:10)」「ファイルc4-2.exeが、POSTメソッドで、外部サイトU-C2対して、100MBのデータをアップロード(2012-07-17 11:10)」「ファイルc4-3.exeが、端末Ｃ−５の管理ポートに対してアクセス(2012-07-17 11:10)」という３つの不審活動が記録される。また、端末Ｃ−４から端末Ｃ−５に対して不審通信が発生している。
【００６３】
端末Ｃ−５では、「ファイルc5-1.exeが、CONNECTメソッドで、外部サイト U-C2に対して45分間通信(2012-07-17 11:15)」「ファイルc5-2.exeが、POSTメソッドで、外部サイトU-C2に対して、100MBのデータをアップロード(2012-07-17 11:15)」という２つの不審活動が記録される。
【００６４】
次に、図５を参照して、ポリシーＤＢ２００について説明する。ポリシーＤＢ２００内のレコードは、各不審活動グラフに示される端末名（ノード）及び不審活動内容（ラベル）に含まれる固有名称を一般名称へ正規化するのに用いられる。ポリシーＤＢ２００の各レコードは、各組織のセキュリティ担当者及びセキュリティ部門により予め作成される。
【００６５】
図５に示すように、ポリシーＤＢ２００は、ＩＤ２１０、正規化前識別子２２０、識別子種類２３０、正規化後識別子２４０及びポリシー作成元２５０から構成される。
【００６６】
ＩＤ２１０は、各ポリシーレコードを一意に識別するための識別子である。正規化前識別子２２０は、正規化対象となる固有名称である。識別子種類２３０は、正規化前識別子２２０の種類であり、「ＩＰアドレス」、「ドメイン」または「実行ファイル」などがある。
【００６７】
正規化後識別子２４０は、正規化前識別子２２０を正規化した場合の識別子となる。一般的に、正規化前識別子２２０の属性が、正規化後識別子２４０となる。ポリシー作成元２５０は、当該ポリシーレコードの作成元を示す。
【００６８】
図５に示すポリシーＤＢ２００のレコード例では、１７個のレコードが記録されている。例えば、ＩＤ２１０が１のレコードは、正規化前識別子２２０が「Ａ−１」、識別子種類２３０が「ＩＰアドレス」、正規化後識別子が「Ｃｌｉｅｎｔ−Ｔｅｒｍｉｎａｌ（ＣＴ）」、ポリシー作成元２５０が「組織Ａ」である。このレコードは、ＩＰアドレス＝Ａ−１である端末は、組織Ａにおいて「Ｃｌｉｅｎｔ−Ｔｅｒｍｉｎａｌ（ＣＴ）」として動作しているということを意味する。
【００６９】
ＩＤ２１０が２〜１３のレコードも同様に、各組織における端末のＩＰアドレスと属性情報の対応を記録している。このような情報は、各端末がどのような業務で使用されているかを知っている必要があるため、ポリシー作成元２５０は、各端末が属する組織となる。
【００７０】
また、ＩＤ２１０が１４のレコードは、正規化前識別子２２０が「Ｕ−Ｂ１」、識別子種類２３０が「ドメイン」、正規化後識別子が「Ｃ＆Ｃサーバ」、ポリシー作成元２５０が「インターネットプロバイダ」である。このレコードは、ドメイン「Ｕ−Ｂ１」には、Ｃ＆Ｃサーバ（攻撃者が遠隔操作を行う端末）が対応付けられ、この情報はインターネットプロバイダにより提供されたものであるということを示している。
【００７１】
ＩＤ＝１５のレコードも同様に、ドメイン「Ｕ−Ｃ１」とそのドメインの属性「Ｃ＆Ｃサーバ」の対応を示している。
【００７２】
また、ＩＤ２１０が１６のレコードは、正規化前識別子２２０が「ａ１−１．ｅｘｅ」、識別子種類２３０が「実行ファイル」、正規化後識別子２４ｐ０ＲＡＴクライアント」、ポリシー作成元２５０＝「セキュリティベンダ」である。このレコードは、実行ファイル「ａ１−１．ｅｘｅ」は、「ＲＡＴクライアント」（Ｃ＆Ｃサーバと通信を行うプログラム）であり、この情報はセキュリティベンダにより提供されたものであるということを示している。
【００７３】
ＩＤ＝１７のレコードも同様に、実行ファイル「ａ１−２．ｅｘｅ」とその属性「遠隔操作ツール」の対応を示している。
【００７４】
次に、図６を参照して、振舞いルールＤＢ３００について説明する。振舞いルールＤＢ３００は、端末の振る舞いに基づき、ポリシーＤＢ２００では変換できなかった実行ファイルやドメインを正規化するのに用いられる。
【００７５】
図６に示すように、振舞いルールＤＢ３００は、ＩＤ３１０、ルール属性３２０、ルール定義３３０、正規化後識別子３４０及びルール作成元３５０から構成される。
【００７６】
ＩＤ３１０は、振舞いルールＤＢ３００内のレコードを一意に識別するための識別子である。ルール属性３２０は、変換対象となる、正規化前識別子の種類を示す。ルール属性３２０は、ポリシーＤＢ２００の識別子種類２３０と同一となる。
【００７７】
ルール定義３３０は、正規化対象となる識別子を定義する。ルール定義３３０の定義文は自然言語で記述してもよいし、コンピュータが理解可能な機械語で記述してもよい。正規化後識別子３４０は、正規化処理後の識別子を示す。ルール作成元３５０は、個々のルールＤＢ３００レコードの作成元を示す。ルールＤＢ３００は、実行ファイルやドメインの振る舞いに詳しいセキュリティベンダやソフトウェアベンダにより予め作成される。
【００７８】
図５に示す振舞いルールＤＢ３００レコード例では、５種類の振舞いルールが示されている。例えば、ＩＤ３１０が１のレコードは、ルール属性３２０が「実行ファイル」、ルール定義３３０が「30分以上、ホワイトリストに載っていないドメインとＣＯＮＮＥＣＴ接続を行う」、正規化後識別子３４０が「ＲＡＴツール」、ルール作成元３５０が「セキュリティベンダ」である。
【００７９】
ＩＤ３１０が「２」のレコードは、ルール属性３２０が「実行ファイル」、ルール定義３３０が「他端末の管理ポートに対して接続を行う」、正規化後識別子３４０が「遠隔操作ツール」、ルール作成元３５０が「セキュリティベンダ」である。
【００８０】
ＩＤ３１０が「３」のレコードは、ルール属性３２０が「実行ファイル」、ルール定義３３０が「30MB以上のファイルを、ホワイトリストに載っていないドメインに対してＰＯＳＴする」、正規化後識別子３４０が「ファイル転送ツール」、ルール作成元３５０が「セキュリティベンダ」である。
【００８１】
ＩＤ３１０が「４」のレコードは、ルール属性３２０が「ドメイン」、ルール定義３３０が「ＲＡＴツールから接続を受ける」、正規化後識別子３４０が「Ｃ＆Ｃサーバ」、ルール作成元３５０が「セキュリティベンダ」である。
【００８２】
ＩＤ３１０が「５」のレコードは、ルール属性３２０が「ドメイン」、ルール定義３３０が「ファイル転送ツールから接続を受け、かつその直前に同一端末からＣ＆Ｃサーバへの通信がある」、正規化後識別子３４０が「情報窃取サーバ」、ルール作成元３５０が「セキュリティベンダ」である。
【００８３】
次に、図７Ａ及び図７Ｂを参照して、正規化グラフＤＢ４００について説明する。正規化グラフＤＢ４００は、不審活動グラフＤＢ１００内のレコードを、ポリシーＤＢ２００及び振舞いルールＤＢ３００内のレコードを用いて正規化したものである。
【００８４】
図７Ａに示すように、正規化グラフＤＢ４００は、ＩＤ４１０、変換元レコード４２０、生成時間４３０、端末４４０及び不審活動内容４５０及び不審通信先４６０から構成される。
【００８５】
ＩＤ４１０は、正規化グラフＤＢ４００のレコードを一意に識別するための識別子である。変換元レコード４２０は、正規化のもととなった、不審活動グラフＤＢ１００のレコードのＩＤ１１０を指し示す。
【００８６】
生成時間４３０は、変換元レコード４２０で示された、不審活動グラフＤＢ１００レコードの生成時間１２０である。
【００８７】
端末４４０は、変換元レコード４２０で示された、不審活動グラフＤＢ１００レコードにある端末１３０を、ポリシーＤＢ２００または振舞いルールＤＢ３００を用いて正規化したものである。
【００８８】
不審活動内容４５０は、変換元レコード４２０で示された、不審活動グラフＤＢ１００レコードの不審活動内容１４０を、ポリシーＤＢ２００または振舞いルールＤＢ３００を用いて正規化したものである。
【００８９】
不審通信先４６０は、変換元レコード４２０で示された、不審活動グラフＤＢ１００レコードの不審通信先１５０を、ポリシーＤＢ２００または振舞いルールＤＢ３００を用いて正規化したものである。
【００９０】
図７Ａには、図４の不審活動グラフＤＢ１００に示されるレコードを、正規化した結果のレコードが記録されている。
【００９１】
例えば、ＩＤ４１０が１のレコードは、ＩＤ１１０が１のレコードを正規化したものである。端末１３０で示された、端末Ａ−１、端末Ａ−２、端末Ａ−３、端末Ａ−４は、ポリシーＤＢ２００のＩＤ２１０＝１〜４のレコードによって、それぞれ、ＣＴ（１）、ＣＴ（２）、ＬＤＡＰ、ＤＢに変換される。ＣＴ端末におけるカッコ内の値は、同種の端末を識別するための識別情報である。
【００９２】
また、端末Ａ−１の不審活動内容１１０にある「ファイルa1-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 10:55)」は、ポリシーＤＢ２００のＩＤ２１０が１６、及び、振舞いルールＤＢ３００のＩＤ３１０が４のレコードによって、「RATツール→C&Cサーバ (2014-07-17 10:55)」に変換される。同様に、「ファイルa1-2.exeが、端末Ａ−２の管理ポートに対してアクセス(2014-07-17 10:55)」は、ＩＤ３１０が２のルールＤＢ３００レコードによって、「遠隔操作ツール→CT（２）(2014-07-17 10:55)」に変換される。
【００９３】
同様に、端末Ａ−２の不審活動内容１１０にある「ファイルa2-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 11:00)」は、「RATツール→C&Cサーバ (2014-07-17 11:00)」に変換され、「ファイルa2-2.exeが、端末Ａ−３の管理ポートに対してアクセス(2014-07-17 11:00)」は「遠隔操作ツール→LDAP(2014-07-17 11:00)」に変換される。
【００９４】
同様に、端末Ａ−３の不審活動内容１１０にある「ファイルa3-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 11:05)」は、「RATツール→C&Cサーバ(2014-07-17 11:05)」に変換され、「ファイルa3-2.exeが、端末Ａ−４の管理ポートに対してアクセス(2014-07-17 11:05)」は「遠隔操作ツール→DB((2014-07-17 11:05)」に変換される。
【００９５】
同様に、端末Ａ−４の不審活動内容１１０にある「ファイルa4-1.exeが、CONNECTメソッドで、外部サイト U-A1に対して60分間通信(2014-07-17 11:10)」は、「RATツール→C&Cサーバ(2014-07-17 11:10)」に変換され、「ファイルa4-2.exeが、POSTメソッドで、外部サイトU-A2に対して、100MBのデータをアップロード(2014-07-17 11:10)」は「ファイル転送ツール→情報窃取サーバ(2014-07-17 11:10)」に変換される。
【００９６】
ＩＤ４１０＝２のレコードは、ＩＤ１１０＝２のレコードを正規化したものである。端末１３０で示された、端末Ｂ−１、端末Ｂ−２、端末Ｂ−３、端末Ｂ−４は、ポリシーＤＢ２００のＩＤ２１０＝５〜８のレコードによって、それぞれ、ＣＴ（１）、ＣＴ（２）、ＬＤＡＰ、ＤＢに変換される。
【００９７】
端末Ｂ−１の不審活動内容１１０にある「ファイルb1-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して60分間通信(2013-07-17 10:55)」は、「RATツール→C&Cサーバ (2013-07-17 10:55)」に変換され、「ファイルb1-2.exeが、端末Ｂ−２の管理ポートに対してアクセス(2013-07-17 10:55)」は「遠隔操作ツール→CT（２）(2013-07-17 10:55)」に変換される。
【００９８】
同様に、端末Ｂ−２の不審活動内容１１０にある「ファイルb2-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して60分間通信(2013-07-17 11:00)」は、「RATツール→C&Cサーバ (2013-07-17 11:00)」に変換され、「ファイルb2-2.exeが、端末Ｂ−３の管理ポートに対してアクセス(2013-07-17 11:00)」は「遠隔操作ツール→LDAP(2013-07-17 11:00)」に変換される。
【００９９】
同様に、端末Ｂ−３の不審活動内容１１０にある「ファイルb3-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して50分間通信(2013-07-17 11:05)」は、「RATツール→C&Cサーバ(2013-07-17 11:05)」に変換され、「ファイルb3-2.exeが、端末Ｂ−４の管理ポートに対してアクセス(2013-07-17 11:05)」は「遠隔操作ツール→DB((2013-07-17 11:05)」に変換される。
【０１００】
同様に、端末Ｂ−４の不審活動内容１１０にある「ファイルb4-1.exeが、CONNECTメソッドで、外部サイト U-B1に対して45分間通信(2013-07-17 11:10)」は、「RATツール→C&Cサーバ(2013-07-17 11:10)」に変換され、「ファイルb4-2.exeが、POSTメソッドで、外部サイトU-B2に対して、100MBのデータをアップロード(2013-07-17 11:10)」は「ファイル転送ツール→情報窃取サーバ(2013-07-17 11:10)」に変換される。
【０１０１】
ＩＤ４１０＝３のレコードは、ＩＤ１１０＝３のレコードを正規化したものである。端末１３０で示された、端末Ｃ−１、端末Ｃ−２、端末Ｃ−３、端末Ｃ−４、端末Ｃ−５は、ポリシーＤＢ２００のＩＤ２１０＝９〜１３のレコードによって、それぞれ、ＣＴ（１）、ＣＴ（２）、ＬＤＡＰ、ＤＢ（１）、ＤＢ（２）に変換される。
【０１０２】
端末Ｃ−１の不審活動内容１１０にある「ファイルc1-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して40分間通信(2012-07-17 10:55)」は、「RATツール→C&Cサーバ (2012-07-17 10:55)」に変換され、「ファイルc1-2.exeが、端末Ｃ−２の管理ポートに対してアクセス(2012-07-17 10:55)」は「遠隔操作ツール→CT（２）(2012-07-17 10:55)」に変換される。
【０１０３】
同様に、端末Ｃ−２の不審活動内容１１０にある「ファイルc2-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して50分間通信(2012-07-17 11:00)」は、「RATツール→C&Cサーバ (2012-07-17 11:00)」に変換され、「ファイルc2-2.exeが、端末Ｃ−３の管理ポートに対してアクセス(2012-07-17 11:00)」は「遠隔操作ツール→LDAP(2012-07-17 11:00)」に変換される。
【０１０４】
同様に、端末Ｃ−３の不審活動内容１１０にある「ファイルc3-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して60分間通信(2012-07-17 11:05)」は、「RATツール→C&Cサーバ(2012-07-17 11:05)」に変換され、「ファイルc3-2.exeが、端末Ｃ−４の管理ポートに対してアクセス(2012-07-17 11:05)」は「遠隔操作ツール→DB（１）((2012-07-17 11:05)」に変換される。
【０１０５】
同様に、端末Ｃ−４の不審活動内容１１０にある「ファイルc4-1.exeが、CONNECTメソッドで、外部サイト U-C1に対して55分間通信(2012-07-17 11:10)」は、「RATツール→C&Cサーバ(2012-07-17 11:10)」に変換され、「ファイルc4-2.exeが、POSTメソッドで、外部サイトU-C2対して、100MBのデータをアップロード(2012-07-17 11:10)」は「ファイル転送ツール→情報窃取サーバ(2012-07-17 11:10)」に変換され、「ファイルc4-3.exeが、端末Ｃ−４の管理ポートに対してアクセス(2012-07-17 11:10)」は「遠隔操作ツール→DB（２）((2012-07-17 11:10)」に変換される。
【０１０６】
同様に、端末Ｃ−５の不審活動内容１１０にある「ファイルc5-1.exeが、CONNECTメソッドで、外部サイト U-C2に対して45分間通信(2012-07-17 11:15)」は、「RATツール→C&Cサーバ(2012-07-17 11:15)」に変換され、「ファイルc5-2.exeが、POSTメソッドで、外部サイトU-C2に対して、100MBのデータをアップロード(2012-07-17 11:15)」は「ファイル転送ツール→情報窃取サーバ(2012-07-17 11:15)」に変換される。
【０１０７】
（５）サイバー攻撃分析処理の詳細
次に、図８〜図１１を参照して、サイバー攻撃分析処理の詳細について説明する。以下説明するように、図８に示すように、正規化グラフ構築部５００により不審活動検知装置２０から受信した不審活動グラフが不審活動グラフＤＢ１００に保管され、正規化される。続いて、図９に示すように、情報正規化機能部６００により、ポリシーＤＢ２００及び振舞いルールＤＢ３００を用いて、不審活動グラフの固有名称が一般名称に変換される。そして、図１０に示すように、グラフ検索部７００により、検索クライアント３０ａから受け付けた類似グラフの検索リクエストに対して、類似グラフに関する情報が返信される。さらに、動向予測部８００により、動向予測クライアント３０ｂからの、不審活動グラフの今後の動向予測のリクエストに対して、予測結果を返信する。
【０１０８】
まず、図８を参照して、正規化グラフ構築部５００における正規化グラフ構築処理の詳細について説明する。
【０１０９】
図８に示すように、正規化グラフ構築部５００は、不審活動検知装置Ａ２０ａ、不審活動検知装置Ｂ２０ｂ、不審活動検知装置Ｃ２０ｃまたは他の機能部から、不審活動グラフを受信し、その内容を不審活動グラフＤＢ１００に保存する。（Ｓ１０１）。
【０１１０】
そして、正規化グラフ構築部５００は、ステップＳ１０１で保存した不審活動グラフのプロパティ情報を抽出する（Ｓ１０２）。ここで、プロパティ情報とは、グラフのノード情報、エッジ情報及びラベル情報である。これらの情報は、不審活動グラフＤＢ１００の、端末１３０、不審通信先１５０及び不審活動内容１４０にそれぞれ該当する。
【０１１１】
そして、正規化グラフ構築部５００は、情報正規化機能部６００に、ステップＳ１０２で抽出したプロパティ情報の正規化を依頼する（Ｓ１０３）。
【０１１２】
そして、正規化グラフ構築部５００は、情報正規化機能部６００より正規化情報を受信し、プロパティ情報を正規化情報へ置き換える（Ｓ１０４）。ここで、正規化情報を受信できなかった項目、すなわち正規化が出来なかった項目があった場合には、当該情報を「正規化不可」などの値に変換する。
【０１１３】
ステップＳ１０４では、グラフ構造自体の正規化を行ってもよい。図１２に、グラフ構造の正規化の例を示す。例えば、端末ノードが重複していたり、同一端末ノードに複数のエッジが伸びていたりする場合には、重複ノードやエッジを削除することで、グラフ構造を正規化する。構造の正規化により、後述のグラフ類似度算出にかかるコストの低減や、類似度検索の精度を向上させることができる。
【０１１４】
図８に戻り、正規化グラフ構築部５００は、正規化したグラフを正規化グラフＤＢ４００に保存する（Ｓ１０５）。また、他の機能部から不審活動グラフを受信した場合は、正規化されたグラフを返信する。
【０１１５】
次に、図９を参照して、情報正規化機能部６００における情報正規化処理の詳細について説明する。
【０１１６】
図９に示すように、情報正規化機能部６００は、正規化グラフ構築部５００から、不審活動グラフのプロパティ情報の正規化依頼を受信する（Ｓ２０１）。
【０１１７】
そして、情報正規化機能部６００は、ポリシーＤＢ２００または振舞いルールＢＤ３００を参照して、正規化情報を取得する（Ｓ２０２）。具体的に、情報正規化機能部６００は、ポリシーＤＢ２００を参照し、プロパティ情報の正規化を試みて、正規化に成功した場合、処理は完了する。一方、ポリシーＤＢ２００で正規化できない場合は、振舞いルールＤＢ３００を用いて正規化を試みる。
【０１１８】
情報正規化機能部６００は、処理Ｓ２０２０で正規化した情報を正規化グラフ構築部５００へ返す（Ｓ２０３）。
【０１１９】
次に、図１０を参照して、グラフ検索部７００における不審活動グラフの類似度分析を行う、グラフ検索処理の詳細について説明する。
【０１２０】
図１０に示すように、グラフ検索部７００は、検索対象グラフを検索クライアント３０ａあるいは他の機能部から受信する（Ｓ３０１）。検索対象グラフの表現形式は、不審活動グラフＤＢ１００内のレコード形式でもよいし、クライアント３０ａ側で何らかの手段で正規化グラフＤＢ４００内のレコード形式に変換しておいてもよい。
【０１２１】
そして、グラフ検索部７００は、検索対象グラフが予め正規化されていないものである場合、正規化グラフ構築部５００に正規化を依頼し、正規化されたグラフを取得する（Ｓ３０２）。
【０１２２】
グラフ検索部７００は、正規化グラフＤＢ４００から既存の正規化グラフを取得する（Ｓ３０３）。
【０１２３】
そして、グラフ検索部７００は、ステップＳ３０２で取得した検索対象グラフと、ステップＳ３０３で取得した既存の正規化グラフの間の類似度を算出する（Ｓ３０４）。ステップＳ３０４における類似度の算出は、ＳｉｍＲａｎｋアルゴリズムなど、既存のグラフ類似度分析アルゴリズムを応用してもよい。
【０１２４】
ここで、グラフ類似度算出の一例について説明する。なお、ここでは、類似度が完全一致する場合には、類似度「１」となる。
【０１２５】
例えば、２つの正規化グラフＧ１及びＧ２が与えられた場合には、まず、以下の式１により、Ｇ１内のノードａとＧ２内のノードｂの初期類似度（S_0(a,b)）を演算する。
【０１２６】
以下では、不審活動グラフの正規化グラフをＧ１（Ｖ１、Ｅ１）、Ｇ２（Ｖ２、Ｅ２）とし、ノードａ（a∈Ｖ１）とノードｂ（b∈Ｖ２）との類似度をs（a,b）とし、aの不審通信先の集合をO（a）としている。
【０１２７】
【数１】
0006285390.tif 000002
【０１２８】
初期類似度は、２つのノードのラベル（即ち、不審活動内容１４０）を各々集合と見なしたときの、２つの集合の類似度として求める。集合の類似度は、Ｊａｃｃａｒｄ係数など、既存の集合類似度指標を用いてよい。
【０１２９】
初期類似度が求められると、Ｓｉｍｒａｎｋアルゴリズムを用いることで、任意のノード間の類似度（s(a、b)）が、例えば以下の式２により求められる。
【０１３０】
【数２】
0006285390.tif 000003
【０１３１】
s(a,b)が求まれば、２つのグラフの類似度s(G1,G2)は、Ｇ１内のノードが最も類似するＧ２内のノードの類似度の平均値として求まる。すなわち、式３により、aと最も類似するＶ２ノードとの類似度が算出され、式４により、Ｇ１とＧ２の類似度が算出される。
【０１３２】
【数３】
0006285390.tif 000004
【０１３３】
【数４】
0006285390.tif 000005
【０１３４】
図１０に戻り、グラフ検索部７００は、類似度が閾値以上である既存正規化グラフを、検索クライアント３０ａまたは他の機能部に返信する（Ｓ３０５）。また、検索要求元のアクセス権限などに応じて、正規化グラフの元である不審活動グラフに関する情報を返してもよい。なお、正規化前のグラフには具体的な情報が含まれているため、検索要求元にとっては有用な情報であるが、当該情報には機密性が高い情報が含まれるため、アクセス権に応じて当該情報を開示するか否か判断する必要がある。
【０１３５】
ここで、一例として、図４ＡのＩＤ４１０が「１」である不審活動グラフの類似度検索を、検索クライアント３０ａが要求した場合について説明する。
【０１３６】
図７ＡのＩＤ４１０が「１」、ＩＤ４１０が「２」のグラフを比較すると、端末１４０、不審活動内容１５０、不審通信先１６０は完全に一致する為、類似度は１となる。
【０１３７】
一方、図７ＡのＩＤ４１０が「１」、図７ＢのＩＤ４１０が「３」のグラフを比較すると、１〜３番目のノード（２つのＣＴ端末、ＬＤＡＰ端末）の不審活動内容４５０、不審通信先４６０は一致する。しかし、４番目のノード（ＤＢ端末）において、ＩＤ４１０＝３のグラフでは、ＩＤ４１０＝１のグラフにはない不審活動内容（遠隔操作ツール→DB((2012-07-17 11:10))が存在する。また、５番目のノード（ＤＢ端末）は、ＩＤ４１０＝３のグラフには存在するが、ＩＤ４１０＝１のグラフには存在しない。このため、両グラフの類似度は「１」とはならないことがわかる。
【０１３８】
次に、図１１を参照して、動向予測部８００における、不審活動グラフの今後の変化を予測して攻撃の動向予測を行う、動向予測処理の詳細について説明する。
【０１３９】
図１１に示すように、動向予測部８００は、動向予測対象となる不審活動グラフを、動向予測クライアント３０ｂより受信する（Ｓ４０１）。
【０１４０】
そして、動向予測部８００は、ステップＳ４０１で受信した不審活動グラフの類似グラフの検索をグラフ検索部７００に依頼する（Ｓ４０２）。ステップＳ４０２において、動向予測部８００から依頼されたグラフ検索部７００は、類似グラフ及び類似グラフの正規化グラフを返信する。
【０１４１】
そして、動向予測部８００は、グラフ検索部７００から返信された類似グラフの正規化グラフのうち、以下の２つの条件をもとにスーパーグラフであるものを選別する（Ｓ４０３）。
【０１４２】
（条件１）検索対象グラフの正規化グラフのノード・エッジを一定割合以上含んでいる。
（条件２）検索対象グラフの正規化グラフには無いノード及びエッジを分組んでいるものである。
【０１４３】
ここで、例として、図４のＩＤ１１０が「１」である不審活動グラフの動向予測を、検索クライアント３０ｂが要求した場合について説明する。この場合、ステップＳ４０２において、グラフ検索部７００にて類似度グラフの検索が行われ、ＩＤ１１０が「２」、ＩＤ１１０が「３」のグラフが共に類似度閾値を満たし返信されたとする。
【０１４４】
この時、ステップＳ４０３においてスーパーグラフの選別が行われるが、ＩＤ１１０が「２」の正規化グラフは検索対象の正規グラフと同じであるため、（条件１）は満たすが、（条件２）は満たさない。一方、ＩＤ１１０＝３のグラフの正規グラフは、（条件１）を満たすと共に、ＩＤ１１０が「１」のグラフの正規化グラフには無いノード及びエッジを持つ。このため、ＩＤ１１０が「３」のグラフがスーパーグラフとして選別される。
【０１４５】
続いて、動向予測部８００は、ステップＳ４０４で選別されたスーパーグラフの時間変化を基に、検索対象グラフの今後の変化を予測する（Ｓ４０４）。具体的には、スーパーグラフと動向予測グラフの差分を予測対象とする。
【０１４６】
図４Ａ、図４Ｂ、図７Ａ及び図７Ｂの例では、両グラフの正規化グラフの差分は、ＩＤが「３」のＤＢ（１）において、「遠隔操作ツール→DB（２）」が発生する点と、ＤＢ（２）において「RATツール→C&Cサーバ」「ファイル転送ツール→情報窃取サーバ」が発生する点である。このため、動向予測部８００は、「今後、組織Ａのもう一つのＤＢに対して遠隔操作が行われ、さらに、そのＤＢから情報漏えいが発生する」と予測する。
【０１４７】
なお、複数のスーパーグラフが選別された場合には、最も類似度が高いものを基に予測してもよいし、複数のグラフの予測結果をまとめてもよい。
【０１４８】
最後に、動向予測部８００は、ステップＳ４０４で求めた予測結果を検索クライアント３０ｂに返信する（Ｓ４０５）。
【０１４９】
次に、図１３及び図１４を参照して、グラフ検索部７００における類似度分析をもとに行われる分析結果について説明する。セイバー攻撃分析装置１０は、出力部（図示せず）により分析結果を出力して、検索クライアント３０ａまたは動向予測クライアント３０ｂなどの端末の表示装置に分析結果を表示させる。
【０１５０】
図１３は、分析結果のレコード例を示す図表である。図１３に示す分析結果のレコード例は、上記した各不審活動グラフに関連する分析結果である。図１３に示すように、分析結果１６０のレコードには、ＩＤ１６１、不審活動グラフＩＤ１６２、予想攻撃元１６３及び検討情報１６４が対応付けられている。
【０１５１】
ＩＤ１６１は、各レコードを一意に識別する識別子である。不審活動グラフＩＤ１６２は、図４Ａ及び図４ＢのＩＤ１１０に対応し、本レコードが何れの不審活動グラフに関するものであるかを示す。予想攻撃元１６３は、各不審活動グラフにつながる活動を実施した攻撃元に関する情報である。検討情報１６４は、不審活動グラフに関する種々の検討結果である。
【０１５２】
図１３の例では、ＩＤが「１」〜「３」の不審活動グラフの予想攻撃元はＡ国であり、ＩＤが「４」及び「５」の不審活動グラフの攻撃元はＢ国であることがわかる。図１３の例では、予想攻撃元を「国」としたが、かかる例に限定されず、何らかの組織や個別の情報処理装置を予想攻撃元としてもよい。このように不審活動グラフから予想攻撃元を予想することにより、ある不審活動グラフがグラフＩＤ「１」〜「３」の不審活動グラフと類似している場合は、同グラフもＡ国などの特定の攻撃元からの攻撃によって生じた可能性が高い、などの攻撃分析をすることが可能となる。
【０１５３】
図１４は、サイバー攻撃分析システムにおけるユーザインタフェースの表示例を示すものである。図１４に示す表示例は、サイバー攻撃分析装置１０の出力部（図示せず）により出力され、検索クライアント３０ａまたは動向予測クライアント３０ｂなどの端末の表示装置に表示される。
【０１５４】
ユーザは、検索対象グラフの情報を入力し、検索クライアント３０ａや動向予測クライアント３０ｂを介して類似グラフ検索または攻撃動向予測を行う。ここで、グラフ情報の入力手段としては、ＸＭＬや独自のフォーマットのファイルを読み込んでもいいし、描画ツールなどによりインタラクティブに作成を行ってもよい。
【０１５５】
類似グラフを検索する場合、サイバー攻撃分析システムより、検索対象グラフの類似グラフ及びその正規化グラフが返される。さらに、対応する攻撃元分析結果レコードも返されるため、ユーザは、過去に発生した類似グラフのコンテキスト（攻撃元国など）を知ることが出来る。
【０１５６】
また、攻撃動向を予測する場合、検索対象グラフのスーパーグラフのうち類似度が一定以上であるグラフ及びその正規化グラフが返される。この場合、検索対象グラフと攻撃予測動向グラフの差分を基に、検索対象グラフの今後の動向予測が記述される。
【０１５７】
例えば、図１４では、ユーザが入力した検索対象グラフの情報が、検索対象グラフ表示例９０１や、正規化された検索対象グラフが正規化グラフ表示例９０２として表示される。
【０１５８】
そして、ユーザにより類似グラフ検索ボタン９０４が押下されると、類似グラフの情報として、類似グラフの表示例９０６や、類似グラフの正規化グラフが正規化グラフ表示例９０７として表示される。また、類似グラフについて詳細情報９０８が表示され、例えば、攻撃された日時や攻撃元の情報などが表示される。
【０１５９】
また、ユーザにより攻撃動向予測９０５が押下されると、攻撃動向予測情報として、攻撃動向予測グラフの表示例９０９や、攻撃動向予測グラフの正規化グラフが正規化グラフ表示例９１０として表示される。また、今後の動向予測の詳細情報９１１が表示され、例えば、今後、攻撃される可能性がある対象の情報などが表示される。
【０１６０】
（６）本実施の形態の効果
上記実施の形態によれば、サイバー攻撃分析装置１０は、標的型攻撃やマルウェアの活動を検知する不審活動検知装置２０から送信された、標的型攻撃やマルウェアの活動内容を表現する構造である複数の不審活動グラフを不審活動グラフＤＢ１００に記憶して、検索クライアント３０ａの要求に応じて、複数の不審活動グラフの類似度を算出し、前記複数の不審活動グラフの類似度の算出結果を検索クライアント３０ａに表示させる。これにより、検知結果間の比較や今後の攻撃動向の分析を行って、標的型攻撃及びマルウェアの活動の分析、及び、今後の攻撃の動向を予測することができる。
【符号の説明】
【０１６１】
１０    サイバー攻撃分析装置
２０ａ  不審活動検知装置Ａ
２０ｂ  不審活動検知装置Ｂ
２０ｃ  不審活動検知装置Ｃ
３０ａ  検索クライアント
３０ｂ  動向予測クライアント
４０ａ  通信ネットワーク
４０ｂ  通信ネットワーク
１００  不審活動グラフＤＢ
２００  ポリシーＤＢ
３００  振舞いルールＤＢ
４００  正規化グラフＤＢ
５００  正規化グラフ構築部
６００  情報正規化機能部
７００  グラフ検索部
８００  動向予測部
【図１】
0006285390.tif 000006
【図２】
0006285390.tif 000007
【図３】
0006285390.tif 000008
【図４Ａ】
0006285390.tif 000009
【図４Ｂ】
0006285390.tif 000010
【図５】
0006285390.tif 000011
【図６】
0006285390.tif 000012
【図７Ａ】
0006285390.tif 000013
【図７Ｂ】
0006285390.tif 000014
【図８】
0006285390.tif 000015
【図９】
0006285390.tif 000016
【図１０】
0006285390.tif 000017
【図１１】
0006285390.tif 000018
【図１２】
0006285390.tif 000019
【図１３】
0006285390.tif 000020
【図１４】
0006285390.tif 000021