(57)【特許請求の範囲】
【請求項１】
仮想ネットワークをモニタリングするための、コンピュータによって実施される方法であって、前記方法の少なくとも一部が、少なくとも１つのプロセッサを含むコンピューティングデバイスによって実行され、前記方法は
前記仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを、ソフトウェア定義型ネットワークプロトコルを使用して識別することと、
物理ワイヤータップがパケットをフィルタリングすることを可能にする、前記物理ワイヤータップの特徴を識別し、
前記仮想ネットワークのテナントによって定義されるセキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットであって前記物理ワイヤータップの前記特徴に基づくセットを前記仮想化スイッチングデバイス内に提供する、
ことによって前記仮想化スイッチングデバイス内に前記物理ワイヤータップをエミュレートすることと、
前記宛先ポート宛てのパケットを前記送信元ポートにて傍受することと、
前記パケットの少なくとも１つの特徴が、前記ルールのうちの少なくとも１つを満たすことを判断することと、
前記パケットの前記特徴が前記ルールのうちの少なくとも１つを満たすとの判断に応じて、
前記仮想ネットワークの外に位置し、前記仮想ネットワークの前記テナントによってモニタリングされない仮想タップポートであって、前記仮想ネットワークの前記テナントによって管理されないコンピューティングリソースを用いて前記パケットのコピーに対してセキュリティ分析を実行する仮想タップポートへ、前記パケットの前記コピーをトンネルメカニズムを介して転送することであって、前記トンネルメカニズムは前記パケットの前記コピーを前記送信元ポートでカプセル化して前記パケットの前記コピーを前記宛先ポートでカプセル化解除する、転送することと、
前記パケットの所望のネットワークパスに沿って、前記パケットを前記宛先ポートへ転送することと、を含む、方法。
【請求項２】
前記仮想ネットワークを識別することは、クラウドコンピューティング環境内でホスティングされ、かつ、それぞれ異なるテナントに関連付けられた複数の仮想ネットワークの中から前記仮想ネットワークを識別することを含み、
ソフトウェア定義型ネットワークルールの前記セットを提供することは、前記仮想ネットワークの前記テナントからソフトウェア定義型ネットワークルールの前記セットを受信することを含む、請求項１に記載の方法。
【請求項３】
前記セキュリティポリシーに関連付けられた前記所定のプロパティは、
前記パケットの宛先のプロパティ、
前記パケットの送信元のプロパティ、
前記パケットの転送に使用されるプロトコルのプロパティ、のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
前記仮想化スイッチングデバイスは、前記仮想ネットワーク内の追加のポート及び前記仮想ネットワーク外のポートの両方に前記送信元ポートを接続させる仮想化エッジスイッチングデバイスを含む、請求項１に記載の方法。
【請求項５】
前記宛先ポートは前記仮想ネットワーク内に存在し、
前記セキュリティポリシーは、前記仮想ネットワーク外から前記宛先ポートへ配信されるネットワークトラフィックに適用されるマルウェア検出ポリシーを含む、請求項１又は４に記載の方法。
【請求項６】
前記宛先ポートは前記仮想ネットワーク外に存在し、
前記セキュリティポリシーは、前記送信元ポートから前記仮想ネットワーク外へ配信されるネットワークトラフィックに適用されるデータ損失防止ポリシーを含む、請求項１又は４に記載の方法。
【請求項７】
前記仮想タップポートにおける前記パケットの前記コピーの分析に基づいて、前記パケットがセキュリティ脅威を含むことを判断することと、
前記パケットが前記セキュリティ脅威を含むとの判断に応じて、少なくとも１つのセキュリティアクションを行うことと、を更に含む、請求項１に記載の方法。
【請求項８】
前記ソフトウェア定義型ネットワークルールのうちの少なくとも１つを満たす少なくとも１つのプロパティを含む追加のパケットを、前記送信元ポートにて傍受することと、
ソフトウェア定義型ネットワークルールの前記セット内の追加の基準に基づいて、前記仮想ネットワーク内の現在のネットワークトラフィック負荷が所定の閾値を超えることを判断することと、
前記現在のネットワークトラフィック負荷が前記所定の閾値を超えるとの判断に応じて、前記追加のパケットのコピーを、前記仮想タップポートの代わりに追加の仮想タップポートへ転送することと、を更に含む、請求項１に記載の方法。
【請求項９】
仮想ネットワークをモニタリングするシステムであって、
ソフトウェア定義型ネットワークプロトコルを使用して仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを、識別し、かつ、メモリ内に格納されている識別モジュールと、
物理ワイヤータップがパケットをフィルタリングすることを可能にする、前記物理ワイヤータップの特徴を識別することと、
前記仮想ネットワークのテナントによって定義されるセキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットであって前記物理ワイヤータップの前記特徴に基づくセットを前記仮想化スイッチングデバイス内に提供することと、
によって前記仮想化スイッチングデバイス内に前記物理ワイヤータップをエミュレートし、かつ、メモリ内に格納されている提供モジュールと、
前記宛先ポート宛てのパケットを前記送信元ポートにて傍受し、かつ、メモリ内に格納されている傍受モジュールと、
前記パケットの少なくとも１つの特徴が、前記ルールのうちの少なくとも１つを満たすことを判断し、かつ、メモリ内に格納されている判断モジュールと、
前記パケットの前記特徴が前記ルールのうちの少なくとも１つを満たすとの判断に応じて、
前記仮想ネットワークの外に位置し、前記仮想ネットワークの前記テナントによってモニタリングされない仮想タップポートであって、前記仮想ネットワークの前記テナントによって管理されないコンピューティングリソースを用いて前記パケットのコピーに対してセキュリティ分析を実行する仮想タップポートへ、前記パケットのコピーをトンネルメカニズムを介して転送し、前記トンネルメカニズムは前記パケットの前記コピーを前記送信元ポートでカプセル化して前記パケットの前記コピーを前記宛先ポートでカプセル化解除し、
前記パケットの所望のネットワークパスに沿って、前記パケットを前記宛先ポートへ転送する、
転送モジュールであってメモリ内に格納されている転送モジュールと、
前記識別モジュール、前記提供モジュール、前記傍受モジュール、前記判断モジュール、及び前記転送モジュールを実行する少なくとも１つのプロセッサとを含む、システム。
【請求項１０】
前記識別モジュールは、前記仮想ネットワークの識別を、クラウドコンピューティング環境内でホスティングされ、かつ、それぞれ異なるテナントに関連付けられた複数の仮想ネットワークの中から前記仮想ネットワークを識別することにより行い、
前記提供モジュールは、ソフトウェア定義型ネットワークルールの前記セットの提供を、前記仮想ネットワークの前記テナントからソフトウェア定義型ネットワークルールの前記セットを受信することにより行う、請求項９に記載のシステム。
【請求項１１】
前記セキュリティポリシーに関連付けられた前記所定のプロパティは、
前記パケットの宛先のプロパティ、
前記パケットの送信元のプロパティ、
前記パケットの転送に使用されるプロトコルのプロパティ、のうちの少なくとも１つを含む、請求項９に記載のシステム。
【請求項１２】
前記仮想化スイッチングデバイスは、前記仮想ネットワーク内の追加のポート及び前記仮想ネットワーク外のポートの両方に前記送信元ポートを接続させる仮想化エッジスイッチングデバイスを含む、請求項９に記載のシステム。
【請求項１３】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、前記コンピューティングデバイスに、
ソフトウェア定義型ネットワークプロトコルを使用して仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを、識別させ、
物理ワイヤータップがパケットをフィルタリングすることを可能にする、前記物理ワイヤータップの特徴を識別することと、
前記仮想ネットワークのテナントによって定義されるセキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットであって前記物理ワイヤータップの前記特徴に基づくセットを前記仮想化スイッチングデバイス内に提供することと、
によって前記仮想化スイッチングデバイス内に物理ワイヤータップをエミュレートさせ、
前記宛先ポート宛てのパケットを前記送信元ポートにて傍受させ、
前記パケットの少なくとも１つの特徴が、前記ルールのうちの少なくとも１つを満たすことを判断させ、
前記パケットの前記特徴が前記ルールのうちの少なくとも１つを満たすとの判断に応じて、
前記仮想ネットワークの外に位置し、前記仮想ネットワークの前記テナントによってモニタリングされない仮想タップポートであって、前記仮想ネットワークの前記テナントによって管理されないコンピューティングリソースを用いて前記パケットのコピーに対してセキュリティ分析を実行する仮想タップポートへ、前記パケットのコピーをトンネルメカニズムを介して転送させ、前記トンネルメカニズムは前記パケットの前記コピーを前記送信元ポートでカプセル化して前記パケットの前記コピーを前記宛先ポートでカプセル化解除し、
前記パケットの所望のネットワークパスに沿って、前記パケットを前記宛先ポートへ転送させる、１つ以上のコンピュータ可読命令を含む非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ネットワークモニタリングは、侵入検知システム（ＩＤＳ）やデータ損失防止（ＤＬＰ）サービスなどの種々のセキュリティサービスの基礎を提供し得る。セキュリティアドミニストレータ及び企業は、ネットワークケーブルを直接タッピング（傍受）する又はネットワークデバイス内にワイヤータップメカニズムを配置するなどの様々な方法によって、物理ネットワーク接続をモニタリングする場合がある。このようなワイヤータップメカニズムは、スイッチ、ルータ、及びその他のネットワークデバイス内の特定のポートで処理されたデータをモニタリング及び／又は記録するように設計されていることがある。
【０００２】
しかし、物理ネットワークをモニタリングするための伝統的な方法は、仮想ネットワークに適用すると、効果的でなかったり役に立たなかったりすることがある。例えば、仮想ネットワーク接続には、タッピングメカニズムを配置する物理配線が無いことがある。更に、仮想ネットワークデバイスは、物理ネットワークデバイスに対応しない、又は対応付けられないことがある。そのため、仮想ネットワークデバイスは、特定の物理デバイス用に設計されたネットワークモニタリング技術との互換性を有しないことがある。
【０００３】
更に、仮想ポートをモニタリングする従来の方法では、クラウドコンピューティング環境内のネットワーク負荷などの大量のネットワークトラフィックを、効率的にモニタリングできないことがある。例えば、仮想ネットワークデバイスは、物理ネットワークデバイスと比べると、多数のポートへのアクセスが容易になっていることがある。クラウドベースのプラットフォームのサイズが大きくなるにつれ、（物理フィルタリングメカニズムに基づき得る）伝統的な仮想ポートベースのフィルタは、セキュリティ脅威を効果的かつ正確に検知することができなくなっていく場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そのため、本開示では、仮想ネットワークをモニタリングするための改善されたシステム及び方法の必要性を特定する。
【課題を解決するための手段】
【０００５】
後で詳述するように、本開示は、セキュリティポリシーに関連する１つ以上のプロパティを含むパケットを、仮想ネットワーク内の仮想化スイッチングデバイスにて識別することにより、仮想ネットワークをモニタリングするための、様々なシステム及び方法について説明する。その後、パケットのコピーは、パケットにセキュリティ脅威が無いか分析する仮想タップポートへ転送され得る。
【０００６】
一例では、仮想ネットワークをモニタリングするための、コンピュータによって実施される方法は、（１）仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを識別し、（２）セキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットを、前記仮想化スイッチングデバイス内に提供し、（３）前記宛先ポート宛てのパケットを前記送信元ポートにて傍受し、（４）前記パケットの少なくとも１つの特徴が、前記ルールのうちの少なくとも１つを満たすことを判断し、（５）前記パケットの前記特徴が前記ルールのうちの少なくとも１つを満たすとの判断に応じて、前記パケットのコピーを、パケットにセキュリティ脅威が無いか分析する仮想タップポートへ転送することができる。
【０００７】
いくつかの例において、前記仮想ネットワークの識別することは、クラウドコンピューティング環境内でホスティングされる複数の仮想ネットワークの中から前記仮想ネットワークを識別することを含み得る。これらの例では、各仮想ネットワークは、それぞれ異なるテナントに関連付けられている場合がある。従って、これらの例では、前記ソフトウェア定義型ネットワークルールのセットを提供することは、前記仮想ネットワークに関連付けられているテナントから前記ソフトウェア定義型ネットワークルールのセットを受信することを含み得る。
【０００８】
いくつかの実施形態において、前記セキュリティポリシーに関連付けられている前記所定のプロパティは、前記パケットの宛先及び／又は送信元のプロパティを含み得る。追加的にあるいは代替的に、前記セキュリティポリシーに関連付けられている前記所定のプロパティは、前記パケットの転送に使用されるプロトコルのプロパティを含み得る。
【０００９】
いくつかの例では、前記仮想化スイッチングデバイスは、前記仮想ネットワーク内の追加のポート及び前記仮想ネットワーク外のポートの両方に前記送信元ポートを接続させる仮想化エッジスイッチングデバイスを表し得る。一例では、前記宛先ポートは前記仮想ネットワーク内に存在し得る。この例では、前記セキュリティポリシーは、前記仮想ネットワーク外から前記宛先ポートへ配信されるネットワークトラフィックに適用されるマルウェア検出ポリシーを含み得る。別の例では、前記宛先ポートは前記仮想ネットワーク外に存在し得る。この例では、前記セキュリティポリシーは、前記送信元ポートから前記仮想ネットワーク外へ配信されるネットワークトラフィックに適用されるＤＬＰポリシーを含み得る。
【００１０】
いくつかの例において、前記パケットのコピーの前記仮想タップポートへの転送では、前記パケットのコピーを、前記仮想ネットワーク外に存在する仮想ポートへ転送し得る。このようにして、前記パケットのコピーの分析を、前記仮想ネットワークのテナントからは不可視とすることができる。
【００１１】
いくつかの例では、前記方法は、更に、前記仮想タップポートでの前記パケットのコピーの分析に基づいて、前記パケットがセキュリティ脅威を表すことを判断し得る。これらの例では、前記方法では、前記パケットがセキュリティ脅威を表すとの判断に応じて、少なくとも１つのセキュリティアクションを行い得る。
【００１２】
いくつかの実施形態において、前記方法では、更に、前記ソフトウェア定義型ネットワークルールのうちの少なくとも１つを満たす少なくとも１つのプロパティを含む追加のパケットを、前記送信元ポートにて傍受し得る。そして、前記方法では、前記ソフトウェア定義型ネットワークルールのセット内の追加の基準に基づいて、前記仮想ネットワーク内の現在のネットワークトラフィック負荷が所定の閾値を超えることを判断し得る。現在のネットワーク負荷が前記所定の閾値を超えるという判断に応じて、前記方法では、前記追加のパケットのコピーを、前記仮想タップポートの代わりに追加の仮想タップポートへ転送し得る。
【００１３】
一実施形態では、上述の方法を実施するためのシステムは、（１）仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを識別する識別モジュールと、（２）セキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットを、前記仮想化スイッチングデバイス内に提供する提供モジュールと、（３）前記宛先ポート宛てのパケットを前記送信元ポートにて傍受する傍受モジュールと、（４）前記パケットの少なくとも１つの特徴が、前記ルールのうちの少なくとも１つを満たすことを判断する判断モジュールと、（５）前記パケットの前記特徴が前記ルールのうちの少なくとも１つを満たすとの判断に応じて、前記パケットのコピーを、パケットにセキュリティ脅威が無いか分析する仮想タップポートへ転送する転送モジュールとを含み得る。更に、前記システムは、前記識別モジュール、前記提供モジュール、前記傍受モジュール、前記判断モジュール、及び前記転送モジュールを実行する少なくとも１つのプロセッサを含み得る。
【００１４】
いくつかの例では、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化され得る。例えば、コンピュータ可読媒体は１つ以上のコンピュータ実行可能な命令を含み、前記コンピュータ実行可能な命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、前記コンピューティングデバイスに、（１）仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを識別させ、（２）セキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットを、前記仮想化スイッチングデバイス内に提供させ、（３）前記宛先ポート宛てのパケットを前記送信元ポートにて傍受させ、（４）前記パケットの少なくとも１つの特徴が、前記ルールのうちの少なくとも１つを満たすことを判断させ、（５）前記パケットの前記特徴が前記ルールのうちの少なくとも１つを満たすとの判断に応じて、前記パケットのコピーを、パケットにセキュリティ脅威が無いか分析する仮想タップポートへ転送させ得る。
【００１５】
上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、組み合わせて使用することができる。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の詳細な説明を読むことによって、更に十分に理解されるだろう。
【図面の簡単な説明】
【００１６】
添付の図面は、いくつかの例示的な実施形態を示すものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【図１】仮想ネットワークをモニタリングするための例示的なシステムのブロック図である。
【図２】仮想ネットワークをモニタリングするための追加の例示的なシステムのブロック図である。
【図３】仮想ネットワークをモニタリングするための例示的な方法のフローチャートである。
【図４】仮想ネットワーク内の仮想スイッチの例示的な構成のブロック図である。
【図５】ソフトウェア定義型ネットワークルールの例示的なセットを示す。
【図６】仮想化スイッチングデバイスで傍受された例示的なパケットを示す。
【図７】本明細書に記載及び／又は図示されている実施形態のうち１つ以上を実現することができる例示的なコンピューティングシステムのブロック図である。
【図８】本明細書に記載及び／又は図示されている実施形態のうち１つ以上を実現することができる例示的なコンピューティングネットワークのブロック図である。
【００１７】
図面全体において、同一の参照符号及び記述は類似の要素を示すが、必ずしも同一ではない。本明細書に記載の例示的な実施形態は様々な変形や代替的な形態が可能であるが、特定の実施形態が例として図面に示され、本明細書で詳述される。しかし、本明細書に記載される例示的な実施形態は、開示されている特定の形態への限定を意図したものではない。むしろ、本開示は、添付の特許請求の範囲内の全ての変形、等価物、及び代替物を含む。
【発明を実施するための形態】
【００１８】
本開示は、広義には、仮想ネットワークをモニタリングするシステム及び方法に関する。後で詳述するように、本明細書に記載のシステム及び方法は、潜在的なセキュリティ脅威を示すプロパティを有するパケットを（例えば、ＯＰＥＮＦＬＯＷルールのセットを介して）識別することにより、疑わしいパケットのコピーを仮想タップポートへ転送し、そのパケットのコピーにマルウェアによる攻撃やデータ漏洩などが無いか分析し得る。更に、本明細書に開示のシステム及び方法は、ソフトウェア定義型ネットワークルールのセットを任意のタイプの物理ワイヤータップメカニズムに基づいて実施することにより、物理ネットワーク内での有効性が証明されている技術を使用して仮想ネットワークを効率的にモニタリングすることができる。更に、本明細書に記載のシステム及び方法は、様々なテナントのクラウドベースアプリケーション専用のクラウドベースのコンピューティングプラットフォームの各部分内で仮想ワイヤータップを実施することにより、粒度が細かくカスタマイズ可能なネットワークモニタリングサービスをテナントに提供することができる。
【００１９】
以下で、図１及び図２を参照して、仮想ネットワークをモニタリングするための例示的なシステムについて詳細に説明する。コンピュータによって実施される、これらに対応する方法についても、図３〜図６を参照して詳細に説明する。更に、本明細書に記載の実施形態のうち１つ以上を実現することができる、例示的なコンピューティングシステム及びネットワークアーキテクチャについて、それぞれ図７及び図８を参照して詳細に説明する。
【００２０】
図１は、仮想ネットワークをモニタリングするための例示的なシステム１００のブロック図である。この図に示すように、例示的なシステム１００は、１つ以上のタスクを行うための１つ以上のモジュール１０２を含み得る。例えば、後で詳述するように、例示的なシステム１００は、仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを識別する識別モジュール１０４を含み得る。また、例示的なシステム１００は、セキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットを、仮想化スイッチングデバイス内に提供する提供モジュール１０６も含み得る。
【００２１】
更に、後で詳述するように、例示的なシステム１００は、宛先ポート宛てのパケットを送信元ポートにて傍受する傍受モジュール１０８を含み得る。また、例示的なシステム１００は、上記パケットの少なくとも１つの特徴が上記ルールのうちの少なくとも１つを満たすことを判断する判断モジュール１１０も含み得る。更に、例示的なシステム１００は、上記パケットの特徴が上記ルールのうちの少なくとも１つを満たすとの判断に応じて、そのパケットのコピーを、パケットにセキュリティ脅威が無いか分析する仮想タップポートへ転送する転送モジュール１１２を含み得る。
【００２２】
更に、例示的なシステム１００は、仮想タップポートにおけるパケットのコピーの分析に基づいて、パケットがセキュリティ脅威を表すことを判断する分析モジュール１１４を含み得る。最後に、例示的なシステム１００は、パケットがセキュリティ脅威を表すという判断に応じて、少なくとも１つのセキュリティアクションを行うセキュリティモジュール１１６を含み得る。別々の要素として示されているが、図１中のモジュール１０２のうち１つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【００２３】
特定の実施形態では、図１中のモジュール１０２のうち１つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに１つ以上のタスクを実施させ得る、１つ以上のソフトウェアアプリケーション又はプログラムを表すことがある。例えば、後で詳述するように、モジュール１０２のうち１つ以上は、図２に示すデバイス（例えば、仮想スイッチ２０２及び／又は仮想タップポート２０８）などの１つ以上のコンピューティングデバイス、図７中のコンピューティングシステム７１０、及び／又は図８中の例示的なネットワークアーキテクチャ８００の部分に格納され、かつ、そこで動作するように構成されたソフトウェアモジュールを表し得る。また、図１中のモジュール１０２のうち１つ以上は、１つ以上のタスクを行うように構成された１つ以上の専用コンピュータの全て又は一部を表し得る。
【００２４】
図１中の例示的なシステム１００は、様々な方法で実現され得る。例えば、例示的なシステム１００の全て又は一部は、図２中の例示的なシステム２００の部分を表し得る。図２に示すように、システム２００は、仮想ネットワーク２０４を介して宛先ポート２０６及び仮想タップポート２０８と通信する仮想スイッチ２０２を含み得る。一例では、仮想スイッチ２０２は、パケットが仮想スイッチ２０２へ転送される及び／又は当該仮想スイッチから転送される際にそのパケットを傍受するように、モジュール１０２のうち１つ以上でプログラムされ得る。追加的にあるいは代替的に、仮想タップポート２０８は、仮想スイッチ２０２で傍受されたパケットのコピーにセキュリティ脅威が無いか分析するように、モジュール１０２のうち１つ以上でプログラムされ得る。
【００２５】
一実施形態において、図１中のモジュール１０２のうち１つ以上は、仮想スイッチ２０２の少なくとも１つのプロセッサによって実行されると、仮想スイッチ２０２に仮想ネットワークをモニタリングさせることができる。例えば、後で詳述するように、識別モジュール１０４は、仮想スイッチ２０２に、仮想ネットワーク２０４内の送信元ポート（例えば、送信元ポート２１０）から宛先ポート（例えば、宛先ポート２０６）へネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイス（例えば、仮想スイッチ２０２）を含む仮想ネットワーク（例えば、仮想ネットワーク２０４）を識別させることができる。更に、提供モジュール１０６は、仮想スイッチ２０２に、セキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルール（例えば、ソフトウェア定義型ネットワークルール２１２）のセットを、仮想スイッチ２０２内へ提供させることができる。次に、傍受モジュール１０８は、仮想スイッチ２０２に、宛先ポート２０６宛てのパケット（例えば、パケット２１４）を送信元ポート２１０で傍受させることができる。更に、判断モジュール１１０は、仮想スイッチ２０２に、パケット２１４の少なくとも１つの特徴（例えば、特徴２１６）が、ソフトウェア定義型ネットワークルール２１２のうちの少なくとも１つを満たしていることを判断させることができる。最後に、パケット２１４の特徴２１６がソフトウェア定義型ネットワークルール２１２のうちの少なくとも１つを満たすという判断に応じて、転送モジュール１１２は、仮想スイッチ２０２に、パケット２１４のコピー（例えば、パケットコピー２１８）を、パケットコピー２１８にセキュリティ脅威が無いか分析する仮想タップポート（例えば、仮想タップポート２０８）へ転送させることができる。
【００２６】
仮想スイッチ２０２は、概して、物理スイッチングデバイスの、任意のタイプ又は形態のソフトウェアエミュレーション又は複製を表すことがある。「スイッチングデバイス」及び「スイッチ」という用語は、本明細書で使用するとき、概して、入力ポートでデータパケットを受信し、そのパケットを出力ポートから転送することにより所望の宛先にパケットを送ることができる、任意のコンピューティングデバイスを指す。いくつかの例において、スイッチは、ローカルエリアネットワーク（ＬＡＮ）又は他の小規模及び／又は私設ネットワーク内で接続されたデバイスとの間でパケットの送受信を行い得る。これらの例では、スイッチは、パケットの宛先媒体アクセス制御（ＭＡＣ）アドレスに基づき、ＬＡＮを介して、あるコンピューティングデバイスから別のデバイスへパケットを送ることができる。他の例では、スイッチは、広域ネットワーク（ＷＡＮ）などの大規模ネットワーク内及び／又は大規模ネットワーク間でパケットを送ることができる。これらの例では、スイッチは、パケットの宛先ポートと直接通信する別のスイッチへパケットを転送するために、パケットのインターネットプロトコル（ＩＰ）アドレスを解析することができる。
【００２７】
従って、仮想スイッチ２０２は、パケットの特徴（例えば、宛先ＭＡＣアドレス及び／又はＩＰアドレス）に基づいてパケットを受信及び転送する物理デバイスにホスティングされるソフトウェア又は実行可能なコードの任意の部分を表し得る。いくつかの例では、仮想スイッチ２０２は、（例えば、ハイパーバイザによって制御される）仮想マシンにホスティングされ得る。他の例では、仮想スイッチ２０２は、クラウドコンピューティング環境内でホスティングされる１つ以上のアプリケーションを制御するハイパーバイザの全て又は一部を表し得る。
【００２８】
「仮想マシン」という用語は、本明細書で使用するとき、概して、物理コンピューティングデバイスの任意のエミュレーション又は複製を指す。いくつかの例では、仮想マシンは、特定のアプリケーションのホスティング又はネットワークデバイスのシミュレーションなどの特定のサービスを提供するように構成され得る。更に、「ハイパーバイザ」という用語は、本明細書で使用するとき、概して、１つ以上の仮想マシンを管理又は制御するソフトウェア又は実行可能なコードの任意の部分を指す。いくつかの例において、ハイパーバイザは、クラウドコンピューティング環境内でクラウドベースアプリケーションをホストする複数の仮想マシンを管理し得る。「クラウドコンピューティング環境」という用語は、本明細書で使用するとき、概して、デバイスにホスティングされるアプリケーション（例えば、クラウドベースアプリケーション）又はサービスへのリモートアクセスを提供する物理又は仮想デバイスの任意のプラットフォーム又は構成を指す。例示的な実施形態において、仮想スイッチ２０２は、仮想ネットワーク２０４内の１つ以上のクラウドベースアプリケーションへのセキュリティサービスへのアクセスを容易するために、及び／又は当該セキュリティサービスを提供するために、クラウドコンピューティング環境内でホスティングされ得る。
【００２９】
更に、仮想スイッチ２０２は、開放型システム間相互接続（ＯＳＩ）モデル内の層（例えば、Ｌ１〜Ｌ７）の任意の１つ又は組み合わせを介して、仮想マシン、ハイパーバイザ、又は他のスイッチに対して操作及び／又は接続し得る。例示的な実施形態において、仮想スイッチ２０２は、Ｌ２セグメントを介して複数の仮想マシンを接続し得る。一例では、仮想スイッチ２０２は、Ｌ２−ｏｖｅｒ−Ｌ３のオーバーレイネットワークを使用して、他の仮想ネットワークデバイスと通信することができる。
【００３０】
更に、いくつかの例では、仮想スイッチ２０２は、ＯＰＥＮＦＬＯＷなどのソフトウェア定義型ネットワークプロトコルをサポートし得る。「ソフトウェア定義型ネットワーク」という用語は、本明細書で使用するとき、概して、ネットワークトラフィックをどのように処理するかを決定するタスク（制御プレーンにより行われる）とネットワークトラフィックを転送するタスク（データプレーンにより行われる）とを分離及び／又は切り離す、任意のタイプ又は形態のネットワークを指す。制御プレーンの決定に基づいてデータプレーンを介してパケットを転送するだけの非ソフトウェア定義型ネットワークとは対照的に、ソフトウェア定義型ネットワークによれば、ユーザは、ソフトウェア定義型ネットワークルールのセットに基づいたパケットのリダイレクトを行うことができる。
【００３１】
「ソフトウェア定義型ネットワークルール」という用語は、本明細書で使用するとき、概して、ソフトウェア定義型ネットワーク内でネットワークトラフィックをどのように処理するかを規定する基準、手順、又は条件の任意のセットを指す。いくつかの例では、ソフトウェア定義型ネットワークルールのセットが、ネットワークトラフィックの特徴又はプロパティに基づいて、どのようにネットワークトラフィックを転送するかを決定し得る。一実施形態において、仮想スイッチ２０２がパケットを受信すると、仮想スイッチ２０２は、仮想スイッチ２０２内に格納されているソフトウェア定義型ネットワークルール（例えば、ソフトウェア定義型ネットワークルール２１２）のセットを参照して、どのようにパケットを転送するかを決定し得る。例えば、仮想スイッチ２０２は、ソフトウェア定義型ネットワークルール２１２が、パケット（又はパケットのコピー）がパケット内の規定とは異なるパス又は異なるデバイス、ポート、ＩＰアドレス、若しくはＭＡＣアドレスに従って転送されるべきである旨を示していることを判断し得る。
【００３２】
いくつかの例では、仮想スイッチ２０２は、仮想スイッチ２０２内の入力ポートを仮想ネットワーク２０４内のポート及び仮想ネットワーク２０４外のポートの両方に接続させるエッジスイッチを表し得る。例えば、仮想ネットワーク２０４に出入りするネットワークトラフィックの全て又は一部が、仮想スイッチ２０２を介して転送され得る。そのため、仮想スイッチ２０２内のソフトウェア定義型ネットワークルール２１２は、仮想ネットワーク２０４へ配信される又は当該仮想ネットワークから配信される、全ての悪意ある又は有害なパケットを識別し得る。
【００３３】
更に、仮想スイッチ２０２は、スイッチングデバイスのうちの任意の１つ又はいくつかの機能を表し得る、又は、含み得る。例えば、仮想スイッチ２０２は、特定タイプの物理スイッチングデバイスをエミュレートするように構成され得る。他の例では、仮想スイッチ２０２は、具体的に、パケットの転送及び／又は特定のクラウドコンピューティング環境内で必要とされるセキュリティサービスを管理するように構成され得る。特に、これらの例では、仮想スイッチ２０２の構成は、物理スイッチのソフトウェア又はハードウェア構成に対応付けられていなくてもよい。そのため、物理スイッチングデバイスをモニタリングするために確立された方法で、仮想スイッチ２０２をモニタリングできないことがある。
【００３４】
仮想ネットワーク２０４は、概して、通信又はデータ転送を容易にすることができる、任意のソフトウェアベースの媒体又はアーキテクチャを表す。いくつかの例では、仮想ネットワーク２０４は、クラウドコンピューティング環境内の仮想ローカルエリアネットワーク（ＶＬＡＮ）を表し得る。追加的にあるいは代替的に、仮想ネットワーク２０４は、ハイパーバイザ内の１つ以上の仮想マシンに接続し得る。概して、仮想ネットワーク２０４は、仮想スイッチ２０２との間でパケットの送受信を行う、任意のソフトウェアベースのプロトコルを表し得る。
【００３５】
「パケット」という用語は、本明細書で使用するとき、概して、スイッチングデバイスで受信され得る及び／又は当該スイッチングデバイスから配信され得るフォーマット済みデータの、任意のタイプ又は形態のパッケージ又は単位を指す。いくつかの例では、パケットは、パケットの送信元、宛先、フォーマッティング等のプロパティを示す制御情報を（例えば、パケットのヘッダー及び／又はフッターセクション内に）含み得る。追加的にあるいは代替的に、パケットは、パケットの本体又はメッセージを表すユーザデータを（例えば、パケットのペイロード部分内に）含み得る。パケットの例としては、ＩＰバージョン４（ＩＰｖ４）パケット、ＩＰバージョン６（ＩＰｖ６）パケット、ゲートウェイ間プロトコル（ＧＧＰ）パケット、ＯＰＥＮＦＬＯＷパケット、インターネットグループメッセージプロトコル（ＩＧＭＰ）パケット、伝送制御プロトコル（ＴＣＰ）パケット、これらのうち１つ以上の組み合わせ、又は他の任意の好適なパケットが挙げられるが、これらに限定されない。
【００３６】
更に、「ネットワークトラフィック」という用語は、本明細書で使用するとき、概して、１つ以上のネットワーク内及び／又は間における、任意のタイプ又は形態のデータ転送を指す。いくつかの例では、ネットワークトラフィックは、スイッチングデバイス及び／又は他のネットワークデバイスのポート間を通過するパケットに関与し得る。仮想ネットワーク２０４は、仮想スイッチ２０２内の仮想ポートへの及び当該仮想ポートからのパケットの配信及び／又は送信により、仮想スイッチ２０２を介したネットワークトラフィックを容易にし得る。「仮想ポート」という用語は、本明細書で使用するとき、概して、ネットワーク（例えば、仮想ネットワーク）内及び／又は当該ネットワーク間のパケットの送信を容易にする、任意のタイプ又は形態の仮想及び／又は論理インターフェースを指す。
【００３７】
図３は、仮想ネットワークをモニタリングするための例示的なコンピュータによって実施される方法３００のフローチャートである。図３に示される各ステップは、任意の好適なコンピュータ実行可能なコード及び／又はコンピューティングシステムによって実施され得る。いくつかの実施形態では、図３に示される各ステップは、図１中のシステム１００、図２中のシステム２００、図７中のコンピューティングシステム７１０、及び／又は図８中の例示的なネットワークアーキテクチャ８００の部分の構成要素のうち１つ以上によって実施され得る。
【００３８】
図３に示すように、ステップ３０２にて、本明細書に記載のシステムのうち１つ以上が、仮想ネットワーク内の送信元ポートから宛先ポートへネットワークトラフィックを転送する少なくとも１つの仮想化スイッチングデバイスを含む仮想ネットワークを識別し得る。例えば、識別モジュール１０４は、図２中の仮想スイッチ２０２の一部として、仮想ネットワーク２０４内の送信元ポート２１０から宛先ポート２０６へネットワークトラフィックを転送する仮想スイッチ２０２を含む仮想ネットワーク２０４を識別し得る。
【００３９】
「送信元ポート」という用語は、本明細書で使用するとき、概して、スイッチングデバイスでパケットを受信する、任意のタイプ又は形態の入力ポートを指す。更に、「宛先ポート」という用語は、本明細書で使用するとき、概して、パケットがそのポート宛てに送られているがまだ到達していない、任意のタイプ又は形態のポートを指す。
【００４０】
本明細書に記載のシステムは、仮想化スイッチングデバイスを含む仮想ネットワークを、様々な方法で識別し得る。例として、図４に、仮想スイッチ２０２及び仮想ネットワーク２０４の一つの構成が示されている。この例では、識別モジュール１０４は、送信元ポート２１０が、仮想スイッチ２０２に送信されたパケットの全て又は一部を受信するように構成されていることを判断し得る。図４には示されていないが、仮想スイッチ２０２は、任意の数の追加の入力及び／又は出力ポートを含み得る。いくつかの例では、識別モジュール１０４は、仮想スイッチ２０２内の各ポートが、仮想ネットワーク２０４内のトラフィック処理専用になっていることを判断し得る。しかし、他の例では、識別モジュール１０４は、仮想スイッチ２０２内のポートが、複数の仮想ネットワークに割り当てられていることを判断し得る。
【００４１】
いくつかの例では、識別モジュール１０４は、仮想ネットワーク２０４及び／又は仮想スイッチ２０２に関連付けられている又は接続されている追加の仮想ネットワークに関して、仮想ネットワーク２０４の構成も識別し得る。例えば、識別モジュール１０４は、クラウドコンピューティング環境内でホスティングされている複数の仮想ネットワークの中から仮想ネットワーク２０４を識別し得る。一実施形態において、仮想ネットワーク２０４は、仮想マシンにホスティングされている複数のクラウドベースアプリケーションにセキュリティサービスを提供するように構成されたクラウドコンピューティング環境内の複数のＶＬＡＮのうち１つを表し得る。この実施形態において、識別モジュール１０４は、クラウドコンピューティング環境内の各仮想ネットワーク（又は各ハイパーバイザ、各仮想マシンなど）が、それぞれ異なる企業又はテナントに関連付けられていること、及び／又は管理されていることを判断し得る。
【００４２】
「テナント」という用語は、本明細書で使用するとき、概して、クラウドコンピューティング環境内で動作する仮想スイッチ（例えば、仮想スイッチ２０２）、仮想ネットワーク（例えば、仮想ネットワーク２０４）、又は仮想マシンの全て又は一部に対する権利を求め得る又はそれらを管理し得る、任意のタイプ又は形態の団体、個人、又は組織を指す。いくつかの例では、テナントは、ソフトウェア定義型ネットワークルール２１２及び／又は仮想タップポート２０８によって提供されるセキュリティサービスを有するクラウドベースアプリケーションを保護するために、仮想ネットワーク２０４内のクラウドベースアプリケーションをホストすることがある。
【００４３】
図３を再び参照すると、ステップ３０４にて、本明細書に記載のシステムのうち１つ以上は、セキュリティポリシーに関連する少なくとも１つの所定のプロパティを有するパケットを識別するための基準を含むソフトウェア定義型ネットワークルールのセットを、仮想化スイッチングデバイス内に提供し得る。例えば、提供モジュール１０６は、図２中の仮想スイッチ２０２の一部として、ソフトウェア定義型ネットワークルール２１２を仮想スイッチ２０２内に提供し得る。
【００４４】
「セキュリティポリシー」という用語は、本明細書で使用するとき、概して、秘密又は機密情報に対するマルウェアによる攻撃、データ漏洩、不正アクセスなどのセキュリティ脅威又は違反を検知及び／又は防止することを意図する、任意のタイプ又は形態のルール又は制限を指す。いくつかの例では、セキュリティポリシーは、企業、ネットワーク、又はアプリケーションから又はそれらへ配信される情報のタイプ又は質を制限し得る。
【００４５】
本明細書に記載のシステムは、ソフトウェア定義型ネットワークルールのセットを、様々な方法で提供することができる。いくつかの例では、提供モジュール１０６は、物理ワイヤータップを複製又はエミュレートするようにソフトウェア定義型ネットワークルール２１２を構成し得る。例えば、提供モジュール１０６は、物理ネットワーク上のワイヤータップがモニタリングできる特定のデータ配信チャンネル（例えば、特定のポート、ドメイン、ＩＰアドレスなど）から配信されるネットワークトラフィックを識別するための基準を生成し得る。追加的にあるいは代替的に、提供モジュール１０６は、仮想環境内のパケットのモニタリングに特化した基準を有するソフトウェア定義型ネットワークルール２１２を構成し得る。
【００４６】
いくつかの例では、提供モジュール１０６は、仮想ネットワーク２０４のテナントからソフトウェア定義型ネットワークルール２１２を受信し得る。具体的には、提供モジュール１０６は、仮想ネットワーク２０４のテナントから、物理ワイヤータップ及び／又は特定のセキュリティポリシーに基づくソフトウェア定義型ネットワークルール２１２の生成要求を受信し得る。一例において、提供モジュール１０６は、仮想ネットワーク２０４からのＥメールを介して機密データの配信の検知要求を受信し得る。この要求に応じて、提供モジュール１０６は、仮想ネットワーク２０４内のポートの全て又は一部から仮想ネットワーク２０４外のポートへ配信されるＥメールを識別するようにソフトウェア定義型ネットワークルール２１２を構成し得る。同様に、提供モジュール１０６は、仮想ネットワーク２０４内でホスティングされるクラウドベースアプリケーションへの悪意のある侵入の検知要求に基づいて、特定のサーバ又は仮想ネットワーク２０４内の仮想マシンへのアクセスの試みを識別するように、ソフトウェア定義型ネットワークルール２１２を構成し得る。
【００４７】
例として、図５に、ソフトウェア定義型ネットワークルール２１２を示す。この例では、ソフトウェア定義型ネットワークルール２１２は、パケットにおけるセキュリティ脅威についての分析の必要性を示すパケットのプロパティの特定の値を規定し得る。図５に示すように、ソフトウェア定義型ネットワークルール２１２は、宛先ＭＡＣアドレス「００−１６−２２−０１−２５−４３」を有するパケット、送信元ＭＡＣアドレス「００−０Ｂ−９５−９Ａ−５９−１７」を有するパケット、宛先ＩＰアドレス「７６６．１１．２１９．５５」を有するパケット、送信元ＩＰアドレス「５４．３９５．１９６．７４」を有するパケット、及びプロトコルタイプ「ＩＰｖ４」を有するパケットを識別するために使用され得る。概して、ソフトウェア定義型ネットワークルール２１２は、任意の数の送信元又は宛先ＭＡＣアドレス若しくはＩＰアドレス及び／又は任意のタイプのプロトコルを有するパケットを識別し得る。ソフトウェア定義型ネットワークルール２１２は、パケットのＴＣＰ又はユーザデータグラムプロトコル（ＵＰＤ）ポート番号、パケットの送信元又は宛先ＶＬＡＮ、及び／又はＶＬＡＮ間の転送に使用されるトンネルなどの、パケットの任意の追加のプロパティに基づいて、パケットを識別することもできる。
【００４８】
提供モジュール１０６は、仮想スイッチ２０２内のソフトウェア定義型ネットワークルール２１２を、様々な方法で実施することができる。いくつかの例では、提供モジュール１０６は、ソフトウェア定義型ネットワークルール２１２を、送信元ポート２１０で受信した全てのパケットに適用し得る。例えば、送信元ポート２１０は、仮想スイッチ２０２内の「スニッフィングポート」として構成され得る。提供モジュール１０６は、ソフトウェア定義型ネットワークルール２１２又はソフトウェア定義型ネットワークルールの追加のセットを、仮想スイッチ２０２内の任意の追加の入力ポートに適用することもできる。
【００４９】
前述のように、仮想スイッチ２０２は、仮想マシン、ハイパーバイザ、ゲートウェイ、又は任意の追加のソフトウェアベースコンピューティングプラットフォーム内で実施され得る。提供モジュール１０６は、仮想スイッチ２０２と同じハイパーバイザ及び／又は仮想マシン内で、ソフトウェア定義型ネットワークルール２１２を実施し得る。あるいは、提供モジュール１０６は、追加のハイパーバイザ又は仮想マシン（例えば、仮想スイッチ２０２を含むハイパーバイザによって制御される仮想マシン）内で、ソフトウェア定義型ネットワークルール２１２を実施し得る。
【００５０】
更に、提供モジュール１０６は、仮想ネットワーク２０４をホスティングするクラウドベースのコンピューティング環境内の複数のＶＬＡＮ、テナント、プロトコル、クラウドベースアプリケーション、仮想マシンなどに、ソフトウェア定義型ネットワークルールの追加のセットを配信し得る。例えば、提供モジュール１０６は、クラウドベースのコンピューティング環境内の各テナントによって管理される各ＶＬＡＮ及び／又は各クラウドベースアプリケーション内で、ソフトウェア定義型ネットワークルールのセットを実施し得る。別の例では、提供モジュール１０６は、１つ以上の仮想スイッチ、仮想ネットワーク、クラウドベースアプリケーションなどをホスティングする各物理ホストに対するソフトウェア定義型ネットワークルールのセットを実施し得る。更に別の例では、提供モジュール１０６は、異なる仮想マシンの接続に使用される各Ｌ２セグメントに対するソフトウェア定義型ネットワークルールのセットを実施し得る。
【００５１】
概して、提供モジュール１０６は、任意の数又は構成のハイパーバイザ、仮想マシン、ＶＬＡＮ、物理ホストなどにおいて、ソフトウェア定義型ネットワークルールの１つ以上のセット（ソフトウェア定義型ネットワークルール２１２を含む）を実施し得る。このようにして、本開示のシステムは、クラウドコンピューティング環境内の複数のテナントに提供されているセキュリティサービスに対して、フレキシブルかつ粒度の細かい制御を提供し得る。
【００５２】
図３を再び参照すると、ステップ３０６にて、本明細書に記載のシステムのうち１つ以上は、宛先ポート宛てのパケットを送信元ポートにて傍受し得る。例えば、傍受モジュール１０８は、図２中の仮想スイッチ２０２の一部として、宛先ポート２０６宛てのパケット２１４を送信元ポート２１０で傍受し得る。
【００５３】
本明細書に記載のシステムは、送信元ポートにおけるパケットの傍受を、様々な方法で行うことができる。いくつかの例では、仮想ネットワーク２０４内のポート、デバイス、仮想マシンなどから仮想ネットワーク２０４外の宛先へパケット２１４が配信されると、傍受モジュール１０８はパケット２１４を傍受し得る。他の例では、仮想ネットワーク２０４外の送信元から仮想ネットワーク２０４内のポート、デバイス、仮想マシンなどへパケット２１４が配信されると、傍受モジュール１０８はパケット２１４を傍受し得る。あるいは、パケット２１４が仮想ネットワーク２０４内で配信されているときに（例えば、パケット２１４が仮想ネットワーク２０４内のあるポートから仮想ネットワーク２０４内の別のポートに送信される場合）、傍受モジュール１０８はパケット２１４を傍受し得る。
【００５４】
図３を再び参照すると、ステップ３０８にて、本明細書に記載のシステムのうち１つ以上は、パケットの少なくとも１つの特徴が上記ルールのうちの少なくとも１つを満たすことを判断し得る。例えば、判断モジュール１１０は、図２の仮想スイッチ２０２の一部として、パケット２１４の特徴２１６がソフトウェア定義型ネットワークルール２１２のうちの少なくとも１つを満たすことを判断し得る。
【００５５】
本明細書に記載のシステムは、パケットの少なくとも１つの特徴が上記ルールのうちの少なくとも１つを満たすことを、様々な方法で判断することができる。いくつかの例では、判断モジュール１１０は、特徴２１６の値が、ソフトウェア定義型ネットワークルール２１２内の１つ以上のプロパティの値と一致することを判断することにより、特徴２１６（及びパケット２１４の任意の追加の特徴）が、ソフトウェア定義型ネットワークルール２１２の１つ以上を満たすことを判断し得る。
【００５６】
例として、図６に、パケット２１４の特徴を示す。この例では、パケット２１４は、ＩＰｖ４パケットを表し得る。このように、パケット２１４のヘッダーは、パケット２１４の（ＩＰプロトコルの）バージョン（この例では、「４」）、パケット２１４のインターネットヘッダー長（この例では、「８」ワード）、パケット２１４のプロトコル番号（この例では、「４０」）、パケット２１４の送信元ＩＰアドレス（この例では、「５４．３９５．１９６．７４」）、及びパケット２１４の宛先ＩＰアドレス（この例では、「１９４．５８９．２６．１」）などのＩＰｖ４パケットに関連する様々な基本情報を含み得る。図６には示されていないが、パケット２１４のヘッダーは、パケット２１４の全長、パケット２１４に関連する任意のフラグ、パケット２１４のフラグメントオフセット、パケット２１４の活動時間（ＴＴＬ）、パケット２１４のヘッダーの誤り検出に使用されるヘッダーチェックサム、及び／又はパケット２１４の送信元、宛先、フォーマッティングなどに関連する任意の追加情報も含み得る。図６に示すように、パケット２１４は、データ（又はペイロード）部分も含み得る。この例では、パケット２１４のデータ部分は、クライアントリストの一部を含み得る。具体的には、パケット２１４のデータ部分は、「クライアント＃１０３：クラーク・ケント」、「クライアント＃１０４：ブルース・ウェイン」、及び「クライアント＃１０５：オリバー・クイーン」を含み得る。
【００５７】
図６の例では、判断モジュール１１０は、パケット２１４の送信元ＩＰアドレスを特徴２１６として識別し得る。図５の例を参照すると、判断モジュール１１０は、パケット２１４の特徴２１６が、ソフトウェア定義型ネットワークルール２１２内にリストされている送信元ＩＰアドレスと一致することを判断し得る。そのため、判断モジュール１１０は、パケット２１４の特徴２１６が、ソフトウェア定義型ネットワークルール２１２内の「送信元ＩＰアドレス」ルールを満たすことを判断し得る。
【００５８】
図３を再び参照すると、ステップ３１０にて、本明細書に記載のシステムのうち１つ以上は、パケットの特徴が上記ルールのうちの少なくとも１つを満たすとの判断に応じて、そのパケットのコピーを、パケットのコピーにセキュリティ脅威が無いか分析する仮想タップポートへ転送し得る。例えば、転送モジュール１１２は、図２中の仮想スイッチ２０２の一部として、特徴２１６がソフトウェア定義型ネットワークルール２１２のうちの少なくとも１つを満たすとの判断に応じて、パケット２１４のコピーを仮想タップポート２０８へ転送し得る。
【００５９】
「仮想タップポート」という用語は、本明細書で使用するとき、概して、パケット（又はパケットのコピー）にセキュリティ脅威の表示が無いか分析するように（あるいは、そのように構成されたサーバ又は仮想マシンと通信するように）構成された、任意のタイプ又は形態の仮想ポートを指す。更に、「パケットのコピー」という用語は、本明細書で使用するとき、概して、パケット及び／又はパケット内の情報を、任意のタイプ又は形態で複製又は模倣したものを指す。いくつかの例では、パケットのコピーを作成することにより、パケット内の情報又はパケットの宛先ポートまでのパスに、変更又は変化は起こり得ない。
【００６０】
図４の例に示すように、仮想タップポート２０８は、仮想ネットワーク２０４外に存在し得る。追加的にあるいは代替的に、仮想タップポート２０８は、仮想スイッチ２０２外に、及び／又は仮想ネットワーク２０４のテナントによって管理される仮想マシン又は他の仮想デバイス外に存在し得る。概して、仮想タップポート２０８は、送信元ポート２１０のモニタリングを要求したテナントの制御外で仮想タップポート２０８が動作するような任意の方法で構成され得る。このようにして、本明細書に記載のシステムは、テナントの関与又は管理を必要とせず、パケットコピー２１８を分析することができる。言い換えると、パケットコピー２１８の分析は、テナントに対して不可視又は透過とすることができる。代替的に、仮想タップポート２０８は仮想ネットワーク２０４内に存在し得る。また、代替的に、仮想ネットワーク２０４のテナントに対してアクセス可能及び／又は可視とすることができる。このようにして、テナントは、パケットコピー２１８を分析するプロセスを、アクティブにモニタリングすることができる。
【００６１】
転送モジュール１１２は、様々な方法で、パケットコピー２１８を仮想タップポート２０８へ転送し得る。いくつかの例では、転送モジュール１１２は、１つ以上のアプリケーションプログラムインタフェース（ＡＰＩ）を介して、パケットコピー２１８を仮想タップポート２０８へ転送し得る。例えば、転送モジュール１１２は、パケット２１４の特徴２１６がソフトウェア定義型ネットワークルール２１２のうちの少なくとも１つを満たすとの判断に基づいて、パケットコピー２１８を作成して仮想タップポート２０８へ転送するＡＰＩを、送信元ポート２１０にて実施し得る。
【００６２】
一実施形態において、送信元ポート２１０及び仮想タップポート２０８は、別々の物理ホスト上に存在し得る。この実施形態では、転送モジュール１１２は、送信元ポート２１０にてパケットコピー２１８をカプセル化し、仮想タップポート２０８にてパケットコピー２１８をカプセル化解除するトンネルメカニズムを介して、パケットコピー２１８を仮想タップポート２０８へ転送し得る。概して、転送モジュール１１２は、任意のタイプ又は形態のソフトウェアベースのデータ転送方式を介して、パケットコピー２１８を仮想タップポート２０８へ転送し得る。
【００６３】
いくつかの例では、転送モジュール１１２は、パケットコピー２１８の仮想タップポート２０８への転送に加えて、パケット２１４を宛先ポート２０６へ（あるいは、パケット２１４の宛先ポート２０６への転送を容易にすることができる別のスイッチングデバイス、ポート、ネットワークなどへ）転送し得る。図４の例では、転送モジュール１１２は、仮想スイッチ２０２から仮想ネットワーク２０４外に存在する宛先ポート２０６へパケット２１４を転送し得る。他の例では、転送モジュール１１２は、仮想スイッチ２０２から仮想ネットワーク２０４内に存在する宛先ポート２０６へパケット２１４を転送し得る。
【００６４】
前述したように、物理又は仮想タッピングメカニズムは、データ配信チャンネルにおける通常のデータ転送を妨げないように、データ配信チャンネル内で実施され得る。このように、転送モジュール１１２は、パケット２１４が宛先ポート２０６に転送されやすくして、パケット２１４が変更、遅延、又はその他の支障無しで宛先ポート２０６に確実に受信されるようにすることができる。
【００６５】
いくつかの実施形態において、分析モジュール１１４は、パケットコピー２１８が仮想タップポート２０８に転送されると、パケットコピー２１８のセキュリティ脅威を分析し得る。例えば、分析モジュール１１４は、パケットコピー２１８のデータ部分内の情報と、セキュリティポリシー（例えば、ソフトウェア定義型ネットワークルール２１２の生成に使用されるセキュリティポリシー）とを比較し得る。図６を参照して説明したとおり、パケット２１４（及びパケットコピー２１８）は、クライアントリストの一部を含み得る。一例では、分析モジュール１１４は、パケットコピー２１８内のクライアントリストの一部を識別し、そのクライアントリストが安全な及び／又は機密の情報を表すことを判断し得る。分析モジュール１１４は、パケット２１４のヘッダー内の送信元及び宛先ＩＰアドレスに基づいて、パケット２１４により機密情報が仮想ネットワーク２０４内のポートから仮想ネットワーク２０４外のポートへ配信されたことも判断し得る。従って、分析モジュール１１４は、パケット２１４がセキュリティ脅威を表すこと（例えば、パケット２１４がＤＬＰポリシーに違反していること）を判断し得る。
【００６６】
いくつかの例では、セキュリティモジュール１１６は、パケット２１４がセキュリティ脅威を表すとの判断に応じて、少なくとも１つのセキュリティアクションを行い得る。例えば、セキュリティモジュール１１６は、仮想ネットワーク２０４のテナント及び／又はアドミニストレータに、ＤＬＰポリシー違反を警告することができる。また、セキュリティモジュール１１６は、既存のセキュリティ対策を厳しくし得る、及び／又は仮想ネットワーク２０４内の新しいセキュリティ対策を実施し得る。例えば、セキュリティモジュール１１６は、潜在的に有害なネットワークトラフィックを識別するためのより広い基準を含むように（例えば、これから起こり得るセキュリティ脅威を識別する可能性を高めるため）、ソフトウェア定義型ネットワークルール２１２を更新し得る。追加的にあるいは代替的に、セキュリティモジュール１１６は、セキュリティ脅威の傾向を認識するために、違反の記録（例えば、漏洩した情報、漏洩元など）を格納し得る。概して、セキュリティモジュール１１６は、仮想ネットワーク２０４内に格納されている又は当該仮想ネットワークがアクセス可能な情報の安全性を保護するための任意の好適なセキュリティアクションを行い得る。
【００６７】
いくつかの実施形態において、本明細書に記載のシステムは、現在のネットワーク負荷に基づいてパケットコピーを異なる仮想タップポートに動的に割り当てるために、複数の仮想タップポートを実装し得る。例えば、提供モジュール１０６は、送信元ポート２１０又は追加の入力ポートへのパケットの流れが所定の閾値を超えたことを判断するための追加の基準を、ソフトウェア定義型ネットワークルール２１２又はソフトウェア定義型ネットワークルールの追加のセット内に提供し得る。また、提供モジュール１０６は、現在のネットワークトラフィック負荷が所定の閾値を超えた場合にどのようにパケットを処理するかを規定するソフトウェア定義型ネットワークルール２１２内に、基準を提供し得る。
【００６８】
例えば、提供モジュール１０６が追加の基準を提供した後、傍受モジュール１０８は、送信元ポート２１０にて追加のパケットを傍受し得る。そして、判断モジュール１１０は、その追加のパケットの少なくとも１つの特徴が、元のソフトウェア定義型ネットワークルール２１２のうちの少なくとも１つを満たすことを判断し得る。また、判断モジュール１１０は、ソフトウェア定義型ネットワークルール２１２内の追加の基準に基づいて、追加のパケットを受信することで現在のネットワークトラフィック負荷が所定の閾値（例えば、１００パケット／秒）を超えることも判断し得る。現在のネットワークトラフィック負荷が所定の閾値を超えるとの判断に応じて、転送モジュール１１２は、追加のパケットのコピーを、仮想タップポート２０８の代わりに追加の仮想タップポートに転送し得る。
【００６９】
追加の例では、提供モジュール１０６は、ピークビジネスアワー中に２つ以上の仮想タップポート間でパケットを自動的に分割する基準を実施し得る。追加的にあるいは代替的に、提供モジュール１０６は、特定のタイプ又は頻度のセキュリティ脅威を検出すると、ソフトウェア定義型ネットワークルール２１２内の基準を動的に更新し得る。例えば、パケットコピー２１８がマルウェアによる攻撃を含んでいることを判断すると、提供モジュール１０６は、マルウェアによる攻撃を検知するように設計された追加のワイヤータップの表示を含むように基準を更新し得る。
【００７０】
本明細書に記載のシステム及び方法は、様々な方法で実施され、多く利点をもたらす。前述したとおり、潜在的なセキュリティ脅威を示すプロパティを有するパケットを（例えば、ＯＰＥＮＦＬＯＷルールのセットを介して）識別することにより、本明細書に記載のシステム及び方法は、疑わしいパケットのコピーを仮想タップポートへ転送して、パケットコピーにマルウェアによる攻撃やデータ漏洩などが無いかを分析することができる。更に、本開示のシステム及び方法は、任意のタイプの物理ワイヤータップメカニズム基づいてソフトウェア定義型ネットワークルールのセットを実施することにより、物理ネットッワーク内での有効性が証明されている技術を使用して、仮想ネットワークを効率よくモニタリングすることができる。更に、本明細書に記載のシステム及び方法は、様々なテナントのクラウドベースアプリケーション専用のクラウドベースのコンピューティングプラットフォームの各部分内で仮想ワイヤータップを実施することにより、粒度が細かくカスタマイズ可能なネットワークモニタリングサービスをテナントに提供することができる。
【００７１】
図７は、本明細書で記載及び／又は図示される実施形態のうち１つ以上を実現することができる例示的なコンピューティングシステム７１０のブロック図である。例えば、コンピューティングシステム７１０の全て又は一部は、単独で又は他の要素と組み合わせて、（図３に示すステップのうち１つ以上などの）本明細書に記載のステップのうち１つ以上を行ってもよい、及び／又はそれを行うための手段であってもよい。また、コンピューティングシステム７１０の全て又は一部は、本明細書で記載及び／又は図示される他の任意のステップ、方法、又は処理を行ってもよい、及び／又はそれを行うための手段であってもよい。
【００７２】
コンピューティングシステム７１０は、コンピュータ可読命令を実行することができる、任意のシングルプロセッサ又はマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム７１０の例としては、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられるが、これらに限定されない。その最も基本的な構成において、コンピューティングシステム７１０は、少なくとも１つのプロセッサ７１４及びシステムメモリ７１６を含み得る。
【００７３】
プロセッサ７１４は、概して、データの処理又は命令の解釈及び実行が可能な、任意のタイプ又は形態の物理処理装置（例えば、ハードウェア実装型中央処理装置）を表す。特定の実施形態では、プロセッサ７１４は、ソフトウェアアプリケーション又はモジュールから命令を受信し得る。これらの命令は、プロセッサ７１４に、本明細書に記載及び／又は図示されている例示的な実施形態のうち１つ以上の機能を行わせてもよい。
【００７４】
システムメモリ７１６は、概して、データ及び／又は他のコンピュータ可読命令を格納できる、任意のタイプ又は形態の揮発性又は不揮発性記憶デバイス又は媒体を表す。システムメモリ７１６としては、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられるが、これらに限定されない。必須ではないが、特定の実施形態では、コンピューティングシステム７１０は、揮発性メモリユニット（例えば、システムメモリ７１６など）及び不揮発性記憶デバイス（例えば、後で詳述するような、一次記憶デバイス７３２など）の両方を含んでもよい。一例では、図１のモジュール１０２のうち１つ以上がシステムメモリ７１６にロードされ得る。
【００７５】
特定の実施形態では、例示的なコンピューティングシステム７１０は、プロセッサ７１４及びシステムメモリ７１６に加えて、１つ以上の構成要素又は要素も含み得る。例えば、図７に示されるように、コンピューティングシステム７１０は、メモリコントローラ７１８、入力／出力（Ｉ／Ｏ）コントローラ７２０、及び通信インターフェース７２２を含み得る。これらはそれぞれ、通信基盤７１２を介して相互接続され得る。通信基盤７１２は、概して、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤７１２の例としては、通信バス（例えば、産業標準構成（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバス）及びネットワークが挙げられるが、これらに限定されない。
【００７６】
メモリコントローラ７１８は、概して、メモリ又はデータの処理、又はコンピューティングシステム７１０の１つ以上の構成要素間の通信の制御が可能な、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ７１８は、通信基盤７１２を介して、プロセッサ７１４、システムメモリ７１６、及びＩ／Ｏコントローラ７２０間の通信を制御し得る。
【００７７】
Ｉ／Ｏコントローラ７２０は、概して、コンピューティングデバイスの入出力機能を調整及び／又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、Ｉ／Ｏコントローラ７２０は、プロセッサ７１４、システムメモリ７１６、通信インターフェース７２２、ディスプレイアダプタ７２６、入力インターフェース７３０、及び記憶インターフェース７３４など、コンピューティングシステム７１０の１つ以上の要素間におけるデータの転送を制御し得る又は容易にし得る。
【００７８】
通信インターフェース７２２は、例示的なコンピューティングシステム７１０と１つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インターフェース７２２は、コンピューティングシステム７１０と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にし得る。通信インターフェース７２２の例としては、有線ネットワークインターフェース（ネットワークインターフェースカードなど）、無線ネットワークインターフェース（無線ネットワークインターフェースカードなど）、モデム、及び他の任意の好適なインターフェースが挙げられるが、これらに限定されない。少なくとも１つの実施形態では、通信インターフェース７２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供し得る。また、通信インターフェース７２２は、そのような接続を、例えば、ローカルエリアネットワーク（イーサネット（登録商標）ネットワークなど）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続により、間接的に提供することもできる。
【００７９】
特定の実施形態では、通信インターフェース７２２は、外部バス又は通信チャネルを介して、コンピューティングシステム７１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタも表し得る。ホストアダプタの例としては、小型コンピュータシステムインターフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子学会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、シリアルＡＴＡ（ＳＡＴＡ）、及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット（登録商標）アダプタなどが挙げられるが、これらに限定されない。また、通信インターフェース７２２は、コンピューティングシステム７１０に、分散型又はリモートコンピューティングに関与させることができる。例えば、通信インターフェース７２２は、実行のために、リモートデバイスから命令を受信し得る、又はリモートデバイスに命令を送信し得る。
【００８０】
図７に示すように、コンピューティングシステム７１０は、ディスプレイアダプタ７２６を介して通信基盤７１２に連結される少なくとも１つのディスプレイデバイス７２４を含み得る。ディスプレイデバイス７２４は、概して、ディスプレイアダプタ７２６によって転送される情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ７２６は、概して、ディスプレイデバイス７２４に表示するために、通信基盤７１２から（又は当該技術分野において既知であるように、フレームバッファから）グラフィックス、テキスト、及び他のデータを転送するように構成された、任意のタイプ又は形態のデバイスを表す。
【００８１】
図７に示すように、例示的なコンピューティングシステム７１０は、入力インターフェース７３０を介して通信基盤７１２に連結される少なくとも１つの入力デバイス７２８も含み得る。入力デバイス７２８は、概して、コンピュータ又は人間により生成された入力を、例示的なコンピューティングシステム７１０に提供することができる、任意のタイプ又は形態の入力デバイスを表す。入力デバイス７２８の例としては、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられるが、これらに限定されない。
【００８２】
図７に示すように、例示的なコンピューティングシステム７１０は、記憶インターフェース７３４を介して通信基盤７１２に連結される、一次記憶デバイス７３２及びバックアップ記憶デバイス７３３も含み得る。記憶デバイス７３２及び７３３は、概して、データ及び／又は他のコンピュータ可読命令を格納することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス７３２及び７３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インターフェース７３４は、概して、記憶デバイス７３２及び７３３とコンピューティングシステム７１０の他の構成要素との間でデータを転送するための、任意のタイプ又は形態のインターフェース又はデバイスを表す。
【００８３】
特定の実施形態では、記憶デバイス７３２及び７３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された、取外し可能な記憶ユニットに対する読み取り及び／又は書き込みを行うように構成されてもよい。好適な取外し可能な記憶ユニットの例としては、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられるが、これらに限定されない。記憶デバイス７３２及び７３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム７１０にロードされることを可能にする、他の同様の構成又はデバイスも含み得る。例えば、記憶デバイス７３２及び７３３は、ソフトウェア、データ、又は他のコンピュータ可読情報の読み取り及び書き込みを行うように構成されてもよい。記憶デバイス７３２及び７３３は、コンピューティングシステム７１０の一部であってもよく、他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【００８４】
その他多くのデバイス又はサブシステムがコンピューティングシステム７１０に接続されてもよい。反対に、図７に示す構成要素及びデバイスの全てが、本明細書に記載及び／又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムは、図７に示されるのとは異なる形で相互接続されてもよい。コンピューティングシステム７１０は、任意の数のソフトウェア、ファームウェア、及び／又はハードウェアの構成を採用することもできる。例えば、本明細書で開示する例示的な実施形態のうちの１つ以上は、コンピュータ可読媒体上で、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、概して、コンピュータ可読命令を格納又は実行することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、搬送波などの伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光学記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びブルーレイ（ＢＬＵ−ＲＡＹ）（登録商標）ディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、及び他の分散システムなどの非一時的媒体が挙げられるが、これらに限定されない。
【００８５】
コンピュータプログラムを含むコンピュータ可読媒体は、コンピューティングシステム７１０にロードされてもよい。そして、コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、システムメモリ７１６に、及び／又は、記憶デバイス７３２及び７３３の様々な部分に格納されてもよい。コンピューティングシステム７１０にロードされたコンピュータプログラムは、プロセッサ７１４によって実行されると、プロセッサ７１４に、本明細書に記載及び／又は図示されている例示的な実施形態のうち１つ以上の機能を実施させてもよく、かつ／又はそれらを実施するための手段であってもよい。追加的にあるいは代替的に、本明細書に記載及び／又は図示されている例示的な実施形態の１つ以上は、ファームウェア及び／又はハードウェアに実装されてもよい。例えば、コンピューティングシステム７１０は、本明細書に開示される例示的な実施形態１つ以上を実現するように適合された、特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００８６】
図８は、クライアントシステム８１０、８２０、８３０、及びサーバ８４０、８４５がネットワーク８５０に連結され得る、例示的なネットワークアーキテクチャ８００のブロック図である。上記で詳述したように、ネットワークアーキテクチャ８００の全て又は一部は、単独で又は他の要素と組み合わせて、本明細書に開示されるステップの１つ以上（図３に示されるステップの１つ以上など）を行ってもよく、並びに／あるいはそれを行うための手段であってもよい。ネットワークアーキテクチャ８００の全て又は一部は、本開示に記載される他のステップ及び特徴を行うために使用されてもよく、並びに／あるいはそれを行うための手段であってもよい。
【００８７】
クライアントシステム８１０、８２０、８３０は、概して、図７の例示的なコンピューティングシステム７１０などの、任意のタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ８４０、８４５は、概して、様々なデータベースサービスを提供し、かつ／又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ若しくはデータベースサーバなどの、コンピューティングデバイス又はシステムを表す。ネットワーク８５０は、概して、例えばイントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一例では、クライアントシステム８１０、８２０、及び／若しくは８３０、並びに／又はサーバ８４０及び／若しくは８４５の少なくとも１つは、図１のシステム１００の全て又は一部を含んでもよい。
【００８８】
図８に示すように、１つ以上の記憶デバイス８６０（１）〜（Ｎ）は、サーバ８４０に直接取り付けられ得る。同様に、１つ以上の記憶デバイス８７０（１）〜（Ｎ）は、サーバ８４５に直接取り付けられ得る。記憶デバイス８６０（１）〜（Ｎ）及び記憶デバイス８７０（１）〜（Ｎ）は、概して、データ及び／又は他のコンピュータ可読命令を格納することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス８６０（１）〜（Ｎ）及び記憶デバイス８７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）などの様々なプロトコルを使用して、サーバ８４０及び８４５と通信するように構成されたネットワーク接続ストレージ（ＮＡＳ）デバイスを表し得る。
【００８９】
サーバ８４０及び８４５は、ストレージエリアネットワーク（ＳＡＮ）ファブリック８８０にも接続され得る。ＳＡＮファブリック８８０は、概して、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。ＳＡＮファブリック８８０は、サーバ８４０及び８４５と、複数の記憶デバイス８９０（１）〜（Ｎ）及び／又はインテリジェント記憶アレイ８９５との間の通信を容易にし得る。ＳＡＮファブリック８８０は、記憶デバイス８９０（１）〜（Ｎ）及びインテリジェント記憶アレイ８９５が、クライアントシステム８１０、８２０、８３０にローカルで取り付けられたデバイスとして現れるように、ネットワーク８５０及びサーバ８４０、８４５を介して、クライアントシステム８１０、８２０、８３０と、記憶デバイス８９０（１）〜（Ｎ）及び／又はインテリジェント記憶アレイアレイ８９５との間の通信を容易にすることもできる。記憶デバイス８６０（１）〜（Ｎ）及び記憶デバイス８７０（１）〜（Ｎ）と同様に、記憶デバイス８９０（１）〜（Ｎ）及びインテリジェント記憶アレイ８９５は、概して、データ及び／又は他のコンピュータ可読命令を格納することができる任意のタイプ又は形態の記憶デバイス又は媒体を表す。
【００９０】
特定の実施形態において、図７の例示的なコンピューティングシステム７１０を参照すると、図７中の通信インターフェース７２２などの通信インターフェースは、各クライアントシステム８１０、８２０、８３０とネットワーク８５０との間の接続を提供するために使用され得る。クライアントシステム８１０、８２０、８３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ８４０又は８４５上の情報にアクセスすることが可能であり得る。このようなソフトウェアは、クライアントシステム８１０、８２０、８３０が、サーバ８４０、サーバ８４５、記憶デバイス８６０（１）〜（Ｎ）、記憶デバイス８７０（１）〜（Ｎ）、記憶デバイス８９０（１）〜（Ｎ）、又はインテリジェント記憶アレイ８９５によってホストされるデータにアクセスすることを可能にし得る。図８では、データ通信に（インターネットなどの）ネットワークを使用することを示しているが、本明細書に記載及び／又は図示されている実施形態は、インターネットや任意の特定のネットワークベースの環境に限定されない。
【００９１】
少なくとも１つの実施形態では、本明細書に開示される例示的な実施形態のうち１つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ８４０、サーバ８４５、記憶デバイス８６０（１）〜（Ｎ）、記憶デバイス８７０（１）〜（Ｎ）、記憶デバイス８９０（１）〜（Ｎ）、インテリジェント記憶アレイ８９５、又はこれらの任意の組み合わせ上にロードされて実行されてもよい。本明細書に開示される例示的な実施形態のうち１つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ８４０に記憶され、サーバ８４５によって実行され、ネットワーク８５０によりクライアントシステム８１０、８２０、８３０に配信されてもよい。
【００９２】
上記で詳述されたように、コンピューティングシステム７１０及び／又はネットワークアーキテクチャ８００の１つ以上の構成要素は、単独で又は他の要素と組み合わせて、仮想ネットワークをモニタリングするための例示的な方法の１つ以上のステップを行い得る、及び／又はそれを行うための手段であり得る。
【００９３】
前述の開示においては、特定のブロック図、フローチャート、及び例を使用して様々な実施形態が記載されているが、本明細書に記載及び／又は図示されているブロック図中の各構成要素、フローチャートのステップ、動作、及び／又は構成要素は、個別に及び／又は集合的に、様々なハードウェア、ソフトウェア、又はファームウェア（又はそれらの任意の組み合わせ）の構成を使用して実現され得る。更に、その他多くのアーキテクチャを実施することにより同じ機能を得ることができるので、他の構成要素に含まれる構成要素に関する開示は、いずれも、本質的に例示と解釈されるべきである。
【００９４】
いくつかの例では、図１中の例示的なシステム１００の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表し得る。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など）は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であり得る。本明細書に記載の様々な機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を介して提供され得る。
【００９５】
様々な実施形態では、図１中の例示的なシステム１００の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナントを容易にし得る。換言すれば、本明細書に記載のソフトウェアモジュールは、本明細書に記載の機能のうち１つ以上についてマルチテナントを容易にするように、コンピューティングシステム（例えば、サーバ）を構成してもよい。例えば、本明細書に記載のソフトウェアモジュールのうち１つ以上は、サーバ上で実行中のアプリケーションを２つ以上のクライアント（例えば、顧客）が共有できるように、サーバをプログラムしてもよい。このようにプログラムされたサーバによれば、複数の顧客（即ち、テナント）が、アプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有し得る。本明細書に記載のモジュールのうち１つ以上は、ある顧客が別の顧客のデータ及び／又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び／又は設定情報を区分してもよい。
【００９６】
様々な実施形態において、図１中の例示的なシステム１００の全て又は一部は仮想環境内で実現され得る。例えば、本明細書に記載のモジュール及び／又はデータは、仮想マシン内で存在及び／又は実行し得る。「仮想マシン」という用語は、本明細書で使用するとき、概して、仮想マシンマネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。追加的にあるいは代替的に、本明細書に記載のモジュール及び／又はデータは、仮想化層内で存在及び／又は実行し得る。「仮想化層」という用語は、本明細書で使用するとき、概して、オペレーティングシステム環境にオーバーレイする、及び／あるいはそこから抽出される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、下層の基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理され得る。例えば、ソフトウェア仮想化ソリューションは、最初は基本ファイルシステム及び／又はレジストリ内の位置宛てだった呼び出しを、仮想化層内の位置にリダイレクトし得る。
【００９７】
いくつかの例では、図１中の例示的なシステム１００の全て又は一部は、モバイルコンピューティング環境の一部を表し得る。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど）などを含む、様々なモバイルコンピューティングデバイスによって実現され得る。いくつかの例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意のタイミングにおける１つのフォアグラウンドアプリケーションの提示、リモート管理機能、タッチスクリーン機能、（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）位置及び移動データ、システムレベルの構成への修正の制限及び／又は第３者ソフトウェアによる他アプリケーションの挙動検査能力の限定を行う制限されたプラットフォーム、アプリケーションのインストールを制限する制御（例えば、認可されたアプリケーションストアのみからの開始）を含む１つ以上の特性を有し得る。本明細書で説明される様々な機能は、モバイルコンピューティング環境に提供され得る、及び／又はモバイルコンピューティング環境と相互作用し得る。
【００９８】
更に、図１中の例示的なシステム１００の全て又は一部は、情報管理のための１つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、及び／又はそれによって消費されるデータを生成してもよい。「情報管理」という用語は、本明細書で使用するとき、データの保護、編成、及び／又は記憶を指すことがある。情報管理のためのシステムの例としては、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができるが、これらに限定されない。
【００９９】
いくつかの実施形態では、図１中の例示的なシステム１００の全て又は一部は、情報セキュリティのための１つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ／又はそれと通信してもよい。「情報セキュリティ」という用語は、本明細書で使用するとき、保護されたデータに対するアクセスの制御を指すことがある。情報セキュリティのためのシステムの例としては、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検知及び防止システム、電子証拠開示システムなどを挙げることができるが、これらに限定されない。
【０１００】
いくつかの例によると、図１中の例示的なシステム１００の全て又は一部は、エンドポイントセキュリティのための１つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ／又はそれから保護を受けてもよい。「エンドポイントセキュリティ」という用語は、本明細書で使用するとき、不正及び／又は違法な使用、アクセス、及び／又は制御からエンドポイントシステムを保護すること指すことがある。エンドポイント保護のためのシステムの例としては、アンチマルウェアシステム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができるが、これらに限定されない。
【０１０１】
本明細書に記載及び／又は図示されているプロセスパラメータ及びステップの順序は、例として示されており、必要に応じて変更することができる。例えば、本明細書に図示及び／又は記載されているステップは特定の順序で図示又は説明されることがあるが、必ずしも図示又は説明されている順序で行う必要はない。本明細書に記載及び／又は図示されている様々な例示的な方法はまた、本明細書に記載又は図示されているステップの１つ以上を省略するか、又は開示されているものに加えて追加のステップを含んでもよい。
【０１０２】
様々な実施形態を、完全に機能するコンピューティングシステムの文脈で本明細書に記載及び／又は図示したが、これらの例示的な実施形態の１つ以上は、様々な形態のプログラム製品として配布されてもよく、このとき、実際の配布に使用されるコンピュータ可読媒体の特定のタイプは問わない。本明細書に開示される実施形態は、特定のタスクを実施するソフトウェアモジュールを使用して実現されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに格納され得る、スクリプト、バッチ、又はその他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの１つ以上を実施するためのコンピューティングシステムを構成し得る。
【０１０３】
更に、本明細書に記載のモジュールのうちの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、ある形態から別の形態へと変換し得る。例えば、本明細書に記載のモジュールのうちの１つ以上は、変換対象パケットを受け取り、そのパケットを変換し、変換結果を仮想タップポートに出力し、変換結果を使用してセキュリティ脅威を検知し、変換結果をストレージ又はメモリに記憶し得る。追加的にあるいは代替的に、本明細書に記載のモジュールのうちの１つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを格納し、及び／又は別な方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／又は物理的コンピューティングデバイスのその他の任意の部分を、ある形態から別の形態へと変換することができる。
【０１０４】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を、当業者が最良に利用可能とするためのものである。この例示的な記載は、包括的なものでも、開示された特定の形態に限定されるものでもない。本開示の趣旨及び範囲から逸脱しない範囲で、様々な修正及び変形が可能である。本明細書に開示された実施形態は、あらゆる点で例示的であり、非限定的であると見なされるべきである。本開示の範囲を決定する際は、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【０１０５】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語（並びにそれらの派生語）は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続（つまり、他の要素若しくは構成要素を介した接続）の両方を許容するものとして解釈される。更に、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも１つ」を意味するものとして解釈される。最後に、簡潔にするため、「含む」及び「有する」という用語（並びにそれらの派生語）は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と置き換え可能であり、同じ意味を有する。
【図１】
0006523463.tif 000002
【図２】
0006523463.tif 000003
【図３】
0006523463.tif 000004
【図４】
0006523463.tif 000005
【図５】
0006523463.tif 000006
【図６】
0006523463.tif 000007
【図７】
0006523463.tif 000008
【図８】
0006523463.tif 000009