(57)【特許請求の範囲】
【請求項１】
監視対象とするネットワーク上で対象期間内に検知された通信に含まれる情報を取得する取得手段と、
前記取得手段にて取得された情報により、前記通信のうち当該通信におけるデータの送信先を識別可能な情報の少なくとも一部が共通する通信の集合を抽出する抽出手段と、
前記抽出手段にて抽出された通信の集合について、前記対象期間に設定される第１期間内で最初の通信と最後の通信との間隔が当該第１期間とは異なる第２期間よりも長い当該第１期間の数であるカウント数に基づく情報を出力する出力手段と
を備える情報処理装置。
【請求項２】
前記出力手段は、前記抽出手段にて抽出された通信の集合を、前記カウント数に基づく順番で並べて表示すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記出力手段は、前記抽出手段にて抽出された通信の集合のうち、前記カウント数が予め定められた基準を満たす集合について、当該集合に関する情報を出力すること
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記抽出手段は、通信におけるデータの送信先及び送信元が同一である通信の集合を抽出すること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
監視対象とするネットワーク上で対象期間内に検知された通信に含まれる情報を取得するステップと、
取得された前記情報により、前記通信のうち当該通信におけるデータの送信先を識別可能な情報の少なくとも一部が共通する通信の集合を抽出するステップと、
抽出された前記通信の集合について、前記対象期間に設定される第１期間内で最初の通信と最後の通信との間隔が当該第１期間とは異なる第２期間よりも長い当該第１期間の数であるカウント数に基づく情報を出力するステップと
を含む情報処理方法。
【請求項６】
コンピュータに、
監視対象とするネットワーク上で対象期間内に検知された通信に含まれる情報を取得する機能と、
取得された前記情報により、前記通信のうち当該通信におけるデータの送信先を識別可能な情報の少なくとも一部が共通する通信の集合を抽出する機能と、
抽出された前記通信の集合について、前記対象期間に設定される第１期間内で最初の通信と最後の通信との間隔が当該第１期間とは異なる第２期間よりも長い当該第１期間の数であるカウント数に基づく情報を出力する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータウイルスに代表されるマルウェアは、侵入方法、攻撃手法の何れにおいても高度化かつ巧妙化しており、その被害を未然に防ぐことや被害を局所化することが困難になりつつある。従来のマルウェアの場合は、その攻撃と被害の関係が容易に推測でき、対処の難易度の違いはあれど、比較的早期に発見できた。しかし、現在のマルウェアの場合は、その侵入に気が付き難く、発見されるまでに甚大な被害が生じてしまっている。
【０００３】
マルウェアを検出する技術として、例えば、特許文献１には、異常外部通信を所定時間内に所定回数以上行っている内部端末間で、異常内部通信が所定回数以上行われている場合に、内部ネットワーク内でマルウェアが発生していると判断するマルウェア検出装置が開示されている。
【０００４】
また、例えば、特許文献２には、端末からの社内ネットワークに対する接続要求毎に、接続要求を行った端末における最終接続時刻からの経過時間を算出し、予め設定された許容時間と比較し、最終接続時刻からの経過時間が許容時間を超える場合に、接続要求を行った端末を不適合端末として社内ネットワークへの接続を禁止する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−８４９９４号公報
【特許文献２】特開２００８−１６０２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マルウェアに感染した端末は、攻撃者からの指令に従って処理を実行するために、外部にある攻撃者のサーバとの間で例えば定期的に繰り返して通信を行う場合がある。しかし、このような通信は、インターネット向けのほかの通信に紛れてしまい、発見するのが非常に困難であった。
本発明の目的は、監視対象とするネットワーク上で繰り返し行われる通信の把握を容易にすることにある。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、監視対象とするネットワーク上で対象期間内に検知された通信に含まれる情報を取得する取得手段と、前記取得手段にて取得された情報により、前記通信のうち当該通信におけるデータの送信先を識別可能な情報の少なくとも一部が共通する通信の集合を抽出する抽出手段と、前記抽出手段にて抽出された通信の集合について、前記対象期間に設定される第１期間内で最初の通信と最後の通信との間隔が当該第１期間とは異なる第２期間よりも長い当該第１期間の数であるカウント数に基づく情報を出力する出力手段とを備える情報処理装置を提供する。
ここで、前記出力手段は、前記抽出手段にて抽出された通信の集合を、前記カウント数に基づく順番で並べて表示するもの、であってよい。
また、前記出力手段は、前記抽出手段にて抽出された通信の集合のうち、前記カウント数が予め定められた基準を満たす集合について、当該集合に関する情報を出力するもの、であってよい。
さらに、前記抽出手段は、通信におけるデータの送信先及び送信元が同一である通信の集合を抽出するもの、であってよい。
さらに、本発明は、監視対象とするネットワーク上で対象期間内に検知された通信に含まれる情報を取得するステップと、取得された前記情報により、前記通信のうち当該通信におけるデータの送信先を識別可能な情報の少なくとも一部が共通する通信の集合を抽出するステップと、抽出された前記通信の集合について、前記対象期間に設定される第１期間内で最初の通信と最後の通信との間隔が当該第１期間とは異なる第２期間よりも長い当該第１期間の数であるカウント数に基づく情報を出力するステップとを含む情報処理方法も提供する。
そして、本発明は、コンピュータに、監視対象とするネットワーク上で対象期間内に検知された通信に含まれる情報を取得する機能と、取得された前記情報により、前記通信のうち当該通信におけるデータの送信先を識別可能な情報の少なくとも一部が共通する通信の集合を抽出する機能と、抽出された前記通信の集合について、前記対象期間に設定される第１期間内で最初の通信と最後の通信との間隔が当該第１期間とは異なる第２期間よりも長い当該第１期間の数であるカウント数に基づく情報を出力する機能とを実現させるためのプログラムも提供する。
【発明の効果】
【０００８】
本発明によれば、監視対象とするネットワーク上で繰り返し行われる通信の把握が容易になる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態が適用されるコンピュータシステムの全体構成例を示した図である。
【図２】本実施の形態に係る通信分析装置の機能構成例を示したブロック図である。
【図３】通信分析装置を適用するのに好適なコンピュータのハードウェア構成の一例を示した図である。
【図４】通信ログをもとにカウント数に基づく情報を出力する手順の一例を示したフローチャートである。
【図５】通信ログ取得部が取得する通信ログの一例を示す図である。
【図６】（ａ）〜（ｄ）は、カウント部によるカウント処理の具体例を説明するための図である。
【図７】カウント部によるカウント数に基づく情報を出力する処理の具体例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜システム構成＞
まず、本実施の形態が適用されるコンピュータシステムについて説明する。図１は、本実施の形態が適用されるコンピュータシステムの全体構成例を示した図である。図示するように、このコンピュータシステムでは、クライアント端末１０ａ、１０ｂ、１０ｃが社内ＬＡＮ（Local Area Network）４０に接続されている。また、通信分析装置２０が社内ＬＡＮ４０及びインターネット５０の両方に接続されている。さらに、攻撃者サーバ３０がインターネット５０に接続されている。
【００１１】
クライアント端末１０ａ、１０ｂ、１０ｃは、ユーザが使用するコンピュータであり、例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。また、本実施の形態において、クライアント端末１０ａ、１０ｂ、１０ｃは、マルウェアに感染することがあるものとする。ここで、マルウェアとは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称である。例えば、マルウェアの一つであるボットは、コンピュータに感染した後、Ｃ＆Ｃ（コマンド＆コントロール）サーバと呼ばれる制御用サーバに接続して攻撃者からの指令を待ち、感染したコンピュータ上で指令どおりの処理を実行する。
【００１２】
なお、図１では、クライアント端末１０ａ、１０ｂ、１０ｃを示したが、これらを区別する必要がない場合にはクライアント端末１０と称することもある。また、図１には３台のクライアント端末１０しか示していないが、クライアント端末１０の台数は図示の３台には限定されない。
【００１３】
通信分析装置２０は、社内ＬＡＮ４０とインターネット５０との間のネットワークを監視対象とし、監視対象とするネットワーク上で検知された通信について、通信間隔に基づく情報を出力する。出力される通信間隔に基づく情報は、攻撃である可能性の高い不正な通信を検出するためのものである。具体的には、通信分析装置２０は、クライアント端末１０から社内ＬＡＮ４０を介してインターネット５０へアクセスする通信を対象に、マルウェアによる不正通信を検出するための情報を出力する。また、通信分析装置２０は、例えば、クライアント端末１０から社内ＬＡＮ４０を介してインターネット５０へアクセスする際に経由するように設置されたプロキシサーバ（不図示）に蓄えられている通信のログなどをもとに情報の出力を行う。
【００１４】
この通信分析装置２０は、ゲートウェイ等の通信装置の中に設けられても良いし、通信装置とは独立に設けられても良い。また、図１では、通信分析装置２０を社内ＬＡＮ４０とインターネット５０との間の通信回線上にインラインで設置するのではなく、例えば、プロキシサーバなどから通信分析装置２０が通信ログを取得するような構成にしているが、通信分析装置２０をインラインで設置した構成にしても良い。本実施の形態では、情報処理装置の一例として、通信分析装置２０が用いられる。
【００１５】
攻撃者サーバ３０は、マルウェアに感染したクライアント端末１０が通信の接続先とするサーバであり、攻撃者が運営しているものである。この攻撃者サーバ３０は、例えばクライアント端末１０がボットに感染した場合には、クライアント端末１０が攻撃者からの指令を待つために接続する接続先の制御用サーバに該当する。また、図１には１台の攻撃者サーバ３０しか示していないが、２台以上の攻撃者サーバ３０が存在する場合もあるものとする。
【００１６】
社内ＬＡＮ４０は、会社内のコンピュータやプリンタを専用回線等で接続し、これらの間でデータを送受信できるようにしたネットワークである。
【００１７】
インターネット５０は、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）を用いて全世界のネットワークを相互に接続した巨大なネットワークである。
【００１８】
上述したように、本実施の形態において、クライアント端末１０は、マルウェアに感染した場合、不正なサーバである攻撃者サーバ３０に接続する。その際、クライアント端末１０は、攻撃者サーバ３０からの指令に従って処理を実行するために、例えば１０秒などの間隔で、繰り返して攻撃者サーバ３０との間で通信を行う場合がある。そこで、通信分析装置２０は、クライアント端末１０から社内ＬＡＮ４０を介してインターネット５０へアクセスする通信を対象にその通信間隔を調べて、攻撃者サーバ３０との間の通信である可能性がある、繰り返し行われる通信を検出するための情報を出力する。
【００１９】
＜通信分析装置の機能構成＞
次に、通信分析装置２０の機能構成について説明する。図２は、本実施の形態に係る通信分析装置２０の機能構成例を示したブロック図である。
【００２０】
図示するように、通信分析装置２０は、社内ＬＡＮ４０（図１参照）とインターネット５０（図１参照）との間のネットワーク上で検知された通信のログを取得する通信ログ取得部２１と、取得された通信ログのうち分析の対象とする通信ログを抽出する通信ログ抽出部２２とを備えている。また、通信分析装置２０は、通信ログの取得対象とした期間を予め定められた期間である第１期間の長さで区切り、各第１期間について、最初の通信と最後の通信との間隔が予め定められた期間である第２期間を超えていればカウントするカウント部２３と、カウント部２３によるカウントの処理に用いられる第１期間及び第２期間の設定値を記憶する設定値記憶部２４と、カウント部２３によるカウント数に基づく情報を出力する情報出力部２５とを備えている。
【００２１】
取得手段の一例としての通信ログ取得部２１は、社内ＬＡＮ４０とインターネット５０との間のネットワークを監視対象とし、監視対象とするネットワーク上で検知された通信のログを取得する。ここで、通信ログ取得部２１は、例えば管理者の操作を契機として、クライアント端末１０から社内ＬＡＮ４０を介してインターネット５０へアクセスする通信のログをプロキシサーバ（不図示）から取得する。
【００２２】
通信ログとしては、例えば管理者が指定した期間や１週間などの予め定められた期間を取得の対象期間として、その対象期間内に検知されたものが取得される。また、通信ログには、例えば、その通信におけるデータの送信先の情報、データの送信元の情報、通信が行われた日時等の情報が含まれている。なお、通信ログは、プロキシサーバから取得するような構成に限られず、例えば、通信分析装置２０がインラインで設置された場合に通信分析装置２０内で格納しておいても良い。
【００２３】
抽出手段の一例としての通信ログ抽出部２２は、通信ログ取得部２１が取得した通信ログのうち、分析対象とする通信ログの集合を抽出する。ここで、通信ログ抽出部２２は、通信ログ取得部２１が取得した各通信ログについて、データの送信先を識別可能な情報（以下、送信先情報と称する）及びデータの送信元を識別可能な情報（以下、送信元情報と称する）を特定する。送信先情報には、例えば、データの送信先である装置のドメイン名やＩＰアドレス、送信先のＵＲＬ（Uniform Resource Locator）などの情報が含まれる。また、送信元情報には、例えば、データの送信元であるクライアント端末１０のＩＰアドレス、クライアント端末１０を使用するユーザとして設定されているユーザ名、クライアント端末１０に設定されているコンピュータ名などの情報が含まれる。
【００２４】
そして、通信ログ抽出部２２は、各通信ログの送信先情報及び送信元情報をもとに、送信先及び送信元のペアが同一である複数の通信ログを分析対象として、それぞれのペアごとに抽出する。例えば、通信ログ取得部２１が取得した通信ログのうち、送信先のドメインが「ドメインＡ」で、送信元のユーザ名が「ユーザＡ」である通信ログが１０００個存在する場合、通信ログ抽出部２２は、その１０００個の通信ログの集合を分析対象として抽出する。
【００２５】
また、以下では、通信ログ抽出部２２は、送信先及び送信元のペアが同一である複数の通信ログを分析対象として抽出する場合について説明するが、少なくともデータの送信先が同一である通信ログを分析対象として抽出しても良い。この場合、例えば、送信先のドメインが「ドメインＡ」の通信ログが２０００個あれば、その２０００個の通信ログが分析対象としてまとめて抽出されることとなる。
【００２６】
カウント手段の一例としてのカウント部２３は、通信ログ抽出部２２が分析対象として抽出した通信ログの集合について、取得の対象期間の前から順番に第１期間の長さで区切っていく。そして、カウント部２３は、区切られた第１期間のそれぞれについて、第１期間内の最初の通信と最後の通信との間隔が第２期間よりも長いか否かを判定する。ここで、最初の通信と最後の通信との間隔が第２期間を超えていれば、カウント部２３はカウント数を１増やす処理を行う。一方、最初の通信と最後の通信との間隔が第２期間を超えていなければ、カウント部２３はカウントしない。
【００２７】
例えば、区切られた第１期間が１００個存在する場合、カウント部２３は、その１００個の第１期間のそれぞれについて、分析対象とした通信ログの最初の通信と最後の通信との間隔が第２期間よりも長いか否かを判定する。そして、カウント部２３は、第２期間を超えていると判定するごとにカウントする。例えば、１００個の第１期間のうち最初の通信と最後の通信との間隔が第２期間を超えているものが６０個存在すれば、カウント数は６０となる。
【００２８】
設定値記憶部２４は、カウント部２３によるカウントの処理に用いられる第１期間及び第２期間の設定値を記憶する。第１期間としては、例えば、１０分、５分、１分などの期間が設定される。また、第２期間は、第１期間よりも短く、例えば、第１期間が１０分の場合には第２期間は８分、第１期間が５分の場合には第２期間は４分、第１期間が１分の場合には第２期間は４０秒などのように設定される。このような第１期間及び第２期間の値は、例えば管理者の入力により予め設定されるものとする。
【００２９】
出力手段の一例としての情報出力部２５は、カウント部２３によるカウント数に基づく情報を出力する。ここで、情報出力部２５は、通信ログ抽出部２２が分析対象として抽出した通信ログの集合について、カウント部２３がカウントしたカウント数を取得する。そして、情報出力部２５は、取得したカウント数に基づく情報を出力する。例えば、情報出力部２５は、通信ログの集合を、カウント数が多い順番や少ない順番などのカウント数に基づく順番で並べて表示部（不図示）に表示する。
【００３０】
また、情報出力部２５は、カウント数が予め定められた基準を満たす通信について、その通信に関する情報を表示部に表示しても良い。例えば、情報出力部２５は、カウント数が予め定められた閾値を超える通信ログの集合について、その通信が不正通信の可能性があることを示す表示をしたり、アラートを表示したりする。また、例えば、情報出力部２５は、カウント数が予め定められた閾値以下である通信ログの集合について、その通信が正常な通信であることを示す表示を行う。
【００３１】
＜通信分析装置のハードウェア構成例＞
次に、本実施の形態に係る通信分析装置２０のハードウェア構成について説明する。図３は、通信分析装置２０を適用するのに好適なコンピュータのハードウェア構成の一例を示した図である。図示するように、通信分析装置２０は、演算手段であるＣＰＵ（Central Processing Unit）２０ａと、主記憶手段であるメモリ２０ｃを備える。また、外部デバイスとして、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）２０ｇ、ネットワーク・インターフェイス２０ｆ、ディスプレイ装置を含む表示機構２０ｄ、音声機構２０ｈ、キーボードやマウス等の入力デバイス２０ｉ等を備える。
【００３２】
図３に示す構成例では、メモリ２０ｃおよび表示機構２０ｄは、システム・コントローラ２０ｂを介してＣＰＵ２０ａに接続されている。また、ネットワーク・インターフェイス２０ｆ、磁気ディスク装置２０ｇ、音声機構２０ｈおよび入力デバイス２０ｉは、Ｉ／Ｏコントローラ２０ｅを介してシステム・コントローラ２０ｂと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
【００３３】
また、図３において、磁気ディスク装置２０ｇにはＯＳのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ２０ｃに読み込まれてＣＰＵ２０ａに実行されることにより、本実施の形態に係る通信分析装置２０の通信ログ取得部２１、通信ログ抽出部２２、カウント部２３、情報出力部２５の機能が実現される。また、例えば、磁気ディスク装置２０ｇ等の記憶する手段により、設定値記憶部２４が実現される。
【００３４】
なお、図３は、本実施の形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施の形態は、カウント数に基づく情報を出力する装置に広く適用できるものであり、図示の構成においてのみ本実施の形態が実現されるのではない。
【００３５】
＜通信分析装置の処理手順＞
次に、通信分析装置２０が通信ログをもとにカウント数に基づく情報を出力する処理の手順について説明する。図４は、通信ログをもとにカウント数に基づく情報を出力する手順の一例を示したフローチャートである。
【００３６】
まず、通信ログ取得部２１は、社内ＬＡＮ４０とインターネット５０との間のネットワーク上で取得の対象期間内に検知された通信のログであり、クライアント端末１０からインターネット５０へアクセスする通信のログをプロキシサーバから取得する（ステップ１０１）。次に、通信ログ抽出部２２は、通信ログ取得部２１が取得した通信ログのうち、分析対象とする通信ログの集合を抽出する（ステップ１０２）。ここで、通信ログ抽出部２２は、各通信ログの送信先情報及び送信元情報をもとに、送信先及び送信元のペアが同一である複数の通信ログをまとめて抽出する。また、通常、対象期間内の通信ログは多数蓄積されており、送信元及び送信先のペアも多数存在する。そのため、通信ログ抽出部２２は、送信先及び送信元のペアごとに、通信ログの集合を抽出する。
【００３７】
次に、カウント部２３は、抽出された通信ログの集合のうち１つを選択する（ステップ１０３）。そして、カウント部２３は、選択した通信ログの集合について、対象期間の前から順番に第１期間の長さで区切っていく（ステップ１０４）。次に、カウント部２３は、区切られた第１期間のうち１つを選択する（ステップ１０５）。そして、カウント部２３は、通信ログの発生日時をもとに、選択した第１期間内で発生した最初の通信と最後の通信との間隔を計算し、計算した間隔が第２期間を超えているか否かを判定する（ステップ１０６）。
【００３８】
最初の通信と最後の通信との間隔が第２期間を超えていると判定された場合（ステップ１０６でＹｅｓ）、カウント部２３はカウント数を１増やす（ステップ１０７）。一方、最初の通信と最後の通信との間隔が第２期間を超えていないと判定された場合（ステップ１０６でＮｏ）、カウント部２３はカウント数を増やさずそのままとする。
【００３９】
次に、カウント部２３は、ステップ１０４で区切られた第１期間の全てを選択したか否かを判定する（ステップ１０８）。まだ選択されていない第１期間があると判定された場合（ステップ１０８でＮｏ）、ステップ１０５に移行する。一方、全ての第１期間が選択されたと判定された場合（ステップ１０８でＹｅｓ）、カウント部２３は、ステップ１０２で抽出された通信ログの集合の全てを選択したか否かを判定する（ステップ１０９）。
【００４０】
まだ選択されていない通信ログの集合があると判定された場合（ステップ１０９でＮｏ）、ステップ１０３に移行する。一方、通信ログの集合の全てが選択されたと判定された場合（ステップ１０９でＹｅｓ）、次に、情報出力部２５は、通信ログの集合ごとにカウント数を取得し、取得したカウント数に基づく情報を出力する（ステップ１１０）。ここで、情報出力部２５は、通信ログの集合ごとに、ステップ１０５〜１０８にてカウントされたカウント数を取得し、取得したカウント数に基づく情報を出力する。例えば、情報出力部２５は、通信ログの集合をカウント数が多い順番に並べて表示したり、カウント数が予め定められた閾値を超える通信ログの集合についてその通信が不正通信の可能性がある旨を表示したりする。そして、本処理フローは終了する。
【００４１】
＜通信ログの例＞
次に、通信ログ取得部２１が取得する通信ログについて説明する。図５は、通信ログ取得部２１が取得する通信ログの一例を示す図である。
【００４２】
図５に示す通信ログには、データの送信先である装置のＩＰアドレス、データの送信元であるクライアント端末１０のＩＰアドレス、送信元であるクライアント端末１０のユーザ名、送信元であるクライアント端末１０のコンピュータ名、通信が発生した日時の情報が含まれる。例えば、番号１の通信ログにおいて、送信先である装置のＩＰアドレスは「５０．１．１．１」、送信元のクライアント端末１０のＩＰアドレスは「１１１．２２．３３．４４」である。また、送信元のクライアント端末１０のユーザ名は「ＵｓｅｒＡ」、送信元のクライアント端末１０のコンピュータ名は「ＬＡＮ−ＰＣ１」、通信の発生日時は「２０１５年１月１日１０時」である。
【００４３】
また、例えば、番号１、番号３及び番号４の通信ログについて、送信先のＩＰアドレスは「５０．１．１．１」、送信元のＩＰアドレスは「１１１．２２．３３．４４」であり、送信先及び送信元のペアが同一である。そのため、通信ログ抽出部２２は、図５に示す通信ログから分析対象とする通信ログの集合を抽出する場合、番号１、番号３及び番号４の通信ログを抽出する。
【００４４】
ここで、図５に示す通信ログでは、送信元情報として、送信元ＩＰアドレス、送信元ユーザ名、送信元コンピュータ名が存在し、通信ログ抽出部２２は、これらの送信元情報のうちのいずれかの情報を用いて通信ログの集合を抽出すれば良い。ただし、例えばＤＨＣＰ（Dynamic Host Configuration Protocol）により自動的にクライアント端末１０にＩＰアドレスが割り当てられるような場合、同じクライアント端末１０であっても異なるＩＰアドレスで通信を行う場合がある。そのような場合には、通信ログ抽出部２２は、送信元コンピュータ名や送信元ユーザ名等をもとに送信元であるクライアント端末１０を識別して、通信ログの集合を抽出すれば良い。なお、通信ログに含まれる情報の種類は図５に示すものに限られるわけではなく、例えば、送信先情報として送信先である装置のドメイン名を用いても良い。
【００４５】
＜カウント処理の具体例＞
次に、カウント部２３によるカウント処理について、具体例を挙げて説明する。図６（ａ）〜（ｄ）は、カウント部２３によるカウント処理の具体例を説明するための図である。図示の例では２つの第１期間を示しているが、以下では、１つ目の第１期間内の通信について説明する。
【００４６】
まず、図６（ａ）に示す例では、繰り返し通信が行われ、第１期間内で８回の通信が発生している。そして、最初の通信と最後の通信との間隔が第２期間を超えている。そのため、カウント部２３はカウント数を１増やす処理を行う。
図６（ｂ）に示す例では、第１期間内で２回の通信が発生しており、最初の通信と最後の通信との間隔が第２期間を超えている。そのため、図６（ｂ）の場合には、図６（ａ）の場合よりも通信の発生回数は少ないが、カウント部２３はカウント数を１増やす処理を行う。
【００４７】
図６（ｃ）に示す例では、第１期間内で５回の通信が発生しているが、短時間に５回の通信が行われており、最初の通信と最後の通信との間隔が第２期間を超えていない。そのため、カウント部２３はカウントしない。
図６（ｄ）に示す例では、第１期間内で１０回の通信が発生しており、最初の通信と最後の通信との間隔が第２期間を超えている。そのため、カウント部２３はカウント数を１増やす処理を行う。
【００４８】
ここで、図示の例で、第１期間を１分、第２期間を４０秒とすると、図６（ａ）の例では、８秒ほどの間隔で繰り返し通信が発生している。上述したように、クライアント端末１０がマルウェアに感染した場合、攻撃者サーバ３０との間で繰り返し通信を行う場合がある。このような繰り返し行われる通信が発生した場合、ある第１期間においてカウント部２３によるカウントが行われれば、他の第１期間においてもカウントが行われる可能性が高い。そのため、カウント数が多い通信であることを示す情報が出力されることで、繰り返し行われる通信であってマルウェアによる通信の可能性があるものとして把握される。
【００４９】
また、図６（ｂ）に示す例では、第１期間内に２回の通信が発生しており、マルウェアにより繰り返し発生したものか、マルウェアとは関係なく正常な通信として単発で発生したものかの判別はされない。ここで、２回の通信が単発で発生したものであれば、継続して他の第１期間でもカウントされる可能性は低い。そのため、正常な通信として単発で発生したものについては、カウント数が少ない通信であることを示す情報が出力されることとなる。一方、２回の通信がマルウェアにより繰り返し発生した通信であれば、他の第１期間においてもカウントが行われる可能性が高い。そのため、図６（ａ）に示す場合と同様に、カウント数が多い通信であることを示す情報が出力され、繰り返し行われる通信であってマルウェアによる通信の可能性があるものとして把握される。
【００５０】
ここで、マルウェアにより繰り返し発生する通信であっても、その通信間隔が第１期間の１分を超える場合には、第１期間内で２回以上通信が行われることがないため、カウント部２３によるカウントが行われないこととなる。このような場合には、第１期間の設定値を長くするように変更すれば、カウント部２３によるカウントが行われる。
【００５１】
次に、図６（ｃ）に示す例は、ユーザが、例えばインターネット経由でウェブページを閲覧することにより、正常な通信が短時間に連続して発生した場合を示す。第１期間内で何度も通信が発生しているが、最初の通信と最後の通信との間隔が第２期間よりも短いため、カウント部２３によるカウントは行われない。即ち、例えば定期的に繰り返し行われる通信ではなく、短時間に連続して発生する正常な通信については、カウントが行われず、カウント数が少ない通信であることを示す情報が出力される。
【００５２】
一方、図６（ｄ）に示す例は、ユーザが、例えばウェブページを閲覧した後にさらに違うウェブページを閲覧することにより、短時間に連続して通信が発生した後にさらに連続して通信が発生した場合を示す。この場合、マルウェアにより繰り返し行われる通信ではなく正常な通信であるが、最初の通信と最後の通信との間隔が第２期間を超えているため、カウント部２３はカウント数を１増やす処理を行う。
【００５３】
このように、ユーザがウェブページを閲覧する際、様々なウェブページを閲覧することにより連続する通信が複数箇所で発生し、最初の通信と最後の通信との間隔が第２期間を超える場合がある。ただし、ウェブページの閲覧において、通常、ユーザは閲覧するウェブページを頻繁に変えて連続する通信が常に複数箇所で発生するわけではない。また、ユーザがウェブページを閲覧する時間も例えば数時間など限られた時間であると考えられる。そのため、ある第１期間においてカウント部２３によるカウントが行われても、他の第１期間でもカウントされるとは限らない。さらに、カウントされるのはユーザがウェブページを閲覧する時間に限られており、繰り返し行われる通信と比較するとカウント数は少なくなる。結果として、第１期間内に連続する正常な通信が複数箇所で発生した場合には、カウント数が少ない通信であることを示す情報が出力されることとなる。
【００５４】
このようにして、カウント部２３は、第１期間内で最初の通信と最後の通信との間隔が第２期間を超えていれば、カウント数を１増やす処理を行う。そのため、マルウェアにより繰り返し通信が行われている場合、第１期間においてカウントされてカウント数が増えることにより、マルウェアによる不正通信の可能性があるものとして管理者に把握され易くなる。
【００５５】
一方、繰り返し行われる通信ではなく、単発で通信が発生した場合や連続する通信が複数箇所で発生した場合にも、カウント部２３によりカウントされる場合がある。しかし、そのような通信のカウント数は継続して加算される可能性が低く、通信ログを取得する対象期間を長くすればするほど、繰り返し行われる通信と比較してカウント数が少なくなる。
【００５６】
＜カウント数に基づく情報を出力する処理の具体例＞
次に、カウント部２３によるカウント数に基づく情報を出力する処理について、具体例を挙げて説明する。図７は、カウント部２３によるカウント数に基づく情報を出力する処理の具体例を説明するための図である。図７に示す例は、例えば１日間で蓄積された通信ログのうち、送信先ＩＰアドレス及び送信元ＩＰアドレスのペアが同一である通信ログの集合を分析対象とし、カウント数が多い順番に各集合を上から並べたものである。
【００５７】
例えば、番号１に示す通信ログの集合として、送信先ＩＰアドレスが「５０．１．１．１」、送信元ＩＰアドレスが「１１１．２２．３３．４４」の通信ログの集合について、カウント数が１０００であることが示されている。同様に、他の通信ログの集合についてもカウント数が示され、カウント数が多い順番に各集合が上から並べられている。このように表示されることにより、管理者は、例えば、カウント数が多い通信ログは不正通信の可能性があると判断し、例えば該当の通信ログを詳細に調べる等の対応をすれば良い。
【００５８】
また、情報出力部２５は、カウント数が予め定められた閾値を超えていれば、その通信ログの集合について不正通信の可能性があることを示す表示を行うこととしても良い。例えば、予め定められた閾値を５００とすれば、図７に示す番号１〜４の通信ログの集合が、不正通信の可能性があるものとして表示される。
【００５９】
以上説明したように、本実施の形態に係る通信分析装置２０は、監視対象とするネットワーク上で検知された通信のログについて、第１期間ごとに最初の通信と最後の通信との間隔を計算し、計算した間隔が第２期間を超えているか否かを判定する。そして、通信分析装置２０は、計算した間隔が第２期間を超えていればカウント数を１増やし、それぞれの第１期間を対象として加算したカウント数に基づいて情報を出力する。
【００６０】
そのため、マルウェアに感染したクライアント端末１０が繰り返し通信を行うことにより、カウント数が多くなり、管理者は、出力された情報をもとに不正通信の可能性があるものとして把握し易くなる。ここで、繰り返し発生する通信はマルウェアによるものに限られるわけではなく、例えば、ウィルス対策用ソフトウェアの更新のために行われる正常な通信等も繰り返し行われる場合がある。本実施の形態では、マルウェアによるものではなく繰り返し行われる正常な通信も、カウント数が多くなり、不正通信の可能性があるものとして把握される場合がある。ただし、そのような正常な通信について、管理者は、例えば、予め正常なものとして登録したり、送信先ＩＰアドレスをもとに正常なものと判断して登録したりすれば良い。そして、正常なものとして登録された通信については、例えば、カウントの対象から除外したり、管理者へ報知する表示画面には正常な通信として表示したりすれば良い。
【００６１】
また、通信分析装置２０は、プロキシサーバ等に蓄積された通信ログではなく、現在ネットワーク上に流れているトラフィックを対象にカウントすることとしても良い。この場合、通信分析装置２０は、送信先及び送信元のペアごとに第１期間内の通信を把握し、カウントするか否かを判定してカウント数を増やしていく。そして、情報出力部２５は、例えば、カウント数が予め定められた閾値を超えた時点で、表示機構２０ｄ等にアラートを表示して管理者に報知する。
【００６２】
なお、本発明の実施の形態を実現するプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて提供することも可能である。
【００６３】
また、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００６４】
１０ａ,１０ｂ,１０ｃ…クライアント端末、２０…通信分析装置、２１…通信ログ取得部、２２…通信ログ抽出部、２３…カウント部、２４…設定値記憶部、２５…情報出力部、３０…攻撃者サーバ
【図１】
0005992643.tif 000002
【図２】
0005992643.tif 000003
【図３】
0005992643.tif 000004
【図４】
0005992643.tif 000005
【図５】
0005992643.tif 000006
【図６】
0005992643.tif 000007
【図７】
0005992643.tif 000008