JP6228966B2 - マルウェアを検出するコンピューティングデバイス - Google Patents

マルウェアを検出するコンピューティングデバイス Download PDF

Info

Publication number
JP6228966B2
JP6228966B2 JP2015501765A JP2015501765A JP6228966B2 JP 6228966 B2 JP6228966 B2 JP 6228966B2 JP 2015501765 A JP2015501765 A JP 2015501765A JP 2015501765 A JP2015501765 A JP 2015501765A JP 6228966 B2 JP6228966 B2 JP 6228966B2
Authority
JP
Japan
Prior art keywords
behavior
application
query
behavior vector
computing device
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
JP2015501765A
Other languages
English (en)
Other versions
JP2015511047A (ja
JP2015511047A5 (ja
Inventor
スー−チュン・シャオ
シュオ・デン
ババク・サラマット
ラジャルシ・グプタ
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015511047A publication Critical patent/JP2015511047A/ja
Publication of JP2015511047A5 publication Critical patent/JP2015511047A5/ja
Application granted granted Critical
Publication of JP6228966B2 publication Critical patent/JP6228966B2/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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/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/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)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、一般に、アプリケーションがマルウェアかどうかを検出することが可能なコンピューティングデバイスに関する。
コンピューティングデバイスは、多くのソースに由来する多様なアプリケーションを実行するために大抵使用されている。残念ながら、悪意のあるアプリケーション(たとえば、マルウェア)は、ユーザのコンピューティングデバイスにたびたびインストールされる。悪意のあるアプリケーションは、よく知られているアプリケーションに大抵なりすますので、ユーザは、通常これに気付かない。さらに、これらの悪意のあるアプリケーションは、それらの機能に必要である以上のアクセス許可を利用する。
マルウェアなどのセキュリティの脅威からコンピューティングデバイスを保護することは、現代のコンピューティングデバイスについての関心事である。マルウェアは、コンピューティングデバイスまたはユーザに害を与えようと試みる、迷惑なアプリケーションを含む。マルウェアの異なるタイプには、トロイの木馬、ワーム、キーロガー、ウイルス、バックドアおよびスパイウェアが含まれる。マルウェアの作者は、クレジットカード番号および銀行口座番号などの個人情報を収集するか、または携帯電話を有料サービスに接続させたいと欲求が動機となっている場合がある。したがって、マルウェアの作者が検出を免れるためのより洗練された方法を開発するように動機付ける金銭的インセンティブが存在する。
従来のマルウェアシグネチャ検出方法は、対象アプリケーションの実際の実行可能部分の不変部分からシグネチャを抽出する。シグネチャベースのマルウェア検出は、マルウェアの変形形態ごとにシグネチャ(たとえば、マルウェアのコード内のユニークなパターン)を必要とする。したがって、シグネチャベースのマルウェア検出を利用して未知のマルウェアを検出することは不可能である。加えて、既知のマルウェアの場合でも、シグネチャの検出とそれがコンピューティングデバイス上で実際に更新される時点との間には、遅延が存在する傾向がある。さらに、シグネチャを使用するマルウェアの検査は、しばしばプロセッサおよびメモリを多く必要とする。このことが、特にモバイルコンピューティングデバイスにとってより難しいものとなる。また、シグネチャの検査は携帯電話などのモバイルデバイスにおいては費用がかかるので、多くの検出器は、よく知られた不正アプリケーションについてのアプリケーションファイル名を検査しているにすぎない。
これらの問題点のために、コンピューティングデバイス上のアプリケーションを特徴付け、比較し、分類して、アプリケーションがマルウェアかどうかを判定する目的で、プロセッサおよびメモリを少ししか必要とせず、より迅速な方式で行われ得る挙動分析を利用することが有利となろう。
本発明の態様は、アプリケーションがマルウェアかどうかを判定するコンピューティングデバイス用の装置および方法に関係してもよい。コンピューティングデバイスは、コンピューティングデバイス上のアプリケーションの挙動を記録してログを生成するクエリロガーと、クエリロガーからのログを分析して、アプリケーションの挙動を特徴付ける挙動ベクトルを生成する挙動分析エンジンと、アプリケーションについての挙動ベクトルを良性またはマルウェアとして分類する分類器とを含むことができる。
本発明の態様は、アプリケーションがコンピューティングデバイスにとってマルウェアかどうかを判定するサーバ用の装置および方法に関係してもよい。サーバは、各挙動ベクトルセットがアプリケーションの挙動を特徴付けることができる複数のコンピューティングデバイスから複数の挙動ベクトルセットを受信する処理回路と、挙動分析エンジンとを含むことができる。挙動分析エンジンは、良性またはマルウェアとして受信された挙動ベクトルセットに基づいて、グローバル分類器を更新することができる。
本発明の態様を実践できるシステムのブロック図である。 挙動分析エンジンおよびログの一組のクエリに基づいて生成できる挙動ベクトルを示すブロック図である。 クエリ、アクション、およびアクションの属性の例を示す表である。 アプリケーションコードおよびネイティブコードを利用してコンピューティングデバイス上で動作するアプリケーションを示すブロック図である。 アプリケーションが良性またはマルウェアとして識別されるようにアプリケーションの挙動を特徴付ける挙動ベクトルを生成するために、挙動分析エンジンを利用してクエリロガーからのログを分析した結果を示す表である。 一群のコンピューティングデバイスからの挙動レポートを集約するために利用できるサーバを示す図である。
「例示的」または「例」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」または「例」として本明細書に記載される任意の態様または実施形態は、他の態様または実施形態に比べて好ましいか、または有利であると必ずしも解釈されるべきではない。
図1を参照すると、図1は、本発明の態様を実践できるシステム100のブロック図である。特に、システム100は、アプリケーションがマルウェアかどうかを判定するために使用できるコンピューティングデバイス102を示す。コンピューティングデバイス102は、クエリロガー108、挙動分析エンジン122、および分類器132を備えることができる。一態様では、クエリロガー108は、コンピューティングデバイス上のアプリケーションの挙動を記録して、ログ120を生成することができる。ログ120は、アプリケーションで実行されたか、またはアプリケーションに関連付けられたアクションのログであり得る。したがって、アクションのログ120は、アプリケーションの挙動を示す。挙動分析エンジン122は、クエリロガーからのログ120を分析して、アプリケーションの挙動を特徴付ける挙動ベクトル130を生成することができる。分類器132は、アプリケーションについての挙動ベクトル130を良性140として、またはマルウェア150として分類することができる。挙動ベクトル130がマルウェア150として分類された場合、挙動ベクトル130に関連付けられたアプリケーションは、使用から削除または制限されてもよい。後述しているように、多くの異なる挙動ベクトル130が生成されてアプリケーションの挙動を特徴付けることができ、これらに基づいて、分類器132は、アプリケーションを良性140として、またはマルウェア150として分類することができる。
コンピューティングデバイス102は、プロセッサ104、メモリ106、およびインターフェース110を含むことができる。コンピューティングデバイス102は、ディスプレイデバイス、ユーザインターフェース(たとえば、キーボード、タッチスクリーンなど)、電源デバイス(たとえば、バッテリ)、ならびに通常コンピューティングデバイスに関連する他の構成要素を含むことができることを諒解されたい。コンピューティングデバイス102は、モバイルデバイスまたは非モバイルデバイスであり得る。たとえば、インターフェース110は、呼およびデータを、ワイヤレスリンクを介してワイヤレスネットワークに/から送信および受信するワイヤレストランシーバであり得るか、またはネットワーク(たとえば、インターネット)への直接接続用の有線インターフェースであり得る。したがって、コンピューティングデバイス102は、モバイルデバイス、ワイヤレスデバイス、携帯電話、携帯情報端末、モバイルコンピュータ、タブレット、パーソナルコンピュータ、ラップトップコンピュータ、サーバコンピュータ、または任意のタイプのコンピューティングデバイスであり得る。
コンピューティングデバイス102は、クエリロガー108、挙動分析エンジン122、および分類器132を実装するための命令を実行するように構成されたプロセッサ104を含むことができる。メモリ106は、プロセッサ104に結合されて、プロセッサ104による実行用の命令を記憶することができる。一態様では、コンピューティングデバイス102は、コンピューティングデバイス102上のアプリケーションの挙動を記録してアクションのログ120を生成することができるクエリロガー108と、クエリロガー108からのアクションのログ120を分析して、アプリケーションの挙動を特徴付ける挙動ベクトル130を生成することができる挙動分析エンジン122と、アプリケーションについての挙動ベクトル130を良性140として、またはマルウェア150として分類することができる分類器132とを実装する命令を実行するように構成されたプロセッサ104を含むことができる。挙動ベクトル130がマルウェア150として分類された場合、挙動ベクトル130に関連付けられたアプリケーションは、コンピューティングデバイス102により、使用から削除または制限されてもよい。
後述しているように、本発明の態様は、コンピューティングデバイス102のプロセッサ104および/もしくはコンピューティングデバイス102の他の回路ならびに/または他のデバイスによる命令の実行と連携して実装できることを諒解されたい。詳細には、コンピューティングデバイス102の回路は、プロセッサ104を含むがこれに限定されず、プログラムの制御、ルーチン、または命令の実行の下で動作して、本発明の実施形態による方法またはプロセスを実行することができる。たとえば、そのようなプログラムは、(たとえば、メモリ106および/または他の位置に記憶されている)ファームウェアまたはソフトウェアに実装され得るし、プロセッサ104などのプロセッサ、および/またはコンピューティングデバイス102の他の回路によって実装され得る。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語は、論理、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することが可能な任意のタイプの論理または回路を指すことを諒解されたい。
さらに、クエリロガー108、挙動分析エンジン122、および分類器132の機能の一部もしくは全部は、コンピューティングデバイス102自体によって実行され得るし、かつ/または、機能の一部もしくは全部は、インターフェース110を介して(ワイヤレスまたは有線で)コンピューティングデバイス102に接続された別のコンピューティングデバイスによって実行され得ることを諒解されたい。したがって、機能の一部および/または全部は別のコンピューティングデバイスによって実行され得るし、結果はコンピューティングデバイス102に戻され得る。また、特定の態様によれば、分類器132は機械学習分類器であり得るし、コンピューティングデバイス102はモバイルデバイスであり得る。
図1に示されたような特定の例を参照すると、ニュースアプリケーション160(たとえば、CNN)、ゲーム(たとえば、ボーリング)162、ゲーム(たとえば、スネーク)164、およびゲーム(たとえば、バード)166の4つのアプリケーションが、(ユーザの同意の有無にかかわらず)コンピューティングデバイス102にロードされる場合がある。コンピューティングデバイス102は、これらのアプリケーションが良性かマルウェアかを自動的に判定することができる。特に、クエリロガー108は、コンピューティングデバイス上のアプリケーション160、162、164、および166のアクションまたは挙動を記録して、アクションのログ120を生成することができる。挙動分析エンジン122は、アプリケーションの各々についてアクションのログ120を分析して、各アプリケーション160、162、164、および166の挙動を特徴付けるアプリケーションの各々のための挙動ベクトル130を生成することができる。分類器132は、アプリケーション160、162、164、および166の各々のための挙動ベクトル130を、良性140としてまたはマルウェア150として分類することができる。この例では、ニュースアプリケーション160およびゲームアプリケーション166は、それらの挙動ベクトル130に基づいて良性140として分類され、コンピューティングデバイス102により使用が許可される。一方、ゲームアプリケーション162および164は、それらの挙動ベクトル130に基づいてマルウェア150として分類され、コンピューティングデバイス102により、使用から削除または制限される。クエリロガー、アクションのログ、挙動分析エンジン、および挙動ベクトルの態様は、以下でより詳細に記載される。
さらに図2を参照すると、挙動ベクトル130は、アクションのログ120の一組のクエリ210に基づいて生成することができる。挙動分析エンジン122は、ログ120によって記録されたアクションをクエリ210に基づいて分析して、アプリケーションの挙動を特徴付ける挙動ベクトル130を生成することができ、その結果、分類器は、アプリケーションについての挙動ベクトル130を良性またはマルウェアとして判定および分類することができる。図3も参照すると、挙動分析エンジン122によって利用され得るクエリ310、アクション320、およびアクションの属性330の例を提供するチャート300が示される。
たとえば、一組のクエリ310は、存在クエリ、数量クエリ、順序クエリ、またはカテゴリクエリ(ブロック312)のうちの少なくとも1つまたは複数を含むことができる。クエリ310は、実際の挙動または予想された挙動であり得る。さらなる説明として、挙動分析エンジン122は、デバイス依存のアクション220およびデバイス独立のアクション222を分析することができる。例として、図3に示されたように、アクション320は、アプリケーションインストール、デバイス情報、通信、およびユーザとのやりとりを含むことができる。さらに、アクション320は、アクセスデバイス情報、ブート時起動、ユーザデータ、パッケージインストール、センサ、位置、媒体、カメラ、SMS、通話、電話情報(ブロック322)を含むことができる。また、開始時刻、終了時刻、事前、事後、存在(ブロック332)などのアクションの属性330は、挙動分析エンジン122によって利用され得る。これらは、挙動分析エンジン122によって利用され得るクエリ、アクション、およびアクションの属性の例にすぎず、多くの他のタイプが利用できることを諒解されたい。
前述されたように、1)コンピューティングデバイス102上のアプリケーションの挙動を記録してアクションのログ120を生成するメカニズムを実装するクエリロガー108、2)アクションのログ120を分析し、コンピューティングデバイス102上で動作するアプリケーションの挙動を記述する挙動ベクトル130を生成する挙動分析エンジン122、および、3)挙動ベクトル130を良性またはマルウェアのいずれかのカテゴリに分類する分類器132の3つの構成要素を利用することができる。
このようにして、挙動ベクトル130は、コンピューティングデバイス上のマルウェアを検出する挙動分析フレームワークで使用することができる。結果として得られた挙動ベクトル130は、ログ記録から抽出された客観的な観察を含む。一例として、挙動分析エンジン122は、アクションに関するクエリ210(たとえば、「ユーザの同意なしのアプリケーションインストールか?」、「アプリケーションはゲームのように挙動すべきか?」、「ウェブサイトはニュースのように動作すべきか?」、「アプリケーションはSMSメッセージを処理すべきか?」、「アプリケーションは通話を処理すべきか?」など)に回答する。これらのクエリ210に対する回答は、挙動ベクトル130を作成する。
例として、各アクションは、4つのタイプのクエリ310である、存在クエリ、数量クエリ、順序クエリ、およびカテゴリクエリのうちの1つまたは複数に関連付けることができる。たとえば、存在クエリ310はアクションセットの存在を参照することができる。このクエリの一例として、クエリは、アプリケーションがデバイス情報にアクセスしたか(たとえば、電話情報にアクセスしたか、位置情報にアクセスしたか、など)どうかを判定することであり得る。挙動分析エンジン122は、アクションのログ120がアプリケーションによるデバイスアクセスの任意のログを含むかどうかを判定することができ、挙動ベクトル130はこれに基づいて設定することができる。たとえば、挙動ベクトル130は、電話情報がアクセスされたことを示すように設定することができる。
さらに、数量クエリ310は、アクションの発生回数を参照することができる。このクエリの一例として、クエリは、アプリケーションによるアクションの発生回数を特定することであり得る。一例として、これは送られたSMS(たとえば、SMSを介した発信通信)の数であり得る。したがって、挙動分析エンジン122は、アクションのログ120から送られたSMSの数を特定することができる。このクエリは、SMSが何回送られたかを示す挙動ベクトル130を生成するために使用することができる。
別の例として、順序クエリ310は、一連のアクションの発生回数を参照することができる。このクエリの一例として、クエリは、アプリケーションがインストールされる前に(たとえば、インストール前30秒以内に)発生したユーザとのやりとりの回数を特定することであり得る。したがって、挙動分析エンジン122は、アクションのログ120から、アプリケーションがインストールされる前に発生したユーザとのやりとり(たとえば、UIイベント)の回数を特定することができる。このクエリは、アプリケーションのインストール前のUIイベントの数量を示す挙動ベクトル130を生成するために使用することができる。
別の例として、カテゴリクエリ310は、アプリケーションがあるカテゴリに属するかどうかを参照することができる。このクエリの一例として、クエリは、アプリケーションがロケーションベースのサービスであるかどうかを判定することであり得る。したがって、挙動分析エンジン122は、アクションのログ120から、アプリケーションがロケーションベースのサービスであるかどうか、および(ログに基づいて)位置情報がアクセスされているカテゴリにアプリケーションが属するかどうかを判定することができる。一例として、このクエリは、位置情報が検索される回数に関係する挙動ベクトル130として使用することができる。
さらに、多種多様な異なるタイプのアクション320である、アプリケーションインストール、デバイス情報、通信、ユーザとのやりとり、アクセスデバイス情報、ブート時起動、ユーザデータ、パッケージインストール、センサ、位置、媒体、カメラ、SMS、通話、および電話情報(ブロック322)は、挙動分析エンジン122によって利用されて、挙動ベクトル130を生成することができる。アクションのログ120によって記録されたようなこれらのアクションの各々は、挙動分析エンジン122によって利用されて、アプリケーションの挙動を特徴付ける挙動ベクトル130を生成することができる。その上、多種多様な異なるタイプのアクションの属性330である、開始時刻、終了時刻、事前、事後、および存在(ブロック332)は、挙動分析エンジン122によって利用されて、挙動ベクトル130を生成することができる。アクションのログ120によって記録されたようなこれらのアクションの属性の各々は、挙動分析エンジン122によって利用されて、アプリケーションの挙動を特徴付ける挙動ベクトル130の生成に役立つことができる。
特に、図2に示されたように、挙動ベクトル130[1,0,0.207,0,2,5,...]は、アクションのログ120によって記録されたようなクエリ、アクション、アクションの属性などに基づいて、挙動分析エンジン122によって生成されて、アプリケーションの挙動を特徴付けることができる。一例として、異なるタイプのアクションの場合、約5の挙動ベクトルは頻繁な使用を示すことができ、約1〜2の挙動ベクトルはまれな使用を示すことができ、約0の挙動ベクトルは未使用を示すことができる。多種多様な異なるタイプのアプリケーション、監視されたアクション、および、挙動ベクトル130を生成する挙動分析エンジン122によるそれらの分析は、以下に記載される。
アクションのログ120によって記録され、かつ挙動分析エンジン122によって分析されたような、実際のアクションに基づく挙動ベクトル130の生成に関して、観察または監視されるべきこれらのアクションは、マルウェアを識別する高い確率を表すので、監視されるべき挙動またはアクションのタイプを識別することに基づく場合がある。たとえば、システムの専門家は、どのセットのシステムイベントが、マルウェアである高い確率を有する高レベルの挙動またはアクションに関係するかを識別することができる。
図4を簡単に参照すると、アプリケーションは、アプリケーションコード402およびネイティブコード404を利用して、コンピューティングデバイス102上で動作している場合がある。アプリケーションコード402は、コンピューティングデバイス102のシステムインターフェースのアプリケーションライブラリ412と相互作用することができ、ネイティブコード404は、ネイティブライブラリ414およびカーネル416と相互作用することができる。ネイティブコード404により、アプリケーションおよびアプリケーションコード402がネイティブライブラリ414およびカーネル416の基本的な機能を利用することが可能になる。特に、基本的な機能により、センサ420(たとえば、加速度計、圧力センサなど)、SMS通話422、連絡先リスト424、位置センサ426、ネットワークインターフェース428などのコンピューティングデバイス102のリソースのうちの一部または全部と、アプリケーションが相互作用することが可能になる。ライブラリ(アプリケーションライブラリ412およびネイティブライブラリ414)の各々ならびにカーネル416は、クエリロガー108によって監視され得る。このようにして、クエリロガー108は、コンピューティングデバイス上のアプリケーションのアクションを監視および記録して、アクションのログ120を生成することができる。さらに、挙動分析エンジン122は、次いで、クエリロガー108からのアプリケーションについてのアクションのログ120を分析して、アプリケーションの挙動を特徴付けるアプリケーションについての挙動ベクトル130を生成することができる。
一例として、ゲームアプリケーションの場合、クエリロガー108は、ネットワーク428の使用(たとえば、ウェブサイトとのネットワーク通信)、ユーザインターフェースイベントおよびセンサ420の使用(たとえば、ユーザがゲームで遊ぶときコンピューティングデバイスを保持するユーザとのタッチセンサ)に関するアプリケーションライブラリ412およびネイティブライブラリ414の実質的な使用のアクション、ならびに実質的な媒体のアクションなどの他のアクションのログを生成することができる。このようにして、挙動分析エンジン122は、クエリロガー108からのアプリケーションについてのアクションのログ120を分析して、頻繁なネットワークの使用、センサの使用、および媒体の使用などのアプリケーションの挙動を特徴付けるアプリケーションについての挙動ベクトル130を生成することができる。多種多様な異なるタイプのアプリケーション、監視されたアクション、および、挙動ベクトル130を生成する挙動分析エンジン122によるそれらの分析は、以下に記載される。
図5を参照すると、図5は、分類器132がアプリケーションを良性またはマルウェアとして識別できるように、アプリケーションの挙動を特徴付ける挙動ベクトル130を生成するために、挙動分析エンジン122を利用してクエリロガー108からのアクションのログ120を分析した結果を示す表500である。
表500に示されたように、複数のアプリケーションは、挙動分析エンジンを利用して分析される。特に、以下のアプリケーション、ゲーム502、ユーチューブ504、ノートパッド506、フィットネス508、ニュース510、偽装ユーチューブ520、偽装ホテル検索522、スパイウェア524、偽装ゲーム526、および偽装ムービープレーヤ528が、良性538またはマルウェア536として分類される。
これらのアプリケーションの各々について、挙動ベクトル529は、クエリロガーからのアクションのログの分析に基づいて、挙動分析エンジンによって生成される。挙動ベクトルは、頻繁な使用530、まれな使用532、および未使用534であるように簡略化される。数値的な一例として、約5の挙動ベクトルは頻繁な使用を示すことができ、約1〜2の挙動ベクトルはまれな使用を示すことができ、約0の挙動ベクトルは未使用を示すことができる。当然、任意の数値指示を利用することができる。挙動ベクトルは、ユーザインターフェース(UI)アクション550、通信アクション552、センサアクション554、位置556、媒体アクション558、カメラアクション560、SMSアクション562、通話アクション564、および電話情報566に基づいて生成される。これに基づいて、アプリケーションは、マルウェアアプリケーション536または良性アプリケーション538として示される。
アプリケーションが良性またはマルウェアとして識別され得るように、アプリケーションの挙動を特徴付ける挙動ベクトルを生成するために、挙動分析エンジンを利用してクエリロガーからのアクションのログを分析した結果を示す様々な例がここで記載される。たとえば、頻繁530なUIアクション550、頻繁530な通信アクション552、頻繁530な媒体アクション558、および未使用534またはまれ532な電話、SMS、カメラ、位置などのアクションを示す挙動ベクトル529を有するゲームアプリケーション502は、良性538として分類される。頻繁530なUIアクション550、頻繁530な通信アクション552、頻繁530な媒体アクション558、および未使用534の電話、SMS、カメラ、位置などのアクションを示す挙動ベクトル529を有するユーチューブアプリケーション504は、良性538として分類される。頻繁530なUIアクション550、および未使用534の電話、SMS、カメラ、位置などのアクションを示す挙動ベクトル529を有するノートパッドアプリケーション506は、良性538として分類される。頻繁530なUIアクション550、頻繁530な通信アクション552、頻繁530なセンサアクション554、および未使用534またはまれ532な電話、SMS、カメラ、位置などのアクションを示す挙動ベクトル529を有するフィットネスアプリケーション508は、良性538として分類される。頻繁530なUIアクション550、頻繁530な通信アクション552、頻繁530なセンサアクション554、頻繁530な媒体アクション558、および未使用534またはまれ532な電話、SMS、カメラ、位置などのアクションを示す挙動ベクトル529を有するニュースアプリケーション510は、良性538として分類される。
一方、まれ532なUIアクション550、まれなSMSアクション562ではあるが頻繁530な通信アクション552、頻繁530な位置アクション556、および頻繁530な電話情報566を示す挙動ベクトル529を有する偽装ユーチューブアプリケーション520は、マルウェア536として分類される。まれ532なUIアクション550、まれなSMSアクション562ではあるが頻繁530な通信アクション552、頻繁530な位置アクション556、および頻繁530な電話情報566を示す挙動ベクトル529を有する偽装ホテル検索アプリケーション522は、マルウェア536として分類される。まれ532なUIアクション550ではあるが頻繁530な通信アクション552、頻繁530な位置アクション556、頻繁530な通話564、および頻繁530な電話情報566を示す挙動ベクトル529を有するスパイウェアアプリケーション524は、マルウェア536として分類される。未使用534のUIアクション550ではあるが頻繁530な通信アクション552、頻繁530なSMSアクション562、および頻繁530な電話情報566を示す挙動ベクトル529を有する偽装ゲームアプリケーション526は、マルウェア536として分類される。未使用534のUIアクション550および媒体アクション558ではあるが頻繁530なSMSアクション562を示す挙動ベクトル529を有する偽装ムービープレーヤアプリケーション528は、マルウェア536として分類される。
広範な挙動ベクトル130のセットを生成するために挙動分析エンジン122により、クエリロガー108からのアクションのログ120から分析された広範なアクションのセットを有することによって、十分に分化している特徴を分析してアプリケーションがマルウェアとして、または良性として分類されるべきかを判定できることが分かっている。多くの悪意のあるアプリケーションが、ユーザ情報を盗み、かつ/または虚偽の課金を行って金を稼ぐ(たとえば、偽のSMS課金)ように試みることがある。さらに、アプリケーションがマルウェアか良性かを判定するためにコンピューティングデバイス102上のアプリケーションを特徴付け、比較し、分類する目的で挙動分析を利用することは、(シグネチャベースのマルウェア検出とは対照的に)限られたプロセッサおよびメモリの機能を利用し、新しいマルウェアまたは新しい必要なシグネチャに関するサーバからの更新を待つ必要なしに、すぐに行うことができる。
さらに図6を参照すると、本発明の別の態様によれば、サーバ620を含むシステム600は、一群のコンピューティングデバイス602からの挙動レポートを集約するために利用することができる。ただ1つのコンピューティングデバイス602が示されているが、以下に記載される態様は、複数または一群のコンピューティングデバイス602に関する。コンピューティングデバイス602の構成要素および機能は、前にコンピューティングデバイス102を参照して記載された方式と同じ方式で動作するので、これらの構成要素および機能は簡潔のために詳細には繰り返さない。一態様では、サーバ620は、少なくとも処理回路624、挙動分析エンジン626、およびグローバル分類器628を含む構成要素622を備える。処理回路624は送信機および受信機を含むことができる。挙動分析エンジン、クエリロガー、挙動ベクトル、分類器など、ならびに他の構成要素および機能の使用は、詳細に前に説明されている。処理回路624は、処理回路624または他の構成要素に結合されたメモリに記憶された命令に基づいて、受信機、送信機、挙動分析エンジン626、グローバル分類器628、ならびに他の構成要素を実装し、それらと動作するための命令を実行するように構成することができる。サーバが利用するプロセッサおよびメモリが当技術分野でよく知られていることは、当業者によって諒解されよう。
一態様では、サーバ620の処理回路624の受信機は、(たとえば、コンピューティングデバイス602がその挙動分析エンジン608を介してアプリケーションの挙動が疑わしい場合があると判断するか、または不定期に挙動ベクトルが更新情報を設定したとき(判定ブロック612参照))、複数の異なるコンピューティングデバイス602から複数の挙動ベクトルセット610を受信することができる。前述されたように、挙動ベクトルセット610は、アプリケーションの挙動を特徴付ける。サーバ620の挙動分析エンジン626は、コンピューティングデバイス602から受信された挙動ベクトルセット610に基づいて、グローバル分類器628を更新することができる。さらに、後述しているように、グローバル分類器628は、疑わしい挙動を有するとアプリケーションを識別した(たとえば、ブロック612)、コンピューティングデバイス602から受信されたアプリケーションについての挙動ベクトルセットを、良性またはマルウェアとして分類することができる。
特定の一態様では、コンピューティングデバイス602は、アプリケーションの挙動が疑わしいと判断することができ、そのアプリケーションについての挙動ベクトルセット610をサーバ620に送信して、サーバ620に挙動ベクトルセット610を分析させることができる。サーバ620のグローバル分類器628は、送信された挙動ベクトルセット610を良性またはマルウェアとして分類することができる。アプリケーションについての挙動ベクトルセット610がマルウェアとして分類された場合、マルウェアインジケータを複数のコンピューティングデバイス602に送信することができ、コンピューティングデバイス602はアプリケーションを削除632することができる。
さらに、サーバ620は、処理回路624の送信機を介して、複数のコンピューティングデバイス602に更新情報を送信することができ、更新情報は、複数のコンピューティングデバイス602の挙動分析エンジン608を更新するために使用される。このようにして、挙動ベクトルセットのすべておよび一群のコンピューティングデバイス602から受信された他のデータに基づいて、サーバ620は、コンピューティングデバイス自体によって実行された挙動分析を周期的に更新することができる。
したがって、サーバ620は、一群のコンピューティングデバイス602からの挙動レポートを集約することによって、クラウドソーシングサーバとして動作する。経時的に大量の入力セットを収集することによって、より正確で更新された挙動モデルが迅速な方式で生成され、すべての動作中のコンピューティングデバイス602に伝えることができる。また、アプリケーションがマルウェアであると判定されたとき、コンピューティングデバイス602のすべてにこれを通知することができる。
動作の一例として、図6に示されたように、コンピューティングデバイス602のクエリロガー604は、アプリケーションの挙動を記録して、アクションのログ606を生成することができる。次に、コンピューティングデバイス602の挙動分析エンジン608は、アクションのログ606を分析して、アプリケーションの挙動を特徴付ける挙動ベクトルセット610を生成することができる。一例として、挙動ベクトルセット610は、少なくとも1つの数値を含むことができる。判定ブロック612で、挙動ベクトルセットがアプリケーションについて疑わしい何かを示すことをコンピューティングデバイス602の分類器が見つけなかった(たとえば、それがマルウェアである可能性が低い)場合、ログは削除され(ブロック616)、プロセスは終了する(ブロック618)。これらの機能の多くは詳細に前述された。
しかしながら、コンピューティングデバイス602により挙動が疑わしいと判定された(判定ブロック612)場合、コンピューティングデバイス602は、アプリケーションの使用をブロックすることができ(ブロック614)、挙動ベクトルセット610をサーバ620に送信することができる。サーバ620は、処理回路624を介して挙動ベクトルセット610を受信することができ、挙動ベクトルセット610を検査して、アプリケーションが良性かマルウェアかを判定することができる。また、コンピューティングデバイス602からサーバ620に送信された挙動ベクトルセット610は、アプリケーションがブロックされたことのインジケータも含むことができる。加えて、コンピューティングデバイス602は、ログならびに他のデータをサーバ620に送信することができる。このステップは、リアルタイムに(すなわち、挙動が分類されたそのときに)発生する場合があるか、または後で(たとえば、デバイスが帯域幅または電力により良くアクセスしたとき)発生する場合があることに留意されたい。
受信された挙動ベクトルセット610に基づいて、サーバ620のグローバル分類器628は、アプリケーションを良性またはマルウェアとして分類することができる。アプリケーションについての挙動ベクトルセット610がマルウェアとして分類された場合、マルウェアインジケータを複数のコンピューティングデバイス602に送信することができる。これに基づいて、コンピューティングデバイス602がマルウェア指示を受信した(判定ブロック630)場合、コンピューティングデバイス602はアプリケーションを削除することができる(ブロック632)。しかしながら、アプリケーションがマルウェアでなかった場合、ログを削除することができ(ブロック616)、プロセスは完了または終了し(ブロック618)、その結果、コンピューティングデバイス602は、アプリケーションの利用を含む正常動作を維持することができる。
別の態様では、アプリケーションの挙動が疑わしくないとコンピューティングデバイス602が判定したとき(ブロック612)、コンピューティングデバイス602は、時々アプリケーションに関係するそれらの挙動ベクトルセット610(ならびに、ログ、クエリ、および他の情報)をサーバ620に送信し、その結果、サーバ620の挙動分析エンジン626およびグローバル分類器628は、コンピューティングデバイス602によって利用されているアプリケーションに関する幅広い情報を受信する。このようにして、コンピューティングデバイス602のすべては、サーバ620がその挙動モデリングにおいて更新され続けるように協調作業する。
同様に、サーバ620は、処理回路624を介して、時々複数のコンピューティングデバイス602に更新情報を送信し、更新情報はコンピューティングデバイス602によって使用されて、それらの挙動分析エンジン608および分類器を更新し、それらの挙動モデリングおよびアプリケーションの分析を全体的に更新することができる。また、サーバ620は、処理回路624を介して、時々複数のコンピューティングデバイス602に更新されたクエリを送信し、コンピューティングデバイスは、更新されたクエリを利用してそれらのアクションのログ606を照会し、それらのクエリロガー604を更新することができ、更新されたクエリは、コンピューティングデバイスの挙動分析エンジン608および分類器と連携して利用されて、挙動モデリングおよびアプリケーションの分析を更新することができる。このようにして、挙動更新情報、挙動ベクトルセット、クエリ、ならびにサーバ620から受信された他のデータに基づいて、コンピューティングデバイス602は、コンピューティングデバイス602自体によって実行された挙動分析を周期的に更新することができる。
したがって、サーバ620は、一群のコンピューティングデバイス602からの挙動レポートを集約することによって、クラウドソーシングサーバとして動作する。本質的に、サーバ620は、一群のコンピューティングデバイス602からの協調的なアップロードから得られた良性および悪性の挙動モデルに対して、アプリケーションの挙動を評価することができる。経時的に大量の入力セットを収集することによって、より正確で更新された挙動モデルが迅速な方式で生成され、すべての動作中のコンピューティングデバイス602に伝えることができる。個々のコンピューティングデバイスによる偏りを説明することができる。その上、個々のコンピューティングデバイス602は、他のコンピューティングデバイスからの一群のレポートに基づいて生成された挙動モデルを活用することができる。また、アプリケーションがマルウェアであると判定されたとき、コンピューティングデバイス602のすべてにこれを通知することができる。さらに、マルウェア検出のための個々のコンピューティングデバイス602上の監視および計算のオーバーヘッドは、クラウドベースのサーバ620を利用することによって低減することができる。特に、協調的な分析を利用することによって、大量の挙動ベクトルおよびログは、時宜を得たマルウェア検出用に、一群のコンピューティングデバイス602からサーバ620によって蓄積することができる。したがって、結果として得られた挙動モデルは、正確(低い誤検出および検出漏れ)と一般的(多種多様な異なるタイプのマルウェアを捕捉できる)の両方であり得る。各コンピューティングデバイス602での挙動分析エンジン608用の挙動モデルは一意であることに留意されたい。さらに、サーバ620から受信された特徴全体は、コンピューティングデバイス602用に一意に修正される。
一例として、一群のコンピューティングデバイス602をサーバ620と協調させる際に、3つの異なるステップである、初期化、協調的な挙動モデリングおよびマルウェア検出、ならびに挙動モデルの更新を利用することができる。初期化に関して、(たとえば、コンピューティングデバイス602用の)挙動分析エンジンおよび分類器は、一組の既知の悪いアプリケーション、すなわちマルウェア、および一組の既知の良いアプリケーションによって訓練することができる。訓練プロセスは、標準の監修された機械学習技法を使用して遂行することができる。コンピューティングデバイス602がユーザに提供される前に、コンピューティングデバイス602は、その挙動分析エンジン608用の最新の挙動モデルをサーバ620から得る必要があり得る。加えて、サーバ620は、挙動分析エンジンを利用してAPIログから、記録されるべきAPIのリスト、および挙動ベクトル(たとえば、アプリケーションの挙動の簡潔な表現)をどのように生成するかに関する指示を、コンピューティングデバイス602に提供することができる。
協調的な挙動モデリングおよびマルウェア検出に関して、前述されたように、ユーザが自分のコンピューティングデバイス602を利用しているとき、コンピューティングデバイス602は、動作中のアプリケーションごとに挙動分析エンジン608を利用して、挙動ベクトル610を周期的に監視および計算し、分類器を利用することによって、このアプリケーションがマルウェアと同様に挙動するか、良性アプリケーションと同様に挙動するかを判定することができる。コンピューティングデバイス602によって悪意があると分類されたアプリケーションは、サーバ620によって確認され得るし、コンピューティングデバイス602から削除される(ブロック632)か、またはインストールを拒否されるべきである。良性として分類されたアプリケーションは、完全なアクセス許可を得て動作することができる。疑わしいと判定された(ブロック612)、たとえば、コンピューティングデバイス602自体によってローカルに疑惑を検出されたが、さらなる調査が必要なアプリケーションの場合、これらのケースでは、コンピューティングデバイス602は、アプリケーションを制約付きの環境に入れることができ、制限されたアクセスしか許可されない場合がある。次いで、このアプリケーションは、前述されたように、さらなる調査のためにサーバ620に報告することができる。
挙動モデルの更新に関して、協調作業を可能にするために、コンピューティングデバイス602は、前述されたように、それらの挙動ベクトル610および他のデータをサーバ620に周期的にアップロードする。サーバ620は、さらにコンピューティングデバイス602から元のログも要求することができる。リソースが豊富なマシン(またはクラスタ)であり得るサーバ620は、挙動分析エンジン626およびグローバル分類器628を介して、徹底的な分析を実行し、次いで挙動モデルを更新することができる。更新後モデルが著しく変化した場合、サーバ620は、コンピューティングデバイス602の挙動分析エンジン608および分類器に更新された挙動モデルを強要することができる。より多くのデータが収集されるにつれて、変化は低頻度になり得るし、モデルは安定する。
したがって、前述されたシステムは、静的分析およびシグネチャベースのアンチウイルス手法と補完関係にある、保護の追加の層として働くことができる。1つの特定の利益に関して、アンチウイルスのデータベースに追加されていないマルウェア、またはインストール時に良性であるように見せかけるマルウェアを検出することができる。特に、サーバ620は、一群のコンピューティングデバイス602からの挙動レポートを集約することによって、クラウドソーシングサーバとして動作する。本質的に、サーバ620は、一群のコンピューティングデバイス602からの協調的なアップロードから得られた良性および悪性の挙動モデルに対して、アプリケーションの挙動を評価することができる。経時的に大量の入力セットを収集することによって、より正確で更新された挙動モデルが迅速な方式で生成され、すべての動作中のコンピューティングデバイス602に伝えることができる。
コンピューティングデバイスまたはサーバがモバイルデバイスまたはワイヤレスデバイスである場合、それは、任意の適切なワイヤレス通信技術に基づくか、または場合によってはそれをサポートするワイヤレスネットワークにより、1つまたは複数のワイヤレス通信リンクを介して通信することができることを諒解されたい。たとえば、いくつかの態様では、コンピューティングデバイスまたはサーバは、ワイヤレスネットワークを含むネットワークと関連付けることができる。いくつかの態様では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば、超広帯域ネットワーク)を備えることができる。いくつかの態様では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを備えることができる。ワイヤレスデバイスは、たとえばCDMA、TDMA、OFDM、OFDMA、WiMAX、およびWi-Fiなどの多種多様なワイヤレス通信技術、プロトコル、または規格のうちの1つまたは複数をサポートするか、または場合によっては使用することができる。同様に、ワイヤレスデバイスは、多種多様な対応する変調方式または多重化方式のうちの1つまたは複数をサポートするか、または場合によっては使用することができる。したがって、ワイヤレスデバイスは、上記または他のワイヤレス通信技術を使用して、1つまたは複数のワイヤレス通信リンクを確立し、それを介して通信するのに適した構成要素(たとえばエアインターフェース)を含むことができる。たとえば、デバイスは、ワイヤレス媒体を介した通信を容易にする様々な構成要素(たとえば、信号発生器および信号処理器)を含むことができる、関連する送信機および受信機の構成要素(たとえば、送信機および受信機)を有するワイヤレス送受信機を備えることができる。よく知られているように、モバイルワイヤレスデバイスは、したがって、他のモバイルデバイス、携帯電話、他の有線およびワイヤレスのコンピュータ、インターネットウェブサイトなどとワイヤレスに通信することができる。
本明細書に記載された技法は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元接続(OFDMA)、シングルキャリアFDMA(SC-FDMA)および他のシステムなどの様々なワイヤレス通信システムに使用することができる。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。CDMAシステムは、ユニバーサル地上無線アクセス(UTRA)、CDMA2000などの無線技術を実装することができる。UTRAは、広帯域CDMA(W-CDMA)およびCDMAの他の変形形態を含む。CDMA2000は、暫定規格である(IS)-2000規格、IS-95規格、およびIS-856規格を包含する。TDMAシステムは、モバイル通信用グローバルシステム(GSM(登録商標))などの無線技術を実装することができる。OFDMAシステムは、発展型ユニバーサル地上無線アクセス(Evolved UTRAまたはE-UTRA)、ウルトラモバイルブロードバンド(UMB)、電気電子技術者協会(IEEE)802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE802.20、Flash-OFDM(登録商標)などの無線技術を実装することができる。ユニバーサル地上無線アクセス(UTRA)およびE-UTRAは、ユニバーサルモバイル電気通信システム(UMTS)の一部である。3GPPロングタームエボリューション(LTE)は、ダウンリンクにOFDMAを採用し、アップリンクにSC-FDMAを採用する、E-UTRAを使用するUMTSの近く公開されるリリースである。UTRA、E-UTRA、UMTS、LTE、およびGSM(登録商標)は、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記述されている。CDMA2000およびUMBは、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記述されている。
本明細書の教示は、多種多様な装置(たとえば、デバイス)に組み込む(たとえば、それらの内部に実装するか、またはそれらによって実行する)ことができる。たとえば、本明細書で教示された1つまたは複数の態様は、電話(たとえば、携帯電話)、携帯情報端末(「PDA」)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、タブレット、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤピースなど)、医療用デバイス(たとえば、生体センサ、心拍数モニタ、歩数計、EKGデバイスなど)、ユーザI/Oデバイス、コンピュータ、サーバ、POSデバイス、エンターテインメントデバイス、セットトップボックス、または任意の他の適切なデバイスに組み込むことができる。これらのデバイスは、様々な電力要件およびデータ要件を有する場合がある。
いくつかの態様では、ワイヤレスデバイスは、通信システム用のアクセスデバイス(たとえば、Wi-Fiアクセスポイント)を備えることができる。そのようなアクセスデバイスは、たとえば、有線またはワイヤレスの通信リンクを介した、別のネットワーク(たとえば、インターネットまたはセルラーネットワークなどのワイドエリアネットワーク)への接続を提供することができる。したがって、アクセスデバイスは、別のデバイス(たとえば、Wi-Fi局)が他のネットワークまたは何らかの他の機能にアクセスすることを可能にすることができる。加えて、デバイスのうちの1つまたは両方は携帯型であるか、または場合によっては比較的非携帯型であり得ることを諒解されたい。
情報および信号は、多種多様な異なる技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
本明細書で開示された実施形態に関連して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者はさらに諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して記載された。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、記載された機能を特定の適用例ごとに様々な方法で実装できるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
本明細書で開示された実施形態に関連して記載された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書に記載された機能を実行するように設計されたそれらの任意の組合せで、実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装することができる。
本明細書で開示された実施形態に関連して記載された方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC内に常駐することができる。ASICはユーザ端末内に常駐することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として常駐することができる。
1つまたは複数の例示的な実施形態では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。コンピュータプログラム製品としてソフトウェアに実装された場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するために使用でき、コンピュータによってアクセスできる、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
開示された実施形態の上記の説明は、任意の当業者が本発明を作製または使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書に定義された一般原理は、本発明の趣旨または範囲を逸脱することなく他の実施形態に適用することができる。したがって、本発明は、本明細書に示された実施形態に限定されるものではなく、本明細書で開示された原理および新規の特徴に一致する最大の範囲を与えられるものである。
100 システム
102 コンピューティングデバイス
104 プロセッサ
106 メモリ
108 クエリロガー
110 インターフェース
120 アクションのログ
122 挙動分析エンジン
130 挙動ベクトル
132 分類器
140 良性
150 マルウェア
160 ニュースアプリケーション
162 ゲームアプリケーション
164 ゲームアプリケーション
166 ゲームアプリケーション

Claims (10)

  1. ロガーと、挙動分析エンジンと、機械学習分類器とを備えるモバイルコンピューティングデバイスで動作するアプリケーションを分析する方法であって、
    前記ロガーによって、複数のアプリケーションの各々についてのアクションをアクションのログに記録するステップと、
    前記挙動分析エンジンによって、前記アクションのログに記録された前記アクションに基づいて、前記複数のアプリケーションの各アプリケーションについての挙動ベクトルを生成するステップであって、各アプリケーションについての挙動ベクトルは、各アプリケーションの挙動を特徴づける複数の数値を含み、前記挙動ベクトルの前記複数の数値は、サーバから得られた挙動モデルにより生成され、前記挙動モデルは、一群のモバイルコンピューティングデバイスから挙動レポートを収集する前記サーバによって生成される、ステップと、
    前記機械学習分類器によって、各アプリケーションについての各挙動ベクトルによって特徴づけられる挙動が良性であるかどうかを前記挙動ベクトルの前記複数の数値に基づいて決定するステップと
    を含む、方法。
  2. アプリケーションに関連付けられた前記挙動ベクトルによって特徴付けられた前記挙動が良性ではないと判定したことに応じて、前記アプリケーションを使用から削除または制限するステップ
    をさらに含む、請求項1に記載の方法。
  3. 各アプリケーションについての前記挙動ベクトルを生成するステップが、
    前記アクションのログの一組のクエリに基づいて各挙動ベクトルを生成するステップ
    を含む、請求項1に記載の方法。
  4. 前記アクションのログの前記一組のクエリに基づいて前記挙動ベクトルを生成するステップが、
    存在クエリ、順序クエリ、およびカテゴリクエリのうちの少なくとも1つに基づいて各挙動ベクトルを生成するステップであって、存在クエリは前記アクションのログ中のアクションセットの存在を参照しており、順序クエリは一連のアクションの発生回数を参照しており、カテゴリクエリは前記アプリケーションがあるカテゴリに属するかどうかを参照している、ステップ
    を含む、請求項3に記載の方法。
  5. 前記アクションのログの前記一組のクエリに基づいて各挙動ベクトルを生成するステップが、
    実際の挙動および予想された挙動のうちの1つのクエリに基づいて少なくとも1つの挙動ベクトルを生成するステップ
    をさらに含む、請求項4に記載の方法。
  6. 請求項1から5のいずれか一項に記載の方法をコンピューティングデバイスのプロセッサに実行させるように構成された、プロセッサ実行可能ソフトウェア命令を記憶した、非一時的コンピュータ可読記憶媒体。
  7. モバイルコンピューティングデバイスであって、
    複数のアプリケーションの各々についてのアクションをアクションのログに記録するための手段と、
    記アクションのログに記録された前記アクションに基づいて、前記複数のアプリケーションの各アプリケーションについての挙動ベクトルを生成するための手段であって、各アプリケーションについての挙動ベクトルは、各アプリケーションの挙動を特徴づける複数の数値を含み、前記挙動ベクトルの前記複数の数値は、サーバから得られた挙動モデルにより生成され、前記挙動モデルは、一群のモバイルコンピューティングデバイスから挙動レポートを収集する前記サーバによって生成される、手段と、
    各アプリケーションについての各挙動ベクトルによって特徴づけられる挙動が良性であるかどうかを前記挙動ベクトルの前記複数の数値に基づいて決定する手段と
    を備える、モバイルコンピューティングデバイス。
  8. アプリケーションに関連付けられた前記挙動ベクトルによって特徴付けられた前記挙動が良性ではないと判定したことに応じて、前記アプリケーションを使用から削除または制限するための手段
    をさらに備える、請求項7に記載のモバイルコンピューティングデバイス。
  9. 各アプリケーションについての前記挙動ベクトルを生成するための手段が、
    前記アクションのログの一組のクエリに基づいて各挙動ベクトルを生成するための手段
    を備える、請求項7に記載のモバイルコンピューティングデバイス。
  10. 前記アクションのログの前記一組のクエリに基づいて前記挙動ベクトルを生成するための手段が、
    存在クエリ、数量クエリ、順序クエリ、およびカテゴリクエリのうちの少なくとも1つに基づいて各挙動ベクトルを生成するための手段であって、存在クエリは前記アクションのログ中のアクションセットの存在を参照しており、順序クエリは一連のアクションの発生回数を参照しており、カテゴリクエリは前記アプリケーションがあるカテゴリに属するかどうかを参照している、手段と、
    実際の挙動および予想された挙動のうちの1つのクエリに基づいて少なくとも1つの挙動ベクトルを生成するための手段と
    を備える、請求項9に記載のモバイルコンピューティングデバイス。
JP2015501765A 2012-03-19 2013-03-14 マルウェアを検出するコンピューティングデバイス Active JP6228966B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/424,251 US9832211B2 (en) 2012-03-19 2012-03-19 Computing device to detect malware
US13/424,251 2012-03-19
PCT/US2013/031184 WO2013142228A1 (en) 2012-03-19 2013-03-14 Computing device to detect malware

Publications (3)

Publication Number Publication Date
JP2015511047A JP2015511047A (ja) 2015-04-13
JP2015511047A5 JP2015511047A5 (ja) 2016-04-07
JP6228966B2 true JP6228966B2 (ja) 2017-11-08

Family

ID=48045057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015501765A Active JP6228966B2 (ja) 2012-03-19 2013-03-14 マルウェアを検出するコンピューティングデバイス

Country Status (6)

Country Link
US (2) US9832211B2 (ja)
EP (1) EP2828789A1 (ja)
JP (1) JP6228966B2 (ja)
KR (1) KR102057565B1 (ja)
CN (2) CN110781496A (ja)
WO (1) WO2013142228A1 (ja)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973137B1 (en) * 2012-02-29 2015-03-03 Symantec Corporation Systems and methods for detecting illegitimate out-of-band authentication attempts
US9832211B2 (en) 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US20130304677A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9690635B2 (en) * 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US20140006616A1 (en) * 2012-06-29 2014-01-02 Nokia Corporation Method and apparatus for categorizing application access requests on a device
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9298916B2 (en) * 2012-12-10 2016-03-29 Lookout, Inc. Method and apparatus for enhanced file system monitoring on mobile communications devices
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
US9330256B2 (en) * 2013-02-01 2016-05-03 Qualcomm Incorporated Location based process-monitoring
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9519775B2 (en) 2013-10-03 2016-12-13 Qualcomm Incorporated Pre-identifying probable malicious behavior based on configuration pathways
US9213831B2 (en) * 2013-10-03 2015-12-15 Qualcomm Incorporated Malware detection and prevention by monitoring and modifying a hardware pipeline
US9444804B2 (en) * 2013-11-25 2016-09-13 Roy S. Melzer Dynamic security question generation
US9652362B2 (en) * 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
CN105874463A (zh) * 2013-12-30 2016-08-17 诺基亚技术有限公司 用于恶意软件检测的方法和装置
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device
CN103955645B (zh) 2014-04-28 2017-03-08 百度在线网络技术(北京)有限公司 恶意进程行为的检测方法、装置及系统
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9710752B2 (en) * 2014-09-11 2017-07-18 Qualcomm Incorporated Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
US20160078362A1 (en) * 2014-09-15 2016-03-17 Qualcomm Incorporated Methods and Systems of Dynamically Determining Feature Sets for the Efficient Classification of Mobile Device Behaviors
CN104573515A (zh) 2014-12-19 2015-04-29 百度在线网络技术(北京)有限公司 一种病毒处理方法、装置和系统
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US9378364B1 (en) * 2014-12-27 2016-06-28 Intel Corporation Technologies for managing security threats to a computing system utilizing user interactions
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9680646B2 (en) * 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
US9875357B2 (en) * 2015-02-06 2018-01-23 Qualcomm Incorporated Methods and systems for detecting fake user interactions with a mobile device for improved malware protection
US20160232353A1 (en) * 2015-02-09 2016-08-11 Qualcomm Incorporated Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US10659479B2 (en) * 2015-03-27 2020-05-19 Mcafee, Llc Determination of sensor usage
US9477837B1 (en) 2015-03-31 2016-10-25 Juniper Networks, Inc. Configuring a sandbox environment for malware testing
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
US10104107B2 (en) * 2015-05-11 2018-10-16 Qualcomm Incorporated Methods and systems for behavior-specific actuation for real-time whitelisting
US10021123B2 (en) * 2015-06-29 2018-07-10 Qualcomm Incorporated Customized network traffic models to detect application anomalies
US20170024660A1 (en) * 2015-07-23 2017-01-26 Qualcomm Incorporated Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
US9544798B1 (en) * 2015-07-23 2017-01-10 Qualcomm Incorporated Profiling rogue access points
US20170046510A1 (en) * 2015-08-14 2017-02-16 Qualcomm Incorporated Methods and Systems of Building Classifier Models in Computing Devices
US9699205B2 (en) 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10255434B2 (en) * 2015-09-17 2019-04-09 Qualcomm Incorporated Detecting software attacks on processes in computing devices
CN105223455B (zh) * 2015-11-11 2018-04-10 无锡中感微电子股份有限公司 安全监测系统、方法以及便携式电子设备
US9838405B1 (en) * 2015-11-20 2017-12-05 Symantec Corporation Systems and methods for determining types of malware infections on computing devices
SE542513C2 (en) 2015-12-15 2020-05-26 Saab Ab A method for authenticating software
US10333949B1 (en) * 2016-03-15 2019-06-25 Symantec Corporation Proactive protection of mobile operating system malware via blocking of infection vector
CN105868394A (zh) * 2016-04-19 2016-08-17 中山大学 一种基于web和日志信息的app分类方法及其装置
US20170308701A1 (en) * 2016-04-22 2017-10-26 Qualcomm Incorporated Methods and Systems for Intelligently Detecting Malware and Attacks on Client Computing Devices and Corporate Networks
CN107025547B (zh) * 2016-09-19 2020-10-16 创新先进技术有限公司 支付通道检测方法、装置及终端
CN106845228A (zh) * 2016-12-28 2017-06-13 微梦创科网络科技(中国)有限公司 一种检测恶意程序的方法和装置
EP3563555A1 (en) * 2016-12-29 2019-11-06 Avast Software S.R.O. System and method for detecting malicious device by using a behavior analysis
CN106803039B (zh) * 2016-12-30 2019-09-17 北京神州绿盟信息安全科技股份有限公司 一种恶意文件的同源判定方法及装置
US10491616B2 (en) * 2017-02-13 2019-11-26 Microsoft Technology Licensing, Llc Multi-signal analysis for compromised scope identification
US10581887B1 (en) * 2017-05-31 2020-03-03 Ca, Inc. Employing a relatively simple machine learning classifier to explain evidence that led to a security action decision by a relatively complex machine learning classifier
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
KR102033354B1 (ko) 2017-11-01 2019-10-17 국민대학교산학협력단 Cnn 학습 기반의 멀웨어 분석 장치, 이를 수행하는 cnn 학습 기반의 멀웨어 분석 방법 및 이를 저장하는 기록매체
US10567156B2 (en) 2017-11-30 2020-02-18 Bank Of America Corporation Blockchain-based unexpected data detection
KR101851351B1 (ko) * 2017-12-07 2018-04-23 (주)시큐레이어 악성 코드 분석을 수행하는 방법 및 클러스터링 서버
CN108491720B (zh) * 2018-03-20 2023-07-14 腾讯科技(深圳)有限公司 一种应用识别方法、系统以及相关设备
US10834112B2 (en) 2018-04-24 2020-11-10 At&T Intellectual Property I, L.P. Web page spectroscopy
US10771485B2 (en) * 2018-07-12 2020-09-08 Bank Of America Corporation Systems and methods for cross-channel electronic communication security with dynamic targeting
JP7198617B2 (ja) * 2018-09-21 2023-01-04 株式会社日立ハイテクソリューションズ セキュリティシステム
US10880328B2 (en) * 2018-11-16 2020-12-29 Accenture Global Solutions Limited Malware detection
CN109583567A (zh) * 2018-11-29 2019-04-05 四川大学 一种基于CNN的Web自动扫描器指纹识别模型
CN109726601A (zh) * 2018-12-29 2019-05-07 360企业安全技术(珠海)有限公司 违规行为的识别方法及装置、存储介质、计算机设备
US12001548B2 (en) * 2019-06-25 2024-06-04 Paypal, Inc. Threat detection using machine learning query analysis
US11616795B2 (en) * 2019-08-23 2023-03-28 Mcafee, Llc Methods and apparatus for detecting anomalous activity of an IoT device
JP7283552B2 (ja) * 2019-09-27 2023-05-30 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US11687717B2 (en) * 2019-12-03 2023-06-27 Morgan State University System and method for monitoring and routing of computer traffic for cyber threat risk embedded in electronic documents
JP2022007238A (ja) * 2020-06-26 2022-01-13 パナソニックIpマネジメント株式会社 情報処理装置、情報処理方法及びプログラム
US11513878B2 (en) * 2020-06-26 2022-11-29 Acronis International Gmbh Systems and methods for detecting behavioral anomalies in applications
WO2022137403A1 (ja) * 2020-12-23 2022-06-30 日本電気株式会社 情報収集制御装置、情報収集システム、情報収集制御方法、及び情報収集制御プログラム
US11818219B2 (en) * 2021-09-02 2023-11-14 Paypal, Inc. Session management system
CN116414269B (zh) * 2023-06-06 2023-10-20 荣耀终端有限公司 流氓应用的识别方法和电子设备

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150045B2 (en) * 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
JP4142868B2 (ja) * 2001-12-06 2008-09-03 日本情報通信コンサルティング株式会社 病症データ集中収集管理システム、サーバ装置
US7509679B2 (en) 2002-08-30 2009-03-24 Symantec Corporation Method, system and computer program product for security in a global computer network transaction
US20040205419A1 (en) * 2003-04-10 2004-10-14 Trend Micro Incorporated Multilevel virus outbreak alert based on collaborative behavior
JP2006146600A (ja) * 2004-11-19 2006-06-08 Ntt Docomo Inc 動作監視サーバ、端末装置及び動作監視システム
US8161554B2 (en) * 2005-04-26 2012-04-17 Cisco Technology, Inc. System and method for detection and mitigation of network worms
US20070074289A1 (en) 2005-09-28 2007-03-29 Phil Maddaloni Client side exploit tracking
US7809670B2 (en) 2005-12-09 2010-10-05 Microsoft Corporation Classification of malware using clustering that orders events in accordance with the time of occurance
US8321941B2 (en) 2006-04-06 2012-11-27 Juniper Networks, Inc. Malware modeling detection system and method for mobile platforms
CN200962655Y (zh) 2006-09-08 2007-10-17 上海尚茂电子技术有限公司 一种用于移动设备的活动图像压缩系统
US8201244B2 (en) * 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
JP4232828B2 (ja) * 2007-02-01 2009-03-04 沖電気工業株式会社 アプリケーション分類方法、ネットワーク異常検知方法、アプリケーション分類プログラム、ネットワーク異常検知プログラム、アプリケーション分類装置、ネットワーク異常検知装置
US9137664B2 (en) * 2007-05-01 2015-09-15 Qualcomm Incorporated Application logging interface for a mobile device
US8713680B2 (en) 2007-07-10 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
US8448248B2 (en) * 2007-07-23 2013-05-21 Samsung Electronics Co., Ltd. Apparatus and method for repairing computer system infected by malware
KR20090027000A (ko) * 2007-09-11 2009-03-16 한국전자통신연구원 상황 인식 시스템 환경에서 발생한 이벤트 로그에 기초하여사용자 행동 패턴을 구축하는 장치 및 방법
IL191744A0 (en) * 2008-05-27 2009-02-11 Yuval Elovici Unknown malcode detection using classifiers with optimal training sets
US8763071B2 (en) 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
KR101010302B1 (ko) * 2008-12-24 2011-01-25 한국인터넷진흥원 Irc 및 http 봇넷 보안 관제를 위한 관리 시스템 및 그 방법
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
US20100192222A1 (en) 2009-01-23 2010-07-29 Microsoft Corporation Malware detection using multiple classifiers
JP2010262609A (ja) 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法
JP2010267128A (ja) 2009-05-15 2010-11-25 Ntt Docomo Inc 解析システム、解析装置、検知方法、解析方法及びプログラム
US8549641B2 (en) 2009-09-03 2013-10-01 Palo Alto Research Center Incorporated Pattern-based application classification
US8739283B1 (en) * 2009-12-07 2014-05-27 Trend Micro, Inc. Automatic generation of malware clean pattern
US8474040B2 (en) * 2010-02-19 2013-06-25 International Business Machines Corporation Environmental imaging
US20110219449A1 (en) * 2010-03-04 2011-09-08 St Neitzel Michael Malware detection method, system and computer program product
KR101051641B1 (ko) 2010-03-30 2011-07-26 주식회사 안철수연구소 이동통신 단말 및 이를 이용한 행위기반 악성 코드 진단 방법
JP5478384B2 (ja) * 2010-06-24 2014-04-23 Kddi株式会社 アプリケーション判定システムおよびプログラム
RU2444056C1 (ru) * 2010-11-01 2012-02-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ ускорения решения проблем за счет накопления статистической информации
US9088601B2 (en) 2010-12-01 2015-07-21 Cisco Technology, Inc. Method and apparatus for detecting malicious software through contextual convictions, generic signatures and machine learning techniques
RU2454714C1 (ru) * 2010-12-30 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов
US8392408B1 (en) * 2011-05-04 2013-03-05 Google Inc. Coordinating successive search queries using a query cursor
US8555388B1 (en) 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
US9158919B2 (en) * 2011-06-13 2015-10-13 Microsoft Technology Licensing, Llc Threat level assessment of applications
EP2610776B1 (en) 2011-09-16 2019-08-21 Veracode, Inc. Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9832211B2 (en) 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware

Also Published As

Publication number Publication date
US9973517B2 (en) 2018-05-15
EP2828789A1 (en) 2015-01-28
WO2013142228A1 (en) 2013-09-26
US9832211B2 (en) 2017-11-28
CN104205111A (zh) 2014-12-10
US20140123289A1 (en) 2014-05-01
JP2015511047A (ja) 2015-04-13
US20130247187A1 (en) 2013-09-19
KR102057565B1 (ko) 2019-12-19
CN110781496A (zh) 2020-02-11
KR20140137003A (ko) 2014-12-01

Similar Documents

Publication Publication Date Title
JP6228966B2 (ja) マルウェアを検出するコンピューティングデバイス
Schmidt et al. Monitoring smartphones for anomaly detection
US9357397B2 (en) Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
US10104107B2 (en) Methods and systems for behavior-specific actuation for real-time whitelisting
Shabtai et al. Mobile malware detection through analysis of deviations in application network behavior
US9910984B2 (en) Methods and systems for on-device high-granularity classification of device behaviors using multi-label models
US9606893B2 (en) Methods and systems of generating application-specific models for the targeted protection of vital applications
US9774614B2 (en) Methods and systems for side channel analysis detection and protection
US9609456B2 (en) Methods, devices, and systems for communicating behavioral analysis information
EP3161711B1 (en) Methods and systems for thwarting side channel attacks
US20170337372A1 (en) Maliciousness Categorization of Application Packages Based on Dynamic Analysis
JP2017505944A (ja) マルウェア検出検査方法及び装置
CN112513848A (zh) 隐私保护内容分类
Shrivastava et al. Android application behavioural analysis for data leakage
Kandukuru et al. Android malicious application detection using permission vector and network traffic analysis
Stirparo et al. In-memory credentials robbery on android phones
Su et al. An Informative and Comprehensive Behavioral Characteristics Analysis Methodology of Android Application for Data Security in Brain‐Machine Interfacing
Tokmak et al. Deep Learning Based Malware Detection Tool Development for Android Operating System
US20240070268A1 (en) Aggregate Event Profiles for Detecting Malicious Mobile Applications
EP4373031A1 (en) System and method for recognizing undersirable calls
US20240296222A1 (en) Antimalware Systems and Methods Using Optimal Triggering of Artificial Intelligence Modules
Mazlan Feature selection to enhance android malware detection using modified term frequency-inverse document frequency (MTF-IDF)
Κουλιαρίδης _A data collection as a service of mobile malware behavioral patterns
Nasman Malware Detection Based on Permissions on Android Platform Using Data Mining

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20140929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6228966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250