(57)【要約】セキュリティホールなどの不具合を有するサーバ処理ソフトウェア（１４）に対してＷｅｂクライアント装置（１２ａ）〜（１２ｃ）がおこなった入力を監視して、その入力を拒否するかどうかの判定をおこなうフィルタリングソフトウェア（１５）をソフトウェアユーザのＷｅｂサーバ装置（１０）に導入し、フィルタリングソフトウェア（１５）が参照する入力拒否あるいは許可に関する判定条件を定めた判定ルール（１６）をソフトウェアベンダのソフトウェア保守サービス装置（１１）からインターネット（１３）を介して取得して、それをフィルタリングソフトウェア（１５）に組み込み、フィルタリングソフトウェア（１５）が入力の監視にその判定ルール（１６）を適用する。
2004070590.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続され、前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供装置とを有するソフトウェア保守サービス提供システムであって、
前記ソフトウェア保守サービス提供装置は、
前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを記憶する記憶手段と、
前記記憶手段に記憶された判定ルールを、前記端末装置に送信する出力手段と、を備え、
前記端末装置は、
前記出力手段によって送信された判定ルールを受信して、受信した前記判定ルールを組み込む判定ルール取得手段と、
前記導入されたソフトウェアが不具合を有する場合に、前記ソフトウェアに対する入力を監視して該入力を拒否するか否かを前記判定ルールに基づいて判定するフィルタリング処理手段と、
を備えたことを特徴とするソフトウェア保守サービス提供システム。
【請求項２】
前記ソフトウェア保守サービス提供装置は、
前記判定ルールを前記記憶手段から検索する検索手段をさらに備え、前記出力手段は、前記検索手段により検索された判定ルールを前記端末装置に送信することを特徴とする請求の範囲第１項に記載のソフトウェア保守サービス提供システム。
【請求項３】
前記ソフトウェア保守サービス提供装置の前記記憶手段は、前記端末装置に導入されたソフトウェアがセキュリティホールに関する不具合を有する場合に、セキュリティホールを利用しておこなわれた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶することを特徴とする請求の範囲第１項に記載のソフトウェア保守サービス提供システム。
【請求項４】
前記ソフトウェア保守サービス提供装置の前記検索手段は、前記端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいた入力の拒否または許可に関する判定条件を定めた判定ルールを前記記憶手段から検索することを特徴とする請求の範囲第２項に記載のソフトウェア保守サービス提供システム。
【請求項５】
前記ソフトウェア保守サービス提供装置の前記検索手段は、前記不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含む前記セットアップ環境情報に基づいた入力の拒否または許可に関する判定条件を定めた判定ルールを前記記憶手段から検索することを特徴とする請求の範囲第４項に記載のソフトウェア保守サービス提供システム。
【請求項６】
前記ソフトウェア保守サービス提供装置は、
ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールを抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知する通知手段をさらに備え、
前記端末装置は、
前記通知手段によって通知された前記通知情報に基づいて前記判定ルールを削除する判定ルール削除手段をさらに備えたことを特徴とする請求の範囲第１項に記載のソフトウェア保守サービス提供システム。
【請求項７】
前記ソフトウェア保守サービス提供装置の前記通知手段は、前記修正プログラムによる修正によって不要となった前記判定ルールを、前記端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知することを特徴とする請求の範囲第６項に記載のソフトウェア保守サービス提供システム。
【請求項８】
前記ソフトウェア保守サービス提供装置の前記通知手段は、前記修正プログラムによる修正によって不要となった前記判定ルールを、前記不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含む前記セットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知することを特徴とする請求の範囲第７項に記載のソフトウェア保守サービス提供システム。
【請求項９】
前記端末装置の判定ルール取得手段は、予め設定された時刻に前記判定ルールの送信要求を前記ソフトウェア保守サービス提供装置に送信し、前記出力手段によって送信された判定ルールを受信して、受信した前記判定ルールを組み込むことを特徴とする請求の範囲第１項に記載のソフトウェア保守サービス提供システム。
【請求項１０】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続されたソフトウェア保守サービス提供装置とによって前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供方法であって、
前記ソフトウェア保守サービス提供装置において、前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを、前記端末装置に送信する出力工程と、
前記端末装置において、前記出力工程によって送信された判定ルールを受信して、受信した前記判定ルールを組み込む判定ルール取得工程と、
前記端末装置において、前記導入されたソフトウェアが不具合を有する場合に、前記ソフトウェアに対する入力を監視して該入力を拒否するか否かを前記判定ルールに基づいて判定するフィルタリング処理工程と、
を含んだことを特徴とするソフトウェア保守サービス提供方法。
【請求項１１】
前記ソフトウェア保守サービス提供装置において、ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールを、前記端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知する通知工程と、
前記端末装置において、前記通知工程によって通知された前記通知情報に基づいて前記判定ルールを削除する判定ルール削除工程と、
をさらに含むことを特徴とする請求の範囲第１０項に記載のソフトウェア保守サービス提供方法。
【請求項１２】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続されたソフトウェア保守サービス提供装置とによって前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供方法をコンピュータに実行させるプログラムであって、
前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを、前記ソフトウェア保守サービス提供装置から前記端末装置に送信する出力工程、
をコンピュータに実行させるプログラム。
【請求項１３】
ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールを、前記端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知する通知工程
をさらに含んだことを特徴とする請求の範囲第１２項に記載のプログラム。
【請求項１４】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続されたソフトウェア保守サービス提供装置とによって前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供方法をコンピュータに実行させるプログラムであって、
前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを、前記ソフトウェア保守サービス提供装置から受信して、受信した前記判定ルールを前記端末装置に組み込む判定ルール取得工程と、
前記導入されたソフトウェアが不具合を有する場合に、前記ソフトウェアに対する入力を監視して該入力を拒否するか否かを前記判定ルールに基づいて判定するフィルタリング処理工程と、
をコンピュータに実行させるプログラム。
【請求項１５】
ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールに関する通知情報を前記ソフトウェア保守サービス提供装置から受信し、受信した前記通知情報に基づいて前記判定ルールを削除する判定ルール削除工程
をさらに含んだことを特徴とする請求の範囲第１４項に記載のプログラム。
【発明の詳細な説明】
【技術分野】  この発明は、不具合を有するソフトウェアが導入されているコンピュータにネットワークを介して接続されたソフトウェア保守サービス提供装置が該ソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムに関し、特に、ソフトウェアに不具合が発見された際に、その不具合を迅速かつ効率よく回避することのできる保守サービスを提供するソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムに関する。
【背景技術】  近年、ソフトウェアの複雑化、大規模化およびソフトウェア開発期間の短期化にともない、ソフトウェアの開発・販売をおこなうソフトウェアベンダのソフトウェア設計およびプログラムコーディングに対する負担は年々大きくなってきている。
したがって、そのような状況の下で開発・販売されたソフトウェアには、設計ミスやプログラムコードの誤りが潜在的に存在していることが多く、それによって引き起こされるソフトウェアの不具合は、そのソフトウェアを使用しているユーザに大きな損害を与える可能性がある。
特に、ソフトウェアのセキュリティに係る不具合はセキュリティホールと呼ばれ、セキュリティホールを利用して第三者が正規のアクセス権をもたないコンピュータに不正にアクセスする行為も急増している。
通常、このような不具合が発見された場合には、ソフトウェアベンダは、不具合の原因となるプログラムコードの部分を修正する修正プログラム（「アップデータ」あるいは「パッチ」と呼ばれることもある。）を開発し、それを無償でユーザに公開する。そして、ユーザは、公開された修正プログラムを取得し、それを実行させることによりプログラムコードを修正する。
修正プログラムが公開された場合には、ソフトウェアの不具合を解消するため、ユーザはそれをできるだけ早く取得して実行し、プログラムコードを修正する必要がある。それを速やかにおこなう技術として、不具合を有するソフトウェアの修正プログラムの取得およびそれによる修正を自動的におこなう装置が開示されている（特開平１１−２７２４５４号公報参照）。
しかしながら、ソフトウェアの不具合が発見されると、ソフトウェアベンダは、まず不具合の現象を再現し、不具合を修正するための修正プログラムを作成し、その修正プログラムの検証作業を行って、確実にソフトウェアの不具合が修正され、不具合を有する箇所以外のプログラムに悪影響を及ぼさないことを確認した上で、修正プログラムをユーザに公開することが一般的である。このため、ソフトウェアの不具合が発見されてから修正プログラムが公開されるまでには長期間を要し、この特開平１１−２７２４５４号公報に記載の従来技術では、ユーザに修正プログラムを迅速に提供することができないという問題があった。そのため、ユーザは修正プログラムが作成されるまで、プログラムコードを未修正の状態で放置せざるを得ず、その間にソフトウェアの不具合の発生により損害を被る可能性がある。
また、セキュリティホールを利用した不正アクセスを防ぐ方法として、ファイアウォールを構築することが一般的におこなわれている。具体的には、不正アクセスをおこなったコンピュータのＩＰアドレスなどの送信元情報をアクセスログから割り出し、ファイアウォールでは、この送信元情報を含んだコンピュータからのアクセス要求を不正アクセスとして拒否する処理をおこなう。
ただし、この方法では、あるコンピュータからのアクセスが不正アクセスと認定されるまで、そのコンピュータからのアクセスを拒否することができない。そこで、あるコンピュータからのアクセスが、既知の不正アクセスのパターンと一致するかどうかを調べ、一致する場合はそのアクセスを不正アクセスとして拒否する装置が開示されている（特開２００２−３４２２７９公報参照。）。
しかしながら、この特開２００２−３４２２７９公報の従来技術を用いたとしても、新規の不正アクセスに対処するために作成された不正アクセスのパターンを、いかに迅速かつ効率的に取得して不正アクセスに対処するかは依然課題として残っている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ソフトウェアの不具合を迅速かつ効率よく回避し、ユーザに被害が生じることを防止することのできる保守サービスを提供するソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【発明の開示】
本発明によれば、ソフトウェア保守サービス提供装置において、端末装置に導入されたソフトウェアが不具合を有する場合に、導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを記憶手段によって記憶し、出力手段によって、記憶手段に記憶された判定ルールを端末装置に送信し、端末装置おいて、判定ルール取得手段によって出力手段から送信された判定ルールを受信して、受信した判定ルールを組み込み、フィルタリング処理手段によって、導入されたソフトウェアが不具合を有する場合に、ソフトウェアに対する入力を監視して該入力を拒否するか否かを判定ルールに基づいて判定する。
したがって、ユーザが使用しているソフトウェアに不具合が発見された際に、ソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールをユーザに迅速かつ効率的に提供し、不具合を修正するための修正プログラムの公開を待たずに、不具合によってユーザに被害が生じることを迅速に防止することができる。
また、本発明によれば、検索手段によって、判定ルールを記憶手段から検索し、出力手段によって、検索手段により検索された判定ルールを端末装置に送信する。
したがって、ユーザが使用しているソフトウェアに不具合が発見された際に、複数の判定ルールの中から必要な判定ルールのみを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
また、本発明によれば、ソフトウェア保守サービス提供装置の記憶手段によって、端末装置に導入されたソフトウェアがセキュリティホールに関する不具合を有する場合に、セキュリティホールを利用しておこなわれた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶する。
したがって、ユーザが使用しているソフトウェアにセキュリティホールが発見された際に、そのソフトウェアに対する入力を拒否するかどうかを判定するために参照される判定ルールを、ユーザに迅速かつ効率的に提供し、セキュリティホールによってユーザに被害が生じることを迅速に防止することができる。
また、本発明によれば、ソフトウェア保守サービス提供装置において、検索手段によって、端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶手段から検索する。
したがって、ユーザが使用しているソフトウェアのセットアップ環境に必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
また、本発明によれば、ソフトウェア保守サービス提供装置において、検索手段によって、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境情報に基づいた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶手段から検索する。
したがって、ユーザが使用している不具合を有するソフトウェアおよびそのソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
また、本発明によれば、ソフトウェア保守サービス提供装置において、通知手段によって、ソフトウェアの不具合を修正する修正プログラムが端末装置に導入された場合に、修正プログラムによる修正によって不要となった判定ルールを抽出し、抽出された判定ルールに関する通知情報を端末装置に通知し、端末装置において、判定ルール削除手段によって、通知手段から通知された通知情報に基づいて判定ルールを削除する。
したがって、修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
また、本発明によれば、ソフトウェア保守サービス提供装置において、通知手段によって、修正プログラムによる修正によって不要となった判定ルールを、端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を端末装置に通知する。
したがって、ソフトウェアのセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
また、本発明によれば、ソフトウェア保守サービス提供装置において、通知手段によって、修正プログラムによる修正によって不要となった判定ルールを、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を端末装置に通知する。
したがって、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
また、本発明によれば、端末装置において、判定ルール取得手段によって、予め設定された時刻に判定ルールの送信要求をソフトウェア保守サービス提供装置に送信し、出力手段によって送信された判定ルールを受信して、受信した前記判定ルールを組み込む。
したがって、端末装置はソフトウェア保守サービス提供装置から最新の判定ルールを予め設定された時刻に効率よく取得することができ、取得した判定ルールを参照して不具合を有するソフトウェアに対する入力を拒否するかどうかを判定し、その不具合によってユーザに被害が生じることを防止することができる。
【図面の簡単な説明】  第１図は、本実施の形態１に係るソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図であり、第２図は、第１図に示した判定ルールのデータ構造の一例を示す図であり、第３図は、第１図に示したソフトウェア保守サービス提供装置の構成を示す機能ブロック図であり、第４図は、第３図に示したセットアップ環境対応情報のデータ構造の一例を示す図であり、第５図は、第１図に示したＷｅｂサーバ装置の構成を示す機能ブロック図であり、第６図は、本実施の形態１に係るソフトウェア保守サービス提供システムの判定ルールを組み込む処理の処理手順を示すフローチャートであり、第７図は、第３図に示したＷｅｂサーバ装置に判定ルールが送信された際にＷｅｂサーバ装置に表示される画面表示の一例を示す図であり、第８図は、本実施の形態１に係るフィルタリングソフトウェアのＨＴＴＰリクエスト判定処理の処理手順を示すフローチャートであり、第９図は、本実施の形態２に係るソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図であり、第１０図は、第９図に示したソフトウェア保守サービス提供装置の構成を示す機能ブロック図であり、第１１図は、第９図に示したＷｅｂサーバ装置の構成を示す機能ブロック図であり、第１２図は、実施の形態２に係るソフトウェア保守サービス提供システムの判定ルールを削除する削除処理の処理手順を示すフローチャートであり、第１３図は、第１１図に示したＷｅｂサーバ装置に削除する判定ルールのＩＤ番号が送信された際にＷｅｂサーバ装置に表示される画面表示の一例を示す図であり、第１４図は、実施の形態１および２に係るソフトウェア保守サービス提供装置のハードウェア構成を示す構成図であり、第１５図は、実施の形態１および２に係るＷｅｂサーバ装置のハードウェア構成を示す構成図であり、第１６図は、サードパーティがフィルタリングソフトウェアを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図であり、第１７図は、サードパーティがフィルタリングソフトウェアと判定ルールとを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図であり、第１８図は、ソフトウェアベンダおよび複数のサードパーティが判定ルールを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【発明を実施するための最良の形態】  以下に添付図面を参照して、この発明に係るソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。なお、以下に示す実施の形態１および２では、クライアントコンピュータにＷｅｂページに関するサービスを提供するサーバ処理ソフトウェアにセキュリティホールが存在する場合について説明することとする。
（実施の形態１）
まず、本実施の形態１に係るソフトウェア保守サービス提供システムのシステム全体の構成について説明する。第１図は、本実施の形態１に係るソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
同図に示すように、このソフトウェア保守サービス提供システムでは、サーバ処理ソフトウェア１４が導入されたＷｅｂサーバ装置１０、サーバ処理ソフトウェア１４を開発したソフトウェアベンダが設置するソフトウェア保守サービス提供装置１１および一般ユーザが使用するＷｅｂクライアント装置１２ａ〜１２ｃのそれぞれのコンピュータがインターネット１３を介して接続されている。ここでは、説明の便宜上、各コンピュータがインターネット１３を介して接続されていることとしたが、ローカルエリアネットワーク（ＬＡＮ）や広域エリアネットワーク（ＷＡＮ）等のネットワークを介して接続されるとしてもよい。ここで、Ｗｅｂサーバ装置１０は、本発明における端末装置を構成し、ソフトウェア保守サービス提供装置をサーバとして、ソフトウェア保守サービスの提供を受けるクライアントとなる。
Ｗｅｂサーバ装置１０は、サーバ処理ソフトウェア１４を利用して、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのマークアップ言語により記述された各種の情報をＷｅｂクライアント装置１２ａ〜１２ｃに提供するＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ装置である。
ただし、このサーバ処理ソフトウェア１４にはセキュリティホールが存在することがわかっており、そのセキュリティホールに対処するため、ソフトウェアベンダにより作成されたフィルタリングソフトウェア１５がソフトウェア保守サービス提供装置１１からダウンロードされて導入されている。このフィルタリングソフトウェア１５は、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬用の記憶媒体から導入することも可能である。
このフィルタリングソフトウェア１５は、Ｗｅｂクライアント装置１２ａ〜１２ｃがＷｅｂサーバ装置１０へアクセスする際のサーバ処理ソフトウェア１４に対するＨＴＴＰリクエストを受信して、そのＨＴＴＰリクエストがソフトウェアベンダが作成した判定ルール１６で拒否するよう定めたものである場合には、それを拒否するものである。また、フィルタリングソフトウェア１５は、ソフトウェアごとに存在するものであるが、これに限られるものではなく、単一のフィルタリングソフトウェアによって複数のソフトウェアを対象として、対象となる複数のソフトウェアに対するアクセス拒否を行うように構成することも可能である。
ここで、判定ルールとは、Ｗｅｂサーバ装置１０に導入されたソフトウェアが不具合を有する場合に、このソフトウェアに対する外部からの入力の拒否または許可を判断する判定条件を定めたものである。この判定ルールは、Ｗｅｂサーバ装置１０に搭載されているサーバ処理ソフトウェア１４などのソフトウェアにセキュリティホールが発見された場合に、ソフトウェア保守サービス提供装置１１の管理者などが発見されたセキュリティホールに対応して作成するものであるが、ソフトウェア保守サービス提供装置１１側で、発見されたセキュリティホールの内容を判断して、判定ルールを自動的に生成するように構成してもよい。
第１図に示した判定ルール１６のデータ構造について説明する。第２図は、第１図に示した判定ルール１６のデータ構造の一例を示す図である。同図に示すように、判定ルール１６のデータ構造は、個々の判定ルールのＩＤ番号とそれに対応した判定ルールとで構成される。判定ルールは、一般的には次のような構造を有している。
（命令，｛判定条件｝）
命令とは、ＨＴＴＰリクエストなどの外部からのアクセスを拒否するか、あるいは許可するかを示すものである。判定条件は、命令であるアクセス拒否またはアクセス許可を行うために判断される条件である。例えば、第２図に示すように、ＩＤ番号が１の判定ルールは、「ｐｈｆ」というファイル名のＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）プログラムを指定したＷｅｂクライアント装置２０ａ〜２０ｃからのＨＴＴＰリクエストを拒否するものである。これにより、「ｐｈｆ」というファイル名のＣＧＩプログラムを起動するとサーバ処理ソフトウェアに不正アクセスが可能になる状況が生じるような場合に、それを回避することができる。
ここで、「ｄｅｎｙ」は「｛」と「｝」とで挟まれた判定条件が満足される場合にＨＴＴＰリクエストを拒否することを指示した命令である。そして、「｛」と「｝」とで挟まれる判定条件は、判定対象（ここでは、ｃｇｉ＿ｎａｍｅ）と判定式（ここでは、ｅｑｕａｌ”ｐｈｆ”）から構成される。
ＩＤ番号が２の判定ルールは、ＣＧＩプログラムの引数（引数名ｉｎｐｕｔ１）に対する１２８文字より長い文字列入力のＨＴＴＰリクエストを拒否するものである。また、ＩＤ番号が３の判定ルール１７は、指定されたＣＧＩプログラムのファイル名が「ｂｂｓ．ｐ１」で、かつ、そのＣＧＩプログラムの引数（引数名ｉｎｐｕｔ２）に対する１２８文字より長い文字列入力のＨＴＴＰリクエストがあった場合に、それを拒否するものである。
ここで、「ａｎｄ」は２つの判定条件を結合するもので、２つの判定条件が同時に満足されたときに、命令「ｄｅｎｙ」を実行する。また、「ａｎｄ」の代わりに「ｏｒ」という結合子を用いることも可能である。「ｏｒ」は２つの判定条件を結合し、結合された判定条件の少なくとも一つが満足された場合に命令を実行する。判定ルールは、同図に示されるように、いくつでも定義することができる。
第１図の説明に戻ると、ソフトウェア保守サービス提供装置１１は、Ｗｅｂサーバ装置１０に対して、セキュリティホールを有するサーバ処理ソフトウェア１４の保守サービスを提供する装置である。ソフトウェア保守サービス提供装置１１は、フィルタリングソフトウェア１５で参照される、ソフトウェアベンダにより作成された拒否すべきさまざまな入力を定めた判定ルール１６をデータベースに蓄積し、セキュリティホールを有するサーバ処理ソフトウェア１４のユーザ（ここでは、Ｗｅｂサーバ装置１０の管理者）にそれを公開する。また、ユーザに対して、ソフトウェアベンダが作成したサーバ処理ソフトウェア１４、また同じくソフトウェアベンダが作成したフィルタリングソフトウェア１５のダウンロードサービスも併せておこなう。
Ｗｅｂクライアント装置１２ａ〜１２ｃは、一般ユーザが搭載されたＷｅｂブラウザを利用してＷｅｂサーバ装置１０にアクセスし、サーバ処理ソフトウェア１４との間で情報の授受をおこなうインターネット端末装置である。
Ｗｅｂサーバ装置１０の管理者は、公開された判定ルール１６の中から、サーバ処理ソフトウェア１４のセットアップ環境に必要十分な判定ルール１６をソフトウェア保守サービス提供装置１１からダウンロードし、それをフィルタリングソフトウェア１５に組み込むことができる。
ここで、セットアップ環境とは、サーバ処理ソフトウェア１４のバージョンと、サーバ処理ソフトウェア１４の実行に必要となる関連ソフトウェアの種類およびバージョンとを意味する。関連ソフトウェアの例としては、主として、共有プログラム（ＤＬＬ：Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）、ＯＳ、アプリケーションソフトウェア、各種ドライバ、プラグイン、修正プログラム（パッチ、アップデータ）などが挙げられる。なお、この他、サーバ処理ソフトウェア１４を必要とするプログラムなども関連ソフトウェアに含めることは可能である。
判定ルール１６は、単にセキュリティホールを利用した不正アクセスによるＨＴＴＰリクエストのパターンを記述し、それと同じＨＴＴＰリクエストを受信した場合に拒否するよう定めただけのものであるので、サーバ処理ソフトウェア１４自体を修正する修正プログラムを作成する場合に比べ、短時間のうちに作成することができる。したがって、より迅速にセキュリティホールに対処することができ、Ｗｅｂサーバ装置１０の被害を食い止めることができる。
次に、第１図に示したソフトウェア保守サービス提供装置１１の構成について説明する。第３図は、第１図に示したソフトウェア保守サービス提供装置１１の構成を示す機能ブロック図である。
同図に示すように、ソフトウェア保守サービス提供装置１１は、インターフェース部３１と、入力部３２と、表示部３３と、記憶部３４と、制御部３５とを有する。インターフェース部３１は、インターネット１３を介してＷｅｂサーバ装置１０とのデータの授受をおこなうネットワークインターフェースであり、具体的にはＴＣＰ／ＩＰプロトコルにしたがった処理をおこなう。
入力部３２は、キーボードやマウスなどの入力デバイスであり、ソフトウェアベンダが作成した判定ルール１６の入力などをおこなうことができる。表示部３３は、ディスプレイや液晶パネルなどの表示デバイスである。記憶部３４は、ハードディスク装置などの記憶デバイス（記憶手段）である。
記憶部３４には、サーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６と、セットアップ環境対応情報３６とが記憶されている。サーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６とはＷｅｂサーバ装置１０へのダウンロードが可能である。また、判定ルール１６には、新しく発見されたセキュリティホールに対処するためにソフトウェアベンダが作成した判定ルールが順次追加される。サーバ処理ソフトウェア１４、フィルタリングソフトウェア１５および判定ルール１６については、第１図および第２図ですでに説明をおこなっているので説明を省略する。
セットアップ環境対応情報３６は、セキュリティホールを有するサーバ処理ソフトウェア１４のセットアップ環境と、そのセットアップ環境においてセキュリティホールに対処するために必要な判定ルールのＩＤ番号を組にして記憶したデータファイルである。
ここで、第３図に示したセットアップ環境対応情報３６のデータ構造について説明する。第４図は、第３図に示したセットアップ環境対応情報３６のデータ構造の一例を示す図である。同図に示すように、セットアップ環境対応情報３６は、セットアップ環境情報と、そのセットアップ環境に必要な判定ルールのＩＤ番号情報との組から構成される。
この例では、セキュリティホールを有するバージョンが２．１のサーバ処理ソフトウェア１４に対しては、そのセキュリティホールに対処するために、１〜２０、２２〜２４、２６および３３〜４５のＩＤ番号をもつ判定ルールが必要であることを示している。また、バージョンが２．２のサーバ処理ソフトウェア１４に対しては、１〜２０、２２〜２４、２６および３３〜３７のＩＤ番号をもつ判定ルールが必要であることを示している。
また、バージョンが２．２のサーバ処理ソフトウェア１４に、「１００１」という番号が付与された修正プログラムを導入したセットアップ環境に対しては、１〜２０、２２〜２４、２６の判定ルールが必要であることを示している。これは、修正プログラム１００１の導入によりサーバ処理ソフトウェア１４の一部のセキュリティホールが解消され、判定ルール３３〜３７が不要になった状況を示している。
このようなセットアップ環境対応情報３６を参照することで、ソフトウェア保守サービス提供装置１１は、サーバ処理ソフトウェア１４のセットアップ環境に必要十分な判定ルールをＷｅｂサーバ装置１０に出力して、フィルタリングソフトウェア１５に組み込むことができる。セットアップ環境とそれに必要な判定ルールのＩＤ番号の組は、同図に示されるように、いくつでも定義することができる。
第３図の説明に戻ると、制御部３５は、ソフトウェア保守サービス提供装置１１全体を制御する制御部であり、ソフトウェア出力部３７と、判定ルール検索部３８と、判定ルール出力部３９とを有する。
ソフトウェア出力部３７は、Ｗｅｂサーバ装置１０からサーバ処理ソフトウェア１４またはフィルタリングソフトウェア１５のダウンロード要求があった場合に、それをＷｅｂサーバ装置１０に出力する出力部である。判定ルール検索部３８は、Ｗｅｂサーバ装置１０に導入されたサーバ処理ソフトウェア１４のセットアップ環境に対応する判定ルール１６を、記憶部３４から検索する検索部（検索手段）である。
判定ルール出力部３９は、判定ルール検索部３８で検索された判定ルール１６をＷｅｂサーバ装置１０に送信する出力部（出力手段）である。判定ルール出力部３９は、判定ルール１６の送信が終了した際に、その旨をＷｅｂサーバ装置１０に通知する処理もおこなう。
次に、第１図に示したＷｅｂサーバ装置１０の構成について説明する。第５図は、第１図に示したＷｅｂサーバ装置１０の構成を示す機能ブロック図である。同図に示すように、Ｗｅｂサーバ装置１０は、インターフェース部５１と、入力部５２と、表示部５３と、記憶部５４と、制御部５５とを有する。
インターフェース部５１は、インターネット１３を介してソフトウェア保守サービス提供装置１１およびＷｅｂクライアント装置１２ａ〜１２ｃとのデータの授受をおこなうネットワークインターフェースであり、具体的にはＴＣＰ／ＩＰプロトコルにしたがった処理をおこなう。
入力部５２は、キーボードやマウスなどの入力デバイスであり、表示部５３は、ディスプレイや液晶パネルなどの表示デバイスであり、記憶部５４は、ハードディスク装置などの記憶デバイス（判定ルール記憶手段）である。この記憶部５４には、判定ルール１６と、ハイパーテキスト５６とが記憶されている。
判定ルール１６は、ソフトウェア保守サービス提供装置１１の判定ルール出力部３９により出力されたサーバ処理ソフトウェア１４のセットアップ環境に対応するものをインターネット１３経由でダウンロードして記憶したものである。ハイパーテキスト３９は、Ｗｅｂクライアント装置１２ａ〜１２ｃに配信するウィンドウ画面を形成するハイパーテキストである。
制御部５５は、Ｗｅｂサーバ装置１０全体を制御する制御部であり、判定ルール取得部５７と、フィルタリング処理部５８と、ＨＴＴＰサーバ処理部５９とを有する。
判定ルール取得部５７は、本発明における判定ルール取得手段を構成し、セキュリティホールを有するサーバ処理ソフトウェア１４のセットアップ環境に必要十分な判定ルール１６をソフトウェア保守サービス提供装置１１から取得するものである。
具体的には、判定ルール１６をダウンロードする要求をＷｅｂサーバ装置１０の管理者から受け付け、サーバ処理ソフトウェア１４のセットアップ環境を調査してその情報をソフトウェア保守サービス提供装置１１に送信し、その後、そのセットアップ環境に対応した、ソフトウェア保守サービス提供装置１１から出力された判定ルール１６を記憶部５４に記憶するといった処理をおこなう。
フィルタリング処理部５８は、本発明におけるフィルタリング処理手段を構成し、Ｗｅｂクライアント装置１２ａ〜１２ｃがＷｅｂサーバ装置１０へアクセスする際のサーバ処理ソフトウェア１４に対するＨＴＴＰリクエストを受信して、そのＨＴＴＰリクエストが判定ルール１６で拒否するよう定めたものであるかどうかを調べ、拒否するよう定めたＨＴＴＰリクエストであった場合にはそれを拒否するものである。判定ルール取得部５７およびフィルタリング処理部５８の機能は、Ｗｅｂサーバ装置１０に導入されたフィルタリングソフトウェア１５により実現されるものである。
ＨＴＴＰサーバ処理部５９は、Ｗｅｂクライアント装置１２ａ〜１２ｃに対してＨＴＴＰサーバとしての機能を提供するための処理部であり、具体的には、Ｗｅｂクライアント装置１２ａ〜１２ｃからのアクセスを受け付けた際に、記憶部５４に記憶したハイパーテキスト５６を読み出して、該当するＷｅｂクライアント装置１２ａ〜１２ｃに送信する処理などをおこなう。
次に、本実施の形態１に係るソフトウェア保守サービス提供システムの判定ルールを組み込む処理の処理手順について説明する。第６図は、本実施の形態１に係るソフトウェア保守サービス提供システムの判定ルールを組み込む処理の処理手順を示すフローチャートである。
同図に示すように、まず、ソフトウェア保守サービス提供装置１１が判定ルール１６のダウンロード要求待ちの状態にある間に、Ｗｅｂサーバ装置１０がダウンロード要求をおこなう（ステップＳ６０１〜Ｓ６０２）。その際、Ｗｅｂサーバ装置１０は、すでに取得している判定ルール１６に係る情報を併せて送信する。
要求を受け付けたソフトウェア保守サービス提供装置１１は、セキュリティホールを有するＷｅｂサーバソフトウェアのセットアップ環境の情報を送信するようＷｅｂサーバ装置１０に対し要求する（ステップＳ６０３）。
そして、Ｗｅｂサーバ装置１０は、セットアップ環境の調査をおこない（ステップＳ６０４）、それによって得られたセットアップ環境の情報をソフトウェア保守サービス提供装置１１に送信する（ステップＳ６０５）。このセットアップ環境の調査は、具体的には、ソフトウェアのセットアップ環境を記述した設定ファイル（たとえば、Ｗｉｎｄｏｗｓ（登録商標）におけるレジストリファイルなど）等を参照しておこなうことができる。
そして、ソフトウェア保守サービス提供装置１１は、Ｗｅｂサーバ装置２２から送信されたセットアップ環境の情報を受け付け（ステップＳ６０６）、それに対応する判定ルールをセットアップ環境対応情報３６から検索し（ステップＳ６０７）、セットアップ環境に必要十分な判定ルール１６をＷｅｂサーバ装置２２に送信する（ステップＳ６０８）。
Ｗｅｂサーバ装置１０の判定ルール取得部５７は、送信された判定ルールをフィルタリングソフトウェア１５に参照データとして組み込んで（ステップＳ６０９）、得られた判定ルール１６をフィルタリング処理部５８で参照してサーバ処理ソフトウェア１４に対するＨＴＴＰリクエストの許可あるいは拒否の判定をおこなう。ここで、判定ルール取得部５７による判定ルールのフィルタリングソフトウェア１５への組み込みは、既に判定ルールが存在する場合には、既存の判定ルールの最後に送信された判定ルールをコピーして追加したり、まだ判定ルールが存在しない場合には、送信された判定ルールを新たな判定ルールとしてコピーするなどの処理によって行われる。この際、既存の判定ルールと送信された新たな判定ルールとを、時系列順あるいは判定ルールＩＤ番号順にソートしたり、判定条件の種類別にソートするような処理を行うことも可能である。
第７図は、第３図に示したＷｅｂサーバ装置１０に判定ルール１６が送信された際にＷｅｂサーバ装置１０に表示される画面表示の一例を示す図である。同図に示すように、Ｗｅｂサーバ装置１０におけるサーバ処理ソフトウェア１４のセットアップ環境（サーバ処理ソフトウェアバージョン２．２＋修正プログラム１００１）と、そのセットアップ環境に対応した判定ルール１６の送信が終了したことを示すメッセージがＷｅｂサーバ装置１０の画面に表示され、Ｗｅｂサーバ装置１０の管理者に通知される。
次に、本実施の形態１に係るフィルタリングソフトウェア１５のＨＴＴＰリクエスト判定処理の処理手順について説明する。第８図は、本実施の形態１に係るフィルタリングソフトウェア１５のＨＴＴＰリクエスト判定処理の処理手順を示すフローチャートである。
同図に示すように、まず、フィルタリングソフトウェア１５はＷｅｂクライアント装置１２ａ〜１２ｃからのサーバ処理ソフトウェア１４へのＨＴＴＰリクエストをサーバ処理ソフトウェア１４に代わって受信する（ステップＳ８０１）。そして、個々の判定ルール１６をＨＴＴＰリクエストに適用し（ステップＳ８０２）、判定ルール１６による判定の結果が拒否命令（ｄｅｎｙ）であるかどうかを調べる（ステップＳ８０３）。
判定の結果が拒否命令である場合には（ステップＳ８０３，Ｙｅｓ）、そのＨＴＴＰリクエストの受け付けを拒否してそのリクエストを破棄し（ステップＳ８０４）、ＨＴＴＰリクエストのサーバ処理ソフトウェア１４への転送は行わない。そして、そのＨＴＴＰリクエストを送信したＷｅｂクライアント装置１２ａ〜１２ｃに対してそのＨＴＴＰリクエストの拒否通知を送信する（ステップＳ８０５）。
判定ルール１６による判定の結果が拒否命令ではない場合には（ステップＳ８０５，Ｎｏ）、そのＨＴＴＰリクエストを受け付け（ステップＳ８０６）、それをサーバ処理ソフトウェア１４に転送する（ステップＳ８０７）。
上述してきたように、本実施の形態１によれば、セキュリティホールを有するサーバ処理ソフトウェア１４を使用しているＷｅｂサーバ装置１０の管理者が、フィルタリングソフトウェア１５を導入し、入力を拒否するかどうかを判定する判定ルール１６をソフトウェア保守サービス提供装置１１からネットワークを介してダウンロードしてフィルタリングソフトウェア１５に組み込むよう構成したので、セキュリティホールが発見された場合にそれに対処するための判定ルール１６を迅速かつ効率的に利用することができ、そのセキュリティホールによってＷｅｂサーバ装置１０に被害が生じることを防止することができる。
なお、上述した実施の形態１においては、Ｗｅｂサーバ装置１０からの要求に応じてソフトウェア保守サービス提供装置１１から判定ルール１６をダウンロードすることとしたが、このダウンロード要求の送信を予め設定された時刻にＷｅｂサーバ装置１０の判定ルール取得部５７が自動的におこなうこととしてもよい。これは、タイマー装置やソフトウェアタイマーを利用して、判定ルール取得部５７に、予め設定された時刻に判定ルール１６のダウンロード要求をソフトウェア保守サービス提供装置１１に送信する機能を追加することで容易に実現することができる。
これにより、新たな判定ルール１６が追加されたかどうかを定期的に調べることなどが可能になり、セキュリティホールに対処するための判定ルール１６を迅速かつ効率的にダウンロードして利用することが可能になる。
（実施の形態２）
ところで、上記実施の形態１で説明したソフトウェア保守サービス提供システムでは、サーバ処理ソフトウェア１４のセキュリティホールに対処するためにソフトウェアベンダにより作成された判定ルール１６を、Ｗｅｂサーバ装置１０に導入されたフィルタリングソフトウェア１５に参照データとして組み込むこととしたが、さらに、修正プログラムが導入された際に、セキュリティホールが解消されて不要になった判定ルール１６を自動的に削除するよう構成することもできる。
そこで、本実施の形態２では、修正プログラムが導入された際に、その導入によって不要になった判定ルール１６を削除する場合について説明する。この場合、判定ルールをソフトウェア保守サービス提供装置１１からダウンロードし、Ｗｅｂサーバ装置１０に導入されたフィルタリングソフトウェア１５に参照データとして組み込む手順は実施の形態１と同様であるので、ここでは修正プログラムの導入後の処理について説明をおこなうこととする。
まず、本実施の形態２に係るソフトウェア保守サービス提供システムのシステム全体の構成について説明する。第９図は、ソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。なお、ここでは説明の便宜上、第１図に示した各要素と同様の役割を果たすものについては同一符号を付すこととしてその詳細な説明を省略する。
同図に示すように、Ｗｅｂサーバ装置１０の管理者は、インターネット１３に接続されているＷｅｂサーバ装置１０に導入されたサーバ処理ソフトウェア１４を利用して、ＨＴＭＬなどのマークアップ言語により記述された各種の情報を一般ユーザが使用するＷｅｂクライアント装置１２ａ〜１２ｃに提供している。ただし、このサーバ処理ソフトウェア１４にはセキュリティホールが存在することがわかっており、それに対処するため、ソフトウェアベンダにより作成されたフィルタリングソフトウェア１５が導入されている。
ソフトウェアベンダ１１は、そのセキュリティホールに対処するため、修正プログラム９０を作成し、Ｗｅｂサーバ装置１０の管理者にそれをダウンロードするよう電子メール等で通知する。そして、Ｗｅｂサーバ装置１０の管理者は、サーバ処理ソフトウェア１４のプログラムコードを修正する修正プログラム９０をダウンロードして実行し、それによってセキュリティホールを解消する。
その後、修正プログラム９０は、ソフトウェア保守サービス提供装置１１に対し、修正プログラム９０の実行によって不要となった判定ルール１６のＩＤ番号を通知するよう通知要求を自動送信する。その通知要求を受け付けたソフトウェア保守サービス提供装置１１は、修正プログラム９０の実行により不要となった、削除する判定ルール１６のＩＤ番号を抽出し、抽出されたＩＤ番号を修正プログラム９０に通知する。通知を受けた修正プログラム９０は、そのＩＤ番号に該当する判定ルール１６を削除する。
次に、第９図に示したソフトウェア保守サービス提供装置１１の構成について説明する。第１０図は、第９図に示したソフトウェア保守サービス提供装置１１の構成を示す機能ブロック図である。なお、説明の便宜上、第３図に示した実施の形態１におけるソフトウェア保守サービス提供装置１１の各部と同様の役割を果たす機能部については、同一符号を付すこととしてその詳細な説明を省略する。
同図に示すように、ソフトウェア保守サービス提供装置１１は、記憶部３４に修正プログラム９０がさらに記憶され、制御部３５に削除判定ルールＩＤ番号出力部１００がさらに追加された点が実施の形態１とは異なる。修正プログラム９０は、セキュリティホールを有するサーバ処理ソフトウェア１４のプログラムコードを修正するプログラムであり、ソフトウェア出力部３７を通じてＷｅｂサーバ装置１０の管理者がダウンロードして実行することができるものである。この修正プログラム９０は、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬用の記憶媒体から導入することも可能である。
また、この修正プログラム９０は、プログラムコードの修正によって不要になった判定ルール１６を削除する機能を備えており、Ｗｅｂサーバ装置１０で実行されるとソフトウェア保守サービス提供装置１１に対し削除すべき判定ルールのＩＤ番号の問い合わせをおこなう。
制御部３５の削除判定ルールＩＤ番号出力部１００は、修正プログラム９０からのＩＤ番号の問い合わせを受け付けた際に、修正プログラム９０の導入により不要となった削除する判定ルールのＩＤ番号を抽出し、そのＩＤ番号を修正プログラム９０に対し出力するものである。ここで、削除判定ルールＩＤ番号出力部１００は本発明における通知手段を構成し、判定ルールのＩＤ番号は本発明における通知情報を構成する。
削除する判定ルールのＩＤ番号は、具体的には、判定ルール検索部３８が、修正プログラム９０の導入前後のサーバ処理ソフトウェア１４のセットアップ環境に対応する判定ルール１６を記憶部２６から検索し、削除判定ルールＩＤ番号出力部１００が、修正プログラム９０の導入前のセットアップ環境に対応する判定ルールに含まれ、かつ、その導入後のセットアップ環境に対応する判定ルールには含まれないものを抽出することで取得することができる。
次に、第９図に示したＷｅｂサーバ装置１０の構成について説明する。第１１図は、第９図に示したＷｅｂサーバ装置１０の構成を示す機能ブロック図である。同図に示すように、Ｗｅｂサーバ装置１０は、制御部５５のＨＴＴＰサーバ処理部５９に修正プログラム９０が導入されていることが、実施の形態１とは異なる。
この修正プログラム９０は、削除判定ルールＩＤ番号取得部１１０と判定ルール削除部１１１とを備える。削除判定ルールＩＤ番号取得部１１０は、修正プログラム９０の導入により不要となった判定ルール１６のＩＤ番号をソフトウェア保守サービス提供装置１１に問い合わせ、そのＩＤ番号を取得するものである。判定ルール削除部１１１は、削除判定ルールＩＤ番号取得部１１０により取得されたＩＤ番号を有する判定ルール１６を削除するものである。
次に、本実施の形態２に係るソフトウェア保守サービス提供システムの判定ルールを削除する削除処理の処理手順について説明する。第１２図は、本実施の形態２に係るソフトウェア保守サービス提供システムの判定ルールを削除する削除処理の処理手順を示すフローチャートである。
同図に示すように、まず、Ｗｅｂサーバ装置１０で修正プログラム９０を実行すると（ステップＳ１２０１）、修正プログラム９０は、修正プログラム９０の実行によって不要となった判定ルール１６のＩＤ番号の通知要求をソフトウェア保守サービス提供装置１１に対して送信する（ステップＳ１２０２）。
ソフトウェア保守サービス提供装置１１が、ＩＤ番号の通知要求待ちの状態にある間にその通知要求を受信すると（ステップＳ１２０３）、ソフトウェア保守サービス提供装置１１は、セキュリティホールを有するサーバ処理ソフトウェア１４のセットアップ環境の情報を送信するようＷｅｂサーバ装置１０に対し要求する（ステップＳ１２０４）。
その要求を受け付けたＷｅｂサーバ装置１０は、セットアップ環境の調査をおこない（ステップＳ１２０５）、それによって得られたセットアップ環境の情報をソフトウェア保守サービス提供装置１１に送信する（ステップＳ１２０６）。このセットアップ環境の調査は、具体的には、ソフトウェアのセットアップ環境を記述した設定ファイル（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）におけるレジストリファイルなど）等を参照しておこなうことができる。
そして、ソフトウェア保守サービス提供装置１１は、Ｗｅｂサーバ装置１０から送信された修正プログラム９０の導入後のセットアップ環境の情報を受け付け（ステップＳ１２０７）、その導入後のセットアップ環境に対応する判定ルールを検索する（ステップＳ１２０８）。さらに、ソフトウェア保守サービス提供装置１１は、その修正プログラム９０の導入前のセットアップ環境に対応する判定ルールを検索する（ステップＳ１２０９）。
その後、ソフトウェア保守サービス提供装置１１は、修正プログラム９０の導入前のセットアップ環境に対応する判定ルール１６に含まれ、その導入後のセットアップ環境に対応する判定ルール１６に含まれない判定ルール１６のＩＤ番号を、削除する判定ルール１６のＩＤ番号として抽出する（ステップＳ１２１０）。
そして、抽出した削除する判定ルール１６のＩＤ番号をＷｅｂサーバ装置１０の修正プログラム９０に通知する（ステップＳ１２１１）。通知を受けた修正プログラム９０は、そのＩＤ番号を参照して不要な判定ルール１６を削除する（ステップＳ１２１２）。
第１３図は、第１１図に示したＷｅｂサーバ装置２２に削除する判定ルール１６のＩＤ番号が送信された際にＷｅｂサーバ装置１０に表示される画面表示の一例を示す図である。同図に示すように、削除する判定ルール１６のＩＤ番号がＷｅｂサーバ装置１０に送信されると、修正プログラム９０の実行が済んだ後のセットアップ環境を示すメッセージと、削除する判定ルール１６のＩＤ番号の送信が完了したことを示すメッセージとがＷｅｂサーバ装置１０の画面に表示され、Ｗｅｂサーバ装置１０の管理者はそれらを確認することができる。
上述してきたように、本実施の形態２によれば、修正プログラム９０の実行によりセキュリティホールが解消された際に、修正プログラム９０は、不要になった判定ルール１６のＩＤ番号の通知要求をソフトウェア保守サービス提供装置１１に送信し、ソフトウェア保守サービス提供装置１１は、不要になった判定ルール１６のＩＤ番号を抽出して修正プログラム９０に通知し、修正プログラム９０は、通知されたＩＤ番号を有する判定ルール１６を削除することとしたので、フィルタリングソフトウェア１５が参照する判定ルール１６の数を低減することができ、フィルタリングソフトウェアが効率的にＨＴＴＰリクエストの許可または拒否の判定をおこなえるようにすることができる。
次に、実施の形態１および２に係るソフトウェア保守サービス提供装置１１のハードウェア構成について説明する。第１４図は、実施の形態１および２に係るソフトウェア保守サービス提供装置１１のハードウェア構成を示す構成図である。
同図に示すように、ソフトウェア保守サービス提供装置１１は、本体部１４０と、本体部１４０からの指示によって表示画面に画像などの情報を表示するためのディスプレイ１４１と、このソフトウェア保守サービス提供装置１１に種々の情報を入力するためのキーボード１４２と、ディスプレイ１４１の表示画面上の任意の位置を指定するためのマウス１４３とを備える。
また、このソフトウェア保守サービス提供装置１１の本体部１４０は、ＣＰＵ１４８と、ＲＡＭ１４９と、ＲＯＭ１５０と、ハードディスクドライブ（ＨＤＤ）１５１と、ＣＤ−ＲＯＭを受け入れるＣＤ−ＲＯＭドライブ１５２と、フレキシブルディスク（ＦＤ）を受け入れるＦＤドライブ１５３と、ディスプレイ１４１、キーボード１４２並びにマウス１４３を接続するＩ／Ｏインターフェース１５４と、ローカルエリアネットワークまたは広域エリアネットワーク（ＬＡＮ／ＷＡＮ）に接続するＬＡＮインターフェース１５５とを備える。
実施の形態１においては、ハードディスクドライブ１５１には、サーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６と、セットアップ環境対応情報３６とが記憶される。実施の形態２においては、それらに加えさらに修正プログラム９０が記憶される。
さらに、このソフトウェア保守サービス提供装置１１には、インターネット１３などの公衆回線１４８に接続するためのモデム１４４が接続されるとともに、ＬＡＮインターフェース１５５およびＬＡＮ／ＷＡＮを介して、他のコンピュータシステム（ＰＣ）１４５、サーバ１４６並びにプリンタ１４７などが接続される。
サーバ処理ソフトウェア１４、フィルタリングソフトウェア１５、判定ルール１６および修正プログラム９０は、ＬＡＮインターフェース１５５あるいはモデム１４４を介して、Ｗｅｂサーバ装置１０にダウンロードされる。新規の判定ルール１６の追加は、キーボード１４２からの入力によるか、ＣＤ−ＲＯＭドライブ１５２によるＣＤ−ＲＯＭからの入力、ＦＤドライブ１５３によるフレキシブルディスクからの入力、ＬＡＮインターフェース１５５を介したＬＡＮ／ＷＡＮ経由での入力、モデム１４４を介した公衆回線１４８経由での入力によりおこなうことができる。そして、判定ルール１６が新規に追加された際に、ＣＰＵ１４８は、セットアップ環境対応情報３６を更新する処理をおこなう。
次に、実施の形態１および２に係るＷｅｂサーバ装置１０のハードウェア構成について説明する。第１５図は、実施の形態１および２に係るＷｅｂサーバ装置１０のハードウェア構成を示す構成図である。なお、ここでは説明の便宜上、第１４図に示した各要素と同様の役割を果たすものについては同一符号を付すこととしてその詳細な説明を省略する。
実施の形態１においては、Ｗｅｂサーバ装置１０の本体部１４０のハードディスクドライブ（ＨＤＤ）１５１には、ＬＡＮインターフェース１５５を介したＬＡＮ／ＷＡＮ経由あるいはモデム１４４を介した公衆回線１４８経由でダウンロードしたサーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６とが記憶される。実施の形態２においては、ＬＡＮ／ＷＡＮ経由あるいは公衆回線１４８経由でダウンロードした修正プログラム９０によって、実施の形態１のサーバ処理ソフトウェア１４に修正が加えられたものが記憶される。
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてもよいものである。
例えば、本実施の形態では、セキュリティホールを有するソフトウェアがサーバ処理ソフトウェア１４である場合を示したが、対象となるソフトウェアは、ソフトウェアの外部からの入力を受け付けるものであれば任意のものでよい。また、ソフトウェアの不具合は、不正アクセスに利用されるセキュリティホールに限定されず、ソフトウェアのユーザ自身の入力によって引き起こされるようなソフトウェアのプログラムコードの誤り（バグ）によるものなどでもよい。
また、本実施の形態では、フィルタリングソフトウェア１５がＨＴＴＰリクエストに対し許可または拒否の判定をすることとしたが、本発明はこれに限定されるものではなく、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのプロトコルによる入力、ｔｅｌｎｅｔによる入力など、不具合を有するソフトウェアに対するあらゆる入力を対象とすることができる。
さらに、本実施の形態では、第２図に示した判定ルールのデータ構造において、判定条件が満足された場合に入力を拒否することを命令「ｄｅｎｙ」を用いて指示することとしたが、判定条件が満足された場合に入力を許可することを命令「ａｌｌｏｗ」を用いて指示することとしてもよい。
また、本実施の形態では、ソフトウェアベンダがフィルタリングソフトウェア１５および判定ルール１６を作成し提供することとしたが、以下に示すように、それらをソフトウェアベンダ以外のサードパーティが作成し提供することとしてもよい。
第１６図は、サードパーティがフィルタリングソフトウェア１５を提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す説明図である。同図に示すように、このソフトウェア保守サービス提供システムは、セキュリティホールを有するサーバ処理ソフトウェア１４に対し、フィルタリングソフトウェア１５をサードパーティが作成してサードパーティのソフトウェア保守サービス提供装置１６０がそれを提供し、フィルタリングソフトウェア１５が参照する判定ルール１６をソフトウェアベンダが作成してソフトウェアベンダのソフトウェア保守サービス提供装置１１がそれを提供するシステムである。
図には示さないが、これとは逆に、フィルタリングソフトウェア１５をソフトウェアベンダが作成してソフトウェアベンダのソフトウェア保守サービス提供装置１１がそれを提供し、判定ルール１６をサードパーティが作成してサードパーティのソフトウェア保守サービス提供装置１６０がそれを提供するソフトウェア保守サービス提供システムとしてもよい。
第１７図は、サードパーティがフィルタリングソフトウェア１５と判定ルール１６とを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。同図に示すように、このソフトウェア保守サービス提供システムは、サーバ処理ソフトウェア１４に対し、フィルタリングソフトウェア１５およびフィルタリングソフトウェア１５が参照する判定ルール１６をサードパーティ１３０が作成してサードパーティのソフトウェア保守サービス提供装置１６０がそれを提供するシステムである。
第１８図は、ソフトウェアベンダに加えて複数のサードパーティが判定ルールを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。同図に示すように、このソフトウェア保守サービス提供システムは、サーバ処理ソフトウェア１４に対し、ソフトウェアベンダに加えて複数のサードパーティＡ〜Ｃが作成した判定ルールＡ〜Ｄ（１６ａ〜１６ｄ）をサードパーティＤのソフトウェア保守サービス提供装置１６０が提供するシステムである。
なお、この場合、フィルタリングソフトウェア１５はサードパーティＡ〜Ｄあるいはソフトウェアベンダのいずれが作成してもよく、また判定ルールＡ〜Ｄ（１６ａ〜１６ｄ）をダウンロードすることのできるソフトウェア保守サービス提供装置１６０はサードパーティＡ〜Ｄまたはソフトウェアベンダのいずれが設置してもよい。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。このほか、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のとおりに構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置で行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよびそのＣＰＵで解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されうる。
なお、本実施の形態で説明したソフトウェア保守サービス提供方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
（本発明の効果）
以上説明したように、  本発明によれば、ユーザが使用しているソフトウェアに不具合が発見された際に、ソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールをユーザに迅速かつ効率的に提供し、不具合を修正するための修正プログラムの公開を待たずに、不具合によってユーザに被害が生じることを迅速に防止することができるという効果を奏する。
また、本発明によれば、ユーザが使用しているソフトウェアに不具合が発見された際に、複数の判定ルールの中から必要な判定ルールのみを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
また、本発明によれば、ユーザが使用しているソフトウェアにセキュリティホールが発見された際に、そのソフトウェアに対する入力を拒否するかどうかを判定するために参照される判定ルールを、ユーザに迅速かつ効率的に提供し、セキュリティホールによってユーザに被害が生じることを迅速に防止することができるという効果を奏する。
また、本発明によれば、ユーザが使用しているソフトウェアのセットアップ環境に必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
また、本発明によれば、ユーザが使用している不具合を有するソフトウェアおよびそのソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
また、本発明によれば、修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
また、本発明によれば、ソフトウェアのセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
また、本発明によれば、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
また、本発明によれば、端末装置はソフトウェア保守サービス提供装置から最新の判定ルールを予め設定された時刻に効率よく取得することができ、取得した判定ルールを参照して不具合を有するソフトウェアに対する入力を拒否するかどうかを判定し、その不具合によってユーザに被害が生じることを防止することができるという効果を奏する。
【産業上の利用可能性】  以上のように、本発明に係るソフトウェア保守サービス提供システム、ソフトウェア保守サービス提供方法およびその方法をコンピュータに実行させるプログラムは、ソフトウェアベンダあるいはサードパーティのサーバ装置が、不具合が発見されたソフトウェアを導入しているユーザのクライアント装置に対し、そのソフトウェアの不具合を回避するためのソフトウェアを公開して保守サービスを提供するサーバ／クライアントシステムに対して有用である。
【図１】
2004070590.tif 000003
【図２】
2004070590.tif 000004
【図３】
2004070590.tif 000005
【図４】
2004070590.tif 000006
【図５】
2004070590.tif 000007
【図６】
2004070590.tif 000008
【図７】
2004070590.tif 000009
【図８】
2004070590.tif 000010
【図９】
2004070590.tif 000011
【図１０】
2004070590.tif 000012
【図１１】
2004070590.tif 000013
【図１２】
2004070590.tif 000014
【図１３】
2004070590.tif 000015
【図１４】
2004070590.tif 000016
【図１５】
2004070590.tif 000017
【図１６】
2004070590.tif 000018
【図１７】
2004070590.tif 000019
【図１８】
2004070590.tif 000020
【手続補正書】
【提出日】平成17年8月3日(2005.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続され、前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供装置とを有するソフトウェア保守サービス提供システムであって、
前記ソフトウェア保守サービス提供装置は、
前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを記憶する記憶手段と、
前記記憶手段に記憶された判定ルールを、前記端末装置に送信する出力手段と、を備え、
前記端末装置は、
前記出力手段によって送信された判定ルールを受信して、受信した前記判定ルールを組み込む判定ルール取得手段と、
前記導入されたソフトウェアが不具合を有する場合に、前記ソフトウェアに対する入力を監視して該入力を拒否するか否かを前記判定ルールに基づいて判定するフィルタリング処理手段と、
を備えたことを特徴とするソフトウェア保守サービス提供システム。
【請求項２】
前記ソフトウェア保守サービス提供装置は、
ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールを抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知する通知手段をさらに備え、
前記端末装置は、
前記通知手段によって通知された前記通知情報に基づいて前記判定ルールを削除する判定ルール削除手段をさらに備えたことを特徴とする請求の範囲第１項に記載のソフトウェア保守サービス提供システム。
【請求項３】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続されたソフトウェア保守サービス提供装置とによって前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供方法であって、
前記ソフトウェア保守サービス提供装置において、前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを、前記端末装置に送信する出力工程と、
前記端末装置において、前記出力工程によって送信された判定ルールを受信して、受信した前記判定ルールを組み込む判定ルール取得工程と、
前記端末装置において、前記導入されたソフトウェアが不具合を有する場合に、前記ソフトウェアに対する入力を監視して該入力を拒否するか否かを前記判定ルールに基づいて判定するフィルタリング処理工程と、
を含んだことを特徴とするソフトウェア保守サービス提供方法。
【請求項４】
前記ソフトウェア保守サービス提供装置において、ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールを、前記端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知する通知工程と、
前記端末装置において、前記通知工程によって通知された前記通知情報に基づいて前記判定ルールを削除する判定ルール削除工程と、
をさらに含むことを特徴とする請求の範囲第３項に記載のソフトウェア保守サービス提供方法。
【請求項５】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続されたソフトウェア保守サービス提供装置とによって前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供方法をコンピュータに実行させるプログラムであって、
前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを、前記ソフトウェア保守サービス提供装置から前記端末装置に送信する出力工程、
をコンピュータに実行させるプログラム。
【請求項６】
ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールを、前記端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を前記端末装置に通知する通知工程
をさらに含んだことを特徴とする請求の範囲第５項に記載のプログラム。
【請求項７】
ソフトウェアが導入されている端末装置と、該端末装置にネットワークを介して接続されたソフトウェア保守サービス提供装置とによって前記端末装置に導入されているソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供方法をコンピュータに実行させるプログラムであって、
前記端末装置に導入されたソフトウェアが不具合を有する場合に、前記導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを、前記ソフトウェア保守サービス提供装置から受信して、受信した前記判定ルールを前記端末装置に組み込む判定ルール取得工程と、
前記導入されたソフトウェアが不具合を有する場合に、前記ソフトウェアに対する入力を監視して該入力を拒否するか否かを前記判定ルールに基づいて判定するフィルタリング処理工程と、
をコンピュータに実行させるプログラム。
【請求項８】
ソフトウェアの不具合を修正する修正プログラムが前記端末装置に導入された場合に、前記修正プログラムによる修正によって不要となった前記判定ルールに関する通知情報を前記ソフトウェア保守サービス提供装置から受信し、受信した前記通知情報に基づいて前記判定ルールを削除する判定ルール削除工程
をさらに含んだことを特徴とする請求の範囲第７項に記載のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不具合を有するソフトウェアが導入されているコンピュータにネットワークを介して接続されたソフトウェア保守サービス提供装置が該ソフトウェアの保守サービスの提供をおこなうソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムに関し、特に、ソフトウェアに不具合が発見された際に、その不具合を迅速かつ効率よく回避することのできる保守サービスを提供するソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、ソフトウェアの複雑化、大規模化およびソフトウェア開発期間の短期化にともない、ソフトウェアの開発・販売をおこなうソフトウェアベンダのソフトウェア設計およびプログラムコーディングに対する負担は年々大きくなってきている。
【０００３】
したがって、そのような状況の下で開発・販売されたソフトウェアには、設計ミスやプログラムコードの誤りが潜在的に存在していることが多く、それによって引き起こされるソフトウェアの不具合は、そのソフトウェアを使用しているユーザに大きな損害を与える可能性がある。
【０００４】
特に、ソフトウェアのセキュリティに係る不具合はセキュリティホールと呼ばれ、セキュリティホールを利用して第三者が正規のアクセス権をもたないコンピュータに不正にアクセスする行為も急増している。
【０００５】
通常、このような不具合が発見された場合には、ソフトウェアベンダは、不具合の原因となるプログラムコードの部分を修正する修正プログラム（「アップデータ」あるいは「パッチ」と呼ばれることもある。）を開発し、それを無償でユーザに公開する。そして、ユーザは、公開された修正プログラムを取得し、それを実行させることによりプログラムコードを修正する。
【０００６】
修正プログラムが公開された場合には、ソフトウェアの不具合を解消するため、ユーザはそれをできるだけ早く取得して実行し、プログラムコードを修正する必要がある。それを速やかにおこなう技術として、不具合を有するソフトウェアの修正プログラムの取得およびそれによる修正を自動的におこなう装置が開示されている（特開平１１−２７２４５４号公報参照）。
【０００７】
しかしながら、ソフトウェアの不具合が発見されると、ソフトウェアベンダは、まず不具合の現象を再現し、不具合を修正するための修正プログラムを作成し、その修正プログラムの検証作業を行って、確実にソフトウェアの不具合が修正され、不具合を有する箇所以外のプログラムに悪影響を及ぼさないことを確認した上で、修正プログラムをユーザに公開することが一般的である。このため、ソフトウェアの不具合が発見されてから修正プログラムが公開されるまでには長期間を要し、この特開平１１−２７２４５４号公報に記載の従来技術では、ユーザに修正プログラムを迅速に提供することができないという問題があった。そのため、ユーザは修正プログラムが作成されるまで、プログラムコードを未修正の状態で放置せざるを得ず、その間にソフトウェアの不具合の発生により損害を被る可能性がある。
【０００８】
また、セキュリティホールを利用した不正アクセスを防ぐ方法として、ファイアウォールを構築することが一般的におこなわれている。具体的には、不正アクセスをおこなったコンピュータのＩＰアドレスなどの送信元情報をアクセスログから割り出し、ファイアウォールでは、この送信元情報を含んだコンピュータからのアクセス要求を不正アクセスとして拒否する処理をおこなう。
【０００９】
ただし、この方法では、あるコンピュータからのアクセスが不正アクセスと認定されるまで、そのコンピュータからのアクセスを拒否することができない。そこで、あるコンピュータからのアクセスが、既知の不正アクセスのパターンと一致するかどうかを調べ、一致する場合はそのアクセスを不正アクセスとして拒否する装置が開示されている（特開２００２−３４２２７９公報参照。）。
【００１０】
しかしながら、この特開２００２−３４２２７９公報の従来技術を用いたとしても、新規の不正アクセスに対処するために作成された不正アクセスのパターンを、いかに迅速かつ効率的に取得して不正アクセスに対処するかは依然課題として残っている。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ソフトウェアの不具合を迅速かつ効率よく回避し、ユーザに被害が生じることを防止することのできる保守サービスを提供するソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【発明の開示】
【００１２】
本発明によれば、ソフトウェア保守サービス提供装置において、端末装置に導入されたソフトウェアが不具合を有する場合に、導入されたソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールを記憶手段によって記憶し、出力手段によって、記憶手段に記憶された判定ルールを端末装置に送信し、端末装置おいて、判定ルール取得手段によって出力手段から送信された判定ルールを受信して、受信した判定ルールを組み込み、フィルタリング処理手段によって、導入されたソフトウェアが不具合を有する場合に、ソフトウェアに対する入力を監視して該入力を拒否するか否かを判定ルールに基づいて判定する。
【００１３】
したがって、ユーザが使用しているソフトウェアに不具合が発見された際に、ソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールをユーザに迅速かつ効率的に提供し、不具合を修正するための修正プログラムの公開を待たずに、不具合によってユーザに被害が生じることを迅速に防止することができる。
【００１４】
また、本発明によれば、検索手段によって、判定ルールを記憶手段から検索し、出力手段によって、検索手段により検索された判定ルールを端末装置に送信する。
【００１５】
したがって、ユーザが使用しているソフトウェアに不具合が発見された際に、複数の判定ルールの中から必要な判定ルールのみを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
【００１６】
また、本発明によれば、ソフトウェア保守サービス提供装置の記憶手段によって、端末装置に導入されたソフトウェアがセキュリティホールに関する不具合を有する場合に、セキュリティホールを利用しておこなわれた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶する。
【００１７】
したがって、ユーザが使用しているソフトウェアにセキュリティホールが発見された際に、そのソフトウェアに対する入力を拒否するかどうかを判定するために参照される判定ルールを、ユーザに迅速かつ効率的に提供し、セキュリティホールによってユーザに被害が生じることを迅速に防止することができる。
【００１８】
また、本発明によれば、ソフトウェア保守サービス提供装置において、検索手段によって、端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶手段から検索する。
【００１９】
したがって、ユーザが使用しているソフトウェアのセットアップ環境に必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
【００２０】
また、本発明によれば、ソフトウェア保守サービス提供装置において、検索手段によって、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境情報に基づいた入力の拒否または許可に関する判定条件を定めた判定ルールを記憶手段から検索する。
【００２１】
したがって、ユーザが使用している不具合を有するソフトウェアおよびそのソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
【００２２】
また、本発明によれば、ソフトウェア保守サービス提供装置において、通知手段によって、ソフトウェアの不具合を修正する修正プログラムが端末装置に導入された場合に、修正プログラムによる修正によって不要となった判定ルールを抽出し、抽出された判定ルールに関する通知情報を端末装置に通知し、端末装置において、判定ルール削除手段によって、通知手段から通知された通知情報に基づいて判定ルールを削除する。
【００２３】
したがって、修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
【００２４】
また、本発明によれば、ソフトウェア保守サービス提供装置において、通知手段によって、修正プログラムによる修正によって不要となった判定ルールを、端末装置から受け付けた不具合を有するソフトウェアに関するセットアップ環境に係るセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を端末装置に通知する。
【００２５】
したがって、ソフトウェアのセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
【００２６】
また、本発明によれば、ソフトウェア保守サービス提供装置において、通知手段によって、修正プログラムによる修正によって不要となった判定ルールを、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境情報に基づいて抽出し、抽出された判定ルールに関する通知情報を端末装置に通知する。
【００２７】
したがって、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができる。
【００２８】
また、本発明によれば、端末装置において、判定ルール取得手段によって、予め設定された時刻に判定ルールの送信要求をソフトウェア保守サービス提供装置に送信し、出力手段によって送信された判定ルールを受信して、受信した前記判定ルールを組み込む。
【００２９】
したがって、端末装置はソフトウェア保守サービス提供装置から最新の判定ルールを予め設定された時刻に効率よく取得することができ、取得した判定ルールを参照して不具合を有するソフトウェアに対する入力を拒否するかどうかを判定し、その不具合によってユーザに被害が生じることを防止することができる。
【発明を実施するための最良の形態】
【００３０】
以下に添付図面を参照して、この発明に係るソフトウェア保守サービス提供システム、ソフトウェア保守サービス方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。なお、以下に示す実施の形態１および２では、クライアントコンピュータにＷｅｂページに関するサービスを提供するサーバ処理ソフトウェアにセキュリティホールが存在する場合について説明することとする。
【００３１】
（実施の形態１）
まず、本実施の形態１に係るソフトウェア保守サービス提供システムのシステム全体の構成について説明する。第１図は、本実施の形態１に係るソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【００３２】
同図に示すように、このソフトウェア保守サービス提供システムでは、サーバ処理ソフトウェア１４が導入されたＷｅｂサーバ装置１０、サーバ処理ソフトウェア１４を開発したソフトウェアベンダが設置するソフトウェア保守サービス提供装置１１および一般ユーザが使用するＷｅｂクライアント装置１２ａ〜１２ｃのそれぞれのコンピュータがインターネット１３を介して接続されている。ここでは、説明の便宜上、各コンピュータがインターネット１３を介して接続されていることとしたが、ローカルエリアネットワーク（ＬＡＮ）や広域エリアネットワーク（ＷＡＮ）等のネットワークを介して接続されるとしてもよい。ここで、Ｗｅｂサーバ装置１０は、本発明における端末装置を構成し、ソフトウェア保守サービス提供装置をサーバとして、ソフトウェア保守サービスの提供を受けるクライアントとなる。
【００３３】
Ｗｅｂサーバ装置１０は、サーバ処理ソフトウェア１４を利用して、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのマークアップ言語により記述された各種の情報をＷｅｂクライアント装置１２ａ〜１２ｃに提供するＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ装置である。
【００３４】
ただし、このサーバ処理ソフトウェア１４にはセキュリティホールが存在することがわかっており、そのセキュリティホールに対処するため、ソフトウェアベンダにより作成されたフィルタリングソフトウェア１５がソフトウェア保守サービス提供装置１１からダウンロードされて導入されている。このフィルタリングソフトウェア１５は、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬用の記憶媒体から導入することも可能である。
【００３５】
このフィルタリングソフトウェア１５は、Ｗｅｂクライアント装置１２ａ〜１２ｃがＷｅｂサーバ装置１０へアクセスする際のサーバ処理ソフトウェア１４に対するＨＴＴＰリクエストを受信して、そのＨＴＴＰリクエストがソフトウェアベンダが作成した判定ルール１６で拒否するよう定めたものである場合には、それを拒否するものである。また、フィルタリングソフトウェア１５は、ソフトウェアごとに存在するものであるが、これに限られるものではなく、単一のフィルタリングソフトウェアによって複数のソフトウェアを対象として、対象となる複数のソフトウェアに対するアクセス拒否を行うように構成することも可能である。
【００３６】
ここで、判定ルールとは、Ｗｅｂサーバ装置１０に導入されたソフトウェアが不具合を有する場合に、このソフトウェアに対する外部からの入力の拒否または許可を判断する判定条件を定めたものである。この判定ルールは、Ｗｅｂサーバ装置１０に搭載されているサーバ処理ソフトウェア１４などのソフトウェアにセキュリティホールが発見された場合に、ソフトウェア保守サービス提供装置１１の管理者などが発見されたセキュリティホールに対応して作成するものであるが、ソフトウェア保守サービス提供装置１１側で、発見されたセキュリティホールの内容を判断して、判定ルールを自動的に生成するように構成してもよい。
【００３７】
第１図に示した判定ルール１６のデータ構造について説明する。第２図は、第１図に示した判定ルール１６のデータ構造の一例を示す図である。同図に示すように、判定ルール１６のデータ構造は、個々の判定ルールのＩＤ番号とそれに対応した判定ルールとで構成される。判定ルールは、一般的には次のような構造を有している。
【００３８】
（命令，｛判定条件｝）
【００３９】
命令とは、ＨＴＴＰリクエストなどの外部からのアクセスを拒否するか、あるいは許可するかを示すものである。判定条件は、命令であるアクセス拒否またはアクセス許可を行うために判断される条件である。例えば、第２図に示すように、ＩＤ番号が１の判定ルールは、「ｐｈｆ」というファイル名のＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）プログラムを指定したＷｅｂクライアント装置２０ａ〜２０ｃからのＨＴＴＰリクエストを拒否するものである。これにより、「ｐｈｆ」というファイル名のＣＧＩプログラムを起動するとサーバ処理ソフトウェアに不正アクセスが可能になる状況が生じるような場合に、それを回避することができる。
【００４０】
ここで、「ｄｅｎｙ」は「｛」と「｝」とで挟まれた判定条件が満足される場合にＨＴＴＰリクエストを拒否することを指示した命令である。そして、「｛」と「｝」とで挟まれる判定条件は、判定対象（ここでは、ｃｇｉ＿ｎａｍｅ）と判定式（ここでは、ｅｑｕａｌ  ”ｐｈｆ”）から構成される。
【００４１】
ＩＤ番号が２の判定ルールは、ＣＧＩプログラムの引数（引数名ｉｎｐｕｔ１）に対する１２８文字より長い文字列入力のＨＴＴＰリクエストを拒否するものである。また、ＩＤ番号が３の判定ルール１７は、指定されたＣＧＩプログラムのファイル名が「ｂｂｓ．ｐｌ」で、かつ、そのＣＧＩプログラムの引数（引数名ｉｎｐｕｔ２）に対する１２８文字より長い文字列入力のＨＴＴＰリクエストがあった場合に、それを拒否するものである。
【００４２】
ここで、「ａｎｄ」は２つの判定条件を結合するもので、２つの判定条件が同時に満足されたときに、命令「ｄｅｎｙ」を実行する。また、「ａｎｄ」の代わりに「ｏｒ」という結合子を用いることも可能である。「ｏｒ」は２つの判定条件を結合し、結合された判定条件の少なくとも一つが満足された場合に命令を実行する。判定ルールは、同図に示されるように、いくつでも定義することができる。
【００４３】
第１図の説明に戻ると、ソフトウェア保守サービス提供装置１１は、Ｗｅｂサーバ装置１０に対して、セキュリティホールを有するサーバ処理ソフトウェア１４の保守サービスを提供する装置である。ソフトウェア保守サービス提供装置１１は、フィルタリングソフトウェア１５で参照される、ソフトウェアベンダにより作成された拒否すべきさまざまな入力を定めた判定ルール１６をデータベースに蓄積し、セキュリティホールを有するサーバ処理ソフトウェア１４のユーザ（ここでは、Ｗｅｂサーバ装置１０の管理者）にそれを公開する。また、ユーザに対して、ソフトウェアベンダが作成したサーバ処理ソフトウェア１４、また同じくソフトウェアベンダが作成したフィルタリングソフトウェア１５のダウンロードサービスも併せておこなう。
【００４４】
Ｗｅｂクライアント装置１２ａ〜１２ｃは、一般ユーザが搭載されたＷｅｂブラウザを利用してＷｅｂサーバ装置１０にアクセスし、サーバ処理ソフトウェア１４との間で情報の授受をおこなうインターネット端末装置である。
【００４５】
Ｗｅｂサーバ装置１０の管理者は、公開された判定ルール１６の中から、サーバ処理ソフトウェア１４のセットアップ環境に必要十分な判定ルール１６をソフトウェア保守サービス提供装置１１からダウンロードし、それをフィルタリングソフトウェア１５に組み込むことができる。
【００４６】
ここで、セットアップ環境とは、サーバ処理ソフトウェア１４のバージョンと、サーバ処理ソフトウェア１４の実行に必要となる関連ソフトウェアの種類およびバージョンとを意味する。関連ソフトウェアの例としては、主として、共有プログラム（ＤＬＬ：Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）、ＯＳ、アプリケーションソフトウェア、各種ドライバ、プラグイン、修正プログラム（パッチ、アップデータ）などが挙げられる。なお、この他、サーバ処理ソフトウェア１４を必要とするプログラムなども関連ソフトウェアに含めることは可能である。
【００４７】
判定ルール１６は、単にセキュリティホールを利用した不正アクセスによるＨＴＴＰリクエストのパターンを記述し、それと同じＨＴＴＰリクエストを受信した場合に拒否するよう定めただけのものであるので、サーバ処理ソフトウェア１４自体を修正する修正プログラムを作成する場合に比べ、短時間のうちに作成することができる。したがって、より迅速にセキュリティホールに対処することができ、Ｗｅｂサーバ装置１０の被害を食い止めることができる。
【００４８】
次に、第１図に示したソフトウェア保守サービス提供装置１１の構成について説明する。第３図は、第１図に示したソフトウェア保守サービス提供装置１１の構成を示す機能ブロック図である。
【００４９】
同図に示すように、ソフトウェア保守サービス提供装置１１は、インターフェース部３１と、入力部３２と、表示部３３と、記憶部３４と、制御部３５とを有する。インターフェース部３１は、インターネット１３を介してＷｅｂサーバ装置１０とのデータの授受をおこなうネットワークインターフェースであり、具体的にはＴＣＰ／ＩＰプロトコルにしたがった処理をおこなう。
【００５０】
入力部３２は、キーボードやマウスなどの入力デバイスであり、ソフトウェアベンダが作成した判定ルール１６の入力などをおこなうことができる。表示部３３は、ディスプレイや液晶パネルなどの表示デバイスである。記憶部３４は、ハードディスク装置などの記憶デバイス（記憶手段）である。
【００５１】
記憶部３４には、サーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６と、セットアップ環境対応情報３６とが記憶されている。サーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６とはＷｅｂサーバ装置１０へのダウンロードが可能である。また、判定ルール１６には、新しく発見されたセキュリティホールに対処するためにソフトウェアベンダが作成した判定ルールが順次追加される。サーバ処理ソフトウェア１４、フィルタリングソフトウェア１５および判定ルール１６については、第１図および第２図ですでに説明をおこなっているので説明を省略する。
【００５２】
セットアップ環境対応情報３６は、セキュリティホールを有するサーバ処理ソフトウェア１４のセットアップ環境と、そのセットアップ環境においてセキュリティホールに対処するために必要な判定ルールのＩＤ番号を組にして記憶したデータファイルである。
【００５３】
ここで、第３図に示したセットアップ環境対応情報３６のデータ構造について説明する。第４図は、第３図に示したセットアップ環境対応情報３６のデータ構造の一例を示す図である。同図に示すように、セットアップ環境対応情報３６は、セットアップ環境情報と、そのセットアップ環境に必要な判定ルールのＩＤ番号情報との組から構成される。
【００５４】
この例では、セキュリティホールを有するバージョンが２．１のサーバ処理ソフトウェア１４に対しては、そのセキュリティホールに対処するために、１〜２０、２２〜２４、２６および３３〜４５のＩＤ番号をもつ判定ルールが必要であることを示している。また、バージョンが２．２のサーバ処理ソフトウェア１４に対しては、１〜２０、２２〜２４、２６および３３〜３７のＩＤ番号をもつ判定ルールが必要であることを示している。
【００５５】
また、バージョンが２．２のサーバ処理ソフトウェア１４に、「１００１」という番号が付与された修正プログラムを導入したセットアップ環境に対しては、１〜２０、２２〜２４、２６の判定ルールが必要であることを示している。これは、修正プログラム１００１の導入によりサーバ処理ソフトウェア１４の一部のセキュリティホールが解消され、判定ルール３３〜３７が不要になった状況を示している。
【００５６】
このようなセットアップ環境対応情報３６を参照することで、ソフトウェア保守サービス提供装置１１は、サーバ処理ソフトウェア１４のセットアップ環境に必要十分な判定ルールをＷｅｂサーバ装置１０に出力して、フィルタリングソフトウェア１５に組み込むことができる。セットアップ環境とそれに必要な判定ルールのＩＤ番号の組は、同図に示されるように、いくつでも定義することができる。
【００５７】
第３図の説明に戻ると、制御部３５は、ソフトウェア保守サービス提供装置１１全体を制御する制御部であり、ソフトウェア出力部３７と、判定ルール検索部３８と、判定ルール出力部３９とを有する。
【００５８】
ソフトウェア出力部３７は、Ｗｅｂサーバ装置１０からサーバ処理ソフトウェア１４またはフィルタリングソフトウェア１５のダウンロード要求があった場合に、それをＷｅｂサーバ装置１０に出力する出力部である。判定ルール検索部３８は、Ｗｅｂサーバ装置１０に導入されたサーバ処理ソフトウェア１４のセットアップ環境に対応する判定ルール１６を、記憶部３４から検索する検索部（検索手段）である。
【００５９】
判定ルール出力部３９は、判定ルール検索部３８で検索された判定ルール１６をＷｅｂサーバ装置１０に送信する出力部（出力手段）である。判定ルール出力部３９は、判定ルール１６の送信が終了した際に、その旨をＷｅｂサーバ装置１０に通知する処理もおこなう。
【００６０】
次に、第１図に示したＷｅｂサーバ装置１０の構成について説明する。第５図は、第１図に示したＷｅｂサーバ装置１０の構成を示す機能ブロック図である。同図に示すように、Ｗｅｂサーバ装置１０は、インターフェース部５１と、入力部５２と、表示部５３と、記憶部５４と、制御部５５とを有する。
【００６１】
インターフェース部５１は、インターネット１３を介してソフトウェア保守サービス提供装置１１およびＷｅｂクライアント装置１２ａ〜１２ｃとのデータの授受をおこなうネットワークインターフェースであり、具体的にはＴＣＰ／ＩＰプロトコルにしたがった処理をおこなう。
【００６２】
入力部５２は、キーボードやマウスなどの入力デバイスであり、表示部５３は、ディスプレイや液晶パネルなどの表示デバイスであり、記憶部５４は、ハードディスク装置などの記憶デバイス（判定ルール記憶手段）である。この記憶部５４には、判定ルール１６と、ハイパーテキスト５６とが記憶されている。
【００６３】
判定ルール１６は、ソフトウェア保守サービス提供装置１１の判定ルール出力部３９により出力されたサーバ処理ソフトウェア１４のセットアップ環境に対応するものをインターネット１３経由でダウンロードして記憶したものである。ハイパーテキスト３９は、Ｗｅｂクライアント装置１２ａ〜１２ｃに配信するウィンドウ画面を形成するハイパーテキストである。
【００６４】
制御部５５は、Ｗｅｂサーバ装置１０全体を制御する制御部であり、判定ルール取得部５７と、フィルタリング処理部５８と、ＨＴＴＰサーバ処理部５９とを有する。
【００６５】
判定ルール取得部５７は、本発明における判定ルール取得手段を構成し、セキュリティホールを有するサーバ処理ソフトウェア１４のセットアップ環境に必要十分な判定ルール１６をソフトウェア保守サービス提供装置１１から取得するものである。
【００６６】
具体的には、判定ルール１６をダウンロードする要求をＷｅｂサーバ装置１０の管理者から受け付け、サーバ処理ソフトウェア１４のセットアップ環境を調査してその情報をソフトウェア保守サービス提供装置１１に送信し、その後、そのセットアップ環境に対応した、ソフトウェア保守サービス提供装置１１から出力された判定ルール１６を記憶部５４に記憶するといった処理をおこなう。
【００６７】
フィルタリング処理部５８は、本発明におけるフィルタリング処理手段を構成し、Ｗｅｂクライアント装置１２ａ〜１２ｃがＷｅｂサーバ装置１０へアクセスする際のサーバ処理ソフトウェア１４に対するＨＴＴＰリクエストを受信して、そのＨＴＴＰリクエストが判定ルール１６で拒否するよう定めたものであるかどうかを調べ、拒否するよう定めたＨＴＴＰリクエストであった場合にはそれを拒否するものである。判定ルール取得部５７およびフィルタリング処理部５８の機能は、Ｗｅｂサーバ装置１０に導入されたフィルタリングソフトウェア１５により実現されるものである。
【００６８】
ＨＴＴＰサーバ処理部５９は、Ｗｅｂクライアント装置１２ａ〜１２ｃに対してＨＴＴＰサーバとしての機能を提供するための処理部であり、具体的には、Ｗｅｂクライアント装置１２ａ〜１２ｃからのアクセスを受け付けた際に、記憶部５４に記憶したハイパーテキスト５６を読み出して、該当するＷｅｂクライアント装置１２ａ〜１２ｃに送信する処理などをおこなう。
【００６９】
次に、本実施の形態１に係るソフトウェア保守サービス提供システムの判定ルールを組み込む処理の処理手順について説明する。第６図は、本実施の形態１に係るソフトウェア保守サービス提供システムの判定ルールを組み込む処理の処理手順を示すフローチャートである。
【００７０】
同図に示すように、まず、ソフトウェア保守サービス提供装置１１が判定ルール１６のダウンロード要求待ちの状態にある間に、Ｗｅｂサーバ装置１０がダウンロード要求をおこなう（ステップＳ６０１〜Ｓ６０２）。その際、Ｗｅｂサーバ装置１０は、すでに取得している判定ルール１６に係る情報を併せて送信する。
【００７１】
要求を受け付けたソフトウェア保守サービス提供装置１１は、セキュリティホールを有するＷｅｂサーバソフトウェアのセットアップ環境の情報を送信するようＷｅｂサーバ装置１０に対し要求する（ステップＳ６０３）。
【００７２】
そして、Ｗｅｂサーバ装置１０は、セットアップ環境の調査をおこない（ステップＳ６０４）、それによって得られたセットアップ環境の情報をソフトウェア保守サービス提供装置１１に送信する（ステップＳ６０５）。このセットアップ環境の調査は、具体的には、ソフトウェアのセットアップ環境を記述した設定ファイル（たとえば、Ｗｉｎｄｏｗｓ（登録商標）におけるレジストリファイルなど）等を参照しておこなうことができる。
【００７３】
そして、ソフトウェア保守サービス提供装置１１は、Ｗｅｂサーバ装置２２から送信されたセットアップ環境の情報を受け付け（ステップＳ６０６）、それに対応する判定ルールをセットアップ環境対応情報３６から検索し（ステップＳ６０７）、セットアップ環境に必要十分な判定ルール１６をＷｅｂサーバ装置２２に送信する（ステップＳ６０８）。
【００７４】
Ｗｅｂサーバ装置１０の判定ルール取得部５７は、送信された判定ルールをフィルタリングソフトウェア１５に参照データとして組み込んで（ステップＳ６０９）、得られた判定ルール１６をフィルタリング処理部５８で参照してサーバ処理ソフトウェア１４に対するＨＴＴＰリクエストの許可あるいは拒否の判定をおこなう。ここで、判定ルール取得部５７による判定ルールのフィルタリングソフトウェア１５への組み込みは、既に判定ルールが存在する場合には、既存の判定ルールの最後に送信された判定ルールをコピーして追加したり、まだ判定ルールが存在しない場合には、送信された判定ルールを新たな判定ルールとしてコピーするなどの処理によって行われる。この際、既存の判定ルールと送信された新たな判定ルールとを、時系列順あるいは判定ルールＩＤ番号順にソートしたり、判定条件の種類別にソートするような処理を行うことも可能である。
【００７５】
第７図は、第３図に示したＷｅｂサーバ装置１０に判定ルール１６が送信された際にＷｅｂサーバ装置１０に表示される画面表示の一例を示す図である。同図に示すように、Ｗｅｂサーバ装置１０におけるサーバ処理ソフトウェア１４のセットアップ環境（サーバ処理ソフトウェアバージョン２．２＋修正プログラム１００１）と、そのセットアップ環境に対応した判定ルール１６の送信が終了したことを示すメッセージがＷｅｂサーバ装置１０の画面に表示され、Ｗｅｂサーバ装置１０の管理者に通知される。
【００７６】
次に、本実施の形態１に係るフィルタリングソフトウェア１５のＨＴＴＰリクエスト判定処理の処理手順について説明する。第８図は、本実施の形態１に係るフィルタリングソフトウェア１５のＨＴＴＰリクエスト判定処理の処理手順を示すフローチャートである。
【００７７】
同図に示すように、まず、フィルタリングソフトウェア１５はＷｅｂクライアント装置１２ａ〜１２ｃからのサーバ処理ソフトウェア１４へのＨＴＴＰリクエストをサーバ処理ソフトウェア１４に代わって受信する（ステップＳ８０１）。そして、個々の判定ルール１６をＨＴＴＰリクエストに適用し（ステップＳ８０２）、判定ルール１６による判定の結果が拒否命令（ｄｅｎｙ）であるかどうかを調べる（ステップＳ８０３）。
【００７８】
判定の結果が拒否命令である場合には（ステップＳ８０３，Ｙｅｓ）、そのＨＴＴＰリクエストの受け付けを拒否してそのリクエストを破棄し（ステップＳ８０４）、ＨＴＴＰリクエストのサーバ処理ソフトウェア１４への転送は行わない。そして、そのＨＴＴＰリクエストを送信したＷｅｂクライアント装置１２ａ〜１２ｃに対してそのＨＴＴＰリクエストの拒否通知を送信する（ステップＳ８０５）。
【００７９】
判定ルール１６による判定の結果が拒否命令ではない場合には（ステップＳ８０５，Ｎｏ）、そのＨＴＴＰリクエストを受け付け（ステップＳ８０６）、それをサーバ処理ソフトウェア１４に転送する（ステップＳ８０７）。
【００８０】
上述してきたように、本実施の形態１によれば、セキュリティホールを有するサーバ処理ソフトウェア１４を使用しているＷｅｂサーバ装置１０の管理者が、フィルタリングソフトウェア１５を導入し、入力を拒否するかどうかを判定する判定ルール１６をソフトウェア保守サービス提供装置１１からネットワークを介してダウンロードしてフィルタリングソフトウェア１５に組み込むよう構成したので、セキュリティホールが発見された場合にそれに対処するための判定ルール１６を迅速かつ効率的に利用することができ、そのセキュリティホールによってＷｅｂサーバ装置１０に被害が生じることを防止することができる。
【００８１】
なお、上述した実施の形態１においては、Ｗｅｂサーバ装置１０からの要求に応じてソフトウェア保守サービス提供装置１１から判定ルール１６をダウンロードすることとしたが、このダウンロード要求の送信を予め設定された時刻にＷｅｂサーバ装置１０の判定ルール取得部５７が自動的におこなうこととしてもよい。これは、タイマー装置やソフトウェアタイマーを利用して、判定ルール取得部５７に、予め設定された時刻に判定ルール１６のダウンロード要求をソフトウェア保守サービス提供装置１１に送信する機能を追加することで容易に実現することができる。
【００８２】
これにより、新たな判定ルール１６が追加されたかどうかを定期的に調べることなどが可能になり、セキュリティホールに対処するための判定ルール１６を迅速かつ効率的にダウンロードして利用することが可能になる。
【００８３】
（実施の形態２）
ところで、上記実施の形態１で説明したソフトウェア保守サービス提供システムでは、サーバ処理ソフトウェア１４のセキュリティホールに対処するためにソフトウェアベンダにより作成された判定ルール１６を、Ｗｅｂサーバ装置１０に導入されたフィルタリングソフトウェア１５に参照データとして組み込むこととしたが、さらに、修正プログラムが導入された際に、セキュリティホールが解消されて不要になった判定ルール１６を自動的に削除するよう構成することもできる。
【００８４】
そこで、本実施の形態２では、修正プログラムが導入された際に、その導入によって不要になった判定ルール１６を削除する場合について説明する。この場合、判定ルールをソフトウェア保守サービス提供装置１１からダウンロードし、Ｗｅｂサーバ装置１０に導入されたフィルタリングソフトウェア１５に参照データとして組み込む手順は実施の形態１と同様であるので、ここでは修正プログラムの導入後の処理について説明をおこなうこととする。
【００８５】
まず、本実施の形態２に係るソフトウェア保守サービス提供システムのシステム全体の構成について説明する。第９図は、ソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。なお、ここでは説明の便宜上、第１図に示した各要素と同様の役割を果たすものについては同一符号を付すこととしてその詳細な説明を省略する。
【００８６】
同図に示すように、Ｗｅｂサーバ装置１０の管理者は、インターネット１３に接続されているＷｅｂサーバ装置１０に導入されたサーバ処理ソフトウェア１４を利用して、ＨＴＭＬなどのマークアップ言語により記述された各種の情報を一般ユーザが使用するＷｅｂクライアント装置１２ａ〜１２ｃに提供している。ただし、このサーバ処理ソフトウェア１４にはセキュリティホールが存在することがわかっており、それに対処するため、ソフトウェアベンダにより作成されたフィルタリングソフトウェア１５が導入されている。
【００８７】
ソフトウェアベンダ１１は、そのセキュリティホールに対処するため、修正プログラム９０を作成し、Ｗｅｂサーバ装置１０の管理者にそれをダウンロードするよう電子メール等で通知する。そして、Ｗｅｂサーバ装置１０の管理者は、サーバ処理ソフトウェア１４のプログラムコードを修正する修正プログラム９０をダウンロードして実行し、それによってセキュリティホールを解消する。
【００８８】
その後、修正プログラム９０は、ソフトウェア保守サービス提供装置１１に対し、修正プログラム９０の実行によって不要となった判定ルール１６のＩＤ番号を通知するよう通知要求を自動送信する。その通知要求を受け付けたソフトウェア保守サービス提供装置１１は、修正プログラム９０の実行により不要となった、削除する判定ルール１６のＩＤ番号を抽出し、抽出されたＩＤ番号を修正プログラム９０に通知する。通知を受けた修正プログラム９０は、そのＩＤ番号に該当する判定ルール１６を削除する。
【００８９】
次に、第９図に示したソフトウェア保守サービス提供装置１１の構成について説明する。第１０図は、第９図に示したソフトウェア保守サービス提供装置１１の構成を示す機能ブロック図である。なお、説明の便宜上、第３図に示した実施の形態１におけるソフトウェア保守サービス提供装置１１の各部と同様の役割を果たす機能部については、同一符号を付すこととしてその詳細な説明を省略する。
【００９０】
同図に示すように、ソフトウェア保守サービス提供装置１１は、記憶部３４に修正プログラム９０がさらに記憶され、制御部３５に削除判定ルールＩＤ番号出力部１００がさらに追加された点が実施の形態１とは異なる。修正プログラム９０は、セキュリティホールを有するサーバ処理ソフトウェア１４のプログラムコードを修正するプログラムであり、ソフトウェア出力部３７を通じてＷｅｂサーバ装置１０の管理者がダウンロードして実行することができるものである。この修正プログラム９０は、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬用の記憶媒体から導入することも可能である。
【００９１】
また、この修正プログラム９０は、プログラムコードの修正によって不要になった判定ルール１６を削除する機能を備えており、Ｗｅｂサーバ装置１０で実行されるとソフトウェア保守サービス提供装置１１に対し削除すべき判定ルールのＩＤ番号の問い合わせをおこなう。
【００９２】
制御部３５の削除判定ルールＩＤ番号出力部１００は、修正プログラム９０からのＩＤ番号の問い合わせを受け付けた際に、修正プログラム９０の導入により不要となった削除する判定ルールのＩＤ番号を抽出し、そのＩＤ番号を修正プログラム９０に対し出力するものである。ここで、削除判定ルールＩＤ番号出力部１００は本発明における通知手段を構成し、判定ルールのＩＤ番号は本発明における通知情報を構成する。
【００９３】
削除する判定ルールのＩＤ番号は、具体的には、判定ルール検索部３８が、修正プログラム９０の導入前後のサーバ処理ソフトウェア１４のセットアップ環境に対応する判定ルール１６を記憶部２６から検索し、削除判定ルールＩＤ番号出力部１００が、修正プログラム９０の導入前のセットアップ環境に対応する判定ルールに含まれ、かつ、その導入後のセットアップ環境に対応する判定ルールには含まれないものを抽出することで取得することができる。
【００９４】
次に、第９図に示したＷｅｂサーバ装置１０の構成について説明する。第１１図は、第９図に示したＷｅｂサーバ装置１０の構成を示す機能ブロック図である。同図に示すように、Ｗｅｂサーバ装置１０は、制御部５５のＨＴＴＰサーバ処理部５９に修正プログラム９０が導入されていることが、実施の形態１とは異なる。
【００９５】
この修正プログラム９０は、削除判定ルールＩＤ番号取得部１１０と判定ルール削除部１１１とを備える。削除判定ルールＩＤ番号取得部１１０は、修正プログラム９０の導入により不要となった判定ルール１６のＩＤ番号をソフトウェア保守サービス提供装置１１に問い合わせ、そのＩＤ番号を取得するものである。判定ルール削除部１１１は、削除判定ルールＩＤ番号取得部１１０により取得されたＩＤ番号を有する判定ルール１６を削除するものである。
【００９６】
次に、本実施の形態２に係るソフトウェア保守サービス提供システムの判定ルールを削除する削除処理の処理手順について説明する。第１２図は、本実施の形態２に係るソフトウェア保守サービス提供システムの判定ルールを削除する削除処理の処理手順を示すフローチャートである。
【００９７】
同図に示すように、まず、Ｗｅｂサーバ装置１０で修正プログラム９０を実行すると（ステップＳ１２０１）、修正プログラム９０は、修正プログラム９０の実行によって不要となった判定ルール１６のＩＤ番号の通知要求をソフトウェア保守サービス提供装置１１に対して送信する（ステップＳ１２０２）。
【００９８】
ソフトウェア保守サービス提供装置１１が、ＩＤ番号の通知要求待ちの状態にある間にその通知要求を受信すると（ステップＳ１２０３）、ソフトウェア保守サービス提供装置１１は、セキュリティホールを有するサーバ処理ソフトウェア１４のセットアップ環境の情報を送信するようＷｅｂサーバ装置１０に対し要求する（ステップＳ１２０４）。
【００９９】
その要求を受け付けたＷｅｂサーバ装置１０は、セットアップ環境の調査をおこない（ステップＳ１２０５）、それによって得られたセットアップ環境の情報をソフトウェア保守サービス提供装置１１に送信する（ステップＳ１２０６）。このセットアップ環境の調査は、具体的には、ソフトウェアのセットアップ環境を記述した設定ファイル（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）におけるレジストリファイルなど）等を参照しておこなうことができる。
【０１００】
そして、ソフトウェア保守サービス提供装置１１は、Ｗｅｂサーバ装置１０から送信された修正プログラム９０の導入後のセットアップ環境の情報を受け付け（ステップＳ１２０７）、その導入後のセットアップ環境に対応する判定ルールを検索する（ステップＳ１２０８）。さらに、ソフトウェア保守サービス提供装置１１は、その修正プログラム９０の導入前のセットアップ環境に対応する判定ルールを検索する（ステップＳ１２０９）。
【０１０１】
その後、ソフトウェア保守サービス提供装置１１は、修正プログラム９０の導入前のセットアップ環境に対応する判定ルール１６に含まれ、その導入後のセットアップ環境に対応する判定ルール１６に含まれない判定ルール１６のＩＤ番号を、削除する判定ルール１６のＩＤ番号として抽出する（ステップＳ１２１０）。
【０１０２】
そして、抽出した削除する判定ルール１６のＩＤ番号をＷｅｂサーバ装置１０の修正プログラム９０に通知する（ステップＳ１２１１）。通知を受けた修正プログラム９０は、そのＩＤ番号を参照して不要な判定ルール１６を削除する（ステップＳ１２１２）。
【０１０３】
第１３図は、第１１図に示したＷｅｂサーバ装置２２に削除する判定ルール１６のＩＤ番号が送信された際にＷｅｂサーバ装置１０に表示される画面表示の一例を示す図である。同図に示すように、削除する判定ルール１６のＩＤ番号がＷｅｂサーバ装置１０に送信されると、修正プログラム９０の実行が済んだ後のセットアップ環境を示すメッセージと、削除する判定ルール１６のＩＤ番号の送信が完了したことを示すメッセージとがＷｅｂサーバ装置１０の画面に表示され、Ｗｅｂサーバ装置１０の管理者はそれらを確認することができる。
【０１０４】
上述してきたように、本実施の形態２によれば、修正プログラム９０の実行によりセキュリティホールが解消された際に、修正プログラム９０は、不要になった判定ルール１６のＩＤ番号の通知要求をソフトウェア保守サービス提供装置１１に送信し、ソフトウェア保守サービス提供装置１１は、不要になった判定ルール１６のＩＤ番号を抽出して修正プログラム９０に通知し、修正プログラム９０は、通知されたＩＤ番号を有する判定ルール１６を削除することとしたので、フィルタリングソフトウェア１５が参照する判定ルール１６の数を低減することができ、フィルタリングソフトウェアが効率的にＨＴＴＰリクエストの許可または拒否の判定をおこなえるようにすることができる。
【０１０５】
次に、実施の形態１および２に係るソフトウェア保守サービス提供装置１１のハードウェア構成について説明する。第１４図は、実施の形態１および２に係るソフトウェア保守サービス提供装置１１のハードウェア構成を示す構成図である。
【０１０６】
同図に示すように、ソフトウェア保守サービス提供装置１１は、本体部１４０と、本体部１４０からの指示によって表示画面に画像などの情報を表示するためのディスプレイ１４１と、このソフトウェア保守サービス提供装置１１に種々の情報を入力するためのキーボード１４２と、ディスプレイ１４１の表示画面上の任意の位置を指定するためのマウス１４３とを備える。
【０１０７】
また、このソフトウェア保守サービス提供装置１１の本体部１４０は、ＣＰＵ１４８と、ＲＡＭ１４９と、ＲＯＭ１５０と、ハードディスクドライブ（ＨＤＤ）１５１と、ＣＤ−ＲＯＭを受け入れるＣＤ−ＲＯＭドライブ１５２と、フレキシブルディスク（ＦＤ）を受け入れるＦＤドライブ１５３と、ディスプレイ１４１、キーボード１４２並びにマウス１４３を接続するＩ／Ｏインターフェース１５４と、ローカルエリアネットワークまたは広域エリアネットワーク（ＬＡＮ／ＷＡＮ）に接続するＬＡＮインターフェース１５５とを備える。
【０１０８】
実施の形態１においては、ハードディスクドライブ１５１には、サーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６と、セットアップ環境対応情報３６とが記憶される。実施の形態２においては、それらに加えさらに修正プログラム９０が記憶される。
【０１０９】
さらに、このソフトウェア保守サービス提供装置１１には、インターネット１３などの公衆回線１４８に接続するためのモデム１４４が接続されるとともに、ＬＡＮインターフェース１５５およびＬＡＮ／ＷＡＮを介して、他のコンピュータシステム（ＰＣ）１４５、サーバ１４６並びにプリンタ１４７などが接続される。
【０１１０】
サーバ処理ソフトウェア１４、フィルタリングソフトウェア１５、判定ルール１６および修正プログラム９０は、ＬＡＮインターフェース１５５あるいはモデム１４４を介して、Ｗｅｂサーバ装置１０にダウンロードされる。新規の判定ルール１６の追加は、キーボード１４２からの入力によるか、ＣＤ−ＲＯＭドライブ１５２によるＣＤ−ＲＯＭからの入力、ＦＤドライブ１５３によるフレキシブルディスクからの入力、ＬＡＮインターフェース１５５を介したＬＡＮ／ＷＡＮ経由での入力、モデム１４４を介した公衆回線１４８経由での入力によりおこなうことができる。そして、判定ルール１６が新規に追加された際に、ＣＰＵ１４８は、セットアップ環境対応情報３６を更新する処理をおこなう。
【０１１１】
次に、実施の形態１および２に係るＷｅｂサーバ装置１０のハードウェア構成について説明する。第１５図は、実施の形態１および２に係るＷｅｂサーバ装置１０のハードウェア構成を示す構成図である。なお、ここでは説明の便宜上、第１４図に示した各要素と同様の役割を果たすものについては同一符号を付すこととしてその詳細な説明を省略する。
【０１１２】
実施の形態１においては、Ｗｅｂサーバ装置１０の本体部１４０のハードディスクドライブ（ＨＤＤ）１５１には、ＬＡＮインターフェース１５５を介したＬＡＮ／ＷＡＮ経由あるいはモデム１４４を介した公衆回線１４８経由でダウンロードしたサーバ処理ソフトウェア１４と、フィルタリングソフトウェア１５と、判定ルール１６とが記憶される。実施の形態２においては、ＬＡＮ／ＷＡＮ経由あるいは公衆回線１４８経由でダウンロードした修正プログラム９０によって、実施の形態１のサーバ処理ソフトウェア１４に修正が加えられたものが記憶される。
【０１１３】
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてもよいものである。
【０１１４】
例えば、本実施の形態では、セキュリティホールを有するソフトウェアがサーバ処理ソフトウェア１４である場合を示したが、対象となるソフトウェアは、ソフトウェアの外部からの入力を受け付けるものであれば任意のものでよい。また、ソフトウェアの不具合は、不正アクセスに利用されるセキュリティホールに限定されず、ソフトウェアのユーザ自身の入力によって引き起こされるようなソフトウェアのプログラムコードの誤り（バグ）によるものなどでもよい。
【０１１５】
また、本実施の形態では、フィルタリングソフトウェア１５がＨＴＴＰリクエストに対し許可または拒否の判定をすることとしたが、本発明はこれに限定されるものではなく、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのプロトコルによる入力、ｔｅｌｎｅｔによる入力など、不具合を有するソフトウェアに対するあらゆる入力を対象とすることができる。
【０１１６】
さらに、本実施の形態では、第２図に示した判定ルールのデータ構造において、判定条件が満足された場合に入力を拒否することを命令「ｄｅｎｙ」を用いて指示することとしたが、判定条件が満足された場合に入力を許可することを命令「ａｌｌｏｗ」を用いて指示することとしてもよい。
【０１１７】
また、本実施の形態では、ソフトウェアベンダがフィルタリングソフトウェア１５および判定ルール１６を作成し提供することとしたが、以下に示すように、それらをソフトウェアベンダ以外のサードパーティが作成し提供することとしてもよい。
【０１１８】
第１６図は、サードパーティがフィルタリングソフトウェア１５を提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す説明図である。同図に示すように、このソフトウェア保守サービス提供システムは、セキュリティホールを有するサーバ処理ソフトウェア１４に対し、フィルタリングソフトウェア１５をサードパーティが作成してサードパーティのソフトウェア保守サービス提供装置１６０がそれを提供し、フィルタリングソフトウェア１５が参照する判定ルール１６をソフトウェアベンダが作成してソフトウェアベンダのソフトウェア保守サービス提供装置１１がそれを提供するシステムである。
【０１１９】
図には示さないが、これとは逆に、フィルタリングソフトウェア１５をソフトウェアベンダが作成してソフトウェアベンダのソフトウェア保守サービス提供装置１１がそれを提供し、判定ルール１６をサードパーティが作成してサードパーティのソフトウェア保守サービス提供装置１６０がそれを提供するソフトウェア保守サービス提供システムとしてもよい。
【０１２０】
第１７図は、サードパーティがフィルタリングソフトウェア１５と判定ルール１６とを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。同図に示すように、このソフトウェア保守サービス提供システムは、サーバ処理ソフトウェア１４に対し、フィルタリングソフトウェア１５およびフィルタリングソフトウェア１５が参照する判定ルール１６をサードパーティ１３０が作成してサードパーティのソフトウェア保守サービス提供装置１６０がそれを提供するシステムである。
【０１２１】
第１８図は、ソフトウェアベンダに加えて複数のサードパーティが判定ルールを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。同図に示すように、このソフトウェア保守サービス提供システムは、サーバ処理ソフトウェア１４に対し、ソフトウェアベンダに加えて複数のサードパーティＡ〜Ｃが作成した判定ルールＡ〜Ｄ（１６ａ〜１６ｄ）をサードパーティＤのソフトウェア保守サービス提供装置１６０が提供するシステムである。
【０１２２】
なお、この場合、フィルタリングソフトウェア１５はサードパーティＡ〜Ｄあるいはソフトウェアベンダのいずれが作成してもよく、また判定ルールＡ〜Ｄ（１６ａ〜１６ｄ）をダウンロードすることのできるソフトウェア保守サービス提供装置１６０はサードパーティＡ〜Ｄまたはソフトウェアベンダのいずれが設置してもよい。
【０１２３】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。このほか、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のとおりに構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置で行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよびそのＣＰＵで解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されうる。
【０１２５】
なお、本実施の形態で説明したソフトウェア保守サービス提供方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【０１２６】
（本発明の効果）
以上説明したように、  本発明によれば、ユーザが使用しているソフトウェアに不具合が発見された際に、ソフトウェアに対する入力の拒否または許可に関する判定条件を定めた判定ルールをユーザに迅速かつ効率的に提供し、不具合を修正するための修正プログラムの公開を待たずに、不具合によってユーザに被害が生じることを迅速に防止することができるという効果を奏する。
【０１２７】
また、本発明によれば、ユーザが使用しているソフトウェアに不具合が発見された際に、複数の判定ルールの中から必要な判定ルールのみを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
【０１２８】
また、本発明によれば、ユーザが使用しているソフトウェアにセキュリティホールが発見された際に、そのソフトウェアに対する入力を拒否するかどうかを判定するために参照される判定ルールを、ユーザに迅速かつ効率的に提供し、セキュリティホールによってユーザに被害が生じることを迅速に防止することができるという効果を奏する。
【０１２９】
また、本発明によれば、ユーザが使用しているソフトウェアのセットアップ環境に必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
【０１３０】
また、本発明によれば、ユーザが使用している不具合を有するソフトウェアおよびそのソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに必要十分な判定ルールを提供することができ、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
【０１３１】
また、本発明によれば、修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
【０１３２】
また、本発明によれば、ソフトウェアのセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
【０１３３】
また、本発明によれば、不具合を有するソフトウェアおよび該ソフトウェアの動作に必要なソフトウェアの種類および／またはバージョンに関する情報を少なくとも含むセットアップ環境に対応する修正プログラムの導入により不要となった判定ルールを削除して、端末装置側で参照する判定ルールの数を低減させることで不具合を引き起こす入力を効率よく検知し拒否することができるという効果を奏する。
【０１３４】
また、本発明によれば、端末装置はソフトウェア保守サービス提供装置から最新の判定ルールを予め設定された時刻に効率よく取得することができ、取得した判定ルールを参照して不具合を有するソフトウェアに対する入力を拒否するかどうかを判定し、その不具合によってユーザに被害が生じることを防止することができるという効果を奏する。
【産業上の利用可能性】
【０１３５】
以上のように、本発明に係るソフトウェア保守サービス提供システム、ソフトウェア保守サービス提供方法およびその方法をコンピュータに実行させるプログラムは、ソフトウェアベンダあるいはサードパーティのサーバ装置が、不具合が発見されたソフトウェアを導入しているユーザのクライアント装置に対し、そのソフトウェアの不具合を回避するためのソフトウェアを公開して保守サービスを提供するサーバ／クライアントシステムに対して有用である。
【図面の簡単な説明】
【０１３６】
【図１】第１図は、本実施の形態１に係るソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【図２】第２図は、第１図に示した判定ルールのデータ構造の一例を示す図である。
【図３】第３図は、第１図に示したソフトウェア保守サービス提供装置の構成を示す機能ブロック図である。
【図４】第４図は、第３図に示したセットアップ環境対応情報のデータ構造の一例を示す図である。
【図５】第５図は、第１図に示したＷｅｂサーバ装置の構成を示す機能ブロック図である。
【図６】第６図は、本実施の形態１に係るソフトウェア保守サービス提供システムの判定ルールを組み込む処理の処理手順を示すフローチャートである。
【図７】第７図は、第３図に示したＷｅｂサーバ装置に判定ルールが送信された際にＷｅｂサーバ装置に表示される画面表示の一例を示す図である。
【図８】第８図は、本実施の形態１に係るフィルタリングソフトウェアのＨＴＴＰリクエスト判定処理の処理手順を示すフローチャートである。
【図９】第９図は、本実施の形態２に係るソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【図１０】第１０図は、第９図に示したソフトウェア保守サービス提供装置の構成を示す機能ブロック図である。
【図１１】第１１図は、第９図に示したＷｅｂサーバ装置の構成を示す機能ブロック図である。
【図１２】第１２図は、実施の形態２に係るソフトウェア保守サービス提供システムの判定ルールを削除する削除処理の処理手順を示すフローチャートである。
【図１３】第１３図は、第１１図に示したＷｅｂサーバ装置に削除する判定ルールのＩＤ番号が送信された際にＷｅｂサーバ装置に表示される画面表示の一例を示す図である。
【図１４】第１４図は、実施の形態１および２に係るソフトウェア保守サービス提供装置のハードウェア構成を示す構成図である。
【図１５】第１５図は、実施の形態１および２に係るＷｅｂサーバ装置のハードウェア構成を示す構成図である。
【図１６】第１６図は、サードパーティがフィルタリングソフトウェアを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【図１７】第１７図は、サードパーティがフィルタリングソフトウェアと判定ルールとを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【図１８】第１８図は、ソフトウェアベンダおよび複数のサードパーティが判定ルールを提供するソフトウェア保守サービス提供システムのシステム全体の構成を示す構成図である。
【国際調査報告】
2004070590.tif 000021
2004070590.tif 000022
2004070590.tif 000023
2004070590.tif 000024