(57)【特許請求の範囲】
【請求項１】
データネットワークに接続されたスマートデバイスの脆弱性を除去する方法であって、
要求送信ステップと、アクセスステップと、設定取得ステップと、比較ステップと、決定ステップと、命令送信ステップと、を備え、
前記要求送信ステップは、サーバ上で実行されるクローラにより、少なくとも１つのスマートデバイスへのアクセスを得るために、前記データネットワークを介してブロードキャストリクエストを送信し、
前記アクセスステップは、前記クローラにより、ルータに通信可能に接続された前記少なくとも１つのスマートデバイスにアクセスし、
前記設定取得ステップは、前記クローラにより、前記少なくとも１つのスマートデバイスに格納された設定ファイルにアクセスし、前記スマートデバイスの設定を取得することによって、前記少なくとも１つのスマートデバイスの設定を取得し、前記少なくとも１つのスマートデバイスの設定は、前記少なくとも１つのスマートデバイスのパラメータ又は属性の一方、又は両方を含み、
前記比較ステップは、データベースに格納された前記少なくとも１つのスマートデバイスの前記設定のそれぞれと既知の脆弱性の設定とを比較し、前記データベース内の同様の脆弱性を有する設定を識別することにより、前記少なくとも１つのスマートデバイスの少なくとも１つのネットワーク脆弱性を識別し、
前記決定ステップは、前記設定のそれぞれと、前記データベース内の既知の脆弱性の設定とを比較して、前記データベース内の前記同様の脆弱性を有する設定を識別することにより、前記少なくとも１つのネットワーク脆弱性を修復するためのアクションを決定し、
前記命令送信ステップは、前記少なくとも１つのスマートデバイスに命令を送信して、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを実行し、前記アクションは、前記設定ファイル自体を変更することによって前記スマートデバイスの前記設定を調整することを含む、
方法。
【請求項２】
ｗｅｂページを取得し且つドキュメントオブジェクトモデルに基づいて前記ｗｅｂページのＨｙｐｅｒ−Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）要素を解析することにより、前記少なくとも１つのスマートデバイスのｗｅｂインターフェースにアクセスし、且つ、前記ｗｅｂページは、前記スマートデバイスの設定を含むアクセスステップと、
前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを利用して、前記少なくとも１つのスマートデバイスの前記設定を取得する取得ステップと、
を備える請求項１に記載の方法。
【請求項３】
前記少なくとも１つのスマートデバイスに命令を送信する命令送信ステップであって、
前記設定ファイルの行の真の値と偽の値を変更することにより、前記少なくとも１つのネットワーク脆弱性を修復するための命令を前記少なくとも１つのスマートデバイスに送信し、前記設定ファイルは、前記少なくとも１つのスマートデバイスの少なくとも１つの設定に関連付けられた少なくとも１つのネットワーク脆弱性に対応する、命令送信ステップ、
を備える請求項２に記載の方法。
【請求項４】
前記少なくとも１つのスマートデバイスに命令を送信する命令送信ステップであって、
前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを介して前記設定を調整することにより、少なくとも１つのネットワーク脆弱性を修復するための命令を少なくとも１つのスマートデバイスに送信し、前記スマートデバイスの少なくとも１つの設定に対応するＨＴＭＬ制御要素を選択するために、ドキュメントオブジェクトモデルを使用して前記ｗｅｂページを修正する、命令送信ステップ、
を備える請求項２に記載の方法。
【請求項５】
前記アクセスステップは、第２スマートデバイスにアクセスする第２アクセスステップを備え、
前記第２アクセスステップは、
前記第２スマートデバイスへのｗｅｂアクセスを取得すること、
ＵＰｎＰプロトコルを介して前記第２スマートデバイスにアクセスすること、
前記データネットワーク内の前記第２スマートデバイスのネットワークアドレスによるファイル転送を介して前記第２スマートデバイスにアクセスすること、
遠隔管理プロトコルを介して前記第２スマートデバイスにアクセスすること、
セキュアシェルプロトコルを介して前記第２スマートデバイスにアクセスすること、
のうちの少なくとも１つを備える、
請求項１に記載の方法。
【請求項６】
前記要求送信ステップは、
前記要求を前記ルータに送信し、
前記ルータは、前記ルータを介して前記データネットワークに通信可能に接続された複数のスマートデバイスに要求をリダイレクトする、
請求項１に記載の方法。
【請求項７】
前記アクセス取得ステップは、ＵＰｎＰ（ＵｎｉｖｅｒｓａｌＰｌｕｇ-ａｎｄ-Ｐｌａｙ）プロトコルを用いて前記設定を取得する、
請求項１に記載の方法。
【請求項８】
データネットワークに接続されたスマートデバイスの脆弱性を除去するシステムであって、
少なくとも１つのデータベースであって、ネットワーク脆弱性に関連するデバイスの設定と、ネットワーク脆弱性を修復するためのアクションと、を格納する少なくとも１つのデータベースと、
サーバと、
を備え、
前記サーバは、
クローラにより、前記少なくとも１つのスマートデバイスへのアクセスを得るために、前記データネットワークを介してブロードキャストリクエストを送信し、
前記少なくとも１つのスマートデバイスにアクセスし、
前記少なくとも１つのスマートデバイスに格納された設定ファイルにアクセスし、前記スマートデバイスの設定を取得することによって、前記少なくとも１つのスマートデバイスの設定を取得し、前記少なくとも１つのスマートデバイスの設定は、前記少なくとも１つのスマートデバイスのパラメータ又は属性の一方、又は両方を含み、
前記少なくとも１つのデータベースに格納された前記少なくとも１つのスマートデバイスの前記設定のそれぞれと、デバイスの設定であって既知のデバイス脆弱性の設定と、を比較し、前記データベース内の同様の脆弱性を有する設定を識別することにより、前記少なくとも１つのスマートデバイスの少なくとも１つのネットワーク脆弱性を識別し、
前記設定のそれぞれと、前記データベース内の既知の脆弱性の設定とを比較して、前記データベース内の前記同様の脆弱性を有する設定を識別することにより、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを決定し、
前記少なくとも１つのスマートデバイスに命令を送信して、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを実行し、
前記アクションは、前記設定ファイル自体を変更することによって前記スマートデバイスの前記設定を調整することを含む、
システム。
【請求項９】
前記少なくとも１つのデバイスはルータであり、
前記サーバは、
ｗｅｂページを取得し且つドキュメントオブジェクトモデルに基づいて前記ｗｅｂページのＨｙｐｅｒ−Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）要素を解析することにより、前記少なくとも１つのスマートデバイスのｗｅｂインターフェースにアクセスし、且つ、前記ｗｅｂページは、前記スマートデバイスの設定を含み、
前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを利用して、前記少なくとも１つのスマートデバイスの前記設定を取得する、
ように構成される、請求項８に記載のシステム。
【請求項１０】
前記サーバは、
前記設定ファイルの行のブーリアン値を変更することにより、前記少なくとも１つのネットワーク脆弱性を修復するための命令を前記少なくとも１つのスマートデバイスに送信するように構成され、
前記設定ファイルは、前記少なくとも１つのスマートデバイスの少なくとも１つの設定に関連付けられた少なくとも１つのネットワーク脆弱性に対応する、
請求項９に記載のシステム。
【請求項１１】
前記サーバは、
前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを介して前記設定を調整することにより、少なくとも１つのネットワーク脆弱性を修復するための命令を少なくとも１つのスマートデバイスに送信するように構成され、
前記スマートデバイスの少なくとも１つの設定に対応するＨＴＭＬ制御要素を選択するために、ドキュメントオブジェクトモデルを使用して前記ｗｅｂページを修正する、
請求項９に記載のシステム。
【請求項１２】
前記サーバは、第２スマートデバイスにアクセスするために、
前記第２スマートデバイスへのｗｅｂアクセスを取得すること、
前記データネットワーク内の前記第２スマートデバイスのネットワークアドレスによるファイル転送を介して前記第２スマートデバイスにアクセスすること、
遠隔管理プロトコルを介して前記第２スマートデバイスにアクセスすること、
セキュアシェルプロトコルを介して前記第２スマートデバイスにアクセスすること、
のうちの少なくとも１つを実行するように構成される、
請求項８に記載のシステム。
【請求項１３】
前記サーバは、前記データネットワークを介して要求を送信するために、
前記ブロードキャストリクエストを前記ルータに送信し、
前記ルータは、前記ルータを介して前記データネットワークに通信可能に接続された複数のスマートデバイスに前記ブロードキャストリクエストをリダイレクトする、
ように構成される、請求項８に記載のシステム。
【請求項１４】
前記サーバは、前記少なくとも１つのスマートデバイスの設定を取得するために、前記少なくとも１つのスマートデバイスにアクセスするために、
ＵＰｎＰ（ＵｎｉｖｅｒｓａｌＰｌｕｇ-ａｎｄ-Ｐｌａｙ）プロトコルを用いて前記設定を取得する、
請求項８に記載のシステム。
【請求項１５】
コンピュータ実行可能命令を格納する非一時的なコンピュータ記録媒体であって、データネットワークに接続されたスマートデバイスの脆弱性を除去するためのコンピュータ実行可能命令を格納し、
前記コンピュータ実行可能命令は、要求送信ステップと、アクセスステップと、設定取得ステップと、比較ステップと、決定ステップと、命令送信ステップと、を指示するための命令を備え、
前記要求送信ステップは、サーバ上で実行されるクローラにより、少なくとも１つのスマートデバイスへのアクセスを得るために、前記データネットワークを介してブロードキャストリクエストを送信し、
前記アクセスステップは、前記クローラにより、前記少なくとも１つのスマートデバイスにアクセスし、
前記設定取得ステップは、前記クローラにより、前記少なくとも１つのスマートデバイスに格納された設定ファイルにアクセスし、前記スマートデバイスの設定を取得することによって、前記少なくとも１つのスマートデバイスの設定を取得し、前記少なくとも１つのスマートデバイスの設定は、前記少なくとも１つのスマートデバイスのパラメータ又は属性の一方、又は両方を含み、
前記比較ステップは、データベースに格納された前記少なくとも１つのスマートデバイスの前記設定のそれぞれと既知の脆弱性の設定とを比較し、前記データベース内の同様の脆弱性を有する設定を識別することにより、前記少なくとも１つのスマートデバイスの少なくとも１つのネットワーク脆弱性を識別し、
前記決定ステップは、前記設定のそれぞれと、前記データベース内の既知の脆弱性の設定とを比較して、前記データベース内の前記同様の脆弱性を有する設定を識別することにより、前記少なくとも１つのネットワーク脆弱性を修復するためのアクションを決定し、
前記命令送信ステップは、前記少なくとも１つのスマートデバイスに命令を送信して、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを実行し、
前記アクションは、前記設定ファイル自体を変更することによって前記スマートデバイスの前記設定を調整することを含む、
非一時的なコンピュータ記録媒体。
【請求項１６】
前記コンピュータ実行可能命令は、
ｗｅｂページを取得し且つドキュメントオブジェクトモデルに基づいて前記ｗｅｂページのＨｙｐｅｒ−Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）要素を解析することにより、前記少なくとも１つのスマートデバイスのｗｅｂインターフェースにアクセスし、且つ、前記ｗｅｂページは、前記スマートデバイスの設定を含むアクセスステップと、
前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを利用して、前記少なくとも１つのスマートデバイスの前記設定を取得する取得ステップと、
を指示するための命令を備える請求項１５に記載の非一時的なコンピュータ記録媒体。
【請求項１７】
前記コンピュータ実行可能命令は、
前記少なくとも１つのスマートデバイスに命令を送信する命令送信ステップであって、
前記設定ファイルの行の真の値と偽の値を変更することにより、前記少なくとも１つのネットワーク脆弱性を修復するための命令を前記少なくとも１つのスマートデバイスに送信し、前記設定ファイルは、前記少なくとも１つのスマートデバイスの少なくとも１つの設定に関連付けられた少なくとも１つのネットワーク脆弱性に対応する、命令送信ステップ、
を指示するための命令を備える請求項１６に記載の非一時的なコンピュータ記録媒体。
【請求項１８】
前記コンピュータ実行可能命令は、
前記少なくとも１つのスマートデバイスに命令を送信する命令送信ステップであって、
前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを介して前記設定を調整することにより、少なくとも１つのネットワーク脆弱性を修復するための命令を少なくとも１つのスマートデバイスに送信し、前記スマートデバイスの少なくとも１つの設定に対応するＨＴＭＬ制御要素を選択するために、ドキュメントオブジェクトモデルを使用して前記ｗｅｂページを修正する、命令送信ステップ、
を指示するための命令を備える請求項１６に記載の非一時的なコンピュータ記録媒体。
【請求項１９】
前記コンピュータ実行可能命令は、第２スマートデバイスにアクセスする第２アクセスステップを備え、
前記第２アクセスステップは、
前記第２スマートデバイスへのｗｅｂアクセスを取得すること、
ＵＰｎＰプロトコルを介して前記第２スマートデバイスにアクセスすること、
前記データネットワーク内の第２スマートデバイスのネットワークアドレスによるファイル転送を介して前記第２スマートデバイスにアクセスすること、
遠隔管理プロトコルを介して前記第２スマートデバイスにアクセスすること、
セキュアシェルプロトコルを介して前記第２スマートデバイスにアクセスすること、
のうちの少なくとも１つを指示するための命令を備える、
請求項１５に記載の非一時的なコンピュータ記録媒体。
【請求項２０】
前記コンピュータ実行可能命令は、
前記要求送信ステップとして、
前記ブロードキャストリクエストをルータに送信することを指示するための命令を備え、
前記ルータは、前記ルータを介して前記データネットワークに通信可能に接続された複数のスマートデバイスに要求をリダイレクトする、
請求項１５に記載の非一時的なコンピュータ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連発明の相互参照＞
本出願は、２０１６年５月６日に出願された米国特許出願第１５／１４８，１５３号の一部継続出願である。国特許出願第１５／１４８，１５３号は、３５Ｕ．Ｓ．Ｃ．１１９（ａ）−（ｄ）に基づく優先権を主張するものであり、２０１６年３月１８日に出願されたロシア出願第２０１６１０９９３１号を基礎出願とするものである。これらの出願の全内容は、参照により本明細書に組み込まれる。
【０００２】
本開示は、一般に、コンピュータセキュリティ及びアンチウィルス技術の分野に関し、より詳細には、インターネットにアクセス可能なスマートデバイスの脆弱性を除去するシステム及び方法に関する。
【背景技術】
【０００３】
現在、ますます多くのデバイスがインターネットに接続されている。例えば、ユーザーのコンピュータやスマートフォンをはじめ、テレビや冷蔵庫のような一般的なものまでがインターネットに接続される。新しいタイプのデバイスがインターネットに接続されると、「スマート」と形容される（スマートＴＶなど）。かかる形容は、主にマーケティング目的で使用される。スマートデバイスがインターネットに接続されると、ユーザーはデバイス自体をアップデートし、（冷蔵庫などの）デバイスの動作状況を監視し、デバイス自体をいわゆる「スマートホーム」のコンセプトに組み込むことができる。このコンセプトは、そのような「スマートな」デバイスを単一のポイントから制御することを可能にする。かかる制御は、デバイスの動作状況を確認し、ユーザー自信のニーズに合わせて調整することによって可能になる。「スマートホーム」のコンセプトには、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）として知られる別のコンセプトも含まれる。ＩｏＴにより、人間が直接関与することなく、前述のデバイスの相互通信が可能となる。
【０００４】
ユーザーに最初に目につくデバイスの１つはルータであり、ワイヤレスホームネットワークを構築することができる。さらに、今日、他の「スマート」デバイスをインターネットに接続することが可能になった。現在、多くのルータは、いわゆる異種ネットワークの構築をサポートしている。一例として、スマートデバイスのネットワークを挙げることができ、そのうちのいくつかはワイヤレスＷｉ−Ｆｉネットワークを介してルータに接続され、その他はＢｌｕｅｔｏｏｔｈを介してルータに接続される。
【０００５】
当然ながら、ネットワーク通信機能を有するデバイスの数が増加するにつれて、これらのデバイスの悪意の使用の試みが増加してきている。管理者権限を持つルータにアクセスすると、ルータを通過するネットワークトラフィックを確認することができる。「スマートウォッチ」などのデバイスにアクセスすると、このウォッチとペアリングされたデバイスのデータを確認することができる（例：スマートフォンにより確認可能）。これらのすべての操作は、データの盗難や改改ざんにつながる可能性がある。
【０００６】
従来のセキュリティシステムの分析では、多くのものが無効であることが示されている。また、場合によっては、インターネットにアクセス可能なデバイスの脆弱性を除去する本開示によってその欠点が解決される従来技術を利用することができない。
【発明の概要】
【０００７】
データネットワークに接続されたスマートデバイスの脆弱性を除去するシステム及び方法が開示される。例示的な態様によれば、本方法は、識別ステップと、アクセス取得ステップと、要求送信ステップと、アクセスステップと、比較ステップと、決定ステップと、命令送信ステップと、を備え、前記識別ステップは、プロセッサにより、データネットワークへのアクセスを提供するように構成されたルータを識別し、前記アクセス取得ステップは、前記プロセッサにより、前記ネットワークへのアクセスを取得し、前記要求送信ステップは、前記プロセッサにより、前記ルータに通信可能に接続された少なくとも１つのスマートデバイスへのアクセスを得るために、前記データネットワークを介して要求を送信し、前記アクセスステップは、前記少なくとも１つのスマートデバイスの設定を取得するために、前記少なくとも１つのスマートデバイスにアクセスし、前記比較ステップは、データベース内において、前記少なくとも１つのスマートデバイスの前記設定のそれぞれと、既知の脆弱性の設定と、を比較して、前記少なくとも１つのスマートデバイスの少なくとも１つの前記設定に関連付けられた少なくとも１つのネットワーク脆弱性を識別し、前記決定ステップは、前記プロセッサにより、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを決定し、前記命令送信ステップは、前記少なくとも１つのスマートデバイスに命令を送信して、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを実行する。
【０００８】
他の態様によれば、プロセッサにより、ｗｅｂページを取得し且つドキュメントオブジェクトモデルに基づいて前記ｗｅｂページの要素を解析することにより、前記少なくとも１つのスマートデバイスのｗｅｂインターフェースにアクセスするアクセスステップと、前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを利用して、前記少なくとも１つのスマートデバイスの前記設定を取得する取得ステップと、を備える。
【０００９】
他の態様によれば、前記少なくとも１つのスマートデバイスに命令を送信する命令送信ステップであって、前記少なくとも１つのスマートデバイスのファイルを変更することで前記ファイルの設定を調整することにより、前記少なくとも１つのネットワーク脆弱性を修復するための命令を前記少なくとも１つのスマートデバイスに送信する命令送信ステップ、を備える。
【００１０】
他の態様によれば、前記少なくとも１つのスマートデバイスに命令を送信する命令送信ステップであって、前記少なくとも１つのスマートデバイスのｗｅｂインターフェースを介して調整することにより、少なくとも１つのネットワーク脆弱性を修復するための命令を少なくとも１つのスマートデバイスに送信する命令送信ステップ、を備える。
【００１１】
他の態様によれば、前記アクセスステップは、前記少なくとも１つのスマートデバイスへのｗｅｂアクセスを取得すること、ＵＰｎＰプロトコルを介して少なくとも１つのスマートデバイスにアクセスすること、前記データネットワーク内の前記少なくとも１つのスマートデバイスのネットワークアドレスによるファイル転送を介して前記少なくとも１つのスマートデバイスにアクセスすること、遠隔管理プロトコルを介して前記少なくとも１つのスマートデバイスにアクセスすること、セキュアシェルプロトコルを介して前記少なくとも１つのスマートデバイスにアクセスすること、のうちの少なくとも１つを備える。
【００１２】
他の態様によれば、前記要求送信ステップは、前記要求を前記ルータに送信し、前記ルータは、前記ルータを介して前記データネットワークに通信可能に接続された複数のスマートデバイスに要求をリダイレクトする。
【００１３】
他の態様によれば、前記アクセス取得ステップは、ＵＰｎＰ（ＵｎｉｖｅｒｓａｌＰｌｕｇ−ａｎｄ−Ｐｌａｙ）プロトコルを用いて前記設定を取得する。
【００１４】
一態様によれば、データネットワークに接続されたスマートデバイスの脆弱性を除去するシステムが提供される。本システムは、  少なくとも１つのデータベースであって、ネットワーク脆弱性に関連するデバイスの設定と、ネットワーク脆弱性を修復するためのアクションと、を格納する少なくとも１つのデータベースと、プロセッサと、を備え、前記プロセッサは、データネットワークへのアクセスを提供するように構成されたルータを識別し、前記ネットワークへのアクセスを取得し、前記ルータに通信可能に接続された少なくとも１つのスマートデバイスへのアクセスを得るために、前記データネットワークを介して要求を送信し、前記少なくとも１つのスマートデバイスの設定を取得するために、前記少なくとも１つのスマートデバイスにアクセスし、前記少なくとも１つのデータベース内において、前記少なくとも１つのスマートデバイスの前記設定のそれぞれと、デバイスの設定であって既知のデバイス脆弱性の設定と、を比較して、前記少なくとも１つのスマートデバイスの少なくとも１つの前記設定に関連付けられた少なくとも１つのネットワーク脆弱性を識別し、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを決定し、前記少なくとも１つのスマートデバイスに命令を送信して、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを実行する。
【００１５】
他の態様によれば、コンピュータ実行可能命令を格納する非一時的なコンピュータ記録媒体が提供される。本記録媒体は、データネットワークに接続されたスマートデバイスの脆弱性を除去するためのコンピュータ実行可能命令を格納し、前記コンピュータ実行可能命令は、識別ステップと、アクセス取得ステップと、要求送信ステップと、アクセスステップと、比較ステップと、決定ステップと、命令送信ステップと、を指示するための命令を備え、前記識別ステップは、データネットワークへのアクセスを提供するように構成されたルータを識別し、前記アクセス取得ステップは、前記ネットワークへのアクセスを取得し、前記要求送信ステップは、前記ルータに通信可能に接続された少なくとも１つのスマートデバイスへのアクセスを得るために、前記データネットワークを介して要求を送信し、前記アクセスステップは、前記少なくとも１つのスマートデバイスの設定を取得するために、前記少なくとも１つのスマートデバイスにアクセスし、前記比較ステップは、データベース内において、前記少なくとも１つのスマートデバイスの前記設定のそれぞれと、既知の脆弱性の設定と、を比較して、前記少なくとも１つのスマートデバイスの少なくとも１つの前記設定に関連付けられた少なくとも１つのネットワーク脆弱性を識別し、前記決定ステップは、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを決定し、前記命令送信ステップは、前記少なくとも１つのスマートデバイスに命令を送信して、前記少なくとも１つのスマートデバイスの少なくとも１つの設定と関連する少なくとも１つのネットワーク脆弱性を修復するためのアクションを実行する。
【００１６】
上記の例示的な態様の簡略化された要約は、本開示の基本的な理解を提供するように機能する。この要約は、すべての企図された態様の広範な概要ではなく、すべての態様の重要な又は重要な要素を特定することも、本開示の任意の又はすべての態様の範囲を描写することも意図していない。その唯一の目的は、以下の開示におけるより詳細な説明の前置きとして、１つ又は複数の態様を簡略化した形で提示することである。前述の目的を達成するために、本開示の１つ以上の態様は、請求項に記載され、例示的に指摘される特徴を含む。
【図面の簡単な説明】
【００１７】
【図１】ルータに対するコンピュータ攻撃の例を示す。
【図２】スマートデバイスに対するコンピュータ攻撃の例を示す。
【図３】例示的な態様による、インターネットにアクセスす可能なデバイスの脆弱性を除去するためのシステムのブロック図を示す。
【図４】例示的な態様による、インターネットにアクセス可能なデバイスの脆弱性を除去するためのスマートデバイスを備えたシステムのブロック図を示す。
【図５】例示的な態様による、インターネットにアクセス可能なデバイスの脆弱性を除去するための方法のフローチャートを示す。
【図６】ＨＴＭＬページのＤＯＭモデルの例を示す。
【図７】開示されたシステム及び方法を実装することができる汎用コンピュータシステムの例を示す添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本開示の１つ以上の例示的な態様を示し、詳細な説明とともに、それらの原理及び実施形態を説明する役割を果たす。
【発明を実施するための形態】
【００１８】
例示的な態様は、本明細書において、インターネットにアクセス可能なスマートデバイスの脆弱性を除去するためのシステム、方法、及びコンピュータプログラム製品に関連して説明される。当業者であれば、以下の説明は例示的なものに過ぎず、何ら限定をするものではないことを理解するであろう。他の態様は、本開示の利益を有する当業者には容易に示唆されるであろう。以下、添付の図面に例示されている例示的な態様の実装を詳細に説明する。ここで、同一の符号が図面を通して使用される。また、同一の符号は同じ又は同様の要素を意味する。
【００１９】
本開示において、「スマートデバイス」という用語は、時計、ライト、カメラ、ディクタフォン、リストバンド、心拍モニタなどの日常的なアイテムのようなデバイスに加え、Ｗｉ−Ｆｉ又はＢｌｕｅｔｏｏｔｈ等の種々の接続を介してインターネット（又はローカルエリアネットワーク）にアクセス可能なデバイスを説明するために用いる。これらのデバイスは、ネットワーク接続を形成し、トラフィックを受信又は処理する。また、インタラクションのための個別のインターフェース（ＡＰＩ又はＡｐｐｌｉｃａｔｉｏｎＰｒｏｇｒａｍｍａｂｌｅＩｎｔｅｒｆａｃｅ）を備える。かかるインターフェースにより、デバイスのパラメータを監視するだけでなく、パラメータを設定することが可能になる。
【００２０】
図１は、ルータに対するコンピュータ攻撃の例を示す。ルータ１００は、（例えば、イーサネット又はＷｉ−Ｆｉを介して）コンピュータ１１０及びインターネット１３０の両方に接続されている。ルータは、以下のアクセスオプション有する。
・ｗｅｂアクセス。原則として、これはｈｔｔｐ：／／１９２．１６８．０．１のページに相当する。かかるページでは、管理者のログインとパスワードを入力すると、ユーザーはルータの設定にアクセスできる。
・設定／変数ファイルへのアクセス。ルータは独自のファイルシステムを持ち、設定ファイルに設定を保存する。これにより、ユーザーがこれらのファイルにアクセスする方法を知っている場合に、ファイルを変更することができる。
・さまざまなユーティリティの利用によるアクセス。たとえば、ＭｉｃｒｏｓｏｆｔＳＤＫの一部であるｆｄｂｒｏｗｓｅｒユーティリティを使用すると、ＵＰｎＰ（ＵｎｉｖｅｒｓａｌＰｌｕｇ−ａｎｄ−Ｐｌａｙ）プロトコルを利用してルータ設定にアクセスし、これを変更することができる。
【００２１】
当然ながら、ルータのように、ローカルエリアネットワークの重要な要素へのアクセスオプションの配列は、ハッカーに興味を抱かせる。例えば、多くのユーザーは管理者のデフォルトパスワードを変更しないため、ルータへのＷｅｂアクセスは脆弱である。ハッカーは、独自の目的でルータを使用するためのさまざまなオプションを有する。
・トラフィックの傍受。例えば、ＭｉｔＭ（中間者）攻撃を実行するトランザクションの傍受。
・ルータとその設定を後から制御するためのバックドアのインストール。ルータをプロキシサーバーとして使用することも、ＤＤｏＳ攻撃に巻き込むこともできる。
・ＤＮＳハイジャック。
【００２２】
そのようなアクションは、コンピュータ１１０上又はインターネット１３０上の悪意のあるプログラム１２０の助けを借りて、又はハッカー１４０からのコンピュータ攻撃の助けを借りて実現することができる。原則として、このような攻撃には、ルータ１００自体の探索、そのバージョン及び特定のバージョンの既知の脆弱性の判定、及び悪意のある攻撃が含まれる。
【００２３】
図２は、スマートデバイスに対するコンピュータ攻撃の例を示す。図１と比較して、図２では、「スマート」デバイスは、デバイス１５１−１５３の形態で示されている。攻撃ベクトルは、上記と同様に、コンピュータ１１０上又はインターネット１３０上の悪意のあるプログラム１２０の助けを借りて、又はハッカー１４０からのコンピュータ攻撃の助けを借りて実現することができる。このような攻撃には、デバイス１５１−１５３自体の探索、そのバージョン及び特定のバージョンの既知の脆弱性の判定、及び悪意のある攻撃が含まれる。
【００２４】
本明細書で説明するように、スマートデバイスは、ルータ１００に直接接続するのではなく、他のデバイスを介して接続される。例えば、スマートフォンを介してスマートウォッチが接続される。かかる接続の例として、スマートフォン「ＳａｍｓｕｎｇＧａｌａｘｙ」とスマートウォッチ「ＳａｍｓｕｎｇＧｅａｒ」のペアリングが挙げられる。ＷｅａｒａｂｌｅＭｅｓｓａｇｅＡＰＩのようなＡＰＩインターフェースは、デバイス間のリンクに使用することができる。
【００２５】
ここで、ハッカーがスマートデバイスに対してコンピュータ攻撃を成功させた場合に起こり得る問題があることを理解されたい。２０１５年１２月に発表されたインターネット出版物である「ＴｈｅＷｉｒｅｄ」の結論によれば、これらの問題の部分的なリストが提示される。
・「ＪｅｅｐＣｈｅｒｏｋｅｅ」自動車の多数のサブアセンブリの制御を可能にする。かかる制御には、スピードの制御さえも含まれる。
・診療所における特定の医療機器の制御。かかる制御には、例えば、自動的に患者に薬を投与することが含まれる。
・Ｗｉ−Ｆｉをサポートしている最新バージョンのバービー人形のなどのおもちゃでも、コンピュータ攻撃に対
【００２６】
確かに、スマートデバイスのメーカーは、既知の脆弱性を除去しようとしているが、多くの場合、セキュリティはこれらのデバイスの開発において優先事項には挙げられていない。したがって、ルータと「スマート」デバイスの脆弱性をその設定によって解決できる解決策が必要である。
【００２７】
図３は、例示的な態様によるシステムのブロック図を示す。ルータ１００の脆弱性を検出して訂正するためのシステム３００は、クローラ３３０、脆弱性検索モジュール３４０、脆弱性データベース３６０、設定ツール３５０、及び設定データベース３７０などのモジュールを含む。
【００２８】
脆弱性を検出して訂正するためのシステムの例示的な態様によれば、ルータ１００に接続されたコンピュータ上にアプリケーションの形態でインストールされた前述のモジュールを含む。
【００２９】
クローラ又は検索ロボット３３０は、既知のネットワークプロトコル（ＵＤＰなど）を利用して、ネットワーク内のアクセス可能なオブジェクト（ネットワークに接続されたコンピュータ、ルータ、スマートフォン及び他のデバイスなど）をソートするように設計されている。図３の説明の文脈において、ネットワーク内のオブジェクトはルータ１００であると仮定する。一般的なクローラ３３０のオペレーションは、ネットワークを介してブロードキャストリクエストを送信し、ネットワーク内のすべてのアクセス可能なオブジェクトからの応答を取得し、これらをさらに分析することを含む。クローラの例として、Ｇｏｏｇｌｅ又はＹａｎｄｅｘの検索ロボットを挙げることができる。
【００３０】
クローラ３３０によるネットワーク内のオブジェクトの分析には、フォローアルゴリズムが含まれる。具体的には、クローラ３３０は、ブロードキャストリクエスト後にネットワーク内のすべてのアクセス可能なオブジェクトのリストを取得した後、ある方法又は別の方法でオブジェクトへのアクセスを試みる。例示的な態様によれば、そのようなアクセスの例は、以下の通りである。
・Ｗｅｂアクセス。原則として、オブジェクトが１９２．１６８．０．１などのアドレスを返す場合、これはオブジェクトがルータであり、ＨＴＴＰプロトコルを介してアクセスできることを意味する。
・ＵＰｎＰプロトコルによるアクセス。
・ネットワーク内のオブジェクトのネットワークアドレスによるＦＴＰプロトコルを利用したアクセス。
・遠隔管理プロトコル（ＲＤＰ）を介したアクセス。
・ＳＳＨプロトコルによるアクセス。
【００３１】
ネットワーク内のオブジェクトへのアクセスには、承認が必要な場合がある。クローラが一般的なログイン／パスワードグループ（例：ａｄｍｉｎ／ａｄｍｉｎ、ａｄｍｉｎ／１ｑ２ｗ３ｅ、ｇｕｅｓｔ／ｇｕｅｓｔ又はその他）を使用して承認を行う場合又はオンライン自動認証技術（例：アクティブディレクトリ）を利用する場合、かかる承認は手動及び自動の両方で行うことができる。
【００３２】
例えば、ＵＰｎＰを介したアクセスの場合、ルータ１００を特徴付ける以下のデータフィールドを得ることができる。
・ＰＫＥＹ＿ＰＮＰＸ＿ＤｅｖｉｃｅＣａｔｅｇｏｒｙ
・ＰＫＥＹ＿ＰＮＰＸ＿Ｔｙｐｅｓ
・ＰＫＥＹ＿ＤｅｖｉｃｅＤｉｓｐｌａｙ＿ＦｒｉｅｎｄｌｙＮａｍｅ
・ＰＫＥＹ＿ＤｅｖｉｃｅＤｉｓｐｌａｙ＿Ｍａｎｕｆａｃｔｕｒｅｒ
・ＰＫＥＹ＿ＤｅｖｉｃｅＤｉｓｐｌａｙ＿ＭｏｄｅｌＮａｍｅ
・ＰＫＥＹ＿ＤｅｖｉｃｅＤｉｓｐｌａｙ＿ＭｏｄｅｌＮｕｍｂｅｒ
・ＰＫＥＹ＿ＰＮＰＸ＿ＰｒｅｓｅｎｔａｔｉｏｎＵｒｌ
・ＰＫＥＹ＿ＰＮＰＸ＿ＩｐＡｄｄｒｅｓｓ
・ＰＫＥＹ＿ＰＮＰＸ＿ＸＡｄｄｒｓ
・ＰＫＥＹ＿Ｄｅｖｉｃｅ＿ＬｏｃａｔｉｏｎＩｎｆｏ
【００３３】
以下は、クローラ３３０がルータ１００のウェブインタフェースにどのようにアクセスするかについての例である。クローラ３３０は、開始ｗｅｂページ（一般にアドレスｈｔｔｐ：／／１９２．１６８．０．１でアクセス可能）を取得し、ＤＯＭモデルに従ってその要素を解析し始める。ＤＯＭ（ドキュメントオブジェクトモデル）は、ＸＭＬ／ＨＴＭＬドキュメントに使用されるオブジェクトモデルである。簡単に言えば、ＤＯＭモデルは、タグツリーの形式でドキュメントを表現したものである。このツリーは、タグ及びページのテキスト断片の埋め込み構造によって構成され、それぞれが別々のノードを形成する。
【００３４】
図６は、ＨＴＭＬページのＤＯＭモデルの例を示す。ルートノードはタグＨＴＭＬであり、タグノードが埋め込まれたタグＨＥＡＤとタグＢＯＤＹを備える。ＤＯＭモデルのツリーを移動することで、必要なタグをすべて見つけ出し、そのパラメータ（タグＴＩＴＬＥのテキストなど）を決定することができる。
【００３５】
クローラ３３０のタスクは、ルータ１００から取得されたｗｅｂページのＤＯＭモデル内のすべての必要なタグを検索することである。必要なタグとしては、例えば、「Ａ」、「ＦＯＲＭ」、「ＩＮＰＵＴ」又は必要な情報を含むことができる他のタグが挙げられる。例えば、ルータ１００から得られるｗｅｂページのＤＯＭモデルの構造における重要なタグは、＜ａｈｒｅｆ＝"..."＞Ａｄｍｉｎｉｓｔｒａｔｉｏｎ＜／ａ＞である。これは、ルータの設定とそのアクセス権を持つページへのリンクである。
【００３６】
タグ＜ａ＞の本体に含まれるリンクに続いて、クローラ３３０は別のページに移動する。そして、かかるページにおいて、クローラ３３０は、ＷｅｂページのＤＯＭモデル内の必要なタグを全て再検索する。すべてのリンクをたどることによってすべてのページを移動することは、再帰的に行うことができる。また、重要な設定を示すタイトルが含まれる必要なリンクのみを追跡することにより行うこともできる。このようなリンクのタイトルとしては、「セットアップ」、「ワイヤレス」、「管理者」、「アクセス制限」、「管理」、「ネットワーク」、「セキュリティ」などが挙げられる。
【００３７】
クローラ３３０は、ネットワーク内のオブジェクトにアクセスすると、ルータ１００内の利用可能なリソースのリストを取得する。リソースにより、アクセス及び／又は調整可能なルータのパラメータ及び／又は属性が定義される。たとえば、ＦＴＰによるアクセスの場合、これはファイルパスのセットになる。ＨＴＴＰプロトコルによるアクセスの場合、これはｗｅｂページ（又は複数のｗｅｂページ）であってもよい。クローラ３３０はまた、オープンポート（例：８０８０）を決定する。クローラ３３０は、取得された利用可能なリソースリストを、脆弱性検索モジュール３４０に送信する。
【００３８】
脆弱性検索モジュール３４０は、利用可能なリソースリストを取得し、脆弱性データベース３６０を利用して、所定のリソースに関連する脆弱性の判定を試みる。前述のデータベースに格納される脆弱性を決定するための規則の例は、以下の通りである。
・規則１
アクセス可能なリソース（リソースのタイプ）：ネットワークポート
リソース（ポート）のステータス：８０８０、オープン
・規則２
アクセス可能なリソース（リソースのタイプ）：遠隔管理
リソースのステータス：アクセス可能
・規則３
アクセス可能なリソース（リソースのタイプ）：ＳＳＨによるアクセス
リソースのステータス：管理者権限で許可されたアクセス
【００３９】
以下のリストは、１つの例示的な態様による主要なタイプのリソースの例である。
・パスワード
・遠隔管理
・ＤＮＳ設定
・ネットワークポート
・Ｗｉ−Ｆｉ設定
・各種プロトコル（ＳＳＨ、Ｔｅｌｎｅｔ、ＦＴＰ、ＨＴＴＰ（Ｓ））によるアクセス
・ファイアウォール
・ＩＰＴＶ等のサービス
【００４０】
脆弱性検索モジュール３４０は、利用可能なリソースリストに含まれるリソースと、脆弱性データベース３６０に格納されたルールと、を比較して、リソースのタイプ及びステータス間の一致を調べる。一致していた場合、脆弱性検索モジュール３４０は、同様の脆弱性質を有すると判明したリソースを決定する。そして、同様の脆弱性を有すると判明したリソースに関する情報及びステータスを、設定ツール３５０に送信する。
【００４１】
設定ツール３５０は、設定データベース３７０を利用して、脆弱性検索モジュール３４０から得られた脆弱なリソース内の脆弱性を除去／修復する。
【００４２】
設定データベース３７０には、脆弱性データベース３６０に保持されているルールと類似のルールが含まれる。以下はそのようなルールの例である。
・規則Ａ
アクセス可能なリソース（リソースのタイプ）：遠隔管理
リソースのステータス：アクセス可能
解決策：ｗｅｂインターフェース又はルータ１００の他の設定オプションを介した想定し得る遠隔管理の除去
・規則Ｂ
アクセス可能なリソース（リソースのタイプ）：ＳＳＨによるアクセス
リソースのステータス：管理者権限で許可されたアクセス
解決方法：ｗｅｂインターフェース又はルータ１００の他の設定オプションを介したＳＳＨによるアクセスの遮断
・規則Ｃ
アクセス可能なリソース（リソースのタイプ）：管理者パスワード
リソースのステータス：ブルートフォースに抵抗不能
解決策：より強力なパスワードを選択（新しいパスワードの自動生成）
【００４３】
したがって、特定の例では、脆弱性データベース３６０における規則２と、設定データベース３７０における規則Ａと、が一致する。また、脆弱性データベース３６０における規則３と、設定データベース３７０における規則Ｂと、が一致する。さらに調整するには、解決策に示されたアクションを実行する必要がある。かかるアクションは、クローラ３３０を用いて実行されてもよい。
【００４４】
この解決策は、次のいずれかのようになる。
・ファイル自体を変更してルータ１００の設定ファイルを調整する（たとえば、ＳＳＨアクセス回線は「ＳＳＨｃｏｎｎｅｃｔｉｏｎ＝ｔｒｕｅ」のように表現され、その置換は、「ＳＳＨｃｏｎｎｅｃｔｉｏｎ＝ｆａｌｓｅ」となる）。
・ルータ１００のｗｅｂインターフェースによる調整。かかる調整は、ｗｅｂページの要素を巡回するクローラ３３０の動きと全く同じように見えるが、この場合を除いて、＜ｏｐｔｉｏｎ＞、＜ｂｕｔｔｏｎ＞、＜ｉｎｐｕｔ＞などの制御要素を検索する。
【００４５】
例えば、ＳＳＨによるアクセスを禁止した場合、以下の要素が検索される。
＜ｓｅｌｅｃｔｎａｍｅ＝"ｓｓｈ＿ｃｏｎｎｅｃｔ"＞
＜ｏｐｔｉｏｎ ｖａｌｕｅ＝"ｔｒｕｅ"＞Ｅｎａｂｌｅｄ＜／ｏｐｔｉｏｎ＞
＜ｏｐｔｉｏｎ ｖａｌｕｅ＝"ｆａｌｓｅ"＞Ｄｉｓａｂｌｅｄ＜／ｏｐｔｉｏｎ＞
＜／ｓｅｌｅｃｔ＞
その後、値が「ｆａｌｓｅ」の要素が選択される。
【００４６】
ルータ１００の調整のさらに別の例として、そのファームウェアを更新することがある。この場合、解決策として、設定データベース３７０は、ルータ１００のファームウェアのバージョンを格納する。そして、クローラ３３０及び後続の実行命令により、ファームウェアファイルをルータ１００に書き込む（例えば、ルータ１００のｗｅｂインターフェースを用いてもよい）。
【００４７】
図４は、例示的な態様による、「スマート」デバイスを備えたシステムのブロック図を示す。図示されるように、図４は、デバイス１５１−１５３（「スマート」デバイス）が追加された点以外は、図３と概ね同じである。ここで、「スマートデバイス」とは、時計、ライト、カメラ、ディクタフォン、リストバンド、心拍モニタなどの日常的なアイテムのようなデバイスに加え、Ｗｉ−Ｆｉ又はＢｌｕｅｔｏｏｔｈ等の種々の接続を介してインターネット（又はローカルエリアネットワーク）にアクセス可能なデバイスであってもよい。本実施形態では、「スマートデバイス」はルータ１００に接続される。デバイス１５１がルータ１００のＷｉ−Ｆｉネットワークに直接接続されている間、デバイス１５３はデバイス１５２を介してルータ１００に接続される。かかる接続の例として、スマートフォン「ＳａｍｓｕｎｇＧａｌａｘｙ（デバイス１５２）」とスマートウォッチ「ＳａｍｓｕｎｇＧｅａｒ（デバイス１５３）」のペアリングが挙げられる。かかるペアリングは、「ＳａｍｓｕｎｇＧａｌａｘｙ（デバイス１５２）」にインストールされた他のアプリケーションを用いて実行することができる。
【００４８】
クローラ３３０は、既知のネットワークプロトコル（ＵＤＰなど）を利用して、ネットワーク内の利用可能なオブジェクト（デバイス１５１−１５３など）をソートするように設計されている。図４の説明の文脈において、ネットワーク内のオブジェクトはデバイス１５１−１５３のうちのいずれかであると仮定する。一般的なクローラ３３０のオペレーションは、ネットワークを介してブロードキャストリクエストを送信し、ネットワーク内のすべての利用可能なオブジェクトからの応答を取得し、これらをさらに分析することを含む。ブロードキャストリクエストを送信するためには、ルータ１００を含むネットワークにクローラ３３０を登録する必要がある。したがって、第１のステップとして、（無線Ｗｉ−Ｆｉネットワークへのアクセスを許可するデバイスとして）のルータ１００を検出し、このネットワークに接続し、ブロードキャストリクエストのみを送信する。
【００４９】
クローラ３３０を用いたネットワーク内のオブジェクトの分析は、以下の通りである。すなわち、クローラ３３０は、ブロードキャストリクエスト後にネットワーク内のすべての利用可能なオブジェクトのリストを取得した後、ある方法又は別の方法でオブジェクトへのアクセスを試みる。例示的な態様によれば、そのようなアクセスの例は、以下の通りである。
・Ｗｅｂアクセス。
・ＵＰｎＰプロトコルによるアクセス。
・ネットワーク内のオブジェクトのネットワークアドレスによるＦＴＰプロトコルを利用したアクセス。
・遠隔管理プロトコル（ＲＤＰ）を介したアクセス。
【００５０】
ネットワーク内のオブジェクトへのアクセスには、承認が必要な場合がある。クローラが一般的なログイン／パスワードグループ（例：ａｄｍｉｎ／ａｄｍｉｎ、ａｄｍｉｎ／１ｑ２ｗ３ｅ、ｇｕｅｓｔ／ｇｕｅｓｔ又はその他）を使用して承認を行う場合又はオンライン自動認証技術（例：アクティブディレクトリ）を利用する場合、かかる承認は手動及び自動の両方で行うことができる。
【００５１】
クローラ３３０は、ネットワーク内のオブジェクトにアクセスすると、デバイス１５１−１５３のうちのいずれかに存在する利用可能なリソースのリストを取得する。たとえば、ＦＴＰによるアクセスの場合、これはファイルパスのグループになる。ＨＴＴＰプロトコルによるアクセスの場合、これはｗｅｂページ（又は複数のｗｅｂページ）であってもよい。クローラ３３０はまた、オープンポート（例：８０８０）を決定する。クローラ３３０は、取得された利用可能なリソースリストを、脆弱性検索モジュール３４０に送信する。
【００５２】
脆弱性検索モジュール３４０は、利用可能なリソースリストを取得し、脆弱性データベース３６０を利用して、所定のリソースに関連する脆弱性の判定を試みる。脆弱性検索モジュール３４０は、利用可能なリソースリストから各リソースを取得する。そして、かかるリソースと、脆弱性データベース３６０に格納されたルールと、を比較して、リソースのタイプ及びステータス間の一致を調べる。一致していた場合、脆弱性検索モジュール３４０は、同様の脆弱性質を有すると判明したリソースを決定する。そして、同様の「脆弱性」を有すると判明したリソースに関する情報及びステータスを、設定ツール３５０に送信する。
【００５３】
設定ツール３５０は、設定データベース３７０を利用して、脆弱性検索モジュール３４０から得られた脆弱なリソース内の脆弱性を修復する。設定データベース３７０には、脆弱性データベース３６０に保持されているルールと類似のルールが含まれる。さらに調整するには、解決策に示されたアクションを実行する必要がある。かかるアクションは、クローラ３３０を用いて実行されてもよい。
【００５４】
図５は、例示的な態様による方法のフローチャートを示す。図５に示されるように、ステップ５１０では、アクセス可能なデバイスの決定がなされる。かかる決定は、例えば、図３及び図４に詳細が示されるクローラ３３０を用いて実行することができる。上述の通り、本実施形態では、ルータ１００とデバイス１５１−１５３の双方にアクセスすることができる。後者の場合、まず、指定されたデバイスにアクセス可能なネットワークへのアクセスがリクエストされる。次に、ステップ５２０において、デバイス（ルータ１００及びデバイス１５１−１５３）の設定の決定がなされる。ここで、上述のごとく、かかる決定は、クローラ３３０を用いて実行することができる。次に、ステップ５３０において、脆弱性検索モジュール３４０により、取得した脆弱性の設定を分析する。次に、ステップ５４０において、設定ツール３５０は、発見された脆弱性を除去するためのアクションのリストを作成する。最後に、ステップ５５０において、クローラ３３０は、デバイス上の明確化されたリストに基づいてアクションを実行する。
【００５５】
図７は、実施形態に係り、本開示のシステムと方法が実装できる汎用コンピュータシステム（パーソナルコンピュータやサーバ等）の例を示している。コンピュータシステム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来より公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティングシステムをロードする際等、パーソナルコンピュータ２０の要素間の情報の伝達を担う基本的な手順を含む。
【００５６】
パーソナルコンピュータ２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式のドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式のドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びパーソナルコンピュータ２０の他のデータのストレージのための電源依存のモジュールである。
【００５７】
本開示は、ハードディスク２７、取り外し可能な磁気ディスク２９及び取り外し可能な光ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【００５８】
コンピュータ２０は、ファイルシステム３６を有し、記録されたオペレーティングシステム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザーは、入力デバイス（キーボード４０、マウス４２）を用いてコマンドと情報をパーソナルコンピュータ２０に入力することができる。他の入力デバイス（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータシステム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナルコンピュータは、スピーカー、プリンタ等の他の周辺の出力デバイス（不図示）を接続できる。
【００５９】
パーソナルコンピュータ２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図７に示すように、パーソナルコンピュータ２０の性質として説明した上述の要素全ての大多数を有するパーソナルコンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【００６０】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていにインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法（Ｂｌｕｅｔｏｏｔｈ接続等）もあることに留意されたい。
【００６１】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及びメソッドを実施し得る。ソフトウェアにおいて実装される場合は、メソッドは不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００６２】
様々な実施形態で、本開示のシステム及びメソッドが、モジュールとして実装され得る。ここで、用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図３において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【００６３】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本開示の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本開示の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【００６４】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【００６５】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
0006363139.tif 000002
【図２】
0006363139.tif 000003
【図３】
0006363139.tif 000004
【図４】
0006363139.tif 000005
【図５】
0006363139.tif 000006
【図６】
0006363139.tif 000007
【図７】
0006363139.tif 000008