(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスとネットワークの間に、前記コンピューティングデバイスと前記ネットワークの間のすべてのネットワークアクティビティがそこを通過するように置かれ、前記コンピューティングデバイスを前記ネットワーク上の特定されたセキュリティ脅威から保護するネットワークセキュリティモジュールであって、
前記ネットワークセキュリティモジュールを前記コンピューティングデバイスに接続するコンピューティングデバイス接続と、
前記ネットワークセキュリティモジュールを前記ネットワークに接続するネットワーク接続と、
前記コンピューティングデバイス上の復号化モジュールから獲得した解読鍵を用いて保護された通信を一時的に解読する復号モジュールと、
獲得したセキュリティ対策を実施することによって前記コンピューティングデバイスと前記ネットワークの間のネットワークアクティビティを制御し、それによって前記コンピューティングデバイスを前記ネットワーク上の特定されたセキュリティ脅威から保護するセキュリティ実施モジュールと
を備えることを特徴とするネットワークセキュリティモジュール。
【請求項２】
前記セキュリティ実施モジュールは、前記一時的に解読された、保護された通信を獲得し、前記獲得したセキュリティ対策に従って前記一時的に解読された、保護された通信を評価することによって、前記コンピューティングデバイスと前記ネットワークの間のネットワークアクティビティを制御することを特徴とする請求項１に記載のネットワークセキュリティモジュール。
【請求項３】
前記ネットワークセキュリティモジュールを前記コンピューティングデバイスに接続する第２の通信接続をさらに備え、前記復号モジュールは、前記第２の通信接続を介して、前記コンピューティングデバイス上の復号化モジュールからの前記保護された通信を一時的に解読するために前記解読鍵を獲得することを特徴とする請求項１に記載のネットワークセキュリティモジュール。
【請求項４】
前記保護された通信はセキュアソケットレイヤプロトコルに従って暗号化されることを特徴とする請求項１に記載のネットワークセキュリティモジュール。
【請求項５】
前記保護された通信はトランスポートレイヤセキュリティプロトコルに従って暗号化されることを特徴とする請求項１に記載のネットワークセキュリティモジュール。
【請求項６】
ネットワークを介して配信される特定されたセキュリティ脅威からコンピューティングデバイスを保護する方法であって、前記コンピューティングデバイスと前記ネットワークの間に、前記コンピューティングデバイスと前記ネットワークの間のすべてのネットワークアクティビティがそこを通過するように置かれたネットワークセキュリティモジュール上で実施され、
前記コンピューティングデバイスを特定されたセキュリティ脅威から保護するための防御セキュリティ対策を獲得するステップと、
前記コンピューティングデバイスに宛先指定された、保護された通信を検出するステップと、
前記保護された通信を解読するために前記コンピューティングデバイス上の復号化モジュールから解読鍵を獲得するステップと、
前記保護された通信を一時的に解読するステップと、
前記一時的に解読された、保護された通信に対して、前記防御セキュリティ対策を実施するステップと
を備えることを特徴とする方法。
【請求項７】
前記解読鍵は、前記ネットワークセキュリティモジュールと前記コンピューティングデバイスの間の第２の通信接続を介して前記コンピューティングデバイス上の前記復号化モジュールから獲得されることを特徴とする請求項６に記載の方法。
【請求項８】
前記保護された通信は、セキュアソケットレイヤプロトコルに従って暗号化されることを特徴とする請求項７に記載の方法。
【請求項９】
前記保護された通信は、トランスポートレイヤセキュリティプロトコルに従って暗号化されることを特徴とする請求項７に記載の方法。
【請求項１０】
前記コンピューティングデバイスから前記コンピューティングデバイスに関する構成情報を獲得するステップをさらに備え、特定されたセキュリティ脅威から前記コンピューティングデバイスを保護するための防御セキュリティ対策を獲得するステップは、前記コンピューティングデバイスに関する前記構成情報に従って前記コンピューティングデバイスを保護するための防御セキュリティ対策を獲得するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１１】
ネットワーク装置とネットワークの間に、前記ネットワーク装置と前記ネットワークの間のすべてのネットワークアクティビティがそこを通過するように置かれた、前記ネットワーク装置を前記ネットワーク上の特定されたセキュリティ脅威から保護するネットワークセキュリティモジュールであって、
前記ネットワークセキュリティモジュールを前記ネットワーク装置に接続するネットワーク装置接続と、
前記ネットワークセキュリティモジュールを前記ネットワークに接続するネットワーク接続と、
前記ネットワーク装置上の復号化手段から獲得した解読鍵を用いて、保護された通信を一時的に解読する復号手段と、
獲得したセキュリティ対策を実施することによって前記ネットワーク装置と前記ネットワークの間のネットワークアクティビティを制御し、それによって前記ネットワーク装置を前記ネットワーク上の特定されたセキュリティ脅威から保護するセキュリティ実施モジュールと
を含むことを特徴とするネットワークセキュリティモジュール。
【請求項１２】
前記セキュリティ実施手段は、前記復号手段から前記一時的に解読された、保護された通信を獲得し、前記獲得したセキュリティ対策に従って前記一時的に解読された、保護された通信を評価することによって前記ネットワーク装置と前記ネットワークの間のネットワークアクティビティを制御することを特徴とする請求項１１に記載のネットワークセキュリティモジュール。
【請求項１３】
前記ネットワークセキュリティモジュールを前記ネットワーク装置に接続する第２の通信接続をさらに備え、前記復号手段は、前記第２の通信接続を介して、前記ネットワーク装置上の復号化手段から前記保護された通信を一時的に解読するための前記解読鍵を獲得することを特徴とする請求項１１に記載のネットワークセキュリティモジュール。
【請求項１４】
前記保護された通信はセキュアソケットレイヤプロトコルに従って暗号化されることを特徴とする請求項１１に記載のネットワークセキュリティモジュール。
【請求項１５】
前記保護された通信はトランスポートレイヤセキュリティプロトコルに従って暗号化されることを特徴とする請求項１１に記載のネットワークセキュリティモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク化環境を介し保護された通信で配信されるコンピュータエクスプロイトからコンピューティングデバイスを保護するシステムおよび方法に関する。
【背景技術】
【０００２】
ますます多くのコンピュータ、およびその他のコンピューティングデバイスが、インターネットなど様々なネットワークを介して相互接続されるにつれて、特に、ネットワークを介して、または情報ストリームを介して配信される侵入または攻撃からのコンピュータセキュリティがますます重要になってきている。当業者であれば分かるように、これらの攻撃は、もちろんそれだけに限らないが、コンピュータウイルス、コンピュータワーム、システムコンポーネント置換、サービス拒否攻撃、正当なコンピュータシステム機能の誤用／悪用さえをも含む、多種多様な形でもたらされ、そのすべては、不正な目的のために１つまたは複数のコンピュータシステムの脆弱性を悪用するものである。これら様々なコンピュータ攻撃が相互に技術的に異なるものであることを当業者は理解するであろうが、本発明では説明を簡単にするために、以後、これらの攻撃すべてを、一般に、コンピュータエクスプロイト、あるいはより簡単に、エクスプロイトと呼ぶものとする。
【０００３】
コンピュータシステムがコンピュータエクスプロイトによって攻撃され、またはそれに「感染」したとき、その悪影響は様々であり、それにはシステム装置を使用不能にすること、ファームウェア、アプリケーション、またはデータファイルを消去し、または破損させること、潜在的に機密のデータをネットワーク上の別のロケーションに送信すること、コンピュータシステムをシャットダウンすること、あるいはコンピュータシステムをクラッシュさせることが含まれる。すべてではないが、多くのコンピュータエクスプロイトの別の有害な側面は、感染したコンピュータシステムを用いて他のコンピュータを感染させることである。
【０００４】
図１は、それを介してコンピュータエクスプロイトが一般に配布される例示的ネットワーク化環境１００を示す図である。図１に示すように、典型的な例示的ネットワーク化環境１００は、イントラネットなどの通信ネットワーク１１０を介して、あるいは、一般にインターネットと呼ばれるグローバルなＴＣＰ／ＩＰネットワークを含むより大規模な通信ネットワークを介してすべてが相互接続されている複数のコンピュータ１０２〜１０８を含む。どんな理由であれ、コンピュータ１０２など、ネットワーク１１０に接続されたコンピュータ上の悪意のある者（ｍａｌｉｃｉｏｕｓ  ｐａｒｔｙ）は、コンピュータエクスプロイト１１２を作成し、それをネットワーク上にリリースする。リリースされたコンピュータエクスプロイト１１２は、矢印１１４で示すように、コンピュータ１０４など、１台または複数のコンピュータに受け取られ、それらを感染させる。多くのコンピュータエクスプロイトでよく見られるように、一度感染すると、コンピュータ１０４は、矢印１１６で示すようにコンピュータ１０６など別のコンピュータを感染させるのに使用され、次にはそれが、矢印１１８で示すようにコンピュータ１０８などさらに別のコンピュータを感染させる。明らかに、現代のコンピュータネットワークの速度と到達範囲のために、コンピュータエクスプロイト１１２は、指数関数的速度で「成長」することができ、急速に局所的流行となり、それが急速に世界中のコンピュータでの大流行へと拡大する。
【０００５】
コンピュータエクスプロイト、特にコンピュータウイルスおよびワームに対する従来からの防御手段は、抗ウイルスソフトウェアである。一般に、抗ウイルスソフトウェアは、ネットワークを介して到達する着信データをスキャンし、既知のコンピュータエクスプロイトに関連付けられた識別可能なパターンを探す。既知のコンピュータエクスプロイトに関連付けられたパターンを検出すると、抗ウイルスソフトウェアは、それに応答してそのコンピュータウイルスを感染したデータから除去し、そのデータを検疫し、あるいは「感染した」着信データを削除することができる。残念ながら、抗ウイルスソフトウェアは、通常、「既知の」、識別可能なコンピュータエクスプロイトを扱う。これは、しばしば、データ内のパターンを、そのエクスプロイトの「シグニチャ」と呼ばれるものと突き合わせることによって行われる。このエクスプロイト検出モデルでの基本的欠陥の１つは、コンピュータの抗ウイルスソフトウェアが新しいコンピュータエクスプロイトを識別し、それに応答するように更新されるまで、未知のコンピュータエクスプロイトがチェックされずにネットワーク中を伝搬し得ることである。
【０００６】
抗ウイルスソフトウェアがより高度化され、何千もの既知のコンピュータエクスプロイトをより効率よく見分けるようになるにつれて、コンピュータエクスプロイトもまたより高度化されてきている。例えば、多くの最近のコンピュータエクスプロイトは、今や多形性であり、言い換えると、搬送中に抗ウイルスソフトウェアがそれらを見分けることのできる識別可能なパターンまたは「シグニチャ」を持たない。これら多形性エクスプロイトは、しばしば、抗ウイルスソフトウェアによって見分けられないことがある。というのは、これらが、別のコンピュータシステムに伝搬する前に、それ自体を修正するからである。
【０００７】
コンピュータエクスプロイトを防ぐに際して今日一般的な別の防御手段は、ハードウェアまたはソフトウェアネットワークファイアウォールである。当業者であれば分かるように、ファイアウォールは、内部ネットワークと外部ネットワークの間の情報の流れを制御することにより、外部ネットワークから発せられる無許可のアクセスから内部ネットワークを保護するセキュリティシステムである。ファイアウォールの外部から発せられるすべての通信は、まず、その通信を検査し、その通信を意図された宛先に転送することが安全か、あるいはそれを許容できるかどうか判定するプロキシに送られる。残念ながら、許容できるネットワークアクティビティが禁じられず、許容できないネットワークアクティビティが拒否されるようにファイアウォールを適正に構成することは、高度で、複雑な作業である。技術的に複雑であることに加え、ファイアウォール構成は管理するのも難しい。ファイアウォールが不適切に構成されると、許容できるネットワークトラフィックが誤って遮断され、許容できないネットワークトラフィックが通過を許されて、内部ネットワークを危険にさらすことがある。このため、ファイアウォールへの変更は、一般に、まれに、しかも技術的ネットワーク設計の問題に精通した人によって行われるにすぎない。
【０００８】
ファイアウォールの別の限界として、ファイアウォールは、内部ネットワークを保護するが、特定のコンピュータについてどんな保護も提供しない。言い換えると、ファイアウォールは、特定のコンピュータの必要に適応しない。そうではなく、ファイアウォールが単一のコンピュータを保護するために使用される場合でも、依然として、その１台のコンピュータの構成に従ってではなく、そのファイアウォールの構成に従ってそのコンピュータを保護する。
【０００９】
ファイアウォールに関連する別の問題は、それらがファイアウォールによって設けられた境界内で発生したコンピュータエクスプロイトからの保護を提供しないことである。言い換えると、エクスプロイトがファイアウォールによって保護されたネットワークに一度侵入すると、そのエクスプロイトはファイアウォールによって制約されない。この状況は、従業員が携帯用コンピュータを自宅（すなわち、企業のファイアウォール保護の外部）に持ち帰り、それを自宅のより安全性の低い環境で使用したときにしばしば生じる。その従業員には知られずに、その携帯用コンピュータがその時に感染する。その携帯用コンピュータがファイアウォールの保護内にある企業ネットワークに再接続されたとき、そのエクスプロイトは、しばしば、ファイアウォールにチェックされずに、自由に他のコンピュータを感染させることができる。
【００１０】
前述のように、コンピュータエクスプロイトは、今や、正当なコンピュータシステム機能をも攻撃に利用する。したがって、今や、ファイアウォールおよび抗ウイルスソフトウェアの提供者以外の多くの当事者が、これらのコンピュータエクスプロイトからのコンピュータ防御に関与しなければならない。例えば、オペレーティングシステム提供者は、今や、経済上および契約上の理由で、コンピュータエクスプロイトによって使用され得る弱点または脆弱性を識別するために、そのオペレーティングシステム機能を分析し続けなければならない。本考察では、コンピュータエクスプロイトがコンピュータシステムを攻撃するための任意の通り道を、一般に、コンピュータシステム脆弱性、または単に脆弱性と呼ぶ。
【００１１】
オペレーティングシステム、あるいは他のコンピュータシステム構成要素、ドライバ、アプリケーションにおいて脆弱性が識別され、それに対処する際に、その提供者は、通常、その脆弱性を修復するためのソフトウェア更新をリリースする。これらの更新は、しばしばパッチと呼ばれ、コンピュータシステムを識別された脆弱性から保護するためにコンピュータシステムにインストールされる必要がある。しかしながら、これらの更新は、本質的に、そのオペレーティングシステム、デバイスドライバ、またはソフトウェアアプリケーションのコンポーネントに対するコード変更である。したがって、それらは、抗ウイルスソフトウェア提供者からの抗ウイルス更新ほど迅速かつ自由にはリリースされ得ない。これらの更新はコード変更であるため、そのソフトウェア更新は、公表される前に十分な社内試験を必要とする。残念ながら、社内試験を行ってさえも、ソフトウェア更新は、１つまたは複数の他のコンピュータシステム機能を破壊させ、または誤動作させることがある。したがって、ソフトウェア更新は、そのコンピュータシステムを利用する当事者にとっての大きなジレンマを生み出す。より具体的にいうと、当事者は、そのコンピュータシステムを脆弱性から保護するためにそれらを更新し、そのコンピュータシステムの動作を混乱させ得るリスクを冒すのか、それともその当事者は、そのコンピュータシステムを更新するのを思いとどまり、そのコンピュータシステムが感染し得る危険を冒すのかということである。
【００１２】
このシステムでは、新しいコンピュータエクスプロイトがネットワーク１１０上にリリースされてからコンピュータシステムがそのコンピュータエクスプロイトからそれを保護するように更新されるまでの間存在する期間（以後、脆弱期間と呼ぶ）がある。その名が示すように、コンピュータシステムが新しいコンピュータエクスプロイトに対して脆弱である、すなわちそれにさらされるのはこの脆弱期間中である。図２Ａ〜２Ｂは、この脆弱期間を示す例示的時系列のブロック図である。時系列に関する以下の考察では、有意な時間またはイベントを識別し、時系列に関連してイベントと呼ぶ。
【００１３】
図２Ａに、現在、公衆網上にリリースされている、より最近の、高度なクラスのコンピュータエクスプロイトの１つに関連したコンピュータシステムの脆弱期間を示す。以下で述べるように、この新しいクラスのコンピュータエクスプロイトは、システム提供者の予防的セキュリティ対策を利用してコンピュータシステムの脆弱性を識別し、その後で、コンピュータエクスプロイトを作成し、配信する。
【００１４】
図２Ａを参照すると、イベント２０２で、オペレーティングシステム提供者は、リリースしたオペレーティングシステム中の脆弱性の存在を特定する。例えば、１つのシナリオでは、オペレーティングシステム提供者は、リリースしたオペレーティングシステムの自社による内部分析を行い、コンピュータシステムを攻撃するのに使用され得る以前知られていなかった脆弱性を明らかにする。別のシナリオでは、以前知られていなかった脆弱性が、コンピュータシステム上のシステムセキュリティ分析を行い、脆弱性に関する情報をオペレーティングシステム提供者に伝達する機関を含む、第三者によって明らかにされる。
【００１５】
オペレーティングシステム提供者がセキュリティ脆弱性の存在を知ると、そのオペレーティングシステム提供者は、その脆弱性に対処し、結果として、イベント２０４で、そのオペレーティングシステムを走らせる任意のコンピュータシステムを保護するためのパッチが作成され、リリースされる。通常、オペレーティングシステム提供者は、利用可能なシステムパッチがある旨の何らかの種類の発表を、すべてのオペレーティングシステムユーザにそのパッチをインストールするよう求める勧告と併せて行う。このパッチは、普通、影響を受けるコンピュータシステムにダウンロードし、インストールするために、ネットワーク１１０上の知られているロケーションに置かれる。
【００１６】
残念ながら、あまりにもしばしば起こるように、オペレーティングシステム提供者がパッチをリリースした後、イベント２０６で、悪意のある者は、そのパッチをダウンロードし、何らかのリバースエンジニアリング、およびオペレーティングシステム提供者などにより公表された任意の情報を用いて、そのオペレーティングシステム中の「修復された」脆弱性に関する詳細を識別する。この情報を用いて、悪意のある者は、その基礎となる脆弱性を攻撃するコンピュータエクスプロイトを作成する。イベント２０８で、悪意のある者は、そのコンピュータエクスプロイトをネットワーク１１０上にリリースする。「修正」とも呼ばれる、ソフトウェアパッチを発行する目的は、基礎となる脆弱性を訂正することであるが、この「修正」は、しばしば、複雑なソフトウェアコードであり、不都合なことに、それ自体、悪意のある者が作成するコンピュータエクスプロイトによって攻撃され得る新たな脆弱性を作り出し、または含み得るものである。そのため、その「修正」が何を訂正するかを評価するのに加えて、その「修正」の潜在的脆弱性の有無も評価される。
【００１７】
「修正」が利用可能であっても、悪意のある者は、前述のものを含む様々な理由で、あらゆる脆弱なコンピュータシステム直ちにアップグレードされるとは限らないことを知っている。そのため、イベント２０８で、悪意のある者は、ネットワーク１１０上にコンピュータエクスプロイト１１２をリリースする。コンピュータエクスプロイト１１２のリリースにより、前述のように、脆弱期間２１２が開始し、その間、脆弱なコンピュータシステムはこのコンピュータエクスプロイトの影響を受けやすい。イベント２１０で、最終的にパッチがコンピュータシステムにインストールされて初めて、そのコンピュータシステムの脆弱期間２１２が終了する。
【００１８】
今日リリースされる多くのコンピュータエクスプロイトは、図２Ａに関連して説明したシナリオのように、既知の脆弱性に基づくものであるが、時折、以前知られていなかった脆弱性を利用するコンピュータエクスプロイトがネットワーク１１０上にリリースされることもある。図２Ｂに、このシナリオでの時系列２２０に関連した脆弱期間２３０を示す。したがって、時系列２２０上に示すように、イベント２２２で、悪意のある者は、新しいコンピュータエクスプロイトをリリースする。これは、新しいコンピュータエクスプロイトであるため、脆弱なコンピュータシステムをこの攻撃から保護するために利用可能なオペレーティングシステムパッチも抗ウイルス更新もない。それに応じて、脆弱期間２３０が開始する。
【００１９】
新しいコンピュータエクスプロイトがネットワーク１１０上に流布された後のある時点において、オペレーティングシステム提供者および／または抗ウイルスソフトウェア提供者は、イベント２２４で示すように、その新しいコンピュータエクスプロイトを検出する。当業者であれば理解するように、通常、新しいコンピュータエクスプロイトの存在は、数時間以内にオペレーティングシステム提供者と抗ウイルスソフトウェア提供者の両方によって検出される。
【００２０】
コンピュータエクスプロイトが検出されると、抗ウイルスソフトウェア提供者は、抗ウイルスソフトウェアがそのコンピュータエクスプロイトを見分けるためのパターン、すなわち「シグニチャ」を識別するプロセスを開始することができる。同様に、オペレーティングシステム提供者は、そのコンピュータエクスプロイトを分析して、そのコンピュータエクスプロイトからオペレーティングシステムを保護するためにオペレーティングシステムにパッチをあてなければならないかどうか判断するプロセスを開始する。これらの類似の努力の結果として、イベント２２６で、オペレーティングシステム提供者および／または抗ウイルスソフトウェア提供者は、更新、すなわち、オペレーティングシステムへのソフトウェアパッチまたは抗ウイルス更新をリリースし、それによってコンピュータエクスプロイトに対処する。その後、イベント２２８で、この更新がユーザのコンピュータシステムにインストールされ、そのコンピュータシステムを保護し、脆弱期間２３０を終了させる。
【発明の開示】
【発明が解決しようとする課題】
【００２１】
コンピュータエクスプロイトがコンピュータシステムにセキュリティ脅威をもたらす可能性のあるシナリオのすべてを代表するにすぎない、上記の例からわかるように、脆弱期間は、コンピュータエクスプロイト１１２がネットワーク１１０上にリリースされてから、対応する更新がユーザのコンピュータシステム上にインストールされてその脆弱期間を終了させるまでの間存在する。悲しいことに、その脆弱期間が長かろうが短かろうが、感染したコンピュータは、それが多少なりとも可能である場合には、それを「駆除」し、修理するためにコンピュータの所有者にその相当な金額を費やさせる。この費用は、ネットワーク１１０に接続された何千あるいは何十万台もの装置を持ち得る大企業や事業体を扱うときには巨額になり得る。そうした費用は、そのすべてを追跡、修復することは極めて困難または不可能である顧客データを、そのようなエクスプロイトが、改ざんまたは破壊する可能性により、さらに増幅される。求められているのは、防御更新が利用可能になり、かつ／またはコンピュータシステム上にインストールされる前であっても、感応的に、個々のコンピュータの必要に従ってコンピュータエクスプロイトからコンピュータシステムを保護するシステムおよび方法である。従来技術で見られる上記その他の問題が、本発明によって対処されるものである。
【課題を解決するための手段】
【００２２】
本発明の諸態様によれば、コンピューティングデバイスとネットワークの間に、コンピューティングデバイスをネットワーク上の特定されたセキュリティ脅威から保護するために置かれたネットワークセキュリティモジュールが提示される。このネットワークセキュリティモジュールは、コンピューティングデバイスとネットワークの間のすべてのネットワークアクティビティがネットワークセキュリティモジュールを通過するように配置される。ネットワークセキュリティモジュールは、コンピューティングデバイス接続を含む。コンピューティングデバイス接続は、ネットワークセキュリティモジュールをコンピューティングデバイスに接続する。ネットワークセキュリティモジュールは、ネットワークセキュリティモジュールをネットワークに接続するネットワーク接続も含む。ネットワークアクティビティがネットワークセキュリティモジュールを通過するのは、コンピューティングデバイス接続およびネットワーク接続を介してである。ネットワークセキュリティモジュールは、復号モジュールも含む。復号モジュールは、獲得した解読鍵を用いて、保護された通信を一時的に解読する。ネットワークセキュリティモジュールは、さらに、コンピューティングデバイスとネットワークの間のネットワークアクティビティを制御するセキュリティ実施モジュールを備える。セキュリティ実施モジュールは、獲得したセキュリティ対策を実施し、それによってコンピューティングデバイスをネットワーク上の特定されたセキュリティ脅威から保護する。
【００２３】
本発明の別の諸態様によれば、コンピューティングデバイスとネットワークの間に、コンピューティングデバイスとネットワークの間のすべてのネットワークアクティビティがそこを通過せざるを得ないように置かれたネットワークセキュリティモジュール上で実施される、特定されたセキュリティ脅威からコンピューティングデバイスを保護する方法が提示される。防御セキュリティ対策が獲得される。防御セキュリティ対策は、実施されると、特定されたセキュリティ脅威からコンピューティングデバイスを保護する。コンピューティングデバイスに宛先指定された、保護された通信が検出される。次いで、その保護された通信が一時的に解読される。その後、その一時的に解読されたセキュリティ通信に対して防御セキュリティ対策が実施される。
【００２４】
本発明の前述の諸態様および付随する利点の多くは、以下の詳細な説明を添付の図面と併せて参照することによって、それらがより良く理解されるに従って、より容易に十分な理解をされよう。
【発明を実施するための最良の形態】
【００２５】
図３Ａは、本発明の諸態様を実施するのに適した例示的ネットワーク化環境３００を示す図である。例示的ネットワーク化環境３００は、ネットワーク１１０に接続されたコンピュータ３０２を含む。本発明を、コンピュータ３０２などのパーソナルコンピュータと共に動作することに関して一般的に説明するが、これは例示のためにすぎず、本発明を限定するものと解釈すべきではないことに留意すべきである。ほとんどどんなネットワーク化コンピューティングデバイスもコンピュータエクスプロイト（ｃｏｍｐｕｔｅｒ  ｅｘｐｌｏｉｔ）によって攻撃され得ることを、当業者は容易に認めるであろう。したがって、本発明は、有利には、それだけに限らないが、パーソナルコンピュータ、タブレットコンピュータ、ノート型コンピュータ、携帯情報端末（ＰＤＡ）、ミニコンピュータおよびメインフレームコンピュータ、（しばしば携帯電話と呼ばれる）無線電話機、無線電話機／ＰＤＡの組合せなどのハイブリッド型コンピューティングデバイスなど、多種類のコンピュータ、コンピューティングデバイス、あるいはコンピューティングシステムを保護するために実施され得る。また、本発明は、有利には、ハードウェア装置、周辺装置、ソフトウェアアプリケーション、デバイスドライバ、オペレーティングシステムなどを保護するためにも実施され得る。
【００２６】
ネットワーク１１０は任意の数の実際の通信ネットワークを含み得ることを理解すべきである。これらの実際の通信ネットワークには、それだけに限らないが、インターネット、広域ネットワークおよびローカルエリアネットワーク、イントラネット、セルラネットワーク、ＩＥＥＥ８０２．１１およびブルートゥース無線ネットワークなどが含まれる。したがって、本発明をコンピュータネットワーク、特に、インターネットの観点から論じるが、それは例示のためにすぎず、本発明を限定するものと解釈すべきではない。
【００２７】
例示的ネットワーク化環境３００は、ネットワークセキュリティモジュール３０４およびセキュリティサービス３０６も含む。ネットワークセキュリティモジュール３０４は、コンピュータ３０２などのコンピュータとネットワーク１１０の間に置かれる。ネットワークセキュリティモジュール３０４は、コンピュータ３０２とネットワーク１１０の間に、物理的あるいは論理的に置かれ得る。コンピュータ３０２とネットワーク１１０の間の通信は、ネットワークセキュリティモジュール３０４を介して流れる。本発明によれば、ネットワークセキュリティモジュール３０４は、それだけに限らないが、コンピュータ３０２上にインストールされた個々のオペレーティングシステムリビジョン、抗ウイルスソフトウェアと対応するシグニチャ（ｓｉｇｎａｔｕｒｅ）データファイルの両方に対するリビジョン情報を含む抗ウイルス情報、インストール済みアプリケーション、デバイスドライバなどを含めて、そのすべてが、コンピュータシステム脆弱性を巧みに利用するコンピュータエクスプロイトの潜在的標的となり得るそのコンピュータの具体的構成に対応するセキュリティ情報に従って、コンピュータ３０２とネットワーク１１０の間のネットワークアクティビティを選択的に制御する。
【００２８】
本発明の一実施形態によれば、セキュリティサービス３０６から定期的にセキュリティ情報を獲得するために、ネットワークセキュリティモジュール３０４は、コンピュータ３０２の個々の具体的構成に対応するセキュリティ情報を求めて、セキュリティサービス３０６に定期的にセキュリティ情報要求を出す。ネットワークセキュリティモジュール３０４は、セキュリティサービス３０６から定期的にセキュリティ情報を獲得するように構成され得る。例えば、ネットワークセキュリティモジュール３０４は、１分ごとにセキュリティサービス３０６からセキュリティ情報を獲得するように構成され得る。代替として、ネットワークセキュリティモジュール３０４を、ユーザ指定の期間に従ってセキュリティサービス３０６からセキュリティ情報を獲得するように構成することもできる。
【００２９】
コンピュータの個々の、具体的構成に対応するセキュリティ情報を獲得することは重要である。というのは、多くのユーザが、無数の理由で、自分のコンピュータシステムを更新するのを遅らさざるを得ないからである。例えば、オペレーティングシステムまたは抗ウイルスソフトウェアの更新の遅れは、コンピュータがしばらくの間動作していなかったために生じ得る。したがって、オペレーティングシステムおよび／または抗ウイルスソフトウェアの最新リビジョンが、新しく発見されたコンピュータエクスプロイトからの適切な保護を提供し得たとしても、コンピュータは、「最新版（ｕｐ  ｔｏ  ｄａｔｅ）」でないかもしれず、そのため、そのコンピュータエクスプロイトに感染しやすいことがあり、そのコンピュータの個別の構成に合うセキュリティ対策を実施しなければならない。したがって、セキュリティ情報要求には、それだけに限らないが、インストール済みのパッチを含む、そのコンピュータのオペレーティングシステムのリビジョンを識別する情報；コンピュータが使用する特定の抗ウイルスソフトウェアおよびそのリビジョン、ならびにソフトウェアおよびデータファイル更新；電子メールやブラウザの識別子、リビジョン、ファームウェア提供者およびバージョン、その他のセキュリティ設定などのネットワーク対応アプリケーション情報が含まれ得る。
【００３０】
本発明の諸態様によれば、ネットワークセキュリティモジュール３０４は、コンピュータシステム構成要素を更新する動作の１つとして、そのコンピュータの個別の構成情報を獲得する。例えば、ユーザが、コンピュータ３０２上にオペレーティングシステムパッチをインストールするとき、そのオペレーティングシステムパッチをインストールする動作の１つとして、ネットワークセキュリティモジュール３０４に、そのオペレーティングシステムの現在のリビジョンが通知される。同様に、ネットワーク対応アプリケーションや抗ウイルスソフトウェアなど、他のコンピュータシステム機能も、それらが更新される際に、すべて、ネットワークセキュリティモジュールがそのコンピュータの詳細な現在構成に従ってそのコンピュータ３０２を保護するための最も正確で十分なセキュリティ情報を得られるように、ネットワークセキュリティモジュール３０４に通知する。
【００３１】
セキュリティ情報要求中のそのコンピュータの個々の構成情報に基づき、セキュリティサービス３０６は、既知のまたは感知されたコンピュータシステム脆弱性からそのコンピュータを保護するための関連セキュリティ情報を特定する。関連セキュリティ情報の特定については、以下でより詳細に説明する。このセキュリティ情報は、ネットワークセキュリティモジュール３０４によって実施される、ネットワークセキュリティモジュールがそのコンピュータ３０２を既知の脆弱性のコンピュータエクスプロイトから隔離できるようにする防御セキュリティ対策を含む。防御セキュリティ対策には、それだけに限らないが、パッチまたは更新をインストールするための、セキュリティサービス３０６や抗ウイルスソフトウェアサービス３０８といった特定の既知の、セキュアなネットワークロケーション間の通信を除いて、コンピュータ３０２とネットワーク１１０の間のすべてのネットワークアクティビティをブロックすること、特定の通信ポートおよびアドレス上でのネットワークトラフィックをブロックすること、電子メールやＷｅｂブラウザアプリケーションといった特定のネットワーク関連アプリケーションとの間の通信をブロックすること、およびコンピュータ３０２上の特定のハードウェアまたはソフトウェア構成要素へのアクセスをブロックすることを含めて、任意の数のネットワークアクティビティ制御、またはその組合せが含まれ得る。したがって、セキュリティ応答を受け取ると、ネットワークセキュリティモジュールはセキュリティ対策を実施する。
【００３２】
前述のように、ネットワークセキュリティモジュール３０４は、コンピュータ３０２とネットワーク１１０の間に置かれ、そのため、コンピュータとネットワークの間のすべてのネットワークアクティビティは、必ずネットワークセキュリティモジュールを介して流れる。ネットワークトラフィックがネットワークセキュリティモジュール３０４を介して流れる際に、ネットワークセキュリティモジュールは、ネットワークトラフィックを監視し、既知のセキュアなロケーション間の通信を除くすべてのネットワークアクセスをブロックするなど、セキュリティサービス３０６から受け取った防御セキュリティ対策を実施する。
【００３３】
本発明の別の諸態様によれば、セキュリティ応答は、レベル赤、レベル黄、レベル緑などの指定されたセキュリティレベルも含み得る。これらのセキュリティレベルは、コンピュータ３０２のユーザに対して、ネットワークセキュリティモジュール３０４により実施される防御対策の代表的レベルを識別する情報を表す。例えば、赤のセキュリティレベルは、ネットワークセキュリティモジュール３０４が、現在、既知のセキュアなロケーションとの間のアクセスを除く、コンピュータ３０２とネットワーク１１０の間のすべてのネットワークアクティビティをブロックしていることを指示し得る。一方、黄のセキュリティレベルは、ネットワークセキュリティモジュール３０４が、現在、いくつかの防御セキュリティ対策を実施しているが、それにもかかわらず、コンピュータ３０２が依然としてネットワーク１１０と通信できることを指示し得る。さらに、緑のセキュリティレベルは、ネットワークセキュリティモジュール３０４が、どんな防御セキュリティ対策も実施しておらず、コンピュータ３０２とネットワーク１１０の間の通信が制限されていないことを指示し得る。前述のセキュリティレベルによれば、説明上、赤のセキュリティレベルを完全ロックダウンと呼ぶこともでき、黄のセキュリティレベルを部分ロックダウンと呼ぶこともでき、緑のセキュリティレベルを自由なネットワークアクセスと呼ぶこともできる。上記の説明は、３つのセキュリティレベルおよび赤、黄、緑のスキーマを特定するものであるが、これらは例であり、本発明を限定するものと解釈すべきではない。任意の数のセキュリティレベルが、ユーザに対しそれらを表現するための別のスキーマと共に実施され得ることを当業者は容易に理解されよう。
【００３４】
ネットワークセキュリティモジュール３０４は、自動的に、すなわちユーザ介入を必要とせずに動作するため、前述のセキュリティレベルおよびそのセキュリティレベルに対応する任意の視覚表現は、ユーザ情報のためのものにすぎない。それらは、ユーザに、ネットワークセキュリティモジュール３０４によって実施される制限レベルを指示するために使用され得る。この視覚指示は、ユーザが、ネットワーク接続が誤動作しているかどうか、あるいはネットワークアクティビティが現在のネットワークセキュリティ問題のために制限されているかどうか判断を試みるときに、特に有用となり得る。
【００３５】
本発明の諸態様によれば、付加的セキュリティ対策として、ネットワークセキュリティモジュール３０４が電源投入されたときに、ネットワークセキュリティモジュールは、デフォルト状態に入る。このデフォルト状態は、コンピュータ３０２と信頼されるネットワークロケーションの間のネットワークアクティビティが許される、最高のセキュリティレベル、すなわち完全ロックダウンに対応する。電源投入の一部として、またはセキュリティサービス３０６との定期的通信の一部として、ネットワークセキュリティモジュール３０４は、最新のセキュリティ情報を獲得し、そのセキュリティ情報に応じて、より制限の緩やかなセキュリティ対策を課すこともできる。明らかに、ネットワークセキュリティモジュール３０４で完全ロックダウンのデフォルト状態を実施することは、コンピュータ３０２にとって有益である。というのは、ネットワークセキュリティモジュールの電源が切られていた間に、脆弱性が特定され、あるいはネットワーク１１０上にエクスプロイトがリリースされている可能性があるからである。
【００３６】
本発明の一実施形態によれば、ネットワークセキュリティモジュール３０４は、コンピュータ３０２からの情報を要求せず、それにアクセスすることもない。そうではなく、ネットワークセキュリティモジュール３０４は、一定のイベントに関連してコンピュータ３０２からこれに送信された情報に基づいて動作する。したがって、例えばネットワークセキュリティモジュールが最初にコンピュータ３０２とネットワーク１１０の間に置かれたときなど、ネットワークセキュリティモジュール３０４が最初にコンピュータを保護し始めるとき、ネットワークセキュリティモジュールは、そのコンピュータシステムに対応するどんな具体的構成情報も持たないことになる。前述のように、ネットワークセキュリティモジュール３０４がコンピュータ３０２に関する構成情報を持たないとき、あるいはネットワークセキュリティモジュール３０４が電源投入されたとき、ネットワークセキュリティモジュールは、そのデフォルト状態、すなわち完全ロックダウンに入る。しかしながら、前述のように、完全ロックダウンは、なお、コンピュータ３０２が既知のセキュアなロケーションと通信することを許容する。一例として、そうした既知のセキュアなロケーションには、オペレーティングシステム更新が位置する１つまたは複数のロケーションが含まれる。したがって、コンピュータ３０２が、利用可能な最新のオペレーティングシステム、抗ウイルスソフトウェア、アプリケーション、デバイスドライバのリビジョンおよび更新を用いて構成されているときでさえ、ユーザは、ネットワークセキュリティモジュール３０４に構成情報が送信されることになる更新プロセスを実行することができる。代替として、ネットワークセキュリティモジュール３０４にコンピュータシステムの現在の構成を通知する特定のプログラムを提供することもできる。
【００３７】
ネットワークセキュリティモジュール３０４とセキュリティサービス３０６の間の通信が真正で、不正のないものにするために、本発明の一実施形態では、セキュリティ要求やセキュリティ情報など、ネットワークセキュリティモジュールとセキュリティサービスの間の通信は、セキュアソケットレイヤ（ＳＳＬ）プロトコルを用いた保護された通信などの、暗号化され、保護された通信で送られる。また、ネットワークセキュリティモジュール３０４とコンピュータ３０２の間の通信も同様に保護される。
【００３８】
本発明の任意選択の諸態様によれば、ネットワークセキュリティモジュール３０４は、コンピュータの電源が切られているときでさえも、動作し続け、すなわち、コンピュータ３０２に対応するセキュリティ情報を獲得し続ける。例えば、ネットワークセキュリティモジュール３０４は、すべて、そのコンピュータが電源投入されていたときに提供された最新のオペレーティングシステムおよび／または抗ウイルスソフトウェアのリビジョンに従って、コンピュータ３０２のためのセキュリティ情報を獲得し続けることができる。一実施形態によれば、ネットワークセキュリティモジュール３０４は、当業者に知られているように、コンピュータ３０２の電源が切られているときでさえも周辺装置に電力を供給するコンピュータの補助電源レールに接続される。また、ネットワークセキュリティモジュール３０４が、コンピュータ３０２が動作しているときにだけ動作する場合には、ネットワークセキュリティモジュールが動作を再開するときに、ネットワークセキュリティモジュールは、それがコンピュータの現在の構成に対応する最新のセキュリティ情報を獲得する間、完全ロックダウンを実施する。
【００３９】
本発明の別の実施形態によれば、ネットワークセキュリティモジュール３０４は、任意選択でユーザによって使用不可にされ得る。これが役立つのは、ネットワークへの完全アクセスの必要が、コンピュータエクスプロイトからの攻撃のリスクより重要なときがあるからである。例えば、ネットワーク上の不具合／問題点を診断しようとするときには、ネットワークセキュリティモジュール３０４を使用不可にすることが必要となり得る。あるいは、Ｅ９１１ボイスオーバＩＰ（ＶｏＩＰ）サービスを使用するなど、何らかの緊急状況によって、ネットワークセキュリティモジュール３０４を使用不可にすることが必要になることもある。
【００４０】
本発明の一態様によれば、使用不可にされているとき、ネットワークセキュリティモジュール３０４は、防御セキュリティ対策を実施することはないが、セキュリティサービス３０６からセキュリティ情報を獲得し続ける。セキュリティ情報を絶えず更新し続けることは、特に、ネットワークセキュリティモジュール３０４が一時的に使用不可にされる場合には、ユーザにとって有益である。というのは、ネットワークセキュリティモジュールが再度使用可能になったときに、最新のセキュリティ情報を持つことになるからである。代替として、ネットワークセキュリティモジュール３０４が使用不可であり、かつ絶えず更新されない場合、所定の期間セキュリティサービス３０６との通信がなかった後で、ネットワークセキュリティモジュールを、そのデフォルト状態、すなわちネットワークアクティビティの完全ロックダウンに復帰させることもできる。
【００４１】
セキュリティサービス３０６は、すべてのセキュリティ情報のための単一のサーバ／情報源として、あるいは、ネットワーク１１０の至るところに分配されたサーバ／情報源の階層として実施され得る。階層システムでは、ネットワークセキュリティモジュール３０４は、最初に、常に存在するはずの、セキュリティサービスでのルートサーバ／サービスを用いて構成される。しかしながら、セキュリティサービスによって返されるセキュリティ情報の一部として、おそらく、ネットワークセキュリティモジュール３０４とセキュリティサービスの間の最初の通信において、セキュリティサービスは、セキュリティサービスの階層に関する情報を提供する。この情報は、ネットワークアドレスの１つまたは複数の範囲として提供され、そのすべてはセキュリティサービス階層中のノードであり、ネットワークセキュリティモジュール３０４に適切なセキュリティ情報を提供することができる。その後、ネットワークセキュリティモジュール３０４は、情報を獲得するために必ずしも最初のノードに問い合わせする必要はない。明らかに、セキュリティサービスを階層方式で実施することの一利点は、セキュリティサービスを、情報を要求するネットワークセキュリティモジュール数に適応するように容易に拡大または縮小することができ、セキュリティサービス階層中の最初のノードが、ネットワーク中のすべてのネットワークセキュリティモジュールからのセキュリティ情報要求によって圧倒されなくなることである。ネットワーク１１０中に分散された階層構造の下では、負荷分散も行われ、階層中の１ノードが故障した場合、他のノードが関与してそのセキュリティ情報を提供するようにシステムに冗長性が組み込まれ得る。
【００４２】
本発明の諸態様によれば、ネットワークセキュリティモジュール３０４は、当分野でポート偽装（ｐｏｒｔ  ｍｉｍｉｃｋｉｎｇ）と呼ばれる技術を用いて、コンピュータ３０２とネットワーク１１０に対して透過的とする。一般に、ポート偽装を用いると、ネットワークセキュリティモジュール３０４は、コンピュータ３０２に対してはネットワーク１１０として現れ、ネットワーク上の装置に対してはそのコンピュータとして現れる。したがって、、オペレーティングシステム更新の通知やセキュリティ情報応答など、その通信がネットワークセキュリティモジュールに宛先指定されたものであるとネットワークセキュリティモジュールが判断した場合、あるいはネットワークセキュリティモジュールが防御セキュリティ対策に従ってそのネットワークアクティビティをブロックしなければならない場合を除いて、ネットワークアクティビティは、ネットワークセキュリティモジュール３０２を介してコンピュータ３０２とネットワーク１１０の間を自由に流れる。
【００４３】
前述のように、ネットワークセキュリティモジュール３０４は、問い合わせの結果としてセキュリティサービス３０６からセキュリティ情報を獲得する。当業者は、これがポールシステム、すなわち、セキュリティサービス３０６にセキュリティ情報の有無をポーリングするシステムであると理解するであろう。しかしながら、別の実施形態では、セキュリティサービス３０６は、有利には、重要なセキュリティ情報をネットワーク１１０中のネットワークセキュリティモジュールにブロードキャストする。例えば、ネットワーク化環境３００中のネットワークセキュリティモジュールがセキュリティサービス３０６からセキュリティ情報を獲得する定期的間隔に応じて、特に悪性のコンピュータエクスプロイトがネットワーク１１０に流布し始めた場合、ネットワークセキュリティモジュールが重要なセキュリティ情報を要求するのを待つのではなく、セキュリティサービスがネットワークセキュリティモジュールにセキュリティ情報をブロードキャストする。このセキュリティ情報（以下セキュリティ広報（ｓｅｃｕｒｉｔｙ  ｂｕｌｌｅｔｉｎｓ）と呼ぶ）は、通常、そのコンピュータエクスプロイトの影響を受けやすいすべての構成、とるべき防御セキュリティ対策を含み、対応するセキュリティレベルも指示（ｉｎｄｉｃａｔｉｎｇ）する。本発明の一実施形態によれば、セキュリティ広報は、所定のスキーマに従って編成されたＸＭＬ文書である。
【００４４】
リスナーに情報をブロードキャストするシステムをプッシュシステムと呼び、セキュリティサービス３０６が、ネットワークセキュリティモジュールに重要なセキュリティ情報をプッシュする。本発明の諸態様によれば、セキュリティ広報は、「保証された配信」サービスを用い、ネットワーク１１０を介してブロードキャストされる。保証された配信サービスでは、セキュリティ広報は、最優先項目と識別され、ネットワークサービス提供者との合意の下で、通常は最初に配信されるはずの他のネットワークトラフィックの配信前に配信される。
【００４５】
コンピュータ３０２がそこで通信を行う同じネットワーク１１０を介してセキュリティ広報を配信することに加えて、「帯域外」、すなわちネットワーク１１０とは別の第２の通信リンクを介して通信する方が有利である機会も多い。図３Ｂは、ネットワーク１１０に接続されたネットワークセキュリティモジュールにセキュリティ情報を配信する第２の通信リンク３１４を含む、本発明の諸態様を実施するために代替として構成されたネットワーク化環境３１０を示す図である。
【００４６】
図３Ｂに示すように、代替として構成されたネットワーク環境３１０は、ネットワーク化環境３００に関して前述したものと類似の構成要素を含み、コンピュータ３０２、セキュリティサービス３０６、およびネットワークセキュリティモジュール３０４を備える。しかしながら、セキュリティサービス３０６は、さらに、セキュリティ情報および／またはセキュリティ広報の両方を含むセキュリティ情報を、第２の通信リンク３１４を介してその情報を受信するように受信装置３１２を用いて特に適合されたネットワークセキュリティモジュール３０４に送信するように構成される。本発明の諸態様によれば、第２の通信リンク３１４は、衛星通信リンクとすることも、無線周波数放送とすることも、あるいはセキュリティサービス３０６とネットワークセキュリティモジュール３０４の間の他の何らかの形式の２次通信とすることもできる。任意の数の通信チャネルが使用され得ることを当業者は理解されよう。
【００４７】
本発明の別の態様によれば、第２の通信リンク３１４は、セキュリティサービス３０６からネットワークセキュリティモジュール３０４への一方向通信とすることも、セキュリティサービスとセキュリティモジュールとの通信のための双方向通信リンクとすることもできる。また、前述のソフトウェア更新またはパッチは、セキュリティサービス３０６から第２の通信リンク３１４を介してダウンロードすることも可能である。
【００４８】
ネットワークセキュリティモジュール３０４は、コンピュータ３０２とインターネット１１０の間に置かれるが、ネットワークセキュリティモジュールの実際の実施形態は様々である。その都度、ネットワークセキュリティモジュール３０４は、コンピュータ３０２によって信頼される構成要素として扱われる。一実施形態によれば、ネットワークセキュリティモジュール３０４は、コンピュータ３０２の外部にあって、ネットワーク１１０とコンピュータとに接続された、「ドングル（ｄｏｎｇｌｅ）」とも呼ばれるハードウェア装置として実施される。代替として、ネットワークセキュリティモジュール３０４は、コンピュータ３０２内に一体化されたハードウェアコンポーネントとしても、あるいはコンピュータのネットワークインターフェース内の統合されたサブコンポーネントとしても実施され得る。ネットワークセキュリティモジュール３０４をコンピュータ３０２内に、あるいはコンピュータのネットワークインターフェース上のサブコンポーネントとして統合することは、コンピュータ３０２が無線接続を介してネットワーク１１０に接続されるときに特に有用となり得る。
【００４９】
別の代替実施形態によれば、ネットワークセキュリティモジュールは、それだけに限らないが、プロセッサ、グラフィックス処理装置、ノースブリッジ、サウスブリッジを含むコンピュータ３０２の構成要素内で、マイクロコードやファームウェアなどのロジックとして実施され得る。別の代替実施形態では、ネットワークセキュリティモジュール３０４は、オペレーティングシステムまたはその一部と連携して動作するソフトウェアモジュールとして、あるいはコンピュータ３０２上にインストールされた別のアプリケーションとして実施され得る。ソフトウェアで実装されたネットワークセキュリティモジュール３０４は、コンピュータ３０２中の第２のプロセッサ上で動作し得る。第２のプロセッサは、コンピュータの基本プロセッサと非対称的に他のコンピュータシステムタスクを実施することも、それを実施しないこともできる。したがって、ネットワークセキュリティモジュール３０４は、どの特定の実施形態に限定されるものとも解釈すべきではない。
【００５０】
本発明によって実現される利点の１つは、このシステムが多くのエクスプロイトの影響を緩和することであることを指摘すべきである。例えば、サービス拒否（ＤＯＳ）攻撃とは、コンピュータがそのリソースを使い果たしてクラッシュし、あるいは、外部からの攻撃／エクスプロイトに対してより脆弱な不明確な状態に誤って陥るように、コンピュータをネットワーク要求で圧倒しようとする試みであることを当業者は理解するであろう。しかしながら、防御セキュリティ対策を実施することによってセキュリティサービス３０６に応答するネットワークセキュリティモジュール３０４を用いれば、潜在的に圧倒的なネットワーク要求を含むそのようなエクスプロイトは、決してコンピュータ３０２に到達しない。
【００５１】
前述の構成要素がどのようにしてコンピュータ３０２に強化されたセキュリティを提供するように動作するかより完全に理解するために、対応するイベントを用いて時系列上に示した例示的シナリオを参照する。図４Ａおよび４Ｂは、本発明の構成要素の動作を説明する例示的時系列を示すブロック図である。より詳細には、図４Ａは、本発明が、ネットワーク１１０上での新しいコンピュータエクスプロイトのリリースに関連したコンピュータ３０２の脆弱期間４０６をどのようにして最小限に抑えるかを説明する例示的時系列４００を示すブロック図である。以下では、オペレーティングシステムを攻撃するコンピュータエクスプロイトとして提示するが、これは例示のためであり、本発明を限定するものと解釈すべきではないことに留意すべきである。本発明を利用して、コードモジュール、サービス、コンピュータシステム上のハードウェア装置さえも保護することができる。
【００５２】
時系列４００に示すように、イベント４０２で、悪意のある者（ｍａｌｉｃｉｏｕｓ  ｐａｒｔｙ）がネットワーク１１０上に新しいコンピュータエクスプロイトをリリースする。新しいコンピュータエクスプロイトのリリースによって、コンピュータ３０２など、その新しいコンピュータエクスプロイトの標的とされる、ネットワーク１１０に接続されたコンピュータについての脆弱期間４０６が開始される。イベント４０４で、前述のように、オペレーティングシステム提供者、抗ウイルス提供者、あるいはその他の者によって新しいコンピュータエクスプロイトの存在が検出される。
【００５３】
新しいコンピュータエクスプロイトの存在を検出すると、そのエクスプロイトの攻撃の性質またはモードが特定される前であっても、イベント４０８で、オペレーティングシステム提供者は、セキュリティサービス３０６を介してセキュリティ情報を公表する。通常、コンピュータエクスプロイトが発見され、その攻撃の性質（ｎａｔｕｒｅ）、程度（ｅｘｔｅｎｔ）、またはモードがよく知られていないとき、セキュリティサービスは、すべての明らかに影響を受けるコンピュータシステムに対するセキュリティレベルを赤、すなわち完全ロックダウンに設定する。ブロック４１０で、ネットワークセキュリティモジュール３０４は、その定期的要求で、またはセキュリティ広報としてセキュリティ情報を獲得し、対応するセキュリティ対策、この場合は完全ロックダウンを実施する。有益には、セキュリティサービス３０６からのセキュリティ対策を実施すると、狙われたコンピュータの脆弱期間４０６が閉じられる。
【００５４】
図２Ｂの脆弱期間２０３とは対照的に、脆弱期間４０６は比較的短く、それにより、標的とされたコンピュータシステムが新しいコンピュータエクスプロイトに曝される期間が最小限に抑えられる。明らかに、脆弱期間４０６などの脆弱期間が開いている時間の実際の長さは、少数の要因に依存する。１つの要因は、コンピュータエクスプロイトが検出されるまでに経過する時間である。前述のように、新しいコンピュータエクスプロイトは、通常、リリースから１５分ないし数時間以内に検出される。第２の要因は、第１の要因よりはるかに変動が大きいものであるが、ネットワークセキュリティモジュール３０４がセキュリティサービス３０６からセキュリティ情報を獲得するのにかかる時間である。ネットワークセキュリティモジュール３０４が絶えずセキュリティ情報を獲得し得るものと想定すると、セキュリティ情報を獲得し、対応するセキュリティ対策を実施するにはほんの数秒だけしかかからないと考えられる。しかしながら、ネットワークセキュリティモジュール３０４がセキュリティサービス３０６と絶えず通信し続けることができない場合、あるいはセキュリティ情報を獲得するための周期的な時間枠が長い場合には、防御セキュリティ対策を実施するのに極めて長時間を要する可能性がある。本発明の諸態様によれば、ネットワークセキュリティモジュール３０４が所定の期間セキュリティサービス３０６と連絡を取っていない場合、ネットワークセキュリティモジュールは、セキュリティサービスからのその後の通信まで待って、デフォルトの完全ロックダウン状態になる。
【００５５】
最初のセキュリティ情報が公表された後、オペレーティングシステム提供者または抗ウイルスソフトウェア提供者は、通常、そのコンピュータエクスプロイトがどのように動作するか、および／またはそれがどの特定のコンピュータシステム機能を攻撃するかをより良く理解するために、そのコンピュータエクスプロイトを分析し続ける。この分析から、脆弱なコンピュータシステムがそのコンピュータエクスプロイトに感染するのを防ぐために講じなければならない、第２の、おそらくより制限の緩い防御対策セットが特定される。したがって、イベント４１２で、黄のセキュリティレベルで、危険性のあるネットワークアクティビティをブロックするための防御対策、すなわち部分ロックダウンを特定する、更新されたセキュリティ情報が公表される。例えば、前述のように、防御セキュリティ対策には、単に、発信元および／または宛先ポートを含む、特定の範囲の通信ポートとの間のアクセスをブロックすること、あるいは保護されたコンピュータシステム上にインストールされた、オペレーティングシステム、アプリケーション、デバイスドライバなどに宛先指定された電子メール通信、Ｗｅｂアクセスなどのネットワークアクティビティを使用不可にし、一方、他のネットワークアクティビティを自由に流すことなどが含まれ得る。「危険性のある」ネットワークアクティビティには、そのエクスプロイトがコンピュータシステムの欠陥を攻撃するにせよ、あるいは単に正当なコンピュータシステム機能を悪用するにせよ、エクスプロイトによるコンピューティングシステムへの脅威を表すネットワークアクティビティが含まれると理解すべきである。また、「危険性のある」ネットワークアクティビティには、別の装置によって一方的に開始されるコンピュータシステムに宛先指定されたネットワークアクティビティも含まれる。言い換えると、「危険性のある」ネットワークアクティビティには、ネットワークに接続する以外に何もしていないコンピュータシステムに向けられたエクスプロイトのネットワークアクティビティが含まれる。
【００５６】
イベント４１４で、ネットワークセキュリティモジュール３０４によって更新されたセキュリティ情報が獲得され、対応する防御セキュリティ対策が実施される。イベント４１６で、オペレーティングシステム提供者および／または抗ウイルス提供者がソフトウェア更新を生成し、それを利用可能にした後で、追加更新セキュリティ情報が公表される。この追加更新セキュリティ情報は、オペレーティングシステム提供者、抗ウイルスソフトウェア提供者、アプリケーション提供者からの更新などのソフトウェア更新がコンピュータ３０２上にインストールされていれば、セキュリティレベルが緑であると特定し得る。その後、イベント４１８で、追加更新セキュリティ情報が獲得され、ソフトウェア更新がコンピュータ３０２上にインストールされ、ネットワークセキュリティモジュール３０４は、自由な、すなわち無制限のネットワークアクセスを可能にする。
【００５７】
図４Ｂは、本発明が、ネットワーク１１０上でのコンピュータエクスプロイトのリリースに関連して、より詳細には、まったく新しい攻撃ではなく、以前特定された脆弱性を利用したエクスプロイトに関連して存在し得る脆弱期間をどのようにして除去するかを説明する、別の例示的時系列４２０を示すブロック図である。前述のように、以前に知られている脆弱性の使用は、まったく新しい攻撃よりもよくあることである。イベント４２２で、オペレーティングシステム提供者は、オペレーティングシステムの現在のリリースでの脆弱性の存在を特定する。特定された脆弱性によって生じる脅威に応答して、イベント４２４で、オペレーティングシステム提供者は、それを緩和するセキュリティ情報を公表し、セキュリティレベルを設定し、対応する防御セキュリティ対策を特定する。図４Ｂに示すこの例では、その脆弱性がネットワーク１１０に接続されたコンピュータに相当なリスクをもたらすものと想定して、オペレーティングシステム提供者は、完全ロックダウンを実施するセキュリティ対策を伴う、セキュリティレベルを赤に設定するセキュリティ情報を公表する。イベント４２６で、ネットワークセキュリティモジュール３０４は最新のセキュリティ情報を獲得し、完全ロックダウンを実施する。パッチまたは「修正」が利用可能になる前にコンピュータ３０２を特定された脆弱性から保護するセキュリティ対策が実施されることに留意すべきである。コンピュータエクスプロイトの大多数は、パッチが訂正する脆弱性を分析することによって得られた情報から何らかの形で導出されるため、悪意のある者は、その脆弱性を攻撃するエクスプロイトを作成する機会を積極的に拒否される。したがって、脆弱期間は開始されない。明らかに、この結果は、特に、ネットワークセキュリティモジュールがセキュリティ対策を実施していないときの、図２Ａに示す対応する時系列２００と比べて、コンピュータユーザにとって非常に有益である。
【００５８】
しばしば、コンピュータエクスプロイトの詳細な分析の後で、オペレーティングシステム提供者は、ネットワークに接続されたコンピュータをコンピュータエクスプロイトから保護する、より制限の緩い防御対策セットを決定することがある。したがって、図４Ｂに示すように、イベント４２８で、セキュリティレベルを黄に設定し、悪用された脆弱性に限定して対処する一方、他のすべてのネットワークアクティビティを可能にする、対応する防御セキュリティ対策、すなわち、部分ロックダウンを含む更新セキュリティ広報が公表される。それに対応して、イベント４３０で、更新セキュリティ情報が獲得され、ネットワークセキュリティモジュール３０４は、部分ロックダウンを実施する。
【００５９】
コンピュータ３０２にインストールされた場合に、その脆弱性を標的とするコンピュータエクスプロイトからそのコンピュータを保護するはずのオペレーティングシステムパッチまたは抗ウイルス更新が利用可能になると、イベント４３２で、オペレーティングシステム提供者はその情報を公表し、それをインストールするとネットワークセキュリティモジュールが自由なネットワークアクセスを許可し得ること、すなわちパッチがインストールされるとセキュリティレベルが緑に設定されることを知らせる。それに対応して、イベント４３４で、パッチまたは抗ウイルス更新がコンピュータ３０２上にインストールされた後で、ネットワークセキュリティモジュール３０４は自由なアクセスを可能にする。
【００６０】
図５は、公表されたセキュリティ情報に従ってコンピュータのネットワークアクセスを動的に制御する例示的ルーチン５００を示す流れ図である。図５は、ネットワークセキュリティモジュール３０４の始動に対応する開始端５０２と、コンピュータシステム３０２からの更新通知の受け取りに対応する開始端の２つの開始端を含む。まず、開始端５０２から開始してブロック５０４に進み、ネットワークセキュリティモジュール３０４は、完全ロックダウンに関連するセキュリティ対策を実施する。前述のように、完全ロックダウン状態のとき、コンピュータは、最新のセキュリティ状況情報および任意の利用可能な更新を獲得するために、セキュリティサービス３０６を含む、既知の、信頼されるネットワークロケーションにアクセスすることに制限される。
【００６１】
ブロック５０６で、ネットワークセキュリティモジュール３０４は、セキュリティサービス３０６から、コンピュータの現在の構成に対応した最新のセキュリティ情報を獲得する。本発明の諸態様によれば、ネットワークセキュリティモジュール３０４は、セキュリティサービスに最新のセキュリティ情報を求める要求を出すことにより、セキュリティサービスからその情報を獲得することができる。代替として、ネットワークセキュリティモジュール３０４は、第２の通信リンクを介して、またはネットワークを介したブロードキャストとして、セキュリティサービス３０６からのブロードキャストである最新のセキュリティ情報を獲得することもできる。
【００６２】
判断ブロック５０８で、セキュリティサービス３０６から獲得した最新のセキュリティ情報に基づき、ネットワークセキュリティモジュール３０４は、現在実施されているセキュリティ対策、およびそれに対応するセキュリティレベルが、獲得したセキュリティ情報と比較して最新のものどうか判定する。本発明の一態様によれば、この判定は、ネットワークセキュリティモジュールが現在記憶しているそのコンピュータシステムでのリビジョン情報と、セキュリティサービスが最新リビジョンとして公表したものとの単純な比較として行われる。
【００６３】
現在実施されているセキュリティ対策が最新でない場合、５１０で、ネットワークセキュリティモジュール３０４は、ネットワークセキュリティモジュールがそのコンピュータシステムに関して記憶している情報に従って、そのコンピュータシステムに対するセキュリティ対策を獲得する。代替として（図示せず）、獲得されるセキュリティ情報にセキュリティ対策を含めこともできる。ネットワークセキュリティモジュール３０４がセキュリティ対策を獲得すると、ブロック５１２で、ネットワークセキュリティモジュールは、セキュリティ対策を実施し、対応するセキュリティレベル、赤、黄、緑などを設定する。
【００６４】
コンピュータシステムでのセキュリティ対策を実施した後で、あるいは、現在実施されているセキュリティ対策がそのコンピュータシステムに対する最新のものであった場合、ブロック５１４で、ネットワークセキュリティモジュール３０４は、猶予状態に入る。この猶予状態は、ネットワークセキュリティモジュール３０４が最新のセキュリティ情報を獲得するためにセキュリティサービス３０６に定期的に問い合わせする時間周期に対応する。所定の時間の猶予後で、プロセスはブロック５０６に戻り、そこでセキュリティサービス３０６から最新のセキュリティ情報を獲得し、現在実施されているセキュリティ対策がそのコンピュータシステムに対する最新のものであるかどうか判定し、任意の新しいセキュリティ対策を実施するプロセスが繰り返される。
【００６５】
図５に示すように、例示的ルーチン５００には終端がない。というのは、これが、コンピュータ３０２をコンピュータエクスプロイトから保護し続けるように動作するように設計されているからである。しかしながら、前述のように、ネットワークセキュリティモジュール３０４の電源が切られ、例示的ネットワーク化環境３００から切断され、またはユーザによって明示的に使用不可にされた場合には、ルーチン５００が終了することを当業者には理解されよう。
【００６６】
別の開始端５２０を参照すると、この入口点は、ネットワークセキュリティモジュール３０４がコンピュータシステムから更新通知を受け取ったときの状況を表す。前述のように、本発明を利用するように適合されたアプリケーションは、コンピュータシステムを更新するステップの１つとして、ネットワークセキュリティモジュールに現在の最新リビジョン情報を通知する。例えば、抗ウイルスソフトウェアを更新する間、そのプロセスの１ステップは、ネットワークセキュリティモジュール３０４を対象として、ネットワークセキュリティモジュールに今現在のリビジョンを知らせる通知を発行するものになるはずである。したがって、ブロック５２２で、ネットワークセキュリティモジュールは更新通知を受け取る。
【００６７】
ブロック５２４で、後で、現在実施されているセキュリティ対策が最新であるかどうか判定する際に使用するために、ネットワークセキュリティモジュールによって更新通知情報が記憶される。セキュリティシステムが、任意の所与のコンピュータシステムを保護するのに必要とされる適切なセキュリティ対策に関してより多くの情報に基づく判断を下すことができるように、オペレーティングシステム更新、およびその他のコードモジュール更新も、ネットワークセキュリティモジュール３０４に通知を行うように適合され得る。
【００６８】
情報を記憶した後で、ルーチン５００は、ブロック５０６に進み、そこで、前述のように、セキュリティサービス３０６から最新のセキュリティ情報を獲得するステップ、現在実施されているセキュリティ対策がそのコンピュータシステムに対する最新のものであるかどうか判定するステップ、および任意の新しいセキュリティ対策を実施するステップが開始される。代替として（図示せず）、ブロック５２４で更新されたコンピュータシステム情報を受け取った後で、ネットワークセキュリティモジュールは、現在の猶予状態が終了するまでセキュリティ状況情報を獲得するのを待つこともできる。
【００６９】
図６は、例示的ネットワーク化環境３００において、ネットワークセキュリティモジュール３０４などのネットワークセキュリティモジュールに向けてセキュリティ情報をブロードキャストする例示的ルーチン６００を示す流れ図である。ブロック６０２から開始して、セキュリティサービス３０６は、様々な情報源からセキュリティ関連情報を獲得する。例えば、セキュリティサービス３０６は、通常、利用可能な最新リビジョン、パッチおよび更新、ならびにそれら様々なパッチおよび更新によって対処されるコンピュータエクスプロイトおよび／または脆弱性に関して、オペレーティングシステム提供者、抗ウイルスソフトウェア提供者から情報を得るはずである。様々な政府機関、セキュリティ専門家などを含む他の情報源にも、セキュリティ関連情報の有無をポーリングすることができる。
【００７０】
ブロック６０４で、セキュリティサービス３０６は、ネットワーク１１０に接続されたコンピュータシステムの脆弱性に関する情報を獲得する。この情報は、脆弱性が検出されたときに、オペレーティングシステム提供者、抗ウイルスソフトウェア提供者、またはその他の当事者からもたらされ得る。ブロック６０６で、セキュリティサービス３０６は、その脆弱性によって生じる脅威に基づき、セキュリティレベル、赤、黄、緑などを決定すると共に、コンピュータエクスプロイトによるその脆弱性に対する攻撃から影響を受けるコンピュータを保護するために、ネットワークセキュリティモジュール３０４などのネットワークセキュリティモジュールによって実施される防御セキュリティ対策を決定する。
【００７１】
ブロック６０６で、セキュリティサービス３０６は、前述のように、セキュリティレベルおよび対応する防御セキュリティ対策を含むセキュリティ広報を、ネットワーク１１０に接続されたネットワークセキュリティモジュールにブロードキャストする。前述のように、セキュリティサービス３０６は、すべてのネットワークセキュリティモジュールにネットワーク規模のブロードキャストを発行することによってセキュリティ広報をブロードキャストすることができる。このネットワーク規模のブロードキャストは、任意選択で前述の保証された配信オプションを用いた、ネットワーク１１０を介したものとすることも、ネットワーク化環境３００中のネットワークセキュリティ装置への第２の通信リンク３１４を介したものとすることもできる。セキュリティ広報をブロードキャストした後で、ルーチン６００が終了する。
【００７２】
図７は、ネットワークセキュリティモジュール３０４からのセキュリティ情報要求を受け取り、それに応答するためにセキュリティサービス３０６によって実施される例示的ルーチン７００を示す流れ図である。ブロック７０２から開始して、セキュリティサービス３０６は、ネットワークセキュリティ装置３０４からセキュリティ情報要求を受け取る。すでに述べたように、セキュリティ情報要求は、コンピュータの現在の構成に対応する情報を含み得る。
【００７３】
ブロック７０４で、ネットワークセキュリティモジュールによって提供されたセキュリティ情報要求中の個々のコンピュータの構成情報に従って、セキュリティサービス３０６は、セキュリティ情報要求中のコンピュータの現在の構成情報に対応する関連するセキュリティ情報を特定する。
【００７４】
一実施形態によれば、セキュリティサービス３０６は、そのコンピュータの構成情報に従ってコンピュータ３０２を保護するのに必要とされる防御セキュリティ対策を決定することによって関連するセキュリティ情報を特定する。代替の実施形態によれば、セキュリティサービス３０６は、ネットワークセキュリティモジュールがさらに処理を行ってどの防御セキュリティ対策を実施すべきか判定するために、個々のコンピュータの構成に対応するすべてのセキュリティ情報を返すことによって関連するセキュリティ情報を特定する。さらに別の代替実施形態として、セキュリティサービス３０６は、個々のコンピュータの構成に対応するすべてのセキュリティ情報を返し、次いで、それがネットワークセキュリティ装置からコンピュータ３０２に転送されて、コンピュータがネットワークセキュリティモジュールにどの防御セキュリティ対策を実施すべきか通知できるようにすることによって関連するセキュリティ情報を特定する。前述の代替実施形態の組合せ、ならびに他のシステムも利用され得る。したがって、本発明は、いずれか１つの特定の実施形態に限定されるものと解釈すべきではない。
【００７５】
ブロック７０６で、セキュリティサービス３０６は、要求側ネットワークセキュリティモジュール３０４に、関連するセキュリティ情報を返す。その後、ルーチン７００が終了する。
【００７６】
図８は、ネットワークセキュリティモジュール３０４によって実施される、セキュリティサービス３０６から獲得したセキュリティ対策に従ってコンピュータ３０２とネットワークの間のネットワークトラフィックの流れを制御するための例示的方法８００を示す流れ図である。ブロック８０２から開始して、ネットワークセキュリティモジュール３０４は、コンピュータ３０２に来るネットワークトラフィックとコンピュータから出ていくネットワークトラフィックの両方を含むネットワークトラフィックを受信する。
【００７７】
判断ブロック８０４で、ネットワークトラフィックが、セキュリティサービスや、抗ウイルスソフトウェア提供者や、オペレーティングシステム提供者など信頼されるネットワークサイトとの間のものであるかどうかについて判定がなされる。ネットワークトラフィックが信頼されるネットワークサイトとの間のものである場合、ルーチンはブロック８１０に進み、そこで、そのネットワークトラフィックがネットワークセキュリティモジュール３０４を介して流れることを許可し、その後、ルーチン８００が終了する。しかしながら、ネットワークトラフィックが信頼されるネットワークサイトとの間のものでなかった場合、ルーチンは判断ブロック８０６に進む。
【００７８】
判断ブロック８０６で、ネットワークトラフィックが現在実施されているセキュリティ対策に従って制限されるかどうかについて別の判断が行われる。そのネットワークトラフィックが現在実施されているセキュリティ対策に従って制限されない場合、ルーチンは、ブロック８１０に進み、そこで、そのネットワークトラフィックがネットワークセキュリティモジュール３０４を介して流れることを許可し、その後、ルーチン８００が終了する。しかしながら、ネットワークトラフィックが現在実施されているセキュリティ対策に従って制限される場合には、ルーチンはブロック８０８に進み、そこでそのネットワークトラフィックがネットワークセキュリティモジュール３０４を介して流れることを拒否する。その後、ルーチン８００が終了する。
【００７９】
ネットワークセキュリティモジュール３０４は、コンピュータ３０２とインターネット１１０の間に置かれているが、ネットワークセキュリティモジュールの実際の実施形態は様々であり得る。一実施形態によれば、ネットワークセキュリティモジュール３０４は、物理的にコンピュータ３０２の外部にあり、インターネット１１０とコンピュータ３０２とに接続されたハードウェア装置として実施され得る。図９は、コンピュータ３０２の外部のハードウェア装置として実施された例示的ネットワークセキュリティモジュール３０４を示す図である。
【００８０】
図９に示すように、外部装置として、ネットワークセキュリティモジュール３０４は、ネットワーク１１０への接続９０２および対応するコンピュータ３０２への接続９０４を含む。コンピュータ３０２とネットワーク１１０の間のすべてのネットワークアクティビティは、コンピュータへの接続９０４上を搬送される。図示のネットワークセキュリティモジュール３０４は、コンピュータ３０２とネットワークセキュリティモジュールとの間に、両者の間で情報を伝達するための第２のコンピュータ接続９１８も含む。図示のネットワークセキュリティモジュール３０４は、使用可／使用不可スイッチ９０６、状況指示器９１０〜９１６、および任意選択の、外部電源への接続９０８をさらに含む。
【００８１】
前述のように、ネットワークセキュリティモジュール３０４が、それの現在のセキュリティ対策を実施できないようにすることが望ましいこともある。図９に示す実施形態によれば、使用可／使用不可スイッチ９０６は、現在のセキュリティ対策を回避することが望ましいときにはネットワークセキュリティモジュール３０４を使用不可にし、セキュリティサービス３０６から獲得した現在のセキュリティ対策を実施するようにネットワークセキュリティモジュール３０４を使用可能にもするトグルスイッチである。
【００８２】
状況指示器９１０〜９１６は、ネットワークセキュリティモジュールの現在の状況の視覚表示を提供するために設けられる。状況指示器は、前述したように、情報提供のためのものにすぎない。これらは、コンピュータユーザに、ネットワークセキュリティモジュール３０４によって実施される防御セキュリティ対策に関する任意選択の視覚的な手がかりを提供する。各指示器は、個々のセキュリティ状況に対応する。例えば、状況指示器９１０は、ネットワークアクティビティの完全ロックダウンを意味する赤のセキュリティレベルに対応させることができ、ネットワークセキュリティモジュール３０４が完全ロックダウンを実施しているときに赤で点灯する。状況表示機９１２は、黄のセキュリティレベル、すなわちネットワークアクティビティの部分ロックダウンに対応させることができ、ネットワークセキュリティモジュール３０４が部分ロックダウンを実施しているときに黄色で点灯する。同様に、状況指示器９１４は、セキュリティレベル  緑、すなわち自由なネットワークアクセスに対応させることができ、ネットワークセキュリティモジュール３０４が無制限なネットワークアクセスを許容しているときに緑で点灯する。状況指示器９１６は、ネットワークセキュリティモジュール３０４の使用可能／使用不可状況に対応させることができ、ネットワークセキュリティモジュールが使用不可であるときには、この状況指示器は、おそらく赤色光で点滅する。
【００８３】
本発明は図９に示すように実施され得るが、これは、ほんの一例とみなすべきである。本発明の範囲から逸脱することなく、図９に示す物理的実施形態に多くの変更および改変を加えることができる。したがって、本発明は、いずれかの特定の物理的実施形態に限定されるものと解釈すべきではない。
【００８４】
物理的実施形態（図示せず）の代替として、ネットワークセキュリティモジュール３０４を、コンピュータ３０２内のコンポーネントとして、あるいはコンピュータのネットワークインターフェース内のサブコンポーネントとして統合された構成要素とすることもできる。これら２つの実施形態は、コンピュータ３０２が無線接続を介してインターネット１１０に接続されるときに特に有用である。さらに別の代替実施形態として、ネットワークセキュリティモジュール３０４を、オペレーティングシステムに統合されたソフトモジュールとして、あるいはコンピュータ３０２上にインストールされた別のモジュールとして実施することもできる。したがって、ネットワークセキュリティモジュール３０４は、物理的なものであれ、論理的なものであれ、いずれかの特定の実施形態に限定されるものと解釈すべきではない。
【００８５】
図１０は、本発明に従って形成された、ネットワークセキュリティモジュール３０４の例示的論理構成要素を示すブロック図である。ネットワークセキュリティモジュール３０４は、メモリ１００２、セキュリティ状況指示モジュール１００４、比較モジュール１００６、セキュリティ実施モジュール１００８、更新要求モジュール１０１０、ネットワーク接続１０１２、コンピュータ接続１０１４、２次コンピュータ接続１０１８、および符号／復号モジュール１０２０を含む。
【００８６】
メモリ１００２は、揮発性および不揮発性メモリ領域を含み、ネットワークセキュリティモジュール３０４によって実施されるべき現在のセキュリティ対策を記憶する。メモリ１００２は、オペレーティングシステム、抗ウイルスソフトウェアおよびシグニチャ（ｓｉｇｎａｔｕｒｅ）、アプリケーションの現在のリビジョン情報などを含めて、ネットワークセキュリティモジュール３０４に提供された構成情報も記憶する。メモリ１００２には、信頼されるロケーションアドレス、更新情報源など他の情報も記憶され得る。信頼されるロケーションアドレスなどの情報は、不揮発性メモリに記憶される可能性が高い。
【００８７】
セキュリティ状況指示モジュール１００４は、コンピュータユーザに、ネットワークセキュリティモジュール３０４の現在のセキュリティ状況を表すためのものである。例えば、ネットワークセキュリティモジュール３０４が、図９に示すような物理的装置として実施されるとき、セキュリティ状況指示モジュール１００４は、ネットワークセキュリティモジュールの現在のセキュリティ状況に従って、状況指示器９１０〜９１６を制御する。
【００８８】
比較モジュール１００６は、メモリ１００２に記憶されたセキュリティ情報と、セキュリティサービス３０６から獲得したセキュリティ情報の比較を行って、メモリ１００２に記憶されたセキュリティ情報がそのコンピュータの現在の構成に対して最新のものかどうか判定する。セキュリティ実施モジュール１００８は、コンピュータ３０２を、感知された脅威から保護するのに必要なセキュリティ対策を実施する構成要素である。したがって、セキュリティ実施モジュール１００８は、メモリ１００２に記憶されたセキュリティ対策に従って、コンピュータ３０２とネットワーク１１０の間のネットワークアクティビティの流れを制御する。
【００８９】
更新要求モジュール１０１０は、定期的にセキュリティサービス３０６からの最新のセキュリティ情報を要求するポールシステムで使用される。プッシュシステムでは、更新要求モジュール１０１０は、セキュリティサービスからのセキュリティ情報の受信機として働き、比較モジュール１００６と協働して、セキュリティサービス３０６から受け取った情報に従ってコンピュータ３０２を十分に保護するための防御セキュリティ対策を特定するために働くことができる。代替として、更新要求モジュールは、コンピュータ３０２と通信して、セキュリティサービス３０６から受け取った情報に従ってコンピュータを十分に保護するための防御セキュリティ対策を判定／特定することもできる。ネットワークセキュリティモジュール３０４の構成要素はすべて、共通のシステムバス１０１６を介して相互接続される。
【００９０】
符号／復号モジュール１０２０は、ネットワークセキュリティモジュール３０４とセキュリティサービス３０６の間の保護された通信、およびコンピュータ３０２とネットワークセキュリティモジュールの間の保護された通信を符号化、復号化するのに使用される。符号／復号モジュール１０２０によって復号化された情報は、現在のセキュリティ対策を実施するためにセキュリティ実施モジュール１００８に提供される。
【００９１】
一実施形態によれば、コンピュータ３０２とネットワークセキュリティモジュール３０４の間の保護された通信は、２次コンピュータ接続１０１８を介して配信される。しかしながら、本発明を、２次コンピュータ接続１０１８を含むものに限定されると解釈すべきではない。代替の実施形態では、ネットワークセキュリティモジュール３０４は、主要なコンピュータ接続１０１４だけを用いてコンピュータ３０２と通信する。
【００９２】
以上、ネットワークセキュリティモジュール３０４の個々の構成要素について説明したが、これらは論理構成要素であり、実際の実施形態では、これらを相互に、または説明しない他の構成要素と組み合わせることもできることを理解すべきである。したがって、前述の構成要素は、一例とみなすべきであり、本発明を限定するものと解釈すべきではない。
【００９３】
前述のネットワークセキュリティモジュール３０４は、単独で、または抗ウイルスソフトウェアと連携して動作し、コンピューティングデバイスを多くのコンピュータエクスプロイト／攻撃から保護することができるが、状況によっては、いくつかの仕向けられたエクスプロイトが、ネットワークセキュリティモジュールおよび／または抗ウイルスソフトウェアを回避し得ることもある。特に、悪意のある者がコンピューティングデバイスを攻撃するのに使用する一技法は、感染したコンピュータ／エクスプロイト発信元と標的とされるコンピューティングデバイスの間で保護された通信を用いることによってエクスプロイトを検出から隔離するものである。図１１は、コンピュータエクスプロイトが保護された通信を用いてどのようにしてコンピューティングデバイスに配信され得るかを示すブロック図である。
【００９４】
コンピュータエクスプロイトが保護された通信を用いてどのようにしてコンピューティングデバイスに配信され得るかの一例として、図１１を参照すると、コンピュータ１０２上の悪意のある者はエクスプロイト１１２を持っている。コンピュータ１１０４など別のコンピュータを感染させるために、悪意のある者は、他者への正当なリソース／コンテンツとしてエクスプロイト１１２を提供し得るが、それを保護された通信を介して配信しようとする。当業者に知られているように、保護された通信は、通常、公開および秘密暗号鍵を用いて、解読鍵（秘密鍵）の所有者だけがその保護された通信の内容を解読し、見ることができるように暗号化される。保護された通信プロトコルの例として、セキュアソケットレイヤ（ＳＳＬ）やトランスポート層セキュリティ（ＴＬＳ）プロトコルが挙げられる。
【００９５】
引き続きこの例を説明すると、疑いを持たないユーザは、コンピューティングデバイス１１０４を介して、だまされてエクスプロイト１１２が本当に正当な内容であると信じ、コンピュータ１０２からそのエクスプロイトを要求する。コンピュータ１０２およびコンピューティングデバイス１１０４は交渉して、エクスプロイト１１２を暗号化し、解読するための暗号鍵を交換する。その後、伝送符号器１１０６は、配信のためにそのエクスプロイトを符号化し、矢印１１０８で示すように、ネットワーク１１０を介して暗号化されたエクスプロイトをコンピューティングデバイス１１０４に安全に配信する。エクスプロイト１２２は暗号化された状態で送付されるため、それがネットワークセキュリティモジュール３０４（図示せず）および任意の抗ウイルスソフトウェアを通過し得る可能性が非常に高い。コンピューティングデバイス１１０４に到達すると、伝送復号モジュール１１１０がその保護された通信を復号化／解読し、それがブラウザ表示モジュール１１１２に提示される。しばしば、伝送復号モジュール１１１０は、ブラウザ表示モジュール１１１２の不可欠な一部であることを当業者は理解されよう。エクスプロイトを表示させると、ブラウザ表示モジュール１１１２は、そのエクスプロイト１１２がコンピューティングデバイス１１０４を感染させることを可能にする。
【００９６】
本発明の諸態様によれば、ネットワークセキュリティモジュール３０４を用いて、コンピューティングデバイスを保護された通信によって配信されるコンピュータエクスプロイトから保護することができる。再び図１０を参照すると、ネットワークセキュリティモジュール３０４は、２次コンピュータ接続１０１８を介して、コンピューティングデバイスからの保護された通信を解読するのに必要な暗号鍵を獲得する。暗号鍵が獲得されると、符号／復号モジュール１０２０は、処理のために保護された通信を一時的に復号化する。以下でより詳細に説明するように、保護された通信が、ネットワークセキュリティモジュール３０４によって実施されているセキュリティ対策に違反する、あるいはエクスプロイトであることが判明した場合、その保護された通信はコンピューティングデバイス１１０４に到達するのを妨げられる。しかしながら、保護された通信が実施されているセキュリティ対策に違反せず、エクスプロイトでもない場合、保護された通信は、コンピューティングデバイス１１０４に流れるのを許容される。
【００９７】
本発明の諸態様によれば、２次コンピュータ接続１０１８（図１０）は、コンピューティングデバイス１１０４への様々な通信チャネルの１つとすることができる。例えば、２次コンピュータ接続１０１８は、ユニバーサルシリアルバス（ＵＳＢ）接続、ＩＥＥＥ１３９４接続、あるいは標準シリアル／パラレルデータ接続とすることができる。前述のように、２次コンピュータ接続１０１８の目的の１つは、ネットワークセキュリティモジュール３０４が、それを介して、保護された通信を一時的に解読するために伝送復号器１１１０から暗号解読鍵（ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｄｅｃｒｙｐｔｉｏｎ  ｋｅｙ）を獲得することのできる通信チャネルを提供することである。したがって、代替の実施形態として、２次コンピュータ接続１０１８は、コンピューティングデバイスとネットワーク１１０の間のネットワークアクティビティが搬送されるコンピュータ接続１０１４とすることもできる。この代替実施形態によれば、コンピュータ接続１０１４と２次コンピュータ接続１０１８の間の区別は論理的なものであり、物理的な区別ではない。
【００９８】
図１２は、本発明の諸態様に従って適合されたネットワークセキュリティモジュール３０４が、保護された通信によってコンピューティングデバイスに配信されるコンピュータエクスプロイト１１２から、どのようにしてコンピューティングデバイス１１０４を保護し得るかを示す例示的環境１２００のブロック図である。図１１の例と同様に、コンピュータ１０２上の悪意のある者は、矢印１１０８で示すように、保護された通信によってコンピューティングデバイス１１０４にコンピュータエクスプロイト１１２を配信しようとする。しかしながら、まず、ネットワーク１１０とコンピューティングデバイス１１０４の間に置かれたネットワークセキュリティモジュール３０４が、その保護された通信を獲得する。現在のセキュリティレベルに関連付けられたセキュリティ対策を実施する一部として、あるいは単に実施中のセキュリティ予防措置として、ネットワークセキュリティモジュール３０４は、通信のいずれかが保護された通信であるかどうか判定するために着信ネットワークアクティビティを評価する。
【００９９】
保護された通信を検出すると、ネットワークセキュリティモジュール３０４は、矢印１２０２で示すように、２次コンピュータ接続１０１８を介してコンピューティングデバイス１１０４上の伝送復号モジュール１１１０に暗号復号化鍵を要求する。暗号復号化鍵を用いて、ネットワークセキュリティモジュール３０４は、その保護された通信を一時的に解読し、ネットワークセキュリティモジュールによって実施されているいずれかのセキュリティ対策に従ってその解読した通信データを処理する。本発明のさらなる諸態様によれば、ネットワークセキュリティモジュール３０４は、抗ウイルスソフトウェアと連携して動作し、それがエクスプロイト／ウイルスであると評価するために一時的に解読された通信データを抗ウイルスソフトウェアに渡すこともできる。
【０１００】
保護された通信が、実施中のセキュリティ対策に照らして禁止されたネットワークアクティビティであること、またはそれが任意の抗ウイルスソフトウェアによって検出されたエクスプロイトを表すことを検出すると、ネットワークセキュリティモジュール３０４は、矢印１２０４で示すように、その保護された通信／エクスプロイトがコンピューティングデバイス１１０４に到達するのを妨げる。このようにして、コンピューティングデバイス１１０４は、セキュアな通信チャネルを介して配信された通信からさえも保護される。一方、保護された通信がどの実施中のセキュリティ対策にも違反しておらず、エクスプロイトでもない場合、そのセキュアな通信はコンピューティングデバイス１１０４に伝えられる。
【０１０１】
前述の図１１および１２の説明に、伝送復号器１１１０がブラウザ表示モジュール１１１２とは別個のモジュールであると示しているが、これは例示のためにすぎない。伝送復号器１１１０が、しばしば、コンピューティングデバイス上にあるブラウザ表示モジュール１１１２の不可欠なコンポーネントであることを、当業者は容易に理解されよう。
【０１０２】
図１３Ａおよび１３Ｂに、本発明の諸態様による、保護された通信を検出し、処理する例示的ルーチン１３００の流れ図を示す。例示的ルーチン１３００はネットワークセキュリティモジュール３０４上で実施され得るが、これを、コンピューティングデバイス１１０４をエクスプロイト１１２から保護するためにブラウザ表示モジュール１１１２と連携して動作するソフトウェアモジュールとして別個に実施し、実行することもできることを理解すべきである。
【０１０３】
ブロック１３０２（図１３Ａ）から開始して、例示的ルーチン１３００は、ネットワークアクティビティ、特に着信ネットワークアクティビティを監視する。着信ネットワークアクティビティを検出すると、判断ブロック１３０４で、そのネットワークアクティビティが、保護されたコンピューティングデバイスに宛先指定された、保護された通信であるかどうかが判定される。そのネットワークアクティビティが、保護されるコンピューティングデバイスに宛先指定された、保護された通信でない場合、ブロック１３０６で、そのネットワークアクティビティが、保護されたコンピューティングデバイスに伝えられる。その後、プロセスは、さらなるネットワークアクティビティの監視のためにブロック１３０２に戻る。図示しないが、保護されていないネットワークアクティビティに対してさらなる処理が起こり得る。例えば、例示的ルーチン１３００が、ネットワークセキュリティモジュール３０４などのネットワークセキュリティモジュール上で実施される場合、ネットワークアクティビティが、ネットワークセキュリティモジュールによって実施されているいずれかのセキュリティ対策に違反しているかどうか判定するなど、さらなる処理が起こり得る。この保護されていないネットワークアクティビティの処理については先に説明した。
【０１０４】
ネットワークアクティビティが保護された通信である場合、ブロック１３０８で、その保護された通信を解読するための解読鍵が獲得される。ブロック１３１０で、保護された通信が、獲得した解読鍵を用いて一時的に解読される。その後、判断ブロック１３１２（図１３Ｂ）で、解読された通信が、ネットワークセキュリティモジュール３０４によって実施されているセキュリティ対策によって禁止されているかどうかが判定される。その通信が禁止されたネットワークアクティビティを表す場合、ブロック１３１４で、その保護された通信は拒否される、すなわちコンピューティングデバイスに転送されない。その後、ルーチン１３００は、ブロック１３０２（図１３Ａ）に戻ってネットワークアクティビティを監視し続ける。
【０１０５】
解読された通信が実施中のセキュリティ対策によって禁止されていない場合、判断ブロック１３１６で、その解読された通信がエクスプロイトであるかどうかがさらに判定され得る。前述のように、ネットワークセキュリティモジュール３０４は、外部の抗ウイルスソフトウェアと連携して動作し得る。この環境では、ネットワークセキュリティモジュール３０４は、それがエクスプロイトであるかどうか、あるいはエクスプロイトに感染しているかどうか評価するために、その一時的に解読された通信を抗ウイルスソフトウェアに渡す。その解読された通信がエクスプロイトであると判定された場合、ブロック１３１４で、その保護された通信が拒否され、ルーチン１３００はブロック１３０２（図１３Ａ）に戻ってネットワークアクティビティを監視し続ける。また、解読された通信がエクスプロイトではないと判定された場合は、ブロック１３１８で、その保護された通信がコンピューティングデバイスに転送される。その後、ルーチン１３００はブロック１３０２（図１３Ａ）に戻ってネットワークアクティビティを監視し続ける。
【０１０６】
以上、本発明の、好ましい実施形態を含む多数の実施形態を図示し、説明してきたが、本発明の精神および範囲から逸脱することなく、本発明に様々な変更が加えられ得ることが理解されよう。
【図面の簡単な説明】
【０１０７】
【図１】従来技術で見られる、コンピュータエクスプロイトがそれを介して一般に配布される例示的ネットワーク環境を示す図である。
【図２Ａ】ネットワーク上にリリースされたコンピュータエクスプロイトに関連したコンピュータシステムの異なる脆弱期間を説明する例示的時系列を示すブロック図である。
【図２Ｂ】ネットワーク上でリリースされたコンピュータエクスプロイトに関連したコンピュータシステムの異なる脆弱期間を説明する例示的時系列を示すブロック図である。
【図３Ａ】本発明の諸態様を実施するのに適した例示的ネットワーク化環境を示す図である。
【図３Ｂ】本発明の諸態様を実施するのに適した例示的ネットワーク化環境を示す図である。
【図４Ａ】本発明が、コンピュータエクスプロイトに関連付けられた脆弱期間をどのようにして最小限に抑えるかを説明する例示的時系列を示すブロック図である。
【図４Ｂ】本発明が、コンピュータエクスプロイトに関連付けられた脆弱期間をどのようにして最小限に抑えるかを説明する例示的時系列を示すブロック図である。
【図５】本発明による、公表されたセキュリティ情報に従ってコンピュータシステムのネットワークアクセスを動的に制御する例示的ルーチンを示す流れ図である。
【図６】本発明による、例示的ネットワーク化環境でネットワークセキュリティモジュールのセキュリティ情報を公表するためにセキュリティサービスによって実施される例示的ルーチンを示す流れ図である。
【図７】ネットワークセキュリティモジュールからのセキュリティ情報を求める要求を受け取り、それに応答するためにセキュリティサービスによって実施される例示的ルーチンを示す流れ図である。
【図８】セキュリティサービスから獲得したセキュリティ対策に従ってコンピュータとネットワークの間のネットワークトラフィックの流れを制御するために、ネットワークセキュリティモジュールによって実施される例示的方法を示す流れ図である。
【図９】コンピュータの外部にあるハードウェア装置として実施された例示的ネットワークセキュリティモジュールを示す図である。
【図１０】本発明に従って形成された、ネットワークセキュリティモジュールの論理構成要素を示すブロック図である。
【図１１】コンピュータエクスプロイトが、保護された通信を用いてどのようにコンピューティングデバイスに送付され得るかを示すブロック図である。
【図１２】本発明の諸態様に従って適合されたネットワークセキュリティモジュールが、保護された通信を用いてコンピューティングデバイスに送付されるコンピュータエクスプロイトからコンピューティングデバイスをどのようにして保護し得るかを示すブロック図である。
【図１３Ａ】本発明の諸態様による、保護された通信を検出し、保護された通信を処理する例示的ルーチンを示す流れ図である。
【図１３Ｂ】本発明の諸態様による、保護された通信を検出し、保護された通信を処理する例示的ルーチンを示す流れ図である。
【符号の説明】
【０１０８】
１００２  メモリ
１００４  セキュリティ状況指示モジュール
１００６  比較モジュール
１００８  セキュリティ実施モジュール
１０１０  更新要求モジュール
１０１２  ネットワーク接続
１０１４  コンピュータ接続
１０１８  ２次コンピュータ接続
１０２０  符号／復号器モジュール
１１０６  伝送符号器
１１１０  伝送復号器
１１１２  ブラウザ表示モジュール
【図１】
0004741255.tif 000002
【図２Ａ】
0004741255.tif 000003
【図２Ｂ】
0004741255.tif 000004
【図３Ａ】
0004741255.tif 000005
【図３Ｂ】
0004741255.tif 000006
【図４Ａ】
0004741255.tif 000007
【図４Ｂ】
0004741255.tif 000008
【図５】
0004741255.tif 000009
【図６】
0004741255.tif 000010
【図７】
0004741255.tif 000011
【図８】
0004741255.tif 000012
【図９】
0004741255.tif 000013
【図１０】
0004741255.tif 000014
【図１１】
0004741255.tif 000015
【図１２】
0004741255.tif 000016
【図１３Ａ】
0004741255.tif 000017
【図１３Ｂ】
0004741255.tif 000018