JP6290339B2 - 障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法 - Google Patents

障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法 Download PDF

Info

Publication number
JP6290339B2
JP6290339B2 JP2016172890A JP2016172890A JP6290339B2 JP 6290339 B2 JP6290339 B2 JP 6290339B2 JP 2016172890 A JP2016172890 A JP 2016172890A JP 2016172890 A JP2016172890 A JP 2016172890A JP 6290339 B2 JP6290339 B2 JP 6290339B2
Authority
JP
Japan
Prior art keywords
user
data
application
intercept
accessibility api
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016172890A
Other languages
English (en)
Other versions
JP2017111794A (ja
Inventor
エー. ディーモフ アレクセイ
エー. ディーモフ アレクセイ
エム. フィラトフ コンスタンチン
エム. フィラトフ コンスタンチン
ブイ. ヤブロコフ ビクター
ブイ. ヤブロコフ ビクター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2017111794A publication Critical patent/JP2017111794A/ja
Application granted granted Critical
Publication of JP6290339B2 publication Critical patent/JP6290339B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Multimedia (AREA)

Description

(関連出願の相互参照)
本出願は、米国特許法第119条(a)〜(d)(35USC 119(a)−(d))下の優先権の利益を主張する。2016年12月18日に出願されたロシア特許出願2015154384号は、本明細書中に参照として援用されるものとする。
本発明は、概してコンピュータセキュリティに関し、特に障害のあるユーザのための(アプリケーション・プログラミング・インターフェイス)APIを使用したデータへのアクセスを制御するためのシステムおよび方法に関する。
Androidオペレーティングシステム(OS)およびその他の多くのモバイルオペレーティングシステム(例えば、iOS、WindowsPhone)において、OSにるユーザアプリケーションの実行中の安全性を確保するために、「サンドボックス」として知られている隔離されたプログラムの実行環境を使用することができる。このような隔離環境は通常、ディスク上またはメモリ上のスペース、使用可能なプロセッサコアの数など、アプリケーションの実行のために使用可能なリソースの制御可能なセットを構成する。さらに、通常、機能の実行が部分的にエミュレートされるか、またはネットワーク(ローカルエリアまたはインターネット)へのアクセスおよびOS機能を使用する能力またはデータ入力装置からの情報の読み取り能力が大幅に制限される。このような隔離環境で実行されるアプリケーションは、他のアプリケーションにアクセス可能な、または他のアプリケーションが専有しているランダムアクセスメモリ領域からの読込み、ましてや当該メモリ領域への書き込みを行うことができません。
システム機能を呼び出すためには、ユーザアプリケーションは、追加のアクセス許可を要求する必要がある。ほとんどの場合、このような権限は、(AndroidのOSの以前のバージョンにおける)アプリケーションのインストール中に、または(アンドロイドOSの最新バージョンおよびその他のОSにおける)アプリケーションの起動や実行中のいずれかに、ユーザによって付与される。そのような権限の例としては、SMS/MMSメッセージの動作のための権限、ユーザの連絡先にアクセスする権限、およびネットワークサービスにアクセスするための権限が含まれる。ユーザアプリケーションが権限の助けを借りて隔離環境の外で実行できるアクションの数も、同様に制限されます。権限自体は、通常、様々な種類のものがあり、例えば、すべてのユーザアプリケーションに付与することができるもの、またユーザデバイスのファームウェアを構成しているアプリケーションのみなどの限られたグループのユーザアプリケーションにのみ付与されているものがある。限られたグループのユーザアプリケーションに付与された権限の例としては、ユーザデバイスを再起動する権限が挙げられる。
セキュリティアプリケーションは、外部アプリケーションであるとも考えられ、したがって、その隔離環境の枠組みの中における権限や、ユーザによって追加付与される権限に制限される。そのため、他の外部アプリケーションが利用するデータを取得するセキュリティアプリケーションで困難が発生します。オペレーティングシステムによって外部アプリケーションに与えられる権限のリスト内に、他のアプリケーションのデータを読み込むための権限はない。なぜなら、そのような権限は、隔離環境を使用してのアプローチに反するためである。従って、モバイルデバイスにおいて隔離環境内で実行される外部ユーザアプリケーションのデータへのアクセスを制御するセキュリティアプリケーションのためのメカニズムを改善する必要がある。
現代のモバイルオペレーティングシステムは、多くの場合、障害のあるユーザのデバイスでの作業を容易にするためのサブシステムを有している。例えば、これらのサブシステムは、デバイスと対話するための別の方法を障害のある人々に提供するアプリケーションを、サードパーティの開発者が作成することを可能にするアプリケーション・プログラミング・インターフェイス(API)を有する(例えば、テキストナレーション、外部機器へのデータの出力による点字の表示のサポートなど)。開示されたシステムおよび方法は、障害を持つユーザのためのアプリケーション・プログラミング・インターフェイス(API)(「アクセシビリティAPI」)を使用したユーザデバイスにおいて、隔離環境で実行中のユーザアプリケーションが有するデータへのアクセスを制御するメカニズムを提供する。
本開示は、障害のあるユーザのためのアクセシビリティAPIを使用したモバイルデバイス上でのデータへのアクセスを制御するためのシステム及び方法である。一実施形態によれば、その方法の一例は、工程A〜工程Fを含み、工程Aでは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録し、セキュリティアプリケーションは、障害のあるユーザにアクセシビリティAPIを提供し、アクセシビリティAPIは、複数のアクセシビリティAPI機能を含み、工程Bでは、ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータをアクセシビリティAPIを使って傍受し、工程Cでは、傍受データのカテゴリをセキュリティアプリケーションによって決定し、工程Dでは、ユーザデバイス上のユーザアプリケーションの実行イベントをアクセシビリティAPIを使って傍受し、工程Eでは、傍受データにアクセスするためのアクセス制御ポリシーを傍受データのカテゴリおよび傍受イベントに基づきセキュリティアプリケーションによって決定し、工程Fでは、決定されたアクセス制御ポリシーに基づいてセキュリティアプリケーションのアクセシビリティAPIを使って傍受データへのユーザアプリケーションのアクセスを制御する。
一実施形態によれば、ユーザアプリケーションは、ユーザデバイス上の環境隔離において実行され得る。
一実施形態によれば、上記方法は、工程Gをさらに含み、工程Gでは、傍受イベントのタイプ、傍受イベントが発生したユーザアプリケーションのグラフィカルユーザインターフェイス要素、および傍受イベントが発生したユーザアプリケーションのウインドウ、のうち少なくともひとつをユーザアプリケーションの一つ以上の傍受イベントから特定する。
一実施形態によれば、工程Dは、データのアンチウイルスおよびアンチフィッシング分析の一つを実行する工程を含む。
一実施形態によれば、傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む。
一実施形態によれば、工程Fは、ユーザアプリケーションのグラフィックユーザインタフェイス(GUI)要素中のテキストフラグメントの選択をクリアする工程、ユーザアプリケーションのGUI要素を押す工程、ユーザアプリケーションのダイアログウインドウを閉じる工程、アプリケーションのGUI要素内のテキストを変更する工程、およびデバイスボタンを押す工程、のうち少なくとも一つを含む。
一実施形態によれば、障害のあるユーザのためのAPIを使用したデータへのアクセスを制御するためのシステムの一例は、ユーザデバイスのハードウェアプロセッサを備え、該ハードウェアプロセッサは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録し、セキュリティアプリケーションは、障害のあるユーザにアクセシビリティAPIを提供し、アクセシビリティAPIは、複数のアクセシビリティAPI機能を含み、ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータをアクセシビリティAPIを使って傍受し、傍受データのカテゴリをセキュリティアプリケーションによって決定し、ユーザデバイス上のユーザアプリケーションの実行イベントをアクセシビリティAPIを使って傍受し、傍受データにアクセスするためのアクセス制御ポリシーを傍受データのカテゴリおよび傍受イベントに基づきセキュリティアプリケーションによって決定し、決定されたアクセス制御ポリシーに基づいてセキュリティアプリケーションのアクセシビリティAPIを使って傍受データへのユーザアプリケーションのアクセスを制御するように構成されている。
一実施形態によれば、障害のあるユーザのためのAPIを使用したデータへのアクセスを制御するためのコンピュータ実行可能命令を格納する非一過性の記録媒体は、該命令は、命令A〜命令Fを含み、命令Aは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録させ、セキュリティアプリケーションは、障害のあるユーザにアクセシビリティAPIを提供し、アクセシビリティAPIは、複数のアクセシビリティAPI機能を含み、工程Bでは、ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータをアクセシビリティAPIを使って傍受させ、工程Cは、傍受データのカテゴリをセキュリティアプリケーションによって決定させ、工程Dは、ユーザデバイス上のユーザアプリケーションの実行イベントをアクセシビリティAPIを使って傍受させ、工程Eは、傍受データにアクセスするためのアクセス制御ポリシーを傍受データのカテゴリおよび傍受イベントに基づきセキュリティアプリケーションによって決定させ、工程Fは、決定されたアクセス制御ポリシーに基づいてセキュリティアプリケーションのアクセシビリティAPIを使って傍受データへのユーザアプリケーションのアクセスを制御させる。
上述した実施形態の簡単な説明は、本発明の基本的な理解を提供するのに役立つ。この概要は、全ての考えられる側面の詳細な展望ではなく、全ての側面の鍵となるものや決定的な要素を決定することを意図していないし、本発明の全ての側面を描写することも意図していない。その唯一の目的は、前置きとして、1つ又は複数の側面を表し、その後、本発明のより詳細な説明に続くものである。これを達成するため、本発明の1つ又は複数の側面が説明されて、特許請求の範囲においても主張される。
添付図面は、詳細な説明と共に、本明細書に組み込まれ、その一部を構成し、本開示における1つ又は複数の実施態様を示し、それらの原理および実装の説明に寄与する。
図1は、障害のあるユーザのためのAPIを使用したモバイルデバイス上のデータへのアクセスを制御するためのシステムの例のダイアグラムを示す。 図2は、障害のあるユーザのためのAPIを使用したモバイルデバイス上のデータへのアクセスを制御するための方法の例のフローダイアグラムを示す。 図3は、本開示のシステムおよび方法の一実施形態を実施することが可能な手段による汎用コンピュータシステムを示す。
例示する実施形態は以下、障害のあるユーザのためのアプリケーション・プログラミング・インターフェイス(API)を使用したモバイルデバイス上のデータへのアクセスを制御するためのシステム、方法、コンピュータプログラム製品として説明される。当業者であれば、以下の記載はあくまでも例示であり、あらゆる制限をも意図するものではないことは当然に意味するところである。本発明が利益となる分野の当業者であれば、別例をも容易に示唆されることであろう。添付の図面ではその詳細を示すための参照符号が付されている。図面と以下の記載において、同一の又はそれに相当するものについては、同一の参照符号を用いるものとする。
図1は、障害のあるユーザのためのAPIを使用したモバイルデバイス上のデータへのアクセスを制御するためのシステムの一実施形態の例を示す。システムは、デスクトップコンピュータまたはモバイルデバイス(例えば、ラップトップコンピュータ、タブレット、スマートフォンや他の携帯用コンピューティングデバイス)などのユーザデバイス100上に構築することができる。「ユーザデバイス」および「モバイルデバイス」という用語は、本明細書において互換的に使用される。ユーザデバイス100の一例のダイアグラムは図3への参照とともに後述する。モバイルデバイス100は、様々なユーザアプリケーション150(例えば、インターネットブラウザ、テキスト処理アプリケーションなど)を実行することが可能である。悪意がある可能のあるアプリケーションからユーザを保護するために、ユーザアプリケーション150は、ユーザデバイス100上で、例えば、サンドボックスなどの隔離環境160で実行され得る。隔離環境160は、ユーザアプリケーション150の起動時にユーザデバイス100のオペレーティングシステムによって生成されてもよい。隔離環境160での実行中、ユーザアプリケーション150は、ファイル、ユーザ入力またはインターネットからの様々なデータにアクセスしようと試み、さらに様々なOSサービスおよびシステムリソースにアクセスしようと試みる。隔離環境160は、ユーザアプリケーション150のデータアクセス権を制限するとともに、様々なOSサービスおよびシステムリソースへのアクセスに制限を設けるように構成することができる。
一実施形態によれば、ユーザデバイス100に、障害のあるユーザのためのAPI(「アクセシビリティAPI」)を使ったユーザアプリケーション150のデータへのアクセスを制御するためのシステムの態様を実装するように構成されたセキュリティアプリケーション140(アンチウィルスアプリケーションなど)をインストールすることもできる。一実施形態によれば、セキュリティアプリケーション140は、障害のあるユーザのためのサービスシステムとしてモバイルデバイス100に登録されてもよい。例えば、ユーザは、ユーザのためのサービス(アクセシビリティサービスとも呼ばれる)としてセキュリティアプリケーション140をインストールするように促されてもよい。例えば、AndroidOSバージョン5.хおよびそれ以前のバージョンでは、「アクセシビリティ」システム設定用のタブを開いて、このサービスのプロバイダの1つとしてセキュリティアプリケーション140をインストールすることが可能である。セキュリティアプリケーション140は、障害のあるユーザのためのサービスシステムとして登録されると、隔離環境で実行されるユーザアプリケーション150のイベントやデータへのアクセスをOSから受け付ける。
セキュリティアプリケーション140を障害のあるユーザのためのサービスシステムとしてインストール(または登録)した後、ユーザは、セキュリティアプリケーション140のユーザインタフェースを使用して、このサービスのパラメータを指定することができる。当該パラメータは、限定されるものではないが、例えば、セキュリティアプリケーション140によって監視されるべきユーザアプリケーション150の名前、セキュリティアプリケーション140によって監視されるべきユーザアプリケーション150の実行中に発生するイベントのタイプ、イベントの発生時に通知を受信する必要があるユーザアプリケーション150の名称、監視対象ユーザアクセスのアクセス権、およびその他のパラメータである。
一実施形態によれば、セキュリティアプリケーション140は、傍受モジュール110、分類モジュール120、アクセス制御モジュール130、および障害のあるユーザのためのアクセシビリティAPI機能115("アクセシビリティAPI機能")のライブラリ145を含む。一実施形態によれば、傍受モジュール110は、ユーザビリティAPI機能115を使用してユーザデバイス100上の隔離環境160で実行されるユーザアプリケーション150によってアクセスされた(例えば、受信された)データを傍受するように構成されている。上記傍受は、障害のあるユーザのためのサービスのAPI機能115を使用して行うことができる。例えば、音声ナレーション機能によって行われる(具体例としては、ナレーションされたテキストが、明確な形式で、フルボリュームで、セキュリティアプリケーション140の専用アクセシビリティAPI関数115によって傍受される。)。例えば、画面拡大機能によって行われる(具体例としては、ユーザデバイス100の画面上で拡大された画像は、セキュリティアプリケーション140の専用アクセシビリティAPI機能115によって傍受される。)。例えば、点字ディスプレイをサポートする外部装置へのデータ出力機能によって行われる(具体例としては、点字ディスプレイに送信されたデータは、キュリティアプリケーション140の専用アクセシビリティAPI機能115によって傍受される。)。また、その他のアクセシビリティAPI機能115によって行われてもよい。
別の実施形態においては、傍受モジュール110は、ユーザアプリケーション150の実行の種々のタイプのイベントを傍受するためにセキュリティアプリケーション140のアクセシビリティAPI機能115を使用するようにさらに構成されてもよい。種々のタイプのイベントとは、例えば、ユーザアプリケーション150のグラフィカルインターフェース(GUI)の要素の押し下げること又は押したままにすることや、ユーザアプリケーション150のGUIの他の要素へのフォーカスの移動や、オブジェクトのリストを含むGUIの要素内のオブジェクトの選択(ListBoxまたはRadioButtonGroup内の選択された要素の変更など)や、ユーザアプリケーション150のGUIの要素におけるテキストの変更や、ユーザパッケージ100の画面へのユーザアプリケーション150のウインドウ(メインまたはダイログウインドウ)の表示などである。
一実施形態によれば、傍受モジュール110は、傍受データを分類モジュール120に、そして傍受イベントに関する情報をアクセス制御モジュール130に転送する。一実施形態によれば、傍受イベントに関する情報にはイベントの種類が含まれる。別の実施形態によれば、傍受イベントに関する情報には、イベントが発生したユーザアプリケーション150のGUIの要素の記述が含まれる。別の実施形態によれば、傍受イベントに関する情報には、イベントが発生したアプリケーション150のウインドウが記述されている。異なる例示的な態様では、情報は、受信モジュール110が利用可能なイベントの他の情報によって補うことができることに留意されたい。
一実施形態によれば、分類モジュール120は、傍受データのカテゴリを決定する。一実施形態によれば、分類モジュール120は、テキスト、ユニフォームリソースロケータ(URL)、画像、アーカイブファイル、および実行可能アプリケーションのような傍受データのタイプを決定する。別の実施形態では、分類モジュール120は、傍受データのアンチウィルスおよび/またはアンチフィッシング分析を実行してもよい。アンチウィルス分析には、シグネチャ分析、ヒューリスティック分析、またはマルウェアの存在に対する傍受データの動作分析が含まれる。アンチフィッシング分析には、既知のフィッシング対策技術を使用してアクティブなコントロール要素(情報の入力のためのグラフィックユーザインターフェイスの要素など)の分析が含まれる場合がある。傍受データのアンチウィルスおよび/またはアンフィシング分析は、セキュリティアプリケーション140によってローカル的に、またはリモートネットワークサーバまたはクラウドサービスの助けを借りて実行されてもよい。上記分析の結果、分類モジュール120は、傍受データを異なるカテゴリに分類する。
一実施形態によれば、分類モジュール120は、傍受データを安全または安全でないと分類することができる。安全なデータには、クリーンテキストファイル、クリーンイメージファイル、クリーン実行可能ファイル、安全なウェブサイトのURLなど、ユーザまたはユーザデバイス100に明らかな害を及ぼさないデータが含まれ得る。安全でないデータには、ユーザまたはユーザデバイス100に害を及ぼす可能性のあるコンピュータウイルス、フィッシングスクリプトおよびその他のタイプの悪質なデータおよびコードが含まれている可能性がある。これらは、例えば、ユーザデバイス100の動作中断、機密データの漏洩または損失、財務上の損失、およびその他の有害な影響などの害を及ぼす。例えば、アンティウィルスまたはアンチフィッシングモジュールでスキャンした結果、データが有害であると判断された場合は、分類モジュール120によって「有害なURL」または「フィッシングURL」のカテゴリが追加され、これらのカテゴリのデータは安全でないとみなされる。さらに別の実施形態によれば、分類モジュール120は、コンテンツが本質的にユーザまたはユーザデバイス100に有害ではないが、特定のユーザにとって望ましくないまたは不適当であると考えられるデータ内の情報の存在を反映して、傍受データを望ましくないものとして分類することができる。特定のユーザにとって望ましくないまたは不適当であると考えられるデータ内の情報とは、年齢制限のある成人向コンテンツ、麻薬、アルコール、たばこ、暴力、冒涜、武器に関するコンテンツ、およびユーザまたはウイルス対策ソフトウェアによって望ましくないと分類される他のタイプのコンテンツなどを含む。
分類モジュール120は、傍受データの分類情報をアクセス制御モジュール130に送る。一実施形態によれば、送信された分類情報は、傍受データのカテゴリ(例えば、安全、安全でない、望ましくないもの)を含むことができる。別の実施形態においては、送信された分類情報は、傍受データのタイプ(例えば、テキストファイル、画像ファイル、実行可能ファイル、URLなど)を識別することもできる。さらに別の実施形態においては、傍受データが安全でなく、望ましくないと同時に分類される場合、安全でないカテゴリのデータに関する情報のみがこのカテゴリはユーザにとってより制限的で有害であるとしてアクセス制御モジュール130に送信される。
一実施形態によれば、アクセス制御モジュール130は、分類モジュール120によって決定されたデータカテゴリと傍受モジュール110によって傍受されたイベントに基づいて、データへのユーザアクセスのアクセスを許可または遮断するためのアクセス制御ポリシーを決定する。そして、要求されたアクセス制御ポリシーに基づいて、アクセス制御モジュール130は、障害のあるユーザのためのAPIを使って、要求されたデータに対するアクセスを許可または遮断する。
アクセス制御ポリシーは、セキュリティアプリケーション140が提供するアクセス制御ポリシデータベース135に格納されていてもよい。一実施形態によれば、データベース135は、すべてがユーザデバイス100上に存在していてもよい。別の実施形態においては、データベース135は、アンチウィルス会社によってホストされるリモートサーバに少なくとも部分的に存在していてもよい。
一実施形態によれば、アクセス制御ポリシーは、特定のカテゴリ(すなわち、安全カテゴリ)のデータへのアクセスを許可することができる。別の実施形態においては、アクセス制御ポリシーは、他の特定のカテゴリ(例として有害なカテゴリ)のデータへのアクセスを禁止してもよい。さらに別の実施形態においては、アクセス制御ポリシーは、データの種類に基づいて特定のカテゴリのデータへのアクセスを許可または禁止することができる(望ましくないテキストデータを許可するが、望ましくないイメージを遮断する。)。他の態様では、アクセス制御ポリシーの他の変形例を使用することも可能である。
アクセス制御モジュール130は、決定されたアクセス制御ポリシー及び傍受モジュール110から得られたイベントに関する情報に従って、ユーザアプリケーション150のデータへのアクセスを許可又は遮断する。一実施形態によれば、上記のアクセスの遮断は、アクセシビリティAPI機能115を使用して行うことが可能である。
遮断の一例では、アクセシビリティAPI機能115を使用するアクセス制御モジュール130は、ユーザによって入力されたテキストを変更する(この機能は、バージョン5.0から、AndroidOS上でサポートされる。)。当該イベントは、ユーザがユーザアプリケーション150のグラフィカルユーザインターフェイス(GUI)要素にテキストを入力した後に発生し、このテキストをアクセス制御モジュール130が星印(「***」)で置き換える。このように、ユーザアプリケーション115は、ユーザによって入力された実際のテキストを見ることはできない。これは、ユーザアプリケーション115で動作するフィッシングスクリプトからのユーザのログイン情報(具体例としては、ユーザ名またはパスワード)または機密情報(具体例としては、社会保障番号またはクレジットカードの詳細)を隠すのに役立つ。
遮断の別の例では、アクセシビリティAPI機能115を使用したアクセス制御モジュール130は、フォーカスが移動(イベント発生)した場合に、ユーザアプリケーション150のGUIの要素を特定のテキストで埋め(この機能はバージョン5.0以降のAndroidOSでサポートされている)、またはテキストが入力されたユーザアプリケーション150のGUIの要素をクリアする。例えば、ユーザが安全でないと判明したGUI要素にテキストを入力した場合(具体例としては、フィッシング要素)、入力されたテキストは、セキュリティアプリケーション140によって別のテキストで置き換えられてもよい(例えば、ユーザデータの紹介が行われない)。
遮断のさらに別の例では、アクセシビリティAPI機能115を用いたアクセス制御モジュール130は、フォーカスを他の要素に移すことにより、ユーザアプリケーション150のGUIのアクティブ要素を変更する。例えば、ユーザがテキストを入力しようとしたり、ボタンを押したりしようとすると、アクセス機能API機能115は、カーソルを別のGUI要素に移動させ、ユーザが対話しようとしている要素を効果的に遮断する。
遮断のさらに別の例では、アクセシビリティAPI機能115を使用するアクセス制御モジュール130は、ユーザが対話しようとするユーザアプリケーションのウィンドウ150を閉じることができ、それによって、その要素がユーザからのデータを受信するのを効果的に遮断することができる。
遮断のさらに別の例では、アクセシビリティAPI機能115を使用するアクセス制御モジュール130は、デバイスボタン(ホームボタンまたはバックボタンなど)を押すことにより、ユーザが安全でないウェブサイトにデータを入力することを効果的に防止する。
遮断のさらに別の例では、アクセシビリティAPI機能115を使用するアクセス制御モジュール130は、ユーザが望ましくないコンテンツ(猥褻な言語または画像など)を見ることを許可せず、望ましくないコンテンツに対する遮断「警告」ウィンドウを表示することができる。
遮断のさらに別の例では、フィッシングリンクであることが判明したリンクを開くイベントが発生した場合には、アドセシリティAPI機能115を用いたアクセス制御モジュール130は、ユーザユーザアプリケーション(実例では、Webブラウザ)にリクエストを送信し、ユーザが開こうとしているページの代わりに(ページを遮断し)セキュリティアプリケーション140を表示することができる。
一実施形態によれば、セキュリティアプリケーション140は、ユーザアプリケーション150によって入力され表示されている情報(データ)を記録することができる。例えば、傍受イベントの結果に基づいて、セキュリティアプリケーション140は、(インスタントメッセージ、電子メール、ソーシャルネットワーク、インターネットなどのアプリケーションにおいて)子供が何について書いているかを親に知らせることができる。
別の実施形態においては、セキュリティアプリケーション140は、ユーザが特定のアクセス制御ルールまたはアクセス制御ルールのグループを何回破ったかを追跡することができる。これらのルールは、ユーザデバイス100のセキュリティポリシーまたはユーザアクションのスクリプト(例えば、ウェブブラウザ内のリンクに従う)のいずれかであってよい。検出された違反の数は、分析および適切な懲戒処分のために別のユーザに提供される可能性がある(例えば、保護者が子供のルール違反の数に関する情報を受け取ることができ、企業におけるセキュリティ担当者が従業員による従業員によるセキュリティルール違反に関する情報を受け取ることができる。)。
さらに別の実施形態においては、セキュリティアプリケーション140は、ユーザのデータを漏洩から保護し得る。従って、例えば、ユーザによる秘密データまたは個人データの送信は、(子供または会社の従業員がこのようなデータを送信しようとする場合)セキュリティアプリケーション140によって遮断されてもよく、またはそのようなデータがユーザに送信された場合、警告が表示されてもよい。例えば、アプリケーション150が安全であるとみなされたイベントであっても、アプリケーション150がユーザの個人ファイルにアクセスしたときに別のイベントが発生した場合、ユーザには警告が表示され、送信は遮断される(例えば、アプリケーション150のアクティブ要素を置き換える)。
さらに別の実施形態においては、セキュリティアプリケーション140は、ネットワーク内のユーザの匿名性を保証することができる。例えば、ユーザが自分のログイン名とパスワードを入力したリソース(具体例としては、ウェブサイト)に登録される際に、セキュリティアプリケーション140はこのデータを保存し、当該リソースを扱う際に非パーソナライズされたデータを使用する(具体例としては、KasperskyUserID)。
さらに別の実施形態においては、セキュリティアプリケーション140は、入力されたデータを検証するために、ユーザアプリケーション150においてユーザが入力したデータを追跡することができる(例えば、ユーザが使用するパスワードの強さを検証するために行われる。)。
図2は、障害のあるユーザのためのAPIを使用したモバイルデバイスなどのユーザデバイス上のデータへのアクセスを制御するための方法の一例を示す。
ステップ210では、ユーザデバイス100上のオペレーティングシステムによる障害のあるユーザのためのサービスシステムとして、少なくとも傍受モジュール110と、分類モジュール120と、アクセス制御モジュール130とを含むセキュリティアプリケーション140が登録される。
ステップ220では、障害のあるユーザのためのアクセス機能API機能115を用いた傍受モジュール110は、隔離環境で実行されているユーザアプリケーション150が受信したデータを傍受し、傍受データを分類モジュール120に送る。
ステップ230では、分類モジュール120は、傍受データのカテゴリを決定し、決定したカテゴリ情報をアクセス制御モジュール130に送る。カテゴリを決定する過程で、傍受データはアンチウィルスまたはアンチフィッシング分析を受けることがある。一実施形態によれば、データは安全、危険、および/または望ましくないと分類され得る。一実施形態によれば、分類モジュール120は、テキスト、URL、画像、アーカイブファイル、または実行可能アプリケーションなどの傍受データのタイプも決定する。
ステップ240では、障害のあるユーザのためのアクセス機能API機能115を用いた傍受モジュール110は、アプリケーション150の実行中に発生するイベントを傍受し、傍受イベントに関する情報をアクセス制御モジュール130に送る。
ステップ250では、アクセス制御モジュール130は、決定した傍受データのカテゴリとユーザアプリケーション150の傍受イベントに関する情報に基づいて、データへのアクセスを許可/遮断するアクセス制御ポリシーを決定する。
ステップ260では、アクセス制御モジュール130は、ユーザアプリケーション150の傍受データへのアクセスを、決定されたアクセス制御ポリシーに基づいて制御する。一実施形態によれば、アクセス制御モジュール130は、セキュリティアプリケーション140のアクセシビリティAPI115を使用して、ユーザアプリケーション150の傍受データへのアクセスを許可または遮断することができる。例えば、アクセスの遮断は、限定されないが、グラフィカルユーザインターフェイスのアクティブな要素の変更、グラフィカルユーザインターフェイスの要素内のテキストフラグメントの選択のクリア、グラフィカルユーザインターフェイスの要素を押すこと、アプリケーションのダイアローウインドウを閉じること、グラフィカルユーザインターフェイスの要素のテキストの変更、デバイスボタンを押すこと、などが含まれる。
図3は、実施形態に係る本発明のシステムと方法が実装できる汎用コンピュータシステム(パーソナルコンピュータやサーバ等)の例を示している。図示の通り、コンピュータシステム20は、CPU21と、システムメモリ22と、CPU21と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス23とを含み得る。システムバス23は、バスメモリ又は、バスメモリコントローラ、周辺バス、およびローカルバスを次々含む従来より公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。基本的な入出力システム(BIOS)26は、ROM24の使用によってオペレーティングシステムをロードする際等、パーソナルコンピュータ20の要素間の情報の伝達を担う基本的な手順を含む。
パーソナルコンピュータ20は、データの読み書きのためのハードディスク27、取り外し可能な磁気ディスク29の読み書きのための磁気ディスクドライブ28、およびCD−ROM、DVD−ROM、その他の光学メディア等の光学ディスク31の読み書きのための光学式ドライブ30を含む。ハードディスク27、磁気ディスクドライブ28、および光学式のドライブ30は、ハードディスクインターフェイス32、磁気ディスクインターフェイス33、および光学式のドライブインターフェイス34それぞれを横切るシステムバス23と接続される。ドライブおよび対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、およびパーソナルコンピュータ20の他のデータのストレージのための有効性に依存しないモジュールである。
本発明は、ハードディスク27、取り外し可能な磁気ディスク29および取り外し可能な光ディスク31を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ(RAM)等の他のタイプのコンピュータ情報メディア56を使用してもよいことに留意されたし。また、これはコントローラ55を介してシステムバス23に接続される。
コンピュータ20は、ファイルシステム36を有し、記録されたオペレーティングシステム35が格納されている。また追加のプログラムアプリケーション37、他のプログラムモジュール38、およびプログラムデータ39を有する。ユーザは、入力デバイス(キーボード40、マウス42)を用いてコマンドと情報をパーソナルコンピュータ20に入力することができる。他の入力デバイス(不図示)、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート46を通じてコンピュータシステム20に差し込まれるが、それらは、他の方法例えばパラレルポート、ゲームポート、又は一般的なシリアルバス(USB)に接続される。ディスプレイ機器のモニタ47又は他のタイプは、また、ビデオアダプタ48等のインターフェイスと交差するシステムバス23に接続している。モニタ47に加えて、パーソナルコンピュータには、スピーカー、プリンタ等の他の周辺の出力デバイス(不図示)を接続できる。
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ(又はコンピュータ)49は、パーソナルコンピュータ20の性質として説明した上述の要素全ての大多数を有するパーソナルコンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータネットワークで存在し得るものである。
ネットワーク接続は、ローカルエリアコンピュータネットワーク(LAN)50およびワイドエリアコンピュータネットワーク(WAN)を形成することができる。そのようなネットワークは、企業のコンピュータネットワークおよび社内ネットワークで利用され、それらは通常インターネットにアクセスすることができる。LAN又はWANネットワークにおいて、パソコン20は、ネットワークアダプタ又はネットワークインターフェイス51に交差するローカルエリアネットワーク50に接続されている。ネットワークが用いられる時には、パソコン20は、通信にインターネット等のワイドエリアコンピュータネットワークを実現するために、モデム54又は他のモジュールを使用することができる。内部又は外部の機器であるモデム54は、シリアルポート46によりシステムバス23と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法(Bluetooth接続等)もあることに留意されたい
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステムおよび方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの1つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
様々な実施形態で、本発明のシステムおよび方法が、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される何らかの機能とハードウェアおよびソフトウェアの組み合わせによって促進される他の機能という2つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる(図4において詳述したもの等)。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態および開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示および指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味であるとみなされることを意図していない。
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在および将来の既知の均等物を包含する。更に、態様および用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。

Claims (18)

  1. アクセシビリティAPIを使用してデータへのアクセスを制御する方法であって、工程A〜工程Fを含み、
    前記工程Aでは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録し、前記セキュリティアプリケーションは、障害のあるユーザにアクセシビリティAPIを提供し、前記アクセシビリティAPIは、複数のアクセシビリティAPI機能を含み、
    前記工程Bでは、前記ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータを前記アクセシビリティAPIを使って傍受し、
    前記工程Cでは、傍受データのカテゴリを前記セキュリティアプリケーションによって決定し、
    前記工程Dでは、前記ユーザデバイス上の前記ユーザアプリケーションの実行イベントを前記アクセシビリティAPIを使って傍受し、
    前記工程Eでは、前記傍受データにアクセスするためのアクセス制御ポリシーを前記傍受データのカテゴリおよび傍受イベントに基づき前記セキュリティアプリケーションによって決定し、
    前記工程Fでは、決定された前記アクセス制御ポリシーに基づいて前記アクセシビリティAPIを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御する、方法。
  2. 前記ユーザアプリケーションは、前記ユーザデバイス上の隔離環境において実行される、請求項1に記載の方法。
  3. 前記傍受イベントのタイプ、
    前記傍受イベントが発生した前記ユーザアプリケーションのグラフィカルユーザインターフェイス(GUI)要素、および
    前記傍受イベントが発生した前記ユーザアプリケーションのウインドウ、
    のうち少なくともひとつを前記傍受イベントから特定する、工程Gをさらに含む、請求項1に記載の方法。
  4. 前記工程Cは、前記傍受データのアンチウイルスおよびアンチフィッシング分析の一つを実行する工程を含む、請求項1に記載の方法。
  5. 前記傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む、請求項1に記載の方法。
  6. 前記工程Fは、
    前記ユーザアプリケーションの前記GUI要素中のテキストフラグメントの選択をクリアする工程、
    前記ユーザアプリケーションの前記GUI要素を押す工程、
    前記ユーザアプリケーションのダイアログウインドウを閉じる工程、
    前記ユーザアプリケーションの前記GUI要素内のテキストを変更する工程、および
    デバイスボタンを押す工程、
    のうち少なくとも一つを含む、請求項1に記載の方法。
  7. アクセシビリティAPIを使用してデータへのアクセスを制御するシステムであって、ユーザデバイスのハードウェアプロセッサを備え、
    前記ハードウェアプロセッサは、
    障害のあるユーザのためのサービスとしてセキュリティアプリケーションを前記ユーザデバイス上に登録し、前記セキュリティアプリケーションは、障害のあるユーザにアクセシビリティAPIを提供し、前記アクセシビリティAPIは、複数のアクセシビリティAPI機能を含み、
    前記ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータを前記アクセシビリティAPIを使って傍受し、
    傍受データのカテゴリを前記セキュリティアプリケーションによって決定し、
    前記ユーザデバイス上の前記ユーザアプリケーションの実行イベントを前記アクセシビリティAPIを使って傍受し、
    前記傍受データにアクセスするためのアクセス制御ポリシーを前記傍受データのカテゴリおよび傍受イベントに基づき前記セキュリティアプリケーションによって決定し、
    決定された前記アクセス制御ポリシーに基づいて前記セキュリティアプリケーションの前記アクセシビリティAPIを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御するように構成されているシステム。
  8. 前記ユーザアプリケーションは、前記ユーザデバイス上の環境隔離において実行される、請求項7に記載のシステム。
  9. 前記ハードウェアプロセッサは、
    前記傍受イベントのタイプ、
    前記傍受イベントが発生した前記ユーザアプリケーションのグラフィカルユーザインターフェイス(GUI)要素、および
    前記傍受イベントが発生した前記ユーザアプリケーションのウインドウ、
    のうち少なくともひとつを前記傍受イベントから特定するようにさらに構成されている、請求項7に記載のシステム。
  10. 前記傍受データのカテゴリを前記セキュリティアプリケーションによって決定する際に、前記傍受データのアンチウイルスおよびアンチフィッシング分析の一つを実行する、請求項7に記載のシステム。
  11. 前記傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む、請求項7に記載のシステム。
  12. 前記セキュリティアプリケーションの前記アクセシビリティAPIを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御する際に、
    前記ユーザアプリケーションの前記GUI要素中のテキストフラグメントの選択のクリア、
    前記ユーザアプリケーションの前記GUI要素の押下げ、
    前記ユーザアプリケーションのダイアログウインドウを閉じること、
    前記ユーザアプリケーションの前記GUI要素内のテキストの変更、および
    デバイスボタンの押下げ、
    のうち少なくとも一つが行われる、請求項7に記載のシステム。
  13. アクセシビリティAPIを使用してデータへのアクセスを制御するコンピュータ実行可能命令を格納する非一過性の記録媒体であって、前記命令は、命令A〜命令Fを含み、
    前記命令Aは、障害のあるユーザのためのサービスとしてセキュリティアプリケーションをユーザデバイス上に登録させ、前記セキュリティアプリケーションは、障害のあるユーザにアクセシビリティAPIを提供し、前記アクセシビリティAPIは、複数のアクセシビリティAPI機能を含み、
    前記命令Bは、前記ユーザデバイス上で実行されているユーザアプリケーションによってアクセスされるデータを前記アクセシビリティAPIを使って傍受させ、
    前記命令Cは、傍受データのカテゴリを前記セキュリティアプリケーションによって決定させ、
    前記工程Dでは、前記ユーザデバイス上の前記ユーザアプリケーションの実行イベントを前記アクセシビリティAPIを使って傍受させ、
    前記命令Eは、前記傍受データにアクセスするためのアクセス制御ポリシーを前記傍受データのカテゴリおよび傍受イベントに基づき前記セキュリティアプリケーションによって決定させ、
    前記命令Fは、決定された前記アクセス制御ポリシーに基づいて前記セキュリティアプリケーションの前記アクセシビリティAPIを使って前記傍受データへの前記ユーザアプリケーションのアクセスを制御させ、
    前記セキュリティアプリケーションは複数のアクセシビリティAPI機能を含む障害のあるユーザのための前記アクセシビリティAPIを提供する、記録媒体。
  14. 前記ユーザアプリケーションは、前記ユーザデバイス上の環境隔離において実行される、請求項13に記載の記録媒体。
  15. 前記傍受イベントのタイプ、
    前記傍受イベントが発生した前記ユーザアプリケーションのグラフィカルユーザインターフェイス(GUI)要素、および
    前記傍受イベントが発生した前記ユーザアプリケーションのウインドウ、
    のうち少なくともひとつを前記傍受イベントから特定する、命令Gをさらに含む、請求項13に記載の記録媒体。
  16. 前記命令Cは、前記傍受データのアンチウイルスおよびアンチフィッシング分析の一つを実行させる命令を含む、請求項13に記載の記録媒体。
  17. 前記傍受データのカテゴリは、安全なデータのカテゴリ、安全でないデータのカテゴリ、および望ましくないデータのカテゴリの一つ以上を含む、請求項13に記載の記録媒体。
  18. 前記命令Fは、
    前記ユーザアプリケーションの前記GUI要素中のテキストフラグメントの選択をクリアさせる命令、
    前記ユーザアプリケーションの前記GUI要素を押させる命令、
    前記ユーザアプリケーションのダイアログウインドウを閉じさせる命令、
    前記ユーザアプリケーションの前記GUI要素内のテキストを変更させる命令、および
    デバイスボタンを押させる命令、
    のうち少なくとも一つを含む、請求項13に記載の記録媒体。
JP2016172890A 2015-12-18 2016-09-05 障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法 Active JP6290339B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2015154384 2015-12-18
RU2015154384A RU2618946C1 (ru) 2015-12-18 2015-12-18 Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями
US15/062,960 2016-03-07
US15/062,960 US9536101B1 (en) 2015-12-18 2016-03-07 System and method for controlling access to data using API for users with disabilities

Publications (2)

Publication Number Publication Date
JP2017111794A JP2017111794A (ja) 2017-06-22
JP6290339B2 true JP6290339B2 (ja) 2018-03-07

Family

ID=57682381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016172890A Active JP6290339B2 (ja) 2015-12-18 2016-09-05 障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法

Country Status (5)

Country Link
US (2) US9536101B1 (ja)
EP (1) EP3182323B1 (ja)
JP (1) JP6290339B2 (ja)
CN (1) CN106934282B (ja)
RU (1) RU2618946C1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2618946C1 (ru) * 2015-12-18 2017-05-11 Акционерное общество "Лаборатория Касперского" Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями
RU2649796C1 (ru) * 2017-03-24 2018-04-04 Акционерное общество "Лаборатория Касперского" Способ выявления категории данных с использованием API, применяемого при создании приложений для пользователей с ограниченными возможностями
EP3379442B1 (en) 2017-03-24 2020-11-25 AO Kaspersky Lab System and method of controlling access to content using an accessibility api
US10534934B1 (en) * 2017-10-04 2020-01-14 Symantec Corporation Protection against accessibility service abuse
CN110362412A (zh) 2018-04-09 2019-10-22 华为技术有限公司 一种服务api调用方法和相关装置
US10628581B2 (en) 2018-04-24 2020-04-21 Dell Products, Lp System and method for forced data leakage prevention
US11003798B1 (en) * 2018-09-18 2021-05-11 NortonLifeLock Inc. Systems and methods for enforcing age-based application constraints
EP3694174B1 (en) * 2019-02-07 2021-09-01 AO Kaspersky Lab Systems and methods for protecting automated systems using a gateway
RU2716735C1 (ru) * 2019-03-29 2020-03-16 Акционерное общество "Лаборатория Касперского" Система и способ отложенной авторизации пользователя на вычислительном устройстве
US20210141940A1 (en) * 2019-11-13 2021-05-13 Sensoriant, Inc. Method and system for enhancing the integrity of computing with shared data and algorithms
CN112861143B (zh) * 2019-11-28 2025-10-14 京东方科技集团股份有限公司 访问控制方法、装置、设备及存储介质
WO2021236083A1 (en) * 2020-05-21 2021-11-25 Hewlett-Packard Development Company, L.P. Call modification based on policies
US12438714B2 (en) 2021-07-30 2025-10-07 Pezo Tech Llc Method and system for improving coupling and cohesion of at least one educational program
US11550702B1 (en) 2021-11-04 2023-01-10 T-Mobile Usa, Inc. Ensuring that computer programs are accessible to users with disabilities, such as for use with mobile phones
US11687675B1 (en) * 2022-09-08 2023-06-27 Pezo Tech Llc Method and system for improving coupling and cohesion of at least one educational program
US12418544B2 (en) 2022-09-08 2025-09-16 Pezo Tech Llc Method and system for improving enriching experiences

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275938B1 (en) * 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
US20020065776A1 (en) * 2000-11-29 2002-05-30 Brad Calder Method and process for virtualizing file system interfaces
US7698713B2 (en) * 2001-09-20 2010-04-13 Google Inc. Altered states of software component behavior
US7694128B2 (en) * 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for secure communication delivery
US7865931B1 (en) * 2002-11-25 2011-01-04 Accenture Global Services Limited Universal authorization and access control security measure for applications
US8695019B2 (en) * 2003-02-14 2014-04-08 Actividentity (Australia) Pty Ltd System and method for delivering external data to a process running on a virtual machine
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
KR100523358B1 (ko) * 2003-08-18 2005-10-24 한국전자통신연구원 장애인용 개방 api 응용 통신 서비스 시스템 및 방법
CN100481013C (zh) * 2004-08-03 2009-04-22 索芙特瑞斯提股份有限公司 用于经由上下文策略控制来控制应用程序间关联的系统和方法
US8744852B1 (en) * 2004-10-01 2014-06-03 Apple Inc. Spoken interfaces
US8561126B2 (en) * 2004-12-29 2013-10-15 International Business Machines Corporation Automatic enforcement of obligations according to a data-handling policy
US20070113291A1 (en) * 2005-11-17 2007-05-17 Juin-Jia Dai Method for administrating the function access
US8166295B2 (en) * 2005-11-30 2012-04-24 Microsoft Corporation Message security framework
US7895570B2 (en) * 2005-12-22 2011-02-22 International Business Machines Corporation Accessible role and state information in HTML documents
US8752062B2 (en) * 2006-03-17 2014-06-10 Verint Americas Inc. Monitoring of computer events and steps linked by dependency relationships to generate completed processes data and determining the completed processed data meet trigger criteria
US20070239456A1 (en) * 2006-04-07 2007-10-11 International Business Machines Corporation Audio accessibility enhancement for computer audio events
US20070250927A1 (en) * 2006-04-21 2007-10-25 Wintutis, Inc. Application protection
US7984514B1 (en) * 2006-07-10 2011-07-19 Adobe Systems Incorporated Secure operation of transitory computer applications
US8099789B2 (en) * 2006-09-29 2012-01-17 Lenovo (Singapore) Pte. Ltd. Apparatus and method for enabling applications on a security processor
US8001367B2 (en) * 2006-10-10 2011-08-16 Symantec Corporation Performing application setting activity using a removable storage device
US8023974B1 (en) * 2007-02-15 2011-09-20 Trend Micro Incorporated Lightweight SVM-based content filtering system for mobile phones
US8135577B2 (en) * 2007-06-09 2012-03-13 Apple Inc. Braille support
US8613045B1 (en) * 2008-05-01 2013-12-17 F5 Networks, Inc. Generating secure roaming user profiles over a network
US8347386B2 (en) * 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US8640097B2 (en) * 2009-03-16 2014-01-28 Microsoft Corporation Hosted application platform with extensible media format
JP5472604B2 (ja) * 2009-10-08 2014-04-16 日本電気株式会社 プロセス検疫装置、検疫システム、ファイル処理方法、及びプログラム
US8301168B2 (en) * 2009-10-16 2012-10-30 At&T Mobility Ii Llc Devices and methods for selectively filtering message content
US20110119289A1 (en) * 2009-11-17 2011-05-19 Research In Motion Limited Automatic detection and application of assistive technology features
US8433828B2 (en) * 2010-02-26 2013-04-30 Apple Inc. Accessory protocol for touch screen device accessibility
US9401099B2 (en) * 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
CN102782657B (zh) * 2010-09-28 2014-11-05 株式会社野村综合研究所 动作检验装置及动作检验方法
US9298910B2 (en) * 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US8738765B2 (en) * 2011-06-14 2014-05-27 Lookout, Inc. Mobile device DNS optimization
GB2494391B (en) * 2011-09-02 2014-06-18 Avecto Ltd Computer device with anti-tamper resource security
US8868426B2 (en) * 2012-08-23 2014-10-21 Freedom Scientific, Inc. Screen reader with focus-based speech verbosity
GB201223081D0 (en) * 2012-12-20 2013-02-06 Thunderhead Ltd Accessing content in a rich internet application
US9100440B1 (en) * 2014-02-20 2015-08-04 Symantec Corporation Systems and methods for applying data loss prevention policies to closed-storage portable devices
US9246948B2 (en) * 2014-03-19 2016-01-26 Symantec Corporation Systems and methods for providing targeted data loss prevention on unmanaged computing devices
RU2618946C1 (ru) * 2015-12-18 2017-05-11 Акционерное общество "Лаборатория Касперского" Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями

Also Published As

Publication number Publication date
US9825977B2 (en) 2017-11-21
RU2618946C1 (ru) 2017-05-11
US9536101B1 (en) 2017-01-03
US20170180400A1 (en) 2017-06-22
JP2017111794A (ja) 2017-06-22
CN106934282B (zh) 2020-06-02
EP3182323A3 (en) 2017-08-09
EP3182323B1 (en) 2018-07-04
EP3182323A2 (en) 2017-06-21
CN106934282A (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
JP6290339B2 (ja) 障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法
US12413624B2 (en) Cyber secure communications system
EP4097944B1 (en) Metadata-based detection and prevention of phishing attacks
US8806639B2 (en) Contextual virtual machines for application quarantine and assessment method and system
US9483644B1 (en) Methods for detecting file altering malware in VM based analysis
US9438613B1 (en) Dynamic content activation for automated analysis of embedded objects
US11431751B2 (en) Live forensic browsing of URLs
JP2015534690A (ja) モバイル・アプリケーション管理
US20240348653A1 (en) Security policy analysis
US12197577B2 (en) Malicious JS detection based on automated user interaction emulation
Tao et al. Opening a Pandora's box: things you should know in the era of custom GPTs
US20220046030A1 (en) Simulating user interactions for malware analysis
US12141269B2 (en) System and method for building a security monitor
JP7320462B2 (ja) アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法
Nguyen et al. Open Access Alert: Studying the Privacy Risks in Android WebView’s Web Permission Enforcement
Lakshmi Beginning Security with Microsoft Technologies
EP4095726A1 (en) System and method for building a security monitor in a microkernel
Devarasetty Zscaler Cloud Security Essentials

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180207

R150 Certificate of patent or registration of utility model

Ref document number: 6290339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250