(58)【調査した分野】(Int.Cl.,DB名)
前記ネットワーク・アクセス試行は、前記第1の計算装置がプロセスを実行することにより開始されたものであって、前記第1の計算装置によって前記第1の計算装置上で遮断されて保持され、
前記プロセッサが受信する前記情報は、前記プロセスに関連付けられると前記第1の計算装置のプロセス・トラフィック・マッピング要素に基づいて判定されたソフトウェア・プログラム・ファイルを識別する情報である、
請求項12乃至15いずれか記載のコンピュータプログラム。
前記ネットワーク・アクセス試行は、前記第1の計算装置がプロセスを実行することにより開始されたものであって、前記第1の計算装置によって前記第1の計算装置上で遮断されて保持され、
前記プロセッサが受信する前記情報は、前記プロセスに関連付けられると前記第1の計算装置のプロセス・トラフィック・マッピング要素に基づいて判定されたソフトウェア・プログラム・ファイルを識別する情報である、
請求項23乃至26いずれか記載の装置。
【発明を実施するための形態】
【0008】
図1は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムの実施形態を実現することができる代表的なネットワーク環境100を表す図である。ネットワーク環境100は、インターネット150などの広域ネットワーク(WAN)への電子接続を有するローカル・ネットワーク110を含んでもよい。インターネット150は、多くの他のネットワーク、計算装置及びウェブサービスへのアクセスを提供する。例えば、グローバルサーバ160は、悪意のあるコードがないと評価及び判定されたソフトウェア・プログラム・ファイルを示すグローバル・ホワイトリストを含むデータベース165を提供する。更に、ボットネット・オペレータ175などの悪意のあるユーザは、指令制御サーバ170のほかにインターネット150へのアクセスを有してもよく、指令制御サーバ170は、ボットネット・オペレータ175によって操作されて、ローカル・ネットワーク110などのネットワークを汚染することを試みる悪意のあるソフトウェア(例えば、ボット)を送信しその後制御してもよい。ローカル・ネットワーク110は、中央サーバ130、セカンダリ・サーバ180、及びネットワーク保護装置140に動作的に接続されたホスト120a、120b及び120cを含んでもよい。ホスト120aは、実行可能ソフトウェア122とローカル保護構成要素124とを含んでもよい。参照し易くするため、ホスト120aだけがそのような構成要素と共に示されているが、ローカル・ネットワーク110内の他のホストも、
図1のホスト120aに示されたものと類似の構成要素で構成されてもよいことは明らかである。中央保護構成要素135が、中央サーバ130内に提供されてもよく、ネットワーク・レベル取り締まり構成要素145が、ネットワーク保護装置140内に提供されてもよい。中央サーバ130は、また、ログ・イベント・データベース131、中央非信頼ソフトウェア・インベントリ132、内部ホワイトリスト133、及びプロセス・トラフィック・マッピング・データベース134へのアクセスを有してもよい。
【0009】
例示的実施形態では、ホスト120a上のローカル保護構成要素124、中央サーバ130上の中央保護構成要素135及びネットワーク保護装置140上のネットワーク・レベル取り締まり構成要素145は協力して、悪意のあるソフトウェアと関連付けられたネットワーク・トラフィックに対するネットワーク・レベル保護をするシステムを提供してもよい。ネットワーク・トラフィックは、本明細書で使用されるとき、例えば、ホストから任意のネットワークや他のコンピュータに送られる電子パケット(即ち、アウトバウンド・ネットワーク・トラフィック)と、ホストに任意のネットワークや他のコンピュータから送られる電子パケット(即ち、インバウンド・ネットワーク・トラフィック)など、ネットワーク内のデータを意味する。ネットワーク・トラフィックは、ネットワーク保護装置140が非信頼プログラム・ファイルと関連付けられた適切な制限規則を含む場合に、ネットワーク保護装置140によって阻止され、その他制限されてもよい。
【0010】
この開示の実施形態によれば、ネットワーク保護装置140は、非信頼プログラム・ファイルが見つかったときにネットワーク・トラフィック用に作成された制限規則を受け取ってもよい。プログラム・ファイルの信頼性状態(即ち、信頼できるか信頼できないか)は、バッチモードで判定されてもよく、ネットワーク・アクセス試行中に実時間で判定されてもよい。本明細書で使用されるようなネットワーク・アクセス試行は、ホスト上の任意のインバウンド又はアウトバウンド・ネットワーク・アクセス試行(例えば、接続要求の受け入れ、接続要求の作成、ネットワークから電子データの受信、ネットワークへの電子データの送信)を含む。バッチモードと実時間モードの両方で、プログラム・ファイルが評価されて、1つ又は複数の信頼評価技術(例えば、ホワイトリスト比較、プログラム・ファイル変更比較、ブラックリスト比較など)を使用して、各プログラム・ファイルの信頼性状態が、信頼できると定義されるか信頼できないと定義されるかが判定される。制限規則を作成するときにポリシーが使用されてもよい。そのようなポリシーは、例えば、ネットワーク・アドレスの指定されたサブネットへのアクセスだけを許可すること、全てのインバウンド及びアウトバウンド・ネットワーク・トラフィックを阻止すること、インバウンド又はアウトバウンド・ネットワーク・トラフィックだけを阻止すること、全てのローカル・ネットワーク・トラフィックを阻止し、インターネット・トラフィックを許可することなどを含んでもよい。非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックが、報告のためにログ記録され、集計されてもよい。
【0011】
悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムの技術を示すため、所定のネットワーク内で行われるアクティビティを理解することが重要である。以下の基本的な情報は、本開示が適切に説明される基礎とみなすことができる。そのような情報は、単に説明のために提供され、したがって、本開示とその可能な用途の広い範囲を限定するようには決して解釈されるべきではない。更に、この開示の広い範囲は、例えば、実行可能ファイル、ライブラリ・モジュール、オブジェクト・ファイル、他の実行可能モジュール、スクリプト・ファイル、インタープリタ・ファイルなど、コンピュータ上で理解され処理することができる命令を含む任意のソフトウェア・ファイルも包含する「プログラム・ファイル」、「ソフトウェア・プログラム・ファイル」及び「実行可能ソフトウェア」を指すものであることを理解されよう。
【0012】
組織内又は個人によって使用される典型的なネットワーク環境は、例えばインターネットを使用して他のネットワークと電子的に通信して、インターネットに接続されたサーバ上にホストされたウェブページにアクセスし、電子メール(即ち、email)メッセージを送信あるいは受信し、又はインターネットに接続されたエンドユーザあるいはサーバとファイルを交換する能力を含む。悪意のあるユーザは、インターネットを使用してマルウェアを拡散し、秘密情報へのアクセスを得るための新しい戦略を開発し続けている。
【0013】
コンピュータ・セキュリティに対する大きな脅威となる戦略は、多くの場合ボットネットを含む。ボットネットは、ある種の悪意のあるソフトウェア(即ち、ボット)がホストコンピュータに置かれて指令制御サーバと通信するクライアントサーバアーキテクチャを使用する。指令制御サーバは、悪意のあるユーザ(例えば、ボットネット・オペレータ)によって制御されてもよい。ボットは、特定の悪意のあるアクティビティを実行するコマンドを指令制御サーバから受け取り、それに応じてそのようなコマンドを実行してもよい。ボットは、任意の結果又は窃盗情報を指令制御サーバに返信してもよい。ボットは、悪意のあるアクティビティを行なうコマンドを受信する他に、典型的には、組織のネットワーク内で拡散し、又は他のネットワークを介して他の組織又は個人に拡散することができる1つ又は複数の伝搬ベクトルを含む。一般的な伝搬ベクトルは、ローカル・ネットワーク内のホスト上の既知の脆弱性を利用して、悪意のあるプログラムが添付され、又は電子メール内に悪意のあるリンクを提供する悪意のある電子メールを送信することを含む。ボットは、例えば、自動ダウンロード、ウィルス、ワーム、トロイの木馬などによりホストコンピュータに感染してもよい。
【0014】
ボットネットは、様々な攻撃を使用してボットネット・オペレータがコンピュータシステムを危険にさらす強力な方法を提供する。ボットが一旦ホストコンピュータを感染すると、指令制御サーバは、ボットにコマンドを出して様々なタイプの攻撃を行なうことができる。一般に、ボットネットは、大量の電子メールを送信し分散型サービス妨害攻撃を行なうように使用されてきた。しかしながら、最近になって、ボットネットは、企業と個人に標的を絞った攻撃を行なって、知的財産や財務データなどの機密データや他の保護必要情報を得るために使用されようになった。
【0015】
既存のファイアウォール及びネットワーク侵入防止技術は、一般に、ボットネットを認識しくい止めるには不十分である。ボットは、多くの場合、指令制御サーバと通信を開始し、通常のウェブブラウザトラフィックを偽装するように設計される。ボットは、ボットがウェブサーバに正常なネットワーク接続を行っているかのように見えるようにする指令制御プロトコルによって巧妙に作成されることがある。例えば、ボットは、ウェブサーバと通信するために通常使用されるポートを使用することがある。したがって、そのようなボットは、ウェブ・トラフィックのより詳しいパケット検査を行なわない既存の技術では検出されないことがある。更に、ボットが発見された後、ボットネット・オペレータは、存在し続けるボットによるネットワーク・トラフィックが、正常なウェブ・トラフィックを偽装する別の方法を単に見つけるだけでよい。最近になって、ボットネット・オペレータは、例えばセキュア・ソケット・レイヤー(SSL)などの暗号化プロトコルを使用し、それにより悪意のあるネットワーク・トラフィックを暗号化するボットを巧妙に作成した。そのような暗号化されたトラフィックは、暗号化セッションに関与するエンドポイントだけがデータを復号できるよう、ハイパーテキスト転送プロトコルセキュア(HTTPS)ポートを使用することがある。したがって、既存のファイアウォールや他のネットワーク侵入防止技術は、ウェブ・トラフィックの如何なる有効な検査も実行できない。その結果、ボットは、ネットワーク内のホストコンピュータを汚染し続ける。
【0016】
無許可のプログラム・ファイルがホストコンピュータ上で実行されるのを防ぐことに焦点を当てた他のソフトウェアセキュリティ技術は、企業又は他の組織的実体のエンドユーザ又は従業員に対して望ましくない副作用を有することがある。ネットワーク又は情報技術(IT)管理者は、望ましく信頼できるネットワーク資源から従業員がソフトウェアや他の電子データを取得できるようにするために、企業実体の全ての側面と関連した広範なポリシーを巧妙に作成する責任を負っていることがある。広範なポリシーが適切でないと、従業員は、そのようなソフトウェアや他のデータが正当で必要な事業活動である場合でも、特に許可されないネットワーク資源からのソフトウェアや他の電子データのダウンロードを妨げられることがある。更に、そのようなシステムは、無許可のソフトウェアがホストコンピュータ上に見つかった場合に、ホストコンピュータアクティビティが延期されてネットワーク管理者の介入が保留されるという大きな制限がある。企業の場合、このタイプのシステムは、正当かつ必要な企業活動を妨げることあり、その結果、労働者の稼働不能時間、収益損失、著しい情報技術(IT)オーバヘッドなどが生じることがある。
【0017】
図1に概略的に示されたような悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステム及び方法は、感染したネットワークからのボットネットの伝搬及び悪意のあるアクティビティを減少させることができ、同時にITオーバヘッドをあまり必要とせずに、感染したネットワーク内で正当なアクティビティが継続することを可能にする。1つの例示的実施形態によれば、ホスト120aなどのホスト上のネットワーク・アクセス試行と関連付けられたどのソフトウェア・プログラム・ファイルが危険(即ち、信頼できない)かを判定するシステムが提供される。関連付けられたプログラム・ファイルのそれぞれが危険でない(即ち、信頼できる)場合は、それらのプログラム・ファイルにマッピングされたソフトウェア・プロセスと関連付けられたネットワーク・トラフィックが許可されてもよい。しかしながら、プログラム・ファイルのうちの1つ又は複数が信頼できない場合は、ネットワーク保護装置140が、非信頼プログラム・ファイルにマッピングされたソフトウェア・プロセスと関連付けられたネットワーク・トラフィックを阻止し、その他制限し、かつ/又は、任意の適切なポリシーにしたがって他のネットワーク・トラフィックを阻止し、その他制限できるようにする制限規則が作成されてもよい。そのような阻止又は他の制限は、予想されるボットの伝搬及び悪意のあるアクティビティを防ぐことができる。1つの例示的実施形態では、非信頼プログラム・ファイルが発見されたとき、ホスト120aのインバウンド及びアウトバウンド・ネットワーク・トラフィックは、ポリシーの検討事項に基づいて、指定ネットワーク・サブネット(例えば、安全であることが分かっておりかつ必要な事業活動に要求されるサブネットなど)へのアクセスを選択的に許可されてもよい。これにより、必要な事業活動を中断したり妨げたりすることなく、ボットが指令制御サーバからの指令に応答し伝搬する能力を大幅に低減させることができる。その結果、
図1に実現されたようなシステムは、感染ホストがあるネットワーク、及び感染ホストがアクセスを試みる他のネットワークに対してよりよい保護を提供する。
【0018】
図1のインフラストラクチャに移ると、ローカル・ネットワーク110は、ネットワーク・レベル保護をするシステムを実現することができる例示的なアーキテクチャを表す。ローカル・ネットワーク110は、1つ又は複数のローカル・エリア・ネットワーク(LAN)、他の適切なネットワーク、又はこれらの任意の組み合わせを含むがこれらに限定されない様々な形態で構成されてもよい。インターネット150は、ローカル・ネットワーク110が適切に接続されることがある広域ネットワーク(WAN)を表す。ローカル・ネットワーク110とインターネット150との間の接続は、ネットワーク保護装置140を介して提供されてもよい。ネットワーク保護装置140は、一般的なネットワーク・セキュリティ装置(例えば、ファイアウォール、ルータ、ゲートウェイ、管理スイッチなど)でよい。例示的実施形態では、ホスト120との間の全てのネットワーク・トラフィックは、ネットワーク保護装置140を介して送られる。専用帯域幅を有するインターネット・サービス・プロバイダ(ISP)又はインターネット・サーバは、例えば、デジタル加入者線(DSL)、電話線、T1線、T3線、ワイヤレス、衛星、光ファイバ、ケーブル、 イーサネット(登録商標)など、又はこれらの任意の組み合わせなどの任意の適切な媒体を使用して、インターネット150への接続を提供することができる。追加のゲートウェイ、スイッチ、ルータなどを使用して、ホスト120、中央サーバ130、ネットワーク保護装置140及びインターネット150間の電子通信を容易にしてもよい。ISP又はインターネット・サーバは、ホスト120が伝送制御プロトコル/インターネットプロトコル(TCP/IP)を使用してインターネット上の他のノードと通信できるように構成されてもよく、メールサーバ(図示せず)は、ホスト120が簡易メール転送プロトコル(SMTP)を使用して電子メールメッセージを送受信できるようにしてもよい。
【0019】
例示的実施形態では、ローカル・ネットワーク110は、組織(例えば、企業、学校、政府実体、家族など)と関連付けられた従業員又は他の個人によって操作されるエンドユーザ・コンピュータを表わすホスト120a、120b及び120cを有する組織のネットワーク環境を表わす。エンドユーザ・コンピュータは、デスクトップ、ラップトップ、可搬型又は携帯型計算装置(例えば、携帯情報端末(PDA)又は携帯電話)などの計算装置、又はローカル・ネットワーク110へのネットワーク・アクセスと関連付けられたソフトウェア・プロセスを実行することができる他の計算装置を含んでもよい。ローカル・ネットワーク110内のホスト120a、120b及び120c、中央サーバ130、セカンダリ・サーバ180、ネットワーク保護装置145、並びに任意の追加の構成要素の間の接続には、例えば、ケーブル、 イーサネット(登録商標)、ワイヤレス(例えば、WiFi、3G、4Gなど)、ATM、光ファイバなどの任意の適切な媒体を含んでもよい。本明細書に示され述べられたネットワーク構成及び相互接続が、単に説明のためのものであることに注意されたい。
図1は、例として意図され、本開示におけるアーキテクチャの限定を意味するように解釈されるべきではない。
【0020】
図1に示された例示的実施形態では、指令制御サーバ170とボットネット・オペレータ175が、インターネット150に動作的に結合される。一例では、指令制御サーバ170は、分散型ボットにコマンドを出すようにボットネット・オペレータ175によって制御又は使用されるウェブサーバでよい。別の例では、指令制御サーバ170は、大企業、教育機関あるいは政府機関のサイトに悪意を持ってインストールされ隠されていてもよい。ボットネット・オペレータ175は、例えば、インターネット150を介して指令制御サーバ170にリモートでアクセスして、ホスト120a、120b又は120cなどの感染ホストコンピュータ上の分散型ボットを制御する命令を出してもよい。多数のボットネット・オペレータと、何百万台ものボットを制御する指令制御サーバが、インターネット150に動作的に接続されてもよい。一例では、ボットが、ホスト120a、120b又は120cのうちの1つに感染すると、ボットネット・オペレータ175は、指令制御サーバ170を介してコマンドを出して、ボットをローカル・ネットワーク110及び/又はの他のネットワークの全体に伝搬させ始める。更に、ボットネット・オペレータ175は、感染ホスト120a、120b又は120cから、スパム電子メール、秘密情報の盗難、分散型サービス妨害攻撃などの悪意のあるアクティビティをボットが試みる命令を出すことがある。
【0021】
図1は、また、インターネット150に接続されたグローバルサーバ160を示す。多数のサーバがインターネット150に接続されてもよいが、グローバルサーバ160は、リスクが評価されたソフトウェア・プログラム・ファイルに関係する情報を含む1つ又は複数のデータベースを提供するサービスを提供する。例えば、信頼できない(例えば、ウィルス、ワームなどの悪意のあるコードを含む)と評価及び判定されたソフトウェア・プログラム・ファイルが、いわゆる「ブラックリスト」に含まれてもよい。信頼できる(例えば、汚染されていない、悪意のあるコードを含まないなど)と評価及び判定されたソフトウェア・プログラム・ファイルが、いわゆる「ホワイトリスト」に含まれてもよい。ホワイトリストとブラックリストは、別々に実施されてもよいが、各ソフトウェア・プログラム・ファイルが、ホワイトリストファイル又はブラックリストファイルとして識別されるデータベース内で結合されてもよい。
【0022】
ホワイトリスト及びブラックリストは、各プログラム・ファイルの固有チェックサムが記憶されたチェックサムを使用して実施されてもよく、このチェックサムは、評価されるプログラム・ファイルの計算済みチェックサムと容易に比較することができる。チェックサムは、ソフトウェア・プログラム・ファイルにアルゴリズムを適用することによって導出された数値又はハッシュサム(例えば、番号数字の固定文字列)でよい。アルゴリズムが、第1のソフトウェア・プログラム・ファイルと同一の第2のソフトウェア・プログラム・ファイルに適用された場合は、チェックサムが合致しなければならない。しかしながら、第2のソフトウェア・プログラム・ファイルが異なる場合(例えば、第2のソフトウェア・プログラム・ファイルが、何らかの方法で変更された場合、第1のソフトウェア・プログラム・ファイルの異なるバージョンである場合、全く異なるタイプのソフトウェアである場合など)は、チェックサムは合致しない可能性が極めて高い。
【0023】
図1のグローバル・ホワイトリスト165などのデータベースは、独立した第三者によって提供されてもよく、消費者が入手可能な信頼できるソフトウェア・プログラム・ファイルの総合リストを提供するように定期的に更新されてもよい。同様に、ブラックリスト(図示せず)は、独立した第三者によって提供されてもよく、信頼できない悪意のあるソフトウェア・プログラム・ファイルの総合リストを提供するように定期的に更新されてもよい。グローバル・ホワイトリスト及びブラックリストは、ローカル・ネットワーク110の外部にあってもよく、インターネット150などの他のネットワークを介して、又はローカル・ネットワーク110とグローバル・ホワイトリスト165との間の電子通信を可能にする任意の他の適切な接続を介してアクセス可能であってもよい。そのようなグローバル・ホワイトリスト及びブラックリストの例には、カリフォルニア州サンタクララのMcAfee社によって提供されるArtemisデータベースと、オレゴン州ポートランドのSignaCert社によって提供されるSignaCert(登録商標)データベースが含まれる。
【0024】
図1は、また、ローカル・ネットワーク110内に示された内部ホワイトリスト133を含む。内部ホワイトリスト133は、また、リスクが評価されたソフトウェア・プログラム・ファイルに関係する情報を含んでもよく、チェックサムを使用してそのようなソフトウェア・プログラム・ファイルを識別してもよい。内部ホワイトリスト133内で識別されるソフトウェア・プログラム・ファイルは、1つ又は複数のグローバル・ホワイトリストからのソフトウェア・プログラム・ファイルを包含してもよく、かつ/又は選択されたソフトウェア・プログラム・ファイルを提供するようにカスタマイズされてもよい。詳細には、組織内部で開発されたが必ずしも一般大衆が入手できるとは限らないソフトウェア・プログラム・ファイルが、内部ホワイトリスト133内で識別されてもよい。更に、信頼できないと評価及び判定された特定のソフトウェア・プログラム・ファイルを識別するために、内部ブラックリストが提供されてもよい。
【0025】
図1に示されたローカル・ネットワーク110では、ホスト120aは、実行可能ソフトウェア122とローカル保護構成要素124とで構成されてもよい。実行可能ソフトウェア122は、ホスト120a上の全てのソフトウェア・プログラム・ファイル(例えば、実行可能ファイル、ライブラリ・モジュール、オブジェクト・ファイル、他の実行可能モジュール、スクリプト・ファイル、インタープリタ・ファイルなど)を含んでもよい。ホスト120aがボットに感染した場合は、ボットは、感染ホスト120aの実行可能ソフトウェア122内のプログラム・ファイルとして記憶される可能性がある。ホスト120aのローカル保護構成要素124は、実施形態によって異なる機能を提供することができる。システムの幾つかの実施形態では、ローカル保護構成要素124は、実行可能ソフトウェア122のインベントリ、又はホスト120a上の実行可能ソフトウェア122に対する変更及び追加のインベントリを定期的に提供してもよい。システムの実時間実施形態では、ローカル保護構成要素124は、ネットワーク・アクセス試行を遮断し、ネットワーク・アクセス試行と関係した情報を中央サーバ130に提供してもよい。ローカル保護構成要素124は、所定の長さの時間、又はネットワーク・アクセス試行を解放することを可能にする信号を中央サーバ130から受け取るまで、ネットワーク・アクセス試行を保持してもよい。
【0026】
ローカル・ネットワーク110内の中央サーバ130は、ホスト120a上のソフトウェア・プログラム・ファイルの信頼性状態を判定し、非信頼ソフトウェア・プログラム・ファイルと関連付けられたネットワーク・トラフィックの制限及びログ記録規則を作成し、制限及びログ記録規則をネットワーク保護装置140にプッシュし、及びログ・イベント・データベース131を、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックと関係したエントリで更新する中央保護構成要素135を含んでもよい。幾つかの実施形態では、中央保護構成要素は、中央非信頼ソフトウェア・インベントリ132を、非信頼ソフトウェア・プログラム・ファイルを識別するエントリで更新してもよい。中央サーバ130は、また、プログラム・ファイル・パス、アドレス(例えば、インターネットプロトコル(IP)アドレス)及び/又はポート番号などの情報を含む、ソフトウェア・プロセスをソフトウェア・プログラム・ファイルにマッピングすることができるプロセス・トラフィック・マッピング・データベース134を含むか又はそのデータベースに対するアクセスを有してもよい。ログ・イベント・データベース131、中央非信頼ソフトウェア・インベントリ132、内部ホワイトリスト133、及びプロセス・トラフィック・マッピング・データベース134は、中央サーバ130にアクセス可能な任意のネットワーク及び装置で提供されてもよい。本明細書で更に述べるように、中央非信頼ソフトウェア・インベントリ132は、システムの幾つかの実施形態では省略されてもよい。ネットワーク保護装置140は、ネットワーク・トラフィック(例えば、ホスト120aにインバウンドし、又はホスト120aからアウトバウンドする電子パケットなど)を遮断し、任意の適切な制限及びログ記録規則を遮断パケットに執行するネットワーク・レベル取り締まり構成要素145を含んでもよい。
【0027】
図2に移ると、
図2は、中央サーバ200及び関連したメモリ構成要素231、232、233及び234の概略図を示す。これは、
図1に示された中央サーバ130及び関連したメモリ構成要素131、132、133及び134の詳細な例である。
図2に示された例示的実施形態では、中央サーバ200の中央保護構成要素は、管理保護モジュール220、ポリシー・モジュール230、ポリシー・データベース235、ソフトウェア信頼判定モジュール240、及び規則作成モジュール250を含んでもよい。幾つかの実施形態では、中央保護構成要素は、また、ソフトウェア信頼判定モジュール240からの信頼プログラム・ファイル・キャッシュ・エントリを記憶する中央信頼キャッシュ245を含んでもよい。規則作成モジュール250は、バッチ処理モード実施形態で構成されてもよく、実時間(又は実質的に実時間)処理実施形態で構成されてもよい。規則作成モジュール250のバッチ処理及び実時間処理の両方の実施形態において、非信頼プログラム・ファイルが発見されたときに、ネットワーク制限規則及び/又はログ記録規則が作成されてもよい。中央保護構成要素は、また、プロセス・トラフィック・マッピング・データベース234を、プログラム・ファイル情報、ソース・アドレス及びポート番号、宛先アドレス及びポート番号などのソフトウェア・プロセスと関係した情報で更新するプロセス・トラフィック・マッピング・モジュール260を含んでもよい。
【0028】
中央サーバ200は、また、例えばログ・イベント・データベース231や内部ホワイトリスト233などの適切なハードウェア及びメモリ要素を含むか又はそれらに対するアクセスを有してもよい。幾つかの実施形態では、中央サーバ200は、また、中央非信頼ソフトウェア・インベントリ232を含むかそれに対するアクセスを有してもよく、他の実施形態では、中央非信頼ソフトウェア・インベントリ232は、システムの必須構成要素でなくてもよい。中央サーバ200には、プロセッサ280やメモリ要素290を含む他のハードウェア要素が含まれてもよい。最後に、認可された人が管理保護モジュール220などの管理構成要素を介してシステムを導入し、構成し、維持するため、管理コンソール210が、中央サーバ200に適切に接続されてもよい。
【0029】
中央信頼キャッシュ245を使用する実施形態では、キャッシュは、グローバル及び/又は内部ホワイトリストを検索する際に見つかったプログラム・ファイルなど、以前に信頼状態を有すると判定されたプログラム・ファイルを識別するエントリ(例えば、チェックサム)を一時的に記憶するためのメモリのブロックとしてハードウェア内に実現されてもよい。中央信頼キャッシュ245は、以前に信頼性状態が評価されたプログラム・ファイルを示すデータに対する迅速かつ透明なアクセスを提供することができる。これにより、要求されたプログラム・ファイルが中央信頼キャッシュ245内に見つかった場合は、グローバル及び/又は内部ホワイトリストの検索、又は任意の他の信頼評価が行なわれなくてもよいことがある。更に、中央信頼キャッシュ245を使用する実施形態は、中央非信頼ソフトウェア・インベントリ232を維持しなくてもよい。
【0030】
図3に移ると、
図3は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムを実現することができる、計算装置又はホスト300の一実施形態の概略図と、中央サーバ200のブロック図とを示す。ホスト300は、
図1のホスト120aのより詳細な例である。ホスト300は、例えば、プログラム・ファイル1〜nを含む1組の実行可能ソフトウェア340を含む。例えば実時間処理の実施形態などの幾つかの実施形態では、ホスト300内のローカル保護構成要素は、ホスト300上のネットワーク・アクセス試行を遮断し、ホスト・イベント情報(即ち、ネットワーク・アクセス試行及びその関連プログラム・ファイルと関係した情報)を中央サーバ200に送るための、中央サーバ200に対する双方向の流れを有するイベント・フィード330を含んでもよい。また、ネットワーク・アクセス試行を解放する前に、得られたネットワーク制限及び/又はログ記録規則をネットワーク保護装置400にプッシュできるよう、イベント・フィード330は、ネットワーク・アクセス試行を、所定の時間又は中央サーバ200からの信号を受け取るまで保持するように構成されてもよい。
【0031】
バッチ処理の実施形態や特定の実時間処理の実施形態などのシステムの様々な実施形態において、ローカル保護構成要素は、実行可能ソフトウェア340のインベントリ又は実行可能ソフトウェア340内の新規及び/又は変更されたプログラム・ファイルのインベントリを中央サーバ200にプッシュするため、中央サーバ200へのデータ・フローを有するソフトウェア・プログラム・インベントリ・フィード335を含んでもよい。イベント・フィード330及びソフトウェア・プログラム・インベントリ・フィード335は、ホスト300のユーザ空間内に常駐してもよい。また、ホスト300のユーザ空間内には、実行可能ソフトウェア340のプログラム・ファイルの1つ以上に対応する例示的な実行ソフトウェア・プロセス345が示されている。参照し易くするため、実行可能ソフトウェア340は、ホスト300上のユーザ空間内に示される。しかしながら、実行可能ソフトウェア340は、ホスト300のディスク・スペースなどのメモリ要素に記憶されてもよい。
【0032】
ホスト300は、また、ネットワーク・インタフェース・カード(NIC)装置370、プロセッサ380、メモリ要素390などのハードウェア構成要素を含んでもよい。伝送制御プロトコル/インターネットプロトコル(TCP/IP)350や他のプロトコル360などの伝送プロトコルは、ホスト300のカーネル空間内に常駐してもよい。
【0033】
図2と
図3には、メモリ管理ユニット(MMU)、付加的対称型マルチプロセッシング(SMP)要素、物理メモリ、 イーサネット(登録商標)、周辺構成要素相互接続(PCI)バス及び対応ブリッジ、小型コンピュータシステムインタフェース(SCSI)/Integrated Drive Electronics(IDE)要素などの形でプロセッサ280及び380に適切に結合されてもよい追加のハードウェアが示されていない。更に、ネットワーク・アクセスを可能にするため、適切なモデム及び/又は追加のネットワーク・アダプタを含んでもよい。中央サーバ200及びホスト300は、意図された機能を適切に実行するのに必要な任意の追加のハードウェア及びソフトウェアを含むことができる。更に、中央サーバ200及びホスト300内に、その中のハードウェア構成要素の動作を適切に管理するため、任意の適切なオペレーティング・システムが構成されてもよい。ハードウェア構成は異なってもよく、示された例がアーキテクチャの限定を意味するものではないことを理解されよう。
【0034】
図4に移ると、
図4は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステム内で使用されることがあるネットワーク保護装置400の概略図を示す。ネットワーク保護装置400は、
図1のネットワーク保護装置140の例である。ネットワーク保護装置400のネットワーク・レベル取り締まり構成要素は、フィルタ/ファイアウォール410、ネットワーク規則要素420、及びイベント・ログ430を含んでもよい。ネットワーク保護装置400は、プロセッサ480やメモリ要素490などのハードウェア構成要素を含んでもよい。例示的実施形態では、ネットワーク保護装置140は、一般的なネットワーク・セキュリティ装置(例えば、ファイアウォール、ルータ、ウェブ・ゲートウェイ、メール・ゲートウェイ、管理スイッチなど)であってもよく、必要に応じて意図された機能を実行するための他の適切なハードウェア及びソフトウェア構成要素を含んでもよい。
【0035】
ネットワーク保護装置400では、フィルタ/ファイアウォール410は、ネットワーク・トラフィック(例えば、ローカル・ネットワーク110からアウトバウンドされ、ローカル・ネットワーク110にインバウンドされ、又はローカル・ネットワーク110内の電子パケット)を遮断してもよく、ネットワーク規則要素420に照会して、ネットワーク・トラフィックの特定の遮断パケットに適用される制限及び/又はログ記録規則があるかどうか判定してもよい。適切な制限規則が見つかった場合は、その制限規則がパケットに適用され、パケットが阻止され、経路変更され、選択的に許可されるなどが行われてもよい。イベント・ログ430は、ネットワーク・トラフィック・イベント・データをログ記録するため、ネットワーク保護装置400内に提供されてもよい。ネットワーク・トラフィック・イベント・データは、例えば、ソース・アドレス及びポート番号、宛先アドレス及びポート番号、日時スタンプ、及び/又は規則ID(即ち、遮断パケットに適用される制限又はログ記録規則を示す識別子)など、ネットワーク保護装置400が受け取った特定のパケットと関係した情報を含んでもよい。そのようなログ記録は、ネットワーク規則要素420が、ネットワーク保護装置400が受け取った特定のパケットに対応するログ記録規則を有する場合、又は、例えば、ネットワーク・トラフィック・イベントに対応するパケットに制限規則が適用されたときにネットワーク・トラフィック・イベントをログ記録するなど、ログ記録がデフォルトで実行される場合に、行われてもよい。
【0036】
様々な例示的実施形態では、信頼判定、ログ記録、及び規則作成アクティビティは、中央サーバ200の管理保護モジュール220、ポリシー・モジュール230、ソフトウェア信頼判定モジュール240、規則作成モジュール250、及びプロセス・トラフィック・マッピング・モジュール260、並びに、ホスト120aのソフトウェア・プログラム・インベントリ・フィード335及び/又はイベント・フィード330とによって提供されてもよい。信頼判定、ログ記録、及び規則作成アクティビティと関係した情報は、適切に描写され、又は特定の場所(例えば、中央サーバ200、ネットワーク規則要素420など)に送られてもよく、単純に記憶され、又はアーカイブされてもよく(例えば、ログ・イベント・データベース231、中央非信頼ソフトウェア・インベントリ232、ポリシー・データベース235、プロセス・トラフィック・マッピング・データベース234、中央信頼キャッシュ245など)、かつ/又は任意の適切な形式で適切に表示されてもよい(例えば、管理コンソール210などにより)。そのような信頼判定、ログ記録及び規則作成アクティビティの1つ又は複数と関係したセキュリティ技術には、McAfee(登録商標)ソフトウェア(例えば、ePolicy Orchestrator、Application Control、及び/又は Change Control)又は他の類似のソフトウェアの要素が含まれる。したがって、そのような構成要素はいずれも、本明細書で使用されるような用語「管理保護モジュール」、「ポリシー・モジュール」、「ソフトウェア信頼判定モジュール」、「規則作成モジュール」、「プロセス・トラフィック・マッピング・モジュール」、「ソフトウェア・プログラム・インベントリ・フィード」及び「イベント・フィード」の広い範囲に含まれてもよい。ログ・イベント・データベース231、中央非信頼ソフトウェア・インベントリ232、内部ホワイトリスト233、プロセス・トラフィック・マッピング・データベース234、ポリシー・データベース235、中央信頼キャッシュ245、ネットワーク規則要素420、及びイベント・ログ430は、電子データの信頼判定、ログ記録及び規則作成と関係した情報(例えば、プログラム・ファイルの信頼判定、ネットワーク・アクセス試行、ソフトウェア・プロセスの宛先アドレスとポート番号、ソフトウェア・プロセスのソース・アドレスとポート番号、ネットワーク制限規則、ログ記録規則など)を含んでもよく、これらの要素は、ホスト300、中央サーバ200及びネットワーク保護装置400のモジュール及び構成要素と容易に協力し、連携し、その他相互作用することができる。
【0037】
図5〜
図12は、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステム及び方法の様々な実施形態と関連付けられたフローの例示的実施形態のフローチャートを含む。参照し易くするために、
図5〜
図12は、本明細書では、
図1のネットワーク環境100における特定の構成要素と、サーバ200、ホスト300、ネットワーク保護装置400及びそれらの関連した構成要素、要素、モジュールとを参照して説明されるが、本明細書で示され述べられたシステム及び方法のネットワーク・レベル実施形態を実現するために、様々な他の装置、構成要素、要素、モジュールなどを使用してもよい。
【0038】
図5に移ると、バッチ処理フロー500は、ネットワーク・レベル保護をするシステムのバッチ処理実施形態のフローを示す。これは、少なくとも部分的に、中央サーバ200の規則作成モジュール250として実施されてもよい。バッチ処理フロー500を実現するシステムの実施形態では、中央サーバ200の中央信頼キャッシュ245も中央非信頼ソフトウェア・インベントリ232も必要ではないことがある。バッチ処理フロー500は、任意の適切な所定の時間間隔で(例えば、1時間ごと、30分ごとなど)実行されてもよい。フローは、実行可能ソフトウェアのインベントリをホスト300などのホストから受け取るステップ520で始まってもよい。中央サーバ200は、ソフトウェア・プログラム・インベントリ・フィード335によって提供されることがあるインベントリをホスト300にポーリングしてもよい。ソフトウェア・プログラム・インベントリ・フィード335は、中央サーバ200に、ホスト300上の完全な更新済みソフトウェア・インベントリ、又はホスト300上のソフトウェア・プログラム・ファイル追加及び/又は変更のインベントリを提供するように構成されてもよい。ソフトウェア・プログラム・インベントリ・フィード335は、例えば、Policy AuditorソフトウェアやApplication Controlソフトウェアなどの既存のセキュリティ・ソフトウェアで実現されてもよく、これらのソフトウェアは両方とも、カリフォルニア州サンタクララのMcAfee社によって製造されている。
【0039】
ソフトウェア・インベントリを受け取った後で、フローはステップ525に進み、最初のプログラム・ファイルが、ソフトウェア・インベントリから取り出される。次に、フローはステップ530に進み、プログラム・ファイルの信頼性状態(即ち、信頼できるか信頼できないか)を判定する。信頼性状態は、1つ又は複数のソフトウェア信頼判定技術(例えば、内部ホワイトリストの評価、外部ホワイトリストの評価、プログラム・ファイルの状態変更の評価、ブラックリストの評価など)を使用する中央サーバ200のソフトウェア信頼判定モジュール240によって判定されてもよく、これについては、
図6と
図7に関連して本明細書で更に示され説明される。
【0040】
ステップ530でプログラム・ファイル信頼性状態が判定された後で、フローはステップ535に進み、プログラム・ファイルが信頼できるかどうかの照会がされる。プログラム・ファイルが信頼できる場合は、フローはステップ580に進んで、ネットワーク制限又はログ記録規則の作成を回避し、ソフトウェア・インベントリ内のループを続け、各プログラム・ファイルを評価する。しかしながら、ステップ535でプログラム・ファイル信頼性状態が信頼できない場合は、フローはステップ540に進み、プロセス・トラフィック・マッピング・データベース234から非信頼プログラム・ファイルに関するプロセス・トラフィック・マッピング情報を得る。プロセス・トラフィック・マッピング情報は、例えば、ネットワーク・トラフィックをログ記録しかつ/又は制限する規則を作成するために使用することができるプログラム・ファイルにマッピングされたソース・アドレス及び宛先ポート番号を含んでもよい。
【0041】
プログラム・ファイルのプロセス・トラフィック・マッピング情報を取得した後で、ステップ545で、ログ記録が有効かどうかの照会がされる。ステップ545での照会が、ログ記録が有効であることを示す場合は、フローはステップ550に進み、ログ記録規則が作成され、ネットワーク保護装置400にプッシュされてネットワーク規則要素420に記憶される。一例では、ステップ540で取得されたプロセス・トラフィック・マッピング情報からのソース・アドレスと宛先ポート番号は、特定のネットワーク・イベント・データをログ記録する規則を作成するために使用されることがある。この例では、ネットワーク保護装置400によって遮断された電子パケットが、プロセス・トラフィック・マッピング情報と一致するソース・アドレス及び宛先ポートを有するとき、ログ記録規則は、遮断パケットと関係したネットワーク・トラフィック・イベント・データをイベント・ログ430に記憶することを要求することがある。幾つかの実施形態では、ログ記録規則を識別する規則IDは、プロセス・マッピング・データベース234に記憶され、非信頼プログラム・ファイルにマッピングされてもよい。
【0042】
ステップ550で、ログ記録規則が作成されネットワーク保護装置400にプッシュされた後、又はステップ545でログ記録が有効でない場合、フローはステップ555に進み、取り締まりが有効かどうかの照会がされる。取り締まりが有効でない場合、フローはステップ580に進んで、非信頼プログラム・ファイルのネットワーク制限規則の作成を回避し、ソフトウェア・インベントリ内のループを続け、ソフトウェア・インベントリ内の残りのプログラム・ファイルを評価する。しかしながら、ステップ555で取り締まりが有効である場合は、ステップ560で、ポリシー・データベース235に照会して、構成ポリシーがプログラム・ファイルの非信頼状態を覆し、プログラム・ファイルと関連付けられたネットワーク・トラフィックを許可するかどうかを判定する。例示的実施形態では、中央サーバ200のポリシー・モジュール230は、ネットワーク管理者や他の許可ユーザが、管理コンソール210によってポリシー構成を巧妙に作成し、そのようなポリシーをポリシー・データベース235に記憶することを可能にしてもよい。次に、ステップ560で、非信頼プログラム・ファイルに関連したポリシーがないかポリシー・データベース235に照会してもよい。
【0043】
ポリシー・データベース235内に、プログラム・ファイルの非信頼状態を覆すポリシーが見つかった場合、フローはステップ580に進み、非信頼プログラム・ファイルのためのネットワーク制限規則の作成を回避し、ソフトウェア・インベントリ内のループを続け、ソフトウェア・インベントリ内の残りのプログラム・ファイルを評価する。しかしながら、ポリシーが、プログラム・ファイルの非信頼状態を覆さない(即ち、ポリシーが何らかのタイプの制限規則を必要とするか、適用できるポリシーがない)場合、フローはステップ570に進み、プロセス・トラフィック・マッピング情報及び/又は任意の適切なポリシーを使用して1つ又は複数のネットワーク制限規則を作成することができる。
【0044】
ポリシーは、様々なタイプの制限規則を作成するために使用されてもよく、そのようなポリシー構成が、必要に応じて特定のネットワーク所有者によって実施されてもよい。幾つかの例示的実施形態では、ポリシー構成は、全てのインバウンド及びアウトバウンド・ネットワーク・トラフィックを阻止すること、全てのインバウンド・ネットワーク・トラフィックを阻止しアウトバウンド・ネットワーク・トラフィックを許可すること、又はインバウンド・ネットワーク・トラフィックを許可しアウトバウンド・ネットワーク・トラフィックを阻止することなど、1つ又は複数の広範囲にわたる制限を含んでもよい。ローカル・ネットワークへのアウトバウンド・ネットワーク・トラフィックを阻止するがインターネットへのアウトバウンド・ネットワーク・トラフィックを許可すること、ソース・アドレスの指定サブネットからのインバウンド・ネットワーク・トラフィックを許可しかつ/又は宛先アドレスの指定サブネットへのアウトバウンド・ネットワーク・トラフィックを許可することなど、より特定の戦略が使用されてもよい。最後に、ポート上の特定のインバウンド・サービス及び/又は特定のアウトバウンド・サービス(例えば、ドメインネームサービス(DNS)、簡易メール転送プロトコル(SMTP)、インターネット・リレー・チャット(IRC)など)などのより大まかな戦略が使用されてもよい。これらの例示的なポリシー構成は、例示のためのものであり、インバウンド、アウトバウンド、及び/又はローカル・ネットワーク・トラフィック、又はこれらの任意の組み合わせを制限する他のポリシー構成も含むことが意図される。そのようなポリシーは、ネットワーク・レベル保護をするシステムにおいて、構成ポリシーを使用して作成されたネットワーク制限規則を適用するネットワーク保護装置400内にネットワーク・トラフィックを送ることによって実施されてもよい。
【0045】
特定のポリシー構成は、非信頼ソフトウェアの伝搬及び潜在的に悪意のあるアクティビティを防ぐ必要性や、必要な事業活動を行なう必要性など、競合する関心の間での平衡がとられてもよい。例えば、ホスト・サブネットとサーバ・サブネットを有するネットワークにおいて、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックがサーバ・サブネットだけにアクセスでき、ホスト・サブネットにはアクセスできないよう、ポリシーを構成してもよい。これは、悪意のあるソフトウェアがネットワーク内の他のホストに伝搬するのを防ぎ、同時にセキュアなサーバ・サブネットに対する各ホストの非遮断アクセスを可能にするので望ましいことがある。別のポリシーは、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックが、既知のサブネット・ホスティング・ジョブ・クリティカル・サービスを除くインターネットにアクセスするのを阻止してもよい。したがって、選択的なネットワーク・アクセスを許可するポリシーを巧妙に作成することにより、様々な阻止オプションを使用することができる。
【0046】
ネットワーク・レベル保護をするシステム及び方法の実施形態において、非信頼プログラム・ファイルのためのネットワーク・レベル固有ポリシーが巧妙に作成されてもよい。例えば、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックをセカンダリ・サーバ180などの別のサーバに転送するポリシーが、巧妙に作成されてもよい。一例では、非信頼プログラム・ファイルと関連付けられた潜在的に悪意のあるネットワーク・トラフィックが、セカンダリ・サーバ180上の追加のファイアウォール、フィルタ、アンチスパム/アンチウイルス・ゲートウェイ、プロキシなどに強制的に通されてもよい。別の例では、セカンダリ・サーバ180が、ネットワーク接続を受け取ったときに1つ又は複数の所定のコマンドで応答するように構成されてもよい。幾つかのボットは、特定のコマンドを受け取ったときに自滅するように設計され、セカンダリ・サーバ180は、ネットワーク接続にそのようなコマンドで応答し、それによりセカンダリ・サーバ180に転送されたボットが破壊されるように構成されてもよい。
【0047】
別のネットワーク・レベル固有ポリシーは、仮想ローカルエリアネットワーク(VLAN)メンバシップを別のVLANポートに切り換えることを含む。この例では、VLANメンバシップは、非信頼プログラム・ファイルと関連付けられたポートに切り替えられてもよい。VLANメンバシップを別のポートに切り替えると、個々のストリームではなくそのポート上の全てのネットワーク・トラフィックが有効に移動するが、代替のVLANは、ネットワーク・トラフィックを、追加のファイアウォール、フィルタ、アンチスパム及びアンチウイルス・ゲートウェイ、プロキシなどに強制的に通すように構成されてもよい。このタイプの制限は、ネットワーク保護装置400がレイヤー2の管理スイッチとして構成された場合に特に有用なことがある。
【0048】
別の例示的実施形態では、ネットワーク保護装置400は、より深いパケット検査を行って、複数の会話ストリームが単一ポートを介して転送されているかどうかを判定し、また適切なネットワーク制限及びログ記録規則が適用される非信頼プログラム・ファイルと関連付けられたストリームを識別するように適応されてもよい。したがって、この実施形態では、ポリシーは、ネットワーク制限又はログ記録規則が、非信頼プログラム・ファイルと関連付けられた特定のストリームを選択的に阻止しかつ/又はログ記録し、同時に他のストリームが同じポートを介した接続を継続できるように巧妙に作成されるように構成されてもよい。
【0049】
図5のステップ570に戻ると、ネットワーク制限規則は、プロセス・トラフィック・マッピング情報及び/又は任意の適切なポリシーを使用して作成され、次にネットワーク保護装置400にプッシュされる。例えば、ポリシーが、非信頼プログラム・ファイルと関連付けられた全てのインバウンド及びアウトバウンド・ネットワーク・トラフィックを阻止することを要求するように構成された場合は、ステップ540で取得されたプロセス・トラフィック・マッピング情報からのソース・アドレス及び宛先ポートを使用して、一致するソース・アドレス及び宛先ポートを有するインバウンド又はアウトバウンド・パケットを阻止する1つ又は複数の制限規則を作成してもよい。ステップ570でネットワーク制限規則が作成された後、ネットワーク制限規則は、ネットワーク保護装置400にプッシュされ、ネットワーク規則要素420に記憶される。次に、フローはステップ580に進み、評価しているプログラム・ファイルがソフトウェア・インベントリ内の最後のプログラム・ファイルであるかどうかが判定される。そのプログラム・ファイルが、最後のプログラム・ファイルの場合、フロー500は終了する。しかしながら、それが最後のプログラム・ファイルでない場合は、ステップ590で、ソフトウェア・インベントリ内の次のプログラム・ファイルが取り出され、フローはステップ530に戻って、新しく取得されたプログラム・ファイルの信頼性状態を判定し、プログラム・ファイルに適したネットワーク制限又はログ記録規則を作成する。
【0050】
図6〜
図7に移ると、例示的なフローは、ネットワーク・レベル保護をするシステムのバッチ処理実施形態におけるプログラム・ファイルの信頼性状態を判定する代替の実施形態を示す。
図6又は
図7の例示的なステップは、少なくとも部分的に中央サーバ200のソフトウェア信頼判定モジュール240として実施されてもよく、
図5のバッチ処理実施形態のステップ530に対応してもよい。
図6は、ホワイトリスト評価を使用する信頼判定フロー600を示す。これは、ホスト300から中央サーバ200にプッシュされたソフトウェア・インベントリ内の各プログラム・ファイルについて実行される。フローはステップ610で始まってもよく、現在のプログラム・ファイルが評価されて、それが、
図1に示されたグローバル・ホワイトリスト165などの少なくとも1つのグローバル・ホワイトリスト上、及び/又はローカル・ネットワーク110外の他のホワイトリスト上で識別されたかどうかが判定される。本明細書で前に述べたように、プログラム・ファイルを識別するために、ホワイトリスト内でチェックサムが使用されてもよい。ステップ610でプログラム・ファイルがグローバル又は他の外部ホワイトリストのいずれかに見つかった場合は、プログラム・ファイルの信頼性状態が、信頼できると定義されて、フローが終了し、信頼性状態が、
図5のステップ530に返される。しかしながら、プログラム・ファイルが、ステップ610でグローバル又は他の外部ホワイトリスト上に見つからなかった場合、フローはステップ620に進み、内部ホワイトリスト133などの1つ又は複数の内部ホワイトリストが、検索されてもよい。組織は、複数のホワイトリスト(例えば、組織全体のホワイトリスト、企業レベルのホワイトリストなど)を使用してもよい。プログラム・ファイルが、内部ホワイトリストのどれかに見つかった場合、プログラム・ファイルの信頼性状態が、信頼できると定義されて、フローが終了し、信頼性状態が、
図5のステップ530に返される。
【0051】
しかしながら、ステップ610及び620で、プログラム・ファイルが内部又は外部ホワイトリストのどれにも見つからなかった場合、プログラム・ファイルは、非信頼状態を有する。次に、フローはステップ630に進んでもよく、プログラム・ファイルが評価されて、プログラム・ファイルを非信頼状態から信頼状態に昇格させることができる既定条件が存在するかどうかが判定されてもよい。そのような既定条件は、例えば、管理者が所有するソフトウェア、ファイル・アクセス制御、ファイル属性(例えば、作成時刻、修正時刻など)などのヒューリスティックな検討事項を含んでもよい。一例では、管理者が所有する非信頼プログラム・ファイルが、信頼状態に昇格され、したがって、フローが終了し、信頼性状態は、
図5のステップ530に返されてもよい。しかしながら、ステップ630で、プログラム・ファイルが既定条件をいずれも満たさない場合は、非信頼状態が持続し、その結果、プログラム・ファイルが、信頼できないと定義され、フローが終了し、信頼性状態が、
図5のステップ530に返される。
【0052】
信頼判定フロー600は、また、ホワイトリストに加えてブラックリストを評価する追加の論理(図示せず)を含んでもよい。ブラックリストは、悪意のあることが分かっているソフトウェア・プログラム・ファイルを識別する。ブラックリストは、McAfee社によって提供されるArtemis及びAnti−Virusデータベース、並びにローカル・ネットワーク内にローカルに維持されたブラックリストを含む多数のソースによって提供されてもよい。この実施形態では、プログラム・ファイルが、内部又は外部ブラックリストのどれかに見つかった場合、プログラム・ファイルは、信頼できないと定義される。
【0053】
図7に移ると、
図7は、
図5のステップ530に対応する信頼判定フロー700の代替の実施形態を示す。これは、ソフトウェア・インベントリ内の各プログラム・ファイルについて実行されてもよい。フローは、ステップ720で始まり、現在のプログラム・ファイルが評価されて、変化したかどうかが判定される。プログラム・ファイルの現在の状態が、前の状態から変化していない場合、プログラム・ファイルの信頼性状態が、信頼できると定義され、フローが終了し、信頼性状態が、
図5のステップ530に返される。しかしながら、プログラム・ファイルの現在の状態が前の状態から変化した場合は、プログラム・ファイルは、非信頼状態を有する。既存の変更追跡製品(例えば、McAfee(登録商標)Change Controlソフトウェア、McAfee(登録商標)Application Controlソフトウェア、McAfee(登録商標)ePolicy Orchestratorソフトウェア、McAfee(登録商標)Policy Auditorソフトウェア、オレゴン州ポートランドのTripwire社によって製造されたTripwire(登録商標)ソフトウェアなど)を使用して、プログラム・ファイルの変更データを調べ、変更が起きたかどうかを判定してもよい。一例では、変更レコードは、中央サーバ200で集中的に総計されてもよく、McAfee(登録商標)ePOソフトウェアが、プログラム・ファイルが変化したかどうかを判定してもよい。
【0054】
図7のステップ720を再び参照すると、プログラム・ファイルが変化し、したがって非信頼状態を有すると判定された場合、フローはステップ730に進んでもよく、プログラム・ファイルが評価されて、
図6に関連して本明細書で前に述べたように、プログラム・ファイルを非信頼状態から信頼状態に昇格できる既定条件が存在するかどうかが判定される。1つ又は複数の既定条件が存在する場合は、プログラム・ファイルが、信頼状態に昇格されてもよい。しかしながら、プログラム・ファイルに適用される既定条件がない場合は、非信頼状態が持続し、プログラム・ファイルは、信頼できないと定義されてもよい。ステップ730で信頼性状態が決定された後で、フローは終了し、プログラム・ファイルの信頼性状態が、
図5のステップ530に返される。
【0055】
プログラム・ファイルを列挙し、信頼性状態を判定する代替の実施態様は、容易に明らかになる。本明細書で前に示され述べられた実施形態は、ホスト300などのネットワーク内の各ホスト上の実行可能ソフトウェアのインベントリを列挙し、ソフトウェア・インベントリを中央サーバ200にプッシュして、インベントリ内の各プログラム・ファイルと関連付けられた信頼性状態を判定することに言及している。しかしながら、代替の実施形態では、ソフトウェア・プログラム・ファイルの信頼判定が各ホストによってローカルに行なわれてもよく、得られた情報が別の場所(例えば、中央サーバ200)にプッシュされ、かつ/又はローカル非信頼ソフトウェア・インベントリ上にローカルに維持されてもよい。
【0056】
ソフトウェア・プログラム・ファイルの信頼性状態をローカルに判定することは、ホワイトリスト評価、ブラックリスト評価、状態変更評価、又は任意の他の適切な信頼評価技術によって行なわれてもよい。そのような実施形態では、実行可能ソフトウェアのインベントリは、例えば、McAfee(登録商標)ソフトウェア(例えば、Policy Auditor、Application Control、又はChange Control)によって列挙されてもよい。
図6に示されたようなホワイトリスト評価を行なうとき、ホストは、ローカル・ネットワーク上の内部ホワイトリスト及び/又はインターネットなどの別のネットワークを介してアクセス可能な外部ホワイトリストにアクセスしてもよい。
図7に示されたように、プログラム・ファイル状態変更評価は、プログラム・ファイルの現在と以前の変化状態を評価することによってローカルに行なわれてもよい。例えば、McAfee(登録商標)Change Controlソフトウェアは、一連の変更レコードがホスト上にローカルに維持されることを可能にし、この変更レコードを評価して、特定のホスト上のプログラム・ファイルのどれかが変化したかどうかを判定することができる。更に、この開示の広い範囲により、例えば、ホワイトリスト評価とソフトウェア・プログラム・ファイルの状態変更評価の両方を実行すること、及び/又はソフトウェア・プログラム・ファイルのブラックリスト評価を実行することを含む多数の他の技術を使用して、ソフトウェア・プログラム・ファイルの信頼性状態を判定することができる。
【0057】
図5〜
図7を参照して示され述べられたバッチ処理実施形態を実現することにより、ソフトウェア・インベントリを所定の時間間隔(例えば、1時間ごと、30分ごとなど)で評価することができ、非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックを阻止する制限規則を作成することができる。したがって、ネットワーク保護装置400の構成は、デフォルトで開いている(即ち、ネットワーク・トラフィックは、規則で禁止されない限り許可される)。しかしながら、このデフォルトで開いた手法は、最近ホストに感染したボットが、まだ信頼できないと定義されておらず、したがって、ボットと関連付けられたネットワーク・トラフィックを阻止する制限規則がまだ作成されていないのでローカル又はリモート・ネットワークへのアクセスによって悪意のあるアクティビティを伝搬又は実行する可能性のある時間ウィンドウを作成することがある。しかしながら、幾つかの企業では、この手法は、所定の時間間隔が重要でないか又は代替の手法が正当で必要な企業活動を妨げることがあるので、望ましい場合がある。
【0058】
他の企業は、より厳格な管理を好む場合があり、代替実施形態でデフォルトで閉じた手法が実現されてもよい。デフォルトで閉じた手法では、ネットワーク保護装置400は、規則によって特定的に許可されない限り全てのネットワーク・トラフィックを阻止するように構成されることがある。ネットワーク保護装置400によって遮断された全ての電子パケットを評価して、ネットワーク規則要素420が、遮断パケットの伝送を特に許可する規則(例えば、許可されたソース・アドレス及びポート番号を有するパケット、許可された宛先アドレス及びポート番号を有するパケットなど)を含むかどうかを判定してもよい。そのような一実施形態では、新しいプログラム・ファイルが信頼状態を有すると判定されたときに、制限規則ではなく許可規則を作成しネットワーク保護装置400にプッシュしてもよい。
【0059】
図8に移ると、実時間処理フロー800は、
図2の規則作成モジュール250として少なくとも部分的に実施されることがあるネットワーク・レベル保護をするシステムの実時間実施形態のフローを示す。フローはステップ810で始まり、中央サーバ200が、ホスト・イベント情報(例えば、ホスト300上のソフトウェア・プロセス345と関連付けられたネットワーク・アクセス試行と関係する情報)を受け取る。例示的実施形態では、ホスト300上のソフトウェア・プロセス345などのソフトウェア・プロセスが、ネットワーク・アクセスを試みるときに、イベント・フィード330が、ホスト・イベント情報を生成し、その情報を中央サーバ200にプッシュする。ネットワーク・アクセス試行は、2010年7月28日に出願され参照によりあらかじめ本明細書に組み込まれた「System and Method for Local Protection Against Malicious Software」と題する同時係属米国特許出願第12/844,892号における様々な実施形態を参照して説明された技術を含む任意の適切な技術を使用して遮断されてもよい。
【0060】
ネットワーク・アクセス試行が遮断された後で、例えばホスト300のオペレーティング・システム・カーネル内に提供されたプロセス・トラフィック・マッピング要素に照会して、ソフトウェア・プロセス345と関連付けられたネットワーク・アクセス試行にどのプログラム・ファイル(例えば、実行可能ファイル、ライブラリ・モジュール、オブジェクト・ファイル、他の実行可能モジュール、スクリプト・ファイル、インタープリタ・ファイルなど)が対応するかを判定してもよい。この例では、ネットワーク・アクセス試行は、実行ソフトウェア・プロセス345にマッピングされ、実行ソフトウェア・プロセス345のなかにロードされる実行可能ファイル及び1つ又は複数のライブラリ・モジュールにマッピングされることがある。これにより、中央サーバ200にプッシュされたホスト・イベント情報は、1つ又は複数の識別されたプログラム・ファイルのプログラム・ファイル・パス、関連プログラム・ファイル・ハッシュ、ソース・アドレス及びポート、並びに/又はネットワーク・アクセス試行の宛先アドレス及びポートを含んでもよい。
【0061】
ステップ810で中央サーバ200がホスト・イベント情報を受け取った後、フローはステップ820に進み、ネットワーク・アクセス試行と関連付けられたプログラム・ファイルの信頼性状態を取得する。プログラム・ファイルの信頼性状態の判定は、様々な技術を使用して行うことができ、この技術は、
図9の第1の実施形態(即ち、中央非信頼ソフトウェア・インベントリ232を使用した信頼性状態の判定)と
図10の別の実施形態(即ち、中央信頼キャッシュ245を使用した信頼性状態の実時間判定)とで詳細に示され述べられる。
【0062】
ステップ820でネットワーク・アクセス試行と関連付けられた各プログラム・ファイルの信頼性状態を取得した後で、フローはステップ830に進む。これは、少なくとも部分的に中央サーバ200のプロセス・トラフィック・マッピング・モジュール260として実施されてもよい。ステップ830で、プログラム・ファイルのどれかが非信頼状態を有する場合は、ホスト・イベント情報を使用してプロセス・トラフィック・マッピング・データベース234を設定してもよい。例えば、プログラム・ファイルと関連付けられた詳細なポート及びアドレス情報とプログラム・ファイル・パス情報とが、プロセス・トラフィック・マッピング・データベース234に追加される。次にフローはステップ835に進み、ネットワーク・アクセス試行と関連付けられた全てのプログラム・ファイルが信頼状態を有するかどうかが照会され、信頼状態を有する場合、フローは終了し、プログラム・ファイルと関連付けられたネットワーク・トラフィックのログ記録又は制限規則を作成しない。しかしながら、プログラム・ファイルのうちのどれかが非信頼状態を有する場合、フローはステップ845に進み、ログ記録が有効かどうかを判定する。
【0063】
ログ記録が有効である場合は、フローはステップ850に進み、ログ記録規則が作成され、ネットワーク規則要素420に記憶するため、ネットワーク保護装置400にプッシュされてもよい。一例では、ホスト・イベント情報からのソース・アドレス及びポート番号並びに宛先アドレス及びポート番号を使用して、特定のネットワーク・イベント・データをログ記録する規則を作成してもよい。この例では、ログ記録規則は、遮断パケットがホスト・イベント情報と一致するソース・アドレス、ソース・ポート、宛先アドレス及び宛先ポートを有するときに、ネットワーク保護装置400によって遮断された電子パケットと関係したネットワーク・トラフィック・イベント・データをイベント・ログ430に記憶することを要求してもよい。幾つかの実施形態では、ログ記録規則を識別する規則IDは、プロセス・トラフィック・マッピング・データベース234に記憶され、ネットワーク・アクセス試行と関連付けられたプログラム・ファイルにマッピングされてもよい。
【0064】
ステップ850で、ログ記録規則が作成されネットワーク保護装置400にプッシュされた後、又はステップ845でログ記録が有効でない場合、フローはステップ855に進み、取り締まりが有効かどうかが判定される。取り締まりが有効でない場合、フローは終了し、1つ又は複数の非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックの制限規則を作成しない。しかしながら、ステップ855で取り締まりが有効である場合は、ステップ860でポリシー・データベース235が照会されて、プログラム・ファイルの非信頼状態を覆し、プログラム・ファイルと関連付けられたネットワーク・トラフィックを許可する構成ポリシーがあるかどうかが判定されてもよい。そのようなポリシーが見つかった場合、フローは終了し、制限規則を作成しない。しかしながら、ポリシーが、プログラム・ファイルの非信頼状態を覆さない(即ち、ポリシーが、何らかのタイプの制限規則を必要とするか、ポリシーが適用できない)場合、フローはステップ870に進み、ホスト・イベント情報及び/又は任意の適切なポリシーを使用して1つ又は複数のネットワーク制限規則を作成し、ネットワーク保護装置400にプッシュすることができる。一例では、ホスト・イベント情報を使用して、ホスト・イベント情報からのソース・アドレス及びポート並びに宛先アドレス及びポートと一致するソース・アドレス及びポート並びに宛先アドレス及びポートを有するインバウンド、アウトバウンド、及び/又はローカルパケットを阻止する制限規則を作成してもよい。制限規則を作成するポリシーの使用及びネットワーク・レベル固有ポリシーを含むそのようなポリシーの例は、
図5のバッチ処理フローに関して本明細書で前に述べた。
【0065】
制限規則が、ホスト・イベント情報及び/又は任意の適切なポリシーを使用して作成された後で、その制限規則は、ネットワーク保護装置400にプッシュされ、ネットワーク規則要素420に記憶され、次にフローは終了する。この実時間実施形態では、ネットワーク・アクセス試行が遮断された後、実時間処理フロー800が、必要な規則を作成しその規則をネットワーク保護装置400にプッシュための十分な時間を設けるため、ホスト300内に時間遅延が設定されてもよい。別の実施形態では、プロセス・トラフィック・マッピング・データベース234をネットワーク・アクセス試行のマッピング情報で更新し、及び/又は任意の得られたログ記録又は制限規則をネットワーク保護装置400にプッシュしたことを、中央サーバ200がホスト300に肯定応答するまで、ネットワーク・アクセス試行はホスト300上に保持されてもよい。この肯定応答は、例えば、ホスト300上のイベント・フィード330への双方向データ・フローによる信号によって遂行されてもよい。
【0066】
図9〜
図10に移ると、例示的なフローは、ネットワーク・レベル保護をするシステムの実時間処理実施形態におけるプログラム・ファイルの信頼性状態を判定する代替実施形態を示す。
図9又は
図10の例示的なステップは、少なくとも部分的に中央サーバ200のソフトウェア信頼判定モジュール240として実施されてもよく、
図8の実時間処理実施形態のステップ820に対応してもよい。
【0067】
図9は、中央非信頼ソフトウェア・インベントリ232を利用する信頼判定フロー900を示す。この実施形態では、中央非信頼ソフトウェア・インベントリ232は、例えば、引用により本明細書にあらかじめ組み込まれた同時係属米国特許出願番号12/844,892号の
図4〜
図6に関して述べたように作成され維持されてもよい。ステップ930で、中央非信頼ソフトウェア・インベントリ232を検索して、ネットワーク・アクセス試行と関連付けられた各プログラム・ファイルを探す。プログラム・ファイルが、中央非信頼ソフトウェア・インベントリ232上で識別された場合は、識別されたプログラム・ファイルの信頼性状態は、非信頼である。しかしながら、プログラム・ファイルが中央非信頼ソフトウェア・インベントリ232上に識別されない場合、プログラム・ファイルの信頼性状態は、信頼である。プログラム・ファイルが評価された後で、プログラム・ファイルの信頼性状態が、
図8のステップ820に返され、本明細書で前に述べたようにログ記録と制限規則が作成されてもよい。
【0068】
図10に移ると、
図10は、
図8のステップ820に対応し、ネットワーク・レベル保護をするシステムの実時間実施形態において実時間の信頼判定を行なう代替の信頼判定フロー1000を示す。中央非信頼ソフトウェア・インベントリ232は、この実施形態から省略されてもよく、その代わりに、中央信頼キャッシュ245を使用して、信頼性状態判定の際のより迅速な取り出しと全体処理のために、信頼プログラム・ファイルの識別(例えば、チェックサム)を記憶してもよい。
【0069】
ステップ1010で始まり、ネットワーク・アクセス試行と関連付けられた全てのプログラム・ファイルが、中央信頼キャッシュ245内に見つかったかどうかの照会がされる。プログラム・ファイルが全て中央信頼キャッシュ245内に見つかった場合は、全てのプログラム・ファイルが信頼状態を有する。その結果、フローは終わり、信頼性状態が、
図8のステップ820に返される。しかしながら、いずれかのプログラム・ファイルが、中央信頼キャッシュ245内に見つからなかった場合、フローはステップ1020に進み、
図1に示されたグローバル・ホワイトリスト165などの1つ又は複数のグローバル又は他の外部ホワイトリスト、及び/又は
図1に示された内部ホワイトリスト133などの1つ又は複数の内部ホワイトリストを検索して、中央信頼キャッシュ245内に見つからなかった各プログラム・ファイルを探す。プログラム・ファイルがホワイトリストの少なくとも1つに識別された場合は、識別されたプログラム・ファイルの信頼性状態が、信頼できるとして定義されるが、プログラム・ファイルがホワイトリストのどれにも識別されなかった場合、プログラム・ファイルの信頼性状態は、信頼できないと定義される。ホワイトリストが検索された後で、フローはステップ1030に進み、中央信頼キャッシュ245が、信頼性状態を有する(即ち、ホワイトリストの1つで識別された)プログラム・ファイルのチェックサムで更新される。次に、プログラム・ファイルの信頼性状態を
図8のステップ820に返すことができる。
【0070】
実時間信頼判定フロー1000は、どのホワイトリストにも見つからずその結果として非信頼状態を有するプログラム・ファイルを評価して、非信頼プログラム・ファイルを信頼状態に昇格してもよい既定条件が存在するかどうかを判定する追加のロジックを含んでもよい。そのような既定条件は、
図6に関して本明細書で前に示し述べたヒューリスティックな検討事項を含んでもよい。1つ又は複数の既定条件が存在する場合は、プログラム・ファイルが、信頼状態に昇格されてもよい。しかしながら、プログラム・ファイルに適用される既定条件がない場合は、非信頼状態が持続し、プログラム・ファイルは、信頼できないと定義されてもよい。実時間信頼判定フロー1000は、やはり本明細書で前に述べたように、ホワイトリストに加えて、ブラックリストを評価する追加のロジック(図示せず)を含んでもよい。
【0071】
図11に移ると、
図11は、ネットワーク・レベル保護をするシステムのバッチ処理実施形態(
図5〜
図7)と実時間実施形態(
図8〜
図10)との両方で使用されることがあるネットワーク保護装置400のネットワーク取り締まりフロー1100を示す。フローは、ステップ1110で始まり、ネットワーク保護装置400のフィルタ/ファイアウォール410が、ホスト300上の実行ソフトウェア・プロセス345などのソフトウェア・プロセスと関連付けられたネットワーク・トラフィックを遮断する。例示的実施形態では、TCP/IPネットワーク・トラフィックは、複数の電子パケットの形であってもよい。次に、フローはステップ1120に進み、ログ記録規則が遮断パケットに適用されるかどうかが照会される。これは、ネットワーク規則要素420を検索することによって判定されてもよい。ログ記録規則が適用される場合は、ステップ1130で、イベント・ログ430は、ネットワーク・トラフィックと関係したイベント・データで更新される。イベント・ログ430が更新された後、又はステップ1120での判定によりログ記録規則が適用されない場合、フローはステップ1140に進んで、ネットワーク制限規則が遮断パケットに適用されるかどうかが照会される。この照会は、ネットワーク規則要素420を検索することによって行われてもよい。遮断パケットのネットワーク制限規則が存在しない場合、フローはステップ1190に進み、パケットは、フィルタ/ファイアウォール410を通ってその宛先アドレスへ行くことを許可される。しかしながら、ネットワーク制限規則が遮断パケットに適用される場合、フローはステップ1180に進む。ステップ1180で、ネットワーク制限規則が、パケットに適用され、それによりパケットが制限される(例えば、パケットが阻止される、パケットが別のサーバに転送される、VLANメンバシップが切り替えられる、など)。
【0072】
図12は、ネットワーク・アクセス試行をログ記録するフロー1200を示す。これは、ネットワーク・レベル保護をするシステムのバッチ処理実施形態(
図5〜
図7)及び実時間実施形態(
図8〜
図10)で実現されてもよい。フローはステップ1210で始まり、ログ・レコードが、ネットワーク保護装置400のイベント・ログ430から取得される。例示的実施形態では、新しいログ・レコード(例えば、最後の所定の日時以降にイベント・ログ430に追加されたログ・レコード、ログ・イベント・データベース231が最後に更新されて以降にイベント・ログ430に追加されたログ・レコード、など)だけが取り出される。あるいは、全てのログ・レコードが取り出され処理されてもよく、全てのログ・レコードが取り出されもよく、フロー1200は、ログ・レコードのどれが新しいかを判定する追加の処理を含んでもよい。
【0073】
ログ・レコードが、ネットワーク保護装置400から取り出された後で、フローはステップ1220に進み、プロセス・トラフィック・マッピング・データベース234から情報が取り出されてもよい。プロセス・トラフィック・マッピング・データベース234は、プログラム・ファイル・パスやホスト識別など、ログ・レコード内のネットワーク・トラフィック・イベント・データに対応するユーザが理解可能な情報を提供してもよい。例えば、ログ・レコードからの宛先アドレス及びポート並びにソース・アドレス及びポートは、プロセス・トラフィック・マッピング・データベース234内の非信頼プログラム・ファイル・パスにマッピングされてもよい。別の例では、プロセス・トラフィック・マッピング・データベース234あるいは他の別個のデータベース又はレコード内で、非信頼プログラム・ファイル・パスへのマッピングを見つけるためにログ・レコードから規則IDが使用されてもよい。
【0074】
ユーザが理解可能な情報が、プロセス・トラフィック・マッピング・データベース234から取り出された後で、フローはステップ1230に進み、ログ・イベント・データベース231を、ログ・レコードからのネットワーク・トラフィック・イベント・データ及び任意の対応するプロセス・トラフィック・マッピング情報で更新することができる。ログ・イベント・データベース231に記憶されたネットワーク・トラフィック・イベント・データ及び対応するプロセス・トラフィック・マッピング情報の例には、プログラム・ファイル・パス、ホストの識別、日時スタンプ、ソース・アドレス及びポート番号、宛先アドレス及びポート番号などの遮断パケットと関連付けられたデータが含まれる。
【0075】
バッチ処理実施形態と実時間実施形態との両方の場合、フロー1200は、任意の所定の時間間隔(例えば、1週間ごと、1日ごと、1時間ごとなど)で動作するように構成されてもよい。フロー1200は、幾つかの実施形態では、管理保護モジュール220の一部として実施されてもよい。あるいは、バッチ処理実施形態では、フロー1200は、
図5に示されたフロー500の一部として実現されてもよい。管理保護モジュール220は、例えば、管理コンソール210や他の報告機構を介して、ログ・イベント・データベース231内のデータへのアクセスを提供してもよい。ログ・イベント・データベース231内のデータは、ネットワーク保護装置400によって遮断されかつネットワーク内のホスト上の非信頼プログラム・ファイルと関連付けられたネットワーク・トラフィックに関する情報をユーザに提供することができる。本明細書で前に述べたように、そのようなネットワーク・トラフィックは、取り締まりが有効であり、かつ対応する制限規則が作成されネットワーク保護装置400にプッシュされたかどうかによって阻止され、その他制限されてもよいし、されなくてもよい。したがって、そのようなネットワーク・トラフィックに関係したイベント・データのログ記録、及びそれに続くフロー1200でのそのイベント・データの処理は、ネットワーク・トラフィックが阻止され、その他制限されるか否かに関わらず、行われてもよい。
【0076】
本明細書で概説された操作を達成するソフトウェアは、様々な場所(例えば、企業IT本部、エンドユーザ・コンピュータ、クラウド内の分散サーバなど)に提供することができる。他の実施形態では、このソフトウェアは、悪意のあるソフトウェアに対するネットワーク・レベル保護をするこのシステムを提供するために、(例えば、別個のネットワーク、装置、サーバなどの個別のエンドユーザ・ライセンスを購入する状況で)ウェブサーバから受け取られ、又はダウンロードされてもよい。1つの例示的実施態様では、このソフトウェアは、セキュリティ攻撃から保護しようとする(又は、データの望ましくないか又は無許可の操作から保護された)1つ又は複数のコンピュータ内に常駐する。
【0077】
他の例では、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムのソフトウェアは、知的所有権下にある要素(例えば、McAfee(登録商標)Application Controlソフトウェア、McAfee(登録商標)Change Controlソフトウェア、McAfee(登録商標)ePolicy Orchestratorソフトウェア、McAfee(登録商標)Policy Auditorソフトウェア、McAfee(登録商標)Artemis Technologyソフトウェア、McAfee(登録商標)Host Intrusion Preventionソフトウェア、McAfee(登録商標)VirusScanソフトウェアなどによるネットワーク・セキュリティ・ソリューションの一部として)を含むことがあり、これらの識別された要素内(又はその近く)に提供されてもよく、任意の他の装置、サーバ、ネットワーク機器、コンソール、ファイアウォール、スイッチ、ルータ、情報技術(IT)装置、分散サーバなどの中に提供されてもよく、相補的ソリューション(例えば、ファイアウォールと関連)として提供されてもよく、ネットワーク内のどこかに提供されてもよい。
【0078】
図1に示したような例示的なローカル・ネットワーク110では、ホスト120、中央サーバ130、ネットワーク保護装置140及びセカンダリ・サーバ180は、悪意のあるソフトウェアからコンピュータ・ネットワークを保護することを容易にするコンピュータである。本明細書で使用されるとき、用語「コンピュータ」及び「計算装置」は、パーソナルコンピュータ、ネットワーク機器、ルータ、スイッチ、ゲートウェイ、プロセッサ、サーバ、ロードバランサ、ファイアウォール、又はネットワーク環境で電子情報に影響を及ぼすか又は処理するように動作可能な他の適切な装置、構成要素、要素又は物体を包含することを意図する。更に、このコンピュータ又は計算装置は、その動作を容易にする任意の適切なハードウェア、ソフトウェア、構成要素、モジュール、インタフェース、又は物体を含んでもよい。これは、データの有効な保護及び通信を可能にする適切なアルゴリズム及び通信プロトコルを含んでもよい。
【0079】
特定の例示的な実施態様では、本明細書で概説した悪意のあるソフトウェアに対するネットワーク・レベル保護に関係するアクティビティは、ソフトウェアで実現されてもよい。これは、中央サーバ130(例えば、中央保護構成要素135)、ホスト120(例えば、ローカル保護構成要素124)、ネットワーク保護装置(例えば、ネットワーク・レベル取り締まり構成要素145)、及び/又はセカンダリ・サーバ180内に提供されたソフトウェアを含んでもよい。これらの構成要素、要素及び/又はモジュールは、互いに協力して、本明細書で述べたように、ボットネットなどの悪意のあるソフトウェアに対するネットワーク・レベル保護を提供するアクティビティを実行することができる。他の実施形態では、これらの特徴は、これらの要素の外部に提供されもよく、これらの意図された機能を達成する他の装置に含まれてもよく、任意の適切な方法で統合されてもよい。例えば、保護アクティビティは、更にホスト120内に局在化されるか中央サーバ130内に更に集中されてもよく、図示されたプロセッサの幾つかは、除去され、その他特定のシステム構成に適応するよう統合されてもよい。一般的な意味において、
図1に示された機構は、その説明がより論理的であってもよいが、物理的アーキテクチャは、これらの構成要素、要素及びモジュールの様々な順列/組み合わせ/混合物を含んでもよい。
【0080】
これらの要素(ホスト120、中央サーバ130、ネットワーク保護装置140、及び/又はセカンダリ・サーバ180)は全て、本明細書で概説されたような信頼判定、ログ記録、取り締まり、遮断を含む保護アクティビティを達成するために、連係し、管理し、その他協力することができるソフトウェア(又は、レシプロケーティング・ソフトウェア)を含む。更に、これらの要素の1つ又は全ては、その動作を容易にする任意の適切なアルゴリズム、ハードウェア、ソフトウェア、構成要素、モジュール、インタフェース、又はオブジェクトを含んでもよい。ソフトウェアを含む実施態様において、そのような構成は、1つ又は複数の有形媒体内に符号化されたロジック(例えば、特定用途向け集積回路(ASIC)内に提供された埋込みロジック、デジタル・シグナル・プロセッサ(DSP)命令、プロセッサや他の類似の装置によって実行されるソフトウェア(オブジェクト・コード及びソースコードを含む可能性がある)など)を含んでもよく、有形媒体は持続的媒体を含む。これらの例の幾つかでは、1つ又は複数のメモリ要素(
図1、
図2、
図3及び
図4を含む様々な図に示されたような)は、本明細書に記載された操作に使用されるデータを記憶することができる。これは、本明細書に記載されたアクティビティを行うために実行されるソフトウェア、ロジック、コード又はプロセッサ命令を記憶することができるメモリ要素を含む。プロセッサは、本明細書に詳述された操作を達成するためにデータと関連付けられた任意のタイプの命令を実行することができる。一例では、プロセッサ(
図2、
図3及び
図4に示されたような)は、要素又は物品(例えば、データ)をある状態又は物から別の状態又は物に変換することがある。別の例では、本明細書で概説されたアクティビティは、固定ロジック又はプログラマブル・ロジック(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)で実現されてもよく、本明細書に識別された要素は、デジタル・ロジック、ソフトウェア、コード、電子命令、又はこれらの任意の適切な組み合わせを含む何らかのタイプのプログラマブル・プロセッサ、プログラマブル・デジタル・ロジック(例えば、フィールド・プログラマブル・ゲートアレイ(FPGA)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM))、又はASICで実現されてもよい。
【0081】
これらの要素(例えば、コンピュータ、サーバ、ネットワーク保護装置、ファイアウォール、分散サーバなど)はどれも、本明細書に概説されたような保護アクティビティの達成に使用される情報を記憶するためのメモリ要素を含むことができる。これらの装置は、更に、情報を、必要に応じかつ特定の要求に基づいて、任意の適切なメモリ要素(例えば、ランダムアクセスメモリ(RAM)、ROM、EPROM、EEPROM、ASICなど)、ソフトウェア、ハードウェア、あるいは他の適切な構成要素、装置、要素又はオブジェクト内に維持してもよい。本明細書で述べたメモリ項目(例えば、ログ・イベント・データベース、中央非信頼ソフトウェア・インベントリ、ローカル非信頼ソフトウェア・インベントリ、内部ホワイトリスト、ポリシー・データベース、プロセス・トラフィック・マッピング・データベース、中央信頼キャッシュ、ネットワーク規則要素、イベント・ログなど)はいずれも、幅広い用語「メモリ要素」に包含されるように解釈されるべきである。同様に、本明細書に述べた潜在的な処理要素、モジュール及び機械はいずれも、幅広い用語「プロセッサ」に包含されるように解釈されるべきである。また、コンピュータ、ホスト、ネットワーク保護装置、サーバ、分散サーバなどはそれぞれ、ネットワーク環境でデータ又は情報を受信し、送信し、かつ/又はその他通信するのに適切なインタフェースを含んでもよい。
【0082】
本明細書に提供された例では、2つ、3つ、4つ、又はこれより多くのネットワーク構成要素に関する相互作用が記述されていることに注意されたい。しかしながら、これは、明瞭さと単なる例のために行われた。悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムは、任意の適切な方法で統合できることを理解されたい。類似の設計選択に沿って、図の示されたコンピュータ、モジュール、構成要素及び要素はいずれも、様々な可能な構成で組み合わされてもよく、これらは全て、本明細書の広い範囲内にあることは明らかである。特定の事例では、限られた数の構成要素又はネットワーク要素だけを参照して所定の組のフローの機能の1つ又は複数について記述する方が容易なことがある。したがって、
図1(及びその教示)のシステムが、容易に拡張可能であることを理解されたい。システムは、多数の構成要素、並びにより複雑又は高度な機構及び構成に適応することができる。したがって、提供された例は、範囲を制限せず、また様々な他のアーキテクチャに潜在的に適用されるようなネットワーク・レベル保護をするシステムの幅広い教示を妨げるべきではない。
【0083】
また、以上の図に関連して述べた操作が、悪意のあるソフトウェアに対するネットワーク・レベル保護をするシステムによって又はそのシステム内で実行される可能性のあるシナリオの一部だけを示すことに注意することが重要である。これらの操作の幾つかは、必要に応じて削除又は除去されてもよく、あるいはこれらの操作は、述べた概念の範囲を逸脱せずに大幅に修正又は変更されてもよい。更に、これらの操作のタイミングは、この開示に教示された結果を達成するように大幅に変更されてもよい。例えば、ホワイトリストを検索することによる信頼判定は、外部又はグローバル・ホワイトリストを検索する前に内部ホワイトリストを検索することによって行なわれてもよい。以上の動作フローは、例示と検討のために提示された。システムは、述べた概念の教示から逸脱することなく任意の適切な機構、時系列、構成及びタイミングが提供されるという点で、実質的な柔軟性を提供する。