(57)【要約】  １つの例示的実施態様における方法は、第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることを含む。方法は、また、第１の基準を評価してソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうかを判定することと、ネットワーク・トラフィックが許可されない場合に、ネットワーク・トラフィックを阻止する制限規則を作成することとを含む。第１の基準は、ソフトウェア・プログラム・ファイルの信頼性状態を含む。特定の実施形態では、方法は、ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックを遮断し、制限規則をネットワーク・トラフィックに適用するネットワーク保護装置に、制限規則をプッシュすることを含む。より特定の実施形態では、方法は、信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、ソフトウェア・プログラム・ファイルの信頼性状態を判定することを含む。【選択図】図１
2013539573.tif 000002
【特許請求の範囲】
【請求項１】
第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることと、
第１の基準を評価して前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうかを判定することと、
前記ネットワーク・トラフィックが許可されない場合に、前記ネットワーク・トラフィックを阻止する制限規則を作成することとを含み、前記第１の基準は、前記ソフトウェア・プログラム・ファイルの信頼性状態を含む、方法。
【請求項２】
前記制限規則をネットワーク保護装置にプッシュすることを更に含み、前記ネットワーク保護装置は、前記ソフトウェア・プログラム・ファイルと関連付けられた前記ネットワーク・トラフィックを遮断し、前記制限規則を前記ネットワーク・トラフィックに適用する、請求項１に記載の方法。
【請求項３】
前記ネットワーク保護装置によって遮断された前記ネットワーク・トラフィックは、前記第１の計算装置からのアウトバウンド電子パケットを含み、前記電子パケットは、第２の計算装置に対応する宛先アドレスを有する、請求項２に記載の方法。
【請求項４】
前記ネットワーク保護装置によって遮断された前記ネットワーク・トラフィックは、第２の計算装置から受け取り、かつ前記第１の計算装置に対応する宛先アドレスを有するインバウンド電子パケットを含む、請求項２に記載の方法。
【請求項５】
信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、前記ソフトウェア・プログラム・ファイルの前記信頼性状態を判定することを更に含み、前記ソフトウェア・プログラム・ファイルの前記信頼性状態は、前記ソフトウェア・プログラム・ファイルが前記ホワイトリストに含まれない場合に、信頼できないと定義される、請求項１に記載の方法。
【請求項６】
前記ソフトウェア・プログラム・ファイルの前記信頼性状態が信頼できないと定義された場合に、前記ネットワーク・トラフィックが許可されない、請求項５に記載の方法。
【請求項７】
前記ソフトウェア・プログラム・ファイルは、実行可能ファイルであり、前記ネットワーク・アクセス試行は、前記第１の計算装置上の前記実行可能ファイルによって開始された実行ソフトウェア・プロセスと関連付けられる、請求項１に記載の方法。
【請求項８】
前記ソフトウェア・プログラム・ファイルは、前記第１の計算装置上の実行ソフトウェア・プロセスのなかにロードされたライブラリ・モジュールであり、前記ネットワーク・アクセス試行は、前記実行ソフトウェア・プロセスと関連付けられる、請求項１に記載の方法。
【請求項９】
第２の基準を評価して前記第２の基準が前記第１の基準を覆すかどうかを判定することを更に含み、前記第２の基準は、信頼できないと定義された信頼性状態を有する１つ又は複数のソフトウェア・プログラム・ファイルについてのネットワーク・アクセス・ポリシーを含む、請求項１に記載の方法。
【請求項１０】
ネットワーク保護装置が、前記ソフトウェア・プログラム・ファイルと関連付けられた前記ネットワーク・トラフィックの電子パケットを遮断し、前記電子パケットに制限規則を適用し、前記制限規則は、ネットワーク・アクセス・ポリシーの群から選択された前記ネットワーク・アクセス・ポリシーを使用して作成され、前記群は、
前記第１の計算装置への全てのインバウンド電子パケットと、前記第１の計算装置からの全てのアウトバウンド電子パケットとを阻止することと、
前記第１の計算装置への全てのインバウンド電子パケットを阻止することと、
前記第１の計算装置からの全てのアウトバウンド電子パケットを阻止することと、
前記第１の計算装置から指定ネットワーク・サブネットへの全てのアウトバウンド電子パケットを阻止することと、
前記第１の計算装置からインターネットへの全てのアウトバウンド電子パケットを阻止し、前記第１の計算装置から指定サブネットへの全てのアウトバウンド電子パケットを許可することと、
前記第１の計算装置からドメイン・ネーム・システム（ＤＮＳ）サーバへの全てのアウトバウンド電子パケットを阻止することと、
簡易メール転送プロトコル（ＳＭＴＰ）を使用した前記第１の計算装置からの全てのアウトバウンド電子パケットを阻止することと、
前記第１の計算装置からインターネット・リレー・チャット（ＩＲＣ）サーバへの全てのアウトバウンド電子パケットを阻止することと、
前記ネットワーク・アクセス試行のソース・アドレス、ソース・ポート、宛先アドレス及び宛先ポートと一致するソース・アドレス、ソース・ポート、宛先アドレス、及び宛先ポートを有する全てのアウトバウンド電子パケットを阻止することと、
前記ネットワーク・アクセス試行のソース・アドレス、ソース・ポート、宛先アドレス及び宛先ポートと一致するソース・アドレス、ソース・ポート、宛先アドレス及び宛先ポートを有する全てのインバウンド電子パケットを阻止することとからなる、請求項９に記載の方法。
【請求項１１】
１つ又は複数の有形媒体内に符号化されたロジックであって、実行するためのコードを含み、１つ又は複数のプロセッサによって実行されたとき、
第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることと、
第１の基準を評価して前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうかを判定することと、
前記ネットワーク・トラフィックが許可されない場合に、前記ネットワーク・トラフィックを阻止する制限規則を作成することとを含む操作をするように動作可能であり、前記第１の基準は、前記ソフトウェア・プログラム・ファイルの信頼性状態を含む、ロジック。
【請求項１２】
前記制限規則をネットワーク保護装置にプッシュすることを含む更なる操作を前記１つ又は複数のプロセッサがするように動作可能であり、前記ネットワーク保護装置は、前記ソフトウェア・プログラム・ファイルと関連付けられた前記ネットワーク・トラフィックを遮断し、前記制限規則を前記ネットワーク・トラフィックに適用する、請求項１１に記載のロジック。
【請求項１３】
信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、前記ソフトウェア・プログラム・ファイルの前記信頼性状態を判定することを含む更なる操作を前記１つ又は複数のプロセッサがするように動作可能であり、前記ソフトウェア・プログラム・ファイルの前記信頼性状態は、前記ソフトウェア・プログラム・ファイルが前記ホワイトリストに含まれない場合に、信頼できないと定義される、請求項１１に記載のロジック。
【請求項１４】
第２の基準を評価して前記第２の基準が前記第１の基準を覆すかどうか判定することを含む更なる操作を前記１つ又は複数のプロセッサがするように動作可能であり、前記第２の基準は、信頼できないと定義された信頼性状態を有する１つ又は複数のソフトウェア・プログラム・ファイルについてのネットワーク・アクセス・ポリシーを含む、請求項１１に記載のロジック。
【請求項１５】
保護モジュールと、
前記保護モジュールと関連付けられた命令を実行するように動作可能な１つ又は複数のプロセッサとを含む装置であって、前記１つ又は複数のプロセッサは、
第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることと、
第１の基準を評価して前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうかを判定することと、
前記ネットワーク・トラフィックが許可されない場合に、前記ネットワーク・トラフィックを阻止する制限規則を作成することとを含む更なる操作をするように動作可能であり、前記第１の基準は、前記ソフトウェア・プログラム・ファイルの信頼性状態を含む、装置。
【請求項１６】
前記制限規則をネットワーク保護装置にプッシュすることを含む更なる命令を前記１つ又は複数のプロセッサが実行するように動作可能であり、前記ネットワーク保護装置は、前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックを遮断し、前記制限規則を前記ネットワーク・トラフィックに適用する、請求項１５に記載の装置。
【請求項１７】
信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、前記ソフトウェア・プログラム・ファイルの前記信頼性状態を判定することを含む更なる命令を前記１つ又は複数のプロセッサが実行するように動作可能であり、前記ソフトウェア・プログラム・ファイルの前記信頼性状態は、前記ソフトウェア・プログラム・ファイルが前記ホワイトリストに含まれない場合に、信頼できないと定義される、請求項１５に記載の装置。
【請求項１８】
第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることと、
第１の基準を評価して前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうか判定することと、
前記ネットワーク・トラフィックが許可されない場合に、前記ネットワーク・トラフィックと関係したイベント・データをログ記録するログ記録規則を作成することとを含み、前記第１の基準は、前記ソフトウェア・プログラム・ファイルの信頼性状態を含む、方法。
【請求項１９】
前記ログ記録規則をネットワーク保護装置にプッシュすることを更に含み、前記ネットワーク保護装置は、前記ソフトウェア・プログラム・ファイルと関連付けられた前記ネットワーク・トラフィックを遮断し、前記ネットワーク・トラフィックと関係したイベント・データをログ記録する、請求項１８に記載の方法。
【請求項２０】
前記ネットワーク保護装置によってログ記録された前記イベント・データを受け取ることと、
前記イベント・データからの選択データを使用してプロセス・トラフィック・マッピング要素を検索し、前記ネットワーク・トラフィックと関連付けられた前記ソフトウェア・プログラム・ファイルを探すことと、
ログ・イベント・メモリ要素を更新して、前記ソフトウェア・プログラム・ファイルを識別するエントリを含むようにすることとを含む、請求項１９に記載の方法。
【請求項２１】
前記プロセス・トラフィック・マッピング要素を検索するために使用される前記選択データは、ソース・アドレス及びポート番号、並びに宛先アドレス及びポート番号を含む、請求項２０に記載の方法。
【請求項２２】
前記プロセス・トラフィック・マッピング要素を検索するために使用される前記選択データは、前記ログ記録規則に対応する規則識別子を含む、請求項２０に記載の方法。
【請求項２３】
信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、前記ソフトウェア・プログラム・ファイルが前記ホワイトリスト内で識別されているかどうかを判定することを更に含み、前記ソフトウェア・プログラム・ファイルの前記信頼性状態は、前記ソフトウェア・プログラム・ファイルが前記ホワイトリスト内で識別されていない場合に、信頼できないと定義される、請求項１８に記載の方法。
【請求項２４】
前記ソフトウェア・プログラム・ファイルは、実行可能ファイルであり、前記ネットワーク・アクセス試行は、前記計算装置上の前記実行可能ファイルによって開始された実行ソフトウェア・プロセスと関連付けられる、請求項１８に記載の方法。
【請求項２５】
前記ソフトウェア・プログラム・ファイルは、実行ソフトウェア・プロセスのなかにロードされたライブラリ・モジュールであり、前記ネットワーク・アクセス試行は、前記実行ソフトウェア・プロセスと関連付けられる、請求項１８に記載の方法。
【請求項２６】
１つ又は複数の有形媒体内に符号化されたロジックであって、実行するためのコードを含み、１つ又は複数のプロセッサによって実行されたとき、
第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることと、
第１の基準を評価して前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうかを判定することと、
前記ネットワーク・トラフィックが許可されない場合に、前記ネットワーク・トラフィックと関係したイベント・データをログ記録するログ記録規則を作成することとを含む操作をするように動作可能であり、前記第１の基準は、前記ソフトウェア・プログラム・ファイルの信頼性状態を含む、ロジック。
【請求項２７】
前記ログ記録規則をネットワーク保護装置にプッシュすることを含む更なる操作を前記１つ又は複数のプロセッサがするように動作可能であり、前記ネットワーク保護装置は、前記ソフトウェア・プログラム・ファイルと関連付けられた前記ネットワーク・トラフィックを遮断し、前記ネットワーク・トラフィックと関係したイベント・データをログ記録する、請求項２６に記載のロジック。
【請求項２８】
前記ネットワーク保護装置によってログ記録された前記イベント・データを受け取ることと、
前記イベント・データからの選択データを使用してプロセス・トラフィック・マッピング要素を検索し、前記ネットワーク・トラフィックと関連付けられた前記ソフトウェア・プログラム・ファイルを探すことと、
ログ・イベント・メモリ要素を更新して、前記ソフトウェア・プログラム・ファイルを識別するエントリを含むようにすることとを含む更なる操作を前記１つ又は複数のプロセッサがするように動作可能である、請求項２７に記載のロジック。
【請求項２９】
信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、前記ソフトウェア・プログラム・ファイルが前記ホワイトリスト内で識別されているかどうかを判定することを含む更なる操作を前記１つ又は複数のプロセッサがするように動作可能であり、前記ソフトウェア・プログラム・ファイルの前記信頼性状態は、前記ソフトウェア・プログラム・ファイルが前記ホワイトリスト内で識別されていない場合に、信頼できないと定義される、請求項２６に記載のロジック。
【請求項３０】
保護モジュールと、
前記保護モジュールと関連付けられた命令を実行するように動作可能な１つ又は複数のプロセッサとを含む装置であって、前記命令は、
第１の計算装置上のネットワーク・アクセス試行と関係した情報であって、前記ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する前記情報を受け取ることと、
第１の基準を評価して前記ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックが許可されるかどうかを判定することと、
前記ネットワーク・トラフィックが許可されない場合に、前記ネットワーク・トラフィックと関係したイベント・データをログ記録するログ記録規則を作成することとを含み、前記第１の基準は、前記ソフトウェア・プログラム・ファイルの信頼性状態を含む、装置。
【請求項３１】
前記ログ記録規則をネットワーク保護装置にプッシュすることを含む更なる命令を前記１つ又は複数のプロセッサが実行するように動作可能であり、前記ネットワーク保護装置は、前記ソフトウェア・プログラム・ファイルと関連付けられた前記ネットワーク・トラフィックを遮断し、前記ネットワーク・トラフィックと関係したイベント・データをログ記録する、請求項３０に記載の装置。
【請求項３２】
前記ネットワーク保護装置によってログ記録された前記イベント・データを受け取ることと、
前記イベント・データからの選択データを使用してプロセス・トラフィック・マッピング要素を検索し、前記ネットワーク・トラフィックと関連付けられた前記ソフトウェア・プログラム・ファイルを探すことと、
ログ・イベント・メモリ要素を更新して、前記ソフトウェア・プログラム・ファイルを識別するエントリを含むようにすることとを含む更なる命令を前記１つ又は複数のプロセッサが実行するように動作可能である、請求項３１に記載の装置。
【請求項３３】
信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索して、前記ソフトウェア・プログラム・ファイルが前記ホワイトリスト内で識別されているかどうか判定することを含む更なる命令を前記１つ又は複数のプロセッサが実行するように動作可能であり、前記ソフトウェア・プログラム・ファイルの前記信頼性状態は、前記ソフトウェア・プログラム・ファイルが前記ホワイトリスト内で識別されていない場合に、信頼できないと定義される、請求項３０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願情報
本願は、２０１０年７月２８日に出願され「悪意のあるソフトウェアに対するローカル保護をするシステム及び方法(SYSTEM AND METHOD FOR LOCAL PROTECTION AGAINST MALICIOUS SOFTWARE)」と題し、発明者がリシ・バールガーバ(Rishi Bhargava)らである同時係属米国特許出願番号１２／８４４，８９２（代理人整理番号０４７９６．１０５２）と関連する。この出願の開示は、本明細書の一部とみなされ、参照によりその全体が本明細書に組み込まれる。
【０００２】
本開示は、一般にネットワーク・セキュリティの分野に関し、より詳細には悪意のあるソフトウェアに対するネットワーク・レベル保護に関する。
【背景技術】
【０００３】
ネットワーク・セキュリティの分野は、今日の社会でますます重要になってきている。インターネットは、世界中の様々なコンピュータネットワークの相互接続を可能にした。しかしながら、安定したコンピュータ及びシステムを有効に保護し維持する機能は、部品メーカー、システム設計者及びネットワークオペレータにとって大きな課題となる。この課題は、悪意のあるオペレータによって開発される進化し続ける数々の戦略により更に複雑になる。最近の特別な懸念は、種々様々の悪意のある目的に使用されることがあるボットネットである。悪意のあるソフトウェア・プログラム・ファイル（例えば、ボット）が、一旦ホストコンピュータに感染すると、悪意のあるオペレータが、「指令制御サーバ」からコマンドを出してボットを制御することがある。ボットは、例えば、ホストコンピュータからのスパム又は悪意のある電子メールの送信、ホストコンピュータと関連付けられた企業又は個人からの機密情報の窃盗、他のホストコンピュータへのボットネットの伝播、及び／又は分散型サービス妨害攻撃の支援などのいくつもの悪意のある操作を実行するように指示されることがある。更に、悪意のあるオペレータは、指令制御サーバを介して他の悪意のあるオペレータにボットネットを販売し、その他アクセスを与えることがあり、それにより、ホストコンピュータの搾取が拡大する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、ボットネットは、悪意のあるオペレータが他のコンピュータにアクセスし、それらのコンピュータを多数の悪意のある目的のために操作する強力な方法を提供する。セキュリティ専門家は、悪意のあるオペレータがコンピュータを搾取することを可能にするような戦略を根絶する革新的ツールを開発する必要がある。
【課題を解決するための手段】
【０００５】
１つの例示的実施態様における方法は、第１の計算装置上のネットワーク・アクセス試行と関係した情報を受け取ることを含み、この情報は、ネットワーク・アクセス試行と関連付けられたソフトウェア・プログラム・ファイルを識別する。方法は、更に、第１の基準を評価してソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックを許可するかどうかを判定することと、ネットワーク・トラフィックが許可されない場合にネットワーク・トラフィックを阻止する制限規則を作成することを含む。第１の基準は、ソフトウェア・プログラム・ファイルの信頼性状態を含む。特定の実施形態では、方法は、制限規則をネットワーク保護装置にプッシュすることを含み、ネットワーク保護装置は、ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックを遮断し、制限規則をネットワーク・トラフィックに適用する。より特定の実施形態では、方法は、信頼できるソフトウェア・プログラム・ファイルを識別するホワイトリストを検索してソフトウェア・プログラム・ファイルの信頼性状態を判定することを含み、ソフトウェア・プログラム・ファイルの信頼性状態は、ソフトウェア・プログラムがホワイトリストに含まれない場合に、信頼できないと定義され、ネットワーク・トラフィックは、ソフトウェア・プログラム・ファイルの信頼性状態が信頼できないと定義された場合に、許可されない。更に他の特定の実施形態では、ネットワーク・トラフィックと関連付けられたソフトウェア・プログラム・ファイルの信頼性状態が信頼できないと定義された場合に、ネットワーク・トラフィックと関連したイベント・データがログ記録されてもよく、そのようなログ記録は、ネットワーク・トラフィックを阻止する代わりに行われてもよく、又はネットワーク・トラフィックを阻止することに加えて行われてもよい。
【図面の簡単な説明】
【０００６】
本開示及び本開示の特徴及び利点をより完全に理解するために、添付図面と関連して行われる以下の説明が参照され、図面では、類似の参照番号は類似の部品を表す。
【０００７】
【図１】本開示により悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムの実施形態を実現することができる代表的なネットワーク環境を表す図である。
【図２】本開示の実施形態によりシステムの構成要素を実施することができる例示的なサーバのブロック図である。
【図３】本開示の実施形態によりシステムの構成要素を実現することができる例示的な計算装置の概略図である。
【図４】本開示の実施形態によりシステムを実現することができるネットワーク環境における例示的なネットワーク保護装置のブロック図である。
【図５】本開示によるシステムの実施形態と関連付けられた一連の例示的ステップを示す単純化されたフローチャートである。
【図６】本開示の実施形態による図５と関連付けられた信頼判定フローの一連の例示的ステップを示す単純化されたフローチャートである。
【図７】本開示の実施形態による図５と関連付けられた信頼判定フローの別の実施形態の一連の例示的ステップを示す単純化されたフローチャートである。
【図８】本開示によるシステムの他の実施形態と関連付けられた一連の例示的なステップを示す単純化されたフローチャートである。
【図９】本開示の実施形態による図８と関連付けられた信頼判定フローの例示的ステップを示す単純化されたフローチャートである。
【図１０】本開示の実施形態による図８と関連付けられた別の信頼判定フローの一連の例示的なステップを示す単純化されたフローチャートである。
【図１１】本開示の実施形態によるシステムと関連付けられた別の一連の例示的ステップを示す単純化されたフローチャートである。
【図１２】本開示の実施形態によるシステムと関連付けられた更に別の一連の例示的ステップを示す単純化されたフローチャートである。
【発明を実施するための形態】
【０００８】
図１は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムの実施形態を実現することができる代表的なネットワーク環境１００を表す図である。ネットワーク環境１００は、インターネット１５０などの広域ネットワーク（ＷＡＮ）への電子接続を有するローカル・ネットワーク１１０を含んでもよい。インターネット１５０は、多くの他のネットワーク、計算装置及びウェブサービスへのアクセスを提供する。例えば、グローバルサーバ１６０は、悪意のあるコードがないと評価及び判定されたソフトウェア・プログラム・ファイルを示すグローバル・ホワイトリストを含むデータベース１６５を提供する。更に、ボットネット・オペレータ１７５などの悪意のあるユーザは、指令制御サーバ１７０のほかにインターネット１５０へのアクセスを有してもよく、指令制御サーバ１７０は、ボットネット・オペレータ１７５によって操作されて、ローカル・ネットワーク１１０などのネットワークを汚染することを試みる悪意のあるソフトウェア（例えば、ボット）を送信しその後制御してもよい。ローカル・ネットワーク１１０は、中央サーバ１３０、セカンダリ・サーバ１８０、及びネットワーク保護装置１４０に動作的に接続されたホスト１２０ａ、１２０ｂ及び１２０ｃを含んでもよい。ホスト１２０ａは、実行可能ソフトウェア１２２とローカル保護構成要素１２４とを含んでもよい。参照し易くするため、ホスト１２０ａだけがそのような構成要素と共に示されているが、ローカル・ネットワーク１１０内の他のホストも、図１のホスト１２０ａに示されたものと類似の構成要素で構成されてもよいことは明らかである。中央保護構成要素１３５が、中央サーバ１３０内に提供されてもよく、ネットワーク・レベル取り締まり構成要素１４５が、ネットワーク保護装置１４０内に提供されてもよい。中央サーバ１３０は、また、ログ・イベント・データベース１３１、中央非信頼ソフトウェア・インベントリ１３２、内部ホワイトリスト１３３、及びプロセス・トラフィック・マッピング・データベース１３４へのアクセスを有してもよい。
【０００９】
例示的実施形態では、ホスト１２０ａ上のローカル保護構成要素１２４、中央サーバ１３０上の中央保護構成要素１３５及びネットワーク保護装置１４０上のネットワーク・レベル取り締まり構成要素１４５は協力して、悪意のあるソフトウェアと関連付けられたネットワーク・トラフィックに対するネットワーク・レベル保護をするシステムを提供してもよい。ネットワーク・トラフィックは、本明細書で使用されるとき、例えば、ホストから任意のネットワークや他のコンピュータに送られる電子パケット（即ち、アウトバウンド・ネットワーク・トラフィック）と、ホストに任意のネットワークや他のコンピュータから送られる電子パケット（即ち、インバウンド・ネットワーク・トラフィック）など、ネットワーク内のデータを意味する。ネットワーク・トラフィックは、ネットワーク保護装置１４０が非信頼プログラム・ファイルと関連付けられた適切な制限規則を含む場合に、ネットワーク保護装置１４０によって阻止され、その他制限されてもよい。
【００１０】
この開示の実施形態によれば、ネットワーク保護装置１４０は、非信頼プログラム・ファイルが見つかったときにネットワーク・トラフィック用に作成された制限規則を受け取ってもよい。プログラム・ファイルの信頼性状態（即ち、信頼できるか信頼できないか）は、バッチモードで判定されてもよく、ネットワーク・アクセス試行中に実時間で判定されてもよい。本明細書で使用されるようなネットワーク・アクセス試行は、ホスト上の任意のインバウンド又はアウトバウンド・ネットワーク・アクセス試行（例えば、接続要求の受け入れ、接続要求の作成、ネットワークから電子データの受信、ネットワークへの電子データの送信）を含む。バッチモードと実時間モードの両方で、プログラム・ファイルが評価されて、１つ又は複数の信頼評価技術（例えば、ホワイトリスト比較、プログラム・ファイル変更比較、ブラックリスト比較など）を使用して、各プログラム・ファイルの信頼性状態が、信頼できると定義されるか信頼できないと定義されるかが判定される。制限規則を作成するときにポリシーが使用されてもよい。そのようなポリシーは、例えば、ネットワーク・アドレスの指定されたサブネットへのアクセスだけを許可すること、全てのインバウンド及びアウトバウンド・ネットワーク・トラフィックを阻止すること、インバウンド又はアウトバウンド・ネットワーク・トラフィックだけを阻止すること、全てのローカル・ネットワーク・トラフィックを阻止し、インターネット・トラフィックを許可することなどを含んでもよい。非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックが、報告のためにログ記録され、集計されてもよい。
【００１１】
悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムの技術を示すため、所定のネットワーク内で行われるアクティビティを理解することが重要である。以下の基本的な情報は、本開示が適切に説明される基礎とみなすことができる。そのような情報は、単に説明のために提供され、したがって、本開示とその可能な用途の広い範囲を限定するようには決して解釈されるべきではない。更に、この開示の広い範囲は、例えば、実行可能ファイル、ライブラリ・モジュール、オブジェクト・ファイル、他の実行可能モジュール、スクリプト・ファイル、インタープリタ・ファイルなど、コンピュータ上で理解され処理することができる命令を含む任意のソフトウェア・ファイルも包含する「プログラム・ファイル」、「ソフトウェア・プログラム・ファイル」及び「実行可能ソフトウェア」を指すものであることを理解されよう。
【００１２】
組織内又は個人によって使用される典型的なネットワーク環境は、例えばインターネットを使用して他のネットワークと電子的に通信して、インターネットに接続されたサーバ上にホストされたウェブページにアクセスし、電子メール（即ち、ｅｍａｉｌ）メッセージを送信あるいは受信し、又はインターネットに接続されたエンドユーザあるいはサーバとファイルを交換する能力を含む。悪意のあるユーザは、インターネットを使用してマルウェアを拡散し、秘密情報へのアクセスを得るための新しい戦略を開発し続けている。
【００１３】
コンピュータ・セキュリティに対する大きな脅威となる戦略は、多くの場合ボットネットを含む。ボットネットは、ある種の悪意のあるソフトウェア（即ち、ボット）がホストコンピュータに置かれて指令制御サーバと通信するクライアントサーバアーキテクチャを使用する。指令制御サーバは、悪意のあるユーザ（例えば、ボットネット・オペレータ）によって制御されてもよい。ボットは、特定の悪意のあるアクティビティを実行するコマンドを指令制御サーバから受け取り、それに応じてそのようなコマンドを実行してもよい。ボットは、任意の結果又は窃盗情報を指令制御サーバに返信してもよい。ボットは、悪意のあるアクティビティを行なうコマンドを受信する他に、典型的には、組織のネットワーク内で拡散し、又は他のネットワークを介して他の組織又は個人に拡散することができる１つ又は複数の伝搬ベクトルを含む。一般的な伝搬ベクトルは、ローカル・ネットワーク内のホスト上の既知の脆弱性を利用して、悪意のあるプログラムが添付され、又は電子メール内に悪意のあるリンクを提供する悪意のある電子メールを送信することを含む。ボットは、例えば、自動ダウンロード、ウィルス、ワーム、トロイの木馬などによりホストコンピュータに感染してもよい。
【００１４】
ボットネットは、様々な攻撃を使用してボットネット・オペレータがコンピュータシステムを危険にさらす強力な方法を提供する。ボットが一旦ホストコンピュータを感染すると、指令制御サーバは、ボットにコマンドを出して様々なタイプの攻撃を行なうことができる。一般に、ボットネットは、大量の電子メールを送信し分散型サービス妨害攻撃を行なうように使用されてきた。しかしながら、最近になって、ボットネットは、企業と個人に標的を絞った攻撃を行なって、知的財産や財務データなどの機密データや他の保護必要情報を得るために使用されようになった。
【００１５】
既存のファイアウォール及びネットワーク侵入防止技術は、一般に、ボットネットを認識しくい止めるには不十分である。ボットは、多くの場合、指令制御サーバと通信を開始し、通常のウェブブラウザトラフィックを偽装するように設計される。ボットは、ボットがウェブサーバに正常なネットワーク接続を行っているかのように見えるようにする指令制御プロトコルによって巧妙に作成されることがある。例えば、ボットは、ウェブサーバと通信するために通常使用されるポートを使用することがある。したがって、そのようなボットは、ウェブ・トラフィックのより詳しいパケット検査を行なわない既存の技術では検出されないことがある。更に、ボットが発見された後、ボットネット・オペレータは、存在し続けるボットによるネットワーク・トラフィックが、正常なウェブ・トラフィックを偽装する別の方法を単に見つけるだけでよい。最近になって、ボットネット・オペレータは、例えばセキュア・ソケット・レイヤー（ＳＳＬ）などの暗号化プロトコルを使用し、それにより悪意のあるネットワーク・トラフィックを暗号化するボットを巧妙に作成した。そのような暗号化されたトラフィックは、暗号化セッションに関与するエンドポイントだけがデータを復号できるよう、ハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）ポートを使用することがある。したがって、既存のファイアウォールや他のネットワーク侵入防止技術は、ウェブ・トラフィックの如何なる有効な検査も実行できない。その結果、ボットは、ネットワーク内のホストコンピュータを汚染し続ける。
【００１６】
無許可のプログラム・ファイルがホストコンピュータ上で実行されるのを防ぐことに焦点を当てた他のソフトウェアセキュリティ技術は、企業又は他の組織的実体のエンドユーザ又は従業員に対して望ましくない副作用を有することがある。ネットワーク又は情報技術（ＩＴ）管理者は、望ましく信頼できるネットワーク資源から従業員がソフトウェアや他の電子データを取得できるようにするために、企業実体の全ての側面と関連した広範なポリシーを巧妙に作成する責任を負っていることがある。広範なポリシーが適切でないと、従業員は、そのようなソフトウェアや他のデータが正当で必要な事業活動である場合でも、特に許可されないネットワーク資源からのソフトウェアや他の電子データのダウンロードを妨げられることがある。更に、そのようなシステムは、無許可のソフトウェアがホストコンピュータ上に見つかった場合に、ホストコンピュータアクティビティが延期されてネットワーク管理者の介入が保留されるという大きな制限がある。企業の場合、このタイプのシステムは、正当かつ必要な企業活動を妨げることあり、その結果、労働者の稼働不能時間、収益損失、著しい情報技術（ＩＴ）オーバヘッドなどが生じることがある。
【００１７】
図１に概略的に示されたような悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステム及び方法は、感染したネットワークからのボットネットの伝搬及び悪意のあるアクティビティを減少させることができ、同時にＩＴオーバヘッドをあまり必要とせずに、感染したネットワーク内で正当なアクティビティが継続することを可能にする。１つの例示的実施形態によれば、ホスト１２０ａなどのホスト上のネットワーク・アクセス試行と関連付けられたどのソフトウェア・プログラム・ファイルが危険（即ち、信頼できない）かを判定するシステムが提供される。関連付けられたプログラム・ファイルのそれぞれが危険でない（即ち、信頼できる）場合は、それらのプログラム・ファイルにマッピングされたソフトウェア・プロセスと関連付けられたネットワーク・トラフィックが許可されてもよい。しかしながら、プログラム・ファイルのうちの１つ又は複数が信頼できない場合は、ネットワーク保護装置１４０が、非信頼プログラム・ファイルにマッピングされたソフトウェア・プロセスと関連付けられたネットワーク・トラフィックを阻止し、その他制限し、かつ／又は、任意の適切なポリシーにしたがって他のネットワーク・トラフィックを阻止し、その他制限できるようにする制限規則が作成されてもよい。そのような阻止又は他の制限は、予想されるボットの伝搬及び悪意のあるアクティビティを防ぐことができる。１つの例示的実施形態では、非信頼プログラム・ファイルが発見されたとき、ホスト１２０ａのインバウンド及びアウトバウンド・ネットワーク・トラフィックは、ポリシーの検討事項に基づいて、指定ネットワーク・サブネット（例えば、安全であることが分かっておりかつ必要な事業活動に要求されるサブネットなど）へのアクセスを選択的に許可されてもよい。これにより、必要な事業活動を中断したり妨げたりすることなく、ボットが指令制御サーバからの指令に応答し伝搬する能力を大幅に低減させることができる。その結果、図１に実現されたようなシステムは、感染ホストがあるネットワーク、及び感染ホストがアクセスを試みる他のネットワークに対してよりよい保護を提供する。
【００１８】
図１のインフラストラクチャに移ると、ローカル・ネットワーク１１０は、ネットワーク・レベル保護をするシステムを実現することができる例示的なアーキテクチャを表す。ローカル・ネットワーク１１０は、１つ又は複数のローカル・エリア・ネットワーク（ＬＡＮ）、他の適切なネットワーク、又はこれらの任意の組み合わせを含むがこれらに限定されない様々な形態で構成されてもよい。インターネット１５０は、ローカル・ネットワーク１１０が適切に接続されることがある広域ネットワーク（ＷＡＮ）を表す。ローカル・ネットワーク１１０とインターネット１５０との間の接続は、ネットワーク保護装置１４０を介して提供されてもよい。ネットワーク保護装置１４０は、一般的なネットワーク・セキュリティ装置（例えば、ファイアウォール、ルータ、ゲートウェイ、管理スイッチなど）でよい。例示的実施形態では、ホスト１２０との間の全てのネットワーク・トラフィックは、ネットワーク保護装置１４０を介して送られる。専用帯域幅を有するインターネット・サービス・プロバイダ（ＩＳＰ）又はインターネット・サーバは、例えば、デジタル加入者線（ＤＳＬ）、電話線、Ｔ１線、Ｔ３線、ワイヤレス、衛星、光ファイバ、ケーブル、 イーサネット（登録商標）など、又はこれらの任意の組み合わせなどの任意の適切な媒体を使用して、インターネット１５０への接続を提供することができる。追加のゲートウェイ、スイッチ、ルータなどを使用して、ホスト１２０、中央サーバ１３０、ネットワーク保護装置１４０及びインターネット１５０間の電子通信を容易にしてもよい。ＩＳＰ又はインターネット・サーバは、ホスト１２０が伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を使用してインターネット上の他のノードと通信できるように構成されてもよく、メールサーバ（図示せず）は、ホスト１２０が簡易メール転送プロトコル（ＳＭＴＰ）を使用して電子メールメッセージを送受信できるようにしてもよい。
【００１９】
例示的実施形態では、ローカル・ネットワーク１１０は、組織（例えば、企業、学校、政府実体、家族など）と関連付けられた従業員又は他の個人によって操作されるエンドユーザ・コンピュータを表わすホスト１２０ａ、１２０ｂ及び１２０ｃを有する組織のネットワーク環境を表わす。エンドユーザ・コンピュータは、デスクトップ、ラップトップ、可搬型又は携帯型計算装置（例えば、携帯情報端末（ＰＤＡ）又は携帯電話）などの計算装置、又はローカル・ネットワーク１１０へのネットワーク・アクセスと関連付けられたソフトウェア・プロセスを実行することができる他の計算装置を含んでもよい。ローカル・ネットワーク１１０内のホスト１２０ａ、１２０ｂ及び１２０ｃ、中央サーバ１３０、セカンダリ・サーバ１８０、ネットワーク保護装置１４５、並びに任意の追加の構成要素の間の接続には、例えば、ケーブル、 イーサネット（登録商標）、ワイヤレス（例えば、ＷｉＦｉ、３Ｇ、４Ｇなど）、ＡＴＭ、光ファイバなどの任意の適切な媒体を含んでもよい。本明細書に示され述べられたネットワーク構成及び相互接続が、単に説明のためのものであることに注意されたい。図１は、例として意図され、本開示におけるアーキテクチャの限定を意味するように解釈されるべきではない。
【００２０】
図１に示された例示的実施形態では、指令制御サーバ１７０とボットネット・オペレータ１７５が、インターネット１５０に動作的に結合される。一例では、指令制御サーバ１７０は、分散型ボットにコマンドを出すようにボットネット・オペレータ１７５によって制御又は使用されるウェブサーバでよい。別の例では、指令制御サーバ１７０は、大企業、教育機関あるいは政府機関のサイトに悪意を持ってインストールされ隠されていてもよい。ボットネット・オペレータ１７５は、例えば、インターネット１５０を介して指令制御サーバ１７０にリモートでアクセスして、ホスト１２０ａ、１２０ｂ又は１２０ｃなどの感染ホストコンピュータ上の分散型ボットを制御する命令を出してもよい。多数のボットネット・オペレータと、何百万台ものボットを制御する指令制御サーバが、インターネット１５０に動作的に接続されてもよい。一例では、ボットが、ホスト１２０ａ、１２０ｂ又は１２０ｃのうちの１つに感染すると、ボットネット・オペレータ１７５は、指令制御サーバ１７０を介してコマンドを出して、ボットをローカル・ネットワーク１１０及び／又はの他のネットワークの全体に伝搬させ始める。更に、ボットネット・オペレータ１７５は、感染ホスト１２０ａ、１２０ｂ又は１２０ｃから、スパム電子メール、秘密情報の盗難、分散型サービス妨害攻撃などの悪意のあるアクティビティをボットが試みる命令を出すことがある。
【００２１】
図１は、また、インターネット１５０に接続されたグローバルサーバ１６０を示す。多数のサーバがインターネット１５０に接続されてもよいが、グローバルサーバ１６０は、リスクが評価されたソフトウェア・プログラム・ファイルに関係する情報を含む１つ又は複数のデータベースを提供するサービスを提供する。例えば、信頼できない（例えば、ウィルス、ワームなどの悪意のあるコードを含む）と評価及び判定されたソフトウェア・プログラム・ファイルが、いわゆる「ブラックリスト」に含まれてもよい。信頼できる（例えば、汚染されていない、悪意のあるコードを含まないなど）と評価及び判定されたソフトウェア・プログラム・ファイルが、いわゆる「ホワイトリスト」に含まれてもよい。ホワイトリストとブラックリストは、別々に実施されてもよいが、各ソフトウェア・プログラム・ファイルが、ホワイトリストファイル又はブラックリストファイルとして識別されるデータベース内で結合されてもよい。
【００２２】
ホワイトリスト及びブラックリストは、各プログラム・ファイルの固有チェックサムが記憶されたチェックサムを使用して実施されてもよく、このチェックサムは、評価されるプログラム・ファイルの計算済みチェックサムと容易に比較することができる。チェックサムは、ソフトウェア・プログラム・ファイルにアルゴリズムを適用することによって導出された数値又はハッシュサム（例えば、番号数字の固定文字列）でよい。アルゴリズムが、第１のソフトウェア・プログラム・ファイルと同一の第２のソフトウェア・プログラム・ファイルに適用された場合は、チェックサムが合致しなければならない。しかしながら、第２のソフトウェア・プログラム・ファイルが異なる場合（例えば、第２のソフトウェア・プログラム・ファイルが、何らかの方法で変更された場合、第１のソフトウェア・プログラム・ファイルの異なるバージョンである場合、全く異なるタイプのソフトウェアである場合など）は、チェックサムは合致しない可能性が極めて高い。
【００２３】
図１のグローバル・ホワイトリスト１６５などのデータベースは、独立した第三者によって提供されてもよく、消費者が入手可能な信頼できるソフトウェア・プログラム・ファイルの総合リストを提供するように定期的に更新されてもよい。同様に、ブラックリスト（図示せず）は、独立した第三者によって提供されてもよく、信頼できない悪意のあるソフトウェア・プログラム・ファイルの総合リストを提供するように定期的に更新されてもよい。グローバル・ホワイトリスト及びブラックリストは、ローカル・ネットワーク１１０の外部にあってもよく、インターネット１５０などの他のネットワークを介して、又はローカル・ネットワーク１１０とグローバル・ホワイトリスト１６５との間の電子通信を可能にする任意の他の適切な接続を介してアクセス可能であってもよい。そのようなグローバル・ホワイトリスト及びブラックリストの例には、カリフォルニア州サンタクララのＭｃＡｆｅｅ社によって提供されるＡｒｔｅｍｉｓデータベースと、オレゴン州ポートランドのＳｉｇｎａＣｅｒｔ社によって提供されるＳｉｇｎａＣｅｒｔ（登録商標）データベースが含まれる。
【００２４】
図１は、また、ローカル・ネットワーク１１０内に示された内部ホワイトリスト１３３を含む。内部ホワイトリスト１３３は、また、リスクが評価されたソフトウェア・プログラム・ファイルに関係する情報を含んでもよく、チェックサムを使用してそのようなソフトウェア・プログラム・ファイルを識別してもよい。内部ホワイトリスト１３３内で識別されるソフトウェア・プログラム・ファイルは、１つ又は複数のグローバル・ホワイトリストからのソフトウェア・プログラム・ファイルを包含してもよく、かつ／又は選択されたソフトウェア・プログラム・ファイルを提供するようにカスタマイズされてもよい。詳細には、組織内部で開発されたが必ずしも一般大衆が入手できるとは限らないソフトウェア・プログラム・ファイルが、内部ホワイトリスト１３３内で識別されてもよい。更に、信頼できないと評価及び判定された特定のソフトウェア・プログラム・ファイルを識別するために、内部ブラックリストが提供されてもよい。
【００２５】
図１に示されたローカル・ネットワーク１１０では、ホスト１２０ａは、実行可能ソフトウェア１２２とローカル保護構成要素１２４とで構成されてもよい。実行可能ソフトウェア１２２は、ホスト１２０ａ上の全てのソフトウェア・プログラム・ファイル（例えば、実行可能ファイル、ライブラリ・モジュール、オブジェクト・ファイル、他の実行可能モジュール、スクリプト・ファイル、インタープリタ・ファイルなど）を含んでもよい。ホスト１２０ａがボットに感染した場合は、ボットは、感染ホスト１２０ａの実行可能ソフトウェア１２２内のプログラム・ファイルとして記憶される可能性がある。ホスト１２０ａのローカル保護構成要素１２４は、実施形態によって異なる機能を提供することができる。システムの幾つかの実施形態では、ローカル保護構成要素１２４は、実行可能ソフトウェア１２２のインベントリ、又はホスト１２０ａ上の実行可能ソフトウェア１２２に対する変更及び追加のインベントリを定期的に提供してもよい。システムの実時間実施形態では、ローカル保護構成要素１２４は、ネットワーク・アクセス試行を遮断し、ネットワーク・アクセス試行と関係した情報を中央サーバ１３０に提供してもよい。ローカル保護構成要素１２４は、所定の長さの時間、又はネットワーク・アクセス試行を解放することを可能にする信号を中央サーバ１３０から受け取るまで、ネットワーク・アクセス試行を保持してもよい。
【００２６】
ローカル・ネットワーク１１０内の中央サーバ１３０は、ホスト１２０ａ上のソフトウェア・プログラム・ファイルの信頼性状態を判定し、非信頼ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックの制限及びログ記録規則を作成し、制限及びログ記録規則をネットワーク保護装置１４０にプッシュし、及びログ・イベント・データベース１３１を、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックと関係したエントリで更新する中央保護構成要素１３５を含んでもよい。幾つかの実施形態では、中央保護構成要素は、中央非信頼ソフトウェア・インベントリ１３２を、非信頼ソフトウェア・プログラム・ファイルを識別するエントリで更新してもよい。中央サーバ１３０は、また、プログラム・ファイル・パス、アドレス（例えば、インターネットプロトコル（ＩＰ）アドレス）及び／又はポート番号などの情報を含む、ソフトウェア・プロセスをソフトウェア・プログラム・ファイルにマッピングすることができるプロセス・トラフィック・マッピング・データベース１３４を含むか又はそのデータベースに対するアクセスを有してもよい。ログ・イベント・データベース１３１、中央非信頼ソフトウェア・インベントリ１３２、内部ホワイトリスト１３３、及びプロセス・トラフィック・マッピング・データベース１３４は、中央サーバ１３０にアクセス可能な任意のネットワーク及び装置で提供されてもよい。本明細書で更に述べるように、中央非信頼ソフトウェア・インベントリ１３２は、システムの幾つかの実施形態では省略されてもよい。ネットワーク保護装置１４０は、ネットワーク・トラフィック（例えば、ホスト１２０ａにインバウンドし、又はホスト１２０ａからアウトバウンドする電子パケットなど）を遮断し、任意の適切な制限及びログ記録規則を遮断パケットに執行するネットワーク・レベル取り締まり構成要素１４５を含んでもよい。
【００２７】
図２に移ると、図２は、中央サーバ２００及び関連したメモリ構成要素２３１、２３２、２３３及び２３４の概略図を示す。これは、 図１に示された中央サーバ１３０及び関連したメモリ構成要素１３１、１３２、１３３及び１３４の詳細な例である。図２に示された例示的実施形態では、中央サーバ２００の中央保護構成要素は、管理保護モジュール２２０、ポリシー・モジュール２３０、ポリシー・データベース２３５、ソフトウェア信頼判定モジュール２４０、及び規則作成モジュール２５０を含んでもよい。幾つかの実施形態では、中央保護構成要素は、また、ソフトウェア信頼判定モジュール２４０からの信頼プログラム・ファイル・キャッシュ・エントリを記憶する中央信頼キャッシュ２４５を含んでもよい。規則作成モジュール２５０は、バッチ処理モード実施形態で構成されてもよく、実時間（又は実質的に実時間）処理実施形態で構成されてもよい。規則作成モジュール２５０のバッチ処理及び実時間処理の両方の実施形態において、非信頼プログラム・ファイルが発見されたときに、ネットワーク制限規則及び／又はログ記録規則が作成されてもよい。中央保護構成要素は、また、プロセス・トラフィック・マッピング・データベース２３４を、プログラム・ファイル情報、ソース・アドレス及びポート番号、宛先アドレス及びポート番号などのソフトウェア・プロセスと関係した情報で更新するプロセス・トラフィック・マッピング・モジュール２６０を含んでもよい。
【００２８】
中央サーバ２００は、また、例えばログ・イベント・データベース２３１や内部ホワイトリスト２３３などの適切なハードウェア及びメモリ要素を含むか又はそれらに対するアクセスを有してもよい。幾つかの実施形態では、中央サーバ２００は、また、中央非信頼ソフトウェア・インベントリ２３２を含むかそれに対するアクセスを有してもよく、他の実施形態では、中央非信頼ソフトウェア・インベントリ２３２は、システムの必須構成要素でなくてもよい。中央サーバ２００には、プロセッサ２８０やメモリ要素２９０を含む他のハードウェア要素が含まれてもよい。最後に、認可された人が管理保護モジュール２２０などの管理構成要素を介してシステムを導入し、構成し、維持するため、管理コンソール２１０が、中央サーバ２００に適切に接続されてもよい。
【００２９】
中央信頼キャッシュ２４５を使用する実施形態では、キャッシュは、グローバル及び／又は内部ホワイトリストを検索する際に見つかったプログラム・ファイルなど、以前に信頼状態を有すると判定されたプログラム・ファイルを識別するエントリ（例えば、チェックサム）を一時的に記憶するためのメモリのブロックとしてハードウェア内に実現されてもよい。中央信頼キャッシュ２４５は、以前に信頼性状態が評価されたプログラム・ファイルを示すデータに対する迅速かつ透明なアクセスを提供することができる。これにより、要求されたプログラム・ファイルが中央信頼キャッシュ２４５内に見つかった場合は、グローバル及び／又は内部ホワイトリストの検索、又は任意の他の信頼評価が行なわれなくてもよいことがある。更に、中央信頼キャッシュ２４５を使用する実施形態は、中央非信頼ソフトウェア・インベントリ２３２を維持しなくてもよい。
【００３０】
図３に移ると、図３は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムを実現することができる、計算装置又はホスト３００の一実施形態の概略図と、中央サーバ２００のブロック図とを示す。ホスト３００は、図１のホスト１２０ａのより詳細な例である。ホスト３００は、例えば、プログラム・ファイル１〜ｎを含む１組の実行可能ソフトウェア３４０を含む。例えば実時間処理の実施形態などの幾つかの実施形態では、ホスト３００内のローカル保護構成要素は、ホスト３００上のネットワーク・アクセス試行を遮断し、ホスト・イベント情報（即ち、ネットワーク・アクセス試行及びその関連プログラム・ファイルと関係した情報）を中央サーバ２００に送るための、中央サーバ２００に対する双方向の流れを有するイベント・フィード３３０を含んでもよい。また、ネットワーク・アクセス試行を解放する前に、得られたネットワーク制限及び／又はログ記録規則をネットワーク保護装置４００にプッシュできるよう、イベント・フィード３３０は、ネットワーク・アクセス試行を、所定の時間又は中央サーバ２００からの信号を受け取るまで保持するように構成されてもよい。
【００３１】
バッチ処理の実施形態や特定の実時間処理の実施形態などのシステムの様々な実施形態において、ローカル保護構成要素は、実行可能ソフトウェア３４０のインベントリ又は実行可能ソフトウェア３４０内の新規及び／又は変更されたプログラム・ファイルのインベントリを中央サーバ２００にプッシュするため、中央サーバ２００へのデータ・フローを有するソフトウェア・プログラム・インベントリ・フィード３３５を含んでもよい。イベント・フィード３３０及びソフトウェア・プログラム・インベントリ・フィード３３５は、ホスト３００のユーザ空間内に常駐してもよい。また、ホスト３００のユーザ空間内には、実行可能ソフトウェア３４０のプログラム・ファイルの１つ以上に対応する例示的な実行ソフトウェア・プロセス３４５が示されている。参照し易くするため、実行可能ソフトウェア３４０は、ホスト３００上のユーザ空間内に示される。しかしながら、実行可能ソフトウェア３４０は、ホスト３００のディスク・スペースなどのメモリ要素に記憶されてもよい。
【００３２】
ホスト３００は、また、ネットワーク・インタフェース・カード（ＮＩＣ）装置３７０、プロセッサ３８０、メモリ要素３９０などのハードウェア構成要素を含んでもよい。伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）３５０や他のプロトコル３６０などの伝送プロトコルは、ホスト３００のカーネル空間内に常駐してもよい。
【００３３】
図２と図３には、メモリ管理ユニット（ＭＭＵ）、付加的対称型マルチプロセッシング（ＳＭＰ）要素、物理メモリ、 イーサネット（登録商標）、周辺構成要素相互接続（ＰＣＩ）バス及び対応ブリッジ、小型コンピュータシステムインタフェース（ＳＣＳＩ）／Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）要素などの形でプロセッサ２８０及び３８０に適切に結合されてもよい追加のハードウェアが示されていない。更に、ネットワーク・アクセスを可能にするため、適切なモデム及び／又は追加のネットワーク・アダプタを含んでもよい。中央サーバ２００及びホスト３００は、意図された機能を適切に実行するのに必要な任意の追加のハードウェア及びソフトウェアを含むことができる。更に、中央サーバ２００及びホスト３００内に、その中のハードウェア構成要素の動作を適切に管理するため、任意の適切なオペレーティング・システムが構成されてもよい。ハードウェア構成は異なってもよく、示された例がアーキテクチャの限定を意味するものではないことを理解されよう。
【００３４】
図４に移ると、図４は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステム内で使用されることがあるネットワーク保護装置４００の概略図を示す。ネットワーク保護装置４００は、図１のネットワーク保護装置１４０の例である。ネットワーク保護装置４００のネットワーク・レベル取り締まり構成要素は、フィルタ／ファイアウォール４１０、ネットワーク規則要素４２０、及びイベント・ログ４３０を含んでもよい。ネットワーク保護装置４００は、プロセッサ４８０やメモリ要素４９０などのハードウェア構成要素を含んでもよい。例示的実施形態では、ネットワーク保護装置１４０は、一般的なネットワーク・セキュリティ装置（例えば、ファイアウォール、ルータ、ウェブ・ゲートウェイ、メール・ゲートウェイ、管理スイッチなど）であってもよく、必要に応じて意図された機能を実行するための他の適切なハードウェア及びソフトウェア構成要素を含んでもよい。
【００３５】
ネットワーク保護装置４００では、フィルタ／ファイアウォール４１０は、ネットワーク・トラフィック（例えば、ローカル・ネットワーク１１０からアウトバウンドされ、ローカル・ネットワーク１１０にインバウンドされ、又はローカル・ネットワーク１１０内の電子パケット）を遮断してもよく、ネットワーク規則要素４２０に照会して、ネットワーク・トラフィックの特定の遮断パケットに適用される制限及び／又はログ記録規則があるかどうか判定してもよい。適切な制限規則が見つかった場合は、その制限規則がパケットに適用され、パケットが阻止され、経路変更され、選択的に許可されるなどが行われてもよい。イベント・ログ４３０は、ネットワーク・トラフィック・イベント・データをログ記録するため、ネットワーク保護装置４００内に提供されてもよい。ネットワーク・トラフィック・イベント・データは、例えば、ソース・アドレス及びポート番号、宛先アドレス及びポート番号、日時スタンプ、及び／又は規則ＩＤ（即ち、遮断パケットに適用される制限又はログ記録規則を示す識別子）など、ネットワーク保護装置４００が受け取った特定のパケットと関係した情報を含んでもよい。そのようなログ記録は、ネットワーク規則要素４２０が、ネットワーク保護装置４００が受け取った特定のパケットに対応するログ記録規則を有する場合、又は、例えば、ネットワーク・トラフィック・イベントに対応するパケットに制限規則が適用されたときにネットワーク・トラフィック・イベントをログ記録するなど、ログ記録がデフォルトで実行される場合に、行われてもよい。
【００３６】
様々な例示的実施形態では、信頼判定、ログ記録、及び規則作成アクティビティは、中央サーバ２００の管理保護モジュール２２０、ポリシー・モジュール２３０、ソフトウェア信頼判定モジュール２４０、規則作成モジュール２５０、及びプロセス・トラフィック・マッピング・モジュール２６０、並びに、ホスト１２０ａのソフトウェア・プログラム・インベントリ・フィード３３５及び／又はイベント・フィード３３０とによって提供されてもよい。信頼判定、ログ記録、及び規則作成アクティビティと関係した情報は、適切に描写され、又は特定の場所（例えば、中央サーバ２００、ネットワーク規則要素４２０など）に送られてもよく、単純に記憶され、又はアーカイブされてもよく（例えば、ログ・イベント・データベース２３１、中央非信頼ソフトウェア・インベントリ２３２、ポリシー・データベース２３５、プロセス・トラフィック・マッピング・データベース２３４、中央信頼キャッシュ２４５など）、かつ／又は任意の適切な形式で適切に表示されてもよい（例えば、管理コンソール２１０などにより）。そのような信頼判定、ログ記録及び規則作成アクティビティの１つ又は複数と関係したセキュリティ技術には、ＭｃＡｆｅｅ（登録商標）ソフトウェア（例えば、ｅＰｏｌｉｃｙ  Ｏｒｃｈｅｓｔｒａｔｏｒ、Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｎｔｒｏｌ、及び／又は  Ｃｈａｎｇｅ  Ｃｏｎｔｒｏｌ）又は他の類似のソフトウェアの要素が含まれる。したがって、そのような構成要素はいずれも、本明細書で使用されるような用語「管理保護モジュール」、「ポリシー・モジュール」、「ソフトウェア信頼判定モジュール」、「規則作成モジュール」、「プロセス・トラフィック・マッピング・モジュール」、「ソフトウェア・プログラム・インベントリ・フィード」及び「イベント・フィード」の広い範囲に含まれてもよい。ログ・イベント・データベース２３１、中央非信頼ソフトウェア・インベントリ２３２、内部ホワイトリスト２３３、プロセス・トラフィック・マッピング・データベース２３４、ポリシー・データベース２３５、中央信頼キャッシュ２４５、ネットワーク規則要素４２０、及びイベント・ログ４３０は、電子データの信頼判定、ログ記録及び規則作成と関係した情報（例えば、プログラム・ファイルの信頼判定、ネットワーク・アクセス試行、ソフトウェア・プロセスの宛先アドレスとポート番号、ソフトウェア・プロセスのソース・アドレスとポート番号、ネットワーク制限規則、ログ記録規則など）を含んでもよく、これらの要素は、ホスト３００、中央サーバ２００及びネットワーク保護装置４００のモジュール及び構成要素と容易に協力し、連携し、その他相互作用することができる。
【００３７】
図５〜図１２は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステム及び方法の様々な実施形態と関連付けられたフローの例示的実施形態のフローチャートを含む。参照し易くするために、図５〜図１２は、本明細書では、図１のネットワーク環境１００における特定の構成要素と、サーバ２００、ホスト３００、ネットワーク保護装置４００及びそれらの関連した構成要素、要素、モジュールとを参照して説明されるが、本明細書で示され述べられたシステム及び方法のネットワーク・レベル実施形態を実現するために、様々な他の装置、構成要素、要素、モジュールなどを使用してもよい。
【００３８】
図５に移ると、バッチ処理フロー５００は、ネットワーク・レベル保護をするシステムのバッチ処理実施形態のフローを示す。これは、少なくとも部分的に、中央サーバ２００の規則作成モジュール２５０として実施されてもよい。バッチ処理フロー５００を実現するシステムの実施形態では、中央サーバ２００の中央信頼キャッシュ２４５も中央非信頼ソフトウェア・インベントリ２３２も必要ではないことがある。バッチ処理フロー５００は、任意の適切な所定の時間間隔で（例えば、１時間ごと、３０分ごとなど）実行されてもよい。フローは、実行可能ソフトウェアのインベントリをホスト３００などのホストから受け取るステップ５２０で始まってもよい。中央サーバ２００は、ソフトウェア・プログラム・インベントリ・フィード３３５によって提供されることがあるインベントリをホスト３００にポーリングしてもよい。ソフトウェア・プログラム・インベントリ・フィード３３５は、中央サーバ２００に、ホスト３００上の完全な更新済みソフトウェア・インベントリ、又はホスト３００上のソフトウェア・プログラム・ファイル追加及び／又は変更のインベントリを提供するように構成されてもよい。ソフトウェア・プログラム・インベントリ・フィード３３５は、例えば、Ｐｏｌｉｃｙ  ＡｕｄｉｔｏｒソフトウェアやＡｐｐｌｉｃａｔｉｏｎ  Ｃｏｎｔｒｏｌソフトウェアなどの既存のセキュリティ・ソフトウェアで実現されてもよく、これらのソフトウェアは両方とも、カリフォルニア州サンタクララのＭｃＡｆｅｅ社によって製造されている。
【００３９】
ソフトウェア・インベントリを受け取った後で、フローはステップ５２５に進み、最初のプログラム・ファイルが、ソフトウェア・インベントリから取り出される。次に、フローはステップ５３０に進み、プログラム・ファイルの信頼性状態（即ち、信頼できるか信頼できないか）を判定する。信頼性状態は、１つ又は複数のソフトウェア信頼判定技術（例えば、内部ホワイトリストの評価、外部ホワイトリストの評価、プログラム・ファイルの状態変更の評価、ブラックリストの評価など）を使用する中央サーバ２００のソフトウェア信頼判定モジュール２４０によって判定されてもよく、これについては、図６と図７に関連して本明細書で更に示され説明される。
【００４０】
ステップ５３０でプログラム・ファイル信頼性状態が判定された後で、フローはステップ５３５に進み、プログラム・ファイルが信頼できるかどうかの照会がされる。プログラム・ファイルが信頼できる場合は、フローはステップ５８０に進んで、ネットワーク制限又はログ記録規則の作成を回避し、ソフトウェア・インベントリ内のループを続け、各プログラム・ファイルを評価する。しかしながら、ステップ５３５でプログラム・ファイル信頼性状態が信頼できない場合は、フローはステップ５４０に進み、プロセス・トラフィック・マッピング・データベース２３４から非信頼プログラム・ファイルに関するプロセス・トラフィック・マッピング情報を得る。プロセス・トラフィック・マッピング情報は、例えば、ネットワーク・トラフィックをログ記録しかつ／又は制限する規則を作成するために使用することができるプログラム・ファイルにマッピングされたソース・アドレス及び宛先ポート番号を含んでもよい。
【００４１】
プログラム・ファイルのプロセス・トラフィック・マッピング情報を取得した後で、ステップ５４５で、ログ記録が有効かどうかの照会がされる。ステップ５４５での照会が、ログ記録が有効であることを示す場合は、フローはステップ５５０に進み、ログ記録規則が作成され、ネットワーク保護装置４００にプッシュされてネットワーク規則要素４２０に記憶される。一例では、ステップ５４０で取得されたプロセス・トラフィック・マッピング情報からのソース・アドレスと宛先ポート番号は、特定のネットワーク・イベント・データをログ記録する規則を作成するために使用されることがある。この例では、ネットワーク保護装置４００によって遮断された電子パケットが、プロセス・トラフィック・マッピング情報と一致するソース・アドレス及び宛先ポートを有するとき、ログ記録規則は、遮断パケットと関係したネットワーク・トラフィック・イベント・データをイベント・ログ４３０に記憶することを要求することがある。幾つかの実施形態では、ログ記録規則を識別する規則ＩＤは、プロセス・マッピング・データベース２３４に記憶され、非信頼プログラム・ファイルにマッピングされてもよい。
【００４２】
ステップ５５０で、ログ記録規則が作成されネットワーク保護装置４００にプッシュされた後、又はステップ５４５でログ記録が有効でない場合、フローはステップ５５５に進み、取り締まりが有効かどうかの照会がされる。取り締まりが有効でない場合、フローはステップ５８０に進んで、非信頼プログラム・ファイルのネットワーク制限規則の作成を回避し、ソフトウェア・インベントリ内のループを続け、ソフトウェア・インベントリ内の残りのプログラム・ファイルを評価する。しかしながら、ステップ５５５で取り締まりが有効である場合は、ステップ５６０で、ポリシー・データベース２３５に照会して、構成ポリシーがプログラム・ファイルの非信頼状態を覆し、プログラム・ファイルと関連付けられたネットワーク・トラフィックを許可するかどうかを判定する。例示的実施形態では、中央サーバ２００のポリシー・モジュール２３０は、ネットワーク管理者や他の許可ユーザが、管理コンソール２１０によってポリシー構成を巧妙に作成し、そのようなポリシーをポリシー・データベース２３５に記憶することを可能にしてもよい。次に、ステップ５６０で、非信頼プログラム・ファイルに関連したポリシーがないかポリシー・データベース２３５に照会してもよい。
【００４３】
ポリシー・データベース２３５内に、プログラム・ファイルの非信頼状態を覆すポリシーが見つかった場合、フローはステップ５８０に進み、非信頼プログラム・ファイルのためのネットワーク制限規則の作成を回避し、ソフトウェア・インベントリ内のループを続け、ソフトウェア・インベントリ内の残りのプログラム・ファイルを評価する。しかしながら、ポリシーが、プログラム・ファイルの非信頼状態を覆さない（即ち、ポリシーが何らかのタイプの制限規則を必要とするか、適用できるポリシーがない）場合、フローはステップ５７０に進み、プロセス・トラフィック・マッピング情報及び／又は任意の適切なポリシーを使用して１つ又は複数のネットワーク制限規則を作成することができる。
【００４４】
ポリシーは、様々なタイプの制限規則を作成するために使用されてもよく、そのようなポリシー構成が、必要に応じて特定のネットワーク所有者によって実施されてもよい。幾つかの例示的実施形態では、ポリシー構成は、全てのインバウンド及びアウトバウンド・ネットワーク・トラフィックを阻止すること、全てのインバウンド・ネットワーク・トラフィックを阻止しアウトバウンド・ネットワーク・トラフィックを許可すること、又はインバウンド・ネットワーク・トラフィックを許可しアウトバウンド・ネットワーク・トラフィックを阻止することなど、１つ又は複数の広範囲にわたる制限を含んでもよい。ローカル・ネットワークへのアウトバウンド・ネットワーク・トラフィックを阻止するがインターネットへのアウトバウンド・ネットワーク・トラフィックを許可すること、ソース・アドレスの指定サブネットからのインバウンド・ネットワーク・トラフィックを許可しかつ／又は宛先アドレスの指定サブネットへのアウトバウンド・ネットワーク・トラフィックを許可することなど、より特定の戦略が使用されてもよい。最後に、ポート上の特定のインバウンド・サービス及び／又は特定のアウトバウンド・サービス（例えば、ドメインネームサービス（ＤＮＳ）、簡易メール転送プロトコル（ＳＭＴＰ）、インターネット・リレー・チャット（ＩＲＣ）など）などのより大まかな戦略が使用されてもよい。これらの例示的なポリシー構成は、例示のためのものであり、インバウンド、アウトバウンド、及び／又はローカル・ネットワーク・トラフィック、又はこれらの任意の組み合わせを制限する他のポリシー構成も含むことが意図される。そのようなポリシーは、ネットワーク・レベル保護をするシステムにおいて、構成ポリシーを使用して作成されたネットワーク制限規則を適用するネットワーク保護装置４００内にネットワーク・トラフィックを送ることによって実施されてもよい。
【００４５】
特定のポリシー構成は、非信頼ソフトウェアの伝搬及び潜在的に悪意のあるアクティビティを防ぐ必要性や、必要な事業活動を行なう必要性など、競合する関心の間での平衡がとられてもよい。例えば、ホスト・サブネットとサーバ・サブネットを有するネットワークにおいて、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックがサーバ・サブネットだけにアクセスでき、ホスト・サブネットにはアクセスできないよう、ポリシーを構成してもよい。これは、悪意のあるソフトウェアがネットワーク内の他のホストに伝搬するのを防ぎ、同時にセキュアなサーバ・サブネットに対する各ホストの非遮断アクセスを可能にするので望ましいことがある。別のポリシーは、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックが、既知のサブネット・ホスティング・ジョブ・クリティカル・サービスを除くインターネットにアクセスするのを阻止してもよい。したがって、選択的なネットワーク・アクセスを許可するポリシーを巧妙に作成することにより、様々な阻止オプションを使用することができる。
【００４６】
ネットワーク・レベル保護をするシステム及び方法の実施形態において、非信頼プログラム・ファイルのためのネットワーク・レベル固有ポリシーが巧妙に作成されてもよい。例えば、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックをセカンダリ・サーバ１８０などの別のサーバに転送するポリシーが、巧妙に作成されてもよい。一例では、非信頼プログラム・ファイルと関連付けられた潜在的に悪意のあるネットワーク・トラフィックが、セカンダリ・サーバ１８０上の追加のファイアウォール、フィルタ、アンチスパム／アンチウイルス・ゲートウェイ、プロキシなどに強制的に通されてもよい。別の例では、セカンダリ・サーバ１８０が、ネットワーク接続を受け取ったときに１つ又は複数の所定のコマンドで応答するように構成されてもよい。幾つかのボットは、特定のコマンドを受け取ったときに自滅するように設計され、セカンダリ・サーバ１８０は、ネットワーク接続にそのようなコマンドで応答し、それによりセカンダリ・サーバ１８０に転送されたボットが破壊されるように構成されてもよい。
【００４７】
別のネットワーク・レベル固有ポリシーは、仮想ローカルエリアネットワーク（ＶＬＡＮ）メンバシップを別のＶＬＡＮポートに切り換えることを含む。この例では、ＶＬＡＮメンバシップは、非信頼プログラム・ファイルと関連付けられたポートに切り替えられてもよい。ＶＬＡＮメンバシップを別のポートに切り替えると、個々のストリームではなくそのポート上の全てのネットワーク・トラフィックが有効に移動するが、代替のＶＬＡＮは、ネットワーク・トラフィックを、追加のファイアウォール、フィルタ、アンチスパム及びアンチウイルス・ゲートウェイ、プロキシなどに強制的に通すように構成されてもよい。このタイプの制限は、ネットワーク保護装置４００がレイヤー２の管理スイッチとして構成された場合に特に有用なことがある。
【００４８】
別の例示的実施形態では、ネットワーク保護装置４００は、より深いパケット検査を行って、複数の会話ストリームが単一ポートを介して転送されているかどうかを判定し、また適切なネットワーク制限及びログ記録規則が適用される非信頼プログラム・ファイルと関連付けられたストリームを識別するように適応されてもよい。したがって、この実施形態では、ポリシーは、ネットワーク制限又はログ記録規則が、非信頼プログラム・ファイルと関連付けられた特定のストリームを選択的に阻止しかつ／又はログ記録し、同時に他のストリームが同じポートを介した接続を継続できるように巧妙に作成されるように構成されてもよい。
【００４９】
図５のステップ５７０に戻ると、ネットワーク制限規則は、プロセス・トラフィック・マッピング情報及び／又は任意の適切なポリシーを使用して作成され、次にネットワーク保護装置４００にプッシュされる。例えば、ポリシーが、非信頼プログラム・ファイルと関連付けられた全てのインバウンド及びアウトバウンド・ネットワーク・トラフィックを阻止することを要求するように構成された場合は、ステップ５４０で取得されたプロセス・トラフィック・マッピング情報からのソース・アドレス及び宛先ポートを使用して、一致するソース・アドレス及び宛先ポートを有するインバウンド又はアウトバウンド・パケットを阻止する１つ又は複数の制限規則を作成してもよい。ステップ５７０でネットワーク制限規則が作成された後、ネットワーク制限規則は、ネットワーク保護装置４００にプッシュされ、ネットワーク規則要素４２０に記憶される。次に、フローはステップ５８０に進み、評価しているプログラム・ファイルがソフトウェア・インベントリ内の最後のプログラム・ファイルであるかどうかが判定される。そのプログラム・ファイルが、最後のプログラム・ファイルの場合、フロー５００は終了する。しかしながら、それが最後のプログラム・ファイルでない場合は、ステップ５９０で、ソフトウェア・インベントリ内の次のプログラム・ファイルが取り出され、フローはステップ５３０に戻って、新しく取得されたプログラム・ファイルの信頼性状態を判定し、プログラム・ファイルに適したネットワーク制限又はログ記録規則を作成する。
【００５０】
図６〜図７に移ると、例示的なフローは、ネットワーク・レベル保護をするシステムのバッチ処理実施形態におけるプログラム・ファイルの信頼性状態を判定する代替の実施形態を示す。図６又は図７の例示的なステップは、少なくとも部分的に中央サーバ２００のソフトウェア信頼判定モジュール２４０として実施されてもよく、図５のバッチ処理実施形態のステップ５３０に対応してもよい。図６は、ホワイトリスト評価を使用する信頼判定フロー６００を示す。これは、ホスト３００から中央サーバ２００にプッシュされたソフトウェア・インベントリ内の各プログラム・ファイルについて実行される。フローはステップ６１０で始まってもよく、現在のプログラム・ファイルが評価されて、それが、図１に示されたグローバル・ホワイトリスト１６５などの少なくとも１つのグローバル・ホワイトリスト上、及び／又はローカル・ネットワーク１１０外の他のホワイトリスト上で識別されたかどうかが判定される。本明細書で前に述べたように、プログラム・ファイルを識別するために、ホワイトリスト内でチェックサムが使用されてもよい。ステップ６１０でプログラム・ファイルがグローバル又は他の外部ホワイトリストのいずれかに見つかった場合は、プログラム・ファイルの信頼性状態が、信頼できると定義されて、フローが終了し、信頼性状態が、図５のステップ５３０に返される。しかしながら、プログラム・ファイルが、ステップ６１０でグローバル又は他の外部ホワイトリスト上に見つからなかった場合、フローはステップ６２０に進み、内部ホワイトリスト１３３などの１つ又は複数の内部ホワイトリストが、検索されてもよい。組織は、複数のホワイトリスト（例えば、組織全体のホワイトリスト、企業レベルのホワイトリストなど）を使用してもよい。プログラム・ファイルが、内部ホワイトリストのどれかに見つかった場合、プログラム・ファイルの信頼性状態が、信頼できると定義されて、フローが終了し、信頼性状態が、図５のステップ５３０に返される。
【００５１】
しかしながら、ステップ６１０及び６２０で、プログラム・ファイルが内部又は外部ホワイトリストのどれにも見つからなかった場合、プログラム・ファイルは、非信頼状態を有する。次に、フローはステップ６３０に進んでもよく、プログラム・ファイルが評価されて、プログラム・ファイルを非信頼状態から信頼状態に昇格させることができる既定条件が存在するかどうかが判定されてもよい。そのような既定条件は、例えば、管理者が所有するソフトウェア、ファイル・アクセス制御、ファイル属性（例えば、作成時刻、修正時刻など）などのヒューリスティックな検討事項を含んでもよい。一例では、管理者が所有する非信頼プログラム・ファイルが、信頼状態に昇格され、したがって、フローが終了し、信頼性状態は、図５のステップ５３０に返されてもよい。しかしながら、ステップ６３０で、プログラム・ファイルが既定条件をいずれも満たさない場合は、非信頼状態が持続し、その結果、プログラム・ファイルが、信頼できないと定義され、フローが終了し、信頼性状態が、図５のステップ５３０に返される。
【００５２】
信頼判定フロー６００は、また、ホワイトリストに加えてブラックリストを評価する追加の論理（図示せず）を含んでもよい。ブラックリストは、悪意のあることが分かっているソフトウェア・プログラム・ファイルを識別する。ブラックリストは、ＭｃＡｆｅｅ社によって提供されるＡｒｔｅｍｉｓ及びＡｎｔｉ−Ｖｉｒｕｓデータベース、並びにローカル・ネットワーク内にローカルに維持されたブラックリストを含む多数のソースによって提供されてもよい。この実施形態では、プログラム・ファイルが、内部又は外部ブラックリストのどれかに見つかった場合、プログラム・ファイルは、信頼できないと定義される。
【００５３】
図７に移ると、図７は、図５のステップ５３０に対応する信頼判定フロー７００の代替の実施形態を示す。これは、ソフトウェア・インベントリ内の各プログラム・ファイルについて実行されてもよい。フローは、ステップ７２０で始まり、現在のプログラム・ファイルが評価されて、変化したかどうかが判定される。プログラム・ファイルの現在の状態が、前の状態から変化していない場合、プログラム・ファイルの信頼性状態が、信頼できると定義され、フローが終了し、信頼性状態が、図５のステップ５３０に返される。しかしながら、プログラム・ファイルの現在の状態が前の状態から変化した場合は、プログラム・ファイルは、非信頼状態を有する。既存の変更追跡製品（例えば、ＭｃＡｆｅｅ（登録商標）Ｃｈａｎｇｅ  Ｃｏｎｔｒｏｌソフトウェア、ＭｃＡｆｅｅ（登録商標）Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｎｔｒｏｌソフトウェア、ＭｃＡｆｅｅ（登録商標）ｅＰｏｌｉｃｙ  Ｏｒｃｈｅｓｔｒａｔｏｒソフトウェア、ＭｃＡｆｅｅ（登録商標）Ｐｏｌｉｃｙ  Ａｕｄｉｔｏｒソフトウェア、オレゴン州ポートランドのＴｒｉｐｗｉｒｅ社によって製造されたＴｒｉｐｗｉｒｅ（登録商標）ソフトウェアなど）を使用して、プログラム・ファイルの変更データを調べ、変更が起きたかどうかを判定してもよい。一例では、変更レコードは、中央サーバ２００で集中的に総計されてもよく、ＭｃＡｆｅｅ（登録商標）ｅＰＯソフトウェアが、プログラム・ファイルが変化したかどうかを判定してもよい。
【００５４】
図７のステップ７２０を再び参照すると、プログラム・ファイルが変化し、したがって非信頼状態を有すると判定された場合、フローはステップ７３０に進んでもよく、プログラム・ファイルが評価されて、図６に関連して本明細書で前に述べたように、プログラム・ファイルを非信頼状態から信頼状態に昇格できる既定条件が存在するかどうかが判定される。１つ又は複数の既定条件が存在する場合は、プログラム・ファイルが、信頼状態に昇格されてもよい。しかしながら、プログラム・ファイルに適用される既定条件がない場合は、非信頼状態が持続し、プログラム・ファイルは、信頼できないと定義されてもよい。ステップ７３０で信頼性状態が決定された後で、フローは終了し、プログラム・ファイルの信頼性状態が、図５のステップ５３０に返される。
【００５５】
プログラム・ファイルを列挙し、信頼性状態を判定する代替の実施態様は、容易に明らかになる。本明細書で前に示され述べられた実施形態は、ホスト３００などのネットワーク内の各ホスト上の実行可能ソフトウェアのインベントリを列挙し、ソフトウェア・インベントリを中央サーバ２００にプッシュして、インベントリ内の各プログラム・ファイルと関連付けられた信頼性状態を判定することに言及している。しかしながら、代替の実施形態では、ソフトウェア・プログラム・ファイルの信頼判定が各ホストによってローカルに行なわれてもよく、得られた情報が別の場所（例えば、中央サーバ２００）にプッシュされ、かつ／又はローカル非信頼ソフトウェア・インベントリ上にローカルに維持されてもよい。
【００５６】
ソフトウェア・プログラム・ファイルの信頼性状態をローカルに判定することは、ホワイトリスト評価、ブラックリスト評価、状態変更評価、又は任意の他の適切な信頼評価技術によって行なわれてもよい。そのような実施形態では、実行可能ソフトウェアのインベントリは、例えば、ＭｃＡｆｅｅ（登録商標）ソフトウェア（例えば、Ｐｏｌｉｃｙ  Ａｕｄｉｔｏｒ、Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｎｔｒｏｌ、又はＣｈａｎｇｅ  Ｃｏｎｔｒｏｌ）によって列挙されてもよい。図６に示されたようなホワイトリスト評価を行なうとき、ホストは、ローカル・ネットワーク上の内部ホワイトリスト及び／又はインターネットなどの別のネットワークを介してアクセス可能な外部ホワイトリストにアクセスしてもよい。図７に示されたように、プログラム・ファイル状態変更評価は、プログラム・ファイルの現在と以前の変化状態を評価することによってローカルに行なわれてもよい。例えば、ＭｃＡｆｅｅ（登録商標）Ｃｈａｎｇｅ  Ｃｏｎｔｒｏｌソフトウェアは、一連の変更レコードがホスト上にローカルに維持されることを可能にし、この変更レコードを評価して、特定のホスト上のプログラム・ファイルのどれかが変化したかどうかを判定することができる。更に、この開示の広い範囲により、例えば、ホワイトリスト評価とソフトウェア・プログラム・ファイルの状態変更評価の両方を実行すること、及び／又はソフトウェア・プログラム・ファイルのブラックリスト評価を実行することを含む多数の他の技術を使用して、ソフトウェア・プログラム・ファイルの信頼性状態を判定することができる。
【００５７】
図５〜図７を参照して示され述べられたバッチ処理実施形態を実現することにより、ソフトウェア・インベントリを所定の時間間隔（例えば、１時間ごと、３０分ごとなど）で評価することができ、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックを阻止する制限規則を作成することができる。したがって、ネットワーク保護装置４００の構成は、デフォルトで開いている（即ち、ネットワーク・トラフィックは、規則で禁止されない限り許可される）。しかしながら、このデフォルトで開いた手法は、最近ホストに感染したボットが、まだ信頼できないと定義されておらず、したがって、ボットと関連付けられたネットワーク・トラフィックを阻止する制限規則がまだ作成されていないのでローカル又はリモート・ネットワークへのアクセスによって悪意のあるアクティビティを伝搬又は実行する可能性のある時間ウィンドウを作成することがある。しかしながら、幾つかの企業では、この手法は、所定の時間間隔が重要でないか又は代替の手法が正当で必要な企業活動を妨げることがあるので、望ましい場合がある。
【００５８】
他の企業は、より厳格な管理を好む場合があり、代替実施形態でデフォルトで閉じた手法が実現されてもよい。デフォルトで閉じた手法では、ネットワーク保護装置４００は、規則によって特定的に許可されない限り全てのネットワーク・トラフィックを阻止するように構成されることがある。ネットワーク保護装置４００によって遮断された全ての電子パケットを評価して、ネットワーク規則要素４２０が、遮断パケットの伝送を特に許可する規則（例えば、許可されたソース・アドレス及びポート番号を有するパケット、許可された宛先アドレス及びポート番号を有するパケットなど）を含むかどうかを判定してもよい。そのような一実施形態では、新しいプログラム・ファイルが信頼状態を有すると判定されたときに、制限規則ではなく許可規則を作成しネットワーク保護装置４００にプッシュしてもよい。
【００５９】
図８に移ると、実時間処理フロー８００は、図２の規則作成モジュール２５０として少なくとも部分的に実施されることがあるネットワーク・レベル保護をするシステムの実時間実施形態のフローを示す。フローはステップ８１０で始まり、中央サーバ２００が、ホスト・イベント情報（例えば、ホスト３００上のソフトウェア・プロセス３４５と関連付けられたネットワーク・アクセス試行と関係する情報）を受け取る。例示的実施形態では、ホスト３００上のソフトウェア・プロセス３４５などのソフトウェア・プロセスが、ネットワーク・アクセスを試みるときに、イベント・フィード３３０が、ホスト・イベント情報を生成し、その情報を中央サーバ２００にプッシュする。ネットワーク・アクセス試行は、２０１０年７月２８日に出願され参照によりあらかじめ本明細書に組み込まれた「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｌｏｃａｌ  Ｐｒｏｔｅｃｔｉｏｎ  Ａｇａｉｎｓｔ  Ｍａｌｉｃｉｏｕｓ  Ｓｏｆｔｗａｒｅ」と題する同時係属米国特許出願第１２／８４４，８９２号における様々な実施形態を参照して説明された技術を含む任意の適切な技術を使用して遮断されてもよい。
【００６０】
ネットワーク・アクセス試行が遮断された後で、例えばホスト３００のオペレーティング・システム・カーネル内に提供されたプロセス・トラフィック・マッピング要素に照会して、ソフトウェア・プロセス３４５と関連付けられたネットワーク・アクセス試行にどのプログラム・ファイル（例えば、実行可能ファイル、ライブラリ・モジュール、オブジェクト・ファイル、他の実行可能モジュール、スクリプト・ファイル、インタープリタ・ファイルなど）が対応するかを判定してもよい。この例では、ネットワーク・アクセス試行は、実行ソフトウェア・プロセス３４５にマッピングされ、実行ソフトウェア・プロセス３４５のなかにロードされる実行可能ファイル及び１つ又は複数のライブラリ・モジュールにマッピングされることがある。これにより、中央サーバ２００にプッシュされたホスト・イベント情報は、１つ又は複数の識別されたプログラム・ファイルのプログラム・ファイル・パス、関連プログラム・ファイル・ハッシュ、ソース・アドレス及びポート、並びに／又はネットワーク・アクセス試行の宛先アドレス及びポートを含んでもよい。
【００６１】
ステップ８１０で中央サーバ２００がホスト・イベント情報を受け取った後、フローはステップ８２０に進み、ネットワーク・アクセス試行と関連付けられたプログラム・ファイルの信頼性状態を取得する。プログラム・ファイルの信頼性状態の判定は、様々な技術を使用して行うことができ、この技術は、図９の第１の実施形態（即ち、中央非信頼ソフトウェア・インベントリ２３２を使用した信頼性状態の判定）と図１０の別の実施形態（即ち、中央信頼キャッシュ２４５を使用した信頼性状態の実時間判定）とで詳細に示され述べられる。
【００６２】
ステップ８２０でネットワーク・アクセス試行と関連付けられた各プログラム・ファイルの信頼性状態を取得した後で、フローはステップ８３０に進む。これは、少なくとも部分的に中央サーバ２００のプロセス・トラフィック・マッピング・モジュール２６０として実施されてもよい。ステップ８３０で、プログラム・ファイルのどれかが非信頼状態を有する場合は、ホスト・イベント情報を使用してプロセス・トラフィック・マッピング・データベース２３４を設定してもよい。例えば、プログラム・ファイルと関連付けられた詳細なポート及びアドレス情報とプログラム・ファイル・パス情報とが、プロセス・トラフィック・マッピング・データベース２３４に追加される。次にフローはステップ８３５に進み、ネットワーク・アクセス試行と関連付けられた全てのプログラム・ファイルが信頼状態を有するかどうかが照会され、信頼状態を有する場合、フローは終了し、プログラム・ファイルと関連付けられたネットワーク・トラフィックのログ記録又は制限規則を作成しない。しかしながら、プログラム・ファイルのうちのどれかが非信頼状態を有する場合、フローはステップ８４５に進み、ログ記録が有効かどうかを判定する。
【００６３】
ログ記録が有効である場合は、フローはステップ８５０に進み、ログ記録規則が作成され、ネットワーク規則要素４２０に記憶するため、ネットワーク保護装置４００にプッシュされてもよい。一例では、ホスト・イベント情報からのソース・アドレス及びポート番号並びに宛先アドレス及びポート番号を使用して、特定のネットワーク・イベント・データをログ記録する規則を作成してもよい。この例では、ログ記録規則は、遮断パケットがホスト・イベント情報と一致するソース・アドレス、ソース・ポート、宛先アドレス及び宛先ポートを有するときに、ネットワーク保護装置４００によって遮断された電子パケットと関係したネットワーク・トラフィック・イベント・データをイベント・ログ４３０に記憶することを要求してもよい。幾つかの実施形態では、ログ記録規則を識別する規則ＩＤは、プロセス・トラフィック・マッピング・データベース２３４に記憶され、ネットワーク・アクセス試行と関連付けられたプログラム・ファイルにマッピングされてもよい。
【００６４】
ステップ８５０で、ログ記録規則が作成されネットワーク保護装置４００にプッシュされた後、又はステップ８４５でログ記録が有効でない場合、フローはステップ８５５に進み、取り締まりが有効かどうかが判定される。取り締まりが有効でない場合、フローは終了し、１つ又は複数の非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックの制限規則を作成しない。しかしながら、ステップ８５５で取り締まりが有効である場合は、ステップ８６０でポリシー・データベース２３５が照会されて、プログラム・ファイルの非信頼状態を覆し、プログラム・ファイルと関連付けられたネットワーク・トラフィックを許可する構成ポリシーがあるかどうかが判定されてもよい。そのようなポリシーが見つかった場合、フローは終了し、制限規則を作成しない。しかしながら、ポリシーが、プログラム・ファイルの非信頼状態を覆さない（即ち、ポリシーが、何らかのタイプの制限規則を必要とするか、ポリシーが適用できない）場合、フローはステップ８７０に進み、ホスト・イベント情報及び／又は任意の適切なポリシーを使用して１つ又は複数のネットワーク制限規則を作成し、ネットワーク保護装置４００にプッシュすることができる。一例では、ホスト・イベント情報を使用して、ホスト・イベント情報からのソース・アドレス及びポート並びに宛先アドレス及びポートと一致するソース・アドレス及びポート並びに宛先アドレス及びポートを有するインバウンド、アウトバウンド、及び／又はローカルパケットを阻止する制限規則を作成してもよい。制限規則を作成するポリシーの使用及びネットワーク・レベル固有ポリシーを含むそのようなポリシーの例は、図５のバッチ処理フローに関して本明細書で前に述べた。
【００６５】
制限規則が、ホスト・イベント情報及び／又は任意の適切なポリシーを使用して作成された後で、その制限規則は、ネットワーク保護装置４００にプッシュされ、ネットワーク規則要素４２０に記憶され、次にフローは終了する。この実時間実施形態では、ネットワーク・アクセス試行が遮断された後、実時間処理フロー８００が、必要な規則を作成しその規則をネットワーク保護装置４００にプッシュための十分な時間を設けるため、ホスト３００内に時間遅延が設定されてもよい。別の実施形態では、プロセス・トラフィック・マッピング・データベース２３４をネットワーク・アクセス試行のマッピング情報で更新し、及び／又は任意の得られたログ記録又は制限規則をネットワーク保護装置４００にプッシュしたことを、中央サーバ２００がホスト３００に肯定応答するまで、ネットワーク・アクセス試行はホスト３００上に保持されてもよい。この肯定応答は、例えば、ホスト３００上のイベント・フィード３３０への双方向データ・フローによる信号によって遂行されてもよい。
【００６６】
図９〜図１０に移ると、例示的なフローは、ネットワーク・レベル保護をするシステムの実時間処理実施形態におけるプログラム・ファイルの信頼性状態を判定する代替実施形態を示す。図９又は図１０の例示的なステップは、少なくとも部分的に中央サーバ２００のソフトウェア信頼判定モジュール２４０として実施されてもよく、図８の実時間処理実施形態のステップ８２０に対応してもよい。
【００６７】
図９は、中央非信頼ソフトウェア・インベントリ２３２を利用する信頼判定フロー９００を示す。この実施形態では、中央非信頼ソフトウェア・インベントリ２３２は、例えば、引用により本明細書にあらかじめ組み込まれた同時係属米国特許出願番号１２／８４４，８９２号の図４〜図６に関して述べたように作成され維持されてもよい。ステップ９３０で、中央非信頼ソフトウェア・インベントリ２３２を検索して、ネットワーク・アクセス試行と関連付けられた各プログラム・ファイルを探す。プログラム・ファイルが、中央非信頼ソフトウェア・インベントリ２３２上で識別された場合は、識別されたプログラム・ファイルの信頼性状態は、非信頼である。しかしながら、プログラム・ファイルが中央非信頼ソフトウェア・インベントリ２３２上に識別されない場合、プログラム・ファイルの信頼性状態は、信頼である。プログラム・ファイルが評価された後で、プログラム・ファイルの信頼性状態が、図８のステップ８２０に返され、本明細書で前に述べたようにログ記録と制限規則が作成されてもよい。
【００６８】
図１０に移ると、図１０は、図８のステップ８２０に対応し、ネットワーク・レベル保護をするシステムの実時間実施形態において実時間の信頼判定を行なう代替の信頼判定フロー１０００を示す。中央非信頼ソフトウェア・インベントリ２３２は、この実施形態から省略されてもよく、その代わりに、中央信頼キャッシュ２４５を使用して、信頼性状態判定の際のより迅速な取り出しと全体処理のために、信頼プログラム・ファイルの識別（例えば、チェックサム）を記憶してもよい。
【００６９】
ステップ１０１０で始まり、ネットワーク・アクセス試行と関連付けられた全てのプログラム・ファイルが、中央信頼キャッシュ２４５内に見つかったかどうかの照会がされる。プログラム・ファイルが全て中央信頼キャッシュ２４５内に見つかった場合は、全てのプログラム・ファイルが信頼状態を有する。その結果、フローは終わり、信頼性状態が、図８のステップ８２０に返される。しかしながら、いずれかのプログラム・ファイルが、中央信頼キャッシュ２４５内に見つからなかった場合、フローはステップ１０２０に進み、図１に示されたグローバル・ホワイトリスト１６５などの１つ又は複数のグローバル又は他の外部ホワイトリスト、及び／又は図１に示された内部ホワイトリスト１３３などの１つ又は複数の内部ホワイトリストを検索して、中央信頼キャッシュ２４５内に見つからなかった各プログラム・ファイルを探す。プログラム・ファイルがホワイトリストの少なくとも１つに識別された場合は、識別されたプログラム・ファイルの信頼性状態が、信頼できるとして定義されるが、プログラム・ファイルがホワイトリストのどれにも識別されなかった場合、プログラム・ファイルの信頼性状態は、信頼できないと定義される。ホワイトリストが検索された後で、フローはステップ１０３０に進み、中央信頼キャッシュ２４５が、信頼性状態を有する（即ち、ホワイトリストの１つで識別された）プログラム・ファイルのチェックサムで更新される。次に、プログラム・ファイルの信頼性状態を図８のステップ８２０に返すことができる。
【００７０】
実時間信頼判定フロー１０００は、どのホワイトリストにも見つからずその結果として非信頼状態を有するプログラム・ファイルを評価して、非信頼プログラム・ファイルを信頼状態に昇格してもよい既定条件が存在するかどうかを判定する追加のロジックを含んでもよい。そのような既定条件は、図６に関して本明細書で前に示し述べたヒューリスティックな検討事項を含んでもよい。１つ又は複数の既定条件が存在する場合は、プログラム・ファイルが、信頼状態に昇格されてもよい。しかしながら、プログラム・ファイルに適用される既定条件がない場合は、非信頼状態が持続し、プログラム・ファイルは、信頼できないと定義されてもよい。実時間信頼判定フロー１０００は、やはり本明細書で前に述べたように、ホワイトリストに加えて、ブラックリストを評価する追加のロジック（図示せず）を含んでもよい。
【００７１】
図１１に移ると、図１１は、ネットワーク・レベル保護をするシステムのバッチ処理実施形態（図５〜図７）と実時間実施形態（図８〜図１０）との両方で使用されることがあるネットワーク保護装置４００のネットワーク取り締まりフロー１１００を示す。フローは、ステップ１１１０で始まり、ネットワーク保護装置４００のフィルタ／ファイアウォール４１０が、ホスト３００上の実行ソフトウェア・プロセス３４５などのソフトウェア・プロセスと関連付けられたネットワーク・トラフィックを遮断する。例示的実施形態では、ＴＣＰ／ＩＰネットワーク・トラフィックは、複数の電子パケットの形であってもよい。次に、フローはステップ１１２０に進み、ログ記録規則が遮断パケットに適用されるかどうかが照会される。これは、ネットワーク規則要素４２０を検索することによって判定されてもよい。ログ記録規則が適用される場合は、ステップ１１３０で、イベント・ログ４３０は、ネットワーク・トラフィックと関係したイベント・データで更新される。イベント・ログ４３０が更新された後、又はステップ１１２０での判定によりログ記録規則が適用されない場合、フローはステップ１１４０に進んで、ネットワーク制限規則が遮断パケットに適用されるかどうかが照会される。この照会は、ネットワーク規則要素４２０を検索することによって行われてもよい。遮断パケットのネットワーク制限規則が存在しない場合、フローはステップ１１９０に進み、パケットは、フィルタ／ファイアウォール４１０を通ってその宛先アドレスへ行くことを許可される。しかしながら、ネットワーク制限規則が遮断パケットに適用される場合、フローはステップ１１８０に進む。ステップ１１８０で、ネットワーク制限規則が、パケットに適用され、それによりパケットが制限される（例えば、パケットが阻止される、パケットが別のサーバに転送される、ＶＬＡＮメンバシップが切り替えられる、など）。
【００７２】
図１２は、ネットワーク・アクセス試行をログ記録するフロー１２００を示す。これは、ネットワーク・レベル保護をするシステムのバッチ処理実施形態（図５〜図７）及び実時間実施形態（図８〜図１０）で実現されてもよい。フローはステップ１２１０で始まり、ログ・レコードが、ネットワーク保護装置４００のイベント・ログ４３０から取得される。例示的実施形態では、新しいログ・レコード（例えば、最後の所定の日時以降にイベント・ログ４３０に追加されたログ・レコード、ログ・イベント・データベース２３１が最後に更新されて以降にイベント・ログ４３０に追加されたログ・レコード、など）だけが取り出される。あるいは、全てのログ・レコードが取り出され処理されてもよく、全てのログ・レコードが取り出されもよく、フロー１２００は、ログ・レコードのどれが新しいかを判定する追加の処理を含んでもよい。
【００７３】
ログ・レコードが、ネットワーク保護装置４００から取り出された後で、フローはステップ１２２０に進み、プロセス・トラフィック・マッピング・データベース２３４から情報が取り出されてもよい。プロセス・トラフィック・マッピング・データベース２３４は、プログラム・ファイル・パスやホスト識別など、ログ・レコード内のネットワーク・トラフィック・イベント・データに対応するユーザが理解可能な情報を提供してもよい。例えば、ログ・レコードからの宛先アドレス及びポート並びにソース・アドレス及びポートは、プロセス・トラフィック・マッピング・データベース２３４内の非信頼プログラム・ファイル・パスにマッピングされてもよい。別の例では、プロセス・トラフィック・マッピング・データベース２３４あるいは他の別個のデータベース又はレコード内で、非信頼プログラム・ファイル・パスへのマッピングを見つけるためにログ・レコードから規則ＩＤが使用されてもよい。
【００７４】
ユーザが理解可能な情報が、プロセス・トラフィック・マッピング・データベース２３４から取り出された後で、フローはステップ１２３０に進み、ログ・イベント・データベース２３１を、ログ・レコードからのネットワーク・トラフィック・イベント・データ及び任意の対応するプロセス・トラフィック・マッピング情報で更新することができる。ログ・イベント・データベース２３１に記憶されたネットワーク・トラフィック・イベント・データ及び対応するプロセス・トラフィック・マッピング情報の例には、プログラム・ファイル・パス、ホストの識別、日時スタンプ、ソース・アドレス及びポート番号、宛先アドレス及びポート番号などの遮断パケットと関連付けられたデータが含まれる。
【００７５】
バッチ処理実施形態と実時間実施形態との両方の場合、フロー１２００は、任意の所定の時間間隔（例えば、１週間ごと、１日ごと、１時間ごとなど）で動作するように構成されてもよい。フロー１２００は、幾つかの実施形態では、管理保護モジュール２２０の一部として実施されてもよい。あるいは、バッチ処理実施形態では、フロー１２００は、図５に示されたフロー５００の一部として実現されてもよい。管理保護モジュール２２０は、例えば、管理コンソール２１０や他の報告機構を介して、ログ・イベント・データベース２３１内のデータへのアクセスを提供してもよい。ログ・イベント・データベース２３１内のデータは、ネットワーク保護装置４００によって遮断されかつネットワーク内のホスト上の非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックに関する情報をユーザに提供することができる。本明細書で前に述べたように、そのようなネットワーク・トラフィックは、取り締まりが有効であり、かつ対応する制限規則が作成されネットワーク保護装置４００にプッシュされたかどうかによって阻止され、その他制限されてもよいし、されなくてもよい。したがって、そのようなネットワーク・トラフィックに関係したイベント・データのログ記録、及びそれに続くフロー１２００でのそのイベント・データの処理は、ネットワーク・トラフィックが阻止され、その他制限されるか否かに関わらず、行われてもよい。
【００７６】
本明細書で概説された操作を達成するソフトウェアは、様々な場所（例えば、企業ＩＴ本部、エンドユーザ・コンピュータ、クラウド内の分散サーバなど）に提供することができる。他の実施形態では、このソフトウェアは、悪意のあるソフトウェアに対するネットワーク・レベル保護をするこのシステムを提供するために、（例えば、別個のネットワーク、装置、サーバなどの個別のエンドユーザ・ライセンスを購入する状況で）ウェブサーバから受け取られ、又はダウンロードされてもよい。１つの例示的実施態様では、このソフトウェアは、セキュリティ攻撃から保護しようとする（又は、データの望ましくないか又は無許可の操作から保護された）１つ又は複数のコンピュータ内に常駐する。
【００７７】
他の例では、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムのソフトウェアは、知的所有権下にある要素（例えば、ＭｃＡｆｅｅ（登録商標）Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｎｔｒｏｌソフトウェア、ＭｃＡｆｅｅ（登録商標）Ｃｈａｎｇｅ  Ｃｏｎｔｒｏｌソフトウェア、ＭｃＡｆｅｅ（登録商標）ｅＰｏｌｉｃｙ  Ｏｒｃｈｅｓｔｒａｔｏｒソフトウェア、ＭｃＡｆｅｅ（登録商標）Ｐｏｌｉｃｙ  Ａｕｄｉｔｏｒソフトウェア、ＭｃＡｆｅｅ（登録商標）Ａｒｔｅｍｉｓ  Ｔｅｃｈｎｏｌｏｇｙソフトウェア、ＭｃＡｆｅｅ（登録商標）Ｈｏｓｔ  Ｉｎｔｒｕｓｉｏｎ  Ｐｒｅｖｅｎｔｉｏｎソフトウェア、ＭｃＡｆｅｅ（登録商標）ＶｉｒｕｓＳｃａｎソフトウェアなどによるネットワーク・セキュリティ・ソリューションの一部として）を含むことがあり、これらの識別された要素内（又はその近く）に提供されてもよく、任意の他の装置、サーバ、ネットワーク機器、コンソール、ファイアウォール、スイッチ、ルータ、情報技術（ＩＴ）装置、分散サーバなどの中に提供されてもよく、相補的ソリューション（例えば、ファイアウォールと関連）として提供されてもよく、ネットワーク内のどこかに提供されてもよい。
【００７８】
図１に示したような例示的なローカル・ネットワーク１１０では、ホスト１２０、中央サーバ１３０、ネットワーク保護装置１４０及びセカンダリ・サーバ１８０は、悪意のあるソフトウェアからコンピュータ・ネットワークを保護することを容易にするコンピュータである。本明細書で使用されるとき、用語「コンピュータ」及び「計算装置」は、パーソナルコンピュータ、ネットワーク機器、ルータ、スイッチ、ゲートウェイ、プロセッサ、サーバ、ロードバランサ、ファイアウォール、又はネットワーク環境で電子情報に影響を及ぼすか又は処理するように動作可能な他の適切な装置、構成要素、要素又は物体を包含することを意図する。更に、このコンピュータ又は計算装置は、その動作を容易にする任意の適切なハードウェア、ソフトウェア、構成要素、モジュール、インタフェース、又は物体を含んでもよい。これは、データの有効な保護及び通信を可能にする適切なアルゴリズム及び通信プロトコルを含んでもよい。
【００７９】
特定の例示的な実施態様では、本明細書で概説した悪意のあるソフトウェアに対するネットワーク・レベル保護に関係するアクティビティは、ソフトウェアで実現されてもよい。これは、中央サーバ１３０（例えば、中央保護構成要素１３５）、ホスト１２０（例えば、ローカル保護構成要素１２４）、ネットワーク保護装置（例えば、ネットワーク・レベル取り締まり構成要素１４５）、及び／又はセカンダリ・サーバ１８０内に提供されたソフトウェアを含んでもよい。これらの構成要素、要素及び／又はモジュールは、互いに協力して、本明細書で述べたように、ボットネットなどの悪意のあるソフトウェアに対するネットワーク・レベル保護を提供するアクティビティを実行することができる。他の実施形態では、これらの特徴は、これらの要素の外部に提供されもよく、これらの意図された機能を達成する他の装置に含まれてもよく、任意の適切な方法で統合されてもよい。例えば、保護アクティビティは、更にホスト１２０内に局在化されるか中央サーバ１３０内に更に集中されてもよく、図示されたプロセッサの幾つかは、除去され、その他特定のシステム構成に適応するよう統合されてもよい。一般的な意味において、図１に示された機構は、その説明がより論理的であってもよいが、物理的アーキテクチャは、これらの構成要素、要素及びモジュールの様々な順列／組み合わせ／混合物を含んでもよい。
【００８０】
これらの要素（ホスト１２０、中央サーバ１３０、ネットワーク保護装置１４０、及び／又はセカンダリ・サーバ１８０）は全て、本明細書で概説されたような信頼判定、ログ記録、取り締まり、遮断を含む保護アクティビティを達成するために、連係し、管理し、その他協力することができるソフトウェア（又は、レシプロケーティング・ソフトウェア）を含む。更に、これらの要素の１つ又は全ては、その動作を容易にする任意の適切なアルゴリズム、ハードウェア、ソフトウェア、構成要素、モジュール、インタフェース、又はオブジェクトを含んでもよい。ソフトウェアを含む実施態様において、そのような構成は、１つ又は複数の有形媒体内に符号化されたロジック（例えば、特定用途向け集積回路（ＡＳＩＣ）内に提供された埋込みロジック、デジタル・シグナル・プロセッサ（ＤＳＰ）命令、プロセッサや他の類似の装置によって実行されるソフトウェア（オブジェクト・コード及びソースコードを含む可能性がある）など）を含んでもよく、有形媒体は持続的媒体を含む。これらの例の幾つかでは、１つ又は複数のメモリ要素（図１、図２、図３及び図４を含む様々な図に示されたような）は、本明細書に記載された操作に使用されるデータを記憶することができる。これは、本明細書に記載されたアクティビティを行うために実行されるソフトウェア、ロジック、コード又はプロセッサ命令を記憶することができるメモリ要素を含む。プロセッサは、本明細書に詳述された操作を達成するためにデータと関連付けられた任意のタイプの命令を実行することができる。一例では、プロセッサ（図２、図３及び図４に示されたような）は、要素又は物品（例えば、データ）をある状態又は物から別の状態又は物に変換することがある。別の例では、本明細書で概説されたアクティビティは、固定ロジック又はプログラマブル・ロジック（例えば、プロセッサによって実行されるソフトウェア／コンピュータ命令）で実現されてもよく、本明細書に識別された要素は、デジタル・ロジック、ソフトウェア、コード、電子命令、又はこれらの任意の適切な組み合わせを含む何らかのタイプのプログラマブル・プロセッサ、プログラマブル・デジタル・ロジック（例えば、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ））、又はＡＳＩＣで実現されてもよい。
【００８１】
これらの要素（例えば、コンピュータ、サーバ、ネットワーク保護装置、ファイアウォール、分散サーバなど）はどれも、本明細書に概説されたような保護アクティビティの達成に使用される情報を記憶するためのメモリ要素を含むことができる。これらの装置は、更に、情報を、必要に応じかつ特定の要求に基づいて、任意の適切なメモリ要素（例えば、ランダムアクセスメモリ（ＲＡＭ）、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＡＳＩＣなど）、ソフトウェア、ハードウェア、あるいは他の適切な構成要素、装置、要素又はオブジェクト内に維持してもよい。本明細書で述べたメモリ項目（例えば、ログ・イベント・データベース、中央非信頼ソフトウェア・インベントリ、ローカル非信頼ソフトウェア・インベントリ、内部ホワイトリスト、ポリシー・データベース、プロセス・トラフィック・マッピング・データベース、中央信頼キャッシュ、ネットワーク規則要素、イベント・ログなど）はいずれも、幅広い用語「メモリ要素」に包含されるように解釈されるべきである。同様に、本明細書に述べた潜在的な処理要素、モジュール及び機械はいずれも、幅広い用語「プロセッサ」に包含されるように解釈されるべきである。また、コンピュータ、ホスト、ネットワーク保護装置、サーバ、分散サーバなどはそれぞれ、ネットワーク環境でデータ又は情報を受信し、送信し、かつ／又はその他通信するのに適切なインタフェースを含んでもよい。
【００８２】
本明細書に提供された例では、２つ、３つ、４つ、又はこれより多くのネットワーク構成要素に関する相互作用が記述されていることに注意されたい。しかしながら、これは、明瞭さと単なる例のために行われた。悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムは、任意の適切な方法で統合できることを理解されたい。類似の設計選択に沿って、図の示されたコンピュータ、モジュール、構成要素及び要素はいずれも、様々な可能な構成で組み合わされてもよく、これらは全て、本明細書の広い範囲内にあることは明らかである。特定の事例では、限られた数の構成要素又はネットワーク要素だけを参照して所定の組のフローの機能の１つ又は複数について記述する方が容易なことがある。したがって、図１（及びその教示）のシステムが、容易に拡張可能であることを理解されたい。システムは、多数の構成要素、並びにより複雑又は高度な機構及び構成に適応することができる。したがって、提供された例は、範囲を制限せず、また様々な他のアーキテクチャに潜在的に適用されるようなネットワーク・レベル保護をするシステムの幅広い教示を妨げるべきではない。
【００８３】
また、以上の図に関連して述べた操作が、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムによって又はそのシステム内で実行される可能性のあるシナリオの一部だけを示すことに注意することが重要である。これらの操作の幾つかは、必要に応じて削除又は除去されてもよく、あるいはこれらの操作は、述べた概念の範囲を逸脱せずに大幅に修正又は変更されてもよい。更に、これらの操作のタイミングは、この開示に教示された結果を達成するように大幅に変更されてもよい。例えば、ホワイトリストを検索することによる信頼判定は、外部又はグローバル・ホワイトリストを検索する前に内部ホワイトリストを検索することによって行なわれてもよい。以上の動作フローは、例示と検討のために提示された。システムは、述べた概念の教示から逸脱することなく任意の適切な機構、時系列、構成及びタイミングが提供されるという点で、実質的な柔軟性を提供する。
【符号の説明】
【００８４】
１００  ネットワーク環境
１１０  ローカルネットワーク
１２０  ホスト
１２２  実行可能ソフトウェア
１２４  ローカル保護構成要素
１３０  中央サーバ
１３１  ログ・イベント・データベース
１３２  中央非信頼ソフトウェア・インベントリ
１３３  内部ホワイトリスト
１３４  プロセス・トラフィック・マッピング・データベース
１３５  ネットワーク・レベル保護構成要素
１４０  ネットワーク保護装置
１４５  ネットワーク・レベル強制構成要素
１５０  インターネット
１６０  グローバルサーバ
１６５  グローバル・ホワイトリスト
１７０  指令制御サーバ
１７５  ボットネット・オペレータ
１８０  セカンダリ・サーバ
【図１】
2013539573.tif 000003
【図２】
2013539573.tif 000004
【図３】
2013539573.tif 000005
【図４】
2013539573.tif 000006
【図５】
2013539573.tif 000007
【図６】
2013539573.tif 000008
【図７】
2013539573.tif 000009
【図８】
2013539573.tif 000010
【図９】
2013539573.tif 000011
【図１０】
2013539573.tif 000012
【図１１】
2013539573.tif 000013
【図１２】
2013539573.tif 000014
【国際調査報告】
2013539573.tif 000015
2013539573.tif 000016