(57)【要約】【課題】  エンドユーザの入力したデータを保持するデータベースやファイルを、エンドユーザの入力データによらず、システム上で暗号化されて保持されている場合にも、効率的に抽出できるようにする。【解決手段】  設定ファイル解析部１０は、アプリケーションサーバの設定ファイルを解析し、特定の設定項目の設定値を抽出する。ファイル抽出部２０は、特定のディレクトリに配置されたファイルのソースコードを解析し、特定のキーワードを含むファイルの名称を抽出する。プログラム抽出部３０は、抽出されたファイルを解析し、該ファイルがデータの処理を協調して行うプログラムのファイル名称を抽出する。データベース抽出部４０は、抽出されたプログラムのファイルを解析し、該プログラムが情報の参照や保存を行うデータベースの名称やファイルの名称を抽出する。【選択図】  図１
2006072628.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションサーバの設定ファイルを解析し、特定の設定項目の設定値を抽出する設定ファイル解析手段と、
特定のディレクトリに配置されたファイルのソースコードを解析し、特定のキーワードを含むファイルの名称を抽出するファイル抽出手段と、
指定されたファイルのコードを解析し、該ファイルがデータの処理を行う際に協調して処理を行うプログラムのファイル名称を抽出するプログラム抽出手段と、
指定されたプログラムのファイルを解析し、該プログラムがデータの挿入、参照、更新および削除を行う際に利用するデータベースの名称および／または該プログラムがデータの挿入、参照、更新、および削除を行う際に利用するファイルの名称を抽出するデータベース抽出手段と、
前記設定ファイル解析手段、前記ファイル抽出手段、前記プログラム抽出手段、および前記データベース抽出手段それぞれの入出力データを管理し、データの受け渡しを行う入出力管理手段と、
を有する情報抽出装置。
【請求項２】
前記設定ファイル解析手段が、
アプリケーションサーバの設定ファイルの名称を設定するサーバ設定ファイル名称設定手段と、
前記サーバ設定ファイル名称設定手段で設定された名称のファイルの解析条件である設定項目を設定するサーバ設定ファイル解析項目設定手段と、
前記サーバ設定ファイル名称設定手段で設定された名称のファイルを前記サーバ設定ファイル解析項目設定手段で設定された解析条件で解析し、設定項目の設定値を取得するサーバ設定ファイル解析実行手段と、
前記サーバ設定ファイル解析実行手段で取得された設定値を保存するサーバ設定ファイル解析結果記憶手段と、
を有する請求項１に記載の情報抽出装置。
【請求項３】
前記ファイル抽出手段が、
検索範囲となるファイルを設定する検索範囲設定手段と、
前記検索範囲設定手段で設定されたファイルから、ファイルを抽出する条件である抽出キーワードおよび／またはファイルを抽出する条件であるファイル拡張子を設定するファイル抽出条件設定手段と、
前記検索範囲設定手段で設定されたファイルから前記ファイル抽出条件設定手段で設定された条件を満たすファイルの名称を抽出するファイル抽出実行手段と、
前記ファイル抽出実行手段で抽出されたファイルの名称を記憶するファイル名称記憶手段と、
を有する請求項１に記載の情報抽出装置。
【請求項４】
前記プログラム抽出手段が、
解析対象となるファイルを指定する解析ファイル設定手段と、
前記解析ファイル設定手段で設定されたファイルの解析条件を設定するファイル解析条件設定手段と、
前記解析ファイル設定手段で設定されたファイルを、前記ファイル解析条件設定手段で設定された条件で検索し、協調して動作するアプリケーションプログラムの名称を抽出するファイル解析実行手段と、
前記ファイル解析実行手段で抽出されたアプリケーションプログラムの名称を保存するプログラム名称記憶手段と、
を有する請求項１に記載の情報抽出装置。
【請求項５】
前記データベース抽出手段が、
解析対象となるアプリケーションプログラムを設定するアプリケーションプログラム設定手段と、
前記アプリケーションプログラム設定手段で設定されたアプリケーションプログラムの解析条件を設定するアプリケーションプログラム解析条件設定手段と、
前記アプリケーションプログラム設定手段で設定されたアプリケーションプログラムを前記アプリケーションプログラム解析条件設定手段で設定された条件で解析し、データの挿入、参照、更新、および削除を行う際に利用するデータベースおよび／またはデータの挿入、参照、更新、および削除を行う際に利用するファイルの名称を抽出するアプリケーションプログラム解析実行手段と、
前記アプリケーションプログラム解析実行手段で抽出されたデータベースおよび／または前記アプリケーションプログラム解析実行手段で抽出されたファイルの名称を保存するデータベース名称記憶手段と、
を有する請求項１に記載の情報抽出装置。
【請求項６】
前記入出力管理手段が、前記設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段それぞれの入力データを設定し、前記設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段の出力データを取得するデータ取得設定手段と、前記設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段の入出力データ処理シーケンスを管理する管理手段と、を有する請求項１に記載の情報抽出装置。
【請求項７】
請求項１から６のいずれかに記載の情報抽出装置の機能をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化されたデータから特定の条件を満たす情報を抽出する装置に関する。
【背景技術】
【０００２】
近年、インターネット、イントラネットなどのネットワーク上でサイトを構築し、構築されたサイトからエンドユーザに様々な情報を提供するウェブサーバが多数使用されている。ウェブサーバは、ウェブサーバ用プログラムをサーバにインストールしたものであって、ウェブサーバ用プログラムの他にＣＧＩ（Common Gateway Interface）などのプログラムと連携し、連携した結果の情報をエンドユーザに提供するものでもある（例えば特許文献１参照。）。
【０００３】
また、ウェブサーバは、エンドユーザにアンケート等を実施するために、エンドユーザが入力したデータを取得し、処理を行い、データをデータベースサーバの管理するデータベースやサーバのファイル等に保存するという目的でも多数使用されている。
【０００４】
上記のように、ウェブサーバを介してエンドユーザから取得したデータはウェブサーバやデータベースサーバ上に保管されていることが多いが、それらのデータがサーバ上もしくは複数のサーバにまたがったシステムのどこに保存されているかを抽出し把握するための方法としては、エンドユーザが入力したデータに含まれるキーワードやエンドユーザの入力したデータに関連性の高いキーワードを用いて、サーバ上もしくは複数のサーバの集合であるシステム上の全ファイルに対して全文検索を行い、エンドユーザからの入力データが保存されているファイルやデータベースを抽出する等の方法があり、該全文検索を高速に行う手法等が提案されている（例えば特許文献２参照）。
【特許文献１】特開２０００−２７６３９６号公報（１２段落目−１６段落目、第１図）
【特許文献２】特開平１０−９７５４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述したような従来の技術では、エンドユーザが入力したデータを保存しているデータベースやファイルを抽出するために使用する文字列の選択がユーザのノウハウに依存するため、ユーザが入力したデータが保存されているデータベースやファイルをサーバやシステム上から漏れ無く抽出することが非常に難しいという問題があった。
【０００６】
また、エンドユーザが入力したデータが、データベースおよび／またはファイル上で暗号化されて保存されている場合には、該データベースおよび／または該ファイルを抽出できないという問題があった。
【０００７】
また、エンドユーザが入力したデータが保存されているデータベースやファイルのいくつかを抽出できた場合も、どのようなプログラムが関連して処理を行った結果によって該データベースおよびファイルにエンドユーザが入力したデータが保存されるかが分からないため、関連するプログラムも含めたセキュリティ対策を検討することが困難であった。
【０００８】
さらには、サーバが保有している記憶域の容量の増加やサーバ上に保存されているファイル総量が増加するにつれて、エンドユーザが入力したデータを処理するプログラムやエンドユーザが入力したデータを保存しているファイルやデータベースとは関係のないシステムファイル等の検索に大幅な時間が取られ、検索の効率が悪くなるという問題点があった。
【０００９】
本発明の目的は、サーバ上のハードディスクなどの記憶域から、エンドユーザが入力したデータが保存されているデータベースおよび／またはエンドユーザが入力したデータが保存されているファイルを、エンドユーザが入力した氏名や住所といったデータ項目や内容などに関連したキーワードを用いることなく抽出すること、すなわち、エンドユーザが入力したデータが保存されているデータベース、および／またはファイルを抽出するために、例えば、氏名、住所、メールアドレス等のような文字列を使用しないこと、また、エンドユーザが入力したデータがデータベース、および／またはファイル上で暗号化されて保存されている場合にも抽出可能とすること、また、サーバの記憶域が増加した場合やサーバ上に保存されているファイルの容量が大きくなった場合にも、エンドユーザが入力したデータが保存されているデータベースやファイルを効率的に抽出すること、およびエンドユーザが入力したデータをファイル、および／またはデータベースへ保存する際に関係するプログラムや、ユーザがデータベースおよび／またはファイルに保存されているデータを挿入、参照、更新、および削除を行う際に関係するプログラムを抽出することで、エンドユーザが入力したデータを保護するために有効な情報を提供する情報抽出装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の情報抽出装置は、アプリケーションサーバの設定ファイルを解析し、特定の設定項目の設定値を抽出する設定ファイル解析手段と、特定のディレクトリに配置されたファイルのソースコードを解析し、特定のキーワードを含むファイルの名称を抽出するファイル抽出手段と、抽出されたファイルのコードを解析し、エンドユーザが入力したデータの処理を行う際に該ファイルが協調して処理を行うプログラムのファイル名称を抽出するプログラム抽出手段と、プログラム抽出手段によって抽出されたプログラムのファイルを解析し、当該プログラムがエンドユーザが入力したデータの保存やエンドユーザが入力したデータを元にした情報の挿入、参照、更新、および削除を行う際に利用するデータベースの名称またはファイルの名称を抽出するデータベース抽出手段と、設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段それぞれのデータの入出力を管理する入出力管理手段と、を有する。
【００１１】
この構成により、アプリケーションサーバで使用しているディレクトリに配置されたファイルという限定された領域の検索で、エンドユーザが入力したデータが保存されているデータベースおよび／またはエンドユーザが入力したデータが保存されているファイルを効率的に抽出することができ、エンドユーザが入力したデータの項目やエンドユーザが入力したデータのファイルやデータベース上での保存形式によらずプログラム言語仕様で決められたインタフェースや関数の名称や引数を解析条件として、データベースおよび／またはファイルの抽出ができ、エンドユーザが入力したデータがデータベースまたはファイル上で暗号化されて保存されている場合にもエンドユーザが入力したデータが保存されている、データベースおよび／またはファイルを見つけ出すことができる。
【００１２】
本発明の実施態様によれば、設定ファイル解析手段が、アプリケーションサーバの設定ファイルの名称を設定するサーバ設定ファイル名称設定手段と、サーバ設定ファイル名称設定手段で設定された名称のファイルの解析条件である設定項目を設定するサーバ設定ファイル解析項目設定手段と、サーバ設定ファイル名称設定手段で設定された名称のファイルを、前記サーバ設定ファイル解析項目設定手段で設定された解析条件で解析し、設定項目の設定値を取得するサーバ設定ファイル解析実行手段と、サーバ設定ファイル解析実行手段で取得された設定値を保存するサーバ設定ファイル解析結果記憶手段と、を有する。
【００１３】
この構成により、アプリケーションサーバ毎に取得する設定項目を選択することができる、プログラム抽出手段において実行されるアプリケーション抽出の解析実行範囲を絞り込むことができる。
【００１４】
本発明の実施態様によれば、ファイル抽出手段が、検索範囲となるファイルを設定する検索範囲設定手段と、検索範囲指定手段で設定されたファイルから、ファイルを抽出する条件である抽出キーワードおよび／またはファイルを抽出する条件であるファイル拡張子を設定するファイル抽出条件設定手段と、検索範囲設定手段で設定されたファイルからファイル抽出条件設定手段で設定された条件を満たすファイルの名称を抽出するファイル抽出実行手段と、ファイル抽出実行手段で抽出されたファイルの名称を記憶するファイル名称記憶手段と、を有する。
【００１５】
この構成により、特定の検索範囲を指定して検索を効率的に実行することができ、エンドユーザが入力したデータを処理する際に使用されるプログラム言語仕様で決められた関数名などの文字列を解析の条件とすることで、エンドユーザが入力するデータの項目によらずに、エンドユーザが入力したデータの処理に関わるプログラムファイルを抽出することができ、また、ファイル抽出手段の処理結果をプログラム抽出手段の解析対象として設定することで、プログラム抽出手段の解析範囲を絞り込むことができる。
【００１６】
本発明の実施態様によれば、プログラム抽出手段が、解析対象となるファイルを設定する解析ファイル設定手段と、解析ファイル設定手段で設定されたファイルの解析条件を設定するファイル解析条件設定手段と、解析ファイル設定手段で設定された範囲のファイルに対してファイル解析条件設定手段で設定された条件で検索を行い、協調して動作するアプリケーションプログラムの名称を抽出するファイル解析実行手段と、ファイル解析実行手段で抽出されたアプリケーションプログラムの名称を保存するプログラム名称記憶手段と、を有する。
【００１７】
この構成により、プログラム抽出手段の解析処理を限定して効率的に処理を実行することができ、エンドユーザのデータ入力処理を行うアプリケーションプログラムのファイル、プログラム言語仕様で決められた関数名などの文字列を解析の条件とし、エンドユーザが入力するデータの項目によらずに抽出することができる。
【００１８】
本発明の実施態様によれば、データベース抽出手段が、解析対象となるアプリケーションプログラムを設定するアプリケーションプログラム設定手段と、アプリケーションプログラム設定手段で設定されたアプリケーションプログラムの解析条件を設定するアプリケーションプログラム解析条件設定手段と、アプリケーションプログラム設定手段で設定されたアプリケーションプログラムをアプリケーションプログラム解析条件設定手段で設定された条件で解析し、データの挿入、参照、更新、および削除を行う際に利用するデータベースおよび／またはデータの挿入、参照、更新、および削除を行う際に利用されるファイルの名称を抽出するアプリケーションプログラム解析実行手段と、アプリケーションプログラム解析実行手段で抽出されたデータベースまたはファイルの名称を保存するデータベース名称記憶手段と、を有する。
【００１９】
この構成により、データベース抽出手段の解析範囲を限定して効率的に処理を実行することができ、エンドユーザが入力したデータに基づいてデータの挿入、参照、更新、および削除の際に利用するデータベースおよび／またはデータの挿入、参照、更新、および削除の際に利用するファイルを、プログラム言語仕様で決められた関数名などの文字列を解析の条件とし、抽出することができる。
【００２０】
本発明の実施態様によれば、入出力管理手段が、設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段それぞれの入力データを設定し、設定ファイル解析手段、およびファイル抽出手段、プログラム抽出手段、データベース抽出手段の出力データを取得するデータ取得設定手段と、設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段の入出力データの取得と設定の処理シーケンスを管理する管理手段と、を有する。
【００２１】
この構成により、設定ファイル解析手段の出力データをファイル抽出手段の入力データとして用いることができ、ファイル抽出手段の出力データをプログラム抽出手段の入力データとして用いることができ、プログラム抽出手段の出力データをデータベース抽出手段の入力データとして用いることができ、また、通信回線を介して接続された複数の異なる本発明の情報抽出装置と、設定ファイル解析手段、ファイル抽出手段、プログラム抽出手段、およびデータベース抽出手段それぞれの入出力データをやり取りすることができ、通信回線を介して接続された複数のウェブサーバ、複数のデータベースサーバ、および複数のファイルサーバにより構成されたシステムで、エンドユーザが入力を行ったデータがシステムのどの装置上のどのファイルもしくはデータベースにどのプログラムの処理によって保存されているかを抽出でき、また、エンドユーザが入力したデータをもとにして挿入、参照、更新、および削除の際に利用されるデータベースおよび／または挿入、参照、更新、および削除の際に利用されるファイルがシステムのどの装置上のどのファイルもしくはデータベースにどのプログラムの処理によって挿入、参照、更新、および削除されるかを抽出することができる。
【発明の効果】
【００２２】
本発明は、エンドユーザが入力したデータがサーバもしくは複数のサーバで構成されたシステム上のどのデータベースやファイルに保存されているのかをエンドユーザが入力したデータの項目や内容等に関連するキーワードなどを用いることなく抽出すること、また、エンドユーザが入力したデータがデータベースやファイル上で暗号化されて保存されている場合にも抽出すること、および、エンドユーザが入力したデータの処理に関わるファイルやプログラムを把握しセキュリティ対策の参考情報を提供することができる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の実施の形態について図面を参照して説明する。
【００２４】
図１は、本発明の一実施の形態による情報抽出装置１の構成を示すブロック図である。
【００２５】
情報抽出装置１は、設定ファイル解析部１０と、ファイル抽出部２０と、プログラム抽出部３０と、データベース抽出部４０と、入出力管理部５０と、を有する。
【００２６】
設定ファイル解析部１０は、解析対象のアプリケーションサーバが使用するコンフィギュレーションファイルの名称であるファイルシステムにおけるパスが設定されるサーバ設定ファイル名称設定部１１と、サーバ設定ファイル名称設定部１１に設定されたファイルから抽出すべき設定項目が設定されるサーバ設定ファイル解析項目設定部１２と、サーバ設定ファイル名称設定部１１に設定されたファイルを解析してサーバ設定ファイル解析項目設定部１２に設定された設定項目の値を抽出するサーバ設定ファイル解析実行部１３と、サーバ設定ファイル解析実行部１３によって抽出された値を記憶するサーバ設定ファイル解析結果記憶部１４と、を有する。
【００２７】
ここで、サーバ設定ファイル解析項目設定部１２に設定される設定項目は、アプリケーションサーバのコンフィギュレーションファイルで設定可能な項目であれば何でもよい。例えば、解析対象のアプリケーションサーバがウェブサーバの場合に、ウェブサーバの公開ディレクトリなどがある。また、それらの項目を設定する際には、コンフィギュレーションファイル上で当該の項目を設定する際に使用される文字列や記号などを用いる。
【００２８】
サーバ設定ファイル解析実行部１３は、サーバ設定ファイル名称設定部１１に設定されたファイルから、サーバ設定ファイル解析項目設定部１２で設定された設定項目の設定値を、アプリケーションサーバ毎のコンフィギュレーションファイル設定様式に従い抽出する。
【００２９】
サーバ設定ファイル解析結果記憶部１４は、サーバ設定ファイル解析実行部１３によって抽出された値を記憶する。
【００３０】
ファイル抽出部２０は、解析対象とするファイルの範囲を設定する検索範囲設定部２１と、検索範囲設定部２１に設定された範囲に含まれるファイルから特定の条件を満たすファイルを抽出するための検索条件が設定されるファイル抽出設定部２２と、検索範囲設定部２１に設定されたファイルからファイル抽出設定部２２に設定された条件を満たすファイルを抽出するファイル抽出実行部２３と、ファイル抽出実行部２３によって抽出されたファイルの名称を記憶するファイル名称記憶部２４とを有している。
【００３１】
ここで、検索範囲設定部２１には、例えば、ファイルシステムの、ディレクトリのパスおよび／またはディレクトリのパスの集合などが該当する。
【００３２】
ファイル抽出設定部２２は、検索範囲設定部２１に設定された範囲に含まれるファイルを再帰的に検索し、当該のファイルからエンドユーザからの入力を受付けているものを抽出するための検索条件が設定されるものであり、検索条件としては、ファイルが１つもしくは複数の異なる文字列を含む、ファイル名称に特定の拡張子を含む、ファイルが１つもしくは複数の異なる文字列を含むとともにファイル名称に特定の拡張子が含まれているなど、ファイル中に含まれる文字列、およびファイルの名称に含まれる拡張子によって論理積や論理和で表現される。
【００３３】
ファイル抽出実行部２３は、検索範囲設定部２１に設定された範囲のファイルから、ファイル抽出設定部２２に設定された条件を満たすファイルを再帰的に検索し、条件を満たすファイルの名称を抽出する。
【００３４】
ファイル名称記憶部２４は、ファイル抽出実行部２３によって抽出されたファイルの名称を記憶する。
【００３５】
プログラム抽出部３０は、解析対象のファイルの名称が設定される解析ファイル設定部３１と、解析ファイル設定部３１に設定されたファイルから呼び出されるアプリケーションプログラムのファイル名を抽出するためのキーワードが設定されるファイル解析条件設定部３２と、解析ファイル設定部３１に設定されたファイルからファイル解析条件設定部３２で設定された条件を満たすファイルの名称を抽出するファイル解析実行部３３と、ファイル解析実行部３３によって抽出されたアプリケーションプログラムのファイルの名称を記憶するプログラム名称記憶部３４とを有している。
【００３６】
ここで、ファイル設定部３１には、ファイルシステム上でのファイルの名称を表すパス、または複数のファイルを表すパスの集合などが該当する。
【００３７】
ファイル解析条件設定部３２は、ファイル設定部３１に設定されたファイルの内容を解析し、当該のファイルからエンドユーザが入力したデータの処理を行うために呼び出すプログラムのファイルの名称を抽出するためのキーワードを設定するものであり、ファイル設定部３１で設定されたファイルで使用されているプログラミング言語が外部のプログラムファイルを呼び出す際に使用する関数名や記述形式を表現するための、文字列および／または条件式などが該当する。
【００３８】
ファイル解析実行部３３は、解析ファイル設定部３１に設定されたファイルからファイル解析条件設定部３２で設定されたや条件の基で呼び出される外部のプログラムファイルの名称を抽出する。
【００３９】
プログラム名称記憶部３４は、ファイル解析実行部３３で抽出された外部のプログラムファイルの名称を記憶する。
【００４０】
データベース抽出部４０は、解析対象のアプリケーションプログラムの名称が設定されるアプリケーションプログラム設定部４１と、アプリケーションプログラム設定部４１に設定されたファイルがデータの挿入、参照、更新、および削除を行う際に利用するデータベースやファイルの名称を抽出するためのキーワードを設定するアプリケーションプログラム解析条件設定部４２と、アプリケーションプログラム設定部４１に設定されたファイルからアプリケーションプログラム解析条件設定部４２で設定された条件を満たす、データベースおよび／またはファイルの名称を抽出するアプリケーションプログラム解析実行部４３と、アプリケーションプログラム解析実行部４３によって抽出された、データベースおよび／またはファイルの名称を記憶するデータベース名称記憶部４４とを有する。
【００４１】
ここで、アプリケーションプログラム設定部４１には、ファイルシステム上でのファイルの名称を表すパスや、複数のパスの集合などが該当する。
【００４２】
アプリケーションプログラム解析条件設定部４２は、アプリケーションプログラム設定部４１に設定されたプログラムファイルの内容を解析し、当該のプログラムファイルがエンドユーザが入力したデータに基づいてデータの挿入、参照、更新、および削除などを行う際に利用するデータベースやファイルの名称を抽出するためのキーワードを設定するものであり、当該の、プログラムファイルで使用されているプログラミング言語でデータベースに接続し、挿入、参照、更新、および削除などの処理を行う際に利用される関数名や記述形式などの文字列、および当該のプログラムファイルで使用されているプログラミング言語でファイルの挿入、参照、更新、および削除などの処理を行う際に利用される関数名や、記述形式などの文字列が該当する。
【００４３】
アプリケーションプログラム解析実行部４３は、アプリケーションプログラム設定部４１に設定されたファイルからアプリケーションプログラム解析条件設定部４２に設定された関数名や記述形式に基づいて利用されている、データベースおよび／またはファイルの名称を抽出する処理を行う。
【００４４】
データベース名称記憶部４４は、アプリケーションプログラム解析実行部４３で抽出されたデータベースやファイルの名称を記憶する。
【００４５】
入出力管理部５０は、サーバ設定ファイル名称設定部１１、検索範囲設定部２１、解析ファイル設定部３１、アプリケーションプログラム設定部４１、およびデータ取得設定部５１への値の設定、および、サーバ設定ファイル解析結果記憶部１４、ファイル名称記憶部２４、プログラム名称記憶部３４、およびデータベース名称記憶部４４の値を取得するデータ取得設定部５１と、サーバ設定ファイル名称設定部１１、検索範囲設定部２１、解析ファイル設定部３１、アプリケーションプログラム設定部４１、データ取得設定部５１、アプリケーションプログラム設定部４１への値の設定、およびサーバ設定ファイル解析結果記憶部１４、ファイル名称記憶部２４、プログラム名称記憶部３４、データベース名称記憶部４４からの値の取得をどのような順序で行うかを管理する管理部５２と、を有する。
【００４６】
ここで、データ取得設定部５１は、管理部５２の管理する処理順序に従い、同一もしくは通信回線を介して接続された複数の異なる情報抽出装置の設定ファイル解析部１０、ファイル抽出部２０、プログラム抽出部３０、およびデータベース抽出部４０に対してデータの取得や設定を行う機能を有する。
【００４７】
管理部５２は、データ取得設定部５１の処理順序を示す記憶域を有し、該記憶域は処理順序を示すための識別子と、設定対象の情報抽出装置の識別情報と、サーバ設定ファイル名称設定部１１、検索範囲設定部２１、解析ファイル設定部３１、アプリケーションプログラム設定部４１、データ取得設定部５１、アプリケーションプログラム設定部４１への値の設定やサーバ設定ファイル解析結果記憶部１４、ファイル名称記憶部２４、プログラム名称記憶部３４、およびデータベース名称記憶部４４、およびユーザ入出力のいずれに対して処理を行うか識別する情報と、を記憶する領域、また、設定ファイル解析部１０、ファイル抽出部２０、プログラム抽出部３０、データベース抽出部４０に対して処理の実行を命令する機能と、データ取得設定部５１に対して値の取得と設定の実行を命令する機能と、を有する。
【００４８】
次に、情報記憶装置１の動作を説明する。
【００４９】
図２は、設定ファイル解析部１０、ファイル抽出部２０、プログラム抽出部３０、データベース抽出部４０が連携してファイル名を抽出する動作を示すフローチャートである。
【００５０】
まず、不図示の入力装置やプログラムを介してデータベースもしくはファイル名の抽出要求が入力されると、管理部５２が設定ファイル解析部１０に対して処理の開始を通知し（ステップ１０１）、ファイル解析部１０の処理が開始され（ステップ１０２）、処理が完了すると管理部５２へ処理の完了が通知される（ステップ１０３）。
【００５１】
管理部５２は、設定ファイル解析部１０から処理完了通知を受け取ると、データ取得設定部５１に対してサーバ設定ファイル解析結果記憶部１４の結果を取得し検索範囲設定部２１へ値の設定を行う処理の実行を命令し（ステップ１０４）、命令を受けたデータ取得設定部５１は、処理を実行し（ステップ１０５）、処理が完了すると管理部５２へ処理完了が通知される（ステップ１０６）。
【００５２】
管理部５２は、データ取得設定部５１から処理完了通知を受け取ると、ファイル抽出部２０に対して処理の開始を通知し（ステップ１０７）、ファイル抽出部２０の処理が開始され（ステップ１０８）、処理が完了すると管理部５２へ処理の完了が通知される（ステップ１０９）。
【００５３】
管理部５２は、ファイル抽出部２０から処理完了通知を受け取ると、データ取得設定部５１に対してファイル名称結果記憶部２４の結果を取得し解析ファイル設定部３１へ値の設定を行う処理の実行を命令し（ステップ１１０）、命令を受けたデータ取得設定部５１は、処理を実行し（ステップ１１１）、処理が完了すると管理部５２へ処理完了が通知される（ステップ１１２）。
【００５４】
管理部５２は、データ取得設定部５１から処理完了通知を受け取ると、プログラム抽出部３０に対して処理の開始を通知し（ステップ１１３）、プログラム抽出部３０の処理が開始され（ステップ１１４）、処理が完了すると、管理部５２へ処理の完了が通知される（ステップ１１５）。
【００５５】
管理部５２は、プログラム抽出部３０から処理完了通知を受け取ると、データ取得設定部５１に対してプログラム名称結果記憶部３４の結果を取得しアプリケーションプログラム設定部４１へ値の設定を行う処理の実行を命令し（ステップ１１６）、命令を受けたデータ取得設定部５１は処理を実行し（ステップ１１７）、処理が完了すると管理部５２へ処理完了が通知される（ステップ１１８）。
【００５６】
管理部５２は、データ取得設定部５１から処理完了通知を受け取ると、データベース抽出部４０に対して処理の開始を通知し（ステップ１１９）、データベース抽出部４０の処理が開始され（ステップ１２０）、処理が完了すると管理部５２へ処理の完了が通知される（ステップ１２１）。
【００５７】
管理部５２は、データベース抽出部４０から処理完了通知を受け取ると、データ取得設定部５１に対してデータベース名称結果記憶部４４の結果を取得し、結果を出力するように命令し（ステップ１２２）、命令を受けたデータ取得設定部５１は、処理を実行しデータをファイルや標準出力に出力し（ステップ１２３）、処理が完了すると管理部５２へ処理完了が通知される（ステップ１２４）。
【００５８】
管理部５２は、データ取得設定部５１から処理完了通知を受け取ると、不図示の出力装置またはプログラムに対して処理の完了を通知し処理を終える。
【００５９】
図３は、設定ファイル解析部１０の動作を示すフローチャートである。
【００６０】
管理部５２より処理実行の命令を受けると、設定ファイル解析部１０は、サーバ設定ファイル名称設定部１１を参照し、ファイル名称（例えばファイルシステムにおける絶対パス）が設定されているかいないかの判断を実行し（ステップ２０１）、ファイル名が設定されているサーバ設定ファイル解析項目設定部１２を参照し、解析項目（例えばウェブサーバにおける公開ディレクトリやＣＧＩプログラムを保存するためのディレクトリなどを設定するための文字列）が設定されているかいないかの判断を実行し（ステップ２０２）、値が設定されている場合には、サーバ設定ファイル解析実行部１３がファイルから指定された項目の設定値（例えばウェブサーバにおける公開ディレクトリの絶対パスやＣＧＩプログラムを保存するディレクトリの絶対パス）を抽出し（ステップ２０３）、サーバ設定ファイル解析結果記憶部１４に設定値を保存し（ステップ２０４）、管理部５２へ設定ファイル解析部１０の処理が完了したことを通知する（ステップ２０５）。
【００６１】
サーバ設定ファイル名称設定部１１にファイル名称が設定されていない場合（ステップ２０１）、もしくはサーバ設定ファイル解析項目設定部１２に抽出する項目が設定されていない場合（ステップ２０２）は、管理部５２に対して値が設定されていないことを通知し（ステップ２０６）、処理を完了する。
【００６２】
図４は、ファイル抽出部２０の動作を示すフローチャートである。
【００６３】
管理部５２より、処理実行の命令を受けると、ファイル抽出部２０は、検索範囲設定部２１を参照し、検索対象とするファイルの範囲（例えばファイルシステム上でディレクトリを表すパス、もしくは複数のディレクトリの集合など）が設定されているかいないかの判断を実行し（ステップ３０１）、値が設定されている場合には、ファイル抽出設定部２２を参照し、ファイルの抽出条件（例えば特定のファイル拡張子がつけられたファイルや、ファイルの本文に特定の文字列もしくは特定の文字列の集合、ファイル名の拡張子と本文中に含まれる文字列の組み合わせなど）が設定されているかいないかの判断を実行し（ステップ３０２）、値が設定されている場合には、ファイル抽出実行部２３が検索範囲設定部２１で指定された範囲のファイルから、ファイル抽出設定部２２で設定された条件を満たすファイルの名称（ファイルシステム内におけるパスおよび複数ファイルの場合はパスの集合）を抽出し（ステップ３０３）、ファイル名称結果記憶部２４に設定値を保存し（ステップ３０４）、管理部５２へファイル抽出部２０の処理が完了したことを通知する（ステップ３０５）。
【００６４】
検索範囲設定部２１に検索対象とするファイルの範囲が設定されていない場合（ステップ３０１）、もしくはファイル抽出設定部２２にファイルの抽出条件が設定されていない場合（ステップ３０２）は、管理部５２に対して値が設定されていないことを通知し（ステップ３０６）、処理を完了する。
【００６５】
図５は、プログラム抽出部３０の動作を示すフローチャートである。
【００６６】
管理部５２より処理実行の命令を受けると、プログラム抽出部３０は、解析ファイル設定部３１を参照し、解析対象とするファイルの名称（例えばファイルシステムにおけるファイルのパスやファイルのパスの集合など）が設定されているかいないかの判断を実行し（ステップ４０１）、値が設定されている場合には、ファイル解析条件設定部３２を参照し、プログラムの解析条件（例えば、特定の言語で外部のファイルを参照、もしくは、外部のファイルとデータの授受を行う際に使用される関数の名称、およびその関数に渡される引数を抽出するなど。）が設定されているかいないかの判断を実行し（ステップ４０２）、解析条件が設定されている場合には、ファイル解析実行部３３が解析ファイル設定部３１で指定されたファイルから、ファイル解析条件設定部３２で設定された文字列の組み合わせ（例えばプログラム言語における関数名とその引数など）を抽出し（ステップ４０３）、プログラム名称記憶部３４に解析対象のファイル名、抽出された文字列を保存し（ステップ４０４）、管理部５２へファイル抽出部２０の処理が完了したことを通知する（ステップ４０５）。
【００６７】
解析ファイル設定部３１に解析対象とするファイルの名称が設定されていない場合（ステップ４０１）、もしくはファイル抽出設定部２２にファイルの抽出条件が設定されていない場合（ステップ４０２）は、管理部５２に対して値が設定されていないことを通知し（ステップ４０６）、処理を完了する。
【００６８】
図６は、データベース抽出部４０の動作を示すフローチャートである。
【００６９】
管理部５２より処理実行の命令を受けると、データベース抽出部４０は、アプリケーションプログラム設定部４１を参照し、解析対象とするアプリケーションプログラムファイルの名称（例えばファイルシステムにおけるファイルのパスやファイルのパスの集合など）が設定されているかいないかの判断を実行し（ステップ５０１）、値が設定されている場合には、アプリケーションプログラム解析条件設定部４２を参照し、プログラムの解析条件（例えば、特定の言語で外部のファイルやデータベースを参照、もしくは、外部のファイルやデータベースとデータの送受信を行う際に使用される関数の名称、およびその関数に渡される引数を抽出するなど。）が設定されているかいないかの判断を実行し（ステップ５０２）、解析条件が設定されている場合には、アプリケーションプログラム解析実行部４３がアプリケーションプログラム設定部４１で指定されたファイルから、アプリケーションプログラム解析条件設定部４２で設定された文字列の組み合わせ（例えばプログラム言語における関数名とその引数など）を抽出し（ステップ５０３）、データベース名称記憶部４４に解析対象のファイル名、抽出された文字列を保存し（ステップ３０４）、管理部５２へデータベース抽出部４０の処理が完了したことを通知する（ステップ５０５）。
【００７０】
アプリケーションプログラム設定部４１に解析対象とするアプリケーションプログラムの名称が設定されていない場合（ステップ５０１）、もしくはアプリケーションプログラム解析条件設定部４１にファイルの抽出条件が設定されていない場合（ステップ５０２）は、管理部５２に対して値が設定されていないことを通知し（ステップ５０６）、処理を完了する。
【００７１】
なお、情報処理装置１の機能は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００７２】
また、以上で説明した情報抽出装置１の各構成要素を複数の異なる情報抽出装置に配置し、設定ファイル解析部１０、ファイル抽出部２０、プログラム抽出部３０、およびデータベース抽出部４０それぞれの処理を、通信回線を介して接続した複数の情報抽出装置で実行するようにしてもよい。
【００７３】
また、以上で説明した情報抽出装置１の設定ファイル解析部１０、ファイル抽出部２０、プログラム抽出部３０、およびデータベース抽出部４０の処理を管理部に命令を与えることでいずれかの手段を繰り返す、もしくはいずれかの手段を省略するなどして実行するようにしてもよい。
【００７４】
なお、本実施形態において、情報抽出装置１は、サーバ設定ファイル名称設定部１１やサーバ設定ファイル解析結果記憶部１４や検索範囲設定部２１やファイル名称記憶部２４や解析ファイル設定部３１やプログラム名称記憶部３４やアプリケーションプログラム設定部４１やデータベース名称記憶部４４に読み書きされる情報を一時的に記憶するキャッシュ、等を備えることもできるが、説明を分かりやすくするために説明を省略している。
【００７５】
以上説明したように、本実施形態によれば、ユーザが入力したデータが保存されている、データベースおよび／またはファイルの名称の抽出要求があった場合に、プログラム言語使用で決められた関数名や、ファイルシステムにおけるパス名など、ユーザが入力するデータによらない値を用いてユーザが入力するデータが保存されている、データベースおよび／またはファイルの名称を抽出することができる。
【００７６】
また、本実施形態によれば、ユーザが入力したデータが保存されている、データベースおよび／またはファイルの名称の抽出要求があった場合に、プログラム言語仕様で決められた関数名や、ファイルシステムにおけるパス名などを用いてユーザが入力するデータが保存されているデータベース、および／またはファイルの名称を抽出するため、ユーザの入力したデータが暗号化されて保存されている場合にもその保存場所を抽出することができる。
【００７７】
また、本実施形態によれば、ユーザが入力したデータが保存されているデータベース、および／またはファイルの名称の抽出要求があった場合に、該データベースおよび／またはファイルのデータの挿入、参照、更新、削除などを行うプログラム、およびそのプログラムを呼び出すプログラムとプログラム間の構造を把握することができるため、システムへのセキュリティ対策に有効な情報が得られる。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施の形態による情報抽出装置の構成を示すブロック図である。
【図２】図１の情報抽出装置の動作を示すフローチャートである。
【図３】図１の情報抽出装置の設定ファイル解析部の動作を示すフローチャートである。
【図４】図１の情報抽出装置のファイル抽出部の動作を示すフローチャートである。
【図５】図１の情報抽出装置のプログラム抽出部の動作を示すフローチャートである。
【図６】図１の情報抽出装置のデータベース抽出部の動作を示すフローチャートである。
【符号の説明】
【００７９】
１      情報抽出装置
１０    設定ファイル解析部
１１    サーバ設定ファイル名称設定部
１２    サーバ設定ファイル解析項目設定部
１３    サーバ設定ファイル解析実行部
１４    サーバ設定ファイル解析結果記憶部
２０    ファイル抽出部
２１    検索範囲設定部
２２    ファイル抽出設定部
２３    ファイル抽出実行部
２４    ファイル名称記憶部
３０    プログラム抽出部
３１    解析ファイル設定部
３２    ファイル解析条件設定部
３３    ファイル解析実行部
３４    プログラム名称記憶部
４０    データベース抽出部
４１    アプリケーションプログラム設定部
４２    アプリケーションプログラム解析条件設定部
４３    アプリケーションプログラム解析実行部
４４    データベース名称記憶部
５０    入出力管理部
５１    データ取得設定部
５２    管理部
【図１】
2006072628.tif 000003
【図２】
2006072628.tif 000004
【図３】
2006072628.tif 000005
【図４】
2006072628.tif 000006
【図５】
2006072628.tif 000007
【図６】
2006072628.tif 000008