(57)【要約】企業ベースのセキュリティポリシーを与えるシステム及び方法が説明される。一実施形態において、このシステムは、データベースからポリシースキンを検索して、該ポリシースキンをホストへ送信するように構成された中央エージェントを備えている。更に、このシステムは、ホストに関連したホストデータを収集するように構成されたデータ収集エンジンを備えている。それに加えて、このシステムは、ホストデータに対してポリシースキンを実行して、セキュリティポリシー適合性を決定するように構成されたポリシーエンジンも備えている。
2006516339.tif 000002
【特許請求の範囲】
【請求項１】
企業ベースのセキュリティポリシーを与えるシステムにおいて、
データベースからポリシースキンを検索して、該ポリシースキンをホストへ送信するように構成された中央エージェントと、
前記ホストに関連したホストデータを収集するように構成されたデータ収集エンジンと、
前記ホストデータに対して前記ポリシースキンを実行して、セキュリティポリシー適合性を決定するように構成されたポリシーエンジンと、
を備えるシステム。
【請求項２】
前記ホストデータ及び適合性情報を前記中央エージェントへ送信するように構成されたホストエージェントを更に備える、請求項１に記載のシステム。
【請求項３】
前記データ収集エンジンが前記ホストデータを収集するとき、前記ポリシーエンジンが前記セキュリティポリシーを実行するとき、及び前記ホストエージェントが前記ホストデータ及び適合性情報を前記中央エージェントへ送信するときをスケジュールするように構成されたスケジューラーを更に備える、請求項２に記載のシステム。
【請求項４】
前記中央エージェントは、更に、前記ホストデータ及び適合性情報を記憶のために前記データベースへ送信するように構成された、請求項２に記載のシステム。
【請求項５】
前記データベースに結合されたレポートエンジンであって、前記ホストデータ及び適合性情報を前記データベースからアクセスして、前記ホストデータ及び適合性情報に基づいてレポートを発生するように構成されたレポートエンジンを更に備える、請求項４に記載のシステム。
【請求項６】
中央サーバーが前記中央エージェントを備え、更に、前記ホストは、前記データ収集エンジン及び前記ポリシーエンジンを備える、請求項１に記載のシステム。
【請求項７】
前記ポリシースキンは、前記データベースから検索されたときに、１つ以上のポリシーストリングを含み、更に、前記ポリシースキンは、これが実行されるときに、前記１つ以上のポリシーストリングを、汎用言語へと変換して含む、請求項１に記載のシステム。
【請求項８】
前記ポリシースキンは、これが実行されるときに、前記ホストで実行されるオペレーティングシステムとコンパチブルであるように構成される、請求項１に記載のシステム。
【請求項９】
前記データベースに結合されたリモートアクセスエンジンであって、第三者が前記ポリシースキンを設計し、実施し、監視し又は維持できるように構成されたリモートアクセスエンジンを更に備える、請求項１に記載のシステム。
【請求項１０】
前記データベースに結合されたポリシーエディターであって、ユーザがポリシーストリングを使用して前記ポリシースキンを形成できるように構成されたポリシーエディターを更に備える、請求項１に記載のシステム。
【請求項１１】
前記ホストはグループのメンバーである、請求項１に記載のシステム。
【請求項１２】
前記中央エージェントは、高セキュリティレベルのポリシースキンを前記データベースから検索して、該高セキュリティレベルのポリシースキンを危機的又は非常事態の場合に前記ホストへ送信するように構成される、請求項１に記載のシステム。
【請求項１３】
企業ベースのセキュリティポリシーを与える言語スタックにおいて、
ポリシーストリングを含むように構成されたポリシーストリングレイヤーと、
ポリシー定義言語を含むように構成されたポリシー定義言語レイヤーと、
前記ポリシーストリングを前記ポリシー定義言語へパーズするように構成された第１トランスレーターと、
汎用言語を含むように構成された汎用言語レイヤーと、
前記ポリシー定義言語を前記汎用言語へパーズするように構成された第２トランスレーターと、
を備える言語スタック。
【請求項１４】
前記汎用言語は、Ｐｙｔｈｏｎ言語を含む、請求項１３に記載の言語スタック。
【請求項１５】
ランタイムライブラリー及びサポートサービスを含むように構成されたシステム定義レイヤーを更に備える、請求項１３に記載の言語スタック。
【請求項１６】
ポリシースキンの実行可能なバージョンは、前記汎用言語に変換された１つ以上のポリシーストリングを含む、請求項１５に記載の言語スタック。
【請求項１７】
前記ポリシースキンの実行可能なバージョンは、実行時に、前記システム定義言語から１つ以上のランタイムライブラリー又は１つ以上のサポートサービスをコールするように構成される、請求項１６に記載の言語スタック。
【請求項１８】
前記ポリシースキンの実行可能なバージョンは、ホストで実行されるオペレーティングシステムとコンパチブルであるように構成される、請求項１６に記載の言語スタック。
【請求項１９】
企業ベースのセキュリティポリシーを与える方法において、
中央サーバーからポリシースキンを受け取るステップと、
ホストに関連したホストデータを収集するステップと、
前記ホストデータに対して前記ポリシースキンを実行して、セキュリティポリシー適合性を決定するステップと、
前記ホストデータ及びポリシー適合性情報を前記中央サーバーへ送信するステップと、
を備える方法。
【請求項２０】
ポリシースキンを実行する前記ステップは、１つ以上のランタイムライブラリー又は１つ以上のサポートサービスをコールする段階を含む、請求項１９に記載の方法。
【請求項２１】
前記ポリシースキンは、その実行時に、汎用言語へ変換された１つ以上のポリシーストリングを含む、請求項１９に記載の方法。
【請求項２２】
前記ポリシースキンは、その実行時に、ホストで実行されるオペレーティングシステムとコンパチブルであるように構成される、請求項２１に記載の方法。
【請求項２３】
１つ以上のポリシーストリングを含む前記ポリシースキンを形成するステップを更に備える、請求項１９に記載の方法。
【請求項２４】
ポリシーエディター又はリモートアクセスエンジンを使用してポリシースキンを形成する、請求項２３に記載の方法。
【請求項２５】
前記ホストデータ及び適合性情報を受け取って、前記ホストデータ及び適合性情報をデータベースに記憶するステップを更に備える、請求項１９に記載の方法。
【請求項２６】
前記データベースは前記中央サーバーに存在する、請求項２５に記載の方法。
【請求項２７】
前記ホストデータ及び適合性情報を前記データベースからアクセスするステップと、前記ホストデータ及び適合性情報に基づいてレポートを発生するステップとを備える、請求項２５に記載の方法。
【請求項２８】
企業ベースのセキュリティポリシーを与えるシステムにおいて、
中央サーバーからポリシースキンを受け取る手段と、
ホストに関連したホストデータを収集する手段と、
前記ホストデータに対して前記ポリシースキンを実行して、セキュリティポリシー適合性を決定する手段と、
前記ホストデータ及びポリシー適合性情報を前記中央サーバーへ送信する手段と、
を備えるシステム。
【請求項２９】
１つ以上のポリシーストリングを含む前記ポリシースキンを形成する手段を更に備える、請求項２８に記載のシステム。
【請求項３０】
前記ホストデータ及び適合性情報を受け取る手段と、前記ホストデータ及び適合性情報をデータベースに記憶する手段とを更に備える、請求項２８に記載のシステム。
【請求項３１】
前記ホストデータ及び適合性情報を前記データベースからアクセスする手段と、前記ホストデータ及び適合性情報に基づいてレポートを発生する手段とを更に備える、請求項３０に記載のシステム。
【発明の詳細な説明】
【関連出願のクロスリファレンス】
【０００１】
本出願は、２００２年１２月２日に出願された「Information-Based,Policy-Driven Network Security Systems and Methods」と題する米国プロビジョナル特許出願第６０／４３０，１７０号に係り、その優先権の利益を請求する。この関連出願の要旨を参考としてここに援用する。
【発明の分野】
【０００２】
本発明は、一般に、コンピュータセキュリティに係り、より詳細には、企業ベースのコンピュータセキュリティポリシーを与えるシステム及び方法に係る。
【背景】
【０００３】
会社、教育団体及び政府機関（各々「企業」の例である）がコンピュータ及びコンピュータネットワークの使用を増大し、且つコンピュータネットワークに対する攻撃（例えば、Ｎｉｍｂｄａワーム及び「I Love You」Ｅ−メールウィルス）の巧妙さ及び頻度が増すにつれて、コンピュータセキュリティが益々重要な問題になってきた。このような攻撃や、他のコンピュータセキュリティ問題、例えば、無断のコンピュータ及びデータアクセスと戦うために、ネットワークアドミニストレータは、通常、企業規模のセキュリティポリシーを開発し、次いで、種々の形式のコンピュータセキュリティハードウェア及びソフトウェアを使用してこれらのセキュリティポリシーを実施するように試みる。
【０００４】
この解決策に対する１つの欠点は、標準的なコンピュータセキュリティハードウェア及びソフトウェアが、通常、コンピュータネットワークへの多数のセキュリティ脅威に対処するように設計されていないことである。それ故、ネットワークアドミニストレータは、所与の企業ベースセキュリティポリシーの異なる観点に対処するためにハードウェア及びソフトウェアの異なる断片を購入することが強制される。コンピュータセキュリティに対するこの断片的な解決策では、しばしば、セキュリティホールをもつシステムとなり、コンピュータネットワークを攻撃に対して無防備のままにする。更に、この解決策は、全体的なセキュリティポリシーの適合性の追跡を、不可能でないまでも、著しく困難にする。これらの問題は、企業の規模が増大するにつれて、悪化する。
【０００５】
別の欠点は、コンピュータセキュリティハードウェア及びソフトウェアがしばしば技術的に精通した者に対して設計されていて、コンピュータセキュリティハードウェア又はソフトウェアを適切に実施するためにコンピュータハードウェア又はプログラミング言語のある程度の知識を必要とすることである。このような必要性は、コンピュータセキュリティポリシーを計画し、開発し及び実施できる企業内の個人の人数を制限するだけでなく、コンピュータセキュリティハードウェア及びソフトウェアに組み込むことのできる機能も制限する。
【０００６】
更に別の欠点は、ウィルス対策ソフトウェアを除いて、ほとんどのコンピュータセキュリティハードウェア及びソフトウェアが、所与のコンピュータネットワークの異なるホストの各々に対する特定のセキュリティ脅威に対処するように仕立てられたものではないことである。個々のホストはコンピュータネットワークにおける最も弱いリンクであり、即ち侵入及び他のセキュリティ違反を最も受け易いネットワークの要素であるので、各個々のホストを充分に保護しないと、コンピュータネットワーク自体のセキュリティも危うくする。
【概要】
【０００７】
企業ベースのセキュリティポリシーを与えるシステムの一実施形態は、データベースからポリシースキンを検索して、そのポリシースキンをホストへ送信するように構成された中央エージェントを備えている。このシステムは、更に、ホストに関連したホストデータを収集するように構成されたデータ収集エンジンも備えている。それに加えて、このシステムは、ホストデータに対してポリシースキンを実行してセキュリティポリシーの適合性を決定するように構成されたポリシーエンジンも備えている。
【０００８】
ここに開示するシステムの１つの効果は、ポリシースキン及びグループの結合により、ユーザが、所与の企業の全ての異なるエリアの特定のセキュリティニーズに対処するように構成された包括的セキュリティポリシーを開発及び実施できることである。別の効果は、ユーザが人間の読めるフォーマットでセキュリティポリシーを書き込めるようにするポリシーストリングを使用して、ポリシースキンが形成されることである。この能力は、色々な程度に技術的トレーニングを受けた広範囲なユーザが、ここに開示するシステムを使用してセキュリティポリシーを形成及び実施するのを許す。というのは、個々のユーザがセキュリティポリシーの基礎となるコンピュータコード又は他のシンタックスを理解する必要がないからである。それに加えて、ポリシースキンは、コンピュータネットワークの個々のマシンに対して特別に設計され且つそれにおいて実施される。それ故、ポリシースキンは、企業のコンピュータネットワークの個々のホストへの特定の脅威に対処するように企業ベースのセキュリティポリシーを仕立てることができる。従って、ここに開示するシステムは、ほとんどのアクティビティが個々のホストに生じるのでセキュリティの脅威を最も受け易いコンピュータネットワークの部分であるホストのレベルでセキュリティポリシーの適合性及び強制実行性に焦点を置き、これにより、全体的により安全なシステムを形成する。更に別の効果として、ここに開示するシステムは、とりわけ、企業のコンピュータネットワークにわたるセキュリティポリシー適合性の集計レベルを表す最新のレポートを発行する。これらのレポートは、とりわけ、ネットワークアドミニストレータのようなユーザが各個々のマシンにおけるセキュリティポリシー適合性を理解して追跡するのを許す。この情報は、例えば、企業のコンピュータネットワーク全体にわたりセキュリティの不足を識別して固定し、全体的により安全なシステムを形成するのに使用できる。
【詳細な説明】
【０００９】
図１は、本発明の一実施形態により企業ベースのセキュリティポリシーを実施するように構成されたコンピュータネットワーク１００を示すブロック図である。図示されたように、コンピュータネットワーク１００は、ルーター１０３のようなネットワーク装置を使用して外部ネットワーク１０２に結合される。外部ネットワーク１０２は、任意の形式のデータネットワークでよく、ローカルエリアネットワーク（ＬＡＮ）、都市エリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）又はインターネットを含むが、これらに限定されない。
【００１０】
又、図１に示すように、コンピュータネットワーク１００は、ホスト１１０−１、１１０−２及び１１０−３（「ホスト１１０」とも称される）と、中央サーバー１０６とを備えてもよいが、これらに限定されない。ホスト１１０−１、１１０−２及び１１０−３の各々は、任意の形式の個々のコンピューティング装置でよく、例えば、サーバーマシン、デスクトップコンピュータ、ラップトップコンピュータ、セットトップボックス、ゲームシステム又はコンソール、或いはパーソナルデジタルアシスタントでよい。
【００１１】
図２を参照して以下に詳細に述べるように、中央サーバー１０６は、コンピュータネットワーク１００を経て企業ベースのコンピュータセキュリティポリシーを管理するように構成される。より詳細には、中央サーバー１０６は、個々のセキュリティポリシーを内部データベース（図示せず）に記憶するように構成され、これら個々のセキュリティポリシーをコンパイルして企業ベースのセキュリティポリシーを構成する。各個々のセキュリティポリシーは、１つ以上のホスト１１０において実施されるように特別に仕立てることができる。中央サーバー１０６は、更に、ホスト１１０−１、１１０−２及び１１０−３の各々に、そのホストに対して特別に仕立てられた各個々のセキュリティポリシーを送信する（又は「プッシュダウン」する）ように構成される。これらホスト１１０は、次いで、中央サーバー１０６から受け取られた個々のポリシーを実施するように構成される。以下で更に詳細に述べるように、ホストレベルで遭遇する特定のセキュリティ脅威に対して保護するように構成された企業ベースのセキュリティポリシーが得られる。従って、ここに開示するシステムは、ほとんどのアクティビティが生じる個々のホストにおいてセキュリティポリシーを実施するように通常構成されていない現在のシステムよりも有効な企業ベースのセキュリティポリシーを与える。
【００１２】
図１に示す実施形態では、コンピュータネットワーク１００は、企業ベースのコンピュータネットワークを表す。しかしながら、当業者であれば、コンピュータネットワーク１００は、技術的に実現可能ないかなる構成を有してもよいことが明らかであろう。例えば、別の実施形態では、コンピュータネットワーク１００は、いかなる数及び／又は形式のホスト１１０を含んでもよい。それとは別の他の実施形態では、コンピュータネットワーク１００は、２つ以上の中央サーバー１０６を含んでもよい。それ故、当業者であれば、コンピュータシステム１００の構成が本発明の範囲を何ら限定するものでないことが理解されよう。
【００１３】
図２は、本発明の一実施形態による図１の中央サーバー１０６及び１つのホスト１１０の概念的構成を示すブロック図である。当業者であれば、ホスト１１０−１、１１０−２及び１１０−３の各々は、同じ一般的構成を有することが理解されよう。このため、ここでは、ホスト１１０−１のみの構成を説明する。
【００１４】
以下に詳細に述べるように、中央サーバー１０６は、１つ以上の個々のセキュリティポリシーをホスト１１０−１へ送信するように構成され、該ホストは、各々のこのようなセキュリティポリシーを実行するように構成される。ホスト１１０−１は、更に、それ自身及びそのユーザ（１人又は複数）に関するデータ（「ホストデータ」と称される）を収集し、このデータを使用して、それが１つ以上の個々のセキュリティポリシーに適合するかどうか決定するように構成される。更に、ホスト１１０−１は、ホストデータと、１つ以上のセキュリティポリシーに対するその適合状態に関する情報とを中央サーバー１０６へ送信するように構成される。ここに開示するシステムのユーザは、次いで、このホストデータ及び適合性情報を分析して、ホスト１１０−１が企業ベースのセキュリティポリシーに適合するかどうか、及びホスト１１０−１が何故適合するか又は適合しないかを理解することができる。更に、ユーザは、コンピュータネットワーク１００の全てのホスト１１０に対して中央サーバー１０６へ送信されたホストデータ及び適合性情報を集計して、企業ベースのセキュリティポリシーに対する全体的な適合状態を理解することができる。
【００１５】
図示されたように、中央サーバー１０６は、データベース２００及び中央エージェント２１２を含むことができるが、これらに限定されない。データベース２００は、企業ベースのセキュリティポリシーの管理に関する特定形式の動作情報を記憶するために１つ以上のサブデータベースを含むことができる。図示されたように、データベース２００は、ポリシーサブデータベース２０２と、ホストデータサブデータベース２０４と、暗号化情報サブデータベース２０８とを含むが、これらに限定されない。ポリシーサブデータベース２０２は、任意の形式のセキュリティポリシー情報を記憶するように構成される。このような情報は、個々のセキュリティポリシーを形成するのに使用できるポリシールールのライブラリーと、形成された個々のセキュリティポリシーとを含むことができるが、これらに限定されない。
【００１６】
ホストデータサブデータベース２０４は、種々のホスト１１０により中央サーバー１０６へ送信されたホストデータを記憶するように構成される。ホストデータは、パスワード及びユーザ名情報のようなユーザ情報と、到来する及び出て行くデータパケットカウント及びポート使用情報のようなネットワーク情報と、ホストオペレーティングシステム情報及びインストールされるハードウェア及びソフトウェア情報のようなホスト構成情報と、ファイル名及びサイズのようなファイルシステム情報と、ユーザアカウント情報のような現在実行中のアプリケーションに関する情報と、ネットワークポート情報と、関連ファイル及びライブラリーに関する情報とを含むことができるが、これらに限定されない。ホストデータサブデータベース２０４は、更に、種々のホスト１１０により送信されるセキュリティポリシー適合性情報を記憶するように構成される（例えば、ホスト１１０−１が、ホスト１１０−１で実施されている１つ以上のセキュリティポリシーに適合するかどうか）。
【００１７】
暗号化情報サブデータベース２０８は、コンピュータネットワーク１００を経て送信されるデータトラフィックであって、コンピュータネットワーク１００へ内部送信されるデータトラフィック及び外部ネットワーク１０２へ送信されるデータトラフィックの両方を含むデータトラフィックのいずれかを暗号化することに関する情報を記憶するように構成される。
【００１８】
一実施形態において、データベース２００（並びに個々のサブデータベース２０２、２０４、２０６及び２０８）は、ＭｙＳＱＬ、オラクル又はＩＢＭにより提供されるもののような、構造化照合言語（ＳＱＬ）アクセス型のデータベースで構成される。しかしながら、別の実施形態では、データベース２００は、任意の形式のデータベースで構成されてもよい。更に、別の実施形態では、サブデータベース２０２、２０４、２０６及び２０８の１つ以上が、データベース２００とは別々で且つ個別の個々のデータベースで構成されてもよく、又はサブデータベース２０２、２０４、２０６及び２０８の各々が、別々で且つ個別のデータベースで構成されてもよい。
【００１９】
中央エージェント２１２は、各ホスト１１０との全ての通信をマネージする。より詳細には、中央エージェント２１２は、いずれかのホスト１１０により中央サーバー１０６へ送信される全てのデータトラフィックを監視及び受信すると共に、そのデータを必要に応じてデータベース２００の異なるサブデータベースへ送信するように構成される。このようなデータトラフィックは、ホストデータと、セキュリティポリシーの違反を指示するメッセージ（或いはアラーム又は警報）を含む全てのセキュリティポリシー適合性情報を含むが、これらに限定されない。中央エージェント２１２は、更に、データベース２００のポリシーサブデータベース２０２に記憶された個々のセキュリティポリシーを検索すると共に、一実施形態では、これらセキュリティポリシーの実行可能なバージョンを種々のホスト１１０へ送信又はプッシュダウンするように構成される。
【００２０】
又、中央サーバー１０６は、ユーザが中央サーバー１０６にアクセスしてそれと対話するのを許すユーザインターフェイス（図示せず）も備えている。一実施形態では、ユーザインターフェイスは、ウェブベースのインターフェイスで構成される。
【００２１】
又、図２に示すように、ホスト１１０−１は、ホストエージェント２１４と、スケジューラー２１８と、ポリシーエンジン２２０と、データ収集エンジン２２２とを含むことができるが、これらに限定されない。ホストエージェント２１４は、中央エージェント２１２との全ての通信をマネージする。より詳細には、ホストエージェント２１４は、以下に詳細に述べるように、中央エージェント２１２によりホスト１１０−１へ送信された個々のセキュリティポリシーを受け取って、ホストデータ及びセキュリティポリシー適合性情報を中央エージェント２１２へ返送するように構成される。ホストエージェント２１４は、更に、スケジューラー２１８を経てポリシーエンジン２２０及びデータ収集エンジン２２２を制御すると共に、ホスト１１０−１の種々の通信及び処理動作の中で潜在的な競合を仲裁するように構成できる。
【００２２】
スケジューラー２１８は、ホスト１１０−１に対するアクティビティの指定のサイクルを規則的な時間間隔で開始するように構成される。データ収集エンジン２２２は、ホスト１１０−１に関するホストデータを収集し、その情報をポリシーエンジン２２０及びホストエージェント２１４へ送信するように構成される。ポリシーエンジン２２０は、データ収集エンジン２２２からホストデータを受け取ると共に、中央サーバー１０６からホスト１１０−１へ送信された１つ以上の個々のセキュリティポリシーの実行可能なバージョンを検索するように構成される。ポリシーエンジン２２０は、更に、各個々のセキュリティポリシーを読み取り、各個々のセキュリティポリシーの種々のポリシールールを、ホスト１１０−１から収集されたホストデータと比較し、更に、ホスト１１０−１が各個々のセキュリティポリシーに適合するかどうか決定するように構成される。又、ポリシーエンジン２２０は、所与の個々のセキュリティポリシーに規定された強制(enforcement)アクションを、ホスト１１０−１がその特定の個々のセキュリティポリシーに適合しない程度まで開始するように構成される。強制アクションは、ホスト１１０−１を個々のセキュリティポリシーに適合するように戻すためにアクションをとること、ホスト１１０−１が個々のセキュリティポリシーに適合しないというメッセージを中央サーバー１０６へ送信すること、及びホスト１１０−１が適合しないときにとるべきであると個々のセキュリティポリシーが指定する任意のアクションを取ることを含むが、これらに限定されない。最終的に、ポリシーエンジン２２０は、各個々のセキュリティポリシーに対するホスト１１０−１の適合状態をホストエージェント２１４へ送信するように構成される。
【００２３】
一実施形態において、スケジューラー２１８がホスト１１０−１に対して開始するアクティビティのサイクルは、データ収集アクティビティと、ポリシー分析及び実施アクティビティと、レポートアクティビティとを含むが、これらに限定されない。第１に、スケジューラー２１８は、データ収集アクティビティを開始する。割り当てられた時間周期中に、データ収集エンジン２２２は、ホスト１１０−１に関するホストデータを収集する。次いで、スケジューラー２１８は、ポリシー分析及び実施アクティビティを開始する。割り当てられた時間周期中に、データ収集エンジンは、収集されたホストデータをポリシーエンジン２２２へ送信し、次いで、ポリシーエンジン２２０は、中央サーバー１０６からホスト１１０−１へ送信される１つ以上の個々のセキュリティポリシーの実行可能なバージョンを検索する。次いで、ポリシーエンジン２２０は、各個々のセキュリティポリシーを読み取り、各個々のセキュリティポリシーの種々のポリシールールをホストデータと比較し、ホスト１１０−１が各個々のセキュリティポリシーに適合するかどうか決定し、次いで、ホスト１１０−１が特定の個々のセキュリティポリシーに適合しない程度まで、その個々のセキュリティポリシーで指定された強制アクションを開始する。最終的に、スケジューラー２１８は、レポートアクティビティを開始する。割り当てられた時間周期中に、データ収集エージェント２２２は、その収集されたホストデータをホストエージェント２１４へ送信し、次いで、ポリシーエンジン２２０は、各個々のセキュリティポリシーに対するホスト１１０−１の適合性状態をホストエージェント２１４へ送信する。ホストエージェント２１４は、次いで、ホストデータ及びセキュリティポリシー適合性情報を中央サーバー１０６の中央エージェント２１２へ送信する。
【００２４】
以上の説明に加えて、一実施形態では、ホスト１１０−１に出入りする全てのデータトラフィックへのアクセス、その変更、記録及び制御を可能にするように、ホスト１１０−１のネットワークレイヤーにパケットフィルタが配置される。当業者であれば、コンピュータネットワーク１００の各ホスト１１０にこのようなパケットフィルタを配置することにより、コンピュータネットワーク１００の全てのデータトラフィックにアクセスして、それを変更し、制御できることが明らかであろう。
【００２５】
集計レベルでは、コンピュータネットワーク１００の全てのホスト１１０が、進行中ベースで規則的な時間間隔においてここに述べるアクティビティのサイクルを通して動作するように構成できることが当業者に理解されよう。このような構成では、全てのホスト１１０は、ホストデータ及びセキュリティポリシー適合性情報を中央サーバー１０６へ同時にレポートすることができる。これらアクティビティの適切な同期、並びに他のシステム及びネットワークアクティビティの適切な整合を確保するために、中央サーバー１０６及び各ホスト１１０は、ネットワークタイムプロトコルサービス（又は他の同等のプロトコル）を実行することができる。
【００２６】
図３は、本発明の一実施形態による言語スタック３００のアーキテクチャーを示す概念図である。図示されたように、言語スタック３００は、ポリシーストリングレイヤー３０２と、トランスレーター３０４と、ポリシー定義言語（ＰＤＬ）レイヤー３０６と、トランスレーター３０８と、汎用言語レイヤー３１０と、システム定義言語（ＳＤＬ）レイヤー３１２とを備えているが、これらに限定されない。
【００２７】
ポリシーストリングレイヤー３０２は、中央サーバー１０６が種々のホスト１１０へ送信する個々のセキュリティポリシーを形成するのに使用されるポリシーストリング（「ポリシールール」とも称される）を含む。所与のポリシーストリングは、固定のポリシールールを表現するように静的に構成することができる。又、所与のポリシーストリングは、そのポリシーストリングにより表現されたポリシールールの振る舞いを変更し又はそれに焦点を合わせるために定義できる１つ以上の変数又はパラメータを含むように構成されてもよい。このように、ポリシーストリングは、マクロの場合と同様の機能で構成することができる。図３に示すように、ポリシーストリングは、言語ストック３００において最高レベルの言語を構成する。重要なことに、各ポリシーストリングは、ここに開示するシステムのユーザが最小限の努力で各ホスト１１０に対して特定の良好に定義されたセキュリティポリシーを形成できるようにするために、人間が読める形態で書き込まれる。図４を参照して以下に詳細に述べるように、一実施形態では、ポリシーサブデータベース２０２に存在する個々のセキュリティポリシーのバージョンがポリシーストリングに書き込まれる（各々のこのようなバージョンは、個々のセキュリティポリシーの「ポリシーストリングバージョン」とも称される）。
【００２８】
ＰＤＬレイヤー３０６は、言語スタック３００における中間ティアー言語であるＰＤＬ（「燃料(Fuel)」とも称される）を含む。当業者に明らかなように、ＰＤＬは、コンピュータセキュリティ（即ちセキュリティポリシー形成及び実施）に向かって特別に仕立てられたグラマーの良好に定義されたセットを含む特殊目的の小言語を構成する。他のものの中でも、ＰＤＬは、その種々のグラマーを汎用の言語へと容易に変換できるように構造化される。
【００２９】
汎用言語レイヤー３１０は、汎用言語を含む。図３に示すように、汎用言語は、言語スタック３００における最低レベルの言語である。一実施形態では、汎用言語は、Ｐｙｔｈｏｎ言語を含む。しかしながら、別の実施形態では、汎用言語は、いかなる汎用言語を含んでもよい。
【００３０】
トランスレーター３０４は、所与のセキュリティポリシーを含む種々のポリシーストリングをＰＤＬへパーズするように構成され、又、トランスレーター３０８は、ＰＤＬを汎用言語へパーズするように構成される。当業者に明らかなように、又、図２を参照して上述したように、種々のホスト１１０が実行するセキュリティポリシーの実行可能なバージョンは、汎用言語で書かれる。従って、図２の実施形態において、中央サーバー１０６が１つ以上のホスト１１０へ送信する各セキュリティポリシーに対して、トランスレーター３０４及び３０８は、先ず、そのセキュリティポリシー（この実施形態では、ポリシーサブデータベース２０２に存在する）のポリシーストリングバージョンの各ポリシーストリングを汎用言語へパーズする。このプロセスは、そのセキュリティポリシーの実行可能なバージョンを発生する。次いで、中央サーバー１０６の中央エージェント２１２は、セキュリティポリシー（即ちセキュリティポリシーの実行可能なバージョン）を１つ以上のホスト１１０へ送信する。
【００３１】
ＳＤＬレイヤー３１２は、種々のホスト１１０において種々のセキュリティポリシーを実行するのに必要な全てのランタイムライブラリー及びサポートサービスを含むＳＤＬを備えている。１つのホスト１１０のポリシーエンジン２２０が、中央サーバー１０６により送信されたセキュリティポリシーを実行するときには、そのセキュリティポリシーの実行可能なバージョンに含まれた幾つかの命令が、ＳＤＬへコールを発してランタイムライブラリーの種々の機能にアクセスし及び／又はセキュリティポリシーの実行に必要なサービスをサポートするように、ポリシーエンジン２２０を構成する。注目すべきことに、ＳＤＬは、１つ以上のホスト１１０で実行される各オペレーティングシステム（「プラットホーム」又は「デプロイメント」とも称される）に対してランタイムライブラリー及びサポートサービスの個別セットを含む。ここに更に詳細に述べるように、セキュリティポリシーの各実行可能なバージョンに含まれた命令は、特定の１つのホスト１１０のランタイムライブラリー及びサポートサービスポリシーエンジン２２０のどのセットがコールすべきかを、その特定の１つのホスト１１０の特定プラットホーム形式に基づいて指定する。当業者に明らかなように、この機能は、いずれの及び全ての形式のホストオペレーティングシステムにわたって言語スタック３００を実施できるようにする。このように、ＳＤＬレイヤー３１２は、アプリケーションプログラミングインターフェイスの場合と同様の機能を有する。
【００３２】
当業者に明らかなように、ここに開示するアーキテクチャーは、いかなる形式のポリシールール又は関連強制アクションも実施するように、ポリシーストリング（又はポリシーストリングのグループ）を構成することができる。各々のこのようなポリシーストリング（又はポリシーストリングのグループ）に対して、ＰＤＬ及びＳＤＬは、そのポリシーストリング（又はポリシーストリングのグループ）の基礎となるポリシールール又は強制アクションの機能を実施するように構成されねばならない。更に、トランスレーター３０４は、ポリシーストリング（又はポリシーストリングのグループ）を、そのポリシーストリング（又はポリシーストリングのグループ）の基礎となるポリシールール又は強制アクションの機能を実施するグラマー（即ちＰＤＬコード）へパーズするように構成されねばならない。
【００３３】
図２の実施形態のような一実施形態では、トランスレーター３０４が中央サーバー１０６に存在する。このような実施形態では、中央サーバー１０６は、中央エージェント２１２が特定のセキュリティポリシーを送信するところのコンピュータネットワーク１００の各ホスト１１０のプラットホーム形式を決定するように構成できる（特定のセキュリティポリシーを受け取るホスト１１０のグループを「受信ホスト１１０」と称する）。中央サーバー１０６は、更に、この情報をトランスレーター３０４へ通信するように構成でき、トランスレーター３０４は、そのセキュリティポリシー（ポリシーサブデータベース２０２に存在する）のポリシーストリングバージョンのポリシーストリングをＰＤＬの異なるバージョンへとパーズするように構成される。ＰＤＬのこのような各バージョンは、受信ホスト１１０のプラットホーム形式の１つに対応し、且つその特定のプラットホーム形式に対してアクセスされるべきＳＤＬにおけるランタイムライブラリー及びサポートサービスのセットを指定する命令を含む。次いで、トランスレーター３０８は、ＰＤＬのこれら異なるバージョンを汎用言語へパーズして、セキュリティポリシーの異なる実行可能なバージョン、即ち受信ホスト１１０の異なるプラットホーム形式の各々に対して１つのバージョン、を形成する。中央エージェント２１２は、所与のプラットホーム形式に対応するセキュリティポリシーの実行可能なバージョンを、その特定のプラットホーム形式を実行している受信ホスト１１０の各１つへ送信するように構成できる。このように、受信ホスト１１０の各１つは、その１つの受信ホスト１１０の特定プラットホーム形式に対応するＳＤＬにおけるランタイムライブラリー及びサポートサービスをコールするための命令を含むセキュリティポリシーの実行可能なバージョンを受け取る。
【００３４】
例えば、図２の状況では、中央サーバー１０６は、ホスト１１０−１で実行されているオペレーティングシステム（この例の説明上、Ｌｉｎｕｘ）を決定するように構成できる。中央サーバー１０６は、更に、ホスト１１０−１がＬｉｎｕｘで動作するところのトランスレーター３０４へ通信するように構成することもできる。中央サーバー１０６がホスト１１０−１へ通信する特定のセキュリティポリシーについては、トランスレーター３０４は、そのセキュリティポリシー（ポリシーサブデータベース２０２に記憶された）のポリシーストリングバージョンのポリシーストリングをＰＤＬへパーズする。セキュリティポリシーのこのＰＤＬバージョンは、Ｌｉｎｕｘオペレーティングシステムに対して構成されたＳＤＬのランタイムライブラリー及びサポートサービスをコールするための命令を含む。次いで、トランスレーター３０８が、セキュリティポリシーのＰＤＬバージョンを汎用言語にパーズして、セキュリティポリシーの実行可能なバージョンを形成する。中央エージェント２１２がホスト１１０−１へ送信するこの実行可能なバージョンも、Ｌｉｎｕｘオペレーティングシステムに対して構成されたＳＤＬのランタイムライブラリー及びサポートサービスをコールするための命令を含む。
【００３５】
別の実施形態では、トランスレーター３０４は、コンピュータシステム１００のホスト１１０の各々に存在することができ、各ホスト１１０は、そのプラットホーム形式をトランスレーター３０４へ通信するように構成できる。このような実施形態では、中央エージェント２１２は、セキュリティポリシー（ポリシーサブデータベース２０２に存在する）のポリシーストリングバージョンを受信ホスト１１０の各々へ送信する。このような各受信ホスト１１０に対して、トランスレーター３０４は、セキュリティポリシーのポリシーストリングバージョンのポリシーストリングを、特定の受信ホスト１００のプラットホーム形式に対応するＰＤＬのバージョンへパーズするように構成される。ここに述べるように、ＰＤＬのこのバージョンは、その特定のプラットホーム形式に対してアクセスされねばならないＳＤＬにおけるランタイムライブラリー及びサポートサービスのセットを指定する命令を含む。この場合も、トランスレーター３０８がセキュリティポリシーのＰＤＬバージョンを汎用言語へパーズするときに、セキュリティポリシーの実行可能なバージョンも、その受信ホスト１１０の特定プラットホーム形式に対応するＳＤＬにおけるランタイムライブラリー及びサポートサービスをコールするための命令を含む。
【００３６】
例えば、図２の状況では、トランスレーター３０４がホスト１１０−１に存在することができ、ホスト１１０−１は、このホスト１１０−１で実行されるオペレーティングシステムの形式（ここでも、この例の説明上、Ｌｉｎｕｘ）をトランスレーター３０４へ通信するように構成できる。更に、中央エージェント２１２は、セキュリティポリシー（ポリシーサブデータベース２０２に記憶された）のポリシーストリングバージョンをホスト１１０−１へ送信するように構成できる。トランスレーター３０４は、ポリシーストリングバージョンのポリシーストリングをＰＤＬへパーズする。セキュリティポリシーのこのＰＤＬバージョンは、Ｌｉｎｕｘオペレーティングシステムに対して構成されたＳＤＬのランタイムライブラリー及びサポートサービスをコールするための命令を含む。次いで、トランスレーター３０８は、セキュリティポリシーのＰＤＬバージョンを汎用言語へパーズして、セキュリティポリシーの実行可能なバージョンを形成する。ポリシーエンジン２２０が実行するこの実行可能なバージョンも、Ｌｉｎｕｘオペレーティングシステムに対して構成されたＳＤＬのランタイムライブラリー及びサポートサービスをコールするための命令を含む。
【００３７】
更に別の実施形態では、ユーザは、各受信ホスト１１０のプラットホーム形式を決定して、この情報を中央サーバー１０６に入力することができる（例えば、ウェブベースのユーザインターフェイスを使用することにより）。ここに述べるように、中央サーバー１０６は、この中央サーバー１０６に存在するトランスレーター３０４へこの情報を通信するように構成できる。この場合も、トランスレーター３０４は、セキュリティポリシー（ポリシーサブデータベース２０２に記憶された）のポリシーストリングバージョンのポリシーストリングをパーズして、セキュリティポリシーの異なるＰＤＬバージョン、即ち受信ホスト１１０の異なるプラットホーム形式の各々に対して１つのＰＤＬバージョン、を形成するように構成できる。トランスレーター３０８は、ＰＤＬの各バージョンを汎用言語へパーズして、受信ホスト１１０の異なるプラットホーム形式の各々に対してセキュリティポリシーの実行可能なバージョンを形成するように構成できる。最終的に、中央エージェント２１２は、所与のプラットホーム形式に対応するセキュリティポリシーの実行可能なバージョンを、その特定のプラットホーム形式を実行している受信ホスト１１０の各１つへ送信するように構成できる。
【００３８】
言語スタック３００は、企業ベースのセキュリティポリシーの基礎となる非常に複雑なコンピュータコードを、人間が読める高レベルのフォーマットへ抽象化することができる。逆に、言語スタック３００は、複雑な企業ベースのセキュリティポリシーを、人間が読める高レベルフォーマットで書き、次いで、企業規模のコンピュータネットワークの個々のマシンで実行できるコンピュータコードへ変換することもできる。図４を参照して以下に詳細に述べるように、ここに開示するアーキテクチャーは、企業ベースのセキュリティポリシーを設計する融通性のあるユーザに馴染み易い方法を形成する。注目すべきことに、ここに開示するアーキテクチャーは、ユーザがセキュリティポリシーを人間が読めるフォーマットで書くのを許すことから、ここに開示するシステムは広範囲なユーザにアクセス可能になる。というのは、個々のユーザは、実施可能なセキュリティポリシーを形成するのにその基礎的なコンピュータ指向の言語（例えば、ＰＤＬ及び汎用言語）を理解する必要がないからである。むしろ、ユーザは、平易な英語（又は他の任意な言語）で構造化できるポリシーストリングを使用して、企業ベースのセキュリティポリシーを含む個々のセキュリティポリシーを形成する。それ故、異なる技術レベルの様々な人々がここに開示するシステムを使用できる。
【００３９】
図４は、本発明の一実施形態によるポリシースキン４００を示す概念図である。図示されたように、ポリシースキン４００は、ポリシールールＡ４０２と、ポリシールールＢ４０４と、ポリシールールＣ４０６と、ポリシースキンＡ４０８とを含むことができるが、これらに限定されない。ポリシールールＡ４０２、ポリシールールＢ４０４及びポリシールールＣ４０６の各々は、１つ以上のポリシーストリングを備え、又、ポリシースキンＡ４０８は、１つ以上のポリシールールを備えている。別の実施形態では、ポリシースキン４００は、いかなる数のポリシールール及び／又はいかなる数のポリシースキンを含んでもよい。各ポリシースキンは、中央サーバー１０６がコンピュータネットワーク１００の１つ以上のホスト１１０へ送信する個々のセキュリティポリシーを構成することができる。これらのポリシースキンをコンパイルすることで、コンピュータネットワーク１００で表された企業に対する企業ベースのセキュリティポリシーを構成する。
【００４０】
ここに開示するシステムの１つの効果は、ポリシーストリング及び他のポリシースキンを使用してポリシースキン（即ち個々のセキュリティポリシー）を形成する融通性及び容易さである。図３を参照して上述したように、所与のポリシーストリング（又はポリシーストリングのグループ）は、いかなる形式のポリシールール又は強制アクションも実施するように構成することができる。典型的なポリシールール又は強制アクションは、あるアクションの発生を許すか又は許さず、種々のネットワークリソースへのアクセスを拒絶し、ホスト１１０における種々のファイアウオール機能を実施し、更に、ホスト１１０に生じる種々のアクションをロギング及び記録することを含むが、これらに限定されない。例えば、１つ以上のホスト１１０が全ての到来するファイルにおいてウィルス又はマルウェア(malware)チェッカーを実行するようにさせるポリシールールをユーザが実施したい場合に、ユーザは、「run Norton Utilities on all incoming files（全ての到来するファイルに対してNorton Utilitiesを実行する）」を示すポリシーストリングをポリシースキン４００に書き込むことができる。このポリシーストリングは、ポリシールールＡ４０２と指定することができる。所与の企業における会計係及び技術者がコンピュータネットワーク１００を経て互いにいかに対話するかをユーザが規制したい場合には、ユーザは、「engineers cannot talk to accountants over the network except viaE-mail; log any violations（技術者は、Ｅ−メールを除いてネットワークを経て会計係と話しをすることは不可；いかなる違反もログする）」を示すポリシーストリングをポリシースキン４００に書き込むことができる。このポリシーストリングは、ポリシールールＢ４０４と指定することができる。１つ以上のホスト１１０から送信される全てのデータトラフィックが暗号化されることをユーザが確保したい場合には、ユーザは、「encrypt all outgoing network traffic（全ての出て行くネットワークトラフィックを暗号化する）」を示すポリシーストリングをポリシースキン４００に書き込むことができる。このポリシーストリングは、ポリシールールＣ４０６と指定することができる。ユーザがコンピュータネットワーク１００上の全ファイルシステム共有をディスエイブルしたい場合には、ユーザは、「disable all file system sharing capabilities（全ファイルシステム共有能力をディスエイブルする）」を示すポリシーストリングをポリシースキン４００に書き込むことができる。
【００４１】
又、ポリシーストリングを使用して、ポリシースキン４００において時間指向の規制を実施することもできる。例えば、あるホスト１１０のユーザがウェブサーバーにアクセスできるところの時間量又は時間数をユーザが制限したい場合に、ユーザは、「the individual machine may access the web server for only two hoursper day（個々のマシンは、１日当たり２時間だけウェブサーバーにアクセスしてもよい）」又は「the individual machine may access the web server only between 11:00am and 2:00 pm each day（個々のマシンは、毎日午前１１時から午後２時までの間だけウェブサーバーにアクセスしてもよい）」を示すポリシーストリングをポリシースキン４００に書き込むことができる。
【００４２】
ポリシーストリングが実施するように構成されるところの他のポリシールール又は強制アクションは、次のものを含むが、これらに限定されない。インターネットプロトコル（ＩＰ）アドレスに基づいてネットワークパケットをブロックし、パスワードをもたないネットワークアカウントをディスエイブルし、プログラムのバージョンを検出し（メタデータ、ＭＤ５署名、等を使用して）、要注意のファイル又はプログラムへのユーザアクセスをブロックし、特定の個々のマシンへの及び／又はそこからのデータトラフィックをある割合で減少し、ピア対ピアのデータトラフィックをある割合で減少し、ウェブブラウザ以外のプログラムが外部ネットワークへアクセスするのを許さず、全てのＥ−メールを暗号化する一方、他の全てのデータトラフィックをそのまま残し、分析不能のＩＰアドレスを有する個々のマシンへの通信を防止、高レベルセキュリティのリークを捕らえるために企業の全副社長により送信される全てのＥ−メールをロギングし、「社内秘」という語句に対して全ての出て行くＥ−メールをサーチして、このようなＥ−メールが見つかった場合にアラームを送信し、ウィルスに対してＥ−メールをフィルタリングし、誰がネットワークにログインするか追跡し、ネットワークにおける種々の個々のマシンの所有者が誰か記録し、ネットワークにおける全てのハードウェア及びソフトウェアをアカウントして、そのハードウェア及びソフトウェアの進行中の使用を追跡し、個々のマシンにおいて常時実行されるアプリケーションの数を最小にし、個々のマシンの日常的オペレーションにとって不必要なアプリケーションを除去又はディスエイブルし、更に、セキュリティバグがパッチされ及び／又はレポートされるように確保する。
【００４３】
前記に加えて、ポリシーストリングは、所与のホスト１１０においてポリシールール違反が生じたときに強制アクションを行うべきか否かを指定するように構成することもできる。例えば、ポリシーストリングは、強制アクションを実施するように構成でき、従って、所与のホスト１１０は、ポリシールール違反が生じたときに、特定の強制アクションを行わずに、中央サーバー１０６に通知するだけでよい。ポリシースキン４００がこの作用のポリシーストリングを含むときには、ポリシースキン４００を実施する各ホスト１１０は、「読み取り専用」モードにあると思われる。これに対して、ポリシースキン４００が、ポリシールール違反が生じたときにある強制アクションをとらねばならないことを指定するポリシーストリングを含むときには、ポリシースキン４００を実施する各ホスト１１０は、「強制」モードにあると思われる。強制モードにおいては、ポリシーストリングは、例えば、（ｉ）違反ホスト１１０を適合状態に戻し、（ii）違反ホスト１１０のユーザに、例えば、１週間のようなある時間量を与えて、違反ホスト１１０を適合状態に戻すか、又は中央サーバー１０６により更なる強制アクションに直面させ、或いは（iii）違反ホスト１１０のユーザに、違反ホスト１１０を適合状態に戻すための命令を与える、という強制アクションを実施するように構成できる。
【００４４】
当業者に明らかなように、コンピュータセキュリティの基本的な問題は、比較的良く理解される。このため、限定数のポリシーストリングを、多数の既知のコンピュータセキュリティ脅威に対処するように設計することができる。（又、これらポリシーストリングは、任意の言語で書かれてもよい。）更に、新たに発生する各々のコンピュータセキュリティ脅威に対処するように新たなポリシーストリングを非常に容易に開発することができる。それ故、ここに開示するシステムを使用して、特定のコンピュータネットワーク１００に対して存在し得る実質上いかなるコンピュータセキュリティ脅威も対処するポリシースキンを形成することができる。更に、ここに開示するシステムを実施する企業は、それ自身のポリシースキンを形成する必要がない。むしろ、コンピュータセキュリティの第三者の専門家（又は任意の他の第三者）は、限定セット内の各ポリシーストリングがどのセキュリティポリシー又は強制アクションを実施するように構成されたかその第三者が知る限り、限定セットのポリシーストリングを使用して企業のためのポリシースキンを設計することができる。このような場合に、中央サーバー１０６は、これら第三者ポリシースキンを実施するように構成でき、第三者は、これらポリシースキンを中央サーバー１０６へ送信するだけでよい。
【００４５】
ポリシースキンは転送可能であり、これは、第１ホスト１１０で実施されているポリシースキンが第２ホスト１１０で実施されてもよいことを意味する。ポリシースキンが第２ホスト１１０で実施されると、第２ホスト１１０の振る舞い（企業ベースのセキュリティポリシーに関する）は、第１ホスト１１０と鏡像関係になる。更に、１つ以上のホスト１１０において多数のポリシースキンを実施することができる。これらの異なるポリシースキンが矛盾するポリシールールを含む程度までは、矛盾を解決するようにポリシールール自体を構成することができる。例えば、一実施形態では、矛盾するポリシールールを受け取る各ホスト１１０が最もプライオリティの高いポリシースキンにおいてポリシールールを実施するように、ポリシールールを構成することができる。
【００４６】
又、ポリシースキンを使用して、特定形式のホスト１１０で実施できる規定のセキュリティポリシーを形成することもできる。例えば、ユーザは、あるセットの各ポリシースキンが異なるレベルのセキュリティ、プライバシー、又はネットワーク監視を有するようなポリシースキンのセットを設計することができる。次いで、ユーザは、ユーザのセキュリティがディクテーションを必要とするときにある形式のホスト１１０において異なるポリシースキンを実施することができる。例えば、ユーザは、企業の各副社長の個々のマシンで特定セットのポリシールール及び強制アクションを実施することを希望する。ユーザは、ポリシールール及び強制アクションの希望のセットを実施するポリシーストリングを使用して「副社長」と称する規定のポリシースキンを設計することができる。次いで、ユーザは、企業の各副社長及び／又はその企業に加わる各新副社長の個々のマシンにおいて「副社長」ポリシースキンを実施することができる。
【００４７】
又、ポリシースキンは、「緊急事態(redalert)」状況に対して形成することもできる。これら特殊のポリシースキンは、危機的又は非常事態においてある指定のホスト１１０で実施されるべき高セキュリティポリシールールを含むことができる。例えば、各々のこのようなポリシースキンは、危機的又は非常事態の場合にポリシースキンが送信されるべき１つ以上のホスト１１０を指定することができる。中央サーバー１０６は、危機的又は非常事態の場合にトリガーされる内蔵の危機的レベルインジケータと共に構成できる。中央サーバー１０６は、更に、危機的レベルインジケータがトリガーされたときに１つ以上の特別に指定されたホスト１１０へ各特殊なポリシースキンを自動的に送信するように構成することもできる。或いは又、危機的又は非常事態において第三者がアラーム又は他の警報を中央サーバー１０６へ送信する役割を果たしてもよい。中央サーバー１０６は、第三者のアラーム又は他の警報を受け取ったときに１つ以上の特別に指定されたホスト１１０へ各特殊なポリシースキンを自動的に送信するように構成することもできる。
【００４８】
ポリシースキンの更に別の特徴は、それらを動的にリンクできることであり、これは、第１ホスト１１０において実施されるポリシースキンを、第２ホスト１１０において実施される１つ以上のポリシースキンの鏡像関係となるよう構成できることを意味する。例えば、第１ホスト１１０において実施されるポリシースキンＡが、第２ホスト１１０において実施されるポリシースキンＢの鏡像関係となるよう構成されるものとする。第１ホスト１１０及び第２ホスト１１０は、ポリシースキンＡとポリシースキンＢを比較するために互いに周期的に通信するように構成できる。第１ホスト１１０は、更に、ポリシースキンＢになされた変化を反映するようにポリシースキンＡを変更するよう構成できる。従って、ポリシールールＣがポリシースキンＢに追加される状態では、第１ホスト１１０がポリシースキンＢに対するこの変化を検出し、次いで、ポリシールールＣを含むようにポリシースキンＡを自動的に更新する。次いで、第１ホスト１１０は、第２ホスト１１０と同様に、ポリシールールＣを厳守し始める。一実施形態では、第１ホスト１１０及び第２ホスト１１０が同じコンピュータネットワーク１００に存在する。しかしながら、別の実施形態では、第１ホスト１１０及び第２ホスト１１０は、異なるコンピュータネットワーク１００に存在してもよい。
【００４９】
当業者であれば、ポリシースキン、及びポリシースキンを形成するためのポリシーストリングの使用は、非常に広範囲で且つ融通性のある概念であることが理解されよう。それ故、当業者であれば、ここに述べる説明及び特徴は、本発明を例示するためのものに過ぎず、本発明の範囲を何ら限定するものではないことが理解されよう。
【００５０】
図５は、本発明の一実施形態によるグループのセット５００を示す概念図である。図示されたように、グループのセット５００は、会社Ａグループ５０２と、副社長グループ５０４と、エンジニアリンググループ５０６と、会計グループ５０８とを含むが、これらに限定されない。概念的に、各グループは、コンピュータネットワーク１００の１つ以上のホスト１１０を指定する特定の仕方を表す。従って、会社Ａグループ５０２は、コンピュータネットワーク１００の全てのホスト１１０を含むことができ、これは、企業である会社Ａ内の全ての個々のマシンが会社Ａグループ５０２の一部分であることを意味する。副社長グループ５０４は、会社Ａの副社長に登録されたホスト１１０の各々を含むことができる。エンジニアリンググループ５０６は、会社Ａの技術者に登録されたホスト１１０の各々を含むことができる。同様に、会計グループ５０８は、会社Ａの会計部門のメンバーに登録されたホスト１１０の各々を含むことができる。
【００５１】
グループは、コンピュータネットワーク１００の１つ以上のホスト１１０を指定する考えられる方法を使用して形成することができる。例えば、グループは、企業内の特定の部署又は部門に対して形成することができる。エンジニアリンググループ５０６及び会計グループ５０８は、このようなグループ形式の一例である。グループは、企業内のある人々、例えば、部門を越えたプロジェクトチーム、エンジニアリング部門内のソフトウェア開発者のグループ、又は会社Ａの実行委員会における上級管理職のグループに対して形成することができる。副社長グループ５０４は、このようなグループ形式の一例である。グループは、ドメイン名を使用して形成することができる。例えば、サブドメインｃｏｒｐ．ｃｏｍｐａｎｙＡ．ｃｏｍ及びｅｎｇ．ｃｏｍｐａｎｙＡ．ｃｏｍは、会社Ａ内に既に存在し得る。あるグループは、ｃｏｒｐ．ｃｏｍｐａｎｙＡ．ｃｏｍサブドメインに属するホスト１１０の各々を含むように設計できると共に、あるグループは、ｅｎｇ．ｃｏｍｐａｎｙＡ．ｃｏｍサブドメインに属するホスト１１０の各々を含むように設計できる。又、あるグループは、特定形式のデータトラフィック（パケット）を受け取るか又は特定セットのシステムファイルを使用するホスト１１０の各々を含むように形成することができる。
【００５２】
グループの１つの特徴は、それらが静的であるか又は動的であることである。例えば、ユーザは、５人の特定の副社長を含むようにグループＡを定義することができる。このようなグループは、静的であり、即ちユーザが他のユーザを含むようにグループＡを実際に再定義しない限り、グループＡのメンバーは変化しないことを意味する。これに対して、ユーザは、エンジニアリング部門の全メンバーを含むようにグループＢを定義することができる。このようなグループは、動的であり、即ち技術者がエンジニアリング部門を去るか又はそれに加わるたびにグループＡが自動的に更新されることを意味する。
【００５３】
グループの別の特徴は、１つ以上のポリシースキンとの適合に基づいてそれらを定義できることである。例えば、ユーザは、ポリシースキンＢを実施している個々のマシンが、グループＡのメンバーである個々のマシンとしか通信できないことを示すポリシールールを含むポリシースキンＢを形成することができる。次いで、ユーザは、ポリシースキンＢに示されたポリシールールに適合する全てのホスト１１０を含むようにグループＡを定義することができる。第１ホスト１１０がポリシースキンＢを実施する場合に、第１ホスト１１０は、第２ホスト１１０がポリシースキンＢに示された全てのポリシールールに適合する場合でなければ、第２ホスト１１０と通信することができない。とりわけ、この形式のグループ構造は、異なるコンピュータネットワーク１００のホスト１１０間での安全な通信を容易にする。例えば、第１コンピュータネットワーク１００の第１ホスト１１０で実施されるポリシースキンは、第１ホスト１００のいずれかが第２ホスト１００のいずれかと通信することが許される前に第２コンピュータネットワーク１００の第２ホスト１００がそのポリシースキンのポリシールールに適合することを要求し得る。
【００５４】
グループの目的の１つは、企業ベースのセキュリティポリシーを構成する種々のポリシースキンを受け取らねばならないコンピュータネットワーク１００のホスト１１０の異なるセットを定義することである。例えば、ユーザは、ホストデータサブデータベース２０４に記憶されたＩＰアドレス情報を使用してグループＡを定義することができる。又、ユーザは、ユーザがグループＡの各ホスト１１０での実施を希望するポリシースキンＢも定義することができる。次いで、ユーザは、グループＡがポリシースキンＢを受け取るべきであることを指定できる。既に述べたように、中央サーバー１０６は、中央エージェント２１２がポリシーサブデータベース２０２からポリシースキンＢを検索し、次いで、そのポリシースキンＢの実行可能なバージョンをグループＡの各ホスト１１０へ送信するように構成することができる。グループ情報（例えば、どのホスト１１０がグループＡに属するか）は、中央サーバー１０６のデータベース２００に記憶することができる。一実施形態では、ユーザは、中央サーバー１０６のユーザインターフェイスを使用して、ホストデータサブデータベース２０４に記憶されたホストデータであるこの情報にアクセスし、グループＡを定義すると共に、グループＡがポリシースキンＢを受け取るべきであることを指定することができる。
【００５５】
コンピュータネットワーク１００の１つ以上のホスト１００が２つ以上のグループに所属し得ることに注意されたい。２つ以上のグループに所属する結果として、１つ以上のホスト１１０が２つ以上のポリシースキンを受け取ることがある。例えば、図５に示すように、あるホスト１１０は、副社長グループ５０４及びエンジニアリンググループ５０６の両方に属する。更に、特定のグループが、２つ以上のポリシースキンを受け取ることがある。図４を参照して上述したように、これらの異なるポリシースキンが矛盾するポリシールールを含む程度までは、それら矛盾を解決するようにポリシールール自体を構成することができる。
【００５６】
ポリシースキンと同様に、当業者であれば、グループ、及びグループを形成するためのポリシーストリングの使用は、非常に広範囲で且つ融通性のある概念であることが理解されよう。それ故、当業者であれば、ここに述べる説明及び特徴は、本発明を例示するためのものに過ぎず、本発明の範囲を何ら限定するものではないことが理解されよう。
【００５７】
図６は、本発明の一実施形態による企業ベースのセキュリティシステムの種々の特徴を示す概念図である。図示されたように、中央サーバー１０６のデータベース６００は、種々の機能的エンジンに結合することができ、これらのエンジンは、ポリシーエディター６０２と、リモートアクセスエンジン６０４と、仮想ポリシーエンジン６０６と、レポートエンジン６０８とを含むが、これらに限定されない。
【００５８】
ポリシーエディター６０２は、ポリシーストリング、ＰＤＬ及びＳＤＬを含む言語スタック３００のアーキテクチャー、並びにポリシースキン及びグループのようなここに開示するシステムの基礎的な概念を理解するように構成される。ポリシーエディター６０２は、ユーザがポリシーストリングを使用してポリシースキン及びグループを形成できるようにすると共に、既存のポリシースキン及びグループを編集し、インポートし及び見ることができるようにする。
【００５９】
リモートアクセスエンジン６０４は、コンピュータネットワーク１００の外部にいる当事者が中央サーバー１０６及びデータベース６００にアクセスするのを許すように構成される。とりわけ、リモートアクセスエンジン６０４は、第三者が、ここに開示するシステムの１人以上のユーザに対してポリシースキンを設計し、実施し、監視し及び／又は維持することができるようにする。例えば、ポリシースキンを設計する第三者は、リモートアクセスエンジン６０４を使用して、新たに形成されたポリシースキンをデータベース６００に送信すると共に、ポリシースキンを形成するのに必要なホストデータのような情報をデータベース６００からアクセスすることができる。又、リモートアクセスエンジン６０４は、無防備さ及びリスクの分析、セキュリティポリシーの監査、並びに適合性の分析の目的で、ユーザがコンピュータネットワーク１００の外部からデータベース６００にアクセスできるようにする。
【００６０】
仮想ポリシーエンジン６０６は、ユーザが所与のポリシースキンにおいてシミュレーションを実行して、コンピュータネットワーク１００の種々のホスト１１０がそのポリシースキンに適合するかどうか及びどの程度適合するかをテストできるように構成される。例えば、ユーザがグループＢのための新たなポリシースキンＡを形成してテストすることを希望する場合には、ユーザは、先ず、ポリシースキンＡを形成し、次いで、グループＢの各ホスト１１０に対してデータベース６００に記憶された既存のホストデータのシャドーコピーを使用してそのポリシースキンＡをテストすることができる。より詳細には、仮想ポリシーエンジン６０６を使用して、ユーザは、既存のホストデータに対してポリシースキンＡを実行し、グループＢの各ホスト１１０に対する適合性結果を決定し、分析する。同様に、ユーザが、グループＤのホスト１００において現在実施されているポリシースキンＣの一部分を変更し、その変更の影響を決定することを望む場合に、ユーザは、その変更を含む新たなポリシースキンＣを形成し、次いで、グループＤにおける各ホスト１１０に対してデータベース６００に記憶された既存のホストデータのシャドーコピーを使用してその新たなポリシースキンＣをテストすることができる。この場合も、仮想ポリシーエンジン６０６を使用して、ユーザは、既存のホストデータに対して新たなポリシースキンＣを実行し、グループＤにおける各ホスト１１０に対する適合性結果を決定し、分析することができる。
【００６１】
レポートエンジン６０８は、企業ベースのセキュリティポリシーとの適合性の全体的状態と、データベース６００に記憶された各ホスト１１０に対する集計ホストデータ及び適合性情報に基づくホスト１１０及びコンピュータネットワーク１００の種々の動作特性とに関する詳細なレポートを与えるように構成される。各レポートは、各ホスト１１０に対するポリシー適合性情報と、セキュリティ監査結果と、各ホスト１１０に見つかったソフトウェアバグ及び関連修理に関する情報と、各ホスト１１０に対するハードウェア及びソフトウェア在庫情報と、各ホスト１１０が消費する帯域巾の量及び各ホスト１１０に出入りするデータトラフィックの形式に関する情報とを含むことができるが、これらに限定されない。とりわけ、これらレポートは、企業ベースのセキュリティポリシーとの適合性の集計レベルと、種々のホスト１１０がこのセキュリティポリシーに適合する又は適合しない理由とをユーザが分析できるようにする。更に、これらレポートは、各ホスト１１０で実施されているポリシースキンとの適合性の個々のレベルと、ホスト１１０の特定の１つがこれらポリシースキンに適合する又は適合しない理由とをユーザが分析できるようにする。
【００６２】
レポートエンジン６０８は、所与の時間間隔で自動的にレポートを発生するように構成することができる。例えば、レポートは、毎日、毎週、２週ごと、又は毎月、自動的に発生することができる。或いは又、レポートエンジン６０８は、ユーザがレポートをいつでも動的に発生できるようにするためにＨＴＭＬ又はＧＵＩインターフェイスを含んでもよい。又、レポートは、例えば、平易テキスト、ＨＴＭＬ、ＰＤＦ又はクリスタルレポートライター(Crystal Report Writer)のような任意の形式の出力フォーマットで発生されてもよい。更に、レポートは、データベース６００に記憶されてもよいし、又は企業内の個人を選択するためにＥ−メール又は他のやり方で送信されてもよい。例えば、レポートは、ネットワークアドミニストレータ及び／又は企業のチーフ技術役員に直接Ｅ−メールされてもよい。
【００６３】
これらの企業規模の集計レポートに加えて、各ホスト１１０は、各ホスト１１０の適合性の個々の状態と、各ホスト１１０の種々の動作特性とに関する個々のレポートを発生するように構成できる。
【００６４】
当業者であれば、ここに開示する企業ベースのセキュリティシステムは、多数の機能及び特徴を有することが理解されよう。それ故、当業者であれば、ここに述べる説明及び特徴は、本発明を例示するためのものに過ぎず、本発明の範囲を何ら限定するものではないことが理解されよう。
【００６５】
図７は、本発明の一実施形態による企業ベースのセキュリティポリシーを与える方法のステップを示すフローチャートである。この方法ステップは、図１から６に示したシステムに関して説明したが、この方法ステップを任意の順序で実行するように構成されたいかなるシステムも本発明の範囲内に包含される。
【００６６】
企業ベースのセキュリティポリシーを与える方法は、ユーザが１つ以上のホスト１１０を含むグループを形成するステップ７００で始まる。一実施形態では、ユーザは、ポリシーストリングを使用してグループを形成する。ステップ７１０において、ユーザはポリシースキンを形成する。一実施形態において、ポリシースキンは、少なくとも１つのポリシールールを含む。別の実施形態では、ポリシースキンは、少なくとも１つの他のポリシースキンを含んでもよい。一実施形態では、ユーザは、ポリシーストリングを使用してポリシースキンを形成する。ステップ７２０において、中央サーバー１０６は、グループ内の各ホスト１１０へポリシースキンを送信する。一実施形態では、ポリシースキンの実行可能なバージョンがグループの各ホスト１１０へ送信される。別の実施形態では、ポリシースキンのポリシーストリングバージョンがグループの各ホスト１１０へ送信される。ステップ７３０において、各ホスト１１０は、収集したホストデータに対してポリシースキンを実行して、セキュリティポリシー（即ちポリシースキン）との適合性を決定する。ステップ７４０において、各ホスト１１０は、適合性情報及び収集したホストデータを中央サーバー１０６へ送信する。一実施形態では、この情報及びデータは、データベース２００に記憶され、次いで、無防備さ及びリスクの分析、セキュリティポリシーの監査、適合性の分析、ポリシースキンシミュレーション及びレポートのために、リモートアクセスエンジン６０４、仮想ポリシーエンジン６０６及びレポートエンジン６０８にアクセスすることができる。
【００６７】
上述したシステム及び方法の１つの効果は、ポリシースキン及びグループの結合により、ユーザが、所与の企業の全ての異なるエリアの特定のセキュリティニーズに対処するように構成された包括的セキュリティポリシーを開発及び実施できることである。別の効果は、ユーザが人間の読めるフォーマットでセキュリティポリシーを書き込めるようにするポリシーストリングを使用して、ポリシースキンが形成されることである。この能力は、色々な程度に技術的トレーニングを受けた広範囲なユーザが、ここに開示するシステムを使用してセキュリティポリシーを形成及び実施するのを許す。というのは、個々のユーザがセキュリティポリシーの基礎となるコンピュータコード又は他のシンタックスを理解する必要がないからである。それに加えて、ポリシースキンは、コンピュータネットワークの個々のマシンに対して特別に設計され且つそれにおいて実施される。それ故、ポリシースキンは、企業のコンピュータネットワークの個々のホストへの特定の脅威に対処するように企業ベースのセキュリティポリシーを仕立てることができる。従って、ここに開示するシステムは、ほとんどのアクティビティが個々のホストに生じるのでセキュリティの脅威を最も受け易いコンピュータネットワークの部分であるホストのレベルでセキュリティポリシーの適合性及び強制実行性に焦点を置き、これにより、全体的により安全なシステムを形成する。更に別の効果として、ここに開示するシステムは、とりわけ、企業のコンピュータネットワークにわたるセキュリティポリシー適合性の集計レベルを表す最新のレポートを発行する。これらのレポートは、とりわけ、ネットワークアドミニストレータのようなユーザが各個々のマシンにおけるセキュリティポリシー適合性を理解して追跡するのを許す。この情報は、例えば、企業のコンピュータネットワーク全体にわたりセキュリティの不足を識別して固定し、全体的により安全なシステムを形成するのに使用できる。
【００６８】
以上、本発明を、その特定の実施形態を参照して説明した。しかしながら、当業者であれば、特許請求の範囲に規定する本発明の広い精神及び範囲から逸脱せずに種々の変更や修正がなされ得ることが理解されよう。例えば、一実施形態において、中央サーバー１０６は、セキュリティポリシーの実行可能なバージョンをホスト１１０へ送信するように構成される。このような実施形態では、トランスレーター３０４及び３０８が中央サーバー１０６に存在する。別の実施形態では、中央サーバー１０６は、セキュリティポリシーのポリシーストリングバージョンをホスト１１０へ送信するように構成される。このような実施形態では、トランスレーター３０４及び３０８がホスト１１０の各１つに存在する。更に、一実施形態では、中央エージェント２１２、スケジューラー２１８、ポリシーエンジン２２０及びデータ収集エンジン２２２の機能がソフトウェアで実施される。しかしながら、別の実施形態では、中央エージェント２１２、スケジューラー２１８、ポリシーエンジン２２０及びデータ収集エンジン２２２の各々の機能が、ハードウェア、又はソフトウェアとハードウェアの組合せで実施されてもよい。従って、前記説明及び図面は、本発明を例示するもので、本発明を何ら限定するものではない。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態により企業ベースのセキュリティシステムを実施するように構成されたコンピュータネットワークを示すブロック図である。
【図２】本発明の一実施形態による図１の中央サーバー及び１つのホストの概念的構成を示すブロック図である。
【図３】本発明の一実施形態による言語スタックのアーキテクチャーを示す概念図である。
【図４】本発明の一実施形態によるポリシースキンを示す概念図である。
【図５】本発明の一実施形態によるグループのセットを示す概念図である。
【図６】本発明の一実施形態による企業ベースのセキュリティシステムの種々の特徴を示す概念図である。
【図７】本発明の一実施形態による企業ベースのセキュリティポリシーを与える方法のステップを示すフローチャートである。
【符号の説明】
【００７０】
１００・・・コンピュータネットワーク、１０２・・・外部ネットワーク、１０３・・・ルーター、１０６・・・中央サーバー、１１０（１１０−１、１１０−２、１１０−３）・・・ホスト、２００・・・データベース、２０２・・・ポリシーサブデータベース、２０４・・・ホストデータサブデータベース、２０６・・・暗号情報サブデータベース、２１２・・・中央エージェント、２１４・・・ホストエージェント、２１８・・・スケジューラー、２２０・・・ポリシーエンジン、２２２・・・データ収集エンジン、３００・・・言語スタック、３０２・・・ポリシーストリングレイヤー、３０４・・・トランスレーター、３０６・・・ポリシー定義言語（ＰＤＬ）レイヤー、３０８・・・トランスレーター、３１０・・・汎用言語レイヤー、３１２・・・システム定義言語（ＳＤＬ）レイヤー、４００・・・ポリシースキン、５００・・・グループのセット、６００・・・データベース
【図１】
2006516339.tif 000003
【図２】
2006516339.tif 000004
【図３】
2006516339.tif 000005
【図４】
2006516339.tif 000006
【図５】
2006516339.tif 000007
【図６】
2006516339.tif 000008
【図７】
2006516339.tif 000009