以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
<システム構成>
まず、本実施の形態が適用されるコンピュータシステムについて説明する。図1は、本実施の形態が適用されるコンピュータシステムの全体構成例を示した図である。図示するように、このコンピュータシステムでは、クライアント端末10a、10b、10cが社内LAN(Local Area Network)50に接続されている。また、通信分析装置20及び通信データ保存装置30が、社内LAN50及びインターネット60の両方に接続されている。さらに、攻撃者サーバ40がインターネット60に接続されている。
クライアント端末10a、10b、10cは、ユーザが使用するコンピュータであり、例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。また、本実施の形態において、クライアント端末10a、10b、10cは、マルウェアに感染することがあるものとする。ここで、マルウェアとは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称である。例えば、マルウェアの一つであるボットは、コンピュータに感染した後、C&C(コマンド&コントロール)サーバと呼ばれる制御用サーバに接続して攻撃者からの指令を待ち、感染したコンピュータ上で指令どおりの処理を実行する。
なお、図1では、クライアント端末10a、10b、10cを示したが、これらを区別する必要がない場合にはクライアント端末10と称することもある。また、図1には3台のクライアント端末10しか示していないが、クライアント端末10の台数は図示の3台には限定されない。
通信分析装置20は、社内LAN50とインターネット60との間のネットワークを監視対象とし、監視対象とするネットワーク上で検知された通信の通信ログ(履歴)を処理(分析)して分析結果を出力する。出力される分析結果は、外部からの不正アクセスや内部からの不正な情報流出等のような不正通信を検出するためのものである。また、分析する対象の通信ログは通信データ保存装置30に蓄えられており、通信分析装置20は、例えば解析者(アナリスト)の操作を契機として、通信データ保存装置30から分析対象とする通信ログを取得して分析を行う。
なお、本実施の形態では、通信分析装置20が通信データ保存装置30から通信ログを取得する構成とするが、例えば、通信分析装置20を社内LAN50とインターネット60との間の通信回線上にインラインで設置して、通信分析装置20にて通信ログを保存するような構成にしても良い。また、通信分析装置20は、ゲートウェイ等の通信装置の中に設けられても良いし、通信装置とは独立に設けられても良い。本実施の形態では、情報処理装置の一例として、通信分析装置20が用いられる。
通信データ保存装置30は、社内LAN50とインターネット60との間のネットワーク上を流れる通信を通信ログとして保存する。保存される通信ログは、例えば、クライアント端末10から社内LAN50を介してインターネット60へアクセスする際に経由するように設置されたプロキシサーバ(不図示)にて生成されるログである。また、例えば、社内LAN40に接続された、IDS(Intrusion Detection System)やIPS(Intrusion Prevention System)等のセキュリティ・システム、ファイアウォール等のソフトウェアが搭載された装置などが生成するログも、通信ログとして保存される。
また、通信データ保存装置30は、通信ログ以外に、社内LAN50とインターネット60との間のネットワーク上を流れるパケットデータについても保存している。ここで、通信ログはネットワーク上での通信を記録するものであり、通信ログには、例えば、通信先の情報、通信元の情報、通信が行われた日時等の情報が含まれている。一方で、パケットデータには、例えば、実際にやり取りされたファイルや画像データの中身など、通信ログからは把握できない情報も存在する。
攻撃者サーバ40は、マルウェアに感染したクライアント端末10が通信の接続先とするサーバであり、攻撃者が運営しているものである。この攻撃者サーバ40は、例えばクライアント端末10がボットに感染した場合には、クライアント端末10が攻撃者からの指令を待つために接続する接続先の制御用サーバに該当する。また、図1には1台の攻撃者サーバ40しか示していないが、2台以上の攻撃者サーバ40が存在する場合もあるものとする。
社内LAN50は、会社内のコンピュータやプリンタを専用回線等で接続し、これらの間でデータを送受信できるようにしたネットワークである。
インターネット60は、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いて全世界のネットワークを相互に接続した巨大なネットワークである。
そして、本実施の形態において、クライアント端末10は、マルウェアに感染した場合、攻撃者サーバ40などの不正なサーバに接続して処理を行う。そこで、本実施の形態に係る通信分析装置20は、社内LAN50とインターネット60との間のネットワークを監視対象とし、監視対象であるネットワーク上で検知された通信の通信ログを分析して分析結果を出力する。通信分析装置20の分析により、監視対象であるネットワーク上で検知された通信は、問題のある通信と問題のない通信とに仕分けられる。ここで、問題のある通信には、不正な通信であることが明らかなものと、不正な通信である可能性のあるもの(問題のない通信と特定できないもの)とが含まれる。解析者は、通信分析装置20にて出力された分析結果に基づき、問題のある通信を解析して、不正な通信か否かを判断することができる。
<通信分析装置の機能構成>
次に、通信分析装置20の機能構成について説明する。図2は、本実施の形態に係る通信分析装置20の機能構成例を示したブロック図である。
図示するように、通信分析装置20は、表示部21と、通信ログ取得部22と、通信ログ整形部23と、分類リスト適用部24と、リスト格納部25と、詳細情報取得部26と、不正通信調査部27とを備えている。
表示部21は、通信分析装置20での分析結果等の各種情報を画面に表示する。また、表示部21は、画面に対する解析者からの操作入力を受け付ける。
取得手段の一例としての通信ログ取得部22は、社内LAN50とインターネット60との間のネットワークを監視対象とし、監視対象とするネットワーク上で検知された通信の通信ログを通信データ保存装置30から取得する。ここで、通信ログ取得部22は、例えば解析者が指定した期間や予め定められた期間を取得の対象期間として、その対象期間内に検知された通信ログを取得する。
通信ログ整形部23は、通信ログ取得部22が取得した通信ログについて、分析処理を実行できるように通信ログの形式を整える。また、通信ログ整形部23は、通信ログに含まれる情報の中で分析に不要な情報の除外や削除を行う。
分類リスト適用部24は、通信ログ整形部23にて整形された通信ログに対して分類リストを適用する。そして、分類リスト適用部24は、分類リストの適用結果を分類リストごとに表示部21に表示する。また、分類リスト適用部24は、分類リストごとの適用結果の相関を示す情報を表示部21に表示する。これらの表示された情報は、解析者が不正通信を特定するために用いられる。分類リストは、問題のある通信を検出するための予め定められた条件(以下、分類条件と称する)が設定されたリストであり、解析者等により予め作成される。分類リストの詳細については後述する。
リスト格納部25は、複数の分類リストを格納する。
詳細情報取得部26は、不正通信の可能性がある通信ログに関して、詳細な情報を取得する。ここで、詳細情報取得部26は、例えば、不正通信の可能性がある通信ログにおける通信先の情報を収集する。また、詳細情報取得部26は、不正通信の可能性がある通信ログに対応するパケットデータを、通信データ保存装置30から取得する。これらの通信先の情報やパケットデータの情報は、解析者が不正通信を特定するために用いられる。
さらに、詳細情報取得部26は、解析者により不正通信が特定された場合に、特定された不正通信の情報を収集し、不正通信の深堀り調査を行う。深堀り調査では、不正通信の通信元の情報や、発生期間、発生要因などに関する情報が収集される。
抽出手段の一例としての不正通信調査部27は、解析者により特定された不正通信に基づいて、別の不正通信の有無を調査する。
<通信分析装置のハードウェア構成例>
次に、本実施の形態に係る通信分析装置20のハードウェア構成について説明する。図3は、通信分析装置20を適用するのに好適なコンピュータのハードウェア構成の一例を示した図である。図示するように、通信分析装置20は、演算手段であるCPU(Central Processing Unit)20aと、主記憶手段であるメモリ20cを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)20g、ネットワークインターフェイス20f、ディスプレイ装置を含む表示機構20d、音声機構20h、キーボードやマウス等の入力デバイス20i等を備える。
図3に示す構成例では、メモリ20cおよび表示機構20dは、システムコントローラ20bを介してCPU20aに接続されている。また、ネットワークインターフェイス20f、磁気ディスク装置20g、音声機構20hおよび入力デバイス20iは、I/Oコントローラ20eを介してシステムコントローラ20bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
また、図3において、磁気ディスク装置20gにはOSのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ20cに読み込まれてCPU20aに実行されることにより、本実施の形態に係る通信分析装置20の各機能部の機能が実現される。
なお、図3は、本実施の形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施の形態は、通信ログを分析することが可能な情報処理装置に広く適用できるものであり、図示の構成においてのみ本実施の形態が実現されるのではない。
<不正通信を検出する全体手順>
次に、通信分析装置20を用いて不正通信を検出するための全体的な処理の手順について説明する。図4は、通信分析装置20を用いて不正通信を検出するための全体的な処理の手順の一例を示したフローチャートである。
まず、解析者の入力をもとに、通信分析装置20は、通信ログの分析を行うための事前設定を行う(ステップ1)。次に、通信分析装置20は、事前設定に基づいて、通信データ保存装置30から分析対象とする通信ログを取得し、取得した通信ログの整形を行う(ステップ2)。そして、通信分析装置20は、整形後の通信ログに対して、分類リストを適用して分析処理を実行する(ステップ3)。この分析処理の実行により、分析結果が表示される。
その後、解析者は、表示された分析結果を確認し、不正通信を特定する(ステップ4)。次に、通信分析装置20は、ステップ4で不正通信と特定された通信ログに絞り、深堀り調査を実行する(ステップ5)。ここでは、不正通信に関する詳細な情報が収集され、不正通信の発生期間や発生要因などが判断される。次に、通信分析装置20は、ステップ4で特定された不正通信をキーにして、別の不正通信の有無を調査する(ステップ6)。ここで別の不正通信が見つかった場合には、通信分析装置20は、ステップ5と同様に別の不正通信についても深掘り調査を行う。そして、本処理フローは終了する。
このようにして、通信分析装置20は、通信データ保存装置30から取得した通信ログをもとに分析処理を実行し、分析結果を表示する。そして、解析者は、表示された分析結果を確認して不正通信の特定を行う。また、通信分析装置20は、解析者に特定された不正通信の深堀り調査を実行する。さらに、通信分析装置20は、解析者に特定された不正通信をキーにして、別の不正通信の有無を調査する。
以下では、図4に示す各ステップについて、より具体的に説明を行う。
<ステップ1:事前設定>
図4のステップ1に示す事前設定について詳細に説明する。この事前設定では、解析者の入力により、分析対象とする通信ログの種類やログ形式の指定、分析処理で用いられる分類リストの指定などが行われる。
具体的には、解析者の入力をもとに、通信分析装置20は、分析対象とする通信ログの種類として、例えば、プロキシログ(プロキシサーバの通信ログ)、ファイアウォールの通信ログなど、どの種類の通信ログを分析対象とするかを指定する。また、通信分析装置20は、分析対象とする通信ログのログ形式として、例えば、日時を記述する基準(西暦か和暦か等)や書式の指定、IPアドレスの表記法(記数法)の指定を行う。
さらに、分析処理で用いられる分類リストには、適用可能な通信ログの種類がそのリストごとに決まっている。そのため、分析対象とする通信ログの種類に合わせて解析者が指定することにより、通信分析装置20は、複数の分類リストの中から、分析処理で用いる分類リストを指定する。
また、事前設定としてほかに、通信分析装置20は、例えば、分析の対象とする期間、即ち、発生した日時がいつからいつまでの通信ログを分析の対象とするかを指定したり(以下、ここで分析対象として設定された期間を全分析期間と称する)、後述するホワイトリストの使用有無を指定したりする。
<ステップ2:通信ログの整形>
図4のステップ2に示す通信ログの整形について詳細に説明する。通信ログの整形処理に際し、まず、通信ログ取得部22は、全分析期間内に発生した通信ログのうち、事前設定により指定された種類の通信ログを、通信データ保存装置30から取得する。そして、通信ログ整形部23は、取得した通信ログに対して整形処理を行う。
整形処理では、事前設定で解析者が指定した規則や予め定められた規則に基づいて、通信ログの形式が整えられる。例えば、通信ログにおける発生日時、通信元IPアドレス、宛先IPアドレスなどが共通の形式に整えられる。また、例えば、通信ログに含まれる情報のうち、不正通信の検出には関係ない情報で分析処理に使用されない情報が削除される。さらに、例えば、コネクション型のプロトコルであるTCPを用いる通信に関しては、データのリクエストとそれに応答するレスポンスとを1つの通信ログにまとめる処理等が行われる。
また、ステップ1の事前設定でホワイトリストを使用する設定が行われている場合、通信ログ整形部23は、通信ログに対してホワイトリストを適用する。このホワイトリストは、解析者等により予め作成されたものであり、問題のない通信が登録されたリストである。例えば、問題のない外部のIPアドレスやホスト名(ドメイン名)などの情報がホワイトリストに登録されている。ホワイトリストを適用することで、ホワイトリストの情報に合致する情報を有する通信ログは、分析対象から除外される。付言すると、ホワイトリストは、分析対象の通信から問題のない通信を除外して、問題のある通信を残すためのリストである。即ち、ホワイトリストは、登録されている情報と同じ情報を含む通信ログを除外して問題のある通信ログを検出する、という分類条件が設定された分類リスト、と捉えることができる。
<ステップ3:分析処理>
図4のステップ3に示す分析処理について詳細に説明する。この分析処理では、ステップ2で整形された通信ログに対して分類リストが適用され、不正通信を検出するための情報が出力される。分析処理で適用される分類リストは、予め作成された複数の分類リストのうち、ステップ1の事前設定で指定されたものである。ここで、分類リストとしては、例えば、問題のある通信に関する情報が登録されており、登録されている情報と同じ情報を含む通信ログを抽出するという分類条件が定められたリスト(以下、ブラックリストと称する)が存在する。また、分類リストとしては、例えば、解析者がこれまでに不正通信として特定された通信の特徴を考慮し、不正通信の判定のために有用なものとして指定された項目(フィールド)を含む通信ログを抽出するという分類条件が定められたリスト(以下、フィールド抽出リストと称する)も存在する。
ブラックリストに登録された問題のある通信に関する情報とは、例えば、ユーザに関する情報を収集して外部に送信するソフトウェアであるスパイウェアの情報、広告を目的とするソフトウェアであるアドウェアの情報等である。また、例えば、公開プロキシに関する情報の一覧などもブラックリストとして用いられる。公開プロキシとは、一般に公開され誰でも自由に使える中継サーバ(プロキシサーバ)である。さらに、ブラックリストとして、解析者が独自に収集した問題のある通信の情報や、これまでの分析により問題があると判断された通信の情報などが登録されたリストを用いても良い。
また、フィールド抽出リストには、例えば、「HTTP(Hypertext Transfer Protocol)通信でPOSTメソッドを用いた通信ログについて、通信先ホストを出現回数順にソートする」という分類条件が定められている。別のフィールド抽出リストには、例えば、「HTTP通信でGETメソッドまたはPOSTメソッドを用いた通信ログについて、通信元ホスト及び通信先ホストを出現回数順にソートする」という分類条件が定められている。
また、分類リストには、その内容に応じて、不正通信を検出するための重要度が設定されている。重要度は、例えば、「高」、「中」、「低」の3段階で設定される。ブラックリストの場合、例えば、解析者が独自に収集した問題のある通信の情報は、不正と判断できる信頼度が高いため、そのブラックリストは重要度「高」と設定される。また、例えば、攻撃以外の用途でも使われるような正規の通信が含まれてしまう可能性のある分類リストや影響が小さい分類リストは、重要度を「中」、「低」と低く設定しても良い。
また、フィールド抽出リストの場合、例えば、不正通信の可能性が高い通信について、そのような分類条件を定めたフィールド抽出リストは重要度「高」と設定される。一方、例えば、不正通信の可能性が低い通信について、そのような分類条件を定めたフィールド抽出リストは重要度「低」と設定される。
さらに、HTTP通信のPOSTメソッドやGETメソッドは、例えばWebサーバへ送るリクエストとして一般に用いられるものであるが、マルウェアに感染した場合に不正な処理として用いられる場合も多い。このようなことに基づいて、フィールド抽出リストの重要度が設定される。
そして、分類リスト適用部24は、整形後の通信ログに対して分類リストを適用し、分類リストごとに適用結果を出力する。ここで、各分類リストには、その分類リストを適用可能な通信ログの種類、及び分類リストを適用する上で必要な通信ログのフィールドが設定されている。そのため、分類リストの適用に際し、分類リスト適用部24は、整形後の通信ログから、その分類リストを適用可能な種類の通信ログを抽出する。さらに、分類リスト適用部24は、抽出した各通信ログから、その分類リストを適用する上で必要なフィールドの情報を収集し、収集した情報が分類条件に合致するか否かを判断して、適用結果を出力する。
例えば、分類リストとしてブラックリストを適用する場合、分類リスト適用部24は、整形後の通信ログから、そのブラックリストを適用可能な種類の通信ログを抽出する。さらに、分類リスト適用部24は、抽出した各通信ログから、そのブラックリストを適用する上で必要なフィールドの情報を収集する。そして、分類リスト適用部24は、収集した各通信ログのフィールドの情報がブラックリストの情報に合致するか否かを、通信ログごとに順番に判断していく。その結果、分類リスト適用部24は、ブラックリストごとに、ブラックリストの情報と同じ情報を含む通信ログを抽出し、出現回数(分析対象の期間内に記録されている通信ログの数)が多い順番に上から並べて出力する。
また、例えば、分類リストとしてフィールド抽出リストを適用する場合、分類リスト適用部24は、まず、整形後の通信ログを、HTTP、SSL、FTP(File Transfer Protocol)、DNS(Domain Name System)などの通信で用いられたプロトコル別に分けて、ベースファイルを作成する。このベースファイルでは、通信ログのフィールドのうち、分析に用いられる可能性のあるフィールドがプロトコルごとに設定されている。即ち、分類リスト適用部24は、整形後の通信ログをプロトコル別に区分けし、分析に用いられる可能性のあるフィールドをプロトコルに応じて各通信ログから抽出して、プロトコル別のベースファイルを作成する。
さらに、分類リスト適用部24は、必要に応じてさらにベースファイルを分割し、中間ファイルを作成する。例えば、HTTP通信では、GETメソッドやPOSTメソッドなどのメソッドが用いられるが、このメソッドが分類条件の要素として用いられる場合がある。そのため、分析を効率良く行うために、HTTPのベースファイルをさらにメソッド別に分割した中間ファイルも作成される。
そして、分類リスト適用部24は、整形後の通信ログ(ここでは、ベースファイルや中間ファイル)から、そのフィールド抽出リストを適用可能な種類の通信ログを抽出する。さらに、分類リスト適用部24は、抽出した各通信ログから、そのフィールド抽出リストを適用する上で必要なフィールドの情報を収集する。そして、分類リスト適用部24は、収集した各通信ログのフィールドの情報がフィールド抽出リストの分類条件に合致するか否かを、通信ログごとに順番に判断していく。その結果、分類リスト適用部24は、フィールド抽出リストごとに、分類条件を満たす通信ログを抽出して、出現回数が多い順番に上から並べて出力する。
図5(a)、(b)は、分析対象とする通信ログに分類リストを適用した結果の出力例を示す図である。ここでは、重要度「中」であるブラックリストを適用した出力結果を示している。図5(a)に示す例では、ブラックリストを適用する上で必要なフィールドとして、「ホスト名(通信先のホスト名)」が設定されている。その結果、図示するように、通信ログの「出現回数」、「ホスト名」が対応付けられて出力され、出現回数の多い通信ログから順番に表示される。
例えば、番号1には、通信先のホスト名が「aaa.abcd0.jp」である通信ログが示されている。ここで、図5(a)に示す例のブラックリストには、問題のある通信の情報として、例えば、通信先のホスト名に「abcd0.jp」が含まれるもの、という情報が登録されており、番号1の通信ログが抽出される。また、この通信ログの出現回数は「13482」であり、分析対象とする通信ログにおいて、該当する通信ログが13482個存在していることになる。さらに、図5(a)に示す例では、ブラックリストの情報に合致する箇所(番号1の通信ログでは、「abcd0.jp」)を解析者が認識し易いように、合致する箇所に下線を引いて表示されている。ただし、下線を引いて表示する構成に限られず、例えば、他の箇所とは違う色(例えば、他の箇所が黒色の場合に赤色)で表示したり、文字を大きくして表示したりしても良い。
また、図5(b)も、重要度「中」である別のブラックリストを適用した出力結果を示しており、ここでは、ブラックリストを適用する上で必要なフィールドとして、「URL(Uniform Resource Locator)」が設定されている。その結果、図示するように、通信ログの「出現回数」、「URL」が対応付けられて出力され、出現回数の多い通信ログから順番に表示される。例えば、番号1には、通信先のURLが「http://ccc.abcd1.net/00/11」である通信ログが示されている。ここで、図5(b)に示す例のブラックリストには、問題のある通信の情報として、例えば、通信先のURLに「abcd1.net」が含まれるもの、という情報が登録されており、番号1の通信ログが抽出される。また、この通信ログの出現回数は「2733」であり、分析対象とする通信ログにおいて、該当する通信ログが2733個存在していることになる。
図6(a)、(b)も、分析対象とする通信ログに分類リストを適用した結果の出力例を示す図である。図6(a)は、「HTTP通信でGETメソッドを用いた通信ログについて、ホスト名(通信先のホスト名)を出現回数順にソートする」という分類条件を定めたフィールド抽出リストを適用した出力結果を示す。図示するように、通信ログの「出現回数」、「ホスト名」が対応付けられて出力され、出現回数の多い通信ログから順番に表示される。
例えば、番号1には、通信先ホストのホスト名が「aaa.office.sample1.com」である通信ログが示されている。また、メソッドは表示されていないが、GETメソッドが用いられている。この通信ログの出現回数は「2909737」であり、分析対象とする通信ログにおいて、該当する通信ログが2909737個存在していることになる。
また、図6(b)は、「HTTP通信でGETメソッドを用いた通信ログについて、通信元IPアドレス及び通信先ホストを出現回数順にソートする」という分類条件を定めたフィールド抽出リストを適用した出力結果を示す。図示するように、通信ログの「出現回数」、「通信元IPアドレス」、「メソッド」、「通信先ホスト(ホスト名)」が対応付けられて出力されており、出現回数の多い通信ログから順番に表示される。
<ステップ4:不正通信の特定>
図4のステップ4に示す不正通信を特定する処理について説明する。不正通信を特定する処理では、解析者が、ステップ3の出力内容を確認し、不正と判断される通信を特定する。ここで、ステップ3では、上述したように、分析対象の通信ログに適用された分類リストの分析結果が出力されるが、分析結果に示されている通信ログを解析者が選択すると、選択した通信ログに関して、複数の異なる分類リストの適用結果の相関を示す情報が出力される。付言すると、解析者が選択した通信ログについて、その通信ログの通信先と同じ通信先を有する通信ログが、各分類リストでどのように発生しているかを示す情報が出力される。解析者は、これらの出力内容を確認して不正通信を特定する。
また、詳細情報取得部26は、解析者が不正通信を特定するために、不正通信の可能性がある通信ログにおける通信先の情報を収集する。ここで、表示部21は、通信先の情報を収集することを受け付ける入力インターフェイスとなっている。解析者が、表示部21に表示された通信ログの1つを選択することにより、選択された通信ログにおける通信先の情報が収集される。具体的には、解析者が通信ログの1つを選択すると、詳細情報取得部26は、例えば、その通信ログにおける通信先に実際に接続を行い、現在も通信可能であるか、通信先のサイトが現時点も実在しているか等の情報を収集する。
さらに、詳細情報取得部26は、必要に応じて通信ログに対応するパケットデータを通信データ保存装置30から取得する。ここでも、表示部21は、通信ログに対応するパケットデータを取得することを受け付ける入力インターフェイスとなっている。具体的には、解析者が、ある通信ログでパケットデータを取得する選択を行うと、詳細情報取得部26は、通信データ保存装置30からパケットデータを取得する。これにより、解析者は、パケットデータの中身を確認し、パケットデータに含まれるファイルや画像に不正なものがあるか否か等を判断することができる。
このようにして、解析者は、複数の分類リストの分析結果から判断される状況と、通信ログにおける通信先やパケットデータの情報とをもとにして、分析対象の通信が不正通信であるか否かの最終判断を行う。ここでは、不正通信か否か現時点では判断できない場合や正常な通信(不正ではない通信)と判断される場合もある。そのため、ステップ4の処理では、分析対象の通信が、不正通信と判断されるもの、不正通信か否か現時点では判断できないもの、正常な通信と判断されるものの3つのいずれかに区分される。
そして、不正通信と判断されるものについては、次のステップ5及びステップ6の処理が行われる。また、不正通信と判断された場合に、その通信の情報をステップ3の分析処理で用いられるブラックリストに追加しても良い。
また、不正通信か否か現時点では判断できないものについては、継続して監視する対象とされ、要経過観察リストに追加される。そして、今回の全分析期間とは異なる期間の通信ログを対象に分析が行われた場合に、要経過観察リストに記録された通信ログと同じ通信先への通信が発生しているか否か等が確認される。このように継続して監視されることにより、最終的に不正通信と判断されるか、または正常な通信と判断されることとなる。
さらに、正常な通信と判断されるものについては、その通信の情報をステップ2の整形で用いられるホワイトリストに追加しても良い。
ステップ4の不正通信を特定する処理について、具体例を示して説明する。
まず、図5(a)に示すブラックリストの適用結果では、番号280の通信ログとして、ホスト名「malware.abcd4.jp」の通信ログが抽出されている。また、図5(b)に示すブラックリストの適用結果では、番号350の通信ログとして、URL「http://malware.abcd4.jp/」の通信ログが抽出されている。これらは共通の通信先を示しており、共に57件の出現回数で、図5(a)では280行目、図5(b)では350行目に存在が確認される。ただし、他の上位にある通信ログと比較すると、それほど出現回数が多い通信先とはいえない。またこれらのブラックリストの重要度は「中」であるため、抽出された段階で不正通信の通信ログと断定されるものではない。そのため、図5(a)、(b)に示すブラックリストの適用結果では、解析者は、この通信先(ホスト名:malware.abcd4.jp)が不正通信に関するものであるかの判断がまだ行えない。
一方、他の分類リストにおいても、「malware.abcd4.jp」に該当する通信ログが抽出されている。例えば、図6(a)に示すフィールド抽出リストでは、番号1532にて該当する通信ログが抽出されている。また、図6(b)に示すフィールド抽出リストでは、番号9866にて該当する通信ログが抽出されている。ここで、解析者が、ブラックリストの適用結果として示された「malware.abcd4.jp」の通信ログを選択すると、分類リストの適用結果の相関を示す情報として、分類リスト適用部24は、「malware.abcd4.jp」に該当する通信ログについて、同じ通信先を有する通信ログの各分類リストでの発生状況を出力する。
図7は、該当する通信ログの各分類リストでの発生状況の出力例を示す図である。図示するように、「malware.abcd4.jp」に該当する通信ログについては、番号1〜6の6つの分類リストが該当した。ここで、番号1、2の分類リストは、図5(a)、図5(b)に示すブラックリストである。また、番号3〜6の分類リストはフィールド抽出リストであり、4つのGET系列のフィールド抽出リストが該当した。ここで、番号3の「リスト3」、番号4の「リスト4」はそれぞれ、図6(a)、図6(b)に示すフィールド抽出リストである。また、番号5の「リスト5」は、「HTTP通信でGETメソッドを用いた通信ログについて、通信元IPアドレス、通信先ホスト及びURLを出現回数順にソートする」という分類条件が定められたフィールド抽出リストである。さらに、番号6の「リスト6」は、「HTTP通信でGETメソッドを用いた通信ログについて、URLを出現回数順にソートする」という分類条件が定められたフィールド抽出リストである。
この出力結果から、「malware.abcd4.jp」について、例えば、HTTPのGET通信のみ発生していること、通信元IPアドレスが「172.29.36.209」で1つであるため誰もが閲覧するようなサイトではないことが判断される。また、例えば、URLのパターンが1種類であるためWebブラウジングされている可能性が低いことが判断される。
即ち、図5に示すブラックリストの分析結果だけでは、その通信は個人がサイトを閲覧している通信である可能性もあり、不正通信に関するものであるかの判断が行えない。しかし、他の分類リストの出力結果から、個人によるサイト閲覧の通信である可能性は低く、不正通信である可能性が高いと判断される。
さらに、詳細情報取得部26が、通信先のURL「http://malware.abcd4.jp」に実際にアクセスした場合の状況も考慮し、解析者は、最終的に不正通信と判断することができた。付言すると、「malware.abcd4.jp」にアクセスするクライアント端末10は、マルウェアに感染している可能性が高いと判断されたこととなる。
このように、解析者は、ある分類リストにて抽出された通信ログについて、他の分類リストでの分析結果も合わせて確認することにより、ある分類リストからは判断できない情報を入手することができる。さらに、解析者は、必要に応じて通信先等の情報も考慮して、対象とする通信が不正通信であるか否かの最終判断を行う。
また、図7に示す例では、ブラックリストの適用結果として示された通信ログについて、各分類リストの適用結果の相関を示す情報を出力したが、解析者が、フィールド抽出リストの適用結果として示された通信ログを選択すると、その通信ログについて、各分類リストの適用結果の相関を示す情報が出力される。また、相関を示す情報として、該当する全ての分類リストでの発生状況を示したが、分類リストの一部、例えば、ブラックリストでの発生状況(図7の例では、番号1、2)のみ示したり、フィールド抽出リストでの発生状況(図7の例では、番号3〜6)のみ示したりしても良い。
さらに、分類リスト適用部24は、解析者の入力によらず、分類リストにて抽出された通信ログのうち一定の条件を満たす通信ログについて、分類リストの適用結果の相関を示す情報を出力することとしても良い。例えば、分類リスト適用部24は、いずれかの分類リストの適用結果に含まれる通信ログのうち、出現回数が予め定められた数以下の通信ログについて、不正通信に関するものであるかの判断が行えないとして、各分類リストでの発生状況を出力しても良い。また、例えば、分類リスト適用部24は、一定の重要度以下の分類リスト(例えば、重要度「中」以下の分類リストの場合は、重要度「中」、「低」の分類リスト)の適用結果に含まれる通信ログは、不正通信に関するものであるかの判断が行えないとして、各分類リストでの発生状況を出力しても良い。
ステップ3の分析処理及びステップ4の不正通信を特定する処理について、フローチャートを示して説明する。図8は、分析処理及び不正通信を特定する処理の手順の一例を示したフローチャートである。
まず、ステップ2で通信ログの整形が行われると、分類リスト適用部24は、分析処理で用いると指定された分類リストをリスト格納部25から取得する(ステップ101)。そして、分類リスト適用部24は、整形後の通信ログに対して分類リストを適用する(ステップ102)。ここで、分類リスト適用部24は、取得した分類リストごとに、整形後の通信ログから適用可能な種類の通信ログを抽出し、分類リスト適用に必要なフィールドの情報を収集して、分類リストの分類条件に合致するか否かを判断する。そして、分類リスト適用部24は、分類リストごとに分析結果を出力して表示部21に表示する。
次に、例えば解析者が分類リストによる分析結果を確認し、不正通信に関するものであるかまだ判断できないような通信ログを選択すると、分類リスト適用部24は、選択された通信ログの各分類リストでの発生状況を表示部21に表示する(ステップ103)。ここで、分類リスト適用部24は、分類リストの分析結果の中から、解析者に選択された通信ログの通信先と同じものを通信先とする通信ログを抽出し、抽出した通信ログの発生状況を表示部21に表示する。
さらに、解析者が、通信ログにおける通信先の情報を収集する入力やパケットデータを取得する入力を行うと、詳細情報取得部26は、通信先に関する情報を取得し、またパケットデータを通信データ保存装置30から取得する(ステップ104)。取得した情報は表示部21に表示される。そして、本処理フローは終了する。
このように、分類リスト適用部24、詳細情報取得部26による出力内容をもとに、解析者は、分析対象の通信が不正通信であるか否かの最終判断を行う。
<ステップ5:不正通信の深堀り調査>
図4のステップ5に示す不正通信の深掘り調査について説明する。不正通信の深掘り調査では、ステップ4で不正通信と判断された通信ログに絞って詳細な情報が収集される。ステップ4で不正通信と判断されたものが複数あれば、それぞれの不正通信に対してステップ5の処理が行われる。
まず、詳細情報取得部26は、分析対象の通信ログの中から、ステップ4で不正通信と判断された通信の通信ログを抽出する。そして、詳細情報取得部26は、抽出した各通信ログの発生日時を取得し、この不正通信の発生期間を特定する。発生期間は、全分析期間内で、最初に不正通信が発生した時点から最後に不正通信が発生した時点までの期間である。
また、詳細情報取得部26は、不正通信の通信元を特定する。具体的には、詳細情報取得部26は、不正通信の通信ログにおいて、通信元のIPアドレスやホストの情報、即ち、通信元であるクライアント端末10の情報を収集する。通信元のクライアント端末10としては、1つの場合もあれば複数の場合もある。
さらに、詳細情報取得部26は、不正通信の発生要因を特定するための情報を収集する。ここで、不正通信は、例えば、クライアント端末10がマルウェアをダウンロードさせる不正なWebページにアクセスするなど、何らかの通信が要因となって発生すると考えられる。即ち、不正通信が最初に発生した時刻の直前の時間に、不正通信の発生要因となる何らかの通信が行われていると考えられる。そこで、詳細情報取得部26は、不正通信の通信元であるクライアント端末10から行われた通信の通信ログのうち、不正通信が最初に発生した時点より遡って予め定められた時間内に検知された通信の通信ログを収集する。
ステップ5の不正通信の深堀り調査について、フローチャートを示して説明する。図9は、不正通信の深堀り調査を行う処理の手順の一例を示したフローチャートである。
まず、ステップ4において、解析者が不正通信と判断される通信の通信ログを指定する入力を行うと、詳細情報取得部26は、分析対象の通信ログの中から、不正通信と判断された通信の通信ログを抽出する(ステップ201)。そして、詳細情報取得部26は、抽出した通信ログの発生日時を取得し、不正通信の発生期間を特定する(ステップ202)。次に、詳細情報取得部26は、不正通信の通信元であるクライアント端末10の情報を収集する(ステップ203)。発生期間や通信元であるクライアント端末10の情報は、表示部21に表示される。
さらに、詳細情報取得部26は、不正通信の通信元であるクライアント端末10から行われた通信の通信ログのうち、不正通信が最初に発生した時刻の直前の予め定められた時間内に検知された通信ログを収集する(ステップ204)。収集された通信ログの情報は、表示部21に表示される。そして、本処理フローは終了する。
次に、通信ログをもとに不正通信の発生要因を特定する処理について、具体例を示して説明する。図10は、不正通信の発生要因を特定するために表示される通信ログの一例を示す図である。ここで、番号13の通信ログがホスト「mal.example.com」への不正通信であり、ホスト「mal.example.com」に対して最初に通信が行われた際の通信ログである。そして、番号13の通信ログが検知された時刻付近の通信ログが表示されている。実際には、不正通信が最初に発生した時刻の前後の特定の時間の通信ログが表示されるが、図10ではそのうちの一部の通信ログを示している。また、不正通信の発生要因を特定するためには、不正通信が最初に発生した時刻の前に検知された通信ログがあれば足りるが、それ以降の通信ログもあれば、不正通信の発生状況がより詳細に把握される。
図10に示す例では、番号13の通信ログより前に発生した通信ログを確認すると、番号6の通信ログのホスト宛への通信は1回しか発生していない。ここで、通信分析装置20は、番号6の通信先のURL「http://malware2.downloadsite.com/it/xxxxxxx.jpg」に実際に接続したところ、マルウェアのダウンロード通信であることが判明した。さらに、例えば、番号6の通信ログの前に発生している番号1〜5などの複数の通信ログの通信先に、通信分析装置20が実際に接続した結果などをもとに、解析者により、不正通信の発生要因や影響被害などが判断される。
<ステップ6:別の不正通信の調査>
図4のステップ6に示す別の不正通信の調査について説明する。別の不正通信の調査では、ステップ4で不正通信と判断されたもの(以下、元の不正通信と称する)をキーにして、別の不正通信の有無が調査される。
不正通信の発生には、上述したように、その要因となる何らかの通信が存在すると考えられるが、クライアント端末10がそのような通信を行った場合、1つの不正通信だけでなく別の不正通信も発生する場合がある。例えば、クライアント端末10が不正なWebページにアクセスしために攻撃者サーバ40に誘導された場合、攻撃者サーバ40に加えて、攻撃者の別サーバにも誘導されることがあり得る。この場合には、攻撃者サーバ40へアクセスする不正通信のほかに、攻撃者の別サーバへアクセスする不正通信も発生することになる。そこで、不正通信調査部27は、元の不正通信と通信元が同じで、元の不正通信と発生時期が近い別の不正通信がないかどうかを調査する。
具体的には、不正通信調査部27は、元の不正通信の通信元であるクライアント端末10が通信元となっている通信ログに絞って、ステップ3の分析処理を実行する。また、別の不正通信は、元の不正通信と感染源が共通しているため、発生頻度や発生タイミングなどの発生状況も元の不正通信に類似していると考えられる。そのため、別の不正通信を特定するための期間(以下、特定期間と称する場合がある)、即ち、通信ログの分析対象とする期間は、元の不正通信の発生状況に基づいて設定される。そして、この分析処理の結果に対してステップ4の処理が行われ、別の不正通信が特定される。
付言すると、特定期間は、元の不正通信の通信元であるクライアント端末10にて元の不正通信が最初に発生した時点から最後に発生した時点までの発生期間をもとに特定される。特定期間は、元の不正通信の発生状況に基づいて、例えば、1週間単位や1日単位、曜日単位で設定される。なお、特定期間は、不正通信調査部27が予め定められた規則に従って設定するか、または解析者の入力により設定される。
ここで、元の不正通信を特定するために行われたステップ3の分析処理では、全分析期間の全通信ログが対象とされる。一方、別の不正通信を特定するために行われる分析処理では、元の不正通信の通信元であるクライアント端末10が通信元となっている通信ログに絞り、さらに分析対象の期間(即ち、特定期間)も元の不正通信の発生状況に合わせて設定される。そのため、ステップ6の分析処理による分析結果は、元の不正通信を特定するために行われたステップ3の分析処理による分析結果とは異なるものとなる。
例えば、元の不正通信を特定するために行われた分析処理の結果では、別の不正通信の通信ログがどのブラックリスト及び分類リストにも上位に表示されず、解析者が見つけられない場合がある。このような場合に、通信ログを絞って分析処理を行うことで、別の不正通信の通信ログがブラックリストや分類リストの上位に表示される場合がある。結果として、元の不正通信を特定するために行われた分析処理では注目されなかった別の不正通信の通信ログが注目されることとなり、検出される可能性が高まる。
別の不正通信を特定する処理について、具体例を示して説明する。ここで、ステップ4において、例えば、通信先のURLが「http://www.malsample1.net/abcdefg/post.php」の通信が元の不正通信として特定されたものとする。この元の不正通信について、通信元のクライアント端末10のIPアドレスは「192.168.100.100」であった。また、元の不正通信の発生状況を確認すると、2015年1月10日12時10分〜2015年1月31日19時30分までの間に発生していた。
これらの情報より、別の不正通信の調査として、不正通信調査部27は、「192.168.100.100」のクライアント端末10が通信元となっている通信ログで、発生期間が2015年1月10日12時10分〜2015年1月31日19時30分の通信ログを抽出する。そして、分類リスト適用部24は、抽出された通信ログに対して分類リストを適用する。なお、ここでの分析処理では分類リストの一部、例えばフィールド抽出リストのみ適用することとしても良い。
図11(a)、(b)は、元の不正通信をもとに通信ログを絞って分類リストを適用した出力結果の一例について説明するための図である。ここで、図11(a)、(b)は、共に「HTTP通信でPOSTメソッドを用いた通信ログについて、通信元IPアドレス及びURLを出現回数順にソートする」という分類条件を定めたフィールド抽出リストを適用した出力結果を示すが、適用対象の通信ログが異なる。図11(a)は、全分析期間の全通信ログを対象とした出力例であり、図11(b)は、元の不正通信をもとに絞った通信ログを対象とした出力例である。
図11(a)に示す例では、出現回数が多い順番に番号1〜6の通信ログが表示されており、これらは不正ではない通信の通信ログである。一方、図11(b)に示す例では、番号1〜5は不正ではない通信の通信ログであるが、番号6の通信ログは不正通信に関するものである。即ち、元の不正通信をもとに通信ログを絞ることにより、元の不正通信と感染源が共通する別の不正通信に関する通信ログが、上位に表示されたこととなる。この番号6の通信ログについては、解析者が、他の分類リストの適用結果を確認したりすることにより、不正通信か否かの判断を行う。また、通信先の情報の収集やパケットデータの取得が行われ、最終的に不正通信か否かの判断が行われる。
ここで、元の不正通信のURL「http://www.malsample1.net/abcdefg/post.php」と、別の不正通信のURL「http://www.malexample2.net/abcdefg/post.php」とは、ホスト「www.malsample1.net」より下位の「/abcdefg/post.php」の部分、即ち、ファイルパスを示すURI部分が共通している。ファイルパスとは、サーバなどの通信先の内部でのリソース(ファイル)の所在地を示すものであり、HTTP通信では、サーバの公開領域内でのディレクトリ名及びファイル名を表す。ここで、攻撃者は、例えば、同じような仕組みを用いて複数の不正サイトを用意することがある。即ち、例えば、複数のマルウェアに感染した場合、URLが異なる複数の不正通信が発生するが、ファイルパスなど、一部のURI部分が共通して複数の不正通信が発生する場合がある。言い換えると、マルウェアの作成傾向として、マルウェアにより発生する複数の不正通信で一部のURI部分が共通する場合がある。そこで、番号6の通信ログについて、通信先のURI部分が元の不正通信の通信先のURI部分と同じであるために、不正通信の可能性が高いと判断しても良い。
さらに、不正通信調査部27は、通信先のURLが「/abcdefg/post.php」を含む通信ログが、番号6の通信ログ以外に存在するか否かを調査しても良い。そして、例えば、「http://www.xxx.yyy.zzz/abcdefg/post.php」、「http://www.xyz.xyz.co/abcdefg/post.php」、「http://aaa.bbb.ccc/abcdefg/post.php」、「http://eee.fff.ggg/abcdefg/post.php」などのURLを通信先とする通信ログが見つかれば、不正通信の可能性があると判断しても良い。
また、攻撃者がマルウェアを作成するにあたり、例えば、上述したようにファイルパスの記述を全く同じにするのではなく、ファイルパスの記述を一部変えてURLを構成する場合もある。そこで、元の不正通信の通信先であるURLのURI部分と同じものを含む場合にその通信が不正通信の可能性が高いと判断するものに限られるわけではなく、元の不正通信とURI部分が類似していれば不正通信の可能性が高いと判断しても良い。
さらに、元の不正通信において着目する箇所についても、URLの一部であるファイルパスを示すURI部分に限られるものではなく、例えば、元の不正通信の通信先であるURLの全部や、ホスト名単体、HTTPリクエストメソッド等のヘッダ情報などに着目しても良い。例えばホスト名に着目する場合には、元の不正通信の通信先であるURLのホスト名と同じものが含まれる通信ログについて、不正通信の可能性が高いと判断される。
このように、元の不正通信の通信ログに含まれる情報に着目する場合には、解析者は、マルウェアが作成される傾向を考慮し、通信ログに含まれる情報の中で、不正通信としての特徴が示されているような、マルウェアの作成傾向に沿う部分、言い換えると、攻撃者が作成したマルウェアに応じて決まる場合のある情報に着目する。そして、不正通信の通信ログの特徴部分(マルウェアの作成傾向に沿う部分)と同じ情報が含まれる通信ログについて、不正通信の可能性が高いと判断される。
さらに、解析者は、元の不正通信の発生状況に着目しても良い。発生状況とは、例えば、通信が発生する周期や時間帯、通信間隔などの通信の発生傾向を示す。
そして、例えば、通信先のURI部分が元の不正通信の通信先のURI部分と同じである上述の5つの通信((1)「http://www.malexample2.net/abcdefg/post.php」、(2)「http://www.xxx.yyy.zzz/abcdefg/post.php」、(3)「http://www.xyz.xyz.co/abcdefg/post.php」、(4)「http://aaa.bbb.ccc/abcdefg/post.php」、(5)「http://eee.fff.ggg/abcdefg/post.php」)に対して、着目する箇所を中心に確認が行われる。
例えば、(1)〜(4)の通信については、元の不正通信の通信ログと比較すると、通信ログの幾つかの着目点が共通しており、通信が発生する傾向としてはほとんど同じであった。しかし、(5)の通信については、元の不正通信の通信ログと着目点が共通している部分はあるものの、(1)〜(4)の通信とは発生状況が異なっていた。つまり、(1)〜(4)の通信と(5)の通信とでは発生状況が異なるという通信事実が判明した。
以上より、(1)〜(5)の全ての通信において、着目点および通信の発生状況が完全に一致した状態にはならなかったが、マルウェアの作成傾向に沿う情報としては元の不正通信と合致する点が多くあり、通信先となるホストに関する情報についても不審な部分が多いため、この場合全て不正通信であると判断が行われた。また元の不正通信以外にも不正通信が存在したという事実に加え、全体の不正通信の状況を把握できるため、特定期間内における全体の状況把握と影響確認を行うことができたといえる。
図12は、別の不正通信の調査手順の一例について説明するための図である。図12に示す例では、ステップ4で元の不正通信として不正通信Aが特定され、ステップ6で別の不正通信として不正通信B及び不正通信Cが特定されるものとして説明する。また、不正通信Aはクライアント端末10aから発生し、不正通信Bはクライアント端末10a及びクライアント端末10bから発生し、不正通信Cはクライアント端末10bから発生したこととする。
まず、ステップ4で不正通信Aが特定されると、不正通信調査部27は、不正通信Aの発生状況に基づいて特定期間1を設定する。次に、不正通信調査部27は、特定期間1に検知された通信ログのうち、不正通信Aの通信元であるクライアント端末10aが通信元となっている通信ログに絞って、ステップ3の分析処理を実行する。この分析結果をもとに、解析者がステップ4の処理を行い、別の不正通信として不正通信Bを特定する。続けて、不正通信Bに対してステップ5の処理が行われ、発生期間、発生要因などの特定が行われる。
ここで特定される不正通信Bは、クライアント端末10aを通信元として特定期間1に発生したものであるが、不正通信Bとしては、他のクライアント端末10を通信元として発生している可能性もある。そのため、通信分析装置20は、全分析期間の全通信ログの中で、不正通信Bの通信ログを抽出する。これにより、不正通信Bの通信元として、クライアント端末10aに加えてクライアント端末10bが特定される。
次に、不正通信調査部27は、別の不正通信として特定された不正通信Bをもとに、さらに別の不正通信の有無を調査する。
具体的には、不正通信調査部27は、クライアント端末10aを通信元とする不正通信Bの発生状況に基づいて、特定期間2を設定する。そして、不正通信調査部27は、特定期間2に検知された通信ログのうち、不正通信Bの通信元であるクライアント端末10aが通信元となっている通信ログに絞って、ステップ3の分析処理を実行する。
同様に、不正通信調査部27は、クライアント端末10bを通信元とする不正通信Bの発生状況に基づいて、特定期間3を設定する。そして、不正通信調査部27は、特定期間3に検知された通信ログのうち、不正通信Bの通信元であるクライアント端末10bが通信元となっている通信ログに絞って、ステップ3の分析処理を実行する。
これらの分析結果をもとに、解析者がステップ4の処理を行う。その結果、特定期間2では別の不正通信は特定されなかったが、特定期間3では新たに別の不正通信として不正通信Cが特定される。続けて、不正通信Cに対してステップ5の処理が行われ、発生期間、発生要因などの特定が行われる。
また、通信分析装置20は、この不正通信Cについても、通信元を特定するとともに特定期間を定めて、さらに別の不正通信の有無を調査しても良い。
このようにして、不正通信調査部27は、ステップ4で特定された元の不正通信をキーにして、別の不正通信の有無を調査する。また、別の不正通信が特定されると、不正通信調査部27は、特定された別の不正通信をキーにして、さらに別の不正通信の有無を調査しても良い。即ち、不正通信調査部27は、別の不正通信をキーにしてさらに別の不正通信の有無を調査する処理を、繰り返し実行することとしても良い。
また、図11に示す例では、元の不正通信をもとに通信ログを絞って分析する例について説明したが、全分析期間の全通信ログを対象とし、不正通信の通信ログの特徴部分(即ち、マルウェアの作成傾向に沿う部分)と同じ情報が含まれる通信ログを探索して、別の不正通信の有無を調査することとしても良い。この場合、ステップ4で元の不正通信が特定されると、不正通信調査部27は、全分析期間の全通信ログのうち、例えば通信先のURLに、元の不正通信の通信先であるURLのURI部分と同じものが含まれる通信ログを抽出する。そして、不正通信調査部27は、抽出した通信ログの情報を示してそれを出現回数の多い順番にして表示したり、分類リストの適用結果等を表示したりして、不正通信か否かの判断が行われる。
この調査方法は、特定の期間に絞り込みを行い、分析に必要な通信ログ量を減らして迅速な判断を行う方法に比べると時間を要するが、この調査結果は全通信ログを対象にして抜け漏れをなくす目的で判断を行う場合などに活用する。また、期間を絞らないことで、不正通信が影響する範囲の全貌が明らかになることもある。
ステップ6の別の不正通信の調査について、フローチャートを示して説明する。図13は、別の不正通信の調査を行う処理の手順の一例を示したフローチャートである。
まず、ステップ5において、不正通信の深堀り調査が行われた後、例えば解析者が元の不正通信をキーにして別の不正通信を調査する入力を行うと、不正通信調査部27は、元の不正通信の発生状況に基づいて特定期間を設定する(ステップ301)。ここで、元の不正通信の発生状況については、図9のステップ202で特定された発生期間の情報が用いられる。また、不正通信調査部27は、元の不正通信の通信元であるクライアント端末10の情報を取得する(ステップ302)。ここで、元の不正通信のクライアント端末10の情報は、図9のステップ203で収集された情報が用いられる。
次に、不正通信調査部27は、特定期間に検知された通信ログのうち、元の不正通信の通信元であるクライアント端末10が通信元となっている通信ログを抽出する(ステップ303)。そして、分類リスト適用部24は、抽出された通信ログに対して分類リストを適用する(ステップ304)。ここでは、例えば、元の不正通信を特定するための分析処理で用いられた分類リストと同じものが適用される。そして、分類リスト適用部24は、分類リストごとに分析結果を出力して表示部21に表示する。
次に、解析者は、ステップ4の処理を行い、別の不正通信を特定する。そして、解析者が別の不正通信の通信ログを指定する入力を行うと、詳細情報取得部26は、別の不正通信に関してステップ5の深堀り調査を実行する(ステップ305)。そして、本処理フローは終了する。この後、不正通信調査部27は、ステップ305で取得された別の不正通信に関する情報をもとにしてステップ301の処理を開始して、さらに別の不正通信があるか否かを調査しても良い。
また、元の不正通信の通信元であるクライアント端末10が複数ある場合には、ステップ301〜ステップ305の処理は、通信元であるクライアント端末10ごとに行われる。
なお、本発明の実施の形態を実現するプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて提供することも可能である。
また、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。