(57)【要約】  グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減をコンピューティングデバイスによって実行することができる。ユーザインターフェース要素は、コンピューティングデバイス上で実行中のグラフィカルユーザインターフェース環境内で監視される。ユーザインターフェース要素と悪意のある行為との間の関連性が特性される。悪意のある行為を阻止するためにユーザインターフェース要素へのアクセスがブロックされる。【特許請求の範囲】
【請求項１】
グラフィカルユーザインターフェース要素に関連した悪意のある行為を軽減するためにコンピュータによって実施される方法であり、前記方法の少なくとも一部は、少なくとも１つのプロセッサを備えたコンピューティングデバイスによって実行され、前記方法は、
前記コンピューティングデバイスにより、前記コンピューティングデバイスを実行するグラフィカルユーザインターフェース環境内でユーザインターフェース要素を監視するステップと、
前記コンピューティングデバイスにより、前記インターフェース要素と悪意のある行為との関連性を識別するステップと、
前記悪意のある行為を阻止しながら、前記グラフィカルユーザインターフェース環境と前記ユーザインターフェース要素に関連したアプリケーションとを前記コンピューティングデバイス上で実行し続けられるようにするために、前記コンピューティングデバイスにより、前記ユーザインターフェース要素へのアクセスを阻止するステップと、を備える、方法。
【請求項２】
前記ユーザインターフェース要素と前記悪意のある行為との間の関連性を識別するステップは、前記コンピューティングデバイスにより、前記ユーザインターフェース要素の特性を持つマルウェアデータベースに問い合わせるステップを備える、請求項１に記載の方法。
【請求項３】
前記ユーザインターフェース要素と前記悪意のある行為との間の前記関連性は、前記ユーザインターフェース要素の１つ以上の特性のクラウドソーシングによるレピュテ−ションに基づいて識別される、請求項１に記載の方法。
【請求項４】
前記コンピューティングデバイスにより、前記ユーザインターフェース要素とのユーザ対話を識別するステップと、
前記コンピューティングデバイスにより、前記コンピューティングデバイス上で実行された動作を識別するステップと、
閾値を超える信頼性レベルを確立するために、前記コンピューティングデバイスによって、前記ユーザインターフェース要素との前記識別されたユーザ対話と、前記識別された前記コンピューティングデバイス上で実行された前記動作との間の時間的近似性を繰り返し特定することにより、前記ユーザインターフェースと前記コンピューティングデバイス上で実行された前記動作とを関連付けするステップと、
前記コンピューティングデバイスによって、マルウェアデータベースに前記ユーザインターフェース要素の特性と、前記コンピューティングデバイス上で実行された前記関連する動作の特性とを挿入するステップと、をさらに備える、請求項１に記載の方法。
【請求項５】
前記ユーザインターフェース要素の前記特性は、自動化識別子、プロセス識別子、空間識別子のうちの少なくとも１つである、請求項４に記載の方法。
【請求項６】
前記プロセス識別子は、画像ファイルサイズ、実行可能ファイル名称、メモリフットプリント、コンピュータ資源消費フィンガプリントのうちの少なくとも１つである、請求項５に記載の方法。
【請求項７】
前記コンピューティングデバイスにより、前記ユーザインターフェース要素がホワイトリストに登録されているかもしくは署名されているかを特定するステップと、
前記コンピューティングデバイスにより、前記ユーザインターフェース要素へのアクセスを可能にするステップと、をさらに備える、請求項１に記載の方法。
【請求項８】
前記ユーザインターフェース要素へのアクセスを阻止するステップは、フックを挿入するステップ、ポップアップメッセージを生成するステップ、ヒューマンコンピュータインターフェースの使用を不能にするステップ、ウインドウをオーバーレイ表示するステップのうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項９】
前記監視するステップ、前記識別するステップ、前記阻止するステップは、ＭｉｃｒｏｓｏｆｔＷｉｎｄｏｗｓオペレーティングシステムにおけるＷｉｎｄｏｗｓアプリケーションプログラミングインターフェースを使用して実行される、請求項１に記載の方法。
【請求項１０】
グラフィカルユーザインターフェース要素に関連した悪意のある行為を軽減するコンピュータシステムであって、前記コンピュータシステムは、
システムメモリと、
前記システムメモリに常駐するユーザインターフェースモニタ構成部品であって、前記ユーザインターフェースモニタ構成部品は、前記コンピュータシステム上のグラフィカルユーザインターフェース環境においてユーザインターフェース要素を監視するようにプログラムされている、ユーザインターフェースモニタ構成部品と、
前記システムメモリ内に常駐しているマルウェア識別子構成部品であって、前記マルウェア識別子構成部品は、前記ユーザインターフェース要素と悪意のある行為との間の関連性を識別するようにプログラムされている、マルウェア識別子構成部品と、
前記システムメモリ内に常駐しているユーザインターフェースブロッカ構成部品であって、前記ユーザインターフェースブロッカ構成部品は、前記悪意のある行為を阻止しつつ、前記グラフィカルユーザインターフェース環境と、前記ユーザインターフェース要素に関連したアプリケーションとを前記コンピュータシステム上で実行し続けるために、前記ユーザインターフェース要素へのアクセスを阻止するようにプログラムされている、ユーザインターフェースブロッカ構成部品と、
前記構成部品を実行するように構成された少なくとも１つのプロセッサと、を備える、グラフィカルユーザインターフェース要素に関連した悪意のある行為を軽減するコンピュータシステム。
【請求項１１】
前記ユーザインターフェース要素と前記悪意のある行為との間の関連性を識別する前記ステップは、前記ユーザインターフェース要素の特性を持ったマルウェアデータベースに問い合わせるステップを備える、請求項１０に記載のコンピュータシステム。
【請求項１２】
前記ユーザインターフェース要素と前記悪意のある行為との間の前記関連性は、前記ユーザインターフェース要素の１つ以上の特性のクラウドソーシングのレピュテ−ションに基づいて識別される、請求項１０に記載のコンピュータシステム。
【請求項１３】
前記システムメモリ内に常駐しているフィンガプリント構成部品をさらに備え、前記フィンガプリント構成部品は、前記ユーザインターフェース要素とのユーザ対話を識別するように、前記コンピュータシステム上で実行された動作を識別するように、またさらに、前記ユーザインターフェース要素との前記識別されたユーザ対話と、前記コンピュータシステム上で実行され識別された前記動作との間の時間的近似性を繰り返し特定して、閾値を超える信頼レベルを確立することにより、前記ユーザインターフェースと前記コンピュータシステム上で実行された前記動作とを関連付けるようにプログラムされており、
前記マルウェア識別子構成部品は、マルウェアデータベース内に、前記ユーザインターフェース要素の特性と、前記コンピュータシステム上で実行された前記関連動作の特性とを挿入するようにさらにプログラムされている、請求項１０に記載のコンピュータシステム。
【請求項１４】
前記システムメモリ内に常駐する信頼性構成部分をさらに備え、前記信頼性構成部分は、前記ユーザインターフェース要素がホワイトリストに登録されているかもしくは署名されているかを特定するように、また、前記ユーザインターフェース要素へのアクセスを可能にするようにプログラムされている、請求項１０に記載のコンピュータシステム。
【請求項１５】
前記ユーザインターフェース要素は、フックを挿入するステップ、ポップアップメッセージを生成するステップ、ヒューマンコンピュータインターフェースの使用を不能にするステップ、ウインドウをオーバーレイ表示するステップのうち少なくとも１つを備える、請求項１０に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、コンピュータセキュリティに関し、具体的にはグラフィカルユーザインターフェース（ＧＵＩ）環境におけるマルウェアの軽減に関する。
【背景技術】
【０００２】
マルウェア（例えば、コンピュータウイルス、ワーム、トロイの木馬、ランサムウェア、スパイウェア、アドウェアなど）は、コンピュータシステムに著しい危害を加え、そのユーザに不便を生じさせる。コンピュータシステムおよびインターネットの増加し続ける利用に伴い、マルウェアが爆発的に激増しており、一部のコンピュータアナリストは、悪性コードおよびその他の望ましくないプログラムがリリースされる割合は正規ソフトウェアアプリケーションがリリースされる割合を超えると推測している。
【０００３】
従来のマルウェア軽減は、マルウェアを検出してインストールを阻止する、および／または、既にシステムを汚染したマルウェアを検出ならびに除去するというものである。例えば、いくつかのアンチマルウェアシステムは、既知のマルウェアの存在についてコンピュータシステムのストレージをスキャンする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
グラフィカルユーザ環境（ＧＵＩ）において、マルウェアは、ＧＵＩ要素のイベントハンドラを変更させて自己を有用なアプリケーションに付着させることができる。スパイウェアのようないくつかのマルウェアは、正規かつ有用なアプリケーションに意図的に組み込むことができる。アンチマルウェアシステムの認識される有用性は、システムが既存のアプリケーションを「破壊」するかどうかにより一部決定される。正規アプリケーションのＧＵＩに付着した、または故意に組み込まれたマルウェア脅威の通知および／または除去により、ユーザはアンチマルウェアシステムが偽陽性のフラグを付けたと考えてしまうことがある。このような偽陽性の認識により、ユーザは愚かにもアンチマルウェアシステムのいくつかまたは全ての保護機能を無視したり、中断してしまう。ユーザは、真の陽性のフラグが付いたと理解した場合でも、アプリケーションの一部を使用したいと望む場合には、アンチマルチウェアシステムに欠陥があると考えてしまいがちである。例えば、ユーザは意図的にスパイウェアが組み込まれたアプリケーションを、告知に基づく同意なく情報を開示してしまうスパイウェアのマイナス効果を被ることなく使用したいかもしれない。
【０００５】
マルウェアを軽減する信頼性の高い新たな方法がなければ、重要なコンピューティングインフラストラクチャがさらに日常的に汚染されることになり得る。これらの汚染は現実社会でのシステムダウンタイム、企業およびユーザへの不便さ、経済損失につながり、さらには人間の安全性への脅威にもなりかねない。
【０００６】
これらの問題を示唆することが望ましい。
【課題を解決するための手段】
【０００７】
グラフィカルユーザインターフェース（ＧＵＩ）要素に関連した悪意のある行為を軽減する方法をコンピューティングデバイスにより実施する。ユーザインターフェース要素は、コンピュータシステム上で実行中のグラフィカルユーザインターフェース環境において監視される。ユーザインターフェース要素と悪意のある行為との間の関連性が識別される。悪意のある行為を阻止するためにユーザインターフェース要素へのアクセスをブロックする一方で、グラフィカルユーザインターフェース環境と、ユーザインターフェース要素に関連したアプリケーションとをコンピュータシステム上で実行し続けられるように。
【０００８】
ユーザインターフェース要素へのアクセスをブロックするステップは、様々な機構によって実施できる。例えば、ユーザインターフェース要素にフックを挿入できる。ポップアップメッセージはＧＵＩ環境の関心を掴むため、ユーザインターフェース要素へのアクセスが阻止される。いくつかの実施では、ヒューマンコンピュータインターフェース（例えば、マウスポインタ）を使用不能にすることができる。別の実施例では、阻止されたユーザインターフェース要素の上にウインドウをオーバーレイ表示できる。
【０００９】
悪意のある行為は、様々な機構によって特定することができる。例えば、疑わしいプロセス挙動のフィンガプリントを取り、悪意のあるデータベース中のフィンガプリントと比較することができる。いくつかのケースでは、悪意のあるデータベースを、ユーザインターフェース要素のクラウドソースのレピュテ−ションを介して生成および維持してよい。そのため、いくつかの例では、ユーザインターフェース要素は、マルウェアデータベースに挿入するための、フィンガプリントを取られた様々な特性を有していてよい。マルウェアデータベースは、特定のマルウェアが付着しがちな１組の関連するユーザインターフェース要素を設けてよい。いくつかのケースでは、マルウェアはアプリケーションを含むことができ、この場合、作者がこのアプリケーションにマルウェアを故意に組み込んでいる。いくつかの実施では、安全なユーザインターフェース要素のホワイトリストが存在する。ユーザインターフェース要素には署名することも可能であるが、いくつかのケースでは、署名されたユーザインターフェース要素にマルウェアが付着している場合には、署名の認証が無効になってしまう。
【００１０】
ユーザインターフェース要素を識別するために用いられる特性のいくつかの例には、自動化識別子、プロセス識別子、空間的識別子などが含まれる。いくつかのケースでは、これらまたはその他の特定は、ユーザインターフェース要素を識別する、もしくはユーザインターフェース要素のフィンガプリントを取ることが可能な１つ以上のサブ特性を有してよい。例えば、プロセス識別子は画像ファイルサイズ、実行可能ファイル名称、メモリフットプリント、コンピュータ資源消費フィンガプリントなどを有してよい。
【００１１】
本技術は、ユーザインターフェース要素とのユーザ対話を識別するため、コンピュータシステム上で実行された動作を識別するため、またさらに、閾値を超える信頼性レベルを確立するべく、ユーザインターフェース要素との識別されたユーザ対話と、コンピュータシステム上で実行され識別された動作との間の時間的近似性を繰り返し特定することにより、ユーザインターフェースをコンピュータシステム上で実行された動作と関連付けるために実施できる。
【００１２】
いくつかの実施では、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステム（ＯＳ）におけるＷｉｎｄｏｗｓアプリケーションプログラミングインターフェースを使用して、本技術の各部分を実施できる。ＧＵＩ環境を持つＯＳの他の例には、とりわけｍａｃＯＳ、Ｌｉｎｕｘ（登録商標、以下同じ）、Ｃｈｒｏｍｅ  ＯＳが含まれる。他の実施では、ＧＵＩ環境はウェブブラウザを介して提供され得る。ウェブブラウザは占有ＡＰＩおよび／または標準化されたＡＰＩ（例えば、ワールドワイドウェブコンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）（Ｗ３Ｃ）等により公布された基準）を設けてよい。
【００１３】
この課題を解決するための手段と以下の詳細な説明とに記載された特徴および利点は全てを包含するものではなく、特に、図面、明細書、特許請求の範囲を斟酌することで、当業者には多くの追加的特徴おより利点が明白となる。さらに、本明細書で用いられている用語は、主に、読み易さと指導的な目的で選択されたものであり、本発明の主題を描写または制限するために選択されておらず、このような発明の主題を特定するためには特許請求の範囲に頼ることが必要である。
【図面の簡単な説明】
【００１４】
【図１】いくつかの実施形態による、ＧＵＩ環境におけるマルウェア軽減の略図である。
【００１５】
【図２】いくつかの実施形態による、ＧＵＩマルウェア軽減アプリケーションを実施するために適したコンピュータシステムのブロック図である。
【００１６】
【図３】いくつかの実施形態による、ＧＵＩマルウェア軽減アプリケーションのブロック図である。
【００１７】
【図４】いくつかの実施形態による、ＧＵＩ環境にてマルウェアを軽減する方法のフローチャートである。
【００１８】
図面は例証の目的のみで様々な実施形態を示すものである。当業者は、本明細書で例証されている構造および方法の代替実施形態は、本明細書で述べられている原理から逸脱せずに採用できることを以下の説明から容易に認識する。
【発明を実施するための形態】
【００１９】
有用に見えるアプリケーションが、イベントハンドラ内でユーザインターフェース要素への悪意のある行為をマスカレードすることがある。例えば、購買取引中のアプリケーションが、入力されたクレジットカード情報を送信するだけでなく、アプリケーションを実行しているコンピュータに記憶されているその他の情報も送信することができる。別の例として、イベントハンドラは悪意のあるファイルのダウンロードを開始できる。また別の例として、正規アプリケーションのイベントハンドラによって呼び出された悪意のあるコードにより、重要なＯＳファイルが変更されてしまうことがある。別のケースでは、システムまたはソフトウェアを更新するためのユーザインターフェース要素が、システムまたはソフトウェアに障害を生じさせたり、あるいはシステムに悪影響を及ぼすことがある。このような場合、当該技術はＵＩ要素の存在を検出して、更新を行うことが危険であるかもしれないため、さらなるパッチがリリースされるまで待つように通知する。場合によっては、ユーザはそれでもアプリケーションを使用したいが、これらの潜在的な悪意のあるユーザインターフェース要素から保護されたままでもいたい。従来のアンチマルウェアシステムは、概して処理全体をブロックする傾向にある。そのため、悪意のある行為にリンクする特定のユーザインターフェース要素にユーザがアクセスすることへの防護措置を講じながら、依然として、ユーザがユーザインターフェース要素に関連した基礎となるアプリケーションを使用することができることが望ましい。
【００２０】
図１は、ＧＵＩ環境１００におけるマルウェア軽減の略図である。とりわけ、ＧＵＩ環境１００はユーザインターフェースウインドウ１０２を含む。例えば、ユーザインターフェースウインドウ１０２はユーザアプリケーションの一部であってよい。図示の実施例では、ユーザインターフェースウインドウ１０２がユーザに、電子商取引システムを介して注文を行う一貫として情報（例えば、クレジットカード決済情報）の入力を求めている。そのため、ユーザインターフェースウインドウ１０２にはユーザインターフェース要素１０４（例えば、「提出」ボタン）が設けられている。ユーザがユーザインターフェース要素１０４と対話する場合、矢印で示すように、ユーザインターフェース要素１０４はマルウェアコード１０６を呼び出してしまう。
【００２１】
ＧＵＩ環境１００は、いくつかの利用可能なＧＵＩ環境のうちの１つであってよい。例えば、大規模なユーザベースのために、ＭｉｃｒｏｓｏｆｔのＷｉｎｄｏｗｓオペレーティングシステムはしばしばマルウェアのターゲットになる。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓは、いくつかのＧＵＩ機能を実施するために、一般的なアプリケーションプログラミングインターフェース（ＡＰＩ）を露出させる。一般的なＡＰＩは、一貫したユーザエクスペリエンスの提供を補助するが、しかし、悪意のあるコードを正規コードでマスカレードしたりこれらのコードを混合したりするためにマルウェアによって使用されることも可能である。
【００２２】
ＧＵＩ環境を備えたその他の例示的なＯＳは、とりわけｍａｃＯＳ、Ｌｉｎｕｘ、Ｃｈｒｏｍｅ  ＯＳを含む。例えば、Ｌｉｎｕｘは実行可能ないくつかの異なるＧＵＩ環境を設けている。いくつかの実施例はＧｎｏｍｅとＫＤＥを含む。さらに、Ｌｉｎｕｘにおける様々なＧＵＩ環境は、一般的なＧＵＩ環境のサブレイヤを含む。このような実施例の１つは、Ｘ  Ｗｉｎｄｏｗｓ  Ｓｙｓｔｅｍ（すなわち、Ｘ１１ウインドウイングシステム）である。最新のｍａｃＯＳの実施はＡｑｕａ  ＧＵＩ環境を使用する。別の一般的なＧＵＩ環境はウェブブラウザである。いくつかのウェブブラウザは、公布されたＷ３Ｃ、Ｅｃｍａ  Ｉｎｔｅｒｎａｔｉｏｎａｌ（例えば、ＥＣＭＡ−２６２）などのもののような、標準化されたＡＰＩの各部を実施する。加えて、いくつかのブラウザまたはブラウザ拡張は占有ＡＰＩを提供できる。厳密なＧＵＩ環境にかかわらず、ＧＵＩ環境１００は、ユーザアプリケーション間の対話を可能にするＡＰＩを設けている。
【００２３】
１つの実施例として、ユーザインターフェースウインドウ１０２はハイパーテキストマークアップ言語（ＨＴＭＬ）で生成され、ウェブブラウザウインドウにて表示される。
【００２４】
本明細書で述べる本技術は、アプリケーションのユーザインターフェースを部分的にブロックすることで、アプリケーションによって露出され得る悪意のある機能をユーザトリガしてしまうことを防止する。図示の実施例では、不愉快なユーザインターフェース要素１０４を含んだポップアップウインドウ１０８が、ユーザインターフェースウインドウ１０２の上に部分的に重なっている。いくつかの実施では、ポップアップウインドウ１０８はＧＵＩ環境の関心を掴むことができる。いくつかのケースでは、ヒューマンコンピュータインターフェース（ＨＣＩ）デバイスが使用不能になることがある（例えば、マウスポインタ１１０が使用不能になることがある）。
【００２５】
図２は、ＧＵＩマルウェア軽減アプリケーション２３０を実現するコンピュータシステム２００のブロック図である。図示のように、コンピュータシステム２００の１つの構成部分はバス２０２である。バス２０２はコンピュータシステム２００の他の構成部分どうしを通信可能に連結する。この構成部品には、少なくとも１つのプロセッサ２０４、システムメモリ２０６（例えば、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ）、入出力（Ｉ／Ｏ）制御部２０８、ネットワークインターフェース２１０などがある。
【００２６】
ネットワークインターフェース２１０は、ローカルネットワークおよび／またはインターネットを接続するための様々なプロトコルを含んでよい。バス２０２は、その他のオプションの構成部分に通信可能に連結されてもよい。これらの構成部分には、例えば、１つ以上のハードディスク２２１に通信可能に連結したストレージインターフェース２２０（または、その他のストレージ媒体形式）、ディスプレイ画面２２３のようなビデオ出力装置に通信可能に連結したディスプレイアダプタ２２２、スピーカ２２５のような音声出力装置２２３に通信可能に連結した音声出力インターフェース２２４、ヒューマンコンピュータインタラクション（ＨＣＩ）装置２２７（例えば、キーボード、マウス、センサなど）のような様々な周辺機器に通信可能に連結したユニバーサルシリアルバス（ＵＳＢ）レセプタクル２２６のような１つ以上のインターフェースがある。
【００２７】
バス２０２によりプロセッサ２０４とシステムメモリ２０６（上述したようにＲＯＭおよび／またはフラッシュメモリ、ならびにＲＡＭを含む）の間のデータ通信が可能になる。典型的に、ＲＡＭはメインメモリであり、これにはオペレーティングシステムおよびアプリケーションプログラムがロードされている。ＲＯＭおよび／またはフラッシュメモリは、他のコードの中でも、特定の基本的なハードウェアの操作を制御する基本入出力システム（ＢＩＯＳ）を含んでよい。アプリケーションプログラムはローカルコンピュータの読み出し可能媒体（例えば、ハードディスク２２１、フラッシュメモリ、ＲＯＭなど）に記憶され、システムメモリ２０６にロードされて、プロセッサ２０４により実行されることができる。アプリケーションプログラムは、例えばネットワークインターフェース２１０を介して、遠隔場所からシステムメモリ２０６にロードすることも可能である。図２では、ＧＵＩマルウェア軽減アプリケーション２３０はシステムメモリ２０６内に常駐するものとして図示されている。ＧＵＩマルウェア軽減アプリケーション２３０の働きについては、以下で図３、図４と併せて説明する。
【００２８】
オペレーティングシステム２１４は、システムメモリ２０６内に常駐するものとしても図示されている。オペレーティングシステム２１４は、コンピュータシステム２００のアプリケーションとハードウェアの間のインターフェースを提供できる。例えば、オペレーティングシステム２１４はドライバを含んでよく、このドライバは、ネットワークインターフェース２１０、ディスプレイアダプタ２２２、ＵＳＢレセプタクル２２６、ＨＣＩデバイス２２７などを制御し、そこからのデータを受信する。さらに、オペレーティングシステム２１４は、ＧＵＩマルウェア軽減アプリケーション２３０のようなアプリケーションプログラムにオペレーティングシステムサービスへのアクセスを提供するアプリケーションプログラミングインターフェース（ＡＰＩ）を含んでよい。オペレーティングシステム２１４は、アプリケーションのためのＧＵＩ環境を提供することもできる。
【００２９】
ストレージインターフェース２２０は１つ以上のハードディスク２２１（および／またはその他の標準的なストレージ媒体）に連結している。ハードディスク２２１はコンピュータシステム２００の一部であるか、または、物理的に分離していて他のインターフェースシステムを介してアクセスできるものであってよい。
【００３０】
説明を簡素化するために、残る図面については以下でまとめて説明する。図３は、ＧＵＩマルウェア軽減アプリケーション２３０のブロック図である。図４は、ＧＵＩ環境においてマルウェアを軽減する方法４００のフローチャートである。
【００３１】
上で述べたように、ＧＵＩ環境は、最新のＯＳで見られる様々な利用可能なＧＵＩ環境のうちの１つであってよい。１つの特定の例は、Ｍｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓにおけるＷｉｎ３２ＧＵＩ環境である。別の例では、ＧＵＩ環境はウェブブラウザであってよい。さらなる例では、ＧＵＩ環境はＯＳ  ＧＵＩ環境（例えばＷｉｎ３２）と、このＯＳＧＵＩ環境を実行するウェブブラウザ（例えば、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ、Ｃｈｒｏｍｅなど）であってよい。さらに、上で述べたように、ＧＵＩマルウェア軽減アプリケーション２３０はコンピュータシステム２００のメモリ２０６にロードすることができる。いくつかのケースでは、ＧＵＩマルウェア軽減アプリケーション２３０は、コンピューティングセッションの存続期間にわたってメモリ２０６内に留まる常駐モジュールであってよい。いくつかの実施形態では、ＧＵＩマルウェア軽減アプリケーション２３０は、ＯＳに直接ロードされた構成部分、および／または、ＯＳ内で実行されるブラウザにロードされた構成部分を含んでよい。
【００３２】
ユーザインターフェースモニタ構成部分３０２は、コンピュータシステム２００上で実行中のＧＵＩ環境１００におけるユーザインターフェース要素１０４を監視する４０２ためのコードを含む。一般に、ユーザインターフェースモニタ構成部分３０２は、ＧＵＩ環境内の数個のユーザインターフェース要素を監視できる。ユーザインターフェース要素を監視する上で、ユーザインターフェースモニタ構成部分３０２はユーザインターフェース要素の様々な特性を識別することができる。
【００３３】
例えば、いくつかのＧＵＩ環境において、ユーザインターフェース要素には自動化識別子が付属されていてよい。自動化識別子は、概して、スクリプト言語を用いたＧＵＩ環境との対話を自動化するために使用される。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓにおいて、Ｗｉｎｄｏｗｓ  Ｓｃｒｉｐｔｉｎｇ  Ｈｏｓｔ（ＷＳＨ）はユーザインターフェース要素に関連した一意の自動化識別子を使用できるスクリプティング環境である。そのため、これらの自動化識別子は、複数のアプリケーションＧＵＩにかけてユーザインターフェース要素を一意にプロファイリングおよび識別できる。
【００３４】
ユーザインターフェース要素は、ＧＵＩ環境で使用される様々な構成部分を包含する。これは、ボタン、リンク、チェックボックス等のようなアイテムを含む。一般に、ユーザインターフェース要素は、ユーザが対話することができるアプリケーションＧＵＩの一部である。
【００３５】
マルウェア識別子構成部分３０４は、ユーザインターフェース要素１０４と悪意のある行為１０６との間の関連性を識別する４０４ためのコードを含む。そのため、マルウェア識別子構成部分３０４は、ユーザインターフェース要素とのユーザ対話の相関関係を可能にし、また、このような動作がコンピュータシステム２００への悪意のある行為であった場合には、このような動作によるコンピュータシステム２００への影響を特定する。いくつかの実施では、ユーザインターフェース要素１０４と悪意のある行為１０６の間の関連性を識別することは、ユーザインターフェース要素１０４の特徴によりマルウェアデータベース（例えば、マルウェア定義４１０）に問い合わせを行うことを含む。
【００３６】
マルウェア識別子構成部分３０４は、マルウェア定義４１０ファイルまたはデータベースにおける関連性を調べることができる。マルウェア定義４１０は、概して、ユーザインターフェース要素を動作、レピュテ−ション、および／または信用レベルに関連付ける。さらに、マルウェア定義４１０は、ユーザインターフェース要素の様々な特徴どうしをリンクさせることにより、特定のユーザインターフェース要素がマルウェア定義４１０で参照されたユーザインターフェース要素と同一であるかどうかの特定を補助するためのユーザインターフェース要素フィンガプリントとすることができる。
【００３７】
いくつかのケースでは、マルウェア定義４１０は、ネットワーク４１２上でリンクしている複数のコンピュータを介したクラウドソーシングによるものであってよい。こうすることで、マルウェア定義４１０が、クラウドサービスに記憶され、クラウドサービスを介してマルウェア定義４１０にアクセスされ得るようになり、また、遠隔のコンピュータが新たなユーザインターフェース要素およびＧＵＩマルウェアをヒューリスティック（経験則的）に発見した際に継続的に更新できるようになる。いくつかのケースでは、遠隔ユーザはユーザインターフェース要素に悪意性が疑われる場合にこれを表示することができる。いくつかの実施では、マルウェア定義４１０へのエントリは、コンピュータセキュリティ研究者（例えば、コンピュータセキュリティ企業、非営利コンピュータ研究組織など）によって含められ得る。
【００３８】
マルウェア定義４１０の作成および維持について、以下のボックス４２０、４２２、４２４、４２６を参照しながら以下でより詳細に説明する。これに関連し、ボックス４２０、４２２、４２４、４２６はボックス４０２、４０４、４０６が実行されるのと同じコンピュータ上で実行できるが、しかし、ネットワーク４１２によって接続されている遠隔コンピュータ上でインスタンス化することも可能である点が理解されるべきである。
【００３９】
マルウェア定義４１０データベースに問い合わせし、マルウェア識別子構成部分３０４が、特定のユーザインターフェース要素が安全である、もしくは危険がないと特定した場合には、本方法４００は、ユーザインターフェースモニタ構成部分３０２により他のユーザインターフェース要素の監視４０２を継続できる。いくつかのケースでは、ユーザインターフェースモニタ構成部分３０２は、既に検索した特定のユーザインターフェース要素を監視し続けることもできる。例えば、特定のユーザインターフェース要素は、この特定のユーザインターフェース要素が安全か悪意のあるものかに関して決定的でない閾値範囲内に入る。別の実施例では、特定のユーザインターフェース要素が引き続きマルウェアで汚染されないように確認するために、ユーザインターフェースモニタ構成部分３０２は、特定のユーザインターフェース要素を定期的に監視し続けることができる。いくつかの実施では、ユーザインターフェースモニタ構成部分３０２は、ＧＵＩ環境における全てのアクティブなユーザインターフェース要素を監視し続けることができる。ブロック４０２、４０４の厳密な実施の詳細に関係なく、悪意のあるユーザインターフェース要素が検出された場合には、そのユーザインターフェース要素へのアクセスがブロックされる４０６。
【００４０】
したがって、ユーザインターフェースブロッカ構成部分３０６は、悪意のある行為１０６を阻止しつつも、グラフィカルユーザインターフェース環境１００およびユーザインターフェース要素１００に関連したアプリケーションがコンピュータシステム２００上で実行し続けられるようにするために、ユーザインターフェース要素１０４へのアクセスをブロックする４０６コードを含む。これにより、ユーザインターフェースブロッカ構成部分３０６が、ユーザインターフェース要素へのアクセスを阻止する機構を提供する。例えば、ユーザインターフェースブロッカ構成部分３０６は、ユーザインターフェース要素へのアクセスを阻止するために、とりわけ、フックを挿入する、ポップアップメッセージを生成する、ヒューマンコンピュータインターフェースの使用を不能にする、ウインドウをオーバーレイ表示することができる。
【００４１】
いくつかのケースでは、ユーザインターフェースブロッカ構成部分３０６は、ユーザに通信情報を通知する通知機構を提供することもできる。例えば、図１に示すポップアップウインドウ１０８は、ユーザインターフェース要素１０４へのアクセスがブロックされた理由をユーザに対し明確に示す。ユーザに情報を通信するその他の方式を用いることもできる。いくつかのケースでは、通知は企業環境におけるシステム管理者にも提供されてよい。例えば、識別されたＧＵＩマルウェアに関する詳細な情報を記載した電子メールを、企業内の１人以上のシステム管理者に送信できる。いくつかのケースでは、マルウェア定義がユーザインターフェース要素の悪意性とされる記述を含む場合、通知機構がその記述を通信することで、ユーザがそのユーザインターフェース要素の使用を継続するかどうかを決定することができる。
【００４２】
フィンガプリント構成部分３０８は、ユーザインターフェース要素とのユーザ対話を識別する４２０ための、および、コンピュータシステム上で実行された動作を識別する４２２ためのコードを含む。これにより、フィンガプリント構成部分３０８はユーザインターフェース対話と、これによるコンピュータシステム２００への影響とを相関させることができる。例えば、ユーザが特定のボタンを選択したことにより悪意のあるファイルがダウンロードされる場合には、そのボタンを一意に識別し、低レピュテ−ションとして分類することができる。いくつかのケースでは、ユーザインターフェース要素との対話と、コンピュータシステム２００への影響との間の相関を経時的に確立することが必要となる場合がある。これは、変化するマルウェア脅威の性質が原因で生じた新たな未確認の脅威については特に真である。いくつかの動作は他の動作よりもさらに悪意があるとみなされ、これに基づいた悪意性スコアが付けられる。例えば、ユーザデータの破壊は、ユーザの嗜好やソーシャルネットワーク情報のマイニングよりも悪意があるとみなされ得る。
【００４３】
そのため、フィンガプリント構成部品３０８は、ユーザインターフェースをコンピュータシステム上で実行された動作と関連付ける（４２４）ためのコードを含むこともできる。いくつかの実施形態において、これは、ユーザインターフェース要素との識別されたユーザ対話と、コンピュータシステム上で実行され識別された動作との間の時間的近似性を繰り返し特定することによって行え、これにより、閾値よりも高い信頼性レベルが確立される。ユーザインターフェース要素と悪意のある行為との間の相関関係が確立されると、マルウェア識別子構成部分３０４がマルウェア定義４１０にこの相関関係を挿入する（４２６）ことができる。
【００４４】
いくつかの実施において、マルウェア定義４１０への挿入は、ユーザインターフェース要素１０４の１つ以上の特性と、コンピュータシステム２００上で実行された関連動作１０６の１つ以上の特性とを含んでよい。例えば、ユーザインターフェース要素１０４は、自動化識別子、プロセス識別子、空間識別子のような一意に識別可能な特性を持っていてよい。プロセス識別子は、画像ファイルサイズ、実行可能ファイル名、メモリフットプリント、コンピュータ資源消費フィンガプリントなどのアイテムを含んでよい。そのため、マルウェア定義４１０ファイルまたはデータベースは、ＧＵＩマルウェア軽減アプリケーション２３０により使用される、既知の悪意のあるユーザインターフェース要素のリストを含んだ形で生成することが可能である。いくつかのケースでは、マルウェア定義４１０は、特定された無害のユーザインターフェース要素の定義（例えば、特性、フィンガプリントなど）を含むことができる。したがって、いくつかのケースにおいて本方法は、脅威となるユーザインターフェース要素を識別するためだけでなく、安全なユーザインターフェース要素を迅速に識別するためにも使用できる。
【００４５】
いくつかのケースでは、ＧＵＩマルウェア軽減アプリケーションは、ユーザインターフェース要素がホワイトリストに登録されているもしくは署名されていると特定するためのコードを持った信用構成部分３１０を含んでよい。ユーザインターフェース要素がホワイトリストに登録されているもしくは署名されている場合は、信頼構成部品３１０は、ユーザインターフェース要素へのアクセスを可能にするべく、ＧＵＩマルウェア軽減アプリケーション２３０の他の構成部品と通信することができる。例えば、信頼構成部品３１０は、特定のフィンガプリントを持つユーザインターフェース要素を無視するようマルウェア識別子構成部品３０４に通知できる。別の実施例では、信頼構成部品３１０は、特定の特性セットを持つユーザインターフェース要素の監視を中止するようユーザインターフェースモニタ構成部品３０２に通知できる。
【００４６】
当技術に精通した者が理解するように、本発明は、その精神と基本的特徴から逸脱することなく、その他の特定の形態にて具現化できる。同様に、部分、アプリ、構成部品、モジュール、エージェント、マネージャー、構成部品、機能、手順、動作、レイヤ、特徴、属性、方法論、データ構造、およびその他の態様の特定の名称付けおよび区分は強制ではなく、また重要でもなく、本発明もしくはその特徴を実施する各機構は異なる名称、区分、および／または形式を有してよい。前述の記載は、説明の目的から、特定の実施形態を参照して述べられている。しかし、上述した例証的な考察は、排他的でも開示された厳密な形態に限定するものでもない。上述した示唆を斟酌して、多くの修正または変更が可能である。実施形態は、関連する原理およびその実用的な使用を最良に説明するために選択および記述されており、これによって、当業者は、考えられる特定の使用に適した様々な修正を加えてまたは加えずに、様々な実施形態を最良に利用できるようになる。
【図１】
2019525314.tif 000002
【図２】
2019525314.tif 000003
【図３】
2019525314.tif 000004
【図４】
2019525314.tif 000005
【国際調査報告】
2019525314.tif 000006