(57)【特許請求の範囲】
【請求項１】
ウイルスの拡散活動を検知するウイルス検知システムにおいて、
複数の端末及び拡散活動検知装置を備え、
前記複数の端末のそれぞれは、
他端末との間で行った通信及び自端末内部で行った活動を監視し、通信又は活動を行った場合には通信情報又は活動情報を生成して前記拡散活動検知装置に送信し、
前記拡散活動検知装置は、
前記端末からの通信情報又は活動情報を受信した場合、
予め定められた第１のポリシーに基づいて、前記通信情報又は前記活動情報が不審通信情報又は不審活動情報であるか否かを判断し、
前記通信情報又は前記活動情報が不審通信情報又は不審活動情報である場合、
予め定められた第２のポリシーに基づいて、前記不審通信情報又は前記不審活動情報を生成した端末が不審端末であるか否かを判断し、
前記不審通信情報又は前記不審活動情報を生成した端末が不審端末である場合、
不審端末間の関連性を示すグラフを構築し、構築したグラフに基づいて、ウイルスの拡散活動を検知する
ことを特徴とするウイルス検知システム。
【請求項２】
前記拡散活動検知装置は、
前記第１のポリシーに基づいて、前記通信情報又は前記活動情報が正常通信情報又は正常活動情報であるか否かを判断し、正常通信情報又は正常活動情報ではない場合、前記通信情報又は前記活動情報を前記不審通信情報又は前記不審活動情報であると判定する
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項３】
前記第１のポリシーは、
特定の端末間の通信又は通信回数が予め定められた回数以上の通信を正常通信とし、
特定の端末内の活動又は活動回数が予め定められた回数以上の活動を正常活動とするように規定されている
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項４】
前記第２のポリシーは、
不審通信情報又は不審活動情報を生成した回数が予め定められた回数以上の端末を不審端末とするように規定されている
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項５】
前記拡散活動検知装置は、
前記不審通信の送信元である不審端末と、前記不審通信の送信先である不審端末との間を結ぶことにより前記グラフを構築する
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項６】
前記拡散活動検知装置は、
前記不審通信の送信元である不審端末から不審通信を受信した端末であって、かつ、不審通信を受信してから一定時間内に不審端末に転換した端末を前記不審通信の送信先である不審端末とする
ことを特徴とする請求項５に記載のウイルス検知システム。
【請求項７】
前記拡散活動検知装置は、
前記一定時間として複数種類の時間を設定する
ことを特徴とする請求項６に記載のウイルス検知システム。
【請求項８】
前記拡散活動検知装置は、
前記グラフに含まれる不審端末数及び予め定められた各不審端末の重み付けに基づいて、前記グラフに対するスコアを算出し、
予め定められた第３のポリシーに基づいて、拡散活動を抑制するための対策を実行する
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項９】
前記第３のポリシーは、
前記グラフに対するスコアごとに拡散活動を抑制するための対策が規定されている
ことを特徴とする請求項８に記載のウイルス検知システム。
【請求項１０】
前記拡散活動検知装置は、
前記第１のポリシー、前記第２のポリシー及び前記第３のポリシーを編集するためのインタフェイスを備える
ことを特徴とする請求項８に記載のウイルス検知システム。
【請求項１１】
前記グラフの構築状況を管理者に提示するための管理者用ダッシュボードを備える
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項１２】
前記複数の端末のそれぞれは、
複数のアンチマルウェアソフトを備え、何れか一のアンチマルウェアソフトを実行することにより、他端末との間で行った通信又は自端末内部で行った活動が不審通信又は不審活動であるか否かを判断し、不審通信又は不審活動である場合には不審通信情報又は不審活動情報を生成して前記拡散活動検知装置に送信し、
前記拡散活動検知装置は、
前記第２のポリシーに基づいて、前記不審通信情報又は前記不審活動情報を生成した端末が不審端末であるか否かを判断し、
前記不審通信情報又は前記不審活動情報を生成した端末が不審端末である場合、
前記グラフを構築し、構築したグラフに基づいて、ウイルスの拡散活動を検知し、
検知状況に基づいて、前記複数の端末において現在実行されているアンチマルウェアソフトを他のアンチマルウェアソフトに切り替えるように前記複数の端末に指示する
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項１３】
前記拡散活動検知装置は、
複数のグラフを構築した場合、一のグラフと、他のグラフとの間に関連性がある場合には１つのグラフに集約し、集約したグラフに基づいて、ウイルスの拡散活動を検知する
ことを特徴とする請求項１に記載のウイルス検知システム。
【請求項１４】
ウイルスの拡散活動を検知するウイルス検知方法において、
複数の端末のそれぞれが、
他端末との間で行った通信及び自端末内部で行った活動を監視する第１のステップと、
通信又は活動を行った場合には通信情報又は活動情報を生成して前記拡散活動検知装置に送信する第２のステップと、
前記拡散活動検知装置が、
前記端末からの通信情報又は活動情報を受信した場合、
予め定められた第１のポリシーに基づいて、前記通信情報又は前記活動情報が不審通信情報又は不審活動情報であるか否かを判断する第３のステップと、
前記通信情報又は前記活動情報が不審通信情報又は不審活動情報である場合、
予め定められた第２のポリシーに基づいて、前記不審通信情報又は前記不審活動情報を生成した端末が不審端末であるか否かを判断第４のステップと、
前記不審通信情報又は前記不審活動情報を生成した端末が不審端末である場合、
不審端末間の関連性を示すグラフを構築し、構築したグラフに基づいて、ウイルスの拡散活動を検知する第５のステップと
を備えることを特徴とするウイルス検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウイルス検知システム及び方法に関し、特にマルウェア等のウイルスや標的型攻撃による拡散活動を検知するウイルス検知システム及び方法に適用して好適なものである。
【背景技術】
【０００２】
近年、情報漏えいや不正アクセス等の脅威をもたらすコンピュータウイルス、スパイウェア及びボットプログラムといった悪意のある不正プログラム（マルウェア）が増加している。マルウェアの脅威からシステムやネットワークを守るためには、マルウェアを検知する必要がある。
【０００３】
マルウェアの検知には様々な方式があるが、方式によっては検知に時間がかかるという課題がある。また高度なマルウェアに対しては検知精度が低下するという課題がある。さらにここ数年では、高度なマルウェアを巧みに活用して特定の官庁や企業、組織のネットワークに侵入し、機密情報の窃取やシステム破壊を行う「標的型攻撃」がセキュリティ上の大きな脅威となっている。
【０００４】
マルウェアによる被害を最小化するためには、初期感染端末からソフトウェアの脆弱性等を悪用して、同ネットワーク内の他端末に感染を広げる「拡散活動」を検知する必要がある。組織ネットワークで高度なマルウェアの拡散活動を検知する方法の１つとして、ネットワークや端末の挙動を詳細に観測し、観測結果に基づいて検知する方法がある。
【０００５】
特許文献１には、プロセスが行う端末内活動や通信を観測し、その挙動が予め決められたルールに合致する場合にマルウェアを検知する技術が開示されている。特許文献２及び特許文献３には、特定の標的型攻撃が行われるときに生じる通信の特徴に着目してマルウェアを検知する技術が開示されている。
【０００６】
また非特許文献１には、マルウェアが拡散活動を行うと通常の通信頻度が低い組織内端末間でコネクションが張られ、さらにマルウェアの感染が広がると、このコネクションをエッジとするツリー構造が観測されることに着目し、一定サイズ以上のツリー構造が発生した場合にマルウェアを検知する技術が開示されている。
【０００７】
また非特許文献２には、ネットワーク内に同一種類の端末（例えばＷＥＢサーバ）のグループが存在し、その一部のサブグループのレスポンスタイムやＣＰＵ負荷等が変動した場合に変動の度合いを分析することで、個々のサーバの調子が偶然悪いのではなくサブグループが攻撃されていることを検知する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−５３８９３号公報
【特許文献２】特開２０１４−８６８２１号公報
【特許文献３】特開２０１４−８６８２２号公報
【非特許文献】
【０００９】
【非特許文献１】“サイレントワーム検知のためのアノマリーコネクションツリーメソッド”、情報処理学会論文誌48(2)、pp.614-624、2007
【非特許文献２】“CommunityEpidemic Detection Using Time-Correlated Anomalies”、Springer Lecture Notes in Computer Science Volume 6307、2010、pp360-381
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし特許文献１に記載の技術は、ＳＰＡＭメールの送信等のように活動が比較的活発なマルウェアの検知を目的としている。昨今のマルウェアは、検知を回避するために正規ツールを活用して明らかに不審な活動を行わない傾向にある。
【００１１】
よって特許文献１に記載の技術では、最新のマルウェアを検知することができない場合がある。また特許文献２及び特許文献３に記載の技術では、特定の通信や攻撃を行う標的型攻撃の検知に特化しているため有効範囲が狭く、マルウェアの拡散活動を汎用的に検知することができない。
【００１２】
また非特許文献１に記載の技術では、通信のみに着目し、各端末内での活動（ファイルの実行やレジストリの書き換え等）には着目していないため、大規模な拡散活動に対しては有効であるが、拡散範囲が比較的狭い攻撃に対して有効とはいえない。
【００１３】
また非特許文献２に記載の技術では、複数の端末の異常状態を検知に用いるが、拡散に用いられる通信を検知に用いないため、拡散活動の性質を十分に活用しているとはいえず、十分な検知速度を得られない場合がある。
【００１４】
本発明は以上の点を考慮してなされたもので、マルウェア等のウイルスや標的型攻撃による拡散活動を精度良く早期に検知し得るウイルス検知システム及び方法を提案する。
【課題を解決するための手段】
【００１５】
かかる課題を解決するために、本発明においては、ウイルスの拡散活動を検知するウイルス検知システムにおいて、複数の端末及び拡散活動検知装置を備え、複数の端末のそれぞれは、他端末との間で行った通信及び自端末内部で行った活動を監視し、通信又は活動を行った場合には通信情報又は活動情報を生成して拡散活動検知装置に送信し、拡散活動検知装置は、端末からの通信情報又は活動情報を受信した場合、予め定められた第１のポリシーに基づいて、通信情報又は活動情報が不審通信情報又は不審活動情報であるか否かを判断し、通信情報又は活動情報が不審通信情報又は不審活動情報である場合、予め定められた第２のポリシーに基づいて、不審通信情報又は不審活動情報を生成した端末が不審端末であるか否かを判断し、不審通信情報又は不審活動情報を生成した端末が不審端末である場合、不審端末間の関連性を示すグラフを構築し、構築したグラフに基づいて、ウイルスの拡散活動を検知することを特徴とする。
【００１６】
またかかる課題を解決するために、本発明においては、ウイルスの拡散活動を検知するウイルス検知方法において、複数の端末のそれぞれが、他端末との間で行った通信及び自端末内部で行った活動を監視する第１のステップと、通信又は活動を行った場合には通信情報又は活動情報を生成して拡散活動検知装置に送信する第２のステップと、拡散活動検知装置が、端末からの通信情報又は活動情報を受信した場合、予め定められた第１のポリシーに基づいて、通信情報又は活動情報が不審通信情報又は不審活動情報であるか否かを判断する第３のステップと、通信情報又は活動情報が不審通信情報又は不審活動情報である場合、予め定められた第２のポリシーに基づいて、不審通信情報又は不審活動情報を生成した端末が不審端末であるか否かを判断第４のステップと、不審通信情報又は不審活動情報を生成した端末が不審端末である場合、不審端末間の関連性を示すグラフを構築し、構築したグラフに基づいて、ウイルスの拡散活動を検知する第５のステップとを備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、マルウェア等のウイルスや標的型攻撃による拡散活動を精度良く早期に検知することができる。
【図面の簡単な説明】
【００１８】
【図１】ウイルス検知システムの機能構成図である。
【図２】拡散活動検知装置の物理構成図である。
【図３】通信ＤＢの内部構成図である。
【図４】正常通信プロファイルＤＢの内部構成図である。
【図５】正常通信ポリシーＤＢの内部構成図である。
【図６】活動ＤＢの内部構成図である。
【図７】正常活動プロファイルＤＢの内部構成図である。
【図８】正常活動ポリシーＤＢの内部構成図である。
【図９】グラフ管理ＤＢの内部構成図である。
【図１０】グラフ評価ポリシーＤＢの内部構成図である。
【図１１】不審通信・不審活動ＤＢの内部構成図である。
【図１２】不審端末ポリシーＤＢの内部構成図である。
【図１３】対応ルールＤＢの内部構成図である。
【図１４Ａ】拡散活動検知処理のフローチャートである。
【図１４Ｂ】拡散活動検知処理のフローチャートである。
【図１５】不審活動グラフ管理処理のフローチャートである。
【図１６】管理者用ダッシュボードの画面構成図である。
【図１７】第２の実施の形態におけるウイルス検知システムの機能構成図である。
【発明を実施するための形態】
【００１９】
以下図面について、本発明の一実施の形態を詳述する。
【００２０】
（１）第１の実施の形態
第１の実施の形態では、初期感染端末が端末２０Ａであり、端末２０Ａを起点として、端末２０Ｄ、端末２０Ｂ、端末２０Ｃの順にウイルスの拡散活動が行われる標的型攻撃に対し、拡散活動検知装置１０が各端末２０Ａ〜２０Ｄからの通信情報及び活動情報を受信して解析することにより、拡散活動を精度良く早期に検知するウイルス検知システム１について説明する。
【００２１】
（２）ウイルス検知システムの機能構成
図１は、第１の実施の形態におけるウイルス検知システム１の機能構成を示す。ウイルス検知システム１は、拡散活動検知装置１０、端末２０Ａ〜２０Ｄ及び管理者端末３０を備えて構成される。またこれらの拡散活動検知装置１０、端末２０Ａ〜２０Ｄ及び管理者端末３０は、通信ネットワークＮ１を介して互いに通信可能に接続される。
【００２２】
拡散活動検知装置１０は、一般的なサーバ装置であり、標的型攻撃による拡散活動を検知する装置である。端末２０Ａは、一般的なユーザ端末であり、ここでは標的型攻撃の拡散活動の起点として悪用される端末である。他の端末２０Ｂ〜２０Ｄは、端末２０Ａによる拡散活動の影響を受けて、端末２０Ａと同様に悪用される端末である。
【００２３】
管理者端末３０は、一般的なユーザ端末であり、管理者用ダッシュボード３１を備える。管理者用ダッシュボード３１は、拡散活動検知装置１０の検知状況を監視し、また拡散活動検知装置１０における各種設定を変更するための操作表示画面である。通信ネットワークＮ１は、ＷＡＮ（World Area Network）、ＬＡＮ（Local Area Network）、携帯電話又はＰＨＳ等の公衆回線網である。
【００２４】
以下、拡散活動検知装置１０の詳細について説明する。拡散活動検知装置１０は、複数のプログラム（機能部）、データベース（ＤＢ）及びインタフェイスを備える。制御部１１は、拡散活動検知装置１０の動作を統括的に制御し、外部との通信や各機能部との連携を通じて拡散活動を検知する。また検知した拡散活動の対策を実行する。
【００２５】
正常通信学習部１２は、通信ネットワークＮ１における「正常通信」を学習する。「正常通信」とは、拡散活動が発生していない段階で、通信ネットワークＮ１に含まれる端末間で行われる通信をいう。正常通信以外の通信は「不審通信」と呼ぶ。
【００２６】
通信ＤＢ１２１は、端末間で行われた通信の情報を格納する。拡散活動検知装置１０は、「学習フェイズ」と「検知フェイズ」の２つの動作モードを有しており、動作モードが学習フェイズの場合に通信の情報を取得して、通信ＤＢ１２１に格納する。
【００２７】
不審通信判定部１３は、学習結果に基づいて、任意の端末間の通信が正常通信であるか不審通信であるかを判定する。正常通信プロファイルＤＢ１３１は、正常通信と判定された通信の情報を格納する。
【００２８】
正常通信ポリシーＤＢ１３２は、端末間の通信を正常通信と判定するか不審通信と判定するかのルールを格納する。正常通信ポリシー管理インタフェイス１３３は、正常通信ポリシーＤＢ１３２に格納されているルールを管理者端末３０等の外部から編集するためのインタフェイスである。
【００２９】
正常活動学習部１４は、端末内部の「正常活動」を学習する。「正常活動」とは、拡散活動が発生していない段階で、端末内部で行われる活動をいう。正常活動は、具体的にはファイルアクセス、レジストリアクセス、ファイルの実行及び外部ネットワークとの通信等である。正常活動以外の活動は「不審活動」と呼ぶ。
【００３０】
活動ＤＢ１４１は、端末内部で行われた活動の情報を格納する。拡散活動検知装置１０は、動作モードが学習フェイズの場合に活動の情報を取得して、活動ＤＢ１４１に格納する。
【００３１】
不審活動判定部１５は、学習結果に基づいて、任意の端末内部の活動が正常活動であるか不審活動であるかを判定する。正常活動プロファイルＤＢ１５１は、正常活動と判定された活動の情報を格納する。
【００３２】
正常活動ポリシーＤＢ１５２は、端末内部の活動を正常活動と判定するか不審活動と判定するかのルールを格納する。正常活動ポリシー管理インタフェイス１５３は、正常活動ポリシーＤＢ１５２に格納されているルールを管理者端末３０等の外部から編集するためのインタフェイスである。
【００３３】
不審活動グラフ管理部１６は、不審通信又は不審活動を一定の基準を超えて行う「不審端末」をノードとし、不審端末間で発生した不審通信をエッジとする「不審活動グラフ」を構築及び管理し、所定の条件を満たす不審活動グラフが出現した場合には拡散活動が発生したことを検知する。
【００３４】
不審活動グラフの構築及び管理が拡散活動の検知に繋がるのは、拡散活動が発生する際は各端末の動作が正常時とは異なることが多くなり、かつ、不審端末から不審通信を受信した「正常端末」がその後に不審端末に転換することが多いためである。すなわち不審通信又は不審活動を追跡したグラフを構築及び管理することにより、実際の拡散活動を早期に検知することができる。
【００３５】
グラフ管理ＤＢ１６１は、通信ネットワークＮ１において発生した各不審活動グラフの情報を管理する。グラフ評価ポリシーＤＢ１６２は、不審活動グラフのグラフスコアを決定する際のルールを格納する。
【００３６】
グラフ評価ポリシー管理インタフェイス１６３は、グラフ評価ポリシーＤＢ１６２に格納されているルールを管理者端末３０等の外部から編集するためのインタフェイスである。不審端末管理部１７は、通信ネットワークＮ１に接続されている端末が不審端末であるか正常端末であるかを判定する。
【００３７】
不審通信・不審活動ＤＢ１７１は、不審端末の判定に必要な情報を格納する。不審端末ポリシーＤＢ１７２は、端末を不審端末と判定するルールを格納する。不審端末ポリシー管理インタフェイス１７３は、不審端末ポリシーＤＢ１７２に格納されているルールを管理者端末３０等の外部から編集するためのインタフェイスである。
【００３８】
不正活動対応部１８は、拡散活動を検知した場合の対策を実行する。対応ルールＤＢ１８１は、不審活動グラフの特徴に応じた対策を格納する。ルール管理インタフェイス１８２は、対応ルールＤＢ１８１に格納されているルールを管理者端末３０等の外部から編集するためのインタフェイスである。
【００３９】
次いで端末２０Ａの詳細について説明する。端末２０Ａ内には、監視部２１がインストールされている。監視部２１は、端末通信監視部２２、端末活動監視部２３及び端末制御部２４から構成される。端末通信監視部２２は、端末２０Ａが他端末と行った通信を監視し、通信情報を端末制御部２４に送信する。
【００４０】
端末活動監視部２３は、端末２０Ａが行った内部活動を監視し、活動情報を端末制御部２４に送信する。端末制御部２４は、端末通信監視部２２及び端末活動監視部２３から受信した通信情報及び活動情報を拡散活動検知装置１０に送信する。
【００４１】
端末２０Ｂ〜２０Ｄについても上記端末２０Ａと同様の構成を備えるため、ここでの説明は省略する。なおここでは端末２０Ａ〜２０Ｄが通信ネットワークＮ１に接続している構成を図示しているが、更に複数の端末が通信ネットワークＮ１に接続して構成されるとしてもよい。
【００４２】
（３）拡散活動検知装置の物理構成
図２は、拡散活動検知装置１０の物理構成を示す。拡散活動検知装置１０は、ＣＰＵ１０１、メモリ１０２、外部記憶装置１０３、ＩＦ（インタフェイス）１０４、入出力装置１０５及びバスＢ１を備えて構成される。
【００４３】
ＣＰＵ１０１は、メモリ１０２内に格納された各種プログラムとの協働により、拡散活動検知装置１０の動作を統括的に制御するプロセッサである。メモリ１０２は、各種プログラムを格納するための記憶媒体である。
【００４４】
メモリ１０２に格納される各種プログラムとは、制御部１１、正常通信学習部１２、不審通信判定部１３、正常活動学習部１４、不審活動判定部１５、不審活動グラフ管理部１６、不審端末管理部１７及び不正活動対応部１８である（図１参照）。
【００４５】
外部記憶装置１０３は、ＨＤＤ（Hard Disk Drive）等の記憶媒体であり、各種ＤＢを長期的に格納する。各種ＤＢとは、通信ＤＢ１２１、正常通信プロファイルＤＢ１３１、正常通信ポリシーＤＢ１３２、活動ＤＢ１４１、正常活動プロファイルＤＢ１５１、正常活動ポリシーＤＢ１５２、グラフ管理ＤＢ１６１、グラフ評価ポリシーＤＢ１６２、不審通信・不審活動ＤＢ１７１、不審端末ポリシーＤＢ１７２及び対応ルールＤＢ１８１である（図１参照）。
【００４６】
ＩＦ１０４は、拡散活動検知装置１０を通信ネットワークＮ１に接続させるためのインタフェイスである。入出力装置１０５は、拡散活動検知装置１０において、ユーザ及び管理者による各種情報の入力及び格納されている情報の出力を行うためのキーボード、マウス及び操作表示画面等である。
【００４７】
バスＢ１は、ＣＰＵ１０１、メモリ１０２、外部記憶装置１０３、ＩＦ１０４及び入出力装置１０５を互いに通信可能に接続する。端末２０Ａ〜２０Ｄのハードウェア構成については、上記拡散活動検知装置１０のハードウェア構成と同様であるため、ここでの説明は省略する。
【００４８】
（４）データベースの内部構成
図３は、通信ＤＢ１２１の内部構成を示す。通信ＤＢ１２１は、拡散活動検知装置１０が学習フェイズである場合に端末間で行われた通信を格納するデータベースである。
【００４９】
具体的に通信ＤＢ１２１は、ＩＤ欄１２１１、通信開始時刻欄１２１２、通信元端末欄１２１３及び通信先端末欄１２１４から構成される。ＩＤ欄１２１１には、各レコードを識別するための識別子が格納される。
【００５０】
通信開始時刻欄１２１２には、通信が開始された時刻が格納され、通信元端末欄１２１３には、通信を開始した端末の識別情報が格納される。通信先端末欄１２１４には、通信相手の端末の識別情報が格納される。
【００５１】
従って図３の場合、例えばＩＤが「１」のレコードにより特定される通信は、通信開始時刻が「２０１４−０７−１６  １０：００」であり、「端末２０Ａ」から「端末２０Ｂ」に向けて行われた通信であることが示されている。
【００５２】
図４は、正常通信プロファイルＤＢ１３１の内部構成を示す。正常通信プロファイルＤＢ１３１は、端末間で行われた通信のうち、正常通信であると判定された通信の通信元端末及び通信先端末を格納するデータベースである。
【００５３】
具体的に正常通信プロファイルＤＢ１３１は、ＩＤ欄１３１１、通信元端末欄１３１２及び通信先端末欄１３１３から構成される。ＩＤ欄１３１１には、各レコードを識別するための識別子が格納される。
【００５４】
また通信元端末欄１３１２には、通信を開始した端末の識別情報が格納され、通信先端末欄１３１３には、通信相手の端末の識別情報が格納される。
【００５５】
従って図４の場合、例えばＩＤが「１」のレコードにより特定される通信は、送信元端末が「端末２０Ａ」であり、送信先端末が「端末２０Ｂ」であることが示されており、この「端末２０Ａ」から「端末２０Ｂ」に向けて行われる通信が正常通信であると判定されていることが示されている。
【００５６】
図５は、正常通信ポリシーＤＢ１３２の内部構成を示す。正常通信ポリシーＤＢ１３２は、端末間で行われた通信について、正常通信又は不審通信の何れかに分類するためのルールを格納するデータベースである。
【００５７】
具体的に正常通信ポリシーＤＢ１３２は、ＩＤ欄１３２１及びポリシー欄１３２２から構成される。ＩＤ欄１３２１には、各レコードを識別するための識別子が格納され、ポリシー欄１３２２には、分類するためのルールが格納される。
【００５８】
従って図５の場合、例えばＩＤが「１」のレコードにより特定されるルールは、「３０日間の学習期間内において発生した通信回数が１０回以上の通信は正常通信とする」というルールであることが示されている。
【００５９】
図６は、活動ＤＢ１４１の内部構成を示す。活動ＤＢ１４１は、拡散活動検知装置１０が学習フェイズである場合に端末内で行われた活動を格納するデータベースである。
【００６０】
具体的に活動ＤＢ１４１は、ＩＤ欄１４１１、活動開始時刻欄１４１２、活動端末欄１４１３及び活動内容欄１４１４から構成される。ＩＤ欄１４１１には、各レコードを識別するための識別子が格納される。
【００６１】
活動開始時刻欄１４１２には、活動が開始された時刻が格納され、活動端末欄１４１３には、活動を開始した端末の識別情報が格納される。また活動内容欄１４１４には、具体的な活動内容が格納される。
【００６２】
従って図６の場合、例えばＩＤが「１」のレコードにより特定される活動は、活動開始時刻が「２０１４−０７−１６  １０：００」であり、「端末２０Ａ」により行われ、具体的な活動内容は「ファイルダウンロード」であることが示されている。
【００６３】
図７は、正常活動プロファイルＤＢ１５１の内部構成を示す。正常活動プロファイルＤＢ１５１は、端末内で行われた活動のうち、正常活動であると判定された活動の活動端末及び活動内容を格納するデータベースである。
【００６４】
具体的に正常活動プロファイルＤＢ１５１は、ＩＤ欄１５１１、活動端末欄１５１２及び活動内容欄１５１３から構成される。ＩＤ欄１５１１には、各レコードを識別するための識別子が格納される。また活動端末欄１５１２には、活動を行った端末の識別情報が格納され、活動内容欄１５１３には、活動内容が格納される。
【００６５】
従って図７の場合、例えばＩＤが「１」のレコードにより特定される活動は、活動端末が「端末２０Ａ」であり、活動内容が「Ｗｏｒｄ．ｅｘｅ実行」であることが示されており、この「端末２０Ａ」により実行される「Ｗｏｒｄ．ｅｘｅ実行」という活動が正常活動であると判定されていることが示されている。
【００６６】
図８は、正常活動ポリシーＤＢ１５２の内部構成を示す。正常活動ポリシーＤＢ１５２は、端末内で行われた活動について、正常活動又は不審活動の何れかに分類するためのルールを格納するデータベースである。
【００６７】
具体的に正常活動ポリシーＤＢ１５２は、ＩＤ欄１５２１及びポリシー欄１５２２から構成される。ＩＤ欄１５２１には、各レコードを識別するための識別子が格納され、ポリシー欄１５２２には、ルールが格納される。
【００６８】
従って図８の場合、例えばＩＤが「１」のレコードにより特定されるルールは、「３０日間の学習期間内において発生した活動回数が１０回以上の活動は正常活動とする」というルールであることが示されている。
【００６９】
図９は、グラフ管理ＤＢ１６１の内部構成を示す。グラフ管理ＤＢ１６１は、不審通信及び不審活動に関する情報を格納するデータベースである。
【００７０】
具体的にグラフ管理ＤＢ１６１は、ＩＤ欄１６１１、生成時間欄１６１２、端末欄１６１３、不審通信受信時刻欄１６１４、不審通信送信元端末欄１６１５、評価対象フラグ欄１６１６、不審端末転換時刻欄１６１７及び最終不審通信・不審活動時刻欄１６１８から構成される。
【００７１】
ＩＤ欄１６１１には、各レコードを識別するための識別子が格納され、生成時間欄１６１２には、不審活動グラフの生成時間が格納される。また端末欄１６１３には、不審活動グラフを構成する１つ以上の端末の識別情報が格納される。
【００７２】
不審通信受信時刻欄１６１４には、不審活動グラフに含まれる端末がグラフに含まれた後に初めて不審通信を受信した時刻が格納される。なおグラフに含まれた後、いまだ不審通信を受信していない場合にはＮＵＬＬが格納される。
【００７３】
不審通信送信元端末欄１６１５には、不審通信の送信元端末の識別情報が格納される。不審通信を受信していない場合にはＮＵＬＬが格納される。評価対象フラグ欄１６１６には、不審活動グラフに含まれる端末がグラフの評価対象であるか否かを示す識別情報が格納される。評価対象の場合にはＴｒｕｅが格納され、評価対象でない場合はＦａｌｓｅが格納される。
【００７４】
不審端末転換時刻欄１６１７には、各端末が正常端末から不審端末に変化した時刻が格納され、最終不審通信・不審活動時刻欄１６１８には、各端末が不審通信又は不審活動を最後に行った時刻が格納される。
【００７５】
従って図９の場合、例えばＩＤが「１」のレコードにより特定される不審活動グラフは、「２０１４−０７−１７  １０：５５」に生成され、「端末２０Ａ」、「端末２０Ｄ」、「端末２０Ｂ」及び「端末２０Ｃ」から構成されることが示されている。
【００７６】
「端末２０Ａ」は初期感染端末であり、拡散活動の起点となる端末であることから、「端末２０Ａ」に関連付けられる不審通信受信時刻及び不審通信送信元端末は「ＮＵＬＬ」であることが示されている。また「端末２０Ａ」はグラフの評価対象であるため「Ｔｒｕｅ」が格納されていることが示されている。
【００７７】
また「端末２０Ａ」が不審端末に変化した時刻は「２０１４−０７−１７  １０：５５」であり、最終不審通信又は最終不審活動を行った時刻は「２０１４−０７−１７  １１：００」であることが示されている。
【００７８】
一方でＩＤが「１」の不審活動グラフを構成する「端末２０Ｄ」は、不審通信を受信した時刻が「２０１４−０７−１７  １１：００」であり、「端末２０Ａ」から不審通信を受信したことが示されている。「端末２０Ｄ」は、その後「端末２０Ｂ」に向けて不審通信を行い、更に「端末２０Ｂ」は「端末２０Ｃ」に向けて不審通信を行っていることが示されている。
【００７９】
図１０は、グラフ評価ポリシーＤＢ１６２の内部構成を示す。グラフ評価ポリシーＤＢ１６２は、グラフ管理ＤＢ１６１に格納されている任意の不審活動グラフを評価するためのルールを格納するデータベースである。
【００８０】
具体的にグラフ評価ポリシーＤＢ１６２は、ＩＤ欄１６２１及びポリシー欄１６２２から構成される。ＩＤ欄１６２１には、各レコードを識別するための識別子が格納され、ポリシー欄１６２２には、ルールが格納される。
【００８１】
従って図１０の場合、例えばＩＤが「１」のレコードにより特定されるルールは、「評価対象グラフ＝Ｔｒｕｅの端末数をグラフスコアに加算する」というルールであることが示されている。
【００８２】
図１１は、不審通信・不審活動ＤＢ１７１の内部構成を示す。不審通信・不審活動ＤＢ１７１は、拡散活動検知装置１０が検知フェイズである場合に不審通信又は不審活動を行った端末（不審通信の場合は送信元の端末）を格納するデータベースである。
【００８３】
具体的に不審通信・不審活動ＤＢ１７１は、ＩＤ欄１７１１、開始時刻欄１７１２、端末欄１７１３及び種別欄１７１４から構成される。ＩＤ欄１７１１には、各レコードを識別するための識別子が格納され、開始時刻欄１７１２には、不審通信又は不審活動が開始された時刻が格納される。
【００８４】
また端末欄１７１３には、不審通信又は不審活動を行った端末の識別情報が格納され、種別欄１７１４には、不審通信又は不審活動の何れかが格納される。
【００８５】
従って図１１の場合、例えばＩＤが「１」のレコードにより特定される不審通信又は不審活動は、開始時刻が「２０１４−０７−１７  １０：５０」であり、「端末２０Ａ」により行われた「不審活動」であることが示されている。
【００８６】
図１２は、不審端末ポリシーＤＢ１７２の内部構成を示す。不審端末ポリシーＤＢ１７２は、不審端末であると判定するためのルールを格納するデータベースである。
【００８７】
具体的に不審端末ポリシーＤＢ１７２は、ＩＤ欄１７２１及びポリシー欄１７２２から構成される。ＩＤ欄１７２１には各レコードを識別するための識別子が格納され、ポリシー欄１７２２には、ルールが格納される。
【００８８】
従って図１２の場合、例えばＩＤが「１」のレコードにより特定されるルールは、「過去１分間の不審活動又は不審通信が２個以上の端末」を不審端末とするルールであることが示されている。
【００８９】
図１３は、対応ルールＤＢ１８１の内部構成を示す。対応ルールＤＢ１８１は、拡散活動検知装置１０が拡散活動を検知した場合の対策をグラフスコアごとに格納するデータベースである。
【００９０】
具体的に対応ルールＤＢ１８１は、ＩＤ欄１８１１及びルール欄１８１２から構成される。ＩＤ欄１８１１には、各レコードを識別する識別子が格納され、ルール欄１８１２には、ルールが格納される。
【００９１】
従って図１３の場合、例えばＩＤが「１」のレコードにより特定されるルールは、「グラフスコアが１０以上の場合、管理者にアラート」するというルールであることが示されている。
【００９２】
（５）フローチャート
（５−１）全体処理
図１４Ａ及び図１４Ｂは、ウイルス検知システム１により実行される拡散活動検知処理の処理手順を示す。この拡散活動検知処理は、端末２０Ａ及び拡散活動検知装置１０により繰り返し実行される。なおここでは端末２０Ａ〜２０Ｄのうちの端末２０Ａが拡散活動検知装置１０と協働して処理する場合について説明するが、他の端末２０Ｂ〜２０Ｄも同様の処理を実行する。
【００９３】
まず端末２０Ａ内の端末通信監視部２２は、端末２０Ａが他の端末（ここでは端末２０Ｄとする）に対して通信を開始したことを検知すると、通信情報を生成し、生成した通信情報を端末２０Ａ内の端末制御部２４に送信する（ＳＰ１）。通信情報には、通信開始時刻、通信元端末である端末２０Ａの識別情報、通信先端末である端末２０Ｄの識別情報が含まれる。
【００９４】
同様に端末２０Ａ内の端末活動監視部２３は、端末２０Ａが活動を開始したことを検知すると、活動情報を生成し、生成した活動情報を端末２０Ａ内の端末制御部２４に送信する（ＳＰ２）。活動情報には、活動開始時刻、活動端末である端末２０Ａの識別情報及び活動内容が含まれる。
【００９５】
端末２０Ａ内の端末制御部２４は、ステップＳＰ１及びＳＰ２において送信された通信情報及び活動情報を受信するたびに、通信情報及び活動情報を拡散活動検知装置１０内の制御部１１に送信する（ＳＰ３）。ここまでが端末２０Ａによる一連の処理である。続いて拡散活動検知装置１０による一連の処理について説明する。
【００９６】
拡散活動検知装置１０内の制御部１１は、端末２０Ａからの通信情報及び活動情報を受信すると、現在の動作モードが学習フェイズであるか否かを判断する（ＳＰ４）。現在の動作モードが学習フェイズである場合（ＳＰ４：Ｙ）、制御部１１は、通信情報及び活動情報をそれぞれ正常通信学習部１２及び正常活動学習部１４に送信する（ＳＰ５）。
【００９７】
正常通信学習部１２は、通信情報を受信すると、受信した通信情報を通信ＤＢ１２１に格納し、同様に正常活動学習部１４は、活動情報を受信すると、受信した活動情報を活動ＤＢ１４１に格納することにより、通信状況及び活動状況を学習する（ＳＰ６）。動作モードが学習フェイズである場合には拡散活動検知装置１０による処理はここで終了する。
【００９８】
これに対し、現在の動作モードが検知フェイズである場合（ＳＰ４：Ｎ）、制御部１１は、通信情報及び活動情報をそれぞれ不審通信判定部１３及び不審活動判定部１５に送信する（ＳＰ７）。
【００９９】
不審通信判定部１３は、通信情報を受信すると、受信した通信情報が不審通信であるか否かを判定し、同様に不審活動判定部１５も活動情報を受信すると、受信した活動情報が不審活動であるか否かを判定する（ＳＰ８）。そして不審通信判定部１３及び不審活動判定部１５は、判定結果を制御部１１に送信する（ＳＰ９）。
【０１００】
ここでステップＳＰ８の処理の詳細について説明する。まず不審通信判定部１３の処理の詳細について説明する。
【０１０１】
不審通信判定部１３は、通信情報を受信すると、学習フェイズから検知フェイズに切り替わってから初めて通信情報を受信したか否かを判断する。検知フェイズに切り替わってから初めて通信情報を受信した場合、不審通信判定部１３は、正常通信ポリシーＤＢ１３２に規定されているルールを満たす通信を通信ＤＢ１２１内のレコードから抽出し、抽出したレコードを集約することにより正常通信プロファイルＤＢ１３１を作成する。
【０１０２】
なお正常通信ポリシーＤＢ１３２に規定されているルールの何れかを満たし、かつ、何れかを満たさない通信については、ＩＤの値が小さいルールを優先適用する。また検知フェイズに切り替わってから通信情報を２度以上受信している場合には、１度目の受信の際に上記の通り正常通信プロファイルＤＢ１３１が作成されているものとする。
【０１０３】
次いで不審通信判定部１３は、今回端末２０Ａから送信された通信情報が正常通信プロファイルＤＢ１３１に含まれているか否かを判断する。端末２０Ａからの通信情報が正常通信プロファイルＤＢ１３１に含まれている場合には正常通信であると判定し、含まれていない場合には不審通信と判定する（ＳＰ８）。そして不審通信判定部１３は、判定結果を制御部１１に送信する（ＳＰ９）。
【０１０４】
続いて不審活動判定部１５の処理の詳細について説明する。不審活動判定部１５は、活動情報を受信すると、学習フェイズから検知フェイズに切り替わってから初めて活動情報を受信したか否かを判断する。検知フェイズに切り替わってから初めて活動情情報を受信した場合、不審活動判定部１５は、正常活動ポリシーＤＢ１５２に規定されているルールを満たす活動を活動ＤＢ１４１内のレコードから抽出し、抽出したレコードを集約することにより正常活動プロファイルＤＢ１５１を作成する。
【０１０５】
なお正常活動ポリシーＤＢ１５２に規定されているルールの何れかを満たし、かつ、何れかを満たさない活動については、ＩＤの値が小さいルールを優先適用する。また検知フェイズに切り替わってから活動情報を２度以上受信している場合には、１度目の受信の際に上記の通り正常活動プロファイルＤＢ１５１が作成されているものとする。
【０１０６】
次いで不審活動判定部１５は、今回端末２０Ａから送信された活動情報が正常活動プロファイルＤＢ１５１に含まれているか否かを判断する。端末２０Ａからの活動情報が正常活動プロファイルＤＢ１５１に含まれている場合には正常活動と判定し、含まれていない場合には不審活動と判定する（ＳＰ８）。そして不審活動判定部１５は、判定結果を制御部１１に送信する（ＳＰ９）。
【０１０７】
制御部１１は、受信した判定結果が不審通信又は不審活動であるか否かを判断する（ＳＰ１０）。判定結果が不審通信又は不審活動でない場合（ＳＰ１０：Ｎ）、本処理を終了する。これに対し、判定結果が不審通信又は不審活動である場合（ＳＰ１０：Ｙ）、制御部１１は、ステップＳＰ１及びＳＰ２において端末２０Ａから送信された通信情報及び活動情報を不審通信情報及び不審活動情報として不審端末管理部１７に送信する（ＳＰ１１）。
【０１０８】
不審端末管理部１７は、不審通信情報及び不審活動情報を受信すると、不審端末判定処理を実行する（ＳＰ１２）。不審端末判定処理の詳細について説明すると、まず不審端末管理部１７は、受信した不審通信情報及び不審活動情報と、これら不審通信情報及び不審活動情報を生成した端末（ここでは端末２０Ａ）とを関連付けて、不審通信・不審活動ＤＢ１７１に格納する。
【０１０９】
次いで不審端末管理部１７は、不審端末ポリシーＤＢ１７２を参照して、不審通信・不審活動ＤＢ１７１に格納されている端末から不審端末を判定する。
【０１１０】
また制御部１１は、不審通信情報又は不審活動情報を含むグラフ評価要求を不審活動グラフ管理部１６に送信する（ＳＰ１３）。不審活動グラフ管理部１６は、制御部１１からのグラフ評価要求を受信すると、端末２０Ａが不審端末であるか否かを不審端末管理部１７に問い合わせて、不審端末管理部１７からの判定結果を受信する（ＳＰ１４）。
【０１１１】
不審活動グラフ管理部１６は、ステップＳＰ１３及びＳＰ１４において受信したグラフ評価要求及び判定結果に基づいてグラフ管理ＤＢ１６１を更新し、更新後のグラフ管理ＤＢ１６１に格納されている不審活動グラフを評価する（ＳＰ１５）。
【０１１２】
不審活動グラフの評価に際して、不審活動グラフ管理部１６は、グラフ評価ポリシーＤＢ１６２を参照し、グラフ管理ＤＢ１６１に格納されている各不審活動グラフについてグラフスコアを算出する。そしてグラフスコアが閾値を超える場合には拡散活動の検知通知を制御部１１に送信する（ＳＰ１６）。
【０１１３】
なおグラフスコアが閾値を超えない場合にはグラフ評価要求に対する返信は行わずに本処理を終了するとしてもよい。ステップＳＰ１４〜ＳＰ１６における処理を不審活動グラフ管理処理と呼び、詳細については後述する（図１５）。
【０１１４】
制御部１１は、拡散活動の検知の有無を判断し（ＳＰ１７）、検知通知を受信していない場合には（ＳＰ１７：Ｎ）、処理を終了する。これに対し検知通知を受信している場合には（ＳＰ１７：Ｙ）、対策実施指示を不正活動対応部１８に送信する（ＳＰ１８）。
【０１１５】
不正活動対応部１８は、対策実施指示を受信すると、対応ルールＤＢ１８１を参照して、検知した拡散活動についての対策処理を実行し（ＳＰ１９）、一連の処理を終了する。
【０１１６】
（５−２）不審活動グラフ管理処理の詳細
図１５は、不審活動グラフ管理処理の処理手順を示す。不審活動グラフ管理処理は、図１４ＢのステップＳＰ１４〜ＳＰ１６において実行される処理の詳細である。
【０１１７】
まず不審活動グラフ管理部１６は、制御部１１からのグラフ評価要求を受信すると（ＳＰ２１）、グラフ評価要求に含まれる情報が不審通信情報であるか否かを判断する（ＳＰ２２）。グラフ評価要求に含まれる情報が不審通信情報である場合（ＳＰ２２：Ｙ）、不審活動グラフ管理部１６は、不審通信情報の送信元端末が不審端末であり、かつ、送信先端末が正常端末であるか否かを判断する（ＳＰ２３）。
【０１１８】
不審活動グラフ管理部１６は、ステップＳＰ２３の判断に際して不審端末管理部１７に問い合わせて、不審通信情報の送信元端末及び送信先端末が不審端末であるか否かの判定結果を不審端末管理部１７から受信する。そして不審活動グラフ管理部１６は、ステップＳＰ２３の判断で肯定結果を得ると（ＳＰ２３：Ｙ）、グラフ管理ＤＢ１６１内の全ての不審活動グラフのレコードに対して以下の処理（ＳＰ２５〜ＳＰ２７）を実行する（ＳＰ２４）。
【０１１９】
具体的には、不審活動グラフ管理部１６は、一定の条件を満たすか否かを判断する（ＳＰ２５）。一定の条件とは、条件Ｐかつ条件Ｑ１を満たすこと又は条件Ｐかつ条件Ｑ２を満たすことをいう。条件を満たす場合には既存の不審活動グラフを更新するべく、ステップＳＰ２６に移行する。満たさない場合には次のレコードに対して条件を満たすか否かを判断する。
【０１２０】
ここで条件Ｐは、不審活動グラフ内に送信元端末があり、かつ、送信先端末がないこと、条件Ｑ１は、現在時刻−送信元端末の不審通信受信時刻＜Δｔ２、かつ、送信元端末の評価対象フラグ＝Ｆａｌｓｅであること、条件Ｑ２は、現在時刻−送信元端末の最終不審通信・不審活動時刻＜Δｔ１であること、である。
【０１２１】
条件Ｐかつ条件Ｑ１を満たす場合又は条件Ｐかつ条件Ｑ２を満たす場合とは、すなわち、不審活動グラフに含まれる不審端末から現時点では含まれていない正常端末に対して不審通信が行われ（条件Ｐ）、送信元端末が不審通信を受信してから経過した時間が一定時間（Δｔ２）以内であって送信元端末が現時点で評価対象ではないか（条件Ｑ１）、或いは、送信元端末が最後に不審通信又は不審活動を行ってから経過した時間が一定時間（Δｔ１）以内である（条件Ｑ２）場合である。この場合、送信元端末による拡散活動を検知する。
【０１２２】
なおΔｔ１及びΔｔ２は、不審活動グラフ管理部１６において設定されるパラメータであり、例えば１０分又は１時間等である。このΔｔ１及びΔｔ２を長く設定すると、一の不審活動グラフに含まれる端末数は多くなることが予測される。
【０１２３】
一方でΔｔ１及びΔｔ２を短く設定すると、一の不審活動グラフに含まれる端末数は少なくなることが予測される。送信元端末による不審通信又は不審活動の影響をどの程度の期間まで考慮するかによって、Δｔ１及びΔｔ２の長さを適宜設定することができる。
【０１２４】
例えば検知しようとする標的型攻撃の拡散活動が１時間に１回程度である場合には、Δｔ１及びΔｔ２を１時間に設定すればよい。送信元端末は１時間以内に少なくとも１回の不審通信又は不審活動を行うため、送信元端末が最後に不審通信又は不審活動を行ってから１時間以内の送信元端末による拡散活動を検知することができる。
【０１２５】
Δｔ１及びΔｔ２を１日のように更に長く設定すると、送信元端末が不審通信又は不審活動を行ってからあまりに長い期間が経過していても送信元端末による拡散活動として検知することになる。実際には送信元端末からの通信を受信した送信先端末は送信元端末の不審通信又は不審活動の影響を受けていないものと解釈することができる。よって検知精度が低下する場合がある。
【０１２６】
これに対しΔｔ１及びΔｔ２を１分のように短く設定すると、送信元端末は１分以内に不審通信又は不審活動を行わないため、送信元端末が最後に不審通信又は不審活動を行ってから１時間後の拡散活動を検知することができない。よってΔｔ１及びΔｔ２は、検知しようとする拡散活動の攻撃頻度に応じて適宜設定することが好ましい。
【０１２７】
不審活動グラフ管理部１６は、ステップＳＰ２５の判断で肯定結果を得ると、レコードの内容を更新する（ＳＰ２６）。具体的には評価対象フラグがＦａｌｓｅの場合にはＴｒｕｅに変更し、不審端末転換時刻がＮＵＬＬの場合には現在時刻を設定し、最終不審通信・不審活動時刻がＮＵＬＬの場合には現在時刻を設定して、レコードの内容を更新する。
【０１２８】
次いで不審活動グラフ管理部１６は、不審活動グラフ内に新たなレコードを追加し、不審通信の送信先端末に関する情報を設定する（ＳＰ２７）。具体的にはレコードの端末欄１６１３には不審通信の送信先端末を設定し、不審通信受信時刻欄１６１４には現在時刻を設定する。
【０１２９】
また不審通信送信元端末欄１６１５には送信元端末の識別情報を設定し、評価対象フラグ欄１６１６にはＦａｌｓｅを設定し、不審端末転換時刻欄１６１７及び最終不審通信・不審活動時刻欄１６１８にはＮＵＬＬを設定して、送信先端末に関する情報を設定する。
【０１３０】
ステップＳＰ２２に戻り、不審活動グラフ管理部１６は、グラフ評価要求に含まれる情報が不審通信情報でない場合（ＳＰ２２：Ｎ）、グラフ評価要求に含まれる不審活動を行った端末が不審端末であるか否かを不審端末管理部１７に問い合わせる。そして不審端末管理部１７からの判定結果に基づいて、不審活動を行った端末が不審端末であるか否かを判断する（ＳＰ２８）。
【０１３１】
不審活動グラフ管理部１６は、ステップＳＰ２８の判断で肯定結果を得ると（ＳＰ２８：Ｙ）、グラフ管理ＤＢ１６１内の全ての不審活動グラフのレコードに対して以下の処理（ＳＰ３０〜ＳＰ３２）を実行する（ＳＰ２９）。
【０１３２】
具体的には、不審活動グラフ管理部１６は、不審活動グラフ内に不審活動を行った端末（不審活動端末）が存在するか否かを判断する（ＳＰ３０）。不審活動端末が存在しない場合には次のレコードに対して存在するか否かを判断する（ＳＰ３０：Ｎ）。
【０１３３】
これに対し不審活動グラフ管理部１６は、不審活動グラフ内に不審活動端末が存在する場合には（ＳＰ３０：Ｙ）、一定の条件を満たすか否かを判断する（ＳＰ３１）。一定の条件とは、条件Ｒ又は条件Ｓを満たすことをいう。条件を満たす場合には既存の不審活動グラフを更新するべく、ステップＳＰ３２に移行する。満たさない場合には次のレコードに対して条件を満たすか否かを判断する。
【０１３４】
ここで条件Ｒは、現在時刻−不審活動端末の不審通信受信時刻＜Δｔ２、かつ、送信元端末の評価対象フラグ＝Ｆａｌｓｅであること、条件Ｓは、現在時刻−不審活動端末の最終不審通信・不審活動時刻＜Δｔ１であること、である。
【０１３５】
条件Ｒ又は条件Ｓを満たす場合とは、すなわち、不審活動端末が不審通信を受信してから経過した時間が一定時間（Δｔ２）以内であり、かつ、不審活動端末が現時点で評価対象ではない場合、或いは、不審活動端末が最後に不審通信又は不審活動を行ってから経過した時間が一定時間（Δｔ１）以内である場合である。この場合、不審活動端末による拡散活動を検知する。
【０１３６】
不審活動グラフ管理部１６は、ステップＳＰ３１の判断で肯定結果を得ると、レコードの内容を更新する（ＳＰ３２）。具体的には評価対象フラグがＦａｌｓｅの場合にはＴｒｕｅに変更し、不審端末転換時刻がＮＵＬＬの場合には現在時刻を設定し、最終不審通信・不審活動時刻がＮＵＬＬの場合には現在時刻を設定して、レコードの内容を更新する。
【０１３７】
次いで不審活動グラフ管理部１６は、グラフ管理ＤＢ１６１が更新されているか否かを判断する（ＳＰ３３）。更新されている場合（ＳＰ３３：Ｙ）、不審活動グラフ管理部１６は、グラフ評価ポリシーＤＢ１６２において規定されているルールに基づいて、更新後の不審活動グラフのスコアを算出する（ＳＰ３４）。
【０１３８】
次いで不審活動グラフ管理部１６は、算出したグラフスコアが予め決められた閾値を超えるか否かを判断する（ＳＰ３５）。不審活動グラフ管理部１６は、ステップＳＰ３５の判断で肯定結果を得ると、拡散活動の検知通知を生成して制御部１１に送信して（ＳＰ３６）、本処理を終了する。
【０１３９】
これに対し不審活動グラフ管理部１６は、ステップＳＰ３３の判断で否定結果を得ると、新たな不審活動グラフをグラフ管理ＤＢ１６１に追加する（ＳＰ３７）。このとき不審活動グラフ管理部１６は、生成時間欄１６１２に現在時刻を設定し、端末欄１６１３に不審活動端末の識別情報を設定する。
【０１４０】
また不審通信受信時刻欄１６１４及び不審通信送信元端末欄１６１５にはＮＵＬＬを設定し、評価対象フラグ欄１６１６にはＴｒｕｅを設定する。また不審端末転換時刻欄１６１７及び最終不審通信・不審活動時刻欄１６１８には現在時刻を設定する。また送信先端末が存在する場合には送信先端末も同一の不審活動グラフに追加する。
【０１４１】
このとき不審活動グラフ管理部１６は、不審通信受信時刻欄１６１４には現在時刻を設定し、不審通信送信元端末欄１６１５には送信元端末の識別情報を設定し、評価対象フラグ欄１６１６にはＦａｌｓｅを設定する。また不審端末転換時刻欄１６１７及び最終不審通信・不審活動時刻欄１６１８には現在時刻を設定する。
【０１４２】
（６）不審活動グラフ管理処理の詳細
図１６は、管理者用ダッシュボード３１の操作表示画面構成を示す。ネットワーク管理者は、管理者端末３０から管理者用ダッシュボード３１を閲覧することにより、現在の拡散活動の概要や対応状況を確認することができる。管理者用ダッシュボード３１は、グラフ構築状況領域３２、グラフ詳細領域３３及びポリシー編集領域３４から構成される。
【０１４３】
グラフ構築状況領域３２には、グラフ管理ＤＢ１６１及びグラフ評価ポリシーＤＢ１６２に基づいて、現在の不審活動グラフの構築状況の概要が表示される。またグラフスコアが閾値を超えているものについては、対応ルールＤＢ１８１に基づいて、対応状況が表示される。
【０１４４】
グラフ詳細領域３３には、各不審活動グラフの詳細（不審端末転換時刻や不審通信発生時刻）が表示される。この表示された情報に基づいて、管理者はどのような拡散活動が発生しているのかを確認することができる。
【０１４５】
ポリシー編集領域３４には、正常通信ポリシー管理インタフェイス１３３、正常活動ポリシー管理インタフェイス１５３、グラフ評価ポリシー管理インタフェイス１６３、不審端末ポリシー管理インタフェイス１７３又はルール管理インタフェイス１８２を介して、各種ポリシー又はルールの確認及び編集を行うための編集ボタンが表示される。
【０１４６】
（７）第１の実施の形態による効果
以上のように第１の実施の形態におけるウイルス検知システム１によれば、端末２０Ａ〜２０Ｄが通信情報又は活動情報を拡散活動検知装置１０に送信し、拡散活動検知装置１０は、端末２０Ａ〜２０Ｄからの通信情報又は活動情報を受信して、不審通信情報又は不審活動情報であるか否かを判断し、不審通信情報又は不審活動情報である場合には生成した端末が不審端末であるか否かを判断し、不審端末である場合には他の不審端末との間を不審通信によって接続し、複数の不審端末により構成される不審活動グラフを構築するようにしたので、構築した不審活動グラフを参照することにより、拡散活動を精度良く早期に検知することができる。
【０１４７】
（８）第２の実施の形態
第２の実施の形態では、端末内にインストールされたアンチマルウェアソフトを用いて、不審通信及び不審活動を監視する点及び拡散活動の検知状況に応じて実行するアンチマルウェアソフトを切り替える点で、第１の実施の形態と異なる。以下第１の実施の形態における構成と同様の構成についてはその説明を省略し、異なる構成について説明する。
【０１４８】
図１７は、第２の実施の形態におけるウイルス検知システム１Ａの機能構成を示す。ウイルス検知システム１Ａは、端末２０１Ａ、拡散活動検知装置１０１Ａ及び外部管理装置４０等を備えて構成される。なおここでは単一の端末２０１Ａが拡散活動検知装置１０１Ａに接続して図示されているが、実際には複数の端末が拡散活動検知装置１０１Ａに接続して構成される。
【０１４９】
端末２０１Ａ内の監視部２１１は、複数のアンチマルウェアＸ、Ｙ及びＺを備えて構成される。端末２０１Ａが不審通信又は不審活動を行うと、アンチマルウェアＸ〜Ｚは端末２０１Ａが行った不審通信又は不審活動を検知し、不審通信又は不審活動を含むログファイルを端末制御部２４に送信する。なお端末２０１Ａ内で１度に実行されるアンチマルウェアソフトは１個（例えばアンチマルウェアＸ）である。
【０１５０】
端末制御部２４は、例えばアンチマルウェアＸからのログファイルを受信すると、ログファイルを拡散活動検知装置１０１Ａが解釈可能な形式に変換し、不審通信情報又は不審活動情報として拡散活動検知装置１０１Ａに送信する。
【０１５１】
拡散活動検知装置１０１Ａ内の制御部１１は、端末制御部２４からの不審通信情報又は不審活動情報を受信すると、各部及び各ＤＢと協働して、図１４ＢのステップＳＰ１０以降の処理を実行する。
【０１５２】
外部管理装置４０は、拡散活動検知装置１０１Ａにおける検知結果の正誤判断を行い、検知状況を拡散活動検知装置１０１Ａ内のフィードバック部１９に送信する。フィードバック部１９は、フィードバックルールＤＢ１９１に格納されているルールと、検知状況又はグラフ管理ＤＢ１６１の内容とに基づいて、端末２０１Ａにおいて現在実行されているアンチマルウェアソフトの切り替え命令を生成する。
【０１５３】
フィードバックルールＤＢ１９１には、アンチマルウェアソフトを切り替えるか否かを判断するための具体的なルールが格納されている。ネットワーク管理者は、管理者端末３０及びフィードバック管理インタフェイス１９２を介して、フィードバックルールＤＢ１９１内に格納されているルールを編集することができる。
【０１５４】
例えばフィードバック部１９は、アンチマルウェアＸによる検知率が低いことを示す検知状況を受信した場合、端末２０１Ａ内で実行すべきアンチマルウェアソフトをアンチマルウェアＸからアンチマルウェアＹに切り替えることを指示する切り替え命令を生成する。
【０１５５】
またフィードバック部１９は、グラフ管理ＤＢ１６１を参照してグラフスコアが所定の閾値を超える不審活動グラフが存在する場合、例えば低負荷かつ低性能なアンチマルウェアから高負荷かつ高性能なアンチマルウェアに切り替えることを指示する切り替え命令を生成する。
【０１５６】
そしてフィードバック部１９は、アンチマルウェアソフトの切り替え命令を端末２０１Ａに送信する。端末制御部２４は、フィードバック部１９からの切り替え命令に従って、実行するアンチマルウェアソフトを切り替える。
【０１５７】
（９）第２の実施の形態による効果
以上のように第２の実施の形態におけるウイルス検知システム１Ａによれば、フィードバックルールＤＢ１９１に格納されているルールに従って、検知状況又はグラフ管理ＤＢ１６１を参照してマルウェアソフトを切り替えるか否かを判断し、切り替える場合には切り替え命令を拡散活動検知装置１０１Ａから端末２０１Ａに送信するようにしたので、アンチマルウェアの検知性能が時間経過とともに変化して検知見逃し率又は誤検知率が増加するような場合であっても適切なアンチマルウェアソフトに切り替えて不審通信又は不審活動を検知することができる。
【０１５８】
また不審活動グラフの構成状況に応じて、低負荷かつ低性能であるアンチマルウェアソフトから、高負荷かつ高性能であるアンチマルウェアソフトに切り替えることができる。なお他の方法として、所謂多腕バンディットアルゴリズム等、既存のアクティブラーニング型アルゴリズムを用いて、切り替えるアンチマルウェアソフトを選択するとしてもよい。
【０１５９】
（１０）他の実施の形態
上記実施の形態では、不審活動グラフ単位で拡散活動を管理するとしているが、一定の条件を満たす場合、２つのグラフを１つに集約し、集約した不審活動グラフ単位で拡散活動を管理するようにしてもよい。例えば図１６のグラフ詳細領域３３を参照して説明すると、ここでは端末Ｄから端末Ｂに向けて不審通信による拡散活動が行われていることが示されているが、仮に端末Ｄから端末Ｂに向かう通信が不審通信と判定されない場合には、２つのグラフに分断されて管理されることになる。
【０１６０】
この場合であっても、例えば一のグラフに含まれる端末のうちの不審端末転換時刻が最新の端末（この場合、端末Ｄ）と、他のグラフに含まれる端末のうちの不審端末転換時刻が最古の端末（この場合、端末Ｂ）とを比較して、時刻差が閾値以内であり、かつ、両端末間で通信が行われているという条件を満たす場合には、２つのグラフを１つに集約するとしてもよい。
【０１６１】
この場合、実際には端末Ｄから端末Ｂに向かう通信が不審通信であるにもかかわらず不審通信とみなされずにグラフが分断されてしまった場合でも、あらためて１つのグラフに集約することができる。よって拡散活動の検知が遅延することを防止することができる。
【０１６２】
また上記実施の形態においては、拡散活動検知装置１０が学習フェイズである場合に通信ＤＢ１２１及び活動ＤＢ１４１に通信及び活動を格納するとしたが、検知フェイズである場合でも常に通信及び活動を格納するとしてもよい。
【０１６３】
この場合、通信ＤＢ１２１及び活動ＤＢ１４１に格納される通信及び活動が時々刻々と更新され、最新の通信及び活動に基づいて、正常通信プロファイルＤＢ１３１及び正常活動プロファイルＤＢ１５１が更新されることになる。よって端末間の通信が不審通信であるか否か、或いは、端末内の活動が不審活動であるか否かを精度良く検知することができ、結果的に拡散活動の検知精度を向上させることができる。
【０１６４】
また上記実施の形態においては、１組のΔｔ１及びΔｔ２を用いて構築した不審活動グラフをグラフ管理ＤＢ１６１に格納するとしたが、複数種類のΔｔ１及びΔｔ２を用いて構築した不審活動グラフを格納するとしてもよい。すなわちΔｔ１及びΔｔ２の組み合わせごとに不審活動グラフを構築するとしてもよい。
【０１６５】
この場合、上記実施の形態では攻撃頻度が同一のマルウェアによる拡散活動について、拡散ルートごとに不審活動グラフを構築するようにしているがこれに加えて、攻撃頻度が異なるマルウェアによる拡散活動について、それぞれ拡散ルートごとに不審活動グラフを構築することができる。よって多様なマルウェアによる拡散活動を検知することができる。
【符号の説明】
【０１６６】
１              ウイルス検知システム
１０            拡散活動検知装置
１１            制御部
１２            正常通信学習部
１３            不審通信判定部
１４            正常活動学習部
１５            不審活動判定部
１６            不審活動グラフ管理部
１７            不審端末管理部
１８            不正活動対応部
１９            フィードバック部
２０Ａ〜２０Ｄ  端末
２１            監視部
２２            端末通信監視部
２３            端末活動監視部
２４            端末制御部
３０            管理者端末
３１            管理者用ダッシュボード
４０            外部管理装置
【図１】
0006267089.tif 000002
【図２】
0006267089.tif 000003
【図３】
0006267089.tif 000004
【図４】
0006267089.tif 000005
【図５】
0006267089.tif 000006
【図６】
0006267089.tif 000007
【図７】
0006267089.tif 000008
【図８】
0006267089.tif 000009
【図９】
0006267089.tif 000010
【図１０】
0006267089.tif 000011
【図１１】
0006267089.tif 000012
【図１２】
0006267089.tif 000013
【図１３】
0006267089.tif 000014
【図１４Ａ】
0006267089.tif 000015
【図１４Ｂ】
0006267089.tif 000016
【図１５】
0006267089.tif 000017
【図１６】
0006267089.tif 000018
【図１７】
0006267089.tif 000019