説明

企業ベースのコンピュータセキュリティポリシーを与えるシステム及び方法

企業ベースのセキュリティポリシーを与えるシステム及び方法が説明される。一実施形態において、このシステムは、データベースからポリシースキンを検索して、該ポリシースキンをホストへ送信するように構成された中央エージェントを備えている。更に、このシステムは、ホストに関連したホストデータを収集するように構成されたデータ収集エンジンを備えている。それに加えて、このシステムは、ホストデータに対してポリシースキンを実行して、セキュリティポリシー適合性を決定するように構成されたポリシーエンジンも備えている。

【発明の詳細な説明】
【関連出願のクロスリファレンス】
【0001】
本出願は、2002年12月2日に出願された「Information-Based,Policy-Driven Network Security Systems and Methods」と題する米国プロビジョナル特許出願第60/430,170号に係り、その優先権の利益を請求する。この関連出願の要旨を参考としてここに援用する。
【発明の分野】
【0002】
本発明は、一般に、コンピュータセキュリティに係り、より詳細には、企業ベースのコンピュータセキュリティポリシーを与えるシステム及び方法に係る。
【背景】
【0003】
会社、教育団体及び政府機関(各々「企業」の例である)がコンピュータ及びコンピュータネットワークの使用を増大し、且つコンピュータネットワークに対する攻撃(例えば、Nimbdaワーム及び「I Love You」E−メールウィルス)の巧妙さ及び頻度が増すにつれて、コンピュータセキュリティが益々重要な問題になってきた。このような攻撃や、他のコンピュータセキュリティ問題、例えば、無断のコンピュータ及びデータアクセスと戦うために、ネットワークアドミニストレータは、通常、企業規模のセキュリティポリシーを開発し、次いで、種々の形式のコンピュータセキュリティハードウェア及びソフトウェアを使用してこれらのセキュリティポリシーを実施するように試みる。
【0004】
この解決策に対する1つの欠点は、標準的なコンピュータセキュリティハードウェア及びソフトウェアが、通常、コンピュータネットワークへの多数のセキュリティ脅威に対処するように設計されていないことである。それ故、ネットワークアドミニストレータは、所与の企業ベースセキュリティポリシーの異なる観点に対処するためにハードウェア及びソフトウェアの異なる断片を購入することが強制される。コンピュータセキュリティに対するこの断片的な解決策では、しばしば、セキュリティホールをもつシステムとなり、コンピュータネットワークを攻撃に対して無防備のままにする。更に、この解決策は、全体的なセキュリティポリシーの適合性の追跡を、不可能でないまでも、著しく困難にする。これらの問題は、企業の規模が増大するにつれて、悪化する。
【0005】
別の欠点は、コンピュータセキュリティハードウェア及びソフトウェアがしばしば技術的に精通した者に対して設計されていて、コンピュータセキュリティハードウェア又はソフトウェアを適切に実施するためにコンピュータハードウェア又はプログラミング言語のある程度の知識を必要とすることである。このような必要性は、コンピュータセキュリティポリシーを計画し、開発し及び実施できる企業内の個人の人数を制限するだけでなく、コンピュータセキュリティハードウェア及びソフトウェアに組み込むことのできる機能も制限する。
【0006】
更に別の欠点は、ウィルス対策ソフトウェアを除いて、ほとんどのコンピュータセキュリティハードウェア及びソフトウェアが、所与のコンピュータネットワークの異なるホストの各々に対する特定のセキュリティ脅威に対処するように仕立てられたものではないことである。個々のホストはコンピュータネットワークにおける最も弱いリンクであり、即ち侵入及び他のセキュリティ違反を最も受け易いネットワークの要素であるので、各個々のホストを充分に保護しないと、コンピュータネットワーク自体のセキュリティも危うくする。
【概要】
【0007】
企業ベースのセキュリティポリシーを与えるシステムの一実施形態は、データベースからポリシースキンを検索して、そのポリシースキンをホストへ送信するように構成された中央エージェントを備えている。このシステムは、更に、ホストに関連したホストデータを収集するように構成されたデータ収集エンジンも備えている。それに加えて、このシステムは、ホストデータに対してポリシースキンを実行してセキュリティポリシーの適合性を決定するように構成されたポリシーエンジンも備えている。
【0008】
ここに開示するシステムの1つの効果は、ポリシースキン及びグループの結合により、ユーザが、所与の企業の全ての異なるエリアの特定のセキュリティニーズに対処するように構成された包括的セキュリティポリシーを開発及び実施できることである。別の効果は、ユーザが人間の読めるフォーマットでセキュリティポリシーを書き込めるようにするポリシーストリングを使用して、ポリシースキンが形成されることである。この能力は、色々な程度に技術的トレーニングを受けた広範囲なユーザが、ここに開示するシステムを使用してセキュリティポリシーを形成及び実施するのを許す。というのは、個々のユーザがセキュリティポリシーの基礎となるコンピュータコード又は他のシンタックスを理解する必要がないからである。それに加えて、ポリシースキンは、コンピュータネットワークの個々のマシンに対して特別に設計され且つそれにおいて実施される。それ故、ポリシースキンは、企業のコンピュータネットワークの個々のホストへの特定の脅威に対処するように企業ベースのセキュリティポリシーを仕立てることができる。従って、ここに開示するシステムは、ほとんどのアクティビティが個々のホストに生じるのでセキュリティの脅威を最も受け易いコンピュータネットワークの部分であるホストのレベルでセキュリティポリシーの適合性及び強制実行性に焦点を置き、これにより、全体的により安全なシステムを形成する。更に別の効果として、ここに開示するシステムは、とりわけ、企業のコンピュータネットワークにわたるセキュリティポリシー適合性の集計レベルを表す最新のレポートを発行する。これらのレポートは、とりわけ、ネットワークアドミニストレータのようなユーザが各個々のマシンにおけるセキュリティポリシー適合性を理解して追跡するのを許す。この情報は、例えば、企業のコンピュータネットワーク全体にわたりセキュリティの不足を識別して固定し、全体的により安全なシステムを形成するのに使用できる。
【詳細な説明】
【0009】
図1は、本発明の一実施形態により企業ベースのセキュリティポリシーを実施するように構成されたコンピュータネットワーク100を示すブロック図である。図示されたように、コンピュータネットワーク100は、ルーター103のようなネットワーク装置を使用して外部ネットワーク102に結合される。外部ネットワーク102は、任意の形式のデータネットワークでよく、ローカルエリアネットワーク(LAN)、都市エリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)又はインターネットを含むが、これらに限定されない。
【0010】
又、図1に示すように、コンピュータネットワーク100は、ホスト110−1、110−2及び110−3(「ホスト110」とも称される)と、中央サーバー106とを備えてもよいが、これらに限定されない。ホスト110−1、110−2及び110−3の各々は、任意の形式の個々のコンピューティング装置でよく、例えば、サーバーマシン、デスクトップコンピュータ、ラップトップコンピュータ、セットトップボックス、ゲームシステム又はコンソール、或いはパーソナルデジタルアシスタントでよい。
【0011】
図2を参照して以下に詳細に述べるように、中央サーバー106は、コンピュータネットワーク100を経て企業ベースのコンピュータセキュリティポリシーを管理するように構成される。より詳細には、中央サーバー106は、個々のセキュリティポリシーを内部データベース(図示せず)に記憶するように構成され、これら個々のセキュリティポリシーをコンパイルして企業ベースのセキュリティポリシーを構成する。各個々のセキュリティポリシーは、1つ以上のホスト110において実施されるように特別に仕立てることができる。中央サーバー106は、更に、ホスト110−1、110−2及び110−3の各々に、そのホストに対して特別に仕立てられた各個々のセキュリティポリシーを送信する(又は「プッシュダウン」する)ように構成される。これらホスト110は、次いで、中央サーバー106から受け取られた個々のポリシーを実施するように構成される。以下で更に詳細に述べるように、ホストレベルで遭遇する特定のセキュリティ脅威に対して保護するように構成された企業ベースのセキュリティポリシーが得られる。従って、ここに開示するシステムは、ほとんどのアクティビティが生じる個々のホストにおいてセキュリティポリシーを実施するように通常構成されていない現在のシステムよりも有効な企業ベースのセキュリティポリシーを与える。
【0012】
図1に示す実施形態では、コンピュータネットワーク100は、企業ベースのコンピュータネットワークを表す。しかしながら、当業者であれば、コンピュータネットワーク100は、技術的に実現可能ないかなる構成を有してもよいことが明らかであろう。例えば、別の実施形態では、コンピュータネットワーク100は、いかなる数及び/又は形式のホスト110を含んでもよい。それとは別の他の実施形態では、コンピュータネットワーク100は、2つ以上の中央サーバー106を含んでもよい。それ故、当業者であれば、コンピュータシステム100の構成が本発明の範囲を何ら限定するものでないことが理解されよう。
【0013】
図2は、本発明の一実施形態による図1の中央サーバー106及び1つのホスト110の概念的構成を示すブロック図である。当業者であれば、ホスト110−1、110−2及び110−3の各々は、同じ一般的構成を有することが理解されよう。このため、ここでは、ホスト110−1のみの構成を説明する。
【0014】
以下に詳細に述べるように、中央サーバー106は、1つ以上の個々のセキュリティポリシーをホスト110−1へ送信するように構成され、該ホストは、各々のこのようなセキュリティポリシーを実行するように構成される。ホスト110−1は、更に、それ自身及びそのユーザ(1人又は複数)に関するデータ(「ホストデータ」と称される)を収集し、このデータを使用して、それが1つ以上の個々のセキュリティポリシーに適合するかどうか決定するように構成される。更に、ホスト110−1は、ホストデータと、1つ以上のセキュリティポリシーに対するその適合状態に関する情報とを中央サーバー106へ送信するように構成される。ここに開示するシステムのユーザは、次いで、このホストデータ及び適合性情報を分析して、ホスト110−1が企業ベースのセキュリティポリシーに適合するかどうか、及びホスト110−1が何故適合するか又は適合しないかを理解することができる。更に、ユーザは、コンピュータネットワーク100の全てのホスト110に対して中央サーバー106へ送信されたホストデータ及び適合性情報を集計して、企業ベースのセキュリティポリシーに対する全体的な適合状態を理解することができる。
【0015】
図示されたように、中央サーバー106は、データベース200及び中央エージェント212を含むことができるが、これらに限定されない。データベース200は、企業ベースのセキュリティポリシーの管理に関する特定形式の動作情報を記憶するために1つ以上のサブデータベースを含むことができる。図示されたように、データベース200は、ポリシーサブデータベース202と、ホストデータサブデータベース204と、暗号化情報サブデータベース208とを含むが、これらに限定されない。ポリシーサブデータベース202は、任意の形式のセキュリティポリシー情報を記憶するように構成される。このような情報は、個々のセキュリティポリシーを形成するのに使用できるポリシールールのライブラリーと、形成された個々のセキュリティポリシーとを含むことができるが、これらに限定されない。
【0016】
ホストデータサブデータベース204は、種々のホスト110により中央サーバー106へ送信されたホストデータを記憶するように構成される。ホストデータは、パスワード及びユーザ名情報のようなユーザ情報と、到来する及び出て行くデータパケットカウント及びポート使用情報のようなネットワーク情報と、ホストオペレーティングシステム情報及びインストールされるハードウェア及びソフトウェア情報のようなホスト構成情報と、ファイル名及びサイズのようなファイルシステム情報と、ユーザアカウント情報のような現在実行中のアプリケーションに関する情報と、ネットワークポート情報と、関連ファイル及びライブラリーに関する情報とを含むことができるが、これらに限定されない。ホストデータサブデータベース204は、更に、種々のホスト110により送信されるセキュリティポリシー適合性情報を記憶するように構成される(例えば、ホスト110−1が、ホスト110−1で実施されている1つ以上のセキュリティポリシーに適合するかどうか)。
【0017】
暗号化情報サブデータベース208は、コンピュータネットワーク100を経て送信されるデータトラフィックであって、コンピュータネットワーク100へ内部送信されるデータトラフィック及び外部ネットワーク102へ送信されるデータトラフィックの両方を含むデータトラフィックのいずれかを暗号化することに関する情報を記憶するように構成される。
【0018】
一実施形態において、データベース200(並びに個々のサブデータベース202、204、206及び208)は、MySQL、オラクル又はIBMにより提供されるもののような、構造化照合言語(SQL)アクセス型のデータベースで構成される。しかしながら、別の実施形態では、データベース200は、任意の形式のデータベースで構成されてもよい。更に、別の実施形態では、サブデータベース202、204、206及び208の1つ以上が、データベース200とは別々で且つ個別の個々のデータベースで構成されてもよく、又はサブデータベース202、204、206及び208の各々が、別々で且つ個別のデータベースで構成されてもよい。
【0019】
中央エージェント212は、各ホスト110との全ての通信をマネージする。より詳細には、中央エージェント212は、いずれかのホスト110により中央サーバー106へ送信される全てのデータトラフィックを監視及び受信すると共に、そのデータを必要に応じてデータベース200の異なるサブデータベースへ送信するように構成される。このようなデータトラフィックは、ホストデータと、セキュリティポリシーの違反を指示するメッセージ(或いはアラーム又は警報)を含む全てのセキュリティポリシー適合性情報を含むが、これらに限定されない。中央エージェント212は、更に、データベース200のポリシーサブデータベース202に記憶された個々のセキュリティポリシーを検索すると共に、一実施形態では、これらセキュリティポリシーの実行可能なバージョンを種々のホスト110へ送信又はプッシュダウンするように構成される。
【0020】
又、中央サーバー106は、ユーザが中央サーバー106にアクセスしてそれと対話するのを許すユーザインターフェイス(図示せず)も備えている。一実施形態では、ユーザインターフェイスは、ウェブベースのインターフェイスで構成される。
【0021】
又、図2に示すように、ホスト110−1は、ホストエージェント214と、スケジューラー218と、ポリシーエンジン220と、データ収集エンジン222とを含むことができるが、これらに限定されない。ホストエージェント214は、中央エージェント212との全ての通信をマネージする。より詳細には、ホストエージェント214は、以下に詳細に述べるように、中央エージェント212によりホスト110−1へ送信された個々のセキュリティポリシーを受け取って、ホストデータ及びセキュリティポリシー適合性情報を中央エージェント212へ返送するように構成される。ホストエージェント214は、更に、スケジューラー218を経てポリシーエンジン220及びデータ収集エンジン222を制御すると共に、ホスト110−1の種々の通信及び処理動作の中で潜在的な競合を仲裁するように構成できる。
【0022】
スケジューラー218は、ホスト110−1に対するアクティビティの指定のサイクルを規則的な時間間隔で開始するように構成される。データ収集エンジン222は、ホスト110−1に関するホストデータを収集し、その情報をポリシーエンジン220及びホストエージェント214へ送信するように構成される。ポリシーエンジン220は、データ収集エンジン222からホストデータを受け取ると共に、中央サーバー106からホスト110−1へ送信された1つ以上の個々のセキュリティポリシーの実行可能なバージョンを検索するように構成される。ポリシーエンジン220は、更に、各個々のセキュリティポリシーを読み取り、各個々のセキュリティポリシーの種々のポリシールールを、ホスト110−1から収集されたホストデータと比較し、更に、ホスト110−1が各個々のセキュリティポリシーに適合するかどうか決定するように構成される。又、ポリシーエンジン220は、所与の個々のセキュリティポリシーに規定された強制(enforcement)アクションを、ホスト110−1がその特定の個々のセキュリティポリシーに適合しない程度まで開始するように構成される。強制アクションは、ホスト110−1を個々のセキュリティポリシーに適合するように戻すためにアクションをとること、ホスト110−1が個々のセキュリティポリシーに適合しないというメッセージを中央サーバー106へ送信すること、及びホスト110−1が適合しないときにとるべきであると個々のセキュリティポリシーが指定する任意のアクションを取ることを含むが、これらに限定されない。最終的に、ポリシーエンジン220は、各個々のセキュリティポリシーに対するホスト110−1の適合状態をホストエージェント214へ送信するように構成される。
【0023】
一実施形態において、スケジューラー218がホスト110−1に対して開始するアクティビティのサイクルは、データ収集アクティビティと、ポリシー分析及び実施アクティビティと、レポートアクティビティとを含むが、これらに限定されない。第1に、スケジューラー218は、データ収集アクティビティを開始する。割り当てられた時間周期中に、データ収集エンジン222は、ホスト110−1に関するホストデータを収集する。次いで、スケジューラー218は、ポリシー分析及び実施アクティビティを開始する。割り当てられた時間周期中に、データ収集エンジンは、収集されたホストデータをポリシーエンジン222へ送信し、次いで、ポリシーエンジン220は、中央サーバー106からホスト110−1へ送信される1つ以上の個々のセキュリティポリシーの実行可能なバージョンを検索する。次いで、ポリシーエンジン220は、各個々のセキュリティポリシーを読み取り、各個々のセキュリティポリシーの種々のポリシールールをホストデータと比較し、ホスト110−1が各個々のセキュリティポリシーに適合するかどうか決定し、次いで、ホスト110−1が特定の個々のセキュリティポリシーに適合しない程度まで、その個々のセキュリティポリシーで指定された強制アクションを開始する。最終的に、スケジューラー218は、レポートアクティビティを開始する。割り当てられた時間周期中に、データ収集エージェント222は、その収集されたホストデータをホストエージェント214へ送信し、次いで、ポリシーエンジン220は、各個々のセキュリティポリシーに対するホスト110−1の適合性状態をホストエージェント214へ送信する。ホストエージェント214は、次いで、ホストデータ及びセキュリティポリシー適合性情報を中央サーバー106の中央エージェント212へ送信する。
【0024】
以上の説明に加えて、一実施形態では、ホスト110−1に出入りする全てのデータトラフィックへのアクセス、その変更、記録及び制御を可能にするように、ホスト110−1のネットワークレイヤーにパケットフィルタが配置される。当業者であれば、コンピュータネットワーク100の各ホスト110にこのようなパケットフィルタを配置することにより、コンピュータネットワーク100の全てのデータトラフィックにアクセスして、それを変更し、制御できることが明らかであろう。
【0025】
集計レベルでは、コンピュータネットワーク100の全てのホスト110が、進行中ベースで規則的な時間間隔においてここに述べるアクティビティのサイクルを通して動作するように構成できることが当業者に理解されよう。このような構成では、全てのホスト110は、ホストデータ及びセキュリティポリシー適合性情報を中央サーバー106へ同時にレポートすることができる。これらアクティビティの適切な同期、並びに他のシステム及びネットワークアクティビティの適切な整合を確保するために、中央サーバー106及び各ホスト110は、ネットワークタイムプロトコルサービス(又は他の同等のプロトコル)を実行することができる。
【0026】
図3は、本発明の一実施形態による言語スタック300のアーキテクチャーを示す概念図である。図示されたように、言語スタック300は、ポリシーストリングレイヤー302と、トランスレーター304と、ポリシー定義言語(PDL)レイヤー306と、トランスレーター308と、汎用言語レイヤー310と、システム定義言語(SDL)レイヤー312とを備えているが、これらに限定されない。
【0027】
ポリシーストリングレイヤー302は、中央サーバー106が種々のホスト110へ送信する個々のセキュリティポリシーを形成するのに使用されるポリシーストリング(「ポリシールール」とも称される)を含む。所与のポリシーストリングは、固定のポリシールールを表現するように静的に構成することができる。又、所与のポリシーストリングは、そのポリシーストリングにより表現されたポリシールールの振る舞いを変更し又はそれに焦点を合わせるために定義できる1つ以上の変数又はパラメータを含むように構成されてもよい。このように、ポリシーストリングは、マクロの場合と同様の機能で構成することができる。図3に示すように、ポリシーストリングは、言語ストック300において最高レベルの言語を構成する。重要なことに、各ポリシーストリングは、ここに開示するシステムのユーザが最小限の努力で各ホスト110に対して特定の良好に定義されたセキュリティポリシーを形成できるようにするために、人間が読める形態で書き込まれる。図4を参照して以下に詳細に述べるように、一実施形態では、ポリシーサブデータベース202に存在する個々のセキュリティポリシーのバージョンがポリシーストリングに書き込まれる(各々のこのようなバージョンは、個々のセキュリティポリシーの「ポリシーストリングバージョン」とも称される)。
【0028】
PDLレイヤー306は、言語スタック300における中間ティアー言語であるPDL(「燃料(Fuel)」とも称される)を含む。当業者に明らかなように、PDLは、コンピュータセキュリティ(即ちセキュリティポリシー形成及び実施)に向かって特別に仕立てられたグラマーの良好に定義されたセットを含む特殊目的の小言語を構成する。他のものの中でも、PDLは、その種々のグラマーを汎用の言語へと容易に変換できるように構造化される。
【0029】
汎用言語レイヤー310は、汎用言語を含む。図3に示すように、汎用言語は、言語スタック300における最低レベルの言語である。一実施形態では、汎用言語は、Python言語を含む。しかしながら、別の実施形態では、汎用言語は、いかなる汎用言語を含んでもよい。
【0030】
トランスレーター304は、所与のセキュリティポリシーを含む種々のポリシーストリングをPDLへパーズするように構成され、又、トランスレーター308は、PDLを汎用言語へパーズするように構成される。当業者に明らかなように、又、図2を参照して上述したように、種々のホスト110が実行するセキュリティポリシーの実行可能なバージョンは、汎用言語で書かれる。従って、図2の実施形態において、中央サーバー106が1つ以上のホスト110へ送信する各セキュリティポリシーに対して、トランスレーター304及び308は、先ず、そのセキュリティポリシー(この実施形態では、ポリシーサブデータベース202に存在する)のポリシーストリングバージョンの各ポリシーストリングを汎用言語へパーズする。このプロセスは、そのセキュリティポリシーの実行可能なバージョンを発生する。次いで、中央サーバー106の中央エージェント212は、セキュリティポリシー(即ちセキュリティポリシーの実行可能なバージョン)を1つ以上のホスト110へ送信する。
【0031】
SDLレイヤー312は、種々のホスト110において種々のセキュリティポリシーを実行するのに必要な全てのランタイムライブラリー及びサポートサービスを含むSDLを備えている。1つのホスト110のポリシーエンジン220が、中央サーバー106により送信されたセキュリティポリシーを実行するときには、そのセキュリティポリシーの実行可能なバージョンに含まれた幾つかの命令が、SDLへコールを発してランタイムライブラリーの種々の機能にアクセスし及び/又はセキュリティポリシーの実行に必要なサービスをサポートするように、ポリシーエンジン220を構成する。注目すべきことに、SDLは、1つ以上のホスト110で実行される各オペレーティングシステム(「プラットホーム」又は「デプロイメント」とも称される)に対してランタイムライブラリー及びサポートサービスの個別セットを含む。ここに更に詳細に述べるように、セキュリティポリシーの各実行可能なバージョンに含まれた命令は、特定の1つのホスト110のランタイムライブラリー及びサポートサービスポリシーエンジン220のどのセットがコールすべきかを、その特定の1つのホスト110の特定プラットホーム形式に基づいて指定する。当業者に明らかなように、この機能は、いずれの及び全ての形式のホストオペレーティングシステムにわたって言語スタック300を実施できるようにする。このように、SDLレイヤー312は、アプリケーションプログラミングインターフェイスの場合と同様の機能を有する。
【0032】
当業者に明らかなように、ここに開示するアーキテクチャーは、いかなる形式のポリシールール又は関連強制アクションも実施するように、ポリシーストリング(又はポリシーストリングのグループ)を構成することができる。各々のこのようなポリシーストリング(又はポリシーストリングのグループ)に対して、PDL及びSDLは、そのポリシーストリング(又はポリシーストリングのグループ)の基礎となるポリシールール又は強制アクションの機能を実施するように構成されねばならない。更に、トランスレーター304は、ポリシーストリング(又はポリシーストリングのグループ)を、そのポリシーストリング(又はポリシーストリングのグループ)の基礎となるポリシールール又は強制アクションの機能を実施するグラマー(即ちPDLコード)へパーズするように構成されねばならない。
【0033】
図2の実施形態のような一実施形態では、トランスレーター304が中央サーバー106に存在する。このような実施形態では、中央サーバー106は、中央エージェント212が特定のセキュリティポリシーを送信するところのコンピュータネットワーク100の各ホスト110のプラットホーム形式を決定するように構成できる(特定のセキュリティポリシーを受け取るホスト110のグループを「受信ホスト110」と称する)。中央サーバー106は、更に、この情報をトランスレーター304へ通信するように構成でき、トランスレーター304は、そのセキュリティポリシー(ポリシーサブデータベース202に存在する)のポリシーストリングバージョンのポリシーストリングをPDLの異なるバージョンへとパーズするように構成される。PDLのこのような各バージョンは、受信ホスト110のプラットホーム形式の1つに対応し、且つその特定のプラットホーム形式に対してアクセスされるべきSDLにおけるランタイムライブラリー及びサポートサービスのセットを指定する命令を含む。次いで、トランスレーター308は、PDLのこれら異なるバージョンを汎用言語へパーズして、セキュリティポリシーの異なる実行可能なバージョン、即ち受信ホスト110の異なるプラットホーム形式の各々に対して1つのバージョン、を形成する。中央エージェント212は、所与のプラットホーム形式に対応するセキュリティポリシーの実行可能なバージョンを、その特定のプラットホーム形式を実行している受信ホスト110の各1つへ送信するように構成できる。このように、受信ホスト110の各1つは、その1つの受信ホスト110の特定プラットホーム形式に対応するSDLにおけるランタイムライブラリー及びサポートサービスをコールするための命令を含むセキュリティポリシーの実行可能なバージョンを受け取る。
【0034】
例えば、図2の状況では、中央サーバー106は、ホスト110−1で実行されているオペレーティングシステム(この例の説明上、Linux)を決定するように構成できる。中央サーバー106は、更に、ホスト110−1がLinuxで動作するところのトランスレーター304へ通信するように構成することもできる。中央サーバー106がホスト110−1へ通信する特定のセキュリティポリシーについては、トランスレーター304は、そのセキュリティポリシー(ポリシーサブデータベース202に記憶された)のポリシーストリングバージョンのポリシーストリングをPDLへパーズする。セキュリティポリシーのこのPDLバージョンは、Linuxオペレーティングシステムに対して構成されたSDLのランタイムライブラリー及びサポートサービスをコールするための命令を含む。次いで、トランスレーター308が、セキュリティポリシーのPDLバージョンを汎用言語にパーズして、セキュリティポリシーの実行可能なバージョンを形成する。中央エージェント212がホスト110−1へ送信するこの実行可能なバージョンも、Linuxオペレーティングシステムに対して構成されたSDLのランタイムライブラリー及びサポートサービスをコールするための命令を含む。
【0035】
別の実施形態では、トランスレーター304は、コンピュータシステム100のホスト110の各々に存在することができ、各ホスト110は、そのプラットホーム形式をトランスレーター304へ通信するように構成できる。このような実施形態では、中央エージェント212は、セキュリティポリシー(ポリシーサブデータベース202に存在する)のポリシーストリングバージョンを受信ホスト110の各々へ送信する。このような各受信ホスト110に対して、トランスレーター304は、セキュリティポリシーのポリシーストリングバージョンのポリシーストリングを、特定の受信ホスト100のプラットホーム形式に対応するPDLのバージョンへパーズするように構成される。ここに述べるように、PDLのこのバージョンは、その特定のプラットホーム形式に対してアクセスされねばならないSDLにおけるランタイムライブラリー及びサポートサービスのセットを指定する命令を含む。この場合も、トランスレーター308がセキュリティポリシーのPDLバージョンを汎用言語へパーズするときに、セキュリティポリシーの実行可能なバージョンも、その受信ホスト110の特定プラットホーム形式に対応するSDLにおけるランタイムライブラリー及びサポートサービスをコールするための命令を含む。
【0036】
例えば、図2の状況では、トランスレーター304がホスト110−1に存在することができ、ホスト110−1は、このホスト110−1で実行されるオペレーティングシステムの形式(ここでも、この例の説明上、Linux)をトランスレーター304へ通信するように構成できる。更に、中央エージェント212は、セキュリティポリシー(ポリシーサブデータベース202に記憶された)のポリシーストリングバージョンをホスト110−1へ送信するように構成できる。トランスレーター304は、ポリシーストリングバージョンのポリシーストリングをPDLへパーズする。セキュリティポリシーのこのPDLバージョンは、Linuxオペレーティングシステムに対して構成されたSDLのランタイムライブラリー及びサポートサービスをコールするための命令を含む。次いで、トランスレーター308は、セキュリティポリシーのPDLバージョンを汎用言語へパーズして、セキュリティポリシーの実行可能なバージョンを形成する。ポリシーエンジン220が実行するこの実行可能なバージョンも、Linuxオペレーティングシステムに対して構成されたSDLのランタイムライブラリー及びサポートサービスをコールするための命令を含む。
【0037】
更に別の実施形態では、ユーザは、各受信ホスト110のプラットホーム形式を決定して、この情報を中央サーバー106に入力することができる(例えば、ウェブベースのユーザインターフェイスを使用することにより)。ここに述べるように、中央サーバー106は、この中央サーバー106に存在するトランスレーター304へこの情報を通信するように構成できる。この場合も、トランスレーター304は、セキュリティポリシー(ポリシーサブデータベース202に記憶された)のポリシーストリングバージョンのポリシーストリングをパーズして、セキュリティポリシーの異なるPDLバージョン、即ち受信ホスト110の異なるプラットホーム形式の各々に対して1つのPDLバージョン、を形成するように構成できる。トランスレーター308は、PDLの各バージョンを汎用言語へパーズして、受信ホスト110の異なるプラットホーム形式の各々に対してセキュリティポリシーの実行可能なバージョンを形成するように構成できる。最終的に、中央エージェント212は、所与のプラットホーム形式に対応するセキュリティポリシーの実行可能なバージョンを、その特定のプラットホーム形式を実行している受信ホスト110の各1つへ送信するように構成できる。
【0038】
言語スタック300は、企業ベースのセキュリティポリシーの基礎となる非常に複雑なコンピュータコードを、人間が読める高レベルのフォーマットへ抽象化することができる。逆に、言語スタック300は、複雑な企業ベースのセキュリティポリシーを、人間が読める高レベルフォーマットで書き、次いで、企業規模のコンピュータネットワークの個々のマシンで実行できるコンピュータコードへ変換することもできる。図4を参照して以下に詳細に述べるように、ここに開示するアーキテクチャーは、企業ベースのセキュリティポリシーを設計する融通性のあるユーザに馴染み易い方法を形成する。注目すべきことに、ここに開示するアーキテクチャーは、ユーザがセキュリティポリシーを人間が読めるフォーマットで書くのを許すことから、ここに開示するシステムは広範囲なユーザにアクセス可能になる。というのは、個々のユーザは、実施可能なセキュリティポリシーを形成するのにその基礎的なコンピュータ指向の言語(例えば、PDL及び汎用言語)を理解する必要がないからである。むしろ、ユーザは、平易な英語(又は他の任意な言語)で構造化できるポリシーストリングを使用して、企業ベースのセキュリティポリシーを含む個々のセキュリティポリシーを形成する。それ故、異なる技術レベルの様々な人々がここに開示するシステムを使用できる。
【0039】
図4は、本発明の一実施形態によるポリシースキン400を示す概念図である。図示されたように、ポリシースキン400は、ポリシールールA402と、ポリシールールB404と、ポリシールールC406と、ポリシースキンA408とを含むことができるが、これらに限定されない。ポリシールールA402、ポリシールールB404及びポリシールールC406の各々は、1つ以上のポリシーストリングを備え、又、ポリシースキンA408は、1つ以上のポリシールールを備えている。別の実施形態では、ポリシースキン400は、いかなる数のポリシールール及び/又はいかなる数のポリシースキンを含んでもよい。各ポリシースキンは、中央サーバー106がコンピュータネットワーク100の1つ以上のホスト110へ送信する個々のセキュリティポリシーを構成することができる。これらのポリシースキンをコンパイルすることで、コンピュータネットワーク100で表された企業に対する企業ベースのセキュリティポリシーを構成する。
【0040】
ここに開示するシステムの1つの効果は、ポリシーストリング及び他のポリシースキンを使用してポリシースキン(即ち個々のセキュリティポリシー)を形成する融通性及び容易さである。図3を参照して上述したように、所与のポリシーストリング(又はポリシーストリングのグループ)は、いかなる形式のポリシールール又は強制アクションも実施するように構成することができる。典型的なポリシールール又は強制アクションは、あるアクションの発生を許すか又は許さず、種々のネットワークリソースへのアクセスを拒絶し、ホスト110における種々のファイアウオール機能を実施し、更に、ホスト110に生じる種々のアクションをロギング及び記録することを含むが、これらに限定されない。例えば、1つ以上のホスト110が全ての到来するファイルにおいてウィルス又はマルウェア(malware)チェッカーを実行するようにさせるポリシールールをユーザが実施したい場合に、ユーザは、「run Norton Utilities on all incoming files(全ての到来するファイルに対してNorton Utilitiesを実行する)」を示すポリシーストリングをポリシースキン400に書き込むことができる。このポリシーストリングは、ポリシールールA402と指定することができる。所与の企業における会計係及び技術者がコンピュータネットワーク100を経て互いにいかに対話するかをユーザが規制したい場合には、ユーザは、「engineers cannot talk to accountants over the network except viaE-mail; log any violations(技術者は、E−メールを除いてネットワークを経て会計係と話しをすることは不可;いかなる違反もログする)」を示すポリシーストリングをポリシースキン400に書き込むことができる。このポリシーストリングは、ポリシールールB404と指定することができる。1つ以上のホスト110から送信される全てのデータトラフィックが暗号化されることをユーザが確保したい場合には、ユーザは、「encrypt all outgoing network traffic(全ての出て行くネットワークトラフィックを暗号化する)」を示すポリシーストリングをポリシースキン400に書き込むことができる。このポリシーストリングは、ポリシールールC406と指定することができる。ユーザがコンピュータネットワーク100上の全ファイルシステム共有をディスエイブルしたい場合には、ユーザは、「disable all file system sharing capabilities(全ファイルシステム共有能力をディスエイブルする)」を示すポリシーストリングをポリシースキン400に書き込むことができる。
【0041】
又、ポリシーストリングを使用して、ポリシースキン400において時間指向の規制を実施することもできる。例えば、あるホスト110のユーザがウェブサーバーにアクセスできるところの時間量又は時間数をユーザが制限したい場合に、ユーザは、「the individual machine may access the web server for only two hoursper day(個々のマシンは、1日当たり2時間だけウェブサーバーにアクセスしてもよい)」又は「the individual machine may access the web server only between 11:00am and 2:00 pm each day(個々のマシンは、毎日午前11時から午後2時までの間だけウェブサーバーにアクセスしてもよい)」を示すポリシーストリングをポリシースキン400に書き込むことができる。
【0042】
ポリシーストリングが実施するように構成されるところの他のポリシールール又は強制アクションは、次のものを含むが、これらに限定されない。インターネットプロトコル(IP)アドレスに基づいてネットワークパケットをブロックし、パスワードをもたないネットワークアカウントをディスエイブルし、プログラムのバージョンを検出し(メタデータ、MD5署名、等を使用して)、要注意のファイル又はプログラムへのユーザアクセスをブロックし、特定の個々のマシンへの及び/又はそこからのデータトラフィックをある割合で減少し、ピア対ピアのデータトラフィックをある割合で減少し、ウェブブラウザ以外のプログラムが外部ネットワークへアクセスするのを許さず、全てのE−メールを暗号化する一方、他の全てのデータトラフィックをそのまま残し、分析不能のIPアドレスを有する個々のマシンへの通信を防止、高レベルセキュリティのリークを捕らえるために企業の全副社長により送信される全てのE−メールをロギングし、「社内秘」という語句に対して全ての出て行くE−メールをサーチして、このようなE−メールが見つかった場合にアラームを送信し、ウィルスに対してE−メールをフィルタリングし、誰がネットワークにログインするか追跡し、ネットワークにおける種々の個々のマシンの所有者が誰か記録し、ネットワークにおける全てのハードウェア及びソフトウェアをアカウントして、そのハードウェア及びソフトウェアの進行中の使用を追跡し、個々のマシンにおいて常時実行されるアプリケーションの数を最小にし、個々のマシンの日常的オペレーションにとって不必要なアプリケーションを除去又はディスエイブルし、更に、セキュリティバグがパッチされ及び/又はレポートされるように確保する。
【0043】
前記に加えて、ポリシーストリングは、所与のホスト110においてポリシールール違反が生じたときに強制アクションを行うべきか否かを指定するように構成することもできる。例えば、ポリシーストリングは、強制アクションを実施するように構成でき、従って、所与のホスト110は、ポリシールール違反が生じたときに、特定の強制アクションを行わずに、中央サーバー106に通知するだけでよい。ポリシースキン400がこの作用のポリシーストリングを含むときには、ポリシースキン400を実施する各ホスト110は、「読み取り専用」モードにあると思われる。これに対して、ポリシースキン400が、ポリシールール違反が生じたときにある強制アクションをとらねばならないことを指定するポリシーストリングを含むときには、ポリシースキン400を実施する各ホスト110は、「強制」モードにあると思われる。強制モードにおいては、ポリシーストリングは、例えば、(i)違反ホスト110を適合状態に戻し、(ii)違反ホスト110のユーザに、例えば、1週間のようなある時間量を与えて、違反ホスト110を適合状態に戻すか、又は中央サーバー106により更なる強制アクションに直面させ、或いは(iii)違反ホスト110のユーザに、違反ホスト110を適合状態に戻すための命令を与える、という強制アクションを実施するように構成できる。
【0044】
当業者に明らかなように、コンピュータセキュリティの基本的な問題は、比較的良く理解される。このため、限定数のポリシーストリングを、多数の既知のコンピュータセキュリティ脅威に対処するように設計することができる。(又、これらポリシーストリングは、任意の言語で書かれてもよい。)更に、新たに発生する各々のコンピュータセキュリティ脅威に対処するように新たなポリシーストリングを非常に容易に開発することができる。それ故、ここに開示するシステムを使用して、特定のコンピュータネットワーク100に対して存在し得る実質上いかなるコンピュータセキュリティ脅威も対処するポリシースキンを形成することができる。更に、ここに開示するシステムを実施する企業は、それ自身のポリシースキンを形成する必要がない。むしろ、コンピュータセキュリティの第三者の専門家(又は任意の他の第三者)は、限定セット内の各ポリシーストリングがどのセキュリティポリシー又は強制アクションを実施するように構成されたかその第三者が知る限り、限定セットのポリシーストリングを使用して企業のためのポリシースキンを設計することができる。このような場合に、中央サーバー106は、これら第三者ポリシースキンを実施するように構成でき、第三者は、これらポリシースキンを中央サーバー106へ送信するだけでよい。
【0045】
ポリシースキンは転送可能であり、これは、第1ホスト110で実施されているポリシースキンが第2ホスト110で実施されてもよいことを意味する。ポリシースキンが第2ホスト110で実施されると、第2ホスト110の振る舞い(企業ベースのセキュリティポリシーに関する)は、第1ホスト110と鏡像関係になる。更に、1つ以上のホスト110において多数のポリシースキンを実施することができる。これらの異なるポリシースキンが矛盾するポリシールールを含む程度までは、矛盾を解決するようにポリシールール自体を構成することができる。例えば、一実施形態では、矛盾するポリシールールを受け取る各ホスト110が最もプライオリティの高いポリシースキンにおいてポリシールールを実施するように、ポリシールールを構成することができる。
【0046】
又、ポリシースキンを使用して、特定形式のホスト110で実施できる規定のセキュリティポリシーを形成することもできる。例えば、ユーザは、あるセットの各ポリシースキンが異なるレベルのセキュリティ、プライバシー、又はネットワーク監視を有するようなポリシースキンのセットを設計することができる。次いで、ユーザは、ユーザのセキュリティがディクテーションを必要とするときにある形式のホスト110において異なるポリシースキンを実施することができる。例えば、ユーザは、企業の各副社長の個々のマシンで特定セットのポリシールール及び強制アクションを実施することを希望する。ユーザは、ポリシールール及び強制アクションの希望のセットを実施するポリシーストリングを使用して「副社長」と称する規定のポリシースキンを設計することができる。次いで、ユーザは、企業の各副社長及び/又はその企業に加わる各新副社長の個々のマシンにおいて「副社長」ポリシースキンを実施することができる。
【0047】
又、ポリシースキンは、「緊急事態(redalert)」状況に対して形成することもできる。これら特殊のポリシースキンは、危機的又は非常事態においてある指定のホスト110で実施されるべき高セキュリティポリシールールを含むことができる。例えば、各々のこのようなポリシースキンは、危機的又は非常事態の場合にポリシースキンが送信されるべき1つ以上のホスト110を指定することができる。中央サーバー106は、危機的又は非常事態の場合にトリガーされる内蔵の危機的レベルインジケータと共に構成できる。中央サーバー106は、更に、危機的レベルインジケータがトリガーされたときに1つ以上の特別に指定されたホスト110へ各特殊なポリシースキンを自動的に送信するように構成することもできる。或いは又、危機的又は非常事態において第三者がアラーム又は他の警報を中央サーバー106へ送信する役割を果たしてもよい。中央サーバー106は、第三者のアラーム又は他の警報を受け取ったときに1つ以上の特別に指定されたホスト110へ各特殊なポリシースキンを自動的に送信するように構成することもできる。
【0048】
ポリシースキンの更に別の特徴は、それらを動的にリンクできることであり、これは、第1ホスト110において実施されるポリシースキンを、第2ホスト110において実施される1つ以上のポリシースキンの鏡像関係となるよう構成できることを意味する。例えば、第1ホスト110において実施されるポリシースキンAが、第2ホスト110において実施されるポリシースキンBの鏡像関係となるよう構成されるものとする。第1ホスト110及び第2ホスト110は、ポリシースキンAとポリシースキンBを比較するために互いに周期的に通信するように構成できる。第1ホスト110は、更に、ポリシースキンBになされた変化を反映するようにポリシースキンAを変更するよう構成できる。従って、ポリシールールCがポリシースキンBに追加される状態では、第1ホスト110がポリシースキンBに対するこの変化を検出し、次いで、ポリシールールCを含むようにポリシースキンAを自動的に更新する。次いで、第1ホスト110は、第2ホスト110と同様に、ポリシールールCを厳守し始める。一実施形態では、第1ホスト110及び第2ホスト110が同じコンピュータネットワーク100に存在する。しかしながら、別の実施形態では、第1ホスト110及び第2ホスト110は、異なるコンピュータネットワーク100に存在してもよい。
【0049】
当業者であれば、ポリシースキン、及びポリシースキンを形成するためのポリシーストリングの使用は、非常に広範囲で且つ融通性のある概念であることが理解されよう。それ故、当業者であれば、ここに述べる説明及び特徴は、本発明を例示するためのものに過ぎず、本発明の範囲を何ら限定するものではないことが理解されよう。
【0050】
図5は、本発明の一実施形態によるグループのセット500を示す概念図である。図示されたように、グループのセット500は、会社Aグループ502と、副社長グループ504と、エンジニアリンググループ506と、会計グループ508とを含むが、これらに限定されない。概念的に、各グループは、コンピュータネットワーク100の1つ以上のホスト110を指定する特定の仕方を表す。従って、会社Aグループ502は、コンピュータネットワーク100の全てのホスト110を含むことができ、これは、企業である会社A内の全ての個々のマシンが会社Aグループ502の一部分であることを意味する。副社長グループ504は、会社Aの副社長に登録されたホスト110の各々を含むことができる。エンジニアリンググループ506は、会社Aの技術者に登録されたホスト110の各々を含むことができる。同様に、会計グループ508は、会社Aの会計部門のメンバーに登録されたホスト110の各々を含むことができる。
【0051】
グループは、コンピュータネットワーク100の1つ以上のホスト110を指定する考えられる方法を使用して形成することができる。例えば、グループは、企業内の特定の部署又は部門に対して形成することができる。エンジニアリンググループ506及び会計グループ508は、このようなグループ形式の一例である。グループは、企業内のある人々、例えば、部門を越えたプロジェクトチーム、エンジニアリング部門内のソフトウェア開発者のグループ、又は会社Aの実行委員会における上級管理職のグループに対して形成することができる。副社長グループ504は、このようなグループ形式の一例である。グループは、ドメイン名を使用して形成することができる。例えば、サブドメインcorp.companyA.com及びeng.companyA.comは、会社A内に既に存在し得る。あるグループは、corp.companyA.comサブドメインに属するホスト110の各々を含むように設計できると共に、あるグループは、eng.companyA.comサブドメインに属するホスト110の各々を含むように設計できる。又、あるグループは、特定形式のデータトラフィック(パケット)を受け取るか又は特定セットのシステムファイルを使用するホスト110の各々を含むように形成することができる。
【0052】
グループの1つの特徴は、それらが静的であるか又は動的であることである。例えば、ユーザは、5人の特定の副社長を含むようにグループAを定義することができる。このようなグループは、静的であり、即ちユーザが他のユーザを含むようにグループAを実際に再定義しない限り、グループAのメンバーは変化しないことを意味する。これに対して、ユーザは、エンジニアリング部門の全メンバーを含むようにグループBを定義することができる。このようなグループは、動的であり、即ち技術者がエンジニアリング部門を去るか又はそれに加わるたびにグループAが自動的に更新されることを意味する。
【0053】
グループの別の特徴は、1つ以上のポリシースキンとの適合に基づいてそれらを定義できることである。例えば、ユーザは、ポリシースキンBを実施している個々のマシンが、グループAのメンバーである個々のマシンとしか通信できないことを示すポリシールールを含むポリシースキンBを形成することができる。次いで、ユーザは、ポリシースキンBに示されたポリシールールに適合する全てのホスト110を含むようにグループAを定義することができる。第1ホスト110がポリシースキンBを実施する場合に、第1ホスト110は、第2ホスト110がポリシースキンBに示された全てのポリシールールに適合する場合でなければ、第2ホスト110と通信することができない。とりわけ、この形式のグループ構造は、異なるコンピュータネットワーク100のホスト110間での安全な通信を容易にする。例えば、第1コンピュータネットワーク100の第1ホスト110で実施されるポリシースキンは、第1ホスト100のいずれかが第2ホスト100のいずれかと通信することが許される前に第2コンピュータネットワーク100の第2ホスト100がそのポリシースキンのポリシールールに適合することを要求し得る。
【0054】
グループの目的の1つは、企業ベースのセキュリティポリシーを構成する種々のポリシースキンを受け取らねばならないコンピュータネットワーク100のホスト110の異なるセットを定義することである。例えば、ユーザは、ホストデータサブデータベース204に記憶されたIPアドレス情報を使用してグループAを定義することができる。又、ユーザは、ユーザがグループAの各ホスト110での実施を希望するポリシースキンBも定義することができる。次いで、ユーザは、グループAがポリシースキンBを受け取るべきであることを指定できる。既に述べたように、中央サーバー106は、中央エージェント212がポリシーサブデータベース202からポリシースキンBを検索し、次いで、そのポリシースキンBの実行可能なバージョンをグループAの各ホスト110へ送信するように構成することができる。グループ情報(例えば、どのホスト110がグループAに属するか)は、中央サーバー106のデータベース200に記憶することができる。一実施形態では、ユーザは、中央サーバー106のユーザインターフェイスを使用して、ホストデータサブデータベース204に記憶されたホストデータであるこの情報にアクセスし、グループAを定義すると共に、グループAがポリシースキンBを受け取るべきであることを指定することができる。
【0055】
コンピュータネットワーク100の1つ以上のホスト100が2つ以上のグループに所属し得ることに注意されたい。2つ以上のグループに所属する結果として、1つ以上のホスト110が2つ以上のポリシースキンを受け取ることがある。例えば、図5に示すように、あるホスト110は、副社長グループ504及びエンジニアリンググループ506の両方に属する。更に、特定のグループが、2つ以上のポリシースキンを受け取ることがある。図4を参照して上述したように、これらの異なるポリシースキンが矛盾するポリシールールを含む程度までは、それら矛盾を解決するようにポリシールール自体を構成することができる。
【0056】
ポリシースキンと同様に、当業者であれば、グループ、及びグループを形成するためのポリシーストリングの使用は、非常に広範囲で且つ融通性のある概念であることが理解されよう。それ故、当業者であれば、ここに述べる説明及び特徴は、本発明を例示するためのものに過ぎず、本発明の範囲を何ら限定するものではないことが理解されよう。
【0057】
図6は、本発明の一実施形態による企業ベースのセキュリティシステムの種々の特徴を示す概念図である。図示されたように、中央サーバー106のデータベース600は、種々の機能的エンジンに結合することができ、これらのエンジンは、ポリシーエディター602と、リモートアクセスエンジン604と、仮想ポリシーエンジン606と、レポートエンジン608とを含むが、これらに限定されない。
【0058】
ポリシーエディター602は、ポリシーストリング、PDL及びSDLを含む言語スタック300のアーキテクチャー、並びにポリシースキン及びグループのようなここに開示するシステムの基礎的な概念を理解するように構成される。ポリシーエディター602は、ユーザがポリシーストリングを使用してポリシースキン及びグループを形成できるようにすると共に、既存のポリシースキン及びグループを編集し、インポートし及び見ることができるようにする。
【0059】
リモートアクセスエンジン604は、コンピュータネットワーク100の外部にいる当事者が中央サーバー106及びデータベース600にアクセスするのを許すように構成される。とりわけ、リモートアクセスエンジン604は、第三者が、ここに開示するシステムの1人以上のユーザに対してポリシースキンを設計し、実施し、監視し及び/又は維持することができるようにする。例えば、ポリシースキンを設計する第三者は、リモートアクセスエンジン604を使用して、新たに形成されたポリシースキンをデータベース600に送信すると共に、ポリシースキンを形成するのに必要なホストデータのような情報をデータベース600からアクセスすることができる。又、リモートアクセスエンジン604は、無防備さ及びリスクの分析、セキュリティポリシーの監査、並びに適合性の分析の目的で、ユーザがコンピュータネットワーク100の外部からデータベース600にアクセスできるようにする。
【0060】
仮想ポリシーエンジン606は、ユーザが所与のポリシースキンにおいてシミュレーションを実行して、コンピュータネットワーク100の種々のホスト110がそのポリシースキンに適合するかどうか及びどの程度適合するかをテストできるように構成される。例えば、ユーザがグループBのための新たなポリシースキンAを形成してテストすることを希望する場合には、ユーザは、先ず、ポリシースキンAを形成し、次いで、グループBの各ホスト110に対してデータベース600に記憶された既存のホストデータのシャドーコピーを使用してそのポリシースキンAをテストすることができる。より詳細には、仮想ポリシーエンジン606を使用して、ユーザは、既存のホストデータに対してポリシースキンAを実行し、グループBの各ホスト110に対する適合性結果を決定し、分析する。同様に、ユーザが、グループDのホスト100において現在実施されているポリシースキンCの一部分を変更し、その変更の影響を決定することを望む場合に、ユーザは、その変更を含む新たなポリシースキンCを形成し、次いで、グループDにおける各ホスト110に対してデータベース600に記憶された既存のホストデータのシャドーコピーを使用してその新たなポリシースキンCをテストすることができる。この場合も、仮想ポリシーエンジン606を使用して、ユーザは、既存のホストデータに対して新たなポリシースキンCを実行し、グループDにおける各ホスト110に対する適合性結果を決定し、分析することができる。
【0061】
レポートエンジン608は、企業ベースのセキュリティポリシーとの適合性の全体的状態と、データベース600に記憶された各ホスト110に対する集計ホストデータ及び適合性情報に基づくホスト110及びコンピュータネットワーク100の種々の動作特性とに関する詳細なレポートを与えるように構成される。各レポートは、各ホスト110に対するポリシー適合性情報と、セキュリティ監査結果と、各ホスト110に見つかったソフトウェアバグ及び関連修理に関する情報と、各ホスト110に対するハードウェア及びソフトウェア在庫情報と、各ホスト110が消費する帯域巾の量及び各ホスト110に出入りするデータトラフィックの形式に関する情報とを含むことができるが、これらに限定されない。とりわけ、これらレポートは、企業ベースのセキュリティポリシーとの適合性の集計レベルと、種々のホスト110がこのセキュリティポリシーに適合する又は適合しない理由とをユーザが分析できるようにする。更に、これらレポートは、各ホスト110で実施されているポリシースキンとの適合性の個々のレベルと、ホスト110の特定の1つがこれらポリシースキンに適合する又は適合しない理由とをユーザが分析できるようにする。
【0062】
レポートエンジン608は、所与の時間間隔で自動的にレポートを発生するように構成することができる。例えば、レポートは、毎日、毎週、2週ごと、又は毎月、自動的に発生することができる。或いは又、レポートエンジン608は、ユーザがレポートをいつでも動的に発生できるようにするためにHTML又はGUIインターフェイスを含んでもよい。又、レポートは、例えば、平易テキスト、HTML、PDF又はクリスタルレポートライター(Crystal Report Writer)のような任意の形式の出力フォーマットで発生されてもよい。更に、レポートは、データベース600に記憶されてもよいし、又は企業内の個人を選択するためにE−メール又は他のやり方で送信されてもよい。例えば、レポートは、ネットワークアドミニストレータ及び/又は企業のチーフ技術役員に直接E−メールされてもよい。
【0063】
これらの企業規模の集計レポートに加えて、各ホスト110は、各ホスト110の適合性の個々の状態と、各ホスト110の種々の動作特性とに関する個々のレポートを発生するように構成できる。
【0064】
当業者であれば、ここに開示する企業ベースのセキュリティシステムは、多数の機能及び特徴を有することが理解されよう。それ故、当業者であれば、ここに述べる説明及び特徴は、本発明を例示するためのものに過ぎず、本発明の範囲を何ら限定するものではないことが理解されよう。
【0065】
図7は、本発明の一実施形態による企業ベースのセキュリティポリシーを与える方法のステップを示すフローチャートである。この方法ステップは、図1から6に示したシステムに関して説明したが、この方法ステップを任意の順序で実行するように構成されたいかなるシステムも本発明の範囲内に包含される。
【0066】
企業ベースのセキュリティポリシーを与える方法は、ユーザが1つ以上のホスト110を含むグループを形成するステップ700で始まる。一実施形態では、ユーザは、ポリシーストリングを使用してグループを形成する。ステップ710において、ユーザはポリシースキンを形成する。一実施形態において、ポリシースキンは、少なくとも1つのポリシールールを含む。別の実施形態では、ポリシースキンは、少なくとも1つの他のポリシースキンを含んでもよい。一実施形態では、ユーザは、ポリシーストリングを使用してポリシースキンを形成する。ステップ720において、中央サーバー106は、グループ内の各ホスト110へポリシースキンを送信する。一実施形態では、ポリシースキンの実行可能なバージョンがグループの各ホスト110へ送信される。別の実施形態では、ポリシースキンのポリシーストリングバージョンがグループの各ホスト110へ送信される。ステップ730において、各ホスト110は、収集したホストデータに対してポリシースキンを実行して、セキュリティポリシー(即ちポリシースキン)との適合性を決定する。ステップ740において、各ホスト110は、適合性情報及び収集したホストデータを中央サーバー106へ送信する。一実施形態では、この情報及びデータは、データベース200に記憶され、次いで、無防備さ及びリスクの分析、セキュリティポリシーの監査、適合性の分析、ポリシースキンシミュレーション及びレポートのために、リモートアクセスエンジン604、仮想ポリシーエンジン606及びレポートエンジン608にアクセスすることができる。
【0067】
上述したシステム及び方法の1つの効果は、ポリシースキン及びグループの結合により、ユーザが、所与の企業の全ての異なるエリアの特定のセキュリティニーズに対処するように構成された包括的セキュリティポリシーを開発及び実施できることである。別の効果は、ユーザが人間の読めるフォーマットでセキュリティポリシーを書き込めるようにするポリシーストリングを使用して、ポリシースキンが形成されることである。この能力は、色々な程度に技術的トレーニングを受けた広範囲なユーザが、ここに開示するシステムを使用してセキュリティポリシーを形成及び実施するのを許す。というのは、個々のユーザがセキュリティポリシーの基礎となるコンピュータコード又は他のシンタックスを理解する必要がないからである。それに加えて、ポリシースキンは、コンピュータネットワークの個々のマシンに対して特別に設計され且つそれにおいて実施される。それ故、ポリシースキンは、企業のコンピュータネットワークの個々のホストへの特定の脅威に対処するように企業ベースのセキュリティポリシーを仕立てることができる。従って、ここに開示するシステムは、ほとんどのアクティビティが個々のホストに生じるのでセキュリティの脅威を最も受け易いコンピュータネットワークの部分であるホストのレベルでセキュリティポリシーの適合性及び強制実行性に焦点を置き、これにより、全体的により安全なシステムを形成する。更に別の効果として、ここに開示するシステムは、とりわけ、企業のコンピュータネットワークにわたるセキュリティポリシー適合性の集計レベルを表す最新のレポートを発行する。これらのレポートは、とりわけ、ネットワークアドミニストレータのようなユーザが各個々のマシンにおけるセキュリティポリシー適合性を理解して追跡するのを許す。この情報は、例えば、企業のコンピュータネットワーク全体にわたりセキュリティの不足を識別して固定し、全体的により安全なシステムを形成するのに使用できる。
【0068】
以上、本発明を、その特定の実施形態を参照して説明した。しかしながら、当業者であれば、特許請求の範囲に規定する本発明の広い精神及び範囲から逸脱せずに種々の変更や修正がなされ得ることが理解されよう。例えば、一実施形態において、中央サーバー106は、セキュリティポリシーの実行可能なバージョンをホスト110へ送信するように構成される。このような実施形態では、トランスレーター304及び308が中央サーバー106に存在する。別の実施形態では、中央サーバー106は、セキュリティポリシーのポリシーストリングバージョンをホスト110へ送信するように構成される。このような実施形態では、トランスレーター304及び308がホスト110の各1つに存在する。更に、一実施形態では、中央エージェント212、スケジューラー218、ポリシーエンジン220及びデータ収集エンジン222の機能がソフトウェアで実施される。しかしながら、別の実施形態では、中央エージェント212、スケジューラー218、ポリシーエンジン220及びデータ収集エンジン222の各々の機能が、ハードウェア、又はソフトウェアとハードウェアの組合せで実施されてもよい。従って、前記説明及び図面は、本発明を例示するもので、本発明を何ら限定するものではない。
【図面の簡単な説明】
【0069】
【図1】本発明の一実施形態により企業ベースのセキュリティシステムを実施するように構成されたコンピュータネットワークを示すブロック図である。
【図2】本発明の一実施形態による図1の中央サーバー及び1つのホストの概念的構成を示すブロック図である。
【図3】本発明の一実施形態による言語スタックのアーキテクチャーを示す概念図である。
【図4】本発明の一実施形態によるポリシースキンを示す概念図である。
【図5】本発明の一実施形態によるグループのセットを示す概念図である。
【図6】本発明の一実施形態による企業ベースのセキュリティシステムの種々の特徴を示す概念図である。
【図7】本発明の一実施形態による企業ベースのセキュリティポリシーを与える方法のステップを示すフローチャートである。
【符号の説明】
【0070】
100・・・コンピュータネットワーク、102・・・外部ネットワーク、103・・・ルーター、106・・・中央サーバー、110(110−1、110−2、110−3)・・・ホスト、200・・・データベース、202・・・ポリシーサブデータベース、204・・・ホストデータサブデータベース、206・・・暗号情報サブデータベース、212・・・中央エージェント、214・・・ホストエージェント、218・・・スケジューラー、220・・・ポリシーエンジン、222・・・データ収集エンジン、300・・・言語スタック、302・・・ポリシーストリングレイヤー、304・・・トランスレーター、306・・・ポリシー定義言語(PDL)レイヤー、308・・・トランスレーター、310・・・汎用言語レイヤー、312・・・システム定義言語(SDL)レイヤー、400・・・ポリシースキン、500・・・グループのセット、600・・・データベース

【特許請求の範囲】
【請求項1】
企業ベースのセキュリティポリシーを与えるシステムにおいて、
データベースからポリシースキンを検索して、該ポリシースキンをホストへ送信するように構成された中央エージェントと、
前記ホストに関連したホストデータを収集するように構成されたデータ収集エンジンと、
前記ホストデータに対して前記ポリシースキンを実行して、セキュリティポリシー適合性を決定するように構成されたポリシーエンジンと、
を備えるシステム。
【請求項2】
前記ホストデータ及び適合性情報を前記中央エージェントへ送信するように構成されたホストエージェントを更に備える、請求項1に記載のシステム。
【請求項3】
前記データ収集エンジンが前記ホストデータを収集するとき、前記ポリシーエンジンが前記セキュリティポリシーを実行するとき、及び前記ホストエージェントが前記ホストデータ及び適合性情報を前記中央エージェントへ送信するときをスケジュールするように構成されたスケジューラーを更に備える、請求項2に記載のシステム。
【請求項4】
前記中央エージェントは、更に、前記ホストデータ及び適合性情報を記憶のために前記データベースへ送信するように構成された、請求項2に記載のシステム。
【請求項5】
前記データベースに結合されたレポートエンジンであって、前記ホストデータ及び適合性情報を前記データベースからアクセスして、前記ホストデータ及び適合性情報に基づいてレポートを発生するように構成されたレポートエンジンを更に備える、請求項4に記載のシステム。
【請求項6】
中央サーバーが前記中央エージェントを備え、更に、前記ホストは、前記データ収集エンジン及び前記ポリシーエンジンを備える、請求項1に記載のシステム。
【請求項7】
前記ポリシースキンは、前記データベースから検索されたときに、1つ以上のポリシーストリングを含み、更に、前記ポリシースキンは、これが実行されるときに、前記1つ以上のポリシーストリングを、汎用言語へと変換して含む、請求項1に記載のシステム。
【請求項8】
前記ポリシースキンは、これが実行されるときに、前記ホストで実行されるオペレーティングシステムとコンパチブルであるように構成される、請求項1に記載のシステム。
【請求項9】
前記データベースに結合されたリモートアクセスエンジンであって、第三者が前記ポリシースキンを設計し、実施し、監視し又は維持できるように構成されたリモートアクセスエンジンを更に備える、請求項1に記載のシステム。
【請求項10】
前記データベースに結合されたポリシーエディターであって、ユーザがポリシーストリングを使用して前記ポリシースキンを形成できるように構成されたポリシーエディターを更に備える、請求項1に記載のシステム。
【請求項11】
前記ホストはグループのメンバーである、請求項1に記載のシステム。
【請求項12】
前記中央エージェントは、高セキュリティレベルのポリシースキンを前記データベースから検索して、該高セキュリティレベルのポリシースキンを危機的又は非常事態の場合に前記ホストへ送信するように構成される、請求項1に記載のシステム。
【請求項13】
企業ベースのセキュリティポリシーを与える言語スタックにおいて、
ポリシーストリングを含むように構成されたポリシーストリングレイヤーと、
ポリシー定義言語を含むように構成されたポリシー定義言語レイヤーと、
前記ポリシーストリングを前記ポリシー定義言語へパーズするように構成された第1トランスレーターと、
汎用言語を含むように構成された汎用言語レイヤーと、
前記ポリシー定義言語を前記汎用言語へパーズするように構成された第2トランスレーターと、
を備える言語スタック。
【請求項14】
前記汎用言語は、Python言語を含む、請求項13に記載の言語スタック。
【請求項15】
ランタイムライブラリー及びサポートサービスを含むように構成されたシステム定義レイヤーを更に備える、請求項13に記載の言語スタック。
【請求項16】
ポリシースキンの実行可能なバージョンは、前記汎用言語に変換された1つ以上のポリシーストリングを含む、請求項15に記載の言語スタック。
【請求項17】
前記ポリシースキンの実行可能なバージョンは、実行時に、前記システム定義言語から1つ以上のランタイムライブラリー又は1つ以上のサポートサービスをコールするように構成される、請求項16に記載の言語スタック。
【請求項18】
前記ポリシースキンの実行可能なバージョンは、ホストで実行されるオペレーティングシステムとコンパチブルであるように構成される、請求項16に記載の言語スタック。
【請求項19】
企業ベースのセキュリティポリシーを与える方法において、
中央サーバーからポリシースキンを受け取るステップと、
ホストに関連したホストデータを収集するステップと、
前記ホストデータに対して前記ポリシースキンを実行して、セキュリティポリシー適合性を決定するステップと、
前記ホストデータ及びポリシー適合性情報を前記中央サーバーへ送信するステップと、
を備える方法。
【請求項20】
ポリシースキンを実行する前記ステップは、1つ以上のランタイムライブラリー又は1つ以上のサポートサービスをコールする段階を含む、請求項19に記載の方法。
【請求項21】
前記ポリシースキンは、その実行時に、汎用言語へ変換された1つ以上のポリシーストリングを含む、請求項19に記載の方法。
【請求項22】
前記ポリシースキンは、その実行時に、ホストで実行されるオペレーティングシステムとコンパチブルであるように構成される、請求項21に記載の方法。
【請求項23】
1つ以上のポリシーストリングを含む前記ポリシースキンを形成するステップを更に備える、請求項19に記載の方法。
【請求項24】
ポリシーエディター又はリモートアクセスエンジンを使用してポリシースキンを形成する、請求項23に記載の方法。
【請求項25】
前記ホストデータ及び適合性情報を受け取って、前記ホストデータ及び適合性情報をデータベースに記憶するステップを更に備える、請求項19に記載の方法。
【請求項26】
前記データベースは前記中央サーバーに存在する、請求項25に記載の方法。
【請求項27】
前記ホストデータ及び適合性情報を前記データベースからアクセスするステップと、前記ホストデータ及び適合性情報に基づいてレポートを発生するステップとを備える、請求項25に記載の方法。
【請求項28】
企業ベースのセキュリティポリシーを与えるシステムにおいて、
中央サーバーからポリシースキンを受け取る手段と、
ホストに関連したホストデータを収集する手段と、
前記ホストデータに対して前記ポリシースキンを実行して、セキュリティポリシー適合性を決定する手段と、
前記ホストデータ及びポリシー適合性情報を前記中央サーバーへ送信する手段と、
を備えるシステム。
【請求項29】
1つ以上のポリシーストリングを含む前記ポリシースキンを形成する手段を更に備える、請求項28に記載のシステム。
【請求項30】
前記ホストデータ及び適合性情報を受け取る手段と、前記ホストデータ及び適合性情報をデータベースに記憶する手段とを更に備える、請求項28に記載のシステム。
【請求項31】
前記ホストデータ及び適合性情報を前記データベースからアクセスする手段と、前記ホストデータ及び適合性情報に基づいてレポートを発生する手段とを更に備える、請求項30に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2006−516339(P2006−516339A)
【公表日】平成18年6月29日(2006.6.29)
【国際特許分類】
【出願番号】特願2004−557595(P2004−557595)
【出願日】平成15年12月2日(2003.12.2)
【国際出願番号】PCT/US2003/038604
【国際公開番号】WO2004/051437
【国際公開日】平成16年6月17日(2004.6.17)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
Linux
【出願人】(505211134)エレメンタル セキュリティー (1)
【Fターム(参考)】