JP2006072856A - ファイル検査のための設定データ生成プログラム及びシステム - Google Patents

ファイル検査のための設定データ生成プログラム及びシステム Download PDF

Info

Publication number
JP2006072856A
JP2006072856A JP2004257651A JP2004257651A JP2006072856A JP 2006072856 A JP2006072856 A JP 2006072856A JP 2004257651 A JP2004257651 A JP 2004257651A JP 2004257651 A JP2004257651 A JP 2004257651A JP 2006072856 A JP2006072856 A JP 2006072856A
Authority
JP
Japan
Prior art keywords
file
importance
setting data
group
management information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004257651A
Other languages
English (en)
Other versions
JP4608634B2 (ja
Inventor
Satoshi Matsuoka
聡 松岡
Ken Wakita
建 脇田
Yasuhito Takamiya
安仁 高宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rikogaku Shinkokai
Original Assignee
Rikogaku Shinkokai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rikogaku Shinkokai filed Critical Rikogaku Shinkokai
Priority to JP2004257651A priority Critical patent/JP4608634B2/ja
Publication of JP2006072856A publication Critical patent/JP2006072856A/ja
Application granted granted Critical
Publication of JP4608634B2 publication Critical patent/JP4608634B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】
ファイル検査システムの運用におけるユーザビリティを向上すること。
【解決手段】
本発明におけるプログラムは、コンピュータによるファイル検査のための設定データを生成するための処理を実行させるプログラムであって、ファイルもしくは複数のファイルからなるファイル群のうちの少なくとも一方についての管理情報を記憶する管理情報記憶手段にアクセスする工程と、管理情報記憶手段に記録された管理情報を解析し、重要度決定に必要な解析結果情報を生成する工程と、解析結果情報に基づき、重要度を決定する工程と、決定された重要度に基づきファイル検査のための設定データを生成し、前記設定データを設定データ記憶手段に記録する工程を含むプログラムである。このようにすることによりファイル検査システムの運用におけるユーザビリティを向上することが可能となる。
【選択図】図3

Description

本発明は、ファイル検査のための設定データ生成プログラム及びシステムに関する。
コンピュータによるネットワークの技術は近年、急速な進化を遂げており、遠隔地のコンピュータにアクセスし、ファイルの入出力や書き換え等の操作を行うということが当然のように出来る時代になってきた。しかし、ネットワーク技術の進歩に伴い、他人のコンピュータにアクセスし、不正に機密情報を入手したり、他人のシステムを書き換えて業務妨害をしたりというネットワーク犯罪の問題も増加するようになってきた。
そのような不正なアクセスからコンピュータを守る手段として、完全性検査システムがある。完全性検査システムとは、コンピュータシステム内のファイルが完全な状態を保っているかという完全性を検査し、コンピュータシステムが健全な状態にあるか否かを自動的に判断するシステムである。完全性検査の方法は、コンピュータシステム内の各ファイルに対して、ファイル自体の書き換えや書き込み許可情報の書き換えなどを検査することによりファイルの状態変化を確認し、その状態変化が許される状態変化かどうかを判断する方法で行われる。
しかしながら、このような完全性検査システムは、各ファイルに合わせて検査する書き込み許可情報や状態の変化が許されるものであるかの情報を設定しなければならず、詳しい知識を必要とするものであった。また、コンピュータシステムは、構成するファイル数が全部で数十万という数にも及ぶものが多く、全てのファイルについて検査を行うとコンピュータに対する負荷が重く、時間がかかるという問題点があった。また、新しいプログラムをインストールし、あるいは、既存のプログラムをアップデートするなどしてコンピュータシステムの更新が行われると、ファイル群の全体構成が変化する。このため、コンピュータシステムの更新があるたびに、設定をやり直さなくてはならなかった。
この対策として、ファイルに応じて検査項目を変更する方法(例えば、特許文献1など)や、検査頻度を変更するという方法がある。つまり、コンピュータシステムの動作になくてはならないファイルは、検査項目を多くしたり、検査頻度を高くしたりし、ほとんど使用されないファイルは、その逆を行う。このようにすることにより、検査の時間を短縮することができ、なくてはならないファイルに対する削除や書き換えなどを早期発見することが可能になる。
特開平05−314116号公報
しかし、ファイルの種類などに応じて、その検査項目や検査頻度を決定するには、専門的な知識が必要となる。また、数十万に及ぶファイル数の一つ一つのファイルに対して手作業で設定することは事実上不可能であった。
本発明は上記のような事情を背景としてなされたものであって、本発明の目的は、ファイル検査システムの運用におけるユーザビリティを向上することである。
本発明におけるファイル検査のための設定データ生成プログラムは、コンピュータによるファイル検査のための設定データを生成するための処理を、コンピュータに実行させる、ファイル検査のための設定データ生成プログラムであって、前記処理は、(a)ファイルもしくは複数のファイルからなるファイル群のうちの少なくとも一方についての管理情報を記憶する管理情報記憶手段にアクセスする工程と、(b)前記アクセスした管理情報記憶手段に記録された管理情報を解析し、ファイルもしくはファイル群のうちの少なくとも一方の重要度決定に必要な解析結果情報を生成する工程と、(c)前記解析結果情報に基づき、前記ファイルもしくはファイル群のうちの少なくとも一方の重要度を決定する工程と、(d)前記決定された重要度に基づきファイル検査のための設定データを生成し、前記設定データを設定データ記憶手段に記録する工程と、を含む、ファイル検査のための設定データ生成プログラムである。このようにすることにより、ファイル検査システムの運用におけるユーザビリティを向上することが可能となる。
前記管理情報記憶手段には複数のファイル群の管理情報が記録され、前記解析結果情報は、前記複数のファイル群の各ファイル群の重要度決定に必要な情報を含み、前記工程(c)は、前記各ファイル群の重要度に基づき、前記各ファイル群に含まれるファイルの重要度を決定するようにしてもよい。こうすることにより、決定される重要度の精度を上げることが可能となる。
前記解析結果情報は、ファイル間もしくはファイル群間の依存関係に関する情報のうちの少なくとも一方を含み、前記工程(c)は、前記解析結果情報に含まれる前記依存関係に基づきファイルもしくはファイル群のうちの少なくとも一方の重要度を決定するようにしてもよい。こうすることにより、依存関係による重要度への影響を反映させ、決定される重要度の精度を上げることが可能となる。
前記管理情報記憶手段には複数のファイル群の各ファイル群に関する管理情報が記録され、前記解析結果情報は前記複数のファイル群間の依存関係に関する情報を含み、前記工程(c)は、ファイルが含まれるファイル群の他のファイル群との依存関係に基づき、前記ファイルの重要度を決定するようにしてもよい。こうすることにより、決定される重要度の精度を上げることが可能となる。
前記工程(c)は、前記ファイルの重要度を、当該ファイルが含まれるファイル群の依存関係と当該ファイルの属性に基づいて決定するようにしてもよい。こうすることにより、依存関係とファイルの属性を重要度に反映させることができ、決定される重要度の精度を上げることが可能となる。
前記工程(c)は、ファイル群に依存する依存ファイル群数に基づいて当該ファイル群の重要度を決定するようにしてもよい。こうすることにより、依存関係を明確に数値で反映させることができ、決定される重要度の精度を上げることが可能となる。
前記依存ファイル群は、ファイル群に直接に依存するファイル群と他のファイル群を介して当該ファイル群に間接的に依存するファイル群を含むようにしてもよい。こうすることにより、より詳細な依存関係が把握でき、決定される重要度の精度を上げることが可能となる。
前記間接的な依存ファイル群は、予め定められた階層の依存先までの依存ファイル群から構成されるようにしてもよい。こうすることにより、重要度決定にかかる時間を短縮することが可能となる。
前記工程(c)は、被依存ファイルに依存する依存ファイル数に基づいて当該被依存ファイルの重要度を決定するようにしてもよい。こうすることにより、依存関係を明確に数値で反映させることができ、決定される重要度の精度を上げることが可能となる。
ファイルもしくはファイル群のインストール処理に応答して、前記工程(a)を開始するようにしてもよい。こうすることにより、インストール処理と管理情報記憶手段の解析及び設定データの生成を別途行わずにまとめて行うことができるので、作業効率を高めることが可能となる。
本発明におけるシステムは、コンピュータによるファイル検査のための設定データを生成するシステムであって、ファイルもしくは複数のファイルからなるファイル群のうちの少なくとも一方の管理情報を記憶する管理情報記憶手段と、前記アクセスした管理情報記憶手段に記録された管理情報を解析し、ファイルもしくはファイル群のうちの少なくとも一方の重要度決定に必要な解析結果情報を生成する、解析手段と、前記解析結果情報に基づき、前記ファイルもしくはファイル群のうちの少なくとも一方の重要度を決定する、重要度決定手段と、前記決定された重要度に基づきファイル検査のための設定データを生成する、設定データ生成手段と、を含むシステムである。このような構成により、ファイル検査システムの運用におけるユーザビリティを向上することが可能となる。
前記重要度決定手段は、前記ファイル間もしくはファイル群間の依存関係に基づいて重要度を決定するようにしてもよい。こうすることにより、依存関係とファイルの属性を重要度に反映させることができ、決定される重要度の精度を上げることが可能となる。
ファイルもしくはファイル群のインストールによって、管理情報記憶手段の管理情報が更新され、前記解析手段は、前記インストールに応答して、前記更新された管理情報記憶手段の管理情報の解析を開始するようにしてもよい。こうすることにより、インストール処理と管理情報記憶手段の解析を別途行わずにまとめて行うことができるので、作業効率を高めることが可能となる。
本発明によれば、ファイル検査システムの運用におけるユーザビリティを向上することが可能となる。
発明の実施の形態1.
本実施形態の完全性検査システム設定システムは、ファイルの完全性を検査する完全性検査システムが使用する設定ファイルを生成する。特に、パッケージのメタデータを参照し、それに基づいてパッケージ及びそれに含まれるファイルの重要度を決定する。好ましくはメタデータに含まれるパッケージ間の依存関係情報を利用して、パッケージ及びファイルの重要度を決定する。重要度を決定すると、各ファイルの重要度に応じて検査を特定した設定ファイルを生成する。
図1を参照して、本発明の実施の形態1における、完全性検査システム設定システムが実装されたコンピュータの利用形態を示す。コンピュータ1は、インターネット網などの通信網に接続されたコンピュータであり、市販のPC(Personal Computer)をそのまま利用することが可能である。本例において、完全性検査システム設定システムは、コンピュータ1に実装されている。サーバ2は、インターネット網などの通信網を介して、コンピュータ1にソフトウェアの配信を行うサーバである。サーバ2も、コンピュータ1同様に、市販のPCをそのまま利用することが可能であり、また、サーバ専用機を用いてもよい。コンピュータ1は、サーバ2の記憶手段に格納されたソフトウェアをインターネット網などの通信網を利用してダウンロードし、インストールを行うことができる。
図2は、本発明の実施の形態1における、コンピュータ1のハードウェア構成の一例を示している。尚、サーバ2も同様の構成を備えることができる。コンピュータ1は、中央処理装置(CPU)201とメモリ204とを含んでいる。CPU201とメモリ204とは、バスを介して補助記憶装置としてのハードディスク装置213に接続される。フレキシブルディスク装置220、ハードディスク装置213、CD−ROMドライブ226等の記憶媒体駆動装置は、フレキシブルディスク・コントローラ219、IDEコントローラ225などの各種コントローラを介してバスに接続される。ROM214には、BIOS等のハードウェアとOS間のデータの受け渡しを行うプログラム等が格納されている。フレキシブルディスク装置220等の記憶媒体駆動装置には、フレキシブルディスク等の可搬型記憶媒体が挿入される。可搬型記憶媒体としてはフロッピィディスクが代表的であるが、MOなどの光磁気ディスクやCD−R、DVD−Rなどでもよい。また、ここでは記憶媒体駆動装置は、CD−ROMドライブとしたが、DVD−ROMドライブなど他の記憶媒体駆動装置を利用してもよい。
記憶媒体にはオペレーティングシステムと共同してCPU201に命令を与え、本実施形態を実施するためのコンピュータ・プログラムを記憶することができる。本実施形態におけるコマンド、ライブラリ、モジュールは全てコンピュータ・プログラムの一つである。また、本実施形態におけるプログラムが生成するデータは、メモリ204に記憶され、必要に応じて、ハードディスク装置213にも記憶される。コンピュータ・プログラムは、メモリ204にロードされることによって実行される。コンピュータ・プログラムは圧縮し、又、複数に分割して記憶媒体に記憶することができる。ハードウェア構成は、典型的には、ユーザー・インターフェース・ハードウェアを備える。
ユーザ・インターフェース・ハードウェアとしては、例えば、入力をするためのポインティング・デバイス(マウス207、ジョイスティック等)やキーボード206、あるいは、視覚データをユーザーに提示するための液晶ディスプレイなどの表示装置211がある。入力された情報はキーボードマウスコントローラ205を介してCPU201に出力される。画像データはVRAM209に記憶され、VGAコントローラ208からDAC/LCDコントローラ(LCDC)210を介して表示装置211に送られる。本実施例におけるユーザーからの入力は、全てマウス207やキーボード206などを介して行われるが、マウスの代わりにトラックボール、トラックポインタやジョイスティックなどの別のポインティングデバイスを用いてもよいし、キーボードの代わりに音声認識入力等の入力手段を用いてもよい。また、シリアルポート215を介してモデムを接続することが可能であり、シリアルポート215や通信アダプタ218を介してネットワークに接続し、サーバ2等の他のコンピュータシステムと通信を行うことができる。また、パラレルポート216には、プリンタ等の周辺機器をつなぐことができる。上記構成は必要に応じて省略することができる。また、必要に応じて同等の機能の別の装置と入れ替えて構成することも可能である。
図3は、本発明における完全性検査システム設定システムの構成を示すブロック図である。完全性検査システム設定システム10は、パッケージマネージャラッパコマンド100、データベース解析ライブラリ101、重要度決定モジュール102、完全性検査システム設定ファイル生成モジュール103、完全性検査システム設定ファイル104を備える。完全性検査システム設定システム10は、プログラムファイル及びデータファイルとして、コンピュータ1の備える記憶手段に格納され、コンピュータ1の備えるCPU201がプログラムに含まれる命令に従って動作することによって、コンピュータ1上で実現される。
パッケージマネージャラッパコマンド100は、パッケージマネージャ20を起動するコマンドである。パッケージのインストールやアンインストールを行う場合、パッケージマネージャラッパコマンド100を実行し、起動されたパッケージマネージャ20が、パッケージのインストールやアンインストールを実行する。パッケージマネージャ20起動後は、データベース解析ライブラリ101の起動も行う。
データベース解析ライブラリ101は、パッケージマネージャ20の生成するパッケージ情報データベース21に基づいて、パッケージの解析結果情報の生成を行うデータベース解析手段である。パッケージ情報データベース21には、パッケージの管理情報を多数含む、パッケージのメタデータが記憶されている。生成した解析結果情報は、重要度決定モジュール102に出力される。重要度決定モジュール102は、データベース解析ライブラリ101から入力した解析結果情報に基づいて、各ファイルの重要度の決定を行うための重要度決定手段である。この時、ユーザーの入力した条件に応じて重要度決定方法のカスタマイズを行うことが可能である。決定した重要度は、重要度情報として完全性検査システム設定ファイル生成モジュール103へ出力される。
完全性検査システム設定ファイル生成モジュール103は、重要度決定モジュール102から入力した重要度情報に基づいて、完全性検査システム設定ファイル104を生成する完全性検査システム設定ファイル生成手段である。完全性検査システム設定ファイル104は、完全性検査システム30が利用する、ファイル検査の項目や頻度などを設定するためのデータファイルである。
続いて、本発明における完全性検査システム設定システム10の処理の流れについて説明する。本実施例では、Debian GNU/Linux上で動作する全てのソフトウェアについてDebian GNU/Linux上で検査を行うものとするが、動作環境はこれに限定されない。例えば、fink/Mac OS X上でもDebian GNU/Linuxと同様の動作を行うことが可能である。
例えば新たにプログラムをインストールなどのため、ユーザーは、まず、パッケージマネージャラッパコマンド100が起動する。起動の方法は、ユーザーがプロンプトから起動コマンドを入力する、GUI(Graphical User Interface)により画面上のアイコンをクリックあるいはダブルクリックする等の方法で行われる。あるいは、タイマーを用いて毎日0時などの決められた時間に起動する、1時間毎に起動する等、決められた時間や間隔で起動するように設定してもよい。この時、起動コマンドに引数を加えて入力したり、GUIにより引数をセットしたりすることにより、パッケージマネージャラッパコマンド100に引数を与えることも可能である。
図4は、本形態におけるパッケージマネージャラッパコマンド100の処理の流れを示すシーケンス図である。パッケージマネージャラッパコマンド100が起動すると、ユーザーから与えられた引数の解析及び必要な前処理を行い(S101)、その後パッケージマネージャ20を起動する(S102)。パッケージマネージャとは、パッケージの管理を行うソフトウェアのことであり、管理する内容については設計によって決定される。パッケージとはソフトウェアに含まれるファイル及びその構成情報などが基本単位として一つにまとまったものであり、パッケージマネージャにより管理される。Debian GNU/Linuxの場合は、dpkg(Debian package system)という独自のパッケージマネージャを有しており、パッケージの情報をデータベースにより管理している。本システムでは、ラッパコマンド100と、パッケージマネージャ20とが連動している。この時、先ほど与えられた引数をパッケージマネージャ20に渡して起動することも可能である。dpkgは、パッケージのインストールやインストール後のパッケージの更新、アンインストールなどを行うことが可能であり、更にパッケージ間の依存情報をパッケージ情報データベースに備えているのが特徴である。パッケージ間の依存情報を備えているため、依存先のパッケージが存在しない状態で当該パッケージをインストールしてしまい動作しなくなるなどの依存先のパッケージとの不整合による動作不具合が起こりにくいのが特徴である。
パッケージマネージャ20は、起動後、パッケージのインストール、パッケージの更新などを行い(S103)、パッケージ情報データベース21に記録される管理情報の生成及び更新を行う(S104)。パッケージ情報データベース21は、コンピュータ1の備えるハードディスク装置213に記録される。この時、通常はサーバ2へアクセスすることにより更新情報の確認を行い、更新が必要なパッケージやファイルについての更新が行われるが、CD−ROMドライブ226等を利用してCD−ROMによる更新やインストールを行ってもよい。パッケージマネージャ20の備えるどの機能をどのように利用するかは、パッケージマネージャラッパコマンド100起動時に与えた引数により設定が可能である。また、パッケージマネージャラッパコマンド100が起動時に与えられる引数以外に初期設定時の引数を用意して、前処理時にユーザーから与えられた引数に加えて、用意した引数をセットするようにしてもよい。インストール及びパッケージ情報データベース21の生成処理が終了すると、パッケージマネージャ20はパッケージマネージャラッパコマンド100に処理の終了を通知する(S105)。
パッケージマネージャラッパコマンド100は、パッケージマネージャ20から処理の終了の通知S105を受けると、データベース解析ライブラリ101を起動する(S106)。データベース解析ライブラリ101は、パッケージマネージャ20が生成したパッケージ情報データベース21から、パッケージの重要度に関する情報の解析を行い、解析結果情報を生成する。このようにして、パッケージマネージャ20の起動やデータベース解析ライブラリ101の起動をパッケージマネージャラッパコマンド100に行わせることにより、パッケージマネージャ20によるパッケージ情報データベース21の生成とデータベース解析ライブラリ101によるパッケージ情報データベース21の解析を自動的に関連付けて行うことが可能となる。これにより、パッケージのインストールなどによってパッケージ情報データベース21が変更されるたびに、完全性検査システム30の設定ファイルを生成、更新することができる。
続いて、図5に示すフローチャートを用いて、本発明におけるデータベース解析ライブラリ101の処理の流れについて説明する。まず、データベース解析ライブラリ101は、パッケージマネージャ20の生成したパッケージ情報データベース21の読み込みを行う(S201)。その後、読み込んだパッケージ情報データベース21の解析を行う(S202)。
ここで、データベース解析ライブラリ101によるパッケージ情報データベース21の解析方法について詳しく説明する。図6は、本実施例におけるパッケージ情報データベース21に備えられたメタデータ22の一例を示す図である。メタデータ22には、パッケージに関する管理情報が多数格納されており、その中からどの情報を利用するかはユーザーがカスタマイズ可能である。重要度決定に使用する管理情報の特に好ましいものは、パッケージ間の依存関係に関する情報である。メタデータ22は、パッケージが他のどのパッケージを利用しているかをDependsの項目に格納している。ここに記述されているパッケージ間の利用関係が依存関係であり、この依存関係を見ることにより、どのパッケージがどのパッケージに依存しているかを確認することができる。
また、この依存関係から被依存数を知ることもできる。例えば、パッケージA、パッケージBがあり、パッケージAのDependsの項目にパッケージBが記述されている場合、パッケージAがパッケージBに依存しているという情報と同時に、パッケージBがパッケージAに依存されているという情報を知ることができる。つまり、全パッケージ情報のDependsに記述されているパッケージをカウントすることにより、各パッケージの被依存数をカウントすることが可能となる。
他のパッケージに依存されたパッケージに問題が発生すると、そのパッケージに依存している別のパッケージにまで影響が及ぶので、被依存数の多いパッケージは他のパッケージへの影響が大きいため、重要であると考えることができる。そこで、データベース解析ライブラリ101は、被依存数を重要度決定に関する重要な情報として解析結果情報を生成する。生成した解析結果情報はコンピュータ1が備えるメモリ204に記録される。
更に、直接的な依存関係だけでなく、より深く解析することにより、パッケージの重要度をより詳細に知ることができる。例えば、パッケージAはパッケージBに依存され、パッケージBはパッケージC、D、E、Fに依存されている場合、パッケージAの被依存数は1で、パッケージBの被依存数は4であるため、直接的な被依存数のみを見るとパッケージAよりパッケージBの方が重要度が高いと判定されてしまうが、パッケージAが動かなくなると、パッケージB、C、D、E、Fの5つが動かなくってしまう。他方、パッケージBが動かなくなると、パッケージC、D、E、Fの4つが動かなくなってしまう。この場合、パッケージBよりパッケージAの方が重要であると考えることができる。
このような情報を知るには、パッケージ情報の依存関係だけでなく、依存先のパッケージの依存関係を調べ、更に、その依存先のパッケージ情報の依存関係を調べる、という処理を繰り返すことにより実現可能となる。このようにして、依存先の依存関係を繰り返したどっていくことにより、より詳細な解析結果情報を生成することが可能となる。いくつ先の依存関係まで調べるか、依存関係からどのような計算式で解析結果情報を生成するかはユーザーがコマンドの引数入力や設定ファイルの生成などにより設定可能である。
解析結果情報には、パッケージ情報データベース21に含まれる、依存関係以外の情報を加えることも可能である。例えば、図6に示すように、パッケージ情報データベースには、Priority、Section等の情報が格納されている。Priorityはパッケージ毎に設定された重要度であり、「必須」「重要」「標準的」等に分類される。また、Sectionはパッケージを利用目的により分類したものであり、「ブートストラップ」「管理用」「基盤」「シェル」「科学計算」「ゲーム」等に分類される。
これらの情報を解析結果情報に反映させることが可能である。例えば、Priorityが「必須」「重要」「標準的」の順に重要度が下がっていくためそれぞれに応じた値を設定し、依存情報に反映させ、「管理用」「基盤」は「ゲーム」より重要であるため、こちらもそれぞれに応じた値を設定し、解析結果情報に反映させることができる。解析結果情報の生成が完了すると(S203)、データベース解析ライブラリ101は、重要度決定モジュール102に生成した解析結果情報を出力する(S204)。解析結果情報は、例えば、「Depends:libc6->shlib、Priority:standard、Section:base」のように、メタデータ22の備える情報のうちそのまま利用できる情報はそのまま利用し、依存関係はツリー構造やグラフ構造などの形式にしてもよい。あるいは、「Depends:5、Priority:3、Section:1」のように、メタデータ22が備えている情報のうち、重要度決定に必要な項目を数値化することによりデータ量の削減を図ってもよい。
続いて、図7に示すフローチャートを用いて、重要度決定モジュール102の処理の流れについて説明する。重要度決定モジュール102は、データベース解析ライブラリ101から解析結果情報を入力すると(S301)、パッケージの重要度(S302)、パッケージを構成するファイル毎の重要度の決定を行う(S303)。ファイル毎の重要度は、データベース解析ライブラリ101から入力したパッケージの解析結果情報、ファイルのアクセス制限、ファイルの種類、ファイルのパス等の情報により決定する。ファイルのアクセス制限やファイルの種類、ファイルのパス等の個々のファイルに関する情報がファイルの属性情報である。この時、これらの中からどのような情報を利用するか、どのように重要度に反映させるかは、ユーザーからの入力により変更可能である。
ファイルのアクセス制限は、ファイルが備えるパーミッション情報を見ることで確認することができる。この時、アクセス制限がかかっているファイルは重要なファイルと考えることができるため、ファイル重要度決定時に重みを加える。ファイルの種類は、ファイルの拡張子を見ることによって識別する。例えば、拡張子がiniの場合は初期設定ファイルであり、docやtxtの場合はドキュメントファイルである。ここでも、ini等の初期設定ファイルに破損や紛失があった場合、そのファイルを利用するソフトウェアは動作することができないので、ファイル重要度決定時に重みを加える。また、docやtxt等のドキュメントファイルは破損や紛失があっても、パッケージ内のソフトウェアの動作には影響が無いのでファイル重要度決定時に重みは加えない。
ファイルのパスは、コンピュータ1の備える記憶装置内でのファイルの存在する位置を示すデータである。例えば、システム設定ファイルは設定ディレクトリ内に配置される場合が多く、ドキュメントファイルはドキュメントディレクトリ内に配置される場合が多い。ここでも設定ディレクトリ内のファイルは重要度が高い、ドキュメントディレクトリのファイルは重要度が低い、と考えることができ、それぞれに応じた重みを加えることが可能である。この重みは、ユーザーからの入力により変更が可能である。このようにして、パッケージ内の各ファイルに対して重要度の決定を行う。
更に、パッケージ内の各ファイルに対して検査項目の設定を行う(S304)。検査項目は、ファイルの種類、書き込み許可情報や重要度に応じて設定を行う。まず、ファイルの種類に応じて分類を行う。例えば、標準的なUnix(登録商標)のファイルの種類としては、標準ファイルの他に、ブロック特殊ファイル、キャラクタ特殊ファイル、ディレクトリ、リンク、ソケット、パイプなどがあり、それぞれのファイルについてデフォルトの検査項目を設定する。
その後、ファイルの書き込み許可情報に応じて検査項目の追加や削除を行う。例えば、アクセス制限によって書き込みが禁止されているファイルは読み込み専用ファイルであり、通常はファイルの内容は変化しない。そこで、このような読み込み専用ファイルは、ファイルのブロック数やファイルサイズやファイル内容のチェックサムを検査項目に加え、これらの値が変化した場合は、不正なファイルの書き換えが行われた可能性があると判断できる。
更に、チェックサムの計算方法が複数ある完全性検査システムの場合、重要度に応じてチェックサム計算を行う計算方法を設定することも可能である。例えば、重要度の低いファイルの場合は計算を1種類のみで行うことにより計算量を抑え、重要度の高いファイルの場合は、チェックサムの計算を複数行うことにより厳密なチェックを行う。また、ユーザーからの入力により、回数の設定を行うこともできる。更に、ユーザーから検査にかかる時間の制限値を入力し、その時間内で終了するような範囲での計算を行うように設定することも可能である。
ファイルにアクセス制限がかけられていない書き込み可能ファイルの場合には、上述のファイルのブロック数やファイルサイズやファイル内容のチェックサムなどはファイル内容の変化と共に変わってしまうため、検査項目とすることができない。しかし、ログファイルなどの場合は、通常、ファイルの後ろに新しいログ情報を追加するだけなので、ファイルが追加されただけでなく書き換えが行われた場合は、ファイルの不正書き換えの可能性ありと判断することができる。そこで/var/log以下に設置されるファイルについては、例えば「AppendOnly」という追加のみによる書き換えは正常でそれ以外の書き換えは異常と判定する検査項目を設定することが可能である。
重要度決定モジュール102により決定した重要度情報は、コンピュータ1の備えるメモリ204に記録される。重要度情報は、例えば、「パッケージA−重要度7、構成ファイルA1−検査項目:AppendOnly 重要度:588、ファイルA2−検査項目:……」のような形式にすることができる。重要度決定モジュール102による重要度の決定が完了すると、完全性検査システム設定ファイル生成モジュール103を起動し、決定した重要度情報の出力を行う(S305)。
完全性検査システム設定ファイル生成モジュール103は、完全性検査システム30で実際に利用される設定ファイルの生成を行う。図8は、完全性検査システム設定ファイル生成モジュール103の処理の流れについて説明したフローチャートである。設定ファイルは重要度決定モジュール102により決定された内容に基づいて行われる。具体的には、重要度決定モジュール102から、パッケージの重要度、ファイルの重要度、検査項目、の3種類の情報を入力し(S401)、その内容を、完全性検査システム30の設定ファイルフォーマットに合わせてデータのコンバートを行う(S402)。
図9は、本実施例における完全性検査システム設定ファイル104の一例を示す図である。本実施例では、完全性検査システムとしてtripwireというソフトウェアを利用している。図9はtripwireの設定ファイルである。ここでの設定ファイルは、パッケージの名前1040、パッケージの重要度1041、パッケージを構成するファイルの名前1042、ファイルの検査項目1043、ファイルの重要度1044を格納している。完全性検査システムは、この内容に基づいて動作する。完全性検査システム設定ファイル生成モジュール103は、入力したパッケージの重要度、ファイルの重要度、検査項目の各データを図9に示すような設定ファイルの形式に変換し、完全性検査システム設定ファイル104を生成する。生成した完全性検査システム設定ファイル104は、コンピュータ1の備えるハードディスク装置213に記録される。
完全性検査システム設定ファイル104の生成が完了すると、完全性検査システム設定ファイル生成モジュール103は、生成した完全性検査システム設定ファイル104を完全性検査システム30へ出力する。完全性検査システム30は、完全性検査システム設定ファイル生成モジュール103から入力した完全性検査システム設定ファイル104の内容に応じて各ファイルの検査を行う。
図10は、本実施例における重要度分析の結果を示すグラフである。本実施例ではDebian GNU/Linux上で利用可能な約5000のパッケージについて重要度の計算を行った。その結果、重要度が200を超えるパッケージは全パッケージの約60分の1であることが分かった。従って、重要度が200を超えるパッケージを構成するファイルを重点的に検査することにより、大幅に検査時間を短縮することが可能となる。
尚、本実施形態の完全形検査システム設定システム10は、パッケージの管理情報を記憶するパッケージ情報データベースを参照してパッケージの重要度及びファイルの重要度を決定するが、ファイル間の依存関係などのファイルの管理情報を記憶するデータベースを生成し、その管理情報によってファイルの重要度及び検査項目などを決定することも可能である。本形態はファイルの完全性検査について説明したが、他の態様のファイル検査に本発明を適用することも可能である。
その他の発明の実施の形態.
上述の例の他に、パッケージの利用頻度を重要度決定の情報として利用してもよい。この場合、別途パッケージに含まれるプログラムの実行時間の総和を計測する必要がある。
パッケージの利用頻度は、例えば、パッケージに含まれるプログラム(cmd(p))の実行時間の総和と、そのパッケージが依存する利用頻度の総和として計算することができる。つまり、パッケージpの利用頻度Up(p)を式で表すと、
Figure 2006072856

数式(1)のようになる。ここで、support(p)は、パッケージpに直接的にあるいは間接的に依存する全てのパッケージの集合である。つまり、依存先のパッケージの利用頻度を辿ることにより、依存先のパッケージの利用頻度も当該パッケージの利用頻度に反映させることができ、重要度計算の精度を上げることが可能となる。
本発明における完全性検査システム設定システムを利用したコンピュータの利用形態を示す図である。 本発明におけるコンピュータ及びサーバの構成を示すブロック図である。 本発明における完全性検査システム設定システムの構成を示すブロック図である。 本発明におけるパッケージマネージャラッパコマンドの処理の流れを示すシーケンス図である。 本発明におけるデータベース解析ライブラリの処理の流れを示すフローチャートである。 本発明におけるパッケージ情報データベースの一例を示す図である。 本発明における重要度決定モジュールの処理の流れを示すフローチャートである。 本発明における完全性検査システム設定ファイル生成モジュールの処理の流れを示すフローチャートである。 本発明における完全性検査システム設定ファイルの一例を示す図である。 本発明における重要度分析の結果を示すグラフである。
符号の説明
1 コンピュータ
2 サーバ
201 CPU
204 メモリ
205 キーボードマウスコントローラ
206 キーボード
207 マウス
208 VGA
209 VRAM
210 DAC/LCDC
211 表示装置
213 ハードディスク装置
214 ROM
215 シリアルポート
216 パラレルポート
218 通信アダプタ
219 フレキシブルディスク・コントローラ
220 フレキシブルディスク装置
225 コントローラ
226 ドライブ
10 完全性検査システム設定システム
20 パッケージマネージャ
21 パッケージ情報データベース
22 メタデータ
30 完全性検査システム
100 パッケージマネージャラッパコマンド
100 ラッパコマンド
101 データベース解析ライブラリ
102 重要度決定モジュール
103 完全性検査システム設定ファイル生成モジュール
104 完全性検査システム設定ファイル
1040 パッケージの名前
1041 パッケージの重要度
1042 ファイルの名前
1043 ファイルの設定項目
1044 ファイルの重要度

Claims (13)

  1. コンピュータによるファイル検査のための設定データを生成するための処理を、コンピュータに実行させる、ファイル検査のための設定データ生成プログラムであって、前記処理は、
    (a)ファイルもしくは複数のファイルからなるファイル群のうちの少なくとも一方についての管理情報を記憶する管理情報記憶手段にアクセスする工程と、
    (b)前記アクセスした管理情報記憶手段に記録された管理情報を解析し、ファイルもしくはファイル群のうちの少なくとも一方の重要度決定に必要な解析結果情報を生成する工程と、
    (c)前記解析結果情報に基づき、前記ファイルもしくはファイル群のうちの少なくとも一方の重要度を決定する工程と、
    (d)前記決定された重要度に基づきファイル検査のための設定データを生成し、前記設定データを設定データ記憶手段に記録する工程と、
    を含む、ファイル検査のための設定データ生成プログラム。
  2. 前記管理情報記憶手段には複数のファイル群の管理情報が記録され、
    前記解析結果情報は、前記複数のファイル群の各ファイル群の重要度決定に必要な情報を含み、
    前記工程(c)は、前記各ファイル群の重要度に基づき、前記各ファイル群に含まれるファイルの重要度を決定する、
    請求項1に記載のファイル検査のための設定データ生成プログラム。
  3. 前記解析結果情報は、ファイル間もしくはファイル群間の依存関係に関する情報のうちの少なくとも一方を含み、
    前記工程(c)は、前記解析結果情報に含まれる前記依存関係に基づきファイルもしくはファイル群のうちの少なくとも一方の重要度を決定する、
    請求項1に記載のファイル検査のための設定データ生成プログラム。
  4. 前記管理情報記憶手段には複数のファイル群の各ファイル群に関する管理情報が記録され、
    前記解析結果情報は前記複数のファイル群間の依存関係に関する情報を含み、
    前記工程(c)は、ファイルが含まれるファイル群の他のファイル群との依存関係に基づき、前記ファイルの重要度を決定する、
    請求項3に記載のファイル検査のための設定データ生成プログラム。
  5. 前記工程(c)は、前記ファイルの重要度を、当該ファイルが含まれるファイル群の依存関係と当該ファイルの属性に基づいて決定する、請求項4に記載のファイル検査のための設定データ生成プログラム。
  6. 前記工程(c)は、ファイル群に依存する依存ファイル群数に基づいて当該ファイル群の重要度を決定する、請求項3に記載のファイル検査のための設定データ生成プログラム。
  7. 前記依存ファイル群は、ファイル群に直接に依存するファイル群と他のファイル群を介して当該ファイル群に間接的に依存するファイル群を含む、請求項6に記載のファイル検査のための設定データ生成プログラム。
  8. 前記間接的な依存ファイル群は、予め定められた階層の依存先までの依存ファイル群から構成される、請求項7に記載のファイル検査のための設定データ生成プログラム。
  9. 前記工程(c)は、被依存ファイルに依存する依存ファイル数に基づいて当該被依存ファイルの重要度を決定する、請求項3に記載のファイル検査のための設定データ生成プログラム。
  10. ファイルもしくはファイル群のインストール処理に応答して、前記工程(a)を開始する、請求項1に記載のファイル検査のための設定データ生成プログラム。
  11. コンピュータによるファイル検査のための設定データを生成するシステムであって、
    ファイルもしくは複数のファイルからなるファイル群のうちの少なくとも一方の管理情報を記憶する管理情報記憶手段と、
    前記アクセスした管理情報記憶手段に記録された管理情報を解析し、ファイルもしくはファイル群のうちの少なくとも一方の重要度決定に必要な解析結果情報を生成する、解析手段と、
    前記解析結果情報に基づき、前記ファイルもしくはファイル群のうちの少なくとも一方の重要度を決定する、重要度決定手段と、
    前記決定された重要度に基づきファイル検査のための設定データを生成する、設定データ生成手段と、
    を含むシステム。
  12. 前記重要度決定手段は、前記ファイル間もしくはファイル群間の依存関係に基づいて重要度を決定する、請求項11に記載のシステム。
  13. ファイルもしくはファイル群のインストールによって、管理情報記憶手段の管理情報が更新され、
    前記解析手段は、前記インストールに応答して、前記更新された管理情報記憶手段の管理情報の解析を開始する、
    請求項11又は12に記載のシステム。
JP2004257651A 2004-09-03 2004-09-03 ファイル検査のための設定データ生成プログラム及びシステム Expired - Lifetime JP4608634B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004257651A JP4608634B2 (ja) 2004-09-03 2004-09-03 ファイル検査のための設定データ生成プログラム及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004257651A JP4608634B2 (ja) 2004-09-03 2004-09-03 ファイル検査のための設定データ生成プログラム及びシステム

Publications (2)

Publication Number Publication Date
JP2006072856A true JP2006072856A (ja) 2006-03-16
JP4608634B2 JP4608634B2 (ja) 2011-01-12

Family

ID=36153394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004257651A Expired - Lifetime JP4608634B2 (ja) 2004-09-03 2004-09-03 ファイル検査のための設定データ生成プログラム及びシステム

Country Status (1)

Country Link
JP (1) JP4608634B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019012626A1 (ja) * 2017-07-12 2019-01-17 日本電気株式会社 真正性検証システム、真正性検証方法および真正性検証プログラム
WO2021014595A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
CN112820341A (zh) * 2021-03-03 2021-05-18 群联电子股份有限公司 存储器检查方法、存储器检查装置及存储器检查系统
CN117331501A (zh) * 2023-09-28 2024-01-02 深圳市钜邦科技有限公司 一种固态硬盘的数据分析管理方法、设备及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10282882A (ja) * 1997-04-10 1998-10-23 Fujitsu Ltd 認証子付与方法および認証子付与装置
JP2004038272A (ja) * 2002-06-28 2004-02-05 Kddi Corp ウェブ監視装置及び方法、コンピュータプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10282882A (ja) * 1997-04-10 1998-10-23 Fujitsu Ltd 認証子付与方法および認証子付与装置
JP2004038272A (ja) * 2002-06-28 2004-02-05 Kddi Corp ウェブ監視装置及び方法、コンピュータプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019012626A1 (ja) * 2017-07-12 2019-01-17 日本電気株式会社 真正性検証システム、真正性検証方法および真正性検証プログラム
JPWO2019012626A1 (ja) * 2017-07-12 2020-04-16 日本電気株式会社 真正性検証システム、真正性検証方法および真正性検証プログラム
US11604879B2 (en) 2017-07-12 2023-03-14 Nec Corporation Attestation system, attestation method, and attestation program
WO2021014595A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
JPWO2021014595A1 (ja) * 2019-07-23 2021-01-28
JP7184198B2 (ja) 2019-07-23 2022-12-06 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
CN112820341A (zh) * 2021-03-03 2021-05-18 群联电子股份有限公司 存储器检查方法、存储器检查装置及存储器检查系统
CN112820341B (zh) * 2021-03-03 2024-05-07 群联电子股份有限公司 存储器检查方法、存储器检查装置及存储器检查系统
CN117331501A (zh) * 2023-09-28 2024-01-02 深圳市钜邦科技有限公司 一种固态硬盘的数据分析管理方法、设备及系统
CN117331501B (zh) * 2023-09-28 2024-06-07 深圳市钜邦科技有限公司 一种固态硬盘的数据分析管理方法、设备及系统

Also Published As

Publication number Publication date
JP4608634B2 (ja) 2011-01-12

Similar Documents

Publication Publication Date Title
US9910743B2 (en) Method, system and device for validating repair files and repairing corrupt software
US6496979B1 (en) System and method for managing application installation for a mobile device
US7519953B2 (en) Method and system for automatically testing a software build
US10101973B1 (en) Adaptively shrinking software
US7278059B2 (en) Method for testing operating system components
US20070250815A1 (en) Measuring code coverage
JP4140920B2 (ja) 個人情報の保護を支援する情報処理装置
JP2019500676A (ja) ソフトウェア開発のためのソフトウェアリスク制御方法およびシステム
US7987456B2 (en) Qualitatively annotated code
US7069474B2 (en) System and method for assessing compatibility risk
US8214393B2 (en) Integrating database deployment with code deployment
JP2006099743A (ja) 再現可能なテストの自動化に関するテストケース実行挙動を選択するシステムおよび方法
US20070180433A1 (en) Method to enable accurate application packaging and deployment with optimized disk space usage
JP2019008377A (ja) 照合情報生成装置、管理システム及び照合情報生成方法
AU2019371545B9 (en) Management system, acquisition device and management method
Peng et al. {GLeeFuzz}: Fuzzing {WebGL} Through Error Message Guided Mutation
JP4608634B2 (ja) ファイル検査のための設定データ生成プログラム及びシステム
US20050028152A1 (en) Method and apparatus for identifying a Java class package name without disassembling Java bytecodes
US20070250814A1 (en) Debugging in an operating system with multiple subsystems
US12039297B2 (en) Code inspection interface providing method and apparatus for implementing the method
US7533314B2 (en) Unit test extender
US8104019B2 (en) Debugging in an operating system with multiple subsystems
Hermann et al. Getting to know you: Towards a capability model for java
US20080016492A1 (en) Modeled types-attributes, aliases and context-awareness
JP7328922B2 (ja) 設定装置、設定方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061221

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071105

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071023

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150