(57)【特許請求の範囲】
【請求項１】
１つ以上の有形媒体に記憶され、１つ以上のプロセッサに処理方法を実行させる論理装置であって、前記処理方法は、
ネットワークコネクションとホストのアプリケーションとに関連するセッション記述子を、ネットワークゲートウェイにおいて受信するステップであって、前記セッション記述子は前記アプリケーションと前記ホストで前記アプリケーションを動作させるユーザとを識別し、前記セッション記述子は前記ホストに関連付けられているユニバーサルユニーク識別子と前記ユーザを認証するための信用証明物とを含み、前記ユーザは前記ホストを利用し得る複数のユーザのうちの１人の特定のユーザであり、前記セッション記述子は、帯域内通信チャネルにステガノグラフィックにより組み込まれている、ステップと、
前記セッション記述子に基づいて、前記ネットワークコネクションと前記特定のユーザとをペアにし、前記セッション記述子をネットワークポリシに関連付けるステップと、
前記ネットワークポリシを前記ネットワークコネクションに適用するステップであって、前記ネットワークポリシは、前記ネットワークコネクションとペアにされた前記特定のユーザに対して使用される、ステップと
を有する、論理装置。
【請求項２】
前記ネットワークポリシは、前記セッション記述子の前記アプリケーションの識別子に基づいて、前記ネットワークコネクションにおける通信を制限するように適用される、請求項１に記載の論理装置。
【請求項３】
前記ネットワークポリシは、前記セッション記述子の前記アプリケーションの識別子に基づいて、前記ネットワークコネクションにおける通信の速度を制限するように適用される、請求項１に記載の論理装置。
【請求項４】
前記ネットワークポリシは、前記アプリケーションにより使用されるプロトコルを制限するように適用される、請求項１に記載の論理装置。
【請求項５】
前記ネットワークポリシは、前記アプリケーションにより使用されるプロトコルを制限するホワイトリストに関連付けられる、請求項１又は４に記載の論理装置。
【請求項６】
前記処理方法が、前記ネットワークコネクションを通じた通信が制限される場合、前記ネットワークポリシのユーザに警告するステップを更に有する請求項５に記載の論理装置。
【請求項７】
前記ホストはネットワークアドレス変換部を介して通信を行う、請求項１−６の何れか１項に記載の論理装置。
【請求項８】
前記セッション記述子は、前記アプリケーションを実行させるユーザについての情報と前記アプリケーションに関連するファイル名についての情報とを含む、請求項１−７の何れか１項に記載の論理装置。
【請求項９】
１つより多いネットワークアドレスが前記ホストに関連付けられ、前記セッション記述子は何れかのネットワークアドレスに関連するユーザの情報を含み、前記ユーザに基づいてネットワークポリシが適用される、請求項１、５−７の何れか１項に記載の論理装置。
【請求項１０】
前記セッション記述子は、前記アプリケーションを実行させるユーザを識別し、かつ前記アプリケーションに関連する実行可能なファイルのハッシュを含む、請求項１−７の何れか１項に記載の論理装置。
【請求項１１】
前記セッション記述子は、前記ホストにインストールされているソフトウェアのコンフィギュレーション及び状態についての情報を含む、請求項１−１０の何れか１項に記載の論理装置。
【請求項１２】
前記セッション記述子は前記ホストに関連付けられているネットワークアドレスを識別し、前記ネットワークアドレスに基づいてネットワークポリシが適用される、請求項１、５−８、１０、１１の何れか１項に記載の論理装置。
【請求項１３】
ネットワークコネクションとホストのアプリケーションとに関連するセッション記述子を、ネットワークゲートウェイにおいて受信するステップであって、前記セッション記述子は前記アプリケーションと前記ホストで前記アプリケーションを動作させるユーザとを識別し、前記セッション記述子は前記ホストに関連付けられているユニバーサルユニーク識別子と前記ユーザを認証するための信用証明物とを含み、前記ユーザは前記ホストを利用し得る複数のユーザのうちの１人の特定のユーザであり、前記セッション記述子は、帯域内通信チャネルにステガノグラフィックにより組み込まれている、ステップと、
前記セッション記述子に基づいて、前記ネットワークコネクションと前記特定のユーザとをペアにし、前記セッション記述子をネットワークポリシに関連付けるステップと、
前記ネットワークポリシを前記ネットワークコネクションに適用するステップであって、前記ネットワークポリシは、前記ネットワークコネクションとペアにされた前記特定のユーザに対して使用される、ステップと
を有する処理方法。
【請求項１４】
ファイヤウォールモジュールと、
前記ファイヤウォールモジュールに関連する命令を実行するように動作する１つ上のプロセッサと
を有する処理装置であって、前記１つ以上のプロセッサは処理方法を実行し、前記処理方法は、
ネットワークコネクションとホストのアプリケーションとに関連するセッション記述子を、ネットワークゲートウェイにおいて受信するステップであって、前記セッション記述子は前記アプリケーションと前記ホストで前記アプリケーションを動作させるユーザとを識別し、前記セッション記述子は前記ホストに関連付けられているユニバーサルユニーク識別子と前記ユーザを認証するための信用証明物とを含み、前記ユーザは前記ホストを利用し得る複数のユーザのうちの１人の特定のユーザであり、前記セッション記述子は、帯域内通信チャネルにステガノグラフィックにより組み込まれている、ステップと、
前記セッション記述子に基づいて、前記ネットワークコネクションと前記特定のユーザとをペアにし、前記セッション記述子をネットワークポリシに関連付けるステップと、
前記ネットワークポリシを前記ネットワークコネクションに適用するステップであって、前記ネットワークポリシは、前記ネットワークコネクションとペアにされた前記特定のユーザに対して使用される、ステップと
を有する、処理装置。
【請求項１５】
前記ネットワークポリシは、前記セッション記述子の前記アプリケーションの識別子に基づいて、前記ネットワークコネクションにおける通信の速度を制限するように適用される、請求項１４に記載の処理装置。
【請求項１６】
前記処理方法は、前記ネットワークコネクションを通じた通信が制限される場合、前記ネットワークポリシのユーザに警告するステップを更に有する請求項１４又は１５に記載の処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される内容は一般にネットワークのセキュリティに関連し、特に情報を共有することでホストとゲートウェイとを結合するシステム及び方法等に関連する。
【背景技術】
【０００２】
ネットワークセキュリティの技術分野は今日の社会ではますます重要になっている。インターネットは世界中の様々なコンピュータネットワークを相互接続できるようにした。しかしながら、インターネットは、悪意のオペレータがこれらのネットワークを利用する多くの機会を提供することにもなる。不正な又は悪意のソフトウェアがホストコンピュータに感染すると、悪意のオペレータはその不正なソフトウェアを制御するためにリモートコンピュータからコマンドを発信する。ソフトウェアは様々な不正な処理を実行する実行するように指示を受けることが可能であり、例えば、スパムメール又は悪意のメールをホストコンピュータから送信したり、ホストコンピュータに関連する業務又は個人の重要情報を盗んだり、他のホストコンピュータに増殖したり、及び/又は分散型サービス妨害攻撃を支援したりするかもしれない。更に、悪意のオペレータは他の悪意のオペレータにアクセス権を販売する又は提供することが可能であり、ホストコンピュータの不正使用を増大させる。従って、安定したコンピュータ及びシステムを効果的に保護及び維持できる能力又は機能は、コンピュータの製造業者、システム設計者及びネットワークオペレータにとって、継続的に重要な問題である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００６／０７５４７８号
【特許文献２】米国特許出願公開第２００４／２６８１４９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
開示される実施の形態の課題は、ことである。
【課題を解決するための手段】
【０００５】
実施の形態による処理方法は、
ネットワークコネクションとホストのアプリケーションとに関連するセッション記述子を、前記ホストとネットワークゲートウェイとの間でやり取りするステップと、
前記セッション記述子をネットワークポリシに関連付けるステップと、
前記ネットワークポリシを前記ネットワークコネクションに適用するステップと
を有する処理方法である。
【図面の簡単な説明】
【０００６】
【図１】本願によるネットワークプロテクションのためにホスト及びネットワークゲートウェイの間で情報が共有されるネットワーク環境の一例を示す概略ブロック図。
【図２】本願によるネットワーク環境の可能な一例による追加的な詳細事項を示す概略ブロック図。
【図３】本願によるネットワーク環境の一例に関する動作例を示す概略ブロック図。
【図４】本願によるネットワーク環境の別の例に関する動作例を示す概略ブロック図。
【図５】本願によるネットワーク環境の別の例に関する動作例を示す概略フローチャート。
【発明を実施するための形態】
【０００７】
＜図面＞
本願による開示内容、本願による特徴及び利点についての更なる十分な理解をもたらすために、以下の説明に関し、添付図面が参照される。図中、同様な参照番号は同様な部分を表現している。
【０００８】
＜概要＞
一実施形態では方法が提供され、本方法は、ホストとネットワークゲートウェイとの間でセッション記述子を送受信するステップであって、セッション記述子はホストにおけるアプリケーション及びネットワークコネクションに関連付けられる、ステップと、セッション記述子をネットワークポリシに関連付けるステップと、ネットワークポリシをネットワークコネクションに適用するステップとを含む。別の実施の形態では、セッション記述子が帯域外(out-of-band)通信チャネル又は帯域内(in-band)通信チャネルを介して送受信される。
【０００９】
更に別の特定の実施の形態では、ネットワークポリシは、セッション記述子におけるアプリケーションの身元に基づいてネットワークコネクションによる制限通信又は回数制限通信に適用されてもよい。他の実施の形態では、セッション記述子はホストに関連付けられたユニバーサルユニーク識別子を含んでもよい。
【００１０】
＜実施の形態＞
図1を参照するに、図1はネットワーク環境10の一例による概略ブロック図を示し、ホスト及びネットワークゲートウェイは情報の共有により結合、連結又はインターロック(interlock)されている。図1に示す実施の形態において、ネットワーク環境10は、インターネット15、ユーザホスト20a及び20b、ネットワークゲートウェイ25、ポリシサーバ30、メールサーバ35及びウェブサーバ40を含んでもよい。一般に、ユーザホスト20a-bはネットワークコネクションにおける任意のタイプの終端ポイントであってよく、例えば、デスクトップコンピュータ、サーバ、ラップトップ、移動電話、又は他の任意の装置(メールサーバ35又はウェブサーバ40のような遠隔ノードとの接続を設定する又は信号を受信することが可能な装置)等であるがこれらに限定されない。ゲートウェイ25は、ユーザホスト20a-bとインターネット15に接続されている他のネットワークノードとの間の通信を制御し、かつ承認された通信を許可する一方承認されないアクセスをブロックするファイヤウォールを含んでいてもよい。ポリシサーバ30は、ユーザホスト20a-bを管理し、ネットワークポリシを管理及び配布するために使用されてもよい。この実施の形態の例の場合、ユーザホスト20a-bは、ゲートウェイ25に設定されているポリシにより許可される場合、ネットワークゲートウェイ25によるコネクションを設定するだけで、インターネット15に接続されたサーバ(例えば、メールサーバ35又はウェブサーバ40等)と通信できる。
【００１１】
図1に示す各々の要素は、ネットワーク通信の実現可能な経路を提供する単独のインタフェース又は他の任意の適切な接続(有線又は無線による接続)を介して互いに結合される。更に、必要な具体的なコンフィギュレーションに応じて、これらの要素の任意の1つ以上が組み合わせられてもよいし、或いはアーキテクチャから除外されてもよい。ネットワーク環境10は、ネットワークでパケットを送信又は受信するために伝送制御プロトコル/インターネットプロトコル(TCP/IP)通信を行うことが可能なコンフィギュレーションを含んでいてもよい。ネットワーク環境10は、適切であれば特定の必要性に基づいてユーザデータプロトコル/IP(UDP/IP)又は適切な他の任意のプロトコルにより動作してもよい。
【００１２】
実施の形態においてネットワークセキュリティをもたらす技法を説明する観点からは、所与のネットワークの中で行われる処理を理解することが重要である。以下の基本説明は、本開示内容を適切に説明するための基礎として参照されてもよい。そのような情報は真に説明を意図して提供されているので、本開示内容及び潜在的な用途の広い範囲を如何なる方法によっても限定するように解釈すべきではない。
【００１３】
組織及び個人により使用される典型的なネットワーク環境は、インターネットを用いて他のネットワークと電子的に通信する機能を有し、例えば、インターネットに接続されたサーバで管理されているウェブページにアクセスすること、電子メール(すなわち、email)メッセージを送信又は受信すること、又はファイルをやり取りすること等を行うことができる。悪意のユーザは、悪意のあるソフトウェア(malware)を拡布するため及び機密情報にアクセスするためにインターネットを利用する新しい戦略又は方法を継続的に開発している。悪意のあるソフトウェア又はマルウェアは、コンピュータの所有者の同意なしにコンピュータにアクセス及び/又はそれを制御ように設計された何らかのソフトウェアを含み、悪意のあるソフトウェア又はマルウェアは、コンピュータウィルス、ボット(bot)、スパイウェア(spyware)、アドウェア(adware)等のような敵意のあるやっかいな煩わしいソフトウェアのラベル又は代名詞として一般に使用されている。感染すると、マルウェアはホストを破壊し、スパミング(spamming)や情報窃盗(information  theft)等のような悪意のある処理を行う。マルウェアは1つ以上の伝搬ベクトル又はプロパゲーションベクトル(propagation  vector)を含むのが一般的であり、組織のネットワークの中で又は他のネットワークを介して他の組織又は個人にマルウェアが拡散することをかのうにする。通常のプロパゲーションベクトルは、ローカルネットワーク内のホストについての既知の脆弱性を利用して、悪意のあるプログラムを添付した悪意のある電子メール又は電子メールの中に悪意のあるリンクが与えられている電子メールを送信する。
【００１４】
マルウェアの動作の一形態は、ユーザが期待しているものとは異なるネットワークプロトコル通信を用いてユーザを欺くことである。マルウェアは、何らかの害のない方法でアクセスが行われ、ネットワークへのアクセスを許可することをユーザに確信させるようにパッケージされており、ネットワークへのアクセスはファイヤウォール又は他のセキュリティ手段を通過することをしばしば必要とする。マルウェアはそのアクセスを悪用してユーザが想定していない代替的又は付加的な処理に従事する。例えば、あるゲームが電子メールメッセージを送信したり、或いはワードプロセッサがウェブの接続を開いたりするかもしれない。同時に、マルウェアは、標準的な迂路とコルを利用して、リモートコネクションを設定するためにマルウェアを許可するようにファイヤウォールを欺くかもしれない。
【００１５】
例えばボットネット(botnet)は、マルウェアを利用しており、コンピュータセキュリティに対する多くの危険な存在である。多くの場合、彼らは既存の戦略及び新しい戦略の組み合わせを含む複雑な攻撃方法を利用する。ボットネットは一般にクライアント-サーバアーキテクチャを利用しており、あるタイプの悪意のあるソフトウェア(すなわち、ボット)は、ホストコンピュータ上に設けられ、悪意のあるユーザ(例えば、ボットネットのオペレータ)により制御されるコマンドコントロール(Command  and  Control：C＆C)サーバと通信する。通常、ボットネットは極めて多数のボットから形成され、ボットは、インターネットリレーチャット(IRC)及びピアツーピア(P2P)通信を含む様々なチャネルでC＆Cプロトコルによりオペレータにより制御される。ボットはC＆Cサーバからコマンドを受信して特定の悪意のある処理を行う、すなわちそのようなコマンドを実行する。ボットは何らかの結果又は盗んだ情報をC＆Cサーバに送信する。ボットはC＆Cサーバとの通信を開始して通常のウェブブラウザトラフィックに見せかけるようにしばしば設計されている。例えば、ボットはウェブサーバと通信するために一般に使用されるポートを利用するかもしれない。そのようなボットは、従って、ウェブトラフィックについて更に複雑なパケット検査を実行することなく、既存の技術によっては検出されない。更に、ボットが発見されると、ボットネットオペレータは、ボットによるネットワークトラフィックに見せかける別の方法を簡単に見出し、通常のウェブトラフィックとして提供し続ける。最近、ボットネットオペレータは、例えばセキュアソケットレイヤ(SSL)のような暗号化プロトコルを利用するように作成されたボットを有し、これにより悪意のあるネットワークトラフィックを暗号化する。そのように暗号化されたトラフィックはハイパーテキストトランスファセキュア(HTTPS)ポートを利用し、暗号化されたセッションに含まれている終端ノード(エンドポイント)のみがデータを解読できるようにする。従って、既存のファイヤウォールやその他のネットワーク侵入防止方法はウェブトラフィックの何らかの有意義な検査を実行することができず、ボットはネットワーク内のホストコンピュータに感染し続ける。
【００１６】
認証されていないプログラムファイルがホストコンピュータで動作することを回避することに着目した他のソフトウェアセキュリティ方法は、エンドユーザ又は企業その他の組織の従業者にとって望まれない副作用を有する。従業者がソフトウェア及び他の電子データを所望の信頼できるネットワークリソースから取得できるように、ネットワーク又は情報技術(IT)管理者は、企業の全員に関連する広範囲に及ぶポリシを作成する役割を担っていてもよい。広範囲に及ぶポリシがない場合、従業者が、ソフトウェアやその他の電子データを、具体的に認証されていないネットワークソースからダウンロードすることは禁止され、たとえそのようなソフトウェア及び他のデータが正当な必要な業務処理を促す場合であったとしても禁止される。そのようなシステムはあまりに限定的に過ぎるので、認証されていないソフトウェアがホストコンピュータ上で発見された場合、如何なるホストコンピュータの処理も中断し、ネットワーク管理者の介在を待機する。更に、ネットワークの観点からは、単にアプリケーションが多すぎるので有効に追跡してポリシに含めることは困難である。大規模なホワイトリスト(whitelist)或いはブラックリスト(blacklist)は維持することが困難であるし、ネットワークのパフォーマンスを劣化させるが、アプリケーションによっては簡易な識別に敏感でないかもしれない。
【００１７】
一実施形態によれば、ネットワーク環境10は、ホストとネットワークゲートウェイとの間で情報を共有することで、これらの欠点等を克服することができる。情報は例えば帯域内又は帯域外のプロトコルを通じて共有され、そのプロトコルは全体的及び相互に優れたセキュリティを達成するようにホストエージェントがネットワークゲートウェイと通信できるようにする。ホストエージェントは、ホストにおけるアプリケーションを、特定の認証を伴うプロセスを実行させる実行ファイルとして理解し、例えば、ネットワークゲートウェイはアプリケーションをTCPコネクションのプロトコルとして理解し、これは特定のユーザの認証に関連付けられる。ホストエージェントはセッション記述子(session  descriptor)をネットワークゲートウェイと共有し、アプリケーションの処理と期待されるネットワークの動作とを関連付ける必要がある場合、ネットワークゲートウェイはネットワークポリシをホストエージェントと共有する。ネットワークポリシは、セキュリティポリシの要素を含むだけでなく、サービス品質(QoS)及びルーティングのような他のネットワーク特有のパラメータをも含んでよい。ホストエージェントは、ユニバーサルユニーク識別子(UUID)にも関連付けられ、これはネットワークアドレストランスレータの背後から生じた処理とコネクションとを関連付けるのに使用される。
【００１８】
セッション記述子は、一般に、所与のネットワークセッションに関連するアプリケーションとホストとに関連する情報を含む。例えば、セッション記述子は、プロセスの所有者のユーザ信用証明物(user  credential)及びホストに関連するUUIDを含んでもよい。ユーザは別々のプロセスを異なる信用証明物と共に実行できるので、そのような情報はシトリックス(Citrix)及び端末サービスに特に有利である。セッション記述子は、ファイル名、パスネーム(path  name)又はその他のアプリケーションファイルの固有の識別子を追加的に含んでもよく、アプリケーションファイル(例えば、c:＼...＼WINWORD.EXE)はネットワークコネクションを設定しようとするプロセスを走らせる。例えば、一実施形態において、アプリケーションは、アプリケーションの実行ファイルのハッシュ関数により識別され、悪意のユーザがアプリケーション名を偽装しにくくする。ゲートウェイはこの情報をアプリケーション識別子又はプロトコルに関連付け、アプリケーションが期待されるように動作することを保証する。セッション記述子はホスト環境に関する情報を含んでもよく、その情報は例えばホストにインストールされたソフトウェア、現在のコンフィギュレーション、及びソフトウェアの状態等を含み、ゲートウェイがネットワークアクセス制御装置として動作することを許可する。例えば、セッション記述子は、ローカルのウィルス防止システムが最新の状態で動作しているか否かを示してもよい。ホストによるデータ損失防止(Host-based  Data  Loss  Prevention：HDLP)ソフトウェアが利用可能であった場合、セッション記述子はファイル転送のためのファイルタイプ情報を含んでもよい。HDLPは、通常、ネットワークから送信されるファイルのタイプ(例えば、PDF、Word等)を判定する。ゲートウェイは、特定のプロトコルにより送信される所定のファイルタイプに関する追加的なポリシを有してもよく、そのポリシはHDLPプログラムにとって直接的に見えなくてもよい。
【００１９】
ホストエージェントは、ホストに対する追加的なネットワーク接続(コネクション)をゲートウェイに通知してもよい。ホストが無線及び有線の接続処理の双方を同時に行う場合、例えば、一方の接続で受信されるデータが他方の接続で送信されてしまう危険性があるので、重要なデータへのアクセスを制限することが望ましい。ホストエージェントは、接続(コネクション)が仮想マシンに関連付けられているか否かをゲートウェイに通知してもよい。ホストエージェントは、取り付けられるUSBスティックのような搭載可能なリード/ライト媒体をホストが有しているか否かをゲートウェイに通知してもよい。
【００２０】
ネットワーク環境10では動的な情報共有が行われる。ユーザホストとネットワークゲートウェイとの間の通信信号は所定のネットワークトラフィックにエンコードされ(例えば、IP又はTCPオプションフィールド、パケットパディングロケーション、又はDNSパケットのトレール等の情報要素が定められ)、各自のコネクションが始まる場合に、ホストからネットワークゲートウェイへ個々のネットワークパケットで送信される。一実施形態において、ネットワークゲートウェイは、ランダムに選択されたシーケンス番号又はノンスを含むUDPパケットを、ユーザホストの第1のエグレス(egress)でユーザホストに送信してもよい。許可されたコネクションのTCPオープン(TCP  open)の各々において、ユーザホストエージェントは現在のノンス及びシーケンスIDのハッシュのフォーマットを整え、それを他のセッション記述子と共にパケットに含める。一実施形態では、パケットコンテンツのハッシュも含まれてよい。ネットワークゲートウェイは、UDPパケットを受信し、TCPストリームにネットワークポリシを適用する際に使用するセッション記述子を保存する。ネットワークゲートウェイは、リプレイアタック(replay  attack)を阻止するために周期的に新たなノンスを送信してもよい。
【００２１】
一実施形態によるネットワーク環境10においては、ホスト20aは複数のアタッチメントポイントを含み、複数のIPアドレスを持たせてもよい。他の実施形態では、ホスト20aはIPバージョン6(IPv6)(おそらくは、プライバシエクステンション(RFC4941)を含む)を利用し、1つ以上の登録された既知のIPv6アドレスと1つ以上の秘密の又はプライベートIPv6アドレスを持たせてもよい。これらの実施形態では、ゲートウェイ25は動的な情報共有を利用して、ホスト20aの全てのアドレスの対応関係を管理するユーザを簡単に発見できる。
【００２２】
ネットワーク環境10におけるこの動的な情報共有は、従来のアーキテクチャよりも優れたいくつもの利点をもたらす。例えば、ファイヤウォールポリシをホストエージェントと共に設定することで、ホストエージェントの複数のユーザのうち誰がコネクションを設定しようとしているかに応じて、ゲートウェイはトラフィックを別様に許可又は拒否できる。更に、緻密に(granularly)制限される必要のあるアプリケーションのみが、ファイヤウォールによって制限される必要がある。従って、ゲートウェイは任意的又は曖昧なアプリケーション(arbitrary  or  evasive  application)を制限し、高い有効なスループットを提供し、モバイルユーザトラフィックを制御する。更に、完全に許可又は拒否されることを要しないトラフィックは速度制限されてもよい(rate-limited)。任意的な又は曖昧なアプリケーションはゲートウェイで利用可能なプロセス情報と共に速度制限され、管理されるホスト及び管理されないホストについて異なるサービスを提供することができる。
【００２３】
図2を参照するに、図2はネットワーク環境10の可能な一例に関する更なる詳細な事項を示す概略ブロック図である。図2は、インターネット15、ユーザホスト20a、ネットワークゲートウェイ25、ポリシサーバ30及びメールサーバ35を示す。ユーザホスト20a、ネットワークゲートウェイ25及びポリシサーバ30の各々は、各自のプロセッサ50a-cと、各自のメモリ要素55a-cと、様々なソフトウェア要素とを含む。特に、ユーザホスト20aは、電子メールクライアント60と、ネットワークスタック65と、ポリシエージェント70と、ファイヤウォールエージェント75とを含む。ゲートウェイ25はファイヤウォールモジュール85を含み、ポリシサーバ30はファイヤウォールコネクタモジュール85を含む。
【００２４】
一実施形態において、ユーザホスト20a、ネットワークゲートウェイ25、及び/又はポリシサーバ30はネットワーク要素であり、ネットワーク要素という用語は、ネットワーク装置、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、負荷分散部、ファイヤウォール、プロセッサ、モジュール、又はその他の適切な任意の装置等を意味し、装置等は、ネットワーク環境の中で情報を送受信することが可能なオブジェクト、要素又はコンポーネントを含む。ネットワーク要素は、適切な任意のハードウェア、ソフトウェア、コンポーネント、モジュール、インタフェース又はそれらの動作を促すオブジェクトを含んでもよい。これは、データ又は情報の適切なやりとりを可能にする適切なアルゴリズム及び通信プロトコルを包含してもよい。しかしながら、ユーザホスト20aは、ゲートウェイやルータとは異なり、ネットワーク接続の終端点として機能するので、他のネットワーク要素とは区別される。ユーザホスト20aは、アイフォン(i-Phone)(登録商標)、アイパッド(i-Pad)(登録商標)、アンドロイドフォン(Android  phone)(登録商標)、又は他の同様な通信装置等のような無線ネットワークエンドポイントを表現していてもよい。
【００２５】
ネットワーク環境10に関連する内部構造に関し、ユーザホスト20a、ネットワークゲートウェイ25、及び/又はポリシサーバ30の各々は、本願で説明される処理に使用される情報を保存するメモリ要素(図2)を含んでもよい。更に、これらの装置の各々は、本願で説明される処理を行うためのアルゴリズム又はソフトウェアを実行することが可能なプロセッサを含む。これらの装置は、適切な任意のメモリ要素[ランダムアクセスメモリ(RAM)、ROM、EPROM、EEPROM、ASIC等]、ソフトウェア、ハードウェアにより、或いは適切な他の任意のコンポーネント、デバイス、要素又はオブジェクトにより、用途に応じて適切に情報を維持してもよい。本願で言及される如何なるメモリも、広義の「メモリ要素」に該当するように解釈されるべきである。ユーザホスト20a、ネットワークゲートウェイ25、及び/又はポリシサーバ30により追跡又は送信された情報は、任意のデータベース、レジスタ、制御リスト又は格納構造(ストレージ構造)に与えられ、それらはすべて適切な任意の時間フレームで参照することが可能である。そのようなストレージの例は本願における広義の「メモリ要素」に該当する。同様に、本願で言及される任意の可能な処理要素、モジュール、及びマシンは、広義の「プロセッサ」という用語に該当するように解釈されるべきである。ネットワーク要素の各々は、ネットワーク環境におけるデータ又は情報を受信、送信、及び/又は通信する適切なインタフェースを包含することが可能出る。
【００２６】
一実施形態において、ユーザホスト20a、ネットワークゲートウェイ25、及び/又はポリシサーバ30は、本願で説明されている処理を実行又は支援するソフトウェア(例えば、ファイヤウォールエージェント75等)を含む。他の実施形態では、そのような処理は、これらの要素に対して外部に設けられたハードウェアにより実行されてもよいし、或いは意図される機能を実行する他のネットワーク要素に含まれるハードウェアにより実行されてもよい。或いは、これらの要素は本願で説明される処理を実行する制御を行うソフトウェア[例えば、レシプロケーティングソフトウェア(reciprocating  software)]を含んでもよい。更に別の実施形態の場合、これらの装置の何れか又は全てが、適切な如何なるアルゴリズム、ハードウェア、ソフトウェア、コンポーネント、モジュール、インタフェース、又はそれらの動作を支援するオブジェクトを含んでもよい。
【００２７】
一実施形態では、本願で説明される機能は、暫定的ではない媒体を含む1つ以上の有形媒体にエンコードされた論理装置により実行されてもよいことに留意を要し、その有形媒体は、例えば、特定用途向け集積回路(ASIC)に設定された内蔵論理装置、ディジタル信号プロセッサ(DSP)命令、プロセッサ又は他の同様なマシンにより実行されるソフトウェア(オブジェクトコード及びソースコードを包含してもよい)等である。これらの例において、(図2に示されているような)メモリ要素は本願で説明される処理に使用されるデータを保存することができる。これは、本願で説明される処理を行うために実行されるプロセッサ命令、コード、論理装置、又はソフトウェアを保存することが可能なメモリ要素を含む。プロセッサは、本願で説明される処理を実行するためのデータに関連する任意のタイプの命令を実行することができる。一実施形態において、(図2に示されているような)プロセッサは、要素、対象又はアーティクル(例えば、データ)を、ある状態又はあるものから別の状態又は別のものへ変換する。別の実施形態において、本願で説明される処理は不変の論理装置又はプログラム可能な論理装置(例えば、プロセッサにより実行されるソフトウェア/コンピュータ命令)と共に実行され、及び、本願で言及される要素は、プログラム可能なプロセッサ、プログラム可能な論理装置[例えば、フィールドプログラマブルゲートアレイ(FPGA)、消去可能なリードオンリメモリ(RPROM)、電気的に消去可能プログラム可能なROM(EEPROM)]、又はASIC[ディジタル論理装置、ソフトウェア、コード、電子命令、又はそれらの適切な任意の組み合わせを含むASIC]のうちの何れのタイプであってもよい。
【００２８】
図3は、帯域外通信を行うネットワーク環境10の一例に関する動作例を示す概略ブロック図である。予備的な事項として又は周期的に、(0.1)において、ファイヤウォールモジュール80は、ポリシサーバ30のファイヤウォールコネクタモジュール85にキー(KEY)を要求する。(0.2)において、ファイヤウォールコネクタモジュール85は、キー(KEY)を生成し、それをファイヤウォール80と全てのホスト(ホスト20aのポリシエージェント70を含む)とに送信する。(1.1)において、メールクライアント60のようなアプリケーションは、メールサーバ35のような遠隔サーバとの接続(コネクション)を設定し始める。例えば、メールクライアント60はシンプルメール転送プロトコル(SMTP)を利用してメールサーバ35との接続を設定する。そして、ネットワークスタック65はファイヤウォールモジュール80を介してトラフィックを配信又はルーティングする。(1.2)において、ファイヤウォールモジュール80は、セッション記述子を求めるリクエストのようなハローパケット(HELLO  packet)を、ホスト20aのファイヤウォールエージェント75に送信することができる。ハローパケットは、例えば、キーの値(KEY  value)と、SEQNUMと、ハッシュ値(HASH  value)とを含む。SEQNUMはノンス(nonce)及びシーケンス番号の双方として使用されてよい。ハッシュ値は、一般に、メッセージ中のデータに関する適切な暗号化ハッシュ(例えば、SHA-1)である。そして、ファイヤウォールエージェント75は、ファイヤウォールモジュール80からのリクエストを解読し、ネットワークスタック65から情報を取得し、(1.3)において、セッション記述子を含みかつ順に並べられたハッシュされた暗号化されたパケットをファイヤウォールモジュール80に送信する。例えば、「auser」の識別子又は身元によりユーザが認証されかつメールクライアントとしてマイクロソフトアウトルック(Microsoft  Outlook)(登録商標)を利用していた場合、セッション記述子(session  descriptor)は、auser、Outlook、session  info(セッション情報)を含んでもよい。これはシーケンス番号と共に暗号化され送信され、Enc[KEY](SEQNUM++,session  descriptor,HASS)を有する。(1.4)において、ファイヤウォールモジュール80はネットワークポリシを適用し、メールサーバ35への接続が許可されるべきか否かを判断する。(1.2)のようなハローパケットをファイヤウォールモジュール80が送信する必要なしに、(1.5)において、追加的なセッション記述子パケットが送信されてもよい。
【００２９】
図4は、ネットワーク環境10の別の例に関する処理の一例を示す概略ブロック図である。図4において、ネットワーク環境10は、ユーザホスト20a-bと、ネットワークアドレス変換部100と、不正侵入防止システム(Intrusion  Prevention  System：IPS)105と、インターネット15とを含む。ホスト20aは第1のUUDI(UUID1)に関連付けられており、ホスト20bは第2のUUDI(UUID2)に関連付けられている。セッション記述子は、ネットワークアドレス変換部100を通じて帯域外又は帯域内で送信されてもよいし、或いはセッション識別子(session  identifier)が帯域内で送信される一方セッション記述子が帯域外で送信されてもよい。そのような実施形態において、セッション記述子は帯域内及び帯域外通信を関連付けるセッション記述子を含むことができる。ネットワークアドレス変換部100はホスト20a-bのIPアドレスを変更するかもしれないが、IPS105はホスト20a-bのUUIDを用いてトラフィックを関連付け、ホストに関する全てのネットワークアドレスに基づいてネットワークポリシがホストに適用できるようにする。
【００３０】
一実施形態では、タイムシェアリングシステム、マイクロソフトウィンドウズ(登録商標)の「スイッチユーザ(Switch  Users)」、シトリックス(Citrix)又はマイクロソフトターミナルサービスのように、ホスト20aは複数のユーザにより同時に利用されてもよいことに、更に留意を要する。ファイヤウォールモジュール80は、セッション記述子の中の情報を利用してネットワーク接続の各々とそれを設定したユーザとのペアを決定し、ホスト20aの全てのユーザに一律に適用するのではなく、ユーザに応じて異なるポリシを使用することを可能にする。
【００３１】
図5は帯域内通信を行うネットワーク環境10の実施形態に関する処理の一例を示す概略フローチャートである。ステップ505において、ユーザは例えばスカイプクライアント(Skype  client)のようなアプリケーションを走らせる。TCP、UDP、又はインターネット制御メッセージプロトコル(ICMP)のような関連するネットワークプロトコルの冗長領域に、セッション記述子が埋め込まれてもよい。例えば、ファイヤウォールエージェントは、TCPハンドシェーク手順の最中にTCPオプションにセッション記述子を埋め込むことが可能であり、セッションの最初のパケットでさえ処理できるようにする。別の実施形態において、セッション記述子は、TCP、UDP、及びICMPトラフィックに適用するIPオプションに埋め込まれてもよい。更に別の実施形態では、ネットワークセッションの中で追加的な「プローブ」パケットが生成され、これは、通信には余分であるがネットワークゲートウェイが有用な情報を抽出するのに利用可能である。例えば、ホストエージェントは、既に送信された過去のTCPアクノリッジメント(ACKs)と重複するACKsを送信することが可能であり、このようなACKsは実害を及ぼさない。チェックサム、緊急ポインタ(Urgent  Pointer)又は予約フィールド等のような情報が、ACKパケットとしては有意義でないこれらのACKのフィールドに埋め込まれてもよい。正当であるように見えるICMPが使用されてもよいが、他のエンド(ポイント)によって無視されるかもしれない。パケットが宛先で無視されるように、有効でないシーケンス番号のTCPパケットが利用されてもよい。
【００３２】
更なる説明を行うために、ユーザがユーザホスト20aでスカイプ(Skype)クライアントを走らせる具体例を考察する。ユーザホスト20aのファイヤウォールエージェントは、「skype.exe」のプロセスIDと、「Skype,Inc.,」のベンダIDと、「jdoe」のユーザ名と、「f81d4ae-7dec-11do-a765-00a0c91e6bf6」のuuidとを取得し、ステップ510において、この情報をセッション記述子としてIPオプションフィールドに埋め込んでもよい。ステップ515において、パケットは署名されて暗号化され、ネットワークゲートウェイ25に送信される前に、ステップ520においてステガノグラフィにより(steganographically)隠蔽される。ステップ525において、ネットワークゲートウェイ25は、組み込まれている又は埋め込まれているセッション記述子を検出して抽出する。ステップ530において、セッション記述子の正当性又は信憑性が確認される。ステップ535において、セッション記述子に基づいてネットワークポリシがそのコネクションに適用され、許可される、拒否される或いは速度制限される等の動作が行われる。
【００３３】
このように、図5に示す実施形態の例では、ユーザホスト及びネットワークゲートウェイは如何なる追加的なネットワークセッションも生成することなく互いに通信することができ、これは極めて有益である。例えば、暗号化及びステガノグラフィが適用される場合、通常のユーザ及びおそらくは管理者(アドミニストレータ)でさえ、ユーザホストとネットワークゲートウェイとがどのように相互作用しているかを正確には知らないので、通信を妨害する要因を排除又は最小化できる。更に、ネットワークセッション各々はホストレベルのセッション記述を全て含んでいるので、ネットワークゲートウェイは、帯域外通信を待機する必要なしに、トラフィックについて迅速な処理を行うことができる。
【００３４】
上記の動作原理は実際の多くの用途又はアプリケーションで利用可能である。例えば、ネットワーク環境10の或る実施形態におけるファイヤウォールは、或るプロトコルが特定のアプリケーションでしか使用されないようにプログラムされてもよい。例えば、データベースプロトコルが特定のデータベースクライアントプログラムのみを利用するように制限され、他のデータベースクラアントプログラムはファイヤウォールによりブロックされてもよい。追加的又は代替的に、予想されていないプロトコルを利用していると判断されたアプリケーションは、悪意のサイトに接続することについて禁止される。例えば、ゲームを装っている「トロイの木馬(Trojan  house)」のような悪意のプログラムは、プライベートデータをインターネットサイトに送信することについて禁止される。ホストに適切なウィルス防止手段がない場合、アプリケーションによるネットワークへのアクセスは拒否される。侵入防止システムの署名(signature)は、外部接続(outbound  connection)を行うアプリケーションに基づいて、誤判定(false  positive)を検出する機能を強化する。これらの実施形態は、ファイヤウォールがホストに対する仮想プライベートネットワーク(VPN)アクセスを提供している場合、同様に適用可能であり、この場合ファイヤウォールはホストに関するネットワークアクセス制限部(NAC)である。ファイヤウォールはポリシサーバと通信を行い、ウィルス防止手段の状態(ステータス)を判定し、ホストをスキャンするようにポリシサーバに要求する。そして、ファイヤウォールは、ホストのセキュリティが十分でなかった場合、そのホストに接続しない(quarantine)。  
別の実施形態において、ネットワーク環境10は、処理についての管理者及び/又はユーザに警告するために使用可能な説明と共に、接続(コネクション)が拒否されたか否かを、ファイヤウォールが別個のチャネルを用いてホストに通知することを許容してもよい。すなわち、潜在的な可能性に気付くことなくファイヤウォール近辺で処理しようとするのではなく、ユーザはヘルプデスク又は管理者に警告を連絡することができ、ネットワーク管理を大幅に簡易化する。
【００３５】
更に別の動作例において、ファイヤウォールがカスタムプロトコルのような特定のプロトコルを解釈できない場合、ホストエージェントはそのトラフィックを生成したアプリケーションを特定し、その識別子をファイヤウォールに送信し、これによりファイヤウォールがアプリケーションレベルで適切にポリシを適用できるようにする。アプリケーションから予想又は許容される所定のネットワークの動作に基づいて、プロトコルはアプリケーションに関連付けられてもよい。アプリケーション及び許可されたプロトコル双方を含むホワイトリストを利用して、ファイヤウォールは、他の安全なアプリケーションを利用するマルウェア(malware)をブロックしてもよい。例えば、アドビリーダ(Adobe  Reader)は、典型的には、SMTPを用いてトラフィックを生成するようには意図されていない。マルウェアがアドビリーダに歩み寄ることが可能であり、SMTPでメッセージを送信するためにそれを利用しようとした場合、ファイヤウォールは、ホワイトリストを読み込み、アドビリーダにはSMTPを利用することが許可されていないと判断した場合、マルウェアの接続を禁止又はブロックする。更に、ファイヤウォールは、アドビリーダプログラムがマルウェアの影響を受けたことをポリシサーバに通知することができる。ポリシサーバは、ユーザに通知を行い、アドビリーダをディセーブルにすることを、ユーザホストのポリシエージェントに指示する。更に別の例の場合、データベースの管理者(アドミニストレータ)は、データベースにアクセするためのカスタムアプリケーションを提供することを望むかもしれない。カスタムアプリケーションは一般的なアプリケーションと同じプロトコルを利用するが、ホストは、アプリケーションについての情報をネットワークゲートウェイとの間で共有してよいので、カスタムアプリケーションとプロトコルとを関連付けるホワイトリストにより、それらのアプリケーションへのアクセスを有効に制限できる。
【００３６】
上記の例に加えて、潜在的な他の例に関し、2つ、3つ又は4つのネットワーク要素によるやりとりがなされてもよいことに留意を要する。しかしながらこれは簡明化の観点から具体例を示しているにすぎない。場合によっては、限られた数のネットワーク要素しか参照せずに、一群の処理に関する1つ以上の機能を説明することが容易である。ネットワーク環境10の規模は簡易に変更可能であり、多数の要素を収容することに加えて、より複雑な/高度なシステム及び構造を利用できることが、認識されるべきである。従って、説明されている具体例は、多数の他のアーキテクチャに適用される可能性があるネットワーク環境10の広範囲に及ぶ教示内容の範囲を限定せず、制限もしない。更に、分析モジュールのような特定のモジュールがネットワーク要素の中に設けられている特定の状況を参照しながら説明されてきたが、これらのモジュールは外部に設けられていてもよく、或いは適切な任意の形式で統合され及び/又は組み合わせられてもよい。一実施形態では、そのような複数のモジュールは1つのプロプライエタリユニット(proprietary  unit)に設けられてもよい。
【００３７】
添付図面に示されているステップは、ネットワーク環境10により又はその中で実行されてよい可能な状況及びパターンのうちの幾つかしか示していないことに留意することも重要である。これらのステップのうちの幾つかが、適切であれば、削除又は排除されてもよく、或いはこれらのステップは本願で説明された教示内容の範囲から逸脱することなくかなり修正又は変更されてもよい。更に、これらの処理のうちのいくつかは、1つ以上の追加的な処理と同時に又は並列的に実行されるように説明された。しかしながら、これらの処理を行う時間的なタイミングはかなり変更されてもよい。上記の処理フローは具体例を説明するために示されている。本願により与えられる教示内容から逸脱することなく、適切な任意の配置、時間的な順序、構造、及びタイミング機構が使用されよいという相当な柔軟性が、ネットワーク環境10により提供される。
【００３８】
他の多くの変更例、置換例、変形例、代替例及び修正例が当業者に認められ、本願の開示内容は、そのような変更例、置換例、変形例、代替例及び修正例の全てが、添付の特許請求の範囲に属することように意図されている。米国特許商標庁(USPTO)及び更には本願について許可された任意の特許に関し添付の特許請求の範囲を解釈する読者を支援するため、出願人は、以下の点を強調しておきたい：(a)「〜する手段」又は「〜するステップ」という言葉が特定の請求項で具体的に使用されない限り、出願人は、如何なる添付の特許請求の範囲も本願の出願時に存在するように35U.S.Cセクション112の第6パラグラフ(6)に基づいて解釈せず、及び(b)出願人は、明細書中の如何なる表現によっても、添付の特許請求の範囲に反映されていない何らかの表現により本開示内容を限定することを意図していない。
【図１】
0005911893.tif 000002
【図２】
0005911893.tif 000003
【図３】
0005911893.tif 000004
【図４】
0005911893.tif 000005
【図５】
0005911893.tif 000006