説明

コンピュータ

【課題】メタ・データに登録された修正パッチの情報に基づいて修正パッチの適用を行うコンピュータシステムにおいて、修正パッチ更新の更新を確認する処理時間の短縮化を図ること。
【解決手段】セキュリティサーバ10は、メタ・データに固有な第1固有値を演算するモジュール102を具備し、クライアントコンピュータ20は、メタ・データに固有な第2固有値を格納する記憶装置と、第1固有値と第2固有値とが一致するか否かを判断するモジュール303と、一致しないと判断した場合に、セキュリティサーバからメタ・データを取得するモジュール304とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検疫ネットワークにおいてクライアントコンピュータに修正パッチを適用するためのコンピュータシステムおよび修正パッチ確認/適用方法に関する。
【背景技術】
【0002】
現在、オペレーティングシステムやアプリケーションプログラムのセキュリティホールを修正するために、オペレーティングシステムやアプリケーションプログラムの発売元が修正パッチを公開して、セキュリティホールを修正することが行われている。
【0003】
マイクロソフト社は、修正パッチを適用する方法として、WSUS(Windows(登録商標) Server Update Service)を提供している(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】“Windows Server Update Services (WSUS) Home”、[online]、Microsoft、[平成20年9月19日検索]、インターネット<http://technet.microsoft.com/en-us/wsus/default.aspx>
【発明の概要】
【発明が解決しようとする課題】
【0005】
検疫ネットワークでは、ユーザがクライアントにログオンすると、まず検疫ネットワークに論理的に接続される。ログオンするたびにセキュリティサーバからカタログファイルをダウンロードし、Windows Update Agent APIを使用して未適用パッチがないかどうか確認する。全て適用済みであれば、業務ネットワークへ接続が可能となり、未適用パッチが存在すれば、治療を行い再度、パッチの確認を行う。
【0006】
ところが、ログオン時には負荷が集中するため、カタログファイルのダウンロードやWindows Update Agent APIを使用すると、さらに負荷が増加して、ユーザが使用できるようになるまで非常に時間がかかってしまう。
【0007】
本発明の目的は、メタ・データに登録された修正パッチの情報に基づいて修正パッチの適用を行うコンピュータシステムにおいて、修正パッチ更新の更新を確認する処理時間の短縮化を図ることが可能なコンピュータシステムおよび修正パッチ更新確認/適用方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一例に係わる、ネットワークを介してセキュリティサーバに接続されているコンピュータは、記憶装置と、固有値取得手段と、判断手段と、メタ・データ取得手段と、修正パッチ取得手段と、修正手段とを具備する。前記記憶装置は、前記セキュリティサーバの固有値演算手段がオペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データから演算した第1固有値を演算する手法と同一な手法を用いて演算された第2固有値を格納する。前記固有値取得手段は、前記セキュリティサーバから前記第1固有値を取得する。前記判断手段は、前記固有値取得手段が取得した前記第1固有値と前記記憶装置に格納されている前記第2固有値とが一致するか否かを判断する。前記メタ・データ取得手段は、前記判断手段が一致しないと判断した場合に、前記セキュリティサーバの前記記憶装置に格納されている前記メタ・データを取得する。前記修正パッチ取得手段は、前記メタ・データに登録されている情報に応じて前記修正パッチを取得する。前記修正手段は、前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正する。
【発明の効果】
【0009】
本発明によれば、メタ・データに登録された修正パッチの情報に基づいて修正パッチの適用を行うコンピュータシステムにおいて、メタ・データの更新の確認する処理時間の短縮化を図ることが可能になる。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係わる検疫ネットワークシステムを含むコンピュータシステムの構成を示す図。
【図2】第1の実施形態に係わるセキュリティサーバに修正パッチを適用するための構成を示すブロック図。
【図3】第1の実施形態に係わるセキュリティサーバがパッチ・カタログファイルおよびハッシュ値を公開するための手順を示すフローチャート。
【図4】第1の実施形態に係わるクライアントコンピュータが修正パッチの適用の可否を判断する手順を示すフローチャート。
【図5】第2の実施形態に係わるセキュリティサーバに修正パッチを適用するための構成を示すブロック図。
【図6】第2の実施形態に係わるクライアントコンピュータが修正パッチの適用の可否を判断する手順を示すフローチャート。
【図7】第3の実施形態に係わるクライアントコンピュータのシステム構成を示すブロック図。
【図8】第3の実施形態に係わるセキュリティサーバがパッチ・カタログファイルおよびハッシュ値の保存を命令するための手順を示すフローチャート。
【図9】第3の実施形態に係わるパッチ・カタログファイルを不揮発性メモリに書き込む処理の手順を示すフローチャート。
【発明を実施するための形態】
【0011】
本発明の実施の形態を以下に図面を参照して説明する。
図1は、本発明の第1の実施形態に係わる検疫ネットワークシステムを含むコンピュータシステムの構成を示す図である。
オフィス内の業務ネットワーク30に、セキュリティサーバ10、プリントサーバ11、ファイルサーバ12、および複数台のクライアントコンピュータ201〜20n等が接続されている。業務ネットワーク30は、ゲートウェイ40を介して外部のネットワーク60に接続されている。外部のネットワーク60にはパッチ・カタログファイル配布サーバ41および修正パッチ配布サーバ42が接続されている。セキュリティサーバ10およびゲートウェイは検疫ネットワーク50として機能する。
【0012】
クライアントコンピュータ20は、オペレーティングシステムとしてマイクロソフト社製のWindowsを採用し、Windows上で動作するオフィスアプリケーションプログラムとしてMicrosoft Officeを採用している。
【0013】
セキュリティサーバ10は、定期的(例えば1日1回)にパッチ・カタログファイル配布サーバ41にアクセスし、パッチ・カタログファイル配布サーバ41からパッチ・カタログファイルを取得して、パッチ・カタログファイルを自機が有する記憶装置に格納する。パッチ・カタログファイルには、修正パッチを取得するための情報が格納されている。
【0014】
パッチ・カタログファイル配布サーバ41および修正パッチ配布サーバ42は、マイクロソフト社によって運営されている。WindowsやMicrosoft Officeといったマイクロソフト社の製品の修正パッチがリリースされると、マイクロソフト社は、パッチ・カタログファイルを更新する。修正パッチ配布サーバ42はパッチ・カタログファイルに登録されている修正パッチを配布するために設置されている。
【0015】
クライアントコンピュータ20は、セキュリティサーバ10からパッチ・カタログファイルが更新されると、新たなパッチ・カタログファイルを取得する。そして、取得したパッチ・カタログファイルに登録されている修正パッチを修正パッチ配布サーバ42から取得し、修正パッチを用いてオペレーティングシステムまたはアプリケーションプログラムのコードを修正する。
【0016】
図2のブロック図を参照して、第1の実施形態に係わるセキュリティサーバ10に修正パッチを適用するための構成を説明する。
パッチ・カタログファイル配布サーバ41は、前述したパッチ・カタログファイルF11を有する。修正パッチ配布サーバ42は、修正パッチF21を有する。セキュリティサーバ10は、カタログファイル取得モジュール101、ハッシュ値演算モジュール102、およびルータモジュール103等を有する。クライアントコンピュータ20は、パーソナルファイアウォール301、ハッシュ値取得モジュール302、ハッシュ値比較モジュール303、カタログファイル取得モジュール304、ハッシュ値演算モジュール305、パッチ適用確認モジュール306、修正パッチ取得モジュール307、およびパッチ適用モジュール308等を有する。
【0017】
カタログファイル取得モジュール101、ハッシュ値演算モジュール、およびルータモジュール103、クライアントコンピュータ20は、パーソナルファイアウォール301、ハッシュ値取得モジュール302、ハッシュ値比較モジュール303、カタログファイル取得モジュール304、ハッシュ値演算モジュール305、パッチ適用確認モジュール306、修正パッチ取得モジュール307、およびパッチ適用モジュール308は、セキュリティサーバ10またはクライアントコンピュータ20が有するプロセッサで実行されるソフトウェアである。
【0018】
セキュリティサーバ10のカタログファイル取得モジュール101は、カタログファイル配布サーバ41が有するパッチ・カタログファイルF11を取得し、取得したパッチ・カタログファイルF12をローカルのハードディスクドライブに保存する。ハッシュ値演算モジュール102は、例えばMD5やSHA−1等の設定されたハッシュ関数を用いてローカルに保存されたパッチ・カタログファイルF12のハッシュ値を演算し、演算されたハッシュ値が記録されたハッシュ値ファイルF31をローカルのハードディスクドライブに保存する。ハッシュ値ファイルF31はクライアントコンピュータ20からの要求に応じて、クライアントコンピュータ20に伝送される。ルータモジュール103は、検疫ネットワーク50にしか接続できないクライアントコンピュータ20に代わりに、クライアントコンピュータ20の通信要求を修正パッチ配布サーバ42に転送し、修正パッチ配布サーバ42から受け取った修正パッチファイルF21をクライアントコンピュータ20に転送する。
【0019】
パーソナルファイアウォール301は、ユーザのログオン時にシステムを検疫ネットワーク50に選択的に接続する。パーソナルファイアウォール301は、最新の修正モジュールが適用されていることが確認されるまでクライアントコンピュータ20のシステムを業務ネットワーク30に接続しない。
【0020】
ハッシュ値取得モジュール302は、セキュリティサーバ10からハッシュ値ファイルF31を取得取得する。ハッシュ値比較モジュール303は、取得したハッシュ値ファイルF31に記録されているハッシュ値とローカルのハードディスクドライブに格納されているハッシュ値ファイルF32に記録されているハッシュ値とを比較し、二つのハッシュ値が一致するか判別する。一致していると判断した場合、ハッシュ値比較モジュール303は、最新の修正モジュールが適用されていると判断して、パーソナルファイアウォール301に業務ネットワーク30への接続を指示する。一致していないと判断した場合、ハッシュ値比較モジュール303は、最新の修正モジュールが適用されていないと判断して、カタログファイル取得モジュール304にパッチ・カタログファイルF12の取得を指示する。
【0021】
カタログファイル取得モジュール304は、ハッシュ値比較モジュール303からの指示に応じて、セキュリティサーバ10からパッチ・カタログファイルF12を取得し、取得したパッチ・カタログファイルF13をローカルのハードディスクドライブに保存する。ハッシュ値演算モジュール305は、ハッシュ値比較モジュール302が使用するハッシュ関数と同一の関数を用いて、カタログファイル取得モジュール304が取得したパッチ・カタログファイルF13のハッシュ値を演算し、演算されたハッシュ値が記録されているハッシュ値ファイルF32をローカルのハードディスクドライブに保存する。
【0022】
パッチ適用確認モジュール306は、ローカルに保存されている、カタログファイル取得モジュール304が取得したパッチ・カタログファイルF13と現状のオペレーティングシステム/アプリケーションプログラムに適用されている修正パッチの情報である適用済みパッチリストF41とを参照して、クライアントコンピュータ20のオペレーティングシステム/アプリケーションプログラムC10に適用されていない修正モジュールがあるか判別する。Windowsの場合、適用済みパッチリストF41は、レジストリ(HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall)に格納されている。
【0023】
パッチ適用確認モジュール306が適用されていないと判断した修正パッチの取得を修正パッチ取得モジュール307に指示する。修正パッチ取得モジュール307は、セキュリティサーバ10のルータモジュール103を介して修正パッチ配布サーバ42から指示に応じた修正パックを取得する。パッチ適用モジュール308は、修正パッチ取得モジュールが取得した修正パッチを用いて、オペレーティングシステム/アプリケーションプログラムC10のコードを修正(治療)する。
【0024】
次に、図3のフローチャートを参照して、セキュリティサーバ10がパッチ・カタログファイルおよびハッシュ値を公開するための手順を説明する。
カタログファイル取得モジュール101は、パッチ・カタログファイル配布サーバ41から定期的にパッチ・カタログファイルF11をダウンロードし(ステップS11)、パッチ・カタログファイルF12をローカルの記憶装置に保存する(ステップS12)。そして、ハッシュ値演算モジュール102はパッチ・カタログファイルのハッシュ値を例えばMD5やSHA−1等のハッシュ関数を用いて計算し、計算されたハッシュ値が記録されたハッシュ値ファイルF31を設定されたパスに書き込む(ステップS13)。
【0025】
次に、図4のフローチャートを参照して、クライアントコンピュータ20が、修正パッチの適用の可否を判断する手順を説明する。
【0026】
先ず、ユーザがクライアントコンピュータのシステムにログオンする(ステップS21)。ログオンすると、パーソナルファイアウォール301は、検疫ネットワークに接続する。
【0027】
ハッシュ値取得モジュール302は、セキュリティサーバ10からパッチ・カタログファイルのハッシュ値ファイルF31を取得する(ステップS23)。ハッシュ値比較モジュール303は、ローカルのハードディスクドライブに格納されている最後に取得したパッチ・カタログファイルのハッシュ値ファイルF32に記録されているハッシュ値(第2固有値)とステップS23において取得したハッシュ値(第1固有値)とを比較し、二つのハッシュ値が一致しているか判断する(ステップS24)。
【0028】
一致していないと判断した場合(ステップS25のNo)、カタログファイル取得モジュール304は、セキュリティサーバ10からパッチ・カタログファイルF12を取得する(ステップS26)。カタログファイル取得モジュール304は、取得したパッチ・カタログファイルF13をローカルのハードディスクドライブに保存する(ステップS27)。ハッシュ値演算モジュール305は、ハッシュ関数を用いて、ステップS26で取得したパッチ・カタログファイルのハッシュ値を演算し、演算されたハッシュ値をハッシュ値ファイルF32に記録する(ステップS28)。ハッシュ値ファイルF32の保存場所は、ローカルのハードディスクドライブである。なお、ハッシュ値演算モジュール305がハッシュ値の演算に用いるハッシュ関数は、セキュリティサーバ10のハッシュ値演算モジュール305がハッシュ値の演算に用いるハッシュ関数と同一でなければならない。
【0029】
パッチ適用確認モジュール306は、パッチ・カタログファイルF13と適用済みパッチリストF41とを比較し、パッチ・カタログファイルF13に登録されている修正パッチが全てオペレーティングシステムまたはアプリケーションソフトウェアに適用されているか確認する(ステップS29)。そして、パッチ適用確認モジュール306は、パッチ・カタログファイルに登録されている修正パッチが全て適用済みであるか判別する(ステップS30)。適用済みではないと判断した場合(ステップS30のNo)、パッチ適用確認モジュール306は、適用済みでない修正モジュールの取得するための情報を修正パッチ取得モジュール307に通知する。パッチ適用確認モジュール306は、通知に基づいて、ルータモジュール103を介して、修正パッチ配布サーバ42から修正パッチF21を取得し、ローカルのハードディスクドライブに保存する。そして、パッチ適用確認モジュール306はパッチ適用モジュール308に修正パッチのパスの情報を渡し、パッチ適用モジュール308に修正パッチの適用を指示する。パッチ適用モジュール308は、渡されたパスに格納されている修正パッチを用いて、オペレーティングシステムまたはアプリケーションソフトウェアのコードを修正(治療)する(ステップS31)。修正後、修正モジュールは、パッチ・カタログファイルに登録されている修正パッチが全て適用されるまで、ステップS29〜ステップS31の処理を実行する。
【0030】
ステップS25においてハッシュ値比較モジュール303が二つのハッシュ値が一致すると判断した場合(ステップS25のYes)、ハッシュ値比較モジュール303は、パーソナルファイアウォール301に業務ネットワークへの接続の許可を通知する。また、パッチ適用確認モジュール306が修正パッチが全て適用済みであると判断した場合(ステップS30のYes)、パッチ適用確認モジュール306はパーソナルファイアウォール301に業務ネットワークへの接続の許可を通知する。パーソナルファイアウォール301は、クライアントコンピュータ20のシステムが業務ネットワークに接続できるようにする(ステップS32)。そして、ユーザは通常の業務作業を行うことができるようになる。そして、業務終了後、ユーザはシステムからログオフする(ステップS33)。
【0031】
以上の説明したように、カタログファイルが更新されていない時に、パッチ・カタログファイルのダウンロードおよび修正パッチの確認を省略することで、セキュリティレベルは落とさずにログオン時間が短縮される。パッチ・カタログファイルが更新されていない時には、パッチ・カタログファイルのダウンロードを行わないことで、ネットワーク負荷が減少する。
【0032】
[第2の実施形態]
第1の実施形態で説明した手法では、(可能性は低いが)ユーザが適用済みのパッチをアンインストールしてしまっても、新しいパッチ・カタログファイルがリリースされるまではパッチの確認をしない。つまり、必要な修正パッチが適用されていないクライアントを業務ネットワークに接続させてしまう可能性がある。
【0033】
そこで、ユーザが適用済みのパッチをアンインストールしてしまっても、必要な修正パッチが適用されるまで、クライアントコンピュータのシステムを業務ネットワークに接続しない手法について説明する。
【0034】
図5のブロック図を参照して、第2の実施形態に係わるセキュリティサーバ10に修正パッチを適用するための構成を説明する。なお、図5では、パッチ・カタログファイル配布サーバ41の図示を省略し、クライアントコンピュータ20を簡略化して示している。
【0035】
クライアントコンピュータ20は、パーソナルファイアウォール301、ハッシュ値取得モジュール302、ハッシュ値比較モジュール403、カタログファイル取得モジュール304、ハッシュ値演算モジュール305、パッチ適用確認モジュール406、修正パッチ取得モジュール307、パッチ適用モジュール308、およびリスト比較モジュール409等を有する。パーソナルファイアウォール301、ハッシュ値取得モジュール302、ハッシュ値比較モジュール303、カタログファイル取得モジュール304、ハッシュ値演算モジュール305、パッチ適用確認モジュール306、修正パッチ取得モジュール307、パッチ適用モジュール308、およびリスト比較モジュール309は、クライアントコンピュータ20のプロセッサで実行されるソフトウェアである。なお、図5において図2と同一モジュールには同一符号を付し、その説明を省略する。
【0036】
ハッシュ値比較モジュール403は、取得したハッシュ値ファイルF31に記録されているハッシュ値とローカルのハードディスクドライブに格納されているハッシュ値ファイルF32に記録されているハッシュ値とを比較し、二つのハッシュ値が一致するか判別する。一致していると判断した場合、ハッシュ値比較モジュール303は、最新の修正モジュールが適用されている可能性があると判断して、リスト比較モジュール409に第1適用済みパッチリストF41と第2適用済みパッチリストF42との比較を指示する。一致していないと判断した場合、ハッシュ値比較モジュール403は、最新の修正モジュールが適用されていないと判断して、カタログファイル取得モジュール304にパッチ・カタログファイルF12の取得を指示する。
【0037】
パッチ適用確認モジュール406は、第1の実施形態で説明したパッチ適用確認モジュール306の機能に加え低下の機能を有する。パッチ適用確認モジュール406は、第1適用済みパッチリストF41に登録されておらず、修正パッチ取得モジュール307に取得を指示した修正パッチを第1適用済みパッチリストF41に加えた第2適用済みパッチリストF42を生成する。第1適用済みパッチリストF41は、システムが生成したリストであり、ユーザが誤ってアンインストールした修正パッチがあると、その修正パッチに関する情報がリストから削除される。修正パッチがアンインストールされたとしても第2適用済みパッチリストF42には、アンインストールされた修正パッチの情報が残っている。従って、第1適用済みパッチリストF41と第2適用済みパッチリストF42とを比較することで、アンインストールされた修正パッチを確認することができる。
【0038】
リスト比較モジュール409は、ハッシュ値比較モジュール303の指示に応じて第1適用済みパッチリストF41と第2適用済みパッチリストF42とを比較することで、アンインストールされた修正パッチの有無を判別する。アンインストールされた修正パッチが有ると判断した場合、リスト比較モジュール409はカタログファイル取得モジュール304にパッチ・カタログファイルF12の取得を指示する。
【0039】
次に、図6のフローチャートを参照して、クライアントコンピュータ20が、修正パッチの適用の可否を判断する手順を説明する。
【0040】
先ず、ユーザがクライアントコンピュータのシステムにログオンする(ステップS41)。ログオンすると、パーソナルファイアウォール301は、検疫ネットワークに接続する。
【0041】
ハッシュ値取得モジュール302は、セキュリティサーバ10からパッチ・カタログファイルのハッシュ値ファイルF31を取得する(ステップS43)。ハッシュ値比較モジュール303は、ローカルのハードディスクドライブに格納されている最後に取得したパッチ・カタログファイルのハッシュ値ファイルF32に記録されているハッシュ値(第2固有値)とステップS43において取得したハッシュ値(第1固有値)とを比較し、二つのハッシュ値が一致しているか判断する(ステップS44)。
【0042】
ステップS45においてハッシュ値比較モジュール303が二つのハッシュ値が一致すると判断した場合(ステップS45のYes)、ハッシュ値比較モジュール303は、リスト比較モジュール409に、アンインストールされた修正パッチの有無を判別するように指示する。リスト比較モジュール409は、第1適用済みパッチリストF41および第2適用済みパッチリストF42を取得する(ステップS61)。リスト比較モジュール409は、第1適用済みパッチリストF41と第2適用済みパッチリストF42とを比較し(ステップS62)、アンインストールされた修正パッチの有無を判別する(ステップS63)。
【0043】
ステップS45において一致していないと判断した場合(ステップS45のNo)、またはステップS63においてアンインストールされた修正パッチが有ると判断された場合(ステップS63のYes)、カタログファイル取得モジュール304は、セキュリティサーバ10からパッチ・カタログファイルF12を取得する(ステップS46)。カタログファイル取得モジュール304は、取得したパッチ・カタログファイルF13をローカルのハードディスクドライブに保存する(ステップS47)。ハッシュ値演算モジュール305は、ハッシュ関数を用いて、ステップS46で取得したパッチ・カタログファイルのハッシュ値を演算し、演算されたハッシュ値をハッシュ値ファイルF32に記録する(ステップS48)。ハッシュ値ファイルF32の保存場所は、ローカルのハードディスクドライブである。なお、ハッシュ値演算モジュール305がハッシュ値の演算に用いるハッシュ関数は、セキュリティサーバ10のハッシュ値演算モジュール305がハッシュ値の演算に用いるハッシュ関数と同一でなければならない。
【0044】
パッチ適用確認モジュール306は、パッチ・カタログファイルF13と適用済みパッチリストF41とを比較し、パッチ・カタログファイルF13に登録されている修正パッチが全てオペレーティングシステムまたはアプリケーションソフトウェアに適用されているか確認する(ステップS49)。そして、パッチ適用確認モジュール306は、パッチ・カタログファイルに登録されている修正パッチが全て適用済みであるか判別する(ステップS50)。適用済みではないと判断した場合(ステップS50のNo)、パッチ適用確認モジュール306は、適用済みでない修正モジュールの取得するための情報を修正パッチ取得モジュール307に通知する。パッチ適用確認モジュール306は、通知に基づいて、ルータモジュール103を介して、修正パッチ配布サーバ42から修正パッチF21を取得し、ローカルのハードディスクドライブに保存する。そして、パッチ適用確認モジュール306はパッチ適用モジュール308に修正パッチのパスの情報を渡し、パッチ適用モジュール308に修正パッチの適用を指示する。パッチ適用モジュール308は、渡されたパスに格納されている修正パッチを用いて、オペレーティングシステムまたはアプリケーションソフトウェアのコードを修正(治療)する(ステップS51)。修正後、修正モジュールは、パッチ・カタログファイルに登録されている修正パッチが全て適用されるまで、ステップS49〜ステップS51の処理を実行する。
【0045】
全ての修正パッチが適用された場合(ステップS50のYes)、パッチ適用確認モジュール306は、システムが精製した第1適用済みパッチリストF41のコピーを第2適用済みパッチリストF42としてローカルの記憶装置に保存する(ステップS52)。
【0046】
パッチ適用確認モジュール306はパーソナルファイアウォール301に業務ネットワークへの接続の許可を通知する。パーソナルファイアウォール301は、クライアントコンピュータ20のシステムが業務ネットワークに接続できるようにする(ステップS53)。そして、ユーザは通常の業務作業を行うことができるようになる。そして、業務終了後、ユーザはシステムからログオフする(ステップS54)。
【0047】
以上の説明したように、ユーザが誤って修正パッチを削除したとしても、修正パッチが適用されない限り、クライアントコンピュータ20のシステムを業務ネットワーク30への許可しない。
【0048】
[第3の実施形態]
図7は、本発明の第3の実施形態に係わるクライアントコンピュータ20のシステム構成を示すブロック図である。このクライアントコンピュータ20は、インテル マネジメント・テクノロジ(インテルAMT)に対応したコンピュータである。インテルAMTは、オペレーティングシステムの非稼働時に動作するコンピュータ、およびLANコントローラ、および不揮発性メモリ等を有する。そのため、クライアントコンピュータ20の非稼働時にセキュリティサーバ10から不揮発性メモリに前述したハッシュ値ファイルを不揮発性メモリに書き込むことができる。
【0049】
本コンピュータ20は、図7に示されているように、CPU501、ノースブリッジ502、主メモリ503、サウスブリッジ504、グラフィクスプロセッシングユニット(GPU)505、ビデオメモリ(VRAM)505A、サウンドコントローラ506、不揮発性メモリ(NVM)509、LANコントローラ510、ハードディスクドライブ(HDD)511、およびエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)516等を備えている。
【0050】
CPU501は本コンピュータ20の動作を制御するプロセッサであり、ハードディスクドライブ(HDD)511から主メモリ503にロードされる、オペレーティングシステムや各種アプリケーションプログラムを実行する。また、CPU501は、不揮発性メモリ509に格納されたBIOS(Basic Input Output System)509Aも実行する。BIOSはハードウェア制御のためのプログラムである。
【0051】
ノースブリッジ502はCPU501のローカルバスとサウスブリッジ504との間を接続するブリッジデバイスである。ノースブリッジ502には、主メモリ503をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ502は、PCI EXPRESS規格のシリアルバスなどを介してGPU505との通信を実行する機能も有している。
【0052】
ノースブリッジ502は、オペレーティングシステムの非稼働時にも動作するマイコン500を有する。マイコン500は、セキュリティサーバ10から命令に応じて、不揮発性メモリ509にハッシュ値ファイルF32を書き込む処理を実行する。
【0053】
GPU505は、本コンピュータ20のディスプレイモニタとして使用されるモニタ517を制御する表示コントローラである。このGPU505によって生成される表示信号はモニタ517に送られる。
【0054】
サウスブリッジ504は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ504は、ハードディスクドライブ(HDD)511を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。
【0055】
LANコントローラ510は、たとえば1000BASE−T/TX規格の有線通信を実行する通信デバイスである。このLANコントローラ510は、例えばインテル社製の82566DMギガビット・ネットワーク・コネクションである。
【0056】
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)516は、電力管理のためのエンベデッドコントローラと、キーボード(KB)513およびマウス514を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)516は、ユーザによるパワーボタンの操作に応じて本コンピュータ20をパワーオン/パワーオフする機能を有している。
【0057】
ノースブリッジ502、サウスブリッジ504、LANコントローラ510、およびEC/KBC516は、システムが稼働していない電源オフ状態であっても待機電源が供給されている。
【0058】
第1の実施形態では、ユーザがクライアントコンピュータ20へログオンした後に、パッチ・カタログファイルのハッシュ値を取得しているが、ユーザがログオンする前に、インテルAMTの技術を使い、不揮発性メモリ509にハッシュ値が記録されたファイルF32を書き込んでおく。クライアントコンピュータ20ではセキュリティサーバ10からハッシュ値を取得するのではなく、不揮発性メモリ509からハッシュ値ファイルを取得する。ハッシュ値が変更されていれば、改めてセキュリティサーバ10からパッチ・カタログファイルを取得する。
【0059】
次に、図8のフローチャートを参照して、セキュリティサーバ10がパッチ・カタログファイルおよびハッシュ値の保存を命令するための手順を説明する。
カタログファイル取得モジュール101は、パッチ・カタログファイル配布サーバ41から定期的にパッチ・カタログファイルF11をダウンロードし(ステップS31)、パッチ・カタログファイルF12をローカルの記憶装置に保存する(ステップS32)。そして、ハッシュ値演算モジュール102は、パッチ・カタログファイルのハッシュ値を例えばMD5やSHA−1等のハッシュ関数を用いて計算する(ステップS33)。セキュリティサーバ10は、クライアントコンピュータ20のマイコン500に対して、計算されたハッシュ値が記録されたファイルF32を不揮発性メモリ509に保存するように命令する(ステップS43)。
【0060】
以上の処理で、不揮発性メモリ509にハッシュ値ファイルを書き込むことができる。クライアントコンピュータ20の動作は、第1の実施形態においてハッシュ値ファイルの取得先がセキュリティサーバ10から不揮発性メモリ509に代わっただけなので説明を省略する。
【0061】
なお、不揮発性メモリ509にハッシュ値だけでなく、パッチ・カタログファイルも書き込んでおけば、ハッシュ値が異なる場合にセキュリティサーバ10からパッチ・カタログファイルを取得する必要がなくなるので、ログオンから検疫完了までの時間がさらに短縮することができる。
【0062】
図9のフローチャートを参照してパッチ・カタログファイルを不揮発性メモリ509に書き込む処理の手順を説明する。
先ず、セキュリティサーバ10は、マイコン500に蕗は509に格納されているハッシュ値ファイルの伝送を命令する(ステップS81)。伝送されたら、セキュリティサーバ10は、伝送されたハッシュ値ファイルに格納されているハッシュ値と、自機が有するハッシュ値ファイルに格納されているハッシュ値とが一致するか否かを判別する(ステップS82)。二つのハッシュ値が一致しないと判断した場合、セキュリティサーバ10は、不揮発性メモリ509をクライアントコンピュータ20に転送し、マイコン500に対して、不揮発性メモリ509にパッチ・カタログファイルを保存するように命令する(ステップS83) 。
【0063】
パッチ・カタログファイルが変更された場合に、パッチ・カタログファイルを不揮発性メモリ509に書き込んでおくことで、更にログオンに係わる処理時間を短くすることができる。
【0064】
なお、上記実施形態では、パーソナルファイアウォール301によって、クライアントコンピュータ20の検疫ネットワーク50と業務ネットワーク30との接続を制御していたが、ゲートウェイを用いた方式や、DHCP認証を用いた方式や、IEEE802.1x認証に対応したスイッチを用いた認証推知方式を用いてクライアントコンピュータ20のネットワークへの接続を制御しても良い。
【0065】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0066】
101…カタログファイル取得モジュール,102…ハッシュ値比較モジュール,103…ルータモジュール,201〜20n…クライアントコンピュータ,301…パーソナルファイアウォール,302…ハッシュ値取得モジュール,303…ハッシュ値比較モジュール,304…カタログファイル取得モジュール,305…ハッシュ値演算モジュール,306…パッチ適用確認モジュール,307…修正パッチ取得モジュール,308…パッチ適用モジュール,309…リスト比較モジュール,403…ハッシュ値比較モジュール,406…パッチ適用確認モジュール,409…リスト比較モジュール,500…マイコン,509…不揮発性メモリ,510…LANコントローラ。

【特許請求の範囲】
【請求項1】
ネットワークを介してセキュリティサーバに接続されているコンピュータであって、
前記セキュリティサーバの固有値演算手段がオペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データから演算した第1固有値を演算する手法と同一な手法を用いて演算された第2固有値を格納する記憶装置と、
前記セキュリティサーバから前記第1固有値を取得する固有値取得手段と、
前記固有値取得手段が取得した前記第1固有値と前記記憶装置に格納されている前記第2固有値とが一致するか否かを判断する判断手段と、
前記判断手段が一致しないと判断した場合に、前記セキュリティサーバの前記記憶装置に格納されている前記メタ・データを取得するメタ・データ取得手段と、
前記メタ・データに登録されている情報に応じて前記修正パッチを取得する修正パッチ取得手段と、
前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正するための修正手段と
を具備するコンピュータ。
【請求項2】
前記セキュリティサーバの固有値取得手段は、ユーザが前記コンピュータにログオンする度に前記セキュリティサーバから前記第1固有値を取得する請求項1に記載のコンピュータ。
【請求項3】
前記ユーザが前記コンピュータにログオンしてから、前記判断手段が前記第1固有値と前記第2固有値とが一致すると判断するまで、或いは前記修正手段が前記コードを修正するまで、前記コンピュータと前記セキュリティサーバとが選択的に通信を行うための制限手段を更に具備する請求項2に記載のコンピュータ。
【請求項4】
前記第1固有値および前記第2固有値は、ハッシュ関数を用いて演算されるハッシュ値である請求項1に記載のコンピュータ。
【請求項5】
前記オペレーティングシステムまたは前記アプリケーションプログラムのコードに対して修正を行った修正パッチのリストであって、アンインストールされた修正パッチを含まない第1適用済みパッチリストを生成する手段と
前記オペレーティングシステムまたは前記アプリケーションプログラムのコードに対して修正を行った修正パッチ、およびアンインストールされた修正パッチを含む第2適用済みパッチリストを生成する手段と、
前記判断手段が前記第1固有値と前記第2固有値とが一致すると判断した場合に、前記第1滴用済みパッチリストと前記第2滴用済みパッチリストと比較することによって、アンインストールされた修正パッチがあるか否かを判別するアンインストールパッチ判別手段と、
前記アンインストールパッチ判別手段がアンイストールされた修正パッチがあると判断した場合に、前記メタ・データ取得手段に前記メタ・データの取得を指示する手段とを具備する請求項1に記載のコンピュータ。
【請求項6】
ネットワークを介してセキュリティサーバに接続され、オペレーティングシステムが稼働していない状態で前記セキュリティサーバから転送されたファイルを格納するための不揮発性メモリを有するコンピュータであって、
前記セキュリティサーバの固有値演算手段が、オペレーティングシステムまたはアプリケーションプログラムのコードを修正するための修正パッチの情報が登録されたメタ・データから演算したメタ・データに固有な第1固有値を、前記セキュリティサーバが発行した指示に応じて、前記不揮発性メモリに格納する手段と、
前記固有値演算手段が前記第1固有値を演算する手法と同一な手法を用いて演算された第2固有値を格納する記憶装置と、
前記不揮発性メモリから前記第1固有値を取得する固有値取得手段と、
前記固有値取得手段が取得した前記第1固有値と前記記憶装置に格納されている前記第2固有値とが一致するか否かを判断する判断手段と、
前記判断手段が一致しないと判断した場合に、前記メタ・データを取得するメタ・データ取得手段と、
前記メタ・データに登録されている情報に応じて前記修正パッチを取得する修正パッチ取得手段と、
前記メタ・データ取得手段が取得したメタ・データを用いて前記オペレーティングシステムまたは前記アプリケーションプログラムのコードを修正するための修正手段と
を具備するコンピュータ。
【請求項7】
前記セキュリティサーバは、前記不揮発性メモリに格納されている第1固有値を取得する手段と、前記第1固有値と、前記メタ・データ取得手段が新たに取得したメタ・データを用いて前記固有値演算手段によって演算された新たな第1固有値とが異なる場合に、前記コンピュータに対して、前記新たに取得したメタ・データを前記不揮発性メモリに格納する指示を発行する手段を更に具備し、
前記メタ・データ取得手段は、前記不揮発性メモリから前記メタ・データを取得する請求項6に記載のコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−138131(P2012−138131A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2012−98565(P2012−98565)
【出願日】平成24年4月24日(2012.4.24)
【分割の表示】特願2008−251738(P2008−251738)の分割
【原出願日】平成20年9月29日(2008.9.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】