(57)【要約】      （修正有）【課題】アクセス権に基づいてコンピューティングデバイス上でタスクを実行するためのシステムおよび方法を提供する。【解決手段】方法２００は、タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、タスクを特徴付けるデータを収集すること２１０と、アクセス権が決定されるまで呼び出されたファンクションを一時的に中断するようコンピューティングデバイスのオペレーティングシステムにリクエストを送信することと、収集したデータおよびタスクテンプレートに基づいてタスクの脅威レベルを決定すること２２０と、脅威レベルおよびテスト生成ルールに基づいてテストを生成して該テストをユーザに提示すること２３０と、テストの結果を解析して該結果に基づいてタスクのアクセス権１４１を決定すること２４０と、アクセス権に基づいてタスクを実行すること２５０とと、を含む。【選択図】図２
2020181567.tif 000002
【特許請求の範囲】
【請求項１】
アクセス権に基づいてコンピューティングデバイス上でタスクを実行する方法であって、
前記タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、前記タスクを特徴付けるデータを収集し、かつアクセス権が決定されるまで呼び出されたファンクションを一時的に中断するよう前記コンピューティングデバイスのオペレーティングシステムにリクエストを送信することと、
前記収集したデータおよびタスクテンプレートに基づいて、前記タスクの脅威レベルを決定することと、
前記脅威レベルおよびテスト生成ルールに基づいてテストを生成して該テストをユーザに提示することと、
前記テストの結果を解析して該結果に基づいて前記タスクのアクセス権を決定することと、
前記アクセス権に基づいて前記タスクを実行することと、
を含む方法。
【請求項２】
前記タスクは、
前記ユーザの個人または機密データを含むデータを処理するためのプロセスの制御と、
前記コンピューティングデバイス上で、または前記コンピューティングデバイスに通信可能に連結されている別のコンピューティングデバイス上で実行されるプロセスの制御と、
アプリケーションの制御と、
前記コンピューティングデバイスのオペレーティングシステムの動作パラメータの変更または設定と、
のうちの少なくとも１つを行うためのものである、請求項１に記載の方法。
【請求項３】
前記タスクは、
前記コンピューティングデバイス上の前記ユーザの個人または機密データの作成、修正、または削除と、
コンピュータネットワークを介したデータの送信と、
ファイルの作成または修正と、
前記コンピューティングデバイスの制御と、
前記コンピューティングデバイス上で動作するソフトウェアの制御と、
に関するタスクのうちの少なくとも１つである、請求項１に記載の方法。
【請求項４】
前記コンピューティングデバイスの制御のためのタスクは、少なくとも、
前記コンピューティングデバイスのファイルシステムのオブジェクトを処理し、
前記コンピューティングデバイスのオペレーティングシステムのオブジェクトの権利を処理し、
前記コンピューティングデバイス上のアプリケーションのグラフィックインターフェース構成要素を処理し、
前記コンピューティングデバイスの機器の動作モードを制御する
ためのタスクを含む、請求項３に記載の方法。
【請求項５】
前記タスクを特徴付けるデータは、少なくとも、複数のタスクの中から前記タスクを一意に識別するパラメータおよび属性と、前記タスクを実行するために必要な前記コンピューティングデバイスのパラメータおよび属性とを含む、請求項１に記載の方法。
【請求項６】
前記脅威レベルは、前記コンピューティングデバイスの情報セキュリティに危害を加えるタスクを実行する確率を表す数値として提供され、前記確率は、前記収集したデータ、および脅威レベルが既に決定された別のタスクとのタスクの類似性に基づくものである、請求項１に記載の方法。
【請求項７】
前記タスクの実行は、
仮想マシン上で前記タスクを実行することと、前記ユーザが前記テストに合格するかどうかを判断することと、
前記ユーザが前記テストに合格した場合に、前記仮想マシンで行われた変更を前記コンピューティングデバイスに適用することと、
を含む、請求項１に記載の方法。
【請求項８】
現在のタスクの前記脅威レベルは、１つまたは複数の過去のタスクの脅威レベルに応じて決定される、請求項１に記載の方法。
【請求項９】
アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムであって、
前記タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、前記タスクを特徴付けるデータを収集し、かつアクセス権が決定されるまで呼び出されたファンクションを一時的に中断するよう前記コンピューティングデバイスのオペレーティングシステムにリクエストを送信し、
前記収集したデータおよびタスクテンプレートに基づいて、前記タスクの脅威レベルを決定し、
前記脅威レベルおよびテスト生成ルールに基づいてテストを生成して該テストをユーザに提示し、
前記テストの結果を解析して該結果に基づいて前記タスクのアクセス権を決定し、
前記アクセス権に基づいて前記タスクを実行する、
ように構成された少なくとも１つのプロセッサを含むシステム。
【請求項１０】
前記タスクは、
前記ユーザの個人または機密データを含むデータを処理するためのプロセスの制御と、
前記コンピューティングデバイス上で、または前記コンピューティングデバイスに通信可能に連結されている別のコンピューティングデバイス上で実行されるプロセスの制御と、
アプリケーションの制御と、
前記コンピューティングデバイスのオペレーティングシステムの動作パラメータの変更または設定と、
のうちの少なくとも１つを行うためのものである、請求項９に記載のシステム。
【請求項１１】
前記タスクは、
前記コンピューティングデバイス上の前記ユーザの個人または機密データの作成、修正、または削除と、
コンピュータネットワークを介したデータの送信と、
ファイルの作成または修正と、
前記コンピューティングデバイスの制御と、
前記コンピューティングデバイス上で動作するソフトウェアの制御と、
に関するタスクのうちの少なくとも１つである、請求項９に記載のシステム。
【請求項１２】
前記コンピューティングデバイスの制御のためのタスクは、少なくとも、
前記コンピューティングデバイスのファイルシステムのオブジェクトを処理し、
前記コンピューティングデバイスのオペレーティングシステムのオブジェクトの権利を処理し、
前記コンピューティングデバイス上のアプリケーションのグラフィックインターフェース構成要素を処理し、
前記コンピューティングデバイスの機器の動作モードを制御する
ためのタスクを含む、請求項１１に記載のシステム。
【請求項１３】
前記タスクを特徴付ける前記データは、少なくとも、複数のタスクの中から前記タスクを一意に識別するパラメータおよび属性と、前記タスクを実行するために必要な前記コンピューティングデバイスのパラメータおよび属性とを含む、請求項９に記載のシステム。
【請求項１４】
前記脅威レベルは、前記コンピューティングデバイスの情報セキュリティに危害を加えるタスクを実行する確率を表す数値として提供され、前記確率は、前記収集したデータ、および脅威レベルが既に決定された別のタスクとのタスクの類似性とに基づくものである、請求項９に記載のシステム。
【請求項１５】
前記タスクの実行は、
仮想マシン上で前記タスクを実行することと、前記ユーザが前記テストに合格するかどうかを判断することと、
前記ユーザが前記テストに合格した場合に、前記仮想マシンで行われた変更を前記コンピューティングデバイスに適用することと、
を含む、請求項９に記載のシステム。
【請求項１６】
現在のタスクの前記脅威レベルは、１つまたは複数の過去のタスクの脅威レベルに応じて決定される、請求項９に記載のシステム。
【請求項１７】
アクセス権に基づいてコンピューティングデバイス上でタスクを実行するためのコンピュータ実行可能命令を記憶している非一時的なコンピュータ可読記憶媒体であって、
前記タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、前記タスクを特徴付けるデータを収集し、かつアクセス権が決定されるまで呼び出されたファンクションを一時的に中断するよう前記コンピューティングデバイスのオペレーティングシステムにリクエストを送信し、
前記収集したデータおよびタスクテンプレートに基づいて、前記タスクの脅威レベルを決定し、
前記脅威レベルおよびテスト生成ルールに基づいてテストを生成して該テストをユーザに提示し、
前記テストの結果を解析して該結果に基づいて前記タスクのアクセス権を決定し、
前記アクセス権に基づいて前記タスクを実行する、
ための命令を含む、非一時的なコンピュータ可読媒体。
【請求項１８】
前記タスクは、
前記ユーザの個人または機密データを含むデータを処理するためのプロセスの制御と、
前記コンピューティングデバイス上で、または前記コンピューティングデバイスに通信可能に連結されている別のコンピューティングデバイス上で実行されるプロセスの制御と、
アプリケーションの制御と、
前記コンピューティングデバイスのオペレーティングシステムの動作パラメータの変更または設定と、
のうちの少なくとも１つを行うためのものである、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記タスクは、
前記コンピューティングデバイス上の前記ユーザの個人または機密データの作成、修正、または削除と、
コンピュータネットワークを介したデータの送信と、
ファイルの作成または修正と、
前記コンピューティングデバイスの制御と、
前記コンピューティングデバイス上で動作するソフトウェアの制御と、
に関するタスクのうちの少なくとも１つである、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記コンピューティングデバイスの制御のためのタスクは、少なくとも、
前記コンピューティングデバイスのファイルシステムのオブジェクトを処理し、
前記コンピューティングデバイスのオペレーティングシステムのオブジェクトの権利を処理し、
前記コンピューティングデバイス上のアプリケーションのグラフィックインターフェース構成要素を処理し、
前記コンピューティングデバイスの機器の動作モードを制御する
ためのタスクを含む、請求項１９に記載の非一時的なコンピュータ可読媒体。
【請求項２１】
前記タスクを特徴付ける前記データは、少なくとも、複数のタスクの中から前記タスクを一意に識別するパラメータおよび属性と、前記タスクを実行するために必要な前記コンピューティングデバイスのパラメータおよび属性とを含む、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２２】
前記脅威レベルは、前記コンピューティングデバイスの情報セキュリティに危害を加えるタスクを実行する確率を表す数値として提供され、前記確率は、前記収集したデータ、および脅威レベルが既に決定された別のタスクとのタスクの類似性とに基づくものである、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２３】
前記タスクの実行は、
仮想マシン上で前記タスクを実行することと、前記ユーザが前記テストに合格するかどうかを判断することと、
前記ユーザが前記テストに合格した場合に、前記仮想マシンで行われた変更を前記コンピューティングデバイスに適用することと、
を含む、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２４】
現在のタスクの前記脅威レベルは、１つまたは複数の過去のタスクの脅威レベルに応じて決定される、請求項１７に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータセキュリティ分野に関し、より詳細には、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法に関する。
【背景技術】
【０００２】
仮想マシンは、現在のネットワークにおいてユビキタスになっている。仮想マシン（Virtual  Machine：ＶＭ）は、物理マシン（例えば、コンピュータまたはサーバ）内部のコンピューティング環境を仮想化するソフトウェア環境である。物理マシンは、「ホストマシン」としても知られている。
【０００３】
過去１０年間のコンピュータ技術の急速な発展、および種々のコンピューティングデバイス（パーソナルコンピュータ、ノートブック、タブレット、スマートフォンなど）の普及は、多様な活動分野での膨大な数のタスク（インターネットサーフィンから銀行振替およびファイル転送まで）に対するデバイスの使用に強力に影響を及ぼしている。コンピューティングデバイスの数、およびこれらのデバイス上のソフトウェアの実行量が増え続けるにつれて、これらのデバイス上で処理されるデータへのアクセスを認可する方法の数も増え続けている。加えて、悪意あるプログラムおよびこのデータを利用する不正方法の数も、急速に増え続けている。したがって、情報セキュリティの問題は、特に重要になりつつある。
【０００４】
現在、多くの種類の悪意あるプログラムが存在する。悪意あるプログラムには、個人データおよび機密データ（例えば、ログインおよびパスワード、銀行情報、ファイル）をユーザのデバイスから盗むものもある。その他の悪意あるプログラムは、分散型サービス不能（Distributed  Denial  of  Service：ＤＤｏＳ）攻撃、または例えばブルートフォース攻撃によるパスワードの解読などの、他のコンピュータまたはコンピュータネットワークに対する攻撃のために、ユーザのデバイスからいわゆるボットネットを形成する。さらに、他の悪意あるプログラムは、侵入的な広告、有料定期購読、例えば、ショートメッセージサービス（Short  Message  Services：ＳＭＳ）による通話番号へのメッセージ送信などを通して、ユーザに有料コンテンツを勧めるように設計されている。
【０００５】
上述の脅威を減らすアプローチの１つは、アンチウイルスプログラムを使用することである。しかし、実際には、一定の状況ではアンチウイルスプログラムは効果がない。例えば、このアプローチは、コンピュータシステムに対する標的型サイバー攻撃（例えば、先進的で執拗な攻撃（Advanced  Persistent  Threats：ＡＰＴ））の場合には効果がない。別の例では、アンチウイルスプログラムは、感染が生じる場合に、コンピュータシステム上で（例えば、アンインストールされて、または接続が切れて）作動しない場合もある。したがって、このアプローチは、一部のシナリオでは役立たない可能性がある。
【０００６】
より信頼性の高い防御策では、上述のアプローチと共に、アンチウイルスプログラムの動作の補正および補足に関するユーザの専門知識を活用することが必要な場合が多い。例えば、ユーザは、複数の手段から課題解決方法を選択するか、または、ユーザは、システムが作動し続けることができるように、システムにデータを入力する場合もある。例えば、不正アクセス、標的型サイバー攻撃、不明なプログラムの実行、のうちの１つまたは複数をシステムが検出できるよう、ユーザがデータを入力する場合もある。この目的のために、認可（ログインおよびバスワード）、ユーザアクションの判定、および自動公開チューリングテストの実行のためのツールが用いられる。これらのツールにより、ユーザは、コンピューティングデバイスのセキュリティシステムの構成要素と相互作用することができる。
【０００７】
しかし、ユーザの専門知識が用いられる場合であっても、弱点が存在する。例えば、自動公開チューリングテストは、システムにおいて人間が存在するかどうかを判定し、きわめて重要なタスクが自動的に実行されないようブロックするように設計されるが、標的型サイバー攻撃や、マシンがテストに合格することを阻止しない可能性がある。例えば、極めて特化された自動化アルゴリズムが、既定の良く知られたテスト（例えば、テキスト識別ベースのテスト）を合格するように作成される可能性もある。テストの静的特性により、攻撃者には、テストを徹底的に研究し、テストを合格するためのアルゴリズムを開発する時間が与えられる。したがって、データセキュリティに関する既知の技術は、例えば自動公開チューリングテストを伴ったタスクの実行を求めるリクエストを回避するような悪意あるプログラムによる攻撃に対して脆弱である。
【０００８】
したがって、コンピュータリソースへのアクセスを認可し、アクセス権に基づいて、コンピューティングデバイスの情報セキュリティにきわめて重要なアクションを実行するためのより最適な解決法が必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本開示の態様は、コンピュータセキュリティ分野に関し、より詳細には、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法に関する。
【課題を解決するための手段】
【００１０】
一例示的態様では、アクセス権に基づいてコンピューティングデバイス上でタスクを実行する方法が、ハードウェアプロセッサを備えたコンピュータに実装され、該方法は、タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、タスクを特徴付けるデータを収集し、かつアクセス権が決定されるまで呼び出されたファンクションを一時的に中断するようコンピューティングデバイスのオペレーティングシステムにリクエストを送信することと、収集したデータおよびタスクテンプレートに基づいて、タスクの脅威レベルを決定することと、脅威レベルおよびテスト生成ルールに基づいてテストを生成して該テストをユーザに提示することと、テストの結果を解析して該結果に基づいてタスクのアクセス権を決定することと、アクセス権に基づいてタスクを実行することとを含む。
【００１１】
本開示の一態様に従って、システムが、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するために提供され、該システムは、タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、タスクを特徴付けるデータを収集し、かつアクセス権が決定されるまで呼び出されたファンクションを一時的に中断するようコンピューティングデバイスのオペレーティングシステムにリクエストを送信し、収集したデータおよびタスクテンプレートに基づいて、タスクの脅威レベルを決定し、脅威レベルおよびテスト生成ルールに基づいてテストを生成してユーザにそのテストを提示し、テストの結果を解析してその結果に基づいてタスクのアクセス権を決定し、アクセス権に基づいてタスクを実行するように構成されたハードウェアプロセッサを含む。
【００１２】
一例示的態様では、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するための命令のセットを記憶している非一時的なコンピュータ可読媒体が提供され、ここで、該命令のセットは、タスクを実行するのに使用されるファンクション呼び出しをインターセプトすることによって、タスクを特徴付けるデータを収集し、かつアクセス権が決定されるまで呼び出されたファンクションを一時的に中断するようコンピューティングデバイスのオペレーティングシステムにリクエストを送信し、収集したデータおよびタスクテンプレートに基づいて、タスクの脅威レベルを決定し、脅威レベルおよびテスト生成ルールに基づいてテストを生成してユーザにそのテストを提示し、テストの結果を解析してその結果に基づいてタスクのアクセス権を決定し、アクセス権に基づいてタスクを実行するための命令を含む。
【００１３】
一態様では、タスクは、ユーザの個人または機密データを含むデータを処理するためのプロセスの制御と、コンピューティングデバイス上で、または該コンピューティングデバイスに通信可能に連結されている別のコンピューティングデバイス上で実行されるプロセスの制御と、アプリケーションの制御と、コンピューティングデバイスのオペレーティングシステムの動作パラメータの変更または設定と、のうちの少なくとも１つを行うためものである。
【００１４】
一態様では、タスクは、コンピューティングデバイス上のユーザの個人または機密データの作成、修正、または削除と、コンピュータネットワークを介したデータの送信と、ファイルの作成または修正と、コンピューティングデバイスの制御と、コンピューティングデバイス上で動作するソフトウェアの制御に関するタスクのうち、少なくとも１つである。
【００１５】
一態様では、コンピューティングデバイスを制御するタスクは、少なくとも、コンピューティングデバイスのファイルシステムのオブジェクトを処理し、コンピューティングデバイスのオペレーティングシステムのオブジェクトの権利を処理し、コンピューティングデバイス上のアプリケーションのグラフィックインターフェース構成要素を処理し、コンピューティングデバイスの機器の動作モードを制御するためのタスクを含む。
【００１６】
一態様では、タスクを特徴付けるデータは、少なくとも、複数のタスクの中から該タスクを一意に識別するパラメータおよび属性と、タスクを実行するために必要なコンピューティングデバイスのパラメータおよび属性とを含む。
【００１７】
一態様では、脅威レベルは、コンピューティングデバイスの情報セキュリティに危害を加えるタスクを実行する確率を表す数値として提供され、該確率は、収集したデータ、および脅威レベルが既に決定された別のタスクとのタスクの類似性に基づくものである。
【００１８】
一態様では、タスクの実行は、仮想マシン上でタスクを実行することと、ユーザがテストに合格するかどうかを判断することと、ユーザがテストに合格した場合に、仮想マシンで行われた変更をコンピューティングデバイスに適用することとを含む。
【００１９】
一態様では、現在のタスクの脅威レベルは、１つまたは複数の過去のタスクの脅威レベルに応じて決定される。
【００２０】
一態様では、本開示の方法により、アクセス権に基づいてコンピューティングデバイス上でタスクを実行する。方法は、コンピューティングデバイス上でユーザが実行するアクションに応じてユーザを認可するように設計される。本開示の方法は、有利には、データの情報セキュリティを可能にする。
【図面の簡単な説明】
【００２１】
本明細書に組み込まれ、かつ本明細書の一部を構成する添付図面は、発明を実施するための形態と共に本開示の１つまたは複数の例示的態様を示すものであり、それらの原理および実装形態を説明するために提供される。
【００２２】
【図１】図１は、本開示の態様に従って、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムの例示的構造図を示す図である。
【図２】図２は、本開示の態様に従って、アクセス権に基づいてコンピューティングデバイス上でタスクを実行する方法を示す図である。
【図３】図３は、例示的な補正可能自動公開チューリングテストを示す図である。
【図４】図４は、本開示の態様に従って、コンピューティングデバイス上でユーザを認可するシステムの一例を示す図である。
【図５】図５は、本開示の態様に従って、コンピューティングデバイス上でユーザを認可する方法を示す図である。
【図６】図６は、本開示の態様が実装され得る汎用コンピュータシステムの一例を示す図である。
【発明を実施するための形態】
【００２３】
本明細書では、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステム、方法、およびコンピュータプログラムとの関連において例示的態様を記載する。以下の説明は単に例示にすぎず、いかなる点においても限定することを意図するものではないことを当業者であれば理解されるであろう。その他の態様は、本開示より利益を得る当業者であれば容易に連想されるであろう。添付図面に示される例示的な態様の実装形態について、以下で詳しく説明する。同一または類似の項目については、図面および以下の説明を通して、可能な範囲で同じ参照番号を使用する。
【００２４】
本開示の教示を明瞭に提示するために、本開示の種々の態様を説明する際に使用されるいくつかの用語および概念が、本明細書において定義される。
【００２５】
自動公開チューリングテスト（例えば、Completely  Automated  Public  Turing  test  to  tell  Computers  and  Humans  Apart：ＣＡＰＴＣＨＡ、コンピュータと人間を区別するための完全自動公開チューリングテスト）は、システムのユーザが人間か、マシン（例えば、コンピュータ）かを判断するのに使用されるコンピュータテストである。
【００２６】
「保護された情報」とは、独自の情報であり、法的文書の要件、または情報の所有者によって定められる要件に従って保護の対象となる情報を意味する。
【００２７】
「クリティカルユーザデータ」とは、個人（きわめて重要なデータの主体）または個人が作業しているシステム（例えば、コンピューティングデバイス）に重大な危害を加えるのに使用（例えば、修正、削除、複製）され得るデータを意味する。
【００２８】
「個人データ」とは、個人の姓、名、ミドルネーム、生年月日、出身地、住所、親族、社会的および財政的なステータス、学歴、職業、収入またはその他の情報を含む情報に基づいて特定される、または特定可能な個人（すなわち、個人データの主体）に関するいずれかの情報を意味する。
【００２９】
「アクセスルール」は、主体（ユーザ）が保護された情報（例えば、個人データ）およびそのキャリアにアクセスする順序および１つまたは複数の条件を定める一連のルールを意味する。
【００３０】
「アクセス権」とは、保護された情報にアクセスする場合に使用される一連のルールを意味する。アクセス権は、法的文書または情報の所有者によって定められる。
【００３１】
「標的型サイバー攻撃」（ＡＰＴ−先進的で執拗な攻撃）とは、攻撃の中核の人物によって、リアルタイムで、手動で制御されるサイバー攻撃のタイプを指す。攻撃の目的は、特定の企業、組織、または政府のサービスの情報システムから、保護された情報を盗むことである。標的型攻撃の主要な際立った特徴としては、標的型攻撃を実行するための、攻撃の持続時間、リソースを浪費する長い準備期間、および技術および／またはコンピュータシステムの使用が挙げられる。標的型攻撃の設計に向けた包括的なアプローチとしては、心理状態を利用して人々に積極的に影響を与えること、ソーシャルエンジニアリング法、装置に対するゼロデイエクスプロイトなどが挙げられる。
【００３２】
自動公開チューリングテストは、抽象的な問題を単に人間的な方法で解答することに基づくものであり、これらのチューリングテストを解く各ユーザは、そのユーザ独自の方法で個別にそれを解く。ユーザの独自性としては、テストに合格するスピード、テストに合格する際のユーザが実行するアクション、および個人の経験から学習してテストに合格するために使用する方法を補正する可能性などの特徴が挙げられる。例えば、テストに合格するこのような個々の方法の最もシンプルな例は、デスク上のオブジェクトを一箇所から別のところへ移動すること、または、左から右に配列された多くの構成要素から１つを選択することなどを含む。したがって、このようなチューリングテストは、テストを受けているのが人間なのかマシンなのかを判断できるだけではなく、所定のテストを以前に受けたことのあるどの個人が現在テストを受けているかを正確に判断することができる。チューリングテストのこれらの原理は、コンピューティングデバイス上で実行されるきわめて重要なタスクを人間に確認させることによって、コンピューティングデバイスの情報セキュリティを強化するための基盤を形成するものである。
【００３３】
図１は、本開示の態様に従って、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムの例示的構造図１００を示す。
【００３４】
コンピューティングデバイス上でタスクを実行するシステムの構造図は、データ収集部１１０、脅威評価部１２０、テスト生成部１３０、解析部１４０、訓練部１５０、ルール生成部１６０、およびタスクテンプレート生成部１７０を含む。
【００３５】
データ収集部１１０は、コンピューティングデバイスの制御タスク（以下、タスク１０１）を特徴付けるデータを収集し、かつ脅威評価部１２０に該収集したデータを送信するように設計されている。
【００３６】
一態様では、コンピューティングデバイスのタスク１０１は、コンピュータネットワークを介してデータ（例えば、ファイル）を作成、修正、削除または送信するタスクを含む場合がある。
【００３７】
一態様では、コンピューティングデバイスのセキュリティにきわめて重要であると認められる場合、タスク１０１は、後述するように、解析部１４０によって制御タスク１０１のアクセス権が決定されるまで、コンピューティングデバイス上での実行をブロックされる。
【００３８】
例えば、ファイルの削除、ハードディスクへの書込み、またはコンピュータネットワークを通したデータの送信などのタスク１０１は、（例えば、以前に収集されて解析された、異なるコンピューティングデバイスに対するサイバー攻撃の統計に基づいて）コンピューティングデバイスのセキュリティにきわめて重要であると認められた場合、（解析部１４０によって決定されるまで）コンピューティングデバイス上での実行を一時的にブロックされる。これらのタスク１０１のために、これらのタスク１０１を特徴付けるデータが収集され、コンピューティングデバイスのユーザが、テスト生成部１３０によって生成された自動公開チューリングテストに合格した後に、対応するアクセス権１４１に従って、コンピューティングデバイス上で上述のタスク１０１（ファイルの削除、ハードディスクへの書込み、またはコンピュータネットワークを通したデータの送信）を実行する許可が与えられる（例えば、オペレーティングシステムに対して対応するコマンドが出される、これらのタスク１０１を実行するプロセスのブロックまたはブロック解除のためにＡＰＩが使用される、など）。
【００３９】
さらに別の態様では、タスク１０１を特徴付けるデータの収集は、それぞれのタスク１０１を実行するのに使用されるファンクション呼び出しをインターセプトすることによって行われる。ファンクション呼び出しのインターセプションは、専用のドライバを用いて行われてもよい。
【００４０】
例えば、専用のドライバを用いて、所定のタスク１０１を実行するのに使用されるＡＰＩファンクション呼び出しがインターセプトされる。例えば、Ｗｉｎｄｏｗｓオペレーティングシステムで実行されるような、コンピュータネットワークにデータを送信するタスク１０１は、ネットワークドライバによってインターセプトされ得る関数ｓｏｃｋｅｔ、ｒｅｃｖ、ｓｅｎｄなどを使用する。
【００４１】
さらに別の例では、実行されるタスク１０１がいくつかの部分タスクを含む場合、異なるデータ収集方法を併せて使用してもよい。例えば、ソフトウェアをインストールするタスクは、ディスクにインストールされるファイルに書き込むためにファイルシステムを処理し、インストールされるファイルを解凍する操作を実施するために大きなデータ容量を割り当てるようメモリを処理し、インストールされるソフトウェアのパラメータを入力するためにレジスタを処理する、などの部分タスクを含む。この場合、ファイルシステムドライバは、ＣｒｅａｔｅＦｉｌｅ、ＲｅａｄＦｉｌｅ、ＷｒｉｔｅＦｉｌｅなどによって実行されるファンクションを追跡するのに使用され、フックは、ＨｅａｐＡｌｌｏｃ、ＶｉｒｔｕａｌＡｌｌｏｃ、ＣｒｅａｔｅＦｉｌｅＭａｐｐｉｎｇなどによって実行されるファンクションを追跡するためにインストールおよび使用され、ならびにソフトウェア設定ファイル、ソフトウェアインストールログなどは、ソフトウェアの動作に影響するパラメータを決定するために監視および解析される。
【００４２】
さらに別の例では、ファンクション呼び出しがインターセプトされた後に、呼び出されたファンクションを一時的に中断するようオペレーティングシステムにリクエストを送信することにより、呼び出されたファンクションが実行されないようにする。例えば、スプライシング技術を用いた場合、ＷｉｎＡＰＩファンクション（例えば、ＣｒｅａｔｅＦｉｌｅ）が呼び出されると、監視対象のアプリケーションはまず監視するアプリケーション（例えば、ドライバ）を参照し、その場合にのみ、ドライバは、インターセプトされたファンクションの呼び出しを実行するためオペレーティングシステムにリダイレクトする。一方、ドライバの論理が要求する場合、インターセプトされたファンクションは、オペレーティングシステムに送信されず、この場合、呼び出されたファンクションが正常に実行されたとアプリケーションが「判断」できるよう、インターセプトされたファンクションを呼び出した監視対象アプリケーションに必要なデータが送信される。
【００４３】
さらに別の態様では、タスク１０１は、少なくとも、以下に挙げるタスクを意味する。
・ユーザが直接処理する、ユーザまたは法人の個人または機密データ（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅファイル）を含む、情報セキュリティにきわめて重要なデータを処理するためのコンピューティングデバイスのオペレーティングシステムによって実行されるプロセスの制御。実行されるプロセスは、ファイルの作成、修正又は削除、コンピューティングデバイスへのソフトウェアのインストール、データアーカイブ処理などのために行われることがある。
・クライアントサーバアーキテクチャなどのコンピュータネットワーク内の所定のコンピューティングデバイス上、または所定のデバイスに接続されている他のコンピューティングデバイス上のオペレーティングシステムによって実行されるプロセスの制御。所定のコンピューティングデバイスと他のコンピューティングデバイスとの間の相互作用は、一例では、ウェブブラウザを使用するサイトとの相互作用である場合がある。この場合、データ収集部１１０および解析部１４０は、異なるクライアントおよび／またはサーバ上で操作される場合がある。
・ユーザによるデータの入力またはそのデータの解析の制御を含む、アプリケーションのグラフィックインターフェースを使用するアプリケーションの制御。例えば、タスク１０１は、管理ツールを用いるログインおよびパスワードなどの機密ユーザデータの入力を含む場合があり、この際、どのタイプの機密データが入力されるかだけではなく、データを入力するのに使用される方式およびインターフェース（すなわち、データを入力するのに使用される手段）も重要である。別の例では、情報は、システムでユーザによって実行されたアクションのリスト、使用されたアプリケーションのグラフィカルインターフェースの構成要素のリスト、データを入力するのにマウスがどのように移動したかに関連する情報、データを入力するのに押されたボタンに関する情報などに関して収集される。
・オペレーティングシステムのモードの変更を含む、オペレーティングシステムの動作パラメータの変更または設定（すなわち、たとえばアクセス権１４１の制御のため、ユーザによって実行されるアクションおよびオペレーティングシステム内で動作するアプリケーションに、オペレーティングシステムが対応する方法）。例えば、変更または構成は、アプリケーションおよび／またはユーザによって管理者権限およびアクセス権を制御するためのものなどである場合がある。
【００４４】
第１の例では、クライアントサーバアーキテクチャを使用する場合、データは、クラウド（１つの遠隔リソース）に格納され、サーバ（もう１つの遠隔リソース）で処理され、そのクライアントからの要求に応じてサーバ（ローカルリソース）によってクライアントに送信される。この場合、タスク１０１はサーバ上で実行されるが、タスクを実行可能にするためにデータはクライアントからリクエストされ、データ収集部１１０、脅威評価部１２０、およびテスト生成部１３０はサーバ上で動作し、解析部１４０はクライアント上で動作する。第２の例では、その逆の状況が可能であり、この場合、データ収集部１１０、脅威評価部１２０、およびテスト生成部１３０はクライアント上で動作し、解析部１４０はサーバ上で動作する。クライアントサーバアーキテクチャで、どのオペレーションスキームが選択されるかに応じて、情報セキュリティが、クライアント（第１の例）またはサーバ（第２の例）に提供される。
【００４５】
一態様では、タスク１０１は、いくつかのタスク１０１の集合を意味する場合がある。例えば、Ａｄｏｂｅ  ＰＤＦファイルを修正するタスクが、いつくかの他のタスク、例えば、サイトからのファイルの入手、必要文書の解凍、および文書を解凍した後の修正などのタスクを伴ってもよい。
【００４６】
例えば、データのインターセプト時、タスク１０１は、実行されずに延期され（例えば、オペレーティングシステムには、タスクの実行を拒否するようコマンドが出される）、コンピューティングデバイスのユーザがテスト生成部１３０によって生成された自動公開チューリングテストに合格したときだけ、再開される。タスク１０１は、解析部１４０によって決定されるアクセス権１４１に基づいて実行されるが、このアクセス権は、データ収集部１１０によって収集されたデータに基づいて決定されるものである。
【００４７】
一態様では、コンピューティングデバイス上のすべてのタスク１０１は、仮想化され（すなわち、仮想マシン内で実行され）、ユーザがテストに合格したときのみ、それらのタスク１０１が実行され、タスクによって行われた変更が物理デバイスに適用される。一定のケースでは、すべてのタスク１０１ではなく、所定の閾値よりも高い脅威レベルであると脅威評価部１２０によって決定された脅威レベルのタスクのみが仮想化されることもある。
【００４８】
一態様では、解析部１４０はハイパーバイザのコンポーネントであり、すべてのタスク１０１は、このハイパーバイザの制御下の仮想マシン上で実行され、ユーザが、テスト生成部１３０によって生成されたチューリングテストに合格しない場合、タスク１０１は、実行をブロックされ、仮想マシンは、それらのタスク１０１を開始する前の状態に戻る。
【００４９】
さらに別の態様では、解析部１４０は、以下によってタスク１０１を実行する。
・オペレーティングシステムと相互作用すること（例えば、システムによって提供されるＡＰＩを通して）。
・タスク１０１を処理するアプリケーションのプロセスと相互作用すること（例えば、これらのプロセスを停止または開始すること、プロセスに割り込むことなどによって）。
【００５０】
さらに別の態様では、タスク１０１は、少なくとも以下のものである。
・コンピューティングデバイス上のユーザの個人または機密データの作成、修正、または削除を伴うタスク
・コンピュータネットワークを通したデータの送信を伴うタスク
・ファイルの作成および修正を伴うタスク
・コンピューティングデバイスの制御を伴うタスク
ここで、コンピューティングデバイスの制御に関するタスクは、少なくとも以下を伴う。
ａ）ファイルシステムのオブジェクトの処理（ファイルおよびそれらの属性の作成、削除、修正）
ｂ）オペレーティングシステムのオブジェクトの権利の処理（実行可能プロセスを含む、ファイルシステムおよびメモリシステムのオブジェクトのアクセス権の修正）
ｃ）アプリケーションのグラフィックインターフェース要素の処理
ｄ）コンピューティングデバイスの装置の動作モードの制御（例えば、ネットワーク装置、ビデオシステム、オーディオシステムなどの処理）
・コンピューティングデバイス上で動作するソフトウェアの制御を伴うタスク
【００５１】
例えば、上述のタスク１０１は、ファイルの作成、修正、または削除と、コンピュータネットワークを通したデータの送信と、コンピューティングデバイスのオブジェクトを処理する（例えば、ファイルを処理する）権利の変更と、コンピューティングデバイスの状態の変更と、コンピューティングデバイス上で作業する特権の変更と、コンピューティングデバイス上で動作するアプリケーションによって提供されるグラフィカルインターフェースを用いるアプリケーションの制御とを含む場合がある。
【００５２】
さらに別の態様では、タスク１０１を特徴付けるデータは、少なくとも、以下のものを含む。
・他のタスクの中から所定のタスク１０１を一意に識別するパラメータおよび属性
・所定のタスク１０１を実行するのに必要なコンピューティングデバイスのパラメータおよび属性（例えば、コンピューティングリソースの属性およびパラメータ）
【００５３】
例えば、タスク１０１「ファイル削除」の場合、パラメータは、削除する予定のファイルの名称、プロセスの識別子またはそのタスク１０１を開始したユーザなどである。
【００５４】
さらに別の例では、タスク１０１「コンピュータネットワークを通したデータの送信」の場合、パラメータは、送信されるデータのポインタ、そのデータを送信するプロセスの識別子、送信されるデータの受信先アドレス、送信されるデータのチェックサムなどを含む場合がある。属性は、データのタイプ（例えば、テキスト、画像、メディアデータ、実行可能アプリケーション、データベース、ファイルなど）、送信されるデータを処理する権利などを含む場合がある。
【００５５】
脅威評価部１２０は、以下を行うように設計される。
・タスク１０１に関して受信されるデータに基づいてタスク１０１の脅威レベルを決定する。タスクの脅威レベルは、タスクが実行された場合の、コンピューティングデバイスの情報セキュリティに対する脅威のレベルを特徴付ける。
・テスト生成部１３０にタスク１０１の脅威レベルを送信する。
【００５６】
一態様では、コンピューティングデバイスに対するタスクの脅威レベルは、タスクの実行がコンピューティングデバイスの情報セキュリティに危害を加える確率を表す数値として提供され、該確率は、タスクを特徴付ける収集されたデータに基づいて、さらに、以前にコンピューティングデバイスに対する脅威レベルが決定された少なくとも１つの以前に指定されたタスクとのタスクの類似性に基づいて、計算される。
【００５７】
デバイスの脅威レベルは、アプリケーションの脆弱性の程度を評価する共通脆弱性識別子（Common  Vulnerabilities  and  Exposures：ＣＶＥ）法（https://www.cvedetails.com参照）を含む、データセキュリティの当業者に一般的に知られている任意の方法によって計算されてよい。ＣＶＥを使用する場合、脆弱性の程度の評価は、０（脆弱性がないことを示す）から１０（脆弱性の危険レベルを示す、すなわち、情報セキュリティに対して現実に脅威が存在する）までの範囲内の数値で表され、この際に、一定の情報セキュリティ制御システムでは、アプリケーションの使用は、値が４以上では推奨されず、値が８を超える場合は禁止される。
【００５８】
さらに別の態様では、現在のタスク１０１の脅威レベルは、前のタスク１０１の脅威レベルに応じて決定される。
【００５９】
例えば、オペレーティングシステムで、アプリケーションをインストールして、そのアプリケーションの操作をセットアップするタスクは、それぞれ独自の脅威レベルを有する複数の独立したタスクを含んでもよく、前のタスクが実行された後に続く各タスクは、前のタスクが実行されなかった場合のシナリオよりも高い脅威レベルが割り当てられてよい。例えば、ユーザデータバックアップサービスをインストールするタスクは、１）インストールパッケージを解凍すること、２）インストールパッケージを実行すること、３）オペレーティングシステムのシステムフォルダにインストールされているサービスのファイルに書き込むこと、４）オペレーティングシステムのレジストリキーを修正すること（キーの古い値を、新しい値、例えば、インストールされているサービスのファイルへのパスに置き換えることを含む）、５）サービスを開始すること（サービスファイルをメモリにロードすること、ロードされたサービスに対する制御の移行など）、６）コンピュータネットワーク内の外部アドレスに接続すること、７）コンピュータネットワークでタスクを受信すること（例えば、更新すること）、というサブタスクを含んでもよい。上記の各ステップは、コンピューティングデバイスの情報セキュリティに対する脅威を示すものではないため、脅威レベルが低い可能性がある（例えば、その中のステップ１）またはステップ７）は、情報セキュリティに対してまったく影響がない）が、一定のステップが順々に実行されて、前のステップで得た結果を利用する場合、コンピューティングデバイスの情報セキュリティに対して脅威を持つ可能性がある（例えば、ステップ６）、７）、および５）により、コンピュータネットワークで取得された悪意あるコードが実行されたり、または個人または機密ユーザデータがハッカーに送信されたりすることが可能となり、結果的に、こうしたステップの組み合わせの脅威レベルは、実質的に、個々のステップの脅威レベルよりも高くなる）。さらに、各ステップの脅威レベルは、前のステップの脅威レベルに影響されるだけではなく、前のステップで受け取られたデータにも影響される可能性がある。
【００６０】
さらに別の態様では、確率が高いほど、コンピューティングデバイスに対する脅威レベルは高くなる。例えば、解析中のタスクが、標的型サイバー攻撃の要素であると判明する場合がある。脅威レベルは、タスクテンプレートデータベース１２１に基づいて脅威評価部１２０によって決定され、このタスクテンプレートデータベース１２１は、機械学習の方法を用いて訓練部１５０によって生成されるものである。タスク１０１のパラメータは、予め訓練されたモデルを用いて、訓練部１５０によって生成および更新されたタスクテンプレートデータベース１２１のうち示されたテンプレートと比較される。その結果、上述のタスク１０１と少なくとも１つのタスクテンプレートとの類似性が判定され、タスクの脅威レベルは、上記テンプレートとの類似度および上記テンプレートの脅威レベルによって決定される。
【００６１】
例えば、上述の例では、タスク１０１の脅威レベルは、以下の式によって決定される場合がある。
【数１】
2020181567.tif 000003
式中、
Ｗｊは、ｊ番目のタスク１０１の脅威レベルであり、
Ｎは、訓練済みモデルを用いて見いだされたテンプレートの数であり、
Ｓｉｊは、ｊ番目のタスク１０１とｉ番目のタスクテンプレートとの間の類似度であり、
Ｗｉは、ｉ番目のタスクテンプレートの脅威レベルであり、
ｍｉ（Ｓｉｊ）は、上述のモデルが、指定されたｊ番目のタスク１０１を処理するためにどれだけ訓練されたかを考慮に入れた補正項（係数）である。
【００６２】
第１の例では、特定のコンピューティングデバイスからこれまでにアクセスされたことのないアドレスのコンピュータネットワークからファイルをダウンロードして、高エントロピーの文字列を有する（すなわち、ランダムに生成された可能性の高い）名前のインストールパッケージのダウンロード済みファイルから抽出し、そのファイルを実行することをまとめて、タスク（例えば、標的型サイバー攻撃の特徴を有する方法によって実行されるような、コンピューティングデバイス内に悪意あるソフトウェアを取り込む第１のタスク１０１など）とみなすことができる。第２の例では、承認済みの名前のリストの中に名前が含まれる実行可能アプリケーションの特定のコンピューティングデバイスによって以前にアクセスされたことのあるアドレスのコンピュータネットワークからダウンロードし、そのアプリケーションを実行することは、タスク（例えば、コンピューティングデバイスに（未検証ではあるが）安全なソフトウェアをインストールする第２のタスク１０１など）とみなすことができる。第１の例では、コンピューティングデバイスのセキュリティに対して脅威が多大な第１のタスク１０１は、脅威レベルが第２の例の第２のタスク１０１（例えば、０．３０）よりもが高くなる（例えば、０．８０）。
【００６３】
さらに別の例では、脅威レベルは、タスク１０１の実行時間、または実行されるタスク１０１の所要時間によって決まる場合がある。
【００６４】
さらに別の態様では、タスク１０１の脅威レベルは、上記タスク１０１がコンピューティングデバイスの情報セキュリティに対して脅威でありうる確率、およびその脅威レベルを表す数値として提供される。
【００６５】
例えば、タスク１０１の脅威レベルは、０．０（コンピューティングデバイスの情報セキュリティに対して脅威ではないことが保証されたタスク１０１の実行）から１．０（例えば、コンピュータネットワークを介した機密ユーザデータの送信など、コンピューティングデバイスの情報セキュリティに対して脅威であることが確定されたタスク１０１の実行）の範囲内であり得る。
【００６６】
さらに別の態様では、タスクの脅威レベルは、タスクテンプレートデータベース１２１の以前に決定されたタスクテンプレートに基づいて決定される。ここで、タスクテンプレートは、特定の範囲内のパラメータおよび属性によって特徴付けられた１つまたは複数のタスクを構成する。該タスクパラメータおよび属性は、タスクを互いに比較して、テンプレートデータベース１２１のタスクと所定のタスクとの類似度を判定するのに使用することができる特性を有し、タスクテンプレートデータベース１２１の各タスクテンプレートは、脅威レベルと合わせられる。
【００６７】
一態様では、タスクテンプレートデータベース１２１は、種々のコンピューティングデバイス上で実行されたタスク１０１の累積統計に基づいて事前に生成され、タスクテンプレートそれ自体は、上記テンプレートに基づいて上記タスク１０１のすべてに対して脅威レベルが適切に決定されるように作成される。
【００６８】
例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅアプリケーションがどのように動作するかを把握することで、それらのアプリケーションによって実行されるタスク１０１のすべてを識別することが可能であり、またそれらのアプリケーションの動作の結果を把握することで、各タスク１０１の脅威レベルを計算して、対応するタスクテンプレートを生成することが可能である。生成したタスクテンプレートは、後で本開示のシステムを操作する際に使用される。
【００６９】
さらに別の例では、コンピューティングデバイスがどう構成されるか、どのタスクを実行するか、どのデータを処理することがコンピューティングデバイスの情報セキュリティにきわめて重要であるかを把握することで、事前にタスクテンプレートデータベース１２１を生成することが可能であり、その際、各アクションは、コンピューティングデバイスまたはコンピューティングデバイスのデータに危害を加える可能性に基づいて、独自の脅威レベルが割り当てられる。
【００７０】
例えば、ファイル上で作業をする処理サイクルは、ユーザの大きいサンプルから収集された統計から把握される。こうしたファイルの処理サイクルは、テンプレート［ｃｒｅａｔｅ］→［ｍｏｄｉｆｙ］→…→［ｍｏｄｉｆｙ］→［ｓａｖｅ／ａｒｃｈｉｖｅ］→［ｓｅｎｄ  ｂｙ  ｅｍａｉｌ］で表すことができる。悪意あるプログラムの大きなサンプルから収集された他の統計に基づいて、悪意あるプログラムがファイルをどのように処理するかについても把握される。次に、所定の動作／操作が標準的動作から逸脱する度合いを評価するため、ユーザ統計の解析が実施される。特定の動作が標準的動作から逸脱する度合いに応じて、文書を処理する間に実行される一定のアクションに脅威レベルを割り当ててもよい。このような標準的動作からの逸脱は以下のものを含む場合がある。
・ファイルが自動的に生成された（悪意あるプログラムによって生成された場合も含む）ことを示す可能性がある、高エントロピーの文字を使用した名前を有するファイルの作成
・上述のような名前属性のファイル名の変更
・電子メールではなく、他の方法による（例えば、Ｐ２Ｐネットワークを通した）ファイルの送信
・異なるアーカイブへのファイルのアーカイブ
・修正が行われたことがないファイルのアーカイブ
【００７１】
さらに別の例では、上述したものを含む種々のコンピューティングデバイスからの以前に収集された統計に基づいて、それらのコンピューティングデバイスに対するユーザの動作および自動化動作については、当該技術分野において一般的に知られている任意の方法によって決定される。例えば、完全に自動化された公開チューリングテストを解くために自動化技術が使用されるが、（人間やマシンによる）異なる手段を使用しても結果が同一となる一連のタスクは、当該技術分野において一般的に知られている任意の方法によって決定される。例えば、人間によるコンピュータネットワーク内でのデータの送信は、マシンによるデータの送信とは、接続確立までの応答時間、データ転送方法の選択、データ暗号化の実現性などが異なる。手順の違いは、類似性を判定する任意の既知の技術を使用することによって、タスクの脅威レベルを計算するために利用される。したがって、テストを解くことに成功したとしても、その解答の方法がマシン特有の方法に近いことがわかれば、テストは（情報セキュリティにきわめて重要な一定のタスクについて）不合格になったものと判定されることになり、その結果、その確証のためにテストが生成されたタスク１０１は実行されない。
【００７２】
例えば、マウスカーソルの動きの解析（直線的な動きからのずれ、一定した動き、高調波の測定など）を用いて、マシンではなく人間がカーソルを動かしていると判断することが可能である。
【００７３】
さらに別の態様では、脅威レベルは、特定のタスクとタスクテンプレートデータベース１２１の少なくとも１つのタスクテンプレートとの類似度によって、そのテンプレートによって示される脅威レベルを考慮して決定される。
【００７４】
例えば、タスクテンプレートには、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄファイルへのデータ書込みが記述されているが、コンピューティングデバイス上では、データがＭｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイルに書き込まれているとする。書き込まれているデータが同じＸＭＬ形式で示され、同じソフトウェア製品Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅのファイルに書込みが行われているという事実に基づいて、脅威評価部１２０は、このタスクは類似していて、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイルへの書込みタスクが、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄファイルへの書込みに割り当てられているのと同じ脅威レベルを受けると判断する。なお、当該技術分野において公知の方法が、各タスク１０１を比較するために使用されてもよい。
【００７５】
例えば、各タスク１０１を比較するために、下記の比較アルゴリズムが使用されてもよい。
１）各タスクを、最小数のパラメータによって特徴付けられる基本アクションに細分化する。
２）各アクションを、固有の一意のハッシュ（最もシンプルなケースでは、一意の数値的識別子）と突き合わせる。該ハッシュは、上述のパラメータと共にバイトコード（中間コード）を形成するものである。
３）レーベンシュタイン距離などの編集距離を計算するためのアルゴリズムを用いて、生成された全バイトコードの各々に対して、類似度を計算する。
４）計算した距離が所定の閾値を超えない場合、比較しているタスク１０１を、類似するものと見なす。
【００７６】
さらに別の態様では、タスク脅威レベルは、標的型サイバー攻撃を特定するために使用される方法を含む任意の既知の方法によって、アンチウイルススキャンの実行中に判定されるコンピューティングデバイスのオブジェクトの有害性の程度と類似する（決定および解釈の類似の技術および方法が使用されている）性質を有している。
【００７７】
例えば、アンチウイルススキャンを実行するときに、アンチウイルスにより、解析したオブジェクトの有害性の程度、すなわち解析したオブジェクトが有害であると判明される確率（これは、特に、ヒューリスティック解析または能動的防御策で見られる）が判定され、判定された有害性の程度がどのくらい高いかに応じて、解析したオブジェクトが安全なものか、疑わしいものか、または悪意あるものなのかに関する判断が、アンチウイルスによって行われる。コンピューティングデバイス上の解析されたオブジェクトのうち、安全なもの、疑わしいもの、または悪意あるものの数（または解析されたすべてのオブジェクトの有害性の程度を合計した値）に応じて、アンチウイルスによって、コンピューティングデバイス全体としての有害性の程度が判定される。
【００７８】
さらに別の例では、システムの有害性の程度は、上述したアンチウイルスの状態、すなわちアンチウイルスデータベースの状態（容量、最終更新）、接続されているアンチウイルスモジュール（例えば、ヒューリスティック解析または能動的防御策のためのモジュール、ルートキット検索モジュールなど）、隔離されているファイルの存在、などによって影響されることもある。これらのすべての因子次第で、システムへの有害性の高さ、低さの程度が決まる。
【００７９】
さらに別の例では、アンチウイルスレコードのデータベースに基づいて有害性について調べるときに、ファイルの署名およびヒューリスティック解析で用いられる方法を使用することが可能である。
【００８０】
さらに別の態様では、タスクの脅威レベルは、以前に実行されたタスク１０１に基づいて訓練部１５０によって生成された訓練済みモデルを用いて決定される。
【００８１】
例えば、タスク１０１の脅威レベルを決定するための訓練済みモデルの使用により、タスクテンプレートデータベース１２１が、アクションの実際のテンプレートではなく、これらのテンプレートで訓練されたモデルを含むことを可能にする。これにより、タスクの脅威レベルを決定する速度および精度が上がり、コンピューティングデバイスのコンピューティングリソースの必要量が下がる。一定のケースでは、タスクテンプレート１２１の使用は、これらのテンプレートで訓練されたモデルの使用と比較した場合、特に、タスク１０１の脅威レベルを決定するために多数のタスクテンプレート１２１の使用が必要な場合、あまり効果的ではない。この場合、訓練済みモデルを用いることが得策である。
【００８２】
さらに別の例では、タスクが小さい（かつシンプルな）タスクを多く含み、それら小さいタスクもまた他の小さいタスクを含む場合、タスク１０１の脅威レベルを決定するために訓練済みモデルを使用することができる。この場合、タスクテンプレート１２１の多くが、タスク１０１（および、その全てのサブタスク）の脅威レベルを決定するために使用される場合がある。これは、コンピューティングデバイスのコンピューティングリソースの利用、およびタスク１０１の脅威レベルを計算する時間に悪影響を与えることになるため、上記のタスクテンプレート１２１をベースとして訓練されたモデルを用いることがより効果的である。
【００８３】
テスト生成部１３０は、以下を行うように設計される。
・特定のテスト生成ルール１３１に基づいて取得されたタスクの脅威レベルに応じて自動公開チューリングテスト（以下、テスト）を生成する
・解析部１４０に生成したテストを送信する
【００８４】
一態様では、脅威レベルが高いタスクでは、テストコリジョンの確率が低くなるようにテストが生成されるが、この際、テストコリジョンとは、少なくとも、以下を含む。
・コンピューティングデバイスの正規ユーザではない人物がテストに合格すること。
・コンピューティングデバイスなどのマシンがテストに合格すること。
【００８５】
例えば、脅威レベルが低いタスク１０１（例えば、コンピュータネットワークでのデータの送信）を確認するためのテストは、標準的なテキスト３１１と比較してわずかに歪んで作成されたテキスト３１２を識別する上で問題となる場合があり、その一方で、脅威レベルが高いタスク１０１（例えば、ハードディスクのフォーマット化）を確認するためのテストは、標準的なテキスト３１１と比較して著しく歪んで作成されたテキスト３１４を識別する上で問題となる場合がある。
【００８６】
さらに別の例では、脅威レベルが低いタスク１０１を確認するためのテストは、よりシンプルなタイプの問題（テキスト識別３１０）を引き起こす場合があり、その一方で、脅威レベルが高いタスク１０１を確認するためのテストは、より複雑なタイプの問題（オブジェクト分類３２０）を引き起こす場合がある。
【００８７】
さらに別の態様では、標的型サイバー攻撃が行われる確率が、所定の閾値を上回る場合、テストは、標的型サイバー攻撃に使用されているマシンがそのテストに合格することがないように生成される。この際、標的型サイバー攻撃が行われる確率は、コンピューティングデバイス上で実行中のタスク１０１が、コンピューティングデバイスの正規ユーザではなく、ハッカーまたはハッカーのマシン（コンピューティングデバイス）によって実行されている確率を表す数値特性を有し、この確率の実際の計算方法は、当該技術分野において公知の任意の方法によって（例えば、能動的なアンチウイルススキャンを実施するために使用される方法によって）実施される。
【００８８】
例えば、マシンは、テキスト識別問題３１０（歪んだテキストの識別、すなわち「チャレンジ・レスポンステスト」３１１〜３１４など）を高い確率で解決し、分類問題３２０（種々の鷽３２１〜３２４の判別など）を低い確率または中程度の確率で解決することができるが、グラフィックパズル３３０（例えば、主題画像３３１〜３３４から映画を特定する）のような連想思考およびファジィルールを用いて行うことが必要となる問題を解決することは実質的に不可能である。
【００８９】
さらに別の態様では、テストは、少なくとも以下に関するデータに基づいて生成される。
・コンピューティングデバイスに関するユーザ情報の分類、起動中のアプリケーションなどを含むコンピューティングデバイス上のユーザのアクション
・ブラウザのユーザ照会履歴ログから取得されるデータ、ソーシャルネットワークのユーザプロファイルから取得されるデータなどを含む、コンピューティングデバイス上でユーザによって要求される情報
【００９０】
例えば、コンピューティングデバイスのユーザが、すばやくかつ正確にすべての画像識別テスト３１２に合格した場合、次の画像識別テスト３１３は、（テキストイメージにより大きな歪を加えることによって）より複雑になる可能性がある。テストに合格するまでの時間が、所定の時間を超過し始めた場合、テストの更なる複雑化３１４は中断される。
【００９１】
さらに別の例では、自動分類を回避するために、いくつかの分類項に割り当てられるように、画像を選択することができる。例えば、３２１は同じ種類の２羽の鷽を示し、３２２は異なる種類の鷽を示すため、鳥の数や鳥の種別によって分類を行うことができる。
【００９２】
さらに別の態様では、生成されたテストは、少なくとも以下を含んでもよい。
・少なくとも以下を含む、画像識別の問題
１）テキスト識別問題３１０
２）画像分類問題３２０
３）意味パズル問題３３０
・音声断片を識別する問題
・メディアデータを識別する問題
【００９３】
さらに別の態様では、特定のテスト生成ルール１３１は、コンピューティングデバイスの正規ユーザによって（たとえば、ユーザの習慣、知識またはし好に応じて）設定される。
【００９４】
さらに別の例では、ユーザが自身の知識および習慣に基づいてテストの体裁および内容を設定してもよく、そうすることで、当該ユーザは他のユーザやマシンよりもそのテストにうまく対応できる。例えば、コンピューティングデバイスのユーザが鳥類学者である場合、鳥の種類分類問題３２０をテストとして選択してもよく、テストの複雑度は、画像の分類項の数を増やすこと、または画像同士の類似性を上げることを伴う。
【００９５】
さらに別の態様では、タスクの脅威レベルに応じてテストの複雑度が変わる。
【００９６】
図３は、例示的な補正可能自動公開チューリングテストを示す。例えば、テストの複雑度は、少なくとも以下のように変わる。
・テスト識別問題を使用する場合、タスクの危険レベルが上がるにつれて、テストの歪みの程度が上がる（図３の３１１〜３１４）
・画像分類問題を使用する場合、分類項の候補数を増やす（図３の３２１〜３２４）
・危険レベルが上がるにつれて、生成された問題に新たな意味要素を追加する（例えば、例に解答する数学的テスト、番号問題のテキスト問題への置換など）
【００９７】
さらに別の態様では、テスト生成ルール１３１は、少なくとも以下のものであってもよい。
・外部パラメータに依存しない既成のテスト
・テストに関する情報を含むテストテンプレート（これに基づいて、テストは外部パラメータに応じて直接生成される）
・テストまたはテストテンプレートを生成する論理的、語彙的または意味ルール
【００９８】
例えば、分類問題３２０では、テスト用の画像をランダムに選択するための画像群を事前に指定してもよい。
【００９９】
さらに別の例では、意味パズルの問題は、連想規則を変更して、事前に指定された画像群に基づいて生成されてよい。例えば、３３０では、映画特定問題用の８つの画像が、２つの異なる映画の要素を含むよう組み合わされているため、どの要素が手掛かりかが認識できなければ、問題を正確に解くことはできない。
【０１００】
さらに別の態様では、テスト生成部１３０によってテストを生成した後、以下のことが行われる。
・解答するようテストがユーザに提示される。
・テストの合格（テストに示される問題の解答）について、ユーザからデータが取得される。
・ユーザがテストに合格したことを示すパラメータが決定される。
・得られたテスト合格の結果、および決定されたパラメータが、解析部１４０に送信される。
【０１０１】
例えば、テストに合格すると、テスト合格に要した経過時間やユーザのアクションなど（補助アプリケーションが実行されているか、最初に使用されたテスト要素はどれか、そうしたオプションが存在するか、など）についてデータが収集される。このデータは、テスト生成ルールを補正するため、およびテスト実行の成功を評価するため、後で使用される場合がある。
【０１０２】
さらに別の態様では、ユーザ自身が、事前にテスト生成部１３０をセットアップする。すなわち、以下を含むテスト生成のために後で使用するルールをユーザが規定する。
・テンプレートによって、画像、テキスト、音声断片などを追加すること
・テストの複雑度を指定すること
・指定された複雑度に応じてテストの歪ませ方を選択すること
【０１０３】
次に、テスト生成ルール１３１の１つとして、テストをシリアル化して保存する（暗号化を用いることも含む）。
【０１０４】
テストを生成する場合、まず、テストを生成する必要がある対象のユーザを（例えば、ユーザのアカウントに応じて）特定し、特定のユーザが「自分用」と示したルールによって、テストが生成される。解析部１４０は、以下のことを行うように設計される。
・コンピューティングデバイスのユーザが生成したテストの実行結果に応じて、タスク１０１に対するアクセス権１４１を決定する
・アクセス権１４１が決定した上記タスク１０１を実行する
【０１０５】
一態様では、コンピューティングデバイスのユーザによるテスト実行の成功を解析する間に、テスト生成部１３０によって（テスト生成ステップ中に）決定された標準的結果との結果の類似度が判定される。
【０１０６】
例えば、複数の画像を選択する必要があるテストでは、標準的結果の画像と一致する画像の数が特定され、テストの解答の精度は、正確に選択される画像の数と間違って選択される画像の数との比率として判定される。
【０１０７】
さらに別の態様では、テスト生成部１３０によって得られたテスト合格パラメータは、コンピューティングデバイスのユーザによる取得されたテスト実行の成功を解析する際に使用される。
【０１０８】
例えば、ユーザがテストに合格はしたが、（規定値を超えた）かなりの時間を費やした場合、テストに合格しなかったと見なされる。
【０１０９】
さらに別の態様では、コンピューティングデバイスのユーザによるテスト実行の成功は、テスト実行の成功の程度を計算することによって評価される。この成功の程度は、最小値が絶対的なテストの不合格に対応し、最大値が絶対的なテストの合格に対応する数値である。
【０１１０】
例えば、テスト実行の成功のバイナリ評価（「合格」または「不合格」）ではなく、テスト合格の成功の程度が、０．０（絶対的にテスト不合格）から１．０（絶対的にテスト合格）で、（多肢選択解答を含む問題で、正確な解答と不正確な解答との比率を評価する方法を含む、従来技術において既知の任意の方法によって）評価される。そして、テスト合格の成功の程度が規定値（例えば、０．７５）よりも高い場合、テストに合格したと見なされる。同様に、テスト合格の成功の程度の最低評価値（例えば、０．２５）を使用することも可能であり、この場合、計算されたテスト合格の成功の程度が、規定値よりも低い場合、テストに不合格したと見なされる。しかし、計算されたテスト合格の成功の程度が、最低規定値（０．２５）を上回るが、最高規定値（０．７５）を下回る場合、テスト合格の成功は、不確定と見なされ、ユーザに対して次のテストが生成される。さらに、下限および上限をさらに厳しく（例えば、それぞれ０．１０および０．９０）設定することも可能である。
【０１１１】
さらに別の態様では、タスク１０１を実行するためのアクセス権は、テスト合格の成功の程度の値に応じて決定される。
【０１１２】
例えば、タスクがファイルにアクセスすることである場合、成功の程度が規定値（例えば、０．９５）を超えたことによってテストに合格すると、コンピューティングデバイスのユーザは、ファイルを処理する全面的権利が付与され、別の規定値（例えば、０．７５）を超えた場合、データ読み取りの権利のみが付与され、その他の場合は、ファイルへのアクセスはすべて許可されない。
【０１１３】
さらに別の態様では、タスク１０１を実行するアクセス権１４１は、タスク１０１の実行を禁止する場合は権利＃１、タスク１０１の実行を許可する場合は権利＃２である。
【０１１４】
例えば、ファイルを削除する際、この操作は、特定のユーザに対してのみ、実行が禁止されるか、または実行が許可される場合がある。その一方で、ファイルを開く操作には複数のアクセス権１４１、すなわち、読出し権利、書込み権利（削除権利を含む）、および実行権利がある。
【０１１５】
訓練部１５０は、（ユーザがテストに合格した後に）どのタスク１０１が実行を許可されたか、どの権利でタスク１０１が実行されたか、タスクの実行によってコンピューティングデバイスのセキュリティにどのような影響が生じたか、に応じて脅威レベルを決定するために使用されるモデルを再訓練するように設計される。
【０１１６】
さらに別の態様では、モデルの訓練／再訓練およびタスクテンプレートデータベース１２１の生成は、コンピューティングデバイス状態の解析、およびデータセキュリティの当該技術分野において既知の任意の方法による情報セキュリティのその程度に基づいて行われる。
【０１１７】
ルール生成部１６０は、少なくとも、以下を行うことによって、テスト生成ルール１３１を補正するように設計される。
・ルールを生成するために使用される入力パラメータの変更
・古いルールから選択した要素（アセンブリ、コンパイル）に基づく新しいルールの生成
・事前に指定された要素に基づく新しいルールの生成
【０１１８】
テスト生成ルール１３１は、コンピューティングデバイスのユーザが、補正されたルール１３１に基づいて生成されたテストに合格する確率が、補正されていないルール１３１に基づいて生成されたテストに合格する確率よりも高くなる（すなわち、特定の正規ユーザにとってテストが簡単になる）ように補正される。
【０１１９】
例えば、テキスト識別問題３１０では、ユーザにとってテキストがまったく識別できないもの（３１４）にならないように、規定値を超えない範囲で、テストに合格するごとに歪みの度合いが上がるテキスト３１１から３１３が使用される。
【０１２０】
一態様では、テスト生成ルール１３１の補正は、テスト生成部１３０によって生成されたテストの複雑度を変更することを伴い、変更されるテストの複雑度は、解析部１４０によって計算されたテスト実行の成功の程度に応じるものである。
【０１２１】
さらに別の態様では、テストの複雑度は、コンピューティングデバイスのユーザがテストを合格する確率を表す数値である。
【０１２２】
例えば、テストの複雑度は、０．０（補足的な準備や労力なしに、ユーザがテストに合格できる最小複雑度）から１．０（テストを合格するために、ユーザがかなりの時間または補足的な準備を必要とする最大複雑度）で測定されてよい。
【０１２３】
さらに別の態様では、生成されたテストが、標準的テストと見なされ、テストの複雑度が最小である場合、テストの複雑化（すなわち、標準的テストとの違い）は、少なくとも、以下を含む。
・（グラフィカルテストの）３１１〜３１４：（画像を扱うテストの場合の画像、音声テストの場合の音などに）歪みを加えていくこと
・３２１〜３２４：オブジェクト分類の分類項を増やすこと、または互いに異なる分類項のオブジェクトの類似性を上げること
【０１２４】
さらに別の態様では、新しいテストが作成された場合に後から、テストに合格する時間が、コンピューティングデバイスの特定のユーザにとっては短くなり、他のユーザまたはマシンにとっては長くなるようにルールを補正する。このため、特定のユーザのテストに合格するスピードが上がるようテストを補正する（例えば、特定のユーザにとってテストを簡単にする）ために特定のユーザのテストに合格する時間を監視し、テストのタイプとテーマ（例えば、ユーザが長年業務で取り扱っているものが数値の場合は数値テスト、画像の場合はグラフィカルテスト、テキストの場合はテキストテストなどが作成される）を選択するために、コンピューティングデバイス上のユーザのアクションを監視し、ユーザが実行したタスクを解析する。
【０１２５】
例えば、ユーザが鳥の画像を容易に識別できる場合、そのユーザに対して生成されるテストでは、珍しい鳥または周知の種属と類似の鳥類の画像が高い頻度で使用される。
【０１２６】
さらに別の態様では、次に続くテストが生成されるたびに、以前に生成されたテストとその合格結果の外部パラメータを検討する。このため、所定のユーザ（以前に作成されたテストに合格したユーザ）による新たなテストの合格結果は、それまでのテストに対するユーザの合格結果よりも良いものであり、特定の事例では、コンピューティングデバイスのユーザによる以前に生成されたテストの合格結果を知っている場合にのみ生成されたテストに合格することができる。
【０１２７】
例えば、事前に生成されたテストに解答することが、その後のテストを分類するための前提条件であり、この分類の前提条件を認識することなしに、該分類を実行することは不可能である。
【０１２８】
さらに別の態様では、コンピューティングデバイスのユーザではなく、マシンでのみ合格できるようにテストが生成される。すなわち、新しいテストの合格結果が低下（悪化）するように、事前に生成されたテストの合格結果に基づいてテストが生成される。したがって、このようなテストの合格は、上述のものとは対照的に、アクション１０１の侵害、およびその実行の禁止を意味する。例えば、このようなスキームは、（例えば、標的型サイバー攻撃によって）攻撃を受ける可能性があり、かつ攻撃開始の操作上の判断（例えば、ハッカーに対するおとりであるリソースのハニーポット）を行うコンピューティングデバイスに使用される場合があり、「おとり」を通った攻撃が、「おとり」に接続している他のコンピューティングデバイス（例えば、統合ローカルコンピュータネットワーク）に脅威を与えることができないように、上述の防御スキームが必要である。
【０１２９】
例えば、テキスト識別問題は、テスト生成時にテキスト画像を歪めるアルゴリズムが既知であるという前提で、マシンだけが識別できる歪みのあるテキスト３１４を含んでもよい。
【０１３０】
タスクテンプレート生成部１７０は、以下を行うように設計される。
・少なくとも、以下を特徴付けるデータを収集する
１）上述のタスク実行システムが動作するコンピューティングデバイス
２）該コンピューティングデバイス上で動作するソフトウェア
３）動作中の作業ソフトウェアによって実行されるタスク
・収集したデータに基づいて、少なくとも１つのタスクテンプレートを生成する
・生成したタスクテンプレートをタスクテンプレートデータベース１２１に書き込む
【０１３１】
図２は、本開示の態様に従って、アクセス権に基づいてコンピューティングデバイス上でタスクを実行する方法２００を示す。
【０１３２】
コンピューティングデバイス上でタスクを実行する方法は、タスクのためにデータを収集するステップ２１０と、タスクのために脅威レベルを決定するステップ２２０と、テストを生成するステップ２３０と、ユーザデータを解析するステップ２４０と、アクションを実行するステップ２５０と、モデルを再訓練させるステップ２６０と、テスト生成ルールを補正するステップ２７０と、タスクテンプレートを生成するステップ２８０とを含む。
【０１３３】
ステップ２１０では、方法２００により、タスクに関するデータを収集する。例えば、コンピューティングデバイスの所定の制御タスクを特徴付けるデータが収集される。
【０１３４】
ステップ２２０では、方法２００により、収集したデータおよびタスクテンプレートに基づいて、タスクの脅威レベルを決定する。脅威レベルは、タスクがコンピューティングデバイス上で実行される場合の、コンピューティングデバイスの情報セキュリティに対する脅威（危険）レベルの特徴を表す。一態様では、タスクテンプレートは、データベース、例えば、タスクテンプレートデータベース１２１から取得される。
【０１３５】
ステップ２３０では、方法２００により、脅威レベルおよびテスト生成ルールに基づいてテストが生成され、ユーザに提示される。例えば、自動公開チューリングテスト（以下、テスト）が、ステップ２２０で決定された脅威レベルおよびテスト生成ルール１３１に基づいて生成される。次に、生成されたテストは、ユーザに提示される。続いて、ユーザはテストを受け、テストの結果が収集される。
【０１３６】
ステップ２４０では、方法２００により、テストの結果を解析し、その結果に基づいてタスクのアクセス権を決定する。
【０１３７】
ステップ２５０では、方法２００により、ステップ２４０で決定されたアクセス権に基づいてタスクを実行する。
【０１３８】
任意選択のステップ２６０では、脅威レベルの決定に使用されるモデルが、さらに再訓練される。一態様では、訓練／再訓練は、（ユーザがテストに合格した後に）どのタスクが実行を許可されたか、どの権利でタスクが実行されたか、許可された実行中のタスクによって後から生じたコンピューティングデバイスの情報セキュリティへの影響によって決まる。
【０１３９】
任意選択のステップ２７０では、コンピューティングデバイスのユーザが合格する確率が、補正されたルール１３１に基づいて生成されたテストよりも補正されていないルール１３１に基づいて生成されたテストの方で高くなるようにテスト生成ルール１３１はさらに補正される。
【０１４０】
加えて、任意選択のステップ２８０では、以下のことが行われる。
・少なくとも以下を特徴付けるデータを収集する
１）上述のタスク実行システムが動作するコンピューティングデバイス
２）該コンピューティングデバイス上で動作するソフトウェア
３）動作中のソフトウェアによって実行されるタスク
・収集したデータに基づいて、少なくとも１つのタスクテンプレートを生成する
・生成したタスクテンプレートをタスクテンプレートデータベース１２１に書き込む
【０１４１】
一態様では、タスクは、ユーザの個人または機密データを含むデータを処理するためのプロセスの制御と、コンピューティングデバイス上で、または該コンピューティングデバイスに通信可能に連結されている別のコンピューティングデバイス上で実行されるプロセスの制御と、アプリケーションの制御と、コンピューティングデバイスのオペレーティングシステムの動作パラメータの変更または設定と、のうちの少なくとも１つのためのものである。
【０１４２】
一態様では、タスクは、コンピューティングデバイス上のユーザの個人または機密データの作成、修正、または削除と、コンピュータネットワークを通したデータの送信と、ファイルの作成または修正と、コンピューティングデバイスの制御と、コンピューティングデバイス上で動作するソフトウェアの制御とを伴う、少なくとも１つのタスクである。
【０１４３】
一態様では、コンピューティングデバイスを制御するタスクは、少なくとも、コンピューティングデバイスのファイルシステムのオブジェクトを処理し、コンピューティングデバイスのオペレーティングシステムのオブジェクトの権利を処理し、コンピューティングデバイス上のアプリケーションのグラフィックインターフェース構成要素を処理し、コンピューティングデバイスの機器の動作モードを制御するタスクを含む。
【０１４４】
一態様では、タスクを特徴付けるデータは、少なくとも、複数のタスクの中から該タスクを一意に識別するパラメータおよび属性と、タスクを実行するために必要なコンピューティングデバイスのパラメータおよび属性と、を含む。
【０１４５】
一態様では、脅威レベルは、コンピューティングデバイスの情報セキュリティに危害を加えるタスクを実行する確率を表す数値として提供され、該確率は、収集したデータ、および脅威レベルが既に決定された別のタスクとのタスクの類似性に基づくものである。
【０１４６】
一態様では、タスクの実行は、仮想マシン上でタスクを実行することと、ユーザがテストに合格するかどうかを判断することと、ユーザがテストに合格したときに、仮想マシンで行われた変更をコンピューティングデバイスに適用することとを含む。
【０１４７】
一態様では、現在のタスクの脅威レベルは、１つまたは複数の過去のタスクの脅威レベルに応じて決定される。
【０１４８】
図４は、本開示の態様に従って、コンピューティングデバイス上でユーザを認可するシステム４００の一例を示す。
【０１４９】
コンピューティングデバイス上でユーザを認可するシステムの構造図は、データ収集部４１０、テスト生成部４２０、解析部４３０、および認可部４４０を含む。
【０１５０】
データ収集部４１０は、
・コンピューティングデバイス上で認可されていないユーザ（すなわち、未認可ユーザ）によって実行される、コンピューティングデバイスの少なくとも２つの制御タスク１０１（以下、タスク）を特徴付けるデータを収集し、
・テスト生成部４２０に収集したデータを送信する、
ように設計される。
【０１５１】
一態様では、データの収集は、図１のシステムによる上記の方法および図２のコンピューティングデバイス上でタスクを実行する方法によって行われる。言い換えると、データ収集部４１０は、図１のデータ収集部１１０と同様なものであってよい。
【０１５２】
別の態様では、認可は、段階的に行われ、その段階的な認可は、未認可のユーザにコンピューティングデバイス上でタスクを実行する部分的な権限を与えることと、制限なくタスクを実行することを認可するかどうかをその後で決定することと、後で下した決定に基づいて全権限でタスクを実行できるようユーザを認可することとを含む。
【０１５３】
例えば、未認可ユーザは、部分的な権利を与えられた場合、コンピューティングデバイスからデータを読み出す操作を実施することができるが、コンピューティングデバイスへの書込みの権限は与えられない。
【０１５４】
別の態様では、ユーザの認可は、所定範囲内の数値で提供され、この値は、ユーザがコンピューティングデバイス上でタスクを実行する権利および特権を示す。例えば、認可をバイナリ操作（認可ユーザ、または未認可ユーザ）で行うのではなく、アクセス権の一定の数値が使用されてよく、この値は、コンピューティングデバイス上でユーザが一定のタスクを実行するために持っている権利および特権の特徴を表すものである。
【０１５５】
一態様では、上記の値はユーザの後続のアクションに基づいて再計算される。例えば、値は再計算されることがあり、それにより、ユーザは、以前は禁止されていた新しいタスクを実行することを許可されるか、逆に、以前は許可されていたタスクを実行する権利が制限される場合がある。
【０１５６】
テスト生成部４２０は、タスク１０１ごとに、収集したデータおよびテスト生成ルールに基づいてテストを生成し、そのテストをユーザに提示するように設計される。例えば、自動公開チューリングテスト（以下、テスト）は、テスト生成ルール１３１を使用して、データ収集部４１０から受信され、かつ上記タスク１０１を特徴付けるデータに基づいて生成されてよい。テスト生成ルールは、ユーザに提示されるテストの結果に基づいて更新される。後続のタスク１０１ごとに、テスト生成ルール１３１が前に生成されたテストのユーザの実行結果に応じて補正されるが、前に生成されたテストは、補正前のテスト生成ルール１３１に基づくものである。
【０１５７】
例えば、ユーザが、グラフィカルテストは有効に成し遂げるものの語学（言語）テストは苦手である場合、それ以後、そのユーザに対してはより多くのグラフィカルテストが生成される。
【０１５８】
さらに別の例では、所定のユーザに対するテストの難易度は同じレベルに維持されることから、ユーザが自分用に生成されたテストにすばやく合格できるようになった場合は、テストの難易度が上げられる（または、テストのタイプが変更される）。
【０１５９】
解析部４３０は、以下を行うように設計される。
・ユーザに提示されるテストの結果に基づいて、ユーザの真正度が判定される。言い換えると、テスト生成部４２０によって生成された少なくとも２つのテストの実行に基づいて真正性を判定する。ここで、ユーザの真正度は、ユーザがコンピューティングデバイスの正規ユーザである確率を示すものである。
・ユーザに対して判定された真正度、およびテスト生成ルール４３１によって規定された経過時間に基づいて、ユーザの簡易真正度を計算する。
【０１６０】
例えば、ユーザの真正度は、０％から１００％の数値であってもよく、この際、０％はそのユーザが正規ユーザでないと確定されている（コンピューティングデバイス上で所定のタスクを実行する権利がない）ことを示し、１００％はそのユーザが正規ユーザであることを示し、必然的にそのユーザがコンピューティングデバイス上で認可されていることを意味する。
【０１６１】
さらに別の例では、ユーザの真正度が一定の予め定められた閾値（例えば、上記の例では８５％）を超える場合、ユーザは、正規ユーザであると見なされてよい。
【０１６２】
一態様では、ユーザの真正度は、ユーザに提示されたテスト、ユーザによって実行されたテストの結果、およびその結果が所定のテストに対して適正である確率を表す数値を関連付ける、一連のルールを表すユーザテンプレートに基づいて判定される。
【０１６３】
さらに別の態様では、順次計算されたユーザの真正度の値の変化は、単調なものである。
【０１６４】
さらに別の態様では、テストの合格率が認可されたユーザは上がり認可されなかったユーザは下がるように、前のタスクに対して生成されてユーザに提示されたテストの結果に基づいて、後続のそれぞれのタスク用にテスト生成ルール４３１を補正する。
【０１６５】
認可部４４０は、ユーザがコンピューティングデバイス上でタスクを実行することを認可するかどうか決定するように設計される。決定は、ユーザの簡易真正度が、所定の閾値を超えるかどうかに基づくものである。
【０１６６】
一態様では、システム認可は、ユーザに一定のタスクを実行する権利を付与するために行われてよい。したがって、ユーザ認可は、バイナリシステム（認可／未認可）ではなく、より複雑な離散的システムであってもよい。
【０１６７】
例えば、（ユーザが、Ｍ個のテストを合格した後に、認可部４４０から得る）権利Ａは、*.docxファイルから読み出すタスクを実行するために必要とされ、（ユーザが、Ｎ個（Ｎ＞Ｍ）のテストを合格した後に、認可部４４０から得る）権利Ｂは、*.docxファイルに書き込むタスクを実行するために必要とされる。
【０１６８】
さらに別の態様では、認可部は、数値であり、かつユーザがアクセスできるタスクの特徴を表す特定の信頼指数を、ユーザに割り当てる（例えば、ユーザ信頼指数が、そのタスクに対して規定された一定の値を上回る場合）。
【０１６９】
例えば、システムファイルで作業するためにはＰｍｉｎ＞１０００を上回る指数が必要とされ、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ文書で作業するためにはＰｍｉｎ＞３００を上回る指数が必要とされる。この際、テストに１度合格すると、ユーザは、さらにＰ＋７５の信頼指数を割り当てられる。
【０１７０】
図５は、本開示の態様に従って、コンピューティングデバイス上でユーザを認可する方法５００を示す。
【０１７１】
コンピューティングデバイス上でユーザを認可する方法の構造図は、データを収集するステップ５１０と、テストを生成するステップ５２０と、ユーザの真正度を判定するステップ５３０と、ユーザを認可するかどうかを決定するステップ５４０を含む。
【０１７２】
ステップ５１０では、コンピューティングデバイス上で認可されていないユーザによって実行される、コンピューティングデバイスの少なくとも２つのタスク１０１を特徴付けるデータを収集するため、データ収集部４１０が使用される。
【０１７３】
ステップ５２０では、テスト生成部４２０が、タスク１０１ごとに、収集したデータおよびテスト生成ルールに基づいてテストを生成し、そのテストをユーザに提示するために使用される。例えば、自動公開チューリングテストは、タスク１０１に対してステップ５１０で収集したデータに基づいて、テスト生成ルール１３１を使用して生成されてよい。テストはその後ユーザに提示される。テストの結果は、後続のテストを改良するために使用される。言い換えると、ユーザに提示されたテストの結果（すなわち、ユーザがどれだけうまくテストを実行できたか）に従って、テスト生成ルールが後続のタスクごとに補正される。
【０１７４】
ステップ５３０では、ユーザに提示されたテストの結果に基づいてユーザの真正度を判定するために解析部４３０が使用される。ここで、ユーザの真正度は、ユーザが、コンピューティングデバイスの正規ユーザである確率を示すものである。したがって、解析は、少なくとも２つのテストの結果を含む。
【０１７５】
ステップ５４０では、ユーザがコンピューティングデバイス上でタスクを実行することを認可するために認可部４４０が使用される。ユーザは、ユーザの簡易真正度が予め定められた閾値を超える場合に、タスクを実行することが認可され、このユーザの簡易真正度は、タスクごとに判定されたユーザの真正度に基づいて計算される。一態様では、認可はさらに、テスト生成ルールによって規定された経過時間に基づいて行われ、この経過時間は、ユーザがテストを受けた経過時間である。
【０１７６】
一態様では、ユーザの認可のレベルは、簡易真正度に基づく。一態様では、認可のレベルは、少なくとも、部分的な認可、および全権利を伴う認可（すなわち、無制限の権利）を含む。
【０１７７】
一態様では、ユーザの認可は、所定範囲内の数値で提供され、この値は、ユーザがコンピューティングデバイス上でタスクを実行できるタスクごとの権利および特権を示す。一態様では、数値は、認可の後に実行されるユーザのアクションに基づいて再計算される。
【０１７８】
一態様では、前のタスクに対してユーザが受けたテストの結果に基づいて、後続のテストごとにテスト生成ルールが補正される。この補正は、認可されたユーザのテストの合格率を上げて、認可されなかったユーザの合格率を下げるために行われる。
【０１７９】
図６は、例示的態様に従って、アクセス権に基づいてコンピューティングデバイス上でタスクを実行するためのシステムおよび方法の態様が実装されることがあるコンピュータシステム２０を示すブロック図である。コンピュータシステム２０は、例えば、上述したような仮想セキュリティデバイス１０２に相当し得るという点に留意すべきである。コンピュータシステム２０は、例えば、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、スマートフォン、タブレットコンピュータ、サーバ、メインフレーム、埋め込み型デバイス、およびコンピューティングデバイスの他の形態など、複数のコンピューティングデバイスの形態、または、単一のコンピューティングデバイスの形態である場合がある。
【０１８０】
図示のとおり、コンピュータシステム２０は、中央演算処理装置（Central  Processing  Unit：ＣＰＵ）２１、システムメモリ２２、および、中央演算処理装置２１に関連付けられたメモリを含む種々のシステムコンポーネントを接続しているシステムバス２３を含む。システムバス２３は、バスメモリまたはバスメモリコントローラ、周辺バス、および任意の他のバスアーキテクチャと相互作用することが可能なローカルバスを含んでもよい。バスの例としては、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（商標）、ＩｎｆｉｎｉＢａｎｄ（商標）、シリアルＡＴＡ、Ｉ２Ｃ、およびその他の好適なインターコネクトなどが挙げられる。中央演算処理装置２１（プロセッサとも称される）は、単一または複数のコアを有する単一または複数のプロセッサのセットを含むことができる。プロセッサ２１は、本開示の技術を実装する１つまたは複数のコンピュータ実行可能コードを実行してもよい。システムメモリ２２は、本明細書で使用するデータおよび／またはプロセッサ２１によって実行可能なコンピュータプログラムを記憶する任意のメモリであってよい。システムメモリ２２は、ランダムアクセスメモリ（Random  Access  Memory：ＲＡＭ）２５などの揮発性メモリ、および読み取り専用メモリ（Read  Only  Memory：ＲＯＭ）２４、フラッシュメモリなどの不揮発性メモリ、またはこれらの任意の組み合わせを含んでもよい。基本入出力システム（Basic  Input/Output  System：ＢＩＯＳ）２６は、例えば、ＲＯＭ２４を使用してオペレーティングシステムをロードするときの手順などの、コンピュータシステム２０の各要素間の情報の伝送の基本手順を記憶していてもよい。
【０１８１】
コンピュータシステム２０は、１つまたは複数の取り外し可能記憶デバイス２７、１つまたは複数の非取り外し可能記憶デバイス２８、またはこれらの組み合わせなどの１つまたは複数の記憶デバイスを含んでもよい。１つまたは複数の取り外し可能記憶デバイス２７、および非取り外し可能記憶デバイス２８は、記憶インターフェース３２を介してシステムバス２３に接続される。一態様では、記憶デバイスおよび対応するコンピュータ可読記憶媒体は、コンピュータシステム２０のコンピュータ命令、データ構造、プログラムモジュール、および他のデータを記憶するための電力独立型モジュールである。システムメモリ２２、取り外し可能記憶デバイス２７、非取り外し可能記憶デバイス２８は、種々のコンピュータ可読記憶媒体を使用してもよい。コンピュータ可読記憶媒体の例としては、例えば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロ・コンデンサＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのマシンメモリ、ソリッドステートドライブ（Solid  State  Drive：ＳＳＤ）またはフラッシュドライブのようなフラッシュメモリまたはその他のメモリ技術、ハードディスクドライブまたはフロッピーディスクのような磁気カセット、磁気テープ、および磁気ディスクストレージ、コンパクトディスク（Compact  Disk  Read  Only  Memory：ＣＤ−ＲＯＭ）またはデジタル多用途ディスク（Digital  Versatile  Disk：ＤＶＤ）のような光ストレージ、および所望のデータを記憶するために使用され、コンピュータシステム２０によってアクセス可能な任意の他の媒体が挙げられる。
【０１８２】
コンピュータシステム２０のシステムメモリ２２、取り外し可能記憶デバイス２７、および非取り外し可能記憶デバイス２８は、オペレーティングシステム３５、追加のプログラムアプリケーション３７、他のプログラムモジュール３８およびプログラムデータ３９を記憶するために使用されてよい。コンピュータシステム２０は、例えば、キーボード、マウス、スタイラス、ゲームコントローラ、音声入力デバイス、タッチ入力デバイスなどの入力デバイス４０からデータを通信するための周辺インターフェース４６、または、例えばシリアルポート、パラレルポート、ユニバーサルシリアルバス（Universal  Serial  Bus：ＵＳＢ）などの１つまたは複数の入出力ポートを介したプリンタまたはスキャナなどの他の周辺デバイス、または他の周辺インターフェースを含んでもよい。１つまたは複数のモニタ、プロジェクタまたは統合ディスプレイなどのディスプレイデバイス４７も、ビデオアダプタなどの出力インターフェース４８を通してシステムバス２３に接続されてもよい。コンピュータシステム２０は、ディスプレイデバイス４７に加えて、ラウドスピーカおよび他の音響映像デバイスなどの他の周辺出力デバイス（図示せず）を搭載してもよい。
【０１８３】
コンピュータシステム２０は、１つまたは複数のリモートコンピュータ４９へのネットワーク接続を使用して、ネットワーク環境で動作してよい。１台又は複数のリモートコンピュータ４９は、コンピュータシステム２０の性質について記載されている上述の各要素のほとんどまたはすべてを含む、ローカルコンピュータワークステーションまたはサーバであってもよい。ルータ、ネットワーク局、ピアデバイスまたは他のネットワークノードなどのその他のデバイスが、コンピュータネットワーク内に存在する場合があるが、これらに限定されない。コンピュータシステム２０は、ローカルエリアコンピュータネットワーク（Local-Area  Computer  Network：ＬＡＮ）５０、広域コンピュータネットワーク（Wide-Area  Computer  Network：ＷＡＮ）、イントラネットおよびインターネットなどの１つまたは複数のネットワークを介して、リモートコンピュータ４９と通信するための１つまたは複数のネットワークインターフェース５１またはネットワークアダプタを含んでもよい。ネットワークインターフェース５１の例としては、イーサネットインターフェース、フレームリレーインターフェース、ＳＯＮＥＴインターフェースおよび無線インターフェースが挙げられる。
【０１８４】
本開示の態様は、システム、方法、および／またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるコンピュータ可読プログラム命令を有する、１つ又は複数のコンピュータ可読記憶媒体を含んでもよい。
【０１８５】
コンピュータ可読記憶媒体は、コンピューティングシステム２０などのコンピューティングデバイスのプロセッサによってアクセス可能な命令またはデータ構造の形態でプログラムコードを保持し、記憶することができる有形デバイスであってもよい。コンピュータ可読記憶媒体は、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の好適な組み合わせであってもよい。例として、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、ＥＥＰＲＯＭ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、フラッシュメモリ、ハードディスク、ポータブルコンピュータディスケット、メモリースティック、フロッピーディスク、あるいは、命令を記録したパンチカードまたは溝内の隆起構造などの機械的にコード化されたデバイスを含み得る。本明細書で、コンピュータ可読記憶媒体は、電波またはその他の自由に伝搬する電磁波、導波管または伝送媒体を通して伝搬する電磁波、あるいは有線で伝送される電気信号などの一時的な信号そのものであると解釈されるべきではない。
【０１８６】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、対応するコンピューティングデバイスに、もしくは、例えば、インターネット、ローカルエリアネットワーク、広域ネットワークおよび／または無線ネットワークなどのネットワークを介して、外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅製の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび／またはエッジサーバを含んでもよい。各コンピューティングデバイスのネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、対応するコンピューティングデバイス内部のコンピュータ可読記憶媒体に記憶するために、コンピュータ可読プログラム命令を転送する。
【０１８７】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブリ命令、命令セットアーキテクチャ（Instruction-Set-Architecture：ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、ステート設定データ、あるいはオブジェクト指向プログラミング言語および従来の手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータで、部分的にユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、部分的にユーザコンピュータと部分的にリモートコンピュータとで、もしくは全面的にリモートコンピュータまたはサーバで実行されてよい。後半のシナリオでは、リモートコンピュータは、ＬＡＮまたはＷＡＮを含む任意のタイプのネットワークを通してユーザのコンピュータに接続されているか、または、（例えば、インターネットを通して）外部コンピュータに接続されてもよい。いくつかの態様では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはプログラマブルロジックアレイ（Programmable  Logic  Array：ＰＬＡ）を含む電子回路は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行し、電子回路をパーソナル化してもよい。
【０１８８】
種々の態様では、本開示に記載されるシステムおよび方法を、モジュールの観点から対処することができる。本発明で使用する用語「モジュール」は、例えば、特定用途向け集積回路（ＡＳＩＣ）またはＦＰＧＡなどのハードウェアを使用して、または、例えば、マイクロプロセッサシステム、および（実行中に）マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能を実装するための命令のセットなどのハードウェアとソフトウェアとの組み合わせとして実装される、実世界デバイス、コンポーネント、またはコンポーネントの機構を意味する。モジュールはまた、単独でハードウェアによって促進される特定の機能と、ハードウェアとソフトウェアとの組み合わせによって促進される他の機能との、２つの組み合わせとして実装されてもよい。特定の実装形態では、モジュールの少なくとも一部、および場合によってはすべてが、コンピュータシステムのプロセッサ（例えば、上記図６で詳細に記載されたもの）によって実施されてよい。したがって、各モジュールは、様々な好適な構成で実現される可能性があり、本明細書に例示されるいずれの特定の実装にも限定されるべきではない。
【０１８９】
明瞭にするために、態様の決まりきった特徴のすべてを本明細書に開示しているわけではない。本開示の任意の実際の実装形態の開発時に、開発者の特定の目的を達成するために非常に多くの実装形態固有の決定が行われる必要があり、これらの特定の目的は実装形態および開発者によって異なることを理解されるであろう。このような開発作業は、複雑であり、かつ時間がかかる可能性があるが、それでも本開示から利益を得る当業者にとって日常的な技術的業務であるものと理解される。
【０１９０】
さらに、本明細書で用いる表現や用語は説明上のものであって、限定のためではない。したがって、本明細書の用語や表現は、当業者の知見と組み合わされて、本明細書で提示する教示および指導に照らして当業者によって解釈されるものと理解すべきである。加えて、明示的記載がない限り、本明細書または特許請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものと見なされることを意図していない。
【０１９１】
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールと均等な現在および将来の公知の均等物を含む。さらに、態様および応用例を示し、かつ説明したが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、本開示から利益を得る当業者には明らかであろう。
【図１】
2020181567.tif 000004
【図２】
2020181567.tif 000005
【図３】
2020181567.tif 000006
【図４】
2020181567.tif 000007
【図５】
2020181567.tif 000008
【図６】
2020181567.tif 000009
【外国語明細書】
2020181567000001.pdf