JP6714112B2 - グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減 - Google Patents

グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減 Download PDF

Info

Publication number
JP6714112B2
JP6714112B2 JP2018569045A JP2018569045A JP6714112B2 JP 6714112 B2 JP6714112 B2 JP 6714112B2 JP 2018569045 A JP2018569045 A JP 2018569045A JP 2018569045 A JP2018569045 A JP 2018569045A JP 6714112 B2 JP6714112 B2 JP 6714112B2
Authority
JP
Japan
Prior art keywords
user interface
interface element
malware
identifying
computer system
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
JP2018569045A
Other languages
English (en)
Other versions
JP2019525314A (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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of JP2019525314A publication Critical patent/JP2019525314A/ja
Application granted granted Critical
Publication of JP6714112B2 publication Critical patent/JP6714112B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/031Protect user input by software means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/032Protect output to user by software means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本開示は、概して、コンピュータセキュリティに関し、具体的にはグラフィカルユーザインターフェース(GUI)環境におけるマルウェアの軽減に関する。
マルウェア(例えば、コンピュータウイルス、ワーム、トロイの木馬、ランサムウェア、スパイウェア、アドウェアなど)は、コンピュータシステムに著しい危害を加え、そのユーザに不便を生じさせる。コンピュータシステムおよびインターネットの増加し続ける利用に伴い、マルウェアが爆発的に激増しており、一部のコンピュータアナリストは、悪性コードおよびその他の望ましくないプログラムがリリースされる割合は正規ソフトウェアアプリケーションがリリースされる割合を超えると推測している。
従来のマルウェア軽減は、マルウェアを検出してインストールを阻止する、および/または、既にシステムを汚染したマルウェアを検出ならびに除去するというものである。例えば、いくつかのアンチマルウェアシステムは、既知のマルウェアの存在についてコンピュータシステムのストレージをスキャンする。
グラフィカルユーザ環境(GUI)において、マルウェアは、GUI要素のイベントハンドラを変更させて自己を有用なアプリケーションに付着させることができる。スパイウェアのようないくつかのマルウェアは、正規かつ有用なアプリケーションに意図的に組み込むことができる。アンチマルウェアシステムの認識される有用性は、システムが既存のアプリケーションを「破壊」するかどうかにより一部決定される。正規アプリケーションのGUIに付着した、または故意に組み込まれたマルウェア脅威の通知および/または除去により、ユーザはアンチマルウェアシステムが偽陽性のフラグを付けたと考えてしまうことがある。このような偽陽性の認識により、ユーザは愚かにもアンチマルウェアシステムのいくつかまたは全ての保護機能を無視したり、中断してしまう。ユーザは、真の陽性のフラグが付いたと理解した場合でも、アプリケーションの一部を使用したいと望む場合には、アンチマルチウェアシステムに欠陥があると考えてしまいがちである。例えば、ユーザは意図的にスパイウェアが組み込まれたアプリケーションを、告知に基づく同意なく情報を開示してしまうスパイウェアのマイナス効果を被ることなく使用したいかもしれない。
マルウェアを軽減する信頼性の高い新たな方法がなければ、重要なコンピューティングインフラストラクチャがさらに日常的に汚染されることになり得る。これらの汚染は現実社会でのシステムダウンタイム、企業およびユーザへの不便さ、経済損失につながり、さらには人間の安全性への脅威にもなりかねない。
これらの問題を示唆することが望ましい。
グラフィカルユーザインターフェース(GUI)要素に関連した悪意のある行為を軽減する方法をコンピューティングデバイスにより実施する。ユーザインターフェース要素は、コンピュータシステム上で実行中のグラフィカルユーザインターフェース環境において監視される。ユーザインターフェース要素と悪意のある行為との間の関連性が識別される。悪意のある行為を阻止するためにユーザインターフェース要素へのアクセスをブロックする一方で、グラフィカルユーザインターフェース環境と、ユーザインターフェース要素に関連したアプリケーションとをコンピュータシステム上で実行し続けられるように。
ユーザインターフェース要素へのアクセスをブロックするステップは、様々な機構によって実施できる。例えば、ユーザインターフェース要素にフックを挿入できる。ポップアップメッセージはGUI環境の関心を掴むため、ユーザインターフェース要素へのアクセスが阻止される。いくつかの実施では、ヒューマンコンピュータインターフェース(例えば、マウスポインタ)を使用不能にすることができる。別の実施例では、阻止されたユーザインターフェース要素の上にウインドウをオーバーレイ表示できる。
悪意のある行為は、様々な機構によって特定することができる。例えば、疑わしいプロセス挙動のフィンガプリントを取り、悪意のあるデータベース中のフィンガプリントと比較することができる。いくつかのケースでは、悪意のあるデータベースを、ユーザインターフェース要素のクラウドソースのレピュテ−ションを介して生成および維持してよい。そのため、いくつかの例では、ユーザインターフェース要素は、マルウェアデータベースに挿入するための、フィンガプリントを取られた様々な特性を有していてよい。マルウェアデータベースは、特定のマルウェアが付着しがちな1組の関連するユーザインターフェース要素を設けてよい。いくつかのケースでは、マルウェアはアプリケーションを含むことができ、この場合、作者がこのアプリケーションにマルウェアを故意に組み込んでいる。いくつかの実施では、安全なユーザインターフェース要素のホワイトリストが存在する。ユーザインターフェース要素には署名することも可能であるが、いくつかのケースでは、署名されたユーザインターフェース要素にマルウェアが付着している場合には、署名の認証が無効になってしまう。
ユーザインターフェース要素を識別するために用いられる特性のいくつかの例には、自動化識別子、プロセス識別子、空間的識別子などが含まれる。いくつかのケースでは、これらまたはその他の特定は、ユーザインターフェース要素を識別する、もしくはユーザインターフェース要素のフィンガプリントを取ることが可能な1つ以上のサブ特性を有してよい。例えば、プロセス識別子は画像ファイルサイズ、実行可能ファイル名称、メモリフットプリント、コンピュータ資源消費フィンガプリントなどを有してよい。
本技術は、ユーザインターフェース要素とのユーザ対話を識別するため、コンピュータシステム上で実行された動作を識別するため、またさらに、閾値を超える信頼性レベルを確立するべく、ユーザインターフェース要素との識別されたユーザ対話と、コンピュータシステム上で実行され識別された動作との間の時間的近似性を繰り返し特定することにより、ユーザインターフェースをコンピュータシステム上で実行された動作と関連付けるために実施できる。
いくつかの実施では、Microsoft Windowsオペレーティングシステム(OS)におけるWindowsアプリケーションプログラミングインターフェースを使用して、本技術の各部分を実施できる。GUI環境を持つOSの他の例には、とりわけmacOS、Linux(登録商標、以下同じ)、Chrome OSが含まれる。他の実施では、GUI環境はウェブブラウザを介して提供され得る。ウェブブラウザは占有APIおよび/または標準化されたAPI(例えば、ワールドワイドウェブコンソーシアム(World Wide Web Consortium)(W3C)等により公布された基準)を設けてよい。
この課題を解決するための手段と以下の詳細な説明とに記載された特徴および利点は全てを包含するものではなく、特に、図面、明細書、特許請求の範囲を斟酌することで、当業者には多くの追加的特徴おより利点が明白となる。さらに、本明細書で用いられている用語は、主に、読み易さと指導的な目的で選択されたものであり、本発明の主題を描写または制限するために選択されておらず、このような発明の主題を特定するためには特許請求の範囲に頼ることが必要である。
いくつかの実施形態による、GUI環境におけるマルウェア軽減の略図である。
いくつかの実施形態による、GUIマルウェア軽減アプリケーションを実施するために適したコンピュータシステムのブロック図である。
いくつかの実施形態による、GUIマルウェア軽減アプリケーションのブロック図である。
いくつかの実施形態による、GUI環境にてマルウェアを軽減する方法のフローチャートである。
図面は例証の目的のみで様々な実施形態を示すものである。当業者は、本明細書で例証されている構造および方法の代替実施形態は、本明細書で述べられている原理から逸脱せずに採用できることを以下の説明から容易に認識する。
有用に見えるアプリケーションが、イベントハンドラ内でユーザインターフェース要素への悪意のある行為をマスカレードすることがある。例えば、購買取引中のアプリケーションが、入力されたクレジットカード情報を送信するだけでなく、アプリケーションを実行しているコンピュータに記憶されているその他の情報も送信することができる。別の例として、イベントハンドラは悪意のあるファイルのダウンロードを開始できる。また別の例として、正規アプリケーションのイベントハンドラによって呼び出された悪意のあるコードにより、重要なOSファイルが変更されてしまうことがある。別のケースでは、システムまたはソフトウェアを更新するためのユーザインターフェース要素が、システムまたはソフトウェアに障害を生じさせたり、あるいはシステムに悪影響を及ぼすことがある。このような場合、当該技術はUI要素の存在を検出して、更新を行うことが危険であるかもしれないため、さらなるパッチがリリースされるまで待つように通知する。場合によっては、ユーザはそれでもアプリケーションを使用したいが、これらの潜在的な悪意のあるユーザインターフェース要素から保護されたままでもいたい。従来のアンチマルウェアシステムは、概して処理全体をブロックする傾向にある。そのため、悪意のある行為にリンクする特定のユーザインターフェース要素にユーザがアクセスすることへの防護措置を講じながら、依然として、ユーザがユーザインターフェース要素に関連した基礎となるアプリケーションを使用することができることが望ましい。
図1は、GUI環境100におけるマルウェア軽減の略図である。とりわけ、GUI環境100はユーザインターフェースウインドウ102を含む。例えば、ユーザインターフェースウインドウ102はユーザアプリケーションの一部であってよい。図示の実施例では、ユーザインターフェースウインドウ102がユーザに、電子商取引システムを介して注文を行う一貫として情報(例えば、クレジットカード決済情報)の入力を求めている。そのため、ユーザインターフェースウインドウ102にはユーザインターフェース要素104(例えば、「提出」ボタン)が設けられている。ユーザがユーザインターフェース要素104と対話する場合、矢印で示すように、ユーザインターフェース要素104はマルウェアコード106を呼び出してしまう。
GUI環境100は、いくつかの利用可能なGUI環境のうちの1つであってよい。例えば、大規模なユーザベースのために、MicrosoftのWindowsオペレーティングシステムはしばしばマルウェアのターゲットになる。Microsoft Windowsは、いくつかのGUI機能を実施するために、一般的なアプリケーションプログラミングインターフェース(API)を露出させる。一般的なAPIは、一貫したユーザエクスペリエンスの提供を補助するが、しかし、悪意のあるコードを正規コードでマスカレードしたりこれらのコードを混合したりするためにマルウェアによって使用されることも可能である。
GUI環境を備えたその他の例示的なOSは、とりわけmacOS、Linux、Chrome OSを含む。例えば、Linuxは実行可能ないくつかの異なるGUI環境を設けている。いくつかの実施例はGnomeとKDEを含む。さらに、Linuxにおける様々なGUI環境は、一般的なGUI環境のサブレイヤを含む。このような実施例の1つは、X Windows System(すなわち、X11ウインドウイングシステム)である。最新のmacOSの実施はAqua GUI環境を使用する。別の一般的なGUI環境はウェブブラウザである。いくつかのウェブブラウザは、公布されたW3C、Ecma International(例えば、ECMA−262)などのもののような、標準化されたAPIの各部を実施する。加えて、いくつかのブラウザまたはブラウザ拡張は占有APIを提供できる。厳密なGUI環境にかかわらず、GUI環境100は、ユーザアプリケーション間の対話を可能にするAPIを設けている。
1つの実施例として、ユーザインターフェースウインドウ102はハイパーテキストマークアップ言語(HTML)で生成され、ウェブブラウザウインドウにて表示される。
本明細書で述べる本技術は、アプリケーションのユーザインターフェースを部分的にブロックすることで、アプリケーションによって露出され得る悪意のある機能をユーザトリガしてしまうことを防止する。図示の実施例では、不愉快なユーザインターフェース要素104を含んだポップアップウインドウ108が、ユーザインターフェースウインドウ102の上に部分的に重なっている。いくつかの実施では、ポップアップウインドウ108はGUI環境の関心を掴むことができる。いくつかのケースでは、ヒューマンコンピュータインターフェース(HCI)デバイスが使用不能になることがある(例えば、マウスポインタ110が使用不能になることがある)。
図2は、GUIマルウェア軽減アプリケーション230を実現するコンピュータシステム200のブロック図である。図示のように、コンピュータシステム200の1つの構成部分はバス202である。バス202はコンピュータシステム200の他の構成部分どうしを通信可能に連結する。この構成部品には、少なくとも1つのプロセッサ204、システムメモリ206(例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ)、入出力(I/O)制御部208、ネットワークインターフェース210などがある。
ネットワークインターフェース210は、ローカルネットワークおよび/またはインターネットを接続するための様々なプロトコルを含んでよい。バス202は、その他のオプションの構成部分に通信可能に連結されてもよい。これらの構成部分には、例えば、1つ以上のハードディスク221に通信可能に連結したストレージインターフェース220(または、その他のストレージ媒体形式)、ディスプレイ画面223のようなビデオ出力装置に通信可能に連結したディスプレイアダプタ222、スピーカ225のような音声出力装置223に通信可能に連結した音声出力インターフェース224、ヒューマンコンピュータインタラクション(HCI)装置227(例えば、キーボード、マウス、センサなど)のような様々な周辺機器に通信可能に連結したユニバーサルシリアルバス(USB)レセプタクル226のような1つ以上のインターフェースがある。
バス202によりプロセッサ204とシステムメモリ206(上述したようにROMおよび/またはフラッシュメモリ、ならびにRAMを含む)の間のデータ通信が可能になる。典型的に、RAMはメインメモリであり、これにはオペレーティングシステムおよびアプリケーションプログラムがロードされている。ROMおよび/またはフラッシュメモリは、他のコードの中でも、特定の基本的なハードウェアの操作を制御する基本入出力システム(BIOS)を含んでよい。アプリケーションプログラムはローカルコンピュータの読み出し可能媒体(例えば、ハードディスク221、フラッシュメモリ、ROMなど)に記憶され、システムメモリ206にロードされて、プロセッサ204により実行されることができる。アプリケーションプログラムは、例えばネットワークインターフェース210を介して、遠隔場所からシステムメモリ206にロードすることも可能である。図2では、GUIマルウェア軽減アプリケーション230はシステムメモリ206内に常駐するものとして図示されている。GUIマルウェア軽減アプリケーション230の働きについては、以下で図3、図4と併せて説明する。
オペレーティングシステム214は、システムメモリ206内に常駐するものとしても図示されている。オペレーティングシステム214は、コンピュータシステム200のアプリケーションとハードウェアの間のインターフェースを提供できる。例えば、オペレーティングシステム214はドライバを含んでよく、このドライバは、ネットワークインターフェース210、ディスプレイアダプタ222、USBレセプタクル226、HCIデバイス227などを制御し、そこからのデータを受信する。さらに、オペレーティングシステム214は、GUIマルウェア軽減アプリケーション230のようなアプリケーションプログラムにオペレーティングシステムサービスへのアクセスを提供するアプリケーションプログラミングインターフェース(API)を含んでよい。オペレーティングシステム214は、アプリケーションのためのGUI環境を提供することもできる。
ストレージインターフェース220は1つ以上のハードディスク221(および/またはその他の標準的なストレージ媒体)に連結している。ハードディスク221はコンピュータシステム200の一部であるか、または、物理的に分離していて他のインターフェースシステムを介してアクセスできるものであってよい。
説明を簡素化するために、残る図面については以下でまとめて説明する。図3は、GUIマルウェア軽減アプリケーション230のブロック図である。図4は、GUI環境においてマルウェアを軽減する方法400のフローチャートである。
上で述べたように、GUI環境は、最新のOSで見られる様々な利用可能なGUI環境のうちの1つであってよい。1つの特定の例は、Microsoft WindowsにおけるWin32GUI環境である。別の例では、GUI環境はウェブブラウザであってよい。さらなる例では、GUI環境はOS GUI環境(例えばWin32)と、このOSGUI環境を実行するウェブブラウザ(例えば、Mozilla Firefox、Chromeなど)であってよい。さらに、上で述べたように、GUIマルウェア軽減アプリケーション230はコンピュータシステム200のメモリ206にロードすることができる。いくつかのケースでは、GUIマルウェア軽減アプリケーション230は、コンピューティングセッションの存続期間にわたってメモリ206内に留まる常駐モジュールであってよい。いくつかの実施形態では、GUIマルウェア軽減アプリケーション230は、OSに直接ロードされた構成部分、および/または、OS内で実行されるブラウザにロードされた構成部分を含んでよい。
ユーザインターフェースモニタ構成部分302は、コンピュータシステム200上で実行中のGUI環境100におけるユーザインターフェース要素104を監視する402ためのコードを含む。一般に、ユーザインターフェースモニタ構成部分302は、GUI環境内の数個のユーザインターフェース要素を監視できる。ユーザインターフェース要素を監視する上で、ユーザインターフェースモニタ構成部分302はユーザインターフェース要素の様々な特性を識別することができる。
例えば、いくつかのGUI環境において、ユーザインターフェース要素には自動化識別子が付属されていてよい。自動化識別子は、概して、スクリプト言語を用いたGUI環境との対話を自動化するために使用される。例えば、Microsoft Windowsにおいて、Windows Scripting Host(WSH)はユーザインターフェース要素に関連した一意の自動化識別子を使用できるスクリプティング環境である。そのため、これらの自動化識別子は、複数のアプリケーションGUIにかけてユーザインターフェース要素を一意にプロファイリングおよび識別できる。
ユーザインターフェース要素は、GUI環境で使用される様々な構成部分を包含する。これは、ボタン、リンク、チェックボックス等のようなアイテムを含む。一般に、ユーザインターフェース要素は、ユーザが対話することができるアプリケーションGUIの一部である。
マルウェア識別子構成部分304は、ユーザインターフェース要素104と悪意のある行為106との間の関連性を識別する404ためのコードを含む。そのため、マルウェア識別子構成部分304は、ユーザインターフェース要素とのユーザ対話の相関関係を可能にし、また、このような動作がコンピュータシステム200への悪意のある行為であった場合には、このような動作によるコンピュータシステム200への影響を特定する。いくつかの実施では、ユーザインターフェース要素104と悪意のある行為106の間の関連性を識別することは、ユーザインターフェース要素104の特徴によりマルウェアデータベース(例えば、マルウェア定義410)に問い合わせを行うことを含む。
マルウェア識別子構成部分304は、マルウェア定義410ファイルまたはデータベースにおける関連性を調べることができる。マルウェア定義410は、概して、ユーザインターフェース要素を動作、レピュテ−ション、および/または信用レベルに関連付ける。さらに、マルウェア定義410は、ユーザインターフェース要素の様々な特徴どうしをリンクさせることにより、特定のユーザインターフェース要素がマルウェア定義410で参照されたユーザインターフェース要素と同一であるかどうかの特定を補助するためのユーザインターフェース要素フィンガプリントとすることができる。
いくつかのケースでは、マルウェア定義410は、ネットワーク412上でリンクしている複数のコンピュータを介したクラウドソーシングによるものであってよい。こうすることで、マルウェア定義410が、クラウドサービスに記憶され、クラウドサービスを介してマルウェア定義410にアクセスされ得るようになり、また、遠隔のコンピュータが新たなユーザインターフェース要素およびGUIマルウェアをヒューリスティック(経験則的)に発見した際に継続的に更新できるようになる。いくつかのケースでは、遠隔ユーザはユーザインターフェース要素に悪意性が疑われる場合にこれを表示することができる。いくつかの実施では、マルウェア定義410へのエントリは、コンピュータセキュリティ研究者(例えば、コンピュータセキュリティ企業、非営利コンピュータ研究組織など)によって含められ得る。
マルウェア定義410の作成および維持について、以下のボックス420、422、424、426を参照しながら以下でより詳細に説明する。これに関連し、ボックス420、422、424、426はボックス402、404、406が実行されるのと同じコンピュータ上で実行できるが、しかし、ネットワーク412によって接続されている遠隔コンピュータ上でインスタンス化することも可能である点が理解されるべきである。
マルウェア定義410データベースに問い合わせし、マルウェア識別子構成部分304が、特定のユーザインターフェース要素が安全である、もしくは危険がないと特定した場合には、本方法400は、ユーザインターフェースモニタ構成部分302により他のユーザインターフェース要素の監視402を継続できる。いくつかのケースでは、ユーザインターフェースモニタ構成部分302は、既に検索した特定のユーザインターフェース要素を監視し続けることもできる。例えば、特定のユーザインターフェース要素は、この特定のユーザインターフェース要素が安全か悪意のあるものかに関して決定的でない閾値範囲内に入る。別の実施例では、特定のユーザインターフェース要素が引き続きマルウェアで汚染されないように確認するために、ユーザインターフェースモニタ構成部分302は、特定のユーザインターフェース要素を定期的に監視し続けることができる。いくつかの実施では、ユーザインターフェースモニタ構成部分302は、GUI環境における全てのアクティブなユーザインターフェース要素を監視し続けることができる。ブロック402、404の厳密な実施の詳細に関係なく、悪意のあるユーザインターフェース要素が検出された場合には、そのユーザインターフェース要素へのアクセスがブロックされる406。
したがって、ユーザインターフェースブロッカ構成部分306は、悪意のある行為106を阻止しつつも、グラフィカルユーザインターフェース環境100およびユーザインターフェース要素100に関連したアプリケーションがコンピュータシステム200上で実行し続けられるようにするために、ユーザインターフェース要素104へのアクセスをブロックする406コードを含む。これにより、ユーザインターフェースブロッカ構成部分306が、ユーザインターフェース要素へのアクセスを阻止する機構を提供する。例えば、ユーザインターフェースブロッカ構成部分306は、ユーザインターフェース要素へのアクセスを阻止するために、とりわけ、フックを挿入する、ポップアップメッセージを生成する、ヒューマンコンピュータインターフェースの使用を不能にする、ウインドウをオーバーレイ表示することができる。
いくつかのケースでは、ユーザインターフェースブロッカ構成部分306は、ユーザに通信情報を通知する通知機構を提供することもできる。例えば、図1に示すポップアップウインドウ108は、ユーザインターフェース要素104へのアクセスがブロックされた理由をユーザに対し明確に示す。ユーザに情報を通信するその他の方式を用いることもできる。いくつかのケースでは、通知は企業環境におけるシステム管理者にも提供されてよい。例えば、識別されたGUIマルウェアに関する詳細な情報を記載した電子メールを、企業内の1人以上のシステム管理者に送信できる。いくつかのケースでは、マルウェア定義がユーザインターフェース要素の悪意性とされる記述を含む場合、通知機構がその記述を通信することで、ユーザがそのユーザインターフェース要素の使用を継続するかどうかを決定することができる。
フィンガプリント構成部分308は、ユーザインターフェース要素とのユーザ対話を識別する420ための、および、コンピュータシステム上で実行された動作を識別する422ためのコードを含む。これにより、フィンガプリント構成部分308はユーザインターフェース対話と、これによるコンピュータシステム200への影響とを相関させることができる。例えば、ユーザが特定のボタンを選択したことにより悪意のあるファイルがダウンロードされる場合には、そのボタンを一意に識別し、低レピュテ−ションとして分類することができる。いくつかのケースでは、ユーザインターフェース要素との対話と、コンピュータシステム200への影響との間の相関を経時的に確立することが必要となる場合がある。これは、変化するマルウェア脅威の性質が原因で生じた新たな未確認の脅威については特に真である。いくつかの動作は他の動作よりもさらに悪意があるとみなされ、これに基づいた悪意性スコアが付けられる。例えば、ユーザデータの破壊は、ユーザの嗜好やソーシャルネットワーク情報のマイニングよりも悪意があるとみなされ得る。
そのため、フィンガプリント構成部品308は、ユーザインターフェースをコンピュータシステム上で実行された動作と関連付ける(424)ためのコードを含むこともできる。いくつかの実施形態において、これは、ユーザインターフェース要素との識別されたユーザ対話と、コンピュータシステム上で実行され識別された動作との間の時間的近似性を繰り返し特定することによって行え、これにより、閾値よりも高い信頼性レベルが確立される。ユーザインターフェース要素と悪意のある行為との間の相関関係が確立されると、マルウェア識別子構成部分304がマルウェア定義410にこの相関関係を挿入する(426)ことができる。
いくつかの実施において、マルウェア定義410への挿入は、ユーザインターフェース要素104の1つ以上の特性と、コンピュータシステム200上で実行された関連動作106の1つ以上の特性とを含んでよい。例えば、ユーザインターフェース要素104は、自動化識別子、プロセス識別子、空間識別子のような一意に識別可能な特性を持っていてよい。プロセス識別子は、画像ファイルサイズ、実行可能ファイル名、メモリフットプリント、コンピュータ資源消費フィンガプリントなどのアイテムを含んでよい。そのため、マルウェア定義410ファイルまたはデータベースは、GUIマルウェア軽減アプリケーション230により使用される、既知の悪意のあるユーザインターフェース要素のリストを含んだ形で生成することが可能である。いくつかのケースでは、マルウェア定義410は、特定された無害のユーザインターフェース要素の定義(例えば、特性、フィンガプリントなど)を含むことができる。したがって、いくつかのケースにおいて本方法は、脅威となるユーザインターフェース要素を識別するためだけでなく、安全なユーザインターフェース要素を迅速に識別するためにも使用できる。
いくつかのケースでは、GUIマルウェア軽減アプリケーションは、ユーザインターフェース要素がホワイトリストに登録されているもしくは署名されていると特定するためのコードを持った信用構成部分310を含んでよい。ユーザインターフェース要素がホワイトリストに登録されているもしくは署名されている場合は、信頼構成部品310は、ユーザインターフェース要素へのアクセスを可能にするべく、GUIマルウェア軽減アプリケーション230の他の構成部品と通信することができる。例えば、信頼構成部品310は、特定のフィンガプリントを持つユーザインターフェース要素を無視するようマルウェア識別子構成部品304に通知できる。別の実施例では、信頼構成部品310は、特定の特性セットを持つユーザインターフェース要素の監視を中止するようユーザインターフェースモニタ構成部品302に通知できる。
当技術に精通した者が理解するように、本発明は、その精神と基本的特徴から逸脱することなく、その他の特定の形態にて具現化できる。同様に、部分、アプリ、構成部品、モジュール、エージェント、マネージャー、構成部品、機能、手順、動作、レイヤ、特徴、属性、方法論、データ構造、およびその他の態様の特定の名称付けおよび区分は強制ではなく、また重要でもなく、本発明もしくはその特徴を実施する各機構は異なる名称、区分、および/または形式を有してよい。前述の記載は、説明の目的から、特定の実施形態を参照して述べられている。しかし、上述した例証的な考察は、排他的でも開示された厳密な形態に限定するものでもない。上述した示唆を斟酌して、多くの修正または変更が可能である。実施形態は、関連する原理およびその実用的な使用を最良に説明するために選択および記述されており、これによって、当業者は、考えられる特定の使用に適した様々な修正を加えてまたは加えずに、様々な実施形態を最良に利用できるようになる。

Claims (15)

  1. グラフィカルユーザインターフェース要素に関連した悪意のある行為を軽減するためにコンピュータによって実施される方法であり、前記方法の少なくとも一部は、少なくとも1つのプロセッサを備えたコンピューティングデバイスによって実行され、前記方法は、
    前記コンピューティングデバイスにより、前記コンピューティングデバイス上で実行されるグラフィカルユーザインターフェース環境内でユーザインターフェース要素を監視するステップと、
    前記コンピューティングデバイスにより、前記ユーザインターフェース要素とのユーザ対話と前記悪意のある行為の発生との間の時間的近似性を特定することに基づいて前記ユーザインターフェース要素と悪意のある行為との関連性を識別するステップであって、前記ユーザインターフェース要素との前記ユーザ対話と前記悪意のある行為の前記発生との間の前記時間的近似性を特定することは、前記ユーザインターフェース要素との前記ユーザ対話と前記悪意のある行為の前記発生との間の前記時間的近似性を繰り返し特定して、閾値を超える信頼性レベルを確立することを含む、ステップと、
    前記悪意のある行為を阻止しながら、前記グラフィカルユーザインターフェース環境と前記ユーザインターフェース要素に関連したアプリケーションとを前記コンピューティングデバイス上で実行し続けられるようにするために、前記コンピューティングデバイスにより、前記ユーザインターフェース要素へのアクセスを阻止するステップと、を備える、方法。
  2. 前記ユーザインターフェース要素と前記悪意のある行為との間の関連性を識別するステップは、前記コンピューティングデバイスにより、前記ユーザインターフェース要素の特性を持つマルウェアデータベースに問い合わせるステップを備える、請求項1に記載の方法。
  3. 前記ユーザインターフェース要素と前記悪意のある行為との間の前記関連性は、前記ユーザインターフェース要素の1つ以上の特性のクラウドソーシングによるレピュテ−ションに基づいて識別される、請求項1に記載の方法。
  4. 前記コンピューティングデバイスにより、前記ユーザインターフェース要素との前記ユーザ対話を識別するステップと、
    前記コンピューティングデバイスにより、前記コンピューティングデバイス上で実行された前記悪意のある行為を識別するステップと、
    前記ユーザインターフェース要素と前記悪意のある行為との間の関連性を識別することに応答して、前記コンピューティングデバイスによって、マルウェアデータベースに前記ユーザインターフェース要素の特性と、前記コンピューティングデバイス上で実行された関連する前記行為の特性とを挿入するステップと、をさらに備える、請求項1に記載の方法。
  5. 前記ユーザインターフェース要素の前記特性は、自動化識別子、プロセス識別子、空間識別子のうちの少なくとも1つである、請求項4に記載の方法。
  6. 前記プロセス識別子は、画像ファイルサイズ、実行可能ファイル名称、メモリフットプリント、及びコンピュータ資源消費フィンガプリントのうちの少なくとも1つである、請求項5に記載の方法。
  7. 前記コンピューティングデバイスにより、前記ユーザインターフェース要素がホワイトリストに登録されているかもしくは署名されているかを特定するステップと、
    前記コンピューティングデバイスにより、前記ユーザインターフェース要素へのアクセスを可能にするステップと、をさらに備える、請求項1に記載の方法。
  8. 前記ユーザインターフェース要素へのアクセスを阻止するステップは、フックを挿入するステップ、ポップアップメッセージを生成するステップ、ヒューマンコンピュータインターフェースの使用を不能にするステップ、ウインドウをオーバーレイ表示するステップのうちの少なくとも1つを備える、請求項1に記載の方法。
  9. 前記監視するステップ、前記識別するステップ、前記阻止するステップは、MicrosoftWindowsオペレーティングシステムにおけるWindowsアプリケーションプログラミングインターフェースを使用して実行される、請求項1に記載の方法。
  10. グラフィカルユーザインターフェース要素に関連した悪意のある行為を軽減するコンピュータシステムであって、前記コンピュータシステムは、
    システムメモリと、
    前記システムメモリに常駐するユーザインターフェースモニタ構成部品であって、前記ユーザインターフェースモニタ構成部品は、前記コンピュータシステム上のグラフィカルユーザインターフェース環境においてユーザインターフェース要素を監視するようにプログラムされている、ユーザインターフェースモニタ構成部品と、
    前記システムメモリ内に常駐しているマルウェア識別子構成部品であって、前記マルウェア識別子構成部品は、前記ユーザインターフェース要素とのユーザ対話と前記悪意のある行為の発生との間の時間的近似性を特定することに基づいて前記ユーザインターフェース要素と悪意のある行為との関連性を識別するようプログラムされ、前記ユーザインターフェース要素との前記ユーザ対話と前記悪意のある行為の前記発生との間の前記時間的近似性を特定することは、前記ユーザインターフェース要素との前記ユーザ対話と前記悪意のある行為の前記発生との間の前記時間的近似性を繰り返し特定して、閾値を超える信頼性レベルを確立することを含む、マルウェア識別子構成部品と、
    前記システムメモリ内に常駐しているユーザインターフェースブロッカ構成部品であって、前記ユーザインターフェースブロッカ構成部品は、前記悪意のある行為を阻止しつつ、前記グラフィカルユーザインターフェース環境と、前記ユーザインターフェース要素に関連したアプリケーションとを前記コンピュータシステム上で実行し続けるために、前記ユーザインターフェース要素へのアクセスを阻止するようにプログラムされている、ユーザインターフェースブロッカ構成部品と、
    前記構成部品を実行するように構成された少なくとも1つのプロセッサと、を備える、グラフィカルユーザインターフェース要素に関連した悪意のある行為を軽減するコンピュータシステム。
  11. 前記ユーザインターフェース要素と前記悪意のある行為との間の関連性を識別する前記ステップは、前記ユーザインターフェース要素の特性を持ったマルウェアデータベースに問い合わせるステップを備える、請求項10に記載のコンピュータシステム。
  12. 前記ユーザインターフェース要素と前記悪意のある行為との間の前記関連性は、前記ユーザインターフェース要素の1つ以上の特性のクラウドソーシングのレピュテ−ションに基づいて識別される、請求項10に記載のコンピュータシステム。
  13. 前記システムメモリ内に常駐しているフィンガプリント構成部品をさらに備え、前記フィンガプリント構成部品は、前記ユーザインターフェース要素との前記ユーザ対話を識別するように、及び、前記コンピュータシステム上で実行された前記悪意のある行為を識別するように、プログラムされており、
    前記マルウェア識別子構成部品は、前記ユーザインターフェース要素と前記悪意のある行為との間の前記関連性を識別することに応答して、マルウェアデータベース内に、前記ユーザインターフェース要素の特性と、前記コンピュータシステム上で実行された関する前記行為の特性とを挿入するようにさらにプログラムされている、請求項10に記載のコンピュータシステム。
  14. 前記システムメモリ内に常駐する信頼性構成部分をさらに備え、前記信頼性構成部分は、前記ユーザインターフェース要素がホワイトリストに登録されているかもしくは署名されているかを特定するように、また、前記ユーザインターフェース要素へのアクセスを可能にするようにプログラムされている、請求項10に記載のコンピュータシステム。
  15. 前記ユーザインターフェース要素は、フックを挿入するステップ、ポップアップメッセージを生成するステップ、ヒューマンコンピュータインターフェースの使用を不能にするステップ、ウインドウをオーバーレイ表示するステップのうち少なくとも1つを備える、請求項10に記載のコンピュータシステム。
JP2018569045A 2017-06-27 2018-05-30 グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減 Active JP6714112B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/635,047 2017-06-27
US15/635,047 US10489593B2 (en) 2017-06-27 2017-06-27 Mitigation of malicious actions associated with graphical user interface elements
PCT/US2018/035178 WO2019005395A2 (en) 2017-06-27 2018-05-30 MITIGATION OF MALICIOUS ACTIONS ASSOCIATED WITH GRAPHICAL USER INTERFACE ELEMENTS

Publications (2)

Publication Number Publication Date
JP2019525314A JP2019525314A (ja) 2019-09-05
JP6714112B2 true JP6714112B2 (ja) 2020-06-24

Family

ID=64692613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018569045A Active JP6714112B2 (ja) 2017-06-27 2018-05-30 グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減

Country Status (5)

Country Link
US (1) US10489593B2 (ja)
EP (1) EP3482335B1 (ja)
JP (1) JP6714112B2 (ja)
CN (1) CN109791588B (ja)
WO (1) WO2019005395A2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190108355A1 (en) * 2017-10-09 2019-04-11 Digital Guardian, Inc. Systems and methods for identifying potential misuse or exfiltration of data
US20220398311A1 (en) * 2021-06-11 2022-12-15 Bank Of America Corporation Network Security Using a Malware Defense Profile
US20230022279A1 (en) * 2021-07-22 2023-01-26 Vmware Inc. Automatic intrusion detection based on malicious code reuse analysis

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070072661A1 (en) * 2005-09-27 2007-03-29 Alexander Lototski Windows message protection
US8225104B1 (en) * 2005-10-06 2012-07-17 Symantec Corporation Data access security
US7945563B2 (en) * 2006-06-16 2011-05-17 Yahoo! Inc. Search early warning
US8763114B2 (en) * 2007-01-24 2014-06-24 Mcafee, Inc. Detecting image spam
JP5119059B2 (ja) * 2008-06-25 2013-01-16 株式会社Kddi研究所 情報処理装置、情報処理システム、プログラム、および記録媒体
US8312539B1 (en) 2008-07-11 2012-11-13 Symantec Corporation User-assisted security system
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US9785909B2 (en) * 2009-08-27 2017-10-10 International Business Machines Corporation Preventing propagation of malicious content in a virtual universe
US8844039B2 (en) * 2010-06-30 2014-09-23 F-Secure Corporation Malware image recognition
US9235586B2 (en) * 2010-09-13 2016-01-12 Microsoft Technology Licensing, Llc Reputation checking obtained files
CN103620613B (zh) * 2011-03-28 2018-06-12 迈克菲股份有限公司 用于基于虚拟机监视器的反恶意软件安全的系统和方法
US9152791B1 (en) * 2011-05-11 2015-10-06 Trend Micro Inc. Removal of fake anti-virus software
US20120311710A1 (en) * 2011-06-03 2012-12-06 Voodoosoft Holdings, Llc Computer program, method, and system for preventing execution of viruses and malware
US8904538B1 (en) * 2012-03-13 2014-12-02 Symantec Corporation Systems and methods for user-directed malware remediation
US20130254880A1 (en) * 2012-03-21 2013-09-26 Mcafee, Inc. System and method for crowdsourcing of mobile application reputations
US8413236B1 (en) * 2012-06-04 2013-04-02 Robert Hansen Clickjacking protection
CN103530221B (zh) * 2012-07-02 2016-11-09 北京大学 一种Android系统中程序行为与界面操作映射方法
GB2507574B (en) * 2012-11-06 2015-05-27 F Secure Corp Malicious object detection
CN104598287B (zh) * 2013-10-30 2019-02-12 北京猎豹移动科技有限公司 恶意程序的检测方法、装置和客户端
RU2645265C2 (ru) * 2013-12-05 2018-02-19 Закрытое акционерное общество "Лаборатория Касперского" Система и способ блокировки элементов интерфейса приложения
US9679134B1 (en) 2014-03-20 2017-06-13 Symantec Corporation Systems and methods for detecting display-controlling malware
RU2580032C2 (ru) * 2014-08-01 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ определения категории доверенности приложения
JP2016181208A (ja) * 2015-03-25 2016-10-13 三菱電機株式会社 不正監視装置および不正監視プログラム
CN104992117B (zh) * 2015-06-16 2018-04-13 北京航空航天大学 Html5移动应用程序的异常行为检测方法和行为模型建立方法
RU2618947C2 (ru) 2015-06-30 2017-05-11 Закрытое акционерное общество "Лаборатория Касперского" Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал
CN105653946A (zh) * 2016-03-09 2016-06-08 哈尔滨工程大学 基于组合事件行为触发的Android恶意行为检测系统及其检测方法
CN105893848A (zh) * 2016-04-27 2016-08-24 南京邮电大学 一种基于代码行为相似度匹配的Android恶意应用程序防范方法

Also Published As

Publication number Publication date
US10489593B2 (en) 2019-11-26
JP2019525314A (ja) 2019-09-05
US20180373872A1 (en) 2018-12-27
EP3482335A2 (en) 2019-05-15
CN109791588B (zh) 2023-10-13
EP3482335A4 (en) 2020-05-27
EP3482335B1 (en) 2021-11-24
CN109791588A (zh) 2019-05-21
WO2019005395A3 (en) 2019-06-13
WO2019005395A2 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
US10984097B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
US8646080B2 (en) Method and apparatus for removing harmful software
KR101265173B1 (ko) 비실행 파일 검사 장치 및 방법
TWI559166B (zh) 應用程式的威脅程度評估
EP2701092A1 (en) Method for identifying malicious executables
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
JP6176622B2 (ja) マルウェアの検出方法
US8984629B2 (en) Apparatus and method for preemptively protecting against malicious code by selective virtualization
US20140331323A1 (en) Detection of rogue software applications
KR101086203B1 (ko) 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법
JP6714112B2 (ja) グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減
JP2013239149A (ja) 悪意のあるファイル検査装置及び方法
CN106326731A (zh) 防止不良程序的安装和执行的系统和方法
JP5326063B1 (ja) デバッグイベントを用いた悪意のあるシェルコードの検知装置及び方法
KR101311367B1 (ko) 메모리 보호기능 우회 공격 진단 장치 및 방법
US10880316B2 (en) Method and system for determining initial execution of an attack
KR100666562B1 (ko) 커널 드라이버 및 프로세스 보호 방법
KR20090080220A (ko) 유해 프로세스 검출/차단 재발방지 방법
RU2634176C1 (ru) Система и способ обнаружения вредоносного приложения путем перехвата доступа к отображаемой пользователю информации
San et al. Proposed ApplicableFramework for Extracting Rootkits Features and Clustering through Dynamic Analysis for Incident Handling Systems
CN117454368A (zh) 恶意软件检测方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190114

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200311

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: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200604

R150 Certificate of patent or registration of utility model

Ref document number: 6714112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250