(57)【要約】  通信ネットワークに接続するコンピュータシステムを潜在的な脆弱性から保護するためのシステムおよび方法。このシステムおよび方法は、通信ネットワーク上のウィルス、または類似のもの、に対する危険にコンピュータシステムを曝す結果となるかも知れない状態変化に入ろうとするまたは入ったばかりのコンピュータシステムを保護する。このシステムおよび方法は、先ず、状態における目前に迫るまたは最近の変化を検出する［４０２］。セキュリティコンポーネントおよび訂正コンポーネントが、状態における変化の検出に反応する。セキュリティコンポーネントはセキュリティレベルを引き上げして、安全または公知の場所からの情報またはそのコンピュータシステムが要求する情報以外の、受信ネットワーク情報をブロックする[４０４]。訂正コンポーネントは、欠落する更新またはパッチをインストールすることのような、訂正ルーチンを実行し、訂正ルーチンを無事完了すると、セキュリティレベルを緩和または引き下げる[４０６]。
2008535053.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続するコンピュータシステムを保護するためのシステムにおいて、
ネットワークとコンピュータシステムとの間に配置されるセキュリティコンポーネントであって、状態変化の検出に際してコンピュータシステムのセキュリティレベルを引き上げるセキュリティコンポーネンと、
状態変化から生じる可能性のある、任意の脆弱性を訂正する訂正コンポーネントと
を備えることを特徴とするシステム。
【請求項２】
状態変化を検出可能とするために利用できる状態変化指示コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記状態変化指示コンポーネントは、レジストリ内にフラグを設定することができることを特徴とする請求項２に記載のシステム。
【請求項４】
前記セキュリティコンポーネントは、公知の、または安全な場所からの情報を除いて、全ての受信ネットワークトラフィックをブロックすることができることを特徴とする請求項１に記載のシステム。
【請求項５】
コンピュータシステムのユーザは、前記セキュリティコンポーネントの構成を変更できることを特徴とする請求項１に記載のシステム。
【請求項６】
管理者は、前記セキュリティコンポーネントの構成を変更できることを特徴とする請求項１に記載のシステム。
【請求項７】
前記セキュリティコンポーネントは、ソフトウェア更新情報を除いて、すべての受信ネットワークトラフィックをブロックすることができることを特徴とする請求項１に記載のシステム。
【請求項８】
前記セキュリティコンポーネントは、グラフィカルユーザインターフェイスを含むことを特徴とする請求項１に記載のシステム。
【請求項９】
前記セキュリティコンポーネントは、分離モードおよび通常モードを含み、状態変化の検出時に前記分離モードに入ることを特徴とする請求項１に記載のシステム。
【請求項１０】
前記訂正コンポーネントは、重要であると判定する１つまたは複数の更新情報をインストールできることを特徴とする請求項１に記載のシステム。
【請求項１１】
前記セキュリティコンポーネントは、前記訂正コンポーネントの要求情報を除いて、すべての受信ネットワークトラフィックをブロックすることができることを特徴とする請求項１に記載のシステム。
【請求項１２】
セキュリティレベルは、脆弱性の任意の訂正ルーチンが無事完了した際に通常の保護セキュリティレベルに戻されることを特徴とする請求項１に記載のシステム。
【請求項１３】
通信ネットワークに接続するコンピュータシステムを保護するための方法において、
状態変化の検出に際して、セキュリティレベルを引き上げるステップと、
状態変化から生じる可能性のある、任意の脆弱性を訂正するステップと、
脆弱性の任意の訂正ルーチンが無事完了した際にセキュリティレベルを引き下げるステップと
を含むことを特徴とする方法。
【請求項１４】
状態変化を示す指示を設定するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
状態変化を示すフラグを設定するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１６】
前記コンピュータシステムによる要求情報を除いて、すべての受信ネットワークトラフィックからコンピュータシステムを分離するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１７】
コンピュータシステムのユーザに、セキュリティレベルを引き下げるオプションを提供するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記コンピュータシステム上にインストールされた更新情報を判定するステップと、
前記コンピュータシステム上にインストールされていない更新情報を判定するステップと、
前記コンピュータシステム上に更新情報をインストールするステップとをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１９】
状態変化の後、重要な更新情報が前記コンピュータシステム上にインストールされる時期を判定するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項２０】
重要な更新情報が前記コンピュータシステム上にインストールされる際、セキュリティレベルを引き下げるステップをさらに含むことを特徴とする請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、およびネットワークに接続されたコンピュータシステムを攻撃から保護するためにコンピュータに実施される方法に関する。
【背景技術】
【０００２】
多くのコンピュータおよびその他のコンピューティングデバイスが、インターネットなど各種ネットワークを介して相互に接続されるにつれて、コンピュータのセキュリティ、特にネットワークを介して送り込まれる攻撃を防止する重要性が増してきた。当業者であれば、これらの攻撃は、次のものに限定するものではないが、コンピュータウィルス、コンピュータワーム、システムコンポーネントの置換、サービスの拒絶、さらには正規のコンピュータシステム性能の誤用および悪用をも含む多数の異なる形態で到来し、このような攻撃が不正な目的で１つまたは複数のコンピュータシステムの脆弱性を利用することが認識されよう。当業者は、これら各種のコンピュータ攻撃は技術的に互いに別個のものであることを理解するであろうが、本発明の目的および記述を簡便にするため、以後これらの攻撃すべてを概してマルウェアと呼ぶ。
【０００３】
コンピュータシステムがマルウェアの攻撃に攻撃される、または「感染」すると、システムデバイスが無効になる、ファームウェアやアプリケーションまたはデータファイルが消去または破損される、機密事項である可能性のあるデータをネットワーク上の別の場所に送信される、コンピュータシステムを停止する、またはコンピュータシステムを破壊するなど、様々な不都合が生じる。マルウェアのさらに別の有害な側面は、感染コンピュータを用いて別のコンピュータを感染させることである。
【０００４】
図１は、その上でマルウェアを広くばらまくことができる一例としてのネットワーク環境１００を示す図である。図１に示すように、典型的な一例としてのネットワーク環境１００は、イントラネットのような通信ネットワーク１０２を介して、または一般にインターネットと呼ばれるグローバルＴＣＰ／ＩＰネットワークを含む大規模通信ネットワークを介して相互接続された複数のコンピュータシステム１０４−１１６を含んでもよい。理由は何であれ、ネットワーク１０２に接続されたコンピュータ１１６上の悪意あるパーティが、マルウェア１１８を開発して、それをネットワーク１０２上にリリースする。そのマルウェアを１つまたは複数のコンピュータシステム１０４−１１６が受信して感染する。ほとんどのマルウェアに典型的なことであるように、一旦感染すると、１つのコンピュータを用いて別のコンピュータを感染させ、これがさらに別のコンピュータを次々と感染させる。現代のコンピュータネットワークの速度および到達範囲のため、１つのマルウェア１１８が幾何級数的な速度で「成長」し、たちまち局所的な流行病となり、これが急速にグローバルなコンピュータ流行病に発展する可能性があることは明白である。  
マルウェアは、攻撃を受けるコンピュータシステムの機能を利用することも出来る。したがって、オペレーティングシステムのプロバイダは今や、経済的理由、さらには契約上の理由のため、そのオペレーティングシステムの機能を頻繁に解析して、マルウェアを経て利用される可能性のある弱点または脆弱性を確認しなければならない。本議論の目的のため、マルウェアがコンピュータシステムを攻撃することの出来る経路を何れも、一般的にコンピュータシステムの脆弱性、または単に脆弱性と呼ぶ。
【０００５】
脆弱性は、オペレーティングシステム、または別のコンピュータシステムのコンポーネント内で確認して取組むので、プロバイダは一般的にソフトウェア更新を公表してその脆弱性を訂正する。システムプロバイダは一般的に、信頼の置けるソースが管理する更新サーバから、必要な更新を入手することが出来るようにする。更新サーバ１０４等の更新サーバは、別の全てのコンピュータシステム１０６−１１４が接続するネットワーク１０２に対しても通信することが出来るように接続されている。パッチと呼ばれることの多いこの更新は、発見された脆弱性からコンピュータシステムを保護する目的でユーザがコンピュータシステムにインストールするようになっている。しかしながら、これらの更新は、本質的に、オペレーティングシステム、デバイスドライバ、またはソフトウェアアプリケーションのコンポーネントに対するコード変更である。これらの更新はコード変更なので、ソフトウェア更新は、一般に公表する前に、十分な社内試験を必要とする。
【０００６】
現在のシステムの下では、新たなマルウェアがネットワーク１０２上でリリースされる時機と、コンピュータシステムを更新してそれに対し保護する時機との間に存在する時間の間隔があり、これを以下では脆弱性ウィンドウと呼ぶ。名称が示すように、この脆弱性ウィンドウの間、コンピュータシステムは脆弱で、最新のマルウェアに感染する危険に曝される。図２Ａ−２Ｃは、予想される脆弱性ウィンドウを示す時間軸の例２００、２２０、２３０のブロック図である。
【０００７】
図２Ａにおいて、オペレーティングシステムのプロバイダは、イベント２０２において、公表オペレーティングシステムの中に脆弱性の存在を確認する。例えば、一つのシナリオでは、公表オペレーティングシステムの自社内解析を実行するオペレーティングシステムプロバイダが、コンピュータシステムへの攻撃に利用されうる未発見の脆弱性を明らかにする。別のシナリオでは、未発見の脆弱性を、コンピュータシステム上のシステムセキュリティ解析をする組織を含む第三者が発見し、その脆弱性に関する情報をオペレーティングシステムプロバイダに伝える。
【０００８】
オペレーティングシステムプロバイダが脆弱性の存在に気付くと、そのオペレーティングシステムプロバイダは、イベント２０４において脆弱性に対処し、パッチを作成して公開することになり、脆弱なオペレーティングシステムを走らせるコンピュータシステムを何れも保護する。一般的に、オペレーティングシステムプロバイダは、システムパッチが入手可能であることに、そのパッチをインストールすることの推奨を添えて、オペレーティングシステムのユーザ全てに対し、何らかの形での告知を行う。パッチは、ダウンロードしてその脆弱なコンピュータシステムにインストールするため、通常、図１に示すネットワーク１０２上の更新サーバ１０４のような公知の場所に置く。
【０００９】
残念ながら、頻繁に起こるように、オペレーティングシステムプロバイダがパッチを公表した後、悪意のあるパーティがそのパッチをダウンロードし、何らかのリバースエンジニアリングと同時に、そのオペレーティングシステムプロバイダまたはその他が公開したあらゆる情報を用いて、イベント２０６において、そのオペレーティングシステムの中の「訂正」脆弱性に関する詳細を確認する。この情報を用いて、悪意のあるパーティは、新たなマルウェアを作成して潜在的な脆弱性を攻撃する。もう一つの方法として、攻撃者は、更新またはパッチの検討とは無関係に、脆弱性の悪用法を開発することもある。イベント２０８において、悪意のあるパーティは、新たなマルウェアをネットワーク上にリリースする。ソフトウェアパッチを公表する目的は、内在する脆弱性を訂正することであるが、パッチはソフトウェアコードの入り組んだ断片であることが多く、残念ながら、悪意のあるパーティが作成するマルウェアにより攻撃される可能性のある新たな脆弱性を、それ自体が作成または包含することがある。したがって、パッチが何を修正しているかの評価に加えて、パッチ自体も潜在的な脆弱性に関して評価される。
【００１０】
パッチは、コンピュータシステムのユーザが利用することが出来る一方で、悪意のあるパーティは、上述の事項を含む様々な理由で、すべての脆弱なコンピュータシステムが直ちに改善される訳ではないことに気付いている。こうして、イベント２０８におけるマルウェアのリリースは、脆弱なコンピュータシステムが、このマルウェアに感染し易い脆弱性ウィンドウ２１２を開く。イベント２１０において、コンピュータシステム上にパッチを最終的にインストールするときにのみ、そのコンピュータシステムに関する脆弱性ウィンドウ２１２が閉じる。
【００１１】
コンピュータシステムにおける、未発見であった脆弱性を利用するマルウェアも、ネットワーク上にリリースされる。図２Ｂは、このシナリオの下での脆弱性ウィンドウ２３０を時間軸２２０に関して図示する。こうして、時間軸２２０上に示すように、イベント２２２において、コンピュータシステムにおける以前には未知であった脆弱性を利用する新たなマルウェアを、悪意のあるパーティがリリースする。これは新たなマルウェアなので、入手して脆弱なコンピュータを攻撃から保護するオペレーティングシステムパッチは存在しない。それに相当して、脆弱性ウィンドウ２３０は、マルウェアのリリース直後に開く。
【００１２】
新たなマルウェアがネットワーク上に流通した後のある時点で、イベント２２４において、オペレーティングシステムプロバイダはその新たなマルウェアを検出する。当業者が理解するとおり、一般的に、ネットワーク上の新たなマルウェアの存在は、遅かれ早かれオペレーティングシステムプロバイダが検出することが出来る。
【００１３】
最新のマルウェアを検出すると、オペレーティングシステムプロバイダは、解析のプロセスを開始し、そのマルウェアからコンピュータシステムを保護するには、オペレーティングシステムをパッチしなければならないか否かを判定する。この作業の結果、イベント２２６において、オペレーティングシステムプロバイダは、オペレーティングシステムに対する脆弱性を処理する更新、即ち、ソフトウェアパッチを公表する。続いて、イベント２２８において、更新がユーザのコンピュータシステム上にインストールされ、それによりコンピュータシステムは保護されて脆弱性ウィンドウ２３０は閉じることとなる。
【００１４】
残念ながら、多くのユーザは、コンピュータシステムに更新をインストールすれば、如何なるマルウェアコンポーネントに対しても、自分は絶対に脆弱性と無関係であると考える。しかしながら、実態は、ユーザが成し得る利用可能な更新全部を用いてコンピュータシステムを更新した後であっても、一時は無効になった同一のマルウェアコンポーネントに対して、コンピュータシステムが再度脆弱になることがある。言い換えると、以前に閉じた脆弱性ウィンドウが、将来の時期に開くことがある。
【００１５】
図２Ｃを参照すると、時間軸２３２上の将来の時期に、何らかの理由で、更新をコンピュータシステムにインストールしていない時期に相当するコンピュータシステム「状態」に、コンピュータシステムを戻さなければならないときは何時でも、以前に閉じた脆弱性ウィンドウが再度開くことがある。イベントの通常の経過では、時間軸２３２上のイベント２３４において、コンピュータシステムはパッチ非準拠で、続いてイベント２３６においてパッチ準拠となり、上記のように脆弱性ウィンドウ２４０を閉じる。しかしながら、イベント２３８におけるような将来の時期において、コンピュータシステムは、シナリオ２４４の下で、以前の状態に戻る必要があると見出すことがあり、しかもそのリバート後の状態がイベント２３６以前のものとなる可能性もある。しかし、イベント２３４の後はコンピュータシステムを更新していない時期に相当するので、以前に閉じた脆弱性ウィンドウ２４０を再度開いて、一度はそのコンピュータシステムに対して無効にした特定のマルウェアからの攻撃に対する危険にコンピュータシステムを曝すことになる可能性がある。コンピュータシステムは、シナリオ２４６下の様々な条件の組合せの下で、脆弱性ウィンドウ２４０が閉じた後の安全な状態２４２に戻ることも、コンピュータシステムが出来るだけ完全に更新されている時期に相当するイベント２３４の前に戻ることさえもあり得る。状態変化の不確定な性質は、その性質を持つコンピュータシステムのユーザに対し不安をもたらしうる。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上の説明から理解されるように、脆弱ウィンドウが、将来のある時点で再度開くことが起こりうるため、コンポーネントコンピュータシステムを完全に更新しパッチが適用されていたしたとしても、未だコンピュータシステムは、ネットワーク上にはびこる如何なるマルウェアによって、そのセキュリティ上の安全性が脅かされているかは分からない。感染したコンピュータのオーナーは「駆除」および修復に多額の金銭を要する可能性もあるため、コンピュータシステムをリスクに曝すかもしれないという可能性は、コンピュータシステムのユーザにとっては余りにインパクトが大き過ぎて到底容認できるものではない。この費用は、数百万または数十万台のコンピュータがネットワークに接続されている大企業または事業体が関係するとき、膨大なものとなりうる。このような費用は、顧客のデータの改竄または破壊が続き、追跡調査して修復するのが極めて困難であるかまたは不可能になる可能性によって、さらに増大する。必要なことは、万が一でもコンピュータシステムを脆弱な状態へと曝してしまうかもしれないコンピュータシステム上のイベントが発生しようとするときに、先を見越してコンピュータシステムをマルウェアから保護するためのシステムと方法である。このシステムと方法および、その他の問題が本発明により扱われる。
【課題を解決するための手段】
【００１７】
本発明は、通信ネットワーク上でコンピュータシステムを攻撃から動的に保護するための、コンピュータシステムおよびコンピュータシステム上で実行する方法に関する。
【００１８】
本発明の第１実施形態は、通信ネットワークに接続されているコンピュータを潜在的な脆弱性から保護するためのシステムを含む。このシステムには、状態変化表示コンポーネントおよび／または状態変化発見コンポーネントを含んでもよい。これは、コンピュータシステムが状態変化されるとき、表示しおよび／または検出する。このシステムは、ネットワークとコンピュータシステムとの間に挿入されて、緊急のまたは最近の状態変化の表示において、コンピュータシステムのセキュリティレベルを引き上げるセキュリティコンポーネントを含んでもよい。このシステムは、コンピュータシステムの状態変化から生じる如何なる脆弱性をも訂正する訂正コンポーネントを含むことができる。このシステムは、脆弱性を訂正する如何なるルーチンも無事完了したならば、セキュリティレベルを通常レベルに戻すことができる。プロテクトレベルを引き上げたままではいつまでも望ましい状態とできない理由は、ある望ましい機能の内のいくつかが、プロテクトレベル引き上げた結果として無効になることがあるからである。
【００１９】
本発明の第２実施形態は、通信ネットワークに接続されているコンピュータシステムを潜在的な脆弱状態への逆行を保護するための方法を含む。この方法は、コンピュータシステムの状態変化の表示を設定すること、または状態変化を検出するための手段を有することを含むことができる。この方法は、状態変化の表示の検出または状態変化を検出し、コンピュータシステムのセキュリティレベルを引き上げることを含むことができる。コンピュータの状態変化は、オペレーティングシステムのアップグレード、アプリケーションのアップグレード、新規アプリケーションのインストール、アプリケーションの再インストール、以前にセーブした状態へのシステムの復元、またはシステムの再起動から生じることがある。この方法は、状態変化から生じることのあるあらゆる脆弱性を訂正し、次いで、あらゆる脆弱性を訂正するルーチンの無事完了に際してセキュリティレベルをその以前の設定に緩和することを含むことができる。またその代わりとして、無事終了を以って如何なる脆弱性も無くなったと判定することができる。
【００２０】
本発明は、通信ネットワークから来るウィルスまたは類似のものからの攻撃による危険にコンピュータシステムを曝す結果となる状態の変化状態にコンピュータシステムが移ろうとするとき、先を見越してコンピュータシステムを保護するシステムおよび方法を提供する。第１実施形態では、コンピュータシステムの状態が変化する前に、コンピュータシステムのセキュリティコンポーネントが、コンピュータシステムを「分離」モードにする。このモードは、安全な場所、公知の場所からの通信、またはコンピュータシステムが要求する情報を除いて、受信ネットワークトラフィック全部をブロックする。コンピュータシステムが最早危険または脆弱でないと判断したとき、コンピュータシステムのセキュリティレベルを、「通常」または以前のレベルまで低下または緩和し、セキュリティコンポーネントを通じて入ってくるネットワークトラフィックを許可する。コンピュータシステムのユーザまたはコンピュータシステム管理者が、分離モードおよび通常モードの双方におけるセキュリティ手段のコンフィギュレーションの管理権を有してもよい。もう１つの実施形態においては、システムの状態が変化した後であるが、コンピュータがその通常動作を再開する前に、コンピュータシステムのセキュリティコンポーネントがコンピュータシステムを分離モードにする。
【００２１】
本発明の上述の特徴および付随する長所の多くは、添付の図面を併用しつつ、以下の詳細な記述を参照することにより理解が深まるにつれ、さらに容易に評価されるだろう。
【発明を実施するための最良の形態】
【００２２】
図３は、本発明の実施に適する代表的ネットワーク環境を示す図である。代表的ネットワーク環境は、通常は、各種のコンピュータシステムに接続しており、その何れをも本発明により保護することができる。本発明により保護することのできる代表的コンピュータシステムは、以下に限らず、個人用コンピュータ１０６、携帯情報端末（ＰＤＡ）１０８、携帯電話１１０、ノートパソコン１１２、およびローカルエリアネットワーク（ＬＡＮ）１１４、を含む。１１４を介するコンピュータシステム１０６の各々は、インターネットのようなネットワーク１０２に対し通信接続している。本発明は一般的に、コンピュータシステムとの関連で作動するとの観点から記述し、これは例示目的のためにだけのものであることに注意するべきで、本発明に課する制限と解釈すべきではない。当業者は、ネットワークを作るコンピュータシステムの殆ど全部がマルウェアの攻撃に対して脆弱であることを容易に認識するであろう。したがって、本発明を有利に実行して、以下に限らないが、個人用コンピュータ、タブレットコンピュータ、ノートパソコン、携帯情報端末（ＰＤＡ）、小型および大型コンピュータ、無線電話（携帯電話と呼ぶことが多い）、無線電話／ＰＤＡ結合のようなハイブリッドコンピュータシステム、および類似のもの、を含む多数の型のコンピュータ、コンピュータシステム、またはコンピュータシステムと同時に、あらゆるローカルエリアネットワークコンピュータシステムを防護することができる。本発明を有利に実行して、ハードウェア機器、周辺機器、ソフトウェアプリケーション、デバイスドライバ、オペレーティングシステム、および類似のものも保護することができる。
【００２３】
ネットワーク１０２は、任意の数の現実の通信ネットワークを含むことができることを理解されたい。現実の通信ネットワークは、以下に限らず、インターネット、広域およびローカルエリアネットワーク、イントラネット、セルラーネットワーク、および類似のものを含む。したがって、本発明をコンピュータネットワーク、およびとりわけインターネットの観点から説明すると、それは例示目的のみであって、本発明の上に課する制限と解釈してはならない。
【００２４】
さらに図３を参照すると、複数のコンピュータシステム１０６、１０８、１１０、１１２、および１１４への接続に加えて、ネットワーク１０２は、更新サーバ１０４に接続してもよい。本発明を制限する意図はないが、更新サーバ１０４は、インターネット１０２上でコンピュータシステム１０６−１１４と通信する構成が示されている。代案として、更新サーバ１０４は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、または直結通信回線としてさえも実施される内部回線網を介して、任意のコンピュータシステムと交信する構成とすることができる。一般的に、更新サーバ１０４は、オペレーティングシステムプロバイダ、抗ウィルスソフトウェアプロバイダ、および類似のものから得られるソフトウェア更新（パッチ）のための配達域として機能する。また、当業者は容易に認識できるように、更新サーバ１０４により、システム管理者はソフトウェア更新をコンピュータシステム上にインストールする方法をカスタマイズすることが出来る。例えば、更新サーバ１０４は、所定の周期でインストレーションを実行する構成ことができ、それによりコンピュータシステムのユーザに対する不便を最小にすることができる。加えて、ある型のソフトウェア更新は他のソフトウェア更新よりも優先して割り当てられることができる。その結果、最優先の割り当て更新を最初にインストールされる。例えば、公知のウィルスに対する保護のためのソフトウェア更新には、その脆弱性を利用する公知でないウィルスの脆弱性の訂正のための更新よりも、高い優先度レベルを割り当てられることができる。したがって、ソフトウェア更新が利用可能になるとき、更新サーバ１０４は、最優先のソフトウェア更新のインストレーションが完了するまで優先度の低いソフトウェア更新のインストレーションを保留することができる。最優先の更新を一般的に「重要な」更新と呼ぶ。コンピューティングシステムがパッチのような更新を通信し受領することの出来るインターネット１０２と通信接続する、更新サーバ１０４のような更新サーバの使用については、参照することにより全体をここに組み込んでいる２００４年１０月１４日申請の米国特許出願１０／９６６，６２１号で同一出願人により記述されている。
【００２５】
例示の目的で、図３は、インターネット１０２と通信接続する個人用コンピュータ１１６も含むことを示す。個人用コンピュータ１１６は、インターネット１０２上にマルウェア１１８をばらまくかも知れない悪意のあるユーザの代表である。本発明は、マルウェア１１８がコンピュータシステム１０６−１１４の何れか１つまたは複数に感染するのを防止する。
【００２６】
さらに図３を参照すると、コンピュータシステム１０６、１０８、１１０、１１２、および１１４の各々は、本発明による「動的保護」モジュールを含み、コンピュータシステムが状態変化の間に一旦閉じた脆弱性ウィンドウが再び開く結果となるのを防止することができる。個人用コンピュータ１０６は、動的保護モジュール１２０を含む。携帯情報端末１０８は、動的保護モジュール１２２を含む。携帯電話１１０は、動的保護モジュール１２４を含む。ラップトップコンピュータ１１２は、動的保護モジュール１２６を含む。ローカルエリアネットワーク１１４は、動的保護モジュール１２８を含む。当業者は、本発明によるこの動的保護モジュールは、それが防禦するコンピュータシステムの物理的に外側に存在する別個のコンポーネントとすることが出来るか、または代わりに、この動的保護モジュールを個別コンピュータシステムの内部に実現することが出来ることを理解するであろう。別の実施形態によると、この動的保護モジュールは、コンピュータシステムの１つまたは複数のコンポーネントの中にソフトウェア、またはロジックとして実施することができる。さらに代わりの実施形態においては、この動的保護モジュールを、オペレーティングシステムとの関連またはその１部として機能する１つまたは複数のソフトウェアモジュールとして、若しくはそのコンピュータシステムの上にインストールされた別個のアプリケーションとして実施することができる。したがって、動的保護モジュールは、何か格別の実施形態に限られると解釈してはならない。
【００２７】
ここで図４を参照すると、代表的コンピュータシステム３００は、本発明による動的保護モジュール３０２となる結合した３つのコンポーネントを有する動的保護モジュール３０２の１つの構成部分を含むことを示す。本発明によるコンピュータシステムの１実施形態は、少なくとも状態変化表示コンポーネント３０４、セキュリティコンポーネント３０６、および訂正コンポーネント３０８を含む。コンポーネント３０４、３０６、および３０８の各々は、互いに、またあらゆる他のコンピュータシステムコンポーネント（図示されていない）に、通信接続しており、図３のネットワーク１０２にも通信接続できる。別の実施形態においては、状態変化表示コンポーネント３０４を、コンピュータの状態変化を検出するコンポーネントまたはモジュールに置換することができる。
【００２８】
前記発明の背景の項で説明したように、コンピュータシステムは、完全に更新して全ての起こりうる更新をすることが出来る。しかしながら、コンピュータシステムが全ての起こりうる更新を完全に行わず脆弱性ウィンドウが再び開いた際は、コンピュータシステム状態に応じて変更を生じる結果となる一定のイベントまたは活動を発生することができる。その結果、再び始まる攻撃に対してコンピュータシステムが感染し易くなることがある。「コンピュータシステムの状態」または単に「状態」は、ここで用いるとき、コンピュータシステムのソフトウェア状況を意味する。したがって、状態変化は一定のイベント、例えば、オペレーティングシステムに対するアップグレード、新規ソフトウェアのインストールまたはソフトウェアの新バージョンの再インストール、コンピュータシステムの再起動、またはコンピュータシステム復元状態巻き戻し機能の使用、に際して生じるコンピュータシステムのソフトウェアの変更を意味する。状態変化は、コンピュータシステムの状態を以前の状況に戻すことである可能性があるかもしれない。しかしながら、全ての状態変化がコンピュータシステムを危険に曝す結果になる訳ではない。状態変化はコンピュータシステムを別のまたは未知の状態にする結果になるだけで、未だ完全に保護された状態にあるかもしれない。しかしながら、ユーザもコンピュータシステムも、入ろうとする状態が脆弱状態であるか、または安全な保護状態であるかを、前以ては承知しないかもしれない。したがって、状態変化過程の不確定性のため、本発明はセキュリティ手段を提供して、状態変化により脆弱性ウィンドウの開放を生じるイベントにおいて、コンピュータシステムを保護する。本発明により、例えば、状態変化表示コンポーネント３０４が状態変化を表示するか、検出するか、または発見するかの、前、同時、または後に、セキュリティコンポーネント３０６は、コンピュータシステムを一時的な「隔離」モードに置いて、セキュリティレベルを引き上げる。これは、コンピュータシステムが要求した情報若しくは安全または公知の場所から来る情報以外の受信ネットワークトラフィック全部をブロックすることを含むことができる。次いで、訂正コンポーネント３０８による訂正ルーチンの無事完了が、必要な更新をインストールしたことの確認を含むことができる、セキュリティコンポーネント３０６によりセキュリティレベルを通常モードに戻す。このように、本発明により、コンピュータシステムは、状態変化の間、保護される。
【００２９】
状態変化の一例は、マイクロソフト（Ｒ)ウィンドウズ（Ｒ)ＸＰのシステム復元機能の使用を含む。ユーザが新規のアプリケーションまたはソフトウェアバージョンをダウンロードまたはインストールするとき、コンピュータシステムに対して起こる変化でシステムを不安定にするかもしれない変化が起こる。ユーザは、不安定なコンピュータシステムを有するか、さもなければコンピュータシステムを作動状態に復元するかの選択に直面する。ユーザは通常は、不安定なものよりも作動するシステムの方を好む。マイクロソフト（Ｒ)ウィンドウズ（Ｒ)ＸＰのシステム復元機能を用いて、幾つかの更新を削除して脆弱性ウィンドウを開く可能性も含めて、変更時点以降に行ったシステム変更全てを削除する。マイクロソフト（Ｒ)ウィンドウズ（Ｒ)ＸＰにおいては、コンピュータシステムが定期的にコンピュータシステム状態のスナップショットを記録する。これらのスナップショットを復元ポイントと呼ぶ。マイクロソフト（Ｒ)ウィンドウズ（Ｒ)ＸＰオペレーティングシステムはまた、（アプリケーションまたはドライバをインストールするときのような）重要なシステムイベントの時期に復元ポイントを作成する。加えて、マイクロソフト（Ｒ)ウィンドウズ（Ｒ)ＸＰは、任意の時期に復元ポイントを作成する能力をユーザに提供する。コンピュータシステムのユーザが、コンピュータを不安定にするプログラムをインストールするとき、コンピュータユーザはシステム復元機能の使用を要求し、復元ポイントを選択して、コンピュータシステムを以前の既知の安定状態に戻すことが出来る。しかしながら、コンピュータシステムのユーザは無意識のうちに、コンピュータシステムを脆弱性ウィンドウが開いているときの時点に戻すことができる。それでも、コンピュータシステムのユーザは、機能しない不安定なコンピュータシステムを有するよりも、開いた脆弱性ウィンドウにいることの方を好む。同様におよび別の理由で、以前にインストールした保護更新を含まない以前の状態にコンピュータシステムを戻す必要のある別の状況がある。
【００３０】
コンピュータシステムの状態変化の上述の例において、本発明による状態変化表示コンポーネント３０４は「フラグ」を設定することが出来る。フラグは、処理中または中断情報の中でコンピュータシステムによって使用される何らかの型のマーカであって、例えば、コンピュータシステムのレジストリの中、または、情報、設定、オプション、およびコンピュータシステムの作動に関する優先権の記憶に用いるデータベースの中に設定し、コンピュータシステムソフトウェアが参照する。緊急の状態変化、現在発生中の状態変化、または状態変化の過去の発生を示すのに、コンピュータシステムのレジストリの中にフラグを設定する使用例は、本発明に限ったものではない。当業者は、アプリケーションプログラミングインターフェイス（ＡＰＩ）の使用設定をによるような、状態変化の代替方法を指示するが出来る。状態変化表示コンポーネント３０４の機能は、ソフトウェアの状態変化が、起こり掛けている、起こっている、最近起こった、ことを示すことである。脆弱性ウィンドウのわずかなまたは瞬間的な再開放でも防止する高いセキュリティレベルを設けるためには、状態変化に先立って表示を設定するのが好適である。システム復元に加えて、コンピュータシステムが状態変化をする別のイベントには、新規ソフトウェアのインストール、アプリケーションの再インストールまたはコンピュータシステムの再起動が含まれる。本発明によって、これらプロセスの何れか１つの間、訂正コンポーネント３０８は、レジストリフラグを読み取って、セキュリティコンポーネントに対しコンピュータシステムを分離モードにする信号を送る。
【００３１】
さらに、状態変化は本質的に発見可能なので、特別フラグの設定または明白な変更表示コンポーネントの追加がなくとも、検出モジュールは状態変化が起こったことを検出することは可能である。
【００３２】
セキュリティコンポーネント３０６は、コンピュータシステムとネットワークとの間に挿入するので、ネットワークからコンピュータシステムに対するネットワークトラフィックは全て、好適にセキュリティコンポーネント３０６を介して流れる。セキュリティコンポーネント３０６は、コンピュータシステムとネットワークとの間に、物理的にはハードウェアとして、論理的にはソフトウェアとして、もしくは両者の組合せの何れかで、挿入する。本発明により状態変化のイベントコンピュータシステムを保護することになる代表的なセキュリティコンポーネント３０６は、ハードウェアまたはソフトウェアのファイアウォール、もしくは両者の組合せである。当業者は認識するように、ファイアウォールは、外部ネットワークからコンピュータシステムに対する情報の流れを制御することにより、外部ネットワークを起源とする無権限のアクセスから、内部ネットワークまたはコンピュータシステムを保護するセキュリティシステムである。ファイアウォール外から出ている交信全部を先ず検査し、その交信が目的のコンピュータに転送するのに安全かまたは許可することが出来るかの判定をおこなう。
【００３３】
本発明によると、セキュリティコンポーネント３０６は、分離モードまたは通常モードにある。分離モードは、状態変化の間の開放脆弱性ウィンドウからコンピュータシステムを保護するセキュリティレベルを指す。通常モードは、分離モードに入る前の有効なセキュリティレベルを指す。分離モードにおいて、セキュリティコンポーネント３０６は、通常モードにおけるよりも厳格なセキュリティ規制を実行する。
【００３４】
所定のコンピュータシステムに関して、セキュリティコンポーネント３０６は、セキュリティコンポーネント３０６が課することのできる任意の数のコンフィギュレーションを有することができる。コンピュータシステムの固有のコンフィギュレーションに基づいて、通常モードにおける保護セキュリティ手段は、任意の数のネットワーク活動制御、またはそれらの組合せを含むことができる。これらの活動は、これらに限らないが、特定通信ポートおよびアドレスの上のネットワークトラフィックをブロックすること、電子メールまたはウェブブラウザアプリケーションのような一定のネットワーク関連アプリケーションに出入する通信をブロックすること、およびコンピュータシステム上の特定のハードウェアまたはソフトウェアコンポーネントに対するアクセスをブロックすることを含む。分離モードは、通常モードよりも厳格である。このため、コンピュータシステムの固有のコンフィギュレーションに基づいて、分離モードにおける保護セキュリティ手段は、通常モードとの関連で述べた制御のいずれをも含むことができるが、加えて、公知または安全なネットワークロケーションとの通信を除き、パッチまたは更新をインストールするため更新サーバ１０４に出入するような通信または情報も除いて、コンピュータシステムとネットワークとの間のネットワーク通信全部をブロックすることを含むことができる。したがって、本発明の一実施形態によると、分離モードは、訂正コンポーネント３０８による訂正ルーチンの無事完了のため必要な通信の他は、ネットワーク１０２に出入する通信全部をブロックすることを指す。コンピュータシステムのユーザまたはシステム管理者は何れも、適切なセキュリティ手段を設定するアクセスを持つことが出来る。一般的に、セキュリティコンポーネント３０６は、ユーザまたはシステム管理者が変更することのできる規定値条件を有すると想像される。システム管理者が制御を訂正するとき、セキュリティコンポーネント３０６は、システム管理者による制御を実行する。
【００３５】
本発明の一実施形態によると、セキュリティコンポーネント３０６は、それに結合するユーザインターフェイスを有し、セキュリティコンポーネント３０６が実行する規制のレベルの表示をユーザに対して提供する。この視覚表示は、ネットワーク接続が機能しているか否かまたは現在のセキュリティ脅威のためネットワーク活動が制限されているかを、ユーザが判定しようとしているとき、特に有用である。セキュリティコンポーネント３０６は、自動的な方法で、即ち、ユーザ介入を少しまたは全く必要としないで作動することがあるので、対応するセキュリティレベルの視覚表示は何れも、主としてユーザへの情報目的のためとすることが出来る。
【００３６】
本発明の別の実施形態によると、セキュリティコンポーネント３０６がコンピュータシステムを分離モードにするとき、ユーザは分離モードを無効にして通常モードに戻る選択肢を与えられる場合がある。これは、一定時間、ネットワークに全てアクセスする必要が、脆弱性ウィンドウを開く可能性の危険を上回っているので有用である。例えば、ネットワーク作成の不具合または問題の診断をしようとするときは、セキュリティコンポーネント３０６を無効にすることが必要な場合がある。代わりに、９１１ボイスオーバーＩＰサービスを使用するときのような、何か緊急事態においては、セキュリティコンポーネント３０６が分離モードではなく通常モードでの作動を続けることを必要とする。分離モードは、訂正コンポーネント３０８が開く可能性のある脆弱性ウィンドウを閉じさせることができる訂正ルーチンが無事完了する間の、セキュリティコンポーネント３０６のための一時的な状態に過ぎないことを意図している。
【００３７】
本発明の一実施形態によると、訂正コンポーネント３０８は、レジストリの中に設定されている緊急状態変化を示すフラグを継続して調査することができる。この緊急状態変化により、訂正コンポーネント３０８は、コンピュータシステムを分離モードにする信号をセキュリティコンポーネント３０６に対し送信する。代案として、セキュリティコンポーネント３０６がレジストリを調査することもある。
【００３８】
訂正コンポーネント３０８の訂正ルーチンは幾重にも折り畳まれており、行う必要のあるアクションを決定すること、アクションを完了すること、およびセキュリティレベルを分離モードから通常モードに下げることをコンピュータシステムが保証しているか否かを判定することを含むことができる。したがって、訂正ルーチンの無事完了は、状態変化が、事実上、例えば図２Ｃのシナリオ２４４に導く条件下で、以前に閉じた脆弱性ウィンドウを再度開く結果となるか否か、または、コンピュータシステムが、完全にパッチに準拠するシナリオ２４６に導く条件下で安全な条件に戻るか否かによる。代わりに、コンピュータシステムが、事実上開放脆弱性ウィンドウにあるが、脆弱性ウィンドウは絶対に閉じたことのないという第３状態が存在するかもしれない。この状態は、図２Ｃの時間軸２３２の上で、パッチ非準拠のイベント２３４の後に起こるが、パッチ準拠イベント２３６の前に起こるイベント２３８により表すことができる。第４状態は、開放脆弱性ウィンドウがなかった場合に存在する。第４状態は、時間軸２３２上で、イベント２３４および２３６双方の前に起こるイベント２３８により表される。
【００３９】
訂正ルーチンの一部として、訂正コンポーネント３０８は、コンピュータシステム上に記憶されている構成データベースの解析を実行することによりコンピュータシステムのソフトウェア状態を確認する設定とすることができる。当業者その他には公知のように、コンピュータシステムは、データベースを保持し、そこから構成情報を取得することができる。例えば、システムレジストリは、コンピュータシステムの作動に関する設定、オプション、および選択の記憶に使用するデータベースである。訂正コンポーネント３０８は、システムレジストリおよびその他の構成データベースを解析して、コンピュータシステム上にインストールしているソフトウェア更新を確認する。訂正コンポーネント３０８は、次いでカタログデータベースに対し、利用可能なソフトウェア更新および特定のソフトウェア更新をインストールする方法を決定するルールについて、問うことが出来る。
【００４０】
訂正コンポーネント３０８は、システムレジストリのような構成データベースを構文解析して、コンピュータシステム上に既にインストールしたソフトウェア更新の正確なバージョンを確認する設定とすることができる。コンピュータシステムのソフトウェア状態を承知した後、訂正コンポーネント３０８は、コンピュータシステム上にソフトウェア更新をインストールする必要があるかソフトウェア決定することが出来る。訂正コンポーネント３０８は、重要な更新と重要でない更新とに分割してある利用可能な更新のデータベースに対するアクセスを有することができる。訂正コンポーネント３０８は、インストールされた更新とデータベースから利用可能な更新の比較をおこなうことが出来るので、先ず、欠落している重要な更新を要求することが出来る。訂正コンポーネント３０８は、コンピュータシステムについて既知のデータを収集し、そのデータを、インターネットのようなネットワーク１０２を介して、更新サーバ１０４に対しデータ送信する。
【００４１】
一般的に、更新サーバ１０４は、ソフトウェア更新に関する配布ポイントとして働く。更新サーバ１０４により、システム管理者は、インターネット１０２に接続するコンピュータシステムにソフトウェア更新をインストールする方法をカスタマイズすることが出来る。例えば更新サーバ１０４は、所定の周期でインストレーションを実行する設定となっており、それによりユーザの不便を軽減することが出来る。代案として、訂正コンポーネント３０８が更新のインストレーションを要求することができる。コンピュータシステムが分離モードにある時間を最小にするには、訂正コンポーネント３０８が重要な更新を先ず要求するのが好適である。重要な更新をインストールすると、コンピュータシステムは分離モードから出されて通常モードに戻る。例えば、抗ウィルスソフトウェアに対するソフトウェア更新には、比較的高い優先度レベルを割り当てることができる。この場合、抗ウィルスソフトウェアに関するソフトウェア更新についての要求を受けたとき、更新サーバ１０４は、低い優先度のソフトウェア更新のインストレーションを、高い優先度のソフトウェア更新のインストレーションが完了するまで保留することができる。
【００４２】
更新サーバ１０４は、ソフトウェア更新をインストールするつもりのコンピュータシステムに対し、ソフトウェア更新を送信する設定の、ソフトウェア配布モジュールを保持することが出来る。ソフトウェア更新を送信するのに、更新サーバは、ファイル転送プロトコル（ＦＴＰ）、またはハイパーテキスト転送プロトコル（ＨＴＴＰ）のような、業界一般に公知のネットワークプロトコルを使用することが出来る。図４に示すように、動的保護モジュールの各コンポーネント、例えば、状態変化表示コンポーネント３０４、訂正コンポーネント３０８、およびセキュリティコンポーネント３０６は、相互に接続しているので互いにおよび示していない別のコンポーネントと交信することが出来る。訂正コンポーネント３０８は、インストールしている更新を全ての利用可能な更新のデータベースと比較することにより、どの更新を現在コンピュータシステム上にインストールしているか、どの更新を現在コンピュータシステム上にインストールしていないか、および訂正コンポーネント３０８は欠落した更新をインストールすることが出来るかまたはインストールしたかを判定することが出来る。
【００４３】
したがって、訂正コンポーネント３０８は、以下の１つまたは複数のルーチンを実行することができる。状態変化を示すフラグを監視すること、状態変化を検出すること、更新に関するコンピュータシステムを最新の設定にするため、レジストリのような構成データベースをスキャンすること、コンピュータシステムを分離モードにする命令をセキュリティコンポーネント３０６に対し出すこと、利用可能だが現在はインストールしていない更新をインストールする命令を出すこと、重要な更新をインストールしたときのような、無事完了を判断すること、およびコンピュータシステムを分離モードから通常モードに持ち込む時期をセキュリティコンポーネント３０６に通知することができる。
【００４４】
本発明の一実施形態によると、セキュリティコンポーネント３０６は訂正コンポーネント３０８に対し情報を要求しない。代わりに、セキュリティコンポーネント３０６は、訂正コンポーネント３０８が送信する情報を一定のイベントとの関連で操作する。代案として、セキュリティコンポーネント３０６は、緊急の状態変化を示すフラグに関して連続的にレジストリを監視する。状態変化を示すフラグを認識すると、セキュリティコンポーネント３０６は、セキュリティレベルを「通常」レベルから「分離」レベルに引き上げる。ここで用いるとき、分離セキュリティレベルは、訂正コンポーネント３０８が要求する可能性のある情報または安全または公知の場所から来る情報以外の、受信ネットワークトラフィック全部をブロックすることを含むことができる。ユーザまたは管理者は、状態変化の前、最中、または後に、セキュリティ手段を変更する選択肢を与えられる。通常セキュリティレベルは、コンピュータシステムを分離モードにする以前に有効であるセキュリティ設定を指す。通常設定は、コンピュータシステムのユーザが設定するか、またはシステム管理者がその設定を行うことができる。セキュリティコンポーネントの設定は、図９に示すグラフィカルユーザインターフェイス（ＧＵＩ）のような、ユーザインターフェイスを介して調節することができる。加えて、セキュリティコンポーネント３０６がセキュリティレベルを引き上げると、ユーザにその事実を知らせて、図８に示すようなダイアログボックスを示す等して、危険についてユーザに十分な情報を与えた上で、ユーザに通常セキュリティレベルに戻る機会を与える。
【００４５】
ここで図５を参照すると、上記のように、本発明の一実施形態は、通信ネットワークから来る攻撃からコンピュータシステムを安全にするための方法に関する。メソッド４００は、ブロック４０２に、潜在脆弱性の表示を設定する状態変化コンポーネントを含む。ブロック４０４では、セキュリティコンポーネントが分離モードを開始して脆弱性をいずれも訂正する動作を指示する。最後に、ブロック４０６において、訂正コンポーネントが脆弱性をいずれも訂正し無事完了すると、システムを通常保護に戻す。代案としては、状態変化自体を発見することが出来るので、ブロック４０２において、明白な表示を設定する必要はない。
【００４６】
ここで図６を参照すると、インターネット５１２に接続する訂正コンポーネント５０４、セキュリティコンポーネント５０２、および更新サーバ５１６の１つの構成を示す代表的概略図を示す。訂正コンポーネント５０４は、更新要求５１０をインターネット５１２を介して更新サーバ５１６に対し発行し、これは交信５１４を介して更新サーバ５１６に対し送信される。これもインターネット５１２と通信接続する更新サーバ５１６は、通信５１８を介して応答する。インターネットトラフィック５２４は、セキュリティコンポーネント５０２を通過しなければならない。図示のように、セキュリティコンポーネント５０２には、分離モード５０６と通常モード５０８がある。セキュリティコンポーネント５０２は、分離モード５０６に位置している。分離モード５０６において、セキュリティコンポーネント５０２は受信インターネットトラフィック５２４全部をブロックするが、重要なパッチ５３０の通過を許可する。したがって、コンピュータシステムを攻撃に対して脆弱になるかも知れない状態変化にコンピュータシステムが入る前に、コンピュータシステムセキュリティコンポーネント５０２は、セキュリティレベルを分離５０６のレベルに引き上げる。訂正コンポーネント５０４と更新サーバ５１６とは、インターネット５１２を介して任意の方法で、または任意のステップの手順で、互いに交信して、訂正コンポーネント５０４か否かを確認して、セキュリティコンポーネント５０２を分離セキュリティモード５０６から通常セキュリティモード５０８に戻すか否かの課題の無事完了を確認することが出来るかどうかを確認する。訂正ルーチンを無事完了した後、訂正コンポーネント５０４は、分離モード５０６から通常モード５０８に戻る命令をセキュリティコンポーネント５０２に対して出すことが出来る。代案として、セキュリティコンポーネント５０２は、訂正コンポーネント５０４を継続的に調査して、訂正コンポーネント５０４がその課題を無事完了したか否かを判断することが出来る。
【００４７】
ここで図７を参照すると、本発明による動的保護メソッド６００の１つの代表的実施形態を示すフロー図を提供している。要約すると、メソッド６００は、コンピュータシステムの状態変化および潜在脆弱性の表示を設定しおよび／または検出し、セキュリティコンポーネントは、脆弱性訂正の無事完了に必要な通信以外は、ネットワークが提供する全ての交信からコンピュータシステムを分離する。最後に、訂正ルーチンの無事完了に際して、コンピュータシステムは、通常セキュリティレベルの保護に戻る。
【００４８】
ブロック６０２において、状態変化以前にコンピュータシステムは隔離されていない。コンピュータシステムは、通常セキュリティレベル設定によって保護されている。ブロック６０４において、テストをおこなって状態変化を検出する。例えば、フラグのような、脆弱性ウィンドウを開放する結果となるソフトウェアの緊急状態変化の表示を継続して監視する。監視は実質的に連続的に行うか、または頻繁に定期的な間隔で行うものとする。ブロック６０４において状態変化を検出されない間は、コンピュータシステムは隔離されないままブロック６０２に止まる。状態変化の検出に際して、動的保護メソッド６００は、ブロック６０６において、システム管理者は、分離モードのために規定値セキュリティレベル設定に対するオーバーライドしたか否かを確認する。管理者が規定値分離モード設定にオーバーライドしていないときは、ブロック６１０において、現在の規定値分離モード設定を用いてコンピュータシステムを隔離する。しかしながら、管理者が規定値分離モード設定にオーバーライドしているとき、メソッドは、ブロック６０８において管理者セキュリティ設定を読取り、ブロック６０８でシステム管理者が与えた設定により、コンピュータシステムをコンピュータ分離モード６１０にする。
【００４９】
コンピュータシステムがブロック６１０における分離モードにある間、コンピュータシステムは、ユーザが分離モードをオーバーライドしたか否かをブロック６１２において確認する能力がある。ユーザオーバーライドとは、目的は何であれ、コンピュータシステムは分離モードにいるべきでないとユーザが決定することを意味する。したがって、ユーザオーバーライドは、コンピュータシステムをブロック６０２における隔離されていないモードに戻す。しかしながら、ユーザが分離モードをオーバーライドしないときは、メソッド６００は、訂正ルーチンが、重要な更新を用いてコンピュータシステムを完全に更新するなど、無事完了したか否かをブロック６１４において判定する。前述の通り、無事完了は、幾つかの結果の１つであることになる。例えば、コンピュータシステムは、インストールすることの出来る更新はないことを判定することが出来る。したがって、コンピュータシステムは分離モードから出て、隔離されないモードのコンピュータ、ブロック６０２に戻る。代わりに、コンピュータシステムは、コンピュータシステムが通常完全に更新されていることを確認することが出来る。したがって、インストールすべき更新はないので、コンピュータシステムは、分離されないモードのコンピュータ、ブロック６０２に戻る。代わりに、コンピュータシステムは、コンピュータシステムがマルウェアのコンポーネントの１つまたは複数に対して脆弱であっても、色々な理由で利用可能な更新がないので、分離モードのままにする目的がないと判定することが出来る。代わりに、コンピュータシステムは、事実、コンピュータシステムは完全に更新されていないことを判定できるが、便宜上、コンピュータシステムは重要と見なす更新のみを要求することが出来る。この場合、コンピュータシステムは、ブロック６１６において、インターネットに接続する更新サーバからなど、重要な更新を行う。重要な更新をインストールすると、コンピュータは最新となるので訂正ルーチンは無事完了し、コンピュータシステムのセキュリティレベルは分離されないモード、ブロック６０２に戻る。
【００５０】
本発明の実施は、図７に示すルーチン６００に限定されない。したがって、図７との関連で上記の本発明の実施形態は、一例であって本発明を限定しないと解釈できる。
【００５１】
図８を参照すると、コンピュータシステムがシステムリストアのような状態変化を行うため、コンピュータシステムをコンピュータシステム保護のための分離モードにしたことを、コンピュータシステムのユーザに対して警告できる代表的なダイアログボックス７００を示す。さらにセキュリティコンポーネントのセキュリティモードは、コンピュータディスプレイのタスクバー７０２上にアイコン７０４を置くことにより、常時監視することが出来る。アイコン７０４は、保護またはセキュリティの役割を果たす盾の形を取ることが出来る。盾７０４の中央に現れる「Ｘ」は、コンピュータシステムが分離モードにあることを意味することが出来る。ダイアログボックス７０６は、ダイアログボックス７０６の境界内にユーザに対する情報メッセージを収容することが出来る。さらに、ダイアログボックス７０６は、クローズボタン７０８を収容することが出来る。ユーザは、クローズボタン７０８の境界内にポインタを置きながらマウスボタンをクリックするなどして、ポインタをクローズボタン７０８上に置いてダイアロブボックス７０６を閉じることを選択することができる。代わりに、ユーザは、ポインタをダイアログボックス７０６の境界内に動かし、次いでポインタをダイアログボックス７０６の境界内に置いたままマウスボタンをクリックして、図９に示すウィンドウ８００のようなユーザインターフェイスを出現させることにより、追加の情報を見ることを選ぶことができる。
【００５２】
当業者には公知のように、グラフィカルユーザインターフェイス即ちＧＵＩは、コンピュータユーザとの交信するためコンピュータディスプレイ上のグラフィックの使用を特徴とする入力システムである。この場合、ＧＵＩはウィンドウ機能環境用である。ウィンドウ８０２は「ウィンドウズ ファイアウォール」の表題を有するタイトルバーを含む。したがって、ユーザは直ちに、このウィンドウがファイアウォールセキュリティシステムに固有のものであることを知る。ウィンドウ８０２は、情報と同様にユーザ構成オプションも提供して、ユーザからの入力を求めることができる。ウィンドウ８０２は、ウィンドウ８０２の右上隅にクローズウィンドウボタン８１０を有する。クローズウィンドウボタン８１０を選択すると、ウィンドウ８０２はコンピュータディスプレイから削除される。ウィンドウ８０２は、８０４、８０６、および８０８のような、任意の数のタブを含むことが出来るが、通常１つのタブ、タブ８０４のみがウィンドウ８０２の境界内に表示され、残りのタブ８０６および８０８は、それぞれのタブ毎の内容を見るため選択するのに使用するタブ８０６および８０８の小部分の他は、視界から隠される。タブは一般的に、タイトルバーの下のウィンドウ８０２上の部分に近くに置く。ウィンドウ８０２の中には、全般タブ８０４、例外タブ８０６、および上級タブ８０８がある。全般タブ８０４下での選択のみを示す。全般タブ８０４下で、タブ８０４は、各種セキュリティモードに関する情報を含み、チェックボックス８１６をチェックすることにより分離モードを選択するためのオプションを提供する。加えて、全般タブ８０４は、ラジオボタン８１８および８２０を含む。セットの中で１つのラジオボタンを選択すると、以前に選択したボタンは選択されなくなるので、任意の与えられた時間にはセットの中の１つのオプションだけを選択することになる。したがって、ボタン８１８を選択すると、ボタン８２０は選択されなくなり、逆も同様である。さらに、ウィンドウ８０２の中に現れる各ラジオボタンまたはチェックボックスの下には、ユーザのために機能および／または役立つ情報または推奨についての１，２行の文章を設けることが出来るので、ユーザはコンピュータシステムのセキュリティ手段に関し十分な情報を得た上で決定をすることが出来る。ラジオボタン８２０はファイアウォールセキュリティを無効にする。ラジオボタン８１８はファイアウォールセキュリティを有効にする。加えてウィンドウ８０２は、ウィンドウズ（Ｒ)ファイアウォールについての追加情報を要求するプロンプト８２２のような、ユーザが追加情報を要求するためのプロンプトを含むことが出来る。
【００５３】
タブ８０６は、ファイアウォールが有効であるとき、ネットワークからブロックされるのを免れる例外的オプションを選択する能力を提供すると同様にその説明も行う。例えば、電子メール通信を除外することを選択できる。
【００５４】
上級タブ８０８は、知識の豊富な人物のみがアクセスすることの出来る特徴を含む。上級タブ８０８は、コンピュータシステムおよびファイアウォールに精通した最も知識の豊富な人物のみのためのシステム構成を含むことができる。ユーザがセキュリティファイアウォール設定に対し変更を加える決定をするとき、ユーザは、必要に応じてラジオボタンまたはチェックボックス上にポインタを適切に動かすことにより必要な選択をすることが出来る。全ての選択を終わった後、ユーザはポインタをＯＫボタン８１２上に動かし、ＯＫボタン８１２上でマウスクリックをして変更に入ることが出来る。そうでなく、ユーザが以前の設定に戻りたいときは、ユーザはポインタをキャンセルボタン８１４上に動かし、ポインタをキャンセルボタン８１４上においたままマウスクリックをすると、ウィンドウ８０２を閉じることが出来る。
【００５５】
本発明の好適実施形態について図解を用いて説明したが、本発明の精神と範囲を逸脱することなくこれらに各種の変更を加えることが出来ることがあるであろう。
【図面の簡単な説明】
【００５６】
【図１】マルウェアが広くばらまかれる従来のネットワーク環境を示す図である。
【図２Ａ】コンピュータシステム上の各種脆弱ウィンドウを説明する典型的時間軸を示すブロック図である。
【図２Ｂ】コンピュータシステム上の各種脆弱ウィンドウを説明する典型的時間軸を示すブロック図である。
【図２Ｃ】は、コンピュータシステム上の各種脆弱ウィンドウを説明する典型的時間軸を示すブロック図である。
【図３】個別コンピュータシステムが各々マルウェアに対する保護をおこなう動的保護モジュールを有することを示す、本発明による代表的ネットワーク環境を示す図である。
【図４】本発明によるコンピュータシステムのための動的保護モジュールの第１実施形態のコンポーネントを示す図である。
【図５】本発明による、状態変化のイベントの間にマルウェアに対し脆弱になる可能性のあるコンピュータシステムを動的に保護するための方法の第１実施形態のフロー図である。
【図６】本発明によるコンピュータシステムセキュリティコンポーネント、更新コンポーネント、および訂正コンポーネントの代表的作動を示す図である。
【図７】本発明による、コンピュータシステムの状態変化のイベントにおいてコンピュータシステムを動的に保護するためコンピュータシステムが実施する方法の第１実施形態を示すフロー図である。
【図８】本発明により、コンピュータシステムの状態変化に入ろうとするコンピュータシステムの保護のため、コンピュータシステムを分離モードにしたことを、コンピュータシステムのユーザに対し警告するダイアログボックスを示す図である。
【図９】本発明により、コンピュータシステムのユーザが、セキュリティコンポーネントを設定することが出来るようにするウィンドウを示す図である。
【図１】
2008535053.tif 000003
【図２Ａ】
2008535053.tif 000004
【図２Ｂ】
2008535053.tif 000005
【図２Ｃ】
2008535053.tif 000006
【図３】
2008535053.tif 000007
【図４】
2008535053.tif 000008
【図５】
2008535053.tif 000009
【図６】
2008535053.tif 000010
【図７】
2008535053.tif 000011
【図８】
2008535053.tif 000012
【図９】
2008535053.tif 000013