(58)【調査した分野】(Int.Cl.,DB名)
命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、ネットワークレギュレータの少なくとも1つのハードウェアプロセッサによって実行されるとき、前記ネットワークレギュレータに、
セキュリティ設定のセットをリモートの構成サーバから受け取ることに応答して、前記ネットワークレギュレータを前記セキュリティ設定に従って構成するステップであって、前記ネットワークレギュレータを前記セキュリティ設定に従って構成することは、前記ネットワークレギュレータに複数のクライアントシステムをコンピュータセキュリティの脅威から保護させ、前記複数のクライアントシステムは、ローカルネットワークに接続され、ルータは、前記複数のクライアントシステムにネットワークアドレスを割り当てるネットワークサービスを提供する、ステップと、
前記ルータに前記ローカルネットワークを介して接続することに応答して、前記ネットワークレギュレータを前記構成サーバに接続するトンネルをセットアップするステップであって、前記トンネルをセットアップすることは、前記ルータに前記トンネルを介して前記構成サーバから受け取られた通信をリダイレクトするように前記ネットワークレギュレータを構成することを含み、前記通信は、前記ネットワークサービスの中断を引き起こすように構成された、ステップと、
前記中断に応答して、前記ネットワークサービスを前記ルータから引き継ぐステップと
を行わせる、非一時的コンピュータ可読媒体。
【発明を実施するための形態】
【0011】
[0033]以下の説明では、全ての説明された構造間の接続は、直接的に動作する接続でも、または中間の構造を通じて間接的に動作する接続でもよいということが理解される。要素のセットは、1つまたは複数の要素を含む。1つの要素についての任意の説明は、少なくとも1つの要素を示すと理解される。複数の要素は、少なくとも2つの要素を含む。別段の要求がない限り、任意の説明された方法のステップは、必ずしも特定の図示の順番で実施される必要はない。第2の要素から導出された第1の要素(例えば、データ)は、第2の要素と同等の第1の要素、ならびに第2の要素および必要に応じて他のデータを処理することによって生成された第1の要素を包含する。パラメータに従って特定すること、または決定することは、パラメータに従って、および必要に応じて他のデータに従って特定すること、または決定することを包含する。別段の定めがない限り、いくつかの量/データのインジケータは、量/データそれ自体であるか、または量/データそれ自体とは異なるインジケータであってもよい。コンピュータセキュリティは、故意でない、または違法なデータおよび/もしくはハードウェアへのアクセスから、故意でない、または違法なデータおよび/もしくはハードウェアの修正から、ならびに、データおよび/もしくはハードウェアの破壊から、ユーザおよび機器を保護することを包含する。コンピュータプログラムは、タスクを行う一連のプロセッサの命令である。本発明のいくつかの実施形態で説明されたコンピュータプログラムは、他のコンピュータプログラムのスタンドアロンのソフトウェアエンティティまたはサブエンティティ(例えば、サブルーチン、ライブラリ)であってもよい。2つのデバイスは、デバイスのネットワークアドレスが同じサブネットに属すとき、および/または両方が同じブロードキャストアドレスを有するとき、同じローカルネットワークに接続されているか、または属すと述べられる。トンネルは、通信ネットワークに接続された2つのエンティティ間の仮想のポイントツーポイント接続である。コンピュータ可読媒体は、磁気、光、および半導体のストレージ媒体(例えばハードドライブ、光ディスク、フラッシュメモリ、DRAM)などの非一時的媒体、ならびに、導電性ケーブルおよび光ファイバリンクなどの通信リンクを包含する。いくつかの実施形態によれば、本発明は、とりわけ、本明細書で説明された方法を実施するためにプログラムされたハードウェア(例えば、1つまたは複数のマイクロプロセッサ)を備えるコンピュータシステム、ならびに、本明細書で説明された方法を実施するための命令を符号化するコンピュータ可読媒体を提供する。
【0012】
[0034]以下の説明は、本発明の実施形態を例として図示するが、必ずしも限定するものではない。
[0035]
図1A〜
図1Bは、本発明のいくつかの実施形態による、例示的なネットワーク構成10a〜10bを示し、複数のクライアントシステム12a〜12fは、ローカルネットワーク14によって相互接続され、さらにインターネットなどの拡張ネットワーク16に接続される。クライアントシステム12a〜12fは、プロセッサ、メモリ、および通信インターフェースを有する任意の電子デバイスを表すことができる。例示的なクライアントシステム12a〜12fはとりわけ、パーソナルコンピュータ、ラップトップ、タブレット型コンピュータ、移動体電気通信デバイス(例えば、スマートフォン)、メディアプレーヤ、TV、家庭用ゲーム機、家庭用電化製品(例えば、冷蔵庫、サーモスタット、インテリジェント暖房および/または照明システム)、ならびにウェアラブルデバイス(例えば、スマートウオッチ、スポーツおよびフィットネス機器)などを含む。ローカルネットワーク14は、ローカルエリアネットワーク(LAN:local area network)を備えることができる。例示的なローカルネットワーク14はとりわけ、ホームネットワークおよび企業ネットワークなどを含むことができる。
【0013】
[0036]ルータ19は、クライアントシステム12a〜12f間の通信、および/または拡張ネットワーク16へのクライアントシステム12a〜12fのアクセスを可能にする電子デバイスを備える。いくつかの実施形態では、ルータ19は、ローカルネットワーク14と拡張ネットワーク16との間のゲートウェイとしてふるまい、クライアントシステム12a〜12fにネットワークサービスのセットを提供する。別段の定めがない限り、ネットワークサービスという用語は、クライアントシステム12a〜12fの相互通信を可能にするサービス、ならびにクライアントシステム12a〜12fと他のエンティティとの間の通信を指すために本明細書で使用される。このようなサービスは、例えば、ネットワーク構成パラメータ(例えば、ネットワークアドレス)をクライアントシステム12a〜12fに配布すること、および参加しているエンドポイント間の通信をルーティングすることを含むことができる。例示的なネットワークサービスは、動的ホスト構成プロトコル(DHCP:dynamic host configuration protocol)を実装する。
【0014】
[0037]さらに、
図1A〜
図1Bは、ローカルネットワーク14に接続されたネットワークレギュレータ18を示す。いくつかの実施形態では、ネットワークレギュレータ18は、クライアントシステム12a〜12fに対する様々なサービスを実施するように構成されたネットワーク機器を備える。このようなサービスは、とりわけ、コンピュータセキュリティサービス(例えば、アンチマルウェア、侵入検出、アンチスパイウェア、他)、デバイス管理(例えば、クライアントシステム12a〜12fのリモート構成)、ペアレンタルコントロールサービス、セキュア通信サービス(例えば、仮想プライベートネットワーキング(VPN:virtual private networking))、およびリモート技術援助(例えば、デバイスおよび/またはネットワークのトラブルシューティング)を含む。
【0015】
[0038]本発明のいくつかの実施形態による典型的な適用例では、ネットワークレギュレータ18は、ルータ19によって既に構成され管理されているローカルネットワークに導入される。いくつかの実施形態では、インストール時に、レギュレータ18は、ルータ19からDHCPなどのネットワークサービスを引き継ぎ、クライアントシステム12a〜12fと拡張ネットワーク16との間のトラフィックの少なくとも一部が、ネットワークレギュレータ18を通過するように、ローカルネットワーク14と拡張ネットワーク16との間のゲートウェイの位置に自身をインストールする(
図1−A参照)。ゲートウェイの位置にネットワークレギュレータ18を配置することは、いくつかの実施形態では、レギュレータ18が、クライアントシステム12a〜12fからのトラフィック(例えば、HTTPリクエスト)の少なくともいくつかを、セキュリティサーバにリダイレクトすることによってコンピュータセキュリティサービスを提供するので、好ましくなる可能性がある。ゲートウェイの位置にレギュレータ18を備えることで、このようなトラフィックの傍受を容易にすることができる。
【0016】
[0039]
図1−Bの例などのいくつかの実施形態では、ルータ19は、レギュレータ18のインストール後、ローカルネットワーク14に対するゲートウェイとして稼働し続けることができるが、このような場合、ネットワークレギュレータ18は、レギュレータ18が、クライアントシステム12a〜12fと同じローカルネットワークに属するようにクライアントシステム12a〜12fと既存のゲートウェイ(すなわちルータ19)との間に位置することが好ましい。このような位置は、いくつかの実施形態では、ネットワークレギュレータ18が、それぞれのクライアントシステムのタイプ(例えば、スマートフォン対PC)を検出し、それに応じて、デバイス指定のユーティリティエージェントをクライアントシステム12a〜12fのいくつかに配信するためにリモートサーバと協働するように構成されるので好ましい。レギュレータ18が、ローカルネットワーク14のメンバではない(例えば、ルータ19と拡張ネットワーク16との間にレギュレータ18を配置する)構成は、このようなデバイスの発見およびエージェント配信をより困難にする。
【0017】
[0040]いくつかの実施形態では、クライアントシステム12a〜12fは、拡張ネットワーク16(例えば、インターネット)に接続されたアドミニストレーション・デバイス20上で実行するソフトウェアを使用して、ユーザ/アドミニストレータによってリモートで監視、管理および/または構成される。例示的なアドミニストレーション・デバイス20はとりわけ、スマートフォンおよびパーソナルコンピュータシステムを含む。デバイス20は、例えば、構成オプションを設定するため、および/または、個々のクライアントシステムで発生するイベントについて通知を受け取るために、ユーザがクライアントシステム12a〜12fの動作をリモートで構成および/または管理することができるグラフィカル・ユーザ・インターフェース(GUI)を公開することができる。
【0018】
[0041]いくつかの実施形態では、ネットワークレギュレータ18は、クライアントシステム12a〜12fに対して様々なサービスを実施するために、リモートコンピュータシステムのセットと協働することができる。例示的なリモートコンピュータシステムは、
図2に示された、セキュリティサーバ50および構成サーバ52を含む。サーバ50および52は、個別のマシン、または多重相互接続されたコンピュータシステムのクラスタを備えることができる。いくつかの実施形態では、ネットワークレギュレータ18は、クライアントシステム12a〜12fを行き来するトラフィックのいくつかまたは全てをセキュリティサーバ50にリダイレクトする。次に、サーバ50は、コンピュータセキュリティの脅威からクライアントシステム12a〜12fを保護するために脅威検出動
作(例えば、マルウェア検出、悪質なまたは不正なウェブサイトへのアクセスのブロック、侵入防止、他)を実施することができる。さらに、セキュリティサーバ50は、複数のセキュリティレコードを備えるイベントデータベース55に接続されてもよく、それぞれのセキュリティレコードは、セキュリティイベントを示すデータ、ならびに個々のイベントと保護されたクライアントシステムとの間の関連に関するインジケータを含む。
【0019】
[0042]セキュリティサーバ50を通じて、保護されたクライアントシステムを行き来するトラフィックをルーティングする1つの利点は、依然として保護の恩恵を受けながら、個々のクライアントシステムが、ローカルネットワーク14を離れることができるというものである。このような構成は、以下で完全に詳しく説明される。
【0020】
[0043]いくつかの実施形態では、構成サーバ52は、レギュレータ18、ルータ19、および/または保護されたクライアントシステム12のデバイス管理および/またはセキュリティ設定を構成するためにアドミニストレーション・デバイス20と協働する。サーバ52は、加入者データベース54に、およびデバイス特性データベース56に通信接続されてもよい。加入者データベース54は、複数の加入情報レコードを格納することができ、それぞれの加入情報レコードは、本発明のいくつかの実施形態によるデバイス管理の下でクライアントシステムのセットを示す。1つの実施形態では、それぞれの加入情報レコードは、別個のネットワークレギュレータ18と一意に関係がある。このような実施形態では、個々のネットワークレギュレータを使用して、構成され、および/または別の方法でサービスを受ける全てのクライアントシステム12(例えば、
図1−Aにおいて、ローカルネットワーク14に接続されたクライアントシステム12a〜12f)は、同じ加入情報レコードと関連がある。それぞれの加入情報レコードは、加入期間のインジケータ、および/または、例えば、所望のセキュリティレベルもしくは加入したサービスの選択項目を記載する加入情報パラメータのセットを含むことができる。加入情報は、サービスレベル契約(SLA)に従って管理されてもよい。
【0021】
[0044]いくつかの実施形態では、デバイス特性データベース56は、それぞれのクライアントシステム12の構成可能な特性、および/またはそれぞれのクライアントシステムに対する現在の構成設定を示すレコードのセットを含む。さらに、データベース56は、クライアントシステム12のデバイスタイプを特定するために使用できる包括的なレコードのセットを含むことができる。このようなレコードは、様々なオペレーティングシステム(例えば、Windows(登録商標)対Linux(登録商標))を使用する、様々な製造業者からの様々なデバイスタイプ(例えば、ルータ、スマートフォン、ウェアラブルデバイス、他)、型、およびモデルに対応するエントリを含むことができる。例示的なエントリは、とりわけ、個々のデバイスタイプが特定のネットワークプロトコル(例えば、HTTP、Bonjour(登録商標))を使用して通信するかどうかのインジケータ、個々のデバイスタイプによって公開されたログイン・インターフェースのレイアウトのインジケータ、他、を含むことができる。
【0022】
[0045]
図3、
図4、
図5は、それぞれ、クライアントシステム12、ネットワークレギュレータ18、およびアドミニストレーション・デバイス20の例示的なハードウェア構成を示す。一般性を失うことなく、図示の構成は、コンピュータシステム(
図3〜
図4)およびスマートフォン(
図5)に対応する。他のシステム(例えば、タブレット型コンピュータ)のハードウェア構成は、
図3、
図4、
図5に示されたハードウェア構成とは異なってもよい。プロセッサ22、122、および222のそれぞれは、信号および/またはデータのセットによって、計算上の、および/または論理上の動作を実行するように構成された物理デバイス(例えば、マイクロプロセッサ、半導体基板上に形成されたマルチコアの集積回路)を備える。メモリユニット24、124、および224は、動作を行う過程で、プロセッサ22、122、および222によって、それぞれ、アクセスされまたは生成されるデータ/信号を格納する揮発性コンピュータ可読媒体(例えばRAM)を備えることができる。
【0023】
[0046]入力デバイス26、226はとりわけ、コンピュータのキーボード、マウス、およびマイクロフォンを含むことができ、ユーザが個々のシステムにデータおよび/または命令を投入できる個々のハードウェアインターフェースおよび/またはアダプタを含む。出力デバイス28、228は、とりわけモニタなどのディスプレイデバイスおよびスピーカ、ならびに、グラフィックカードなどのハードウェアインターフェース/アダプタを含むことができ、個々のシステムがユーザにデータを伝達することを可能にする。いくつかの実施形態では、入力および出力デバイスは、共通な1つのハードウェア(例えば、タッチスクリーン)を共有する。ストレージデバイス32、132、および232は、ソフトウェア命令および/またはデータの不揮発性の記憶、読出し、および書込みを可能にするコンピュータ可読媒体を含む。例示的なストレージデバイスは、磁気および光ディスクならびにフラッシュメモリデバイス、同様にCDおよび/またはDVDディスクおよびドライブなどのリムーバブルメディアを含む。
【0024】
[0047]ネットワークアダプタ34、134は、クライアントシステム12およびネットワークレギュレータ18が、それぞれ、ローカルネットワーク14などの電子通信ネットワークに、および/または他のデバイス/コンピュータシステムに接続することを可能にする。通信デバイス40(
図5)は、アドミニストレーション・デバイス20が拡張ネットワーク16(例えば、インターネット)に接続することを可能にし、電気通信ハードウェア(電磁波エミッタ/受信機、アンテナ、他)を含むことができる。デバイスタイプおよび構成次第で、アドミニストレーション・デバイス20は、地理位置情報デバイス42(例えば、GPS受信機)、および検知デバイス136のセット(例えば、人感センサ、光センサ、他)をさらに含むことができる。
【0025】
[0048]コントローラのハブ30、130、230は、それぞれの個々のシステムのプロセッサと残りのハードウェアコンポーネントとの間の通信を可能にする複数のシステム、周辺機器、および/もしくはチップセットのバス、ならびに/または全ての他の回路を表す。例示的なクライアントシステム12(
図3)では、ハブ30は、メモリコントローラ、入出力(I/O)コントローラ、および割込みコントローラを備えることができる。ハードウェア製造業者次第で、このようないくつかのコントローラは、単一の集積回路に組み込まれてもよく、および/またはプロセッサと統合されてもよい。
【0026】
[0049]
図6は、本発明のいくつかの実施形態によるクライアントシステム12上で実行する例示的なソフトウェアコンポーネントを示す。このようなソフトウェアは、クライアントシステム12のハードウェアと個々のクライアントシステム上で実行するソフトウェアアプリケーションのセットとの間のインターフェースを提供するオペレーティングシステム(OS)40を含むことができる。ソフトウェアアプリケーションは、セキュリティサービス、デバイス管理サービス、ペアレンタルコントロールサービス、セキュア通信サービス(例えば、仮想プライベートネットワーク(VPN))、他などの様々なサービスを個々のクライアントシステムに提供するように構成されたユーティリティエージェント41を含む。いくつかの実施形態では、ユーティリティエージェント41は、クライアントシステム12の構成オプションのセット(例えば、ネットワーク構成パラメータ、電力管理パラメータ、セキュリティパラメータ、リモート制御のサーモスタットについては所望温度、またはリモート制御の家庭用照明管理については照明の選択項目、他などのデバイス指定のパラメータ)にアクセスするおよび/またはそれを修正するように構成される。いくつかの実施形態では、クライアントシステム12上のエージェント41のインストールは、以下にさらに詳しく示すように、ネットワークレギュレータ18によって開始され、および/または推進される。
【0027】
[0050]
図7は、本発明のいくつかの実施形態による、ネットワークレギュレータ18上で実行するソフトウェアコンポーネントのセットを示す。このようなコンポーネントは、とりわけ、デバイス検出モジュール42およびDHCPモジュール43を含むことができる。いくつかの実施形態では、モジュール43は、ローカルネットワーク14に対するDHCPサービスを提供する。このようなサービスは、ローカルネットワーク14への、および/または拡張ネットワーク16へのアクセスをリクエストするクライアントに、インターネットプロトコル(IP)の構成情報を配信することを含むことができる。デバイス検出モジュール42は、以下に示されるように、クライアントシステム12のデバイスタイプを検出するために、リモートの構成サーバと協働するように構成されてもよい。いくつかの実施形態では、レギュレータ18は、さらに、以下に詳しく示されるように、ネットワークサービスの引継ぎを実施するように構成されたネットワーク中断モジュール44を実行する。
【0028】
[0051]
図8は、本発明のいくつかの実施形態による、ルータ19上で実行する例示的なソフトウェアコンポーネントのセットを示す。このようなソフトウェアコンポーネントは、オペレーティングシステム140、およびDHCPサーバ45を含むアプリケーションのセットを含むことができる。サーバ45は、ローカルネットワーク14をセットアップするために、ネットワーク構成パラメータ(例えば、IPアドレス)をクライアントシステム12a〜12fに配布するのに使用されてもよい。
【0029】
[0052]
図9は、本発明のいくつかの実施形態による、アドミニストレーション・デバイス20(例えば、スマートフォン)上で実行する例示的なソフトウェアコンポーネントのセットを示す。このようなソフトウェアコンポーネントは、オペレーティングシステム240およびアプリケーションのセットを含むことができる。アプリケーションは、ユーザがクライアントシステム12a〜12fをリモートで構成できるように構成されたアドミニストレーション・アプリケーション46を含む。システム12a〜12fを構成することは、とりわけ、クライアント指定のセキュリティ設定を構成すること、クライアント指定のネットワークアクセスパラメータ(例えば、接続速度、他)を構成すること、および保守タスク(例えば、ソフトウェアアップグレード、ディスククリーンアップ動作、他)を起動することを含むことができる。アドミニストレーション・アプリケーション46は、アドミニストレーション・グラフィカル・ユーザ・インターフェース(GUI)48をアドミニストレーション・デバイス20のユーザに公開することができる。
【0030】
[0053]
図10は、本発明のいくつかの実施形態による、ネットワークレギュレータ18によって実行される一連のステップを示す。このような一連のステップは、例えば、ネットワークレギュレータ18のインストール時、または、レギュレータ18が、ローカルネットワーク14に最初に導入されるときに実行されてもよい。ステップ300では、レギュレータ18は、本明細書でネットワークサービスの既存のプロバイダを表すルータ19を自動的に検出する。いくつかの実施形態では、レギュレータ18は、次に、ルータ19からネットワークサービスのいくつかを引き継ぐ。このような引継ぎは、ルータ19の機能のいくつかを切断するか、または別の方法で無能力化し、ローカルネットワーク14に関連するネットワークサービスの少なくとも一部のプロバイダとしてルータ19を再配置することを含むことができる。1つの代替実施形態では、サービスの引継ぎは、ルータ19によって管理されるネットワークサービスを実際に無能力化することなく、これに加えて、代替のネットワークサービスのセットを提供することを含むことができる。いくつかの実施形態では、ステップ302は、さらに、クライアントシステム12a〜12fと拡張ネットワーク16との間のネットワークトラフィックの少なくとも一部がレギュレータ18を通過するように、ローカルネットワーク14と拡張ネットワーク16との間のゲートウェイの位置にネットワークレギュレータ18をインストールすることを含む。
【0031】
[0054]一連のステップ304〜306では、ネットワークレギュレータ18は、ローカルネットワーク14に属するデバイス(すなわち、クライアントシステム12a〜12f)を自動的に検出し、デバイス指定のユーティリティエージェント41をクライアントシステム12a〜12fのうちの少なくともいくつかに配布することができる。その後のステップ308は、クライアントシステム12a〜12fに対するコンピュータセキュリティサービスのセットを実施する。ステップ300〜308は、以下でさらに詳しく説明される。
ネットワークサービスの引継ぎ
[0055]本発明のいくつかの実施形態では、ルータ19のDHCPサービスは、ネットワークレギュレータ18によって、停止されるか、または別の方法で無能力化されてもよい。この効果は、いくつかの方法を通じて取得される可能性があり、この方法のいくつかが以下に例示される。DHCPサービスは、本明細書では単なる例として使用され、以下に説明されるシステムおよび方法は、他のネットワークサービスを引き継ぐために適応されてもよい。
【0032】
[0056]DHCPの枯渇として知られる、1つの例示的な背景では、ネットワークレギュレータ18は、複数の架空デバイスになりすますために、および、ルータ19からそれぞれの架空デバイスに対するネットワークアドレスをリクエストするためにネットワーク中断モジュール44を使用することができる。このような架空デバイスの数は、ルータ19のDHCPサーバ45によってリースのために提供される、利用可能なIPアドレスのプールを、完全に占有するように選ばれてもよい。この方法では、サーバ45は、稼働し続けるが、サーバ45は、もはやローカルネットワーク14上のクライアントシステムにIPアドレスを提供することができない。いくつかの実施形態では、ネットワークレギュレータ18は、次に、DHCPモジュール43を使用して独自のDHCPのリースの提供をブロードキャストし、事実上、クライアントシステム12a〜12fと拡張ネットワーク16との間のトラフィックの少なくとも一部に対するデフォルトDHCPサーバおよびゲートウェイデバイスとして、レギュレータ18をクライアントシステム12a〜12fに使用させる。
【0033】
[0057]別の例示的なDHCPサービスの引継ぎ方法のセットは、既存のDHCPサービスプロバイダ(例えば、ルータ19)を自動的に検出し、例えば、ネットワークおよび/または他の機能のパラメータを自動的に再構成することによって個々のデバイスをディスエーブルにすることを含む。このような1つの状況には、
図11〜
図12に示した方法で、ネットワークレギュレータ18が構成サーバ52と協働することが必要である。
【0034】
[0058]いくつかの実施形態では、ステップ320は、ルータ19を再構成する許可をユーザにリクエストし、その後受け取る。個々のユーザは、例えば、構成サーバ52(
図2参照)によって維持される加入者データベース54に載せられたような、レギュレータ18の、および/またはローカルネットワーク14の所有者またはアドミニストレータであってもよい。許可を取得することは、例えば、通知をアドミニストレーション・デバイス20に送ることを含むことができ、レギュレータ18または構成サーバ52によって行われてもよい。次に、デバイス20のアドミニストレーションGUI48は、ユーザが、彼/彼女がルータ19のパラメータの再構成を許すかどうかを示すことができる入力フィールドを公開することができる。さらに、ステップ320は、アドミニストレーション・デバイス20を介してユーザから直接、またはデータベース54に格納された加入情報レコードからルータ19に対するログイン認証情報(例えば、ユーザ名、パスワード、他)を取得することを含めることができる。
【0035】
[0059]ステップ322では、ネットワークレギュレータ18は、例えば、DHCPのリクエスト/レスポンスの交換の間に、ルータ19から受け取られたデータを分析することによって、ルータ19に関するデバイスタイプを示す情報を収集する。このようなデータは、例えば、ルータ19のメディアアクセス制御(MAC:media access control)アドレス、および認証ヘッダを含むことができる。いくつかの実施形態では、ネットワークレギュレータ18は、さらに、ルータ19のログイン・インターフェースを公開することを試みることができ、さらに、個々のインターフェースからデバイスタイプを示すデータを抽出する(例えば、インターフェースがHTMLドキュメントであるかないかを特定し、個々のインターフェースのネットワークアドレスを特定する)ことができる。レギュレータ18のいくつかの実施形態は、例えば、画像処理アルゴリズムを使用することによって、個々のインターフェースのいくつかの視覚的特性を抽出することさえできる。
【0036】
[0060]次に、デバイスタイプを示すデータ61は、構成サーバ52に送られ(ステップ324)、構成サーバ52は、このようなデータに従って、および/またはデバイス特性データベース56(
図2)に格納されたデータに従って、ルータ19のデバイスタイプ(例えば、製造業者、モデル、ファミリ、サブファミリ、ファームウェアのバージョン、他)を識別することができる。次に、構成サーバ52は、レギュレータ18から受け取られたデバイスタイプを示すデータに従って、ルータ19の特定のデバイスタイプに合うように調整されたログイン試行60を構成することができ、ログイン試行データをレギュレータ18に送信することができる。
【0037】
[0061]いくつかの実施形態では、ネットワークレギュレータ18は、ルータ19にログインしようと試行錯誤を繰り返す際に、ステップ326〜334のループを反復することができる。ステップ328〜330は、ルータ19のログイン・インターフェースを公開し、ログイン試行データ60および/またはユーザ認証情報をルータ19に送信することができる。ログインが成功したかどうかに関するインジケータは、サーバ52に送り返され(ステップ332)、成功のインジケータは、ルータ19のデバイスタイプをさらに識別するために、使用されてもよい。
【0038】
[0062]ひとたび正常なログインが達成されると、ステップ336で、ネットワークレギュレータ18は、構成サーバ52からルータ構成コマンド63のセットを取得することができ、コマンド63は、識別されたルータのタイプに従って具体的に作られ、ルータ19、またはルータ19によって提供される少なくともいくつかのネットワークサービスを無能力化することを意図される。例示的なルータ構成コマンド63は、ルータ19にシャットダウン、再起動、構成インターフェースの公開、および構成設定の変更、などを指示することができる。別の例示的な構成コマンド63は、ルータ19の構成インターフェースを公開するために構成されたHTTPリクエストを含む。いくつかの実施形態では、コマンド63は、公開されたインターフェースのフィールドのセットを自動的に埋めることができる。いくつかの実施形態では、コマンド63は、ルータ19の構成インターフェースのフィールドのセットを埋めるためのパラメータの値のセットを備える。
【0039】
[0063]ステップ338では、ネットワークレギュレータ18は、構成コマンド63をルータ19に送信することができる。ルータ19からのDHCPサービスの引継ぎを完了するために、レギュレータ18は、DHCPモジュール43(
図7)を用いて、独自のDHCPのリースの提供をクライアントシステム12a〜12fにブロードキャストする。
【0040】
[0064]いくつかの実施形態では、レギュレータ18の所有者/アドミニストレータが、レギュレータ18をアンインストールすることを決定した場合、ネットワークレギュレータ18は、コマンドの別のセットをルータ19に送信することができる。このような1つの例では、レギュレータ18は、ネットワークレギュレータ18のインストール前に有効であった設定に復帰することを、ルータ19に指示することができる。
【0041】
[0065]
図13〜
図14は、本発明のいくつかの実施形態による、ネットワークレギュレータ18によるネットワークサービスの引継ぎの代替方法を示す。図示の方法は、
図11〜
図12に関連して上記で説明された方法に対する変形形態を含む。ネットワークレギュレータ18を用いてネットワーク設定をアクティブに再設定する、および/または、ルータ19を(部分的に)ディスエーブルする代わりに、
図13〜
図14に示された方法では、このようなアクションは、構成サーバ52によって直接実施され、一方、レギュレータ18は、プロキシまたは中継として使用される。いくつかの実施形態は、トンネル、すなわち、ポイントツーポイントのセキュア接続/通信チャネルを使用して、ルータ19のリモート構成を行う。
【0042】
[0066]ローカルネットワーク14内のインストールに応答して、ネットワークレギュレータ18は、個々のローカルネットワークに接続された個々のネットワークレギュレータ、ルータ19、およびクライアントシステムに対する一意に識別するインジケータを含む登録メッセージをサーバ50〜52に送信することができる。したがって、サーバ50〜52は、それぞれの個別のデバイスを選択的に識別することができ、それぞれのクライアントシステム12およびルータ19を、加入情報および/または個々のネットワークレギュレータと関連付けることができる。構成サーバ52に登録するこのような処理は、サーバ52がレギュレータ18からトンネル接続を受け入れることを可能にする。
【0043】
[0067]ユーザからローカルネットワークを再構成する許可を取得する(ステップ340)のに応答して、ネットワークレギュレータ18は、レギュレータ18をサーバ52に接続する、通信トンネル69を開くことができる。例示的なトンネルは、セキュアシェル(SSH)トンネル、すなわち、SSHプロトコルの1つのバージョンを使用してセットアップされたトンネルを含む。いくつかの実施形態では、ネットワークレギュレータ18は、ポートフォワーディング方式を用いて、トンネル69を介して受け取ったネットワークトラフィックをルータ19にリダイレクトし、および/または、ルータ19から受け取った通信をトンネル69を介してサーバ52にリダイレクトする。このようなポートフォワーディングは、ネットワーキングの技術分野で知られた任意の方法を使用して、例えば、プロキシ、SOCKSクライアント、ネットワークアドレス変換(NAT:network address translation)、他を使用して達成されてもよい。
【0044】
[0068]したがって、ポートフォワーディングを使用することによって、構成サーバ52のいくつかの実施形態は、トンネル69を介してルータ19をリモートで構成することができる。このようなリモート構成は、ルータ19のデバイスタイプを特定すること、構成コマンドをルータ19に送信すること、他などの、
図11〜
図12に関して上記で説明された動作のいくつかを含むことができる。
【0045】
[0069]ルータ19のデバイスタイプを特定することに応答して、サーバ52は、トンネルリクエスト68をレギュレータ18に送信することができ、トンネルリクエストは、ネットワークレギュレータ18にトンネル69をセットアップするように指示する(ステップ346)。トンネルは、サーバ52によってレギュレータ18に送られた通信が、ルータ19に転送されるようにポートフォワーディングを用いて構成されてもよい。ステップ348では、サーバ52は、次に、ルータ19のDHCPサービスをディスエーブルするかまたは別の方法で再構成するようにルータ19に指示するために、ログインデータおよび/またはルータ構成コマンドを、トンネル69上で送信することができる。
【0046】
[0070]
図15〜
図16は、本発明のいくつかの実施形態による、ルータ19からネットワークサービスを引き継ぐ、さらに別の方法を示す。ローカルネットワーク14に導入されると、レギュレータ18は、アドレスリクエスト70を現在のネットワークのサービスプロバイダ(例えば、ルータ19)に送ることができ、ネットワークアドレスをリクエストする(ステップ350)。それに応じて、ルータ19は、アドレス提供72をレギュレータ18に返すことができる。リクエスト70およびリターン72は、標準的なアドレス割当てプロトコル、例えば、DHCPの一部を形成することができる。さらに、ステップ352は、個々のネットワークアドレスおよび/または他のネットワークパラメータ(例えば、ゲートウェイ、DNSサーバ、他)を使用するために、アドレス提供72を受け入れ、ネットワークレギュレータ18を構成することを含むことができる。
【0047】
[0071]次に、ステップ354では、レギュレータ18は、ネットワークサービスの引継ぎプロシージャ(
図12に関連して、上記参照)を実施するために、人間のオペレータの許可を取得することができる。許可を取得するのに応答して、ステップ356では、ネットワークレギュレータ18は、事前に受け取ったアドレス提供72のパラメータに従って、ネットワークアドレスの標的セットを特定することができる。いくつかの実施形態では、DHCPを使用して、提供72は、現在のネットワークのサービスプロバイダによって管理され、および/または割当てに利用できるアドレスのプールのインジケータ(例えば、アドレス値の範囲)を含む。レギュレータ18は、アドレスの個々のプールからネットワークアドレスの標的セットを選択することができる。いくつかの実施形態では、標的セットは、プールの全てのアドレスを含む。他の実施形態では、標的セットは、ルータ19に現在割り当てられているアドレスを除き、プールの全てのアドレスを含む。
【0048】
[0072]ステップ358は、標的セットの全てのアドレスを使用するためにネットワークレギュレータ18を構成することができる。いくつかの実施形態では、ステップ358は、架空デバイスのセット(エイリアス)を作り出すこと、およびネットワークアドレスの標的セットのサブセットをこのようなそれぞれの架空デバイスに割り当てることを含む。次に、一連のステップ360〜366では、ネットワークレギュレータ18は、アドレス競合検出(ACD:address conflict detection)の仕組みを活用し、クライアント12a〜12fに現在割り当てられているネットワークアドレスを漸進的に放棄させることができる。その一方で、レギュレータ18は、DHCPモジュール36を使用して、ネットワークアドレスおよび/または他の構成パラメータの新しいセットをクライアントシステム12a〜12fに提供することができ、このように、ネットワークサービスの引継ぎプロシージャを完了する。
【0049】
[0073]例示的なACDの仕組みは、2008年7月に、Apple(登録商標),Inc.のネットワークワーキンググループ(Network Working Group)によって公表された、IPv4アドレス競合検出(IPv4
Address Conflict Detection)リクエストフォーコメンツ(Request for Comments)(RFC5227)に説明されている。説明されたACDの仕組みは、(例えば、ネットワークアドレスのリースを初めて提供するとき、または、個々のネットワークアドレスに対してリースを更改するときに発生する)ネットワークアドレス割当ての一部として、それぞれのクライアント、および/またはクライアントの個々のネットワークのサービスプロバイダは、個々のネットワークアドレスが利用可能かどうか、すなわち、別のデバイスによって既に使用中でないかどうかを検証することを要求する。このような検証にはとりわけ、アドレス解決プロトコル(ARP:Address Resolution Protocol)および近隣探索プロトコル(NDP:Neighbor Discovery Protocol)の中で説明されているツールおよび/または仕組みを使用することができる。例示的な検証は、個々のクライアントおよび/またはプロバイダが、プローブ(例えば、特別に構成されたネットワークパケット、ping、arping、他)を現在検証されているネットワークアドレスに送り出すことを含む。プローブを送り出したクライアントおよび/またはプロバイダが、個々のプローブに対するリプライを何も受け取らない場合、個々のアドレスが利用できるとみなされ、個々のクライアントに(再)割当てされてもよい。対照的に、クライアントおよび/またはプロバイダが、個々のプローブに対するリプライを受け取る場合、個々のアドレスが利用されているとみなされ、もはや、個々のクライアントに(再)割当てされない。
【0050】
[0074]上記で説明されたACDの仕組みは、
図15〜
図16に示されたように、引継ぎ目的で、ネットワークレギュレータ18のいくつかの実施形態によって活用される。一連のステップ360〜362では、レギュレータ18は、クライアントシステム12および/またはルータ19によって、それぞれ発行されたアドレス利用可能性プローブ64a〜64bをリッスンすることができる。このようなプローブを検出することに応答して、ステップ364は、プローブされたアドレスが、ステップ356で特定されたネットワークアドレスの標的セットのいずれかのメンバと一致するかどうかを特定する。一致しない場合、レギュレータ18は、アドレス利用可能性プローブをリッスンすることに戻る。
【0051】
[0075]プローブされたアドレスがアドレスの標的セットのメンバと一致する場合、ステップ366において、レギュレータ18は、プローブのリプライ66a〜66bを個々のプローブの送信元に返すことができ、プローブのリプライは、個々のネットワークアドレスが利用できないことを示すように構成される。いくつかの実施形態では、ステップ366は、個々の架空デバイスの詳細と共に構成されたプローブのリプライを発行するネットワークレギュレータ18によって作り出された架空デバイス(エイリアス)を含む。クライアントシステム12が、競合検出をサポートするように構成される場合、このようなリターンプローブを受け取ることによってクライアントシステム12を特定して、個々のネットワークアドレスの使用を停止し、新しいアドレスをリクエストすることができる。このような新しいリクエストは、ステップ360〜366の再実行を誘引するので、アドレスの標的セット内の全てのアドレスについて失敗する。それぞれのクライアントシステム12a〜12fに対して一連のステップ360〜366を繰り返すことによって、ネットワークレギュレータ18は、このように、ルータ19によって提供されたネットワークサービスを漸進的にディスエーブルすることができ、クライアントシステム12a〜12fに、レギュレータ18によって発行されたネットワークアドレスの新しいセットを使用させる。
自動的なデバイスの発見およびエージェントの準備
[0076]ローカルネットワーク14に対するネットワークサービスのゲートウェイおよび/またはプロバイダとして自身をインストールすると、ネットワークレギュレータ18は、ローカルネットワーク14に接続されたクライアントシステム12a〜12fに、ユーティリティエージェント41(例えば、
図6)を配布し始めることができる。
図17は、本発明のいくつかの実施形態による、クライアントシステム12と、ネットワークレギュレータ18と、クライアント構成サーバ52との間の例示的なデータ交換を示し、交換は、デバイスの発見およびエージェントの準備の間に発生する。このような交換は、ネットワークレギュレータ18のインストール時、および、新しいクライアントシステムがローカルネットワーク14に最初に導入されたときに発生してもよい。
【0052】
[0077]デバイス指定のユーティリティエージェントを配信するためにネットワークレギュレータ18によって実施される例示的な一連のステップは、
図18に示される。いくつかの実施形態では、レギュレータ18は、ローカルのクライアントシステムからの接続リクエストを待つことができる(ステップ400)。例示的な接続リクエストは、HTTPリクエストを含む。クライアントシステム12が、拡張ネットワーク16上のアドレスにアクセスを試みると、レギュレータ18は、個々のクライアントシステムにユーティリティエージェント41をインストールさせることができる。いくつかの実施形態では、レギュレータ18は、現在のネットワークアクセスのリクエストを構成サーバ52にリダイレクトすることができ、構成サーバ52は、エージェントのインストーラ75を個々のクライアントシステムに配ることができる(
図17)。1つの代替実施形態では、レギュレータ18は、サーバ52からエージェントのインストーラ75を取得することができ、その後、インストーラ75を個々のクライアントシステムにプッシュする。
【0053】
[0078]いくつかの実施形態では、インストーラ75は、確認用インターフェースをユーザに公開するために、クライアントシステム12(またはアドミニストレーション・デバイス20)を特定するように構成され、エージェント41をインストールすることに同意するよう、ユーザにリクエストする。さらに、インストーラ75は、(例えば、SLAに載せられているような)個々の加入条件にユーザが同意することを確認するよう、ユーザにリクエストしてもよい。ユーザが同意を表明すると、インストーラ75は、エージェント41をインストールし、実行することができる。いくつかの実施形態では、インストーラ75および/またはネットワークレギュレータ18は、クライアント構成サーバ52に個々のクライアントシステムを登録することができる(
図18のステップ418)。このような登録は、個々のクライアントシステムを、ネットワークレギュレータ18に付加された加入情報レコードと関連付けるサーバ52を含むことができる。
【0054】
[0079]現在、非常に多様なデバイスが、通信ネットワークおよびインターネットに接続されていることを考慮すると、保護されたクライアントシステム12a〜12fに配信されたユーティリティエージェント41が、それぞれのクライアントシステム(例えば、Windows(登録商標)OSまたはiOS(登録商標)が動作するスマートフォン、タブレット、スマートウオッチ、他)のデバイスタイプに合うように調整されることが好ましい可能性がある。例示的なステップ400〜406(
図18)は、クライアントシステム12のデバイスタイプを特定する例示的な方法を示す。ネットワークレギュレータ18は、HTTPリクエストからのユーザのエージェントインジケータ(ユーザのエージェントインジケータは、典型的には、HTTPリクエストの送信元のブラウザのタイプおよびオペレーティングシステムの両方に関する情報を含む)を抽出することによって、デバイスタイプを示すデータを取得することができる。さらに、レギュレータ18は、例えば、個々のサービスおよび/またはプロトコルをスキャンすることによって、個々のクライアントシステムによって使用されるアプリケーション、プロトコルおよび/またはサービスのセットを検出することができる(ステップ404)。このようにスキャンをすることは、個々のクライアントシステムの特定のポートにプローブを送り出すことを含むことができ、レスポンスをリッスンすることができる。検出されたプロトコルおよびサービスは、とりわけ、Bonjour(登録商標)、簡易ネットワーク管理プロトコル(SNMP:Simple Network Management Protocol)、およびネットワークマッパ(Nmap)を含むことができる。その後、ネットワークレギュレータ18は、ルール、決定木および/または機械学習アルゴリズムのセットを使用して、このようなデバイスタイプを示すデータに従って、ローカルにクライアントシステム12のデバイスタイプを特定することができる。1つの代替実施形態では、デバイスタイプを示すデータは、構成サーバ52に送られ(ステップ406)、構成サーバ52は、受け取ったデータに従って、およびデバイス特性データベース56に格納されている情報に従って、デバイスタイプを識別する。例えば、サーバ52は、クライアントシステム12の特性をデータベース56の様々なエントリに一致させようとしてもよく、このようなそれぞれのエントリは、(おそらく、製品の別個のバージョン、別個のオペレーティングシステム、他を含む)別個のデバイスタイプに対応してもよい。デバイスの発見は、繰り返して続行することができ、サーバ52は、クライアントシステムに関する利用可能な情報に従って、デバイスタイプを事前に特定してもよい。事前の特定に応答して、サーバ52は、ネットワークレギュレータ18からのクライアントシステムに関するデバイスタイプを示すさらなるデータをリクエストしてもよい。クライアントシステム12のデバイスタイプの明確な識別が達成されるまで、漸次、より多くのデバイスタイプを示すデータが構成サーバ52に送られる。デバイスタイプが首尾よく識別されると、サーバ52は、通知をレギュレータ18に送ることができる。通知を受け取ること(ステップ408)に応答して、レギュレータ18は、ステップ400で傍受したネットワーク接続リクエストを、エージェントのインストーラアプリケーションにリダイレクトすることができる。
【0055】
[0080]別のデバイスの発見および/またはエージェントの準備の背景には、ルータ19の自動検出に関して上記で説明された方法(
図13〜
図14)と同じ方法でトンネリングを含むことができる。このような1つの例では、レギュレータ18は、レギュレータ18をサーバ52と接続する通信トンネル(例えば、SSHトンネル)を開く。個々のトンネルは、サーバ52から受け取った通信が、ネットワークレギュレータ18によって、個々のクライアントシステム12にリダイレクトされるように、ポートフォワーディングを用いて構成されてもよい。その後、サーバ52は、トンネルを介してエージェントのインストーラをクライアントシステム12に直接配信することができ、さらに、個々のエージェントをインストールするように、クライアントシステム12に指示することができる。また、サーバ52は、上に記載された方法のいずれかを使用し、SSHトンネルを使用してクライアントシステム12からデバイスタイプを示す情報を取得することができる。
【0056】
[0081]幅広い様々なユーティリティエージェントは、本明細書で説明されたシステムおよび方法を使用して準備されてもよい。セキュリティサービスを提供するように構成された例示的なユーティリティエージェント41は、クライアントシステム12のセキュリティ評価を実施し(例えば、ローカルのマルウェアスキャン)、セキュリティ評価データを構成サーバ52またはセキュリティサーバ50に送ることができる。その後、サーバは、ユーザ/アドミニストレータに対して表示するために、セキュリティインジケータをアドミニストレーション・デバイス20に転送することができる。ユーザ/アドミニストレータに対して表示された例示的なセキュリティインジケータは、とりわけ、クライアントシステム12上で実行する特定のソフトウェアオブジェクト(例えば、オペレーティングシステム)が最新であるかどうかに関するインジケータ、および、クライアントシステム12を保護するために使用されるパスワードの強度に関するインジケータを含むことができる。セキュリティエージェントによって実施される他の例示的なアクションは、個々のクライアントシステムに対して、ソフトウェアおよび/またはセキュリティポリシーを更新することを含む。いくつかの実施形態では、エージェント41は、例えば、クライアントシステム12が、悪質な攻撃を受けやすいかどうかを特定するためのネットワークパケット検査アルゴリズムを使用して、クライアントシステム12を行き来するネットワークトラフィックを、フィルタリングするように構成される。コンピュータセキュリティサービスを提供するユーティリティエージェントの追加の機能は、以下で説明される。
【0057】
[0082]セキュア通信サービスを提供するように構成された例示的なユーティリティエージェント41は、仮想プライベートネットワーク(VPN)のエージェントを含む。このようなエージェントは、クライアントシステム12がローカルネットワーク14を離れるとき(例えば、ユーザが、彼の/彼女の携帯電話と共に家を出るとき)、クライアントシステム12を保護することができる。このようなエージェントは、ネットワークレギュレータ18および/または構成サーバ52と協働し、セキュア通信トンネルを開き、および/または、個々のクライアントシステムとセキュリティサーバ50との間にVPNをセットアップすることができる(詳細は以下)。
【0058】
[0083]ペアレンタルコントロールサービスを提供するように構成された例示的なユーティリティエージェント41は、クライアントシステム12の使用方法を監視し、アドミニストレーション・デバイス20を介して使用方法のパターンを監督者ユーザ(例えば、親)に報告することができる。さらに、エージェント41は、クライアントシステム12が、いくつかのリモートのリソース(例えば、IPアドレス、ウェブサイト、他)にアクセスすることを、または、いくつかのローカルにインストールされたアプリケーション(例えば、ゲーム)を使用することを阻止することができる。このようにブロックすることは、永久に、または、ユーザが指定したスケジュールに従って、強要することができる。
【0059】
[0084]リモート技術援助を提供するように構成された例示的なユーティリティエージェント41は、自動的に構成することができ、および/または、クライアントシステム12と構成サーバ52との間にセキュアな通信チャネル(例えば、SSHトンネル)を開くことができる。その後、構成および/またはトラブルシューティングコマンドは、おそらくクライアントシステム12のユーザから明白に関与または援助されることなく、サーバ52からクライアントシステム12に送信されてもよい。
【0060】
[0085]家庭用電化製品、ウェアラブルデバイス、他などのいくつかのクライアントシステムは、上記に示されたように、ユーティリティエージェントをインストールすることができない可能性がある。しかし、このようなデバイスには、個々のデバイスのリモートコマンドを可能にするビルトイン構成および/またはデバイス管理エージェントを含むことができる。本発明のいくつかの実施形態は、既存の管理エージェントならびにデバイス指定のプロトコルおよび/または通信方法を使用して、パラメータの値の最新情報をこのようなデバイスに伝達することができる。このようなデバイスに対してでさえ、デバイスタイプを正確に識別することで、構成サーバ52が、適切にフォーマットし、構成コマンドを個々のクライアントシステムに伝達することが可能になる。このようなクライアントシステムのデバイスタイプの特定を容易にするために、ネットワークレギュレータ18は、個々のクライアントシステムから受け取った通信を自発的に解析するか、または、個々の通信を構成サーバ52に再ルーティングすることができる。
【0061】
[0086]いくつかの実施形態では、ネットワークレギュレータ18は、ユーティリティエージェント41のインストールに成功することが、クライアントシステム12が拡張ネットワーク16にアクセスする前提条件としてもよい。
図18のステップ416によって示されたように、いくつかの実施形態は、エージェントのインストールに対する応答においてのみ、クライアントシステムが、拡張ネットワーク16にアクセスできるようにしてもよい。このような構成が、クライアントシステム12の、および/またはローカルネットワーク14のセキュリティを改善することができる。
デバイス管理
[0087]ひとたびユーティリティエージェント41が機能すれば、ユーティリティエージェントは、様々なデバイス管理タスクを実施するために、例えば、個々のクライアントシステム12a〜12fをリモートで構成するために使用されてもよい。例示的な構成タスクは、とりわけ、クライアントシステムをオンまたはオフすること(例えば、ホームセキュリティシステムを稼働状態にすることまたは稼働状態を解除すること、照明を点灯および消灯すること)、クライアントシステムの機能パラメータの値を設定すること(例えば、スマートサーモスタットを所望の温度に設定すること)、ネットワークおよび/またはセキュリティ特性を構成すること(例えば、ネットワーク14へのいくつかのクライアントシステムのアクセスをブロックするか、または可能にすること、ファイアウォールのパラメータを構成すること、ペアレンタルコントロールのアプリケーションおよび/または特性を構成すること)、個々のクライアントシステム上で実行するコンポーネントに対するソフトウェアアップデートを実施すること、ならびに、個々のクライアントシステムに関する技術援助/トラブルシューティングのタスクを実施することを含む。
【0062】
[0088]いくつかの実施形態では、ユーザ/アドミニストレータは、アドミニストレーション・デバイス20(例えば、アドミニストレーション・アプリケーションを走らせるスマートフォン)によって公開された、アドミニストレーションGUI48を介して、クライアントシステム12をリモートで管理することができる。ネットワークレギュレータ18が、構成サーバ52に登録するのに続き、サーバ52は、レギュレータ18およびアドミニストレーション・デバイス20を加入情報に一意に関連付けることができる。また、個々の加入情報は、レギュレータ18を個々のネットワークレギュレータによって保護されたクライアントシステム12a〜12fのセットと一意に関連付けることを可能にする。したがって、アドミニストレーション・デバイス20のユーザは、構成サーバ52の助けを借りて、アドミニストレーションGUI48からリモートで管理するために、特別のクライアントシステムを選択することができる可能性がある。実際のデバイス管理(例えば、パラメータの値を設定すること)は、アドミニストレーション・デバイス20と個々のクライアントシステムとの間のデータおよび/または構成コマンドを送信することを含むことができる。
【0063】
[0089]いくつかの実施形態では、標的のクライアントシステムへの構成データ/コマンドの送信は、ルータ19を構成すること(
図13〜
図14)、および、デバイスの発見に関する、上に記載されたシステムおよび方法の変形形態を使用する。アドミニストレーション・デバイス20からのデバイス管理リクエストを受け取ることに応答して、サーバ52は、通知をネットワークレギュレータ18に送ることができ、通知は、レギュレータ18および/または標的のクライアントシステムに、サーバ52とレギュレータ18との間の、および/または、サーバ52と標的のクライアントシステムとの間の通信トンネル(例えば、SSHトンネル)を開かせる。トンネルは、上記で説明されたように、ポートフォワーディングを用いて構成されてもよい。その後、このようなトンネルは、サーバ52から標的のクライアントシステムに構成コマンドを送信するために使用されてもよく、個々のコマンドは、例えば、個々のクライアントシステムの構成設定を変更するように作られている。いくつかの実施形態では、このような構成コマンドは、ユーティリティエージェント41によって実行される。標的とされたクライアントシステムが、ユーティリティエージェントを欠くか、またはこのようなエージェントをインストールできないとき、構成コマンドは、個々のデバイスの本来の管理ソフトウェアに向けられる。
【0064】
[0090]1つの例示的な適用例では、ユーザは、上記で説明された方法を使用して、特定の標的のクライアントシステムの技術援助/トラブルシューティングをリクエストすることができる。その後、技術援助は、個々のユーザがさらに関与することなく、自動的に次に進むことができる。トラブルシューティングの一部として、サーバ52のいくつかの実施形態は、特定の技術的問題を解決するように構成された専用のユーティリティエージェントをインストールするために、標的のクライアントシステムを特定することができる。
コンピュータセキュリティ保護
[0091]
図19−A〜
図19−Bは、例示的な実施形態を示し、ネットワークレギュレータ18は、セキュリティサーバ50と協働し、クライアントシステム12a〜12fを、マルウェア、アドウェア、スパイウェア、およびネットワーク侵入などのコンピュータセキュリティの脅威から保護する。
図19−Aの実施形態では、ネットワークレギュレータ18は、保護されたクライアントシステム12とローカルネットワークの外部のコンピュータシステムとの間の(本明細書で、ネットワークパケット80で示された)データトラフィックのいくつか、または全てを、セキュリティサーバ50を通じて再ルーティングする。このような再ルーティングは、例えば、ローカルネットワーク14と拡張ネットワーク16との間にゲートウェイとしてネットワークレギュレータ18をインストールすることによって、および、レギュレータ18を使用してネットワークトラフィックを傍受し、サーバ50に自発的にリダイレクトすることによって達成することができる。
図19−Aに示したような実施形態では、脅威検出は、セキュリティサーバ50によって実施され、(例えば、ネットワークパケット80を分析して、ネットワークパケットが、マルウェアを含むかどうか、または、ネットワークパケットが、ネットワーク侵入を示しているかどうかを特定することによる)当技術分野で知られた任意の方法を使用する。
【0065】
[0092]いくつかの実施形態では、
図19−Bに示されたように、脅威検出は、ネットワークレギュレータ18によって実施される。このようなローカルの検出には、例えば、パケットの内容をフィルタリングすることを含むことができる。レギュレータ18は、セキュリティサーバ50からフィルタパラメータ82のセット(例えば、マルウェアを示す署名)をダウンロードすることによって、マルウェア検出アルゴリズムを最新に保つことができる。いくつかの実施形態は、レギュレータ18上の脅威検出をセキュリティサーバ50における脅威検出と組み合わせることができる。このような1つの例では、ネットワークレギュレータ18は、例えば、比較的安価な方法を使用して、データトラフィックの事前分析を行うことができる。その後、レギュレータ18は、さらに分析するために、疑わしいネットワークパケットをサーバ50に送ることができる。
【0066】
[0093]セキュリティサーバ50を通じてトラフィックを再ルーティングすること(
図19−A)は、ローカルのセキュリティ分析を実施すること(
図19−B)に対して、いくつかの利点を有する可能性がある。サーバ50は、多目的に構築された、高スループットのコンピュータシステムを備えることができ、したがって、ディープパケットインスペクションなどの、計算集約的なトラフィック分析を、レギュレータ18よりもずっと効率的に行うことができる可能性がある。ネットワークレギュレータ18にこのような能力をインストールすることは、レギュレータ18の価格、複雑性、および攻撃対象領域を、実質的に増加させるであろう。集約されたデータ分析を有することに関する別の利点は、このような構成が、マルウェアを識別する署名の、および、多くの配布されたネットワークレギュレータ18に対するネットワークパケット分析に使用される他のデータの最新版を配布する必要性を、解消するというものである。また、集約されたセキュリティシステムは、典型的には、新たに発見された脅威に対応するためによりよく装備される。
【0067】
[0094]このようなコンピュータセキュリティシステムおよび方法の例示的なアプリケーションは、保護されたクライアントシステムが、悪質なまたは不正なウェブページにアクセスすることをブロックすることを含む。このような1つの例では、リモートのリソースへアクセスするリクエスト(例えば、保護されたクライアントシステムからのHTTPリクエスト)は、リモートのリソース、ウェブページ、他へのアクセスが、コンピュータセキュリティのリスクに相当するかどうかを特定するために、傍受され、分析される。このような分析には、当技術分野で知られた任意の方法、例えば、個々のリソースのアドレスと、既知の悪質なまたは不正なウェブページのブラックリストとのマッチング、個々のウェブページのレイアウトの分析、他を使用することができる。分析は、(例えば、
図19−Aに示すような構成の中で)セキュリティサーバ50で、または(例えば、
図19−Bに示すように)ネットワークレギュレータ18で行われてもよい。分析によって、リモートのリソースにアクセスすることが、コンピュータセキュリティのリスクを意味しないということが確立されると、個々のクライアントシステムは、個々のリモートのリソースへのアクセスを許される。アクセスが危険であると思われるときは、リクエスト中のクライアントシステムは、個々のリソースにアクセスすることをブロックされる可能性がある。アクセスをブロックすることに加えて、セキュリティサーバ50のいくつかの実施形態は、イベント通知をアドミニストレーション・デバイス20に送り、ネットワークレギュレータ18のユーザ/アドミニストレータにセキュリティイベントが発生したことを知らせる。通知は、個々のイベントに関わるクライアントシステムのインジケータ、およびイベントタイプのインジケータ(例えば、不正なウェブサイトへのアクセス)を含むことができる。
【0068】
[0095]本発明のいくつかの実施形態による、コンピュータセキュリティシステムの別の例示的な適用例は、
図20〜
図21に示される。上記に示されたように、クライアントシステムは、ローカルネットワーク14でネットワークレギュレータ18に接続しながら、コンピュータセキュリティの脅威から保護されてもよい。しかし、(例えば、ユーザが、彼の/彼女の携帯電話と共に家を出るときに起こるように)ネットワーク14を離れることは、個々のクライアントシステムを様々なセキュリティのリスクにさらす可能性がある。いくつかの実施形態は、ひとたびレギュレータ18および構成サーバ52による保護のために登録されると、個々のクライアントシステムは、常に保護されるということを保証する。
【0069】
[0096]このような保護を達成するために、いくつかの実施形態は、個々のクライアントシステム(例えば、携帯電話、タブレット型コンピュータ)にユーティリティエージェント41をインストールし、ユーティリティエージェント41は、個々のクライアントシステムをセキュリティサーバ50と接続する仮想プライベートネットワーク(VPN)を管理するように構成される。個々のクライアントシステムが、ビルトインのVPNエージェントを有する場合、いくつかの実施形態は、ユーティリティエージェント41をインストールする代わりに、既存のVPNエージェントを構成することを選ぶことができる。セキュリティサーバ50へのVPN接続(トンネル)は、例えば、個々のクライアントシステムが、ローカルネットワーク14を離れるときに開始されてもよい。ローカルネットワーク14から離れているときでさえ、セキュリティサーバ50との接続を維持することによって、いくつかの実施形態は、個々のクライアントシステムを保護するために、上記で説明されたコンピュータセキュリティの方法(例えば、セキュリティサーバ50を介してトラフィックを再ルーティングすること)を使用し続けることができる。
【0070】
[0097]
図20は、クライアントシステム12と、ネットワークレギュレータ18と、構成サーバ52との間の例示的なデータ交換を示し、交換は、VPNのユーティリティエージェント、および、セキュリティサーバ50との関連セキュア接続の動作の一部として発生する。
図21は、本発明のいくつかの実施形態による、VPNのユーティリティエージェントを動作させるクライアントシステム12によって実施される例示的な一連のステップを示す。
【0071】
[0098]クライアントシステム12上で実行するVPNのユーティリティエージェントは、セキュリティサーバ50とのVPNトンネルを確立するために、構成サーバ52から接続パラメータ88を取得することができる。このようなパラメータは、上記で論じられたように、クライアントシステム12のデバイスタイプに合うように調整されてもよい。いくつかの実施形態では、一連のステップ502〜504は、クライアントシステム12が、現在、ローカルネットワーク14(すなわち、ネットワークレギュレータ18によってサービスを提供されたローカルネットワーク)の一部であるかどうかを特定する。ステップ502は、当技術分野で知られた任意の方法に従って、例えば、レギュレータ18と個々のクライアントシステムとの間のキープアライブメッセージ84の流れを維持することによって、次に進むことができる。クライアントシステム12が、ローカルネットワーク14に接続され続けている間、クライアントシステム12は、外部ネットワーク16にアクセスするためにゲートウェイとしてレギュレータ18を使用することができ、上記で説明された方法に従って、コンピュータセキュリティの脅威から保護される。
【0072】
[0099]ステップ510で、クライアントシステム12が、もはやローカルネットワーク14に接続されていないことを検出した場合、クライアントシステム12上で実行するVPNエージェントは、セキュリティサーバ50へのVPNトンネル90を開くことができ、VPNパラメータ88に従ってトンネル90を構成する。その後、クライアントシステム12は、インターネットブラウジング、メッセージング、他などの通信のためにVPNトンネル90を使用することができる。1つの代替実施形態では、ネットワークレギュレータ18は、クライアントシステム12が、ローカルネットワーク14を離れたことを特定し、それに応じて、セキュリティサーバ50に通知することができる。その後、トンネル90を確立することは、サーバ50によって開始することができる。
【0073】
[0100]クライアントシステム12が、ネットワークレギュレータ18の近くに戻ると(例えば、ユーザが、彼の/彼女の携帯電話と共に家に戻ると)、クライアントシステム12は、ネットワークレギュレータ18からのネットワークサービスの提供(例えば、DHCPの提供)を検出することができる。一連のステップ514〜516で、ローカルネットワーク14に接続するためにこのような提供を受け取ると、個々のクライアントシステム上で実行するVPNのユーティリティエージェントは、VPNトンネル90を閉じ、ローカルネットワーク14に接続することができる。
【0074】
[0101]本明細書で説明された例示的なシステムおよび方法は、悪質なソフトウェアおよびネットワーク侵入などのコンピュータセキュリティの脅威から複数のクライアントシステムを保護することを可能にする。従来のコンピュータシステムを保護することに加えて、説明されたシステムおよび方法は、大衆文化の中でモノのインターネット(IoT)と総称されるデバイスなど、インターネットに接続されたインテリジェントデバイスの種々のエコシステムを保護することに対して、特に向いている。このようなデバイスの例は、とりわけ、ウェアラブルデバイス(例えば、スマートウオッチ、フィットネスバンド、インタラクティブジュエリ)、家庭用娯楽機器(TV、メディアプレーヤ、家庭用ゲーム機)、家庭用電化製品(冷蔵庫、サーモスタット、インテリジェント照明システム、ホームセキュリティシステム)を含む。いくつかの実施形態は、統一され、統合された解決策を使用して、例えば、家の中で全ての電子デバイスを保護することを可能にする。
【0075】
[0102]いくつかの実施形態は、複数の保護されたクライアントシステムを相互接続するローカルネットワークをセットアップし、管理するように構成されたネットワークレギュレータを含む。ネットワークレギュレータは、ローカルネットワークとインターネットなどの拡張ネットワークとの間のゲートウェイの位置に、自身をインストールすることができる。いくつかの実施形態では、保護は、ネットワークレギュレータが、リモートのセキュリティサーバを通じて、保護されたクライアントシステムとローカルネットワークの外部のエンティティとの間で交換されるデータトラフィックの少なくとも一部を再ルーティングすることによって達成される。次に、トラフィックは、マルウェアのスキャンをされてもよく、危険なリソース(例えば、悪質なまたは不正なウェブサイト)へのアクセスはブロックされる。
【0076】
[0103]いくつかの実施形態は、コンピュータセキュリティの脅威からの保護は、個々のクライアントシステムが、ローカルネットワークを離れるときでさえ、続くことを保証する。例えば、ユーザが、彼の/彼女の携帯電話と共に家を出るとき、携帯電話は保護され続ける。いくつかの実施形態では、このような保護は、保護されたクライアントシステムが、ローカルネットワークを離れたことを自動的に検出し、それに応じて、デバイスがローカルネットワークから離れている間、個々のデバイスを行き来するデータトラフィックを運ぶために使用される、セキュリティサーバへのトンネル(例えば、ポイントツーポイントのVPN接続)を自動的にアクティブにすることによって達成される。
【0077】
[0104]いくつかの実施形態では、ネットワークレギュレータは、サービスの加入情報と一意に関連付けられ、統一されたセキュリティの管理、および、全ての保護されたクライアントシステムに対する、例えば、家の中にある全てのインテリジェントデバイスに対する他の態様を可能にする。したがって、保護されたクライアントシステムによる不正なウェブサイトにアクセスする試みなどのセキュリティイベントは、加入情報のアカウントに自動的に関連付けられ、個々のアカウントの連絡窓口/アドミニストレータに報告されてもよい。セキュリティイベントの報告は、通知をアドミニストレータのアドミニストレーション・デバイス(例えば、携帯電話)に送ることを含むことができる。いくつかの実施形態では、このような通知は、セキュリティサーバによって集約され、ユーザ毎および/またはデバイス毎にグループ化される。アドミニストレーション・デバイス上で実行するグラフィカル・ユーザ・インターフェース(GUI)は、それぞれのセキュリティイベント、統計データ、他に関する情報を表示することができる。したがって、本発明のいくつかの実施形態は、多くの顧客/アカウントに対してコンピュータセキュリティを管理するための集約された解決策を可能にし、このようなそれぞれのアカウントは、独自の様々なグループのデバイスと関連付けられる。
【0078】
[0105]ローカルネットワークに接続されたクライアントシステムの保護を保証することは別として、いくつかの実施形態は、自動構成、トラブルシューティング/技術援助、および保護されたクライアントシステムのリモート管理に対する統一された解決策を提供する。いくつかの実施形態は、それぞれの保護されたデバイス上にユーティリティエージェントをインストールし、ユーティリティエージェントは、リモートサーバと協働して構成データおよび/または実行可能なコードを受け取る。クライアントシステムのユーザ/アドミニストレータは、アドミニストレーション・デバイス(例えば、携帯電話)上に表示されるユーザインターフェースを介して、個々のデバイスをリモートで管理することができる。このような管理には、例えば、動作パラメータ(所望の家の温度、ペアレンタルコントロールの設定、他)を設定すること、ソフトウェアアップデートを適用すること、およびトラブルシューティングを含むことができる。
【0079】
[0106]本発明のいくつかの実施形態は、コンピュータエンジニアリングまたはネットワーク管理の専門知識を必要としないように、使いやすさのために具体的に作られている。例えば、インストール時に、ネットワークレギュレータは、ローカルネットワークに対する、インターネットアクセスのデフォルトのプロバイダになるために、既存のルータからいくつかのネットワークサービスを、自動的に引き継ぐことができる。
【0080】
[0107]上記の実施形態は、本発明の範囲を逸脱することなく、多くの方法で変更されてもよいということが当業者には明らかであろう。したがって、本発明の範囲は、以下の特許請求の範囲およびその法的均等物によって特定されるべきである。