IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セントリペタル リミテッドの特許一覧

特開2024-20524モバイルデバイスの効率的なサイバー保護のための方法およびシステム
<>
  • 特開-モバイルデバイスの効率的なサイバー保護のための方法およびシステム 図1
  • 特開-モバイルデバイスの効率的なサイバー保護のための方法およびシステム 図2
  • 特開-モバイルデバイスの効率的なサイバー保護のための方法およびシステム 図3
  • 特開-モバイルデバイスの効率的なサイバー保護のための方法およびシステム 図4
  • 特開-モバイルデバイスの効率的なサイバー保護のための方法およびシステム 図5
  • 特開-モバイルデバイスの効率的なサイバー保護のための方法およびシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024020524
(43)【公開日】2024-02-14
(54)【発明の名称】モバイルデバイスの効率的なサイバー保護のための方法およびシステム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240206BHJP
【FI】
G06F21/55
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023199361
(22)【出願日】2023-11-24
(62)【分割の表示】P 2022500516の分割
【原出願日】2020-06-15
(31)【優先権主張番号】16/502,565
(32)【優先日】2019-07-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】523310402
【氏名又は名称】セントリペタル リミテッド
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(72)【発明者】
【氏名】ムーア,ショーン
(72)【発明者】
【氏名】ジェレミア,ピーター ピー.
(57)【要約】
【課題】モバイルデバイスおよびそれに関連する企業ネットワークをインターネットの脅威から効率的に保護する。
【解決手段】モバイルデバイスは、複数のパケットフィルタリングルールの各々を表すポリシー確率的データ構造を取得し、第1のパケットの第1の属性が、前記ポリシー確率的データ構造に表された第1のパケットフィルタリングルールに対応するという判定に基づいて、前記第1のパケットを、セキュリティポリシーに関連付けられたパケットゲートウェイに送信し、送信した後に、新しいパケットフィルタリングルールを受信し、前記新しいパケットフィルタリングルールを表すために前記ポリシー確率的データ構造を更新する。第2のパケットの第2の属性が、前記更新されたポリシー確率的データ構造で表現された新しいパケットフィルタリングルールに対応するというモバイルデバイスによる判定に基づいて、前記第2のパケットのフィルタリングを行わせる。
【選択図】図1
【特許請求の範囲】
【請求項1】
モバイルデバイスによって、セキュリティポリシーの複数のパケットフィルタリングルールの各々を表す少なくとも1つのポリシー確率的データ構造を受信することと、
第1のパケットの第1の属性が、前記少なくとも1つのポリシー確率的データ構造に表された第1のパケットフィルタリングルールに対応するという前記モバイルデバイスの判定に基づいて、前記第1のパケットを、前記セキュリティポリシーに関連付けられたパケットゲートウェイに送信することと、
前記第1のパケットを前記パケットゲートウェイに送信した後に、新しいパケットフィルタリングルールを受信することと、
前記新しいパケットフィルタリングルールを表すために前記少なくとも1つのポリシー確率的データ構造を更新することと、
第2のパケットの第2の属性が、前記更新された少なくとも1つのポリシー確率的データ構造で表現された新しいパケットフィルタリングルールに対応するというモバイルデバイスによる判定に基づいて、前記第2のパケットのフィルタリングをさせることであって、前記更新前は、前記少なくとも1つのポリシー確率的データ構造は、第2の属性を有するパケットを許可するように構成されていた、前記第2のパケットのフィルタリングをさせること、とを含む、方法。
【請求項2】
前記少なくとも1つのポリシー確率的データ構造は、ブルーム・フィルタまたはカッコウ・フィルタとされている、請求項1に記載の方法。
【請求項3】
前記第2のパケットのフィルタリングをさせることは、前記第2のパケットを破棄 (drop) することを含む、請求項1に記載の方法。
【請求項4】
前記第2のパケットのフィルタリングをさせることは、前記第2のパケットに対するルールアクションの実行をさせることを含む、請求項1に記載の方法。
【請求項5】
前記第2のパケットのフィルタリングをさせることが、
前記モバイルデバイスによる、前記第2のパケットの第2の属性が、第2の確率的データ構造で表される第2のパケットフィルタリングルールに対応するという判定に基づいて、前記第2のパケットを、前記セキュリティポリシーに関連するパケットゲートウェイに送信すること、を含む、請求項1に記載の方法。
【請求項6】
前記第2のパケットの第2の属性が、前記更新された少なくとも1つのポリシーの確率的データ構造において表現された新しいパケットフィルタリングルールに対応するという判定に基づいて、前記第2のパケットに関連するログを生成することと、
前記ログを、前記セキュリティポリシーに関連付けられた少なくとも1つのネットワークセキュリティデバイスに送信することと、をさらに含む、請求項1に記載の方法。
【請求項7】
少なくとも1つのネットワークセキュリティデバイスに、前記第1のパケットが前記セキュリティポリシーに関連するパケットゲートウェイに送信されたことを示す指示を送信することをさらに含み、ここにおいて、前記新しいパケットフィルタリングルールを受信することは、前記指示を送信することに応答して新しいパケットフィルタリングルールを受信することを含む、請求項1に記載の方法。
【請求項8】
モバイルデバイスであって、
1つまたは複数のプロセッサと
前記1つまたは複数のプロセッサによって実行されたときに、前記モバイルデバイスに以下のことを行わせる命令を記憶しているメモリとを含む、モバイルデバイス。
セキュリティポリシーの複数のパケットフィルタリングルールの各々を表す少なくとも1つのポリシー確率的データ構造を受信すること、
第1のパケットの第1の属性が前記少なくとも1つのポリシー確率的データ構造に表された第1のパケットフィルタリングルールに対応すると判定したことに基づいて、前記第1のパケットを前記セキュリティポリシーに関連付けられたパケットゲートウェイに送信すること、
前記第1のパケットを前記パケットゲートウェイに送信した後、新しいパケットフィルタリングルールを受信すること、
前記新しいパケットフィルタリングルールを示すために、前記少なくとも1つのポリシー確率的データ構造を更新すること、および
第2のパケットの第2の属性が、前記更新された少なくとも1つのポリシー確率的データ構造で表現された新しいパケットフィルタリングルールに対応すると判定したことに基づいて、前記第2のパケットのフィルタリングをさせることであって、前記更新の前に、前記少なくとも1つのポリシー確率的データ構造が前記第2の属性を有するパケットを許容するように構成されていた。
【請求項9】
前記少なくとも1つのポリシー確率的データ構造は、ブルームフィルタまたはカッコウフィルタとされている、請求項8に記載のモバイルデバイス。
【請求項10】
前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記モバイルデバイスに、前記第2のパケットを破棄 (drop) させることによって、前記第2のパケットのフィルタリングをさせる、請求項8に記載のモバイルデバイス。
【請求項11】
前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記モバイルデバイスに、前記第2のパケットに対するルールアクションの実行をさせることによって、前記第2のパケットのフィルタリングをさせる、請求項8に記載のモバイルデバイス。
【請求項12】
前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記モバイルデバイスに以下の手順を行わせることによって、前記第2のパケットのフィルタリングを行わせる、請求項8に記載のモバイルデバイス。
前記第2のパケットの前記第2の属性が、前記第2の確率的データ構造において表現される前記第2のパケットフィルタリングルールに対応すると判定したことに基づいて、前記第2のパケットを、前記セキュリティポリシーに関連するパケットゲートウェイに送信する。
【請求項13】
前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記モバイルデバイスに以下のことを行わせる、請求項8に記載のモバイルデバイス。
前記第2のパケットの第2の属性が、前記更新された少なくとも1つのポリシーの確率的データ構造において表現された新しいパケットフィルタリングルールに対応するという判定に基づいて、前記第2のパケットに関連するログを生成すること、および
前記ログを、前記セキュリティポリシーに関連する少なくとも1つのネットワークセキュリティデバイスに送信すること。
【請求項14】
前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記モバイルデバイスに、以下のことを行わせる、請求項8に記載のモバイルデバイス。
少なくとも1つのネットワークセキュリティデバイスに、前記第1のパケットが前記セキュリティポリシーに関連付けられたパケットゲートウェイに送信されたという指示を送信すること、ここにおいて前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記モバイルデバイスに、前記指示の送信に応答して前記新しいパケットフィルタリングルールを受信させることによって、前記新しいパケットフィルタリングルールを受信させる。
【請求項15】
モバイルデバイスに実行させる以下の命令を記憶した1つまたは複数の非一時的なコンピュータ可読媒体。
セキュリティポリシーの複数のパケットフィルタリングルールの各々を表す少なくとも1つのポリシー確率的データ構造を受信すること、
第1のパケットの第1の属性が、前記少なくとも1つのポリシー確率的データ構造に表された第1のパケットフィルタリングルールに対応すると判定したことに基づいて、前記第1のパケットを前記セキュリティポリシーに関連付けられたパケットゲートウェイに送信すること、
前記第1のパケットを前記パケットゲートウェイに送信した後、新しいパケットフィルタリングルールを受信すること、
前記新しいパケットフィルタリングルールを表すために、前記少なくとも1つのポリシー確率的データ構造を更新すること、および
第2のパケットの第2の属性が、前記更新された少なくとも1つのポリシー確率的データ構造で表現された前記新しいパケットフィルタリングルールに対応すると判定したことに基づいて、第2のパケットのフィルタリングをさせることであって、前記少なくとも1つのポリシー確率的データ構造は、前記更新の前に、前記第2の属性を有するパケットを許可するように構成されている。
【請求項16】
前記少なくとも1つのポリシー確率的データ構造は、ブルームフィルタまたはカッコウフィルタとされている、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記命令は実行されると、前記モバイルデバイスに、前記第2のパケットを破棄 (drop) させることによって、前記第2のパケットのフィルタリングをさせる、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記命令は実行されると、前記モバイルデバイスに、前記第2のパケットに対するルールアクションを実行させることによって、前記第2のパケットのフィルタリングをさせる、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記命令は実行されると、前記モバイルデバイスに以下のことを行わせることにより、前記第2のパケットのフィルタリングを行わせる、請求項15に記載の非一時的コンピュータ可読媒体。
前記第2のパケットの前記第2の属性が、前記第2の確率的データ構造において表現される前記第2のパケットフィルタリングルールに対応すると判定したことに基づいて、前記第2のパケットを、前記セキュリティポリシーに関連するパケットゲートウェイに送信すること。
【請求項20】
前記命令は実行されると、前記モバイルデバイスに以下のことを行わせる、請求項15に記載の非一時的コンピュータ可読媒体。
前記第2のパケットの第2の属性が、更新された少なくとも1つのポリシー確率的データ構造において表現された新しいパケットフィルタリングルールに対応するという判定に基づいて、前記第2のパケットに関連するログを生成すること、および
前記ログを、前記セキュリティポリシーに関連付けられた少なくとも1つのネットワークセキュリティデバイスに送信すること。
【発明の詳細な説明】
【技術分野】
【0001】
この特許文書の開示の一部分には、著作権保護の対象となる資料が含まれている。本著作権所有者は、特許商標庁の特許ファイルまたは記録に記載されているように、特許文書または特許開示のいかなる人による複製にも異議を唱えることはないが、それ以外の場合は一切のすべての著作権を留保する。
【0002】
関連出願の相互参照
本出願は、2019年7月3日に出願された米国非仮特許出願第16/502,565号の優先権を主張し、その内容全体が、参照により本明細書に明示的に組み込まれる。
【0003】
本明細書で説明する発明の開示の態様は、一般に、コンピュータのハードウェア、ソフトウェア、およびネットワークセキュリティに関する。特に、本開示の1つまたはそれ以上の態様は、一般に、モバイルデバイスの効率的なサイバー保護のためのコンピュータのハードウェアおよびソフトウェアに関する。
【背景技術】
【0004】
情報時代が進むにつれ、ネットワークセキュリティはますます重要になっている。ネットワークの脅威/攻撃は様々な形態(例えば、不正な要求またはデータ転送、ウイルス、マルウェア、リソースを圧倒するように設計された大量のトラフィックなど)を採り得る。これらの脅威の多くは、インターネットを使用して、次のように企業コンピュータのリソース/資産にアクセスして攻撃する。デスクトップコンピュータ、オンプレミスまたはクラウドの企業アプリケーションサーバ、公開されているウェブサーバなどの静止または固定の企業ホストは、企業が所有および/または運用ならびに管理するプライベートTCP/IPネットワークに直接接続され得る。これらの企業ネットワークは、今度は、インターネットに直接接続されているため、(a)個々の企業の地理的に分散したプライベートネットワークおよび関連する資産は、インターネットを使用して相互接続することによって互いにアクセスすることができ、(b)個々の企業のホストは、他の公的にアドレス指定されたインターネット接続ホスト(例えば、パブリックウェブサーバおよびアプリケーションサーバ)にアクセスすることができ、(c)他のインターネット接続ホストは、企業の公開されているホスト(eコマースウェブサーバなど)にアクセスすることができる。しかしながら、インターネット接続ホストには、悪意のあるアクターによって所有、運用、またはさもなければ制御されているホストが含まれ得る。これらの悪意のあるアクターは、インターネットを使用して、企業の公開されているホストにアクセスして攻撃するだけでなく、可能であるとき、例えば、企業がそのプライベート資産を保護するために使用するネットワーク周辺防御構造の破壊を遂行できたとき、企業のプライベートリソースを攻撃する。
【0005】
企業がその固定/静止ネットワーク資産をインターネットの脅威から保護するための従来のアプローチは、企業ネットワークの周辺または境界としても知られるインターネットアクセスポイントにおいてそのプライベートネットワークをセキュアにすることである。企業は、どのネットワークトラフィックが、(例えば、企業ネットワークに直接接続されているかまたは企業ネットワーク内にあるホストから発信され、インターネットホストのほうを宛先とするか、あるいは逆に、インターネットホストから発信され、企業ネットワークに接続されているホストのほうを宛先とする)いずれかの方向に境界を越えることを許可されているかを指定するセキュリティポリシーを定義する。セキュリティポリシーは、ネットワークファイアウォール、ウェブプロキシ、SSL/TLSプロキシ、侵入防止システム(IPS)、(帯域外で提供され得る)侵入検知システム(IDS)、脅威イン
テリジェンスゲートウェイ(TIG)など、インターネットアクセスポイントにあるかまたはその近くにある様々なデバイスによって施行される。このデバイスのコレクションは、セキュリティスタックまたは企業ネットワークセキュリティスタックと呼ばれ得る。セキュリティスタックによって提供される保護の有効性は、ネットワークセキュリティポリシーの品質、範囲、および忠実度と、併せて、ネットワークパフォーマンスを許容不能なレベルに低下させることなくポリシーを効率的に施行するデバイスの能力と、によって、判定され得る。
【0006】
しかしながら、従来の企業セキュリティスタックでは、企業ユーザの個人用モバイルスマートフォン、ポータブルタブレット、ポータブルデスクトップなど、企業のモバイルホスト/デバイスをインターネットの脅威から保護することが不可能であり得る。これは、そのようなデバイスが、セルラネットワークおよびWi-Fiネットワークなどの無線アクセスネットワークを介してインターネットに直接接続し得るためである。このようなシナリオでは、これらのモバイルデバイスは、インターネットホストと直接通信し得るが、企業セキュリティスタックを介して関連するネットワークトラフィックをフィルタリングすることはない。したがって、悪意のあるインターネットホストおよびアクターは、モバイルデバイスを容易に攻撃することができ、かつモバイルデバイスをマルウェアに容易に感染させることができるか、またはさもなければモバイルデバイス上のリソースおよびアプリケーションを制御し得る。さらに、モバイルデバイスは、悪意のあるアクターが企業ネットワークに侵入し、企業の固定ネットワーク資産を攻撃するための侵入手段として機能し得る。例えば、企業モバイルデバイスおよび/またはそのデバイスがホストするアプリケーションは、セキュリティスタックの背後にある企業アプリケーションサーバへの特権的および許可されたアクセスを有し得る。別の例として、モバイルユーザは、Wi-Fiアクセスポイントを介して自分のモバイルデバイスを企業ネットワークに直接取り付け得る。これらの例の両方において、悪意のあるアクターは、企業ネットワーク資産に直接かつ自由にアクセスし得る。次に、悪意のあるアクターは、セキュリティスタックの背後にある資産へのモバイルデバイスのアクセスを利用して、企業資産を攻撃し得る。
【0007】
企業のモバイル資産をセキュアにするための従来のアプローチは、(a)各企業モバイルデバイスと、企業セキュリティスタックの背後にあるトンネルゲートウェイとの間にトンネルを構成する(セキュアにする)こと、および(b)モバイルデバイスのインターネット通信のほとんどまたはすべてをトンネル経由で送信すること、である。通信がトンネルゲートウェイを出るとき、通信は、企業セキュリティスタックを介して送信され得る。企業セキュリティポリシーは、インターネットホストに向かう途中で通信に適用され得る。インターネットホストから発信された任意の応答通信は、セキュリティスタックを介して同様にフィルタリングされ得る。しかしながら、このアプローチには、複数の実際的な問題があり、それは、企業がそれを使用しない可能性、および/またはモバイルデバイスユーザがそれを拒否する可能性があり、その結果、企業は、モバイルデバイスを、したがって企業のネットワーク資産をインターネットの脅威から効果的にセキュアにしない可能性がある。
【0008】
最も困難な問題のうちの1つは、セキュリティスタックを介してトラフィックをフィルタリングして、インターネットの脅威に関連付けられ得る通信を検出することができる、モバイルデバイスのインターネットトラフィックの実質的にすべてをトンネルゲートウェイにトンネリングして戻すことの非効率性である。通常、企業のモバイルデバイスから発信されたインターネット通信のごく少数の割合のみがインターネットの脅威と通信しているため、この脅威に関連するトラフィックのみをフィルタリングする必要がある。また、企業の従業員がますますモバイルになり、企業ユーザが、個人的通信と仕事/企業通信の両方のために自分自身の個人用モバイルデバイス(例えば、スマートフォン)を使用すること、「自分自身のデバイスの持ち込み」または「BYOD」と呼ばれる市場現象を圧倒
的に好むため、モバイルデバイスのインターネットトラフィックの多くは、個人的通信(例えば高帯域幅のビデオ)であり得、これは、(a)企業にとって脅威ではなく、(b)ユーザが企業のセキュリティポリシーおよび会社の使用ポリシーに不必要に従うことを希望しないプライベート通信である。また、地域のプライバシー保護法または規制は、企業がこれらの個人的通信をフィルタリングすることを許可されているかどうかを考慮に入れ得る。したがって、モバイルデバイスのトラフィックをセキュアにするために使用される企業ネットワークリソースが、無駄になり得る。また、モバイルデバイスは、正当なおよび/または良性のトラフィックを不必要に暗号化およびトンネリングすることにより、バッテリ電源を含む多くのリソースを無駄にし得る。さらに高い帯域幅、アプリケーションによるさらに多くの帯域幅消費、およびモバイルデバイスによるさらに多くのリソース消費を提供する次世代のセルラネットワークが展開されるにつれて、モバイルデバイスのインターネットトラフィックおよび関連する企業ネットワークを従来の方法でセキュアにするコストおよび他の非効率性が増加し、法外になり得ることが予想される。
【0009】
したがって、企業のネットワークセキュリティポリシーを使用して企業のモバイル資産を効率的にセキュアにし、それによって、企業のネットワーク資産をインターネットの脅威から保護する必要性が存在する。
【発明の概要】
【0010】
以下は、本開示のいくつかの態様の基本的な理解を提供するための簡略化された概要を提示する。これは、本開示の主要なまたは重要な要素を特定することも、本開示の範囲を定めることも意図されていない。以下の概要は、以下の説明の前置きとして、本開示のいくつかの概念を簡略化した形式で提示するに過ぎない。
【0011】
本開示の態様は、モバイルデバイスおよびそれらに関連する企業ネットワークをインターネットの脅威から効率的にセキュアにすることに関連している。モバイルデバイスは、インターネットの脅威に関連付けられ得るモバイルデバイス通信トラフィックを識別し得、そのような識別されたトラフィックのみをトンネルゲートウェイにトンネリングして、企業セキュリティスタックによってフィルタリングし得る。
【0012】
インターネットの脅威に関連する通信の識別は、多くのサイバー脅威インテリジェンス(CTI)プロバイダ組織から入手可能なCTIのデータベースまたはデータ構造を活用し得る。このCTIは、インジケータ、脅威インジケータ、または侵入インジケータ(IoC)を含み得る。CTIは、脅威アクターによって制御/操作され得るか、またはさもなければ悪意のある活動に関連付けられ得るリソースの(IPアドレス、IPアドレス範囲、L4ポートおよび関連するL3プロトコルタイプ、ドメイン名、URIなどの形式の)インターネットネットワークアドレスを含み得る。CTIインジケータ/脅威インジケータには、一部のTCP/IP通信をセキュアにするために使用される証明書および関連する認証局の識別子も含まれ得る(例えば、HTTPを介したセッションをセキュアにするためにTLSプロトコルによって使用されるX.509証明書)。
【0013】
アクティブな通信がインターネットの脅威に関連付けられ得るかどうかを判定するために、通信を含む転送中のパケットは、例えば、脅威インジケータで満たされたデータベースまたはデータ構造から生成されたパケットフィルタリングルールを適用するパケットフィルタリングデバイスによって、脅威インジケータで満たされたデータベースまたはデータ構造と比較され得る。パケットの値とデータベースまたはデータ構造内の脅威インジケータとの間で一致が判定された場合、一連の保護アクションまたはパケット変換機能(PTF)のうちの少なくとも1つが、パケットに適用され得る。これらの保護アクション/PTFには、パケットのドロップ、パケットが目的の宛先に進むことの許可、パケットの監視(パケットのログ記録およびキャプチャ、またはパケットのログ記録および転送が含
まれ得る)、目的の宛先へのパケットのミラーリング、ならびに監視またはテストのための別のネットワークデバイスへのパケットのミラーリング、パケットのリダイレクト、対応する応答パケットの生成などが含まれ得る。
【0014】
保護アクション/PTFは、インジケータを提供した関連CTIPによって提供される脅威インテリジェンスデータまたは脅威メタデータによって部分的に判定され得る。CTIPは、CTIインジケータを、非バイナリの脅威リスク値に関連付け得る。例えば、インジケータのリスクは、関連するパケットまたは通信が攻撃の一部であるという確率または可能性として表されるか、それに関連付けられ得る。このような脅威リスク値は、一致するパケットに適用され得る保護アクション/PTFの判定に考慮され得る。例えば、パケットに関連するほぼ100%の脅威リスクがある場合、パケットは、攻撃の一部である可能性が非常に高いため、ドロップされ得る。パケットはまた、ログ記録され、キャプチャされ、脅威/攻撃を認識している必要がある当局に警告され得る。逆に、パケットに関連する脅威リスクがほぼ0%の場合、パケットは、攻撃の一部である可能性が低いため、宛先に向かって進むことが可能にされ得る。別の例として、パケットのリスクの可能性が50%の場合、パケットは目的の宛先に進むことが可能にされ得るが、パケットはまた、ログ記録またはキャプチャされるか、あるいはリスクが、指定された当局へのアラートで識別され得、当局は、パケットおよび関連する通信をさらに分析して、パケット/通信が攻撃の一部であったかどうかを判定する。リスク値の推定、および関連するアクション/PTF、またはネットワーク保護アクションの選択は、関連するCTIPによって提供され得る脅威メタデータ(例えば、攻撃の種類、攻撃の属性など)、同じインジケータを提供したCTIPの数、どのCTIPがインジケータを提供したか、インジケータの忠実度、パケットの発信者の地理的位置、保護されている関連ネットワークの管理者の設定などを含む、いくつかの変数の関数であり得る。
【0015】
ポリシー作成および管理システムは、(a)1つまたはそれ以上のCTIPからCTIおよび関連するメタデータを受信し得、(b)脅威インジケータを集約(例えば、重複する情報をマージおよび削除)し得、(c)脅威インジケータごとにパケットフィルタリングルールを作成し得、(d)パケットフィルタリングルールのすべてをポリシーにまとめ得、(e)ネットワークファイアウォールおよび脅威インテリジェンスゲートウェイ(TIG)などのサブスクライブするポリシー施行デバイスにポリシーを配布し得る。ステップ(c)において、パケットフィルタリングルールを作成するとき、各ルールは、(1)パケット一致基準、例えば、パケットフィールドと値のペア、ここで、値はCTIインジケータである、および(2)ルールの基準に一致するパケットに適用されるパケット処置、またはネットワーク保護アクション、またはPTFを指定し得る。パケットフィルタリングルールの構文は、ポリシー施行デバイスによって指定され得る。構文は、BSD PFまたはiptablesなどの商用ファイアウォールの構文と同じまたは類似であり得る。パケット処置/アクション/PTFは、ポリシー作成論理によって指定でき、ポリシー作成論理は、上記で説明されたように、CTIPが提供する脅威メタデータ、管理者設定などを考慮に入れることができる。ポリシー作成および管理システムは、モバイルアプリケーションに統合し得る。モバイルアプリケーションは、集中型サーバから生成されたポリシーの更新をインストールして受信するように構成することもできる。
【0016】
CTIから導出したポリシーのサイズは、開示された方法およびシステムを考慮に入れ得る。最も効果的なネットワーク保護を提供するには、多くの異なる独立したCTIPからのCTIを使用してポリシーを導出する必要がある。CTIPは、例えば、攻撃の種類、市場セグメント、脅威メタデータの品質、インジケータの種類、忠実度によって差別化され得るため、独立したCTIPによって提供されるインジケータ間にはほとんど重複がない場合がある。任意の2つの独立したCTIPによって提供される2セットの脅威インジケータの場合、セットの共通部分は、比較的小さいか、またはヌルでさえあり得る。し
たがって、アクティブな脅威通信を監視する可能性を最大限に高めるには、可能な限り多くの独立したCTIPから利用可能なCTIを使用してポリシーを導出する必要がある。これにより、ポリシーが非常に大きくなり得る。例えば、多くの独立したCTIPから作成されたCTIから導出したポリシーのサイズは、500万のパケットフィルタリングルールになる可能性がある。しかしながら、インターネットの脅威の範囲は急速に拡大し続けており、したがって、CTIPはより多くのCTIを生成し続けている。したがって、将来の保証のために、フィルタリングシステムは、有効なCTIから導出したポリシーのサイズの桁の増加を処理するように設計されて、1,000万~5,000万のパケットフィルタリングルールの範囲を含む可能性がある。
【0017】
CTIから導出したポリシーのダイナミクスも、説明されている方法およびシステムを考慮に入れ得る。例えば、悪意のあるアクターが、新しい脅威インジケータを使用して新しい攻撃を継続的かつ迅速に作成しているため、CTIは継続的に変化する。脅威インジケータはまた、60~180日後に「期限切れ」になり、リスクがあると見なされなくなる可能性があり得る。また、CTIPは、CTI更新の頻度によって区別され得る。したがって、CTIから導出したポリシーは、有効性を維持するために頻繁に更新する必要がある。実際には、CTIから導出したポリシー配布の頻度は、毎週、毎日、または毎時間であり得る。
【0018】
ルールの一致基準のインジケータによるポリシー内の各ルールの特徴付けも、開示された方法およびシステムを考慮に入れ得る。このプロパティは、ポリシーを検索する前に、パケットデータがポリシー内の何らかのルールに一致するかどうかを判定するためのテストによって活用され得る。
【0019】
CTIデータベースのサイズおよびダイナミクスにより、ネットワークを保護するためのCTIの使用は、ポリシー作成とポリシー施行の両方の自動化の恩恵を受け得る。ポリシー施行の自動化では、ネットワークファイアウォールなど、転送中のネットワークトラフィックにパケットフィルタリングルールを適用し得る任意のネットワークデバイスが、ポリシー施行機能を潜在的に実行し得る。ネットワークを保護するためにCTIを適用するには、ポリシー施行デバイスは、(a)大幅なレイテンシまたは(例えば大きいレイテンシによって引き起こされるバッファオーバーフローによる)パケット損失なしに、高速インターネットアクセスリンク(例えば10G)上の転送中のネットワークトラフィックに、数百万のパケットフィルタリングルールで構成される非常に大きいポリシーを適用すること、(b)例えば、IPアドレス、IPアドレス範囲、5タプル、ドメイン名、URI、X.509証明書など、一致基準に様々な種類のインジケータを使用してパケットフィルタリングルールを適用すること、(c)パケット転送サービスを失うことまたはセキュリティ/保護を失うことなく、現在施行されている非常に大きいポリシーを新しく非常に大きいポリシーで迅速かつ頻繁に更新すること、ならびに(d)例えば、例えばセキュリティ情報およびイベント管理(SIEM)アプリケーションおよびパケットアナライザアプリケーションを使用して通信をサイバー分析できるように、パケットをログ記録およびキャプチャすること、の能力を備えていることが有益である。
【0020】
CTIから導出したポリシーを使用してモバイルデバイスおよび関連ネットワークを保護するための1つの潜在的なアプローチは、エンドポイントモバイルデバイス上にポリシー施行機能を配置することである。Android(登録商標)などのモバイルデバイスオペレーティングシステムには、エンドポイントモバイルデバイスによって発信および受信されたトラフィックに、CTIから導出したパケットフィルタリングルールを適用することができる、ネットワークファイアウォール機能(例えばAndroid(登録商標)のiptables)が含まれている。ただし、iptables、ならびに従来のネットワークファイアウォール、およびいわゆる「次世代」ファイアウォールは、CTIから
導出したルールで構成されているとき、CTIから導出したポリシー施行機能で識別できるが、このようなファイアウォールは通常、ネットワークゲートウェイの上記の機能のすべてを有するわけではない。さらに、従来のモバイルデバイスは一般に、ネットワークゲートウェイの能力をサポートするのに十分なプロセッサおよびメモリの要件を欠いている。また、モバイルデバイスは通常、バッテリに蓄えられた電力を節約するために、処理負荷を最小限に抑え、したがって、電力消費を最小限に抑える。したがって、モバイルデバイス上で効果的なポリシー施行機能を見つけるこの潜在的なアプローチは、非現実的であり得る。
【0021】
モバイルデバイスの限られた処理能力およびバッテリ電力節約の問題に対処するために、セキュリティスタックを備えたポリシー施行機能(例えば、TIG)が、企業ネットワークのインターネットアクセスポイントにおいて提供され得、また、各モバイルデバイスからのインターネットトラフィックのすべてを、セキュリティスタックの背後にあるトンネルゲートウェイにトンネリングする代わりに、システムは、各モバイルデバイスから、TIGによって施行されるCTIから導出したポリシー内のパケットフィルタリングルールに一致し得るインターネットトラフィックのみをトンネリングし得る。システムは、各モバイルデバイス上で、どのインターネットトラフィックパケットが、企業ネットワーク内にある(リモート)TIGによって施行されるポリシー内のパケットフィルタリングルールに一致するかを効率的に判定する論理をローカルで実行し得る。
【0022】
どのインターネットトラフィックパケットがポリシー内のパケットフィルタリングルールに一致するかを効率的に判定するために、CTIから導出したポリシー内の各ルールを脅威インジケータで特徴付けることができる。脅威インジケータは、フィルタリングルールの一致基準として使用できる。モバイルデバイスは、特徴付け脅威インジケータによってセキュリティポリシー内の各ルールを表すデータ構造を利用して、インターネットトラフィックパケットがポリシー内のルールと一致するかどうかを判定し得る。ポリシー全体を表すために、システムは、ポリシー内の各ルールを特徴付ける、IPアドレス、ドメイン名、URI、証明書IDなどのインジケータのすべてを収集し、そのような各インジケータを、例えば、要素(例えばIPアドレス、ドメイン名、URI、証明書IDなど)がセットのメンバーであるかどうかを判定するためにテストされ得るセットデータ構造に挿入し得る。データ構造は、ポリシー管理サーバによって生成され得、各モバイルデバイスに配布され得、ポリシーによって保護され得る各モバイルデバイスに記憶され得る。モバイルデバイスがインターネットトラフィックパケットを発信または受信すると、モバイルデバイス上のコンピュータ論理および/またはアプリケーションは、IPアドレス、ドメイン名、URI、証明書IDなど、データ構造内の脅威インジケータに対応し得るパケットに含まれるいずれかの要素を抽出し得、データ構造をテストして、いずれかのそのような要素がデータ構造のセットのメンバーであるかどうかを判定し得る。テストが、いずれかのパケット要素が脅威インジケータのセットのメンバーであることが示す場合、パケット、またはパケットのコピーは、企業プライベートネットワーク内にあるトンネルゲートウェイにトンネリングされ得る。トンネルゲートウェイを出ると、パケットはTIGに送信され得、TIGは、ポリシーを介してパケットをフィルタリングして、どのパケットフィルタリングルールがパケットに一致するかを判定し得る。一致するルールがTIGによるポリシーテストによって判定されると、ネットワークを保護するために、ルールに関連付けられたアクションまたはPTFがパケットに適用され得る。アクションまたはPTFによって、パケットがインターネットのほうに転送される場合、パケットは、関連するセキュリティスタックを通過し得る。
【0023】
データ構造は、空間と時間の両方に関して効率的であることが好ましい。ポリシー内のルールを特徴付ける要素のセットまたは脅威インジケータを記憶するために必要なメモリは、モバイルデバイス上の使用可能なメインメモリに比べて小さくなければならず、メン
バーシップテスト機能および要素挿入機能は、理論と実践の両方において高速で効率的である必要がある。参照により本明細書に組み込まれる、2019年4月30日に出願された米国特許出願第16/399,700号に記載されているように、ブルームフィルタと呼ばれる確率的データ構造は、これらの基準を満たし得る。ブルームフィルタは、セットの要素を空間効率的に記憶し、要素をセットに時間効率的に挿入し、時間効率的にテストして、要素がセットのメンバーであり得るかどうかを判定し得る。ブルームフィルタは、偽陽性率Pによってパラメータ化され、これは、要素が実際にはセットのメンバーではないときに、要素のセットメンバーシップテストがTrueを返す確率である。ブルームフィルタの場合、偽陰性率はゼロである。つまり、要素のセットメンバーシップテストがFalseを返す場合、その要素がセットのメンバーではないことは確かである。
【0024】
ブルームフィルタをモバイルデバイスによって使用して、IPアドレス、ドメイン名、またはインターネットトラフィックパケットから抽出されたURIなどのパケット要素が、ポリシー内のルールを特徴付けるすべてのインジケータのセットのメンバーであるかどうかを効率的に判定し得る。例えば、サイズが約9Mバイトのブルームフィルタは、偽陽性率P=10-3、または1000分の1のとき、IPアドレス、ドメイン名、およびURLインジケータのすべてを、CTIPが提供する脅威インジケータの同様の数(例:500万)から導出した約500万のパケットフィルタリングルールで構成される実際のポリシーに記憶するのに十分であり得る。500万個の要素を含むブルームフィルタを迅速にテストして、所与のパケット要素(IPアドレス、ドメイン名、URLなど)がメンバーであるかどうかを(通常は1マイクロ秒未満で)判定し得る。このまたは任意のブルームフィルタの場合、空間/メモリおよびメンバーシップテスト時間の要件は、Pの対数の大きさによって異なり、したがって、例えば、P=10-3を1000分の1のP=10-6に減らすか、または100万分の1にすると、空間および時間の要件は2倍に(例えば、この例では約18MBに)なる。現在の多くのモバイルスマートフォンは、1~4GBのメインメモリを有し得、したがって、例示的な9MBブルームフィルタは、メインメモリの1%未満を占め得る。CTIから導出したポリシーのサイズが大幅に増加し、それに含まれるパケットフィルタリングルールまたは脅威インジケータの数で測定される場合、関連するブルームフィルタのサイズが問題になる場合は、ブルームフィルタのサイズを低減するために、偽陽性率を増加させ得る。
【0025】
ブルームフィルタのデータ構造(以降、「B/F」と略記することがある)は、本開示の説明において使用されるが、この選択は例示的なものであり、決して限定的または制限的であることを意味するものではない。要素のセットを記憶し、要素をセットに挿入し、かつセット内の要素のメンバーシップをテストするための十分かつ同様の時間および空間の効率を備えた任意のデータ構造を使用し得る。例えば、カッコウ(Cuckoo)フィルタは、ブルームフィルタ(B/F)と同様の時間および空間の効率があり、セットから要素を効率的に削除または除去する機能もあり、これは、標準のブルームフィルタにはない機能であるが、削除機能をサポートするブルームフィルタ変形態が開発されている。セットから要素を効率的に削除する能力は、いくつかの適用例、実装形態、および/または実施の形態において有用であることが証明され得る。データ構造は、セットに要素を追加するためのInsert()関数をサポートし得、要素のセットメンバーシップをテストするためのブール値Member()関数をサポートし得、セットから要素を除去するためのDelete()関数をサポートし得る。データ構造は、確率的であり得、非ゼロの偽陽性率Pに関連付けられ得る。
【0026】
テストが、いずれかのパケット要素がセットのメンバーであることが示す場合、そのパケットは、インターネットの脅威に関連付けられていると判定される。そのため、脅威に関連するパケットは、モバイルデバイスから企業ネットワークトンネルゲートウェイにトンネリングされ得、企業ネットワークトンネルゲートウェイは、関連する企業ネットワー
クのセキュリティスタックの背後に位置し得る。使用され得るトンネリング技術および関連する方法には様々なものがあり、シナリオによっては、トンネリング技術および方法は、企業がモバイルインフラストラクチャに求める保護の種類および効率の量に一部依存し得る。以下の詳細な説明では、いくつかの例示的なトンネリング技術が使用されている。しかしながら、これらのトンネリング技術は例示的なものであり、決して制限的または限定的であることを意味するものではない。本開示の範囲から逸脱することなく本発明を実現するために、他のトンネリング技術および方法が使用され得る。
【0027】
本開示の説明で使用される例示的なインターネット層/L3トンネリングプロトコルは、IPsecトンネルモード(RFC1431)である。IPsecトンネルモードは、トンネリングされるパケットトラフィックを暗号化し、暗号化されたトラフィックをトランスポート層/L4パケット(UDPプロトコルまたはTCPプロトコルのいずれか)のペイロードセクションに配置し、L4パケットをIPパケットにカプセル化し得、これにおいて、IPアドレスフィールド値は、トンネルの終端のIPアドレスであり、モバイルデバイスおよび企業ネットワークゲートウェイのアドレスが含まれ得る。IP-in-IP(RFC1203)を含む、他のインターネット層/L3トンネリングプロトコルが使用され得る。モバイルデバイスおよびトンネルトラフィックをVPNに関連付けることができるため、関連する企業ネットワークのプライベートアドレス指定スキームを使用して、トンネルトラフィックを、企業プライベートネットワーク経由でTIG、セキュリティスタック、およびインターネットにルーティングおよび/または切り替えることができる。これを行うための1つの例示的な方法は、L2TP-over-IPsecまたはL2TP/IPsecとして知られる、IPsecと組み合わせたL2TPプロトコルを使用することである。L2TP/IPsecは、2つの普及しているモバイルデバイスオペレーティングシステムであるAndroid(登録商標)とiOSの両方によってネイティブにサポートされている。以下の説明では、トンネリングを参照するとき、プロトコルの正確な詳細は、省略され得る。当業者は、特定のシナリオのコンテキストを使用して、詳細を推測し得る。
【0028】
モバイルデバイスは、状況に応じて企業に関連付けられ得る。つまり、デバイスは、現在の通信のプロパティに応じて、「企業モード」または「パーソナルモード」、あるいはそれらの両方で動作していると言われ得る。例えば、モバイルデバイスがインターネット脅威トラフィックを企業ネットワークにトンネリングしている場合、そのデバイスは、企業ネットワークに接続されているため、企業モードで動作している企業ホスト/エンドポイント資産と見なされ得る。モバイルデバイスがインターネットトラフィックをトンネリングしておらず、代わりに、他のインターネットホスト/エンドポイントと直接通信しているとき、それは、企業ホスト/エンドポイント資産とは見なされないため、パーソナルモードで動作していると見なされる。モバイルデバイスは、両方のモードで同時に動作している可能性がある。例えば、デバイスは、脅威のない/良性のインターネットホストと直接通信していると同時に、トンネルを介してインターネットの脅威のあるホストと間接的に通信し得る。デバイスは、インターネットの脅威のあるホストと直接通信している可能性があるが、通信のパケットのコピーを企業にトンネリングして戻す。企業ネットワークにトンネリングされたパケット、または企業ネットワークにトンネリングされたコピーされたパケットを監視して、ネットワークの脅威を判定または分析し得る。このようなパケットは、通信が攻撃であるか正当な/良性の通信であるかを判定するために、監視およびサイバー分析され得る。
【0029】
このプロセスは、ポリシーのテストを実行するための論理またはアプリケーションを備えた少なくとも1つのモバイルデバイスを構成することを含み得る。論理またはアプリケーションは、企業管理サーバからインストールできる。モバイルデバイスには、携帯電話、タブレット、ラップトップコンピュータ、またはモバイルホットスポットなどのモバイ
ルネットワーキングデバイスが含まれ得る。企業ネットワークは、TIGおよびトンネルゲートウェイで構成され得る。
【0030】
ポリシー作成および配布管理サーバは、複数のCTIPからCTIを受信し、複数のルールを含み得るCTIから導出したポリシーを作成し得る。管理サーバは、複数のルールの各々を表す要素のセットに基づいてブルームフィルタB/Fを作成し得る。このようなデータ構造(以下、TUNNEL-B/Fと呼ぶ)には、ポリシー内の各ルールから抽出された脅威インジケータが含まれ得る。システムは、ポリシーをTIGにダウンロードし、データ構造TUNNEL-B/Fを、企業ネットワークに関連付けられた各モバイルデバイスに、およびTIGを含む他のネットワーク要素に送信し得る。
【0031】
モバイルデバイスは、インターネットホストとの通信を開始し得る。IPアドレス、ドメイン名、URIなどのアウトバウンドパケットの値は、データ構造TUNNEL-B/Fのメンバーシップについてテストされ得る。メンバーシップテストにおいてTrueが返された場合、システムは、パケットを企業ネットワークにトンネリングし得る。パケットは、TIGおよびセキュリティスタックを介してフィルタリングされ得る。通信フロー内の後続のパケットの各々は、企業ネットワークにトンネリングされ、TIGおよびセキュリティスタックを介してフィルタリングされ得る。メンバーシップテストにおいてFalseが返された場合、システムは、パケットを企業ネットワークにトンネリングせずに、パケットをインターネットホストのほうに直接転送し得る。
【0032】
トンネルゲートウェイから出るトンネルパケットを受信すると、企業ネットワークは、パケットをTIGのほうに転送し得る。TIGは、各パケットにポリシーを適用し得る。TIGが、一致するパケットフィルタリングルールを見つけると、TIGは、ルールの対応するアクション/PTFをパケットに適用し得る。アクション/PTFは、例えば、パケットをドロップし得るか、または追加のセキュリティ処理のためにパケットをセキュリティスタックに転送し得る。アクション/PTFにより、パケットがログ記録およびキャプチャし得るため、パケットおよび関連する通信をSIEMアプリケーションおよび/またはパケットアナライザアプリケーションで分析して、通信が脅威もしくは攻撃であるかどうか、または通信が良性であると判定されるかどうかを判定することができる。
【0033】
上記のプロセスには多くの可能な変形態があり、そのうちのいくつかは、「発明を実施するための形態」セクションにおいて以下に詳しく説明されている。
【図面の簡単な説明】
【0034】
本開示は、添付の特許請求の範囲において委細に指摘されている。本開示の特徴は、本明細書とともに提供される図面図を含めて、本開示全体を検討することでより明らかになるであろう。
【0035】
本明細書のいくつかの特徴は、添付の図面の図において、限定としてではなく例として示され、ここで、同様の参照番号は、同様の要素を指す。
【0036】
図1】モバイルデバイスおよび関連する企業ネットワークの保護システムの例示的な環境を示す。
図2】モバイルデバイスおよび関連する企業ネットワーク要素を構成するためのセキュリティポリシー作成および管理サーバの動作概念のフローチャートを示す。
図3】モバイルデバイスおよび関連する企業ネットワークにおけるパケットフィルタリングの動作概念のフローチャートを示す。
図4】モバイルデバイスおよび関連する企業ネットワークの非保護システムの動作概念のフローチャートを示す。
図5】本明細書で説明される1つまたはそれ以上の例示的な態様に従って使用できる例示的なコンピュータシステムアーキテクチャを示す。
図6】本明細書で説明される1つまたはそれ以上の例示的な態様に従って使用できる例示的なリモートアクセスシステムアーキテクチャを示す。
【発明を実施するための形態】
【0037】
本開示の様々な実施の形態の以下の説明において、添付図面が参照されるが、添付図面は、本明細書の一部を形成するものであり、そこには、本開示の態様が実施され得る様々な実施の形態が例示として示されている。本開示の範囲から逸脱することなく、他の実施の形態が利用され得、構造的および機能的な変更が行われ得ることを理解されたい。さらに、本開示の態様が実施され得る特定の適用例、プロトコル、および実施の形態が参照される。本開示の範囲から逸脱することなく、他の適用例、プロトコル、および実施の形態が利用され得、構造的および機能的な変更が行われ得ることを理解されたい。
【0038】
以下の説明では、要素間の様々な接続について考察する。これらの接続は一般的なものであり、特に明記されていない限り、直接的または間接的、有線または無線、物理的または論理的(仮想/ソフトウェア定義)であり得る。同様に、ホストおよびアプライアンスなどのネットワーク要素は、物理的または仮想的であり得る。この点において、本明細書は限定することを意図したものではない。
【0039】
本開示の実施の形態に従って、本発明の代表的な環境100を示す図1を参照して、モバイルデバイスおよび関連する企業ネットワークの効率的なサイバー保護のためのシステムを検討する。モバイルデバイスMBDV101およびMBDV102は、プライベート企業ネットワークENET160を動作させる企業と提携し得るユーザによって個人的に所有/動作されている。モバイルデバイスMBDV101とモバイルデバイスMBDV102はどちらも、無線アクセスネットワークRNET120およびモバイルコアネットワークMCNET150を動作させるモバイルプロバイダに加入している。モバイルデバイスMBDV101およびMBDV102が携帯電話呼を行うと、シグナリングおよび通信が、モバイルコアネットワークMCNET150を介してルーティングされ、他のモバイルプロバイダのモバイルコアネットワーク(図1に図示されず)を介してルーティングされ得る。2G以降の世代のモバイルデバイスおよびモバイルネットワークは、インターネットおよび関連するTCP/IPネットワークへのアクセスをサポートする。モバイルデバイスMBDV101およびMBDV102は、インターネット130を介して、ウェブサーバWSVR151およびマルウェアサーバMALSVR152などの公的にアドレス指定されたインターネットサーバにアクセスし得る。モバイルデバイスMBDV101は、本明細書で説明されるパケットテスト、パケットフィルタリング、およびパケットトンネリングの機能を実装するモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをダウンロードし得、インストールし得る。モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、本開示明細書の他の場所で説明されているように、構成、クライアントのトンネリング、TUNNEL-B/Fの管理、および他の機能の実行を行い得る。モバイルデバイスMBDV102は、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをダウンロードしていないため、本開示の方法およびシステムによって保護されていない。
【0040】
プライベート企業ネットワークENET160は、PC161などの内部ホストへのインターネットアクセスを提供し得る。プライベート企業ネットワークENET160は、これらの内部ホストとインターネットホストとの間のトラフィックが、CTIから導出したポリシーを施行している脅威インテリジェンスゲートウェイTIG170を通過する必要があるように構成できる。トラフィックは、セキュリティスタックSSTK175を通過することもあり、SSTK175には、従来のネットワークファイアウォールと、ウェ
ブプロキシ、SSLプロキシ、IDS、IPSなどの他の企業ネットワークセキュリティデバイスとのうちの少なくとも1つが含まれ得る。脅威インテリジェンスゲートウェイTIG170およびセキュリティスタックSSTK175は、プライベート企業ネットワークENET160のインターネットアクセスポイントに配置するかまたはその近くに配置できる。ポリシーをパケットに適用する場合、脅威インテリジェンスゲートウェイTIG170は、ポリシー内のルールに一致するパケットのログを生成し得、このログは、インターネット経由でセキュリティオペレーションセンターSOC140に送信され、例えば、SIEMアプリケーションおよびパケットアナライザアプリケーションを使用するサイバーアナリストによる攻撃分析に供され得る。
【0041】
企業システムサーバESVR162は、モバイルデバイスMBDV101およびMBDV102を所有/操作するユーザを含み得る企業のユーザが使用するために企業によってホストされる、プライベートウェブアプリケーションサーバであり得る。モバイルデバイスMBDV101およびMBDV102は、ポート443(HTTPSのポート)上で企業システムサーバESVR162にアクセスするためのHTTPSクライアントを含む、企業が提供するアプリケーションを使用して、企業システムサーバESVR162にアクセスする。アプリケーションが企業システムサーバESVR162に接続すると、ウェブアプリケーションはログインフォームを提示する。次に、ユーザは、企業クレデンシャルを入力して、ウェブアプリケーションにセキュアにアクセスし得る。ネットワークセキュリティ管理者は、セキュリティスタックSSTK175においてネットワークファイアウォールのポート443を開いたため、モバイルデバイスMBDV101およびMBDV102上のアプリケーションから発信されたものなど、未承諾のインバウンドHTTPS接続が、企業システムサーバESVR162とのセッションを開始することができる。
【0042】
プライベート企業ネットワークENET160に接続されたホストトンネルゲートウェイTGW163は、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをインストールしたモバイルデバイスMBDV101などのモバイルデバイスで確立され得るトンネルを終端して集中させる。企業システムサーバESVR162と同様に、ネットワーク管理者は、セキュリティスタックSSTK175においてネットワークファイアウォールの1つまたはそれ以上のポートを開いたため、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをインストールしたモバイルデバイスMBDV101および他のモバイルエンドポイントから発信されたものなど、未承諾のインバウンドトンネルトラフィックが、TGW163にアクセスし得る。例えば、トンネリングプロトコルがIPsecトンネルモードである場合、管理者は、IPsecの既知のポート500、50、および51を開いている可能性がある。TGW163は、トンネルからの出口において、受信したパケットをカプセル化解除および/または復号化し得る。TGW163は、カプセル化解除および/または復号化されたパケットをプライベート企業ネットワークENET160に転送し得る。これらのパケットは、IPヘッダの宛先IPアドレスフィールドにパブリックインターネットアドレスを有するため、プライベート企業ネットワークENET160内のルータおよび/またはスイッチは、これらのパケットをインターネットアクセスポイントのほうに転送し得、したがって、CTIから導出したポリシーをパケットに適用する脅威インテリジェンスゲートウェイTIG170を転送する。
【0043】
セキュリティポリシー作成および管理サーバSPMS141は、例えば、CTIP142および143を含む、1つまたはそれ以上のCTIPからCTIを収集し得る。セキュリティポリシー作成および管理サーバSPMS141はまた、CTIを集約し、CTIに基づいて少なくとも1つのセキュリティポリシーを作成し得、ホストコンピュータおよび脅威インテリジェンスゲートウェイTIG170などの複数のネットワークデバイスを含み得る加入者にセキュリティポリシーを公開し得る。セキュリティポリシー作成および管
理サーバSPMS141は、セキュリティポリシーごとにデータ構造TUNNEL-B/Fを作成し得、モバイルデバイスMBDV101によってホストされるモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPなど、各セキュリティポリシーに関連付けられた各加入者にデータ構造TUNNEL-B/Fを公開し得る。代替的に、脅威インテリジェンスゲートウェイTIG170は、サイバー保護のために脅威インテリジェンスゲートウェイTIG170に関連付けられたモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPの関連付けられたインスタンスなど、関連付けられたモバイルデバイスごとにデータ構造TUNNEL-B/Fを作成し得、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPの各サブスクライブインスタンスを含む、関連付けられたモバイルデバイスに現在のデータ構造TUNNEL-B/Fを公開し得る。
【0044】
図2は、図1に示すモバイルデバイスおよび関連する企業ネットワークの保護システムについて、モバイルデバイスおよび関連する企業ネットワーク要素を構成するためのセキュリティポリシー作成および管理サーバの動作概念のフローチャートを示す。
【0045】
ステップ2-1において、セキュリティポリシー作成および管理サーバSPMS141が、CTIP142およびCTIP143などの脅威インテリジェンスプロバイダによって公開されたCTIをダウンロードし得る。ステップ2-2において、セキュリティポリシー作成および管理サーバSPMS141が、CTIインジケータを集約し、CTIを処理してセキュリティポリシーを生成し得る。複数の脅威インテリジェンスプロバイダが同じ脅威インジケータを提供し得るため、セキュリティポリシー作成および管理サーバSPMS141は、ルールを単一のセットにマージし、重複する脅威インジケータを削除し、さもなければ脅威インジケータを統合し得る。セキュリティポリシー作成および管理サーバSPMS141は、少なくとも1つのパケットフィルタリングルールを作成し得、各ルールは、脅威インジケータに対応する一致基準、および一致が判定されたときにパケットに適用される対応するアクション/PTFを含む。対応するアクション/PTFは、脅威インテリジェンスゲートウェイTIG170のオペレータ/管理者によって提供される要件を含む複数の要因に基づいて判定できる。セキュリティポリシー作成および管理サーバSPMS141は、生成されたルールの各々を収集してセキュリティポリシーを生成し得、脅威インテリジェンスゲートウェイTIG170を含む複数のセキュリティデバイスにセキュリティポリシーを配布し得る。ステップ2-3において、セキュリティポリシー作成および管理サーバSPMS141は、セキュリティポリシー内の各パケットフィルタリングルールを特徴付けるIPアドレス、ドメイン名、URI、証明書IDなどを含む脅威インジケータのすべてを収集することにより、セキュリティポリシーに関連付けられたブルームフィルタTUNNEL-B/Fを生成し得る。セキュリティポリシー作成および管理サーバSPMS141は、データ構造TUNNEL-B/Fにインジケータを挿入し得、これは、セキュリティポリシー内のいずれかのルールがテスト対象のパケット要素と一致するかどうかを判定するためにテストされ得る。
【0046】
ステップ2-4において、SPMSが、セキュリティポリシーおよびデータ構造TUNNEL-B/Fのうちの少なくとも1つを複数のネットワークセキュリティデバイスに公開し得る。セキュリティポリシー作成および管理サーバSPMS141は、セキュリティポリシーおよびデータ構造TUNNEL-B/Fのうちの少なくとも1つを、脅威インテリジェンスゲートウェイTIG170および企業ネットワークに関連する複数のモバイルデバイスを含み得る複数のネットワーク加入者に送信し得る。脅威インテリジェンスゲートウェイTIG170は、セキュリティポリシーをダウンロードし得、セキュリティポリシーを使用してパケットフィルタリング論理を構成し得る。ステップ2-5において、モバイルデバイスMBDV101上のモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPが、データ構造TUNNEL-B/Fをダウンロードし得、デー
タ構造TUNNEL-B/Fを使用してトンネリング論理を構成し得る。モバイルデバイスMBDV102がモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをインストールしていない場合、それは、データ構造TUNNEL-B/Fをダウンロードせず、セキュリティポリシーによって保護されない。ポリシーおよびデータ構造TUNNEL-B/Fも更新され得、セキュリティポリシーおよびデータ構造TUNNEL-B/Fの更新が生成および配布され得る。このような更新に基づいて、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、企業ネットワークにトンネリングされることなく、以前は目的の宛先に進むことが許可されていたフィルタリングのために、パケットをトンネリングし得る。
【0047】
図3は、図1に示すモバイルデバイスおよび関連する企業ネットワークの保護システムについて、モバイルデバイスおよび関連する企業ネットワークにおけるパケットフィルタリングの動作概念のフローチャートを示す。フローチャート/動作概念は、すべてのデバイスおよびホストがすでに動作のために構成されていることを前提としている。特に、モバイルデバイスMBDV101は、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをすでにダウンロード、インストール、および構成しており、TGW163とのトンネルを確立している可能性がある。逆に、モバイルデバイスMBDV102は、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPで構成されていない。
【0048】
ステップ3-1において、MBDV101またはMBDV102のいずれかであり得るモバイルデバイスMBDVを所有および/または動作させ得るユーザが、電子メールアプリケーションを介して電子メールをチェックし得、ウェブサーバWSVR151上のリソースにリンクする埋め込みURLをクリックし得る。モバイルデバイスMBDV101または102は、DNS(図3に図示せず)を照会することによって、URLの当局のホスト名、または完全修飾ドメイン名(FQDN)を、ウェブサーバWSVR151のIPアドレス、例えば12.34.56.78へと解決し得る。モバイルデバイスMBDVは、宛先ポート80でTCP SYNパケットを作成することにより、ポート80(HTTP)上でウェブサーバWSVR151とのTCP接続を開始しようとし、TCPパケットをIPパケットにカプセル化し得、このIPパケットは、12.34.56.78に設定された宛先IPアドレスフィールドで設定され、対応するMBDVのソースIPアドレスで設定され得る。
【0049】
ステップ3-2において、パケットが(無線アクセスネットワークRNET120に)転送され得る前に、MBDV101のモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPが、データ構造TUNNEL-B/Fの脅威インジケータに関連する各パケット要素を判定し得る。例えば、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、宛先IPアドレスフィールドからIPアドレス(例えば12.34.56.78)を抽出し得、12.34.56.78がデータ構造TUNNEL-B/Fのメンバーであるかどうかをテストし得る。メンバーシップテストは、脅威インテリジェンスゲートウェイTIG170上のセキュリティポリシーに一致するパケットフィルタリングルールがないと判定したことに基づいて、FALSEを返す。モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、テストされたパケットデータ(例えばウェブサーバWSVR151のIPアドレス12.34.56.78)に関連する脅威リスクがないと判定し得る。モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、フィルタリングするパケットをトンネリングする必要がないと判定し得る。モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、パケットを、TGW163、脅威インテリジェンスゲートウェイTIG170、および/またはセキュリティスタックSSTK175に転送しない場合がある。
【0050】
ステップ3-3において、フィルタリングされるパケットをトンネリングする必要がないという判定に基づいて、モバイルデバイスMBDV101が、無線アクセスネットワークRNET120を介して、パケットをウェブサーバWSVR151のほうに直接転送し得る。同様に、任意のトンネリング判定/決定論理を実行せずに、MBDV102は、無線アクセスネットワークRNET120を介して、パケットをウェブサーバWSVR151のほうに直接転送し得る。パケット転送は、TCPハンドシェイクを開始し、その後、12.34.56.78のポート80上でTCP接続の確立を引き起こし得る。モバイルデバイスMBDVは、URLに対してHTTP GET要求メソッドを発行し得る。ウェブサーバWSVR151は、要求されたリソースで応答し、ウェブセッションは終了し、TCP接続は切断され得る。このような通信セッション中に、MBDV101の場合、すべてのインバウンドおよびアウトバウンドパケットのIPアドレスフィールド、ドメイン名フィールド、URIフィールドなどの関連するパケットフィールド値が、データ構造TUNNEL-B/F内のメンバーシップについてテストされ得る。通信フロー内の各パケットが、安全な宛先に関連付けられている場合、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、データ構造TUNNEL-B/Fのテストが常にFALSEを返すため、セッションを含むパケットのいずれもトンネリングされないので、フィルタリングするパケットをトンネリングする必要がないと判定し得る。
【0051】
ステップ3-1において、モバイルデバイスMBDV101を所有および/または動作できるユーザは、スピアフィッシング電子メールを読み、マルウェアサーバMALSVR152上のリソースにリンクする埋め込みURLをクリックするように騙され得、MALSVR152は、企業システムサーバESVR162上の企業ウェブアプリケーションのログインページを偽装するウェブページを含み得る。モバイルデバイスMBDV101は、DNS(図3に図示せず)を照会することによって、URLの当局のホスト名、または完全修飾ドメイン名(FQDN)を、マルウェアサーバMALSVR152のIPアドレス、例えば87.65.43.21へと解決し得る。モバイルデバイスMBDV101は、宛先ポート80でTCP SYNパケットを作成することにより、ポート80(HTTP)上でマルウェアサーバMALSVR152とのTCP接続を開始しようとし、87.65.43.21に設定された宛先IPアドレスフィールドを有するIPパケットにTCPパケットをカプセル化し得る。ステップ3-2において、パケットがデバイスMBDV101によって無線アクセスネットワークRNET120に転送される前に、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、パケット要素(例えば宛先IPアドレスフィールドからのIPアドレス87.65.43.21)を抽出し得、いずれかのパケット要素がデータ構造TUNNEL-B/Fのメンバーであるかどうかを判定するためにテストし得る。
【0052】
メンバーシップテストは、データ構造TUNNEL-B/Fに関連付けられたセキュリティポリシー内に一致するパケットフィルタリングルールがあるというTRUE値または他のインジケーションを返し得る。モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、データ構造TUNNEL-B/Fに関連付けられたセキュリティポリシー内に一致するパケットフィルタリングルールがあるというTRUE値または他のインジケーションに基づいて、パケットが、関連する企業脅威インテリジェンスゲートウェイTIG170によってフィルタリングされる必要があり、パケット要素(例えばマルウェアサーバMALSVR152のIPアドレス87.65.43.21)に関連する何らかの脅威リスクがあると判定し得る。ステップ3-4において、モバイルデバイスMBDV101が、データ構造TUNNEL-B/Fに関連付けられたセキュリティポリシー内に一致するパケットフィルタリングルールがあるというTRUE値または他のインジケーションに基づいて、ネットワークトンネル内でパケットをTGW163に送信し得る。ステップ3-5において、パケットが、トンネルの企業ネットワーク側において受信
され、プライベート企業ネットワークENET160を介してインターネットアクセスリンクのほうに転送され、脅威インテリジェンスゲートウェイTIG170によってパケットフィルタリングのために受信され得る。ステップ3-6において、脅威インテリジェンスゲートウェイTIG170が、セキュリティポリシーをパケットに適用し得、パケット要素(IPアドレス87.65.43.21など)に一致するルールを判定し得る。判定されたルールに関連付けられたネットワーク保護アクション/PTFは、パケットが、ブロック/ドロップ、ログ記録、および/またはキャプチャされることのうちの少なくとも1つであり得ることを指定し得る。
【0053】
代替的に、データ構造TUNNEL-B/Fのテストからの一致の判定に基づいて任意のパケットを送信する前に、システムは、ネットワークトラフィックの量を減らすために、二次データ構造をテストし得る。例えば、システムは、ブロックアクションまたはPTFに関連付けられているポリシーの各ルールを表し得るブロックルールデータ構造をテストし得る。ブロックルールデータ構造に関連付けられたセキュリティポリシー内に一致するパケットフィルタリングルールがあるというTRUE値または他のインジケーションに基づいて、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、ブロックルールアクションを実行して、ブロックルールに関連付けられたパケットが、トンネルを介して企業ネットワーク内のパケットフィルタリングデバイスにそのようなパケットを送信する必要なしに、目的の宛先に進むのを防止する。ブロックルールのデータ構造はまた、ブルームフィルタであってもよく、ブロックルールのデータ構造は、施行されているポリシーのルールのすべてに関連付けられたデータ構造TUNNEL-B/Fよりも小さいデータ構造であってもよい。
【0054】
ステップ3-7において、脅威インテリジェンスゲートウェイTIG170が、ログをセキュリティオペレーションセンターSOC140または他のネットワークデバイスに送信し得る。ログは、SIEMアプリケーションを使用するサイバーアナリストなどのセキュリティオペレーションセンターSOC140によって分析され得る。脅威インジケータ(例えばIPアドレス87.65.43.21)のCTIを提供したCTIPによるマルウェアサーバMALSVR152に関連する脅威リスクの判定に基づいて、システムは、修正指示アクションをとり得る。例えば、脅威分析デバイスは、モバイルデバイスMBDV101のユーザにインシデントを報告し得るか、またはスピアフィッシング電子メール攻撃とその回避方法について考察したサイバーセキュリティトレーニングビデオの視聴をユーザに推奨し得る。同様に、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、脅威イベントのログを生成し、そのログをセキュリティオペレーションセンターSOC140、または他のネットワークセキュリティアプリケーションもしくはデバイスに送信し得る。モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPは、ブロックルールの確率的データ構造に関連付けられたセキュリティポリシー内に一致するパケットフィルタリングルールがあるというインジケーションに基づいて、脅威イベントのログを選択的に生成し得る。
【0055】
図4は、図1に示すモバイルデバイスおよび関連する企業ネットワークの保護システムについて、モバイルデバイスおよび関連する企業ネットワークにおけるパケットフィルタリングの動作概念のフローチャートを示す。フローチャート/動作概念は、すべてのデバイスおよびホストがすでに動作のために構成されていることを前提としている。特に、図4に関して、モバイルデバイスMBDVは、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPをダウンロード、インストール、または構成していない。
【0056】
ステップ4-1において、モバイルデバイスセキュリティアプリケーションMBL-CYBER-APPで構成されていないモバイルデバイスMBDV102を所有または動作
できるユーザが、上で考察したようにスピアフィッシング電子メールにアクセスし得る。しかしながら、モバイルデバイスMBDV102はモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPで構成されていないため、モバイルデバイス上には、パケット要素を抽出し、いずれかのパケット要素がデータ構造TUNNEL-B/Fのメンバーであるかどうかをテストする論理がない。代わりに、モバイルデバイスMBDV102を所有または動作させ得るユーザが、企業システムサーバESVR162上の企業ウェブアプリケーションのログインページを偽装するウェブページであり得るマルウェアサーバMALSVR152上のリソースにリンクする埋め込みURLをクリックするように騙された場合、モバイルデバイスは、マルウェアサーバMALSVR152との接続の確立を開始し得る。モバイルデバイスMBDV102は、DNS(図4に図示せず)を照会することによって、URLの当局のホスト名または完全修飾ドメイン名(FQDN)を、マルウェアサーバMALSVR152のIPアドレス(例えばIPアドレス87.65.43.21)へと解決し得る。モバイルデバイスMBDV102は、宛先ポート80でTCP SYNパケットを作成することにより、ポート80(HTTP)上でマルウェアサーバMALSVR152とのTCP接続を開始しようとし、判定された宛先IPアドレスフィールド(例えばIPアドレス87.65.43.21)を持つIPパケットにTCPパケットをカプセル化し得る。モバイルデバイスMBDV102を保護するモバイルデバイスセキュリティアプリケーションMBL-CYBER-APPがないため、マルウェアサーバMALSVR152とのTCP接続は確立され得、モバイルデバイスMBDV102は、URLに対してHTTP GET要求メソッドを発行し得る。
【0057】
ステップ4-2において、マルウェアサーバMALSVR152が、要求されたリソースで応答し、このリソースは、企業システムサーバESVR162上の企業ウェブアプリケーションのログインページを偽装するウェブページ/フォームであり得る。ユーザは、ログインクレデンシャルを入力し得、フォームをマルウェアサーバMALSVR152にポストし得る。ユーザがログインクレデンシャルを入力すると、MALSVR152は、ログインクレデンシャルをログ記録して盗み得る。ステップ4-3において、マルウェアサーバMALSVR152を動作させ得る悪意のあるアクターが、盗んだクレデンシャルを使用して企業システムサーバESVR162にログインし、企業の機密データを盗む、または改ざんし得る。
【0058】
本明細書で説明される機能およびステップは、本明細書で説明される1つまたはそれ以上の機能を実行するために1つまたはそれ以上のコンピュータまたは他のデバイスによって実行される、1つまたはそれ以上のプログラムモジュールなどの中のコンピュータ使用可能データまたはコンピュータ実行可能命令において具体化できる。一般に、プログラムモジュールは、コンピュータまたは他のデータ処理デバイス内の1つまたはそれ以上のプロセッサによって実行されると、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッドステートメモリ、RAMなどのコンピュータ可読媒体に記憶され得る。理解されるように、プログラムモジュールの機能は、所望に応じて組み合わせられ得るか、または分散され得る。さらに、機能は、集積回路、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などのファームウェア等価物またはハードウェア等価物において、全体的にまたは部分的に具体化できる。特定のデータ構造を使用して、本開示の1つまたはそれ以上の態様をより効果的に実装し得、このようなデータ構造は、本明細書で説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲に収まると企図される。
【0059】
必須ではないが、当業者は、本明細書で説明される様々な態様が、方法、システム、装置、またはコンピュータ実行可能命令を記憶する1つまたはそれ以上のコンピュータ可読
媒体として具体化できることを理解するであろう。したがって、態様は、完全にハードウェア実施の形態、完全にソフトウェア実施の形態、完全にファームウェア実施の形態、またはソフトウェア態様、ハードウェア態様、およびファームウェア態様を任意の組み合わせで組み合わせた実施の形態の形態をとることができる。
【0060】
本明細書で説明されるように、様々な方法および行為は、1つまたはそれ以上のコンピューティングデバイスおよびネットワークにわたって動作し得る。機能は、任意の方式で分散できるか、または単一のコンピューティングデバイス(例えば、サーバ、クライアントコンピュータなど)内に配置できる。
【0061】
コンピュータソフトウェア、ハードウェア、およびネットワークは、とりわけ、スタンドアロン環境、ネットワーク化環境、リモートアクセス(別名、リモートデスクトップ)環境、仮想化環境、および/またはクラウドベース環境を含む、様々な異なるシステム環境において利用できる。図5は、スタンドアロンおよび/またはネットワーク化環境において、本明細書で説明される1つまたはそれ以上の例示的な態様を実装するために使用され得るシステムアーキテクチャおよびデータ処理デバイスの一例を示す。様々なネットワークノード503、505、507、および509は、インターネットなどのワイドエリアネットワーク(WAN)501を介して相互接続され得る。プライベートイントラネット、コーポレートネットワーク、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、無線ネットワーク、パーソナルネットワーク(PAN)、ソフトウェア定義ネットワーク(SDN)などを含む、他のネットワークもまた、または代替的に、使用され得る。ネットワーク501は例示目的であり、より少ないまたは追加のコンピュータネットワークに置き換えることができる。ローカルエリアネットワーク533は、任意の既知のLANトポロジのうちの1つまたはそれ以上を有し得、イーサネットなど、様々な異なるプロトコルのうちの1つまたはそれ以上を使用し得る。デバイス503、505、507、および509、ならびに他のデバイス(図示せず)は、ネットワークのうちの1つまたはそれ以上に、ツイストペアワイヤ、同軸ケーブル、光ファイバ、電波、または他の通信媒体を介して接続され得る。
【0062】
本明細書において使用され、図面に表示される「ネットワーク」という用語は、リモート記憶デバイスが互いに1つまたはそれ以上の通信経路を介して連結されるシステムを指すだけでなく、記憶機能を有するこのようなシステムに適宜連結され得るスタンドアロンデバイスを指している。したがって、「ネットワーク」という用語は、「物理ネットワーク」だけでなく、すべての物理ネットワークにわたって存在するシングルエンティティに帰属するデータから構成される「コンテンツネットワーク」をも含む。
【0063】
コンポーネントは、データサーバ503、ウェブサーバ505、およびクライアントコンピュータ507、509を含み得る。データサーバ503は、データベースおよび制御ソフトウェアの全体的なアクセス、制御、および管理を提供して、本明細書で説明される1つまたはそれ以上の例示的な態様を実行する。データサーバ503は、ウェブサーバ505に接続され得、ユーザは、要求に応じてデータとのインタラクションを行って、データを取得する。代替的に、データサーバ503は、ウェブサーバ自体として機能し、インターネットに直接接続されてもよい。データサーバ503は、ローカルエリアネットワーク533、ワイドエリアネットワーク501(例えば、インターネット)を介して、直接または間接接続により、または何らかの他のネットワークにより、ウェブサーバ505に接続され得る。ユーザは、リモートコンピュータ507、509を使用して、例えば、ウェブブラウザを使用して、データサーバ503とのインタラクションを行って、ウェブサーバ505によりホストされる1つまたはそれ以上の外部公開ウェブサイトを介してデータサーバ503に接続し得る。クライアントコンピュータ507、509は、データサーバ503に記憶されているデータにアクセスするためにデータサーバ503と連携して使
用され得るか、または他の目的に使用され得る。例えば、クライアントデバイス507から、ユーザは、この技術分野で知られているインターネットブラウザを使用して、あるいは(インターネットなどの)コンピュータネットワークを介してウェブサーバ505および/またはデータサーバ503と通信するソフトウェアアプリケーションを実行することによって、ウェブサーバ505にアクセスし得る。
【0064】
サーバおよびアプリケーションは、同じ物理マシンで組み合わされ得、かつ個別の仮想アドレスまたは論理アドレスを保持し得るか、または個別の物理マシンに常駐し得る。図5は、使用され得るネットワークアーキテクチャのほんの一例を示しているに過ぎず、当業者であれば、本明細書でさらに説明されるように、使用される特定のネットワークアーキテクチャおよびデータ処理デバイスは、変更することができ、それらが提供する機能に対して二次的なものであることを理解するであろう。例えば、ウェブサーバ505およびデータサーバ503により提供されるサービスは、シングルサーバ上で組み合わせることができる。
【0065】
各コンポーネント503、505、507、509は、任意のタイプの既知のコンピュータ、サーバ、またはデータ処理デバイスとすることができる。例えば、データサーバ503は、データサーバ503の全体的な動作を制御するプロセッサ55を含み得る。データサーバ503は、ランダムアクセスメモリ(RAM)513、読み取り専用メモリ(ROM)515、ネットワークインターフェース517、入力/出力インターフェース519(例えば、キーボード、マウス、ディスプレイ、プリンタなど)、およびメモリ521をさらに含み得る。入力/出力(I/O)519は、データまたはファイルを読み取る、書き込む、表示する、および/または印刷するための様々なインターフェースユニットおよびドライブを含み得る。メモリ521は、データ処理デバイス503の全体的な動作を制御するオペレーティングシステムソフトウェア523、データサーバ503に指示して本明細書で説明される態様を実施させる制御論理525、ならびに本明細書で説明される態様と連携して使用されないかまたは使用されない可能性がある二次的機能、サポート機能、および/または他の機能を提供する他のアプリケーションソフトウェア527をさらに記憶し得る。制御論理は、本明細書では、データサーバソフトウェア525と称する場合もある。データサーバソフトウェアの機能は、制御論理にコード化されたルールに基づいて自動的に行われる動作もしくは決定、ユーザがシステムへの入力を行うことにより手動で行われる動作もしくは決定、および/またはユーザ入力(例えば、クエリ、データ更新など)に基づいた自動処理の組み合わせを指すことができる。
【0066】
メモリ521は、第1のデータベース529および第2のデータベース531を含む、本明細書で説明される1つまたはそれ以上の態様を実行するために使用されるデータを記憶することもできる。いくつかの実施の形態では、第1のデータベースは、第2のデータベースを含み得る(例えば、個別のテーブル、レポートなどとして)。つまり、情報は、システム設計に応じて、シングルデータベースに記憶することができるか、または異なる論理データベース、仮想データベース、もしくは物理データベースに分離することができる。デバイス505、507、および509は、デバイス503に関して説明されるのと同様の、または異なるアーキテクチャを有し得る。当業者であれば、本明細書で説明されるデータ処理デバイス503(またはデバイス505、507、または509)の機能は、例えば、複数のデータ処理デバイスにわたって拡散させて、処理負荷を複数のコンピュータにわたって分散させ、地理的位置、ユーザアクセスレベル、サービス品質(QoS)などに基づいてトランザクションは分離され得ることを理解するであろう。
【0067】
1つまたはそれ以上の態様は、本明細書で説明される1つまたはそれ以上のコンピュータまたは他のデバイスによって実行される、1つまたはそれ以上のプログラムモジュールなどの中のコンピュータ使用可能もしくは読み取り可能データおよび/またはコンピュー
タ実行可能命令において具体化され得る。一般に、プログラムモジュールは、コンピュータまたは他のデバイス内のプロセッサにより実行されると、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。モジュールは、実行するために後でコンパイルされるソースコードプログラム言語で記述することができるか、またはHyperText Markup Language(ハイパーテキストマークアップ言語:HTML)またはExtensible Markup Language(拡張マークアップ言語:XML)のような(これらには限定されない)スクリプト言語で記述することができる。コンピュータ実行可能命令は、不揮発性記憶デバイスのようなコンピュータ可読媒体に記憶することができる。ハードディスク、CD-ROM、光学記憶デバイス、磁気記憶デバイス、および/またはこれらの任意の組み合わせを含む任意の好適なコンピュータ可読記憶媒体を利用することができる。また、本明細書において説明されるデータまたはイベントを表す様々な伝送(非記憶)媒体は、発信元と宛先との間で、金属ワイヤ、光ファイバ、および/または無線伝送媒体(例えば、空気および/または空間)のような信号伝送媒体内を移動する電磁波の形態で転送することができる。本明細書において説明される様々な態様は、方法、データ処理システム、またはコンピュータプログラム製品として具体化することができる。したがって、様々な機能は、集積回路、フィールドプログラマブルゲートアレイ(FPGA)などのソフトウェア、ファームウェア、および/またはハードウェアもしくはハードウェア等価物において、全体的もしくは部分的に具体化することができる。特定のデータ構造を使用して、本明細書で説明される1つまたはそれ以上の態様をより効果的に実装することができ、このようなデータ構造は、本明細書で説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲に収まると企図される。
【0068】
図6をさらに参照すると、本明細書で説明される1つまたはそれ以上の態様を、リモートアクセス環境内で実装することができる。図6は、本明細書で説明される1つまたはそれ以上の例示的な態様に従って使用できる例示的なコンピューティング環境520内にコンピューティングデバイス501を含む例示的なシステムアーキテクチャを示している。コンピューティングデバイス501は、クライアントアクセスデバイスに仮想マシンを提供するように構成されたシングルサーバデスクトップ仮想化システムまたはマルチサーバデスクトップ仮想化システム(例えば、リモートアクセスシステムまたはクラウドシステム)内のサーバ606aとして使用することができる。コンピューティングデバイス501は、サーバと、RAM605、ROM607、入力/出力(I/O)モジュール609、およびメモリ615を含むサーバに関連するコンポーネントとの全体的な動作を制御するプロセッサ603を有することができる。
【0069】
I/Oモジュール609は、コンピューティングデバイス101のユーザが入力を行うことができるマウス、キーパッド、タッチスクリーン、スキャナ、光学式読み取り装置、および/またはスタイラス(あるいは他の入力デバイス)を含み得、オーディオ出力を提供するスピーカのうちの1つまたはそれ以上と、テキスト出力、オーディオビジュアル出力、および/またはグラフィカル出力を提供するビデオ表示デバイスのうちの1つまたはそれ以上と、をさらに含み得る。ソフトウェアは、メモリ615および/または他のストレージ内に記憶して、本明細書で説明される様々な機能を実行するためにコンピューティングデバイス501を専用コンピューティングデバイスに構成する命令をプロセッサ603に提供することができる。例えば、メモリ615は、オペレーティングシステム617、アプリケーションプログラム619、および関連するデータベース621など、コンピューティングデバイス501により使用されるソフトウェアを記憶することができる。
【0070】
コンピューティングデバイス501は、端末640(クライアントデバイスとも称される)などの1つまたはそれ以上のリモートコンピュータへの接続をサポートするネットワーク化環境内で動作することができる。端末640は、コンピューティングデバイス50
3または501に関して上記で説明された要素のうちの多くまたはすべてを含むパーソナルコンピュータ、モバイルデバイス、ラップトップコンピュータ、タブレット、またはサーバとすることができる。図6に示すネットワーク接続は、ローカルエリアネットワーク(LAN)625およびワイドエリアネットワーク(WAN)629を含むが、他のネットワークを含むこともできる。LANネットワーキング環境内で使用されるとき、コンピューティングデバイス501は、ネットワークインターフェースまたはアダプタ623を介してLAN625に接続することができる。WANネットワーキング環境内で使用されるとき、コンピューティングデバイス501は、コンピュータネットワーク630(例えば、インターネット)などのWAN629を介して通信を確立するモデム627または他のワイドエリアネットワークインターフェースを含み得る。図示のネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることを理解されるだろう。コンピューティングデバイス501および/または端末640は、バッテリ、スピーカ、およびアンテナ(図示せず)などの様々な他のコンポーネントを含むモバイル端末(例えば、携帯電話、スマートフォン、携帯情報端末(PDA)、ノートブックなど)とすることもできる。
【0071】
本明細書で説明される態様は、多数の他の汎用または専用コンピューティングシステム環境または構成で動作することもできる。本明細書において説明される態様に使用されるために好適とすることができる他のコンピューティングシステム、環境、および/または構成の例は、これらには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークパーソナルコンピュータ(PC)、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などを含む。
【0072】
図6に示すように、1つまたはそれ以上のクライアントデバイス640は、1つまたはそれ以上のサーバ606a~606n(本明細書では、「サーバ606」と総称される)と通信することができる。一実施の形態では、コンピューティング環境520は、サーバ606とクライアントマシン640との間に設置されたネットワークアプライアンスを含み得る。ネットワークアプライアンスは、クライアント/サーバ接続を管理することができ、いくつかの場合では、クライアント接続の負荷を複数のバックエンドサーバ606の間でバランスさせることができる。
【0073】
クライアントマシン640は、いくつかの実施の形態では、シングルクライアントマシン640またはシングルクライアントマシングループ640と称することができるのに対し、サーバ606は、シングルサーバ606またはシングルサーバグループ606と称することができる。一実施の形態では、シングルクライアントマシン640が、1つよりも多くのサーバ606と通信するのに対し、別の実施の形態では、シングルサーバ606は、1つよりも多くのクライアントマシン640と通信する。さらに別の実施の形態では、シングルクライアントマシン640は、シングルサーバ606と通信する。
【0074】
クライアントマシン640は、いくつかの実施の形態では、以下の非網羅的な用語:クライアントマシン、クライアント、クライアントコンピュータ、クライアントデバイス、クライアントコンピューティングデバイス、ローカルマシン、リモートマシン、クライアントノード、エンドポイント、またはエンドポイントノード、のうちのいずれか1つで言及される可能性がある。サーバ606は、いくつかの実施の形態では、以下の非網羅的な用語:サーバ、ローカルマシン、リモートマシン、サーバファーム、またはホストコンピューティングデバイスのうちのいずれか1つで言及され得る。いくつかの実施の形態では、クライアントマシン640は、仮想マシンとすることができる。いくつかの態様では、
仮想マシンは、ハイパーバイザによって管理することができるのに対し、他の態様では、仮想マシンは、サーバ606上で実行されるハイパーバイザ、またはクライアント640上で実行されるハイパーバイザによって管理することができる。仮想マシンは、コンテナマネージャによって、例えばDockerおよびLinux(登録商標) Containers(LXC)によって管理されるコンテナシステムである場合もある。仮想マシンはまた、ハイパーバイザで管理された仮想マシンとコンテナとの組み合わせでもかまわない。
【0075】
いくつかの実施の形態は、サーバ606または他のリモートに位置するマシン上でリモートに実行されるアプリケーションにより生成されたアプリケーション出力を表示するクライアントデバイス640を含み得る。これらの実施の形態では、クライアントデバイス640は、仮想マシンレシーバプログラムまたはアプリケーションを実行して、アプリケーションウィンドウ、ブラウザ、または他の出力ウィンドウ内に出力を表示することができる。1つの例では、アプリケーションがデスクトップであるのに対し、他の例では、アプリケーションはデスクトップを生成または表示するアプリケーションである。デスクトップは、オペレーティングシステムのインスタンスのユーザインターフェースを提供するグラフィカルシェルを含み得、そのインスタンスに、ローカルアプリケーションおよび/またはリモートアプリケーションを統合することができる。本明細書において使用されるアプリケーションは、オペレーティングシステム(および、任意選択的に、さらにはデスクトップ)のインスタンスを読み込んだ後に実行されるプログラムである。サーバ606は、いくつかの実施の形態では、リモートプレゼンテーションプロトコルまたは他のプログラムを使用して、クライアント上で実行されるシンクライアントアプリケーションまたはリモートディスプレイアプリケーションにデータを送信して、サーバ606上で実行されるアプリケーションにより生成されたディスプレイ出力を提示し得る。シンクライアントプロトコルまたはリモートディスプレイプロトコルは、フロリダ州Ft.LauderdaleのCitrix Systems,Inc.により開発されたIndependent Computing Architecture(ICA)プロトコル、またはワシントン州RedmondのMicrosoft Corporationにより開発されたRemote Desktop Protocol(RDP)などのプロトコルとすることができる。
【0076】
リモートコンピューティング環境は、1つよりも多くのサーバ606a~606nを含み得、そのため、サーバ606a~606nは、例えば、クラウドコンピューティング環境において、サーバファーム606に論理的にまとめてグループ化され得る。サーバファーム606は、論理的にまとめてグループ化されている状態で地理的に分散されたサーバ606、または論理的にまとめてグループ化されている状態で互いに近接して配置されたサーバ606を含み得る。サーバファーム606内の地理的に分散されたサーバ606a~606nは、いくつかの実施の形態では、WAN(ワイド)、MAN(メトロポリタン)、またはLAN(ローカル)を使用して通信することができ、異なる地理的地域は、異なる大陸、大陸の異なる地域、異なる国、異なる州、異なる都市、異なるキャンパス、異なる部屋、または前述の地理的な場所の任意の組み合わせとして特徴付けることができる。いくつかの実施の形態では、サーバファーム606は、シングルエンティティとして管理され得るのに対し、他の実施の形態では、サーバファーム606は、複数のサーバファームを含むことができる。
【0077】
いくつかの実施の形態では、サーバファームは、実質的に同様のタイプのオペレーティングシステムプラットフォーム(例えば、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、iOS、ANDROID(登録商標)、SYMBIANなど)を実行するサーバ606を含み得る。他の実施の形態では、サーバファーム606は、第1のタイプのオペレーティングシステムプラットフォームを実行する第1のグル
ープの1つまたはそれ以上のサーバと、第2のタイプのオペレーティングシステムプラットフォームを実行する第2のグループの1つまたはそれ以上のサーバと、を含み得る。
【0078】
サーバ606は、必要に応じて任意のタイプのサーバとして、例えば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワークアプライアンス、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、展開サーバ、Secure Sockets Layer(SSL)VPNサーバ、ファイアウォール、ウェブサーバ、アプリケーションサーバとして、あるいはマスターアプリケーションサーバ、アクティブディレクトリを実行するサーバ、またはファイアウォール機能、アプリケーション機能、またはロードバランス機能を実現するアプリケーションアクセラレーションプログラムを実行するサーバとして構成され得る。他のサーバタイプを使用してもよい。
【0079】
いくつかの実施の形態は第1のサーバ606aを含み、第1のサーバ606aは、クライアントマシン640から要求を受信し、要求を第2のサーバ606b(図示せず)に転送し、クライアントマシン640により生成された要求に第2のサーバ606b(図示せず)からの応答で応答する。第1のサーバ606aは、クライアントマシン640に利用可能な列挙されたアプリケーション、ならびに列挙されたアプリケーション内で識別されるアプリケーションをホストするアプリケーションサーバ606に関連するアドレス情報を取得し得る。次に、第1のサーバ606aは、クライアントの要求に対する応答を、ウェブインターフェースを使用して提示し、クライアント640と直接通信して、識別されたアプリケーションへのアクセスをクライアント640に提供し得る。1つまたはそれ以上のクライアント640および/または1つまたはそれ以上のサーバ606は、ネットワーク630、例えばネットワーク501を介してデータを送信し得る。
【0080】
本開示の態様が、その例示的な実施の形態に関して説明されてきた。添付の特許請求項の範囲および趣旨に収まる多数の他の実施の形態、変形、および変更は当業者であれば、本開示を検討することにより想到するであろう。例えば、当業者は、例示的な図に示されたステップが、列挙された順序以外の順序で実行され得、示された1つまたはそれ以上のステップは、任意選択的であり得ることを理解するであろう。以下の特許請求項の範囲における任意のおよびすべての特徴は、可能な限り任意の方法で組み合わせる、または再配置することができる。
図1
図2
図3
図4
図5
図6