(57)【要約】【課題】  想定される攻撃手法を網羅的にカバーすることに適したセキュリティ管理システムを実現することを目的とする。【解決手段】  セキュリティ管理装置は、パラメータ名と検査項目との対応関係を定義した設定ファイルを記憶する記憶手段と、検査対象となるパラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて前記記憶手段に記憶された設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定手段と、  前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する実行手段と、を備える。【選択図】  図１
2005134995.tif 000002
【特許請求の範囲】
【請求項１】
パラメータ名と検査項目との対応関係を定義した設定ファイルを記憶する記憶手段と、
検査対象となるパラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて前記記憶手段に記憶された設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定手段と、
前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する実行手段と、
を備えることを特徴とするセキュリティ管理装置。
【請求項２】
前記記憶手段は、各検査項目がそれぞれ保有する危険データを定義した検査ファイルを記憶し、
前記実行手段は、前記特定手段が特定した検査項目が保有する危険データが、前記パラメータの値に含まれているか否かを判断することを特徴とする請求項１記載のセキュリティ管理装置。
【請求項３】
前記実行手段は、前記特定手段が特定した検査項目に該当する検査処理を担うモジュールを用いて、前記パラメータの値に危険データが含まれるか否かを判断することを特徴とする請求項１記載のセキュリティ管理装置。
【請求項４】
前記記憶手段は、前記設定ファイルを複数記憶し、
前記特定手段は、パラメータが指定されると、前記記憶手段に記憶された設定ファイル中から所定の条件に合致する設定ファイルを特定し、前記指定されたパラメータのパラメータ名に基づいてこの特定した設定ファイルを参照することを特徴とする請求項１乃至３いずれか１項に記載のセキュリティ管理装置。
【請求項５】
パラメータ名毎に実行すべき検査項目の指定を受け付け、この指定された検査項目とパラメータ名とを関連付けた設定ファイルを設定する設定手段をさらに備えることを特徴とする請求項１乃至４いずれか１項に記載のセキュリティ管理装置。
【請求項６】
設定ファイルの出力指示を受け付けると、パラメータ名と各検査項目のそれぞれの対応関係を示す対応表を出力する出力手段をさらに備えることを特徴とする請求項１乃至４いずれか１項に記載のセキュリティ管理装置。
【請求項７】
サーバに所定の機能を実現させるプログラムであって、
パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定機能と、
前記特定した検査項目に該当する処理を前記パラメータに対して実行する実行機能と、をサーバに実現させることを特徴とするプログラム。
【請求項８】
前記実行機能は、前記特定した検査項目に基づいて、前記記憶手段に記憶された各検査項目がそれぞれ保有する危険データを定義した検査ファイルを参照し、前記特定した検査項目が保有する危険データを特定し、この特定した危険データが前記パラメータの値に含まれているか否かを判断する機能であることを特徴とする請求項７記載のプログラム。
【請求項９】
パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する工程と、
前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する工程と、
を実行することを特徴とするセキュリティ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークのセキュリティシステムに関し、特に、ネットワークに接続されたアプリケーションのセキュリティをより効率的に管理するためのセキュリティ管理システムの技術に関する。
【背景技術】
【０００２】
近年、悪意を持った第三者によるコンピュータネットワークへの様々な攻撃手法の登場に伴い、コンピュータネットワークに対するセキュリティシステムが重要な問題となっている。そのため、ネットワークに接続するシステムを構築する際、システムの設計者や開発者は、これら第三者によるあらゆる攻撃手法を想定し、それらの概要を把握した上で、強固なセキュリティシステムを構築することが要求される。コンピュータネットワークのセキュリティシステムとしては、例えば、特開２００２−３２８８９７号公報（特許文献１）などの文献に記載されている。
【特許文献１】特開２００２−３２８８９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年では、ネットワークに接続されたアプリケーションも攻撃の対象となっており、上述したように、強固なセキュリティシステムを構築するためには、第三者によるあらゆる攻撃手法を想定した上で、その対応をシステムに組み込む必要がある。しかし、ネットワークに接続されたアプリケーションに対する攻撃手法は、世界中に存在するとともに次々に新たな攻撃手法が登場している。よって、システム設計者や管理者が、これらの攻撃手法に関するすべての情報を収集するためには、多大な労力と時間を費やさなければならないとともに、多大な労力をかけずに全ての攻撃手法を網羅的にカバーするようなセキュリティ対策を講じることは、非常に困難であった。
【０００４】
また、システムを有効に維持するためには、常に、有効なセキュリティ対策が行われているか否かを確認する必要がある。しかし、従来のセキュリティ対策は、不正行為を防止するための各ロジックをそれぞれのプログラム中に埋め込むかたちで行われていたため、プログラム単位でセキュリティ対策レベルが異なるという事態が発生し、セキュリティの品質を一様に保つことができないという問題があった。また、システム管理者が、セキュリティ対策をプログラムレベルで確認することは困難であり、セキュリティ対策レベルを一元管理することができない、各プログラムの対策の中身を容易に把握することができない（例えば、どの攻撃手法がカバーされていて、どの攻撃手法がカバーされていないか）、という問題が生じていた。
【０００５】
また、ネットワークに接続されたアプリケーションのセキュリティ対策レベルは、システム設計者のスキルに依存している部分が多いため、システム設計者のスキルに応じてセキュリティ対策レベルが高くなる場合もあれば低くなる場合もある。しかし、システムを有効に維持するためには、システム設計者のスキルにかかわらず、一貫してセキュリティ対策レベルの精度を高く維持することが要求される。
【０００６】
そこで、本願発明は、想定される攻撃手法を網羅的にカバーすることに適したセキュリティ管理システムを実現することを課題とする。
【０００７】
また、本願発明は、セキュリティ対策の状況を容易に把握することが可能なセキュリティ管理システムを実現することを課題とする。
【０００８】
また、本願発明は、システム設計者のスキルにかかわらずセキュリティ対策レベルの精度を高く維持することが可能なセキュリティ管理システムを実現することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本願発明のセキュリティ管理装置は、パラメータ名と検査項目との対応関係を定義した設定ファイルを記憶する記憶手段と、検査対象となるパラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて前記記憶手段に記憶された設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定手段と、前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する実行手段と、を備える。
【００１０】
また、上記セキュリティ管理装置は、以下の構成を適宜備えることができる。
【００１１】
すなわち、前記記憶手段は、各検査項目がそれぞれ保有する危険データを定義した検査ファイルを記憶し、前記実行手段は、前記特定手段が特定した検査項目が保有する危険データが、前記パラメータの値に含まれているか否かを判断することを特徴とする。
【００１２】
なお、危険データとは、サーバ側が意図しない処理をサーバやクライアントに実行させる可能性があるデータで、記号や数値や文字などから構成される定義済みデータのことである。
【００１３】
前記実行手段は、前記特定手段が特定した検査項目に該当する検査処理を担うモジュールを用いて、前記パラメータの値に危険データが含まれるか否かを判断することを特徴とする。
【００１４】
前記記憶手段は、前記設定ファイルを複数記憶し、前記特定手段は、パラメータが指定されると、前記記憶手段に記憶された設定ファイル中から所定の条件に合致する設定ファイルを特定し、前記指定されたパラメータのパラメータ名に基づいてこの特定した設定ファイルを参照することを特徴とする。
【００１５】
パラメータ名毎に実行すべき検査項目の指定を受け付け、この指定された検査項目とパラメータ名とを関連付けた設定ファイルを設定する設定手段をさらに備えることを特徴とする。
【００１６】
設定ファイルの出力指示を受け付けると、パラメータ名と各検査項目のそれぞれの対応関係を示す対応表を出力する出力手段をさらに備えることを特徴とする。
【００１７】
また、本願発明は、セキュリティ管理プログラムとしても成立する。具体的には、サーバに所定の機能を実現させるプログラムであって、パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定機能と、前記特定した検査項目に該当する処理を前記パラメータに対して実行する実行機能と、をサーバに実現させるプログラムである。
【００１８】
前記実行機能は、前記特定した検査項目に基づいて、前記記憶手段に記憶された各検査項目がそれぞれ保有する危険データを定義した検査ファイルを参照し、前記特定した検査項目が保有する危険データを特定し、この特定した危険データが前記パラメータの値に含まれているか否かを判断する機能であることを特徴とする。
【００１９】
また、本願発明は、セキュリティ管理方法としても成立する。具体的には、パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する工程と、前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する工程と、を実行することを特徴とする。
【００２０】
本発明のセキュリティ管理方法は、コンピュータにより実施することができるが、そのためのコンピュータプログラムは、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。また、コンピュータプログラムが、プリンタ用カードやプリンタ用オプションボードに記録されて流通する場合も含む。
【発明の効果】
【００２１】
本発明によれば、設定ファイルを参照することにより、プログラムレベルでセキュリティ対策の状況を容易に把握することが可能になる。また、本発明によれば、設定ファイルを利用することで、システム設計者のスキルにかかわらず一貫してセキュリティレベルの精度を高く維持することが可能になる。また、本発明によれば、設定ファイルを利用することで、想定される攻撃手法を網羅的にカバーすることに適したセキュリティ管理システムを実現することが可能になる。
【発明を実施するための最良の形態】
【００２２】
（セキュリティ管理システムの構成）
まず、図１乃至図３を用いて、本実施形態のセキュリティ管理システムの構成について説明する。図１は、本実施形態に係るセキュリティ管理システムの概略構成を示すブロックダイアグラムである。図２は、本実施形態に係るサーバのハードウェア構成を示すブロック図である。図３は、本実施形態のサーバの機能構成図を示すブロック図である。
【００２３】
図１に示すように、セキュリティ管理システム１００は、典型的には、インターネット上のＷＷＷシステムを利用したクライアント／サーバシステムとして実現される。
【００２４】
サーバシステム１は、Ｗｅｂサーバプログラム１１、Ｗｅｂページ１２、ＣＧＩプログラム（スクリプト）１３、記憶装置１４、セキュリティ管理プログラム１５およびプリンタ１６を備える。クライアントシステム２には、サーバシステム１にアクセスし、Ｗｅｂページ１２を閲覧するためのブラウザプログラム２１が実装されている。
【００２５】
サーバ１は、アプリケーションブロック３とセキュリティ管理ブロック４を備える。アプリケーションブロックは、Ｗｅｂサーバプログラム１１、Ｗｅｂページ１２、ＣＧＩプログラム（スクリプト）１３、記憶装置１４から構成され、仕様に応じた各種Ｗｅｂサイト（たとえば、会員サービスサイトや商品販売サイトなどの各種サイトなど）をユーザに提供する。セキュリティ管理ブロック４は、おもにセキュリティ管理プログラム１５によって構成され、アプリケーションブロック３から必要に応じて利用されるライブラリとして機能する。
【００２６】
Ｗｅｂサーバプログラム１１は、ユーザのクライアントコンピュータ２から送られるＨＴＴＰによるメッセージを受け付けて、そのメッセージに対応した処理を行う。例えば、Ｗｅｂサーバプログラム１１は、ＵＲＬによって指定されるＷｅｂページにアクセスするためのメッセージであると判断する場合には、そのユーザのクライアントコンピュータ２にそのＷｅｂページを提供する。Ｗｅｂサーバプログラム１１は、典型的には、ｈｔｔｐｄと呼ばれるデーモンプログラムとしてサーバシステム１に実装される。
【００２７】
Ｗｅｂページ１２は、例えばＨＴＭＬなどを用いて設計される、ユーザに提供すべき画面を構成するドキュメントデータである。Ｗｅｂページは、サイトの仕様に応じた内容のものを使用することができる。また、Ｗｅｂページは、静的なデータとして予め用意されているものの他、ＣＧＩプログラム１３などによって動的に生成されるものが該当する。
【００２８】
ＣＧＩプログラム１３は、Ｗｅｂサーバプログラム１１がＨＴＴＰにより特定のメッセージを受け付けた場合に、実行されるプログラムである。ＣＧＩプログラム１３は、典型的にはＰｅｒｌやＣ＋＋などのプログラム言語により記述される。ＣＧＩプログラムが、サイトの仕様に応じた各種指示を対話的に受け付けて、この指示に基づく処理機能をサーバ１に実現させる。
【００２９】
記憶装置１４は、サイトの仕様に応じた各種データを蓄積している。たとえば、会員サービスサイトの場合には会員情報を蓄積し、商品販売サイトの場合は、商品情報を蓄積している。
【００３０】
セキュリティ管理プログラム１５は、ＣＧＩプログラム１３が、検査対象となるメッセージを受け付けた場合に、実行されるプログラム（ライブラリ）である。セキュリティ管理プログラム１５は、典型的にはＰｅｒｌやＣ＋＋などのプログラム言語により記述される。
【００３１】
たとえば、本実施形態にかかるサーバ１は、上述したようにＣＧＩプログラム１３などによってＷｅｂページを動的生成する機能を備える。しかし、たとえば外部から送られる入力データに悪意あるスクリプトが含まれている場合に、そのまま悪意あるスクリプトを埋め込んだＷｅｂページを生成してしまうと、そのスクリプトを実行したクライアント側では、情報が漏洩したり、ファイルが破壊されたりといった被害が発生する。
【００３２】
そこで、セキュリティ管理プログラム１５は、入力データに危険なデータが含まれているか否かを検査し、危険なデータが含まれている場合には、その旨をＣＧＩプログラム１３に通知することによって、外部からの攻撃をブロックするように構成されている。
【００３３】
プリンタ１６は、システム管理者等の指示にしたがって、記憶装置１４の設定ファイルの内容を、所定の印刷媒体に印刷する。
【００３４】
図２は、本実施形態に係るサーバのハードウェア構成を示すブロック図である。セキュリティ管理装置としてのサーバ１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、外部記憶装置、ユーザインタフェース、ディスプレイ、プリンタ、および通信インタフェースなどを備える。図３では、サーバ１のうち、特に本発明に関連する機能に着目し、それらを機能ブロックによって表現している。本実施形態では、ＣＰＵが、ＲＯＭ、ＲＡＭ、外部記憶装置などに記憶されたプログラムを実行することによりこれら機能実現手段を実現することを想定しているが、一部が専用のハードウェアを用いて実現する構成としてもよい。
【００３５】
図３は、本実施形態のサーバの機能構成図を示すブロック図である。アプリケーション手段（アプリケーションブロック）３は、サイトの仕様に応じた処理を実行するために必要な通常の機能として、クライアントから送信される所定の要求を受け付ける要求受付手段３０と、所定の要求に応じた処理を実行する要求処理手段３２を備える。ただし、本実施形態のアプリケーション手段３は、受け付けた要求に含まれるパラメータを検査対象として指定して、セキュリティ管理手段４に処理の開始を指示する検査対象指定手段３１を備える点を特徴とする。
【００３６】
一方、セキュリティ管理手段（セキュリティ管理ブロック）４は、パラメータ名毎に実行すべき検査項目の指定を受け付け、指定された検査項目とパラメータ名とを関連付けた設定ファイルを設定する設定ファイル設定手段４２と、パラメータ名毎に更新すべき検査項目の指定を受け付けると設定ファイル中の指定された検査項目の情報を更新する設定ファイル更新手段４３と、設定ファイルの出力指示を受け付けるとパラメータ名と各検査項目とのそれぞれの対応関係を示す対応表を出力する設定ファイル出力手段４４と、設定ファイル設定手段４２により設定された設定ファイルを格納する設定ファイル記憶手段４５と、を備える。
【００３７】
また、セキュリティ管理手段４は、検査対象データとしてのパラメータが指定されると、指定されたパラメータのパラメータ名に基づいて設定ファイル記憶手段４５を参照し、指定されたパラメータに対して実行すべき検査項目を特定する検査項目特定手段４０と、検査項目特定手段４０が特定した検査項目に該当する検査処理を、パラメータに対して実行する検査実行手段４１と、検査実行手段４１による検査結果を所定の方法で出力する検査結果出力手段４２と、各検査項目がそれぞれ保有する危険データを定義した検査ファイルを記憶する検査ファイル記憶手段４６と、を備える。
【００３８】
検査実行手段４１は、検査項目特定手段４０が特定した検査項目に該当する検査処理を実行するが、この実行方法としては、たとえば、特定された検査項目が保有する危険データを検査ファイル記憶手段４６から取得し、この取得した危険データがパラメータの値に含まれているか否かを判断する構成を採用することができる。また、たとえば、検査項目ごとにそれぞれの検査処理をになう検査用モジュールを用意しておき、複数の検査用モジュール中から特定した検査項目に該当する検査用モジュールのみを呼び出して、検査処理を実行する構成を採用してもよい。
【００３９】
（各ファイルのデータ構成）
次に、図４及び図５を用いて本実施形態にかかるファイルの構造について説明する。図４は、本実施形態の設定ファイルの構造を示す図である。図５は、本実施形態の設定ファイルの構造を示す図である。
【００４０】
図４に示すように、設定ファイルには、検査対象となるパラメータ名と検査項目とが対応付けて格納されている。各レコードは、パラメータ名、例外処理、検査項目１、検査項目２、検査項目３、・・・検査項目Ｎなどの項目を含んで構成されており、パラメータ名によって一意的に特定される。
【００４１】
パラメータ名は、アプリケーションが使用するパラメータ名と同じもしくはアプリケーションが使用するパラメータ名を特定可能なものが格納される。例外処理には、例外的に入力を許可する文字種別のルールが正規表現で格納される。
【００４２】
検査項目１〜Ｎには、それぞれ該当する検査項目を実行するかしないかを示す実行情報（検査を有効にするか無効にするか）が格納される。ここでは、検査項目を実行する場合には「１」が格納され、検査項目を実行しない場合には「０」が格納される。
【００４３】
なお、検査項目１〜Ｎは、攻撃の種類に応じた検査項目が設定される。本実施形態では、検査項目１には、対象データが、ＵＲＬで許可されない文字を含んでいるかを検査するＵＲＬ検査項目が設定されている。検査項目２には、対象データが、ディレクトリトラバーサルで使用される文字列を含んでいるかを検査するディレクトリ検査項目が設定されている。検査項目３には、対象データが、SQLインジェクションで使用される文字や文字列を含んでいるかを検査するＳＱＬ検査項目が設定されている。検査項目４には、対象データが、クロスサイトスクリプティングで使用される文字や文字列を含んでいるかを検査するクロスサイトスクリプティング検査項目が設定されている。検査項目５には、対象データが、ダイレクトＯＳコマンドインジェクションで使用される文字を含んでいるかを検査するＯＳ検査項目が設定されている。なお、検査項目に設定する内容はこれらに限られず、検査項目には、検査時点で判明している全ての攻撃に対する検査項目を適宜設定することができる。
【００４４】
なお、どのパラメータについてどの検査項目を実行すべきかは、アプリケーションの内容に依存するため、設定ファイルはアプリケーションの種類ごとに用意することが望ましい。しかし、全てのアプリケーションで固有のパラメータ名を利用する場合には、１の設定ファイルを用意してこれを共通に利用することも可能である。
【００４５】
また、この設定ファイルは、設定ファイル設定手段４２によって設定される。図６は、本実施形態にかかる設定ファイル画面の構成の一例を示す図である。同図に示すように、システム管理者は、ディスプレイに表示された設定ファイル画面より、パラメータ名の入力や検査項目の実行情報（１／０）を入力することができる。設定ファイル設定手段４２は、設定ファイル画面の設定ボタンが選択されると、入力されたパラメータ名と検査項目の実行情報とを対応付けて設定ファイル記憶手段４５に登録する。
【００４６】
このように、本実施形態にかかる設定ファイルによれば、パラメータ名ごとに検査項目を個別に指定することができるので、非常に簡単な操作でパラメータ名ごとのセキュリティレベルを調整することができるようになる。
【００４７】
また、設定ファイルは、設定ファイル出力手段４４によって、ディスプレイに表示され、また、印刷媒体に印刷される。図９は、ディスプレイに表示された設定ファイルの一例を示す図である。これによれば、パラメータ名と検査項目の設定状況とが表形式で出力されているので、システム管理者は、メンテナンス時点におけるパラメータ名ごとのセキュリティレベルを、一目で把握することができるようになる。
【００４８】
また、当該画面より、セキュリティレベルの変更が生じた場合には、図示しない設定ファイル更新画面にて、変更対象となるパラメータ名を指定して、検査項目の実行情報を入力しなおすだけでよいので、容易にメンテナンス作業を行うことができるようになる。
【００４９】
一方、図５は、本実施形態の検査ファイルの構造を示す図である。図５に示すように、検査ファイルには、危険データとしての定義済みデータ（以下、危険文字(列)と同義）と検査項目とを対応付けて格納している。各レコードは、危険文字（列）、検査項目１、検査項目２、検査項目３、・・・検査項目Ｎなどの項目を含んで構成されており、危険文字（列）によって一意的に特定される。
【００５０】
危険文字には、攻撃に用いられる可能性のあるデータ（文字）が格納される。検査項目１〜Ｎには、対応する危険文字が、各検査項目において危険な文字として抽出すべきか否かを示す識別情報が格納される。たとえば、文字列「＆」をみると、検査項目１〜３では空白（危険文字ではない）、検査項目４では、サニタイジング処理を指定する「＆ａｍｐ；」、検査項目Ｎでは危険文字であることを示す「Ｅｒｒｏｒ」が、それぞれ格納されている。これによれば、同じ文字であっても、検査対象項目によって危険文字として取り扱われるか否かが異なることがわかる。
【００５１】
以下、図７に示すフローチャートを参照してアプリケーション手段３の処理について説明する。図７は、アプリケーション手段３の処理の流れを示すである。なお、各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００５２】
アプリケーション手段３は、検査に先立ち、検査に使用する設定ファイルを指定しておく（ＳＴＥＰ７０１）。次に、要求受付手段３０は、クライアント２から送られる所定の要求つまりパラメータを受け付けると（ＳＴＥＰ７０２のＹｅｓ）、当該パラメータに対して検査を実行するか否かを判断する（ＳＴＥＰ７０３）。なお、外部から送られるパラメータについて検査を必ず実行する場合には、この判断を省略することができる。
【００５３】
検査を実行すると判断した場合には（ＳＴＥＰ７０３のＹｅｓ）、検査対象指定手段３１が、検査手段に処理の開始を指示するとともに（ＳＴＥＰ７０４）、受け付けたパラメータを検査対象指定手段３１に受け渡す（ＳＴＥＰ７０５）。パラメータの受け渡しは、典型的には、検査対象となるパラメータを引数として、検査手段つまり検査用ライブラリを呼び出すことにより行われる。これにより、検査手段の処理が開始され、図８にて後述する検査処理を実行する。そして、指定されたパラメータに対する検査処理が終了すると、検査手段が検査結果をアプリケーション手段３に通知する。
【００５４】
アプリケーション手段３の要求受付手段３０は、検査結果の通知をうけると、検査結果は正常か否かを判断し（ＳＴＥＰ７０６）、正常であると判断した場合には、要求処理手段３２にＳＴＥＰ７０２にて受け付けたパラメータを受け渡す。
【００５５】
要求処理手段３２は、パラメータに応じた処理（たとえば、受け付けたパラメータを組み込んだＷｅｂページを生成して、クライアント２に送り返す）を実行する（ＳＴＥＰ７０７）。
【００５６】
これに対し、要求受付手段３０は、検査結果が正常でないと判断した場合には、エラー処理を実行する（ＳＴＥＰ７０８）。エラー処理としては、仕様に応じた処理を設定することができるが、たとえば、入力値に不正なデータが含まれる旨のエラー画面をクライアント２に送り返すように構成してもよい。エラー処理の場合、要求処理手段３２による処理は実行されないので、危険なデータに基づく攻撃を事前に回避することが可能になる。
（セキュリティ管理手段４の処理の流れ）
次に、図８に示すフローチャートを参照してセキュリティ管理手段４の処理について説明する。図８は、セキュリティ管理手段４による処理の流れを示すフローチャートである。なお、各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００５７】
セキュリティ管理手段４の検査項目特定手段４０は、アプリケーション手段３より処理の開始が通知されると（ＳＴＥＰ８０１のＹｅｓ）、アプリケーション手段３によって指定された設定ファイルを設定ファイル記憶手段４５から読み出す（ＳＴＥＰ８０２）。
【００５８】
次に、検査項目特定手段４０は、読み出した設定ファイルを参照して、受け渡されたパラメータのパラメータ名に例外処理が設定されているか否かを判断する（ＳＴＥＰ８０３）。例外処理が対応付けられていると判断した場合には、パラメータに対して例外処理を実行する（ＳＴＥＰ８０４）。
【００５９】
たとえば、パラメータ名として「ＩＴＥＭ２０」が指定されている場合には、「ＩＴＥＭ２０」に対応する例外処理の欄には「［Ａ−Ｚ］[３]［＿］」が格納されているので、パラメータの値に「［Ａ−Ｚ］[３]［＿］」に該当する文字が格納されている場合であっても、危険データとしては処理しない。
【００６０】
次に、検査項目特定手段４０は、検査項目の中から、指定されたパラメータ名について検査の実行が設定されている検査項目を特定する（ＳＴＥＰ８０５）。つまり、検査項目１〜検査項目Ｎの中から、実行情報に「１（有効）」が設定されている検査項目を抽出する。
【００６１】
パラメータ名が「ＩＴＥＭ２０」の場合には、検査項目１、検査項目３、検査項目４、および検査項目５について「１（有効）」が設定されているので、これらの検査項目を、実行すべき検査項目として特定する。
【００６２】
検査項目を特定すると、検査項目特定手段４０は、検査ファイルを参照して、パラメータの値に特定した検査項目の危険データが含まれているかを検査する（ＳＴＥＰ８０７）。たとえば、検査項目１（ＵＲＬ検査項目）について検査をする場合、パラメータの値にＮＵＬＬ文字が含まれている場合には、危険データが含まれていると判断する。
【００６３】
検査項目特定手段４０は、危険データが含まれていると判断した場合には（ＳＴＥＰ８０７のＹｅｓ）、サーバ１が危険データに基づく攻撃を受けないように、所定の危険処理を実行する（ＳＴＥＰ８０８）。
【００６４】
危険処理としては、仕様に応じた処理を採用することができる。たとえば、検査ファイルにてサニタイジング処理（無害化）が指定されている場合には、当該処理を実行する。危険処理では、検査結果に危険データを抽出した旨やサニタイジング処理を行った旨などを設定する。
【００６５】
検査項目特定手段４０は、対象となる検査項目についてすべて検査処理が終了したか否かを判断し（ＳＴＥＰ８０９）、すべて終了していない場合には、ＳＴＥＰ８０６に戻って、次の検査項目について検査処理を実行する（ＳＴＥＰ８０９のＮＯ）。検査項目特定手段４０は、すべての検査項目について検査処理が終了するまで、ＳＴＥＰ８０６〜８０８の処理を繰り返す。
【００６６】
一方、対象となる検査項目についてすべて検査処理が終了したと判断した場合には（ＳＴＥＰ８０９のＹｅｓ）、検査結果をアプリケーション手段２に通知する（ＳＴＥＰ８１０）。アプリケーション手段２は、戻り値として得られる検査結果に基づいて、上述した処理を実行する。
【００６７】
以上本実施形態によれば、セキュリティ管理ブロック４をアプリケーション側から切り離してライブラリとして構成することとしたので、アプリケーション側にセキュリティ対策ロジックを実装させることが不要となる結果、アプリケーションの開発工数を削減することができるようになる。
【００６８】
また、本実施形態によれば、各アプリケーションが、１のセキュリティ管理ブロック４を利用することができるので、各アプリケーションのセキュリティの品質を一様に保つことが可能になる。また、本実施形態によれば、設定ファイル中に対象となる攻撃手法をまとめて規定することにより、全ての攻撃手法を網羅的にカバーすることが可能になる。
【００６９】
また、本実施形態によれば、設定ファイルを参照することにより、セキュリティ情報を一覧することができるとともに、セキュリティ管理手段４は設定ファイルの情報にしたがって検査処理を実行するので、設定ファイルを参照することで、セキュリティ対策がきちんと行われているか否かの検証をプログラムレベルで容易に実施することが可能になる。
【００７０】
また、本実施形態によれば、システム管理者は、パラメータ名ごとに検査対象の実行の有無を指定するだけでよいので、個々のシステム設計者のスキルにかかわらずセキュリティレベルの精度を高く維持することが可能になる。
【００７１】
（その他の実施形態）
本発明は上記各実施形態に限定されることなく、種々に変形して適用することが可能である。たとえば、危険データを含む旨の検査結果を取得したアプリケーション手段３を、このような危険データを送信したクライアント２からのアクセスを、クッキーを利用して、それ以降受け付けないように構成してもよい。
【００７２】
たとえば、要求受付手段３は、セキュリティ管理手段４による検査の結果、クライアント２から送られてきた要求に危険データが含まれることが判明した場合、エラーメッセージとともに、攻撃者であることを示す情報をクッキーとしてクライアント２へ送り返す。
【００７３】
これを受けたクライアント２は、クッキー情報をハードディスクの所定の位置に書き込むとともに、送られてきたエラーメッセージを表示する。また、次回、そのクライアント２がサーバ１にアクセス要求を行うと、クライアント２のブラウザ２１は、クッキーを参照して、サーバ１に対応するクッキーを発見することになるので、要求とともにクッキー情報（攻撃者であることを示す情報）を、クライアント２に送信する。
【００７４】
サーバ１は、要求とともに送られてくるクッキーを参照することにより、そのクライアント２が攻撃者として過去に認定したクライアント２であるか否かを判断する。サーバ１は、クッキーに攻撃者であることを示す情報が含まれている場合には、そのクライアント２が攻撃者として過去に認定したクライアント２であると判断する。これにより、セキュリティ管理手段４による検査を実行することなく、その要求を受け付けないように処理することができる。
【００７５】
この構成によれば、サーバ１は、クッキーを利用して攻撃者からのアクセスであるか否かを判断することができるようになるので、攻撃者であると認定したクライアント２からのアクセスを容易に排除することができるようになる。
【図面の簡単な説明】
【００７６】
【図１】本実施形態に係るセキュリティ管理システムの概略構成を示すブロックダイアグラムである。
【図２】本実施形態に係るサーバのハードウェア構成を示すブロック図である。
【図３】本実施形態に係るサーバの機能構成図を示すブロック図である。
【図４】本実施形態に係る設定ファイルの構造を示す図である。
【図５】本実施形態に係る設定ファイルの構造を示す図である。
【図６】本実施形態に係る設定ファイル画面の構成の一例を示す図である。
【図７】本実施形態に係るアプリケーション手段３の処理の流れを示すである。
【図８】本実施形態に係るアプリケーション手段８による処理の流れを示すフローチャートである。
【図９】ディスプレイに表示された設定ファイルの一例を示す図である。
【符号の説明】
【００７７】
１  サーバ
２  クライアント
３  アプリケーションブロック
４  セキュリティ管理ブロック
１１  Ｗｅｂサーバプログラム
１２  Ｗｅｂページ
１３  ＣＧＩプログラム
１４  記憶装置
１５  セキュリティ管理プログラム
１６  プリンタ
２１  ブラウザ
１００  セキュリティ管理システム
【図１】
2005134995.tif 000003
【図２】
2005134995.tif 000004
【図３】
2005134995.tif 000005
【図４】
2005134995.tif 000006
【図５】
2005134995.tif 000007
【図６】
2005134995.tif 000008
【図７】
2005134995.tif 000009
【図８】
2005134995.tif 000010
【図９】
2005134995.tif 000011