(57)【特許請求の範囲】
【請求項１】
改ざん判定のモードが第１のモードのとき、改ざん判定の対象となるファイルに関する誤り検出符号を含むファイル情報の、リストである第１の一時リストを作成し、前記改ざん判定のモードが第２のモードのとき、前記ファイルに関する前記誤り検出符号を含まないファイル情報の、リストである第２の一時リストを作成するリスト作成部と、
前記改ざん判定のモードが第１のモードのとき、予め格納された、前記改ざん判定の対象となるファイルに関する誤り検出符号を含むファイル情報の、リストであるマスタリストと、前記第１の一時リストとの差分を検出して、検出結果を出力し、前記改ざん判定のモードが第２のモードのとき、前記マスタリストと前記第２の一時リストとの前記誤り検出符号以外の差分を検出し、検出結果を出力する改ざん判定部と
を備えた改ざん検出装置。
【請求項２】
前記リスト作成部は、前記改ざん判定を除外するファイルパスのリストである除外リストに基づいて、当該除外リストに含まれない、前記改ざん判定の対象となるファイルに関する前記マスタリストを作成する
請求項１記載の改ざん検出装置。
【請求項３】
前記リスト作成部は、前記マスタリストの作成にあたり、前記改ざん判定を除外するファイルパスのうち、例外的に前記改ざん判定を実施するファイルパスのリストである例外リストに基づいて、当該例外リストに含まれるファイルに関する前記マスタリストを作成する
請求項２記載の改ざん検出装置。
【請求項４】
前記リスト作成部は、前記マスタリストの作成にあたり、ファイルが存在してはならないファイルパスのリストである不存在リストに基づいて、前記改ざん判定の対象となるファイルが不存在リストに存在するか否かをチェックし、チェック結果を出力する
請求項２または請求項３記載の改ざん検出装置。
【請求項５】
前記マスタファイルの更新指示に応じて、前記リスト作成部は、前記改ざん判定の対象となるファイルに関する誤り検出符号を含まないファイル情報の、リストである第３の一時リストを作成し、前記改ざん判定部により、前記作成した第３の一時リストと前記マスタリストとの誤り検出符号以外の差分が検出されると、当該差分に基づいて前記マスタリストを更新する
請求項１ないし請求項４のいずれか１項記載の改ざん検出装置。
【請求項６】
前記改ざん判定部は、前記マスタリストに存在し、前記第３の一時リストに存在しないファイル、および前記マスタリストに含まれるファイル情報と前記第３の一時リストに含まれるファイル情報とが異なるファイルを差分として検出し、
前記リスト作成部は、前記差分として検出されたファイルに関して、前記誤り検出符号を含むファイル情報を、前記マスタリストに登録する
請求項５記載の改ざん検出装置。
【請求項７】
コンピュータが、
改ざん判定のモードが第１のモードのとき、
リスト作成部において、改ざん判定の対象となるファイルに関する誤り検出符号を含むファイル情報の、リストである第１の一時リストを作成し、
改ざん判定部において、予め格納された、前記改ざん判定の対象となるファイルに関する誤り検出符号を含むファイル情報の、リストであるマスタリストと、前記第１の一時リストとの差分を検出して、検出結果を出力し、
改ざん判定のモードが第２のモードのとき、
前記リスト作成部において、前記ファイルに関する前記誤り検出符号を含まないファイル情報の、リストである第２の一時リストを作成し、
前記改ざん判定部において、前記マスタリストと前記第２の一時リストとの前記誤り検出符号以外の差分を検出し、検出結果を出力する
改ざん判定方法。
【請求項８】
コンピュータに
改ざん判定のモードが第１のモードのとき、
リスト作成部において、改ざん判定の対象となるファイルに関する誤り検出符号を含むファイル情報の、リストである第１の一時リストを作成する処理と、
改ざん判定部において、予め格納された、前記改ざん判定の対象となるファイルに関する誤り検出符号を含むファイル情報の、リストであるマスタリストと、前記第１の一時リストとの差分を検出し、検出結果を出力する処理と、を実行させ、
改ざん判定のモードが第２のモードのとき、
前記リスト作成部において、前記ファイルに関する前記誤り検出符号を含まないファイル情報の、リストである第２の一時リストを作成する処理と、
前記改ざん判定部において、前記マスタリストと前記第２の一時リストとの前記誤り検出符号以外の差分を検出し、検出結果を出力する処理と、を実行させる
改ざん判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システム等に使用されるファイルの改ざんを検出する技術に関する。
【背景技術】
【０００２】
Ｗｅｂシステムにおいて公開されているファイル等は、外部からの侵入の結果、改ざんされることがある。このような改ざんは重大事故であるので、直ちに検出すると共に、即時ネットワークから切断する等の対処を行うことが必要となる。
【０００３】
上記のような外部からの侵入によるファイルの改ざん検出には、ファイルに関するメタ情報の変更を検出するのみでなく、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）チェックサムを利用して、厳密に判定する必要がある。これは、侵入者が、メタ情報が変更されないように改ざんしたファイルを、改ざんファイルとして正しく検出するためである。このように、外部からの侵入によるファイルの改ざんの検出には、厳密性が求められる。
【０００４】
上記のような外部からの侵入によるファイルの改ざんの他に、サーバ装置の運用者による運用作業ミスの結果、誤ってファイルが変更されてしまうことがある。このようなファイルの変更は、意図的な改ざんではないので、上述した侵入者による改ざんのようにメタ情報が変更されないようにファイルが変更されることは考えられない。したがって、このような改ざんの検出には、ＭＤ５チェックサムの変更の有無のチェックは行わず（、すなわち、サーバに負荷をかけず）、素早く、可能な限りリアルタイムに改ざんチェックを行う必要がある。このように、運用作業ミスに伴うファイルの変更の検出には、高速性（軽量性）が求められる。
【０００５】
業務システムが動作するサーバ装置では、通常、ＭＤ５チェックサムとメタ情報の変更の有無を監視することにより、改ざんのチェックが行われる。したがって、大量のファイルをチェック対象とする場合、ファイルのＭＤ５チェックサムの計算に時間がかかるので、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を大量に消費してしまうという問題がある。そのため、一般ユーザが利用する業務に影響が出ることを避けるために、改ざんチェックのインターバルを延ばしたり、ファイルのスナップショットに対して別のサーバ装置でチェックしたりする等の対処を行う必要がある。
【０００６】
また、業務システムの運用者がシステムの変更を行う際は、システムの変更に伴って変更されたファイルが改ざんとして検出されないように管理する必要がある。しかしながら、変更作業に利用されるツールなどにより間接的に変更されたファイルを、改ざんとして検出されないように正しく管理することは困難である。その結果、改ざんチェックの除外対象として登録が漏れたファイルが、改ざんされたファイルとして誤検出されてしまう場合がある。
【０００７】
特許文献１には、重要な意味を持つパラメータについての改ざん攻撃に対する脆弱性の検査を確実に行う情報処理装置が開示される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−１７４０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のように、運用者の運用作業の影響による誤検出の虞が存在する場合、改ざんチェックにおいてファイルの変更が検出された際に、問題のある変更（侵入者による改ざん）か、問題のない変更（運用者の運用作業による変更）かの確認作業が必要となる。つまり、改ざんの判定に時間がかかるという課題がある。
【００１０】
改ざんを検出した場合には即時ネットワークから切断する等の対処を行う必要があるので、改ざんの判定に時間がかかるのは、大きな問題である。
【００１１】
特許文献１には、重要なパラメータの改ざん攻撃に対する脆弱性検査を確実に行うことは開示されるが、改ざんの判定にかかる時間を短縮する技術は開示されていない。
【００１２】
本願発明は、上記課題を鑑みてなされたものであり、ファイルの改ざんの判定にかかる時間を短縮することが可能な改ざん検出装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の改ざん検出装置は、改ざん判定のモードに応じて、改ざん判定の対象となるファイルに関するチェックサムを含むファイル情報のリストである第１の一時リスト、または、前記ファイルに関する前記チェックサムを含まないファイル情報のリストである第２の一時リストを作成するリスト作成部と、予め格納された、前記改ざん判定の対象となるファイルに関するチェックサムを含むファイル情報のリストであるマスタリストと、前記リスト作成部により作成された前記第１の一時リストとの差分、または、前記マスタリストと前記第２の一時リストとの前記チェックサム以外の差分を検出し、検出結果を出力する改ざん判定部とを備える。
【００１４】
本発明の第１の改ざん検出方法は、改ざん判定のモードに応じて、改ざん判定の対象となるファイルに関するチェックサムを含むファイル情報のリストである第１の一時リスト、または、前記ファイルに関する前記チェックサムを含まないファイル情報のリストである第２の一時リストを作成し、予め格納された、前記改ざん判定の対象となるファイルに関するチェックサムを含むファイル情報のリストであるマスタリストと、前記リスト作成部により作成された前記第１の一時リストとの差分、または、前記マスタリストと前記第２の一時リストとの前記チェックサム以外の差分を検出し、検出結果を出力する。
【００１５】
なお同目的は、上記の各構成を有する改ざん検出方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１６】
本願発明によれば、ファイルの改ざんの判定にかかる時間を短縮することができるという効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る改ざん検出装置の構成を示す図である。
【図２】本発明の第１の実施形態に係る改ざん検出装置による初期化処理の流れを示すフローチャートである。
【図３】本発明の第１の実施形態に係る改ざん検出装置による初期化処理の実施前におけるマスタチェックリストを示す図である。
【図４】本発明の第１の実施形態に係る改ざん検出装置による初期化処理の実施後におけるマスタチェックリストを示す図である。
【図５】本発明の第１の実施形態に係る改ざん検出装置による運用作業後処理の流れを示すフローチャートである。
【図６】本発明の第１の実施形態に係る改ざん検出装置によるマスタチェックリストの更新後の状態を示す図である。
【図７】本発明の第１の実施形態に係る改ざん検出装置による厳密モードでの改ざん判定処理の流れを示すフローチャートである。
【図８】本発明の第１の実施形態に係る改ざん検出装置による高速モードでの改ざん判定処理の流れを示すフローチャートである。
【図９】本発明の第２の実施形態に係る改ざん検出装置の構成を示す図である。
【図１０】本発明の第２の実施形態に係る改ざん検出装置による初期化処理における、不存在チェックの流れを示すフローチャートである。
【図１１】本発明の第３の実施形態に係る改ざん検出装置の構成を示す図である。
【図１２】本発明の各実施形態に係る改ざん検出装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１９】
第１の実施形態
図１は、本発明の第１の実施形態に係る改ざん検出装置１００の構成を示す図である。改ざん検出装置１００は、業務システム等に用いられるシステムファイル（以降、単に「ファイル」とも称する）の改ざんを検出する。システムファイルは、システムファイル記憶部２００に格納される。
【００２０】
ファイルの改ざんには、外部からの侵入による改ざんと、運用作業ミスによる誤ったファイルの変更が含まれる。改ざん検出装置１００は、そのいずれも検出する。
【００２１】
図１に示すように、改ざん検出装置１００は、チェックリスト作成部１１０、改ざん判定部１２０、一時チェックリスト記憶部１３０、マスタチェックリスト記憶部１４０、チェック除外リスト記憶部１５０、例外リスト記憶部１６０および制御部１７０を備える。
【００２２】
チェックリスト作成部１１０は、ファイルパス取得部１１１、チェック情報取得部１１２、チェックリスト登録部１１５およびチェックリスト更新部１１６を備える。チェック情報取得部１１２は、メタ情報取得部１１３およびＭＤ５チェックサム計算部１１４を備える。
【００２３】
改ざん判定部１２０は、チェックリスト比較部１２１およびログ出力部１２２を含む。
【００２４】
制御部１７０は、チェックリスト作成部１１０および改ざん判定部１２０を制御する。
【００２５】
次に、各種記憶部に格納されるリストについて説明する。
【００２６】
一時チェックリスト記憶部１３０、マスタチェックリスト記憶部１４０、チェック除外リスト記憶部１５０および例外リスト記憶部１６０は、それぞれ、一時チェックリスト１３１、マスタチェックリスト１４１、チェック除外リスト１５１および例外リスト１６１を記憶する。
【００２７】
一時チェックリスト１３１とは、改ざんチェックのために一時的に作成されるファイルに関する情報の一覧（リスト）である。マスタチェックリスト１４１とは、改ざんチェックを行うすべてのファイルに関するファイル情報の一覧である。
【００２８】
チェック除外リスト１５１とは、改ざんチェックを実施しないファイルパスの一覧である。例えば、チェック除外リスト１５１は、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）により管理され、頻繁に変更される状態管理ファイルやシステムログなど、改ざんチェックが不要なファイルパスを含む。
【００２９】
例外リスト１６１とは、チェック除外リスト１５１に含まれるファイルパス配下において、例外的に改ざんチェックを実施する必要があるファイルパス（サブディレクトリ）の一覧である。
【００３０】
次に、各構成要素の概要について説明する。
【００３１】
チェックリスト作成部１１０は、制御部１７０の制御に基づいて、一時チェックリスト１３１およびマスタチェックリスト１４１を作成する機能を有する。ファイルパス取得部１１１は、システムファイル記憶部２００または各種リストから、ファイルパスを取得する。メタ情報取得部１１３は、改ざん判定の対象となるファイルのメタ情報を取得する。メタ情報には、例えば、ｉノード番号、ファイル更新日時、ファイルオーナのユーザＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）、ファイルオーナのグループＩＤ、ファイルサイズ等がある。
【００３２】
ＭＤ５チェックサム計算部１１４は、対象となるファイルのＭＤ５チェックサムを計算する。チェックリスト登録部１１５は、上記取得されたファイルパス、メタ情報、および算出されたＭＤ５チェックサムを含む一時チェックリスト１３１またはマスタチェックリスト１４１を作成し、それぞれ一時チェックリスト記憶部１３０またはマスタチェックリスト記憶部１４０に登録する。チェックリスト更新部１１６は、マスタチェックリスト１４１の更新を行う。なお、本実施形態では、改ざん判定にＭＤ５チェックサムを用いることを示すが、他の誤り検出符号を用いてもよい。
【００３３】
改ざん判定部１２０は、制御部１７０の制御に基づいて、マスタチェックリスト１４１の更新、または対象となるファイルの改ざん判定を行う。チェックリスト比較部１２１は、一時チェックリスト１３１とマスタチェックリスト１４１とを比較することにより、ファイルの追加・変更・削除の有無を判定する。
【００３４】
ログ出力部１２２は、チェックリスト比較部１２１による比較の結果に基づいて、追加・変更・削除されたファイルに関する情報を、ログとして出力する。
【００３５】
次に、改ざん検出装置１００が実施する処理について説明する。
【００３６】
改ざん検出装置１００は、初期化処理、運用作業後処理、および改ざん判定処理を行う。
【００３７】
初期化処理とは、改ざん判定を実施する対象のファイルに関するマスタチェックリスト１４１を作成する処理である。
【００３８】
運用作業後処理とは、初期化処理において作成されたマスタチェックリストを更新する処理である。ここで、業務システムの運用者によるシステムの変更に伴って追加・変更・削除されるファイルは、改ざんではなく問題のない追加・変更・削除がされたファイルである。したがって、このようなファイルが改ざんと判定されないように、運用作業後処理により、マスタチェックリスト１４１に登録する。
【００３９】
改ざん判定処理とは、上述した各種リストを参照して、システムファイルの改ざんを検出する処理である。
【００４０】
図２は、改ざん検出装置１００による初期化処理の流れを示すフローチャートである。図２を参照して、改ざん検出装置１００による初期化処理について説明する。
【００４１】
改ざん検出装置１００は、初期化処理において、改ざん判定を実施する対象のファイルに関するマスタチェックリスト１４１を作成する。図３は、初期化処理の実施前におけるマスタチェックリスト１４１を示す図である。図３に示すように、マスタチェックリスト１４１は、ＭＤ５チェックサム（図３および以下の図４、図６では、ＭＤ５と表示する）、メタ情報およびファイルパスをそれぞれ示す項目を含む。メタ情報には、ファイルのｉノード番号、ファイル更新日時、ファイルオーナのユーザＩＤ（ｏｗｎｅｒ−ｕｉｄ）、ファイルオーナのグループＩＤ（ｏｗｎｅｒ−ｇｉｄ）、ファイルサイズ（ｓｉｚｅ）が含まれる。
【００４２】
制御部１７０は、チェックリスト作成部１１０に対して初期化処理を実施することを指示する。チェックリスト作成部１１０は、上記指示に応じて、各種リストを参照しながら初期化処理を実施する。
【００４３】
まず、チェックリスト作成部１１０は、ファイルパス取得部１１１において、改ざん判定を行うシステムファイル記憶部２００から、全ファイルパスを取得する（Ｓ３０１）。続いて、ファイルパス取得部１１１は、チェック除外リスト記憶部１５０から、チェック除外リスト１５１に含まれるファイルパスを取得する（Ｓ３０２）。
【００４４】
ファイルパス取得部１１１は、Ｓ３０１において取得したファイルパスに存在するファイルが、チェック除外リスト１５１に含まれるか否かを判断する（Ｓ３０３）。上記ファイルが、チェック除外リスト１５１に含まれない場合、ファイルパス取得部１１１は、チェック情報取得部１１２に対して、取得したファイルパスを通知する。チェック情報取得部１１２は、メタ情報取得部１１３において、取得したファイルパスに存在するファイルのメタ情報を取得する。また、ＭＤ５チェックサム計算部１１４は、取得したファイルパスに存在するファイルのＭＤ５チェックサムを計算する。
【００４５】
続いて、チェックリスト登録部１１５は、メタ情報取得部１１３が取得したメタ情報と、ＭＤ５チェックサム計算部１１４が算出したＭＤ５チェックサムと、ファイルパス取得部１１１が取得したファイルパスとを、マスタチェックリスト１４１に登録する（Ｓ３０４）。
【００４６】
一方、ファイルが、チェック除外リスト１５１に含まれる場合（Ｓ３０３においてＹｅｓ）、ファイルパス取得部１１１は、例外リスト記憶部１６０から例外リスト１６１に含まれるファイルパスを取得する（Ｓ３０５）。ファイルパス取得部１１１は、上記と同様に、チェック情報取得部１１２に、取得したファイルパスを通知する。チェック情報取得部１１２は、メタ情報取得部１１３において、取得したファイルパスに存在するファイルのメタ情報を取得する。また、ＭＤ５チェックサム計算部１１４は、取得したファイルパスに存在するファイルのＭＤ５チェックサムを計算する。
【００４７】
チェックリスト登録部１１５は、メタ情報取得部１１３が取得したメタ情報と、ＭＤ５チェックサム計算部１１４が算出したＭＤ５チェックサムと、ファイルパス取得部１１１が取得したファイルパスとを、マスタチェックリスト１４１に登録する（Ｓ３０６）。以上の処理により、マスタチェックリスト１４１が生成される。なお、マスタチェックリスト１４１を、マスタリストとも称する。
【００４８】
図４は、上記初期化処理を実施後のマスタチェックリスト１４１を示す図である。図４に示すように、改ざんチェックの対象となる全ファイルに関するＭＤ５チェックサム、メタ情報およびファイルパスが、マスタチェックリスト１４１に登録される。図中のｘ，ｙ，ｚで示す符号の内容は、それぞれ任意の符号または数値であるとする。
【００４９】
次に、運用作業後処理について説明する。上述したように、運用作業後処理は、業務システムの運用者により追加・変更・削除されるファイルを、改ざんと判定されないように、マスタチェックリスト１４１に登録する処理である。
【００５０】
図５は、改ざん検出装置１００による運用作業後処理の流れを示すフローチャートである。図５を参照して、改ざん検出装置１００による運用作業後処理について説明する。
【００５１】
制御部１７０は、業務システムの運用者によるシステムの変更が行われると、チェックリスト作成部１１０に対して、運用作業後処理を行うことを指示する。チェックリスト作成部１１０は、上記指示に応じて、図２を参照して説明した初期化処理においてマスタチェックリスト１４１を作成した流れと同様に、一時チェックリスト１３１を作成する（Ｓ３１１）。
【００５２】
すなわち、チェックリスト作成部１１０は、システムファイル記憶部２００における、チェック除外リスト１５０に登録されない全ファイルパスに存在するファイルに関するチェックリストを作成すると共に、例外リスト１６１に含まれるファイルパスに存在するファイルに関するチェックリストを作成する。
【００５３】
ただし、運用作業後処理におけるチェックリストの作成において、ＭＤ５チェックサム計算部１１４は、ＭＤ５チェックサムを計算しない。これは、運用作業により、メタ情報が変更されないようにファイルが更新されることは考えられないので、ＭＤ５チェックサムを利用した厳密な判定は不要であるからである。このため、一時チェックリスト１３１の作成において、ＭＤ５チェックサムの計算に伴う処理負荷を軽減するため、チェックリスト作成部１１０は、ＭＤ５チェックサムを計算しない。
【００５４】
チェックリスト登録部１１５は、ファイルパス取得部１１１が取得したファイルパスと、メタ情報取得部１１３が取得したメタ情報を、一時チェックリスト１３１に登録する。
【００５５】
チェックリスト作成部１１０は、上記のように一時チェックリスト１３１の作成が終了すると、その旨を制御部１７０に通知する。制御部１７０は、その通知に応じて、改ざん判定部１２０に対して、リストの比較とログの出力を実施するように指示する。
【００５６】
改ざん判定部１２０は、上記指示に応じて、チェックリスト比較部１２１において、上記登録した一時チェックリスト１３１と、マスタチェックリスト記憶部１４０に格納されるマスタチェックリスト１４１とを比較して、差分を検出する。すなわち、チェックリスト比較部１２１は、マスタチェックリスト１４１には存在せず、一時チェックリスト１３１には存在するファイルがある場合（Ｓ３１２においてＹｅｓ）、そのファイルを、運用作業により追加されたファイルであると判定する（Ｓ３１３）。
【００５７】
続いて、チェックリスト比較部１２１は、マスタチェックリスト１４１と一時チェックリスト１３１に存在し、メタ情報が変更されたファイルがある場合（Ｓ３１４においてＹｅｓ）、そのファイルを、運用作業により変更されたファイルであると判定する（Ｓ３１５）。
【００５８】
続いて、チェックリスト比較部１２１は、マスタチェックリスト１４１に存在し、一時チェックリスト１３１には存在しないファイルがある場合（Ｓ３１６においてＹｅｓ）、そのファイルを、運用作業により削除されたファイルであると判定する（Ｓ３１７）。
【００５９】
続いて、ログ出力部１２２は、チェックリスト比較部１２１により、上記検出された内容を、ログに出力する（Ｓ３１８）。
【００６０】
ここで、運用者は、出力されたログを参照し、ログに出力されたファイルの追加・変更・削除は、運用作業によって発生したものであることを確認する。もし、運用作業によって発生したものでない場合、運用者は、改ざん発生と判断し、直ちにシステムをネットワークから遮断することができる。
【００６１】
チェックリスト比較部１２１は、上記検出したファイルのうち、運用作業にて追加・変更されたと判定したファイルを、制御部１７０に通知する。制御部１７０は、追加・変更されたファイルに関して、マスタチェックリスト１４１を更新することを、チェックリスト作成部１１０に指示する。
【００６２】
チェックリスト作成部１１０は、追加されたファイルのメタ情報をメタ情報取得部１１３において取得する。また、ＭＤ５チェックサム計算部１１４は、追加されたファイルのＭＤ５チェックサムを算出する。チェックリスト登録部１１５は、追加されたファイルのファイルパス、取得されたメタ情報、および算出されたＭＤ５チェックサムを含むマスタチェックリスト１４１を作成し、マスタチェックリスト記憶部１４０に登録する（Ｓ３１９）。
【００６３】
また、チェックリスト作成部１１０は、メタ情報取得部１１３において、上記変更されたファイルに関するメタ情報を取得し、ＭＤ５チェックサム計算部１１４は、上記変更されたファイルに関するＭＤ５チェックサムを算出する。チェックリスト更新部１１６は、上記変更されたファイルに関して、取得されたメタ情報と、算出されたＭＤ５チェックサムにより、マスタチェックリスト１４１を更新する。以上の処理により、運用作業に伴って追加・変更されたファイルに関して、マスタチェックリスト１４１が更新される。
【００６４】
図６は、図４に示したマスタチェックリスト１４１の、上記更新後の状態を示す図である。図６に示すように、メタ情報が更新されたファイルは、ＭＤ５チェックサムも更新される。
【００６５】
次に、改ざん判定処理について説明する。改ざん検出装置１００は、改ざん判定にあたり、厳密モード（第１のモード）または高速モード（第２のモード）での実施が可能である。厳密モードは、ＭＤ５チェックサムを用いた厳密な改ざん判定処理であり、ＭＤ５チェックサムの算出を伴うので、業務負荷の低い時間帯に実施される。一方、高速モードは、厳密な改ざん判定が不要な場合に、高速に実施される改ざん判定処理であり、ＭＤ５チェックサムの算出に伴うサーバ負荷が増加しないので、厳密モードよりも短いインターバルで実施される。
【００６６】
図７は、改ざん検出装置１００による厳密モードでの改ざん判定処理の流れを示すフローチャートである。図７を参照して、改ざん検出装置１００による厳密モードでの改ざん判定処理について説明する。
【００６７】
制御部１７０は、厳密モードでの改ざん判定処理のためのリスト作成指示をチェックリスト作成部１１０に通知する。チェックリスト作成部１１０は、上記指示に応じて、図２に示したＳ３０１乃至Ｓ３０６と同様にチェックリストを作成し、作成したチェックリストを一時チェックリスト１３１として一時チェックリスト記憶部１３０に登録する（Ｓ３２１）。なお、ここで作成した一時チェックリスト１３１を、第１の一時リストとも称する。
【００６８】
チェックリスト作成部１１０は、一時チェックリスト１３１の作成が完了すると、制御部１７０にその旨を通知する。制御部１７０は、上記通知に応じて、改ざん判定部１２０に対して、厳密モードでの改ざん判定処理を行うことを指示する。改ざん判定部１２０は、上記指示に応じて、厳密モードでの改ざん判定処理を行う。
【００６９】
すなわち、チェックリスト比較部１２１は、上記登録された一時チェックリスト１３１と、マスタチェックリスト記憶部１４０に格納されるマスタチェックリスト１４１とを比較して、差分を検出する。すなわち、チェックリスト比較部１２１は、マスタチェックリスト１４１には存在せず、一時チェックリスト１３１には存在するファイルがある場合（Ｓ３２２においてＹｅｓ）、そのファイルを、追加されたファイルであると判定する（Ｓ３２３）。
【００７０】
続いて、チェックリスト比較部１２１は、マスタチェックリスト１４１に含まれるＭＤ５チェックサムと一時チェックリスト１３１に含まれるＭＤ５チェックサムとを比較し、ＭＤ５チェックサムが変更されたファイルがある場合（Ｓ３２４においてＹｅｓ）、そのファイルを、変更されたファイルであると判定する（Ｓ３２５）。
【００７１】
続いて、チェックリスト比較部１２１は、マスタチェックリスト１４１に存在し、一時チェックリスト１３１には存在しないファイルがある場合（Ｓ３２６においてＹｅｓ）、そのファイルを、削除されたファイルであると判定する（Ｓ３２７）。
【００７２】
上述のように、チェックリスト比較部１２１により、ファイルの追加・変更・削除が検出されると、ログ出力部１２２は、検出した内容を、ログに出力する（Ｓ３２８）。
【００７３】
ここでログに出力された、追加・変更・削除が検出されたファイルは、運用作業による追加・変更・削除されたファイルではなく、想定外の追加・変更・削除、すなわち不正な改ざんである。したがって、運用者は、システムを即座にネットワークから遮断することができる。
【００７４】
図８は、改ざん検出装置１００による高速モードでの改ざん判定処理の流れを示すフローチャートである。図８を参照して、改ざん検出装置１００による高速モードでの改ざん判定処理について説明する。
【００７５】
制御部１７０は、高速モードでの改ざん判定処理のためのリスト作成指示をチェックリスト作成部１１０に通知する。チェックリスト作成部１１０は、上記指示に応じて、図２に示したＳ３０１乃至Ｓ３０６と同様にチェックリストを作成する。ただし、このとき、ＭＤ５チェックサム計算部１１４は、ＭＤ５チェックサムを計算しない。チェックリスト登録部１１５は、対象となるファイルのファイルパスと、メタ情報とを含むチェックリストを作成し、それを一時チェックリスト１３１として一時チェックリスト記憶部１３０に登録する（Ｓ３３１）。なお、ここで作成した一時チェックリスト１３１を、第２の一時リストとも称する。
【００７６】
チェックリスト作成部１１０は、一時チェックリスト１３１の作成が完了すると、制御部１７０にその旨を通知する。制御部１７０は、上記通知に応じて、改ざん判定部１２０に対して、高速モードでの改ざん判定処理を行うことを指示する。改ざん判定部１２０は、上記指示に応じて、高速モードでの改ざん判定処理を行う。
【００７７】
すなわち、チェックリスト比較部１２１は、上記登録された一時チェックリスト１３１と、マスタチェックリスト記憶部１４０に格納されるマスタチェックリスト１４１とを比較して、ＭＤ５チェックサム以外の差分を検出する。すなわち、チェックリスト比較部１２１は、マスタチェックリスト１４１には存在せず、一時チェックリスト１３１には存在するファイルがある場合（Ｓ３３２においてＹｅｓ）、そのファイルを、追加されたファイルであると判定する（Ｓ３３３）。
【００７８】
続いて、チェックリスト比較部１２１は、マスタチェックリスト１４１に含まれるメタ情報と一時チェックリスト１３１に含まれるメタ情報とを比較し、メタ情報が変更されたファイルがある場合（Ｓ３３４においてＹｅｓ）、そのファイルを、変更されたファイルであると判定する（Ｓ３３５）。
【００７９】
続いて、チェックリスト比較部１２１は、マスタチェックリスト１４１に存在し、一時チェックリスト１３１には存在しないファイルがある場合（Ｓ３３６においてＹｅｓ）、そのファイルを、削除されたファイルであると判定する（Ｓ３３７）。
【００８０】
上述のように、チェックリスト比較部１２１により、ファイルの追加・変更・削除が検出されると、ログ出力部１２２は、検出した内容をログに出力する（Ｓ３３８）。
【００８１】
厳密モードと同様に、ここでログに出力された、追加・変更・削除が検出されたファイルは、運用作業による追加・変更・削除されたファイルではなく、想定外の追加・変更・削除、すなわち不正な改ざんである。したがって、運用者は、システムを即座にネットワークから遮断することができる。
【００８２】
なお、高速モードは、ＭＤ５チェックサムによる厳密なチェックが不要なシーンにおいて、高速に、サーバ負荷を軽減しながら実行できる。高速モードは、短いインターバルで、例えば１時間に１回実行されてもよい。
【００８３】
なお、厳密モードでの改ざん判定の実施は、ＭＤ５チェックサムの計算によりサーバ装置に負荷がかかるので、利用者の少ない時間帯に、例えば１日１回実行され、高速モードは、厳密モードよりも短いインターバルで、例えば１時間に１回実行されてもよい。
【００８４】
以上のように、本第１の実施形態によれば、改ざん検出装置１００の改ざん判定部１２０は、改ざん判定処理として、ＭＤ５チェックサムを算出せずメタ情報の変更を検出する高速モードと、メタ情報とＭＤ５チェックサムの変更を検出する厳密モードとを実行できる。したがって、改ざん検出装置１００は、ＭＤ５チェックサムによる厳密なチェックが不要なシーンにおいて、高速に改ざん判定を実行でき、ファイルの改ざんの判定にかかる時間を短縮することができるという効果が得られる。
【００８５】
また、高速モードを実行可能とすることで、本第１の実施形態によれば、ＭＤ５チェックサムによる改ざん判定では、利用者の少ない時間帯に（例えば一日１回）行われていた改ざん判定を、短いインターバルで（例えば一時間に一回）行うことができるので、ファイルの改ざんを早急に検出することが可能であるという効果が得られる。
【００８６】
また、改ざん検出装置１００は、チェックリスト作成部１１０において、初期化処理において作成したシステムファイルに関するマスタチェックリスト１４１と、運用作業後処理において作成された一時チェックリスト１３１との差分を、マスタチェックリスト１４１に登録する。これにより、本第１の実施形態によれば、運用者による運用作業に伴って変更等されたファイルを、問題のない変更と判断してマスタチェックリスト１４１に登録することにより、改ざん検出における誤検出、および誤検出による業務システム停止といった問題を防ぐことができるという効果が得られる。
【００８７】
さらに、上記のように運用者による運用作業に伴う変更を、問題のない変更と事前に判断してマスタチェックリスト１４１に登録することにより、改ざん判定処理において検出された変更は、すべて問題のある変更であると判断できる。したがって、運用者は、改ざん判定部１２０により改ざんが検出されると、サーバを即時ネットワークから遮断する等、迅速な対応が可能となるという効果が得られる。
【００８８】
第２の実施形態
次に、上述した第１の実施形態を基礎とする第２の実施形態について説明する。以下の説明では、第１の実施形態と同様の構成については同じ参照番号を付与することにより、重複する説明は省略する。
【００８９】
図９は、本発明の第２の実施形態に係る改ざん検出装置３００の構成を示す図である。図９に示すように、改ざん検出装置３００は、第１の実施形態において説明した改ざん検出装置１００の構成に加えて、不存在チェックリスト記憶部３１０および不存在チェック例外リスト記憶部３２０を備える。不存在チェックリスト記憶部３１０および不存在チェック例外リスト記憶部３２０は、それぞれ不存在チェックリスト３１１および不存在チェック例外リスト３２１を格納する。
【００９０】
不存在チェックリスト３１１は、ファイルが存在してはいけないファイルパスの一覧を保持する。この不存在チェックリスト３１１により、改ざん検出装置３００は、例えば、侵入者が、リモート接続のための鍵ファイル名を業務システムに登録することによりバックドアを配置したことを検知できる。なお、このような鍵ファイルの存在が問題になるか否かは、システムファイルにアクセスしたユーザアカウントが有効か無効かに依存する。つまり、ユーザアカウントが有効であれば、このような鍵ファイルの存在は問題にならない。したがって、不存在チェックリスト３１１は、ファイルが存在してはいけないファイルパスと、そのファイルパスに存在するファイルに対するユーザアカウントの有効性チェックフラグと、有効なユーザアカウントの組み合わせを保持する。
【００９１】
不存在チェック例外リスト３２１は、不存在チェックリスト３１１のうち、例外的にファイルが存在することを許容するファイルパスの一覧を保持する。
【００９２】
図１０は、改ざん検出装置３００による初期化処理における、不存在チェックの流れを示すフローチャートである。改ざん検出装置３００は、図１０のＳ３０７以降の処理を、第１の実施形態において説明した図２のＳ３０６の後に実施する。すなわち、図２のＳ３０６に示したように、改ざん検出装置３００のチェックリスト作成部１１０は、メタ情報取得部１１３が取得したメタ情報と、ＭＤ５チェックサム計算部１１４が算出したＭＤ５チェックサムと、ファイルパス取得部１１１が取得したファイルパスとを、マスタチェックリスト１４１に登録する。
【００９３】
チェックリスト作成部１１０は、上記のようにマスタチェックリスト１４１を登録すると、その旨を制御部１７０に通知する。制御部１７０は、チェックリスト作成部１１０に対して、不存在チェックの実施を指示する。チェックリスト作成部１１０は、上記指示に応じて、不存在チェックの実施を開始する。
【００９４】
すなわち、チェックリスト作成部１１０は、ファイルパス取得部１１１において、不存在チェックリスト記憶部３１０に格納される不存在チェックリスト３１１から、ファイルパスを取得する（Ｓ３０７）。また、ファイルパス取得部１１１は、不存在チェック例外リスト記憶部３２０に格納される不存在チェック例外リスト３２１から、ファイルパスを取得する（Ｓ３０８）。
【００９５】
続いて、不存在チェック部１１７は、システムファイル記憶部２００に格納されるシステムファイルのうち、ファイルパス取得部１１１が取得した不存在チェックリスト３１１が保持するファイルパスに存在するファイルの有無を調べる（Ｓ３０９）。当該ファイルが存在する場合、不存在チェック部１１６は、そのファイルが、不存在チェック例外リスト３２１に指定されているか否かを調べる（Ｓ３１０）。指定されていない場合、不存在チェック部１１７は、不存在チェックリスト３１１のユーザアカウントの有効性チェックフラグが「１」であるかを調べる。「１」である場合、不存在チェック部１１７は、不存在チェックリスト３１１が保持するファイルパスに存在するファイルに対するユーザアカウントが有効であるか否かを調べる（Ｓ３１１）。
【００９６】
例えば、メタ情報取得部１１３により上記ファイルのメタ情報を取得し、当該メタ情報に含まれるファイルオーナのユーザＩＤまたはファイルオーナのグループＩＤが、有効なユーザアカウントであるか否かを調べる。
【００９７】
有効でない場合、不存在チェック部１１７は、エラーが生じたことを制御部１７０に通知する。制御部１７０は、表示または音声等により、エラーが生じたことを出力する（Ｓ３１２）。運用者は、出力されたエラーに応じて、システムを即座にネットワークから遮断することができる。
【００９８】
一方、Ｓ３１０において不存在チェック例外リスト３２１に指定されている、またはＳ３１１においてユーザアカウントが有効である場合、不存在チェック部１１７は、そのファイルに関するチェック情報を取得することをチェック情報取得部１１２に通知する。チェック情報取得部１１２は、メタ情報取得部１１３において、指定されたファイルのメタ情報を取得すると共に、ＭＤ５チェックサム計算部１１４において、ＭＤ５チェックサムを計算する。
【００９９】
チェックリスト登録部１１５は、上記取得されたメタ情報と、ＭＤ５チェックサムと、ファイルパスとを、マスタチェックリスト１４１に追加登録する（Ｓ３１３）。以上の処理により、不存在チェック処理が実施される。
【０１００】
以上のように、本第２の実施形態によれば、改ざん検出装置３００は、ファイルが存在してはいけないファイルパスの一覧である不存在チェックリスト３１１を備え、そのファイルパスに存在するファイルに対するユーザアカウントが無効である場合、エラーを出力する。この構成により、改ざん検出装置３００は、ファイルが存在してはいけないファイルパスにファイルが存在した場合、改ざんを検出すると共に、エラー出力するので、ファイルの改ざんを早急に発見することが可能であるという効果が得られる。
【０１０１】
第３の実施形態
図１１は、本発明の第３の実施形態に係る改ざん検出装置４００の構成を示す図である。図１１に示すように、改ざん検出装置４００は、リスト作成部４１０と改ざん判定部４２０とを備える。
【０１０２】
リスト作成部４１０は、改ざん判定のモードに応じて、改ざん判定の対象となるファイルに関するチェックサムを含むファイル情報のリストである第１の一時リスト、または、前記ファイルに関する前記チェックサムを含まないファイル情報のリストである第２の一時リストを作成する。
【０１０３】
改ざん判定部４２０は、予め格納された、前記改ざん判定の対象となるファイルに関するチェックサムを含むファイル情報のリストであるマスタリストと、前記リスト作成部により作成された前記第１の一時リストとの差分、または、前記マスタリストと前記第２の一時リストとの前記チェックサム以外の差分を検出し、検出結果を出力する。
【０１０４】
上記構成を採用することにより、本第３の実施形態によれば、ファイルの改ざんの判定にかかる時間を短縮することができるという効果が得られる。
【０１０５】
なお、図１等に示した改ざん検出装置の各部は、図１２に例示するハードウエア資源において実現される。すなわち、図１２に示す構成は、ＣＰＵ１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、外部接続インタフェース１３および記憶媒体１４を備える。ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４に記憶された各種ソフトウエア・プログラム（コンピュータ・プログラム）を、ＲＡＭ１１に読み出して実行することにより、改ざん検出装置の全体的な動作を司る。すなわち、上記各実施形態において、ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４を適宜参照しながら、改ざん検出装置が備える各機能（各部）を実行するソフトウエア・プログラムを実行する。
【０１０６】
また、上述した各実施形態では、図１等に示した改ざん検出装置における各ブロックに示す機能を、図１２に示すＣＰＵ１０が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、図１等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
【０１０７】
また、各実施形態を例に説明した本発明は、改ざん検出装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、ＣＰＵ１０がＲＡＭ１１に読み出して実行することによって達成される。
【０１０８】
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【産業上の利用可能性】
【０１０９】
本発明は、例えば、外部からの攻撃によるファイルの改ざんと、運用者の作業ミスによるファイルの改ざんとを検出するＷｅｂシステム等に適用できる。
【符号の説明】
【０１１０】
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  外部接続インタフェース
１４  記憶媒体
１００  改ざん検出装置
１１０  チェックリスト作成部
１１１  ファイルパス取得部
１１２  チェック情報取得部
１１３  メタ情報取得部
１１４  ＭＤ５チェックサム計算部
１１５  チェックリスト登録部
１１６  チェックリスト更新部
１１７  不存在チェック部
１２０  改ざん判定部
１２１  チェックリスト比較部
１２２  ログ出力部
１３０  一時チェックリスト記憶部
１３１  一時チェックリスト
１４０  スタチェックリスト記憶部
１４１  マスタチェックリスト
１５０  チェック除外リスト記憶部
１５１  チェック除外リスト
１６０  例外リスト記憶部
１６１  例外リスト
１７０  制御部
３１０  不存在チェックリスト記憶部
３１１  不存在チェックリスト
３２０  不存在チェック例外リスト記憶部
３２１  不存在チェック例外リスト
【図１】
0006451197.tif 000002
【図２】
0006451197.tif 000003
【図３】
0006451197.tif 000004
【図４】
0006451197.tif 000005
【図５】
0006451197.tif 000006
【図６】
0006451197.tif 000007
【図７】
0006451197.tif 000008
【図８】
0006451197.tif 000009
【図９】
0006451197.tif 000010
【図１０】
0006451197.tif 000011
【図１１】
0006451197.tif 000012
【図１２】
0006451197.tif 000013