JP2015530673A - アプリケーションが悪意のあるものであるかどうかを識別するための方法、処理システム、およびコンピュータ・プログラム - Google Patents

アプリケーションが悪意のあるものであるかどうかを識別するための方法、処理システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2015530673A
JP2015530673A JP2015533734A JP2015533734A JP2015530673A JP 2015530673 A JP2015530673 A JP 2015530673A JP 2015533734 A JP2015533734 A JP 2015533734A JP 2015533734 A JP2015533734 A JP 2015533734A JP 2015530673 A JP2015530673 A JP 2015530673A
Authority
JP
Japan
Prior art keywords
application
user interface
interface layout
processing system
similar
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.)
Granted
Application number
JP2015533734A
Other languages
English (en)
Other versions
JP6223458B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2015530673A publication Critical patent/JP2015530673A/ja
Application granted granted Critical
Publication of JP6223458B2 publication Critical patent/JP6223458B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/561Virus type analysis
    • 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/562Static detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】第1のアプリケーションが悪意のあるものであるかどうかを識別すること。【解決手段】第1のアプリケーションは、処理システム上のインストールのために提示され得る。プロセッサによって実施された静的解析を介して、第1のアプリケーションがスキャンされて、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているかどうかが判断され得る。第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであることを示すアラートが生成され得る。【選択図】図1

Description

本発明は、アプリケーションが悪意のあるものであるかどうかを識別することに関する。
フィッシング攻撃は、しばしば、悪意のある者が電子通信において信用できるエンティティになりすますことによって実施される。フィッシング攻撃を開始する典型的な方法は、ユーザの処理システム上に悪意のあるアプリケーションをインストールすることである。悪意のあるアプリケーションは、インスタント・メッセージ、eメールを介して、または、ユーザがアクセスする、悪意のある、もしくは感染したウェブサイトを介して、処理システムに通信され得る。例証として、ある通信がユーザに送信されることがあり、そのような通信は、評判のよいソーシャル・ウェブサイト、オークション・サイト、金融機関、オンライン決済プロセッサ、情報技術(IT)アドミニストレータなどからのものであると主張することができる。そのような通信は、悪意のあるユニフォーム・リソース・ロケータ(URL)へのハイパーリンクを提供することができ、そこへ通信がユーザを導き、ユーザは、そのURLが安全であると信じて選択することがある。
URLをロードするように要求されるとき、ウェブ・ブラウザは、URL訪問要求を処理するウェブ・ブラウザの外部で、悪意のあるアプリケーションがユーザの処理システム(たとえば、モバイル・デバイス)上にインストールされることを可能にし得る。ウェブ・ブラウザは、URLによって識別された暗黙的インテントをファイアリング(firing)することによって、それを行うことができる。これによって、悪意のあるアプリケーションが、ブラウザのグラフィカル・インターフェース(GUI)と本質的に同一であるGUIを使用して、URL要求に応答することが可能になる。実際のブラウザと悪意のあるアプリケーションとの間の移行はスムーズであり、したがって、無害のユーザによって見逃される可能性がある。たとえば、悪意のあるアプリケーションは、ユーザの銀行ウェブサイトである振りをすることができる。ユーザは、次いで、悪意のあるアプリケーションに、ユーザ名およびパスワードなど、アカウントの詳細を入力することがあり、悪意のあるアプリケーションは、その詳細を保持することができる。悪意のあるユーザは、次いで、そのような詳細を使用して、そのユーザのアカウントへのアクセスを得ることができる。
したがって、当技術分野において、前述の問題に対処する必要がある。
本明細書内で開示する1つまたは複数の実施形態は、アプリケーションが悪意のあるものであるかどうかを識別することに関する。
第1の態様から見ると、本発明は、第1のアプリケーションが悪意のあるものであるかどうかを識別するための方法を提供し、この方法は、第1のアプリケーションが処理システム上のインストールのために提示されることを、検出すること、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているかどうかを判断すること、および、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであることを示すアラートを生成することを含む。
さらなる態様から見ると、本発明は、第1のアプリケーションが悪意のあるものであるかどうかを識別するためのシステムを提供し、このシステムは、実行可能な動作を開始するように構成されたプロセッサを備え、実行可能な動作が、第1のアプリケーションが処理システム上のインストールのために提示されることを、検出すること、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているかどうかを判断すること、および、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであることを示すアラートを生成することを含む。
さらなる態様から見ると、本発明は、第1のアプリケーションが悪意のあるものであるかどうかを識別するためのコンピュータ・プログラム製品を提供し、コンピュータ・プログラム製品は、処理回路によって可読であり、本発明のステップを行うための方法を行うための、処理回路による実行のための命令を記憶する、コンピュータ可読記憶媒体を備える。
さらなる態様から見ると、本発明は、コンピュータ可読媒体上に記憶され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムを提供し、コンピュータ・プログラムは、前記プログラムがコンピュータ上で実行されるとき、本発明のステップを行うための、ソフトウェア・コード部分を備える。
一実施形態は、第1のアプリケーションが悪意のあるものであるかどうかを識別する方法を含み得る。この方法は、第1のアプリケーションが処理システム上のインストールのために提示されることを、検出することを含み得る。この方法はまた、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているかどうかを判断することを含み得る。この方法は、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであることを示すアラートを生成することをさらに含み得る。
別の実施形態は、第1のアプリケーションが悪意のあるものであるかどうかを識別する方法を含み得る。この方法は、第1のアプリケーションが処理システム上のインストールのために提示されることを、検出することを含み得る。この方法はまた、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションが悪意のあるものであるかどうかを判断することを含み得る。この方法は、第1のアプリケーションが悪意のあるものであるかどうかについて、静的解析が不確定であることに応答して、処理システムによる第1のアプリケーションの実行中に、第1のアプリケーションのランタイム解析を行い、第1のアプリケーションが悪意のあるものであるかどうかを判断すること、および、第1のアプリケーションが悪意のあるものであることを、ランタイム解析が示すことに応答して、第1のアプリケーションが悪意のあるものであることを示すアラートを生成することをさらに含み得る。
別の実施形態は、実行可能な動作を開始するように構成されたプロセッサを含む、処理システムを含み得る。実行可能な動作は、第1のアプリケーションが処理システム上のインストールのために提示されることを、検出することを含み得る。実行可能な動作はまた、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているかどうかを判断することを含み得る。実行可能な動作は、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであることを示すアラートを生成することをさらに含み得る。
別の実施形態は、第1のアプリケーションが悪意のあるものであるかどうかを識別するためのコンピュータ・プログラム製品を含み得る。コンピュータ・プログラム製品は、実行されるとき、実行可能な動作を行うようにプロセッサを構成する、プログラム・コードを記憶した、コンピュータ可読記憶媒体を含む。実行可能な動作は、第1のアプリケーションが処理システム上のインストールのために提示されることを、検出することを含み得る。実行可能な動作はまた、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているかどうかを判断することを含み得る。実行可能な動作は、第1のアプリケーションのユーザ・インターフェース・レイアウトが、処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであることを示すアラートを生成することをさらに含み得る。
本発明について、単に例として、以下の図面に示すような好ましい実施形態を参照しながら、以下で説明する。
本発明の好ましい実施形態による、アプリケーションがその中にあるシステムを示すブロック図である。 本発明の好ましい実施形態による、アプリケーションの検証を行う処理システムを示すブロック図である。 本発明の好ましい実施形態による、第1のアプリケーションが悪意のあるものであるかどうかを識別する方法を示すフローチャートである。 本発明の好ましい実施形態による、第1のアプリケーションが悪意のあるものであるかどうかを識別する方法を示す別のフローチャートである。
当業者なら諒解するように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化され得る。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)、または、すべてが一般に本明細書で「回路」、「モジュール」もしくは「システム」と呼ばれることがある、ソフトウェアの態様とハードウェアの態様とを組み合わせる実施形態の形態をとり得る。さらに、本発明の態様は、コンピュータ可読プログラム・コードがそれにおいて具体化された、たとえば、記憶された、1つまたは複数のコンピュータ可読媒体において具体化された、コンピュータ・プログラム製品の形態をとり得る。
1つまたは複数のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子的、磁気的、光学的、電磁的、赤外線、または半導体の、システム、装置、またはデバイス、あるいは上記の任意の好適な組合せであってもよい。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、以下のもの、すなわち、1つまたは複数の電線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、光学記憶デバイス、磁気記憶デバイス、または上記の任意の好適な組合せを含むことになる。本文書に関して、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用するため、またはそれらに関連して使用するためのプログラムを含む、または記憶することができる、任意の有形の媒体であってもよい。
コンピュータ可読信号媒体は、伝播されたデータ信号を、その中で具体化されたコンピュータ可読プログラム・コードとともに、たとえば、ベースバンドにおいて、または搬送波の一部として含み得る。そのような伝播された信号は、限定はしないが、電磁的、光学的、またはそれらの任意の好適な組合せを含む、様々な形態のいずれかをとり得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって使用するため、またはそれらに関連して使用するためのプログラムを通信、伝播、または移送することができる、任意のコンピュータ可読媒体であってもよい。
コンピュータ可読媒体上に具体化されたプログラム・コードは、限定はしないが、無線、有線、光ファイバ、ケーブル、RFなどを含む任意の適切な媒体、または上記の任意の好適な組合せを使用して、送信され得る。本発明の態様についての動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれてもよい。プログラム・コードは、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で独立型のソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的におよびリモート・コンピュータ上で部分的に、または、リモート・コンピュータもしくはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通して、ユーザのコンピュータに接続されてもよく、または、接続は、(たとえば、インターネット・サービス・プロバイダを使用して、インターネットを通して)外部コンピュータに対して行われてもよい。Java(R)およびすべてのJava(R)に基づく商標およびロゴは、Oracleまたはその関連会社あるいはその両方の商標または登録商標である。
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら、以下で説明する。フローチャート図またはブロック図あるいはその両方の各ブロック、および、フローチャート図またはブロック図あるいはその両方におけるブロックの組合せが、コンピュータ・プログラム命令によって具体化され得ることは、理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供して、マシンを作り出し、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスのプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実施するための手段を作成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスを特定の方法で機能するように指示することができるコンピュータ可読媒体に記憶して、コンピュータ可読媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実施する命令を含む製造品を作り出すようにすることもできる。
また、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードして、一連の動作ステップを、コンピュータ、他のプログラマブル装置、または他のデバイス上で行わせて、コンピュータ実施プロセスを作り出し、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実施するためのプロセスを提供するようにすることもできる。
例示を簡単および明快にするために、図に示す要素は、必ずしも一定の縮尺で描かれているとは限らない。たとえば、要素のうちのいくつかの寸法は、明快にするために、他の要素と比較して誇張されることがある。さらに、適切であると見なされる場合、参照番号は、対応する、類似する、または同様の特徴を示すために、図面の間で繰り返される。
本明細書で説明する構成は、アプリケーションを検証して、アプリケーションが悪意のあるアプリケーションであるかどうかを判断することに関する。アプリケーションが、処理システム(たとえば、モバイル・デバイス)上にインストールされるとき、静的解析がアプリケーション上で行われて、アプリケーションが、ユーザ識別子(ID)、パスワードなどのプライベートなユーザ情報を、悪意を持ってフィッシングするように構成された、フィッシング・アプリケーションであるかどうかが判断され得る。フィッシング・アプリケーションは、機密である(たとえば、プライベートなユーザ情報を含んでいる)1つまたは複数のプロセス間通信、たとえば、ユニフォーム・リソース識別子(URI)(たとえば、ユニフォーム・リソース・ロケータ(URL))に関連するプロセス間通信へのアクセスを登録することによって、プライベートなユーザ情報をフィッシングしようと試みることがある。フィッシング・アプリケーションはまた、プライベート情報をキャプチャし、そのような情報を悪意のあるエンティティに提供するために、ウェブ・ブラウザをエミュレートしようと試みることもある。
静的解析が、アプリケーションがフィッシング・アプリケーションであると判断する場合、静的解析は、アラートを生成するか、またはアプリケーションの動作を無効にするか、あるいはその両方を行うことができる。静的解析が、アプリケーションがフィッシング・アプリケーションであるかどうかについて不確定である場合、さらなるランタイム解析が、そのようなことを判断するために提供され得る。ランタイム解析が、アプリケーションがフィッシング・アプリケーションであると判断する場合、ランタイム解析は、アラートを生成するか、またはアプリケーションの動作を無効にするか、あるいはその両方を行うことができる。
図1は、本明細書内で開示する1つの実施形態による、その中で第1のアプリケーション105が検証されるシステム100を示すブロック図である。
第1のアプリケーション105は、処理システム110上へのインストールのために、アプリケーション・ソース115から処理システム110に提示され得る。1つの構成では、アプリケーション・ソース115は、処理システム110に、たとえば、処理システム110上で実行された電子通信クライアントに与えられた、電子通信(たとえば、インスタント・メッセージまたは電子メール(eメール))であり得る。アプリケーション・ソース115は、処理システム110に、第1のアプリケーション105を与えることができる。たとえば、電子通信を開くと、電子通信は、処理システム110上の第1のアプリケーション105のインストールを開始しようと試みるか、または、処理システム110上で第1のアプリケーション105のインストールを開始することを選択するように、アプリケーション・ソース115がユーザを誘うためのコントロールを、ユーザに提示することができる。ユーザがそのコントロールを選択すると、処理システム110上で第1のアプリケーション105をインストールする試みが開始され得る。別の構成では、アプリケーション・ソース115は、たとえば、ユーザが選択するように誘われるハイパーリンクを介して、電子通信において示された悪意のある、または感染したウェブサイトであってもよく、ウェブサイトは、ユーザがウェブサイトにアクセスするか、またはウェブサイトからコンテンツをダウンロードするとき、第1のアプリケーション105のインストールを開始する。さらに、非良心的なユーザが、第1のアプリケーション105で処理システム110を感染させようと試みることができる多数の方法があり、本構成は、この点について限定されない。
第1のアプリケーション105がインストールのために処理システム110に提示されるとき、第1のアプリケーション105のインストール前、インストール中、またはインストール後のいずれかに、セキュリティ・アプリケーション120を処理システム110によって実行して、静的解析モジュール125を開始して、第1のアプリケーション105が悪意のあるものであるかどうかを判断するために、第1のアプリケーション105の静的解析を行うことができる。例証として、セキュリティ・アプリケーション120は、第1のアプリケーション105が、ルート・キットなどの悪意のあるコードを含んでいるかどうかを判断し、第1のアプリケーション105のインストールをブロックするか、ルート・キットのインストールをブロックするか、または、そのようなものが処理システム110上にすでにインストールされている場合、第1のアプリケーション105またはルート・キットあるいはその両方のインストールを削除することができる。ただし、第1のアプリケーション105は、静的解析モジュール125によって識別可能なルート・キットなどを含んでいないことがあり、それでもなお悪意のあるものであり得る。
静的解析モジュール125は、第1のアプリケーション105をスキャンして、第1のアプリケーション105がユーザ・インターフェース(UI)を含んでいるかどうかを判断することができる。そうである場合、静的解析モジュール125は、第1のアプリケーションのUIのレイアウトをスキャンして、第1のアプリケーション105が、ウェブ・ブラウザなど、処理システム上にインストールされた第2のアプリケーション130のUIレイアウトに妙に類似しているかどうかを判断することができる。例証として、静的解析モジュール125は、第1のアプリケーション105の宣言、マニフェスト・ファイル、または拡張マークアップ言語(XML)ドキュメントをスキャンして、第1のアプリケーション105のUIレイアウト構成を判断し、第2のアプリケーション130の宣言、マニフェスト・ファイル、またはXMLドキュメントをスキャンして、第2のアプリケーション130のUIレイアウト構成を判断し、そのようなスキャンの結果を比較することができる。第1のアプリケーション105のUIレイアウトが第2のアプリケーション130のUIレイアウトに妙に類似している場合、これは、第1のアプリケーション105が、プライベートなユーザ・データをフィッシングするために、第2のアプリケーション130をエミュレートしようと試みていることを示し得る。
静的解析モジュール125が、第1のアプリケーションのUIレイアウトが第2のアプリケーション130のUIレイアウトに妙に類似している(たとえば、そのようなプロパティ間に酷似点がある)と判断する場合、セキュリティ・アプリケーション120は、第1のアプリケーション105を、潜在的に安全でないとして登録することができる。さらに、セキュリティ・アプリケーション120は、第1のアプリケーション105のインストールのブロック、または、第1のアプリケーション105が悪意のあるアプリケーションである(または潜在的に安全でない)ことを示すアラートの生成、あるいはその両方を行うことができる。アラートは、たとえば、ポップアップ・メッセージもしくは吹き出しを介してユーザに提示され、または処理システム110に通信され、あるいはその両方が行われ得る。
場合によっては、静的解析モジュール125は、第1のアプリケーション105を完全に検証することが可能でないことがある。言い換えれば、静的解析は、第1のアプリケーション105のUIレイアウトが第2のアプリケーション130のUIレイアウトに妙に類似しているかどうかについて、不確定であり得る。これは、第1のアプリケーション105のUIコンポーネントのうちの一部または全部が、ランタイムにのみ利用可能なデータ値に基づいて動的に構築されるか、またはバックエンド・データ記憶装置(たとえば、データベース)に記憶されるか、あるいはその両方である場合のためであり得る。第1のアプリケーション105がインストールされるとき、そのレイアウト構成が知られていない第1のアプリケーション105のランタイムUIレイアウトがあり得る場合には、静的解析モジュール125は、追加の出力データを与えることができる。たとえば、静的解析モジュール125は、第1のアプリケーション105の可能なUIランタイム・レイアウトの数を、そのような情報が利用可能である場合、判断し、そのようなものを追加の出力データとして示すことができる。第1のアプリケーション105の追加のUIランタイム・レイアウトが潜在的にあり得るが、そのような追加のUIランタイム・レイアウトの総数が知られていない場合、追加の出力データは、そのようなものを示すことができる。
静的解析モジュール125はまた、第1のアプリケーション105のスキャンに基づいて、第1のアプリケーション105によって監視、またはサブスクライブされたプロセス間通信を識別することもできる。静的解析モジュール125は、そのようなプロセス間通信を示すさらなる出力データを与えることができる。
静的解析モジュール125によって与えられた出力データを、セキュリティ・アプリケーション120によって取り出し、機械可読記憶装置に、一時的または永続的に記憶することができる。そのような出力データは、セキュリティ・アプリケーション120のランタイム解析モジュール135、または処理システム110の他のコンポーネントにとって利用可能にされ得る。
静的解析モジュール125が、第1のアプリケーション105を完全に検証することが可能でない場合、セキュリティ・アプリケーション120は、処理システム110が第1のアプリケーション105のインストールまたは実行あるいはその両方を行うことを可能にすることができる。この点について、第1のアプリケーション105は、処理システム110上へのインストールより前、または後に、静的解析モジュール125によってスキャンされ得る。実際には、一態様では、静的解析モジュール125が、第1のアプリケーション105が悪意のあるものであると判断する場合、セキュリティ・アプリケーション120は、第1のアプリケーションが処理システム110上にインストールされることを防止することができるが、本構成は、この点について限定されない。
それにもかかわらず、セキュリティ・アプリケーション120は、第1のアプリケーション105が実行するとき、第1のアプリケーション105上でランタイム解析を行うことができる。たとえば、セキュリティ・アプリケーション120は、ランタイム解析モジュール135を開始して、実行中に、第1のアプリケーション105によって与えられたUIレイアウトが、第2のアプリケーション130のUIレイアウトに妙に類似しているかどうかを判断することができる。ランタイム解析モジュール135が、第1のアプリケーション105のユーザ・インターフェース・レイアウトが第2のアプリケーション130のユーザ・インターフェース・レイアウトに妙に類似していることを示す場合、セキュリティ・アプリケーション120は、たとえば、前に説明したように、第1のアプリケーション105が悪意のあるものであることを示すアラートを生成することができる。
さらに、静的解析モジュール125によって与えられた出力データを、ランタイム解析モジュール135によって処理して、第1のアプリケーション105が処理システム110上にインストールされ、処理システム110によって実行されるとき、第1のアプリケーション105のランタイム・スキャンを行うことができる。例証として、ランタイムに、第2のアプリケーション130と第1のアプリケーション105との間のプロセス間通信が、ランタイム解析モジュール135によって監視され得る。そのようなプロセス間通信は、静的解析モジュール125によって第1のアプリケーション105上で行われた静的解析に関する出力データに基づいて、識別され得る。
第1のアプリケーション105が、静的解析の時に静的解析モジュール125に知られていない構成を有するランタイムUIレイアウトを与え、第1のアプリケーション105が、URIを処理するために第2のアプリケーション130による勧誘に応答することを試みるか、または要求するとき、ターゲットURIを第2のアプリケーション130内にロードすることができ、そのUIレイアウト・プロパティを記録することができる。加えて、第1のアプリケーション105もまたロードすることができ、したがって、そのUIレイアウト・プロパティをスキャンすることができる。第1のアプリケーション105および第2のアプリケーション130のUIレイアウト・プロパティに基づいて、第1のアプリケーション105が悪意のあるものであるかどうかについての判断が行われ得る。例証として、第1のアプリケーション105の現在のUIレイアウトが、第2のアプリケーション130のUIレイアウトに妙に類似している(たとえば、第2のアプリケーション130の現在のUIレイアウト・プロパティと、第1のアプリケーション105のUIレイアウト・プロパティとの間に酷似点がある)場合、第1のアプリケーション105は、潜在的に安全でないとして識別され得る。したがって、第1のアプリケーション105が悪意のあるものであることを示すアラートが、セキュリティ・アプリケーション120によって生成され得る。さらに、セキュリティ・アプリケーション120は、第1のアプリケーション105が処理システム110によって受信されたユーザ入力から受信された情報を記憶または通信することを、防止することができる。ただし、第1のアプリケーション105の現在のUIレイアウトが、第2のアプリケーション130のUIレイアウトに妙に類似していない場合、処理システムは、第1のアプリケーション105の現在のUIレイアウトを、フィッシングの観点から無害であるとして登録することができるが、アプリケーションは、安全であるとして十分に認証される必要はない。
ここで、第1のアプリケーション105によってサポートされた他のUIレイアウトについての追加の情報が(利用可能である場合)、関連する。第1のアプリケーション105が、ランタイムに既知の数の可能なUIレイアウトを与える場合、ランタイムに、ランタイム解析モジュール135は、第1のアプリケーション105のアプリケーションUIレイアウトの各々をスキャンして、そのようなUIレイアウトを第2のアプリケーション130のUIレイアウトと、それらが第1のアプリケーション105によって実装される時、リアル・タイムで比較することができる。たとえば、ランタイム解析モジュール135は、第1のアプリケーション105によって与えられた現在のUIレイアウトが、第2のアプリケーション130によって与えられたUIレイアウトに妙に類似していないと判断することができる。ただし、第1のアプリケーション105は、たとえば、プロセス間通信を検出することに応答して、次のUIレイアウトを与えることがあり、そのようなプロセス間通信に応答して、ランタイム解析モジュール135は、第1のアプリケーション105の次のUIレイアウトを、第2のアプリケーション130によって与えられたUIレイアウトと比較することができる。これらのUIレイアウトが妙に類似している場合、セキュリティ・アプリケーション120は、アラートを生成することができる。
処理システムは、そのような比較が行われる時、第2のアプリケーション130のUIレイアウトと比較して、第1のアプリケーション105の異なるUIレイアウトの総数を追跡することができる。第1のアプリケーション105のUIレイアウトのいずれも、第2のアプリケーション130のUIレイアウトに妙に類似(たとえば、酷似)していない場合、スキャンされた第1のアプリケーション105のUIレイアウトの数が、第1のアプリケーション105のUIレイアウトの既知の総数に等しいとき、第1のアプリケーション105は、安全であるとして認証され得る。そうでない場合、現在のセッションは、通常再開することができるが、ウェブ・ブラウザと比較されていない第1のアプリケーション105の追加のUIレイアウトがあり得るので、第1のアプリケーション105は、一般に、安全であるとして認証されない。
さらに、静的解析モジュール125またはランタイム解析モジュール135あるいはその両方は、第1のアプリケーション105が、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するように構成されるかどうかを判断するように、構成され得る。第1のアプリケーション105が、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するように構成されるとき、セキュリティ・アプリケーション120は、第1のアプリケーション105が悪意のあるものであると判断し、対応するアラートを生成することができる。
第1のアプリケーション105のUIレイアウトを第2のアプリケーション130と比較することは、カスタム・コード/ツールの使用、または当技術分野で知られているツールの使用、あるいはその両方を含む、任意の好適な方法で行われ得る。例証として、処理システム110がAndroid(TM)オペレーティング・システムを使用する場合、Android(TM)のためのRobotiumテスト・フレームワークを使用して、第1のアプリケーション105および第2のアプリケーション130のUIレイアウト・プロパティを比較することができる。Androidは、Google Inc.の商標である。
プロセス間通信は、たとえば、Android(TM)オペレーティング・システムでは、インテント・オブジェクトを渡すことを含み得る。本明細書で使用する「インテント・オブジェクト」という用語は、行われるべき動作の抽象的記述、または、すでに起こっており、アナウンスされているイベントの記述を保持する、受動的データ構造を意味する。インテント・オブジェクトは、オペレーティング・システム環境内で実行する異なるアプリケーション間で通信する手段を提供する。一態様では、インテント・オブジェクトは、暗黙的インテント・オブジェクトであり得る。暗黙的インテント・オブジェクトは、インテント・オブジェクトに作用するべきであるターゲット・コンポーネントを指定しない、インテント・オブジェクトである。別の態様では、インテント・オブジェクトは、明示的インテント・オブジェクトであり得る。明示的インテント・オブジェクトは、インテント・オブジェクトに作用するべきであるターゲット・コンポーネントを具体的に指定する、インテント・オブジェクトである。iOS(R)オペレーティング・システムでは、プロセス間通信は、他のアプリケーションのURIプロトコルを呼び出すアプリケーションによって交換されたメッセージを含み得る。そのようなメッセージは、メッセージ・コンテンツを含み得る。iOSは、米国および他の国々において、Ciscoの商標または登録商標である。
本明細書で使用する「妙に類似している」という用語は、少なくとも2つのUIレイアウト間の厳密である類似性のレベル、または、それぞれのUIレイアウトを単に一見する以上のことがなければ、それらのUIレイアウトが異なることをユーザが認識しないような、類似性のレベルを意味する。例証として、第1のアプリケーション105のUIレイアウトが第2のアプリケーション130のUIレイアウトに妙に類似しているとき、UIレイアウトを直接比較すること、または、それらが異なるかどうかを識別するためにユーザが注目させられることがなければ、ユーザは、第2のアプリケーション130のUIレイアウトを以前に見たことがあり得るにもかかわらず、第1のアプリケーション105のUIレイアウトが第2のアプリケーション130のUIレイアウトに直接対応していないことを、認識しないことがある。言い換えれば、第1のアプリケーション105のUIレイアウトは、第2のアプリケーション130のUIレイアウトに紛らわしいほど類似していることがある。
本明細書で使用する「リアル・タイム」という用語は、ユーザまたはシステムが、特定のプロセスもしくは判断が行われるために十分に即時として検知するか、または、プロセッサがある外部プロセスに遅れずについていくことを可能にする、処理応答性のレベルを意味する。
図2は、本明細書内で開示する一実施形態による、図1の処理システム110の例示的な実装形態を示すブロック図である。処理システム110は、悪意のあるアプリケーションを識別するように構成される。処理システム110は、アプリケーションを実行するように構成されたコンピュータ、モバイル・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、スマート・フォン、携帯情報端末、ゲーム・デバイス、機器、または任意の他の処理システムであり得る。
処理システム110は、システム・バス215または他の好適な回路を通してメモリ要素210に結合された、少なくとも1つのプロセッサ205を含み得る。したがって、処理システム110は、プログラム・コードをメモリ要素210内に記憶することができる。プロセッサ205は、システム・バス215を介してメモリ要素210からアクセスされたプログラム・コードを実行することができる。処理システム110は、本明細書内で説明する機能または動作あるいはその両方を行うことが可能である、プロセッサおよびメモリを含む任意のシステムの形態で実装され得ることを諒解されたい。
メモリ要素210は、たとえば、ローカル・メモリ220、および1つまたは複数の大容量記憶デバイス225など、1つまたは複数の物理メモリ・デバイスを含み得る。ローカル・メモリ220は、一般にプログラム・コードの実際の実行中に使用される、RAM、または他の非永続的メモリ・デバイスを指す。大容量記憶デバイス225は、ハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)、または他の永続的データ記憶デバイスとして実装され得る。処理システム110はまた、プログラム・コードが実行中に大容量記憶デバイス225から取り出されなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時的な記憶を提供する、1つまたは複数のキャッシュ・メモリ(図示せず)を含み得る。
キーボードまたはキーパッドあるいはその両方230、ディスプレイまたはタッチ・スクリーンあるいはその両方235、またはポインティング・デバイス240、あるいはそのすべてなどの、入出力(I/O)デバイスである。I/Oデバイスは、直接、または介在するI/Oコントローラを通してのいずれかで、処理システム110に結合され得る。たとえば、ディスプレイ/タッチ・スクリーン235は、グラフィック処理装置(GPU)を介して処理システム110に結合されてもよく、GPUは、プロセッサ205のコンポーネント、または個別デバイスであってもよい。1つまたは複数のネットワーク・アダプタ245もまた、処理システム110に結合されて、処理システム110が、介在するプライベートもしくは公衆ネットワークを通して、他のシステム、コンピュータ・システム、リモート・プリンタ、またはリモート記憶デバイス、あるいはそのすべてに結合されるようになることが可能になり得る。モデム、ケーブル・モデム、およびイーサネット(R)・カードは、処理システム110とともに使用され得る様々なタイプのネットワーク・アダプタ245の例である。
図2に示すように、メモリ要素210は、処理システム110のコンポーネント、すなわち、セキュリティ・アプリケーション120、第2のアプリケーション130、および第1のアプリケーション105を記憶することができる。実行可能プログラム・コードの形態で実装されるので、セキュリティ・アプリケーション120および第2のアプリケーション130は、処理システム110によって(たとえば、プロセッサ205を介して)実行することができ、したがって、処理システム110の一部と見なされ得る。第1のアプリケーション105は、処理システム110によって処理され得るが、インストールされるまで、処理システム110の一部と見なされる必要はない。例証として、第1のアプリケーション105は、プロセッサ205によって処理されている間、一時的に、メモリ要素210に記憶され得るが、処理システム110のオペレーティング・システムにインストールされる必要はなく、それにもかかわらず、上述のように、インストールされてもよい。
セキュリティ・アプリケーション120が、処理システム110によって(たとえば、プロセッサ205を介して)実行されて、静的解析モジュール125およびランタイム解析モジュール135を含む、セキュリティ・アプリケーション120によって行われるとして本明細書で説明する動作および機能が実施され得る。さらに、第2のアプリケーション130は、ウェブ・ブラウザであり得るが、そうである必要はない。
図3は、本明細書内で開示する別の実施形態による、第1のアプリケーションが悪意のあるものであるかどうかを識別する方法300を示すフローチャートである。ステップ302で、第1のアプリケーションが処理システム上のインストールのために提示されることが、検出され得る。第1のアプリケーションは、ユーザによって訪問されたウェブサイトから受信されるか、電子通信において受信されるか、または、たとえば、URI(たとえば、URL)を介して、電子通信において示されたウェブサイトから受信され得る。
ステップ304で、プロセッサを介して実施された静的解析を介して、第1のアプリケーションがスキャンされて、第1のアプリケーションのUIレイアウトが、処理システム上にインストールされた第2のアプリケーションのUIレイアウトに妙に類似しているかどうかが判断され得る。静的解析は、第1のアプリケーションが処理システム上にインストールされるより前、または、第1のアプリケーションが処理システム上にインストールされることなしに、または、第1のアプリケーションが処理システム上にインストールされる時/後に、行われ得る。
決定ブロック306で、第1のアプリケーションのUIレイアウトが、処理システム上にインストールされた第2のアプリケーションのUIレイアウトに妙に類似しているかどうかについて、判断が行われ得る。そうである場合、ステップ308で、第1のアプリケーションが悪意のあるものであることを示すアラートが生成され得る。
第1のアプリケーションのUIレイアウトが、第2のアプリケーションのUIレイアウトに妙に類似していない場合、ステップ310で、処理システムによる第1のアプリケーションの実行中に、第1のアプリケーションのランタイム解析が行われ得る。ランタイム解析は、第1のアプリケーションのUIレイアウトが第2のアプリケーションのUIレイアウトに妙に類似しているかどうかを判断することを含み得る。ステップ312で、第1のアプリケーションのUIレイアウトが第2のアプリケーションのUIレイアウトに妙に類似していることを、ランタイム解析が示すことに応答して、第1のアプリケーションが悪意のあるものであることを示すアラートが生成され得る。ステップ314で、第1のアプリケーションが処理システムによって受信されたユーザ入力から受信された情報を記憶または通信することが、防止され得る。
1つの構成では、ランタイム解析を行うことは、第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するかどうかを判断することを含み得る。第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するとき、第1のアプリケーションが悪意のあるものであるという判断が行われ得る。
ランタイム解析を行うことはまた、第1のアプリケーションのランタイムに、第1のアプリケーションの現在のUIレイアウトが第2のアプリケーションのUIレイアウトに妙に類似しているかどうかを判断することをも含み得る。そのアプリケーションの現在のUIレイアウトが第2のアプリケーションのUIレイアウトに妙に類似していないとき、第1のアプリケーションのランタイムに、第1のアプリケーションの次のUIレイアウトが第2のアプリケーションのUIレイアウトに妙に類似しているかどうかについて、判断が行われ得る。
例証として、プロセッサによって実施された静的解析を介して、第1のアプリケーションをスキャンして、第1のアプリケーションのUIレイアウトが、処理システム上にインストールされた第2のアプリケーションのUIレイアウトに妙に類似しているかどうかを判断することは、第1のアプリケーションの可能なUIレイアウトの総数を判断することを含み得る。そのような構成では、方法300は、第1のアプリケーションが第2のアプリケーションのUIレイアウトに妙に類似しているかどうかについて、静的解析が不確定であることに応答して、第1のアプリケーションが実行されるとき、第1のアプリケーションのランタイム解析を行い、第1のアプリケーションによって実装された各UIレイアウトを識別すること、および、第1のアプリケーションによって実装された各UIレイアウトが、第2のアプリケーションのUIレイアウトに妙に類似しているかどうかを判断することを、さらに含み得る。方法300はまた、ランタイム解析によって検出された第1のアプリケーションのUIレイアウトの総数が、静的解析によって判断された可能なUIレイアウトの総数に等しいこと、および、第1のアプリケーションのUIレイアウトの各々が、処理システム上にインストールされた第2のアプリケーションのUIレイアウトに妙に類似していないことを、ランタイム解析が示すことに応答して、アプリケーションを安全であるとして識別することをも含み得る。
図4は、本明細書内で開示する別の実施形態による、第1のアプリケーションが悪意のあるものであるかどうかを識別する方法400を示す別のフローチャートである。ステップ402で、第1のアプリケーションが処理システム上のインストールのために提示されることが、検出され得る。第1のアプリケーションは、ユーザによって訪問されたウェブサイトから受信されるか、電子通信において受信されるか、または、たとえば、URIを介して、電子通信において示されたウェブサイトから受信され得る。
ステップ404で、プロセッサによって実施された静的解析を介して、第1のアプリケーションがスキャンされて、第1のアプリケーションが悪意のあるものであるかどうかが判断され得る。決定ブロック406で、第1のアプリケーションが悪意のあるものであるかどうかについて、静的解析が不確定であるかどうかについて、判断が行われ得る。そうである場合、ステップ408で、処理システムによる第1のアプリケーションの実行中に、第1のアプリケーションのランタイム解析が行われて、第1のアプリケーションが悪意のあるものであるかどうかが判断され得る。ステップ410で、第1のアプリケーションが悪意のあるものであることを、ランタイム解析が示すことに応答して、第1のアプリケーションが悪意のあるものであることを示すアラートが生成され得る。再び決定ブロック406を参照すると、第1のアプリケーションが悪意のあるものであるかどうかについて、静的解析が不確定ではないことを、判断が示す場合、ステップ412で、第1のアプリケーションが悪意のあるものであるかどうかが、静的解析に基づいて示され得る。
1つの構成では、ランタイム解析を行うことは、第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するかどうかを判断することを含み得る。第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するとき、第1のアプリケーションが悪意のあるものであるという判断が行われ得る。別の構成では、ランタイム解析を行うことは、第1のアプリケーションのランタイムに、第1のアプリケーションの現在のUIレイアウトが第2のアプリケーションのUIレイアウトに妙に類似しているかどうかを判断することを含み得る。第1のアプリケーションの現在のUIレイアウトが、第2のアプリケーションのUIレイアウトに妙に類似しているとき、第1のアプリケーションが悪意のあるものであるという判断が行われ得る。
同様の番号を、本明細書全体にわたって同じ項目を指すために使用した。図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点について、フローチャートまたはブロック図における各ブロックは、モジュール、セグメント、またはコードの部分を表すことがあり、それは、指定された論理機能を実施するための1つまたは複数の実行可能命令を備える。また、いくつかの代替実装形態では、ブロックに示した機能が、図面に示した順序から外れて行われ得ることにも留意されたい。たとえば、連続して示す2つのブロックは、実際には、実質的に同時に実行されてもよく、または、それらのブロックは、時々、関連する機能に応じて、逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、および、ブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは行為を行う専用ハードウェア・ベースのシステム、または、専用ハードウェアおよびコンピュータ命令の組合せによって実装され得ることにも留意されたい。
本明細書で使用する術語は、特定の実施形態を説明することのみを目的とし、本発明の限定を意図するものではない。本明細書で使用する場合、単数形「a」、「an」および「the」は、文脈上明らかに別段の定めがある場合を除き、複数形も含むことが意図されている。「含む」、「含んでいる」、「備える」、または「備えている」、あるいはそのすべての用語は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、または構成要素、あるいはそのすべての存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、またはそれらのグループ、あるいはそのすべての存在または追加を排除しないことは、さらに理解されよう。
本明細書全体にわたる「1つの実施形態」、「一実施形態」、または同様の言葉への言及は、その実施形態に関して説明する特定の特徴、構造、または特性が、本明細書内で開示する少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたる「1つの実施形態では」、「一実施形態では」という言い回し、および同様の言葉の出現は、必ずしもそうではないが、すべて同じ実施形態を指すことがある。
本明細書で使用する「複数」という用語は、2つまたは3つ以上として定義される。本明細書で使用する「別の」という用語は、少なくとも第2以上のものとして定義される。本明細書で使用する「結合される」という用語は、別段に規定されていない限り、いかなる介在する要素もなしに直接的であるか、1つまたは複数の介在する要素とともに間接的であるかにかかわらず、接続されるものとして定義される。2つの要素もまた、機械的に、電気的に結合されるか、または、通信チャネル、経路、ネットワーク、もしくはシステムを通して通信可能にリンクされ得る。本明細書で使用する「〜または〜あるいはその両方(すべて)」という用語は、関連する列挙された項目のうちの1つまたは複数の任意およびすべての可能な組合せを指し、包含する。また、第1、第2などの用語が、様々な要素を説明するために本明細書で使用され得るが、別段に記載されていない限り、または文脈が別段に規定していない限り、これらの用語は、ある要素を別の要素と区別するためにのみ使用されるので、これらの要素は、これらの用語によって限定されるべきではないことも理解されよう。
「場合」という用語は、文脈に応じて、「とき」、または「すると」、または「判断することに応答して」、または「検出することに応答して」を意味するように解釈され得る。同様に、「判断される場合」、または「[記載された条件もしくはイベントが]検出される場合」という言い回しは、文脈に応じて、「判断すると」、または「判断することに応答して」、または「[記載された条件もしくはイベントを]検出すると」、または「[記載された条件もしくはイベントを]検出することに応答して」を意味するように解釈され得る。
添付の特許請求の範囲における対応する構造、材料、行為、およびすべての手段またはステップの均等物、さらに機能要素は、具体的に特許請求する他の特許請求する要素との組合せにおいて機能を行うための任意の構造、材料、または行為を含むことが意図されている。本明細書内で開示した実施形態の説明は、例示および説明の目的のために提示されたが、網羅的であること、または開示した形態に限定されることは意図されていない。多くの変更形態および変形形態が、本発明の実施形態の範囲および趣旨から逸脱することなく、当業者には明らかとなるであろう。実施形態は、本発明の原理および実際的な用途について最善の説明をするために、ならびに、当業者が、企図される特定の使用に適する様々な変更形態を有する様々な実施形態のための本発明の構成を理解することを可能にするために、選ばれ、説明された。

Claims (19)

  1. 第1のアプリケーションが悪意のあるものであるかどうかを識別するための方法であって、
    処理システム上のインストールのために提示される前記第1のアプリケーションを、検出すること、
    プロセッサによって実施された静的解析を介して、前記第1のアプリケーションをスキャンして、前記第1のアプリケーションのユーザ・インターフェース・レイアウトが、前記処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、および
    前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが、前記処理システム上にインストールされた前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているとき、前記第1のアプリケーションが悪意のあるものであることを示すアラートを生成すること
    を含む方法。
  2. 前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかについて、前記静的解析が不確定であることに応答して、
    前記処理システムによる前記第1のアプリケーションの実行中に、前記第1のアプリケーションのランタイム解析を行うことであって、前記ランタイム解析は、前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断することを含む、前記ランタイム解析を行うこと、および
    前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していることを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションが悪意のあるものであることを示す前記アラートを生成すること
    をさらに含む、請求項1に記載の方法。
  3. 前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していることを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションが前記処理システムによって受信されたユーザ入力から受信された情報を記憶または通信することを、防止すること
    をさらに含む、請求項2に記載の方法。
  4. 前記第1のアプリケーションの前記ランタイム解析を行うことが、
    前記第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するかどうかを判断すること、および
    前記第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる前記少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するとき、前記第1のアプリケーションが悪意のあるものであると判断すること
    をさらに含む、請求項2または3のいずれかに記載の方法。
  5. 前記第1のアプリケーションの前記ランタイム解析を行い、前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断することが、
    前記第1のアプリケーションのランタイムに、前記第1のアプリケーションの現在のユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、および
    前記第1のアプリケーションの前記現在のユーザ・インターフェース・レイアウトが、前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していないとき、
    前記第1のアプリケーションのランタイムに、前記第1のアプリケーションの次のユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること
    を含む、請求項2ないし4のいずれかに記載の方法。
  6. プロセッサによって実施された前記静的解析を介して、前記第1のアプリケーションをスキャンして、前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが、前記処理システム上にインストールされた第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断することが、
    前記第1のアプリケーションの可能なユーザ・インターフェース・レイアウトの総数を判断すること
    を含み、
    前記方法が、
    前記第1のアプリケーションが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかについて、前記静的解析が不確定であることに応答して、前記第1のアプリケーションが実行されるとき、前記第1のアプリケーションのランタイム解析を行い、前記第1のアプリケーションによって実装された各ユーザ・インターフェース・レイアウトを識別し、前記第1のアプリケーションによって実装された各ユーザ・インターフェース・レイアウトが、前記第2のアプリケーションのユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、ならびに
    前記ランタイム解析によって検出された前記第1のアプリケーションのユーザ・インターフェース・レイアウトの総数が、前記静的解析によって判断された前記可能なユーザ・インターフェース・レイアウトの総数に等しいこと、および、前記第1のアプリケーションのユーザ・インターフェース・レイアウトの各々が、前記処理システム上にインストールされた前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していないことを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションを安全であるとして識別すること
    をさらに含む、請求項1ないし5のいずれかに記載の方法。
  7. 前記プロセッサによって実施された前記静的解析を介して、前記第1のアプリケーションをスキャンすることが、
    前記第1のアプリケーションが、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するように構成されるかどうかを判断すること、および
    前記第1のアプリケーションが、プライベート情報を含んでいる前記少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するように構成されるとき、前記第1のアプリケーションが悪意のあるものであると判断すること
    をさらに含む、請求項1ないし6のいずれかに記載の方法。
  8. 処理システム上のインストールのために提示される前記第1のアプリケーションを、検出すること、
    プロセッサによって実施された静的解析を介して、前記第1のアプリケーションをスキャンして、前記第1のアプリケーションが悪意のあるものであるかどうかを判断すること、
    前記第1のアプリケーションが悪意のあるものであるかどうかについて、前記静的解析が不確定であることに応答して、
    前記処理システムによる前記第1のアプリケーションの実行中に、前記第1のアプリケーションのランタイム解析を行い、前記第1のアプリケーションが悪意のあるものであるかどうかを判断すること、および
    前記第1のアプリケーションが悪意のあるものであることを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションが悪意のあるものであることを示すアラートを生成すること
    を含む、請求項1ないし7のいずれかに記載の方法。
  9. 前記第1のアプリケーションの前記ランタイム解析を行うことが、
    前記第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するかどうかを判断すること、および
    前記第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる前記少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するとき、前記第1のアプリケーションが悪意のあるものであると判断すること
    をさらに含む、請求項8に記載の方法。
  10. 前記第1のアプリケーションの前記ランタイム解析を行うことが、
    前記第1のアプリケーションのランタイムに、前記第1のアプリケーションの現在のユーザ・インターフェース・レイアウトが前記第2のアプリケーションのユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、および
    前記第1のアプリケーションの前記現在のユーザ・インターフェース・レイアウトが、前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているとき、前記第1のアプリケーションが悪意のあるものであると判断すること
    をさらに含む、請求項8に記載の方法。
  11. 第1のアプリケーションが悪意のあるものであるかどうかを識別するための処理システムであって、
    実行可能な動作を開始するように構成されたプロセッサ
    を備え、前記実行可能な動作が、
    前記第1のアプリケーションが前記処理システム上のインストールのために提示されることを、検出すること、
    前記プロセッサによって実施された静的解析を介して、前記第1のアプリケーションをスキャンして、前記第1のアプリケーションのユーザ・インターフェース・レイアウトが、前記処理システム上にインストールされた第2のアプリケーションのユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、および
    前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが、前記処理システム上にインストールされた前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているとき、前記第1のアプリケーションが悪意のあるものであることを示すアラートを生成すること
    を含む、処理システム。
  12. 前記プロセッサが、
    前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかについて、前記静的解析が不確定であることに応答して、
    前記処理システムによる前記第1のアプリケーションの実行中に、前記第1のアプリケーションのランタイム解析を行うことであって、前記ランタイム解析は、前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断することを含む、前記ランタイム解析を行うこと、および
    前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していることを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションが悪意のあるものであることを示す前記アラートを生成すること
    を含む、実行可能な動作を開始するようにさらに構成される、請求項11に記載の処理システム。
  13. 前記プロセッサが、
    前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していることを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションが前記処理システムによって受信されたユーザ入力から受信された情報を記憶または通信することを、防止すること
    を含む、実行可能な動作を開始するようにさらに構成される、請求項12に記載の処理システム。
  14. 前記第1のアプリケーションの前記ランタイム解析を行うことが、
    前記第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するかどうかを判断すること、および
    前記第1のアプリケーションが、ランタイムに、プライベート情報を含んでいる前記少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するとき、前記第1のアプリケーションが悪意のあるものであると判断すること
    をさらに含む、請求項12または13のいずれかに記載の処理システム。
  15. 前記第1のアプリケーションの前記ランタイム解析を行い、前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断することが、
    前記第1のアプリケーションのランタイムに、前記第1のアプリケーションの現在のユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、および
    前記第1のアプリケーションの前記現在のユーザ・インターフェース・レイアウトが、前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していないとき、
    前記第1のアプリケーションのランタイムに、前記第1のアプリケーションの次のユーザ・インターフェース・レイアウトが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること
    を含む、請求項12ないし14のいずれかに記載の処理システム。
  16. 前記プロセッサによって実施された前記静的解析を介して、前記第1のアプリケーションをスキャンして、前記第1のアプリケーションの前記ユーザ・インターフェース・レイアウトが、前記処理システム上にインストールされた第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかを判断することが、
    前記第1のアプリケーションの可能なユーザ・インターフェース・レイアウトの総数を判断すること
    を含み、
    前記プロセッサが、
    前記第1のアプリケーションが前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似しているかどうかについて、前記静的解析が不確定であることに応答して、前記第1のアプリケーションが実行されるとき、前記第1のアプリケーションのランタイム解析を行い、前記第1のアプリケーションによって実装された各ユーザ・インターフェース・レイアウトを識別し、前記第1のアプリケーションによって実装された各ユーザ・インターフェース・レイアウトが、前記第2のアプリケーションのユーザ・インターフェース・レイアウトに類似しているかどうかを判断すること、ならびに
    前記ランタイム解析によって検出された前記第1のアプリケーションのユーザ・インターフェース・レイアウトの総数が、前記静的解析によって判断された前記可能なユーザ・インターフェース・レイアウトの総数に等しいこと、および、前記第1のアプリケーションのユーザ・インターフェース・レイアウトの各々が、前記処理システム上にインストールされた前記第2のアプリケーションの前記ユーザ・インターフェース・レイアウトに類似していないことを、前記ランタイム解析が示すことに応答して、前記第1のアプリケーションを安全であるとして識別すること
    を含む、実行可能な動作を開始するようにさらに構成される、請求項11ないし15のいずれかに記載の処理システム。
  17. 前記プロセッサによって実施された前記静的解析を介して、前記第1のアプリケーションをスキャンすることが、
    前記第1のアプリケーションが、プライベート情報を含んでいる少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するように構成されるかどうかを判断すること、および
    前記第1のアプリケーションが、プライベート情報を含んでいる前記少なくとも1つのプロセス間通信にアクセスすることを試みるか、または要求するように構成されるとき、前記第1のアプリケーションが悪意のあるものであると判断すること
    をさらに含む、請求項11ないし16のいずれかに記載の処理システム。
  18. 第1のアプリケーションが悪意のあるものであるかどうかを識別するためのコンピュータ・プログラム製品であって、
    処理回路によって可読であり、請求項1ないし10のいずれかに記載の方法を行うための、前記処理回路による実行のための命令を記憶する、コンピュータ可読記憶媒体
    を備えるコンピュータ・プログラム製品。
  19. コンピュータ可読媒体上に記憶され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されるとき、請求項1ないし10のいずれかに記載の方法を行うための、ソフトウェア・コード部分を備える、コンピュータ・プログラム。
JP2015533734A 2012-09-28 2013-09-20 アプリケーションが悪意のあるものであるかどうかを識別するための方法、処理システム、およびコンピュータ・プログラム Active JP6223458B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,077 2012-09-28
US13/631,077 US8869274B2 (en) 2012-09-28 2012-09-28 Identifying whether an application is malicious
PCT/IB2013/058691 WO2014049499A2 (en) 2012-09-28 2013-09-20 Identifying whether an application is malicious

Publications (2)

Publication Number Publication Date
JP2015530673A true JP2015530673A (ja) 2015-10-15
JP6223458B2 JP6223458B2 (ja) 2017-11-01

Family

ID=50386610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015533734A Active JP6223458B2 (ja) 2012-09-28 2013-09-20 アプリケーションが悪意のあるものであるかどうかを識別するための方法、処理システム、およびコンピュータ・プログラム

Country Status (5)

Country Link
US (5) US8869274B2 (ja)
JP (1) JP6223458B2 (ja)
CN (1) CN104685510B (ja)
GB (1) GB2519882B (ja)
WO (1) WO2014049499A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869274B2 (en) 2012-09-28 2014-10-21 International Business Machines Corporation Identifying whether an application is malicious
US9794106B1 (en) * 2013-03-04 2017-10-17 Google Inc. Detecting application store ranking spam
CN103577757B (zh) * 2013-11-15 2017-05-24 北京奇虎科技有限公司 病毒防御方法和装置
KR101755612B1 (ko) * 2014-04-30 2017-07-26 주식회사 수산아이앤티 브라우저 종류를 이용한 공유 단말 검출 방법 및 그 장치
US20160253501A1 (en) * 2015-02-26 2016-09-01 Dell Products, Lp Method for Detecting a Unified Extensible Firmware Interface Protocol Reload Attack and System Therefor
US9514025B2 (en) * 2015-04-15 2016-12-06 International Business Machines Corporation Modeling memory use of applications
US9495633B2 (en) * 2015-04-16 2016-11-15 Cylance, Inc. Recurrent neural networks for malware analysis
KR102130744B1 (ko) 2015-07-21 2020-07-06 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2017135249A1 (ja) * 2016-02-05 2017-08-10 株式会社ラック アイコン診断装置、アイコン診断方法およびプログラム
US10025701B2 (en) * 2016-05-16 2018-07-17 Google Llc Application pre-release report
US10496820B2 (en) 2016-08-23 2019-12-03 Microsoft Technology Licensing, Llc Application behavior information
CN106778096A (zh) * 2016-12-28 2017-05-31 努比亚技术有限公司 一种应用程序的伪装方法及移动终端
CN108418776B (zh) * 2017-02-09 2021-08-20 上海诺基亚贝尔股份有限公司 用于提供安全业务的方法和设备
US11368477B2 (en) * 2019-05-13 2022-06-21 Securitymetrics, Inc. Webpage integrity monitoring
US11489830B2 (en) 2020-01-09 2022-11-01 Kyndryl, Inc. Source authentication of website content
CN112052454B (zh) * 2020-10-12 2022-04-15 腾讯科技(深圳)有限公司 应用的病毒查杀方法、装置、设备及计算机存储介质
CN112286736B (zh) * 2020-12-25 2021-06-22 北京邮电大学 对被可疑应用感染的设备进行恢复的方法及相关设备
US11528289B2 (en) * 2021-02-26 2022-12-13 At&T Intellectual Property I, L.P. Security mechanisms for content delivery networks
US11941121B2 (en) * 2021-12-28 2024-03-26 Uab 360 It Systems and methods for detecting malware using static and dynamic malware models
US11928218B2 (en) * 2022-04-21 2024-03-12 Dell Products, L.P. (BIOS) enforced application blocklist system and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262609A (ja) * 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123478A1 (en) * 2004-12-02 2006-06-08 Microsoft Corporation Phishing detection, prevention, and notification
US8122251B2 (en) * 2007-09-19 2012-02-21 Alcatel Lucent Method and apparatus for preventing phishing attacks
US8763071B2 (en) 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
CN101788982B (zh) * 2009-01-22 2013-03-06 国际商业机器公司 在未修改浏览器上保护Web应用的跨域交互的方法和系统
US8370934B2 (en) 2009-06-25 2013-02-05 Check Point Software Technologies Ltd. Methods for detecting malicious programs using a multilayered heuristics approach
US8707048B2 (en) 2009-12-24 2014-04-22 Ebay Inc. Dynamic pattern insertion layer
US8650653B2 (en) 2009-12-24 2014-02-11 Intel Corporation Trusted graphics rendering for safer browsing on mobile devices
CN102314561B (zh) * 2010-07-01 2014-07-23 电子科技大学 基于api hook的恶意代码自动分析方法和系统
EP2609538B1 (en) 2010-08-25 2016-10-19 Lookout Inc. System and method for server-coupled malware prevention
US9215548B2 (en) 2010-09-22 2015-12-15 Ncc Group Security Services, Inc. Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms
EP2626803B1 (en) * 2010-10-04 2017-07-05 Panasonic Intellectual Property Management Co., Ltd. Information processing device and method for preventing unauthorized application cooperation
US8863291B2 (en) * 2011-01-20 2014-10-14 Microsoft Corporation Reputation checking of executable programs
US9134996B2 (en) 2011-04-28 2015-09-15 F-Secure Corporation Updating anti-virus software
US9158919B2 (en) * 2011-06-13 2015-10-13 Microsoft Technology Licensing, Llc Threat level assessment of applications
US9781151B1 (en) 2011-10-11 2017-10-03 Symantec Corporation Techniques for identifying malicious downloadable applications
US8595841B2 (en) 2011-11-09 2013-11-26 Kaprica Security, Inc. System and method for bidirectional trust between downloaded applications and mobile devices including a secure charger and malware scanner
US8869274B2 (en) 2012-09-28 2014-10-21 International Business Machines Corporation Identifying whether an application is malicious
US9710752B2 (en) 2014-09-11 2017-07-18 Qualcomm Incorporated Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262609A (ja) * 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANGELO P.E. ROSIELLO ET AL.: "A Layout-Similarity-Based Approach for Detecting Phishing Page", SECURECOMM 2007, JPN6017034873, 17 July 2007 (2007-07-17), pages 1 - 10, ISSN: 0003640788 *
ERIC MEDVET ET AL.: "Visual-Similarity-Based Phishing Detection", SECURECOMM 2008, JPN7017002967, 22 September 2008 (2008-09-22), pages 6, ISSN: 0003640787 *

Also Published As

Publication number Publication date
CN104685510A (zh) 2015-06-03
GB201501410D0 (en) 2015-03-11
US10169580B2 (en) 2019-01-01
US8990940B2 (en) 2015-03-24
US8869274B2 (en) 2014-10-21
GB2519882A (en) 2015-05-06
WO2014049499A2 (en) 2014-04-03
US11188645B2 (en) 2021-11-30
CN104685510B (zh) 2017-12-19
US20140096240A1 (en) 2014-04-03
US20200097654A1 (en) 2020-03-26
GB2519882B (en) 2015-10-21
US20140096248A1 (en) 2014-04-03
WO2014049499A3 (en) 2014-05-22
US10599843B2 (en) 2020-03-24
US20190095619A1 (en) 2019-03-28
US20150007322A1 (en) 2015-01-01
JP6223458B2 (ja) 2017-11-01

Similar Documents

Publication Publication Date Title
JP6223458B2 (ja) アプリケーションが悪意のあるものであるかどうかを識別するための方法、処理システム、およびコンピュータ・プログラム
US10216930B2 (en) Authenticating application legitimacy
US9430640B2 (en) Cloud-assisted method and service for application security verification
US8776196B1 (en) Systems and methods for automatically detecting and preventing phishing attacks
US10936727B2 (en) Detection of second order vulnerabilities in web services
JP5863973B2 (ja) プログラム実行装置及びプログラム解析装置
CN110445769B (zh) 业务系统的访问方法及装置
CN108028843B (zh) 保护计算机实现的功能的递送的方法、系统和计算设备
US11122044B2 (en) Invalidation of an access token
Wang et al. One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant {APIs} in {WeChat}
WO2017016458A1 (zh) 应用程序内的页面处理方法和装置
US20190163905A1 (en) System, Method, and Apparatus for Preventing Execution of Malicious Scripts
US11736512B1 (en) Methods for automatically preventing data exfiltration and devices thereof
US10681063B1 (en) Securing a network device from a malicious embedded script hosted on a third-party domain
US10652277B1 (en) Identifying and blocking overlay phishing
Blåfield Different types of keyloggers: Mitigation and risk relevancy in modern society
WO2014048751A1 (en) Method and apparatus for detecting a malicious website
US11886584B2 (en) System and method for detecting potentially malicious changes in applications
EP4095727A1 (en) System and method for detecting potentially malicious changes in applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171003

R150 Certificate of patent or registration of utility model

Ref document number: 6223458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150