(57)【要約】【課題】  メタ・データに登録された修正パッチの情報に基づいて修正パッチの適用を行うコンピュータシステムにおいて、修正パッチ更新の更新を確認する処理時間の短縮化を図ること。【解決手段】  セキュリティサーバ１０は、メタ・データに固有な第１固有値を演算するモジュール１０２を具備し、クライアントコンピュータ２０は、メタ・データに固有な第２固有値を格納する記憶装置と、第１固有値と第２固有値とが一致するか否かを判断するモジュール３０３と、一致しないと判断した場合に、セキュリティサーバからメタ・データを取得するモジュール３０４とを具備する。【選択図】    図２
2010086072.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティサーバとクライアントコンピュータとがネットワークに接続されているコンピュータシステムであって、
前記セキュリティサーバは、
前記クライアントコンピュータが実行するオペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データを取得するメタ・データ取得手段と、
前記メタ・データに固有な第１固有値を演算する固有値演算手段と、
前記取得手段によって取得された前記メタ・データ、並びに前記固有値演算手段によって演算された第１固有値が格納される記憶装置と
を具備し、
前記クライアントコンピュータは、
前記固有値演算手段が前記固有値を演算する手法と同一な手法を用いて演算された第２固有値を格納する記憶装置と、
前記セキュリティサーバから前記第１固有値を取得する固有値取得手段と、
前記固有値取得手段が取得した前記第１固有値と前記記憶装置に格納されている前記第２固有値とが一致するか否かを判断する判断手段と、
前記判断手段が一致しないと判断した場合に、前記セキュリティサーバの前記記憶装置に格納されている前記メタ・データを取得するメタ・データ取得手段と、
前記メタ・データに登録されている情報に応じて前記修正パッチを取得する修正パッチ取得手段と、
前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正するための修正手段と
を具備することを特徴とするコンピュータシステム。
【請求項２】
前記固有値取得手段は、ユーザが前記クライアントコンピュータにログオンする度に前記セキュリティサーバから前記第１固有値を取得することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記ユーザが前記クライアントコンピュータにログオンしてから、前記判断手段が前記第１固有値と前記第２固有値とが一致すると判断するまで、或いは前記修正手段が前記コードを修正するまで、前記クライアントコンピュータと前記セキュリティサーバとが選択的に通信を行うための制限手段を更に具備することを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
前記固有値は、ハッシュ関数を用いて演算されるハッシュ値であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
前記クライアントコンピュータは、
前記オペレーティングシステムまたは前記アプリケーションプログラムのコードに対して修正を行った修正パッチのリストであって、アンインストールされた修正パッチを含まない第１適用済みパッチリストを生成する手段と
前記オペレーティングシステムまたは前記アプリケーションプログラムのコードに対して修正を行った修正パッチ、およびアンインストールされた修正パッチを含む第２適用済みパッチリストを生成する手段と、
前記判断手段が前記第１固有値と前記第２固有値とが一致すると判断した場合に、前記第１滴用済みパッチリストと前記第２滴用済みパッチリストと比較することによって、アンインストールされた修正パッチがあるか否かを判別するアンインストールパッチ判別手段と、
前記アンインストールパッチ判別手段がアンイストールされた修正パッチがあると判断した場合に、前記メタ・データ取得手段に前記メタ・データの取得を指示する手段とを具備することを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
セキュリティサーバと、オペレーティングシステムが稼働していない状態で前記セキュリティサーバから転送されたファイルを格納するための不揮発性メモリを有するクライアントコンピュータとがネットワークに接続されているコンピュータシステムであって、
セキュリティサーバは、
前記クライアントコンピュータが実行するオペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データを取得するメタ・データ取得手段と、
前記取得手段によって取得された前記メタ・データが格納される記憶装置と
前記メタ・データに固有な第１固有値を演算する固有値演算手段と、
前記クライアントコンピュータに対して前記固有値演算手段によって演算された第１固有値を前記不揮発性メモリに格納する指示を発行する手段と
を具備し、
前記クライアントコンピュータは、
前記セキュリティサーバが発行した指示に応じて前記不揮発性メモリに前記第１固有値を格納する手段と、
前記固有値演算手段が前記固有値を演算する手法と同一な手法を用いて演算された第２固有値を格納する記憶装置と、
前記不揮発性メモリから前記第１固有値を取得する固有値取得手段と、
前記固有値取得手段が取得した前記第１固有値と前記記憶装置に格納されている前記第２固有値とが一致するか否かを判断する判断手段と、
前記判断手段が一致しないと判断した場合に、前記メタ・データを取得するメタ・データ取得手段と、
前記メタ・データに登録されている情報に応じて前記修正パッチを取得する修正パッチ取得手段と、
前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正するための修正手段と
を具備することを特徴とするコンピュータシステム。
【請求項７】
前記セキュリティサーバは、前記不揮発性メモリに格納されている第１固有値を取得する手段と、前記第１固有値と、前記メタ・データ取得手段が新たに取得したメタ・データを用いて前記固有値演算手段によって演算された新たな第１固有値とが異なる場合に、前記クライアントコンピュータに対して、前記新たに取得したメタ・データを前記不揮発性メモリに格納する指示を発行する手段とを更に具備し、
前記メタ・データ取得手段は、前記不揮発性メモリから前記メタ・データを取得することを特徴とする請求項６に記載のコンピュータシステム。
【請求項８】
セキュリティサーバとクライアントコンピュータとがネットワークに接続されているコンピュータシステムの修正パッチ確認／適用方法であって、
前記セキュリティサーバは、前記クライアントコンピュータが実行するオペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データを取得する処理を実行し、
前記セキュリティサーバは、前記メタ・データに固有な第１固有値を演算する処理を実行し、
前記セキュリティサーバは、前記取得された前記メタ・データ、および前記固有値演算手段によって演算された固有値を記憶装置に格納する処理を実行し、
前記クライアントコンピュータは、前記固有値演算手段が前記固有値を演算する手法と同一な手法を用いて演算された第２固有値を記憶装置に格納する処理を実行し、
前記クライアントコンピュータは、前記セキュリティサーバから前記第１固有値を取得する処理を実行し、
前記クライアントコンピュータは、前記取得された第１固有値と前記記憶装置に格納されている前記第２固有値とが一致するか否かを判断する処理を実行し、
前記クライアントコンピュータは、前記第１固有値と前記第２固有値とが一致しないと判断した場合に、前記セキュリティサーバの前記記憶装置から前記メタ・データを取得する処理を実行し、
前記クライアントコンピュータは、前記メタ・データに登録されている情報に応じて前記修正パッチを取得する処理を実行し、
前記クライアントコンピュータは、前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正する処理を実行する
ことを特徴とする修正パッチ確認／適用方法。
【請求項９】
ユーザが前記クライアントコンピュータにログオンする度に前記セキュリティサーバから前記第１固有値を取得することを特徴とする請求項８に記載の修正パッチ確認／適用方法。
【請求項１０】
前記ユーザが前記クライアントコンピュータにログオンしてから前記第１固有値と前記第２固有値とが一致すると判断するまで、或いは前記ユーザが前記クライアントコンピュータにログオンしてから前記修正手段が前記コードを修正するまで、前記クライアントコンピュータと前記セキュリティサーバとが選択的に通信を行うことを特徴とする請求項９に記載の修正パッチ確認／適用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検疫ネットワークにおいてクライアントコンピュータに修正パッチを適用するためのコンピュータシステムおよび修正パッチ確認／適用方法に関する。
【背景技術】
【０００２】
現在、オペレーティングシステムやアプリケーションプログラムのセキュリティホールを修正するために、オペレーティングシステムやアプリケーションプログラムの発売元が修正パッチを公開して、セキュリティホールを修正することが行われている。
【０００３】
マイクロソフト社は、修正パッチを適用する方法として、ＷＳＵＳ（Ｗｉｎｄｏｗｓ（登録商標）  Ｓｅｒｖｅｒ  Ｕｐｄａｔｅ  Ｓｅｒｖｉｃｅ）を提供している（非特許文献１参照）。
【非特許文献１】“Windows Server Update Services (WSUS) Home”、［online］、Microsoft、［平成２０年９月１９日検索］、インターネット＜http://technet.microsoft.com/en-us/wsus/default.aspx＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
検疫ネットワークでは、ユーザがクライアントにログオンすると、まず検疫ネットワークに論理的に接続される。ログオンするたびにセキュリティサーバからカタログファイルをダウンロードし、Windows Update Agent APIを使用して未適用パッチがないかどうか確認する。全て適用済みであれば、業務ネットワークへ接続が可能となり、未適用パッチが存在すれば、治療を行い再度、パッチの確認を行う。
【０００５】
ところが、ログオン時には負荷が集中するため、カタログファイルのダウンロードやWindows Update Agent APIを使用すると、さらに負荷が増加して、ユーザが使用できるようになるまで非常に時間がかかってしまう。
【０００６】
本発明の目的は、メタ・データに登録された修正パッチの情報に基づいて修正パッチの適用を行うコンピュータシステムにおいて、修正パッチ更新の更新を確認する処理時間の短縮化を図ることが可能なコンピュータシステムおよび修正パッチ更新確認／適用方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一例に係わるコンピュータシステムは、セキュリティサーバとクライアントコンピュータとがネットワークに接続されているコンピュータシステムであって、
前記セキュリティサーバは、前記クライアントコンピュータが実行するオペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データを取得するメタ・データ取得手段と、前記メタ・データに固有な第１固有値を演算する固有値演算手段と、前記取得手段によって取得された前記メタ・データ、並びに前記固有値演算手段によって演算された第１固有値が格納される記憶装置とを具備し、
前記クライアントコンピュータは、前記固有値演算手段が前記固有値を演算する手法と同一な手法を用いて演算された第２固有値を格納する記憶装置と、前記セキュリティサーバから前記第１固有値を取得する固有値取得手段と、前記固有値取得手段が取得した前記第１固有値と前記記憶装置に格納されている前記第２固有値とが一致するか否かを判断する判断手段と、前記判断手段が一致しないと判断した場合に、前記セキュリティサーバの前記記憶装置に格納されている前記メタ・データを取得する取得手段と、前記メタ・データに登録されている情報に応じて前記修正パッチを取得するメタ・データ取得手段と、前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正するための修正手段とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、メタ・データに登録された修正パッチの情報に基づいて修正パッチの適用を行うコンピュータシステムにおいて、メタ・データの更新の確認する処理時間の短縮化を図ることが可能になる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施の形態を以下に図面を参照して説明する。  
図１は、本発明の第１の実施形態に係わる検疫ネットワークシステムを含むコンピュータシステムの構成を示す図である。  
オフィス内の業務ネットワーク３０に、セキュリティサーバ１０、プリントサーバ１１、ファイルサーバ１２、および複数台のクライアントコンピュータ２０１〜２０ｎ等が接続されている。業務ネットワーク３０は、ゲートウェイ４０を介して外部のネットワーク６０に接続されている。外部のネットワーク６０にはパッチ・カタログファイル配布サーバ４１および修正パッチ配布サーバ４２が接続されている。セキュリティサーバ１０およびゲートウェイは検疫ネットワーク５０として機能する。
【００１０】
クライアントコンピュータ２０は、オペレーティングシステムとしてマイクロソフト社製のＷｉｎｄｏｗｓを採用し、Ｗｉｎｄｏｗｓ上で動作するオフィスアプリケーションプログラムとしてＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅを採用している。
【００１１】
セキュリティサーバ１０は、定期的（例えば１日１回）にパッチ・カタログファイル配布サーバ４１にアクセスし、パッチ・カタログファイル配布サーバ４１からパッチ・カタログファイルを取得して、パッチ・カタログファイルを自機が有する記憶装置に格納する。パッチ・カタログファイルには、修正パッチを取得するための情報が格納されている。
【００１２】
パッチ・カタログファイル配布サーバ４１および修正パッチ配布サーバ４２は、マイクロソフト社によって運営されている。ＷｉｎｄｏｗｓやＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅといったマイクロソフト社の製品の修正パッチがリリースされると、マイクロソフト社は、パッチ・カタログファイルを更新する。修正パッチ配布サーバ４２はパッチ・カタログファイルに登録されている修正パッチを配布するために設置されている。
【００１３】
クライアントコンピュータ２０は、セキュリティサーバ１０からパッチ・カタログファイルが更新されると、新たなパッチ・カタログファイルを取得する。そして、取得したパッチ・カタログファイルに登録されている修正パッチを修正パッチ配布サーバ４２から取得し、修正パッチを用いてオペレーティングシステムまたはアプリケーションプログラムのコードを修正する。
【００１４】
図２のブロック図を参照して、第１の実施形態に係わるセキュリティサーバ１０に修正パッチを適用するための構成を説明する。  
パッチ・カタログファイル配布サーバ４１は、前述したパッチ・カタログファイルＦ１１を有する。修正パッチ配布サーバ４２は、修正パッチＦ２１を有する。セキュリティサーバ１０は、カタログファイル取得モジュール１０１、ハッシュ値演算モジュール１０２、およびルータモジュール１０３等を有する。クライアントコンピュータ２０は、パーソナルファイアウォール３０１、ハッシュ値取得モジュール３０２、ハッシュ値比較モジュール３０３、カタログファイル取得モジュール３０４、ハッシュ値演算モジュール３０５、パッチ適用確認モジュール３０６、修正パッチ取得モジュール３０７、およびパッチ適用モジュール３０８等を有する。
【００１５】
カタログファイル取得モジュール１０１、ハッシュ値演算モジュール、およびルータモジュール１０３、クライアントコンピュータ２０は、パーソナルファイアウォール３０１、ハッシュ値取得モジュール３０２、ハッシュ値比較モジュール３０３、カタログファイル取得モジュール３０４、ハッシュ値演算モジュール３０５、パッチ適用確認モジュール３０６、修正パッチ取得モジュール３０７、およびパッチ適用モジュール３０８は、セキュリティサーバ１０またはクライアントコンピュータ２０が有するプロセッサで実行されるソフトウェアである。
【００１６】
セキュリティサーバ１０のカタログファイル取得モジュール１０１は、カタログファイル配布サーバ４１が有するパッチ・カタログファイルＦ１１を取得し、取得したパッチ・カタログファイルＦ１２をローカルのハードディスクドライブに保存する。ハッシュ値演算モジュール１０２は、例えばＭＤ５やＳＨＡ−１等の設定されたハッシュ関数を用いてローカルに保存されたパッチ・カタログファイルＦ１２のハッシュ値を演算し、演算されたハッシュ値が記録されたハッシュ値ファイルＦ３１をローカルのハードディスクドライブに保存する。ハッシュ値ファイルＦ３１はクライアントコンピュータ２０からの要求に応じて、クライアントコンピュータ２０に伝送される。ルータモジュール１０３は、検疫ネットワーク５０にしか接続できないクライアントコンピュータ２０に代わりに、クライアントコンピュータ２０の通信要求を修正パッチ配布サーバ４２に転送し、修正パッチ配布サーバ４２から受け取った修正パッチファイルＦ２１をクライアントコンピュータ２０に転送する。
【００１７】
パーソナルファイアウォール３０１は、ユーザのログオン時にシステムを検疫ネットワーク５０に選択的に接続する。パーソナルファイアウォール３０１は、最新の修正モジュールが適用されていることが確認されるまでクライアントコンピュータ２０のシステムを業務ネットワーク３０に接続しない。
【００１８】
ハッシュ値取得モジュール３０２は、セキュリティサーバ１０からハッシュ値ファイルＦ３１を取得取得する。ハッシュ値比較モジュール３０３は、取得したハッシュ値ファイルＦ３１に記録されているハッシュ値とローカルのハードディスクドライブに格納されているハッシュ値ファイルＦ３２に記録されているハッシュ値とを比較し、二つのハッシュ値が一致するか判別する。一致していると判断した場合、ハッシュ値比較モジュール３０３は、最新の修正モジュールが適用されていると判断して、パーソナルファイアウォール３０１に業務ネットワーク３０への接続を指示する。一致していないと判断した場合、ハッシュ値比較モジュール３０３は、最新の修正モジュールが適用されていないと判断して、カタログファイル取得モジュール３０４にパッチ・カタログファイルＦ１２の取得を指示する。
【００１９】
カタログファイル取得モジュール３０４は、ハッシュ値比較モジュール３０３からの指示に応じて、セキュリティサーバ１０からパッチ・カタログファイルＦ１２を取得し、取得したパッチ・カタログファイルＦ１３をローカルのハードディスクドライブに保存する。ハッシュ値演算モジュール３０５は、ハッシュ値比較モジュール３０２が使用するハッシュ関数と同一の関数を用いて、カタログファイル取得モジュール３０４が取得したパッチ・カタログファイルＦ１３のハッシュ値を演算し、演算されたハッシュ値が記録されているハッシュ値ファイルＦ３２をローカルのハードディスクドライブに保存する。
【００２０】
パッチ適用確認モジュール３０６は、ローカルに保存されている、カタログファイル取得モジュール３０４が取得したパッチ・カタログファイルＦ１３と現状のオペレーティングシステム／アプリケーションプログラムに適用されている修正パッチの情報である適用済みパッチリストＦ４１とを参照して、クライアントコンピュータ２０のオペレーティングシステム／アプリケーションプログラムＣ１０に適用されていない修正モジュールがあるか判別する。Ｗｉｎｄｏｗｓの場合、適用済みパッチリストＦ４１は、レジストリ（HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall）に格納されている。
【００２１】
パッチ適用確認モジュール３０６が適用されていないと判断した修正パッチの取得を修正パッチ取得モジュール３０７に指示する。修正パッチ取得モジュール３０７は、セキュリティサーバ１０のルータモジュール１０３を介して修正パッチ配布サーバ４２から指示に応じた修正パックを取得する。パッチ適用モジュール３０８は、修正パッチ取得モジュールが取得した修正パッチを用いて、オペレーティングシステム／アプリケーションプログラムＣ１０のコードを修正（治療）する。
【００２２】
次に、図３のフローチャートを参照して、セキュリティサーバ１０がパッチ・カタログファイルおよびハッシュ値を公開するための手順を説明する。  
カタログファイル取得モジュール１０１は、パッチ・カタログファイル配布サーバ４１から定期的にパッチ・カタログファイルＦ１１をダウンロードし（ステップＳ１１）、パッチ・カタログファイルＦ１２をローカルの記憶装置に保存する（ステップＳ１２）。そして、ハッシュ値演算モジュール１０２はパッチ・カタログファイルのハッシュ値を例えばＭＤ５やＳＨＡ−１等のハッシュ関数を用いて計算し、計算されたハッシュ値が記録されたハッシュ値ファイルＦ３１を設定されたパスに書き込む（ステップＳ１３）。
【００２３】
次に、図４のフローチャートを参照して、クライアントコンピュータ２０が、修正パッチの適用の可否を判断する手順を説明する。
【００２４】
先ず、ユーザがクライアントコンピュータのシステムにログオンする（ステップＳ２１）。ログオンすると、パーソナルファイアウォール３０１は、検疫ネットワークに接続する。
【００２５】
ハッシュ値取得モジュール３０２は、セキュリティサーバ１０からパッチ・カタログファイルのハッシュ値ファイルＦ３１を取得する（ステップＳ２３）。ハッシュ値比較モジュール３０３は、ローカルのハードディスクドライブに格納されている最後に取得したパッチ・カタログファイルのハッシュ値ファイルＦ３２に記録されているハッシュ値（第２固有値）とステップＳ２３において取得したハッシュ値（第１固有値）とを比較し、二つのハッシュ値が一致しているか判断する（ステップＳ２４）。
【００２６】
一致していないと判断した場合（ステップＳ２５のＮｏ）、カタログファイル取得モジュール３０４は、セキュリティサーバ１０からパッチ・カタログファイルＦ１２を取得する（ステップＳ２６）。カタログファイル取得モジュール３０４は、取得したパッチ・カタログファイルＦ１３をローカルのハードディスクドライブに保存する（ステップＳ２７）。ハッシュ値演算モジュール３０５は、ハッシュ関数を用いて、ステップＳ２６で取得したパッチ・カタログファイルのハッシュ値を演算し、演算されたハッシュ値をハッシュ値ファイルＦ３２に記録する（ステップＳ２８）。ハッシュ値ファイルＦ３２の保存場所は、ローカルのハードディスクドライブである。なお、ハッシュ値演算モジュール３０５がハッシュ値の演算に用いるハッシュ関数は、セキュリティサーバ１０のハッシュ値演算モジュール３０５がハッシュ値の演算に用いるハッシュ関数と同一でなければならない。
【００２７】
パッチ適用確認モジュール３０６は、パッチ・カタログファイルＦ１３と適用済みパッチリストＦ４１とを比較し、パッチ・カタログファイルＦ１３に登録されている修正パッチが全てオペレーティングシステムまたはアプリケーションソフトウェアに適用されているか確認する（ステップＳ２９）。そして、パッチ適用確認モジュール３０６は、パッチ・カタログファイルに登録されている修正パッチが全て適用済みであるか判別する（ステップＳ３０）。適用済みではないと判断した場合（ステップＳ３０のＮｏ）、パッチ適用確認モジュール３０６は、適用済みでない修正モジュールの取得するための情報を修正パッチ取得モジュール３０７に通知する。パッチ適用確認モジュール３０６は、通知に基づいて、ルータモジュール１０３を介して、修正パッチ配布サーバ４２から修正パッチＦ２１を取得し、ローカルのハードディスクドライブに保存する。そして、パッチ適用確認モジュール３０６はパッチ適用モジュール３０８に修正パッチのパスの情報を渡し、パッチ適用モジュール３０８に修正パッチの適用を指示する。パッチ適用モジュール３０８は、渡されたパスに格納されている修正パッチを用いて、オペレーティングシステムまたはアプリケーションソフトウェアのコードを修正（治療）する（ステップＳ３１）。修正後、修正モジュールは、パッチ・カタログファイルに登録されている修正パッチが全て適用されるまで、ステップＳ２９〜ステップＳ３１の処理を実行する。
【００２８】
ステップＳ２５においてハッシュ値比較モジュール３０３が二つのハッシュ値が一致すると判断した場合（ステップＳ２５のＹｅｓ）、ハッシュ値比較モジュール３０３は、パーソナルファイアウォール３０１に業務ネットワークへの接続の許可を通知する。また、パッチ適用確認モジュール３０６が修正パッチが全て適用済みであると判断した場合（ステップＳ３０のＹｅｓ）、パッチ適用確認モジュール３０６はパーソナルファイアウォール３０１に業務ネットワークへの接続の許可を通知する。パーソナルファイアウォール３０１は、クライアントコンピュータ２０のシステムが業務ネットワークに接続できるようにする（ステップＳ３２）。そして、ユーザは通常の業務作業を行うことができるようになる。そして、業務終了後、ユーザはシステムからログオフする（ステップＳ３３）。
【００２９】
以上の説明したように、カタログファイルが更新されていない時に、パッチ・カタログファイルのダウンロードおよび修正パッチの確認を省略することで、セキュリティレベルは落とさずにログオン時間が短縮される。パッチ・カタログファイルが更新されていない時には、パッチ・カタログファイルのダウンロードを行わないことで、ネットワーク負荷が減少する。
【００３０】
［第２の実施形態］
第１の実施形態で説明した手法では、（可能性は低いが）ユーザが適用済みのパッチをアンインストールしてしまっても、新しいパッチ・カタログファイルがリリースされるまではパッチの確認をしない。つまり、必要な修正パッチが適用されていないクライアントを業務ネットワークに接続させてしまう可能性がある。
【００３１】
そこで、ユーザが適用済みのパッチをアンインストールしてしまっても、必要な修正パッチが適用されるまで、クライアントコンピュータのシステムを業務ネットワークに接続しない手法について説明する。
【００３２】
図５のブロック図を参照して、第２の実施形態に係わるセキュリティサーバ１０に修正パッチを適用するための構成を説明する。なお、図５では、パッチ・カタログファイル配布サーバ４１の図示を省略し、クライアントコンピュータ２０を簡略化して示している。
【００３３】
クライアントコンピュータ２０は、パーソナルファイアウォール３０１、ハッシュ値取得モジュール３０２、ハッシュ値比較モジュール４０３、カタログファイル取得モジュール３０４、ハッシュ値演算モジュール３０５、パッチ適用確認モジュール４０６、修正パッチ取得モジュール３０７、パッチ適用モジュール３０８、およびリスト比較モジュール４０９等を有する。パーソナルファイアウォール３０１、ハッシュ値取得モジュール３０２、ハッシュ値比較モジュール３０３、カタログファイル取得モジュール３０４、ハッシュ値演算モジュール３０５、パッチ適用確認モジュール３０６、修正パッチ取得モジュール３０７、パッチ適用モジュール３０８、およびリスト比較モジュール３０９は、クライアントコンピュータ２０のプロセッサで実行されるソフトウェアである。なお、図５において図２と同一モジュールには同一符号を付し、その説明を省略する。
【００３４】
ハッシュ値比較モジュール４０３は、取得したハッシュ値ファイルＦ３１に記録されているハッシュ値とローカルのハードディスクドライブに格納されているハッシュ値ファイルＦ３２に記録されているハッシュ値とを比較し、二つのハッシュ値が一致するか判別する。一致していると判断した場合、ハッシュ値比較モジュール３０３は、最新の修正モジュールが適用されている可能性があると判断して、リスト比較モジュール４０９に第１適用済みパッチリストＦ４１と第２適用済みパッチリストＦ４２との比較を指示する。一致していないと判断した場合、ハッシュ値比較モジュール４０３は、最新の修正モジュールが適用されていないと判断して、カタログファイル取得モジュール３０４にパッチ・カタログファイルＦ１２の取得を指示する。
【００３５】
パッチ適用確認モジュール４０６は、第１の実施形態で説明したパッチ適用確認モジュール３０６の機能に加え低下の機能を有する。パッチ適用確認モジュール４０６は、第１適用済みパッチリストＦ４１に登録されておらず、修正パッチ取得モジュール３０７に取得を指示した修正パッチを第１適用済みパッチリストＦ４１に加えた第２適用済みパッチリストＦ４２を生成する。第１適用済みパッチリストＦ４１は、システムが生成したリストであり、ユーザが誤ってアンインストールした修正パッチがあると、その修正パッチに関する情報がリストから削除される。修正パッチがアンインストールされたとしても第２適用済みパッチリストＦ４２には、アンインストールされた修正パッチの情報が残っている。従って、第１適用済みパッチリストＦ４１と第２適用済みパッチリストＦ４２とを比較することで、アンインストールされた修正パッチを確認することができる。
【００３６】
リスト比較モジュール４０９は、ハッシュ値比較モジュール３０３の指示に応じて第１適用済みパッチリストＦ４１と第２適用済みパッチリストＦ４２とを比較することで、アンインストールされた修正パッチの有無を判別する。アンインストールされた修正パッチが有ると判断した場合、リスト比較モジュール４０９はカタログファイル取得モジュール３０４にパッチ・カタログファイルＦ１２の取得を指示する。
【００３７】
次に、図６のフローチャートを参照して、クライアントコンピュータ２０が、修正パッチの適用の可否を判断する手順を説明する。
【００３８】
先ず、ユーザがクライアントコンピュータのシステムにログオンする（ステップＳ４１）。ログオンすると、パーソナルファイアウォール３０１は、検疫ネットワークに接続する。
【００３９】
ハッシュ値取得モジュール３０２は、セキュリティサーバ１０からパッチ・カタログファイルのハッシュ値ファイルＦ３１を取得する（ステップＳ４３）。ハッシュ値比較モジュール３０３は、ローカルのハードディスクドライブに格納されている最後に取得したパッチ・カタログファイルのハッシュ値ファイルＦ３２に記録されているハッシュ値（第２固有値）とステップＳ４３において取得したハッシュ値（第１固有値）とを比較し、二つのハッシュ値が一致しているか判断する（ステップＳ４４）。
【００４０】
ステップＳ４５においてハッシュ値比較モジュール３０３が二つのハッシュ値が一致すると判断した場合（ステップＳ４５のＹｅｓ）、ハッシュ値比較モジュール３０３は、リスト比較モジュール４０９に、アンインストールされた修正パッチの有無を判別するように指示する。リスト比較モジュール４０９は、第１適用済みパッチリストＦ４１および第２適用済みパッチリストＦ４２を取得する（ステップＳ６１）。リスト比較モジュール４０９は、第１適用済みパッチリストＦ４１と第２適用済みパッチリストＦ４２とを比較し（ステップＳ６２）、アンインストールされた修正パッチの有無を判別する（ステップＳ６３）。
【００４１】
ステップＳ４５において一致していないと判断した場合（ステップＳ４５のＮｏ）、またはステップＳ６３においてアンインストールされた修正パッチが有ると判断された場合（ステップＳ６３のＹｅｓ）、カタログファイル取得モジュール３０４は、セキュリティサーバ１０からパッチ・カタログファイルＦ１２を取得する（ステップＳ４６）。カタログファイル取得モジュール３０４は、取得したパッチ・カタログファイルＦ１３をローカルのハードディスクドライブに保存する（ステップＳ４７）。ハッシュ値演算モジュール３０５は、ハッシュ関数を用いて、ステップＳ４６で取得したパッチ・カタログファイルのハッシュ値を演算し、演算されたハッシュ値をハッシュ値ファイルＦ３２に記録する（ステップＳ４８）。ハッシュ値ファイルＦ３２の保存場所は、ローカルのハードディスクドライブである。なお、ハッシュ値演算モジュール３０５がハッシュ値の演算に用いるハッシュ関数は、セキュリティサーバ１０のハッシュ値演算モジュール３０５がハッシュ値の演算に用いるハッシュ関数と同一でなければならない。
【００４２】
パッチ適用確認モジュール３０６は、パッチ・カタログファイルＦ１３と適用済みパッチリストＦ４１とを比較し、パッチ・カタログファイルＦ１３に登録されている修正パッチが全てオペレーティングシステムまたはアプリケーションソフトウェアに適用されているか確認する（ステップＳ４９）。そして、パッチ適用確認モジュール３０６は、パッチ・カタログファイルに登録されている修正パッチが全て適用済みであるか判別する（ステップＳ５０）。適用済みではないと判断した場合（ステップＳ５０のＮｏ）、パッチ適用確認モジュール３０６は、適用済みでない修正モジュールの取得するための情報を修正パッチ取得モジュール３０７に通知する。パッチ適用確認モジュール３０６は、通知に基づいて、ルータモジュール１０３を介して、修正パッチ配布サーバ４２から修正パッチＦ２１を取得し、ローカルのハードディスクドライブに保存する。そして、パッチ適用確認モジュール３０６はパッチ適用モジュール３０８に修正パッチのパスの情報を渡し、パッチ適用モジュール３０８に修正パッチの適用を指示する。パッチ適用モジュール３０８は、渡されたパスに格納されている修正パッチを用いて、オペレーティングシステムまたはアプリケーションソフトウェアのコードを修正（治療）する（ステップＳ５１）。修正後、修正モジュールは、パッチ・カタログファイルに登録されている修正パッチが全て適用されるまで、ステップＳ４９〜ステップＳ５１の処理を実行する。
【００４３】
全ての修正パッチが適用された場合（ステップＳ５０のＹｅｓ）、パッチ適用確認モジュール３０６は、システムが精製した第１適用済みパッチリストＦ４１のコピーを第２適用済みパッチリストＦ４２としてローカルの記憶装置に保存する（ステップＳ５２）。
【００４４】
パッチ適用確認モジュール３０６はパーソナルファイアウォール３０１に業務ネットワークへの接続の許可を通知する。パーソナルファイアウォール３０１は、クライアントコンピュータ２０のシステムが業務ネットワークに接続できるようにする（ステップＳ５３）。そして、ユーザは通常の業務作業を行うことができるようになる。そして、業務終了後、ユーザはシステムからログオフする（ステップＳ５４）。
【００４５】
以上の説明したように、ユーザが誤って修正パッチを削除したとしても、修正パッチが適用されない限り、クライアントコンピュータ２０のシステムを業務ネットワーク３０への許可しない。
【００４６】
［第３の実施形態］
図７は、本発明の第３の実施形態に係わるクライアントコンピュータ２０のシステム構成を示すブロック図である。このクライアントコンピュータ２０は、インテル  マネジメント・テクノロジ（インテルＡＭＴ）に対応したコンピュータである。インテルＡＭＴは、オペレーティングシステムの非稼働時に動作するコンピュータ、およびＬＡＮコントローラ、および不揮発性メモリ等を有する。そのため、クライアントコンピュータ２０の非稼働時にセキュリティサーバ１０から不揮発性メモリに前述したハッシュ値ファイルを不揮発性メモリに書き込むことができる。
【００４７】
本コンピュータ２０は、図７に示されているように、ＣＰＵ５０１、ノースブリッジ５０２、主メモリ５０３、サウスブリッジ５０４、グラフィクスプロセッシングユニット（ＧＰＵ）５０５、ビデオメモリ（ＶＲＡＭ）５０５Ａ、サウンドコントローラ５０６、不揮発性メモリ（ＮＶＭ）５０９、ＬＡＮコントローラ５１０、ハードディスクドライブ（ＨＤＤ）５１１、およびエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）５１６等を備えている。
【００４８】
ＣＰＵ５０１は本コンピュータ２０の動作を制御するプロセッサであり、ハードディスクドライブ（ＨＤＤ）５１１から主メモリ５０３にロードされる、オペレーティングシステムや各種アプリケーションプログラムを実行する。また、ＣＰＵ５０１は、不揮発性メモリ５０９に格納されたＢＩＯＳ（Basic Input Output System）５０９Ａも実行する。ＢＩＯＳはハードウェア制御のためのプログラムである。
【００４９】
ノースブリッジ５０２はＣＰＵ５０１のローカルバスとサウスブリッジ５０４との間を接続するブリッジデバイスである。ノースブリッジ５０２には、主メモリ５０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ５０２は、PCI EXPRESS規格のシリアルバスなどを介してＧＰＵ５０５との通信を実行する機能も有している。
【００５０】
ノースブリッジ５０２は、オペレーティングシステムの非稼働時にも動作するマイコン５００を有する。マイコン５００は、セキュリティサーバ１０から命令に応じて、不揮発性メモリ５０９にハッシュ値ファイルＦ３２を書き込む処理を実行する。
【００５１】
ＧＰＵ５０５は、本コンピュータ２０のディスプレイモニタとして使用されるモニタ５１７を制御する表示コントローラである。このＧＰＵ５０５によって生成される表示信号はモニタ５１７に送られる。
【００５２】
サウスブリッジ５０４は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ５０４は、ハードディスクドライブ（ＨＤＤ）５１１を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。
【００５３】
ＬＡＮコントローラ５１０は、たとえば１０００ＢＡＳＥ−Ｔ／ＴＸ規格の有線通信を実行する通信デバイスである。このＬＡＮコントローラ５１０は、例えばインテル社製の８２５６６ＤＭギガビット・ネットワーク・コネクションである。
【００５４】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）５１６は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）５１３およびマウス５１４を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）５１６は、ユーザによるパワーボタンの操作に応じて本コンピュータ２０をパワーオン／パワーオフする機能を有している。
【００５５】
ノースブリッジ５０２、サウスブリッジ５０４、ＬＡＮコントローラ５１０、およびＥＣ／ＫＢＣ５１６は、システムが稼働していない電源オフ状態であっても待機電源が供給されている。
【００５６】
第１の実施形態では、ユーザがクライアントコンピュータ２０へログオンした後に、パッチ・カタログファイルのハッシュ値を取得しているが、ユーザがログオンする前に、インテルＡＭＴの技術を使い、不揮発性メモリ５０９にハッシュ値が記録されたファイルＦ３２を書き込んでおく。クライアントコンピュータ２０ではセキュリティサーバ１０からハッシュ値を取得するのではなく、不揮発性メモリ５０９からハッシュ値ファイルを取得する。ハッシュ値が変更されていれば、改めてセキュリティサーバ１０からパッチ・カタログファイルを取得する。
【００５７】
次に、図８のフローチャートを参照して、セキュリティサーバ１０がパッチ・カタログファイルおよびハッシュ値の保存を命令するための手順を説明する。  
カタログファイル取得モジュール１０１は、パッチ・カタログファイル配布サーバ４１から定期的にパッチ・カタログファイルＦ１１をダウンロードし（ステップＳ３１）、パッチ・カタログファイルＦ１２をローカルの記憶装置に保存する（ステップＳ３２）。そして、ハッシュ値演算モジュール１０２は、パッチ・カタログファイルのハッシュ値を例えばＭＤ５やＳＨＡ−１等のハッシュ関数を用いて計算する（ステップＳ３３）。セキュリティサーバ１０は、クライアントコンピュータ２０のマイコン５００に対して、計算されたハッシュ値が記録されたファイルＦ３２を不揮発性メモリ５０９に保存するように命令する（ステップＳ４３）。
【００５８】
以上の処理で、不揮発性メモリ５０９にハッシュ値ファイルを書き込むことができる。クライアントコンピュータ２０の動作は、第１の実施形態においてハッシュ値ファイルの取得先がセキュリティサーバ１０から不揮発性メモリ５０９に代わっただけなので説明を省略する。
【００５９】
なお、不揮発性メモリ５０９にハッシュ値だけでなく、パッチ・カタログファイルも書き込んでおけば、ハッシュ値が異なる場合にセキュリティサーバ１０からパッチ・カタログファイルを取得する必要がなくなるので、ログオンから検疫完了までの時間がさらに短縮することができる。
【００６０】
図９のフローチャートを参照してパッチ・カタログファイルを不揮発性メモリ５０９に書き込む処理の手順を説明する。  
先ず、セキュリティサーバ１０は、マイコン５００に蕗は５０９に格納されているハッシュ値ファイルの伝送を命令する（ステップＳ８１）。伝送されたら、セキュリティサーバ１０は、伝送されたハッシュ値ファイルに格納されているハッシュ値と、自機が有するハッシュ値ファイルに格納されているハッシュ値とが一致するか否かを判別する（ステップＳ８２）。二つのハッシュ値が一致しないと判断した場合、セキュリティサーバ１０は、不揮発性メモリ５０９をクライアントコンピュータ２０に転送し、マイコン５００に対して、不揮発性メモリ５０９にパッチ・カタログファイルを保存するように命令する（ステップＳ８３）  。
【００６１】
パッチ・カタログファイルが変更された場合に、パッチ・カタログファイルを不揮発性メモリ５０９に書き込んでおくことで、更にログオンに係わる処理時間を短くすることができる。
【００６２】
なお、上記実施形態では、パーソナルファイアウォール３０１によって、クライアントコンピュータ２０の検疫ネットワーク５０と業務ネットワーク３０との接続を制御していたが、ゲートウェイを用いた方式や、ＤＨＣＰ認証を用いた方式や、ＩＥＥＥ８０２．１ｘ認証に対応したスイッチを用いた認証推知方式を用いてクライアントコンピュータ２０のネットワークへの接続を制御しても良い。
【００６３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６４】
【図１】第１の実施形態に係わる検疫ネットワークシステムを含むコンピュータシステムの構成を示す図。
【図２】第１の実施形態に係わるセキュリティサーバに修正パッチを適用するための構成を示すブロック図。
【図３】第１の実施形態に係わるセキュリティサーバがパッチ・カタログファイルおよびハッシュ値を公開するための手順を示すフローチャート。
【図４】第１の実施形態に係わるクライアントコンピュータが修正パッチの適用の可否を判断する手順を示すフローチャート。
【図５】第２の実施形態に係わるセキュリティサーバに修正パッチを適用するための構成を示すブロック図。
【図６】第２の実施形態に係わるクライアントコンピュータが修正パッチの適用の可否を判断する手順を示すフローチャート。
【図７】第３の実施形態に係わるクライアントコンピュータのシステム構成を示すブロック図。
【図８】第３の実施形態に係わるセキュリティサーバがパッチ・カタログファイルおよびハッシュ値の保存を命令するための手順を示すフローチャート。
【図９】第３の実施形態に係わるパッチ・カタログファイルを不揮発性メモリに書き込む処理の手順を示すフローチャート。
【符号の説明】
【００６５】
１０１…カタログファイル取得モジュール，１０２…ハッシュ値比較モジュール，１０３…ルータモジュール，２０１〜２０ｎ…クライアントコンピュータ，３０１…パーソナルファイアウォール，３０２…ハッシュ値取得モジュール，３０３…ハッシュ値比較モジュール，３０４…カタログファイル取得モジュール，３０５…ハッシュ値演算モジュール，３０６…パッチ適用確認モジュール，３０７…修正パッチ取得モジュール，３０８…パッチ適用モジュール，３０９…リスト比較モジュール，４０３…ハッシュ値比較モジュール，４０６…パッチ適用確認モジュール，４０９…リスト比較モジュール，５００…マイコン，５０９…不揮発性メモリ，５１０…ＬＡＮコントローラ。
【図１】
2010086072.tif 000003
【図２】
2010086072.tif 000004
【図３】
2010086072.tif 000005
【図４】
2010086072.tif 000006
【図５】
2010086072.tif 000007
【図６】
2010086072.tif 000008
【図７】
2010086072.tif 000009
【図８】
2010086072.tif 000010
【図９】
2010086072.tif 000011