(57)【要約】【課題】  ソフトウェアの動作ログの情報を欠落させることなく、ログにユーザー環境特有の情報が混入することを防ぐログ管理システムを提供することを目的とする。【解決手段】  ログ管理システムにおいて、ログ出力設定１０８に基づきログへのユーザーデータ出力の可否を判定し、出力不可だった場合、ユーザーデータの値を所定のＩＤに変換してログを出力する。ユーザーデータとＩＤの紐付けは、ユーザーデータログとして通常のログとは別途管理する。【選択図】  図１
2012242872.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの動作に応じて動作履歴をログとして出力するログ管理システムであって、
ソフトウェアからログの出力要求を受信するログ出力要求受信手段（１０２）と
ログの出力設定情報を管理するログ出力設定手段（１０９）と、
前記ログ出力設定の内容に応じて、ログに出力するユーザーデータが置換対象かどうかを判定するログ出力判定手段（１０３）と、
前記ログ出力判定手段により置換が必要と判断された場合に、置換対象のユーザーデータ値に所定のＩＤを割り当ててログを出力するログ出力手段（１０４）と、
前記置換対象ユーザーデータとそれに割り当てられたＩＤを、前記ログ出力手段とは別にユーザーデータとして出力するユーザーデータ管理手段（１０５）と、
を有し、
前記ログ出力要求受信手段（１０２）は、ログ出力完了後にソフトウェアにログ出力完了通知を返すことを特徴とするログ管理システム。
【請求項２】
前記ユーザーデータ管理手段（１０５）は、ユーザーデータにすでにＩＤが割り当てられていた場合にはそのＩＤを使用することを特徴とする、請求項１に記載のログ管理システム。
【請求項３】
ソフトウェアの動作に応じて動作履歴をログとして出力するログ管理システムの制御方法において、
ソフトウェアからログの出力要求を受信するログ出力要求受信工程（１０２）と
ログの出力設定情報を管理するログ出力設定工程（１０９）と、
前記ログ出力設定の内容に応じて、ログに出力するユーザーデータが置換対象かどうかを判定するログ出力判定工程（１０３）と、
前記ログ出力判定手段により置換が必要と判断された場合に、置換対象のユーザーデータ値に所定のＩＤを割り当ててログを出力するログ出力工程（１０４）と、
前記置換対象ユーザーデータとそれに割り当てられたＩＤを、前記ログ出力手段とは別にユーザーデータとして出力するユーザーデータ管理工程（１０５）と、
を有し、
前記ログ出力要求受信工程（１０２）は、ログ出力完了後にソフトウェアにログ出力完了通知を返すことを特徴とするログ管理システムの制御方法。
【請求項４】
前記ユーザーデータ管理工程（１０５）は、ユーザーデータにすでにＩＤが割り当てられていた場合にはそのＩＤを使用することを特徴とする請求項３に記載のログ管理システムの制御方法。
【請求項５】
ソフトウェアの動作に応じて動作履歴をログとして出力するログ管理システムの制御方法を情報処理装置に実行させるためのプログラムにおいて、
ソフトウェアからログの出力要求を受信するログ出力要求受信手段（１０２）
ログの出力設定情報を管理するログ出力設定手段（１０９）、
前記ログ出力設定の内容に応じて、ログに出力するユーザーデータが置換対象かどうかを判定するログ出力判定手段（１０３）、
前記ログ出力判定手段により置換が必要と判断された場合に、置換対象のユーザーデータ値に所定のＩＤを割り当ててログを出力するログ出力手段（１０４）、
前記置換対象ユーザーデータとそれに割り当てられたＩＤを、前記ログ出力手段とは別にユーザーデータとして出力するユーザーデータ管理手段（１０５）、
を有し、
前記ログ出力要求受信手段（１０２）は、ログ出力完了後にソフトウェアにログ出力完了通知を返すことを特徴とするログ管理システムの制御方法をコンピューターに実行させるためのコンピューターに読み取り可能なプログラム。
【請求項６】
前記ユーザーデータ管理手段（１０５）は、ユーザーデータにすでにＩＤが割り当てられていた場合にはそのＩＤを使用することを特徴とする、請求項５に記載のログ管理システムの制御方法をコンピューターに実行させるためのコンピューターに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの動作履歴を示すログの管理システムおよびその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、不正アクセスや情報漏えいといった問題が増加するにつれ、ソフトウェアのログ記録が重要視されるようになっている。ログには、ソフトウェアの動作履歴を記録するものや、システムへのユーザーのアクセス履歴を示すもの、ユーザーの操作履歴を示すものなど、さまざまな種類がある。これらのログには、操作を実行したユーザーや、操作対象となったファイルなどを特定できるように、ユーザー名やファイル名を記録しておく必要があるが、これらの情報は組織によっては機密情報とみなされるため、ログを閲覧できる人物が制限される可能性がある。そのため、ログに基づくトラブルシューティングやフォレンジックの作業において、調査に支障をきたす恐れがある。
【０００３】
例えば、システムで障害が発生した際にシステム開発元がログの提供を求めても、ログに機密情報が含まれるためにユーザーがログの提供を拒否する可能性がある。この場合、ユーザー元でログの機密情報をマスクするなどの作業が必要であるが、そのために時間がかかったり、マスク処理によって調査に必要な情報が欠落したりする問題があった。
【０００４】
それに対し、ユーザーの所望のログ形式を指定することでログを加工し、ログに出力する内容を操作する技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−９９４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従ログファイル作成方法では、機密と判断される情報を出力しないようにできるが、それにより情報が削除されてしまうため、ログの分析に支障をきたす可能性がある。また、ログの二次的な改変をするため、誤ってログの内容を書き変えてしまうミスが発生する恐れがある。
【０００７】
本発明は、上記問題に鑑みて成されたものであり、ログ内の機密情報を所定のIDに変換し、機密情報は別に管理することで、ログ情報の欠落なしに機密情報漏えいを回避するログ管理システムおよびその制御方法、並びにプログラムを並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
ソフトウェアの動作に応じて動作履歴をログとして出力するログ管理システムであって、
ソフトウェアからログの出力要求を受信するログ出力要求受信手段（１０２）と
ログの出力設定情報を管理するログ出力設定手段（１０９）と、
前記ログ出力設定の内容に応じて、ログに出力するユーザーデータが置換対象かどうかを判定するログ出力判定手段（１０３）と、
前記ログ出力判定手段により置換が必要と判断された場合に、置換対象のユーザーデータ値に所定のＩＤを割り当ててログを出力するログ出力手段（１０４）と、
前記置換対象ユーザーデータとそれに割り当てられたＩＤを、前記ログ出力手段とは別にユーザーデータとして出力するユーザーデータ管理手段（１０５）と、
を有し、
前記ログ出力要求受信手段（１０２）は、ログ出力完了後にソフトウェアにログ出力完了通知を返すことを特徴とするログ管理システム。
【発明の効果】
【０００９】
本発明によれば、ログに含まれる機密情報を所定のIDに変換し、機密情報は別に管理することで、ログ情報の欠落なしにユーザーデータが動作ログに混入することを防ぐことができる。
【００１０】
また本発明によれば、ログの二次改変を伴わないため、ログの原本性保証を容易に実現できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るログ管理システムの構成を示すブロック図である。
【図２】図１のログ管理システムが動作するハードウェアの構成を示すブロック図である。
【図３】ソフトウェアが内部で持つログ出力フォーマットの一例である。
【図４】ソフトウェアがログ出力モジュール１０１に入力する情報の一例である。
【図５】ログ出力モジュール１０１におけるログ出力処理を示すフローチャートである。
【図６】ログ出力設定部１０９の操作画面の例を示す図である。
【図７】ユーザーデータを隠匿していない場合の動作ログ１０６の例である。
【図８】ユーザーデータを隠匿している場合の動作ログ１０６の例である。
【図９】図８の動作ログ１０６に対応するユーザーデータログ１０７の例である。
【図１０】ログ出力モジュール１０１におけるログ出力処理を示すフローチャートである。
【図１１】ユーザーデータを隠匿している場合の動作ログ１０６の例である。
【図１２】図１１の動作ログ１０６に対応するユーザーデータログ１０７の例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るソフトウェアのログ管理システムの構成を示すブロック図である。ログ出力モジュール１０１は、ログ出力要求受信部１０２、ログ出力判定部１０３、ログ出力部１０４、ユーザーデータ管理部１０５から構成される。ログ出力モジュール１０１は、ソフトウェアからログ出力要求を受信し、ログ出力設定に基づいてログを作成し、動作ログ１０６とユーザーデータログ１０７を出力する。ここで、動作ログとは、ユーザーの操作履歴を示すいわゆる操作ログや、ユーザーの認証履歴を示すいわゆる認証ログなど、ソフトウェアの動作に関するあらゆるログを含んでいる。
【００１４】
ログ出力要求受信部１０２は、ソフトウェアからログ出力要求を受け付ける。ログ出力要求は、ログ出力モジュールが解釈できる所定のフォーマットでログ出力モジュール１０１に入力する必要がある。
【００１５】
ログ出力判定部１０３は、ログ出力設定１０８の設定内容に基づき、ログ出力要求受信部１０２が受信したログの出力方法を判定する。具体的には、ログ出力設定１０８で出力が許可されているユーザーデータについては、そのままログ出力部１０４を介して動作ログ１０６として出力する。一方、ログ出力設定１０８で出力が禁止されているユーザーデータについては、該当するユーザーデータを適当なＩＤ（所定のＩＤ）で置換して、動作ログ１０６を出力する。適当なＩＤは、ログ出力判定部１０３がユーザーデータ管理部１０５に問い合わせることで取得する。ＩＤと置換されたユーザーデータは、ユーザーデータ管理部１０５を介してユーザーデータログ１０７として出力される。なお、ユーザーデータとは、ユーザー名やＩＰアドレスなど、ユーザー環境特有のデータのことを指す。
【００１６】
ログ出力部１０４は、ログ出力判定部１０３から出力すべき動作ログを受け取り、動作ログ１０６を出力する。動作ログは、ログ出力設定１０８で出力が禁止されているユーザーデータの値を含まれていない状態で出力される。
【００１７】
ユーザーデータ管理部１０５は、ログ出力判定部１０３から、出力禁止と判定されたユーザーデータの値に対し、適当なＩＤを発行する。ＩＤは、他のユーザーデータの値と重複しないものを使用する。発行したＩＤと、そのＩＤを割り当てられたユーザーデータは、関連付けてユーザーデータログ１０７に出力する。
【００１８】
ログ出力設定部１０９は、ユーザーに対してログ出力設定１０８を編集するためのインタフェースを提供する。ログ出力設定部１０９は、たとえばＷｅｂアプリケーションとして動作し、ユーザーはブラウザーを使用してログ出力設定画面にアクセスし、ログ出力設定１０８を編集する。
【００１９】
なお、ログ出力モジュール１０１はログを出力すべきソフトウェアに組み込まれてビルドされ、ソフトウェアの一部として動作させても良いし、ソフトウェアとは別に動作させ、ソフトウェアから汎用的なプロトコルによってログ出力要求を受け付けるように構成しても良い。
【００２０】
また、動作ログ１０６、ユーザーデータログ１０７は、ログを記録できるものであればどのような保存形式でも良く、たとえばファイルシステム上のファイル形式で保持していても良いし、データベース上に保持していても良い。
【００２１】
図２は、図１のログ管理システムが動作する情報処理装置（サーバー及びＰＣ）のハードウェア構成を示すブロック図である。
【００２２】
図２において、ＣＰＵ２０１は、ログ出力に関する各種データ処理のための演算を行い、バス２０８に接続された各構成要素を制御する処理装置である。ＲＯＭ２０２は、データ読出し専用のメモリであり、基本制御プログラムが格納されている。ＲＡＭ２０３は、データ読み書き用のメモリであり、ＣＰＵ２０１の各種演算処理やデータの一時記憶用に用いられる。外部記憶装置２０４は、情報処理装置のオペレーティングシステム（ＯＳ）のシステムプログラム、及びログ管理システムのプログラムやデータ処理中の一時記憶領域として用いられる。外部記憶装置２０４は、ＲＡＭ２０３に比べてデータの入出力は遅いが、大容量のデータを保持することが可能である。外部記憶装置２０４は、主に磁気記憶装置（ＨＤＤ）で構成されるが、ＣＤ、ＤＶＤ、メモリカードといった外部メディアを装填してデータの読み込みや記録を行う装置であってもよい。入力装置２０５は、情報処理装置に文字やデータを入力するための装置であり、各種のキーボードやマウスなどが該当する。表示装置２０６は、情報処理装置の処理結果を表示するための装置であり、ＣＲＴまたは液晶モニターなどが該当する。通信装置２０７は、ＬＡＮに接続してＴＣＰ／ＩＰによるデータ通信を行い、他の情報処理装置と相互に通信を行う場合に使用される。
【００２３】
図３は、ソフトウェアが内部で持つログ出力フォーマットの一例である。ソフトウェアは、動作中に適宜ログを出力する。図３は、ソフトウェアがユーザーからリクエストを受信したときに出力するログの例である。不等号で囲まれているＤａｔｅＴｉｍｅとＲｅｑｕｅｓｔＩＤの2つのフィールドは、ログ出力要求受信部１０２に入力する時点で、ソフトウェアが具体的な値を設定する。ＤａｔｅＴｉｍｅはシステム時刻を表すもので、ＲｅｑｕｅｓｔＩＤは、ユーザーからのリクエストを識別するために、ソフトウェアがリクエストごとにユニークに発行するIDである。中括弧で囲まれているＵｓｅｒＮａｍｅとＩＰＡｄｄｒｅｓｓの2つのフィールドは、前述のＤａｔｅＴｉｍｅやＲｅｑｕｅｓｔＩＤのようにソフトウェア独自の値ではなく、ユーザーデータの値を扱うフィールドである。そのため、ＵｓｅｒＮａｍｅとＩＰＡｄｄｒｅｓｓの値を動作ログ１０６に出力するかどうかは、ログ出力判定部１０３が判定する。
【００２４】
図４は、ソフトウェアがログ出力モジュール１０１に入力する情報の一例である。ソフトウェアがログ出力モジュール１０１に入力する情報は、ログの内容と、ログの内容に含まれるユーザーデータを扱うフィールドに入る具体的な値の組み合わせで構成される。図４の例では、ダブルクォーテーションで囲まれた最初の文字列がログの内容であり、ダブルクォーテーションで囲まれた第二、第三の文字列が、ログの内容に含まれるユーザーデータを扱うフィールドに入る具体的な値である。図４のログの内容は、図３の例におけるＤａｔｅＴｉｍｅとＲｅｑｕｅｓｔＩＤの具体的な値は、すでにソフトウェアによって設定されている。一方、ユーザーデータ値を扱うＵｓｅｒＮａｍｅとＩＰＡｄｄｒｅｓｓは、まだ具体的な値を設定されていない。ＵｓｅｒＮａｍｅとＩＰＡｄｄｒｅｓｓに対応する具体的な値は、ログの内容に続けて、「Ｓａｔｏ」と「192.168.0.5」のように指定されている。
【００２５】
図５は、ログ出力モジュール１０１におけるログ出力処理の流れを示すフローチャートである。ログ出力モジュール１０１が動作するＰＣおよびサーバーは、本明細書では、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ等からなる。なお、フローチャートで示す手順がＲＡＭ、ＲＯＭ、ＨＤＤのいずれかの記憶手段に記憶され、ＣＰＵにより実行される。
【００２６】
ステップＳ５０１において、ログ出力判定部１０３は出力するログに含まれるユーザーデータの種類が隠匿対象であるかどうかを判定する。ユーザーデータの種類が隠匿対象であるかどうかは、あらかじめ設定されたログ出力設定１０８に基づいて判定する。
【００２７】
出力するユーザーデータの種類が隠匿対象であった場合、ステップＳ５０２において、ログ出力判定部１０３はユーザーデータ管理部１０５からユーザーデータ値に対応するＩＤを取得する。具体的には、ログ出力判定部１０３が隠匿対象のユーザーデータの種類と値をユーザーデータ管理部１０５に送信し、ユーザーデータ管理部１０５は、ユーザーデータの値に対してユニークなＩＤを発行してログ出力判定部１０３に返す。ユーザーデータ管理部１０５は、ユーザーデータログ１０７として、ユーザーデータの値と発行したＩＤを管理している。
【００２８】
ステップＳ５０３において、ログ出力判定部１０３は、ステップＳ５０２で取得したＩＤでログに含まれるユーザーデータを置換する。
【００２９】
ステップＳ５０４において、ログ出力判定部１０３はログ出力部１０４に対しログ出力を要求する。ログ出力部１０４は、ログ出力判定部１０３から受信した文字列を、動作ログ１０６としてファイル等に出力する。
【００３０】
ステップＳ５０１において、出力するユーザーデータの種類が隠匿対象でなかった場合、ログ出力判定部１０３はログの内容を置換することなく、ステップＳ５０４において、そのままの文字列でログ出力部１０４にログ出力を要求する。ログ出力部１０４は、ログ出力判定部１０３から受信した文字列を、動作ログ１０６としてファイル等に出力する
図６は、ログ出力設定部１０９の操作画面の例を示す図である。ユーザーは、ユーザーデータをログに出力するかどうかを選択する。ユーザーデータの種類としては、ＩＰアドレス、ＭＡＣアドレス、ユーザー名、ホスト名、ファイル名などがある。ユーザーがログ出力設定部１０９を使用して設定した内容は、ログ出力設定１０８として保存される。ここで隠匿するように設定されたユーザーデータは、ログ出力判定部１０３で適当なＩＤに変換されて動作ログ１０６に出力される。ユーザーデータとＩＤの紐づけはユーザーデータログ１０７で管理される。なお、ログ出力設定部１０９で、すべてのユーザーデータを隠匿しないように設定した場合、すべてのユーザーデータは動作ログ１０６に出力されるため、ユーザーデータログ１０７は作成されない。
【００３１】
図７は、ユーザーデータを隠匿していない場合の動作ログ１０６の例である。ユーザーデータを隠匿しない設定であるため、例えば図７の１行目には、ユーザー名（Ｓａｔｏ）とＩＰアドレス（１９２．１６８．０．５）が出力されている。
【００３２】
図８は、ユーザーデータを隠匿している場合の動作ログ１０６の例である。ここではユーザー名とＩＰアドレスを隠匿する設定であることを想定している。基本的な内容は図７の例と同じであるが、たとえば図８の１行目では、ユーザー名が［Ｕｓｅｒ＿０００００００１］というＩＤで、ＩＰアドレスが［ＩＰ＿０００００００１］というＩＤでそれぞれ置換されて出力されている。このように、ユーザーデータを隠匿対象に設定することで、ユーザーデータの具体的な値は動作ログ１０６には出力されなくなる。実際のユーザーデータの値は、ＩＤと紐づけられてユーザーデータログ１０７で管理される。
【００３３】
図９は、図８の動作ログ１０６に対応するユーザーデータログ１０７の例である。ユーザーデータ管理部１０５は、ログ出力判定部１０３から受け取ったユーザーデータの値に対してＩＤを発行し、ユーザーデータログ１０７に追記する。図９の例では、図８の動作ログに出力されていたＩＤである［Ｕｓｅｒ＿０００００００１］が、実際の値である「Ｓａｔo」と紐づけられて管理されている。同様に、［ＩＰ＿０００００００１］というＩＤの具体的な値は「１９２．１６８．０．５」である。
【００３４】
上記第１の実施形態によれば、ログ内の機密情報を適当なIDに変換し、機密情報は別に管理することで、ログ情報の欠落なしにユーザーデータが動作ログに混入することを防ぐことができる。
【００３５】
［第２の実施形態］
本発明の第２の実施の形態では、図１〜図４および図６〜図７に示す構成が上記第１の実施の形態と同じであり、第１の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【００３６】
図１０は、ログ出力モジュール１０１におけるログ出力処理の流れを示すフローチャートである。図１０中のＳ５０１〜Ｓ５０４は、図５に示すものと同一のステップであるため、説明は省略する。
【００３７】
ステップＳ１００１において、ユーザーデータ管理部１０５は、ステップＳ５０１で隠匿対象と判定されたユーザーデータの値がユーザーデータログ１０７に存在するかどうかを確認する。隠匿するユーザーデータの値がユーザーデータログ１０７に存在している場合、そのユーザーデータの値にはすでにＩＤが付与されていることになる。
【００３８】
ステップＳ１００１でユーザーデータの値がユーザーデータログ１０７に存在した場合、ステップＳ１００２において、ユーザーデータ管理部１０５はユーザーデータログ１０７から隠匿対象のユーザーデータの値に対応するＩＤを取得し、ログ出力判定部１０３に返す。
【００３９】
ステップＳ１００１でユーザーデータの値がユーザーデータログ１０７に存在しなかった場合、ステップＳ５０２において、第１の実施形態と同様に、ユーザーデータ管理部１０５はユーザーデータの値に対してユニークなＩＤを発行し、ログ出力判定部１０３に返す。ユーザーデータ管理部１０５は、ユーザーデータログ１０７として、ユーザーデータの値と発行したＩＤを管理する。
【００４０】
図１１は、図７の動作ログの内容について、ユーザーデータを隠匿している場合の動作ログ１０６の例である。図８との違いは、６行目のＤｏｃＮａｍｅのＩＤである。図８では６行目のＤｏｃＮａｍｅのＩＤは［ＤｏｃＮａｍｅ＿０００００００２］であったのに対し、図１１ではＩＤが［ＤｏｃＮａｍｅ＿０００００００１］になっている。第２の実施例では、同じ種類、同じ値のユーザーデータに対しては、ユーザーデータ管理部１０５が同じＩＤを取得してログ出力判定部１０３に返す。図７の例では、２行目と６行目のログにおいて、ファイル名（ＤｏｃＮａｍｅ）の値が同一である。そのため、ファイル名を隠匿した結果である図１１では、２行目と６行目のＤｏｃＮａｍｅのＩＤが、同一のものになっている。
【００４１】
図１２は、図１１の動作ログ１０６に対応するユーザーデータログ１０７の例である。図９との違いは、ＤｏｃＮａｍｅのＩＤ＝０００００００２の値である。第１の実施形態である図９では、ユーザーデータ管理部１０５は、同じユーザーデータ値に対しても新規にＩＤを発行していた。それに対し、第２の実施形態である図１２では、ユーザーデータ管理部はすでにユーザーデータログに値があるものに対しては新規にＩＤを発行せず、ユーザーデータの値に対応するＩＤを取得する。その結果、図１１の例のように、同じ種類、同じ値のユーザーデータは同じＩＤに置換され、動作ログ１０６が出力される。
【００４２】
上記第２の実施形態によれば、同一のユーザーデータが同一のＩＤで置換されて動作ログ１０６が出力されるため、動作ログにより多くの情報量を保持したまま、ユーザーデータが動作ログに混入することを防ぐことができる。
【符号の説明】
【００４３】
１０１  ログ出力モジュール
１０２  ログ出力要求受信部
１０３  ログ出力判定部
１０４  ログ出力部
１０５  ユーザーデータ管理部
１０６  動作ログ
１０７  ユーザーデータログ
１０８  ログ出力設定
１０９  ログ出力設定部
【図１】
2012242872.tif 000003
【図２】
2012242872.tif 000004
【図３】
2012242872.tif 000005
【図４】
2012242872.tif 000006
【図５】
2012242872.tif 000007
【図６】
2012242872.tif 000008
【図７】
2012242872.tif 000009
【図８】
2012242872.tif 000010
【図９】
2012242872.tif 000011
【図１０】
2012242872.tif 000012
【図１１】
2012242872.tif 000013
【図１２】
2012242872.tif 000014