IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社富士通エフサスの特許一覧

特許7656193データ抽出プログラム、データ抽出方法、および情報処理装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-26
(45)【発行日】2025-04-03
(54)【発明の名称】データ抽出プログラム、データ抽出方法、および情報処理装置
(51)【国際特許分類】
   H04L 67/1396 20220101AFI20250327BHJP
   G06F 11/34 20060101ALI20250327BHJP
【FI】
H04L67/1396
G06F11/34 176
【請求項の数】 8
(21)【出願番号】P 2021136690
(22)【出願日】2021-08-24
(65)【公開番号】P2023031161
(43)【公開日】2023-03-08
【審査請求日】2024-05-09
(73)【特許権者】
【識別番号】598057291
【氏名又は名称】エフサステクノロジーズ株式会社
(74)【代理人】
【識別番号】110003889
【氏名又は名称】弁理士法人酒井総合特許事務所
(72)【発明者】
【氏名】松田 隆
(72)【発明者】
【氏名】松下 明裕
【審査官】小林 義晴
(56)【参考文献】
【文献】特開2012-73878(JP,A)
【文献】米国特許出願公開第2017/0235743(US,A1)
【文献】特開2020-161050(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
特定のユーザに対応するネットワーク網を識別する識別子を取得し、
複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、
前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、
前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、
検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、
処理をコンピュータに実行させることを特徴とするデータ抽出プログラム。
【請求項2】
前記暗号化通信確立情報は、IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージと、前記IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージとを含み、
前記検索する処理は、
前記ネットワークログから、前記IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージを含む第1通信データと、前記IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む第2通信データとを検索し、
前記決定する処理は、
検索した前記第2通信データに前記識別子が含まれる場合、検索した前記通信データのうち、前記第1通信データから前記第2通信データまでの第1時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載のデータ抽出プログラム。
【請求項3】
前記暗号化通信確立情報は、IKEフェーズ2のネゴシエーション通信の開始を示すプロトコルメッセージと、前記IKEフェーズ2の受信方向のネゴシエーション通信の終了を示すプロトコルメッセージと、前記IKEフェーズ2の送信方向のネゴシエーション通信の終了を示すプロトコルメッセージとを含み、
前記検索する処理は、
前記ネットワークログから、前記IKEフェーズ2のネゴシエーション通信の開始を示すプロトコルメッセージを含む第3通信データと、前記IKEフェーズ2の受信方向のネゴシエーション通信の終了を示すプロトコルメッセージを含む第4通信データと、前記IKEフェーズ2の送信方向のネゴシエーション通信の終了を示すプロトコルメッセージを含む第5通信データとを検索し、
前記決定する処理は、
検索した前記第4通信データおよび前記第5通信データに前記識別子が含まれる場合、検索した前記通信データのうち、前記第3通信データから、前記第4通信データおよび前記第5通信データのうち記録時刻が遅い通信データまでの第2時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする請求項1または2に記載のデータ抽出プログラム。
【請求項4】
前記クッキー関連情報を検索し、クッキー値を含み、
前記検索する処理は、
前記ネットワークログから、同一のクッキー値を含む通信データ群を検索し、
前記決定する処理は、
検索した前記通信データ群の中に前記識別子を含む通信データが含まれる場合、検索した前記通信データのうち、前記通信データ群の先頭の通信データから最終の通信データまでの第3時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする請求項1~3のいずれか一つに記載のデータ抽出プログラム。
【請求項5】
取得した前記識別子を含む通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする請求項1~4のいずれか一つに記載のデータ抽出プログラム。
【請求項6】
決定した前記抽出対象の通信データを前記ネットワークログから抽出し、
抽出した前記通信データを出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1~5のいずれか一つに記載のデータ抽出プログラム。
【請求項7】
特定のユーザに対応するネットワーク網を識別する識別子を取得し、
複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、
前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、
前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、
検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、
処理をコンピュータが実行することを特徴とするデータ抽出方法。
【請求項8】
特定のユーザに対応するネットワーク網を識別する識別子を取得し、
複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、
前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、
前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、
検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、
処理を実行する制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ抽出プログラム、データ抽出方法、および情報処理装置に関する。
【背景技術】
【0002】
近年、ルータ、ファイアーウォール、負荷分散、帯域制御などのIT(Information Technology)システムに要求される機能を集約したネットワーク装置がある。また、ネットワーク装置に記録されるネットワークログを解析して、顧客の通信状況を確認したり、障害の発生箇所を特定したりする場合がある。ネットワークログには、例えば、複数の顧客の情報が含まれる場合がある。
【0003】
先行技術としては、特定種類の通信が既知であるログ情報を収集し、収集されたログ情報から抽出条件に適合する通信を抽出し、抽出された通信に対する特定種類の通信の割合が閾値以上である場合に、当該抽出条件を採用することを決定するものがある。また、監視対象とするネットワーク上で繰り返し行われる通信を把握するための技術がある。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2015/141640号
【文献】特開2017-5746号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、複数の顧客の通信データが含まれたネットワークログから、特定の顧客の通信データを漏れのないように抽出することが難しい。
【0006】
一つの側面では、本発明は、特定のユーザの通信データを抽出する際の抽出漏れを防ぐことを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、特定のユーザに対応するネットワーク網を識別する識別子を取得し、複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、データ抽出プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、特定のユーザの通信データを抽出する際の抽出漏れを防ぐことができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態にかかるデータ抽出方法の一実施例を示す説明図である。
図2図2は、情報処理システム200のシステム構成例を示す説明図である。
図3図3は、ログ解析装置201のハードウェア構成例を示すブロック図である。
図4図4は、顧客情報DB220の記憶内容の一例を示す説明図である。
図5図5は、ネットワークログLの第1の具体例を示す説明図である。
図6図6は、ログ解析装置201の機能的構成例を示すブロック図である。
図7図7は、ログ解析結果の具体例を示す説明図である。
図8図8は、抽出管理テーブル800を示す説明図である。
図9A図9Aは、ネットワークログLの第2の具体例を示す説明図(その1)である。
図9B図9Bは、ネットワークログLの第2の具体例を示す説明図(その2)である。
図9C図9Cは、ネットワークログLの第2の具体例を示す説明図(その3)である。
図10A図10Aは、抽出管理テーブル800の記憶内容の第1の変遷例を示す説明図(その1)である。
図10B図10Bは、抽出管理テーブル800の記憶内容の第1の変遷例を示す説明図(その2)である。
図10C図10Cは、抽出管理テーブル800の記憶内容の第1の変遷例を示す説明図(その3)である。
図10D図10Dは、抽出管理テーブル800の記憶内容の第1の変遷例を示す説明図(その4)である。
図11A図11Aは、ネットワークログLの第3の具体例を示す説明図(その1)である。
図11B図11Bは、ネットワークログLの第3の具体例を示す説明図(その2)である。
図11C図11Cは、ネットワークログLの第3の具体例を示す説明図(その3)である。
図11D図11Dは、ネットワークログLの第3の具体例を示す説明図(その4)である。
図11E図11Eは、ネットワークログLの第3の具体例を示す説明図(その5)である。
図12A図12Aは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その1)である。
図12B図12Bは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その2)である。
図12C図12Cは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その3)である。
図12D図12Dは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その4)である。
図12E図12Eは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その5)である。
図12F図12Fは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その6)である。
図12G図12Gは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その7)である。
図12H図12Hは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図(その8)である。
図13A図13Aは、ネットワークログLの第4の具体例を示す説明図(その1)である。
図13B図13Bは、ネットワークログLの第4の具体例を示す説明図(その2)である。
図13C図13Cは、ネットワークログLの第4の具体例を示す説明図(その3)である。
図13D図13Dは、ネットワークログLの第4の具体例を示す説明図(その4)である。
図14A図14Aは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その1)である。
図14B図14Bは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その2)である。
図14C図14Cは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その3)である。
図14D図14Dは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その4)である。
図14E図14Eは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その5)である。
図14F図14Fは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その6)である。
図14G図14Gは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その7)である。
図14H図14Hは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図(その8)である。
図15図15は、ログ解析装置201のログ解析処理手順の一例を示すフローチャートである。
図16図16は、一次抽出処理の具体的処理手順の一例を示すフローチャート(その1)である。
図17図17は、一次抽出処理の具体的処理手順の一例を示すフローチャート(その2)である。
図18図18は、一次抽出処理の具体的処理手順の一例を示すフローチャート(その3)である。
図19図19は、一次抽出処理の具体的処理手順の一例を示すフローチャート(その4)である。
図20図20は、第1のネゴシエーション解析処理の具体的処理手順の一例を示すフローチャート(その1)である。
図21図21は、第1のネゴシエーション解析処理の具体的処理手順の一例を示すフローチャート(その2)である。
図22図22は、第2のネゴシエーション解析処理の具体的処理手順の一例を示すフローチャート(その1)である。
図23図23は、第2のネゴシエーション解析処理の具体的処理手順の一例を示すフローチャート(その2)である。
図24図24は、クッキー解析処理の具体的処理手順の一例を示すフローチャート(その1)である。
図25図25は、クッキー解析処理の具体的処理手順の一例を示すフローチャート(その2)である。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかるデータ抽出プログラム、データ抽出方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態)
図1は、実施の形態にかかるデータ抽出方法の一実施例を示す説明図である。図1において、情報処理装置101は、ネットワークログから特定のユーザの通信データを抽出するコンピュータである。ネットワークログは、ネットワーク装置によって記録されるログであり、複数の通信データを含む。
【0012】
通信データは、インターネットなどのネットワークを介した各ユーザの通信履歴(例えば、サーバへの操作履歴など)を示す。ネットワーク装置は、例えば、ルータ、ファイアーウォール、負荷分散、帯域制御などの機能を有する。ネットワークログは、例えば、セキュリティ上の問題解決や業務改善などに使用される。
【0013】
ここで、ある顧客にネットワークトラブルなどが発生した際に、トラブル対応のために、ネットワークログから、その顧客の通信データを抽出したい場合がある。一方、ネットワークログには、複数の顧客の通信データが含まれる場合がある。このため、例えば、ネットワークログから、特定の顧客を示すVLAN_ID(Virtual Local Area Network-IDentifier)が記載された通信データを抽出することが考えられる。
【0014】
VLANは、顧客が使用する論理ネットワーク(仮想的なネットワーク)の一例であり、物理的な一つのLANを複数の仮想的なLANに分割したものである。VLAN_IDは、VLANを一意に識別する識別子である。顧客とVLAN_IDは、1対1で対応している。しかしながら、全ての通信データにVLAN_IDが記載されているとは限らず、VLAN_IDだけでは、ネットワークログから特定の顧客に関する通信データを漏れなく抽出することができない。
【0015】
このため、従来は、人手により特定の顧客に関する通信データを抽出することが行われていた。しかし、人手による抽出作業には、手間や時間がかかる。また、特定の顧客に関する通信データのみを漏れなく抽出するには、ノウハウや熟練度が必要であるという問題がある。また、人手による作業では、抽出漏れが生じるおそれがある。
【0016】
そこで、本実施の形態では、複数のユーザの通信データを含むネットワークログから特定のユーザの通信データを抽出する際の抽出漏れを防ぐデータ抽出方法について説明する。以下、情報処理装置101の処理例について説明する。
【0017】
(1)情報処理装置101は、特定のユーザに対応するネットワーク網を識別する識別子を取得する。特定のユーザは、例えば、ネットワークトラブルなどが発生した顧客である。特定のユーザに対応するネットワーク網は、特定のユーザが使用する論理ネットワークであり、例えば、特定のユーザに固有のVLANである。
【0018】
図1の例では、特定のユーザを「顧客A」とし、顧客Aに対応するVLAN_ID「AA」が取得された場合を想定する。
【0019】
(2)情報処理装置101は、複数の通信データを含むネットワークログのうち、取得した識別子を含む通信データに含まれる、特定のユーザに対応するIP(Internet Protocol)アドレスを特定する。特定のユーザに対応するIPアドレスは、特定のユーザが使用するクライアントIPアドレス(例えば、接続元のIPアドレス)である。
【0020】
具体的には、例えば、情報処理装置101は、ネットワークログ110から、顧客Aに対応するVLAN_ID「AA」を含む通信データ111を特定する。ネットワークログ110は、解析対象となるネットワークログの一例である。そして、情報処理装置101は、特定した通信データ111に含まれるクライアントIPアドレスを特定する。
【0021】
図1の例では、ネットワークログ110のうちの顧客Aに対応するVLAN_ID「AA」を含む通信データ111から、顧客Aに対応するクライアントIPアドレス「BB」が特定された場合を想定する。
【0022】
(3)情報処理装置101は、ネットワークログから、特定したIPアドレスを含む通信データを検索する。具体的には、例えば、情報処理装置101は、ネットワークログ110から、顧客Aに対応するクライアントIPアドレス「BB」を含む通信データを検索する。
【0023】
図1の例では、ネットワークログ110から、顧客Aに対応するクライアントIPアドレス「BB」を含む通信データ112~114が見つかった場合を想定する。ただし、IPアドレスは、同じユーザが使い続けるとは限らない。したがって、この時点では、クライアントIPアドレス「BB」を含む通信データ112~114が、顧客Aに対応する通信データであるとは限らない。
【0024】
(4)情報処理装置101は、ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索する。ここで、暗号化通信確立情報は、暗号化通信が確立したことを特定する情報である。暗号化通信確立情報は、例えば、IKE(Internet Key Exchange)フェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージを含む。
【0025】
また、暗号化通信確立情報は、例えば、IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む。IKEは、ネットワーク上のデバイス間で暗号鍵の交換・管理を行うためのプロトコルであり、IPsec(Security Architecture for Internet Protocol)を形成するプロトコルの一つである。
【0026】
IPsecは、相互接続性のある、高品質な暗号に基づくセキュリティサービスを提供するためのプロトコルである。IKEフェーズ1は、通信装置に設定された、暗号化アルゴリズム、暗号鍵、メッセージ認証方式をもとに暗号化通信を行って、IKEフェーズ2のための「暗号化通信を行うための情報」を交換する処理である。IKEフェーズ2は、実際のデータの転送を行うための暗号化通信をするために必要な情報の交換を行う処理である。
【0027】
また、クッキー関連情報は、ユーザを識別したり、セッションを管理したりするための情報である。クッキー関連情報は、例えば、クッキー値を含む。ここでは、暗号化通信確立情報およびクッキー関連情報のうちの暗号化通信確立情報を検索する場合を例に挙げて説明する。
【0028】
具体的には、例えば、情報処理装置101は、ネットワークログ110から、IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージを含む第1通信データと、IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む第2通信データとを検索する。
【0029】
図1の例では、ネットワークログ110から、IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージを含む第1通信データ115が見つかった場合を想定する。また、ネットワークログ110から、IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む第2通信データ116が見つかった場合を想定する。
【0030】
(5)情報処理装置101は、検索した暗号化通信確立情報が識別子に関係する場合、暗号化通信確立情報に基づいて、検索した通信データから抽出対象の通信データを決定する。IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む通信データには、例えば、ユーザに対応するVLAN_IDが含まれる。
【0031】
このため、情報処理装置101は、例えば、検索した第2通信データ116に、顧客Aに対応するVLAN_ID「AA」が含まれるか否かを判断する。ここで、VLAN_ID「AA」が含まれない場合、情報処理装置101は、暗号化通信確立情報がVLAN_ID「AA」に関係しないと判断する。
【0032】
一方、VLAN_ID「AA」が含まれる場合、情報処理装置101は、暗号化通信確立情報がVLAN_ID「AA」に関係すると判断する。そして、情報処理装置101は、第2通信データ116にVLAN_ID「AA」が含まれる場合、検索した通信データ112~114のうち、第1通信データ115から第2通信データ116までの時間範囲に含まれる通信データを、抽出対象の通信データに決定する。
【0033】
ここで、第1通信データ115から第2通信データ116までの時間範囲とは、IKEフェーズ1のネゴシエーションが開始された時刻から、IKEフェーズ1のネゴシエーションが終了した時刻までの時間範囲である。第2通信データ116にVLAN_ID「AA」が含まれる場合、第1通信データ115、第2通信データ116は、顧客AのIKEフェーズ1の確立成功を示す。
【0034】
第1通信データ115から第2通信データ116までの時間範囲に含まれるクライアントIPアドレス「BB」は、顧客Aであると特定することができる。すなわち、通信データ112~114のうち、第1通信データ115から第2通信データ116までの時間範囲に含まれる通信データは、顧客Aに関する通信データであるといえる。
【0035】
なお、IKEフェーズ1のネゴシエーションが開始された時刻は、例えば、第1通信データ115が記録された時刻であり、第1通信データ115に含まれる。IKEフェーズ1のネゴシエーションが終了した時刻は、例えば、第2通信データ116が記録された時刻であり、第2通信データ116に含まれる。
【0036】
図1の例では、通信データ112~114のうちの通信データ112,113が、第1通信データ115から第2通信データ116までの時間範囲に含まれる。このため、情報処理装置101は、通信データ112~114のうちの通信データ112,113を、抽出対象の通信データに決定する。
【0037】
このように、情報処理装置101によれば、特定のユーザの暗号化通信が確立したことを特定する情報を利用して、特定のユーザのIPアドレスと同一のIPアドレスを含む通信データから、抽出対象の通信データを決定することができる。これにより、複数のユーザの通信データを含むネットワークログから特定のユーザの通信データを抽出する際の抽出漏れを防ぐことができる。
【0038】
図1の例では、情報処理装置101は、顧客AのIKEフェーズ1のネゴシエーション通信が行われた範囲を利用して、ネットワークログ110のうち、顧客AのIPアドレスと同一のIPアドレスを含む通信データ112~114から、顧客Aの通信データ112,113を抽出することができる。
【0039】
これにより、ネットワークログ110から顧客Aの通信データを抽出する際の抽出漏れを防ぐことができる。また、顧客AのIPアドレスと同一のIPアドレスが割り当てられた他の顧客の通信データが誤って抽出されるのを防ぐことができる。なお、ネットワークログからクッキー関連情報を検索する場合については、図6を用いて後述する。
【0040】
(情報処理システム200のシステム構成例)
つぎに、実施の形態にかかる情報処理システム200のシステム構成例について説明する。以下の説明では、図1に示した情報処理装置101を、情報処理システム200内のログ解析装置201に適用する場合を例に挙げて説明する。情報処理システム200は、例えば、複数の顧客が利用するITシステムに適用される。
【0041】
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、ログ解析装置201と、ネットワーク装置202と、複数の顧客サーバ203と、クライアント端末204と、を含む。情報処理システム200において、ログ解析装置201、ネットワーク装置202、顧客サーバ203およびクライアント端末204は、有線または無線のネットワーク210を介して接続される。
【0042】
ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。具体的には、例えば、顧客サーバ203が属する顧客側ネットワークは、インターネットを介してネットワーク装置202に接続される。顧客側ネットワークは、例えば、VLANである。ログ解析装置201、ネットワーク装置202およびクライアント端末204は、LANを介して接続される。
【0043】
ここで、ログ解析装置201は、顧客情報DB(Database)220を有し、ネットワークログを解析することによって、特定のユーザの通信データを抽出する。ログ解析装置201は、例えば、サーバである。顧客情報DB220の記憶内容については、図4を用いて後述する。
【0044】
なお、顧客情報DB220は、ログ解析装置201がアクセス可能な他のコンピュータが有していてもよい。他のコンピュータは、例えば、サービス管理システムを実現するサーバである。この場合、ログ解析装置201は、他のコンピュータにアクセスすることによって、顧客情報DB220を参照することができる。
【0045】
以下の説明では、ネットワーク装置202によって記録されるネットワークログを「ネットワークログL」と表記する場合がある。
【0046】
ネットワーク装置202は、ネットワークログLを記録するコンピュータである。ネットワーク装置202は、例えば、ルータ、ファイアーウォール、負荷分散、帯域制御などの機能を集約した機器である。ネットワークログLは、ネットワーク210を介したユーザ(顧客)の通信履歴を表す情報である。ネットワークログLは、例えば、複数の顧客の通信データを含む。ネットワークログLの具体例については、例えば、図5を用いて後述する。
【0047】
顧客サーバ203は、ユーザ(顧客)が使用するコンピュータである。ユーザは、例えば、個人であってもよく、また、企業や企業内の部署などであってもよい。ネットワークログLに含まれる通信データは、例えば、インターネットを介した顧客(顧客サーバ203)の通信履歴を示す。
【0048】
クライアント端末204は、オペレータが使用するコンピュータである。オペレータは、例えば、顧客のネットワークトラブルに対処する者である。クライアント端末204は、例えば、Webブラウザを有し、ネットワークログLの解析結果を表示可能である。クライアント端末204は、例えば、PC(Personal Computer)、タブレットPCなどである。
【0049】
なお、ここでは、ログ解析装置201とクライアント端末204とを別体に設けることにしたが、これに限らない。例えば、ログ解析装置201は、クライアント端末204により実現されることにしてもよい。また、情報処理システム200には、複数のネットワーク装置202が含まれていてもよい。また、ログ解析装置201、ネットワーク装置202、顧客サーバ203は、例えば、仮想マシンにより実現されることにしてもよい。
【0050】
(ログ解析装置201のハードウェア構成例)
つぎに、ログ解析装置201のハードウェア構成例について説明する。
【0051】
図3は、ログ解析装置201のハードウェア構成例を示すブロック図である。図3において、ログ解析装置201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0052】
ここで、CPU301は、ログ解析装置201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0053】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0054】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示したネットワーク装置202、クライアント端末204)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0055】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0056】
なお、ログ解析装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有することにしてもよい。また、図2に示したネットワーク装置202、顧客サーバ203、クライアント端末204についても、ログ解析装置201と同様のハードウェア構成により実現することができる。ただし、クライアント端末204は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
【0057】
(顧客情報DB220の記憶内容)
つぎに、ログ解析装置201が有する顧客情報DB220の記憶内容について説明する。顧客情報DB220は、例えば、図3に示したログ解析装置201のメモリ302、ディスク304等の記憶装置により実現される。
【0058】
図4は、顧客情報DB220の記憶内容の一例を示す説明図である。図4において、顧客情報DB220は、顧客ID、顧客名およびVLAN_IDのフィールドを有し、各フィールドに情報を設定することで、顧客情報(例えば、顧客情報400-1,400-2)をレコードとして記憶する。
【0059】
ここで、顧客IDは、顧客を一意に識別する識別子である。顧客名は、顧客の名称である。VLAN_IDは、顧客に対応するVLANを一意に識別する識別子である。例えば、顧客情報400-1は、ユーザ(顧客)の顧客ID「C1」、顧客名「顧客A」およびVLAN_ID「33」を示す。
【0060】
なお、顧客情報には、例えば、VLAN名、管理LAN接続元IP、VPN(Virtual Private Network)アダプタ装置名などが含まれていてもよい。
【0061】
(ネットワークログLの具体例)
つぎに、ネットワークログLの具体例について説明する。
【0062】
図5は、ネットワークログLの第1の具体例を示す説明図である。図5において、ネットワークログL1は、図2に示したネットワーク装置202により記録されたログの一例であり、複数の通信データ(例えば、通信データ500-1,500-2)を含む。通信データは、インターネットなどのネットワーク210を介したユーザ(顧客)の通信履歴を示す。
【0063】
図5中、日時(年月日時刻)から次の日時の直前までが一つの通信データを示すものとする。また、図5では、一つの通信データが複数行で記載されているが、通信データ単位で行番号が切り替わるものとする。例えば、通信データ500-2は、2020 Jun 12 07:54:19からpeer:28800(sec)までのデータである(図5中、点線枠)。また、通信データ500-2は、行番号「2」の通信データである。
【0064】
ネットワークログL1には、複数の顧客(ユーザ)の通信データが含まれる。通信データには、例えば、時刻情報、メッセージが含まれる。時刻情報は、通信データが記録された日時を示す。メッセージは、図2に示した顧客サーバ203が送受信するパケットに含まれるメッセージである。ネットワークログL1には、例えば、ネットワーク装置202により検出されるエラー等の情報が含まれていてもよい。ネットワークログL1において、複数の通信データは時系列に並んでいる。
【0065】
なお、図5では、説明の都合上、ネットワークログL1内の顧客Bの通信データに含まれるメッセージを「顧客B情報」と表記し、顧客Cの通信データに含まれるメッセージを「顧客C情報」と表記し、顧客Dの通信データに含まれるメッセージを「顧客D情報」と表記している。
【0066】
(ログ解析装置201の機能的構成例)
図6は、ログ解析装置201の機能的構成例を示すブロック図である。図6において、ログ解析装置201は、受付部601と、取得部602と、収集部603と、解析部604と、出力部605と、を含む。受付部601~出力部605は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
【0067】
受付部601は、抽出条件を受け付ける。ここで、抽出条件は、抽出対象となる通信データを指定するための条件である。抽出条件としては、例えば、顧客IDや顧客名などが指定される。抽出条件には、例えば、解析対象となるネットワークログLを指定する情報が含まれていてもよい。具体的には、例えば、受付部601は、図2に示したクライアント端末204から抽出条件を受信することにより、受信した抽出条件を受け付ける。
【0068】
取得部602は、特定のユーザに対応するネットワーク網を識別する識別子を取得する。ネットワーク網は、例えば、VLANである。以下の説明では、特定のユーザに対応するネットワーク網を「VLAN」と表記し、ネットワーク網を識別する識別子を「VLAN_ID」と表記する場合がある。
【0069】
具体的には、例えば、取得部602は、図4に示した顧客情報DB220を参照して、受け付けた抽出条件に含まれる顧客ID、顧客名に対応するVLAN_IDを取得する。例えば、抽出条件に顧客ID「C1」が含まれる場合、顧客ID「C1」に対応するVLAN_ID「33」が取得される。
【0070】
収集部603は、ネットワークログLを収集する。具体的には、例えば、収集部603は、図2に示したネットワーク装置202からネットワークログL1(図5参照)を収集する。また、収集部603は、例えば、不図示の入力装置を用いた操作入力により、ネットワークログL1を収集することにしてもよい。
【0071】
解析部604は、収集部603によって収集されたネットワークログLを解析することによって、特定のユーザの通信データを抽出する。具体的には、例えば、解析部604は、特定部611と、第1の検索部612と、第2の検索部613と、第3の検索部614と、抽出部615とを含む。
【0072】
特定部611は、ネットワークログLのうち、取得されたVLAN_IDを含む通信データに含まれる、特定のユーザに対応するIPアドレスを特定する。取得されたVLAN_IDを含む通信データは、例えば、取得されたVLAN_IDを含むホスト名が含まれた通信データである。
【0073】
また、取得されたVLAN_IDを含む通信データは、例えば、取得されたVLAN_IDを含むプロトコルメッセージが含まれた通信データであってもよい。特定のユーザに対応するIPアドレスは、特定のユーザが使用するクライアントIPアドレスである。ここで、VLAN_IDを含む通信データには、クライアントIPアドレスのほかに、サーバIPアドレスが含まれる場合がある。
【0074】
サーバIPアドレスは、ネットワーク装置202のIPアドレスであり、例えば、既知のIPアドレス(固定)である。このため、特定部611は、例えば、通信データに含まれるIPアドレスのうち、ネットワーク装置202のIPアドレス(サーバIPアドレス)とは異なるIPアドレスを、特定のユーザに対応するIPアドレス(クライアントIPアドレス)として特定する。
【0075】
以下の説明では、特定のユーザを「該当顧客」と表記し、特定のユーザに対応するIPアドレスを「該当顧客のクライアントIPアドレス」と表記する場合がある。また、取得されたVLAN_IDを「該当顧客のVLAN_ID」と表記する場合がある。
【0076】
具体的には、例えば、特定部611は、ネットワークログL1から、「host00xx」を含む通信データを検索する。host00xxは、ホスト名である。ただし、xxは、該当顧客のVLAN_IDに対応する。そして、特定部611は、検索した通信データに含まれるクライアントIPアドレスを特定する。
【0077】
また、特定部611は、ネットワークログL1から、「ipsec-dynamic-rule(xx)」を含む通信データを検索することにしてもよい。ipsec-dynamic-rule(xx)は、暗号化通信のプロトコルを判別するメッセージである。ただし、xxは、該当顧客のVLAN_IDに対応する。そして、特定部611は、検索した通信データに含まれるクライアントIPアドレスを特定する。
【0078】
第1の検索部612は、ネットワークログLから、特定されたクライアントIPアドレスを含む通信データを検索する。以下の説明では、第1の検索部612によって検索された、特定されたクライアントIPアドレス(該当顧客のクライアントIPアドレス)を含む通信データを「候補通信データ」と表記する場合がある。
【0079】
第2の検索部613は、ネットワークログLから、暗号化通信確立情報を検索する。暗号化通信確立情報は、暗号化通信が確立したことを特定する情報である。暗号化通信確立情報は、例えば、第1のプロトコルメッセージと第2のプロトコルメッセージとを含む。
【0080】
第1のプロトコルメッセージは、IKEフェーズ1のネゴシエーション通信の開始を示すメッセージであり、例えば、「PHASE1 negotiation begins」である。また、第2のプロトコルメッセージは、IKEフェーズ1のネゴシエーション通信の終了を示すメッセージであり、例えば、「ISAKMP-SA has been established」である。
【0081】
具体的には、例えば、第2の検索部613は、ネットワークログL1から、第1のプロトコルメッセージ「PHASE1 negotiation begins」を含む第1通信データを検索する。また、第2の検索部613は、第2のプロトコルメッセージ「ISAKMP-SA has been established」を含む第2通信データを検索する。
【0082】
抽出部615は、該当顧客のVLAN_IDを含む通信データを、抽出対象の通信データに決定する。該当顧客のVLAN_IDを含む通信データは、例えば、「host00xx」を含む通信データや、「ipsec-dynamic-rule(xx)」を含む通信データである。ただし、xxは、該当顧客のVLAN_IDに対応する。
【0083】
また、抽出部615は、検索された暗号化通信確立情報が、該当顧客のVLAN_IDに関係する場合、暗号化通信確立情報に基づいて、検索された候補通信データから抽出対象の通信データを決定する。ここで、IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む通信データには、例えば、ユーザに対応するVLAN_IDを含むホスト名が含まれる。
【0084】
このため、抽出部615は、例えば、検索された第2通信データに該当顧客のVLAN_ID(該当顧客のVLAN_IDを含むホスト名)が含まれない場合、暗号化通信確立情報が該当顧客のVLAN_IDに関係しないと判断する。一方、第2通信データに該当顧客のVLAN_IDが含まれる場合、抽出部615は、暗号化通信確立情報が該当顧客のVLAN_IDに関係すると判断する。
【0085】
そして、抽出部615は、暗号化通信確立情報が該当顧客のVLAN_IDに関係する場合に、検索された候補通信データのうち、第1通信データから第2通信データまでの第1時間範囲に含まれる候補通信データを、抽出対象の通信データに決定する。第1時間範囲は、IKEフェーズ1のネゴシエーションが開始された時刻から、そのネゴシエーションが終了した時刻までの時間範囲である。
【0086】
また、暗号化通信確立情報は、例えば、第3のプロトコルメッセージと、第4のプロトコルメッセージと、第5のプロトコルメッセージとを含むものであってもよい。第3のプロトコルメッセージは、IKEフェーズ2のネゴシエーション通信の開始を示すメッセージであり、例えば、「PHASE2 negotiation begins」である。
【0087】
第4のプロトコルメッセージは、IKEフェーズ2の受信方向のネゴシエーション通信の終了を示すメッセージであり、例えば、「IPsec-SA has been established:(INBOUND)」である。第5のプロトコルメッセージは、IKEフェーズ2の送信方向のネゴシエーション通信の終了を示すメッセージであり、例えば、「IPsec-SA has been established:(OUTBOUND)」である。
【0088】
具体的には、例えば、第2の検索部613は、ネットワークログL1から、第3のプロトコルメッセージ「PHASE2 negotiation begins」を含む第3通信データを検索する。また、第2の検索部613は、第4のプロトコルメッセージ「IPsec-SA has been established:(INBOUND)」を含む第4通信データを検索する。また、第2の検索部613は、第5のプロトコルメッセージ「IPsec-SA has been established:(OUTBOUND)」を含む第5通信データを検索する。
【0089】
ここで、IKEフェーズ2のネゴシエーション通信(受信方向、送信方向)の終了を示すプロトコルメッセージを含む通信データには、例えば、ユーザに対応するVLAN_IDを含むプロトコルメッセージが含まれる。このため、抽出部615は、例えば、検索された第4通信データおよび第5通信データに該当顧客のVLAN_ID(該当顧客のVLAN_IDを含むプロトコルメッセージ)が含まれない場合、暗号化通信確立情報が該当顧客のVLAN_IDに関係しないと判断する。
【0090】
一方、第4通信データおよび第5通信データに該当顧客のVLAN_IDが含まれる場合、抽出部615は、暗号化通信確立情報が該当顧客のVLAN_IDに関係すると判断する。なお、第4通信データおよび第5通信データの少なくともいずれか一方のみが見つかった場合には、抽出部615は、暗号化通信確立情報が該当顧客のVLAN_IDに関係しないと判断する。
【0091】
そして、抽出部615は、暗号化通信確立情報が該当顧客のVLAN_IDに関係する場合に、検索された候補通信データのうち、第3通信データから、第4通信データおよび第5通信データのうち記録時刻が遅い通信データまでの第2時間範囲に含まれる候補通信データを、抽出対象の通信データに決定する。
【0092】
ここで、第2時間範囲は、IKEフェーズ2のネゴシエーションが開始された時刻から、IKEフェーズ2の受信方向および送信方向の双方のネゴシエーションが終了した時刻までの時間範囲である。
【0093】
第3の検索部614は、ネットワークログLから、クッキー関連情報を検索する。クッキー関連情報は、ユーザを識別したり、セッションを管理したりするための情報であり、例えば、クッキー値を含む。具体的には、例えば、第3の検索部614は、ネットワークログL1から、同一のクッキー値を含む通信データ群を検索する。
【0094】
また、抽出部615は、第3の検索部614によって検索されたクッキー関連情報が、該当顧客のVLAN_IDに関係する場合、クッキー関連情報に基づいて、第1の検索部612によって検索された候補通信データから抽出対象の通信データを決定する。
【0095】
具体的には、例えば、抽出部615は、検索された通信データ群の中に、該当顧客のVLAN_IDを含む通信データが含まれるか否かを判断する。該当顧客のVLAN_IDを含む通信データは、例えば、「host00xx」を含む通信データである。ただし、xxは、該当顧客のVLAN_IDに対応する。
【0096】
ここで、該当顧客のVLAN_IDを含む通信データが含まれない場合、抽出部615は、クッキー関連情報が該当顧客のVLAN_IDに関係しないと判断する。一方、該当顧客のVLAN_IDを含む通信データが含まれる場合、抽出部615は、クッキー関連情報が該当顧客のVLAN_IDに関係すると判断する。
【0097】
そして、抽出部615は、クッキー関連情報が該当顧客のVLAN_IDに関係する場合に、検索された候補通信データのうち、第3時間範囲に含まれる候補通信データを、抽出対象の通信データに決定する。ここで、第3時間範囲は、同一のクッキー値を含む通信データ群の先頭の通信データから最終の通信データまでの時間範囲である。
【0098】
例えば、該当顧客のVLAN_ID(host00xx)を含む通信データに含まれるクライアントIPアドレスは、該当顧客のIPアドレスと特定することができる。同一セッションでは、同じクライアントIPアドレスが使用される。したがって、第3時間範囲において、該当顧客のクライアントIPアドレスと同一のIPアドレスを含む通信データは、該当顧客の通信データであるといえる。
【0099】
そして、抽出部615は、決定した抽出対象の通信データをネットワークログLから抽出する。これにより、ネットワークログLから、該当顧客の通信データのみを抽出することができる。
【0100】
出力部605は、抽出された通信データを出力する。出力部605の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【0101】
具体的には、例えば、出力部605は、クライアント端末204にログ解析結果を送信する。ログ解析結果は、抽出された該当顧客の通信データである。クライアント端末204は、例えば、抽出条件の送信元のコンピュータである。この結果、クライアント端末204において、ログ解析結果を画面表示したり、メモリ等に記録したりすることができる。ログ解析結果の具体例については、図7を用いて後述する。
【0102】
なお、上述したログ解析装置201の機能部は、情報処理システム200内の複数のコンピュータ(例えば、ログ解析装置201とクライアント端末204)により実現されることにしてもよい。また、ログ解析装置201は、上述した解析部604のうち、第1の検索部612、第2の検索部613および第3の検索部614のいずれかを有さないことにしてもよい。例えば、ログ解析装置201は、第1の検索部612および第2の検索部613のみを有することにしてもよく、また、第3の検索部614のみを有することにしてもよい。
【0103】
(ログ解析結果の具体例)
ここで、図7を用いて、ログ解析結果の具体例について説明する。
【0104】
図7は、ログ解析結果の具体例を示す説明図である。図7において、ログ解析結果700は、ネットワークログL1から該当顧客の通信データのみを抽出した結果を示す。ここでは、該当顧客を「顧客A」とする。図5に示したネットワークログL1とログ解析結果700を比較すると、顧客B情報、顧客C情報、顧客D情報等が除外されて、該当顧客Aの通信データ(例えば、通信データ500-1,500-2)のみが抽出されていることがわかる。なお、図5と同様に、図7中、日時(年月日時刻)から次の日時の直前までが一つの通信データを示するものとする。
【0105】
(ネットワークログLの解析例)
つぎに、ネットワークログLの解析例について説明する。まず、ログ解析装置201が用いる抽出管理テーブル800について説明する。抽出管理テーブル800は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
【0106】
図8は、抽出管理テーブル800を示す説明図である。図8において、抽出管理テーブル800は、行番号、確定メモ、一次メモ、フェーズ1メモ、フェーズ2メモおよびcookieメモのフィールドを有する。各フィールドに情報を設定することで、ネットワークログLに含まれる通信データごとの抽出管理情報がレコードとして記憶される。初期状態では、各フィールドは、空である。
【0107】
ここで、行番号は、ネットワークログLにおける行番号であり、ネットワークログLに含まれる通信データを識別する。確定メモは、抽出対象に決定された通信データを判別するための情報である。抽出対象に決定された通信データに対応する確定メモには、ONが設定される。
【0108】
一次メモ、フェーズ1メモ、フェーズ2メモおよびcookieメモは、抽出対象の通信データを決定するための情報である。一次メモ、フェーズ1メモ、フェーズ2メモおよびcookieメモについての詳細な説明は後述する。
【0109】
以下、図9A図9C図10A図10Dを用いて、ネットワークログLの第1の解析例について説明する。
【0110】
図9A図9Cは、ネットワークログLの第2の具体例を示す説明図である。図9Aおよび図9Bにおいて、ネットワークログL2は、ネットワーク装置202により記録されたログの一例であり、複数の通信データを含む。なお、図9A図9Cでは、説明の都合上、行番号を表示している。
【0111】
ここでは、ネットワークログL2を解析対象のネットワークログLとする。また、抽出条件として、顧客ID「C1」を含む抽出条件を受け付けた場合を想定する。この場合、該当顧客は「顧客A」である。
【0112】
図10A図10Dは、抽出管理テーブル800の記憶内容の第1の変遷例を示す説明図である。以下、図10A図10Dを用いて、ネットワークログL1に含まれる通信データごとの抽出管理情報を抽出管理テーブル800に記憶する場合について説明する。
【0113】
・一次抽出処理
まず、ログ解析装置201は、顧客情報DB220(図4参照)を参照して、抽出条件に含まれる該当顧客の顧客ID「C1」に対応するVLAN_ID「33」を取得する。
【0114】
つぎに、ログ解析装置201は、ネットワークログL2から、「host0033」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「A」を書き込む(図10A参照)。
【0115】
VLAN_IDは、顧客に一意の値である。したがって、「host0033」を含む通信データは、該当顧客の通信データであるといえる。このため、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する確定メモに「ON」を書き込む(図10A参照)。
【0116】
例えば、ネットワークログL2の9行目の通信データには、「host0033」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「9」に対応する一次メモに「A」を書き込むとともに、行番号「9」に対応する確定メモに「ON」を書き込む(図10A参照)。
【0117】
また、ログ解析装置201は、検索した「host0033」を含む通信データに含まれるクライアントIPアドレスを特定する。例えば、ネットワークログL2の9行目の通信データには、IPアドレス「IpAdd153,IpAdd186」が含まれる。ここで、「IpAdd153」は、ネットワーク装置202のIPアドレスとする。この場合、ログ解析装置201は、クライアントIPアドレスとして、「IpAdd186」を特定する。このクライアントIPアドレスは、該当顧客のIPアドレスであるといえる。
【0118】
つぎに、ログ解析装置201は、ネットワークログL2から、特定したクライアントIPアドレス「IpAdd186」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「B」を書き込む(図10A参照)。
【0119】
例えば、ネットワークログL2の8行目の通信データには、「IpAdd186」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8」に対応する一次メモに「B」を書き込む(図10A参照)。
【0120】
また、ログ解析装置201は、ネットワークログL2から、「ipsec-dynamic-rule(33)」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「C」を書き込む(図10A参照)。なお、一次メモに「B」が書き込まれている場合、ログ解析装置201は、「C」で上書きする。
【0121】
また、VLAN_IDは、顧客に一意の値である。したがって、「ipsec-dynamic-rule(33)」を含む通信データは、該当顧客の通信データであるといえる。このため、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する確定メモに「ON」を書き込む(図10A参照)。
【0122】
例えば、ネットワークログL2の2行目の通信データには、「ipsec-dynamic-rule(33)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「2」に対応する一次メモに「C」を書き込むとともに、行番号「2」に対応する確定メモに「ON」を書き込む(図10A参照)。
【0123】
また、ログ解析装置201は、検索した「ipsec-dynamic-rule(33)」を含む通信データに含まれるクライアントIPアドレスを特定する。例えば、ネットワークログL2の2行目の通信データには、IPアドレス「IpAdd153,IpAdd147」が含まれる。「IpAdd153」は、ネットワーク装置202のIPアドレスである。このため、ログ解析装置201は、クライアントIPアドレスとして、「IpAdd147」を特定する。このクライアントIPアドレスは、該当顧客のIPアドレスであるといえる。
【0124】
つぎに、ログ解析装置201は、ネットワークログL2から、特定したクライアントIPアドレス「IpAdd147」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「D」を書き込む(図10A参照)。
【0125】
例えば、ネットワークログL2の1行目の通信データには、「IpAdd147」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応する一次メモに「D」を書き込む(図10A参照)。
【0126】
以下、ネットワークログL2内の一次メモにA,B,C,Dのいずれかが書き込まれた行の通信データを検索対象とする。検索対象を限定することにより、処理効率を向上させることができる。
【0127】
・IKEフェーズ1のネゴシエーションの解析
つぎに、ログ解析装置201は、検索対象から、第1のプロトコルメッセージ「PHASE1 negotiation begins」を含む通信データ(第1通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの開始として、抽出管理テーブル800内の検索した通信データに対応するフェーズ1メモに「E」を書き込む(図10B参照)。
【0128】
例えば、ネットワークログL2の8行目の通信データには、「PHASE1 negotiation begins」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8」に対応するフェーズ1メモに「E」を書き込む(図10B参照)。
【0129】
つぎに、ログ解析装置201は、検索対象から、第2のプロトコルメッセージ「ISAKMP-SA has been established」を含む通信データ(第2通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ1メモに「F」を書き込む(図10B参照)。
【0130】
例えば、ネットワークログL2の10行目の通信データには、「ISAKMP-SA has been established」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「10」に対応するフェーズ1メモに「F」を書き込む(図10B参照)。
【0131】
つぎに、ログ解析装置201は、検索した通信データ(第2通信データ)に、「host0033」が含まれるか否かを判断する。例えば、ネットワークログL2の10行目の通信データには、「host0033」が含まれる。
【0132】
ここで、「host0033」が含まれる場合、該当顧客のIKEフェーズ1の確立成功であり、フェーズ1メモ「E」からフェーズ1メモ「F」までの間の行のクライアントIPアドレスは、該当顧客のIPアドレスであると特定できる。このため、ログ解析装置201は、フェーズ1メモ「E」からフェーズ1メモ「F」までの間の通信データに対応する確定メモに「ON」を書き込む(図10B参照)。ただし、空白行(例えば、ネットワークログL2の7行目)は除外する。
【0133】
例えば、ネットワークログL2の8行目の通信データは、フェーズ1メモ「E」からフェーズ1メモ「F」までの範囲に含まれる行である。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8」に対応する確定メモに「ON」を書き込む(図10B参照)。
【0134】
・IKEフェーズ2のネゴシエーションの解析
つぎに、ログ解析装置201は、検索対象から、第3のプロトコルメッセージ「PHASE2 negotiation begins」を含む通信データ(第3通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの開始として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「G」を書き込む(図10C参照)。
【0135】
例えば、ネットワークログL2の1行目の通信データには、「PHASE2 negotiation begins」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応するフェーズ2メモに「G」を書き込む(図10C参照)。
【0136】
つぎに、ログ解析装置201は、検索対象から、第4のプロトコルメッセージ「IPsec-SA has been established:(INBOUND)」を含む通信データ(第4通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「H」を書き込む(図10C参照)。
【0137】
例えば、ネットワークログL2の3行目の通信データには、「IPsec-SA has been established:(INBOUND)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「3」に対応するフェーズ2メモに「H」を書き込む(図10C参照)。
【0138】
また、ログ解析装置201は、検索対象から、第5のプロトコルメッセージ「IPsec-SA has been established:(OUTBOUND)」を含む通信データ(第5通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「I」を書き込む(図10C参照)。
【0139】
例えば、ネットワークログL2の5行目の通信データには、「IPsec-SA has been established:(OUTBOUND)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「5」に対応するフェーズ2メモに「I」を書き込む(図10C参照)。
【0140】
つぎに、ログ解析装置201は、検索した通信データ(第4通信データ、第5通信データ)に、「ipsec-dynamic-rule(33)」が含まれるか否かを判断する。例えば、ネットワークログL2の3,5行目の通信データには、「ipsec-dynamic-rule(33)」が含まれる。
【0141】
ここで、「ipsec-dynamic-rule(33)」が含まれる場合、該当顧客のIKEフェーズ2の確立成功であり、フェーズ2メモ「G」からフェーズ2メモ「I」までの間(G~H~I)の行のクライアントIPアドレスは、該当顧客のIPアドレスであると特定できる。このため、ログ解析装置201は、フェーズ2メモ「G」からフェーズ2メモ「I」までの間(G~H~I)の通信データに対応する確定メモに「ON」を書き込む(図10C参照)。ただし、空白行は除外する。
【0142】
例えば、ネットワークログL2の1行目の通信データは、フェーズ2メモ「G」からフェーズ2メモ「I」までの範囲(G~H~I)に含まれる行である。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応する確定メモに「ON」を書き込む(図10C参照)。
【0143】
・クッキー値による有効範囲の解析
つぎに、ログ解析装置201は、検索対象から、同一のクッキー値を含む通信データ群を検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応するcookieメモに「クッキーID」を書き込む(図10D参照)。クッキーIDは、同一のクッキー値を含む通信データ群を識別する識別子(例えば、J,K)である。
【0144】
例えば、ネットワークログL2の9,10,14,16,17行目の通信データには、同一のクッキー値「6278bc68d344f112」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「9,10,14,16,17」に対応するcookieメモに「J」を書き込む(図10D参照)。
【0145】
つぎに、ログ解析装置201は、検索した通信データ群に「host0033」を含む通信データが含まれるか否かを判断する。「host0033」を含む通信データのクライアントIPアドレスは、該当顧客のIPアドレスである。例えば、ネットワークログL2の9行目の通信データには、「host0033」が含まれる。このため、9行目の通信データのクライアントIPアドレス「IpAdd186」は、該当顧客のIPアドレスであるといえる。
【0146】
このため、ログ解析装置201は、同一のクッキーIDの先頭の通信データから最終の通信データまでの間で、クライアントIPアドレスと同一のIPアドレスを含む通信データに対応する確定メモに「ON」を書き込む(図10D参照)。
【0147】
例えば、ネットワークログL2の11行目の通信データは、クッキーID「J」の先頭の通信データ(9行目)から最終の通信データ(17行目)までの間で、クライアントIPアドレス「IpAdd186」と同一のIPアドレスを含む。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「11」に対応する確定メモに「ON」を書き込む(図10D参照)。
【0148】
以上により、ネットワークログL2のうちの抽出対象となる通信データを決定することができる。ログ解析装置201は、図10Dに示した抽出管理テーブル800を参照して、確定メモ「ON」の通信データをネットワークログL2から抽出することにより、該当顧客(顧客A)の通信データのみを抽出することができる。
【0149】
つぎに、図11A図11E図12A図12Hを用いて、ネットワークログLの第2の解析例について説明する。
【0150】
図11A図11Eは、ネットワークログLの第3の具体例を示す説明図である。図11A図11Eにおいて、ネットワークログL3は、ネットワーク装置202により記録されたログの一例であり、複数の通信データを含む。なお、図11A図11Eでは、説明の都合上、行番号を表示している。
【0151】
ネットワークログL3において、例えば、1~6行目の通信データは、旧アドレスの鍵交換のために行われた通信履歴を示す。7~16行目の通信データは、新アドレスでの接続要求のために行われた通信履歴を示す。以降17~25行目のような通信データが繰り返し記録されている。また、114行目の通信データで、旧アドレスでのIPsec-SAがLifetime(24時間)満了で削除されている。また、117行目の通信データで、新アドレスでのIPsec-SAが確立されて、VPN(Virtual Private Network)通信再開可能になっている。
【0152】
ここでは、ネットワークログL3を解析対象のネットワークログLとする。また、抽出条件として、顧客ID「C2」を含む抽出条件を受け付けた場合を想定する。この場合、該当顧客は「顧客B」である。
【0153】
図12A図12Hは、抽出管理テーブル800の記憶内容の第2の変遷例を示す説明図である。以下、図12A図12Hを用いて、ネットワークログL3に含まれる通信データごとの抽出管理情報を抽出管理テーブル800に記憶する場合について説明する。
【0154】
・一次抽出処理
まず、ログ解析装置201は、顧客情報DB220(図4参照)を参照して、抽出条件に含まれる該当顧客の顧客ID「C2」に対応するVLAN_ID「223」を取得する。つぎに、ログ解析装置201は、ネットワークログL3から、「host0223」を含む通信データを検索する。
【0155】
そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「A」を書き込む(図12A,12B参照)。VLAN_IDは、顧客に一意の値である。したがって、「host0223」を含む通信データは、該当顧客の通信データであるといえる。このため、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する確定メモに「ON」を書き込む(図12A,12B参照)。
【0156】
例えば、ネットワークログL3の8行目の通信データには、「host0223」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8」に対応する一次メモに「A」を書き込むとともに、行番号「8」に対応する確定メモに「ON」を書き込む(図12A参照)。
【0157】
また、ログ解析装置201は、検索した「host0223」を含む通信データに含まれるクライアントIPアドレスを特定する。例えば、ネットワークログL3の8行目の通信データには、IPアドレス「IpAdd153,IpAdd16」が含まれる。「IpAdd153」は、ネットワーク装置202のIPアドレスである。この場合、ログ解析装置201は、クライアントIPアドレスとして、「IpAdd16」を特定する。このクライアントIPアドレスは、該当顧客のIPアドレスであるといえる。
【0158】
つぎに、ログ解析装置201は、ネットワークログL3から、特定したクライアントIPアドレス「IpAdd16」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「B」を書き込む(図12A,12B参照)。
【0159】
例えば、ネットワークログL3の7行目の通信データには、「IpAdd16」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「7」に対応する一次メモに「B」を書き込む(図12A参照)。
【0160】
また、ログ解析装置201は、ネットワークログL3から、「ipsec-dynamic-rule(223)」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「C」を書き込む(図12A,12B参照)。なお、一次メモに「B」が書き込まれている場合、ログ解析装置201は、「C」で上書きする。
【0161】
また、VLAN_IDは、顧客に一意の値である。したがって、「ipsec-dynamic-rule(223)」を含む通信データは、該当顧客の通信データであるといえる。このため、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する確定メモに「ON」を書き込む(図12A,12B参照)。
【0162】
例えば、ネットワークログL3の2行目の通信データには、「ipsec-dynamic-rule(223)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「2」に対応する一次メモに「C」を書き込むとともに、行番号「2」に対応する確定メモに「ON」を書き込む(図12A参照)。
【0163】
また、ログ解析装置201は、検索した「ipsec-dynamic-rule(223)」を含む通信データに含まれるクライアントIPアドレスを特定する。例えば、ネットワークログL3の2行目の通信データには、IPアドレス「IpAdd153,IpAdd67」が含まれる。「IpAdd153」は、ネットワーク装置202のIPアドレスである。このため、ログ解析装置201は、クライアントIPアドレスとして、「IpAdd67」を特定する。このクライアントIPアドレスは、該当顧客のIPアドレスであるといえる。
【0164】
つぎに、ログ解析装置201は、ネットワークログL3から、特定したクライアントIPアドレス「IpAdd67」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「D」を書き込む(図12A,12B参照)。
【0165】
例えば、ネットワークログL2の1行目の通信データには、「IpAdd67」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応する一次メモに「D」を書き込む(図12A参照)。
【0166】
以下、ネットワークログL3内の一次メモにA,B,C,Dのいずれかが書き込まれた行の通信データを検索対象とする。
【0167】
・IKEフェーズ1のネゴシエーションの解析
つぎに、ログ解析装置201は、検索対象から、第1のプロトコルメッセージ「PHASE1 negotiation begins」を含む通信データ(第1通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの開始として、抽出管理テーブル800内の検索した通信データに対応するフェーズ1メモに「E」を書き込む(図12C,12D参照)。
【0168】
例えば、ネットワークログL3の7行目の通信データには、「PHASE1 negotiation begins」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「7」に対応するフェーズ1メモに「E」を書き込む(図12C参照)。
【0169】
つぎに、ログ解析装置201は、検索対象から、第2のプロトコルメッセージ「ISAKMP-SA has been established」を含む通信データ(第2通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ1メモに「F」を書き込む(図12C,12D参照)。
【0170】
例えば、ネットワークログL3の9行目の通信データには、「ISAKMP-SA has been established」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「9」に対応するフェーズ1メモに「F」を書き込む(図12C参照)。
【0171】
つぎに、ログ解析装置201は、検索した通信データ(第2通信データ)に、「host0223」が含まれるか否かを判断する。例えば、ネットワークログL3の9行目の通信データには、「host0223」が含まれる。
【0172】
ここで、「host0223」が含まれる場合、該当顧客のIKEフェーズ1の確立成功であり、フェーズ1メモ「E」からフェーズ1メモ「F」までの間の行のクライアントIPアドレスは、該当顧客のIPアドレスであると特定できる。このため、ログ解析装置201は、フェーズ1メモ「E」からフェーズ1メモ「F」までの間の通信データに対応する確定メモに「ON」を書き込む(図12C,12D参照)。ただし、空白行は除外する。
【0173】
例えば、ネットワークログL3の7行目の通信データは、フェーズ1メモ「E」からフェーズ1メモ「F」までの範囲に含まれる行である。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「7」に対応する確定メモに「ON」を書き込む(図12C参照)。
【0174】
・IKEフェーズ2のネゴシエーションの解析
つぎに、ログ解析装置201は、検索対象から、第3のプロトコルメッセージ「PHASE2 negotiation begins」を含む通信データ(第3通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの開始として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「G」を書き込む(図12E,12F参照)。
【0175】
例えば、ネットワークログL3の1行目の通信データには、「PHASE2 negotiation begins」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応するフェーズ2メモに「G」を書き込む(図12E参照)。
【0176】
つぎに、ログ解析装置201は、検索対象から、第4のプロトコルメッセージ「IPsec-SA has been established:(INBOUND)」を含む通信データ(第4通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「H」を書き込む(図12E,12F参照)。
【0177】
例えば、ネットワークログL3の3行目の通信データには、「IPsec-SA has been established:(INBOUND)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「3」に対応するフェーズ2メモに「H」を書き込む(図12E参照)。
【0178】
また、ログ解析装置201は、検索対象から、第5のプロトコルメッセージ「IPsec-SA has been established:(OUTBOUND)」を含む通信データ(第5通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「I」を書き込む(図12E,12F参照)。
【0179】
例えば、ネットワークログL3の5行目の通信データには、「IPsec-SA has been established:(OUTBOUND)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「5」に対応するフェーズ2メモに「I」を書き込む(図12E参照)。
【0180】
つぎに、ログ解析装置201は、検索した通信データ(第4通信データ、第5通信データ)に、「ipsec-dynamic-rule(223)」が含まれるか否かを判断する。例えば、ネットワークログL3の3,5行目の通信データには、「ipsec-dynamic-rule(223)」が含まれる。
【0181】
ここで、「ipsec-dynamic-rule(223)」が含まれる場合、該当顧客のIKEフェーズ2の確立成功であり、フェーズ2メモ「G」からフェーズ2メモ「I」までの間(G~H~I)の行のクライアントIPアドレスは、該当顧客のIPアドレスであると特定できる。このため、ログ解析装置201は、フェーズ2メモ「G」からフェーズ2メモ「I」までの間(G~H~I)の通信データに対応する確定メモに「ON」を書き込む(図12E,12F参照)。ただし、空白行は除外する。
【0182】
例えば、ネットワークログL3の1行目の通信データは、フェーズ2メモ「G」からフェーズ2メモ「I」までの範囲(G~H~I)に含まれる行である。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応する確定メモに「ON」を書き込む(図12E参照)。
【0183】
・クッキー値による有効範囲の解析
つぎに、ログ解析装置201は、検索対象から、同一のクッキー値を含む通信データ群を検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応するcookieメモに「クッキーID」を書き込む(図12G,12H参照)。
【0184】
例えば、ネットワークログL3の8,9,13,15,16行目の通信データには、同一のクッキー値「92b72df3e38fc2c0」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8,9,13,15,16」に対応するcookieメモに「J」を書き込む(図12G参照)。
【0185】
つぎに、ログ解析装置201は、検索した通信データ群に「host0223」を含む通信データが含まれるか否かを判断する。「host0223」を含む通信データのクライアントIPアドレスは、該当顧客のIPアドレスである。例えば、ネットワークログL3の8行目の通信データには、「host0223」が含まれる。このため、8行目の通信データのクライアントIPアドレス「IpAdd16」は、該当顧客のIPアドレスであるといえる。
【0186】
このため、ログ解析装置201は、同一のクッキーIDの先頭の通信データから最終の通信データまでの間で、該当顧客のクライアントIPアドレスと同一のIPアドレスを含む通信データに対応する確定メモに「ON」を書き込む(図12G,12H参照)。
【0187】
例えば、ネットワークログL3の10行目の通信データは、クッキーID「J」の先頭の通信データ(8行目)から最終の通信データ(16行目)までの間で、クライアントIPアドレス「IpAdd16」と同一のIPアドレスを含む。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「10」に対応する確定メモに「ON」を書き込む(図12G参照)。
【0188】
以上により、ネットワークログL3のうちの抽出対象となる通信データを決定することができる。ログ解析装置201は、図12G,12Hに示した抽出管理テーブル800を参照して、確定メモ「ON」の通信データをネットワークログL3から抽出することにより、該当顧客(顧客B)の通信データのみを抽出することができる。
【0189】
つぎに、図13A図13D図14A図14Hを用いて、ネットワークログLの第3の解析例について説明する。
【0190】
図13A図13Dは、ネットワークログLの第4の具体例を示す説明図である。図13A図13Dにおいて、ネットワークログL4は、ネットワーク装置202により記録されたログの一例であり、複数の通信データを含む。なお、図13A図13Dでは、説明の都合上、行番号を表示している。
【0191】
ここでは、ネットワークログL4を解析対象のネットワークログLとする。また、抽出条件として、顧客ID「C1」を含む抽出条件を受け付けた場合を想定する。この場合、該当顧客は「顧客A」である。
【0192】
図14A図14Hは、抽出管理テーブル800の記憶内容の第3の変遷例を示す説明図である。以下、図14A図14Hを用いて、ネットワークログL4に含まれる通信データごとの抽出管理情報を抽出管理テーブル800に記憶する場合について説明する。
【0193】
・一次抽出処理
まず、ログ解析装置201は、顧客情報DB220(図4参照)を参照して、抽出条件に含まれる該当顧客の顧客ID「C1」に対応するVLAN_ID「33」を取得する。つぎに、ログ解析装置201は、ネットワークログL4から、「host0033」を含む通信データを検索する。
【0194】
そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「A」を書き込む(図14A,14B参照)。VLAN_IDは、顧客に一意の値である。したがって、「host0033」を含む通信データは、該当顧客の通信データであるといえる。このため、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する確定メモに「ON」を書き込む(図14A,14B参照)。
【0195】
例えば、ネットワークログL4の9行目の通信データには、「host0033」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「9」に対応する一次メモに「A」を書き込むとともに、行番号「9」に対応する確定メモに「ON」を書き込む(図14A参照)。
【0196】
また、ログ解析装置201は、検索した「host0033」を含む通信データに含まれるクライアントIPアドレスを特定する。例えば、ネットワークログL4の8行目の通信データには、IPアドレス「IpAdd153,IpAdd186」が含まれる。「IpAdd153」は、ネットワーク装置202のIPアドレスである。この場合、ログ解析装置201は、クライアントIPアドレスとして、「IpAdd186」を特定する。このクライアントIPアドレスは、該当顧客のIPアドレスであるといえる。
【0197】
つぎに、ログ解析装置201は、ネットワークログL4から、特定したクライアントIPアドレス「IpAdd186」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「B」を書き込む(図14A,14B参照)。
【0198】
例えば、ネットワークログL4の8行目の通信データには、「IpAdd186」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8」に対応する一次メモに「B」を書き込む(図14A参照)。
【0199】
また、ログ解析装置201は、ネットワークログL4から、「ipsec-dynamic-rule(33)」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「C」を書き込む(図14A,14B参照)。なお、一次メモに「B」が書き込まれている場合、ログ解析装置201は、「C」で上書きする。
【0200】
また、VLAN_IDは、顧客に一意の値である。したがって、「ipsec-dynamic-rule(33)」を含む通信データは、該当顧客の通信データであるといえる。このため、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する確定メモに「ON」を書き込む(図14A,14B参照)。
【0201】
例えば、ネットワークログL4の2行目の通信データには、「ipsec-dynamic-rule(33)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「2」に対応する一次メモに「C」を書き込むとともに、行番号「2」に対応する確定メモに「ON」を書き込む(図14A参照)。
【0202】
また、ログ解析装置201は、検索した「ipsec-dynamic-rule(33)」を含む通信データに含まれるクライアントIPアドレスを特定する。例えば、ネットワークログL4の2行目の通信データには、IPアドレス「IpAdd153,IpAdd147」が含まれる。「IpAdd153」は、ネットワーク装置202のIPアドレスである。このため、ログ解析装置201は、クライアントIPアドレスとして、「IpAdd147」を特定する。このクライアントIPアドレスは、該当顧客のIPアドレスであるといえる。
【0203】
つぎに、ログ解析装置201は、ネットワークログL4から、特定したクライアントIPアドレス「IpAdd147」を含む通信データを検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応する一次メモに「D」を書き込む(図14A,14B参照)。
【0204】
例えば、ネットワークログL2の1行目の通信データには、「IpAdd147」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応する一次メモに「D」を書き込む(図14A参照)。
【0205】
以下、ネットワークログL4内の一次メモにA,B,C,Dのいずれかが書き込まれた行の通信データを検索対象とする。
【0206】
・IKEフェーズ1のネゴシエーションの解析
つぎに、ログ解析装置201は、検索対象から、第1のプロトコルメッセージ「PHASE1 negotiation begins」を含む通信データ(第1通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの開始として、抽出管理テーブル800内の検索した通信データに対応するフェーズ1メモに「E」を書き込む(図14C,14D参照)。
【0207】
例えば、ネットワークログL4の8行目の通信データには、「PHASE1 negotiation begins」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「8」に対応するフェーズ1メモに「E」を書き込む(図14C参照)。
【0208】
つぎに、ログ解析装置201は、検索対象から、第2のプロトコルメッセージ「ISAKMP-SA has been established」を含む通信データ(第2通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ1メモに「F」を書き込む(図14C,14D参照)。
【0209】
例えば、ネットワークログL4の10行目の通信データには、「ISAKMP-SA has been established」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「10」に対応するフェーズ1メモに「F」を書き込む(図14C参照)。
【0210】
つぎに、ログ解析装置201は、検索した通信データ(第2通信データ)に、「host0033」が含まれるか否かを判断する。例えば、ネットワークログL4の10行目の通信データには、「host0033」が含まれる。
【0211】
ここで、「host0033」が含まれる場合、該当顧客のIKEフェーズ1の確立成功であり、フェーズ1メモ「E」からフェーズ1メモ「F」までの間の行のクライアントIPアドレスは、該当顧客のIPアドレスであると特定できる。このため、ログ解析装置201は、フェーズ1メモ「E」からフェーズ1メモ「F」までの間の通信データに対応する確定メモに「ON」を書き込む(図14C,14D参照)。ただし、空白行は除外する。
【0212】
例えば、ネットワークログL4の33行目の通信データは、フェーズ1メモ「E」からフェーズ1メモ「F」までの範囲に含まれる行である。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「33」に対応する確定メモに「ON」を書き込む(図14D参照)。
【0213】
なお、ネットワークログL4の22~24行目にも、フェーズ1メモ「E」からフェーズ1メモ「F」までの範囲がある。しかしながら、24行目のフェーズ1メモ「F」の通信データには、「host0033」が含まれない。このため、この範囲の確定メモは「ON」とならない。
【0214】
・IKEフェーズ2のネゴシエーションの解析
つぎに、ログ解析装置201は、検索対象から、第3のプロトコルメッセージ「PHASE2 negotiation begins」を含む通信データ(第3通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの開始として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「G」を書き込む(図14E,14F参照)。
【0215】
例えば、ネットワークログL4の1行目の通信データには、「PHASE2 negotiation begins」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応するフェーズ2メモに「G」を書き込む(図14E参照)。
【0216】
つぎに、ログ解析装置201は、検索対象から、第4のプロトコルメッセージ「IPsec-SA has been established:(INBOUND)」を含む通信データ(第4通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「H」を書き込む(図14E,14F参照)。
【0217】
例えば、ネットワークログL4の3行目の通信データには、「IPsec-SA has been established:(INBOUND)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「3」に対応するフェーズ2メモに「H」を書き込む(図14E参照)。
【0218】
また、ログ解析装置201は、検索対象から、第5のプロトコルメッセージ「IPsec-SA has been established:(OUTBOUND)」を含む通信データ(第5通信データ)を検索する。そして、ログ解析装置201は、ネゴシエーションの終了として、抽出管理テーブル800内の検索した通信データに対応するフェーズ2メモに「I」を書き込む(図14E,14F参照)。
【0219】
例えば、ネットワークログL4の5行目の通信データには、「IPsec-SA has been established:(OUTBOUND)」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「5」に対応するフェーズ2メモに「I」を書き込む(図14E参照)。
【0220】
つぎに、ログ解析装置201は、検索した通信データ(第4通信データ、第5通信データ)に、「ipsec-dynamic-rule(33)」が含まれるか否かを判断する。例えば、ネットワークログL4の3,5行目の通信データには、「ipsec-dynamic-rule(33)」が含まれる。
【0221】
ここで、「ipsec-dynamic-rule(33)」が含まれる場合、該当顧客のIKEフェーズ2の確立成功であり、フェーズ2メモ「G」からフェーズ2メモ「I」までの間(G~H~I)の行のクライアントIPアドレスは、該当顧客のIPアドレスであると特定できる。このため、ログ解析装置201は、フェーズ2メモ「G」からフェーズ2メモ「I」までの間(G~H~I)の通信データに対応する確定メモに「ON」を書き込む(図14E,14F参照)。ただし、空白行は除外する。
【0222】
例えば、ネットワークログL4の1行目の通信データは、フェーズ2メモ「G」からフェーズ2メモ「I」までの範囲(G~H~I)に含まれる行である。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「1」に対応する確定メモに「ON」を書き込む(図14E参照)。
【0223】
・クッキー値による有効範囲の解析
つぎに、ログ解析装置201は、検索対象から、同一のクッキー値を含む通信データ群を検索する。そして、ログ解析装置201は、抽出管理テーブル800内の検索した通信データに対応するcookieメモに「クッキーID」を書き込む(図14G,14H参照)。
【0224】
例えば、ネットワークログL4の9,10,14,16,17行目の通信データには、同一のクッキー値「6278bc68d344f112」が含まれる。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「9,10,14,16,17」に対応するcookieメモに「J」を書き込む(図14G参照)。
【0225】
つぎに、ログ解析装置201は、検索した通信データ群に「host0033」を含む通信データが含まれるか否かを判断する。「host0033」を含む通信データのクライアントIPアドレスは、該当顧客のIPアドレスである。例えば、ネットワークログL4の9行目の通信データには、「host0033」が含まれる。このため、9行目の通信データのクライアントIPアドレス「IpAdd186」は、該当顧客のIPアドレスであるといえる。
【0226】
このため、ログ解析装置201は、同一のクッキーIDの先頭の通信データから最終の通信データまでの間で、クライアントIPアドレスと同一のIPアドレスを含む通信データに対応する確定メモに「ON」を書き込む(図14G,14H参照)。
【0227】
例えば、ネットワークログL4の11行目の通信データは、クッキーID「J」の先頭の通信データ(9行目)から最終の通信データ(17行目)までの間で、クライアントIPアドレス「IpAdd186」と同一のIPアドレスを含む。この場合、ログ解析装置201は、抽出管理テーブル800の行番号「9」に対応する確定メモに「ON」を書き込む(図14G参照)。
【0228】
以上により、ネットワークログL4のうちの抽出対象となる通信データを決定することができる。ログ解析装置201は、図14G,14Hに示した抽出管理テーブル800を参照して、確定メモ「ON」の通信データをネットワークログL4から抽出することにより、該当顧客(顧客A)の通信データのみを抽出することができる。
【0229】
また、ネットワークログL4の22~31行目の通信データは、該当顧客とは異なる他の顧客が一時的に、同じクライアントIPアドレス「IpAdd147」を使用した例である。ここでは、同じクライアントIPアドレス「IpAdd147」を含む通信データであっても、確定メモがONにならず、抽出対象から排除することができている。
【0230】
(ログ解析装置201のログ解析処理手順)
つぎに、図15を用いて、ログ解析装置201のログ解析処理手順について説明する。
【0231】
図15は、ログ解析装置201のログ解析処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、ログ解析装置201は、抽出条件を受け付けたか否かを判断する(ステップS1501)。抽出条件には、例えば、顧客ID、顧客名などが含まれる。
【0232】
ここで、ログ解析装置201は、抽出条件を受け付けるのを待つ(ステップS1501:No)。ログ解析装置201は、抽出条件を受け付けた場合(ステップS1501:Yes)、一次抽出処理を実行する(ステップS1502)。一次抽出処理の具体的な処理手順については、図16図19を用いて後述する。
【0233】
そして、ログ解析装置201は、第1のネゴシエーション解析処理を実行する(ステップS1503)。第1のネゴシエーション解析処理の具体的な処理手順については、図20および図21を用いて後述する。
【0234】
つぎに、ログ解析装置201は、第2のネゴシエーション解析処理を実行する(ステップS1504)。第2のネゴシエーション解析処理の具体的な処理手順については、図22および図23を用いて後述する。
【0235】
そして、ログ解析装置201は、クッキー解析処理を実行する(ステップS1505)。クッキー解析処理の具体的な処理手順については、図24および図25を用いて後述する。
【0236】
つぎに、ログ解析装置201は、抽出管理テーブル800を参照して、確定メモ「ON」の通信データをネットワークログLから抽出する(ステップS1506)。そして、ログ解析装置201は、抽出した通信データを含むログ解析結果を出力して(ステップS1507)、本フローチャートによる一連の処理を終了する。
【0237】
これにより、ログ解析装置201は、ネットワークログLから、該当顧客の通信データのみを抽出することができる。なお、ログ解析装置201は、ステップS1503~S1505のいずれかの処理を実行しないことにしてもよい。
【0238】
つぎに、図16図19を用いて、ステップS1502の一次抽出処理の具体的な処理手順について説明する。
【0239】
図16図19は、一次抽出処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、ログ解析装置201は、顧客情報DB220を参照して、受け付けた抽出条件に含まれる顧客ID等に対応するVLAN_IDを取得する(ステップS1601)。
【0240】
つぎに、ログ解析装置201は、ネットワークログLから、「host00xx」を含む行(通信データ)を検索する(ステップS1602)。ただし、xxは、ステップS1601において取得されたVLAN_ID(該当顧客のVLAN_ID)に対応する。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS1603)。
【0241】
ここで、行(通信データ)が見つからなかった場合(ステップS1603:No)、ログ解析装置201は、ステップS1606に移行する。一方、行(通信データ)が見つかった場合(ステップS1603:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する一次メモに「A」を書き込む(ステップS1604)。
【0242】
そして、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する確定メモに「ON」を書き込む(ステップS1605)。つぎに、ログ解析装置201は、ネットワークログLを全て検索したか否かを判断する(ステップS1606)。
【0243】
ここで、ネットワークログLを全て検索していない場合(ステップS1606:No)、ログ解析装置201は、ステップS1602に戻る。一方、ネットワークログLを全て検索した場合(ステップS1606:Yes)、ログ解析装置201は、図17に示すステップS1701に移行する。
【0244】
図17のフローチャートにおいて、まず、ログ解析装置201は、一次メモに「A」が書かれた行(通信データ)のクライアントIPアドレスを特定する(ステップS1701)。そして、ログ解析装置201は、特定したクライアントIPアドレスのうち選択されていない未選択のクライアントIPアドレスを選択する(ステップS1702)。
【0245】
つぎに、ログ解析装置201は、ネットワークログLから、選択したクライアントIPアドレスを含む行(通信データ)を検索する(ステップS1703)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS1704)。
【0246】
ここで、行(通信データ)が見つからなかった場合(ステップS1704:No)、ログ解析装置201は、ステップS1707に移行する。一方、行(通信データ)が見つかった場合(ステップS1704:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する一次メモに「A」が書かれているか否かを判断する(ステップS1705)。
【0247】
ここで、一次メモに「A」が書かれている場合(ステップS1705:Yes)、ログ解析装置201は、ステップS1707に移行する。一方、一次メモに「A」が書かれていない場合(ステップS1705:No)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する一次メモに「B」を書き込む(ステップS1706)。
【0248】
そして、ログ解析装置201は、ネットワークログLを全て検索したか否かを判断する(ステップS1707)。ここで、ネットワークログLを全て検索していない場合(ステップS1707:No)、ログ解析装置201は、ステップS1703に戻る。
【0249】
一方、ネットワークログLを全て検索した場合(ステップS1707:Yes)、ログ解析装置201は、特定したクライアントIPアドレスのうち選択されていない未選択のクライアントIPアドレスがあるか否かを判断する(ステップS1708)。
【0250】
ここで、未選択のクライアントIPアドレスがある場合(ステップS1708:Yes)、ログ解析装置201は、ステップS1702に戻る。一方、未選択のクライアントIPアドレスがない場合(ステップS1708:No)、ログ解析装置201は、図18に示すステップS1801に移行する。
【0251】
図18のフローチャートにおいて、まず、ログ解析装置201は、ネットワークログLから、「ipsec-dynamic-rule(xx)」を含む行(通信データ)を検索する(ステップS1801)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS1802)。
【0252】
ここで、行(通信データ)が見つからなかった場合(ステップS1802:No)、ログ解析装置201は、ステップS1805に移行する。一方、行(通信データ)が見つかった場合(ステップS1802:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する一次メモに「C」を書き込む(ステップS1803)。なお、一次メモに「B」が書き込まれている場合、ログ解析装置201は、「C」で上書きする。
【0253】
つぎに、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する確定メモに「OK」を書き込む(ステップS1804)。そして、ログ解析装置201は、ネットワークログLを全て検索したか否かを判断する(ステップS1805)。
【0254】
ここで、ネットワークログLを全て検索していない場合(ステップS1805:No)、ログ解析装置201は、ステップS1801に戻る。一方、ネットワークログLを全て検索した場合(ステップS1805:Yes)、ログ解析装置201は、図19に示すステップS1901に移行する。
【0255】
図19のフローチャートにおいて、まず、ログ解析装置201は、一次メモに「C」が書かれた行(通信データ)のクライアントIPアドレスを特定する(ステップS1901)。そして、ログ解析装置201は、特定したクライアントIPアドレスのうち選択されていない未選択のクライアントIPアドレスを選択する(ステップS1902)。
【0256】
つぎに、ログ解析装置201は、ネットワークログLから、選択したクライアントIPアドレスを含む行(通信データ)を検索する(ステップS1903)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS1904)。
【0257】
ここで、行(通信データ)が見つからなかった場合(ステップS1904:No)、ログ解析装置201は、ステップS1907に移行する。一方、行(通信データ)が見つかった場合(ステップS1904:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する一次メモに「C」が書かれているか否かを判断する(ステップS1905)。
【0258】
ここで、一次メモに「C」が書かれている場合(ステップS1905:Yes)、ログ解析装置201は、ステップS1907に移行する。一方、一次メモに「C」が書かれていない場合(ステップS1905:No)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応する一次メモに「D」を書き込む(ステップS1906)。
【0259】
そして、ログ解析装置201は、ネットワークログLを全て検索したか否かを判断する(ステップS1907)。ここで、ネットワークログLを全て検索していない場合(ステップS1907:No)、ログ解析装置201は、ステップS1903に戻る。
【0260】
一方、ネットワークログLを全て検索した場合(ステップS1907:Yes)、ログ解析装置201は、特定したクライアントIPアドレスのうち選択されていない未選択のクライアントIPアドレスがあるか否かを判断する(ステップS1908)。
【0261】
ここで、未選択のクライアントIPアドレスがある場合(ステップS1908:Yes)、ログ解析装置201は、ステップS1902に戻る。一方、未選択のクライアントIPアドレスがない場合(ステップS1908:No)、ログ解析装置201は、一次抽出処理を呼び出したステップに戻る。
【0262】
これにより、ログ解析装置201は、該当顧客のVLAN_IDを含むホスト名やプロトコルメッセージを手がかりにして、抽出対象の通信データ(確定メモ「ON」の通信データ)を決定することができる。また、ログ解析装置201は、該当顧客のクライアントIPアドレスと同一のIPアドレスを含む通信データを、該当顧客の通信データの候補として検索することができる。
【0263】
つぎに、図20および図21を用いて、ステップS1503の第1のネゴシエーション解析処理の具体的な処理手順について説明する。
【0264】
図20および図21は、第1のネゴシエーション解析処理の具体的処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、ログ解析装置201は、ネットワークログLのうち一次メモにA,B,C,Dが書かれている行(通信データ)を検索対象とする(ステップS2001)。
【0265】
つぎに、ログ解析装置201は、検索対象から、「PHASE1 negotiation begins」を含む行(通信データ)を検索する(ステップS2002)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2003)。
【0266】
ここで、行(通信データ)が見つからなかった場合(ステップS2003:No)、ログ解析装置201は、ステップS2005に移行する。一方、行(通信データ)が見つかった場合(ステップS2003:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するフェーズ1メモに「E」を書き込む(ステップS2004)。
【0267】
そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2005)。ここで、検索対象を全て検索していない場合(ステップS2005:No)、ログ解析装置201は、ステップS2002に戻る。
【0268】
一方、検索対象を全て検索した場合(ステップS2005:Yes)、ログ解析装置201は、検索対象から、「ISAKMP-SA has been established」を含む行(通信データ)を検索する(ステップS2006)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2007)。
【0269】
ここで、行(通信データ)が見つからなかった場合(ステップS2007:No)、ログ解析装置201は、ステップS2009に移行する。一方、行(通信データ)が見つかった場合(ステップS2007:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するフェーズ1メモに「F」を書き込む(ステップS2008)。
【0270】
そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2009)。ここで、検索対象を全て検索していない場合(ステップS2009:No)、ログ解析装置201は、ステップS2006に戻る。一方、検索対象を全て検索した場合(ステップS2009:Yes)、ログ解析装置201は、図21に示すステップS2101に移行する。
【0271】
図21のフローチャートにおいて、まず、ログ解析装置201は、フェーズ1メモに「F」が書かれた行のhostxxを特定する(ステップS2101)。そして、ログ解析装置201は、特定したhostxxが該当顧客と同じか否かを判断する(ステップS2102)。
【0272】
なお、hostxxが該当顧客と同じとは、xxの部分が、該当顧客のVLAN_ID(図16に示したステップS1602において取得されたVLAN_ID)と同一であることを示す。
【0273】
ここで、該当顧客と異なる場合(ステップS2102:No)、ログ解析装置201は、第1のネゴシエーション解析処理を呼び出したステップに戻る。一方、該当顧客と同じ場合(ステップS2102:Yes)、ログ解析装置201は、抽出管理テーブル800内のフェーズ1メモに「E」が書かれた行から「F」が書かれた行までの各行の確定メモに「ON」を書き込んで(ステップS2103)、第1のネゴシエーション解析処理を呼び出したステップに戻る。
【0274】
これにより、ログ解析装置201は、該当顧客によるIKEフェーズ1のネゴシエーション通信が行われた範囲を利用して、抽出対象の通信データ(確定メモ「ON」の通信データ)を決定することができる。
【0275】
つぎに、図22および図23を用いて、ステップS1504の第2のネゴシエーション解析処理の具体的な処理手順について説明する。
【0276】
図22および図23は、第2のネゴシエーション解析処理の具体的処理手順の一例を示すフローチャートである。図22のフローチャートにおいて、まず、ログ解析装置201は、検索対象から、「PHASE2 negotiation begins」を含む行(通信データ)を検索する(ステップS2201)。
【0277】
そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2202)。ここで、行(通信データ)が見つからなかった場合(ステップS2202:No)、ログ解析装置201は、ステップS2204に移行する。
【0278】
一方、行(通信データ)が見つかった場合(ステップS2202:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するフェーズ2メモに「G」を書き込む(ステップS2203)。そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2204)。
【0279】
ここで、検索対象を全て検索していない場合(ステップS2204:No)、ログ解析装置201は、ステップS2201に戻る。一方、検索対象を全て検索した場合(ステップS2204:Yes)、ログ解析装置201は、検索対象から、「IPsec-SA has been established:(INBOUND)」を含む行(通信データ)を検索する(ステップS2205)。
【0280】
そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2206)。ここで、行(通信データ)が見つからなかった場合(ステップS2206:No)、ログ解析装置201は、ステップS2208に移行する。
【0281】
一方、行(通信データ)が見つかった場合(ステップS2206:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するフェーズ2メモに「H」を書き込む(ステップS2207)。
【0282】
そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2208)。ここで、検索対象を全て検索していない場合(ステップS2208:No)、ログ解析装置201は、ステップS2205に戻る。一方、検索対象を全て検索した場合(ステップS2208:Yes)、ログ解析装置201は、図23に示すステップS2301に移行する。
【0283】
図23のフローチャートにおいて、まず、ログ解析装置201は、検索対象から、「IPsec-SA has been established:(OUTBOUND)」を含む行(通信データ)を検索する(ステップS2301)。
【0284】
そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2302)。ここで、行(通信データ)が見つからなかった場合(ステップS2302:No)、ログ解析装置201は、ステップS2304に移行する。
【0285】
一方、行(通信データ)が見つかった場合(ステップS2302:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するフェーズ2メモに「I」を書き込む(ステップS2303)。そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2304)。
【0286】
ここで、検索対象を全て検索していない場合(ステップS2304:No)、ログ解析装置201は、ステップS2301に戻る。一方、検索対象を全て検索した場合(ステップS2304:Yes)、ログ解析装置201は、抽出管理テーブル800内のフェーズ2メモに「H」、「I」が書かれた行(通信データ)のipsec-dynamic-rule(xx)を特定する(ステップS2305)。
【0287】
そして、ログ解析装置201は、特定したipsec-dynamic-rule(xx)が該当顧客と同じか否かを判断する(ステップS2306)。なお、ipsec-dynamic-rule(xx)が該当顧客と同じとは、xxの部分が、該当顧客のVLAN_ID(図16に示したステップS1602において取得されたVLAN_ID)と同一であることを示す。
【0288】
ここで、該当顧客と異なる場合(ステップS2306:No)、ログ解析装置201は、第2のネゴシエーション解析処理を呼び出したステップに戻る。一方、該当顧客と同じ場合(ステップS2306:Yes)、ログ解析装置201は、抽出管理テーブル800内のフェーズ2メモに「G」が書かれた行から、「H」および「I」のうち出現順序が遅い方が書かれた行までの各行の確定メモに「ON」を書き込んで(ステップS2307)、第2のネゴシエーション解析処理を呼び出したステップに戻る。
【0289】
これにより、ログ解析装置201は、該当顧客によるIKEフェーズ2のネゴシエーション通信が行われた範囲を利用して、抽出対象の通信データ(確定メモ「ON」の通信データ)を決定することができる。
【0290】
つぎに、図24および図25を用いて、ステップS1505のクッキー解析処理の具体的な処理手順について説明する。
【0291】
図24および図25は、クッキー解析処理の具体的処理手順の一例を示すフローチャートである。図24のフローチャートにおいて、まず、ログ解析装置201は、検索対象から、クッキー値を含む行(通信データ)を検索する(ステップS2401)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2402)。
【0292】
ここで、行(通信データ)が見つからなかった場合(ステップS2402:No)、ログ解析装置201は、クッキー解析処理を呼び出したステップに戻る。一方、行(通信データ)が見つかった場合(ステップS2402:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するcookieメモに「クッキーID」を書き込む(ステップS2403)。
【0293】
つぎに、ログ解析装置201は、検索対象から、同一のクッキー値を含む行(通信データ)を検索する(ステップS2404)。そして、ログ解析装置201は、行(通信データ)が見つかったか否かを判断する(ステップS2405)。ここで、行(通信データ)が見つからなかった場合(ステップS2405:No)、ログ解析装置201は、ステップS2407に移行する。
【0294】
一方、行(通信データ)が見つかった場合(ステップS2405:Yes)、ログ解析装置201は、抽出管理テーブル800内の見つかった行(通信データ)に対応するcookieメモに「同じクッキーID」を書き込む(ステップS2406)。同じクッキーIDとは、ステップS2403において書き込まれたクッキーIDと同一のクッキーIDである。
【0295】
そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2407)。ここで、検索対象を全て検索していない場合(ステップS2407:No)、ログ解析装置201は、ステップS2404に戻る。一方、検索対象を全て検索した場合(ステップS2407:Yes)、ログ解析装置201は、図25に示すステップS2501に移行する。
【0296】
図25のフローチャートにおいて、まず、ログ解析装置201は、抽出管理テーブル800内のcookieメモに「当該クッキーID」が書かれた行(通信データ)のhostxxを特定する(ステップS2501)。当該クッキーIDは、ステップS2403において書き込まれたクッキーIDである。
【0297】
そして、ログ解析装置201は、特定したhostxxが該当顧客と同じか否かを判断する(ステップS2502)。ここで、該当顧客と異なる場合(ステップS2502:No)、ログ解析装置201は、ステップS2505に移行する。
【0298】
一方、該当顧客と同じ場合(ステップS2502:Yes)、ログ解析装置201は、抽出管理テーブル800内のcookieメモに「当該クッキーID」が書かれた行の先頭から最終までの区間を特定する(ステップS2503)。そして、ログ解析装置201は、特定した区間内で、該当顧客と同一のクライアントIPアドレスを含む行(通信データ)の確定メモに「ON」を書き込む(ステップS2504)。
【0299】
そして、ログ解析装置201は、検索対象を全て検索したか否かを判断する(ステップS2505)。ここで、検索対象を全て検索していない場合(ステップS2505:No)、ログ解析装置201は、図24に示したステップS2401に戻る。一方、検索対象を全て検索した場合(ステップS2505:Yes)、ログ解析装置201は、クッキー解析処理を呼び出したステップに戻る。
【0300】
これにより、ログ解析装置201は、該当顧客を識別するクッキー値により管理されたセッションの範囲を利用して、抽出対象の通信データ(確定メモ「ON」の通信データ)を決定することができる。
【0301】
以上説明したように、実施の形態にかかるログ解析装置201によれば、該当顧客のVLAN_IDを取得し、ネットワークログLのうち、取得した該当顧客のVLAN_IDを含む通信データに含まれるクライアントIPアドレスを特定することができる。また、ログ解析装置201によれば、ネットワークログLから、特定したクライアントIPアドレスを含む候補通信データを検索し、ネットワークログLから、暗号化通信確立情報を検索することができる。また、ログ解析装置201によれば、検索した暗号化通信確立情報が該当顧客のVLAN_IDに関係する場合、暗号化通信確立情報に基づいて、検索した候補通信データから抽出対象の通信データを決定することができる。そして、ログ解析装置201によれば、決定した抽出対象の通信データをネットワークログLから抽出し、抽出した通信データを出力することができる。
【0302】
これにより、ログ解析装置201は、該当顧客の暗号化通信が確立したことを特定する情報を利用して、該当顧客のクライアントIPアドレスと同一のIPアドレスを含む候補通信データから、該当顧客の通信データを精度よく抽出することができる。例えば、該当顧客による暗号化通信を行うための情報をやり取りする通信が行われた範囲を利用して、該当顧客の通信データであることを判定して誤抽出を防ぐことができる。
【0303】
また、ログ解析装置201によれば、ネットワークログLから、クッキー関連情報を検索し、検索したクッキー関連情報が該当顧客のVLAN_IDに関係する場合、クッキー関連情報に基づいて、検索した候補通信データから抽出対象の通信データを決定することができる。
【0304】
これにより、ログ解析装置201は、該当顧客のセッションを管理する情報を利用して、該当顧客のクライアントIPアドレスと同一のIPアドレスを含む候補通信データから、該当顧客の通信データを精度よく抽出することができる。
【0305】
また、ログ解析装置201によれば、ネットワークログLから、第1通信データと第2通信データとを検索することができる。第1通信データは、IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージを含む。第2通信データは、IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む。そして、ログ解析装置201によれば、検索した第2通信データに該当顧客のVLAN_ID(例えば、該当顧客のVLAN_IDを含むホスト名)が含まれる場合、検索した候補通信データのうち、第1通信データから第2通信データまでの第1時間範囲に含まれる候補通信データを、抽出対象の通信データに決定することができる。
【0306】
これにより、ログ解析装置201は、該当顧客によるIKEフェーズ1のネゴシエーション通信が行われた範囲を利用して、候補通信データから、該当顧客の通信データを精度よく抽出することができる。
【0307】
また、ログ解析装置201によれば、ネットワークログLから、第3通信データと第4通信データと第5通信データとを検索することができる。第3通信データは、IKEフェーズ2のネゴシエーション通信の開始を示すプロトコルメッセージを含む。第4通信データは、IKEフェーズ2の受信方向のネゴシエーション通信の終了を示すプロトコルメッセージを含む。第5通信データは、IKEフェーズ2の送信方向のネゴシエーション通信の終了を示すプロトコルメッセージを含む。そして、ログ解析装置201によれば、第4通信データおよび第5通信データに該当顧客のVLAN_ID(例えば、該当顧客のVLAN_IDを含むプロトコルメッセージ)が含まれる場合、検索した候補通信データのうち、第3通信データから、第4通信データおよび第5通信データのうち記録時刻が遅い通信データまでの第2時間範囲に含まれる候補通信データを、抽出対象の通信データに決定することができる。
【0308】
これにより、ログ解析装置201は、該当顧客によるIKEフェーズ2のネゴシエーション通信が行われた範囲を利用して、候補通信データから、該当顧客の通信データを精度よく抽出することができる。
【0309】
また、ログ解析装置201によれば、ネットワークログLから、同一のクッキー値を含む通信データ群を検索し、検索した通信データ群の中に該当顧客のVLAN_ID(例えば、該当顧客のVLAN_IDを含むホスト名)を含む通信データが含まれる場合、検索した候補通信データのうち、通信データ群の先頭の通信データから最終の通信データまでの第3時間範囲に含まれる候補通信データを、抽出対象の通信データに決定することができる。
【0310】
これにより、ログ解析装置201は、該当顧客を識別するクッキー値により管理されたセッションの範囲を利用して、候補通信データから、該当顧客の通信データを精度よく抽出することができる。
【0311】
また、ログ解析装置201によれば、取得した該当顧客のVLAN_IDを含む通信データを、抽出対象の通信データに決定することができる。
【0312】
これにより、ログ解析装置201は、該当顧客のVLAN_IDを手がかりにして、該当顧客の通信データを精度よく抽出することができる。
【0313】
また、ログ解析装置201によれば、ネットワークログLから、該当顧客のVLAN_IDを含むホスト名が含まれた通信データを検索し、検索した通信データに含まれるクライアントIPアドレスを特定することができる。
【0314】
これにより、ログ解析装置201は、ホスト名を手がかりにして、該当顧客のクライアントIPアドレスを特定することができる。
【0315】
また、ログ解析装置201によれば、ネットワークログLから、ネットワークログLから、該当顧客のVLAN_IDを含むプロトコルメッセージが含まれた通信データを検索し、検索した通信データに含まれるクライアントIPアドレスを特定することができる。
【0316】
これにより、ログ解析装置201は、プロトコルメッセージ(例えば、暗号化通信のプロトコルを判別するメッセージ)を手がかりにして、該当顧客のクライアントIPアドレスを特定することができる。
【0317】
これらのことから、実施の形態にかかるログ解析装置201によれば、複数のユーザの通信データを含むネットワークログLから特定のユーザ(例えば、該当顧客)の通信データを抽出する際の抽出漏れを防ぐことができる。例えば、オペレータが該当顧客の情報(例えば、顧客ID、顧客名など)を抽出条件として指定するだけで、複数の条件・レイヤによる抽出、およびプロトコルを考慮した有効な範囲抽出が行われて、漏れなく必要な情報を抽出可能となる。
【0318】
なお、本実施の形態で説明したデータ抽出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ抽出プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本データ抽出プログラムは、インターネット等のネットワークを介して配布してもよい。
【0319】
また、本実施の形態で説明したログ解析装置201(情報処理装置101)は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0320】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0321】
(付記1)特定のユーザに対応するネットワーク網を識別する識別子を取得し、
複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、
前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、
前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、
検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、
処理をコンピュータに実行させることを特徴とするデータ抽出プログラム。
【0322】
(付記2)前記暗号化通信確立情報は、IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージと、前記IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージとを含み、
前記検索する処理は、
前記ネットワークログから、前記IKEフェーズ1のネゴシエーション通信の開始を示すプロトコルメッセージを含む第1通信データと、前記IKEフェーズ1のネゴシエーション通信の終了を示すプロトコルメッセージを含む第2通信データとを検索し、
前記決定する処理は、
検索した前記第2通信データに前記識別子が含まれる場合、検索した前記通信データのうち、前記第1通信データから前記第2通信データまでの第1時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載のデータ抽出プログラム。
【0323】
(付記3)前記暗号化通信確立情報は、IKEフェーズ2のネゴシエーション通信の開始を示すプロトコルメッセージと、前記IKEフェーズ2の受信方向のネゴシエーション通信の終了を示すプロトコルメッセージと、前記IKEフェーズ2の送信方向のネゴシエーション通信の終了を示すプロトコルメッセージとを含み、
前記検索する処理は、
前記ネットワークログから、前記IKEフェーズ2のネゴシエーション通信の開始を示すプロトコルメッセージを含む第3通信データと、前記IKEフェーズ2の受信方向のネゴシエーション通信の終了を示すプロトコルメッセージを含む第4通信データと、前記IKEフェーズ2の送信方向のネゴシエーション通信の終了を示すプロトコルメッセージを含む第5通信データとを検索し、
前記決定する処理は、
検索した前記第4通信データおよび前記第5通信データに前記識別子が含まれる場合、検索した前記通信データのうち、前記第3通信データから、前記第4通信データおよび前記第5通信データのうち記録時刻が遅い通信データまでの第2時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする付記1または2に記載のデータ抽出プログラム。
【0324】
(付記4)前記クッキー関連情報を検索し、クッキー値を含み、
前記検索する処理は、
前記ネットワークログから、同一のクッキー値を含む通信データ群を検索し、
前記決定する処理は、
検索した前記通信データ群の中に前記識別子を含む通信データが含まれる場合、検索した前記通信データのうち、前記通信データ群の先頭の通信データから最終の通信データまでの第3時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする付記1~3のいずれか一つに記載のデータ抽出プログラム。
【0325】
(付記5)取得した前記識別子を含む通信データを、前記抽出対象の通信データに決定する、
処理を前記コンピュータに実行させることを特徴とする付記1~4のいずれか一つに記載のデータ抽出プログラム。
【0326】
(付記6)決定した前記抽出対象の通信データを前記ネットワークログから抽出し、
抽出した前記通信データを出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~5のいずれか一つに記載のデータ抽出プログラム。
【0327】
(付記7)前記ネットワーク網は、VLANである、ことを特徴とする付記1~6のいずれか一つに記載のデータ抽出プログラム。
【0328】
(付記8)前記識別子を含む通信データは、前記識別子を含むホスト名が含まれた通信データである、ことを特徴とする付記1~7のいずれか一つに記載のデータ抽出プログラム。
【0329】
(付記9)前記識別子を含む通信データは、前記識別子を含むプロトコルメッセージが含まれた通信データである、ことを特徴とする付記1~8のいずれか一つに記載のデータ抽出プログラム。
【0330】
(付記10)前記決定する処理は、
前記第2通信データに前記識別子を含むホスト名が含まれる場合、検索した前記通信データのうち、前記第1時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、ことを特徴とする付記2に記載のデータ抽出プログラム。
【0331】
(付記11)前記決定する処理は、
前記第4通信データおよび前記第5通信データに前記識別子を含むプロトコルメッセージが含まれる場合、検索した前記通信データのうち、前記第2時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、ことを特徴とする付記3に記載のデータ抽出プログラム。
【0332】
(付記12)前記決定する処理は、
前記通信データ群の中に前記識別子を含むホスト名が含まれた通信データが含まれる場合、検索した前記通信データのうち、前記第3時間範囲に含まれる通信データを、前記抽出対象の通信データに決定する、ことを特徴とする付記4に記載のデータ抽出プログラム。
【0333】
(付記13)特定のユーザに対応するネットワーク網を識別する識別子を取得し、
複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、
前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、
前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、
検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、
処理をコンピュータが実行することを特徴とするデータ抽出方法。
【0334】
(付記14)特定のユーザに対応するネットワーク網を識別する識別子を取得し、
複数の通信データを含むネットワークログのうち、取得した前記識別子を含む通信データに含まれる、前記特定のユーザに対応するIPアドレスを特定し、
前記ネットワークログから、特定した前記IPアドレスを含む通信データを検索し、
前記ネットワークログから、暗号化通信確立情報およびクッキー関連情報の少なくともいずれかの情報を検索し、
検索した前記情報が前記識別子に関係する場合、前記情報に基づいて、検索した前記通信データから抽出対象の通信データを決定する、
処理を実行する制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0335】
101 情報処理装置
110,L,L1,L2,L3,L4 ネットワークログ
111,112,113,114 通信データ
115 第1通信データ
116 第2通信データ
200 情報処理システム
201 ログ解析装置
202 ネットワーク装置
203 顧客サーバ
204 クライアント端末
210 ネットワーク
220 顧客情報DB
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
601 受付部
602 取得部
603 収集部
604 解析部
605 出力部
611 特定部
612 第1の検索部
613 第2の検索部
614 第3の検索部
615 抽出部
700 ログ解析結果
800 抽出管理テーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図10A
図10B
図10C
図10D
図11A
図11B
図11C
図11D
図11E
図12A
図12B
図12C
図12D
図12E
図12F
図12G
図12H
図13A
図13B
図13C
図13D
図14A
図14B
図14C
図14D
図14E
図14F
図14G
図14H
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25