(57)【要約】      （修正有）【課題】計算機器のディスプレイに表示される情報へのアクセスを阻止する。【解決手段】ユーザの計算機器上のアプリケーションのアクセスを制御する方法であって、傍受ステップでは、ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受し、情報決定ステップでは、プロセスによるアクセスの傍受に基づき、プロセスに関連する第２情報を決定し、領域決定ステップでは、第１情報に関連するユーザの計算機器のディスプレイ上の領域を決定し、分析ステップでは、領域とプロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析し、阻止ステップでは、領域とプロセスに関連する少なくとも１つのグラフィックインターフェースとの１つ以上の交差の分析に基づいて、第１情報に対するプロセスのアクセスを阻止する。【選択図】図２
2018018495.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの計算機器上のアプリケーションのアクセスを制御する方法であって、
傍受ステップと、情報決定ステップと、領域決定ステップと、分析ステップと、阻止ステップと、を備え、
前記傍受ステップでは、前記ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受し、
前記情報決定ステップでは、前記プロセスによる前記アクセスの傍受に基づき、前記プロセスに関連する第２情報を決定し、
前記領域決定ステップでは、第１情報に関連する前記ユーザの計算機器のディスプレイ上の領域を決定し、
前記分析ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析し、
前記阻止ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの前記１つ以上の交差の前記分析に基づいて、第１情報に対する前記プロセスの前記アクセスを阻止する、
方法。
【請求項２】
前記領域決定ステップにおいて、以下の少なくとも１つを含む請求項１に記載の方法。
・前記領域に対応する前記ディスプレイ上の位置を決定するステップ
・前記領域に対応する機器コンテクストを決定するステップ
・前記領域に対応するサーフェースを決定するステップ
・前記領域に対応するウィンドウ識別子を決定するステップ
【請求項３】
前記情報決定ステップにおいて、第２情報が、プロセス識別子及びスレッド識別子のうちの少なくとも１つを含む、
請求項１に記載の方法。
【請求項４】
前記分析ステップにおいて、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の前記１つ又は複数の交差の前記分析が、前記プロセスに関連する少なくとも１つのグラフィックインターフェースがディスプレイ上の領域を含むか、含まれているか、又は少なくとも部分的に交差しているかどうかを決定することを含む、
請求項１に記載の方法。
【請求項５】
前記分析ステップにおいて、
前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差の前記分析が、
前記プロセスに関連付けられた前記グラフィックインターフェースが、前記ディスプレイ上の前記領域を含むか、前記領域に含まれるか、又は少なくとも部分的に前記領域と交差するかの決定に基づいて、前記領域の重要度を計算するステップと、
前記危険度計算ステップでは、前記プロセスに関する前記情報に基づいて危険度を計算するステップと、を含む、
請求項１に記載の方法。
【請求項６】
前記領域と前記プロセスに関連する前記少なくとも１つのグラフィックインターフェースとの前記１つ又は複数の交差の前記分析に基づいて、前記プロセスによる第１情報への前記アクセスを阻止するか否かの決定が、
前記重要度と前記危険度を組み合わせるステップと、
前記重要度と前記危険度との組合せを所定の閾値と比較するステップと、を含む、
請求項５に記載の方法。
【請求項７】
前記プロセスに関連する前記グラフィックインターフェースが前記ディスプレイ上の前記領域を含むか、前記領域に含まれるか、又は少なくとも部分的に前記領域上で交差するかどうかの前記決定に基づいた前記領域の前記重要度の計算が、
前記領域と少なくとも部分的に交差する１つ又は複数の要素に関連する１つ又は複数の機密性係数に、情報データベースからアクセスするステップと、
前記１つ又は複数の機密性係数を考慮するアルゴリズムに基づいて前記重要度を計算するステップと、を含む、
請求項５に記載の方法。
【請求項８】
前記１つ又は複数の機密性係数を計算するステップと、
計算された前記１つ又は複数の機密性係数を情報データベースに格納するステップと、を更に含む、
請求項７に記載の方法。
【請求項９】
前記阻止ステップにおいて、
前記プロセスによる第１情報へのアクセスの阻止が、前記計算機器のメモリにおいて、前記ユーザに表示されている前記情報のバイナリ表現を代替するステップを含む、
請求項１に記載の方法。
【請求項１０】
前記領域と、前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差点の分析に基づいて、前記プロセスに関連するアプリケーションが悪意あるものか否かを決定するステップを更に含む、
請求項１に記載の方法。
【請求項１１】
ユーザの計算機器上のアプリケーションのアクセスを制御するシステムであって、
少なくとも１つのプロセッサを備え、
前記少なくとも１つのプロセッサは、傍受ステップと、情報決定ステップと、領域決定ステップと、分析ステップと、阻止ステップと、を実行するように構成され、
前記傍受ステップでは、前記ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受し、
前記情報決定ステップでは、前記プロセスによる前記アクセスの傍受に基づき、前記プロセスに関連する第２情報を決定し、
前記領域決定ステップでは、第１情報に関連する前記ユーザの計算機器のディスプレイ上の領域を決定し、
前記分析ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析し、
前記阻止ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの前記１つ以上の交差の前記分析に基づいて、第１情報に対する前記プロセスの前記アクセスを阻止する、
システム。
【請求項１２】
前記領域決定ステップにおいて、以下の少なくとも１つを含む請求項１１に記載のシステム。
・前記領域に対応する前記ディスプレイ上の位置を決定するステップ
・前記領域に対応する機器コンテクストを決定するステップ
・前記領域に対応するサーフェースを決定するステップ
・前記領域に対応するウィンドウ識別子を決定するステップ
【請求項１３】
前記情報決定ステップにおいて、第２情報が、プロセス識別子及びスレッド識別子のうちの少なくとも１つを含む、
請求項１１に記載のシステム。
【請求項１４】
前記分析ステップにおいて、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の前記１つ又は複数の交差の前記分析が、前記プロセスに関連する少なくとも１つのグラフィックインターフェースがディスプレイ上の領域を含むか、含まれているか、又は少なくとも部分的に交差しているかどうかを決定することを含む、
請求項１１に記載のシステム。
【請求項１５】
前記分析ステップにおいて、
前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差の前記分析が、
前記プロセスに関連付けられた前記グラフィックインターフェースが、前記ディスプレイ上の前記領域を含むか、前記領域に含まれるか、又は少なくとも部分的に前記領域と交差するかの決定に基づいて、前記領域の重要度を計算するステップと、
前記危険度計算ステップでは、前記プロセスに関する前記情報に基づいて危険度を計算するステップと、を含む、
請求項１１に記載のシステム。
【請求項１６】
前記領域と前記プロセスに関連する前記少なくとも１つのグラフィックインターフェースとの前記１つ又は複数の交差の前記分析に基づいて、前記プロセスによる第１情報への前記アクセスを阻止するか否かの決定が、
前記重要度と前記危険度を組み合わせるステップと、
前記重要度と前記危険度との組合せを所定の閾値と比較するステップと、を含む、
請求項１５に記載のシステム。
【請求項１７】
前記プロセスに関連する前記グラフィックインターフェースが前記ディスプレイ上の前記領域を含むか、前記領域に含まれるか、又は少なくとも部分的に前記領域上で交差するかどうかの前記決定に基づいた前記領域の前記重要度の計算が、
前記領域と少なくとも部分的に交差する１つ又は複数の要素に関連する１つ又は複数の機密性係数に、情報データベースからアクセスするステップと、
前記１つ又は複数の機密性係数を考慮するアルゴリズムに基づいて前記重要度を計算するステップと、を含む、
請求項１５に記載のシステム。
【請求項１８】
前記１つ又は複数の機密性係数を計算するステップと、
計算された前記１つ又は複数の機密性係数を情報データベースに格納するステップと、を更に含む、
請求項１７に記載のシステム。
【請求項１９】
前記阻止ステップにおいて、
前記プロセスによる第１情報へのアクセスの阻止が、前記計算機器のメモリにおいて、前記ユーザに表示されている前記情報のバイナリ表現を代替するステップを含む、
請求項１１に記載のシステム。
【請求項２０】
ユーザの機器上のアプリケーションのアクセス制御するためのコンピュータ実行可能命令を格納する不揮発性コンピュータ可読媒体であって、
傍受命令と、情報決定命令と、領域決定命令と、分析命令と、阻止命令と、を備え、
前記傍受命令は、前記ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受させ、
前記情報決定命令は、前記プロセスによる前記アクセスの傍受に基づき、前記プロセスに関連する第２情報を決定させ、
前記領域決定命令は、第１情報に関連する前記ユーザの計算機器のディスプレイ上の領域を決定させ、
前記分析命令は、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析させ、
前記阻止命令は、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの前記１つ以上の交差の前記分析に基づいて、第１情報に対する前記プロセスの前記アクセスを阻止させる、
媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピュータセキュリティの分野に関し、より詳細には、保護されたアプリケーションへのアクセスを阻止するシステム及び方法に関する。
【背景技術】
【０００２】
現在、パーソナル電子計算機（コンピュータ）を含む計算機器上で使用される様々なアプリケーション（ソフトウェア）の数は絶えず増加している。多数のアプリケーションの中には、インターネットワーム、キーボードトラッカー、コンピュータウイルス、ユーザの計算機器上に表示されている機密情報を盗む目的でスクリーンショットを撮ることができるアプリケーションなど、コンピュータやコンピュータのユーザ（特にユーザのデータ）に害を及ぼす可能性のある多くの悪意あるプログラムがある。
【０００３】
かかるプログラムに対する計算機器のユーザの機密データの保護は、緊急の問題である。また、かかる機密データは、ブラウザなどの様々なアプリケーションのウィンドウを使用してユーザに表示される。悪意あるアプリケーションは、計算機器の画面上に表示されている情報へのアクセスを取得し、スクリーンショット（画面のスナップショット）を取るか、又は計算機器の画面上のイメージのビット表現（オペレーティング・システムのシステム機能又は画像形成に対応するドライバにアクセスすることによって、アプリケーションウィンドウを構成し、計算機器の画面上に表示される画像を特徴付けるデータ）へのアクセスを取得する。
【０００４】
アンチウィルスアプリケーションにおいて多く実現されているが、計算機器の画面上の画像を特徴付けるデータへのプロセスのアクセスを傍受する方法が存在する。かかる方法では、実行中のアプリケーションのウィンドウの中に、保護されたアプリケーション（例えば、「サンドボックス」内で動作するアプリケーション）に属するものがある場合、計算機器の画面上の画像を特徴付けるデータへのアクセスが阻止される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、かかる既知の方法は、ユーザに表示される情報へのアクセスを阻止する問題を解決しない。本発明は、情報へのアクセスを阻止するという問題をより効果的に解決することを可能にする。
【課題を解決するための手段】
【０００６】
保護されたアプリケーションへのアクセスを阻止するためのシステム及び方法が開示される。すなわち、本発明の側面によれば、ユーザの計算機器上のアプリケーションのアクセスを制御する方法であって、傍受ステップと、情報決定ステップと、領域決定ステップと、分析ステップと、阻止ステップと、を備え、前記傍受ステップでは、前記ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受し、前記情報決定ステップでは、前記プロセスによる前記アクセスの傍受に基づき、前記プロセスに関連する第２情報を決定し、前記領域決定ステップでは、第１情報に関連する前記ユーザの計算機器のディスプレイ上の領域を決定し、前記分析ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析し、前記阻止ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの前記１つ以上の交差の前記分析に基づいて、第１情報に対する前記プロセスの前記アクセスを阻止する、方法が提供される。
【０００７】
好ましくは、前記領域決定ステップにおいて、以下の少なくとも１つを含む。
・前記領域に対応する前記ディスプレイ上の位置を決定するステップ
・前記領域に対応する機器コンテクストを決定するステップ
・前記領域に対応するサーフェースを決定するステップ
・前記領域に対応するウィンドウ識別子を決定するステップ
【０００８】
好ましくは、前記情報決定ステップにおいて、第２情報が、プロセス識別子及びスレッド識別子のうちの少なくとも１つを含む。 
【０００９】
好ましくは、前記分析ステップにおいて、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の前記１つ又は複数の交差の前記分析が、前記プロセスに関連する少なくとも１つのグラフィックインターフェースがディスプレイ上の領域を含むか、含まれているか、又は少なくとも部分的に交差しているかどうかを決定することを含む。
【００１０】
好ましくは、前記分析ステップにおいて、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差の前記分析が、前記プロセスに関連付けられた前記グラフィックインターフェースが、前記ディスプレイ上の前記領域を含むか、前記領域に含まれるか、又は少なくとも部分的に前記領域と交差するかの決定に基づいて、前記領域の重要度を計算するステップと、前記危険度計算ステップでは、前記プロセスに関する前記情報に基づいて危険度を計算するステップと、を含む。
【００１１】
好ましくは、前記領域と前記プロセスに関連する前記少なくとも１つのグラフィックインターフェースとの前記１つ又は複数の交差の前記分析に基づいて、前記プロセスによる第１情報への前記アクセスを阻止するか否かの決定が、前記重要度と前記危険度を組み合わせるステップと、前記重要度と前記危険度との組合せを所定の閾値と比較するステップと、を含む。
【００１２】
好ましくは、前記プロセスに関連する前記グラフィックインターフェースが前記ディスプレイ上の前記領域を含むか、前記領域に含まれるか、又は少なくとも部分的に前記領域上で交差するかどうかの前記決定に基づいた前記領域の前記重要度の計算が、前記領域と少なくとも部分的に交差する１つ又は複数の要素に関連する１つ又は複数の機密性係数に、情報データベースからアクセスするステップと、前記１つ又は複数の機密性係数を考慮するアルゴリズムに基づいて前記重要度を計算するステップと、を含む。
【００１３】
好ましくは、前記１つ又は複数の機密性係数を計算するステップと、計算された前記１つ又は複数の機密性係数を情報データベースに格納するステップと、を更に含む。
【００１４】
好ましくは、前記阻止ステップにおいて、前記プロセスによる第１情報へのアクセスの阻止が、前記計算機器のメモリにおいて、前記ユーザに表示されている前記情報のバイナリ表現を代替するステップを含む。
【００１５】
好ましくは、前記領域と、前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差点の分析に基づいて、前記プロセスに関連するアプリケーションが悪意あるものか否かを決定するステップを更に含む。
【００１６】
本発明の別の側面によれば、ユーザの計算機器上のアプリケーションのアクセスを制御するシステムであって、少なくとも１つのプロセッサを備え、前記少なくとも１つのプロセッサは、傍受ステップと、情報決定ステップと、領域決定ステップと、分析ステップと、阻止ステップと、を実行するように構成され、前記傍受ステップでは、前記ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受し、前記情報決定ステップでは、前記プロセスによる前記アクセスの傍受に基づき、前記プロセスに関連する第２情報を決定し、前記領域決定ステップでは、第１情報に関連する前記ユーザの計算機器のディスプレイ上の領域を決定し、前記分析ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析し、前記阻止ステップでは、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの前記１つ以上の交差の前記分析に基づいて、第１情報に対する前記プロセスの前記アクセスを阻止する、システムが提供される。
【００１７】
本発明の別の側面によれば、ユーザの機器上のアプリケーションのアクセス制御するためのコンピュータ実行可能命令を格納する不揮発性コンピュータ可読媒体であって、傍受命令と、情報決定命令と、領域決定命令と、分析命令と、阻止命令と、を備え、前記傍受命令は、前記ユーザの計算機器に表示される第１情報へのプロセスによるアクセスを傍受させ、前記情報決定命令は、前記プロセスによる前記アクセスの傍受に基づき、前記プロセスに関連する第２情報を決定させ、前記領域決定命令は、第１情報に関連する前記ユーザの計算機器のディスプレイ上の領域を決定させ、前記分析命令は、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの間の１つ又は複数の交差を分析させ、前記阻止命令は、前記領域と前記プロセスに関連する少なくとも１つのグラフィックインターフェースとの前記１つ以上の交差の前記分析に基づいて、第１情報に対する前記プロセスの前記アクセスを阻止させる、媒体が提供される。
【００１８】
本発明の例示的な側面に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された側面の広範な概要ではなく、全ての側面の重要な又は重要な要素を特定することも本発明の任意の又は全ての側面の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ又は複数の側面を簡略化した形で提示することである。前述の目的を達成するために、本発明の１つ又は複数の側面が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００１９】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本発明の１つ又は複数の例示的な側面を示し、詳細な説明とともに、それらの基本原理及び実施形態を説明する役割を果たすものである。
【図１】図１は、ユーザの計算機器上の保護されたアプリケーションへのアクセスを阻止する例示的なシステムの構造図を示す。
【図２】図２は、ユーザの計算機器上の保護されたアプリケーションへのアクセスを阻止する例示的な方法のフローチャートを示す。
【図３】図３は、保護されたアプリケーションへのアクセスを阻止するシステム及び方法の側面を実装することができる汎用コンピュータ・システムの例を示す。
【発明を実施するための形態】
【００２０】
本発明に関する例示的な側面は、計算機器上の保護されたアプリケーションへのアクセスを阻止するためのシステム、方法、及びコンピュータプログラム製品に関連して本明細書で説明される。当業者であれば、以下の説明は例示的なものに過ぎず、決して限定するものではないことを理解するであろう。他の側面は、本発明の利益を有する当業者には容易に示唆されるであろう。 以下、添付の図面に例示されている例示的な実施形態を詳細に参照する。同一の符号は、図面全体にわたって可能な範囲で使用され、以下の説明は、同じ又は同様の項目を参照するために使用される。
【００２１】
以下の用語は、本発明の例示的な側面を説明する際に使用される。
【００２２】
悪意あるアプリケーションとは、コンピュータやコンピュータのユーザのデータに害を及ぼす可能性があるアプリケーションであってもよい。悪意あるアプリケーションの例として、ネットワーム、キーボードトラッカー、又はコンピュータウイルスが挙げられる。悪意あるプログラムによって引き起こされる害には、コンピュータのリソースへの不正アクセス（例えば、盗難の目的でコンピュータに保存されるデータを含む）、データの格納を含むリソースの違法な使用、計算の実行等が挙げられる。
【００２３】
信頼できるアプリケーションとは、コンピュータ又はそのユーザに害を与えないアプリケーションであってもよい。信頼できるアプリケーションは、信頼できるソフトウェア製造元によって開発され、信頼できるソース（信頼できるサイトのデータベースにリストされたサイトなど）からダウンロードされたアプリケーション、又は信頼できるアプリケーションのデータベースに格納することができる識別子（アプリケーションファイルのＭＤ５など）と関連づけられたアプリケーションを含む。デジタル証明書（例えば、信頼できるアプリケーションに関連付けられている）などの製造元識別子もまた、信頼できるアプリケーションのデータベースに格納されてもよい。
【００２４】
信頼できないアプリケーションは、信頼されていないが、例えばアンチウィルスアプリケーションを使用して害があると認識されないアプリケーションであってもよい。
【００２５】
悪意あるファイルは、悪意あるアプリケーションのコンポーネントであってもよい。
【００２６】
信頼できないファイルは、信頼されていないアプリケーションのコンポーネントであってもよい。
【００２７】
信頼できるファイルは、信頼できるアプリケーションのコンポーネントであってもよい。
【００２８】
悪意あるプロセスは、悪意あるアプリケーションから実行されているプロセスであってもよい。
【００２９】
信頼できないプロセスは、信頼できないアプリケーションから実行されているプロセスであってもよい。
【００３０】
信頼できるプロセスは、信頼できるアプリケーションから実行するプロセスであってもよい。
【００３１】
ユーザに表示されている情報へのアクセスは、ユーザに表示されている情報のバイナリ表現が計算機器のメモリ（例えば、ＲＡＭ）にロードされる結果となる少なくとも１つのシステム関数の呼出しを含んでもよい。そのような関数として、たとえば、ＷｉｎＡＰＩ関数のＢｉｔＢｌｔが挙げられる。
【００３２】
ユーザに表示されている情報へのアクセスの危険度（アクセス危険度）は、例えば、０〜＋∞、又は０〜１０００（計算値が１０００を超える場合は１０００とみなす）の範囲内の数字であって、ユーザに表示されている情報へのアクセスが悪意あるプロセスの特徴を有するほど高くなるものであってよい。
【００３３】
図１は、ユーザの計算機器上の保護されたアプリケーションへのアクセスを阻止するための例示的なシステムの構造図を示す。システムは、コンポーネントとして、傍受モジュール１３０、交差分析モジュール１４０、セキュリティ提供モジュール１５０を含む。例示的な側面では、システムは、情報データベース１６０を更に含む。システムは、ＰＣ、ノートブック、スマートフォン、又は他の計算機器といったユーザの計算機器（単に、「計算機器」と称する。）上に存在してもよく、その詳細な説明は以下で更に提供される。
【００３４】
例示的な側面では、計算機器はディスプレイ１１０を含む（例示的な側面では、ディスプレイ１１０は計算機器の一部ではなく、他の入出力機器と共に接続される）。ディスプレイ１１０は、計算機器のユーザ（以下、単にユーザと称する。）に情報を表示し、表示される情報は、テキスト、グラフィックイメージなどを含んでもよい。かかる情報は、オペレーティング・システム（ＯＳ）のグラフィックインターフェース（例えば、Ｗｉｎｄｏｗｓ（登録商標）ＯＳのタスクパネル）の様々な要素、及び、計算機器上で実行される複数のプロセス１２０のグラフィックインターフェース１１５（１１５ａ、１１５ｂ、及び１１５ｃ）の要素によって表示されてもよい。例示的な側面では、そのようなグラフィックインターフェースの要素は、プロセスウィンドウ１２０であってもよい。別の側面では、グラフィックインターフェース１１５の要素はプロセスウィジェット１２０であってもよい。更に別の側面では、グラフィックインターフェース１１５の要素はポップアップウィンドウであってもよい。更に別の側面では、グラフィックインターフェース１１５の要素は、プロセス１２０が起動されたアプリケーションのアイコン、通知パネル（Ａｎｄｒｏｉｄ（登録商標）ＯＳのステータスバー又はＷｉｎｄｏｗｓＯＳのトレイ）におけるプロセス１２０のアイコンであってもよい。計算機器上で実行されるプロセス１２０は、少なくとも同じ計算機器上に存在するアプリケーションから起動されてもよい。例示的な側面では、当該アプリケーションは、別の計算機器（例えば、リモートサーバ又はネットワークディスク）上に存在してもよい。例示的な側面では、実行されるプロセス１２０は、グラフィックインターフェース１１５の要素を有さないプロセスを含んでもよい。
【００３５】
例示的な側面では、傍受モジュール１３０は、表示されている情報に対するプロセスのアクセスを傍受するように構成されてもよい。傍受モジュール１３０は、少なくとも、（１）ユーザに表示されている情報へのアクセスを実現するプロセス１２０に関する情報であって、少なくとも上述したプロセス１２０の識別子（例えば、プロセス識別子としてのＰＩＤ）を含む情報を決定するように構成されてもよく、（２）情報がユーザに表示され、プロセス１２０によってアクセスが実施される計算機器のディスプレイ１１０上の領域１２５を決定するように構成されてもよい。
【００３６】
計算機器のディスプレイ１１０上の領域１２５の決定は、少なくとも領域の位置の決定であってもよい。例示的な側面では、計算機器のディスプレイ１１０上の領域１２５の位置は、領域１２５の頂点座標か、又は頂点のうちの一つ座標（左上など）及び高さと幅で示される領域の寸法であり得る。領域１２５は、長方形であってもよい。更に別の側面では、領域は任意の形状を有することができ、そのような形状の決定は、領域の境界上の点の正確な又は近似的な（例えば、特定の精度での）位置を記述する関数の決定に基づくことができる。ユーザに表示されている情報へのアクセスは、少なくとも、ユーザに表示されている情報のバイナリ表現（ビットマップ）がコンピューティング装置のメモリに格納される結果となる（システム関数などの）関数の呼出しであってもよい。側面では、当該メモリは、計算機器のＲＡＭであってもよい。上述した関数の例としては、Ｗｉｎｄｏｗｓ  ＡＰＩ関数のＢｉｔＢｌｔが挙げられる。１つの例示的な側面において、当該関数はＤｒｖＣｏｐｙＢｉｔｓでもよい。更に別の例示的な側面において、当該関数はＰｒｉｎｔＷｉｎｄｏｗ、ＳｔｒｅｔｃｈＢｌｔ又はＰｌｇＢｌｔでもよい。
【００３７】
傍受を実行するために、傍受モジュール１３０はドライバとして実現されてもよい。例示的な側面では、このドライバは、関数ＢｉｔＢｌｔ又はＰｒｉｎｔＷｉｎｄｏｗの呼出しを傍受する。ドライバを使用してこの関数呼出しを傍受すると、呼出しのコンテクスト（プロセス識別子（ＰＩＤ）及び／又はスレッド識別子（ＴＩＤ））を判断することができる。そのようにして得られたデータを、プロセスに関する前述の情報としてもよい。領域１２５の位置は、ｎＨｅｉｇｈｔ、ｈｄｃＳｒｃ、ｎＸＳｒｃ、ｎＹＳｒｃと呼ばれる、関数の対応するパラメータ（後に傍受される）によって決定されてもよい。
【００３８】
ＷｉｎｄｏｗｓＯＳのバージョン８以降には、システム呼出しテーブル、グローバルディスクリプタテーブル、割り込みディスクリプタテーブルなどのＯＳの重要な構造やテーブルが変更されることからＯＳを保護するコンポーネントであるＰａｔｃｈＧｕａｒｄが備わっている。当該コンポーネントは、ドライバレベルで実行されるアクセスの傍受に対する前述のアプローチを許可しない。例示的な側面では、傍受モジュール１３０は、プロセス１２０のグラフィックインターフェース１１５の要素を表示するためのＤＷＭ（Ｄｅｓｋｔｏｐ  Ｗｉｎｄｏｗｓ  Ｍａｎａｇｅｒ）サブシステムのコンポーネントの形態で実現することができる。そのようなコンポーネントは、ｄｌｌファイルの形式で埋め込まれていてもよく、ｄｌｌファイルはプロセスｄｗｍ．ｅｘｅのアドレス空間に格納されてもよい。特定のプロセス１２０による関数ＢｉｔＢｌｔの呼出しの後、傍受モジュールによって傍受され得るＬＰＣ（ローカルプロシージャコール）要求を受信する結果となる関数呼出しが連続的に続いてもよい。ユーザに表示されている情報へのアクセスを実行するプロセス１２０に関する情報としては、かかる要求のヘッダにおけるＰＩＤ及びＴＩＤがある。このようにして得られるデータを、前述のプロセスに関する情報としてもよい。領域１２５の位置は、ＬＰＣ要求を介して呼び出される関数の対応するパラメータ（ｎＨｅｉｇｈｔ、ｈｄｃＳｒｃ、ｎＸＳｒｃ、ｎＹＳｒｃ）によって決定されてもよい。
【００３９】
更に別の例示的な側面では、傍受モジュール１３０は、ディスプレイドライバ（ｃｄｄ．ｄｌｌすなわちＣａｎｏｎｉｃａｌ  Ｄｉｓｐｌａｙ  Ｄｒｉｖｅｒなど）へのアプリケーションによるアクセスを傍受するドライバの形態で実現されてもよい。その場合、傍受モジュール１３０は、ＤｒｖＣｏｐｙＢｉｔｓのサーフェースをコピーする関数の呼出しを傍受してもよい。上述したドライバを使用した当該関数の呼出しの傍受において、呼出しのコンテクスト、すなわち、ＰＩＤ（プロセス識別子）とＴＩＤ（スレッド識別子）が決定される。このようにして得られたデータを、プロセスに関する前述の情報としてもよい。更に、サーフェースにアクセスするための関数呼出しにおいて、傍受モジュール１３０は、アクセスされているサーフェース識別子を決定することができる。サーフェース識別子を使用して、傍受モジュール１３０は、アクセスされる領域（座標及び寸法）を決定することができる。領域１２５の位置は、呼び出される関数の対応するパラメータ（ｐｐｔｌＳｒｃ）によって決定されてもよい。
【００４０】
更に別の例示的な側面では、計算機器のディスプレイ１１０上の領域１２５の位置の決定は、領域１２５に対応する機器コンテクストの決定を含んでもよく、領域１２５において、ユーザに表示される情報（関数呼び出しパラメータとして示された機器コンテクスト）はアクセスされていてもよい。例示的な側面では、機器コンテクストは、傍受された関数ｈｄｃＳｒｃの呼出しのパラメータ（例えば、関数ＢｉｔＢｌｔ、ＰｌｇＢｌｔ及びＳｔｒｅｔｃｈＢｌｔのためのパラメータ）であってもよい。
【００４１】
更に別の例示的な側面では、計算機器のディスプレイ１１０上の領域１２５の位置の決定は、傍受された関数呼出しを介してアクセスされている領域１２５に対応するサーフェースの決定を含んでもよい。例示的な側面では、サーフェース（具体的には、構造ＳＵＲＦＯＢＪへのポインタ）は、傍受された関数呼出しＤｒｖＣｏｐｙＢｉｔｓのパラメータｐｓｏＳｒｃである。
【００４２】
更に別の例示的な側面では、計算機器のディスプレイ１１０上の領域１２５の位置の決定は、傍受された関数呼び出しを介してアクセスされる領域１２５に対応するウィンドウ（ウィンドウハンドル）の識別子の決定を含む。例示的な側面では、ウィンドウ識別子は、傍受された関数呼出しＰｒｉｎｔＷｉｎｄｏｗのパラメータｈｗｎｄであってもよい。
【００４３】
傍受モジュールによって決定された、ユーザに表示されている情報へのアクセスを実行するプロセス１２０に関する情報、及び、ユーザに表示され、且つ、その情報にアクセスされている計算機器のディスプレイ１１０上の領域１２５に関する情報（特に、領域を記述する情報、すなわち、計算機器のディスプレイ１１０における領域１２５の位置）は、傍受モジュール１３０によって交差分析モジュール１４０に中継されてもよい。また、ユーザに表示されている情報へのアクセスを実行するプロセス１２０に関する傍受モジュール１３０によって決定された情報は、セキュリティ提供モジュール１５０に中継されてもよい。
【００４４】
例示的な側面では、傍受モジュール１３０によって決定された計算機器のディスプレイ１１０上の領域１２５が、傍受されたアクセスを実行しているプロセス１２０に対応する場合、かかるアクセスに関するさらなる分析は行われず、傍受されたアクセスを実行するプロセス１２０はその実行を継続する。例示的な側面では、傍受モジュール１３０によって決定されたサーフェースがプロセス１２０に対応する場合、領域１２５はプロセス１２０に対応する。更に別の例示的な側面では、傍受モジュール１３０によって決定されたウィンドウ識別子がプロセス１２０のウィンドウに対応する場合、領域１２５はプロセス１２０に対応する。別の例示的な側面では、傍受モジュール１３０によって決定された機器コンテクストがプロセス１２０に対応する場合、領域１２５はプロセス１２０に対応する。
【００４５】
交差分析モジュール１４０は、傍受モジュール１３０を用いて決定された計算機器のディスプレイ１１０上における領域１２５と、計算機器上で実行されているプロセス１２０のグラフィックインターフェースの要素の領域の交差について、上述したプロセス１２０のグラフィックインターフェース１１５の要素の領域の何れが、領域１２５を含むか、領域１２５に含まれるか、又は領域１２５と部分的に交差するかを決定するため、分析するように構成されてもよい。
【００４６】
例示的な側面では、前述の分析中、交差分析モジュール１４０は、計算機器で実行されているプロセス１２０のグラフィックインターフェース１１５の全ての要素の領域の位置と、傍受モジュール１３０によって決定された領域１２５の位置とを比較する。例示的な側面では、プロセス１２０のグラフィックインターフェース１１５の要素の領域の位置は、プロセス１２０のグラフィックインターフェース１１５の要素に関するデータ（具体的には、それらの位置及び寸法）に基づいて交差分析モジュール１４０によって決定されるが、当該データは、ＯＳによって提供されてもよい。例示的な側面では、当該データは、関数ＧｅｔＷｉｎｄｏｗＲｅｃｔの呼出しに応答してＯＳによって提供されてもよい。
【００４７】
更に別の例示的な側面では、プロセス１２０のグラフィックインターフェース１１５の要素の領域の位置は、サーフェースとそれらの位置に関する情報に基づいて、交差分析モジュールによって決定されてもよい。そのようなデータは、サーフェースを作成する関数呼出しＤｒｖＥｎａｂｌｅＳｕｒｆａｃｅ、特にその戻り値（構造ＳＵＲＦＯＢＪのポインタであって、プロセス１２０のグラフィックインターフェースの要素に対応するサーフェースの位置を示すもの）を傍受することによって、交差分析モジュール１４０により得られる。
【００４８】
別の例示的な側面では、傍受モジュール１３０で決定された、ユーザに表示されている情報へのアクセスが実行されている機器コンテクスト（又はアクセスされているサーフェース）が、デスクトップの機器コンテクストと一致する場合、又は、傍受モジュール１３０で決定された、傍受された関数のパラメータであるウィンドウ識別子が、デスクトップ識別子である場合、交差分析モジュール１４０は、プロセス１２０のグラフィックインターフェース１１５の要素の領域の何れが、領域１２５を含むか、領域１２５に含まれるか、又は領域１２５と部分的に交差するかを決定する。
【００４９】
図１は、計算機器上で実行されるプロセス１２０のグラフィックインターフェース１１５の要素の位置の例を示す。交差分析モジュール１４０は、領域１２５の位置と、グラフィックインターフェース１１５の要素の領域の位置とを比較することによって、プロセス１２０のグラフィックインターフェース１１５ａの要素の領域が（完全に）領域１２５を含み、プロセス１２０のグラフィックインターフェース１１５ｂの要素の領域が領域１２５と部分的に交差し、プロセス１２０のグラフィックインターフェース１１５ｃの要素の領域が領域１２５と交差しないことを決定する。例示的な側面では、領域１２５の頂点座標と、グラフィックインターフェース１１５の要素の領域とに基づいて、領域１２５がグラフィックインターフェース１１５の要素の領域に対してどのように配置されるかについての決定を行ってもよい。更に別の例示的な側面では、領域１２５がグラフィックインターフェース１１５の要素の領域に対してどのように配置されるかに関する決定は、１つの頂点（左上など）の座標、領域１２５及びグラフィックインターフェース１１５の要素の寸法（高さ及び幅）に基づいてなされてもよい。
【００５０】
更に別の例示的な側面では、交差分析モジュール１４０は、領域１２５の寸法と、領域１２５及びグラフィックインターフェース１１５の要素の領域の交差領域の寸法との比である交差率を決定してもよい。例えば、グラフィックインターフェース１１５ａの要素の領域については、交差率は１であり、グラフィックインターフェース１１５ｂの要素の領域については、交差率は１／３であり、グラフィックインターフェース１１５ｃの要素の領域との交差率は０（交点なし）に等しくなる。
【００５１】
グラフィックインターフェースのかかる要素がウィンドウであって、傍受モジュール１３０を用いて決定されたユーザに表示される情報へのアクセスが実行されている機器コンテクストと、ウィンドウの機器コンテクスト（関数呼出しＷｉｎＡＰＩ、ＧｅｔＤＣを用いて決定され得る）が一致する場合、交差分析モジュールは、プロセス１２０のグラフィックインターフェース１１５の要素が、領域１２５を含むと決定する。この場合、交差率は１となる。他の全てのプロセス１２０については、グラフィックインターフェース１１５のそれらの要素が領域１２５と交差していないとみなすことができる。
【００５２】
更に別の側面では、グラフィックインターフェースの要素がウィンドウであって、傍受された関数呼出しに介してアクセスされている領域１２０に対応するサーフェースが当該ウィンドウのサーフェースである場合、交差分析モジュール１４０は、プロセス１２０のグラフィックインターフェース１１５の要素が、領域１２５を含んでいると決定する。この場合、交差率は１となる。他の全てのプロセス１２０については、グラフィックインターフェース１１５のそれらの要素が領域１２５と交差していないとみなすことができる。
【００５３】
更に別の例示的な側面では、グラフィックインターフェースの要素がウィンドウであって、当該ウィンドウの識別子（ＨＷＮＤ）が、領域１２５に対応するウィンドウの識別子であって、傍受モジュール１３０を用いて決定されたものと一致する場合、交差分析モジュール１４０は、プロセス１２０のグラフィックインターフェース１１５の要素が領域１２５を含むと決定してもよい。この場合、交差率は１となる。他の全てのプロセス１２０については、グラフィックインターフェース１１５のそれらの要素が領域１２５と交差していないとみなすことができる。
【００５４】
計算機器で実行されているプロセス１２０のグラフィックインターフェース１１５の要素の領域の何れが、上述した領域１２５を含むか、領域１２５に含まれるか、又は部分的に領域１２５と交差するか否かに基づいて、計算機器１１０のディスプレイ上の領域１２５に対する傍受モジュールの使用によって決定されるに際し、交差分析モジュール１４０は、更に、重要度を計算してもよい。領域１２５の重要度は、グラフィックインターフェース１１５の要素の領域が、領域１２５を含み、部分的に交差し、又は領域１２５に含まれているプロセス１２０によりユーザに表示されている情報が機密であるか否かに依存してもよい。領域１２５の重要度が高いほど、言及された情報が機密である可能性が高くなる。例示的な側面では、領域１２５の重要度を計算するために、領域１２５とプロセス１２０のグラフィックインターフェース１１５の要素の領域との交差率も使用される。
【００５５】
例示的な側面では、グラフィックインターフェース１１５の要素の領域が、領域１２５を含み、領域１２５と部分的に交差し、又は領域１２５に含まれているプロセス１２０を介してユーザに表示されている情報の機密性は、交差分析モジュール１４０にリンクされた情報データベース１６０を用いて決定されてもよい。情報データベース１６０は、プロセス１２０のグラフィックインターフェース１１５の要素の機密性係数であって、数値として表現されている係数を格納している。プロセス１２０のグラフィックインターフェース１１５の要素の機密性係数が高いほど、このプロセス１２０のグラフィックインターフェース１１５の要素が機密情報をユーザに表示する可能性が高くなる。銀行との遠隔作業のためのアプリケーションのプロセス１２０、「セキュアモード」（いわゆる「サンドボックス」）で起動されるプロセス１２０、電子メールを扱うためのアプリケーションのプロセス１２０及びそれらのプロセスの子プロセス（例えば、電子メールの添付ファイルが開かれているプロセスｗｉｎｗｏｒｄ．ｅｘｅ）は、グラフィックインターフェース１１５の要素を介して（例えば、それらのウィンドウを介して）機密情報を表示している。
【００５６】
１つの例示的な側面では、情報データベース１６０に格納され得る情報は、コンピュータセキュリティの分野の専門家によって定式化され、交差分析モジュール１４０によってデータベース１６０に書き込まれてもよく、また、リモートセキュリティサーバ又はシステム管理者からこの情報を得てもよい。
【００５７】
更に別の側面では、悪意あるアプリケーションの検出のためにシステムにアクティビティ監視モジュール１７０が追加的に含まれる。アクティビティ監視モジュール１７０は、プロセス１２０によって実行されているアクションを追跡し、プロセス１２０のグラフィックインターフェース１１５の要素に対応する機密性係数を計算するように構成されてもよい。１つの例示的な側面では、アクティビティ監視モジュール１７０によって計算された機密性係数は、情報データベース１６０に送信されてもよい（情報データベース１６０がすでに機密性係数の値を格納している場合、それらの値は更新される）。別の例示的な側面では、計算された機密性係数は、アクティビティ監視モジュール１７０によってセキュリティ提供モジュール１５０に送信され、次いでこれらの係数を、セキュリティ提供モジュール１５０が情報データベース１６０から得ることができる係数とともに使用する。プロセス１２０によって実行されるアクションは、プロセス１２０によって実行されるシステム呼出し又はシステム呼出しのセットを指す。更に別の例示的な側面では、アクションは、電子通信（電子メール、音声メッセージ、又はインスタントメッセージング通信など）の送信／受信を含むことができる。トラッキングを実行するため、アクティビティ監視モジュール１７０は、ドライバ又はドライバのセットであるか、それらを含んでもよく、それらを使用することで、プロセス１２０によって実行されている（例えば、傍受を介した）システム呼出しの決定が行われてもよい。それにより、トラッキングが実現する。システム呼出しの決定は、この呼出しを実行しているプロセス１２０の決定及び呼出しの引数を含むことができる。例示的な側面では、アクティビティ監視モジュール１７０は、ドライバを使用することによって、ネットワーク接続関数（接続、ソケット、バインド、受信、送信など）と共に、プロセスの起動のための関数呼び出し（ＬｏａｄＭｏｄｕｌｅ、ＣｒｅａｔｅＰｒｏｃｅｓｓ、ＣｒｅａｔｅＰｒｏｃｅｓｓＡｓＵｓｅｒ、ＳｈｅｌｌＥｘｅｃｕｔｅ、ＷｉｎＥｘｅｃなど）を決定する。ネットワーク呼出しの決定の可能性は、ドライバの使用例に限定されないことに留意する必要がある。更に別の側面では、アクティビティ監視モジュール１７０は、プロセス１２０が起動されるアプリケーション用のプラグインであるか、プラグインを含んでいてもよく、プラグインを使用し、このプロセス１２０によって送信又は受信されたメッセージに関する情報の決定があってもよい。例示的な側面では、そのような情報は、メッセージの送信者、メッセージの受信者、メッセージの主題、メッセージの内容、着信又は発信のメッセージの種類であってもよい。更に別の側面では、アクティビティ監視モジュール１７０は、このようなプラグインを使用して、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）文書の著者などの文書の著者を決定する。なお、著者名については、文書が作成又は変更されたときに（文書ファイルの）文書のヘッダに示される。
【００５８】
例示的な側面では、アクティビティ監視モジュール１７０は、ヒューリスティック規則を使用して、プロセス１２０のグラフィックインターフェース１１５の要素に対する機密性係数を計算してもよい。ヒューリスティック規則を使用する目的は、機密情報又は盗難が望ましくない他の情報がユーザに表示され得るこれらのプロセス１２０のグラフィックインターフェース１１５の要素の、高い機密性係数を確立することである。１つの例示的な側面では、そのようなヒューリスティック規則の例は、以下のとおりである。
・保護されたネットワーク接続（ｈｔｔｐｓなど）を確立するプロセス１２０のグラフィックインターフェース１１５の要素に対する機密性係数の最大値を確立する。
・保護されたリモートサーバのリストからリモートサーバとの接続を確立するプロセス１２０のグラフィックインターフェース１１５の要素に対する機密性係数の最大値を確立する。
・保護されたアプリケーションのリストから起動されたプロセス１２０のグラフィックインターフェース１１５の要素に対する機密性係数の最大値を確立する。
・保護された作成者のリストから作成者によって作成された文書を開くプロセス１２０のグラフィックインターフェース１１５の要素に対する機密性係数の最大値を確立する。
・保護された連絡先のリストからアドレスからメッセージを受信する（又はメッセージをアドレスに送信する）プロセス１２０のグラフィックインターフェース１１５の要素に対する機密性の係数の最大値を確立する。
【００５９】
情報データベース１６０は、保護されたリモートサーバのリストに現れるリモートサーバ（銀行又は電子メールサーバなど）のアドレス（ＩＰアドレス）を保存する。保護されたアプリケーションのリストは、データベース１６０に格納され得るアプリケーションのリスト（例えば、銀行と連携するアプリケーション、情報の漏洩を防ぐアプリケーション、すなわちＤＬＰ（Ｄａｔａ  Ｌｅａｋ  Ｐｒｅｖｅｎｔｉｏｎ）など）であってもよい。保護された連絡先のリストは、データベース１６０に格納されている連絡先のリスト（送信者又はメッセージの受信者の名前又は電子メールアドレスなど）であってもよい。保護された作成者のリストは、データベース１６０に格納されてもよい作成者のリスト（例えば、文書を作成したユーザの名前）であってもよい。
【００６０】
例示的な側面では、機密性係数の最大値は、１０９であってもよい。更に別の側面では、機密性係数の最大値は、セキュリティ提供モジュール１５０によって使用される閾値以上の数であってもよい（以下では、これについて更に説明する）。更に別の側面では、機密性係数の最大値は、情報データベースに格納することができる最大の数値であってもよい。
【００６１】
アクティビティ監視モジュール１７０は、プロセス１２０のグラフィックインターフェース１１５の全ての要素の機密性係数をプロセス１２０に対して計算する必要はないことに留意されたい。一般的なケースでは、アクティビティ監視モジュール１７０は、アクティビティ監視モジュール１７０によって使用されるヒューリスティック規則に従って、値が設定される必要があるグラフィックインターフェース１１５の要素の機密性係数をのみを、プロセス１２０に対して計算する。
【００６２】
更に別の例示的な側面では、ＯＳ内のデスクトップは、プロセスｅｘｐｌｏｒｅｒ．ｅｘｅに対応する（例えば、所属する）グラフィックインターフェース１１５（プロセス１２０のウィンドウのような）の要素であってもよく、情報データベース１６０はグラフィックインターフェース１１５（デスクトップ）の要素の機密性の係数を格納することができる。例示的な側面では、この機密性係数の値は、機密性係数の最大値であってもよい。
【００６３】
例示的な側面では、アクティビティ監視モジュール１７０は、計算機器上で起動された各プロセス１２０について、グラフィックインターフェース１１５の要素の機密性係数を計算することができる。更に別の例示的な側面では、アクティビティ監視モジュール１７０は、情報が情報データベース１６０に格納されているプロセス１２０のグラフィックインターフェース１１５の要素の機密性係数を計算してもよく、この情報は、例えばプロセス 識別子又はプロセス指定（ｗｉｎｗｏｒｄ．ｅｘｅなど）である。
【００６４】
例示的な側面では、交差分析モジュール１４０は、以下の式によって領域１２５の重要度を計算してもよい。
【数１】
2018018495.tif 000003
【００６５】
更に別の例示的な側面では、交差分析モジュール１４０は、以下の式によって領域１２５の重要度を計算してもよい。
【数２】
2018018495.tif 000004
【００６６】
更に別の例示的な側面では、交差分析モジュール１４０は、以下の式によって領域１２５の重要度を計算してもよい。
【数３】
2018018495.tif 000005
【００６７】
更に別の例示的な側面では、交差分析モジュール１４０は、以下の式によって領域１２５の重要度を計算してもよい。
【数４】
2018018495.tif 000006
【００６８】
更に別の例示的な側面では、交差分析モジュール１４０は、以下の式によって領域１２５の重要度を計算してもよい。
【数５】
2018018495.tif 000007
【００６９】
上記の式においては、以下の表記を使用する。
・Ｋは、領域１２５の重要度である。
・ｎは、計算機器のディスプレイ１１０に表示されているプロセス１２０のグラフィックインターフェース１１５の要素の数である。
・ｐｉは、グラフィックインターフェース１１５のｉ番目の要素の機密性係数である（例示的な側面では、プロセス１２０のグラフィックインターフェース１１５の要素に対して対応する係数がデータベース１６０に示されていない場合、グラフィックインターフェースのｉ番目の要素の値として１をとる）。
・ｋｉは、グラフィックインターフェース１１５のｉ番目の要素の領域と領域１２５との交差率である。
・ｓｉは、グラフィックインターフェースのｉ番目の要素と等しい重み係数であって、グラフィックインターフェース１１５のｉ番目の要素の領域が領域１２５と部分的に交差する場合、１であり、Ｓ１＞１（例えば、１００）であり、グラフィックインターフェース１１５のｉ番目の要素の領域が領域１２５を含む場合、Ｓ１であり、Ｓ２＞Ｓ１（例えば、２００）であり、グラフィックインターフェース１１５のｉ番目の要素の領域が領域１２５に含まれる場合、Ｓ２である。
【００７０】
例示的な側面では、あるプロセス１２０ａのグラフィックインターフェース１１５のｉ番目の要素の機密性係数ｐｉは、プロセス１２０ａに関する親プロセスであるプロセス１２０のグラフィックインターフェース１１５の要素の機密性係数の最大値に等しくてもよい。更に別の例示的な側面では、プロセス１２０ａのグラフィックインターフェース１１５のｉ番目の要素の機密性係数ｐｉは、プロセス１２０ａのグラフィックインターフェース１１５のｉ番目の要素の機密性係数の最大値に等しくてもよく、Ｎの親プロセス１２０（ここで、Ｎは、プロセス１２０が２つの親プロセスを有する場合、例えば２に等しくてもよい）のグラフィックインターフェース１１５の要素の機密性係数に等しくてよい。
【００７１】
上式は単なる例示的なものであり、例示的な側面では、係数ｐｉ、ｋｉ、ｓｉが高いほど領域１２５の重要度格付けがより大きくなるような他の式を用いて、交差分析モジュール１４０による領域１２５の重要度を計算することができる。
【００７２】
交差分析モジュール１４０は、算出された領域１２５の重要度をセキュリティ提供モジュール１５０に中継する。
【００７３】
セキュリティ提供モジュール１５０は、ユーザに表示されている情報にアクセスしているプロセス１２０に関する傍受モジュール１３０によって提供される情報に基づいて、ユーザに表示されている情報に対するアクセス危険度（例えば、上で定義したもの）を計算するように設計されている。
これは、ユーザに表示されている情報へのアクセス危険度と領域の重要度との組み合わせを計算するとともに、計算機器のユーザに表示されている情報のアクセスが傍受モジュール１３０によって傍受されたプロセス１２０から起動されたアプリケーションを、ユーザに表示されている情報へのアクセス危険度とその領域の重要度との組み合わせが確立された閾値を超えた場合に、悪意あるものとして認識するためである。
【００７４】
例示的な側面では、セキュリティ提供モジュール１５０は、以下の式によってアクセス危険度１２５を計算することができる。
【数６】
2018018495.tif 000008
【００７５】
更に別の例示的な側面では、セキュリティ提供モジュール１５０は、以下の式によってアクセス危険度１２５を計算することができる。
【数７】
2018018495.tif 000009
【００７６】
更に別の例示的な側面では、セキュリティ提供モジュール１５０は、以下の式によってアクセス危険度１２５を計算することができる。
【数８】
2018018495.tif 000010
【００７７】
上記の式においては、以下の表記を使用する。
・Ｄは、プロセス１２０によって領域１２５に対して実行され、傍受モジュール１３０によって傍受されるアクセス危険度である。
・Ｓは次の値をとる係数である。すなわち、傍受されたアクセスを実行するプロセス１２０が信頼できるプロセスである場合、１となる。傍受されたアクセスを実行するプロセス１２０が信頼できないプロセス（又は、データベース１６０が、プロセス１２０が信頼されているという情報を持たない）である場合、Ｓ１＞１（たとえば５）であって、Ｓ１となる。
・Ｖは以下の値をとる係数である。すなわち、傍受されたアクセスを実行するプロセス１２０が既知の脆弱性が存在しないアプリケーションから起動された場合（又はデータベース１６０に既知の脆弱性に関する情報がない場合）は１となる。既知の脆弱性が存在するアプリケーションから傍受されたアクセスを実行するプロセス１２０が起動された場合、Ｖ１＞１であって、Ｖ１となる（ここで、Ｖ１は、１０などの定数とすることができる）、既知の脆弱性の数に応じた数であり、Ｕを既知の脆弱性の数としたときに、Ｖ１＝２＊Ｕのように表される）。
・Ａは、次の値を取る係数である。すなわち、傍受されたアクセスを実行するプロセス１２０が、ユーザに表示されている情報へのアクセスの実行を含む（又はデータベース１６０が機能に関する情報を持たない）アプリケーションから起動された場合、１となる。Ａ１＞１（例えば１００）であって、傍受されたアクセスを実行しているプロセス１２０が、ユーザに表示されている情報へのアクセスの実行を含まない機能から起動された場合、Ａ１となる。
【００７８】
上式は単なる例であり、例示的な側面であって、係数Ａ、Ｓ及びＶが高いほどアクセス危険度がより大きくなる他の式は、プロセス１２０によってディスプレイ１１０に表示される情報へのアクセス危険度を計算するために、セキュリティ提供モジュール１５０によって使用され得る。例示的な側面では、アクセス危険度Ｄの値は１未満であってはならない。
【００７９】
例示的な側面では、傍受されたアクセスを実行するプロセス１２０から起動されたアプリケーションが信頼できるか否かに関する情報は情報データベース１６０に格納され、セキュリティ提供モジュール１５０に提供されてもよい。
【００８０】
例示的な側面では、傍受されたアクセスが実行されているプロセス１２０から起動されたアプリケーションにおける既知の脆弱性の有無及び、脆弱性の既知の数に関する情報は情報データベース１６０に格納され、セキュリティ提供モジュール１５０に提供されてもよい。
【００８１】
例示的な側面では、傍受されたアクセスを実行するプロセス１２０から起動されたアプリケーションの機能がユーザに表示されている情報へアクセスすることを含むか否かに関する情報は、情報データベース１６０に格納され、セキュリティ提供モジュール１５０に提供されてもよい。アプリケーションの機能は、その呼出しが、アプリケーションから起動されたプロセスの特性である機能のセットを含むことができる。したがって、例示的な側面における情報データベース１６０は、プロセス１２０が起動されたアプリケーションに、前述のアプリケーションに特有の機能のリスト（アプリケーションの機能）を割り当ててもよい。
【００８２】
上述したように、例示的な側面では、情報データベース１６０に格納される情報は、コンピュータセキュリティの専門家によって策定されてもよい。例示的な側面では、専門家自身が当該情報を情報データベース１６０に転送（例えば、書き込む）してもよい。別の例示的な側面では、情報は、リモートセキュリティサーバ又はシステム管理者からこの情報を取得する交差分析モジュール１４０によって情報データベース１６０に書き込まれてもよい。
【００８３】
例示的な側面では、情報データベース１６０は、それぞれ１つ又は複数の種類のデータ、例えば、上述した公式において用いられる機密性係数ｐｉや重み付け係数ｓｉなどのデータを格納するために設計された一群のデータベースであるか、一群のデータベースを含んでもよい。
【００８４】
アクセス危険度を計算した後、セキュリティ提供モジュール１５０は、傍受モジュール１３０によって傍受されたアクセスを実行するプロセス１２０が起動されたアプリケーションを悪意のあるものとして認識するか否かを決定することができる。この決定は、セキュリティ提供モジュール１５０によって、アクセス危険度及び領域１２５の重要度との組み合わせと、既に設定された閾値との比較に基づいて行われてもよい。すなわち、アクセス危険度及び領域１２５の重要度との組み合わせが設定された閾値（たとえば、１０００）よりも大きい場合、ユーザに表示されている情報へのアクセスが傍受モジュールによって傍受されたプロセス１２０が起動されたアプリケーションは悪意あるものと認識される。そうでない場合は、当該アプリケーションはセキュリティ提供モジュール１５０によって悪意あるものとは認識されない。この場合の組み合わせとして、和、積又は領域１２５の重要度とアクセス危険度が大きくなる場合に大きくなるような他の組み合わせを用いることができる。
【００８５】
更に別の例示的な側面では、セキュリティ提供モジュール１５０は、ユーザに表示されている情報へのアクセスを阻止するために、傍受モジュール１３０にコマンドを送信することができる。傍受モジュール１３０は、前述のアクセスを実行している可能性がある対応する関数呼出しを（例えば、アドレスが、呼出された関数の戻りアドレスである命令への制御の転送によって）中断することができる。アクセスの阻止は、傍受モジュール１３０により、計算機器のメモリ内で、ユーザに表示される情報のバイナリ表現であって、前述のアクセスを実行するために使用された関数の呼出しによってメモリに格納されたバイナリ表現を代替することによってなされてもよい。例示的な側面では、セキュリティ提供モジュール１５０は、ユーザに表示されている情報へのアクセス危険度と領域１２５の重要度との組み合わせが、設定された閾値（かかる組み合わせを計算するアルゴリズムは上述のとおり）より大きい場合には、情報へのアクセスを阻止するコマンドを送信してもよい。
【００８６】
例示的な側面では、セキュリティ提供モジュール１５０は、上記のスキームに従い、あるアプリケーションを悪意あるものとして認識した後、傍受モジュール１３０にコマンドを更に送信し、ユーザに表示されている情報へのアクセスであって、悪質あると認識されたアプリケーションから起動されたプロセス１２０によって実行されているアクセスを阻止してもよい。
【００８７】
例示的な側面では、セキュリティ提供モジュール１５０は、領域１２５の重要度のみに基づいてアプリケーションを悪意あるものと認識するか、又は表示される情報へのアクセスを阻止するかの決定を行うことができる。すなわち、領域１２５の重要度が、設定された閾値よりも大きい場合は、ユーザに表示された情報へのアクセスが実行されたプロセス１２０から起動されたアプリケーションは悪意あるものと認識される。そうでない場合は、かかるアプリケーションは悪意あるものと認識されない。
【００８８】
図２は、ユーザの計算機器上の保護されたアプリケーションへのアクセスを阻止する例示的な方法のフローチャートを示す。ステップ２０１において、傍受モジュール１３０は、少なくとも、ユーザに表示されている情報へのアクセスを実行しているプロセス１２０の情報、又はユーザに情報が表示されている計算機器のディスプレイ上の領域であってアクセスが実行されている領域についての情報を決定するため、ユーザに表示されている情報へのプロセス１２０のアクセスを傍受する。プロセスについてこのようにして得られた情報は、傍受モジュール１３０によってセキュリティ提供モジュール１５０又は交差分析モジュール１４０に送信され、決定された領域１２５は交差分析モジュール１４０に送信される。ステップ２０２において、交差分析モジュール１４０は、計算機器で実行されているプロセス１２０のグラフィックインターフェースの要素の領域と、傍受モジュール１３０によって決定された領域１２５の交差を、上述したプロセスのグラフィックインターフェース１１５の要素のどの領域が、上述した領域を含むか、領域に含まれるか、又は部分的に領域と交差するかを決定するために分析することができる。ステップ２０３において、当該交差に関する情報は、領域１２５の重要度を計算するため交差分析モジュール１４０によって使用される。計算された領域１２５の重要度は、交差分析モジュール１４０によってセキュリティ提供モジュール１５０に送信されてもよい。ステップ２０４において、傍受モジュール１３０から得られたデータに基づいて、ユーザに表示されている情報へのアクセス危険度が計算されてもよい。また、かかる情報は、傍受モジュール１３０によって傍受されたアクセスを実行しているプロセスに関する情報である。ステップ２０５において、セキュリティ提供モジュール１５０は、領域１２５の重要度とアクセス危険度との組合せを計算することができる。次いで、ステップ２０６において、ステップ２０５で得られた組み合わせが閾値よりも大きい場合には、セキュリティ提供モジュール１５０は、プロセス１２０から起動されたアプリケーションであって、計算機器のユーザに表示されている情報へのアクセスがステップ２０１において傍受されたアプリケーションを、悪意あるものと認識する。一方、得られた組み合わせが閾値を超えていない場合、ステップ２０７において、セキュリティ提供モジュール１５０は、上述したアプリケーションを悪意あるものと認識しない。
【００８９】
ステップ２０４は、ステップ２０２及び２０３の実行には依存しないことがあり、したがって、ステップ２０４は、これらのステップの実行と並行し、又はこれらのステップの前に実行され得ることに留意されたい。
【００９０】
更に別の側面では、悪意あるアプリケーションの検出のためのシステムは、更に、プロセス１２０のグラフィックインターフェースの要素の機密性係数を例えば１つ又は複数のヒューリスティック規則に基づいて計算するアクティビティ監視モジュール１７０を含む。このステップは、図２において図示されておらず、ステップ２０１及び２０２の実行に依存しなくてもよく、それゆえに、これらのステップの実行と並列して、又はこれらのステップの実行の前に実行されてもよい。
【００９１】
図３は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム（パーソナル・コンピュータやサーバ等）の例を示している。例えば、コンピュータ・システム２０は、保護サーバ１２０又はシンクライアント１１０の１つ又は複数に対応し得る。図示の通り、コンピュータ・システム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティング・システムをロードする際等、コンピュータ・システム２０の要素間の情報の伝達を担う基本的な手順を含む。
【００９２】
コンピュータ・システム２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式ドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びコンピュータ・システム２０の他のデータのストレージのための電源依存のモジュールである。
【００９３】
本発明は、ハードディスク２７、取り外し可能な磁気ディスク２９及び取り外し可能な光学ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【００９４】
コンピュータ・システム２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザは、入力機器（キーボード４０、マウス４２）を用いてコマンドと情報をコンピュータ・システム２０に入力することができる。他の入力機器（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力機器は、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータ・システム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力機器（不図示）を接続できる。
【００９５】
コンピュータ・システム２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、コンピュータ・システム２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【００９６】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法もあることに留意されたい。
【００９７】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及び方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００９８】
様々な実施形態で、本発明のシステム及び方法が、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図３において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【００９９】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【０１００】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【０１０１】
本明細書で開示された様々な側面は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、側面及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
2018018495.tif 000011
【図２】
2018018495.tif 000012
【図３】
2018018495.tif 000013
【外国語明細書】
2018018495000001.pdf