(58)【調査した分野】(Int.Cl.,DB名)
上記追加追跡ログ判定部は、上記しぼり込み期間取得部が入力した処理対象ファイル名が表す処理対象ファイルに記憶された情報を生成元情報として入力し、上記追跡候補情報と生成元情報とを比較して追跡候補情報の生成元情報に対する類似度を求め、求めた類似度が予め設定した類似度閾値より大きいか否か判定し、大きいことを判定した追跡候補ログを出力する
ことを特徴とする請求項1から4のいずれかに記載のファイル追跡装置。
上記ファイル追跡装置は、さらに、ファイルの種類を表す複数の拡張子の各拡張子を組み合わせた複数の組み合わせ拡張子の各組み合わせ拡張子と点数とを対応させた拡張子点数を予め記憶した拡張子点数記憶部を備え、
上記操作ログ記憶部は、各ログエントリが有する上記操作内容が含むファイル名として、ファイルの種類を表すログ拡張子を含むファイル名を記憶し、
上記追跡候補生成部は、上記処理対象ファイル名として、ファイルの種類を表す処理対象拡張子を含むファイル名を入力し、上記拡張子点数記憶部が記憶した複数の拡張子点数から、上記ログ拡張子と上記処理対象拡張子との組み合わせに対応する点数を取得し、取得した点数と予め設定した点数閾値とを比較し、取得した点数が点数閾値より大きいことを判定した場合、上記ログ拡張子を含むファイル名を上記類似ファイル名とする
ことを特徴とする請求項1から4のいずれかに記載のファイル追跡装置。
上記追跡候補生成部は、上記類似ファイル名を有するログエントリを類似ログエントリとし、上記操作ログ記憶部が記憶した複数のログエントリの中に、上記しぼり込み期間に、上記類似ファイル名のファイルを記憶するとの操作を行ったことを表すログエントリがあるか否か、ログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて判定し、ないことを判定した場合、上記類似ログエントリを上記追跡候補ログとして記憶装置に記憶する
ことを特徴とする請求項1または3記載のファイル追跡装置。
上記追跡候補生成部は、上記追跡候補ログの抽出を行う前に、上記操作ログ記憶部が記憶した複数のログエントリの中に、上記しぼり込み期間に、上記処理対象ファイル名のファイルを記憶するとの操作を行ったことを表すログエントリがあるか否か、ログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて判定し、ないことを判定した場合、上記追跡候補ログの抽出を行う
ことを特徴とする請求項2または4記載のファイル追跡装置。
上記追跡候補生成部は、上記類似ファイル名を有するログエントリを類似ログエントリとし、上記操作ログ記憶部が記憶した複数のログエントリの中に、上記保存日時の後に、上記類似ファイル名のファイルを削除するとの操作を行ったことを表すログエントリがあるか否か、ログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて判定し、あることを判定した場合、上記類似ログエントリを上記追跡候補ログとして記憶装置に記憶し、
上記追加追跡ログ判定部は、上記類似ファイルが削除されてアクセスできない場合、上記追跡候補ログを上記追加追跡ログとして上記追加追跡ログ記憶部に記憶する
ことを特徴とする請求項1または3記載のファイル追跡装置。
上記追跡候補生成部は、上記類似ファイル名を有するログエントリを類似ログエントリとし、上記操作ログ記憶部が記憶した複数のログエントリの中に、上記クローズ日時の後に、上記処理対象ファイル名のファイルを削除するとの操作を行ったことを表すログエントリがあるか否か、ログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて判定し、あることを判定した場合、上記類似ログエントリを上記追跡候補ログとして記憶装置に記憶し、
上記追加追跡ログ判定部は、上記類似ファイルが削除されてアクセスできない場合、上記追跡候補ログを上記追加追跡ログとして上記追加追跡ログ記憶部に記憶する
ことを特徴とする請求項2または4記載のファイル追跡装置。
処理装置と、操作コマンドと、操作したファイルのファイル名を含む操作内容と、操作が行われた日時を表すタイムスタンプとを有するログエントリを複数記憶した操作ログ記憶部とを備え、処理対象ファイルを生成した元のファイルを、複数のログエントリを追跡して推定するファイル追跡装置におけるファイル追跡方法であって、
処理装置がしぼり込み期間取得部により、上記処理対象ファイルの処理対象ファイル名を入力し、上記操作ログ記憶部に記憶された複数のログエントリからログエントリが有する操作コマンドと操作内容とを用いて、上記処理対象ファイルを保存する操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプを保存日時として取得するとともに、取得した保存日時までに、上記処理対象ファイルを開く操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプをオープン日時として取得し、取得したオープン日時と上記保存日時とを有するしぼり込み期間を出力するしぼり込み期間取得工程と、
処理装置が追跡候生成部により、上記しぼり込み期間取得工程により出力したしぼり込み期間を入力し、上記操作ログ記憶部が記憶した複数のログエントリからログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて、入力したしぼり込み期間に、上記処理対象ファイル名と類似する類似ファイル名のファイルを開く操作と閉じる操作とのいずれかの操作を行ったことを表すログエントリを1つ以上抽出し、抽出した1つ以上の各ログエントリを追跡候補ログとして記憶装置に記憶する追跡候補生成工程と、
処理装置が追加追跡ログ判定部により、上記追跡候補生成工程により記憶装置に記憶した追跡候補ログを順次入力し、入力した追跡候補ログが有する操作内容に含まれた類似ファイル名が表すファイルに記憶された情報を追跡候補情報として入力し、上記類似ファイル名の類似ファイルを生成した元のファイルを複数のログエントリを追跡して推定するか否かを、入力した追跡候補情報を用いて判定し、推定することを判定した追跡候補ログを追加追跡ログとして出力する追加追跡ログ判定工程と、
処理装置が追跡部により、上記追加追跡ログ判定工程により出力された追加追跡ログが有する操作内容に含まれた上記類似ファイル名を入力し、入力した類似ファイル名の類似ファイルを生成した元のファイルを、上記処理対象ファイルを生成した元のファイルとして、複数のログエントリを追跡して推定する追跡工程と
を備えることを特徴とするファイル追跡方法。
処理装置と、操作コマンドと、操作したファイルのファイル名を含む操作内容と、操作が行われた日時を表すタイムスタンプとを有するログエントリを複数記憶した操作ログ記憶部とを備え、処理対象ファイルを元のファイルとして生成した別の新たなファイルを、複数のログエントリを追跡して推定するファイル追跡装置におけるファイル追跡方法であって、
処理装置がしぼり込み期間取得部により、上記処理対象ファイルの処理対象ファイル名を入力し、上記操作ログ記憶部に記憶された複数のログエントリからログエントリが有する操作コマンドと操作内容とを用いて、上記処理対象ファイルを開く操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプをオープン日時として取得するとともに、取得したオープン日時以降に、上記処理対象ファイルを閉じる操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプをクローズ日時として取得し、取得したオープン日時と上記クローズ日時とを有するしぼり込み期間を出力するしぼり込み期間取得工程と、
処理装置が追跡候補生成部により、上記しぼり込み期間取得工程により出力したしぼり込み期間を入力し、上記操作ログ記憶部が記憶した複数のログエントリからログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて、入力したしぼり込み期間に、上記処理対象ファイル名と類似する類似ファイル名のファイルを記憶するとの操作を行ったことを表すログエントリを1つ以上抽出し、抽出した1つ以上の各ログエントリを追跡候補ログとして記憶装置に記憶する追跡候補生成工程と、
処理装置が追加追跡ログ判定部により、上記追跡候補生成工程により記憶装置に記憶した追跡候補ログを順次入力し、入力した追跡候補ログが有する操作内容に含まれた類似ファイル名が表すファイルに記憶された情報を追跡候補情報として入力し、上記処理対象ファイルから生成した別の新たなファイルである上記類似ファイル名の類似ファイルを、複数のログエントリを追跡して推定するか否かを、入力した追跡候補情報を用いて判定し、推定することを判定した追跡候補ログを追加候補ログとして出力する追加追跡ログ判定工程と、
処理装置が追跡部により、上記追加追跡ログ判定工程により出力された追加候補ログが有する操作内容に含まれた上記類似ファイル名を入力し、入力した類似ファイル名の類似ファイルから生成した別の新たなファイルを、上記処理対象ファイルを元のファイルとして生成した別の新たなファイルとして、複数のログエントリを追跡して推定する追跡工程と
を備えることを特徴とするファイル追跡方法。
処理装置と、操作コマンドと、操作したファイルのファイル名を含む操作内容と、操作が行われた日時を表すタイムスタンプとを有するログエントリを複数記憶した操作ログ記憶部とを備え、処理対象ファイルを生成した元のファイルを、複数のログエントリを追跡して推定する処理をコンピュータに実行させるファイル追跡プログラムであって、
処理装置が、上記処理対象ファイルの処理対象ファイル名を入力し、上記操作ログ記憶部に記憶された複数のログエントリからログエントリが有する操作コマンドと操作内容とを用いて、上記処理対象ファイルを保存する操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプを保存日時として取得するとともに、取得した保存日時までに、上記処理対象ファイルを開く操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプをオープン日時として取得し、取得したオープン日時と上記保存日時とを有するしぼり込み期間を出力するしぼり込み期間取得処理と、
処理装置が、上記しぼり込み期間取得処理により出力したしぼり込み期間を入力し、上記操作ログ記憶部が記憶した複数のログエントリからログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて、入力したしぼり込み期間に、上記処理対象ファイル名と類似する類似ファイル名のファイルを開く操作と閉じる操作とのいずれかの操作を行ったことを表すログエントリを1つ以上抽出し、抽出した1つ以上の各ログエントリを追跡候補ログとして記憶装置に記憶する追跡候補生成処理と、
処理装置が、上記追跡候補生成処理により記憶装置に記憶した追跡候補ログを順次入力し、入力した追跡候補ログが有する操作内容に含まれた類似ファイル名が表すファイルに記憶された情報を追跡候補情報として入力し、上記類似ファイル名の類似ファイルを生成した元のファイルを複数のログエントリを追跡して推定するか否かを、入力した追跡候補情報を用いて判定し、推定することを判定した追跡候補ログを追加追跡ログとして出力する追加追跡ログ判定処理と、
処理装置が、上記追加追跡ログ判定処理により出力された追加追跡ログが有する操作内容に含まれた上記類似ファイル名を、上記処理対象ファイル名として入力し、入力した類似ファイル名の類似ファイルを作成した元のファイルを、上記処理対象ファイルを生成した元のファイルとして、複数のログエントリを追跡して推定する追跡処理と
をコンピュータに実行させることを特徴とするファイル追跡プログラム。
処理装置と、操作コマンドと、操作したファイルのファイル名を含む操作内容と、操作が行われた日時を表すタイムスタンプとを有するログエントリを複数記憶した操作ログ記憶部とを備え、処理対象ファイルを元のファイルとして生成した別の新たなファイルを、複数のログエントリを追跡して推定する処理をコンピュータに実行させるファイル追跡プログラムであって、
処理装置が、上記処理対象ファイルの処理対象ファイル名を入力し、上記操作ログ記憶部に記憶された複数のログエントリからログエントリが有する操作コマンドと操作内容とを用いて、上記処理対象ファイルを開く操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプをオープン日時として取得するとともに、取得したオープン日時以降に、上記処理対象ファイルを閉じる操作を行ったことを表すログエントリを抽出し、抽出したログエントリが有するタイムスタンプをクローズ日時として取得し、取得したオープン日時と上記クローズ日時とを有するしぼり込み期間を出力するしぼり込み期間取得処理と、
処理装置が、上記しぼり込み期間取得処理により出力したしぼり込み期間を入力し、上記操作ログ記憶部が記憶した複数のログエントリからログエントリが有するタイムスタンプと操作コマンドと操作内容とを用いて、入力したしぼり込み期間に、上記処理対象ファイル名と類似する類似ファイル名のファイルを記憶するとの操作を行ったことを表すログエントリを1つ以上抽出し、抽出した1つ以上の各ログエントリを追跡候補ログとして記憶装置に記憶する追跡候補生成処理と、
処理装置が、上記追跡候補生成処理により記憶装置に記憶した追跡候補ログを順次入力し、入力した追跡候補ログが有する操作内容に含まれた類似ファイル名が表すファイルに記憶された情報を追跡候補情報として入力し、上記処理対象ファイルから生成した別の新たなファイルである上記類似ファイル名の類似ファイルを、複数のログエントリを追跡して推定するか否かを、入力した追跡候補情報を用いて判定し、推定することを判定した追跡候補ログを追加候補ログとして出力する追加追跡ログ判定処理と、
処理装置が、上記追加追跡ログ判定処理により出力された追加候補ログが有する操作内容に含まれた上記類似ファイル名を入力し、入力した類似ファイル名の類似ファイルから生成した別の新たなファイルを、上記処理対象ファイルから生成した別の新たなファイルとして、複数のログエントリを追跡して推定する追跡処理と
をコンピュータに実行させることを特徴とするファイル追跡プログラム。
【発明を実施するための形態】
【0011】
以下に説明する実施の形態では、操作ログをログエントリとする。ファイルに対して複写及び貼り付け操作を行うことをコピーアンドペーストと呼ぶ。複数のログエントリを追跡することをトレースと呼ぶ。あるファイルを元にして作成されたファイルを複数のログエントリをトレースして推定する処理をトレースバックと呼ぶ。トレースバックにおいて、上記あるファイルを処理対象ファイル、或いは、トレース対象ファイル、最終トレース対象ファイルと呼び、特に、以下に説明するトレース部においては処理対象ファイル、或いは、トレース対象ファイルと呼び、コピーアンドペーストファイル特定部と追加トレース判断部においては最終トレース対象ファイルと呼ぶ。あるファイルを元にして生成されたファイルを複数のログエントリをトレースして推定する処理をトレースフォワードと呼ぶ。トレースフォワードにおいて、元にしたあるファイルを処理対象ファイル、或いは、トレース対象ファイル、最終トレース対象ファイルと呼び、特に、以下に説明するトレース部においては処理対象ファイル、或いは、トレース対象ファイルと呼び、コピーアンドペーストファイル特定部と追加トレース判断部においては、最終トレース対象ファイルと呼ぶ。電子メールを、単にメールと呼ぶ。
最初の実施の形態で、トレースバックにおいて、トレース対象ファイルをオープンし保存するまでの期間に別途開いていたファイルを推定し、推定したファイルをコピー元の候補とし、トレース対象ファイルに記憶された情報と、候補とした該ファイルに記憶された情報との類似度を調べることで、該ファイルをコピー元であることを特定するファイル追跡装置の一例を説明する。
別の実施の形態で、トレースフォワードにおいて、トレース対象ファイルをオープンしクローズするまでの期間に別途保存したファイルを推定し、推定したファイルをコピー先の候補とし、トレース対象ファイルに記憶された情報と候補とした該ファイルに記憶された情報との類似度を調べることで、該ファイルをコピー先であることを特定するファイル追跡装置の一例を説明する。
まず、トレースバック或いはトレースフォワードを行う運用環境を説明する。
【0012】
図1は、ファイルに対する操作を追跡(トレース)する一例を示す図である。
図1において、機密ファイル91がファイルサーバ90に記憶されている。機密ファイル91のファイル名はaaa.csvである。社員Aが端末Aからファイル名bbb.csvであるファイルを電子メールに添付して、社員Aが所属する組織以外の別の組織にメールサーバ94を介してインターネット940経由で送信する(1)。
(1)の操作を行うと、メールログ(メールを生成、送信する等のメール編集操作の履歴情報)に「社員Aのメールアドレスからファイル bbb.csv をメール添付・送信」という記録がされる。
ファイルサーバの管理者は、(1)の操作で記録されたメールログを確認して、ファイル名bbb.csvであるファイルが電子メールに添付されて他の組織に送信されたことを把握する(2)。
ファイルサーバの管理者は、(2)で把握した電子メールが送信された日時を含む一定の期間内にファイルサーバから端末Aにダウンロードされたファイルを、ファイルサーバの操作ログを確認して把握する(3)。
ファイルサーバから端末Aにファイルがダウンロードされた際、ファイルサーバログに「ファイルサーバから端末Aへaaa.csvをダウンロード」という操作ログの記録がされる。(3)ではファイルサーバの管理者は、記録された操作ログを確認する。
ファイルサーバの管理者は、ダウンロードされたファイルのファイル名と、添付されたファイルのファイル名とが異なるため、社員Aの使用端末である端末Aのファイル操作ログを確認して、ダウンロードされたファイルに対してファイル名を変更するリネーム操作が行われていないか確認する(4)。
社員Aの使用端末である端末Aにおいて、ダウンロードされたファイルに対してファイル名を変更するリネーム操作が行われた際、端末Aの操作ログに「ファイルaaa.csvをファイルbbb.csvにリネーム」という操作ログの記録がされる。
これらの記録を(1)のメール送信の記録から遡って追跡すると、社員Aがメールに添付して送信した添付ファイルbbb.csvはaaa.csvが由来であることが分かる。この様に時間的に遡って、送信したファイルの取り扱いを調査する方法をトレースバックという。
図1では、メールに添付されたbbb.csvをトレース対象ファイルとする。各操作ログ97はログ分析サーバ96に集められトレースバックされる。
【0013】
また、ファイルサーバからダウンロードされたファイルが、ダウンロード後どのように取り扱われ、最終的に組織外部へ送出されたか、複数の操作ログを分析して調査するトレースフォワードがある。トレースフォワードは、トレースバックとは逆の手順で複数のログを分析して調査する。具体的には、トレースフォワードは、ファイルサーバからダウンロードされたファイルをトレース対象ファイルとし、トレース対象ファイルから生成されたファイルを操作ログを追跡して推定する。
【0014】
実施の形態1.
この実施の形態1では、トレースバックを行うファイル追跡装置であって、コピーアンドペーストの操作を行ったファイルを複数のログエントリから推定するファイル追跡装置の一例を説明する。
【0015】
本実施の形態では、組織の従業員が使用する計算機を「端末」と呼ぶ。「端末」は、その端末を使用して端末外部からファイルを入力するファイル操作を表すファイル操作情報や、端末の記憶装置に記憶されたファイルに対して行ったファイル操作を表すファイル操作情報を履歴によって記録した操作ログファイルを記憶した記憶装置を有する。
ファイル追跡装置は、端末とは別の計算機であるファイル追跡サーバであるファイル追跡システムにより動作する。ファイル追跡システムは、端末から操作ログファイルを定期的に取り込む。その方法の例として、端末にあらかじめインストールした自動ファイル転送プログラムが、操作ログファイルを定期的にファイル追跡システムへ転送して実現する方法がある。操作ログファイルのファイル追跡システムへの転送方法は当例に限定せず他の方法であってもよい。
【0016】
ファイル追跡装置の構成を説明する。
図2は、ファイル追跡装置が動作するファイル追跡システムの構成を説明するブロック図である。
なお、ファイル追跡システム1はトレースバック、とその逆のトレースである、トレースフォワードの両方を処理するが、本実施の形態では、トレースバックの処理について説明する。
図2を用いて本発明のファイル追跡システムの構成説明を行う。
ファイル追跡システム1は、トレース部1104、トレース結果判断部1105、コピーアンドペーストファイル特定部1106、追加トレース判断部1107、期間入力部1108、操作ログファイル取り込み部1103、外部入力ログファイル取り込み部1101a、外部入力ファイル特定部1102a、外部出力ログファイル取り込み部1101b、外部出力ファイル特定部1102bを備える。
【0017】
以下に、ファイル追跡システムが備える各要素について概要を説明する。
・外部入力ログファイル取り込み部1101a
外部入力ログファイル取り込み部1101aは、ファイル追跡システム1の外部から外部入力ログファイル2101aを入力する。外部入力ログファイル取り込み部1101aは、入力した該ファイルに記憶された操作ログを表す外部入力ログ2201aを当該ログのフォーマットに従い取り出し出力する。例えば、ファイル追跡システム1は、あらかじめ外部入力ログファイル2101aのファイル名と該ファイルが記憶する操作ログのフォーマットを定義したフォーマット定義情報を記憶装置に記憶する。外部入力ログファイル取り込み部1101aは、入力した外部入力ログファイル2101aのファイル名と一致するファイル名を記憶装置から検索し、検索したファイル名に対応するフォーマット定義情報に基づいて外部入力ログファイル2101aから外部入力ログ2201aを取得する。
外部入力ログファイル2101aは、端末外部から端末へファイルの入力操作が行なわれたことが記録されている操作ログを記憶したログファイルである。本実施の形態では、外部入力ログファイル2101aを、ファイルサーバからファイルを端末にダウンロードしたことを記録している操作ログを記憶したファイルサーバログファイルとする。外部入力ログ2201aは、ファイルサーバログファイルに記憶されたファイルサーバログである。ファイルサーバログには、ファイルサーバから端末にファイルをダウンロードしたダウンロード日時、ダウンロードした端末の識別子、ダウンロードの操作を表す操作コマンド、ダウンロードファイル名などを有するログエントリが複数記録されている。
【0018】
・外部出力ログファイル取り込み部1101b
外部出力ログファイル2101bを入力し、該ファイルからログの内容である外部出力ログ2201bをログのフォーマットに従い取り出し出力する。
外部出力ログファイル2101bは、端末から端末外部へファイルを出力したことが記録されている操作ログを記憶したログファイルである。本実施の形態では、外部出力ログファイル2101bをメールログファイルとする。その場合、外部出力ログ2201bはメールログファイルに記憶されたログエントリ(メールログ)である。メールログには、送信日時、送信元メールアドレス、あて先メールアドレス、メールに添付されて送信した操作を表す操作コマンド、添付ファイル名などを有するログエントリが複数記録されている。
【0019】
・外部入力ファイル特定部1102a
外部入力ログ2201aを入力し、外部入力ファイル特定条件2102aに従い、端末外部から端末へ入力されたファイルである外部入力ファイルを特定し、外部入力ファイル名2202aとファイル入力日時2203aを出力する。
外部入力ログ2201aがファイルサーバログの場合は、外部入力ファイル名2202aはファイルサーバからダウンロードされたファイル名(ダウンロードファイル名)であり、ファイル入力日時2203aはダウンロードされた日時(ダウンロード日時)である。
外部入力ファイル特定条件2102aは、外部入力ファイルを特定する条件を指定する。該条件として、機密ファイルを特定する条件を指定する。本実施の形態では、「ファイルサーバからダウンロードされたファイル」という条件とする。
【0020】
・外部出力ファイル特定部1102b
外部出力ログ2201bを入力し、外部出力ファイル特定条件2102bに従い、端末から端末外部へ出力されたファイルである外部出力ファイルを特定し、外部出力ファイル名2202bとファイル出力日時2203bを出力する。
例えば、外部出力ログ2201bがメールログの場合は、外部出力ファイル名2202bはメールに添付された添付ファイル名(添付ファイル名)であり、ファイル出力日時2203bは添付ファイルがメールに添付されて送信された日時(送信日時)である。
外部出力ファイル特定条件2102bは、外部出力ファイルを特定するための条件を指定する。該条件として、情報漏洩を疑う条件を指定する。本実施の形態では、「送信されたメールの添付ファイルサイズが閾値を越えた場合」という条件とする。この条件の指定の理由は、情報漏洩が行なわれる場合、まとまったデータを漏洩させることがあるため、ある大きさ以上の添付ファイルが送信された場合を条件とするためである。該条件に指定した閾値は、数値、或いは、数値を記憶したファイルのファイル名を指定する。
【0021】
・期間入力部1108(期間入力部の一例)
期間入力部1108は、ファイル追跡システム1で使用する各種期間を入力して記憶装置に記憶する。例えば、開始日時及び終了日時を有する処理対象期間2108を、入力装置から入力し記憶装置に記憶する。或いは、外部入力ファイル特定部1102aが出力したファイル入力日時2203aを開始日時として入力し、外部出力ファイル特定部1102bが出力したファイル出力日時2203bを終了日時として入力し、記憶装置に記憶する。
【0022】
・操作ログファイル取り込み部1103(操作ログ抽出部の一例)
操作ログファイル2103を入力し、期間入力部1108が記憶装置に記憶した処理対象期間に操作が行われたログエントリを表す操作ログ2204(ログエントリの一例)をログのフォーマットに従い取り出し、処理対象ログ記憶部1109(操作ログ記憶部の一例)に記憶する。例えば、ファイル追跡システム1は、あらかじめ操作ログファイル2103のファイル名と該ファイルが記憶するログのフォーマットを定義したフォーマット定義情報を記憶装置に記憶する。操作ログファイル取り込み部1103は、入力した操作ログファイル2103のファイル名と一致するファイル名を記憶装置から検索し、検索したファイル名に対応するフォーマット定義情報に基づいて操作ログファイル2103から操作ログ2204を取得する。本実施の形態では、“タイムスタンプ、ユーザ識別子、端末識別子、ファイル名、ファイル操作内容、アプリケーション名”というフォーマットで出力する。
【0023】
・処理対象ログ記憶部1109
処理対象ログ記憶部1109は、操作ログファイル取り込み部1103が取得した操作ログ2204を記憶するファイルであって、当該ファイルは記憶装置に記憶されている。
【0024】
・トレース部1104(追跡部の一例)
外部入力ファイル名2202a、ファイル入力日時2203a、外部出力ファイル名2202b、ファイル出力日時2203b、操作ログ2204、トレース開始条件2104、トレース条件2105、トレース終了条件2106を入力し、最終変遷日時2205a、トレース開始日時2205b、トレース終了日時2205c、最終トレース対象ファイル名2206、また、トレースした結果を判定結果2207として出力する。
【0025】
トレース開始条件2104はトレースモードの指定であり、トレースバックを行うか、トレースフォワードを行うかを指定する。本実施の形態では、トレースバックを指定する。
トレース条件2105はトレースを行う際の条件であり、本実施の形態では、コピーアンドペーストファイル特定部1106によってログエントリを検索する条件として、外部出力ファイル名2202bで特定されるファイルの拡張子と同じ拡張子のファイルが記録されたログエントリを検索する、という条件が定義された情報である。トレース終了条件2106はトレースを終了するための条件であり、本実施の形態はトレースバックであるので「外部出力ファイルをトレースした結果、ファイルサーバ由来である場合に終了する」という条件を定義した情報である。
【0026】
最終変遷日時2205aとは、本実施の形態はトレースバックであるので、トレースの過程で判明した一番古くファイルを変遷させた日時である。ファイルの変遷とは、ファイルのリネーム、コピー、移動の操作である。すなわち、ファイルの変遷とは、元のファイルに記憶された情報をそのまま新たなファイルの情報として、新たなファイルを生成するファイル操作を表す。最終トレース対象ファイル名2206は、本実施の形態はトレースバックであるので、トレースの過程で、最も古くに変遷したファイルのファイル名である。
トレース開始日時2205b(開始日時の一例)は、トレースを開始する日時である。トレース終了日時2205c(終了日時の一例)は、トレースを終了する日時である。トレース開始日時2205b及びトレース終了日時2205cは、期間入力部1108が記憶装置に記憶した処理対象期間2108のことである。
【0027】
・トレース結果判断部1105
トレース部1104が出力した判定結果2207を入力し、判定結果2207に基づき、トレースの結果であるトレース結果2107を出力する。具体的には、ファイル追跡システム1が備える表示装置にトレース結果2107を表示する、或いは、ファイル追跡システム1が備えるプリンタ装置にトレース結果2107を印刷する、或いは、ブザーや表示灯などの警告装置にトレース結果2107を出力する。
本実施の形態はトレースバックであるので、外部出力ファイルをトレースした結果ファイルサーバ由来であると判断できなかった場合、ファイルサーバ由来のファイルのデータをコピーしトレース対象のファイルへペーストしていないか判断するために、コピーアンドペースト調査指示2208を出力する。
【0028】
・コピーアンドペーストファイル特定部1106(しぼり込み期間取得部、追跡候補生成部の一例)
コピーアンドペースト調査指示2208を入力し、操作ログ2204、最終変遷日時2205a、トレース開始日時2205b、最終トレース対象ファイル名2206、トレース開始条件2104、トレース条件2105、トレース終了条件2106を入力する。本実施の形態はトレースバックであるので、ファイルサーバ由来のファイルからコピーアンドペーストがトレース対象ファイルに対して発生していないか調査する。その結果は特定結果2209、及び、追加でトレースを行う候補ファイルのリストであるトレース対象候補ファイルリスト2211(追跡候補ログの一例)として出力する。
【0029】
・追加トレース判断部1107(追加追跡ログ判定部の一例)
コピーアンドペーストファイル特定部1106から出力された特定結果2209と、トレース対象候補ファイルリスト2211から、追加でトレースを実施するか判定し、追加でトレースを実施する場合は、トレース対象候補ファイルリスト2211に含まれるトレース対象候補ファイル名を追加トレース対象ファイル名2210bとして、追加トレース対象ファイルリスト2210aに記憶する。トレース部1104は、追加トレース対象ファイルリスト2210aに記憶された追加トレース対象ファイル名2210bを、新たな処理対象ファイルのファイルとして入力し、新たな処理対象ファイル名について追跡を行う。
【0030】
図3は、ファイル追跡システム及びファイル追跡装置の外観の一例を示す図である。
図3において、ファイル追跡システム1及びファイル追跡装置は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・ Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
【0031】
図4は、ファイル追跡システム1及びファイル追跡装置のハードウェア資源の一例を示す図である。
図4において、ファイル追跡システム1及びファイル追跡装置は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0032】
通信ボード915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信ボード915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0033】
上記プログラム群923には、ファイル追跡システム1及びファイル追跡装置において動作する「〜部」として説明する動作を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜追跡結果」、「〜特定結果」、「〜指示」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・入力・出力・印刷・表示・判定・取り込み・取り出しなどのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・入力・印刷・表示・抽出・判定のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0034】
また、以下に述べる実施の形態の説明において「〜部」」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0035】
図2のファイル追跡システム1のトレースバックの動作について説明する。
本実施の形態では、ある端末“A”(以降、端末A)において、ファイルサーバ由来のファイルを添付ファイルとしてメールで送信(外部出力)したかトレースバックする例を示す。
【0036】
外部入力ログファイル取り込み部1101aは、外部入力ログファイル2101aとしてファイルサーバログファイルに記憶されたファイルサーバログを読み込む。ファイルサーバログファイルは、例えば、ファイル追跡システム1を搭載しているファイル追跡サーバにおいて、FTPコマンドでファイルサーバから取得すればよい。
ファイル追跡システム1及びファイル追跡装置が使用するログエントリを
図18に示す。
図18は、ファイル追跡システム1及びファイル追跡装置が使用するログエントリの一例を示す図である。
図18において、ログエントリ210は、タイムスタンプ211、端末名212、プロセス名213、操作コマンド214、操作内容215、アプリケーション名216を有する。タイムスタンプ211は、当該ログエントリが生成された日時、すなわち、ファイルに対して操作が行われた日時を記憶し、例えば、2010/12/01 09:00:00との日時情報を有する。端末名212は、ファイルを操作した端末を識別する端末名を記憶する。例えば、端末Aとの端末名を記憶する。プロセス名213は、ファイルに対する操作が行われた時に端末Aにおいて実行されていたプロセスを識別するプロセス名を記憶する。例えば、プロセスAとのプロセス名を記憶する。操作コマンド214は、ファイルに対して行われた操作を表すコマンドが記憶される。例えば、ファイルを開く操作を行った場合は、オープンとの操作コマンドが記憶される。操作内容215は、ファイルに対して行った操作の内容を表す情報を記憶する。例えば、ファイルAをダウンロードした場合、ファイルAをダウンロードしたとの操作内容が記憶される。アプリケーション名216は、ファイルに対する操作が行われた時に端末Aにおいて実行されていたアプリケーションを識別するアプリケーション名を記憶する。例えば、ファイルに対して行われた操作が表計算プログラムを実行することにより行われた操作である場合、表計算プログラムとのアプリケーション名が記憶される。
外部入力ログファイル取り込み部1101aは、FTPコマンドでファイルサーバログファイルを取得し、さらに、取得したファイルサーバログファイルから、ファイルサーバログを読み込んで、操作コマンドがダウンロードを表す操作コマンドを記憶し、かつ、端末名が端末Aを記憶する(条件1)ファイルサーバログを抽出する。
ファイル追跡システム1は、外部入力ログファイル2101aに記憶されたファイルサーバログがどのようなフォーマットで、どのような項目の情報を記憶しているかを表すフォーマット定義情報を、ファイルサーバログファイルのファイル名に対応させて、ファイル追跡システム1が備える記憶装置に記憶しておく。外部入力ログファイル取り込み部1101aは、記憶装置に記憶されたフォーマット定義情報を入力し、入力したフォーマット定義情報に基づいて操作コマンドと端末名との各項目に対応する情報を取得する。外部入力ログファイル取り込み部1101aは、上記した条件1を満たすファイルサーバログを抽出し、外部入力ログ2201aとして外部入力ファイル特定部1102aへ出力する。本実施の形態では、外部入力ログファイル取り込み部1101aは、ファイルサーバログから“ダウンロード日時、ダウンロードした端末の識別子、ダウンロードファイル名”という項目を有する外部入力ログ2201aを出力する。外部入力ログ2201aは、
図18のログエントリ210の一例であり、外部入力ログ2201aは、ログエントリ210が有する項目と同じ項目を有してもよいし、ログエントリ210が有する項目のうち一部の項目を有してもよい。具体的には、“ダウンロード日時”は、タイムスタンプ211の一例であり、“ダウンロードした端末の識別子”は端末名212の一例であり、“ダウンロードファイル名”は、操作内容215の一例である。
【0037】
外部入力ファイル特定部1102aは、外部入力ログ2201aに対して、外部入力ファイル特定条件2102aに基づき外部入力ファイル名2202aとファイル入力日時2203aを特定する。本実施の形態では、外部入力ファイル特定条件2102aとして「外部入力ログ検索期間において、端末Aが、ファイルサーバから、ファイルをダウンロードした場合」を指定する。外部入力ファイル特定部1102aは、この外部入力ファイル特定条件2102aを入力した場合、端末Aがファイルサーバからファイルをダウンロードした記録に該当するログエントリを抽出し、ダウンロード日時とダウンロードファイル名を外部入力ログ2201aから取り出す。外部入力ファイル名2202aに、取り出したダウンロードファイル名を設定する。ファイル入力日時2203aに、取り出したダウンロード日時を設定する。外部入力ログ2201aが有する端末名212(“ダウンロードした端末の識別子”)は端末Aを示している。外部入力ファイル特定条件2102aに指定した“外部入力ログ検索期間”とは、後に示す「外部出力ファイル特定条件2102bにおける「疑義期間の最後」から過去に遡って、外部入力ログ2201aを検索する期間を指定するものである。本実施の形態では、過去に遡る日数を「31日」とする。外部入力ファイル特定部1102aは、ファイル追跡システム1の記憶装置に記憶された“過去に遡る日数”を入力する。例えば、外部出力ファイル特定条件2102bにおける疑義期間の最後の日時を2010/12/01 17:00:00とすると、2010/12/01 17:00:00から31日遡った日時は、2010/10/31 17:00:00である。これにより“外部入力ログ検索期間”は、2010/10/31 17:00:00を開始日時とし、2010/12/01 17:00:00を終了日時として有する期間になる。
外部入力ファイル特定部1102aは、外部入力ログ2201aから、外部入力ログ検索期間のタイムスタンプ211を有し、端末Aがファイルサーバからファイルをダウンロードしたとの操作内容を表す操作内容215を有する外部入力ログ2201aを抽出する。なお、外部入力ログ検索期間は、後述するトレース対象期間(「トレース対象期間」は処理対象期間の一例である)以上、すなわち、トレース対象期間を含む期間を設定する。
【0038】
外部出力ログファイル取り込み部1101bは、外部出力ログファイル2101bとしてメールログファイルに記憶されたメールログを取り込む。
ファイル追跡システム1は、外部出力ログファイル2101bに記憶されたメールログがどのようなフォーマットで、どのような項目の情報を記憶しているかを表すフォーマット定義情報を、メールログファイルのファイル名に対応させて、ファイル追跡システム1が備える記憶装置に記憶しておく。外部出力ログファイル取り込み部1101bは、記憶装置に記憶されたフォーマット定義情報を入力し、入力したフォーマット定義情報に基づいて、外部出力ログファイル2101bから、操作コマンドと端末名との各項目に対応する情報を取得する。取得したメールログを外部出力ログ2201bとして外部出力ファイル特定部1102bへ出力する。本実施の形態では、メールログ及び外部出力ログ2201bは、“送信日時、送信元メールアドレス、あて先メールアドレス、添付ファイル名、添付ファイルサイズ”という項目を有する。外部出力ログ2201bは、
図18のログエントリ210の一例であり、外部入力ログ2201aは、ログエントリ210が有する項目と同じ項目を有してもよいし、ログエントリ210が有する項目のうち一部の項目を有してもよい。具体的には、“送信日時”は、タイムスタンプ211の一例であり、“送信元メールアドレス、あて先メールアドレス、添付ファイル名、添付ファイルサイズ”は操作内容215に含まれた情報の一部である。
【0039】
外部出力ファイル特定部1102bは、外部出力ログ2201bから、外部出力ファイル特定条件2102bに基づき外部出力ファイル名2202bとファイル出力日時2203bを特定する。本実施の形態では、外部出力ファイル特定条件2102bに「疑義期間において、端末Aのユーザが送信したメールの添付ファイルサイズが閾値を越えた場合」を指定する。“閾値”は数値であっても、数値を記憶したファイルのファイル名を指定してもよい。外部出力ファイル特定部1102bは、上記した指定がされた外部出力ファイル特定条件2102bを入力した場合、“送信日時が疑義期間であり、かつ、送信元メールアドレス=端末Aのユーザのメールアドレス、かつ、添付ファイルサイズが閾値を超えた”との条件を満たすメールログを抽出し、抽出したメールログから、添付ファイル名と送信日時(タイムスタンプ)を取り出す。外部出力ファイル特定部1102bは、外部出力ファイル名2202bに、取り出した添付ファイル名を設定する。外部出力ファイル特定部1102bは、ファイル出力日時2203bに、取り出した添付ファイルのメールによる送信日時(タイムスタンプ)を設定する。
“疑義期間”とは、端末Aからの機密ファイルの外部送出が疑われる期間であり、本実施の形態では、2010/12/1 09:00:00から2010/12/1 17:00:00の8時間を疑義期間とする。疑義期間は、ファイル追跡システム1が備える記憶装置にあらかじめ記憶されている。例えば、疑義期間は、端末Aからメールによるファイル漏洩が疑われ、漏洩した期間が推測された場合にメールサーバの管理者やファイル追跡システム1の運用者によりファイル追跡システム1が備える記憶装置に記憶される。また、例えば、メールサーバの管理者は、機密ファイルがファイルサーバにより機密ファイルとして管理されているが、機密ファイルを本来アクセスすることができない外部組織へメールに添付されて送信されることが発生したか否か確認するために、定期的に、送信されたメールを確認する期間を疑義期間としてファイル追跡システム1が備える記憶装置に記憶する。外部出力ファイル特定条件2102bに指定される“疑義期間”は、ファイル追跡システム1の記憶装置に記憶された疑義期間を記憶したファイルのファイル名を指定する。
外部出力ファイル特定部1102bは、2010/12/1 09:00:00から2010/12/1 17:00:00の疑義期間のタイムスタンプを有するメールログから、“送信元メールアドレス=端末Aのユーザのメールアドレス、かつ、添付ファイルサイズが閾値を超えた”との条件を満たすログエントリを抽出し、外部出力ファイル名2202bに添付ファイル名を設定し、ファイル出力日時2203bに送信日時を設定し、出力する。本実施の形態では、2010/12/1 09:30:00を記憶したタイムスタンプを有するメールログが発見されたとする。ファイル出力日時2203bは2010/12/1 09:30:00に設定される。
【0040】
操作ログファイル取り込み部1103は、端末Aの操作ログファイル2103から、あらかじめ運用者により定義され、ファイル追跡システム1の記憶装置に記憶されたログエントリのファイルフォーマットに従いログエントリを取り出し、操作ログ2204として出力する。本実施の形態では、“タイムスタンプ、ユーザ識別子、端末識別子、ファイル名、ファイル操作内容、アプリケーション名”というフォーマットで出力する。操作ログファイル2103に記憶されたログエントリは、
図18の項目を有するものとする。“タイムスタンプ”はタイムスタンプ211、“端末識別子”は端末名212、“ファイル名”は操作内容215に記憶された情報の一部、“ファイル操作内容”は操作内容215、“アプリケーション名”はアプリケーション名216であり、“ユーザ識別名”は、
図18には図示していないが、操作内容215に含まれて記憶されているものとする。操作ログファイル取り込み部1103は、操作ログファイル2103からログエントリを取り出す際に、処理対象期間2108の期間に操作されたことを表すログエントリを操作ログ2204として抽出し、抽出した操作ログ2204を処理対象ログ記憶部1109に記憶する。処理対象期間は、期間入力部1108により入力されて、ファイル追跡システム1が備える記憶装置に記憶されている。処理対象期間及び期間入力部1108については、トレース部1104の説明において詳細を説明する。
【0041】
トレース部1104は、トレース開始条件2104、トレース条件2105、トレース終了条件2106、処理対象期間2108を入力する(
図2では、処理対象期間2108とトレース部1104とを結ぶ線の記載を省略している)。
トレース開始条件2104は、本実施の形態ではトレースバックのモードで動くことを指示する情報を指定する。
トレース条件2105は、コピーアンドペーストファイル特定部1106により、「外部出力ファイル名2202bと同じ拡張子のファイルを追跡候補とする」という動作を行うことを指示する情報を指定する。例えば、外部出力ファイル名2202bがabc.csvであれば、上記した情報がトレース条件2105として指示された場合、コピーアンドペーストファイル特定部1106は、拡張子が.csvであるファイルを追跡候補とするよう動作する。
トレース終了条件2106は、本実施の形態では「外部出力ファイルをトレースした結果、ファイルサーバ由来である場合に終了する」という条件を、より具体的に、「外部出力ファイルをトレースした結果、ファイルサーバからダウンロードされたファイルに辿りついたら終了」という条件として指定する。
【0042】
処理対象期間2108は、期間入力部1108が入力装置により入力した開始期間及び終了期間を有する期間である。期間入力部1108は、ファイル追跡システム1の運用者がマウスやキーボード等の入力装置から入力した期間を処理対象期間として、ファイル追跡システム1が備える記憶装置に記憶する。トレース部1104は、ファイル追跡システム1が備える記憶装置に記憶された処理対処期間を、トレース終了条件の1つとして入力する。
【0043】
ここで、トレースを行う処理対象期間、疑義期間、外部入力ログ検索期間の関係を説明する。
図5は、ファイル追跡システムで使用する各種期間を説明する図である。
図5において、疑義期間は、既に説明したように、例えば、端末Aからメールによるファイル漏洩が疑われ、漏洩した期間が推測された場合にメールサーバの管理者やファイル追跡システム1の運用者によりファイル追跡システム1が備える入力装置により入力され、記憶装置に記憶される。疑義期間は、外部出力ファイル特定部1102bが抽出の対象とするメールログをしぼり込むための期間である。上記した例では、2010/12/01 9:00:00から2010/12/01 17:00:00を疑義期間とする。
外部入力ログ検索期間は、外部入力ファイル特定部1102aが抽出の対象とするファイルサーバログをしぼり込むための期間である。外部入力ログ検索期間は、“疑義期間の最終日時”からファイル追跡システム1が備える記憶装置に予め記憶された“過去に遡る日数”を遡った日時を開始日時とし、“疑義期間の最終日時”を終了日時とする期間である。例えば、メールに添付されて送信された添付ファイルの生成元ファイルがどのファイルであるか追跡する場合、追跡するログエントリの範囲を指定するのが、処理対象期間であり、ダウンロードは処理対象期間の開始日時よりも前に行われていると考える。このため、処理対象期間の開始日時以前の日時を、外部入力ログ検索期間の開始日時とする。また、添付ファイルを送信する直前にダウンロードされるとも考える。このため、メール送信がされたと疑う疑義期間の終了日時を、外部入力ログ検索期間の終了日時とする。
外部入力ファイル特定部1102aは、ファイル追跡システム1が備える記憶装置に予め記憶された疑義期間の最終日時からファイル追跡システム1が備える記憶装置に予め記憶された過去に遡る日数を遡った日時を算出し、外部入力ログ検索期間の開始日時とする。外部入力ファイル特定部1102aは、ファイル追跡システム1が備える記憶装置に予め記憶された疑義期間の最終日時を入力し、外部入力ログ検索期間の終了日時とする。
処理対象期間は、トレース部1104がトレース対象(処理対象)とするログエントリをしぼり込むための期間である。ファイル追跡システム1の運用者は、処理対象期間2108を入力する際、外部入力ログ検索期間に含まれる期間を入力する。この実施の形態では、メールに添付された添付ファイル、すなわち、外部出力ファイル名2202bのファイルを生成した元ファイルを追跡するので、処理対象期間の終了日時は、添付ファイルが送信された日時であるファイル出力日時2203bとすればよい。期間入力部1108は、ファイル出力日時2203bを外部出力ファイル特定部1102bから入力し、入力したファイル出力日時2203bを処理対象期間2108の終了日時とする。運用者から入力された終了日時よりも優先して、ファイル出力日時2203bを処理対象期間2108の終了日時とする場合、運用者は終了日時として「0000/00/00」等の、日時としてあり得ない文字列を入力する。外部出力ファイル名2202bのファイルがファイルサーバからダウンロードされたファイルを元に生成されたファイルであれば、外部出力ファイル名2202bのファイルは、ファイル入力日時2203a以後に生成されたことが推測できる。期間入力部1108は、ファイル入力日時2203aを外部入力ファイル特定部1102aから入力し、入力したファイル入力日時2203aを処理対象期間2108の開始日時とする。運用者から入力された開始日時よりも優先して、ファイル入力日時2203aを処理対象期間2108の開始日時とする場合、運用者は開始日時として「0000/00/00」等の、日時としてあり得ない文字列を入力する。期間入力部1108は、日時としてあり得ない日時が入力装置から入力されたら、ファイル入力日時2203aやファイル出力日時2203bを入力する。また、ファイル入力日時2203aが複数入力された場合、最も日時が古いファイル入力日時2203aを開始日時とする。
なお、疑似期間内に端末Aから添付ファイルを送信したメールが複数あると、外部出力ファイル特定部1102bは、外部出力ファイル名2202b、ファイル出力日時2203bを複数出力する。このように複数出力された場合は、例えば、ファイル外部出力ファイル名2202b、ファイル出力日時2203bとの組のうちファイル出力日時2203bが最も古いものから順にトレース部1104に出力して、トレースを行わせる。1つの組についてトレースが終了したら、次にファイル出力日時2203bが古い組をトレース部1104に出力してトレースを行わせる。
【0044】
トレース部1104は、トレース対象期間のタイムスタンプを有するログエントリ210を記憶した処理対象ログ記憶部1109から、タイムスタンプの新しい順にログエントリ210を入力してトレースする。
【0045】
トレース部1104では、まず、外部出力ファイル特定部1102bの出力である外部出力ファイル名2202bを入力するが、これをトレース対象ファイル名として設定する(トレース対象ファイル名は処理対象ファイル名の一例である。すなわち、メールに添付された添付ファイルが処理対象ファイルの一例である)。トレース対象ファイル名は、トレース対象ファイル名で識別されるファイルのデータが機密ファイル由来か(機密ファイルを元に生成されたファイルであるか)調査する対象であり、本実施の形態では、ファイルサーバからダウンロードされたファイル(ファイルサーバで記憶及び管理されているファイルは機密ファイルであるとする)に由来するか、すなわち、ダウンロードされたファイルを元に生成されたか調査する対象である。次に、処理対象期間2108をトレース対象期間として入力し、処理対象期間2108が有する開始日時をトレース開始日時に設定し、処理対象期間2108が有する終了日時をトレース終了日時に設定する。本実施の形態では、ファイル入力日時2203a=2010/11/1 09:30:00=トレース開始日時となり、ファイル出力日時2203b=2010/12/1 09:30:00=トレース終了日時となる。
【0046】
トレース部1104の動作の詳細を説明する。なお、以下の説明では、判定結果をアルファベット小文字のyes、noと記載するが、フローチャート図では、アルファベット大文字のYES,NOとして記載する。他の実施の形態でも同様とする。以下の説明では、フローチャート図の説明において、各工程の番号を小文字のsとして記載したものを、フローチャート図では、大文字のSと記載した。
図6は、トレース部及びコピーアンドペーストファイル特定部のブロック図である。
図7はトレース部の動作を説明するフローチャートである。
図6に示すように、トレース部1104は、転送判定部1114と変遷判定部1124を備える。転送判定部1114は、外部出力ファイル名2202bのファイルが、外部入力ファイル名2202aのファイルであるか否か判定する。すなわち、添付ファイルのファイル名がダウンロードファイルのファイル名と一致するか否か判定する。変遷判定部1124は、外部出力ファイル名2202bのファイルが、外部入力ファイル名2202aのファイルが記憶する情報をそのまま変更せずに外部出力ファイル名2202bのファイルに引き継いで、外部出力ファイル名2202bのファイルを生成する変遷操作により生成されたか否か判定する。転送判定部1114と変遷判定部1124との各部動作の詳細は、
図7のフローチャートの説明の中で述べる。
【0047】
初めに、トレース対象期間について説明する。トレース対象期間は、トレース開始日時からトレース終了日時の間の期間である。トレース終了日時=2010/12/1 09:30:00、トレース開始日時=2010/11/1 09:30:00である。つまり、トレース対象期間は、トレース開始日時=2010/11/1 09:30:00からトレース終了日時=2010/12/1 09:30:00の期間である。
以降、当フローチャートにおけるログとは、トレース対象期間のログエントリを示す。
【0048】
s101を行う前に、トレース部1104は、後述するs106で設定する最終トレース対象ファイル名2206に初期値を設定する。トレース部1104は、最終トレース対象ファイル名2206に初期値として外部出力ファイル名2202bを設定する。すなわち、トレース部1104は、最終トレース対象ファイル名2206に初期値としてトレース対象ファイル名を設定する。また、トレース部1104は、後述するs107で設定する最終変遷日時2205aに初期値を設定する。トレース部1104は、最終変遷日時2205aに初期値としてファイル出力日時2203bを設定する。すなわち、トレース部1104は、最終変遷日時2205aに初期値としてトレース対象ファイル名のファイルがメールに添付されて送信された日時を設定する。
s101において、トレース部1104は、トレース対象ファイル名で識別されるファイルが、トレース終了条件2106に指定された「外部出力ファイルをトレースした結果、ファイルサーバからダウンロードされたファイルに辿りついたら終了」という条件に合うか調べる。この条件は、トレース対象ファイル名がファイルサーバからダウンロードされたファイルのファイル名であるか、という条件である。
既に、外部入力ファイル特定部1102aにより、端末Aが外部入力ログ検索期間にファイルサーバからダウンロードしたダウンロードファイルのダウンロードファイル名が外部入力ファイル名2202aとして判明している。判明しているダウンロードファイル名とトレース対象ファイル名とが一致するか比較する。
一致した場合は、トレース部1104は、この時点で処理を終了する。トレース部1104は、終了する際、判定結果2207として、外部出力ファイルはファイルサーバ由来であることを示す結果を出力する。例えば、外部出力ファイルがファイルサーバ由来であることを示す数値コードやメッセージを出力する。
s101の処理は、トレース部1104、特にトレース部1104の転送判定部1114が行う転送判定処理である。
【0049】
s101において、トレース部1104は、トレース対象ファイル名が外部入力ファイル名2202aと一致しない場合、s103に進む。
s103では、トレース部1104は、処理対象ログ記憶部1109から読み込むログエントリが残ってないか判定する。残ってない場合、トレース部1104は、判定結果2207として、外部出力ファイルはファイルサーバ由来であるか判定できなかったことを示す結果を出力し、s109へ進む。残ってたらトレース部1104は、s104へ進む。
s104では、処理対象ログ記憶部1109に記憶されたログエントリを逆方向、すなわち、タイムスタンプの新しいものから古いものに向かって順に読む。通常、エントリログは、時系列に古いログエントリから新しいログエントリの順に記録されるが、本実施の形態はトレースバックであるため、ログを逆方向に辿ることになる。
ログエントリには、ファイル操作に関する記録があり、“タイムスタンプ、ユーザ識別子、端末識別子、ファイル名、ファイル操作内容、アプリケーション名”との項目を有する。
図18に示すログエントリ210が処理対象ログ記憶部1109に記憶されたログエントリのフォーマットである。なお、
図18にはユーザ識別子に対応するユーザ名の項目がないが、端末名212の後ろにあるものとする。また、
図18ファイル名に対応する項目はないが、ファイル名は操作内容215に含まれるものとする。
【0050】
s105において、トレース部1104は、ログエントリが変遷操作を表すか否か判定する。変遷操作とは、ファイルのリネーム、ファイルのコピー、ファイルの移動、のいずれかのファイル操作により、元のファイルに記憶された情報をそのまま変更せずに全て別の新たなファイルに引き継いで、新たなファイルを生成する操作である。トレース部1104は、変遷操作が、読み込んだログエントリに記録されているか確認する。
変遷操作の判定は、ログエントリの操作内容に記録された変遷後のファイル名が、トレース対象ファイル名か判定する。リネーム、コピー、移動の変遷操作においては、変遷操作前のファイル名(パスを含む)と変遷操作後のファイル名(パスを含む)が操作内容215に記録される。トレース部1104は、トレース対象ファイル名がファイル名のみでパスを含まない場合は、変遷後のファイル名(パスを含む)に、トレース対象ファイル名が含まれるか判定する。具体的には、トレース対象ファイル名が、aaa.docであり、変遷後のファイル名がc:¥work¥aaa.docであると、変遷後のファイル名にトレース対象ファイル名が含まれる。すなわち、変遷後のファイル名のパス名を除く部分のファイル名がトレース対象ファイル名と一致する。この場合、トレース部1104は、変遷後のファイル名とトレース対象ファイル名とが一致すると判定する。別の例として、トレース対象ファイル名が、aab.docであり、変遷後のファイル名がc:¥work¥aaa.docであると、変遷後のファイル名にトレース対象ファイル名が含まれない。すなわち、変遷後のファイル名のパス名を除く部分のファイル名がトレース対象ファイル名と一致しない。この場合、トレース部1104は、変遷後のファイル名とトレース対象ファイル名とが一致しないと判定する。
トレース部11104は、トレース対象ファイル名がファイルのパスを含む場合は、そのパスも含めて、ログエントリ上の変遷後のファイル名(パスを含む)との一致を判定する。具体的には、トレース対象ファイル名が、c:¥work¥aaa.docであり、変遷後のファイル名がc:¥work¥aaa.docであると、変遷後のファイル名がレース対象ファイル名と一致する。この場合、トレース部1104は、変遷後のファイル名とトレース対象ファイル名とが一致すると判定する。別の例として、トレース対象ファイル名が、c:¥test¥aaa.docであり、変遷後のファイル名がc:¥work¥aaa.docであると、パス名を含む変遷後のファイル名がパス名を含むレース対象ファイル名と一致しない。この場合、トレース部1104は、変遷後のファイル名とトレース対象ファイル名とが一致しないと判定する。
トレース部1104は、一致することを判定した場合、s106へ進む。一致しないことを判定した場合、s103へ戻る。
【0051】
変遷操作を表すログエントリの操作コマンドと操作内容215との一例は以下である。
・リネーム
操作コマンド : リネーム
ファイル操作内容 : リネーム リネーム前=”c:¥work¥test1.doc” リネーム後=”c:¥work¥test2.doc”
リネーム前が変遷前、リネーム後が変遷後である。
・コピー
操作コマンド : コピー
ファイル操作内容 : コピー コピー元=”c:¥work¥test1.doc” コピー先=”c:¥work¥test2.doc”
コピー元が変遷前、コピー後が変遷後である。
・移動
操作コマンド : 移動
ファイル操作内容 : 移動 移動前=”c:¥work¥test1.doc” 移動後=”c:¥work2¥test1.doc”
移動前が変遷前、移動後が変遷後である。
上記した変遷操作を表す操作コマンドが操作コマンド214に記憶され、かつ、ログエントリの操作内容に変遷後のファイル名が、トレース対象ファイル名で記憶され、かつ、上記したファイル名の判定において一致するとの判定がされていれば、トレース部1104は、s105の判定において、yesと判定する。
トレース部1104は、yesの場合はs106に移行する。noの場合はs103に戻る。
【0052】
s106では、変遷操作に応じてトレース対象ファイルを再設定し、さらに、最終トレース対象ファイル名2206を設定する。
・操作コマンドがリネームの場合
現在のトレース対象ファイル名はリネーム後のファイル名であるから、リネーム前のパスを含んだファイル名をトレース対象ファイル名に再設定し、リネーム前のパスを含んだファイル名を最終トレース対象ファイル名2206に設定する。
・操作コマンドがコピーの場合
現在のトレース対象ファイル名はコピー先のファイル名であるから、コピー元のパスを含んだファイル名をトレース対象ファイル名に再設定し、コピー元のパスを含んだファイル名を最終トレース対象ファイル名2206に設定する。
・操作コマンドが移動の場合
現在のトレース対象ファイル名は移動後のファイル名であるから、移動前のパスを含んだファイル名をトレース対象ファイル名に再設定し、移動前のパスを含んだファイル名を最終トレース対象ファイル名2206に設定する。
【0053】
最初にs106を処理する場合、トレース対象ファイル名は、ファイル名のみで、ファイルパスは無い場合がある。これは、メールログであれば、添付ファイル名はわかっても、端末A上のどのパスのファイルかは記録されていないからである。変遷操作に関するログエントリには、ファイルのパスも含まれるため、変遷前のファイルについてはファイルのパスも取得することができる。従って、2回目以降のs106の処理では、トレース対象ファイル名はパスを含んだファイル名となる。
【0054】
次に、s107において、トレース部1104は、変遷操作が発生した日時(ログエントリのタイムスタンプ)を最終変遷日時2205aに設定する。具体的には、トレース部1104は、s105でyesと判定したログエントリのタイムスタンプ211を、最終変遷日時2205aに設定する。
【0055】
s108において、トレース部1104は、現在のトレース対象ファイル名で識別されるファイルが、トレース終了条件2106に指定された「外部出力ファイルをトレースした結果、ファイルサーバからダウンロードされたファイルに辿りついたら終了」という条件に合うか調べる。その方法は、s101と同じである。
s108において、トレース部1104は、現在のトレース対象ファイル名で識別されるファイルがファイルサーバからダウンロードされたファイルであると判定した場合(yes)、処理を終了する。この場合、トレース部1104は、判定結果2207として、外部出力ファイルはファイルサーバ由来であることを示す結果を出力する。s108において、トレース部1104は、トレース対象ファイル名で識別されるファイルがファイルサーバからダウンロードされたファイルであると判定できなかった場合(no)、s103に戻る。
トレース部1104の処理はここまでである。上記s103からs108は、トレース部1104、特にトレース部1104の変遷判定部1124が行う変遷判定処理である。
【0056】
トレース部1104が、判定結果2207として、外部出力ファイルはファイルサーバ由来であるか判定できなかったことを示す結果を出力した場合、トレース結果判断部1105はこの判定結果2207を入力し、コピーアンドペーストファイル特定部1106に対して、コピーアンドペースト調査指示2208を出力する。外部出力ファイルはファイルサーバ由来であるか判定できなかったことを示す結果とは、すなわち、メールで送信された添付ファイルが、ファイルサーバからダウンロードされたファイルであるか判定できなかったが、いずれのファイルをコピー元ファイルとして生成されていることが推定できる候補ファイルがあることを表している。
また、トレース部1104が、判定結果2207として外部出力ファイルはファイルサーバ由来であることを示す結果を出力した場合、トレース結果判断部1105はこの判定結果2207を入力し、トレース結果2107として、「外部出力ファイルはファイルサーバ由来であった」という結果を表すメッセージを出力する。この結果は、表示装置のディスプレイにメッセージとして表示するなど、人間が見て分かる情報で表現する。
【0057】
s109は、
図7の変遷判定処理だけでは、外部出力ファイルがファイルサーバ由来であることを発見できなかった場合、さらにログエントリを追跡する処理である。s109の処理は、コピーアンドペーストファイル特定部1106で処理される。s109ではファイル操作ログには現れないコピーアンドペースト操作について判定し、メールで送信された添付ファイルが、ファイルサーバからダウンロードされたファイルであることを判定できなかったが、いずれのファイルをコピー元ファイルとして生成されていることが推定され、元ファイルとして推定されるファイルが複写及び貼り付け(コピーアンドペースト)操作によって生成されたか否か、さらに、ログエントリを追跡する処理である。
コピーアンドペーストファイル特定部1106は、コピーアンドペースト調査指示2208を受け、フローチャート
図8,
図9の処理を行う。コピーアンドペーストファイル特定部1106は、
図6に示すようにしぼり込み期間取得部1116,追跡候補生成部1126を備える。しぼり込み期間取得部1116は、推定した元ファイルを追跡するために、ログエントリをしぼり込むための期間を求める。追跡候補生成部1126は、しぼり込み期間取得部1116が求めたしぼり込み期間に、最終トレース対象ファイル名2206bのファイルを生成した元ファイルを判定する。
図8は、コピーアンドペーストファイル特定部1106及び追加トレース判断部1107の動作を示すフローチャートである。
図9は、コピーアンドペーストファイル特定部1106のしぼり込み期間取得部1116の動作を示すフローチャートである。
【0058】
コピーアンドペーストファイル特定部1106は、トレース結果判断部1105からコピーアンドペースト調査指示2208を入力すると、処理対象ログ記憶部1109から操作ログ2204を入力し、最終変遷日時2205a、トレース開始日時2205b、トレース終了日時2205c、最終トレース対象ファイル名2206を、トレース部1104から入力する。トレース開始日時2205b、トレース終了日時2205cは、処理対象期間であるため、記憶装置に記憶された処理対象期間2108を入力しても良い。
最終トレース対象ファイル名2206は、しぼり込み期間取得部1116が入力する処理対象ファイル名の一例である。最終変遷日時2205aは、しぼり込み期間取得部1116が入力する処理対象日時の一例である。
【0059】
図8において、まず、コピーアンドペーストファイル特定部1106は、最終トレース対象ファイル名2206で識別されるファイル(最終トレース対象ファイル)に対するオープン・保存日時の特定を行う(s201)。具体的には、
図9のフローチャートに従う。
図9において、コピーアンドペーストファイル特定部1106は、トレース対象ファイルオープン日時という変数をNULLに設定する。また、トレース対象ファイル保存日時という変数をNULLに設定する。(s301)。
【0060】
次に、s304において、コピーアンドペーストファイル特定部1106は、処理対象ログ記憶部1109から読み込むログエントリが残ってないか判定し、残ってる場合(no)、s303へ戻る。残ってない場合(yes)、処理を終了する。
s303において、コピーアンドペーストファイル特定部1106は、処理対象ログ記憶部1109からログエントリを逆方向(タイムスタンプの新しいものから古いものの順)に一つ入力する。このとき、ログエントリ210のタイムスタンプがトレース開始日時2205bから最終変遷日時2205aであるログエントリ210を入力する。
【0061】
次に、s305において、コピーアンドペーストファイル特定部1106は、入力したログエントリの操作コマンド214が、ファイルを記憶する操作を記録し、操作内容215に、最終トレース対象ファイル名2206で識別されるファイルが保存された記録があるか判定する。あることを判定した場合(yes)、s306に移行する。noであれば、s304に戻る。
【0062】
s306では、コピーアンドペーストファイル特定部1106は、s305でyesと判定されたログエントリ210のタイムスタンプ211を、トレース対象ファイル保存日時(保存日時の一例)に設定する。
s308において、コピーアンドペーストファイル特定部1106は、処理対象ログ記憶部1109から読みこむログエントリが残ってないか判定し、残ってる場合(no)、s307へ進む。残ってない場合(yes)、処理を終了する。
次に、s307において、コピーアンドペーストファイル特定部1106は、ログを逆方向に一つ入力する。
【0063】
次に、s309において、コピーアンドペーストファイル特定部1106は、入力したログエントリの操作コマンドにファイルを開く操作の操作コマンドが記録され、操作内容215に最終トレース対象ファイル名2206で識別されるファイルがオープンされたことが記録されているか判定する。記録されていれば(yes)、s310に移行する。記録されていなければ(no)、s308に戻る。
【0064】
s310では、コピーアンドペーストファイル特定部1106は、s309でyesと判定されたログエントリ210のタイムスタンプ211を、トレース対象ファイルオープン日時(オープン日時の一例)に設定する。
上記したs201(s301からs310)の処理は、コピーアンドペーストファイル特定部1106が行う。特に、コピーアンドペーストファイル特定部1106のしぼり込み期間取得部1116が行うしぼり込み期間取得処理である。
【0065】
このように
図9のフローチャートに従うことで、トレース開始日時から最終変遷日時までの期間に、最終トレース対象ファイル名で識別されるファイルのオープン或いは保存の日時がわかる。両方とも発生していない場合は、トレース対象ファイルオープン日時もトレース対象ファイル保存日時も設定されず、初期値すなわちNULLである。
【0066】
図8に戻る。次に、s202において、コピーアンドペーストファイル特定部1106は、トレース対象候補ファイル名(追跡候補ログの一例)の特定を行う。トレース対象候補ファイル名とは、ファイルに記憶された情報をコピーし、コピーした情報を最終トレース対象ファイル名2206で識別されるファイルへペーストした、そのコピー元となったと推定されるファイルのファイル名である。
s202の処理を、
図10を用いて説明する。
図10は、コピーアンドペーストファイル特定部1106の追跡候補生成部1126の動作を示すフローチャートである。
【0067】
まず、s401において、コピーアンドペーストファイル特定部1106は、トレース対象ファイルオープン日時=NULL又はトレース対象ファイル保存日時=NULLを判断する。これは、トレース開始日時から最終変遷日時までの期間に、最終トレース対象ファイル名で識別されるファイルのオープンと保存が発生したかの確認である。yesの場合、コピーアンドペーストファイル特定部1106は、処理を終了する。noの場合、コピーアンドペーストファイル特定部1106はs402に移行する。
【0068】
s402では、コピーアンドペーストファイル特定部1106は、トレース対象ファイルオープン日時からトレース対象ファイル保存日時までのしぼり込み期間のログエントリ210を処理対象ログ記憶部1109から順次入力する。具体的には、コピーアンドペーストファイル特定部1106は、ログエントリ210のタイムスタンプ211が、しぼり込み期間であるログエントリを順次入力する。
【0069】
次に、s403では、コピーアンドペーストファイル特定部1106は、s402で入力したログエントリ210が、以下の条件に合致することが判定し、合致することを判定したログエントリ210を追跡候補ログとしてトレース対象候補ファイルリスト2211(ファイル追跡システム1が備える記憶装置が記憶するファイルの一例)に記憶する。
・操作内容215に最終トレース対象ファイル名2206と拡張子が同じであるファイル名が記録されている(トレース条件2105を参照することによる)
・操作コマンド214に、ファイルを開く(オープンする)か、ファイルを閉じる(クローズ)のいずれかを行っている操作が記録されている
上記条件に合致するか判定することにより、コピーアンドペーストファイル特定部1106は、最終トレース対象ファイル名2206で識別されるファイルをオープンしてから保存する間に、別途オープンしていた別の同種類のファイルの有無を判定し、ファイルが有る場合は、判定できたログエントリを追跡候補ログとしてトレース対象候補ファイルリスト2211に追加する。追跡候補ログが有する操作内容215に含まれたファイル名であって、合致することが判定されたファイルのファイル名をトレース対象候補ファイル名(類似ファイル名の一例)とする。
最終トレース対象ファイル名2206で識別されるファイルをオープンしてから保存する間に、別途同種類のファイルをオープンしていた場合、その別ファイルから最終トレース対象ファイル名2206にコピーアンドペーストが発生した可能性があるため、それらをトレース対象の候補ファイルとして扱う。また、複数存在する可能性があるため、リスト化(ファイル化)する。
図8のs202は、コピーアンドペーストファイル特定部1106が行う。特に、コピーアンドペーストファイル特定部1106の追跡候補生成部1126が行う追跡候補生成処理である。
【0070】
図8に戻る。
s203では、コピーアンドペーストファイル特定部1106は、トレース対象候補ファイルリスト2211が空か調べる。空の場合(yes)、コピーアンドペーストファイル特定部1106は、処理を終了する。この場合、コピーアンドペーストファイル特定部1106は、「コピー元ファイルの特定無しを示す結果」を特定結果2209として出力する。
追加トレース判断部1107(追加追跡ログ判定部の一例)は、特定結果2209を入力し、特定結果2209が「コピー元ファイルの特定無しを示す結果」を表す場合、処理を終了し、表さない場合、s204に移行する。
【0071】
s204では、追加トレース判断部1107(追加追跡ログ判定部の一例)が、トレース対象候補ファイルリスト2211の先頭から順に、追跡候補ログを入力する。
【0072】
次に、s205において、追加トレース判断部1107は、トレース対象候補ファイル名で識別されるファイルがトレース対象として妥当か判定する。
判定する方法として、以下がある。
・「トレース対象候補ファイル名で識別されるファイル」と「最終トレース対象ファイル名2206で識別されるファイル」の類似性を調べる。類似していれば妥当と判断する。類似性の判定方法は公知のファイル類似性比較技術を用いればよい。
例えば、
・トレース対象候補ファイル名で識別されるファイルに、予め設定した機密ファイルを示す用語が含まれているか検索する。含まれていれば、妥当と判断する。機密ファイルを示す用語は、ファイルサーバのファイルに含まれる用語とする。
・「トレース対象候補ファイル名で識別されるファイル」の内容である追跡候補情報をトレース対象候補ファイル名で識別されるファイルから入力し、「最終トレース対象ファイル名2206で識別されるファイル」の内容である生成元情報を最終トレース対象ファイル名2206で識別されるファイルから入力する。生成元情報と追跡候補情報とがどのぐらい一致するか表す類似度を算出し、算出した類似度とあらかじめファイル追跡システム1の記憶装置に記憶された閾値(類似閾値)とを比較し、類似度が閾値より大きいことを判定した場合、妥当と判断する。具体的には、生成元情報が「ABCDEFG」という7つの文字列であり、追跡候補情報が「XYZABCDEFG12345」という15個の文字列であるとすると、追跡候補情報には生成元情報がすべて含まれ、追跡候補情報の15個の文字列のうち7文字が生成元情報と一致するので、類似度は、7/15×100より約47%と求められる。閾値が40%であると、追加トレース判断部1107は妥当と判断する。閾値が60%であると、追加トレース判断部1107は妥当でないと判断する。
【0073】
s206において、追加トレース判断部1107は、トレース対象候補ファイル名で識別されるファイルがトレース対象として妥当と判断した場合は、s207に移行する。妥当ではないと判断した場合は、s208へ移行する。
【0074】
s207では、追加トレース判断部1107は、妥当と判断したトレース対象候補ファイル名を含むログエントリ210を追加追跡ログとして追加トレース対象ファイルリスト2210a(追加追跡ログ記憶部の一例)に追加する。追加追跡ログが有する操作内容に含まれたファイル名であって、妥当と判断されたトレース対象候補ファイル名を追加トレース対象ファイル名2210bとする。
【0075】
s208では、追加トレース判断部1107は、トレース対象候補ファイルリスト2211に記憶されたすべての追跡候補ログについて処理を行ったか判定する。すべての追跡候補ログについて処理を行ったと判定した場合、追加トレース判断部1107は、処理を終了する。
終了する際、追加トレース対象ファイルリストが空であれば、トレース結果2107としてコピー元ファイルの特定無しを示す結果を出力する。空でなければ、トレース結果2107としてコピー元ファイルの特定有りを示す結果を出力する。
追加トレース判断部1107は、すべての追跡候補ログについて処理を行っていないと判定した場合、s204に戻る。
【0076】
このようにして、トレース対象候補ファイルリスト2211から、最終トレース対象ファイル名2206で識別されるファイルに対してコピーアンドペーストのコピー元となっている可能性のあるファイルを特定し、追加トレース対象ファイルリスト2210aに加える。追加トレース対象ファイルリスト2210aは、さらに追加でトレースを行う対象のファイル名のリストであり、ファイルサーバのファイルが由来であるか調べる対象である。
図8のs203は、コピーアンドペーストファイル特定部1106の処理であり、s203の一部、s204〜s208は、追加トレース判断部1107の追加追跡ログ判定処理である。
追加トレース判断部1107は、トレース結果2107(コピー元ファイルの特定の有無)、追加トレース対象ファイルリスト2210aを出力する。
【0077】
トレース部1104は、コピー元ファイルの特定が有る場合、すなわち、追加トレース対象ファイルリスト2210aに1つ以上の追加追跡ログが記憶されている場合、追加トレース対象ファイルリスト2210aから追加追跡ログを順次入力し、追加追跡ログが有する操作内容に含まれた追加トレース対象ファイル名2210bを取得し、追加トレース対象ファイル名2210bを新たなトレース対象ファイル名として、
図8の追跡処理のトレースバックを行う。
コピー元ファイルの特定が無い場合、すなわち、追加トレース対象ファイルリスト2210aに追加追跡ログが記憶されていない場合、トレース部1104は、処理を行わない。
【0078】
図7から
図10で説明したファイル追跡システム1の各処理の順序を説明する。
図17は、トレース部及びコピーアンドペーストファイル特定部、追加トレース判断部の処理の概要を表すフローチャートである。
図17において、ファイル追跡システム1は、S1において、転送判定部1114により転送判定処理を行う。転送判定処理は、
図7のs101である。
S2において、変遷判定部1124により変遷判定処理を行う。変遷判定処理は、
図7のs103からs108である。
S3において、トレース結果判断部1105により、トレース結果判定処理を行う。
S4において、トレース結果判断部1105により、結果出力処理を行う。結果出力処理は、ファイルサーバのファイル由来であることが確認できた場合、または、ファイルサーバのファイル由来でないことが確認できた場合、確認できた結果を出力する。
S5において、しぼり込み期間取得部1116により、しぼり込み期間取得処理を行う。しぼり込み期間取得処理は、
図8のs201である。
S6において、追跡候補生成部1126により、追跡候補生成処理を行う。追跡候補生成処理は、
図8のs202である。
S7において、追加トレース判断部1107により、追加追跡ログ判定処理を行う。追加追跡ログ判定処理は、
図8のs203の一部、s204からs208の処理である。追加追跡ログ判定処理では、追加追跡ログがある場合は、S1から処理を繰り返す。追加追跡ログがない場合は、処理を終了する。
【0079】
ファイル追跡システム1は、最終的に1つ以上のトレース対象ファイル名で識別されるファイルが、ファイルサーバのファイル由来であることが確認できた場合に、外部出力ファイルは、ファイルサーバのファイル由来であると判断する。
【0080】
追加トレース対象ファイル名2210bのトレースバックは、そのままトレース部1104に返すと、トレース対象期間を最初から調査することになる。トレース開始日時からトレース対象ファイル保存日時までの間の調査で十分であるため、以下の様に処理してもよい。
s207においてトレース対象候補ファイル名を追加トレース対象ファイルリストに加える際に、トレース対象ファイル保存日時もトレース対象候補ファイル名の参考情報としてリストに加える。
追加トレース対象ファイル名2210bで識別されるファイルのトレースバック時には、トレース部1104において、該トレース対象ファイル保存日時をトレース終了日時として扱い、トレース開始日時〜トレース対象ファイル保存日時の期間をトレース対象期間としてトレースバックさせてもよい。
【0081】
本実施の形態では、外部入力ログファイルとしてファイルサーバログファイルを例としたが、他のログファイルでも良い。また、外部出力ログファイルとしてメールログファイルを例としたが、他のログファイルでも良い。
【0082】
本実施の形態によれば、操作ログ(ログエントリ)のみの分析において、ファイルの変遷操作に基づくトレースバックを行い、ファイルサーバ由来のファイルか確認できなかった場合においても、最後のトレース対象ファイル(最終トレース対象ファイル)をオープン・保存した期間に、別途オープンしていた同種の他のファイルを、コピー元として特定し、新たなトレース対象ファイルに設定し、さらにトレースバックを行う。この結果、従来、操作ログだけでは、トレースできなかったファイルの内容のコピーアンドペーストにも対応したトレースバックを実現できる効果がある。さらに、コピー元候補のファイルの特定においては、コピー元候補のファイルとトレース対象ファイルとの類似性や、機密を表すキーワードを検索することにより、コピー元候補を確定することができる。
【0083】
本実施の形態では、機密情報として漏洩されたか調査したいファイルに対して、ファイル操作ログ等の複数のログから、ファイル間のデータのコピーアンドペーストを含んだ該ファイルに対する操作を追跡するファイル追跡装置の一例を説明した。ファイル追跡装置が行うトレースバックにおいて、トレース対象ファイルをオープンし保存するまでの期間に別途開いていたファイルをコピー元の候補とし、トレース対象ファイルと該ファイル間の類似を調べることで該ファイルをコピー元であることを特定する。
また、本実施の形態では、ファイル操作ログなどの複数ログを用いて、ファイルのトレースバックを行い、あるファイルが機密情報由来であるかトレースを行なうファイル追跡装置であって、
・ファイル操作ログから、トレース対象ファイルをオープンし、保存するまでの期間に、別途オープンしていたファイルをコピー元の候補ファイルとして選択する
・選択されたコピー元の候補ファイルに、機密ファイルに含まれるキーワードが含まれるか検査し、含まれていればコピー元の候補ファイルを新たなトレース対象ファイルとする
・選択されたコピー元の候補ファイルとトレース対象ファイルの類似性を検査し、類似していればコピー元の候補ファイルを新たなトレース対象ファイルとする
との処理を行うファイル追跡装置の一例を説明した。
【0084】
実施の形態2.
本実施の形態では、本発明のファイル追跡装置の一例としてファイル追跡システム1よる、コピーアンドペーストへ対応したファイル操作ログのトレースフォワードの実行について説明する。
実施の形態1と同じく、外部入力ログファイルはファイルサーバログファイルとし、外部出力ログファイルはメールログファイルとする。
【0085】
ファイル追跡システム1の構成の説明を行う。
システムの構成は
図2及び
図6と同じであるが、一部構成要素に対する入出力内容が異なるため差分について説明する。
・トレース部1104
判定結果2207は、外部入力ファイルが端末外部へ出力されたか判定した結果を出力する。
トレース開始条件2104は、本実施の形態ではトレースフォワードのモードで動くように指定する。
トレース終了条件2106はトレースを終了するための条件であり、「外部入力ファイルをトレースした結果、添付ファイルでメール送信された場合に終了する」、という条件を指定する。
【0086】
・トレース結果判断部1105
外部入力ファイルをトレースした結果、添付ファイルでメール送信されていないと判断した場合、外部入力ファイル、或いは外部入力ファイルが変遷したファイルのデータをコピーし、コピーしたデータを他のファイルへペーストしていないか判断するために、コピーアンドペースト調査指示2208を出力する。
【0087】
動作の説明を行う。
図2、
図6のファイル追跡システム1のトレースフォワードの動作について説明する。本実施の形態では、ファイルサーバからのファイルのダウンロードを行った後、このファイルが、添付ファイルでメール送信されていないかトレースを行う場合の動作について説明する。
【0088】
外部入力ログファイル取り込み部1101aは、外部入力ログファイル2101aとしてファイルサーバログファイルを取り込む。外部入力ログファイル2101aから、当ログファイルの指定のフォーマットに従い、ログを取り出し、外部入力ログ2201aとして外部入力ファイル特定部1102aへ出力する。本実施の形態では、“ダウンロード日時(タイムスタンプの一例)、ダウンロードした端末の識別子(端末名の一例)、ダウンロードファイル名(操作内容の一例)”という項目を有するフォーマットでログを出力する。
【0089】
外部入力ファイル特定部1102aは、外部入力ログ2201aに対して、外部入力ファイル特定条件2102aに基づき外部入力ファイル名2202aとファイル入力日時2203aを特定する。本実施の形態では、外部入力ファイル特定条件2102aに「指定期間に、端末Aがファイルサーバからファイルをダウンロードした場合」を設定する。本実施の形態では、指定期間を“2010/11/01 09:00:00から2010/11/01 17:00:00”の8時間とする。外部入力ファイル特定部1102aは該指定期間に、端末Aがファイルサーバからファイルをダウンロードした記録に該当するログエントリを抽出し、ダウンロード日時とダウンロードファイル名を取り出す。具体的には、外部入力ログ2201aが有するダウンロード日時が指定期間に含まれ、かつ、ダウンロードした端末の識別子が端末Aを表す外部入力ログ2201aを抽出する。抽出した外部入力ログ2201aからダウンロード日時、ダウンロードファイル名を取得する。本実施の形態では、2010/11/01 09:30:00に端末Aがファイルサーバからファイルをダウンロードしたとする。外部入力ファイル特定部1102aは、外部入力ファイル名2202aにダウンロードしたファイル名、ファイル入力日時2203aにダウンロード日時2010/11/01 09:30:00を設定する。
指定期間は、トレースフォワードを開始する時期としてあらかじめファイル追跡システム1の運用者により記憶装置に記憶され、外部入力ファイル特定部1102aは、記憶装置から指定期間を入力する。なお、指定期間内に端末Aがファイルサーバから複数回ファイルをダウンロードすると、外部入力ファイル特定部1102aは、外部入力ファイル名2202aとファイル入力日時2203aを複数出力する。このように複数出力された場合は、例えば、外部入力ファイル名2202aとファイル入力日時2203aとの組のうちファイル入力日時2203aが最も古いものから順にトレース部1104に出力して、トレースを行わせる。1つの組についてトレースが終了したら、次にファイル入力日時2203aが古い組をトレース部1104に出力してトレースを行わせる。
【0090】
外部出力ログファイル取り込み部1101bは、外部出力ログファイル2101bとしてメールログファイルを取り込む。外部出力ログファイル2101bから、当ログファイルの指定のフォーマットに従い、ログを取り出し、外部出力ログ2201bとして外部出力ファイル特定部1102bへ出力する。本実施の形態では、“送信日時(タイムスタンプの一例)、送信元メールアドレス(操作内容の一例)、あて先メールアドレス(操作内容の一例)、添付ファイル名(操作内容の一例)、添付ファイルサイズ(操作内容の一例)”という項目を有するフォーマットでログを出力する。
【0091】
外部出力ファイル特定部1102bは、外部出力ログ2201bに対して、外部出力ファイル特定条件2102bに基づき外部出力ファイル名2202bとファイル出力日時2203bを特定する。外部出力ファイル特定条件2102bに「外部出力ログ検索期間において、端末Aのユーザが添付ファイルをメールで送信した場合」を指定し、端末Aのユーザのメールアドレスからの添付ファイルの送信に該当するログエントリを抽出し、その添付ファイル名と送信日時(タイムスタンプ)を取り出す。具体的には、外部出力ログ2201bが有する送信日時が外部出力ログ検索期間に含まれ、かつ、送信元メールアドレスが端末Aを表す外部出力ログ2201bを取り出す。外部出力ファイル特定部1102bは、取り出した外部出力ログ2201bが有する添付ファイル名を取得し、外部出力ファイル名2202bに取得した添付ファイル名を設定する。外部出力ファイル特定部1102bは、取り出した外部出力ログ2201bが有する送信日時を取得し、ファイル出力日時2203bに取得した送信日時(タイムスタンプ)を設定する。なお、外部出力ログ2201bが複数ある場合は、最も新しい送信日時をファイル出力日時2203bに設定する。外部出力ログ検索期間とは、「外部入力ファイル特定条件2102aにおける指定期間の最初の日時」から未来に向かって、外部出力ログ2201bを検索する期間を指定する。本実施の形態では、未来に向かう期間を「31日」として、あらかじめファイル追跡システム1の運用者により記憶装置に記憶されているものとする。外部入力ファイル特定条件2102aにおける指定期間の最初の日時を、端末Aがファイルサーバから機密ファイルをダウンロードしたダウンロード日時2010/11/01 09:30:00よりも前にする。ここでは、2010/11/01 09:00:00とすると、2010/11/01 09:00:00から31日後は2010/12/02 09:00:00と求められる。外部出力ログ検索期間は、2010/11/01 09:00:00から2010/12/02 09:00:00までの期間になる。外部出力ファイル特定部1102bは、2010/11/01 09:00:00から2010/12/02 09:00:00までの外部出力ログ2201bの記録から、端末Aのユーザのメールアドレスから添付ファイルを送信したログエントリを抽出する。具体的には、外部出力ログ2201bから、外部出力ログ2201bが有する送信日時が2010/11/01 09:00:00から2010/12/02 09:00:00までの期間に含まれ、かつ、送信元メールアドレスが端末Aのユーザを表す外部出力ログ2201bを取り出す。ここでは、送信日時が2010/12/01 09:30:00である外部出力ログ2201bが抽出されるものとする。
外部出力ログ検索期間は、後述するトレーストレース対象期間(「トレース対象期間」は処理対象期間の一例)以上、すなわち、トレース対象期間を含む期間を設定する。
【0092】
操作ログファイル取り込み部1103(操作ログ入力部の一例)は、操作ログファイル2103に記憶された情報のフォーマットに従い、端末Aの操作ログファイル2103が記憶した操作ログをログエントリ210として取り出し、ログエントリ210が有するタイムスタンプが、期間入力部1108が記憶装置に記憶した処理対象期間2108に含まれることを判定したら、判定したログエントリ210を処理対象ログ記憶部1109(処理対象記憶部の一例)に記憶する。本実施の形態では、“タイムスタンプ(タイムスタンプ211の一例)、ユーザ識別子、端末識別子(端末名212の一例)、ファイル名、ファイル操作内容(操作内容215の一例)、アプリケーション名(アプリケーション名216の一例)”というフォーマットで出力する。
図18のログエントリ210は、処理対象ログ記憶部1109に記憶されたログエントリの一例である。
図18のログエントリ210には、ファイル名、ユーザ識別子がないが、ファイル名及びユーザ識別名は操作内容215に含まれるものとする。
【0093】
トレース部1104は、トレース開始条件2104、トレース条件2105、トレース終了条件2106を入力する。
トレース開始条件2104は、本実施の形態ではトレースフォワードのモードで動くことを指示する情報を指定する。
トレース条件2105は、コピーアンドペーストファイル特定部1106が動作する際に使用する「外部入力ファイル名2202aと同じ拡張子のファイルをトレースする」という動作を行うことを指示する情報を指定する。例えば、コピーアンドペーストファイル特定部1106は、外部入力ファイル名2202aがabc.csvであれば、拡張子が.csvのファイルを追跡候補とする。
トレース終了条件2106は、本実施の形態では、「トレース対象ファイルが添付ファイルでメール送信された場合に終了」を指定する。
トレース部1104は、期間入力部1108が記憶装置に記憶した処理対象期間2108を入力する。期間入力部1108は、実施の形態1と同じ動作を行う。ファイル入力日時2203aには、2010/11/01 09:30:00が設定されている。ファイル出力日時2203bには、2010/12/01 09:30:00が設定されている。このため、期間入力部1108は、開始日時が2010/11/01 09:30:00であり、終了日時が2010/12/01 09:30:00である処理対象期間を記憶装置に記憶する。
図11にファイル追跡システム1が使用する各種期間を説明する。指定期間は、ファイルサーバの管理者またはファイル追跡システム1の運用者が、あらかじめ入力装置を用いてファイル追跡システム1の記憶装置に記憶する。指定期間は、ファイルサーバから機密ファイルがダウンロードされたと推定される期間である。或いは、ダウンロードされた機密ファイルがメールに添付され、機密ファイルの使用が許可されていない端末に送信されたか否かを定期的に調査する環境では、管理者や運用者が任意の期間を指定期間として指定する。
外部出力ログ検索期間は、指定期間の開始日時以前の日時から、あらかじめ記憶装置に記憶された未来に向かう日数を加えた日数である。外部出力ログ検索期間は、メールに添付されて送信されたファイルを追跡する期間である。指定期間の開始日時以前の日時を期間の開始とするのは、機密ファイルが添付ファイルの元ファイルとなるのが、機密ファイルがダウンロードされた日時以後と考え、ダウンロード日時を含む期間とするためである。
処理対象期間(トレース対象期間)は、、開始日時をファイルサーバから機密ファイルがダウンロードされた日時とし、終了日時を添付ファイルを添付したメールが送信された日時とする。実施の形態1で説明したように、開始日時、終了日時は、運用者が任意の日時を指定することもできる。任意の日時を指定する場合は、処理対象期間が外部出力ログ検索期間に含まれる期間を指定する。
【0094】
トレース部1104では、まず、外部入力ファイル特定部1102aが出力した外部入力ファイル名2202aを入力するが、これをトレース対象ファイル名(処理対象ファイル名の一例)として設定する。該トレース対象ファイル名は、ファイルサーバからダウンロードしたファイルを識別するファイル名であり、ダウンロード後にメールに添付されて送信されたか追跡する対象である。本実施の形態では、添付ファイルでメール送信されたか追跡する対象である。
次に、期間入力部1108が記憶装置に記憶した処理対象期間2108をトレース対象期間として入力する。本実施の形態では。トレース対象期間は、開始日時=2010/11/01 09:30:00、終了日時=2010/12/01 09:30:00である。
【0095】
トレース部1104の動作の詳細を説明する。
図12は、トレース部の動作を示すフローチャートである。
図12のフローチャートに従いトレース部1104の動作を説明する。
【0096】
s101’を行う前に、トレース部1104は、後述するs106’で設定する最終トレース対象ファイル名2206に初期値を設定する。トレース部1104は、最終トレース対象ファイル名2206に初期値として外部入力ファイル名2202aを設定する。すなわち、トレース部1104は、最終トレース対象ファイル名2206に初期値としてトレース対象ファイル名を設定する。また、トレース部1104は、後述するs107’で設定する最終変遷日時2205aに初期値を設定する。トレース部1104は、最終変遷日時2205aに初期値としてファイル入力日時2203aを設定する。すなわち、トレース部1104は、最終変遷日時2205aに初期値としてトレース対象ファイル名のファイルがダウンロードされた日時を設定する。
まず、s101’において、トレース対象ファイル名で識別されるファイルが、トレース終了条件2106に指定された「トレース対象ファイルが添付ファイルでメール送信された場合に終了」という条件に合うか調べる。トレース対象ファイルが添付ファイルでメール送信されたか否かは次の様に調べる。
外部出力ファイル特定部1102bにおいて、既に、端末Aのユーザのメールアドレスからの添付ファイルの送信に該当するログエントリが抽出され、添付ファイル名が外部出力ファイル名2202bとして、添付ファイルのメールによる送信日時(タイムスタンプ)がファイル出力日時2203bに設定され、トレース部1104へ出力されている。
【0097】
従って、トレース対象ファイル名が、外部出力ファイル名2202bと一致するか確認すればよい。一致していれば、トレース対象ファイルがメール送信されていると判断する。このとき、外部出力ファイル名2202bに対応する送信日時であるファイル出力日時2203bは、トレース開始日時よりも後であることを条件とする。
また、外部出力ファイル名2202bがファイルのパスを含まずファイル名のみである場合は、トレース対象ファイル名(パスを含む)におけるファイル名部分との一致を確認する。ファイル名の一致の判定は、実施の形態1と同じである。
【0098】
一致した場合(s101’でyes)は、この時点でトレース部1104は、処理を終了する。この際、トレース部1104は、判定結果2207として、外部入力ファイルはメール送信されたという結果を出力する。
【0099】
次に、トレース対象ファイル名が、外部出力ファイル名2202bと一致しない場合(s101’でno)の処理を説明する。
s103’において、トレース部1104は、処理対象ログ記憶部1109から読み込むログエントリが残ってないか判定する。残ってないと判定した場合(yes)、s109’に進む。残ってると判定した場合(no)、s104’へ進む。
s104’において、トレース部1104は、処理対象ログ記憶部1109に記憶されたトレース対象期間に含まれるタイムスタンプを有するログエントリ210を入力する。
ログエントリは順方向、すなわち、タイムスタンプが古い方から新しい方へ順次入力する。
ログエントリには、ファイル操作に関する記録があり、以下のフォーマットである。
“タイムスタンプ(タイムスタンプ211の一例)、ユーザ識別子、端末識別子(端末名212の一例)、ファイル名(操作内容215の一例)、ファイル操作内容(操作内容215の一例)、アプリケーション名(アプリケーション名216の一例)”
【0100】
s105’において、トレース部1104は、変遷操作があるか判定を行う。変遷操作は実施の形態1と同じ定義である。
トレース部1104は、入力したログエントリ210の変遷前のファイル名が、トレース対象ファイル名か確認する。リネーム、コピー、移動においては、操作内容215に変遷操作前のファイル名(パスを含む)と変遷操作後のファイル名(パスを含む)が記録される。トレース部1104は、トレース対象ファイル名がファイル名のみでパスを含まない場合は、変遷前のファイル名(パスを含む)のうちパスを除く部分の名前が、トレース対象ファイル名と一致するか判定する。トレース部1104は、トレース対象ファイル名がファイルのパスを含む場合は、変遷前のファイル名(パスを含む)がトレース対象ファイル名(パスを含む)と一致するか判定する。
変遷操作があり、ログエントリ上の変遷前のファイル名が、トレース対象ファイル名であれば、トレース部1104は、yesと判定する。
yesの場合、トレース部1104は、s106’に移行する。noの場合、トレース部1104は、s103’に戻る。
【0101】
s106’では、トレース部1104は、変遷操作に応じてトレース対象ファイルを再設定し、さらに、最終トレース対象ファイル名2206を設定する。
・操作コマンドがリネームの場合
現在のトレース対象ファイル名はリネーム前のファイル名であるから、リネーム後のパスを含んだファイル名をトレース対象ファイル名に再設定し、リネーム後のパスを含んだファイル名を最終トレース対象ファイル名2206に設定する。
・操作コマンドがコピーの場合
現在のトレース対象ファイル名はコピー元のファイル名であるから、コピー先のパスを含んだファイル名をトレース対象ファイル名に再設定し、コピー先のパスを含んだファイル名を最終トレース対象ファイル名2206に設定する。
・操作コマンドが移動の場合
現在のトレース対象ファイル名は移動前のファイル名であるから、移動後のパスを含んだファイル名をトレース対象ファイル名に再設定し、移動後のパスを含んだファイル名を最終トレース対象ファイル名2206に設定する。
最初にs106’を処理する場合、トレース対象ファイル名は、ファイル名のみで、ファイルパスは無い場合がある。これは、ファイルサーバログであれば、ダウンロードファイル名はわかっても、端末A上のどのパスのファイルかは記録されていないからである。変遷操作に関するログエントリには、ファイルのパスも含まれるため、変遷前後のファイルについてはファイルのパスも取得することができる。従って、2回目以降のs106’の処理では、トレース対象ファイル名はパスを含んだファイル名となる。
【0102】
次に、s107’において、トレース部1104は、変遷操作が発生した日時(ログエントリ210のタイムスタンプ211)を最終変遷日時2205aに設定する。
【0103】
次に、s108’において、トレース部1104は、現在のトレース対象ファイル名で識別されるファイルが、「トレース対象ファイルが添付ファイルでメール送信された場合に終了」という条件に合うか判定する。その方法は、s101’に示したものと同じである。
現在のトレース対象ファイル名で識別されるファイルがメール送信されていた場合(yes)トレース部1104は、処理を終了する。この際、判定結果2207において、外部入力ファイルはメール送信されたことを示す結果を出力する。送信されたことを判定できなかった場合(no)、トレース部1104は、s103’に戻る。
トレース部1104の処理はここまでである。
s101’は、トレース部1104の処理であり、特に、トレース部1104が備える転送判定部1114の転送判定処理である。
s103’からs108’は、トレース部1104の処理であり、特に、トレース部1104が備える変遷判定部1124の変遷判定処理である。
【0104】
s103’でyesに進む際、トレース部1104は、判定結果2207として、外部入力ファイルはメール送信されたか分からなかったことを示す結果を出力する。
トレース部1104が、判定結果2207として外部入力ファイルはメール送信されたか分からなかったことを示す結果を出力した場合、トレース結果判断部1105はこの判定結果2207を入力し、コピーアンドペーストファイル特定部1106に対して、コピーアンドペースト調査指示2208を出力する。
また、トレース部1104が、判定結果2207として外部入力ファイルはメール送信されたことを示す結果を出力した場合、トレース結果判断部1105はこの判定結果2207を入力し、トレース結果2107として、「外部入力ファイルはメール送信された」という結果を出力する。この結果は、表示装置等のディスプレイにメッセージとして表示するなど、人間が見て分かる情報で表現する。
【0105】
s109’は、
図12のファイルの変遷操作の確認だけでは、トレース対象期間内に外部入力ファイルがメール送信されたことを発見できなかった場合の処理である。s109’の処理は、コピーアンドペーストファイル特定部1106で処理される。s109’では操作ログには現れない、コピーアンドペーストについて調査し、コピー先ファイルを特定する。
コピーアンドペーストファイル特定部1106は、コピーアンドペースト調査指示2208を受け、フローチャート
図13の処理を行う。
図13は、コピーアンドペーストファイル特定部1106、追加トレース判断部1107の動作を示すフローチャートである。
図13において、コピーアンドペーストファイル特定部1106は、トレース部1104から最終変遷日時2205a、トレース開始日時2205b、トレース終了日時2205c、最終トレース対象ファイル名2206を受ける。トレース開始日時2205b、トレース終了日時2205cは、処理対象期間2108であるため、コピーアンドペーストファイル特定部1106は、記憶装置に記憶された処理対象期間2108を入力してもよい。
最終トレース対象ファイル名2206は、しぼり込み期間取得部1116が入力する処理対象ファイル名の一例である。最終変遷日時2205aは、しぼり込み期間取得部1116が入力する処理対象期間の一例である。
【0106】
まず、s201’において、コピーアンドペーストファイル特定部1106は、最終トレース対象ファイル名で識別されるファイル(最終トレース対象ファイル)に対するオープン・クローズ日時の特定を行う。具体的には、例えば、
図14のフローチャートに従う。
図14は、コピーアンドペーストファイル特定部1106のしぼり込み期間取得部1116の動作を示すフローチャートである。
図14のs301’において、コピーアンドペーストファイル特定部1106は、トレース対象ファイルオープン日時という変数をNULLに設定する。また、トレース対象ファイルクローズ日時という変数をNULLに設定する。
【0107】
次に、s303’において、コピーアンドペーストファイル特定部1106は、処理対象ログ記憶部1109から読み込むログエントリが残ってないか判定し、残ってる場合(no)、s304’へ進む。残ってない場合(yes)、処理を終了する。
【0108】
次に、s304’において、コピーアンドペーストファイル特定部1106は、処理対象ログ記憶部1109に記憶されたログエントリ210から、ログエントリのタイムスタンプが最終変遷日時2205aからトレース終了日時2205cまでの期間に含まれるログエントリ210を、順方向(古いログエントリから新しいログエントリに向かって読む)で読む。
【0109】
次に、s305’において、コピーアンドペーストファイル特定部1106は、ログエントリ210の操作コマンド214が、ファイルをオープンする操作を記録し、操作内容215に、最終トレース対象ファイル名2206で識別されるファイルがオープンされた記録があるか判定する。コピーアンドペーストファイル特定部1106は、あることを判定した場合(yes)、s306’に移行する。noであれば、s303’に戻る。
【0110】
s306’では、コピーアンドペーストファイル特定部1106は、最終トレース対象ファイル名で識別されるファイルがオープンされたことを表すログエントリのタイムスタンプを、トレース対象ファイルオープン日時(オープン日時の一例)に設定する。
s307’において、コピーアンドペーストファイル特定部1106は、処理対象ログ記憶部1109から読み込むログエントリが残ってないか判定し、残ってる場合(no)、s308’へ進む。残ってない場合(yes)、処理を終了する。
次に、s307’において、コピーアンドペーストファイル特定部1106は、ログを一つ読む。ここでは、順方向(古いエントリから新しいエントリに向かって読む)で読む。
【0111】
次に、s309’において、コピーアンドペーストファイル特定部1106は、ログエントリ210の操作コマンドに、ファイルを閉じる操作の操作コマンドが記録され、操作内容215に最終トレース対象ファイル名2206で識別されるファイルがクローズされたことが記録されているか判定する。記録されていれば(yes)、s310’に移行する。noであれば、s307’に戻る。
【0112】
s310’では、コピーアンドペーストファイル特定部1106は、ログエントリのタイムスタンプを、トレース対象ファイルクローズ日時(クローズ日時の一例)に設定する。
図14は、コピーアンドペーストファイル特定部1106の処理であり、特に、コピーアンドペーストファイル特定部1106のしぼり込み期間取得部1116のしぼり込み期間取得処理である。
【0113】
このように
図14のフローチャートに従うことで、最終変遷日時2205aからトレース終了日時2205cまでの期間に、最終トレース対象ファイル名2206で識別されるファイルのオープン或いはクローズの日時がわかる。両方とも発生していない場合は、トレース対象ファイルオープン日時もトレース対象ファイルクローズ日時も設定されず、NULLである。
【0114】
図13に戻る。次に、コピーアンドペーストファイル特定部1106は、トレース対象候補ファイル名の特定を行う(s202’)。トレース対象候補ファイル名とは、最終トレース対象ファイル名2206で識別されるファイルの内容をコピーしコピーした内容をペーストした、そのペースト先となったと考えられるファイルのファイル名である。
s202’の処理を、
図15を用いて説明する。
図15は、コピーアンドペーストファイル特定部1106の追跡候補生成部1126の動作を示すフローチャートである。
【0115】
まず、s401’において、コピーアンドペーストファイル特定部1106は、トレース対象ファイルオープン日時=NULLかつトレース対象ファイルクローズ日時=NULLか判断する。これは、最終変遷日時2205aからトレース終了日時2205cまでの期間に、最終トレース対象ファイル名2206で識別されるファイルのオープンかクローズが発生したかの確認である。yesの場合、コピーアンドペーストファイル特定部1106処理は、処理を終了する。noの場合、コピーアンドペーストファイル特定部1106は、s402’に移行する。
【0116】
s402’では、コピーアンドペーストファイル特定部1106は、トレース対象ファイルオープン日時からトレース対象ファイルクローズ日時までのしぼり込み期間のログエントリ210を処理対象ログ記憶部1109から順次入力する。具体的には、コピーアンドペーストファイル特定部1106は、ログエントリ210のタイムスタンプ211が、しぼり込み期間であるログエントリを順次入力する。
【0117】
次にs403’では、コピーアンドペーストファイル特定部1106は、入力したログエントリ210が、以下の条件に合致するか判定し、合致することを判定したログエントリ210を追跡候補ログとしてトレース対象候補ファイルリスト2211(ファイル追跡システム1が備える記憶装置が記憶するファイルの一例)に記憶する。
・最終トレース対象ファイル名2206と拡張子が同じである(トレース条件2105を参照することによる)
・操作コマンドにファイルを保存するとの操作が記憶されている
上記条件に合致する事を判定することにより、コピーアンドペーストファイル特定部1106は、最終トレース対象ファイル名2206で識別されるファイルをオープンしてからクローズする間に、別途保存した別の同種類のファイルの有無を確認し、ファイルが有る場合は、該当するファイル名をトレース対象候補ファイル名(類似ファイル名)をリスト化したトレース対象候補ファイルリスト2211に追加する。最終トレース対象ファイル名2206で識別されるファイルをオープンしてからクローズする間に、別途同種類のファイルを保存した場合、最終トレース対象ファイル名2206で識別されるファイルからその別ファイルへコピーアンドペーストが発生した可能性があるため、それらをトレース対象の候補ファイルとして扱う。また、複数存在する可能性があるため、リスト化(ファイル化)する。
図13のs202’は、コピーアンドペーストファイル特定部1106が行う。特に、コピーアンドペーストファイル特定部1106の追跡候補生成部1126が行う追跡候補生成処理である。
【0118】
図13に戻る。
s203’では、コピーアンドペーストファイル特定部1106は、トレース対象候補ファイルリスト2211が空か調べる。空の場合(yes)、コピーアンドペーストファイル特定部1106は、処理を終了する。この場合、コピーアンドペーストファイル特定部1106は、特定結果2209として「コピー先ファイルの特定無しを示す結果」を出力する。
追加トレース判断部1107は、特定結果2209を入力し、特定結果2209が「コピー先ファイルの特定無しを示す結果」を表す場合(yes)、処理を終了する。noである場合、追加トレース判断部1107は、s204’に移行する。
【0119】
s204’では、追加トレース判断部1107(追加追跡ログ判定部の一例)がトレース対象候補ファイルリスト2211の先頭から順に、追跡候補ログを入力し、入力した追跡候補ログの操作内容215に含まれたトレース対象候補ファイル名を取得する。
【0120】
次に、s205’において、追加トレース判断部1107は、トレース対象候補ファイル名で識別されるファイルがトレース対象として妥当か判定する。
判定する方法として、以下がある。
・「最終トレース対象ファイル名2206で識別されるファイル」の内容である生成元情報を最終トレース対象ファイル名2206で識別されるファイルから入力し、「トレース対象候補ファイル名で識別されるファイル」の内容である追跡情報をトレース対象候補ファイル名で識別されるファイルから入力し、追跡候補情報と生成元情報とがどのぐらい一致するか表す類似度を算出し、算出した類似度とあらかじめファイル追跡システム1の記憶装置に記憶された閾値(類似閾値)とを比較し、類似度が閾値より大きいことを判定した場合、妥当と判断する。具体例は、実施の形態1と同じである。また、類似性の判定方法は公知のファイル類似性比較技術を用いればよい。
・トレース対象候補ファイル名で識別されるファイルに、予め設定した機密ファイルを示す用語が含まれているか検索する。含まれていれば、妥当と判断する。機密ファイルを示す用語は、ファイルサーバのファイルに含まれる用語とする。
・「トレース対象候補ファイル名で識別されるファイル」の内容である追跡候補情報をトレース対象候補ファイル名で識別されるファイルから入力し、「外部入力ファイル名2202aで識別されるファイル」の内容である生成元情報を外部入力ファイル名2202aで識別されるファイルから入力し、追跡候補情報と生成元情報とがどのぐらい一致するか表す類似度を算出し、算出した類似度とあらかじめファイル追跡システム1の記憶装置に記憶された閾値とを比較し、類似度が閾値より大きいことを判定した場合、妥当と判断する。具体例は、実施の形態1と同じである。また、類似性の判定方法は公知のファイル類似性比較技術を用いればよい。
【0121】
s206’において、トレース対象候補ファイル名で識別されるファイルがトレース対象として妥当と判断された場合は、追加トレース判断部1107は、s207’に移行する。妥当ではないと判断された場合は、s204’へ移行する。
【0122】
s207’では、追加トレース判断部1107は、妥当と判断したトレース対象候補ファイル名を含むログエントリ210を追加追跡ログとして追加トレース対象ファイルリスト2210a(追加追跡ログ記憶部の一例)に追加する。追加追跡ログが有する操作内容に含まれたファイル名であって、妥当と判断されたトレース対象候補ファイル名を追加トレース対象ファイル名2210bとする。
【0123】
s208’では、追加トレース判断部1107は、トレース対象候補ファイルリスト2211に記憶されたすべての追跡候補ログについて処理を行ったか判定する。すべての追跡候補ログについて処理を行ったと判定した場合、追加トレース判断部1107は、処理を終了する。
終了する際、追加トレース対象ファイルリストが空であれば、トレース結果2107としてコピー先ファイルの特定無しを示す結果を出力する。空でなければ、トレース結果2107としてコピー先ファイルの特定有りを示す結果を出力する。
追加トレース判断部1107は、すべての追跡候補ログについて処理を行っていないと判定した場合、s204’に戻る。
【0124】
このようにして、トレース対象候補ファイルリスト2211から、最終トレース対象ファイル名2206で識別されるファイルに対してコピーアンドペーストのコピー先となっている可能性のあるファイルを特定し、追加トレース対象ファイルリスト2210aに加える。追加トレース対象ファイルリスト2210aはさらに追加でトレースを行うトレース対象ファイル名のリストであり、メール送信されたか調べる対象である。
図13のs203’は、コピーアンドペーストファイル特定部1106と追加トレース判断部1107との処理であり、s204’〜s208’は、追加トレース判断部1107の追加追跡ログ判定処理である。
追加トレース判断部1107は、トレース結果2107(コピー元ファイルの特定の有無)、追加トレース対象ファイルリスト2210aを出力する。
【0125】
図2のトレース部1104は、コピー元ファイルの特定が有る場合、すなわち、追加トレース対象ファイルリスト2210aに1つ以上の追加追跡ログが記憶されている場合、追加トレース対象ファイルリスト2210aから追加追跡ログを順次入力し、追加追跡ログが有する操作内容に含まれた追加トレース対象ファイル名2210bを取得し、追加トレース対象ファイル名2210bを新たなトレース対象ファイル名として、
図13の追跡処理のトレースフォワードを行う。
コピー先ファイルの特定が無い場合は、すなわち、追加トレース対象ファイルリスト2210aに追加追跡ログが記憶されていない場合、トレース部1104は、処理を行わない。
【0126】
ファイル追跡システム1は、最終的に1つ以上のトレース対象ファイル名で識別されるファイルが、メール送信されたことが確認できた場合に、ファイルサーバからダウンロードしたファイルは、メール送信されたと判断する。
【0127】
追加トレース対象ファイル名2210bのトレースフォワードは、そのままトレース部1104に返すと、トレース対象期間を最初から調査することになる。トレース対象ファイルオープン日時或いはトレース対象ファイルクローズ日時からトレース終了日時までの間の調査で十分であるため、以下の様に処理してもよい。
s207’においてトレース対象候補ファイル名を追加トレース対象ファイルリスト2210aに加える際に、トレース対象ファイルオープン日時或いはトレース対象ファイルクローズ日時もトレース対象候補ファイル名の参考情報としてリストに加える。
追加トレース対象ファイル名2210bで識別されるファイルのトレースフォワード時には、トレース部1104において、トレース対象ファイルオープン日時或いはトレース対象ファイルクローズ日時をトレース開始日時として扱い、トレース対象ファイルオープン日時或いはトレース対象ファイルクローズ日時からトレース終了日時の期間をトレース対象期間としてトレースフォワードさせてもよい。
【0128】
本実施の形態では、外部入力ログファイルとしてファイルサーバログファイルを例としたが、他のログファイルでも良い。また、外部出力ログファイルとしてメールログファイルを例としたが、他のログファイルでも良い。
【0129】
本実施の形態では、機密情報として漏洩されたか調査したいファイルに対して、ファイル操作ログ等の複数のログから、ファイル間のデータのコピーアンドペーストを含んだ該ファイルに対する操作を追跡する。トレースフォワードにおいて、トレース対象ファイルをオープンしクローズするまでの期間に別途保存したファイルをコピー先の候補とし、トレース対象ファイルと該ファイル間の類似を調べることで該ファイルをコピー先であることを特定する。
また、本実施の形態では、端末操作ログなどの複数ログを用いて、ファイルのトレースフォワードを行い、機密情報由来のファイルがどのように扱われたかトレースを行なうファイル追跡装置であって、以下の動作を行うファイル追跡装置を説明した。
・ファイル操作ログから、トレース対象ファイルをオープンし、クローズするまでの期間に、別途保存していたファイルをペースト先の候補ファイルとして選択する。
・選択されたペースト先の候補ファイルが、機密情報由来のファイルと類似しているか検査し、類似していればペースト先の候補ファイルを新たなトレース対象ファイルとする。
・選択されたペースト先の候補ファイルとトレース対象ファイルの類似性を検査し、類似していればペースト先の候補ファイルを新たなトレース対象ファイルとする。
・選択されたペースト先の候補ファイルに、機密ファイルに含まれるキーワードが含まれるか検査し、含まれていればペースト先の候補ファイルを新たなトレース対象ファイルとする。
【0130】
本実施の形態によれば、ファイル操作ログのみの分析において、ファイルの変遷操作に基づくトレースフォワードを行い、ファイルの外部送出が確認できなかった場合においても、最後のトレース対象ファイルをオープン・クローズした期間に、別途オープンしていた同種の他のファイルを、コピー先として特定し、新たなトレース対象ファイルに設定しさらにトレースフォワードを行う。この結果、従来、ファイル操作ログだけでは、トレースできなかったファイルの内容のコピーアンドペーストにも対応したトレースフォワードを実現できる効果がある。さらに、コピー先候補のファイルの特定においては、コピー先候補のファイルとトレース対象ファイルとの類似性や、機密を表すキーワードを検索することにより、コピー先候補を確定することができる。
【0131】
実施の形態3.
本実施の形態では、実施の形態1における、最終トレース対象ファイル名で識別されるファイルへのペーストが発生したことを判断する方法として、トレース対象ファイル名で識別されるファイルをオープンした時のファイルサイズに対して、保存した時のファイルサイズが、オープンから保存までの時間に対して増加が大きい場合に、ペーストが発生していると判断する。
【0132】
コピーアンドペーストファイル特定部1106の動作として、トレースバックにおいては、
図8のs201でトレース開始日時から最終変遷日時までの期間に最終トレース対象ファイル名で識別されるファイルをオープンした日時と、保存した日時を抽出している。本実施の形態では、しぼり込み期間取得部1116は、該ファイルをオープンした日時を取得する際に、ログエントリ210にファイルサイズが記録されている場合に、ファイルサイズを取得する。これを、オープン時ファイルサイズ(オープンサイズの一例)とする。さらに、しぼり込み期間取得部1116は、該ファイルを保存した日時を取得する際に、ログエントリにファイルサイズが記録されている場合に、ファイルサイズを取得する。これを、保存時ファイルサイズ(保存サイズの一例)とする。
【0133】
トレース対象ファイル保存日時とトレース対象ファイルオープン日時の日時差を△tとする。保存時ファイルサイズとオープン時ファイルサイズのサイズ差を△sとする。
この△tと△sを用いて、コピーアンドペーストファイル特定部1106は、△tに対する△sの比が一定以上の場合に、ペーストが発生したと判断する。例えば、最終トレース対象ファイル名で識別されるファイルがcsvファイルで、△tが30秒、△sが1MBの場合は、csvファイルを30秒で1MB増加させるために、そのデータをキーボードで打ち込んだとは考えにくく、別のファイルからデータをコピーし、該ファイルにペーストしたと判断できる。ペーストが発生したと判断する△sと△tの比の基準値(比閾値)を予め決めておき、記憶装置に記憶し、追跡候補生成部1126は、記憶装置から基準値を入力し、基準値を△s/△tが超えたか判定する。追跡候補生成部1126は、基準値を△s/△tが超えたと判定した場合に、ペーストが発生したと判断すれば良い。例えば、基準値を10Kバイト/秒と予め記憶した場合は、追跡候補生成部1126は、△s/△tが10Kバイト/秒を超えた場合にペーストが発生したと判断する。この処理は、実施の形態1のs403の条件に加える。この結果、△s/△tが基準値を超えずペーストが発生していないと判断された場合は、常に、トレース対象候補ファイルリスト2211は空となる。或いは、べつの例として、
図10のs402の前に、基準値を△s/△tが超えたか判定する処理を行い、基準値を△s/△tが超えたと判定した場合、s402へ進み、基準値を△s/△tが超えたと判定しなかった場合、処理を終了するようにしてもよい。
【0134】
実施の形態2においても、同様に時間当たりのファイルの増加をペーストの判断に利用する。トレースフォワードにおけるコピーアンドペーストファイル特定部1106の追跡候補生成部1126は、処理であるs403’に以下の処理を加える。s403’において、追跡候補生成部1126は、最終トレース対象ファイル名で識別されるファイルをオープンしてからクローズするまでの期間に、保存が発生した別ファイルを特定する。別ファイルの判定は、操作コマンド214に保存操作を表す操作コマンドが記録されているか判定することにより行う。ログエントリにおいて、特定した該ファイルの保存日時におけるファイルサイズ(保存時ファイルサイズ’)(保存サイズの一例)を取得し、さらに、該保存日時に対して時間を遡り、直近に該ファイルをオープンした日時を調べ、その時の該ファイルのファイルサイズ(オープン時ファイルサイズ’)(オープンサイズの一例)を取得する。追跡候補生成部1126は、保存時ファイルサイズ’とオープン時ファイルサイズ’のサイズ’差を△s’、該保存時と該オープン時の日時差を△t’とし、トレースバック時と同じ様に、△s’/△t’の基準値(比閾値)を記憶装置に記憶しておき、記憶装置から基準値を入力し、基準値を△s/△tが超えたか判定する処理を行い、短期間でのファイルサイズの増加の有無を調べる。基準値を△s/△tが超えたと判定したら、短期間に増加しているとし、ペーストが発生していると判断し、該ファイルのファイル名をトレース対象候補ファイルリスト2211に加える。そうでない場合は、トレース対象候補ファイルリスト2211にファイル名を加えない。
【0135】
トレースバック時の△s/△tの基準値、トレースフォワード時の△s’/△t’の基準値はトレース条件2105で指定しても良い。
【0136】
本実施の形態によれば、トレースバック時にトレース対象ファイルのオープン〜保存の期間において、その期間に対するファイルサイズの増加率を調べ、短時間に増加していることが分かった場合に、ペーストによるファイルサイズの増加と判断し、短時間の増加が無かった場合にペーストが発生していないと判断することで、ペーストが発生していないと考えられるトレース対象ファイルをトレース対象から除外できるので、余分なトレースを行わなくてよい効果がある。
さらに、同様の方法で、トレースフォワード時に、トレース対象のファイルのオープン〜クローズの期間において保存が発生した別ファイルの短期間のファイルサイズの増加を確認し、ペーストの発生を判断することで、ペーストが発生していないと考えられるトレース対象ファイルをトレース対象から除外できるので、余分なトレースを行わなくてよい効果がある。
【0137】
この実施の形態では、ペースト先の候補ファイルが短時間に増加していた場合にペースト先のファイルとして確定するファイル追跡装置の一例を説明した。
【0138】
実施の形態4.
実施の形態1、2ではトレース条件2105として、コピーアンドペーストファイル特定部1106は、最終トレース対象ファイルと同じ拡張子のファイルについてトレースを行うこととしている。しかし、コピーアンドペーストは同種のファイル間のみで発生するとは限らない。本実施の形態では、コピーアンドペーストが発生しうる拡張子の組み合わせを予め定義し、さらに、スコアを付与することで不要なトレースを行わないファイル追跡システム1の一例を説明する。
【0139】
実施の形態1、2では、コピーアンドペーストファイル特定部1106の追跡候補生成部1126がトレースバック時のs403もしくは、トレースフォワード時のs403’において、トレース対象候補ファイルリスト2211に加えるファイル名の条件として最終トレース対象ファイル名と拡張子が同じであることを条件としているが、本実施の形態ではこの条件を次の様に変更する。
【0140】
図16は、ペースト先とコピー元の拡張子の組み合わせとスコアを示した表を示す図である。例えば、ペースト先が.docの場合、コピー元が.txtではスコア(拡張子点数の一例)を2と定義する。ペースト先が.docの場合、コピー元が.docではスコアを3と定義する。ペースト先が.docの場合、コピー元が.csvではスコアを1と定義する。このスコアは次の様に処理される。該表は、コピーアンドペーストファイル特定部1106に埋め込まれていてもよく、トレース条件2105で与えても良い。
トレースバックの場合、トレース条件2105において拡張子の組み合わせのスコアが2以上のもの(点数閾値)を処理するという条件を指定する。コピーアンドペーストファイル特定部1106の追跡候補生成部1126の処理であるs403において、追跡候補生成部1126は、最終トレース対象ファイル名の拡張子が.docの場合、トレース対象候補ファイルリスト2211に加える条件として、スコアが2以上となる拡張子のファイルというトレース条件2105を参照する。最終トレース対象ファイル名で識別されるファイルはペースト先であるので、
図16においてペースト先の拡張子が.docの行を参照すると、スコアが2以上のコピー元の拡張子は、.docと.txtである。追跡候補生成部1126は、最終トレース対象ファイル名で識別されるファイルをオープンしてから保存するまでの間に、オープンか、クローズ、或いは両方を行なっているファイルの拡張子が、.doc及び.txtのファイルのファイル名をトレース対象候補ファイルリスト2211に加える。トレース条件2105において拡張子の組み合わせのスコアの閾値は2以外でも良い。
【0141】
トレースフォワードの場合、例えば、トレース条件2105において拡張子の組み合わせのスコアが3以上のもの(点数閾値)を処理するという条件を指定する。コピーアンドペーストファイル特定部1106の追跡候補生成部1126の処理である、s403’において、追跡候補生成部1126は、最終トレース対象ファイル名の拡張子が.docの場合、トレース対象候補ファイルリスト2211に加える条件として、スコアが3以上というトレース条件2105を参照する。最終トレース対象ファイル名で識別されるファイルはコピー元であるので、
図16においてコピー元の拡張子が.docの列を参照すると、スコアが3以上のペースト先の拡張子は、.docである。追跡候補生成部1126は、最終トレース対象ファイル名で識別されるファイルをオープンしてからクローズするまでの間に、保存を行なっているファイルの拡張子が、.docのファイルのファイル名をトレース対象候補ファイルリスト2211に加える。トレース条件2105において拡張子の組み合わせのスコアの閾値は3以外でも良い。
【0142】
本実施の形態によれば、コピーアンドペーストが発生する可能性のあるファイルの拡張子間のスコアを予め定めておくことで、指定したスコアの閾値以上の拡張子の組み合わせについてトレースが可能となるため、全ての拡張子の組み合わせについてトレースする必要が無くなり、トレース処理が効率化される効果がある。
【0143】
この実施の形態では、トレースするファイルの拡張子の組み合わせに予めスコアをつけ一定のスコア以上の拡張子のファイルのみトレースするファイル追跡装置の一例を説明した。
【0144】
実施の形態5.
実施の形態1のトレースバックにおいて、s402、s403において、追跡候補生成部1126は、最終トレース対象ファイル名で識別されるファイルがオープン〜保存された期間に、別途オープン或いはクローズ或いは両方を行なっているファイルのファイル名をトレース対象候補ファイルリスト2211に加えたが、本実施の形態では、該期間に、別途オープン或いはクローズ或いは両方を行なっているファイルで、かつ、保存を行なったファイルについては、トレース対象候補ファイルリスト2211に加えない。コピー元としてファイルをオープンするのであれば、編集し保存することは少ないという予想に基づく。該保存の有無は、最終トレース対象ファイル名で識別されるファイルがオープン〜保存されたしぼり込み期間のログエントリを検索し、該ファイルの保存の有無を確認する。
【0145】
実施の形態2のトレースフォワードにおいては、s402’において、追跡候補生成部1126は、トレース対象ファイルオープン日時からトレース対象ファイルクローズ日時までの間のログを切り出す、としているが、本実施の形態では、該オープン〜クローズを行った間に、最終トレース対象ファイル名で識別されるファイルが保存されていれば、切り出したログを破棄し、s403’において、トレース対象候補ファイルリスト2211を空として終了する。これは、コピー元として最終トレース対象ファイル名で識別されるファイルをオープンするのであれば、編集し保存することは少ないという予想に基づく。該保存の有無は、該オープン〜クローズを行ったしぼり込み期間のログエントリ210の操作コマンド214を用いて検索する。操作コマンド214に保存操作を表す操作コマンドが記憶され、かつ、操作内容215に最終トレース対象ファイル名で識別されるファイルの保存を行ったことが記憶されているか判定する。
【0146】
本実施の形態によれば、コピーアンドペーストのコピー元としてファイルを参照する場合は、編集し保存することは少ないという予想に基づき、トレースバック、トレースフォワードの両方において、コピー元と考えられるファイルについて保存を行なっている場合は、コピー元の候補から除外することにより、コピー元ではない可能性のあるファイルをトレースする無駄を省く効果がある。
【0147】
この実施の形態では、コピー元の候補ファイルが保存されていた場合はコピー元の候補から除外する。ペースト先の候補ファイルの特定において、トレース対象のファイルが保存されていた場合は、該ペースト先の候補ファイルを候補ファイルから除外するとの動作を行うファイル追跡装置の一例を説明した。
【0148】
実施の形態6.
実施の形態1のトレースバックにおいて、s403において、最終トレース対象ファイル名で識別されるファイルがオープン〜保存されたしぼり込み期間に、別途オープン或いはクローズ或いは両方を行なっているファイルをトレース対象候補ファイルリスト2211に加えるが、本実施の形態では、s403において、追跡候補生成部1126は、該しぼり込み期間に別途オープン或いはクローズ或いは両方を行なっているファイルでかつ、該期間の直後に削除しているログエントリをトレース対象候補ファイルリスト2211に加える。これは、悪意をもってファイルの内容をコピーアンドペーストした場合、コピー元のファイルを削除して証拠を隠蔽することが考えられるためである。
該しぼり込み期間のログエントリのうち、別途オープン或いはクローズ或いは両方を行なっているログエントリについて、該しぼり込み期間の直後のログエントリを検索し、該ファイルの削除が記録されているか確認する。直後とは、例えば、10分以内である。直後とする期間については、トレース条件2105で与えればよい。追跡候補生成部1126は、トレース条件2105を参照する。
【0149】
削除されたファイルのファイル名が追跡候補生成部1126で生成したトレース対象候補ファイルリスト2211に含まれていると、追加トレース判断部1107は、削除されたファイルをアクセスできないため、当該ファイルの情報を入力することができない。このため、追加トレース判断部1107は、s205で、トレース対象候補ファイル名で識別されるファイルが削除されていてアクセスできない時は、実施の形態1で説明した類似度を比較する処理を行わずに、s207に移行し、トレース対象候補ファイル名を含む操作内容215を有するログエントリ210を追加トレース対象ファイルリスト2210aに追加する。
【0150】
実施の形態2のトレースフォワードにおいて、s403’において、最終トレース対象ファイル名で識別されるファイルがオープン〜クローズされたしぼり込み期間に、別途保存されたファイルのファイル名をトレース対象候補ファイルリスト2211に加える。本実施の形態では、s403’において、追跡候補生成部1126は、追加条件として、該しぼり込み期間の直後に最終トレース対象ファイル名で識別されるファイルを削除している場合は、該別途保存されたファイルをトレース対象候補ファイルリスト2211に加える。削除操作は、操作コマンド214に、削除操作を表す操作コマンドが記憶されている場合に削除が行われたと判定する。これは、悪意をもってファイルの内容をコピーアンドペーストした場合、コピー元のファイルを削除して証拠を隠蔽することが考えられるためである。
該しぼり込み期間のログエントリにおいて、該しぼり込み期間の直後のログを検索し、最終トレース対象ファイル名で識別されるファイルの削除が記録されているか確認する。直後とは、例えば、10分以内である。直後とする期間については、トレース条件2105で与えればよい。追跡候補生成部1126は、トレース条件2105を参照する。
【0151】
削除されたファイルのファイル名が追跡候補生成部1126で生成したトレース対象候補ファイルリスト2211に含まれていると、追加トレース判断部1107は、削除されたファイルをアクセスできないため、当該ファイルの情報を入力することができない。このため、追加トレース判断部1107は、s205’で、トレース対象候補ファイル名で識別されるファイルが削除されていてアクセスできない時は、実施の形態1で説明した類似度を比較する処理を行わずに、s207’に移行し、トレース対象候補ファイル名を含む操作内容215を有するログエントリ210を追加トレース対象ファイルリスト2210aに追加する。
【0152】
本実施の形態によれば、悪意を持ってファイルをコピーアンドペーストする場合、コピーアンドペースト後にコピー元ファイルを削除し証拠を隠蔽する可能性を鑑み、トレース対象候補ファイルリスト2211に加える条件として、トレースバックの場合は、最終トレース対象ファイル名で識別されるファイルがオープン〜保存された期間に別途オープン或いはクローズ或いは両方を行なっているファイルでかつ該期間の直後に削除しているものをトレース対象候補ファイルリスト2211に加えることにした。また、トレースフォワードの場合は、最終トレース対象ファイル名で識別されるファイルがオープン〜クローズされた期間の直後に該ファイルが削除されている場合は、該期間に保存した別ファイルのファイル名をトレース対象候補ファイルリスト2211に加えることにした。
この結果、トレース対象候補ファイルリスト2211に加えるファイル名を絞り込むことができるため、余分なトレースを行わなくてよい効果がある。
【0153】
この実施の形態では、コピー元の候補ファイルがクローズ直後に削除されている場合にコピー元のファイルとして確定する。ペースト先の候補ファイルに対するトレース対象ファイルが、クローズ直後に削除されていた場合は、ペースト先のファイルとして確定する動作を行うファイル追跡装置の一例を説明した。
【0154】
実施の形態7.
情報漏洩を鑑みた場合、組織の外部へ送出(漏洩)したファイルに多くのデータを含むほど漏洩時の被害が大きくなると考えられる。ファイル間でデータをコピーアンドペーストする場合において、コピー元ファイルが大きければ多くのデータをコピーできる可能性がある。また、ペースト先のファイルが大きければ多くのデータをペーストされた可能性がある。本実施の形態ではコピー元、ペースト先の候補とするファイルのファイルサイズに着目し、トレース対象の候補を絞り込むものである。
【0155】
実施の形態1のトレースバックにおいて、コピーアンドペーストファイル特定部1106の追跡候補生成部1126の動作を示すs403において、追跡候補生成部1126は、最終トレース対象ファイル名で識別されるファイルがオープン〜保存されたしぼり込み期間に、別途オープン或いはクローズ或いは両方を行なっているファイルをトレース対象候補ファイルリスト2211に加える。本実施の形態では、該しぼり込み期間に、別途オープン或いはクローズ或いは両方を行なっており、かつ、一定以上のファイルサイズのものをトレース対象候補ファイルリスト2211に加える。これは、コピー元とするファイルが一定以上のサイズ(サイズ閾値)であれば、データをコピーできる可能性があることに基づく。一定以上のファイルサイズとして、例えば、500Kバイト以上などを指定する。このファイルサイズの条件は、トレース条件2105で指定すればよい。追跡候補生成部1126は、ファイルサイズを操作内容215から取得する。また、追跡候補生成部1126は、操作コマンド214にファイルを開く操作を表す操作コマンドが記憶されているか判定する。また、追跡候補生成部1126は、トレース条件2105を参照する。
【0156】
実施の形態2のトレースフォワードにおいて、コピーアンドペーストファイル特定部1106の追跡候補生成部1126動作を示すs403’において、追跡候補生成部1126は、最終トレース対象ファイル名で識別されるファイルがオープン〜クローズされたしぼり込み期間に、別途保存されたファイルをトレース対象候補ファイルリスト2211に加えている。本実施の形態では、該しぼり込み期間に、別途保存しており、かつ、一定以上のファイルサイズ(サイズ閾値)のものをトレース対象候補ファイルリスト2211に加える。これは、ペースト先とするファイルが一定以上のサイズであれば、データをペーストされている可能性があることに基づく。一定以上のファイルサイズとして、例えば、500Kバイト以上などを指定する。このファイルサイズの条件は、トレース条件2105で指定すればよい。追跡候補生成部1126は、ファイルサイズを操作内容215から取得する。また、追跡候補生成部1126は、操作コマンド214にファイルを開く操作を表す操作コマンドが記憶されているか判定する。また、追跡候補生成部1126は、トレース条件2105を参照する。
【0157】
本実施の形態によれば、ファイル間でデータをコピーアンドペーストする場合は一定以上のデータ量をコピーアンドペーストすることを想定し、トレースバックではコピー元の候補のファイルサイズを一定以上のものに限定し、また、トレースフォワードではペースト先の候補のファイルをサイズを一定以上のものに限定することで、トレース対象候補ファイル名を絞り込むことができるため、余分なトレースを行わなくてよい効果がある。
【0158】
この実施の形態では、コピー元の候補ファイルが一定以上のサイズの場合にコピー元のファイルとして確定する。ペースト先の候補ファイルが一定以上のサイズの場合にペースト先のファイルとして確定する動作を行うファイル追跡装置の一例を説明した。
【0159】
実施の形態8.
コピーアンドペーストを行なう場合、コピー元ファイルをオープンし、内容をコピーし、直ぐにクローズしても、クリップボードと呼ばれるコピーデータの保存領域にコピーした内容が保存される。クローズした後、ペースト先ファイルへペーストすることが可能である。
【0160】
実施の形態1の様に、最終トレース対象ファイル名で識別されるファイルをオープン〜保存したしぼり込み期間に別途オープン或いはクローズ或いは両方を行なっているファイルのファイル名をトレース対象候補ファイル名とした場合、「コピー元ファイルでデータをコピー→直ぐクローズ→その後ペースト先ファイルをオープン→ペースト→保存」という操作を行なった場合にトレース対象候補ファイル名が見つからない。本実施の形態では、実施の形態1のトレースバックにおいて、コピーアンドペーストファイル特定部1106の追跡候補生成部1126の動作を示すs402を次の様に変更する。
s402:トレース対象ファイル保存日時からn分遡りログを切り出す。
【0161】
この様に、切り出す対象のログの開始をトレース対象ファイルオープン日時とせず、トレース対象ファイル保存日時からn分遡った日時とすることで、追跡候補生成部1126は、トレース対象ファイルオープン日時よりも前の時間のログも含めて切り出す。従って、トレース対象ファイルオープン日時よりも前にオープン・コピー・クローズしたファイルについてもs403でトレース対象候補ファイルリスト2211に追加される。但し、トレース対象ファイル保存日時からn分遡った日時は、トレース対象ファイルオープン日時よりも前となるようにn分を設定する。
【0162】
トレース対象ファイル保存日時から遡る時間であるn分の指定によっては、トレース対象ファイルオープン日時よりも前にオープン・コピー・クローズしたファイルについてs403で抽出されない場合がある。例えば、「ファイルAをオープン→データをコピー→クローズ」し、その2分後に「最終トレース対象ファイル名で識別されるファイルをオープン→ペースト→10分後に保存」した場合を考える。n=10分とした場合、トレース対象ファイル保存日時から10分遡っても、ファイルAのオープン〜クローズの期間はs402で切り出されるログには含まれない。
しかし、コピーしてからペーストせず長時間放置することは少ないと予想されるため、例えば、遡る時間は、
n分=「トレース対象ファイル保存日時−トレース対象ファイルオープン日時」+△
において、△=30分などとすればよい。この様にすれば、トレース対象ファイルオープン日時よりも30分前のログも切り出される。
【0163】
本実施の形態によれば、トレース対象ファイル保存日時から一定時間を遡ったログにおいて、別途オープン或いはクローズ或いはその両方を行なったファイルのファイル名をトレース対象候補ファイル名とするので、該ファイルの「オープン→データコピー→クローズ」後、「最終トレース対象ファイル名で識別されるファイルをオープン→ペースト→保存」するような場合においても、該ファイル名をトレース対象候補ファイル名として特定することが可能となる効果がある。