(57)【特許請求の範囲】
【請求項１】
アクセシビリティＡＰＩを使用してデータへのアクセスを制御する方法であって、工程Ａ〜工程Ｆを含み、
前記工程Ａでは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録し、前記セキュリティアプリケーションは、障害のあるユーザにアクセシビリティＡＰＩを提供し、前記アクセシビリティＡＰＩは、複数のアクセシビリティＡＰＩ機能を含み、
前記工程Ｂでは、前記ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータを前記アクセシビリティＡＰＩを使って傍受し、
前記工程Ｃでは、傍受データのカテゴリを前記セキュリティアプリケーションによって決定し、
前記工程Ｄでは、前記ユーザデバイス上の前記ユーザアプリケーションの実行イベントを前記アクセシビリティＡＰＩを使って傍受し、
前記工程Ｅでは、前記傍受データにアクセスするためのアクセス制御ポリシーを前記傍受データのカテゴリおよび傍受イベントに基づき前記セキュリティアプリケーションによって決定し、
前記工程Ｆでは、決定された前記アクセス制御ポリシーに基づいて前記アクセシビリティＡＰＩを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御する、方法。
【請求項２】
前記ユーザアプリケーションは、前記ユーザデバイス上の隔離環境において実行される、請求項１に記載の方法。
【請求項３】
前記傍受イベントのタイプ、
前記傍受イベントが発生した前記ユーザアプリケーションのグラフィカルユーザインターフェイス（ＧＵＩ）要素、および
前記傍受イベントが発生した前記ユーザアプリケーションのウインドウ、
のうち少なくともひとつを前記傍受イベントから特定する、工程Ｇをさらに含む、請求項１に記載の方法。
【請求項４】
前記工程Ｃは、前記傍受データのアンチウイルスおよびアンチフィッシング分析の一つを実行する工程を含む、請求項１に記載の方法。
【請求項５】
前記傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む、請求項１に記載の方法。
【請求項６】
前記工程Ｆは、
前記ユーザアプリケーションの前記ＧＵＩ要素中のテキストフラグメントの選択をクリアする工程、
前記ユーザアプリケーションの前記ＧＵＩ要素を押す工程、
前記ユーザアプリケーションのダイアログウインドウを閉じる工程、
前記ユーザアプリケーションの前記ＧＵＩ要素内のテキストを変更する工程、および
デバイスボタンを押す工程、
のうち少なくとも一つを含む、請求項１に記載の方法。
【請求項７】
アクセシビリティＡＰＩを使用してデータへのアクセスを制御するシステムであって、ユーザデバイスのハードウェアプロセッサを備え、
前記ハードウェアプロセッサは、
障害のあるユーザのためのサービスとしてセキュリティアプリケーションを前記ユーザデバイス上に登録し、前記セキュリティアプリケーションは、障害のあるユーザにアクセシビリティＡＰＩを提供し、前記アクセシビリティＡＰＩは、複数のアクセシビリティＡＰＩ機能を含み、
前記ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータを前記アクセシビリティＡＰＩを使って傍受し、
傍受データのカテゴリを前記セキュリティアプリケーションによって決定し、
前記ユーザデバイス上の前記ユーザアプリケーションの実行イベントを前記アクセシビリティＡＰＩを使って傍受し、
前記傍受データにアクセスするためのアクセス制御ポリシーを前記傍受データのカテゴリおよび傍受イベントに基づき前記セキュリティアプリケーションによって決定し、
決定された前記アクセス制御ポリシーに基づいて前記セキュリティアプリケーションの前記アクセシビリティＡＰＩを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御するように構成されているシステム。
【請求項８】
前記ユーザアプリケーションは、前記ユーザデバイス上の環境隔離において実行される、請求項７に記載のシステム。
【請求項９】
前記ハードウェアプロセッサは、
前記傍受イベントのタイプ、
前記傍受イベントが発生した前記ユーザアプリケーションのグラフィカルユーザインターフェイス（ＧＵＩ）要素、および
前記傍受イベントが発生した前記ユーザアプリケーションのウインドウ、
のうち少なくともひとつを前記傍受イベントから特定するようにさらに構成されている、請求項７に記載のシステム。
【請求項１０】
前記傍受データのカテゴリを前記セキュリティアプリケーションによって決定する際に、前記傍受データのアンチウイルスおよびアンチフィッシング分析の一つを実行する、請求項７に記載のシステム。
【請求項１１】
前記傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む、請求項７に記載のシステム。
【請求項１２】
前記セキュリティアプリケーションの前記アクセシビリティＡＰＩを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御する際に、
前記ユーザアプリケーションの前記ＧＵＩ要素中のテキストフラグメントの選択のクリア、
前記ユーザアプリケーションの前記ＧＵＩ要素の押下げ、
前記ユーザアプリケーションのダイアログウインドウを閉じること、
前記ユーザアプリケーションの前記ＧＵＩ要素内のテキストの変更、および
デバイスボタンの押下げ、
のうち少なくとも一つが行われる、請求項７に記載のシステム。
【請求項１３】
アクセシビリティＡＰＩを使用してデータへのアクセスを制御するコンピュータ実行可能命令を格納する非一過性の記録媒体であって、前記命令は、命令Ａ〜命令Ｆを含み、
前記命令Ａは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録させ、前記セキュリティアプリケーションは、障害のあるユーザにアクセシビリティＡＰＩを提供し、前記アクセシビリティＡＰＩは、複数のアクセシビリティＡＰＩ機能を含み、
前記命令Ｂは、前記ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータを前記アクセシビリティＡＰＩを使って傍受させ、
前記命令Ｃは、傍受データのカテゴリを前記セキュリティアプリケーションによって決定させ、
前記工程Ｄでは、前記ユーザデバイス上の前記ユーザアプリケーションの実行イベントを前記アクセシビリティＡＰＩを使って傍受させ、
前記命令Ｅは、前記傍受データにアクセスするためのアクセス制御ポリシーを前記傍受データのカテゴリおよび傍受イベントに基づき前記セキュリティアプリケーションによって決定させ、
前記命令Ｆは、決定された前記アクセス制御ポリシーに基づいて前記セキュリティアプリケーションの前記アクセシビリティＡＰＩを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御させ、
前記セキュリティアプリケーションは複数のアクセシビリティＡＰＩ機能を含む障害のあるユーザのための前記アクセシビリティＡＰＩを提供する、記録媒体。
【請求項１４】
前記ユーザアプリケーションは、前記ユーザデバイス上の環境隔離において実行される、請求項１３に記載の記録媒体。
【請求項１５】
前記傍受イベントのタイプ、
前記傍受イベントが発生した前記ユーザアプリケーションのグラフィカルユーザインターフェイス（ＧＵＩ）要素、および
前記傍受イベントが発生した前記ユーザアプリケーションのウインドウ、
のうち少なくともひとつを前記傍受イベントから特定する、命令Ｇをさらに含む、請求項１３に記載の記録媒体。
【請求項１６】
前記命令Ｃは、前記傍受データのアンチウイルスおよびアンチフィッシング分析の一つを実行させる命令を含む、請求項１３に記載の記録媒体。
【請求項１７】
前記傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む、請求項１３に記載の記録媒体。
【請求項１８】
前記命令Ｆは、
前記ユーザアプリケーションの前記ＧＵＩ要素中のテキストフラグメントの選択をクリアさせる命令、
前記ユーザアプリケーションの前記ＧＵＩ要素を押させる命令、
前記ユーザアプリケーションのダイアログウインドウを閉じさせる命令、
前記ユーザアプリケーションの前記ＧＵＩ要素内のテキストを変更させる命令、および
デバイスボタンを押させる命令、
のうち少なくとも一つを含む、請求項１３に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、米国特許法第１１９条（ａ）〜（ｄ）（３５ＵＳＣ  １１９（ａ）−（ｄ））下の優先権の利益を主張する。２０１６年１２月１８日に出願されたロシア特許出願２０１５１５４３８４号は、本明細書中に参照として援用されるものとする。
【０００２】
本発明は、概してコンピュータセキュリティに関し、特に障害のあるユーザのための（アプリケーション・プログラミング・インターフェイス）ＡＰＩを使用したデータへのアクセスを制御するためのシステムおよび方法に関する。
【背景技術】
【０００３】
Ａｎｄｒｏｉｄオペレーティングシステム（ＯＳ）およびその他の多くのモバイルオペレーティングシステム（例えば、ｉＯＳ、ＷｉｎｄｏｗｓＰｈｏｎｅ）において、ＯＳにるユーザアプリケーションの実行中の安全性を確保するために、「サンドボックス」として知られている隔離されたプログラムの実行環境を使用することができる。このような隔離環境は通常、ディスク上またはメモリ上のスペース、使用可能なプロセッサコアの数など、アプリケーションの実行のために使用可能なリソースの制御可能なセットを構成する。さらに、通常、機能の実行が部分的にエミュレートされるか、またはネットワーク（ローカルエリアまたはインターネット）へのアクセスおよびＯＳ機能を使用する能力またはデータ入力装置からの情報の読み取り能力が大幅に制限される。このような隔離環境で実行されるアプリケーションは、他のアプリケーションにアクセス可能な、または他のアプリケーションが専有しているランダムアクセスメモリ領域からの読込み、ましてや当該メモリ領域への書き込みを行うことができません。
【０００４】
システム機能を呼び出すためには、ユーザアプリケーションは、追加のアクセス許可を要求する必要がある。ほとんどの場合、このような権限は、（ＡｎｄｒｏｉｄのＯＳの以前のバージョンにおける）アプリケーションのインストール中に、または（アンドロイドＯＳの最新バージョンおよびその他のОＳにおける）アプリケーションの起動や実行中のいずれかに、ユーザによって付与される。そのような権限の例としては、ＳＭＳ／ＭＭＳメッセージの動作のための権限、ユーザの連絡先にアクセスする権限、およびネットワークサービスにアクセスするための権限が含まれる。ユーザアプリケーションが権限の助けを借りて隔離環境の外で実行できるアクションの数も、同様に制限されます。権限自体は、通常、様々な種類のものがあり、例えば、すべてのユーザアプリケーションに付与することができるもの、またユーザデバイスのファームウェアを構成しているアプリケーションのみなどの限られたグループのユーザアプリケーションにのみ付与されているものがある。限られたグループのユーザアプリケーションに付与された権限の例としては、ユーザデバイスを再起動する権限が挙げられる。
【０００５】
セキュリティアプリケーションは、外部アプリケーションであるとも考えられ、したがって、その隔離環境の枠組みの中における権限や、ユーザによって追加付与される権限に制限される。そのため、他の外部アプリケーションが利用するデータを取得するセキュリティアプリケーションで困難が発生します。オペレーティングシステムによって外部アプリケーションに与えられる権限のリスト内に、他のアプリケーションのデータを読み込むための権限はない。なぜなら、そのような権限は、隔離環境を使用してのアプローチに反するためである。従って、モバイルデバイスにおいて隔離環境内で実行される外部ユーザアプリケーションのデータへのアクセスを制御するセキュリティアプリケーションのためのメカニズムを改善する必要がある。
【発明の概要】
【０００６】
現代のモバイルオペレーティングシステムは、多くの場合、障害のあるユーザのデバイスでの作業を容易にするためのサブシステムを有している。例えば、これらのサブシステムは、デバイスと対話するための別の方法を障害のある人々に提供するアプリケーションを、サードパーティの開発者が作成することを可能にするアプリケーション・プログラミング・インターフェイス（ＡＰＩ）を有する（例えば、テキストナレーション、外部機器へのデータの出力による点字の表示のサポートなど）。開示されたシステムおよび方法は、障害を持つユーザのためのアプリケーション・プログラミング・インターフェイス（ＡＰＩ）（「アクセシビリティＡＰＩ」）を使用したユーザデバイスにおいて、隔離環境で実行中のユーザアプリケーションが有するデータへのアクセスを制御するメカニズムを提供する。
【０００７】
本開示は、障害のあるユーザのためのアクセシビリティＡＰＩを使用したモバイルデバイス上でのデータへのアクセスを制御するためのシステム及び方法である。一実施形態によれば、その方法の一例は、工程Ａ〜工程Ｆを含み、工程Ａでは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録し、セキュリティアプリケーションは、障害のあるユーザにアクセシビリティＡＰＩを提供し、アクセシビリティＡＰＩは、複数のアクセシビリティＡＰＩ機能を含み、工程Ｂでは、ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータをアクセシビリティＡＰＩを使って傍受し、工程Ｃでは、傍受データのカテゴリをセキュリティアプリケーションによって決定し、工程Ｄでは、ユーザデバイス上のユーザアプリケーションの実行イベントをアクセシビリティＡＰＩを使って傍受し、工程Ｅでは、傍受データにアクセスするためのアクセス制御ポリシーを傍受データのカテゴリおよび傍受イベントに基づきセキュリティアプリケーションによって決定し、工程Ｆでは、決定されたアクセス制御ポリシーに基づいてセキュリティアプリケーションのアクセシビリティＡＰＩを使って傍受データへのユーザアプリケーションのアクセスを制御する。
【０００８】
一実施形態によれば、ユーザアプリケーションは、ユーザデバイス上の環境隔離において実行され得る。
【０００９】
一実施形態によれば、上記方法は、工程Ｇをさらに含み、工程Ｇでは、傍受イベントのタイプ、傍受イベントが発生したユーザアプリケーションのグラフィカルユーザインターフェイス要素、および傍受イベントが発生したユーザアプリケーションのウインドウ、のうち少なくともひとつをユーザアプリケーションの一つ以上の傍受イベントから特定する。
【００１０】
一実施形態によれば、工程Ｄは、データのアンチウイルスおよびアンチフィッシング分析の一つを実行する工程を含む。
【００１１】
一実施形態によれば、傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む。
【００１２】
一実施形態によれば、工程Ｆは、ユーザアプリケーションのグラフィックユーザインタフェイス（ＧＵＩ）要素中のテキストフラグメントの選択をクリアする工程、ユーザアプリケーションのＧＵＩ要素を押す工程、ユーザアプリケーションのダイアログウインドウを閉じる工程、アプリケーションのＧＵＩ要素内のテキストを変更する工程、およびデバイスボタンを押す工程、のうち少なくとも一つを含む。
【００１３】
一実施形態によれば、障害のあるユーザのためのＡＰＩを使用したデータへのアクセスを制御するためのシステムの一例は、ユーザデバイスのハードウェアプロセッサを備え、該ハードウェアプロセッサは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録し、セキュリティアプリケーションは、障害のあるユーザにアクセシビリティＡＰＩを提供し、アクセシビリティＡＰＩは、複数のアクセシビリティＡＰＩ機能を含み、ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータをアクセシビリティＡＰＩを使って傍受し、傍受データのカテゴリをセキュリティアプリケーションによって決定し、ユーザデバイス上のユーザアプリケーションの実行イベントをアクセシビリティＡＰＩを使って傍受し、傍受データにアクセスするためのアクセス制御ポリシーを傍受データのカテゴリおよび傍受イベントに基づきセキュリティアプリケーションによって決定し、決定されたアクセス制御ポリシーに基づいてセキュリティアプリケーションのアクセシビリティＡＰＩを使って傍受データへのユーザアプリケーションのアクセスを制御するように構成されている。
【００１４】
一実施形態によれば、障害のあるユーザのためのＡＰＩを使用したデータへのアクセスを制御するためのコンピュータ実行可能命令を格納する非一過性の記録媒体は、該命令は、命令Ａ〜命令Ｆを含み、命令Ａは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録させ、セキュリティアプリケーションは、障害のあるユーザにアクセシビリティＡＰＩを提供し、アクセシビリティＡＰＩは、複数のアクセシビリティＡＰＩ機能を含み、工程Ｂでは、ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータをアクセシビリティＡＰＩを使って傍受させ、工程Ｃは、傍受データのカテゴリをセキュリティアプリケーションによって決定させ、工程Ｄは、ユーザデバイス上のユーザアプリケーションの実行イベントをアクセシビリティＡＰＩを使って傍受させ、工程Ｅは、傍受データにアクセスするためのアクセス制御ポリシーを傍受データのカテゴリおよび傍受イベントに基づきセキュリティアプリケーションによって決定させ、工程Ｆは、決定されたアクセス制御ポリシーに基づいてセキュリティアプリケーションのアクセシビリティＡＰＩを使って傍受データへのユーザアプリケーションのアクセスを制御させる。
【００１５】
上述した実施形態の簡単な説明は、本発明の基本的な理解を提供するのに役立つ。この概要は、全ての考えられる側面の詳細な展望ではなく、全ての側面の鍵となるものや決定的な要素を決定することを意図していないし、本発明の全ての側面を描写することも意図していない。その唯一の目的は、前置きとして、１つ又は複数の側面を表し、その後、本発明のより詳細な説明に続くものである。これを達成するため、本発明の１つ又は複数の側面が説明されて、特許請求の範囲においても主張される。
【図面の簡単な説明】
【００１６】
添付図面は、詳細な説明と共に、本明細書に組み込まれ、その一部を構成し、本開示における１つ又は複数の実施態様を示し、それらの原理および実装の説明に寄与する。
【図１】図１は、障害のあるユーザのためのＡＰＩを使用したモバイルデバイス上のデータへのアクセスを制御するためのシステムの例のダイアグラムを示す。
【図２】図２は、障害のあるユーザのためのＡＰＩを使用したモバイルデバイス上のデータへのアクセスを制御するための方法の例のフローダイアグラムを示す。
【図３】図３は、本開示のシステムおよび方法の一実施形態を実施することが可能な手段による汎用コンピュータシステムを示す。
【発明を実施するための形態】
【００１７】
例示する実施形態は以下、障害のあるユーザのためのアプリケーション・プログラミング・インターフェイス（ＡＰＩ）を使用したモバイルデバイス上のデータへのアクセスを制御するためのシステム、方法、コンピュータプログラム製品として説明される。当業者であれば、以下の記載はあくまでも例示であり、あらゆる制限をも意図するものではないことは当然に意味するところである。本発明が利益となる分野の当業者であれば、別例をも容易に示唆されることであろう。添付の図面ではその詳細を示すための参照符号が付されている。図面と以下の記載において、同一の又はそれに相当するものについては、同一の参照符号を用いるものとする。
【００１８】
図１は、障害のあるユーザのためのＡＰＩを使用したモバイルデバイス上のデータへのアクセスを制御するためのシステムの一実施形態の例を示す。システムは、デスクトップコンピュータまたはモバイルデバイス（例えば、ラップトップコンピュータ、タブレット、スマートフォンや他の携帯用コンピューティングデバイス）などのユーザデバイス１００上に構築することができる。「ユーザデバイス」および「モバイルデバイス」という用語は、本明細書において互換的に使用される。ユーザデバイス１００の一例のダイアグラムは図３への参照とともに後述する。モバイルデバイス１００は、様々なユーザアプリケーション１５０（例えば、インターネットブラウザ、テキスト処理アプリケーションなど）を実行することが可能である。悪意がある可能のあるアプリケーションからユーザを保護するために、ユーザアプリケーション１５０は、ユーザデバイス１００上で、例えば、サンドボックスなどの隔離環境１６０で実行され得る。隔離環境１６０は、ユーザアプリケーション１５０の起動時にユーザデバイス１００のオペレーティングシステムによって生成されてもよい。隔離環境１６０での実行中、ユーザアプリケーション１５０は、ファイル、ユーザ入力またはインターネットからの様々なデータにアクセスしようと試み、さらに様々なＯＳサービスおよびシステムリソースにアクセスしようと試みる。隔離環境１６０は、ユーザアプリケーション１５０のデータアクセス権を制限するとともに、様々なＯＳサービスおよびシステムリソースへのアクセスに制限を設けるように構成することができる。
【００１９】
一実施形態によれば、ユーザデバイス１００に、障害のあるユーザのためのＡＰＩ（「アクセシビリティＡＰＩ」）を使ったユーザアプリケーション１５０のデータへのアクセスを制御するためのシステムの態様を実装するように構成されたセキュリティアプリケーション１４０（アンチウィルスアプリケーションなど）をインストールすることもできる。一実施形態によれば、セキュリティアプリケーション１４０は、障害のあるユーザのためのサービスシステムとしてモバイルデバイス１００に登録されてもよい。例えば、ユーザは、ユーザのためのサービス（アクセシビリティサービスとも呼ばれる）としてセキュリティアプリケーション１４０をインストールするように促されてもよい。例えば、ＡｎｄｒｏｉｄＯＳバージョン５．хおよびそれ以前のバージョンでは、「アクセシビリティ」システム設定用のタブを開いて、このサービスのプロバイダの１つとしてセキュリティアプリケーション１４０をインストールすることが可能である。セキュリティアプリケーション１４０は、障害のあるユーザのためのサービスシステムとして登録されると、隔離環境で実行されるユーザアプリケーション１５０のイベントやデータへのアクセスをＯＳから受け付ける。
【００２０】
セキュリティアプリケーション１４０を障害のあるユーザのためのサービスシステムとしてインストール（または登録）した後、ユーザは、セキュリティアプリケーション１４０のユーザインタフェースを使用して、このサービスのパラメータを指定することができる。当該パラメータは、限定されるものではないが、例えば、セキュリティアプリケーション１４０によって監視されるべきユーザアプリケーション１５０の名前、セキュリティアプリケーション１４０によって監視されるべきユーザアプリケーション１５０の実行中に発生するイベントのタイプ、イベントの発生時に通知を受信する必要があるユーザアプリケーション１５０の名称、監視対象ユーザアクセスのアクセス権、およびその他のパラメータである。
【００２１】
一実施形態によれば、セキュリティアプリケーション１４０は、傍受モジュール１１０、分類モジュール１２０、アクセス制御モジュール１３０、および障害のあるユーザのためのアクセシビリティＡＰＩ機能１１５（"アクセシビリティＡＰＩ機能"）のライブラリ１４５を含む。一実施形態によれば、傍受モジュール１１０は、ユーザビリティＡＰＩ機能１１５を使用してユーザデバイス１００上の隔離環境１６０で実行されるユーザアプリケーション１５０によってアクセスされた（例えば、受信された）データを傍受するように構成されている。上記傍受は、障害のあるユーザのためのサービスのＡＰＩ機能１１５を使用して行うことができる。例えば、音声ナレーション機能によって行われる（具体例としては、ナレーションされたテキストが、明確な形式で、フルボリュームで、セキュリティアプリケーション１４０の専用アクセシビリティＡＰＩ関数１１５によって傍受される。）。例えば、画面拡大機能によって行われる（具体例としては、ユーザデバイス１００の画面上で拡大された画像は、セキュリティアプリケーション１４０の専用アクセシビリティＡＰＩ機能１１５によって傍受される。）。例えば、点字ディスプレイをサポートする外部装置へのデータ出力機能によって行われる（具体例としては、点字ディスプレイに送信されたデータは、キュリティアプリケーション１４０の専用アクセシビリティＡＰＩ機能１１５によって傍受される。）。また、その他のアクセシビリティＡＰＩ機能１１５によって行われてもよい。
【００２２】
別の実施形態においては、傍受モジュール１１０は、ユーザアプリケーション１５０の実行の種々のタイプのイベントを傍受するためにセキュリティアプリケーション１４０のアクセシビリティＡＰＩ機能１１５を使用するようにさらに構成されてもよい。種々のタイプのイベントとは、例えば、ユーザアプリケーション１５０のグラフィカルインターフェース（ＧＵＩ）の要素の押し下げること又は押したままにすることや、ユーザアプリケーション１５０のＧＵＩの他の要素へのフォーカスの移動や、オブジェクトのリストを含むＧＵＩの要素内のオブジェクトの選択（ＬｉｓｔＢｏｘまたはＲａｄｉｏＢｕｔｔｏｎＧｒｏｕｐ内の選択された要素の変更など）や、ユーザアプリケーション１５０のＧＵＩの要素におけるテキストの変更や、ユーザパッケージ１００の画面へのユーザアプリケーション１５０のウインドウ（メインまたはダイログウインドウ）の表示などである。
【００２３】
一実施形態によれば、傍受モジュール１１０は、傍受データを分類モジュール１２０に、そして傍受イベントに関する情報をアクセス制御モジュール１３０に転送する。一実施形態によれば、傍受イベントに関する情報にはイベントの種類が含まれる。別の実施形態によれば、傍受イベントに関する情報には、イベントが発生したユーザアプリケーション１５０のＧＵＩの要素の記述が含まれる。別の実施形態によれば、傍受イベントに関する情報には、イベントが発生したアプリケーション１５０のウインドウが記述されている。異なる例示的な態様では、情報は、受信モジュール１１０が利用可能なイベントの他の情報によって補うことができることに留意されたい。
【００２４】
一実施形態によれば、分類モジュール１２０は、傍受データのカテゴリを決定する。一実施形態によれば、分類モジュール１２０は、テキスト、ユニフォームリソースロケータ（ＵＲＬ）、画像、アーカイブファイル、および実行可能アプリケーションのような傍受データのタイプを決定する。別の実施形態では、分類モジュール１２０は、傍受データのアンチウィルスおよび／またはアンチフィッシング分析を実行してもよい。アンチウィルス分析には、シグネチャ分析、ヒューリスティック分析、またはマルウェアの存在に対する傍受データの動作分析が含まれる。アンチフィッシング分析には、既知のフィッシング対策技術を使用してアクティブなコントロール要素（情報の入力のためのグラフィックユーザインターフェイスの要素など）の分析が含まれる場合がある。傍受データのアンチウィルスおよび／またはアンフィシング分析は、セキュリティアプリケーション１４０によってローカル的に、またはリモートネットワークサーバまたはクラウドサービスの助けを借りて実行されてもよい。上記分析の結果、分類モジュール１２０は、傍受データを異なるカテゴリに分類する。
【００２５】
一実施形態によれば、分類モジュール１２０は、傍受データを安全または安全でないと分類することができる。安全なデータには、クリーンテキストファイル、クリーンイメージファイル、クリーン実行可能ファイル、安全なウェブサイトのＵＲＬなど、ユーザまたはユーザデバイス１００に明らかな害を及ぼさないデータが含まれ得る。安全でないデータには、ユーザまたはユーザデバイス１００に害を及ぼす可能性のあるコンピュータウイルス、フィッシングスクリプトおよびその他のタイプの悪質なデータおよびコードが含まれている可能性がある。これらは、例えば、ユーザデバイス１００の動作中断、機密データの漏洩または損失、財務上の損失、およびその他の有害な影響などの害を及ぼす。例えば、アンティウィルスまたはアンチフィッシングモジュールでスキャンした結果、データが有害であると判断された場合は、分類モジュール１２０によって「有害なＵＲＬ」または「フィッシングＵＲＬ」のカテゴリが追加され、これらのカテゴリのデータは安全でないとみなされる。さらに別の実施形態によれば、分類モジュール１２０は、コンテンツが本質的にユーザまたはユーザデバイス１００に有害ではないが、特定のユーザにとって望ましくないまたは不適当であると考えられるデータ内の情報の存在を反映して、傍受データを望ましくないものとして分類することができる。特定のユーザにとって望ましくないまたは不適当であると考えられるデータ内の情報とは、年齢制限のある成人向コンテンツ、麻薬、アルコール、たばこ、暴力、冒涜、武器に関するコンテンツ、およびユーザまたはウイルス対策ソフトウェアによって望ましくないと分類される他のタイプのコンテンツなどを含む。
【００２６】
分類モジュール１２０は、傍受データの分類情報をアクセス制御モジュール１３０に送る。一実施形態によれば、送信された分類情報は、傍受データのカテゴリ（例えば、安全、安全でない、望ましくないもの）を含むことができる。別の実施形態においては、送信された分類情報は、傍受データのタイプ（例えば、テキストファイル、画像ファイル、実行可能ファイル、ＵＲＬなど）を識別することもできる。さらに別の実施形態においては、傍受データが安全でなく、望ましくないと同時に分類される場合、安全でないカテゴリのデータに関する情報のみがこのカテゴリはユーザにとってより制限的で有害であるとしてアクセス制御モジュール１３０に送信される。
【００２７】
一実施形態によれば、アクセス制御モジュール１３０は、分類モジュール１２０によって決定されたデータカテゴリと傍受モジュール１１０によって傍受されたイベントに基づいて、データへのユーザアクセスのアクセスを許可または遮断するためのアクセス制御ポリシーを決定する。そして、要求されたアクセス制御ポリシーに基づいて、アクセス制御モジュール１３０は、障害のあるユーザのためのＡＰＩを使って、要求されたデータに対するアクセスを許可または遮断する。
【００２８】
アクセス制御ポリシーは、セキュリティアプリケーション１４０が提供するアクセス制御ポリシデータベース１３５に格納されていてもよい。一実施形態によれば、データベース１３５は、すべてがユーザデバイス１００上に存在していてもよい。別の実施形態においては、データベース１３５は、アンチウィルス会社によってホストされるリモートサーバに少なくとも部分的に存在していてもよい。
【００２９】
一実施形態によれば、アクセス制御ポリシーは、特定のカテゴリ（すなわち、安全カテゴリ）のデータへのアクセスを許可することができる。別の実施形態においては、アクセス制御ポリシーは、他の特定のカテゴリ（例として有害なカテゴリ）のデータへのアクセスを禁止してもよい。さらに別の実施形態においては、アクセス制御ポリシーは、データの種類に基づいて特定のカテゴリのデータへのアクセスを許可または禁止することができる（望ましくないテキストデータを許可するが、望ましくないイメージを遮断する。）。他の態様では、アクセス制御ポリシーの他の変形例を使用することも可能である。
【００３０】
アクセス制御モジュール１３０は、決定されたアクセス制御ポリシー及び傍受モジュール１１０から得られたイベントに関する情報に従って、ユーザアプリケーション１５０のデータへのアクセスを許可又は遮断する。一実施形態によれば、上記のアクセスの遮断は、アクセシビリティＡＰＩ機能１１５を使用して行うことが可能である。
【００３１】
遮断の一例では、アクセシビリティＡＰＩ機能１１５を使用するアクセス制御モジュール１３０は、ユーザによって入力されたテキストを変更する（この機能は、バージョン５．０から、ＡｎｄｒｏｉｄＯＳ上でサポートされる。）。当該イベントは、ユーザがユーザアプリケーション１５０のグラフィカルユーザインターフェイス（ＧＵＩ）要素にテキストを入力した後に発生し、このテキストをアクセス制御モジュール１３０が星印（「＊＊＊」）で置き換える。このように、ユーザアプリケーション１１５は、ユーザによって入力された実際のテキストを見ることはできない。これは、ユーザアプリケーション１１５で動作するフィッシングスクリプトからのユーザのログイン情報（具体例としては、ユーザ名またはパスワード）または機密情報（具体例としては、社会保障番号またはクレジットカードの詳細）を隠すのに役立つ。
【００３２】
遮断の別の例では、アクセシビリティＡＰＩ機能１１５を使用したアクセス制御モジュール１３０は、フォーカスが移動（イベント発生）した場合に、ユーザアプリケーション１５０のＧＵＩの要素を特定のテキストで埋め（この機能はバージョン５．０以降のＡｎｄｒｏｉｄＯＳでサポートされている）、またはテキストが入力されたユーザアプリケーション１５０のＧＵＩの要素をクリアする。例えば、ユーザが安全でないと判明したＧＵＩ要素にテキストを入力した場合（具体例としては、フィッシング要素）、入力されたテキストは、セキュリティアプリケーション１４０によって別のテキストで置き換えられてもよい（例えば、ユーザデータの紹介が行われない）。
【００３３】
遮断のさらに別の例では、アクセシビリティＡＰＩ機能１１５を用いたアクセス制御モジュール１３０は、フォーカスを他の要素に移すことにより、ユーザアプリケーション１５０のＧＵＩのアクティブ要素を変更する。例えば、ユーザがテキストを入力しようとしたり、ボタンを押したりしようとすると、アクセス機能ＡＰＩ機能１１５は、カーソルを別のＧＵＩ要素に移動させ、ユーザが対話しようとしている要素を効果的に遮断する。
【００３４】
遮断のさらに別の例では、アクセシビリティＡＰＩ機能１１５を使用するアクセス制御モジュール１３０は、ユーザが対話しようとするユーザアプリケーションのウィンドウ１５０を閉じることができ、それによって、その要素がユーザからのデータを受信するのを効果的に遮断することができる。
【００３５】
遮断のさらに別の例では、アクセシビリティＡＰＩ機能１１５を使用するアクセス制御モジュール１３０は、デバイスボタン（ホームボタンまたはバックボタンなど）を押すことにより、ユーザが安全でないウェブサイトにデータを入力することを効果的に防止する。
【００３６】
遮断のさらに別の例では、アクセシビリティＡＰＩ機能１１５を使用するアクセス制御モジュール１３０は、ユーザが望ましくないコンテンツ（猥褻な言語または画像など）を見ることを許可せず、望ましくないコンテンツに対する遮断「警告」ウィンドウを表示することができる。
【００３７】
遮断のさらに別の例では、フィッシングリンクであることが判明したリンクを開くイベントが発生した場合には、アドセシリティＡＰＩ機能１１５を用いたアクセス制御モジュール１３０は、ユーザユーザアプリケーション（実例では、Ｗｅｂブラウザ）にリクエストを送信し、ユーザが開こうとしているページの代わりに（ページを遮断し）セキュリティアプリケーション１４０を表示することができる。
【００３８】
一実施形態によれば、セキュリティアプリケーション１４０は、ユーザアプリケーション１５０によって入力され表示されている情報（データ）を記録することができる。例えば、傍受イベントの結果に基づいて、セキュリティアプリケーション１４０は、（インスタントメッセージ、電子メール、ソーシャルネットワーク、インターネットなどのアプリケーションにおいて）子供が何について書いているかを親に知らせることができる。
【００３９】
別の実施形態においては、セキュリティアプリケーション１４０は、ユーザが特定のアクセス制御ルールまたはアクセス制御ルールのグループを何回破ったかを追跡することができる。これらのルールは、ユーザデバイス１００のセキュリティポリシーまたはユーザアクションのスクリプト（例えば、ウェブブラウザ内のリンクに従う）のいずれかであってよい。検出された違反の数は、分析および適切な懲戒処分のために別のユーザに提供される可能性がある（例えば、保護者が子供のルール違反の数に関する情報を受け取ることができ、企業におけるセキュリティ担当者が従業員による従業員によるセキュリティルール違反に関する情報を受け取ることができる。）。
【００４０】
さらに別の実施形態においては、セキュリティアプリケーション１４０は、ユーザのデータを漏洩から保護し得る。従って、例えば、ユーザによる秘密データまたは個人データの送信は、（子供または会社の従業員がこのようなデータを送信しようとする場合）セキュリティアプリケーション１４０によって遮断されてもよく、またはそのようなデータがユーザに送信された場合、警告が表示されてもよい。例えば、アプリケーション１５０が安全であるとみなされたイベントであっても、アプリケーション１５０がユーザの個人ファイルにアクセスしたときに別のイベントが発生した場合、ユーザには警告が表示され、送信は遮断される（例えば、アプリケーション１５０のアクティブ要素を置き換える）。
【００４１】
さらに別の実施形態においては、セキュリティアプリケーション１４０は、ネットワーク内のユーザの匿名性を保証することができる。例えば、ユーザが自分のログイン名とパスワードを入力したリソース（具体例としては、ウェブサイト）に登録される際に、セキュリティアプリケーション１４０はこのデータを保存し、当該リソースを扱う際に非パーソナライズされたデータを使用する（具体例としては、ＫａｓｐｅｒｓｋｙＵｓｅｒＩＤ）。
【００４２】
さらに別の実施形態においては、セキュリティアプリケーション１４０は、入力されたデータを検証するために、ユーザアプリケーション１５０においてユーザが入力したデータを追跡することができる（例えば、ユーザが使用するパスワードの強さを検証するために行われる。）。
【００４３】
図２は、障害のあるユーザのためのＡＰＩを使用したモバイルデバイスなどのユーザデバイス上のデータへのアクセスを制御するための方法の一例を示す。
【００４４】
ステップ２１０では、ユーザデバイス１００上のオペレーティングシステムによる障害のあるユーザのためのサービスシステムとして、少なくとも傍受モジュール１１０と、分類モジュール１２０と、アクセス制御モジュール１３０とを含むセキュリティアプリケーション１４０が登録される。
【００４５】
ステップ２２０では、障害のあるユーザのためのアクセス機能ＡＰＩ機能１１５を用いた傍受モジュール１１０は、隔離環境で実行されているユーザアプリケーション１５０が受信したデータを傍受し、傍受データを分類モジュール１２０に送る。
【００４６】
ステップ２３０では、分類モジュール１２０は、傍受データのカテゴリを決定し、決定したカテゴリ情報をアクセス制御モジュール１３０に送る。カテゴリを決定する過程で、傍受データはアンチウィルスまたはアンチフィッシング分析を受けることがある。一実施形態によれば、データは安全、危険、および／または望ましくないと分類され得る。一実施形態によれば、分類モジュール１２０は、テキスト、ＵＲＬ、画像、アーカイブファイル、または実行可能アプリケーションなどの傍受データのタイプも決定する。
【００４７】
ステップ２４０では、障害のあるユーザのためのアクセス機能ＡＰＩ機能１１５を用いた傍受モジュール１１０は、アプリケーション１５０の実行中に発生するイベントを傍受し、傍受イベントに関する情報をアクセス制御モジュール１３０に送る。
【００４８】
ステップ２５０では、アクセス制御モジュール１３０は、決定した傍受データのカテゴリとユーザアプリケーション１５０の傍受イベントに関する情報に基づいて、データへのアクセスを許可／遮断するアクセス制御ポリシーを決定する。
【００４９】
ステップ２６０では、アクセス制御モジュール１３０は、ユーザアプリケーション１５０の傍受データへのアクセスを、決定されたアクセス制御ポリシーに基づいて制御する。一実施形態によれば、アクセス制御モジュール１３０は、セキュリティアプリケーション１４０のアクセシビリティＡＰＩ１１５を使用して、ユーザアプリケーション１５０の傍受データへのアクセスを許可または遮断することができる。例えば、アクセスの遮断は、限定されないが、グラフィカルユーザインターフェイスのアクティブな要素の変更、グラフィカルユーザインターフェイスの要素内のテキストフラグメントの選択のクリア、グラフィカルユーザインターフェイスの要素を押すこと、アプリケーションのダイアローウインドウを閉じること、グラフィカルユーザインターフェイスの要素のテキストの変更、デバイスボタンを押すこと、などが含まれる。
【００５０】
図３は、実施形態に係る本発明のシステムと方法が実装できる汎用コンピュータシステム（パーソナルコンピュータやサーバ等）の例を示している。図示の通り、コンピュータシステム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、およびローカルバスを次々含む従来より公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティングシステムをロードする際等、パーソナルコンピュータ２０の要素間の情報の伝達を担う基本的な手順を含む。
【００５１】
パーソナルコンピュータ２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、および光学式のドライブ３０は、ハードディスクインターフェイス３２、磁気ディスクインターフェイス３３、および光学式のドライブインターフェイス３４それぞれを横切るシステムバス２３と接続される。ドライブおよび対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、およびパーソナルコンピュータ２０の他のデータのストレージのための有効性に依存しないモジュールである。
【００５２】
本発明は、ハードディスク２７、取り外し可能な磁気ディスク２９および取り外し可能な光ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【００５３】
コンピュータ２０は、ファイルシステム３６を有し、記録されたオペレーティングシステム３５が格納されている。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、およびプログラムデータ３９を有する。ユーザは、入力デバイス（キーボード４０、マウス４２）を用いてコマンドと情報をパーソナルコンピュータ２０に入力することができる。他の入力デバイス（不図示）、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータシステム２０に差し込まれるが、それらは、他の方法例えばパラレルポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェイスと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナルコンピュータには、スピーカー、プリンタ等の他の周辺の出力デバイス（不図示）を接続できる。
【００５４】
パーソナルコンピュータ２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、パーソナルコンピュータ２０の性質として説明した上述の要素全ての大多数を有するパーソナルコンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータネットワークで存在し得るものである。
【００５５】
ネットワーク接続は、ローカルエリアコンピュータネットワーク（ＬＡＮ）５０およびワイドエリアコンピュータネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータネットワークおよび社内ネットワークで利用され、それらは通常インターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェイス５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法（Ｂｌｕｅｔｏｏｔｈ接続等）もあることに留意されたい
【００５６】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステムおよび方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００５７】
様々な実施形態で、本発明のシステムおよび方法が、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される何らかの機能とハードウェアおよびソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図４において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【００５８】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態および開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【００５９】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示および指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味であるとみなされることを意図していない。
【００６０】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在および将来の既知の均等物を包含する。更に、態様および用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
0006290339.tif 000002
【図２】
0006290339.tif 000003
【図３】
0006290339.tif 000004