(57)【要約】      （修正有）【課題】複数の関連する通信装置にわたってセキュリティ監視および保護を可能にするプラットフォームを提供する。【解決手段】自動セキュリティ・プラットフォームは、共に結び付けられており、ワークフロー・スクリプトをロードし実行するオーケストレーション・エンジンに結合されているセキュリティ・アダプタの集まりに基づく。それぞれのセキュリティ・アダプタは、侵入または他のセキュリティ脅威に備えて、システムの異なる側面を監視する。特定のセキュリティ保護規則が基本的なプロファイルでセキュリティ・プラットフォームに教示されており、セキュリティ・プラットフォームは、実行される間、通信装置が通常の状態でどのように機能するかについての実際のプロファイルを構築する。ワークフロー自己拡張の性質によって、通信装置は、そのユーザの振舞いのパターンを学習することができる。【選択図】図４
2008152769.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ処理システムの第１要素のセキュリティ状況を監視するステップと、
前記第１要素を標的とする侵入が生じたことを検出するステップと、
前記セキュリティ状況および前記検出に基づいて第１のワークフロー・スクリプトの第１の部分、および第２のワークフロー・スクリプトの第２の部分から第３のワークフロー・スクリプトを構成するステップとを含む方法。
【請求項２】
前記侵入が許可なしにコンピュータ・ファイルにアクセスすることである、請求項１に記載の方法。
【請求項３】
前記第３のワークフロー・スクリプトを実行するステップをさらに含み、前記実行ステップによって、変更されている前記コンピュータ・ファイルのアクセスが許されることになる、請求項２に記載の方法。
【請求項４】
前記第３のワークフロー・スクリプトを実行するステップをさらに含み、前記実行ステップによって前記コンピュータ・ファイルが旧バージョンに戻ることになる、請求項２に記載の方法。
【請求項５】
前記第１の要素がログ・ファイルである、請求項１に記載の方法。
【請求項６】
前記第１のワークフロー・スクリプトが第１のタイプのセキュリティ攻撃を表す、請求項１に記載の方法。
【請求項７】
前記第２のワークフロー・スクリプトが第２のタイプのセキュリティ攻撃を表し、前記第３のワークフロー・スクリプトの前記構成ステップが、前記第１のタイプのセキュリティ攻撃および前記第２のタイプのセキュリティ攻撃がどのように組み合わされるかに関する規則に基づく、請求項６に記載の方法。
【請求項８】
前記セキュリティ状況が、前記第１のデータ処理システムと物理的に異なる第２のデータ処理システムによって監視される、請求項１に記載の方法。
【請求項９】
前記第１のデータ処理システムが第１の通信機能を実施し、前記第２のデータ処理システムが第２の通信機能を実施する、請求項８に記載の方法。
【請求項１０】
第１のデータ処理システムで第２のデータ処理システムから第１の状況表示を受信するステップであって、前記第２のデータ処理システムが前記第１のデータ処理システムの第１の要素を監視し、前記第１の状況表示が前記第１の要素に関する情報を提供する、ステップと、
１）前記第１の要素を使用する、第１の通信機能を実施する第１のソフトウェア・モジュールと、
２）前記第１の状況表示に基づく第１のワークフロー・スクリプトとを実行するステップとを含む方法であって、
前記第１のデータ処理システムと前記第２のデータ処理システムが物理的に異なる、方法。
【請求項１１】
前記第１のデータ処理システムで第３のデータ処理システムから第２の状況表示を受信するステップであって、前記第３のデータ処理システムが前記第１のデータ処理システムの第２の要素を監視し、前記第２の状況表示が前記第２の要素についての情報を提供する、ステップと、
前記第２の状況表示に基づく第２のワークフロー・スクリプトを実行するステップとをさらに含み、
前記第３のデータ処理システムが前記第１のデータ処理システムおよび前記第２のデータ処理システムと物理的に異なる、請求項１０に記載の方法。
【請求項１２】
前記第１のワークフロー・スクリプトおよび前記第２のワークフロー・スクリプトに基づく第３のワークフロー・スクリプトを実行するステップをさらに含む請求項１１に記載の方法。
【請求項１３】
前記第１のワークフロー・スクリプトが第１のタイプのセキュリティ攻撃を表す、請求項１２に記載の方法。
【請求項１４】
前記第２のワークフロー・スクリプトが第２のタイプのセキュリティ攻撃を表し、前記第３のワークフロー・スクリプトの構成が、前記第１のタイプのセキュリティ攻撃と前記第２のタイプのセキュリティ攻撃がどのように組み合わされるかに関する規則に基づく、請求項１３に記載の方法。
【請求項１５】
前記第１の通信機能が呼を開始するためのものである、請求項１０に記載の方法。
【請求項１６】
前記第２のデータ処理システムが第２の通信機能を実施する、請求項１０に記載の方法。
【請求項１７】
第２のデータ処理システムから第１の状況表示を受信するためのインターフェースであって、前記第２のデータ処理システムが第１のデータ処理システムの第１の要素を監視し、前記第１の状況表示が前記第１の要素に関する情報を提供する、インターフェースと、
１）前記第１の要素を使用する、第１の通信機能を実施する第１のソフトウェア・モジュールと、
２）前記第１の状況表示に基づく第１のワークフロー・スクリプトとを実行するためのプロセッサとを含む第１のデータ処理システムであって、
前記第１のデータ処理システムと前記第２のデータ処理システムが物理的に異なる、第１のデータ処理システム。
【請求項１８】
前記インターフェースが、第３のデータ処理システムから第２の状況表示を受信するためのものでもあり、前記第３のデータ処理システムが前記第１のデータ処理システムの第２の要素を監視し、前記第２の状況表示が前記第２の要素についての情報を提供する、インターフェースと、
前記プロセッサが、前記第２の状況表示に基づく第２のワークフロー・スクリプトを実行するものでもあり、
前記第３のデータ処理システムが前記第１のデータ処理システムおよび前記第２のデータ処理システムと物理的に異なる、請求項１７に記載の第１のデータ処理システム。
【請求項１９】
前記第１のワークフロー・スクリプトおよび前記第２のワークフロー・スクリプトに基づく第３のワークフロー・スクリプトを実行することをさらに含む請求項１７に記載の第１のデータ処理システム。
【請求項２０】
前記第１のワークフロー・スクリプトが第１のタイプのセキュリティ攻撃を表す、請求項１９に記載の第１のデータ処理システム。
【請求項２１】
前記第２のワークフロー・スクリプトが第２のタイプのセキュリティ攻撃を表し、前記第３のワークフロー・スクリプトの構成が、前記第１のタイプのセキュリティ攻撃と前記第２のタイプのセキュリティ攻撃がどのように組み合わされるかに関する規則に基づく、請求項２０に記載の第１のデータ処理システム。
【請求項２２】
前記第１の通信機能が呼を開始するためのものである、請求項１７に記載の第１のデータ処理システム。
【請求項２３】
前記第２のデータ処理システムが第２の通信機能を実施する、請求項１７に記載の第１のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、通信に関し、より詳細には、通信装置によく適したワークフロー・スクリプト・ベースのセキュリティ・プラットフォームに関する。
【背景技術】
【０００２】
現代の通信システムは、サーバ、ルータなど、他の装置の助けによりエンドポイント・デバイス間でデータ・パケットをスイッチングしまたはルーティングするネットワークを含む。ネットワークには、インターネット、インターネット・プロトコル・ベースのブロードバンド・ネットワーク（私設と公設の両方）、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）などが含まれる。エンドポイント・デバイスは、スタンド・アロンの電話、ノート型コンピュータ、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、タブレット型コンピュータなど、様々な形があり、インターネット・プロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、セッション開始プロトコル（ＳＩＰ：Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）およびＨ．３２３プロトコルなど、パケット・ベースのプロトコルに従って動作する。エンドポイントはさらに、発信を発生させ、着信を受けることができ、音声、オーディオ、ビデオ、データ、電子メール、インスタント・メッセージングおよびチャットを含む１つまたは複数の通信モードが可能である。サーバは、たとえば通信エンドポイントからの呼処理要求を遂行し、通信システムに必須の他のタスクをも実施するデータ処理システムである。
【０００３】
これらの通信システムを独特なものにする、その特定の属性がある。第１に、それらのアーキテクチャでは、提供される機能が装置の小さいサブセット内で集中化されるのではなく、存在する装置間で一般に分散される。第２に、装置の多くが、システム内の他の多くの装置と通信することができる。第３に、これらの装置の処理速度はしばしば、音声、ビデオおよびインスタント・メッセージングなど、特定の通信モードのリアルタイムの性質に対処できるほど高速でなければならない。第４に、インターネットなど、存在する特定のコンポーネントは、コンピュータまたは他の通信装置を有する誰からも自由にアクセス可能であり、または少なくとも旧世代のアナログ電話サービス（ＰＯＴＳ：Ｐｌａｉｎ  Ｏｌｄ  Ｔｅｌｅｐｈｏｎｅ  Ｓｅｒｖｉｃｅ）網内のその対応物よりもアクセスしやすい。
【０００４】
上記属性の一部によって結果的に、侵入者が通信システムにアクセスすることが、かつてないほど容易になっている。たとえば、アクセス可能性の向上について前の段落で述べた点に言及すると、エンドポイントの多くは、パーソナル・コンピュータにアクセスし得るやり方と同じように本来アクセスすることができるソフトフォンである。存在しているソフトフォンに関する問題は、ユーザの知らないうちに侵入者が悪意のあるソフトウェア、すなわち「マルウェア」をソフトフォンに持ち込むことができるということである。持ち込まれたマルウェア（たとえばコンピュータ・ウィルスなど）は、料金不正行為を行うために侵入者によって、侵入者が選択した電話番号を呼び出すようにソフトフォンに指示し、マルウェアが接続する外部サーバからの命令を介してマルウェアを制御することによって使用されることがある。侵入者が様々なセキュリティ攻撃で通信システムをますます標的としていることは驚くべきことではない。
【０００５】
一部のセキュリティ関連の従来技術を通信システムに適用することに関連する問題がある。通信装置にセキュリティを提供する際の一部の既存の従来技術に関する１つの問題は、セキュリティの監視側面にある。非タイム・クリティカルな装置とは異なり、リアルタイムの通信装置の監視は、単に探すべきいくつかの特性を設定し、次いで確立された基準が満たされたときにセキュリティ・チームへの通知をトリガすること以上を必要とする。監視へのこの従来技術の手法に関する１つの問題は、偽陽性についてトリガが早急に過剰実行されるということである。一部の既存の従来技術に関する第２の問題は、セキュリティの矯正側面、すなわち問題解決にある。システム対話に関する膨大な量のデータ、および発生して脆弱さをもたらしたかもしれない潜在的な問題があると、セキュリティ問題の修正は、多くの時間を要するプロセスであり得る。たとえば、データは、収集され分析されなければならず、脆弱性の検証のためにテストが実行されなければならず、次いで、システムをセキュリティ保護するための措置を取らなければならない。これはしばしば、セキュリティ脆弱性が既に利用され、システムが危険にさらされた後に行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術の欠点の一部を伴わずに、通信装置の安全性を自律的かつ反応的に提供するための技術が求められている。
【課題を解決するための手段】
【０００７】
本発明は、関連する複数の通信装置にわたるセキュリティ監視および保護を可能にする。例示的な実施形態によれば、本発明の自動セキュリティ・プラットフォームは、サービス指向の環境内に共に結び付けられており、ワークフロー・スクリプトをロードし実行するオーケストレーション・エンジンに結合されているセキュリティ・アダプタの集まりに基づく。ワークフロー・スクリプトは、ビジネス・アプリケーションに使用されてきたが、リアルタイム通信装置にそれを使用することは比較的新しい。
【０００８】
例示的な実施形態のセキュリティ・アダプタおよびオーケストレーション・エンジンは、通信装置の１つまたは複数の装置自体にわたって存在する。それぞれのセキュリティ・アダプタは、侵入または他のセキュリティ脅威に備えてシステムの異なる側面を監視する。特定のセキュリティ保護規則が基本的なプロファイルでセキュリティ・プラットフォームに教示されており、セキュリティ・プラットフォームは、実行される間、通信装置が通常の状態でどのように機能するかについての実際のプロファイルを構築する。換言すると、例示的な実施形態のセキュリティ・プラットフォームは、受信されたセキュリティ状況表示、実行状態、および保護されている通信装置の実行時の振舞いに基づいて、基本的なワークフロー・スクリプトから新しいワークフロー・スクリプトを「構成し」実行する。実際のプロファイルを構築するタスクは、オーケストレーション・エンジン内で実行される長期間にわたる自己拡張ワークフローと見なすことができる。ワークフローの自己拡張の性質によって、通信装置は、その１つまたは複数のユーザの振舞いのパターンを学習することができる。
【０００９】
例示的な実施形態のセキュリティ・プラットフォームは、いくつかの理由により、従来技術の一部の技術に有利である。第１に、セキュリティ・プラットフォームは、データを収集し、セキュリティ・インシデントの大部分についてのデータに作用し、それによって、データを探索し、相関させ、その問題を手作業で解決しようと試みなければならない負担をセキュリティ専門家から取り除く。第２に、データ収集が潜在的なセキュリティ攻撃の間に起こり、したがって、保護されている通信装置は、自己を強化するので、より安全になる。これは、装置がどのように危険にさらされたかについての事実を求める調査を必要とすることよりも優れている。
【００１０】
本発明の例示的な実施形態は、第１のデータ処理システムの第１の要素のセキュリティ状況を監視するステップと、第１要素を標的とした侵入が発生したことを検出するステップと、セキュリティ状況および検出に基づいて第１のワークフロー・スクリプトの第１の部分、および第２のワークフロー・スクリプトの第２の部分から第３のワークフロー・スクリプトを構成するステップとを含む。
【発明を実施するための最良の形態】
【００１１】
以下の用語が、添付の特許請求の範囲を含めて、本明細書で使用するために定義される。
・用語「呼」およびその活用形は、２つ以上の通信端末間のユーザ情報の通信と定義される。呼の例は、音声通話（対話型の音声応答［ＩＶＲ：ｉｎｔｅｒａｃｔｉｖｅ  ｖｏｉｃｅ  ｒｅｓｐｏｎｓｅ］セッションを含む）、電子メール、テキスト・ベースのインスタント・メッセージ［ＩＭ：ｉｎｓｔａｎｔ  ｍｅｓｓａｇｅ］セッション、テレビ会議などである。セッション開始プロトコル（すなわち「ＳＩＰ」）の文脈では、呼は、あるタイプのセッションである。
・用語「スクリプト」およびその活用形は、事前にコンパイルされるのではなく、解釈される（すなわち実行時に変換される）コンピュータ・プログラムと定義される。スクリプトは、スクリプト言語に基づき、このスクリプト言語は、汎用プログラミング言語であってもよく、またはアプリケーションの実行を強化するために使用される特定の関数に制限され得る。こうしたスクリプト言語のよく知られている例は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔである。例示的な実施形態では、この言語は、実行のための構成体、スクリプトが呼び出しまたはそれへのアクセスを有するソフトウェア・モジュール（セキュリティ・アダプタなど）の定義、およびスクリプトがソフトウェア・モジュールから戻されると予期するデータの定義を有する。
・用語「ワークフロー」およびその活用形は、１組の手順規則に従って情報またはタスクがアクションを求めてある処理コンポーネントから別のコンポーネントに渡される処理の自動化を指す。それは、タスクがどのように組み立てられるか、どのコンポーネントがそれを実施するか、その相対順序がどうであるか、それがどのように同期されるか、タスクをサポートするためにどんな情報が流れるか、およびどんなタスクが追跡されるかについて記述する。ワークフローは、「ワークフロー・スクリプト」の形で定義することができる。
【００１２】
図１は、本発明の例示的な実施形態による通信システム１００を示している。システム１００は、通信関連の機能を実施する対話型コンポーネントの一群であり、システム１００は、通信ネットワーク１０１と、示されるように互いに接続された、Ｍを正の整数として呼処理サーバ１０２−１〜１０２−Ｍと、Ｎを正の整数として通信エンドポイント１０３−１〜１０３−Ｎと、Ｐを正の整数として呼制御データベース・サーバ１０４−１〜１０４−Ｐとを含む。システム１００は、当技術分野において知られているように、メディア信号（たとえば音声、オーディオ、ビデオなど）および呼制御信号のスイッチングおよび送信が可能である。
【００１３】
通信ネットワーク１０１は、インターネット、公衆交換電話網（ＰＳＴＮ：Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ）、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）などのうちの１つまたは複数を含む通信ネットワークである。ネットワーク１０１は、１つまたは複数の送信元からのデータ・パケットをそれらのパケットの正確な宛先に向けるために使用されるゲートウェイ、ルータまたはスイッチなどの伝送関連の１つまたは複数のノードを含み、またはそれに接続される。ネットワーク１０１は、呼制御データベース・サーバ１０４−１〜１０４−Ｐと呼処理サーバ１０２−１〜１０２−Ｍの間、呼処理サーバ１０２−１〜１０２−Ｍとエンドポイント１０３−１〜１０３−Ｎの間など、２つ以上インターネット・プロトコル対応の処理システム間で送信されるインターネット・プロトコル・ベースのメッセージをよく知られているやり方で処理することができる。
【００１４】
ｍ＝１〜Ｍとして呼処理サーバ１０２−ｍは、その通信エンドポイン・ユーザならびに他のユーザからの呼処理要求を遂行するデータ処理システムである。たとえば、サーバ１０２−ｍは、通信エンドポイント１０３−ｎからのダイヤルされた数字を読み取り解析し、また対応する呼開始要求を処理することができる。呼処理サーバ１０２−ｍは、データベース・サーバ１０４−１〜１０４−Ｐのうちの１つまたは複数から、サーバ１０２−ｍが呼を開始するために使用する呼制御規則、および通信エンドポイント１０３−１〜１０３−Ｎおよびそのユーザについての加入者関連の情報を受信することもできる。呼処理サーバ１０２−ｍが呼開始などの通信機能を実施することを可能にする主なコンポーネントについて、以下で図２に関して述べる。この明細書を読んだ後、当業者には、使用呼処理サーバ１０２−ｍをどのように作成し使用するか明らかであろう。
【００１５】
本発明の例示的な実施形態によれば、呼処理サーバ１０２−ｍはさらに、自動セキュリティ・プラットフォームの一環としてワークフロー・スクリプトを実行することができる。セキュリティ・プラットフォームを構成するコンポーネントについて、以下で図３に関して述べる。この明細書を読んだ後、当業者には理解されるように、この例示的な実施形態のセキュリティ・プラットフォームは、通信システム１００の１つまたは複数のコンポーネント内で様々な組合せで実施することができる。
【００１６】
ｎ＝１からＮとして通信エンドポイント１０３−ｎは、インターネット・プロトコル・ベースのエンドポイント、セッション開始プロトコルベース（ＳＩＰベース）のエンドポイントおよびＨ．３２３エンドポイントなどの通信装置であり、スタンド・アロンの電話、ノート型コンピュータ、携帯情報端末（ＰＤＡ）、タブレット型コンピュータなど、様々な形であり得る。エンドポイントは、よく知られているやり方で発信を発生させ、着信を受けることができる。さらに、それぞれのエンドポイントは、それだけに限定されないが、音声、オーディオ、ビデオ、データ、電子メール、インスタント・メッセージングおよびチャットを含む１つまたは複数の通信モードが可能である。この明細書を読んだ後、当業者には、通信エンドポイント１０３−１〜１０３−Ｎをどのように作成し使用するか明らかであろう。
【００１７】
ｐ＝１からＰとして呼制御データベース・サーバ１０４−ｐは、呼処理サーバ１０２−ｍなど、そのユーザからのデータベース・アクセス要求を遂行するデータ処理システムである。それぞれのデータベース・サーバは、よく知られているやり方で呼制御規則および加入者情報を取得し維持することができる。この明細書を読んだ後、当業者には、使用呼制御データベース・サーバ１０４−１〜１０４−Ｐをどのように作成し使用するか明らかであろう。
【００１８】
図２は、本発明の例示的な実施形態による呼処理サーバ１０２−ｍの主なコンポーネントについて示している。サーバ１０２−ｍは、示されるように相互接続された受信機２０１とプロセッサ２０２とメモリ２０３と送信機２０４とを含む。
【００１９】
受信機２０１は、よく知られているやり方でネットワーク１０１を介して他のノード（たとえば通信エンドポイント１０３−ｎ、データベース・サーバ１０４−ｐなど）から信号を受信し、信号中に符号化された情報をプロセッサ２０２に転送するインターフェースである。この明細書を読んだ後、当業者には、受信機２０１をどのように作成し使用するか明らかであろう。
【００２０】
プロセッサ２０２は、受信機２０１から情報を受信し、メモリ２０３に格納された命令を実行し、メモリ２０３からデータを読み出し、そこに書き込み、以下で図５に関して述べるタスクを実行し、送信機２０４に情報を送信することができる汎用プロセッサである。本発明の一部の代替実施形態では、プロセッサ２０２は、特別目的のプロセッサであり得る。いずれの場合も、この明細書を読んだ後、当業者には、プロセッサ２０２をどのように作成し使用するか明らかであろう。
【００２１】
メモリ２０３は、プロセッサ２０２によって使用される命令およびデータを格納する。メモリ２０３は、ダイナミック・ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、フラッシュ・メモリ、ディスク・ドライブ・メモリなどの任意の組合せであり得る。この明細書を読んだ後、当業者には、メモリ２０３をどのように作成し使用するか明らかであろう。
【００２２】
送信機２０４は、よく知られているやり方でプロセッサ２０２から情報を受信し、この情報を符号化する信号をネットワーク１０１を介して他のノード（たとえば通信エンドポイント１０３−ｎ、データベース・サーバ１０４−ｐなど）に送信するインターフェースである。この明細書を読んだ後、当業者には、送信機２０４をどのように作成し使用するか明らかであろう。
【００２３】
図３は、本発明の例示的な実施形態による呼処理サーバ１０２−ｍに常駐するセキュリティ・プラットフォーム３００の主なソフトウェア・コンポーネントを示している。プラットフォーム３００は、知的なオーケストレーション・エンジンに結び付けられた内部のサービス指向環境内に共に結び付けられた分散されたセキュリティ・アダプタの集まりに基づく。それぞれのセキュリティ・アダプタは、侵入または他のセキュリティ脅威に備えて、システムの異なる側面を監視する。具体的には、セキュリティ・プラットフォーム３００は、示されるように相互に関係するプロキシ３０１とメッセージ・バス３０２とオーケストレーション・エンジン３０３と侵入検出アダプタ３０４とログ・ファイル・データベース３０５とファイアーウォール・アダプタ３０６とログ・ファイル・データベース３０７とユーザ・アクセス・アダプタ３０８とネットワーク監視アダプタ３０９とハードウェア・アダプタ３１０とアプリケーション・アダプタ３１１とアプリケーション３１２とを含む。
【００２４】
プロキシ３０１は、アダプタ３０４、３０６および３０８〜３１１と、オーケストレーション・エンジン３０３との間の結合を抽象化する役割を担う。抽象化によって、システムを停止させずに実行時にアダプタを動的にサーバ１０２−ｍに追加し、またはそこから取り除くことが可能となる。プロキシ３０１は、セキュリティ関連の機能を求める受信された要求を、受信された要求内の状態によって表されたメタデータ基準に基づいて適切なセキュリティ・アダプタまたはオーケストレーション・エンジンにルーティングする。
【００２５】
メッセージ・バス３０２は、セキュリティ・プラットフォーム３００の他のコンポーネントを共に接続する。具体的には、バス３０２は、よく知られたやり方でプロキシ３０１とオーケストレーション・エンジン３０３とアダプタ間のメッセージ送信を可能にする。例示的な実施形態を含めていくつかの実施形態では、バス３０２は、当技術分野ではよく知られているように、Ｊａｖａ（登録商標）メッセージ・サービス（ＪＭＳ：Ｊａｖａ（登録商標）  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）に基づく。
【００２６】
オーケストレーション・エンジン３０３は、プロキシ３０１から情報を受信し、以下で図４および５に関して述べるタスクを実行し、プロキシ３０１に情報を送信する。
侵入検出アダプタ３０４は、問題があるときにログ・ファイルに一般に書き込む「Ｔｒｉｐｗｉｒｅ  ｏｎ  Ｌｉｎｕｘ」などのシステムと協力して、侵入検出を実施する。具体的には、アダプタ３０４は、ログ・ファイル・データベース３０５内でログ書込みを監視し、オーケストレーション・エンジン３０３内のプロファイルに一致するログ・ファイル内に含まれた特定の情報を探索する。
【００２７】
ファイアーウォール・アダプタ３０６は、サーバ１０２−ｍのファイヤウォールによってログがデータベース３０７内のログ・ファイルに書き込まれる呼処理サーバ１０２−ｍ上で、無許可のまたはセキュリティ保護されていないサービスへの無許可または不正のエントリおよびその使用の試みのログを監視する。アダプタ３０４は、ログ書込みに関する情報をオーケストレーション・エンジン３０３に渡す。
【００２８】
ユーザ・アクセス・アダプタ３０８は、無許可のファイル・アクセスの試み、繰り返されたログインの失敗、および未知のログイン「送信元ホスト」について監視し、エンジン３０３に通知する。
【００２９】
アプリケーション・アダプタ３１１は、実行されているワークフロー内のセキュリティ状態に一致する（たとえばアプリケーション３１２などに関する）アプリケーション特有のログおよび他のシステム・ログを監視し、それについて報告する。
【００３０】
ネットワーク監視アダプタ３０９は、そのいずれもがサービス拒否攻撃が進行中であることを示し得る、予期しないパケット、パケット・レート、またはうまく形成されていないパケットについて、アプリケーション出力（すなわちログへ）のデータ編集を提供する。
【００３１】
ハードウェア・アダプタ３１０は、付随の（ｃｏｍｐａｎｉｏｎ）ハードウェア・コンポーネントに不適切な「ホット・スワップ」が行われないことを保証するためのものである。これは、スマート・カードまたは他のセキュリティ特有の装置に特に適用可能である。当業者には理解されるように、複数の（すなわち各ハードウェア装置について１つの）ハードウェア・ドライバ・アダプタが存在し得る。
【００３２】
例示的な実施形態によるセキュリティ・プラットフォーム３００は、メッセージ・バスを介して接続され、同じデータ処理システム（すなわち呼処理サーバ１０２−ｍ）内に共存するソフトウェア・コンポーネントを含むものとして示されている。当業者には理解されるように、一部の代替の実施形態では、示されたソフトウェア・コンポーネントの一部またはすべてが、（たとえばローカル・エリア・ネットワークなどを介して）共に接続された複数の物理的に別個のデータ処理システムにわたることがある。
【００３３】
プラットフォーム３００の各アダプタは、それが集める情報をオーケストレーション・エンジン３０３に提示し、このオーケストレーション・エンジン３０３は、その情報を有限状態マシンにマップする。有限状態マシンは、受信される情報に基づいて状態間で移動することによってシステムをセキュリティ保護する振舞いについて記述する。たとえば、無許可のユーザがシステムにアクセスしようとするなど、何かが不適当であるという第１の表示では、プラットフォーム３００は、現在の状態から、強化された監視状態に移ってもよい。セキュリティ脅威が他のエリアで識別される場合、プラットフォーム３００は、強化された監視状態からセキュリティ保護状態に移ることもでき、このセキュリティ保護状態では、システムが無許可のユーザをシステムから締め出し、必須でないサービスをシャット・ダウンし、セキュリティ脅威が回避されるまで最小限の機能で動作するための措置を取る。
【００３４】
さらに、オーケストレーション・エンジン３０３に、システムの使用に基づいて時間をかけて調査され、学習され、拡張される基礎プロファイルである、長期間にわたるプロファイルを与えることができる。たとえば、午前２：００時と午前３：００時の間に誰もシステムにログインしない場合、プラットフォーム３００は、長い期間にわたるその振舞いをワークフロー処理内の追加の基準と認識する。次いで、ログインが午前２：３０に行われる場合、プラットフォーム３００は、別のときよりも高い警告をトリガする。例示的な実施形態によれば、これは、当技術分野で知られているように、拡張マークアップ言語（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースの形などでオーケストレーション・エンジン３０３に送信され、それによって実行される最小限の非コンパイル型の命令で遂行される。
【００３５】
図４は、本発明の例示的な実施形態による呼処理サーバ１０２−ｍのセキュリティ・プラットフォーム３００によって実施される主なタスクのフローチャートを示している。当業者には理解されるように、図４に現れるイベントの一部は、示されたものと並列に行われることも、それとは異なる順序で行われることもある。
【００３６】
タスク４０１で、プラットフォーム３００は、１つまたは複数のソフトウェア・モジュールを実行する第１のデータ処理システム（すなわち呼処理サーバ１０２−ｍ）の第１の要素のセキュリティ状況を連続して監視する。ソフトウェア・モジュールの少なくとも一部は、１つまたは複数の通信機能（たとえば呼の開始および維持など）を実施し、実行される間、監視された要素を使用する。たとえば、侵入検出アダプタ３０４は、アクセスの試みを示唆するログ書込みが行われたかどうか確かめるために、データベース３０５内の監視ログ・ファイルを監視する。一部の代替実施形態では、監視は、データベース・サーバ１０４−２、通信エンドポイント１０３−３、別の呼処理サーバなど、第１のデータ処理システムとは物理的に異なるデータ処理システムで行われる。
【００３７】
タスク４０２で、プラットフォーム３００は、監視されている要素を標的とした侵入が発生したことを検出する。
タスク４０３で、プラットフォーム３００のオーケストレーション・エンジン３０３は、監視コンポーネントから状況表示を受信する。たとえば、状況表示は、侵入が生じたかを示すことがあり、または表示は、オーケストレーション・エンジン３０３がさらに処理する関連情報を単に提供することがある。
【００３８】
例示的な実施形態によれば、エンジン３０３はさらに、様々なソースから追加の状況表示を受信することができる。たとえば、ネットワーク監視アダプタ３０９から受信されるように、第１のものとは異なる状況表示は、サービス拒否攻撃が発生していることを示し、または少なくとも示唆し得る。
【００３９】
タスク４０４で、オーケストレーション・エンジン３０３は、第１のワークフロー・スクリプトの少なくとも一部を第２のワークフロー・スクリプトの少なくとも一部と、また恐らくは追加のスクリプトと併合することによって第３のワークフロー・スクリプトを構成する。第３のワークフロー・スクリプトの構成は、受信された１つまたは複数の状況表示内で報告され、またはそこから推論されたセキュリティ状況に基づく。一部の実施形態では、ワークフロー・スクリプトは、通信機能を実施しているモジュール、またはセキュリティ関連のタスクを実施しているモジュールなど、１つまたは複数のソフトウェア・モジュールの状態に基づくこともできる。
【００４０】
一部の実施形態では、ワークフロー・スクリプトは、拡張マークアップ言語べース（ＸＭＬベース）である。しかし、スクリプトがＸＭＬ以外の言語に基づく本発明の実施形態をどのように作成し使用するか当業者には明らかになろう。さらに、当業者には理解されるように、スクリプトの２つ以上の部分の併合は、それらのスクリプトの形とは独立に実施することができる。
【００４１】
タスク４０５で、オーケストレーション・エンジン３０３は、セキュリティ問題に対処するために、第３のワークフロー・スクリプトを実行する。例示的な実施形態によれば、スクリプトは、やはり呼処理サーバ１０２−ｍで処理されている通信機能と同時に実行することができる。ワークフロー・スクリプトを実行すると、ログ・ファイル（または他のコンピュータ・ファイル）のアクセス許可の変更や、コンピュータ・ファイルの旧バージョンに戻ることなど、修正措置が行われることになる。
【００４２】
たとえば、オーケストレーション・エンジン３０３は、セキュリティ攻撃を組み合わせることができる５０個の異なるやり方に加えて、１００個の異なるタイプのセキュリティ攻撃を追跡していることがある。各タイプのセキュリティ攻撃は、プラットフォーム３００内で、異なるワークフロー・スクリプトとして表される。エンジン３０３は、それぞれ異なる１組のワークフロー・スクリプトを動的にロードし、ロードされた個々のワークフロー・スクリプトを組み合わせることにより新しいワークフロー・スクリプトを構成することによって、また追跡されている可能な組合せに一部基づいて新しいワークフロー・スクリプトを構成し、特定のセキュリティ状況と一致する攻撃の特定の組合せに対処するために新しいスクリプトを実行する。これらの「オン・デマンドの」ワークフロー・スクリプトは特に、発生する自発的なセキュリティ問題に対処する。
【００４３】
第２の実施例として、２つのワークフロー・スクリプトが、セキュリティ・プラットフォーム３００の一部として格納される：失敗したログインを探す第１のスクリプト、および特定のインターネット・プロトコル（ＩＰ）アドレスについてのすべてのアクセスを記録する第２のスクリプト。事前設定されたある閾値で、第１のスクリプトは、アクセスの試みの発信元ＩＰアドレスをとり、監視目標としてそのアドレスを第２のスクリプトに挿入し、それによって、プラットフォーム３００が実行する新しい第３のスクリプトを作成する。第３のスクリプトは、特定のアクセス・パターンを認識することもでき、その結果、「すべてのアクセスをログする」アクションを「すべてのアクセスを拒否する」アクションに最終的に上昇させ得る。
【００４４】
第２の実施例と関係がある第３の実施例として、第４のワークフロー・スクリプトは、最終的に完全に拒否されたＩＰアドレスのすべてのアクセス・ログを見ることによって、第３のスクリプトのアクション、ならびにその他を監視する。第４のスクリプトは、ＩＰアドレスが結果的にブロックされることになる、同じアクセス・パターンの（たとえば３回発生など）設定された回数の発生を検出する場合に第５のスクリプトを作成し、この第５のスクリプトは、このアクセス・パターンを探し、プラットフォーム３００が第３のスクリプトを介してアドレスを検出する必要なしに、発信元ＩＰアドレスへのアクセスを直ちに拒否する。
【００４５】
オーケストレーション・エンジン３０３はさらに、異なる起点の他のタイプのワークフロー・スクリプトを実行することができる。たとえば、エンジン３０３は、２つ以上のスクリプトから必ずしも構成されていないワークフロー・スクリプトを実行することができる。別の実施例として、エンジン３０３は、各コンポーネントの現在の安全な側面、および保護されているデータ処理システム（すなわちサーバ１０２−ｍ）の側面を取得するワークフロー・スクリプトを実行することができる。第３の実施例として、エンジン３０３は、意図された通信機能を有効なユーザに提供する正常な経過の間にそれらのコンポーネントがコンピュータ・ファイルにアクセスする必要があるときなどには、保護されたシステムのソフトウェア・コンポーネントがセキュリティ機能と対話することを可能にするワークフロー・スクリプトを実行することができる。当業者には理解されるように、エンジン３０３は、これらの実施例に加えて、他の「長期にわたる」ワークフロー・スクリプトを実行することもできる。
【００４６】
上記の諸実施形態は、本発明を例示するものにすぎず、本発明の範囲から逸脱せずに上記の諸実施形態の多くの変形形態が当業者によって考案され得ることを理解されたい。たとえば、本明細書では、本発明の例示的な諸実施形態についての完全な説明および理解を提供するために、複数の特定の詳細が示されている。しかし、本発明は、それらの詳細のうちの１つまたは複数の詳細なし、あるいは他の方法、材料、コンポーネントなどを用いて実施できることが当業者には認識されよう。
【００４７】
さらに、一部の場合では、例示的な諸実施形態の態様を不明瞭にしないようにするために、よく知られている構造、材料または動作については、詳細に示されまたは述べられていない。図中に示される様々な実施形態は、例示的なものであり、必ずしも一定の尺度で描かれていないことが理解されよう。本明細書全体を通して「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ、ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」または「一部の実施形態」への言及は、諸実施形態に関連して述べられた特定の特徴、構造、材料または特性が、必ずしもすべての実施形態ではないが、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通して様々な箇所に語句「一実施形態」または「一部の実施形態」が現れることは、必ずしもすべてが同じ実施形態に言及しているとは限らない。さらに、特定の特徴、構造、材料または特性は、１つまたは複数の実施形態において任意の適切なやり方で組み合わせることができる。したがって、こうした変形形態は、添付の特許請求の範囲およびその等価物の範囲内に含まれるものである。
【図面の簡単な説明】
【００４８】
【図１】本発明の例示的な実施形態による通信システム１００を示す図である。
【図２】通信システム１００の呼処理サーバ１０２−ｍの主なコンポーネントを示す図である。
【図３】呼処理サーバ１０２−ｍ内に常駐するセキュリティ・プラットフォーム３００の主なソフトウェア・コンポーネントを示す図である。
【図４】本発明の例示的な実施形態による呼処理サーバ１０２−ｍのセキュリティ・プラットフォーム３００によって実施される主なタスクのフローチャートである。
【図１】
2008152769.tif 000003
【図２】
2008152769.tif 000004
【図３】
2008152769.tif 000005
【図４】
2008152769.tif 000006