(57)【要約】コンピュータのセキュリティ脆弱性に対処するシステム及びプロセスである。システム及びプロセスは、通常、複数のコンピュータの脆弱性について脆弱性情報を集める工程と、複数のコンピュータ脆弱性の修正データベースを構築する工程と、コンピュータの脆弱性に対処する修正シグネチャ46を構成する工程と、クライアントコンピュータ40に修正シグネチャ46を配備する工程とを具えている。修正シグネチャ46は、基本的に、対応する脆弱性に対処する一連の行為を具えている。管理及び自動化されたプロセスの取扱いによって、システムにて、修正シグネチャ46の選択的配備、脆弱性の選択的解決、修正シグネチャ46の計画された配備、脆弱性について、クライアントコンピュータ40の計画されたスキャンが可能となる。
2005532606.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにて脆弱性を解決する方法であって、
複数のコンピュータ脆弱性について脆弱性情報を集める工程と、
複数のコンピュータ脆弱性の修正データベースを構築する工程とを具える方法。
【請求項２】
コンピュータ脆弱性に対処する修正シグネチャを構成する工程を更に具える、請求項１に記載の方法。
【請求項３】
クライアントコンピュータに修正シグネチャを配備する工程を更に具える、請求項２に記載の方法。
【請求項４】
脆弱性情報を集める工程は、少なくとも１つのセキュリティインテリジェンスエージェントから脆弱性情報を得る工程を具える、請求項１に記載の方法。
【請求項５】
セキュリティインテリジェンスエージェントは、公知のコンピュータ脆弱性に関する情報のデータベースを具える、請求項４に記載の方法。
【請求項６】
セキュリティインテリジェンスエージェントは、スキャニングサービスを具えており、該スキャニングサービスは、脆弱性についてクライアントコンピュータをスキャンし、脆弱性情報を記録する、請求項４に記載の方法。
【請求項７】
修正シグネチャは、対応する脆弱性に対処する一連の行為を具える、請求項２に記載の方法。
【請求項８】
修正データベースを構築する工程は、各修正シグネチャを、対応するコンピュータ脆弱性に関連付ける工程を更に具える、請求項２に記載の方法。
【請求項９】
修正データベースを構築する工程は、脆弱性に対応する修正シグネチャを構成する工程と、テストする工程と、承認する工程とを更に具える、請求項１に記載の方法。
【請求項１０】
修正シグネチャを配備する工程は、修正シグネチャへのリモートアクセスを提供する工程を具える、請求項３に記載の方法。
【請求項１１】
修正シグネチャを配備する工程は、クライアントコンピュータについて、そのコンピュータ上で脆弱性に対処するための修正プロファイルを構成する、請求項３に記載の方法。
【請求項１２】
修正プロファイルは、クライアントコンピュータについて選択された修正シグネチャを具えており、該修正シグネチャは、そのクライアントコンピュータ上の脆弱性に対応している、請求項３に記載の方法。
【請求項１３】
修正シグネチャを配備する工程は、クライアントコンピュータ又はクライアントサーバがリモートアクセスするフラッシュサーバに、承認された修正シグネチャをアップロードする工程を更に具える、請求項１０に記載の方法。
【請求項１４】
修正シグネチャを配備する工程は、フラッシュサーバからクライアントサーバに修正シグネチャをダウンロードする工程を更に具える、請求項１３に記載の方法。
【請求項１５】
修正シグネチャを配備する工程は、脆弱性の解決を管理する工程を具える、請求項３に記載の方法。
【請求項１６】
脆弱性の解決を管理する工程は、修正シグネチャの選択的な配備を具える、請求項１５に記載の方法。
【請求項１７】
脆弱性の解決を管理する工程は、脆弱性の選択的な解決を具える、請求項１５に記載の方法。
【請求項１８】
脆弱性の解決を管理する工程は、脆弱性について、計画されたクライアントコンピュータのスキャニングを具える、請求項１５に記載の方法。
【請求項１９】
脆弱性の解決を管理する工程は、修正シグネチャの計画された配備を具える、請求項１５に記載の方法。
【請求項２０】
コンピュータ脆弱性を解決するシステムであって、
コンピュータ脆弱性について情報を有するセキュリティインテリジェンスエージェントに繋がって、脆弱性情報を修正データベースに集める修正サーバを具えるシステム。
【請求項２１】
修正サーバに繋げられて、各脆弱性について修正シグネチャを構成するシグネチャモジュールを更に具える、請求項２０に記載のシステム。
【請求項２２】
シグネチャモジュールに繋げられて、修正シグネチャへのリモートアクセスを提供するフラッシュサーバを更に具える、請求項２１に記載のシステム。
【請求項２３】
フラッシュサーバに繋がって、修正シグネチャにアクセスするクライアントサーバを更に具える、請求項２２に記載のシステム。
【請求項２４】
クライアントサーバに繋がれた配備モジュールを更に具えており、クライアントサーバは、該クライアントサーバに繋がれたクライアントコンピュータに修正シグネチャを配備できる、請求項２３に記載のシステム。
【請求項２５】
配備モジュールは、クライアントコンピュータの脆弱性に対処するために、そのクライアントコンピュータ用の修正プロファイルを構成できる、請求項２４に記載のシステム。
【請求項２６】
修正プロファイルは、クライアントコンピュータの脆弱性に対応して、そのクライアントコンピュータについて選択された修正シグネチャを具える、請求項２５に記載のシステム。
【請求項２７】
セキュリティインテリジェンスエージェントは、公知のコンピュータ脆弱性に関する情報のデータベースを具えている、請求項２０に記載のシステム。
【請求項２８】
セキュリティインテリジェンスエージェントは、脆弱性についてクライアントコンピュータをスキャンし、脆弱性情報を記録するスキャニングサービスを具えている、請求項２０に記載のシステム。
【請求項２９】
修正サーバは、各脆弱性に修正シグネチャを割り当てる、請求項２０に記載のシステム。
【請求項３０】
シグネチャモジュールは、修正シグネチャを構成し、テストし、承認する、請求項２１に記載のシステム。
【請求項３１】
フラッシュサーバは、承認された修正シグネチャへのアクセスを提供する、請求項２２に記載のシステム。
【請求項３２】
修正シグネチャは、フラッシュサーバにアップロードされる、請求項２２に記載のシステム。
【請求項３３】
クライアントサーバは、フラッシュサーバから修正シグネチャをダウンロードする、請求項２３に記載のシステム。
【請求項３４】
配備モジュールによって、管理された脆弱性の解決がなされる、請求項２４に記載のシステム。
【請求項３５】
管理された脆弱性の解決は、修正シグネチャの選択的な配備を含む、請求項３４に記載のシステム。
【請求項３６】
管理された脆弱性の解決は、脆弱性の選択的な解決を含む、請求項３４に記載のシステム。
【請求項３７】
管理された脆弱性の解決は、脆弱性について、クライアントコンピュータの計画されたスキャニングを含む、請求項３４に記載のシステム。
【請求項３８】
管理された脆弱性の解決は、脆弱性について、クライアントコンピュータの計画されたスキャニングを含む、請求項３４に記載のシステム。
【請求項３９】
配備モジュールは、各クライアントコンピュータについて修正プロファイルを構成する、請求項２４に記載のシステム。
【請求項４０】
修正プロファイルは、クライアントコンピュータ上の脆弱性を解決する修正シグネチャを含む、請求項３９に記載のシステム。
【請求項４１】
修正シグネチャは、修正プロファイルに選択的に含められる、請求項３９に記載のシステム。
【請求項４２】
修正シグネチャは、対応する脆弱性に対処する一連の行為を含む、請求項２１に記載のシステム。
【請求項４３】
修正サーバに繋がれた入力モジュールを更に具えており、該入力モジュールは、コンピュータ脆弱性について情報を有するセキュリティインテリジェンスエージェントへの修正サーバのインターフェイスを行う、請求項２０に記載のシステム。
【請求項４４】
クライアントサーバに繋がれたクライアントモジュールを更に具えており、該クライアントモジュールは、フラッシュサーバへのクライアントサーバのインターフェイスを行って、修正シグネチャにアクセスする、請求項２３に記載のシステム。
【請求項４５】
コンピュータで実行されて、コンピュータにて脆弱性を解決するプロセスを行う命令プログラムを、有形で具体化するコンピュータで読み出し可能な媒体であって、
複数のコンピュータに関する脆弱性情報を集める工程と、
複数のコンピュータ脆弱性の修正データべースを構築する工程とを具えている媒体。
【請求項４６】
プロセスは、コンピュータ脆弱性に対処する修正シグネチャを構成する工程を更に具える、請求項４５に記載の媒体。
【請求項４７】
プロセスは、修正シグネチャをクライアントコンピュータに配備する工程を更に具える、請求項４５に記載の媒体。
【発明の詳細な説明】
【関連出願の記載】
【０００１】
本出願は、２００１年１２月３１日に出願された米国仮出願第６０/３４５,６８９の優先権を主張する。
【連邦政府の援助による研究開発の記載】
【０００２】
該当せず。
【マイクロフィッシュ付属物の記載】
【０００３】
該当せず。
【発明の技術分野】
【０００４】
本発明は、概して、コンピュータにおけるセキュリティー脆弱性(vulnerability)を解決する方法及びシステムに関しており、より詳細には、脆弱性解決システムに関する。該システムでは、１又は２以上のソースから送られるコンピュータのセキュリティー脆弱性情報が集められると共に、総合的な修正アップデート(remediation updates)が生成されて、クライアントコンピュータへ管理された自動配布が行われる。
【発明の背景】
【０００５】
コンピュータ、コンピュータシステム、及びそれら上で動作するアプリケーションは、益々複雑になっている。加えて、インターネット及び現代のその他ネットワーク技術の出現によって、コンピュータの相互接続は増加し、個々のコンピュータ及びコンピュータネットワークのリモートアクセスは、益々一般的になった。このような複雑化の結果の一つに、対処すべきコンピュータのセキュリティ脆弱性の数が増加していることがある。例えば、２０００年だけで、オペレーティングシステムの脆弱性は、６５０件特定された。これらには、ウインドウズ２０００/ＮＴプラットフォームにおける１２６件と、ウインドウズ９ｘプラットフォームおける４６件とが含まれている。Computer Security Instituteは、１９９９年に４１７件の脆弱性を、２０００年に１０９０件の脆弱性を 、２００１年に２,４３７件の脆弱性を報告しており、２００２年には４０００件を超える脆弱性を予測している。これらトレンドを踏まえると、これら脆弱性を用いたセキュリティへの侵害からコンピュータを守ることは、益々困難になっている。さらに、これらコンピュータシステム及び/又はネットワークのセキュリティを維持する仕事は、益々煩雑且つ困難になっている。
【０００６】
現在、一般的に、組織は、脆弱性をスキャンするソフトウエア、又はマネージドセキュリティプロバイダを用いて、セキュリティの弱点についてコンピュータをテストしている。これらツールは、概して、コンピューティング環境で発見された脆弱性について詳細な情報を与える。しかし、検出された脆弱性を修正又は解決するためにこれらツールで与えられる手段は、貧弱である。特定した脆弱性を組織が除去するためには、通常、大量の仕事及びリソースを展開して、各脆弱性について修正を明確にし、及び/又は生成しなければならず、その後、さらに働いて、影響を受けたコンピュータに、脆弱性の修正をインストールする必要がある。多くの場合、これは、個々のコンピュータを訪問して、手動で必要な修正を加える作業を含んでいる。さらに、一旦修正が加えられると、使用者は、容易にそれを除去することができ、又は、修正を脆弱にするソフトウエアをさらにインストールでき、それ故に、修正を行う際に費やされた労力の全てが無駄になる。
【発明の概要】
【０００７】
本発明によれば、個々のコンピュータ及びコンピュータネットワークにおけるセキュリティの脆弱性を修正するために、さらに自動化及び管理された手法を与える方法及び装置がもたらされる。さらに詳細には、脆弱性修正システムが与えられる。このシステムには、脆弱性情報が集められて、その後、脆弱性情報は、ダウンロードされる脆弱性修正シグネチャを構成し、後に更新するために用いられる。そして、ダウンロードされたシグネチャは、選択的に使用されて、セキュリティ脆弱性を有するクライアントのマシンの脆弱性に対処、即ち脆弱性を解決する。
【０００８】
ある実施例では、コンピュータの脆弱性を解決する方法は、複数のコンピュータに関する脆弱性情報を集めるステップと、それら複数のコンピュータの脆弱性の修正データベースを構築するステップと、コンピュータの脆弱性に対処する修正シグネチャを構成するステップと、その修正シグネチャをクライアントのコンピュータに配備するステップとを具える。脆弱性情報を集めるステップは、少なくとも１つのセキュリティインテリジェンスエージェントから脆弱性情報を得るステップを具えている。セキュリティインテリジェンスエージェントは、例えば、公知のコンピュータ脆弱性に関する情報のデータベースであり、又は、脆弱性についてクライアントのコンピュータをスキャンし、脆弱性情報を記録するスキャニングサービスである。修正シグネチャは、通常、対応する脆弱性に対処する一連の行為を具えている。修正シグネチャは、概ね、対応するコンピュータ脆弱性と結び付けられている。修正プロファイルを、クライアントコンピュータに対して構成して、そのコンピュータの脆弱性に対処してもよい。プロファイルは、クライアントコンピュータについて選択された修正シグネチャを具えており、該修正シグネチャは、そのクライアントコンピュータの脆弱性に対応している。修正シグネチャがフラッシュサーバにアップロードされて、クライアントコンピュータ又はクライアントサーバによってリモートアクセス又はダウンロードされてもよい。また、修正シグネチャを選択的に配備すること、脆弱性を選択的に解決すること、脆弱性についてクライアントコンピュータを計画的にスキャニングすること、修正シグネチャを計画的に配備すること等を含む、管理された修正手法も考えられる。
【０００９】
別の実施例では、コンピュータの脆弱性を解決するシステムは、修正サーバを具えている。修正サーバは、セキュリティインテリジェンスエージェントと繋ぐことができ、該エージェントは、コンピュータ脆弱性に関する情報を有している。このようにして、修正データベースに脆弱性情報が集められる。様々なデバイスが修正サーバに繋がれて、システムが完全にされてよい。例えば、シグネチャモジュールが修正サーバに繋がれて、各脆弱性について修正シグネチャが構成されてよい。フラッシュサーバがシグネチャモジュールに繋がれて、修正シグネチャへのリモートアクセスがもたらされてよい。また、クライアントサーバが設けられてもよい。該サーバは、該フラッシュサーバに繋がれて、修正シグネチャにアクセス可能にされる。また、配備モジュールがクライアントサーバに繋がれて、このクライアントサーバに繋がれたクライアントコンピュータに、修正シグネチャが配備可能にされてもよい。また、配備モジュールがクライアントコンピュータの修正プロファイルを構成して、そのコンピュータの脆弱性に対処がされてもよい。ここで、通常、修正プロファイルは、クライアントコンピュータの脆弱性に対応して、そのクライアントコンピュータについて選択された修正シグネチャを具えている。入力モジュールが修正サーバに繋がれて、コンピュータの脆弱性に関する情報を有するセキュリティインテリジェンスエージェントに、修正サーバをインターフェイスする処理が行われてもよい。クライアントモジュールがクライアントサーバに繋がれて、フラッシュサーバに該クライアントサーバをインターフェイスする処理が行われることで、修正シグネチャにアクセスされてもよい。
【００１０】
別の実施例では、コンピュータで実行されて、コンピュータにて脆弱性を解決するプロセスを行う命令のプログラムを、有形で(tangibly)具体化するコンピュータで読み出し可能な媒体は、複数のコンピュータに関する脆弱性情報を集める工程と、複数のコンピュータの脆弱性について修正データべースを構築する工程と、コンピュータの脆弱性に対処する修正シグネチャを構成する工程と、該修正シグネチャをクライアントコンピュータに配備する工程とを具える。
【実施例の詳細な説明】
【００１１】
本明細書では、多くの詳細が具体的に示されており、本発明の十分な理解が与えられる。しかしながら、当該技術分野における通常の知識を有する者は、これら具体的詳細が無くとも本発明が実施され得ることを理解するであろう。その他、周知の要素が概略図又はブロック図で示されており、不必要な詳細について本発明をあいまいにすることがないようにされている。更に、幾つかの詳細は省略されている。このような詳細は、本発明の完全な理解を得るために必要であるとは認められず、関係する技術分野において通常の知識を有する者の理解の範囲内であると認められるからである。さらに、本明細書に記載された全ての機能は、特に示されない場合は、ソフトウエア、ハードウエア、又はそれらの組合せで実施されてよいことに留意すべきである。以下の説明及び特許請求の範囲を通じて、幾つかの用語が、システムの特定の要素に言及するために使用される。当業者に理解されるように、構成要素は、異なる名称で言及されてもよい。本明細書では、名称が異なるが機能が同じ構成要素を区別することは意図されていない。以下の説明及び特許請求の範囲では、用語「含む」及び「具える」は、幅広い解釈ができる流儀で使用されており、従って、「・・・を含んでいるが、・・・に限定するものではない」旨を意味していると理解されるべきである。また、用語「繋ぐ」又は「繋ぎ」は、間接的又は直接的な電気、即ち通信接続の何れかを意味している。従って、第１デバイスが第２デバイスと繋がれているならば、その接続は、直接的な接続、又は、他のデバイス及び接続を介した間接的な接続となる。最後に、用語「修正する」及び「修正」は、概ね、対象である脆弱性によって生じるセキュリティリスクを低減又は緩和することによって、脆弱性に対処すること、即ち脆弱性を解決することに言及するために用いられる。
【００１２】
図１に、本発明に基づいた脆弱性解決システム(10)の実施例を示す。図１に示すように、システム(10)は、複数のインテリジェンスエージェント(14)に繋がれた修正サーバ(12)を具えている。また、修正サーバ(12)は、インポートモジュール(15)、修正データベース(16)、及びシグネチャモジュール(18)に繋がれている。この実施例では、インポートモジュール(15)、修正データベース(16)、及びシグネチャモジュール(18)は、修正サーバ(12)に組み込まれている。例えば、インポートモジュール(15)、修正データベース(16)、及びシグネチャモジュール(18)は、修正サーバ(12)のメモリに格納されてよい。一方で、インポートモジュール(15)、修正データベース(16)、及びシグネチャモジュール(18)が、修正サーバ(12)から離されて繋がれることも考えられる。
【００１３】
また、修正サーバ(12)には、フラッシュサーバ(20)が繋がれている。フラッシュサーバ(20)には、クライアントサーバ(22)が繋がれている。クライアントモジュール(23)及び配備モジュール(24)は、クライアントサーバ(22)に組み込まれている。例えば、クライアントモジュール(23)及び配備モジュール(24)は、修正サーバ(12)のメモリに格納されてよい。一方で、クライアントモジュール(23)及び配備モジュール(24)は、クライアントサーバ(22)から離されて繋がれることも考えられる。そして、最後に、複数のクライアントコンピュータ(26)が、クライアントサーバ(22)に繋がれる。
【００１４】
システム(10)が動作すると、修正サーバ(12)は、インテリジェンスエージェント(14)からコンピュータのセキュリティ脆弱性に関する情報を得る。インポートモジュール(15)は、修正サーバ(12)と、このような情報を有する様々なエージェントとの間で必要なインターフェイスを与える。インテリジェンスエージェントの例としては、ＩＳＳインターネットスキャナ、クオリスガード(QualysGuard)、ネッソス(Nessus)、イーアイ(Eeye)、ハリス(Harris)、レティナ(Retina)、マイクロソフトのｈｆネットチェック(hfNetCheck)、及びその他がある。脆弱性情報は、これらエージェントから多くの様式(form)でやって来る。このような様式には、１)マイクロソフトのウインドウズのような広く行き渡ったソフトウエアの脆弱性のような公知のセキュリティ脆弱性に関する、セキュリティインテリジェンス団体から送られる一般的情報、及び２)クライアントのコンピュータ又はコンピュータシステム(26)のセキュリティスキャンの間で発見された特定の脆弱性に関する、スキャニングサービスから送られる特定の情報の２つが含まれる。修正サーバ(12)は、如何なるソースから得られた脆弱性情報をも修正データベース(16)に集める。修正データベース(16)に情報を集める一方で、修正サーバ(12)は、様々な方法で情報を操作する。例えば、サーバ(12)は、不必要な情報を取り出すここと、関係する脆弱性に又は別なやり方で情報を分類すること、重複する情報を取り除くこと、関連した幾つかの脆弱性を特定し又は関連付けること等を行ってもよい。
【００１５】
加えて、修正サーバ(12)は、シグネチャモジュール(18)を用いて、脆弱性について修正シグネチャを生成する。通常、修正シグネチャは、脆弱性に対処、即ち脆弱性を解決するために行われる行為のリストである。この実施例では、修正シグネチャは、次のタイプの修正行為を含んでいる。サービスマネージメント、レジストリマネジメント、セキュリティパーミッションマネジメント、ポリシー(policy)マネージメント、オーディト(audit)マネージメント、ファイルマネージメント、プロセスマネージメントに加えて、サービスパック、ホットフィックス(hot fix)及びパッチインストール。これらのタイプの修正行為は、コンピュータセキュリティ産業では一般的に知られている。
【００１６】
修正シグネチャは、１又は２以上の脆弱性に対処する。しかしながら、説明を簡単にするために、この実施例では、各修正シグネチャは、１つの脆弱性又は１つのタイプの脆弱性に対処する。このシステムの実施例では、修正シグネチャは、抽象的なオブジェクトとして生成され、修正システムに用いられている基盤のソースコードを変更することなく、多数のプラットフォームに亘って作成及び実施される。これによって、修正システムの環境において修正シグネチャを作成することができ、その結果、修正シグネチャは、修正システムが動作するどんなシステム又は環境でも利用され得る。修正シグネチャを構成するプロセスは、完全に自動化されてよく、ある手動操作を含んでいてもよく、それらの組合せでもよい。実際には、幾つかのインテリジェンスエージェント(14)は、得られた脆弱性情報に従って修正を与え又は提示してもよい。脆弱性の複雑さのレベルに応じて、それに対応した複雑さのレベルが修正シグネチャに要求されるかも知れない。例えば、幾つかのベンダーは、「パッチ」、「フィックス」又は「アップデート」を提供しており、それらは、彼らのベンダーウェブサイトを介して、彼らのハードウエア又はソフトウエアの脆弱性に対処する。それ故に、シグネチャは、ベンダーウェブサイトに行く指示を含んでおり、コンピュータの脆弱性を修正するために行われる行為の一つとして、パッチ又はアップデートの回収をしてもよい。シグネチャの潜在的な複雑さを考慮すると、それらは、最初に構成されたようにはいつもうまく動作しないかも知れない。従って、シグネチャモジュール(18)又は修正サーバ(12)が、構成されたシグネチャをテスト及び承認して、シグネチャが、対象とする脆弱性をうまく解決し、如何なる有害な効果を有さないことを保証してもよい。
【００１７】
一旦、修正シグネチャが構成されると、この実施例のシステム(10)では、修正シグネチャは、修正データベース(16)の対応する脆弱性に割り当てられ、又は結び付けられる。その結果、修正データベース(16)は、特定された脆弱性に関して、脆弱性情報及び対応する修正シグネチャを含んでいる。その代わりに、シグネチャは、他の場所に格納されて、ポインタ又はその他の手段を用いて、それらと対応する脆弱性に遠隔で結び付けられてよい。
【００１８】
修正シグネチャ及び脆弱性情報は、配布用のフラッシュサーバ(20)に配置され得る。通常、修正シグネチャは、テスト及び承認された後のみに、コンピュータの脆弱性の解決を求めるクライアントに配布されるために、フラッシュサーバ(20)に渡され又はアップロードされる。その後、クライアントサーバ(22)は、フラッシュサーバ(20)から所望の情報をダウンロード可能になる。この実施例では、ダウンロードは、通常、ＩＴ又はコンピュータセキュリティ担当者のようなユーザによって開始される。クライアントサーバ(22)は、インターネット接続、又は直接的なダイアルアップ接続を含む多数の方法で、フラッシュサーバ(20)に接続されてよい。この実施例のシステムでは、クライアントモジュール(23)は、情報をフラッシュサーバ(20)からダウンロードするのに必要なインターフェイスロジックを提供する。通常、クライアントサーバ(22)は、フラッシュサーバ(20)から情報を周期的にダウンロードし、更新された脆弱性及び修正情報をチェックする。また、クライアントサーバ(22)は、インターネット又はその他のグローバルネットワークを介してベンダーウェブサイト(21)にアクセスして、修正に必要なパッチ又はアップデートをさらに得てもよい。この実施例のシステム(10)では、クライアントサーバ(22)は、フラッシュサーバ(20)からダウンロードされたシグネチャの解析及び解釈をする。シグネチャが、ベンダーウェブサイト(21)から送られる必要なアップデート又はパッチを特定する場合、クライアントサーバ(22)は、ウェブサイトに接続して、必要な情報をダウンロードし、クライアントサーバ(22)に繋がれたどのクライアントコンピュータ(26)の修正についても、パッチ又はアップデートを現場で利用可能にする。
【００１９】
この実施例では、クライアントサーバ(22)が、それに繋がれるクライアントコンピュータ(26)のプロファイルを管理することも考えられてよい。クライアントコンピュータ(26)のプロファイルは、基本的に、クライアントコンピュータ(26)に関するシステム情報に記録され又は書き込まれる。主として、プロファイルは、クライアントコンピュータ(26)で行われる修正に関する情報を含んでいる。一方で、プロファイルが、クライアントコンピュータ(26)のフォーマッティング、コンピュータ(26)で動くソフトウエアアプリケーション及びバージョン等に関する情報を含むことも考えられる。該情報は、対象となるコンピュータのセキュリティ問題を管理するのに役に立つ。コンピュータのプロファイルを、フラッシュサーバ(20)からダウンロードされた脆弱性及び修正情報と比較することで、クライアントサーバ(22)は、各クライアントコンピュータ(26)に必要な修正を探知できる。加えて、クライアントサーバ(22)は、各クライアントコンピュータ(26)について、脆弱性修正プロセスを管理する。例えば、クライアントサーバ(22)が、又はセキュリティ若しくはＩＴ担当者が該サーバを介して、各クライアントコンピュータ(26)にどの修正シグネチャが配備されるべきかを、又はどの脆弱性が対象となるべきか若しくは対象にならざるべきかを選択することもあり得る。加えて、脆弱性の解決は、様々な解決イベントをスケジュールに入れて管理され得る。例えば、脆弱性についてクライアントコンピュータ(26)が何時及び何回スキャンされるかということが、それらの脆弱性に対処する修正シグネチャを配備する時期に加えて、スケジュールに入れられる。
【００２０】
脆弱性の解決を管理することで、脆弱性の修正が、より確実に且つ高い費用効率で施される。特に、勤務時間外に修正を発生させることが可能となり、クライアントコンピュータ(26)の生産性への影響が最小にされる。修正を選択的に実施させることが可能である。修正は、誤って上書きされたり、又は行われないことがないように、探知されて書き込まれ得る。そして、修正は、クライアントサーバ(22)によって自動的に達成できる。これは、各クライアントコンピュータに手動で修正を行い又はインストールしなければならないのこととは対照的であり、幾つかの大企業では実質的に不可能な仕事である。
【００２１】
図２は、本発明に基づいた脆弱性修正システム(30)の実施例について違った説明を与えるブロック図である。さらに詳細には、図２は、本発明に基づいた脆弱性システムのアーキテクチャを視覚する別の方法を与える。図２に示すように、脆弱性システム(30)の実施例のアーキテクチャは、通常、収集セクション(31)及び修正セクション(32)を具えている。アーキテクチャの収集セクション(31)は、コンピュータセキュリティの脆弱性情報を得て集めることを、基本的に担当する。一方で、修正セクション(32)は、特定された脆弱性について修正シグネチャを構成し、管理且つ自動化された方法でそれら修正をクライアントコンピュータに配備することを、基本的に担当する。
【００２２】
図２示すように、システムアーキテクチャ(30)の収集セクション(31)は、インテリジェンスエージェント(34)、インポートＡＰＩ又はインターフェイス(36)、及びアドミニストレータ(38)を具えている。インポートＡＰＩ(36)は、インテリジェンスエージェント(34)へのインターフェイスを与える。図１に関して先に説明したように、インテリジェンスエージェント(34)は、コンピュータのセキュリティ脆弱性に関する情報を与える。上述のように、インテリジェンスエージェント(34)は、自動化された脆弱性評価手段、セキュリティインテリジェンスサービス、コンピュータハードウエア又はソフトウエアの製品等を含んでいる。アドミニストレータ(38)は、インポートＡＰＩ(36)を介して、インテリジェンスエージェント(34)からこの脆弱性情報を得る。インポートＡＰＩ(36)は、通常、必要に応じて、幾つかのインターフェイス又はインポートウィザードを含んでおり、種々のインテリジェンスエージェントから送られる脆弱性評価データのインポーテーションが可能となる。一般的に、インテリジェンスエージェント(34)は、必要なインターフェイスを特定する情報を与える。一旦回収されると、脆弱性情報は、アドミニストレータ(38)を用いて、集められ、ソートされ、選択され、又は他の方法で管理される。
【００２３】
システムアーキテクチャ(30)の修正セクション(32)は、最終的に、収集セクション(31)で回収された脆弱性情報を用いて、クライアントコンピュータ(40)上の脆弱性を修正する。クライアントコンピュータ(40)は、クライアントサーバ(42)に繋がれている。クライアントサーバ(42)によって、クライアントコンピュータ(40)への修正シグネチャの自動化及び管理された配備が可能となる。修正セクション(32)のアーキテクチャは、収集セクション(31)から送られる脆弱性情報が、修正バス(44)、修正シグネチャ(46)及び修正プロファイル(48)を通じて、クライアントサーバ(42)及びクライアントコンピュータ(40)に送られる模様を示している。上述のように、修正シグネチャ(46)は、基本的に、脆弱性に対処する、即ちこれを解決するために行い得る１群の行為である。シグネチャは、脆弱性情報と共に、インテリジェンスエージェント(34)によって与えられてもよく、または、大抵の場合、受け取った脆弱性情報に応じて構成される必要があろう。その構成は、問題となる脆弱性に対処するために行われる適切な行為のある種の自動作成及び/又は手動作成を含んでいる。また、先に説明したように、修正プロファイル(48)は、クライアントコンピュータ(40)又はクライアントサーバ(42)に関するシステム情報の記録又はログをしてもよい。例えば、プロファイルは、クライアントコンピュータ(40)又はサーバ(42)のフォーマッティング、コンピュータ(40)又はサーバ(42)上で動くソフトウエアアプリケーション及びそれらのバージョン、コンピュータ(40)及びサーバ(42)上で既に実施された修正シグネチャ、コンピュータ(40)の修正履歴等に関する情報を含んでもよい。コンピュータのプロファイルを、得られた脆弱性及び修正情報と比較することにより、各コンピュータ(40)又はサーバ(42)に要求される修正が探知され得る。また、図２は、本実施例の修正タイプ又はグループ(50)に、コンフィグレーションマネージメント、バックドアマネージメント、サービスマネージメント、アカウントマネージメント及びパッチマネージメントが含まれる模様を示している。利用される修正グループは、修正バス(44)に繋がれている。
【００２４】
図３は、本発明に基づいたコンピュータの脆弱性修正プロセスの実施例の概要を示すフローチャートである。修正プロセス(60)は、ボックス(61)の脆弱性評価で開始される。脆弱性評価は、自動化された評価手段、調査プロセス、インテリジェンスエージェントを用いる工程を具えており、特定のコンピュータ又はコンピュータネットワーク上の公知の脆弱性の存在を検証する。また、この評価プロセスは、デバイスディスカバリ、即ち、評価されるネットワーク及びサブネットワークの構成要素をマッピングする工程と、脆弱性評価の対象となるデバイスを特定する工程とを含んでもよい。ボックス(62)では、システムに、通常は修正データベースに、脆弱性情報がインポート又は集められて、修正シグネチャが、特定された脆弱性に対処するために構成され得る。先述のように、修正シグネチャは、通常、修正データベース内の対応する脆弱性に関連付けられている。脆弱性情報は、ボックス(63)にて検討される。検討プロセスは、通常、脆弱性情報を解析する工程を含んでおり、容認できるリスク(即ち、修正が要求されない場合)と同様に、修正される脆弱性を優先順位を決めて特定する。ボックス(64)に示されたように、その後、修正は、所望の時間、場所及び方法で起こるように、スケジュールに入れられ得る。これによって、修正は閑散時に起こって、通常のコンピュータ動作への干渉が低減される。また、これによって、修正は、ターゲットである特定のコンピュータにて、所望の方法で起こる。ボックス(65)では、修正シグネチャは、クライアントのターゲットコンピュータへの配布を承認される。これは、修正シグネチャが選択的に配備され得ることを意図している。加えて、シグネチャは、特定された脆弱性に対処するように設計されており、配備されるシグネチャを承認する前に、テスト及び訂正されてもよい。承認されると、ボックス(66)にて、修正シグネチャ及び脆弱性情報は、クライアントコンピュータ上で使用されるためにシステムのクライアントに配布される。その後、ボックス(67)にて修正は、計画通りに起こる。最後に、行われた修正が検討されて、ステータスリポート又はその他によって、修正が成功裡に完了したことが確認される。加えて、修正イベントが書き込まれ又は記録されて、修正情報が保存されてもよい。このような情報は、クライアントコンピュータのプロファイルに含まれてもよい。先述のように、このようなプロファイルは、システム設定、ソフトウエア及び先の修正行為又は修正履歴のような、ターゲットデバイスに関する情報を含んでもよい。このような情報を有することにより、将来において、クライアントコンピュータの修正を管理して行える。図３の修正プロセスの実施例は、本発明で意図された脆弱性評価、脆弱性修正、及び脆弱性マネージメントを全般的に示している。
【００２５】
図４は、本発明に基づいたコンピュータの脆弱性の修正について、収集及び構成プロセスの実施例を示したフローチャートである。基本的に、収集及び構成プロセス(70)は、修正プロセス全体のサブプロセスと考えることができる。プロセス(70)はボックス(71)で開始し、インテリジェンスエージェントから脆弱性情報が集められる。先述のように、これらインテリジェンスエージェントは、自動化された脆弱性評価手段、セキュリティインテリジェンスサービス、コンピュータハードウエア又はソフトウエアの機器等を含んでいる。インテリジェンスエージェントから回収された脆弱性情報は、その後、ボックス(72)に示すように、修正データベースに集められる。ボックス(73)にて、脆弱性情報は、その後、検討及び解析される。これは、関連する脆弱性又はその他に情報をソートする工程と、関連したある脆弱性を分類又は特定する工程と、脆弱性の優先順位を決定する工程等を含んてよい。ボックス(74)に示すように、修正シグネチャを生成するために、脆弱性が特定される。修正シグネチャは、脆弱性又はある種の脆弱性を解決、即ちそれに対処する。その後、ボックス(75)にて、修正シグネチャが構成される。先述のように、修正シグネチャは、問題の脆弱性に対処、即ちこれを解決する行為の集まりである。その行為には、例えば、レジストリ設定の修正、セキュリティ承認の変更、パッチのインストール等がある。修正シグネチャの生成は、完全に自動化され、又はさらにある種の手動入力を含んでいてもよい。ボックス(76)では、修正シグネチャがテストされて、それが、ターゲットの脆弱性を効果的に解決するか否か、即ちこれに対処するか否かが調べられる。否である場合、プロセスは、ボックス(75)に戻って、別の修正シグネチャが構成されて、その後ボックス(76)にて再度テストされる。一旦、効果的なシグネチャが構成されると、プロセスはボックス(77)に続く。ボックス(77)では、選択されたシグネチャに、クライアントへの配布が承認される。承認されたシグネチャは、その後、ボックス(78)にて、フラッシュサーバにアップロードされて、フラッシュサーバは、それらをクライアントによってダウンロード可能にする。このように、新たな且つ更新された修正シグネチャであって、特定された脆弱性に対処し、即ちそれらを解決する修正シグネチャが、クライアントによってダウンロード可能になる。
【００２６】
図５Ａ及び５Ｂは、本発明に基づいたコンピュータの脆弱性を修正する修正マネージメントシステムの実施例を示すフローチャートである。基本的に、収集及び構成プロセス(70)は、全修正プロセスのサブプロセスと考えることができる。修正マネージメントシステム(80)のこの実施例は、通常、クライアントサーバにインストールされたソフトウエアアプリケーションであり、該サーバは、ターゲットたる複数のクライアントコンピュータに繋がれており、これらコンピュータは、セキュリティ脆弱性の修正を要求する。それ故に、プロセス(80)は、ボックス(81)にて、アプリケーションの立ち上げで開始する。ボックス(82)では、利用される修正シグネチャ及び脆弱性情報が、通常、フラッシュサーバからダウンロードされる。ボックス(83)では、脆弱性評価データがインポートされる。通常、この脆弱性評価データは、修正が検討されているターゲットコンピュータをスキャン又は解析したスキャニング手段からもたらされる。脆弱性評価データは、ターゲットコンピュータ又はデバイスで見つかったセキュリティ脆弱性に関する情報を含んでいる。ターゲットコンピュータで特定された脆弱性に基づいて、脆弱性は、その後、ボックス(84)にて修正シグネチャにマップされる。この実施例では、特定された脆弱性を対応する修正シグネチャにマッピングすることは、フラッシュサーバからダウンロードされた修正データベース情報を参照することで行われる。一方で、この情報は既にダウンロードされて、リモートアクセスされて、又はただ今ダウンロードされて、脆弱性と利用されるシグネチャとの間で、必要な関係付けが完了していてもよい。その後、ボックス(85)にて、各ターゲットコンピュータについて修正プロファイルが生成される。先述のように、プロファイルは、通常、ターゲットコンピュータ上で特定された脆弱性に関する情報の他に、それら脆弱性に対処するためのそれらに対応したシグネチャを含んでいる。ボックス(86)では、クライアントのユーザ、一般的にはＩＴ係又はその他のコンピュータセキュリティ担当者は、修正されるべき脆弱性を選択する機会が与えられる。一般的に、選択は、脆弱性、提案されたシグネチャ、及びプロファイルに関する情報を検討することで行われる。選択及び検討は、各コンピュータ毎に、又は各脆弱性毎に行われてよい。例えば、おそらく、あるコンピュータでは、セキュリティの危険性が大きくない、そのコンピュータの脆弱性が深刻ではない、そのコンピュータを動かすプロセスが修正で中断できない等の場合には、そのコンピュータが如何なる修正も受け取らないように選択されることもあり得る。あるいは、おそらく、ある脆弱性の危険性が大きくなく、修正シグネチャが非常に危険とみなされる等の場合には、その脆弱性が、全てのターゲットクライアントコンピュータについて除外されて、脆弱性が如何なるターゲットコンピュータでも修正されないことがあり得る。一旦、どの脆弱性が修正されるかをユーザが選択的に管理すると、その後、ユーザは、ボックス(87)にて、修正の受け取りをどのコンピュータに承認するかを選択できる。ボックス(88)では、提案された修正が解析されて、どの修正シグネチャが必要かが決定される。ボックス(89)では、修正を受け取るターゲットクライアントコンピュータは、修正が起こることを知らされる。この実施例では、その通知は、基本的に、各クライアントコンピュータにインストールされたローカルな修正アプリケーションを通じて送られるメッセージである。修正が何時起こるように計画されているかということが、修正の通知に含まれてもよい。例えば、修正は、特定のイベントによって、例えば、ユーザによるマシンのログオフ、ログイン、又は任意の他の行為等によって起こるように計画され得る。加えて、修正は、特定の時間に起こるように計画されてもよい。故に、ターゲットコンピュータのローカルなクロックを用いることによって、計画された時刻にて修正を開始可能となる。また、もしくは、ターゲットコンピュータで修正が受け取られると直ちに、修正が起こることもあり得る。トリガーイベントを問わずに、トリガーを受けると、ボックス(90)にてローカルな修正が開始される。
【００２７】
プロセス(80)は、図５Ｂに続く。修正が開始されると、その後、ボックス(91)にて、クライアントコンピュータの修正プロファイルがダウンロードされる。通常、プロファイルは、クライアントサーバ、即ち、懸案である修正の通知が最初に送られるサーバからダウンロードされる。クライアントサーバでは、クライアント修正マネージメントプロセスのアプリケーションが動作する。その後、ボックス(92)に示すように、プロファイルが解釈されて、プロファイルに定められた修正シグネチャ及び行為が実行される。ボックス(93)に示すように、修正の間、修正のステータスがクライアントサーバに報告されて、監視が行われてもよい。加えて、ボックス(94)に示すように、修正ステップは、優先順位を決められると共に解析されて、最も効果的な実行シーケンスが保証されてもよい。ボックス(95)に示すように、幾つかの修正行為については、効果を生じさせるために、リブートを行うことが要求されてもよい。その後、ボックス(96)にて、ターゲットコンピュータでの修正の終了が、クライアントサーバに書き込まれる。一旦修正が終了すると、ボックス(97)に示すように、修正の効果を示すレポートが作成される。修正が成功したか否かは、ボックス(98)で決定される。修正が成功であると判断されない場合、クライアントコンピュータのさらなるセキュリティスキャンで証明されるように、修正は特定された脆弱性を解決できなかったか、修正行為が、意図しない有害な効果等を有していたかの何れかである。よって、その後、ボックス(99)に示すように、修正は元に戻され又は行われず、修正プロセスが繰り返し行われる。修正が成功と判断される場合、即ち、例えば、脆弱性が解決されて且つ有害な効果がない場合、その後、ボックス(100)にて、プロセスは終了する。この方法では、新しく更新された修正シグネチャが、特定された脆弱性に対処する又はそれらを解決するために利用可能となり、ダウンロードされて、ターゲットたるクライアントコンピュータに、修正を自動化且つ管理して配備する際に使用される。
【００２８】
特定の装置及び使用方法について、本発明を図示及び説明したが、開示された部分は、同等の部分に置き換えられてよく、特許請求の範囲に定められた本発明の範囲内で、その他の変更もできることは明らかである。
【００２９】
本明細書に開示された特定の実施例は、あくまで具体例であり、本明細書で教示した利益を有しつつ、本発明は、当該技術分野における通常の知識を有する者に明らかである、様々なしかし等価な方法で、修正及び実行される。さらに、添付された特許請求の範囲の記載以外に、本明細書に示された構成又はデザインの詳細は限定されない。それ故に、上述した特定の実施例は改造又は変更されてよく、このような全ての変形は、本発明の範囲及び思想の範囲内であることは明らかである。故に、ここで求められる保護は、添付の特許請求の範囲にて定められる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明に基づいた、脆弱性解決システムの実施例を示すブロック図である。
【図２】図２は、本発明に基づいた、脆弱性解決システムの他の実施例を示すブロック図である。
【図３】図３は、本発明に基づいた、コンピュータの脆弱性修正プロセスの実施例の概要を示すフローチャートである。
【図４】図４は、本発明に基づいた、コンピュータの脆弱性を修正する収集及び構成プロセスの実施例を示すフローチャートである。
【図５Ａ】図５Ａは、本発明に基づいた、コンピュータの脆弱性を修正する修正管理プロセスの実施例を示すフローチャートである。
【図５Ｂ】図５Ｂは、本発明に基づいた、コンピュータ脆弱性を修正する修正管理プロセスの実施例を示すフローチャートである。
【図１】
2005532606.tif 000003
【図２】
2005532606.tif 000004
【図３】
2005532606.tif 000005
【図４】
2005532606.tif 000006
【図５Ａ】
2005532606.tif 000007
【図５Ｂ】
2005532606.tif 000008
【国際調査報告】
2005532606.tif 000009