JP2017505944A - マルウェア検出検査方法及び装置 - Google Patents

マルウェア検出検査方法及び装置 Download PDF

Info

Publication number
JP2017505944A
JP2017505944A JP2016541324A JP2016541324A JP2017505944A JP 2017505944 A JP2017505944 A JP 2017505944A JP 2016541324 A JP2016541324 A JP 2016541324A JP 2016541324 A JP2016541324 A JP 2016541324A JP 2017505944 A JP2017505944 A JP 2017505944A
Authority
JP
Japan
Prior art keywords
application
behavior
pattern
malware detection
call
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
JP2016541324A
Other languages
English (en)
Other versions
JP6188956B2 (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 JP2017505944A publication Critical patent/JP2017505944A/ja
Application granted granted Critical
Publication of JP6188956B2 publication Critical patent/JP6188956B2/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Abstract

オフラインマルウェア検出検査、及び追加的にリアルタイムマルウェア検出検査を行うアプローチが提供される。オフラインマルウェア検出検査は、アプリケーションの関数呼出しマップをオフラインで検出すること;関数呼出しマップはアプリケーションが呼び出す関数間の呼出し関係を記録すること;関数呼出しマップからアプリケーションの関数呼出しのパターンを抽出すること;抽出されたパターンを正常なアプリケーションの基本パターンと比較することを含んでもよい。リアルタイムマルウェア検出検査は:実環境でアプリケーションを実行すること;アプリケーションの実行中にアプリケーションの挙動を記録すること;記録された挙動から挙動パターンを抽出すること;抽出された挙動パターンを正常なアプリケーションの基本パターン又は以前に記録されたアプリケーションのパターンと比較することを含んでもよい。【選択図】図2

Description

本発明は、概してコンピュータ及びネットワークのセキュリティに関し、より具体的には、マルウェア検出検査に関する。
背景
モバイルデバイスは様々なアプリケーションを実行するためにオープンプラットフォームに発展している。アプリケーションは「アプリ」とも呼ばれるが、一般にモバイルデバイス等のコンピュータデバイスで実行可能なソフトウェアアプリケーションを指す。アプリ、特にモバイルアプリは、例えば、インターネットを通じて豊富な情報に即座にアクセスしたり様々な機能を提供したりすることによって、人々の日常活動の多くを向上させている。モバイルアプリの急速な成長は、将来のモバイルインターネットとその経済的な成功に対する決定的な役割を担っている。現在では百万種を超えるモバイルアプリがあり、毎日2000種の新アプリが市場に出されている。
しかし、モバイルアプリの中には不正やバグがあったり、不測の動作をしたり、モバイルデバイスにセキュリティホールを開けたりするものもある。加えて、マルウェアアプリは、モバイル・無線通信ネットワークノードだけでなくインターネットに接続する他のホストにとっても脅威となりうる。モバイルマルウェアは、モバイルデバイスにおいて悪意のある挙動を示す悪質なソフトウェアと見做されている。こうしたモバイルマルウェアの悪質な挙動は、大きくはモバイルデバイスに寄生するウイルスやボットネット、ワーム、トロイの木馬に分類される。これらは当初、モバイル通信システムのセキュリティ脆弱性を浮き彫りにしていた。しかし最近では、悪意あるモバイルコードがユーザの本人証明を盗んだり、ユーザの情報を売ったり、コンテンツ配信を操作したり、SMSスパムを送信したりする等によって、大規模な経済的利益を得る手段と化している。モバイルアプリが購入するユーザにとって信頼できるものであるということは、アプリとモバイルインターネットの最終的な成功に影響を与え、モバイルネットワーキング関連の経済にも影響を及ぼす極めて重大な問題となっている。
したがって、マルウェアを効果的かつ効率的に検出可能な方法及びシステムを提供することは、本技術分野において先進的なことである。
例示的実施形態
前述の問題を解消し、先行技術から読み取って理解される限界を克服するために、オフラインと実行時の何れかまたは両方でマルウェアを効果的かつ効率的に検出するアプローチを開示してゆく。
ある実施形態に従う方法は、アプリケーションに関するオフラインマルウェア検出検査を含む。オフラインマルウェア検出検査は、アプリケーションの少なくとも1つの関数呼出しマップをオフラインで検出することであって、関数呼出しマップは前記アプリケーションが呼び出す関数間における呼出しの関係を記録する、前記検出することと;前記少なくとも1つの関数呼出しマップから前記アプリケーションの関数呼出しのパターンを抽出することと;前記抽出されたパターンを正常なアプリケーションの少なくとも1つの基本パターンと比較することを含む。オフラインマルウェア検出検査の結果は、前記アプリケーションの潜在的不正の脅威を示すように告知されてもよい。
例示的実施形態によっては、前記検出することは、仮想環境で前記アプリケーションのコードの少なくとも一部を実行することと、前記アプリケーションの関数呼出しのログを獲得することを含んでもよい。前記抽出することは、前記ログを解析するためにデータマイニング法を使用することを含んでもよい。
例示的実施形態によっては、前記少なくとも1つの関数呼出しマップは、次の3種類の関数呼出しマップ:前記実行中に前記アプリケーションが呼出し可能な関数間の全ての呼出し関係を含む完全呼出しマップ;特定の異なる時点での呼出しマップであって、前記実行中に前記アプリケーションが前記異なる時点よりも前に呼び出した関数間の呼出し関係を含む、前記特定の異なる時点での呼出しマップ;及び前記実行中に前記アプリケーションが特定の時間内に呼び出した関数間の呼出し関係を含む部分呼出しマップの少なくとも1つを含んでもよい。
例示的実施形態によっては、前記オフラインマルウェア検出検査は、前記関数呼出しマップのログを獲得する関数モジュールの追加によって、前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることと、前記ログを獲得するために、前記仮想環境で前記再コンパイルされたコードを実行することを更に含んでもよい。
例示的実施形態によっては、前記方法は、前記アプリケーションの評価に従って前記オフラインマルウェア検出検査をスケジュールすることを更に含んでもよい。高評価アプリケーションは、低評価アプリケーションよりも優先して前記オフラインマルウェア検出検査を受けるようにスケジュールされてもよい。
例示的実施形態によっては、前記方法は、前記アプリケーションが実環境で実行される間に前記アプリケーションに関するリアルタイムマルウェア検出検査を行うことを更に含んでもよい。リアルタイムマルウェア検出検査は、前記アプリケーションの実行中に前記アプリケーションの挙動を記録することと;前記記録された挙動から挙動パターンを抽出することと;前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較することを含む。前記記録された挙動は、次の3種類の挙動:前記アプリケーションの関数呼出しに関連する挙動;前記アプリケーションが行ったローカルデータアクセスに関連する挙動;及び前記アプリケーションが起こした上り及び/又は下りトラフィックに関連する挙動の少なくとも1つを含んでもよい。前記リアルタイムマルウェア検出検査は、前記アプリケーションの挙動のログを獲得する関数モジュールの追加によって前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることを更に含んでもよい。
別の実施形態に従う方法は、実環境でアプリケーションを実行することと;前記アプリケーションの実行中に前記アプリケーションの挙動を記録することと;前記記録された挙動から挙動パターンを抽出することと;前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較することを含む。
別の実施形態に従う装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリを備え、前記少なくとも1つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、前記装置に少なくとも部分的に、実環境でアプリケーションを実行することと;前記アプリケーションの実行時における前記アプリケーションの挙動を記録することと;前記記録された挙動から挙動パターンを抽出することと;前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較すること
を実行させるように構成される。
別の実施形態に従うコンピュータ可読記憶媒体は、1つ又は複数のプロセッサにより実行されると、装置に、前述の方法の1つを少なくとも部分的に実行させる、1つ又は複数の命令の1つ又は複数のシーケンスを担持する。
別の実施形態に従う装置は、前述の方法を実行する手段を備える。
コンピュータプログラム製品は、1つ又は複数のプロセッサにより実行されると、装置に前述の方法の1つを少なくとも実行させる、1つ又は複数の1つ又は複数のシーケンスを含む。
本発明のさらなる側面や特徴、利点が、以下の詳細説明によって容易に明らかになる。以下の詳細説明では、本発明を実施するための最良の形態であると考えられているものも含め、種々の具体的な実施形態や実装形態が例示される。本発明はまた、さらに多くの様々な異なる実施形態を取りうることができ、その幾つかの詳細部分は、本発明の思想や範囲を逸脱することなく、多くの自明な観点から修正可能なものである。本明細書による説明や図面は例示的な性質を有するものと考えられるべきであり、制限的なものとみなされるべきではない。
添付の図面には、本発明の実施形態が例示されている。これらはあくまでも例示を目的とするものであって、限定の目的のためのものではない。
本発明の実施形態に従う、モバイルデバイスに対してマルウェアを検出するためのアーキテクチャを示す。
本発明の実施形態に従う包括的マルウェア検出検査の手順を示すフローチャートである。
本発明の実施形態に従う、評判評価によってオフラインマルウェア検出検査を推進する手順を示す。
本発明の実施形態に従うオフラインマルウェア検出検査のフローチャートである。
本発明の実施形態に従うリアルタイムマルウェア検出検査のフローチャートである。
本発明の様々な例示的実施形態が適用されうる装置の例示的ブロック図を示す。
詳細説明
マルウェア検出検査を行う方法、装置及びシステムの実施例を説明する。以降の記述では、説明目的上、多くの具体的かつ詳細な構成が示されているが、これらは本発明の実施形態の深い理解に繋げるためのものである。なお、当業者には明らかなことであるが、本発明の実施形態は、これら特定の詳細構成以外でも実施可能であり、均等な構成によって実施することもできる。また、既知の構成やデバイスがブロック図の形で示されるが、これは、本発明の実施形態をいたずらに不明瞭にすることを避けるためである。本明細書および図面を通じて同様の符号は同様の要素を表す。
以降の記述では、マルウェアの脅威にさらされるコンピューティングデバイスの一例としてモバイルデバイスが用いられる。しかし、こうしたデバイスにはラップトップコンピュータやデスクトップコンピュータ、ホームオートメーションデバイス、ホーム制御デバイスの何れか又は全てのような他の種類のコンピューティングデバイスでも起こりうる。また、本明細書ではモバイルマルウェアが用いられる。しかしマルウェアとしては、限定的ではないがラップトップコンピュータのマルウェアや未知のマルウェアを含むその他のマルウェアもありうる。
セキュリティを主たる懸念事項と捉えると、アプリが悪質か良質かを見極めるために各アプリを精査して全アプリの追跡を維持することは侮り難いタスクである。一方、多数のアプリストアでは、レコメンデーションとしてアプリの信頼性や評価を示すダウンロードスタットを使用している。しかし、ある調査によると、モバイルアプリの26%はダウンロード後、一度試されただけで棄てられていることが判明している。これから明らかであるように、ダウンロードスタットは不完全かつ誇張されて見えることが多いため、ダウンロード追跡は、アプリの成功のセキュリティを計るためには全く正確ではない。膨大な数のアプリがあるため、マルウェアを効果的かつ効率的に検出することは非常に困難である。第一に、膨大な数のアプリケーションによって、(例えば、F-secureや中国の360等の)セキュリティサービスプロバイダが各アプリケーションのセキュリティを検証してどのアプリケーションが妥当であるべきかを優先して決定することは、困難かつコストの掛かることとなっている。第二に、アプリケーションによっては、インストールして暫く使用した後に悪質になるものも存在する。現在、実行時にモバイルマルウェアを動的に検出できるような状況ではない。
多数のマルウェア検出技術が提案されてきたが、その大部分は包括的検査において取り上げられてきた。しかし、モバイルマルウェアに関する研究はまだ緒についたばかりである。マルウェア検出検査技術は以下のカテゴリに分類される。モバイルマルウェア及び他のセキュリティ脆弱性を検出するために利用可能な技術には様々な長所・短所がある。
(1)静的解析
静的解析は、アプリケーションにおける悪質な特徴や不正なコードセグメントを、それらを実行せずに発見する方法である。これらは一般に、明白なセキュリティ上の脅威を検出するために疑わしいアプリケーションが最初に評価される際の予備的解析において用いられる。静的マルウェア検出検査技術の第1の種類は、最初にモバイルアプリケーション及び抽出システムコールを逆アセンブルする(特徴抽出)。次いで、セントロイドマシン(Centroid Machine)と呼ばれる軽量クラスタリング機構の一種を用いて、モバイルアプリケーションを悪質か良質かの何れかに分類する(異常検出)。静的マルウェア検出検査技術の第2の種類は、最初にモバイルアプリケーションを逆アセンブルして処理フローグラフ(CFG)を構成することによって静的テイント解析(static taint analysis)を実行する。この解析は、アドレス帳や現GPS座標、キーボードキャッシュ、固有デバイスID、その他電話機に関連する情報のような機密性の高いソースからの経路を考慮する。データフロー解析は、こうしたソースから伝送されるあらゆる機密データに対して、ユーザへ通知せずに同期してプライバシー漏洩を引き起こしていないかを調べる。この方法は単一アプリケーション内でのプライバシー漏洩のみを検査するため、2つ以上のアプリケーションが互いに他動的に連鎖されている場合には機能しない。静的マルウェア検出検査技術の第3の種類は、(例えば、Androidコード用の)逆コンパイラを用いてアプリケーションのインストールイメージからJava(登録商標)のソースコードを生成し、静的コード解析パッケージソフトを用いて復元したソースコードを評価する。この技術の適用は、比較的少数の権限とAPIコールを用いるアプリケーションに限定される。
静的解析は高速かつ安価なアプローチであるが、長い間問題なく動作した後で自己書換えを行い、突然悪質な挙動を示すコードによって引き起こされるセキュリティ脅威を検出することは困難である。そして、モバイルボットネットマスタやボットネット、ウイルスによる攻撃や命令を克服することは不可能である。
(2)動的解析
動的解析は、モバイルアプリケーションの動的挙動を調査員が監視できるように、仮想マシンやエミュレータ等の隔離環境でのアプリケーションの実行を伴う。調査員は主に、テイント追跡やシステムコール追跡で動的解析を用いる。例えば、TaintDroidはAndroid用でシステム全体に亘る動的テイント追跡を提供する。モバイルアプリケーションはDalvik仮想マシン(Dalvik virtual machine)に通され、テイント伝搬に関する4つの粒度である変数、メソッド、メッセージ、ファイルの各レベルを実行する。テイント追跡は、位置やマイクロフォン、カメラ、その他の電話機識別子等の機密ソースからのあらゆる不明瞭なデータをマークする。この技術は、全てのネイティブライブラリが仮想マシンから確実に呼び出されるようにネイティブライブラリローダを変更し、信用のないアプリケーションがネイティブメソッドを直接実行するのを防止できる。最終的に、動的解析は、システムをネットワークインタフェース、即ちテイントシンクに残す前に、機密データ漏洩の恐れのある影響を受けたデータをスクリーニングする。しかし、TaintDroidはフォールスネガティブ及びフォールスポジティブを引き起こす可能性がある。さらに、TaintDroidは専らデータフローに焦点を当てており、その他の脆弱性については考慮していない。Android Application Sandbox(AASandbox)システムはAndroidアプリケーション用に二段階解析を提供する。モバイルアプリケーションはAASandboxに通され、オフラインモードで静的解析と動的解析を実行する。静的解析はアプリケーションイメージバイナリを逆アセンブルし、逆アセンブルコードを用いて不審パターンを探す(http://bit.ly/171MnI)。動的解析はAndroidエミュレータでこのバイナリを実行し、システムコールのログを取る。調査員が入力を生成するためにAndroid Monkey(ADB Monkey)を使用したとしても、実際のユーザによるテストと比べて殆ど影響は無い。しかも、このアプローチは、多様な挙動を示すマルウェアやコードフラグメント暗号化に対してはテストされていない。
この実質的数量には、より綿密な(手動の)解析に相応しいサンプルと様々な既知の脅威であるサンプルとの間を高速で区別する自動化されたアプローチが必要とされる。こうした自動解析は二通りの方法で行われる。動的解析は、サンプルを実行し、そのサンプルが実際に実行する動作を検証する技術を指し、静的解析は、実際にサンプルを実行せずにそのタスクのみを実行する。静的解析ではプログラムを通じて実行されうるフロー全てをカバーできるのに対して、動的解析では経路のカバーが不完全であるという問題がある。
(3)アプリケーション権限解析
アプリケーション権限解析は、権限確認を通じてモバイルアプリの悪質な挙動を発見することを目的としている。例えば、KirinはAndroidプラットフォーム用認定アプリケーションである。Kirinは、アプリケーションをインストールする間に権限確認を実行する。ユーザがアプリケーションをインストールするとき、Kirinはアプリケーションのセキュリティ構成を抽出し、その構成がそのアプリケーションが既に有しているセキュリティポリシーに反していないかを調べる。アプリケーションが何れかのセキュリティポリシー規則に合致しなかった場合、Kirinはそのアプリケーションを削除するか、ユーザに警告することができる。Kirinは専らアプリケーション作成者の権限要求を確認するだけであって、そのアプリケーションがこうした権限をどのように使用するかについては精査しない。したがって、悪意をもって機密ユーザデータを開示したり、(許可された権限で)望まないコンテンツを導入したりする一部のアプリのセキュリティホールを調べるには効果が無い。
(4)クラウドベース検出検査
スマートフォンは、計算能力とエネルギー源の制約のため、簡易ファイルスキャン等の具備するセキュリティ機構を完全に実行することができないこともある。クラウドベースのマルウェア保護技術はセキュリティ解析と計算をリモートサーバに移し、このリモートサーバは、エミュレータ上で動作している複数の携帯電話のレプリカをホストする。スマートフォンに搭載されているトラッカーは、モバイルアプリケーションの実行を再現するのに必要な全ての情報を記録する。トラッカーは記録した情報をクラウドベースリプレイヤーに伝送し、クラウドベースリプレイヤーはエミュレータで実行を再現する。リプレイヤーは、クラウドの豊富なリソースから動的マルウェア解析やメモリスキャナ、システムコール異常検出検査、商用アンチウイルススキャン等の複数のセキュリティ検査を配備することができる。しかし、このアプローチを最初に用いても、サンプルサイズが依然として非常に小さいため、フォールスポジティブの結果を生じさせる可能性はある。また、ユーザがアプリケーションの挙動をサードパーティーに送信するように求められるときにユーザがどのように反応するかは不明確であり、ユーザの振舞いに全面的に依存したとしても、正確な結果を得られるとは限らない。そしてユーザのプライバシー問題も未解決のままである。さらに、このアプローチは検出検査を後回しにもする。したがって、ネットワーク接続が利用できないかマルウェアによって損なわれた場合には適用することができない。
(5)バッテリ寿命監視
スマートフォンはバッテリ容量に制限があるため、時折電力消費を測定することによって悪質なアプリケーションを特定することができる。こうした悪質なアプリケーションは良質なものよりも多くの電力を消費するからである。通常のユーザ行動と現在のバッテリ状態、信号強度やネットワークトラフィック等、その他のドメイン固有の詳細情報が分かる場合、より精密に隠れた悪質な挙動を検出することができる。不測のユーザ行動とマルウェア侵入による偽装イベントがあると、電力モデルの確度に影響が及ぶ可能性がある。また、このアプローチはマルチタスク機能を有するスマートフォンには適用できない。
前述のように、こうしたアプローチは各タイプにそれぞれの短所があって、総合的によいものは一つも無い。また、モバイルマルウェア検出検査として現存するアプローチの殆どは、モバイルマルウェアが実行される時にリアルタイムで検出することはできない。しかも、悪質なモバイルアプリによっては、長い間使用された後に突然、又はコードの自己書換えを通じてモバイルデバイスに侵入するものもある。こうした脅威は、モバイルアプリの信頼性管理に関する研究に課題を与えている。
様々な例示的実施形態に従って、効率的かつ効果的なマルウェア検出検査がアプリケーションのオフライン検査において提供され、さらにアプリケーションの実行時におけるリアルタイム検査でも提供される。マルウェアの「オフライン」検査とは、アプリケーションを実環境で実際に実行せずにアプリケーション内の異常を検出することを意味する。実施形態によっては、アプリケーションの関数呼出しのログを獲得するために、検査すべきアプリケーションのコードの少なくとも一部が仮想環境で実行されてもよい。関数呼出しのログから、アプリケーションが呼び出す関数間での呼出し関係を反映する関数呼出しマップが得られる。アプリケーションの関数呼出しマップには、アプリケーションが呼び出した関数を表わすノードと、ノード間の呼出し関係を示すエッジが含まれる。エッジは、それに対応する呼出し関係の詳細情報であって、呼出し稠密度(calling density)や呼出し頻度等に応じて更に重み付けすることもできる。関数呼出しマップをデータマイニング技術等で統計的解析することで、関数呼出しマップから統計的特徴又はパターンが抽出されてもよい。次いで、検査対象アプリケーションから異常を発見するために、抽出されたパターン又は特徴が、正常なアプリケーションの基本パターン又は規則と比較されてもよい。こうして、アプリケーションの関数呼出しの構造の解析に基づいて、オフラインマルウェア検出検査を自動的に構築することができる。オフラインマルウェア検出検査の結果は、例えばセキュリティ証明書を発行することによって告知されてもよい。セキュリティ証明書は検査対象アプリケーションによる潜在的不正の脅威を知らせるものであって、ユーザがそのアプリケーションのダウンロードを決断する手助けをするものである。
実施形態によっては、(オフライン検査済み又は未検査を問わず)アプリケーションが実環境のモバイルデバイスにダウンロード、インストール、そして実際に実行されたとしても、モバイルデバイスはアプリケーションの悪質な挙動を自動的に検出することができる。これに関して、そのパターンや統計的特徴を抽出するために、アプリケーションの実行時における実行挙動がリアルタイムで取り出されてもよい。異常を発見するために、抽出パターンは、そのアプリケーションの正常パターン及び予め記録済みのパターンと比較されてもよい。悪質なアプリケーションによっては、インストール後暫くは正常に動作するが、ユーザの信用を獲得した後、突然悪意をもつものもある。したがって、パターン比較はこの種の潜在的脅威も効果的に検出することができる。これにより、マルウェアを検出する包括的方法が提供される。
実施形態によっては、オフラインマルウェア検出検査を自動的に推進するために、アプリケーション毎の評価が利用されてもよい。これに関する基本概念は、マルウェア検出検査がされていない最高評価のアプリケーションこそ、疑いを払拭するべく慎重に解析される必要があるということである。アプリケーションの評価は、そのアプリケーションに対するユーザの中での信頼度と需要を示している。例えば、アプリケーションの評価が高い程、そのアプリケーションはより信頼され需要もあることを意味する。実施形態によっては、例えばモバイルデバイスにおけるアプリケーションの使用挙動に応じて、アプリケーションに対するユーザ個別の信頼が自然と生じることもある。こうした個別ユーザの信頼と、ユーザのフィードバック等アプリケーションに関する他の情報に基づいて、そのアプリケーションの評価が更に作られてもよい。アプリケーションの評価に基づいて、高評価で需要のある(広く使用されている)未検査アプリケーションは、低評価であまり使用されていないアプリケーションよりも優先してマルウェア検査が行われる。
図1は、実施形態に従う、モバイルデバイスに対してマルウェアを検出するためのアーキテクチャの機能ブロック図である。図1に示すように、システム100は(UE)は、通信ネットワーク105を介してコンピューティングデバイス101a、セキュリティサービスプロバイダ109、評価センター111、その他の通信エンティティ(他のコンピューティングデバイス101b)を備え、コンピューティングデバイス101aはアプリケーションストア107と接続している。例として、システム100の通信ネットワーク105には、データネットワークや無線ネットワーク、電話ネットワーク(何れも図示せず)、又はそれらの組合せのような1つ又は複数のネットワークが含まれる。データネットワークは、ローカルエリアネットワーク(LAN)やメトロポリタン エリア ネットワーク(MAN)、広域ネットワーク(WAN)、公衆データネットワーク(例えばインターネット)、自己管理モバイルネットワーク(self-organized mobile network)等でもよく、他の適切なパケット交換ネットワークでもよい。パケット交換ネットワークには、商用利用可能なものもあれば、個別の光ケーブルや光ファイバネットワークのような、私有のパケット交換ネットワークもある。さらに無線ネットワークは、例えばセルラネットワークでもよく、EDGE(enhanced data rates for global evolution)やGPRS(general packet radio service),GSM(登録商標)、IMS(Internet protocol multimedia subsystem)、UMTS(universal mobile telecommunications system)など、様々な技術を利用したものでもよい。あるいは他の適切な無線媒体が利用されてもよく、こうした無線媒体として、例えばWiMAX(worldwide interoperability for microwave access)やLTE(Long Term Evolution)、CDMA(符号分割多元接続)、WCDMA(登録商標)、WiFi、衛星、MANNET(モバイルアドホックネットワーク)等がある。
コンピューティングデバイス101a・101b(以下、一般に101とする)は、プロセッサ等でソフトウェアアプリケーションを実行可能なあらゆるタイプのデバイスでもよい。例えば、コンピューティングデバイス101は、スマートフォンやタブレット、ラップトップコンピュータ、ノートブック、携帯情報端末(PDA)のような携帯型(モバイル)デバイス、ステーションやユニット、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、デスクトップコンピュータのような据置型デバイス、又は組込型デバイスでもよく、こうしたデバイスの組合せでもよい。図1に示すように、コンピューティングデバイス101はアプリケーションストア107からアプリケーション103a・103bをダウンロードし、ダウンロードしたアプリケーションを実行する。コンピューティングデバイス101は、アプリケーションの使用に関するフィードバックをアプリケーションストア107や評価センター111等の他の団体、他の機関の何れか又は全てに提供するために利用されてもよい。
アプリケーションストア107は、種々のアプリケーションのアップロード、ダウンロード、更新等のためにそれらをキャッシュして管理してもよい。例えばスマートフォン用として、Windows PhoneシステムやAndroidシステム、iOSシステムのようなオペレーションシステム毎に複数のアプリケーションストアが存在する。図1にはアプリケーションストアが1つしか示されていないが、アプリケーションストアの数は任意である。
セキュリティサービスプロバイダ(SSP)109は、複数のアプリケーションをオフラインでスキャンしてアプリケーションの異常及びマルウェアを検出するために提供される。実施形態によっては、SSP109は、スキャンされるべきアプリケーションをアプリケーションストア107から直接又は間接でダウンロードしてもよい。しかし、SSP109は、ソフトウェアアプリケーションの開発者や起業、政府機関、ユーザ、その他のエンティティの何れか又は全てのようなアプリケーションのソースから、スキャンされるべきアプリケーションの実行コードを取得してもよい。スキャン又はマルウェア検出検査の結果は、アプリケーションをダウンロードするというユーザの決定を助けるために発行されてもよい。例えば、F-secureや360等、ソフトウェアアプリケーションのセキュリティサービスを提供する複数の企業又は機関が存在する。実施形態によっては、SSP109は、ソフトウェアアプリケーションのセキュリティを検査するような企業又は機関のサーバとして具現化されてもよく、他の関係者がアクセス可能な公的又は私的クラウドサービスとして配備されてもよい。実施形態によっては、SSP109は、こうしたアプリケーションをそれ自体が実際に実行可能なコンピューティングデバイスに配備することもできる。
さらに、SSP109におけるオフラインマルウェア検出検査又はスキャンは、こうしたアプリケーションの評価順位に基づいて行われてもよい。膨大な数のアプリケーションがある場合、SSP109が各々のアプリケーションのセキュリティを検証するのは困難でコストも掛かる可能性がある。したがって、優先して検査すべきアプリケーションを決定する必要がある。評価順位に従えば、最高評価で需要のあるアプリケーションが疑いを払拭するために最初に検査される。
評価センター(RC)111は、アプリケーションの評価を生成してSSP109に提供するように備えられる。RC111は、例えばユーザのコンピューティングデバイスから、アプリケーションの使用に関する情報とアプリケーションに関するユーザからのフィードバックを集める。こうした情報に従って、アプリケーションの信頼性と需要を反映するアプリケーションの評価値が生成されてもよい。RC111は、SSP109を提供するクラウドサービスプロバイダに配備されてもよく、あるいは、アプリケーションストア107又はSSP109に組み込まれてもよい。
図2は、実施形態に従う包括的マルウェア検出検査の手順を示すフローチャートである。包括的マルウェア検出検査は、いわゆるオフラインマルウェア検出検査とリアルタイムマルウェア検出検査という2段階を含む。203で、アプリケーションに対してオフラインマルウェア検出検査が行われ、例えばSSP109のツールキットによって行われてもよい。SSP109は、アプリケーションの関数呼出しに異常がないかを調べてもよい。オフラインマルウェア検出検査の詳細な手順については、この後の図4を参照して説明する。
マルウェア検出検査の結果は、例えば205で検査結果(ポジティブ又はネガティブ)の証明書を発行することによって告知されてもよい。マルウェア検出検査の結果がネガティブ、即ちアプリケーションに何らかの異常が存在する場合、SSP109は、検出された問題を告知して検査結果を認定してもよい。マルウェア検出検査の結果がポジティブである場合、SSP109は、ポジティブな検査結果を認定する証明書を発行してもよい。こうした結果は、ユーザのモバイルデバイス101にそのアプリケーションをダウンロードするか否かの決定を助けるために、ユーザに提供されてもよい。またこうした結果は、そのアプリケーションの棚卸しやアプリケーション用パッチの開発の何れか又は両方というような、アプリケーションの管理を助けるために、アプリケーションストア107に提供されてもよい。オフラインマルウェア検出検査によって、使用に入る前に一部のマルウェアを除去することが可能となる。
オフラインマルウェア検出検査は、それぞれのアプリケーションの評価に従ってスケジュールされてもよい。実施形態によっては、SSP109は、複数のアプリケーションの中から最も評価の高いアプリケーションを優先して検査するように構成されてもよい。例えば、RC111は、マルウェア検査が必要な高評価アプリケーションを決定し、SSP109でそのアプリケーションに関するオフラインマルウェア検出検査をトリガしてもよい。
アプリケーションがオフラインマルウェア検出検査に合格し、コンピューティングデバイス101a等の実環境で実際に実行される場合、207でアプリケーションに対してリアルタイムマルウェア検出検査を行うことができる。コンピューティングデバイス101aは、関数呼出しやデータアクセス挙動、ネットワーク挙動のような、そのアプリケーションの実行時における挙動を監視し、こうした挙動が正常であるかを調べてもよい。リアルタイムマルウェア検出検査の詳細な手順については、この後の図5を参照して説明する。
リアルタイムマルウェア検出検査の結果がネガティブ、即ちアプリケーションの挙動に何らかの異常が存在する場合、コンピューティングデバイスは209で、検出された悪質なアプリケーションの制御を再現する。例えば、コンピューティングデバイスのユーザは、このアプリケーションの削除を通知されてもよく、対応する行動をとってもよい。
前述のように、オフラインマルウェア検出検査は評判評価によって推進することができる。図3は、実施形態に従うような処理手順を示している。301で、RC111は、例えばモバイルデバイス101からアプリケーションに関するユーザの使用データを収集してもよい。使用データには、アプリ使用挙動データ、アプリ反応挙動データ、アプリ相関挙動データが含まれてもよい。アプリ使用挙動データは、正常なアプリケーションの使用に関連し、主に経過使用時間や使用回数、使用頻度が反映する。アプリ反応挙動データは、ユーザがアプリケーションの問題/エラーに直面したり、使用体験が良かった/悪かった後の使用挙動に関連したりする。そしてアプリ相関挙動データは、同じ様に機能するアプリケーションの数に関連する使用挙動に関連する。収集された使用データに基づいて、アプリケーションに対する個々のユーザの信頼を示す信頼度が決定されてもよい。303で、アプリケーションの信頼度とユーザの主観的なフィードバックの何れか又は両方に基づいて、そのアプリケーションの評価が生成されてもよい。評判の生成又は評価を行うアルゴリズムは多数存在する。例えば、本願の発明者の論文にそうしたアルゴリズムが記載されている。論文のタイトルは"TruBeRepec: A Trust-Behavior-Based Reputation and Recommender System for Mobile Applications (TruBeRepec:モバイルアプリケーションのための信頼-挙動に基づく評価及び推奨システム)"(Z. Yan, P. Zhang, R.H. Deng, Journal of Personal and Ubiquitous Computing, Springer, Vol. 16, Issue 5, pp. 485-506, 2012)である。アプリの評判を生成又は評価する他のアプローチは既知のものもあるが今後も開発されており、こうした方法も利用することができる。
305で、各アプリケーションの評価に従って、RC111は、マルウェア検出検査を行うべきアプリケーションを、例えば評価値の降順で順位付けしてもよい。307で、RC111は、未検査アプリケーションに対するマルウェア検出検査の優先度を決定してもよい。例えば、最初のN位(Nは検査閾値)までのアプリケーションは、優先してオフラインマルウェア検出検査を受けるように決定されてもよい。309で、この決定によりSSP109は、例えばSSP109のオフラインマルウェア検出検査ツールキットで検査するために、これら決定されたアプリケーションのコードを1つずつロードするようにトリガされてもよい。
アプリの評判評価により、SSP109は、オフラインマルウェア検出検査の合理的スケジュールを容易に組めるようになり、高評価で需要のある、最も価値の高いアプリケーションの検査に集中することができる。これにより、SSP109のコストを削減し、マルウェア検出検査をより効率的に行うことができる。例えば、好まれないアプリケーションに対してSSP109は、そうしたアプリケーションの問題の検出検査を急ぐ必要はなく、検査自体も不要となる。一方、需要のあるアプリケーションに対しては、SSP109は速やかにそうしたアプリケーションのセキュリティを検査し、それらが引き起こす潜在的リスクを大きく低減することができる。こうして、SSP109は市場の要求対応に集中することができる。
オフラインマルウェア検出検査の手順について、図4を参照して説明する。オフラインマルウェア検出検査では、アプリケーション中の異常を発見するために、アプリケーションの関数呼出しの構造が解析される。401で、アプリケーションの関数呼出しマップがオフラインで検出される。関数呼出しマップは、アプリケーションが呼び出す関数間における呼出しの関係を記録してもよい。また、アプリケーションが呼び出す関数を表わすノードと、ノードを結ぶエッジが含まれてもよい。エッジはノード間における関数呼出し関係を示す。エッジはまた、呼出しの向きと順序を示すように向きを有してもよい。マップ中の関数は、アプリケーションが呼び出した関数の何れかであって、アプリケーション自身が設計・分割した関数及びサブ関数が含まれてもよい。あるいは又は加えて、マップ中の関数には、他のアプリケーションが提供するサービス関数や内部のオペレーションシステムが提供するシステムレベルの関数又はサービスの何れか又は全てが含まれてもよい。システムレベルの関数又はサービスには、携帯電話の電話帳機能や写真撮影機能、ネットワーク機能、測位機能等のような機能が含まれる。ノードが表わす粗い粒度の関数は、より細かい粒度の関数の組を含むこともできる。2つのノード間のエッジは、その2つのノードが表わす2つの関数の間での呼出し特性に従って重み付けされてもよい。例えばエッジは、呼出し稠密度と呼出し頻度に基づいて重み付けされてもよい。
実施形態によっては、関数呼出しのログを獲得し易くするために、アプリケーションの実行コードが逆コンパイルされてから再コンパイルされてもよい。例えば、ツールキットを利用して関数呼出しログを獲得する関数モジュールが、アプリケーションに埋め込まれてもよい。再コンパイルしたアプリケーションの実行コードを仮想環境で実行することを通じて、アプリケーションの関数呼出しのログをオフラインで取得することができる。この関数呼出しログに基づいて、アプリケーションの関数呼出しマップが生成され、アプリケーションの異常を発見するために解析されてもよい。
403で、関数呼出しマップから、アプリケーションの関数呼出しのパターンが抽出されてもよい。例えば、SSP109は、データマイニング技術を用いて関数呼出しログを自動的に取り出してもよい。アプリの異常を検出するには、関数呼出しのパターンを抽出するのが効果的である。次いで405で、SSP109は、抽出パターンと正常なアプリケーションの基本パターン又は規則を比較し、抽出パターンが基本パターン又は規則と一致するかを決定してもよい。例えば、抽出パターンと正常なアプリケーションの基本パターンとの間に有意な差がある場合、又は抽出パターンが正常なアプリケーションの規則に従っていない場合、検査対象アプリケーションは異常と決定されてもよく、マルウェアの可能性もある。
この段階で、オフラインでのマルウェア検出検査を行うために、動的方法及び静的方法の何れか又は両方が適用されてもよい。実施形態によっては、SSP109は、別の種類の関数呼出しマップを調べ、動的及び静的の何れか又は両方の方式で、時間経過に伴う呼出し関係や呼出し順序、呼出し濃度、呼出し頻度を解析してもよい。これに関して、SSP109は、初めから終わりまでの完全シミュレーションの実行を通じて、アプリケーションが呼出し可能な関数間の全ての呼出し関係を含む完全呼出しマップを調べてもよい。アプリケーションに関する完全呼出しマップはほぼ静的であるため、静的方式で解析することができる。SSP109は、完全呼出しマップが正常なアプリケーションの基本パターンに一致するかを決定してもよい。例えば、冪乗則次数分散を伴うスケールフリー性及びスモールワールド性複合ネットワーク(Scale-free and Small-world complex network)に一致するかを決定してもよい。
あるいは又は加えて、異なる時点での呼出しマップであって、シミュレーション中にアプリケーションがその時点よりも前に呼び出した関数間の呼出し関係を含むものが調べられてもよい。例えば、10分間実行するアプリケーションのシミュレーションを仮定する。ある時点での呼出しマップは、シミュレーションの開始から1分後までにアプリケーションが呼び出した関数間の呼出し関係を含むものであり、それが2分後、3分後、…というような場合とは異なっている。これに対して、完全呼出しマップは、初めから10分後までの全体を通じてアプリケーションが呼出した関数間の呼出し関係を含んでもよい。SSP109は、異なる時点における呼出しマップが正常なアプリケーションの基本パターンであって、例えば稠密化冪乗則(Densification Power Law)に一致するかを決定してもよい。
あるいは又は加えて、シミュレーション実行中に選択アプリケーションが特定の時間内に呼び出した関数間の呼出し関係を含む部分呼出しマップが用いられてもよい。前述のシミュレーションが実施例として行われる場合、部分呼出しマップは、最初の2分間にアプリケーションが呼び出した関数間の呼出し関係を含んでもよく、あるいは第2の2分間、第3の2分間、…というような場合が含まれてもよい。部分呼出しマップは、それが正常なアプリケーションの基本パターンであって、例えば稠密化冪乗則等の特定の安定した挙動パターンに一致するかを決定するために解析されてもよい。
正常なアプリケーションの基本パターンは、一般的に、正常なアプリケーションが通常含む特質を反映する。例えば、近年、現実世界のネットワークの発展が一貫した傾向を示すことが多く、次式で表現可能であることが分かっている。
Figure 2017505944
ここで、e(t) 及びn(t) は、それぞれ時刻tにおけるネットワークのエッジ及びノードの数であり、αは1から2の間の指数である。この関係は稠密化冪乗則と呼ばれる。また、良質なアプリケーションの呼出しマップを調べたところ、その全てが稠密化冪乗則に従って成長していることを示した研究もある。部分呼出しマップの稠密化冪乗則(Densification Power Law)という性質は、ソフトウェアシステムのダイナミクスに関する本質的機構に関連する。したがって、アプリケーションの部分呼出しマップが、例えば稠密化冪乗則から大きく逸脱している場合、そのアプリケーションは異常でマルウェアの可能性があると決定することができる。
403のパターン抽出及び405のパターン比較は、それぞれ異なる種類の関数呼出しマップに関して行われてもよい。何らかの異常が発見されると、SSP109は、追加検査のために警告を上げ、例えば、より厳密なマルウェア検出検査処理に移行してもよい。
アプリケーションがコンピューティングデバイスにインストールされて実行される場合、実施形態によっては、悪質なアプリケーションがオフラインマルウェア検出検査に合格したとしても、悪質なアプリケーションの挙動を実行時にでも発見することができる。リアルタイムマルウェア検出検査は、リアルタイムのアプリ挙動からの取出しと、正常なアプリケーションやアプリ挙動の事前記録の何れか又は両方との比較に基づいて行うことができる。リアルタイムマルウェア検出検査の手順について、図5を参照して説明する。こうした実施形態では、1つ又は複数のコンピューティングデバイス(例えば、コンピューティングデバイス101a・101b)で処理500が実行される。この処理は、例えば、図6に示されるようにプロセッサ及びメモリを備えるチップセットとして実装される。そのため、コンピューティングデバイスは処理500の種々の部分を実行する手段に加え、他の要素と協働する他の処理を実行する手段をも提供することができる。
501で、コンピューティングデバイスは、そのコンピューティングデバイスで実際に実行されるアプリケーションの実行時に、ある時間におけるアプリケーションの挙動を(例えば、コンピューティングデバイスのプロセッサで)記録してもよい。記録されたアプリケーションの挙動情報は、アプリケーション又はコンピューティングデバイスのセキュリティに関連するあらゆる動作、処理、データに関係しうる。例えば、アプリの実行時にコンピューティングデバイスは、部分呼出しマップ及び現時点の呼出しマップのような、関数呼出しに関連する関数呼出し挙動を記録してもよい。コンピューティングデバイスは更に、コンピューティングデバイスのメモリからのデータ読取り動作やコンピューティングデバイスのメモリへのデータ書込み動作のような、ローカルデータアクセスに関連するデータアクセス挙動や、アクセスデータの属性(例えば、セキュリティレベルやサイズ等)を記録してもよい。コンピューティングデバイスは更に、他のネットワークデバイスや通信ポート、ネットワークアドレスとの通信接続の開始動作又は終了動作のような、アプリケーションが起こす上り・下りのトラフィックに関連するネットワーク挙動を記録してもよい。
アプリケーションの挙動は、実行時のアプリケーションの実行ログを読み取って記録されてもよい。実施形態によっては、実行時にログを取得するために、対応する機能モジュールを追加することによって、コンピューティングデバイスがアプリケーションの実行コードを再コンパイルしてもよい。あるいは、こうしたアプリケーションの再コンパイルがアプリケーションを販売するアプリケーションストアでサポートされてもよい。
503で、コンピューティングデバイスは、記録されたアプリケーション挙動から、例えばデータマイニング技術を通じて、アプリケーションの実行時における挙動パターンを抽出してもよい。実行時にデータマイニング技術を用いて自動的にアプリ挙動を取り出すと効率的である。次いで、抽出した挙動パターンは、正常なアプリケーションの基本パターン又は規則や、検査されたアプリケーションそれ自体に対して最後に実行した時やオフラインの何れか又は両方で解析されたパターンのような良質なパターンと比較されてもよい。アプリケーションの挙動が通常の正常なアプリケーションの挙動又はそのアプリケーション自身の以前の(正常とみられる)挙動と有意に異なる場合、そのアプリケーションには何らかの異常があると決定されてもよい。こうして、アプリをオフラインではない状態で実行するリスクを効果的に低減することができる。また、暫くの間良質に動作してユーザの信用を得た後、突然挙動が悪質に変ってしまうマルウェアに対しても、実行時に検出することができる。一方、インストールして実行後にウイルスに感染して悪質になる可能性のある正常なアプリケーションについても、アプリ実行中に検出することができる。
例えば、コンピューティングデバイスは、(505で)部分呼出しマップ及び現時点の呼出しマップを、前回実行時やオフラインの何れか又は両方で解析されたものに対応する良質なパターンと比較し、(507で)呼出しの挙動に対する抽出パターンが対応する良質なパターンに一致するかを検査してもよい。この検査結果がネガティブである場合、コンピューティングデバイスは、509で警告を上げてもよい。
507での検査結果がポジティブである場合、コンピューティングデバイスは更に、(511で)データアクセス挙動を、前回実行時やオフラインの何れか又は両方で解析されたものに対応する良質なパターンと比較し、(513で)データアクセス挙動に対する抽出パターンが対応する良質なパターンに一致するかを検査してもよい。この検査結果がネガティブである場合、デバイスは、509で警告を上げ、この異常に対応するようユーザに提案してもよい。
一方、513での検査結果がポジティブである場合、コンピューティングデバイスは更に、(515で)アプリネットワーク挙動を、前回実行時やオフラインの何れか又は両方で解析されたものに対応する良質なパターンと比較し、(517で)データアクセス挙動に対する抽出パターンが対応する良質なパターンに一致するかを検査してもよい。この検査結果がネガティブである場合、デバイスは、509で警告を上げ、この異常に対応するようユーザに提案してもよい。
アプリケーションの挙動に関する上記検査の各々がポジティブである場合、この処理は、517から501への連結線で示されるように、記録されたアプリ挙動の周期的な監視及び解析に戻ってもよい。上記検査は図5を参照して特定の順序で記述されていたが、当然のことながら、こうした動作が異なる順序で実行されてもよく、一部の動作は調整、統合、あるいは削除も可能である。例えば、ネットワーク挙動の検査がアプリ呼出し挙動の検査よりも先に、又は並行して行われるように調整されてもよい。
次に図6を参照する。図6は、本発明の様々な実施形態が適用されうる装置600の例示的ブロック図を示す。これはセキュリティサービスプロバイダやコンピューティングデバイスでもよく、コンピューティングデバイスはサーバ、ユーザ装置(UE)、携帯端末、その他のコンピューティングデバイス等を含んでもよい。装置600の一般的な構成は、処理モジュール601と、処理モジュール601に接続する通信インタフェースモジュール609を備える。装置600は更に、共に処理モジュール601に接続するユーザインタフェースモジュール611と不揮発性メモリ613を備える。通信インタフェースモジュール609とユーザインタフェースモジュール611、不揮発性メモリ613も互いに通信してもよい。
処理モジュール601はプロセッサ603とメモリ605を備える。処理モジュール601はメモリ605に格納されるソフトウェア607を更に含み、このソフトウェアはプロセッサ603にロードされて実行される。ソフトウェア607は、コンピュータプログラム製品の形式をとりうる1つ又は複数のソフトウェアモジュールを含んでもよい。処理モジュール601は、アプリケーションソフトウェア又はデータ用と装置600の通常動作用とで別々の処理・メモリ領域を備えてもよい。
通信インタフェース609は、例えばWLANやBluetooth(登録商標)、GSM(登録商標)、GPRS、CDMA、WCDMA(登録商標)、LTE(ロング・ターム・エボリューション)の無線モジュールであってもよい。通信インタフェースモジュール609は装置600自身に統合されていたり、装置600の適切なスロットやポートに挿入されるアダプタやカードのようなものに統合されていたりしてもよい。通信インタフェース609は、単一の無線インタフェース技術をサポートするものであってもよいし、複数の無線インタフェース技術をサポートするものであってもよい。図6において、通信インタフェース609は一つしか描かれていないが、装置600は、複数の通信インタフェースモジュール609を備えている場合もある。
プロセッサ603は、例えば、中央処理ユニット(CPU),マイクロプロセッサ,デジタルシグナルプロセッサ(DSP),グラフィックスプロセッシングユニット等であってもよい。図6において、プロセッサ603は1つしか描かれていないが、装置600は、複数のプロセッサを備えてもよい。
メモリ605には、例えば、不揮発性メモリや揮発性メモリが含まれてもよく、例えば、読み取り専用メモリ(ROM)やプログラム可能な読み取り専用メモリ(PROM),消去・プログラム可能な読み取り専用メモリ(EPROM),ランダムアクセスメモリ(ROM),フラッシュメモリ,データディスク,光学記憶装置,磁気記憶装置,スマートカード等が含まれてもよい。装置600は複数のメモリを備えていてもよい。メモリ605は、装置600の一部として構成されてもよいし、装置600のスロットやポート等に挿入されるものであってもよい。メモリ605は、データの格納という単一の目的のために使用されてもよいし、データ処理又はマルウェア検出検査等様々な目的のために働く装置の一部として構成されてもよい。不揮発性メモリ613はフラッシュメモリ等でもよく、例えば、ソフトウェアの更新を受け取って格納する目的に適うものでもよい。不揮発性メモリ613は、装置600の一部として構成されてもよいし、装置600のスロットやポート等に挿入されるものであってもよい。
ユーザインタフェースモジュール611は、装置600のユーザから入力を受け取る回路手段や、ユーザへ出力を提供する回路手段を備えてもよい。ユーザからの入力は、例えばキーボードや、装置600のディスプレイ上に表示されるグラフィカル・ユーザインタフェース、音声認識回路、ヘッドセット等の周辺機器を介して入力されてもよく、ユーザへの出力は、グラフィカル・ユーザインタフェースやスピーカーを通じて行われてもよい。
当業者には明らかなことであろうが、装置600は、図6に描かれた要素以外にも様々な要素を備えることができる。例えばマイクロフォンやディスプレイ、入出力(I/O)回路のような追加回路、メモリチップ、特定用途向け集積回路(ASIC)、特定目的のための処理回路等を備えることができる。また、そのような処理回路には、ソースの符号化/復号用回路、チャネル符号化/復号用回路、暗号化/平文化回路等が含まれてもよい。さらに装置600は、外部からの電源供給が不可能な場合に電力を供給するための、使い切り式や充電式のバッテリを備えていてもよい(図示されていない)。
一般に、多くの典型的実施形態は、ハードウェアまたは特定用途向け回路、ソフトウェア、ロジック、またはそれらの組み合わせで実装されうる。例えば、ある場合ではハードウェアで実装されてもよく、一方別の場合では、コントローラやマイクロプロセッサ等のコンピュータデバイスによって実行されるファームウェアやソフトウェアで実装されてもよい。ただし、本発明はこれらに限定されるものではない。本発明の典型的実施形態の種々の側面は、ブロック図、フローチャート、または他の図的記述を使用して記述ないし示され得る。これらのブロック、装置、システム、技術、またはここで記述される方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、特定用途向け回路やロジック、汎用ハードウェア、コントローラや他のコンピュータデバイス、またはそれらの組み合わせで実装されてもよいと理解されるべきである。
当然ながら、本発明の例示的実施形態の少なくとも一部の態様はコンピュータ可読命令で具現化することができ、例えば1つ又は複数のプログラムモジュールで具現化され、1つ又は複数のコンピュータ又は他のデバイスで実行することができる。一般に、プログラムモジュールには、コンピュータ又は他のデバイスのプロセッサが実行すると特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチンやプログラム、オブジェクト、コンポーネント、データ構造等が含まれる。コンピュータ可読命令は、ハードディスクや光ディスク、取り外し可能な記憶媒体、ソリッドステートメモリ、RAM等のようなコンピュータ可読媒体に格納されてもよい。当業者には明らかなことであるが、プログラムモジュールの機能は、種々の実施形態で望まれる通りに統合又は分配することができる。加えて、こうした機能は、集積回路やフィールドプログラマブルゲートアレイ(FPGA)等のようなファームウェア又はハードウェア等価物の全部又は一部に具現化されてもよい。
本発明の種々の実施形態における様々な特徴は、様々な利点をもたらす。実施形態によっては、マルウェアをオフラインと実行時の両方で検査することによって、マルウェアのリスクを最小限に低減することができる。オフラインマルウェア検出検査中では、マルウェアを発見するために、静的完全呼出しマップと部分呼出しマップ、別の時点での呼出しマップを検査することができる。リアルタイムマルウェア検出検査中では、関数呼出しによって生じるセキュリティ漏洩を発見するために、呼出しマップのパターンを検査することができる。また、リスクの高いローカルデータアクセス、特にこれまでとは異なる異常なアクセスを発見するために、データアクセス挙動を検査することもできる。さらに、アプリケーションのネットワーク挙動の検査を通じて、潜在的な命令を発見するために、アプリケーションの上りトラフィックを検査でき、突然の攻撃で生じうる感染で、例えばコンピューティングデバイスをボットに変えてしまうような潜在的感染を解明するために、アプリケーションの下りトラフィックも検査することができる。こうして、コンピューティングデバイスにおけるユーザ情報の盗み取りや売却、デバイス操作、コンテンツ配信、スパム送信、突然の命令を行うマルウェアの対処を可能にし、包括的な検出検査と保護を行うことができる。
本発明には、本明細書に開示された新規の特徴やその組合せが明示的に、又は一般化された形で含まれている。上述した本発明の例示的実施形態への種々の修正や変更は、添付図面と併せて上の説明を考慮すれば、本願に関連する技術分野の当業者には明らかになるだろう。そして、如何なる全ての修正変更も本発明の非限定かつ例示的な実施形態の範囲内である。

Claims (31)

  1. アプリケーションに関するオフラインマルウェア検出検査を行うことを含む方法であって、前記オフラインマルウェア検出検査は:
    前記アプリケーションの少なくとも1つの関数呼出しマップをオフラインで検出することであって、関数呼出しマップは前記アプリケーションが呼び出す関数間における呼出しの関係を記録する、前記検出することと;
    前記少なくとも1つの関数呼出しマップから前記アプリケーションの関数呼出しのパターンを抽出することと;
    前記抽出されたパターンを正常なアプリケーションの少なくとも1つの基本パターンと比較することと;
    を含む、方法。
  2. 前記検出することは、仮想環境で前記アプリケーションのコードの少なくとも一部を実行することと、前記アプリケーションの関数呼出しのログを獲得することを含む、請求項1に記載の方法。
  3. 前記抽出することは、前記ログを解析するためにデータマイニング法を使用することを含む、請求項2に記載の方法。
  4. 前記少なくとも1つの関数呼出しマップは、次の3種類の関数呼出しマップ:
    前記実行中に前記アプリケーションが呼出し可能な関数間の全ての呼出し関係を含む完全呼出しマップ;
    特定の異なる時点での呼出しマップであって、前記実行中に前記アプリケーションが前記異なる時点よりも前に呼び出した関数間の呼出し関係を含む、前記特定の異なる時点での呼出しマップ;
    前記実行中に前記アプリケーションが特定の時間内に呼び出した関数間の呼出し関係を含む部分呼出しマップ;
    のうちの少なくとも1つを含む、請求項3に記載の方法。
  5. 前記オフラインマルウェア検出検査は、
    前記関数呼出しマップのログを獲得する関数モジュールの追加によって、前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることと;
    前記ログを獲得するために、前記仮想環境で前記再コンパイルされたコードを実行することと;
    を更に含む、請求項1に記載の方法。
  6. 前記アプリケーションの評価に従って前記オフラインマルウェア検出検査をスケジュールすることを更に含む、請求項1に記載の方法。
  7. 高評価アプリケーションは、低評価アプリケーションよりも優先して前記オフラインマルウェア検出検査を受けるようにスケジュールされる、請求項6に記載の方法。
  8. 前記アプリケーションの潜在的不正の脅威を示す前記オフラインマルウェア検出検査の結果を告知することを更に含む、請求項1に記載の方法。
  9. 前記アプリケーションが実環境で実行される間に前記アプリケーションに関するリアルタイムマルウェア検出検査を行うことを更に含み、前記リアルタイムマルウェア検出検査は:
    前記アプリケーションの実行中に前記アプリケーションの挙動を記録することと;
    前記記録された挙動から挙動パターンを抽出することと;
    前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較することと;
    を含む、請求項1から8の何れかに記載の方法。
  10. 前記記録された挙動は、次の3種類の挙動:
    前記アプリケーションの関数呼出しに関連する挙動;
    前記アプリケーションが行ったローカルデータアクセスに関連する挙動;
    前記アプリケーションが起こした上り及び/又は下りトラフィックに関連する挙動;
    のうちの少なくとも1つを含む、請求項9に記載の方法。
  11. 前記リアルタイムマルウェア検出検査は、
    前記アプリケーションの挙動のログを獲得する関数モジュールの追加によって前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることを更に含む、請求項9又は10に記載の方法。
  12. 実環境でアプリケーションを実行することと;
    前記アプリケーションの実行時における前記アプリケーションの挙動を記録することと;
    前記記録された挙動から挙動パターンを抽出することと;
    前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較することと;
    を含む、方法。
  13. 前記記録された挙動は、次の3種類の挙動:
    前記アプリケーションの関数呼出しに関連する挙動;
    前記アプリケーションが行ったローカルデータアクセスに関連する挙動;
    前記アプリケーションが起こした上り及び/又は下りトラフィックに関連する挙動;
    のうちの少なくとも1つを含む、請求項12に記載の方法。
  14. 前記アプリケーションの挙動のログを獲得する関数モジュールの追加によって前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることを更に含む、請求項12又は13に記載の方法。
  15. 少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリを備える装置であって、
    前記少なくとも1つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、前記装置に少なくとも、アプリケーションに関するオフラインマルウェア検出検査を実行させるように構成され、
    前記オフラインマルウェア検出検査は:
    前記アプリケーションの少なくとも1つの関数呼出しマップをオフラインで検出することであって、関数呼出しマップは前記アプリケーションが呼び出す関数間における呼出しの関係を記録する、前記検出することと;
    前記少なくとも1つの関数呼出しマップから前記アプリケーションの関数呼出しのパターンを抽出することと;
    前記抽出されたパターンを正常なアプリケーションの少なくとも1つの基本パターンと比較することと;
    を含む、装置。
  16. 前記検出することは、仮想環境で前記アプリケーションのコードの少なくとも一部を実行することと、前記アプリケーションの関数呼出しのログを獲得することを含む、請求項15に記載の装置。
  17. 前記抽出することは、前記ログを解析するためにデータマイニング法を使用することを含む、請求項16に記載の装置。
  18. 前記少なくとも1つの関数呼出しマップは、次の3種類の関数呼出しマップ:
    前記実行中に前記アプリケーションが呼出し可能な関数間の全ての呼出し関係を含む完全呼出しマップ;
    特定の異なる時点での呼出しマップであって、前記実行中に前記アプリケーションが前記異なる時点よりも前に呼び出した関数間の呼出し関係を含む、前記特定の異なる時点での呼出しマップ;
    前記実行中に前記アプリケーションが特定の時間内に呼び出した関数間の呼出し関係を含む部分呼出しマップ;
    のうちの少なくとも1つを含む、請求項17に記載の装置。
  19. 前記オフラインマルウェア検出検査は、
    前記関数呼出しマップのログを獲得する関数モジュールの追加によって、前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることと;
    前記ログを獲得するために、前記仮想環境で前記再コンパイルされたコードを実行することと;
    を更に含む、請求項15に記載の装置。
  20. 前記装置は更に、
    前記アプリケーションの評価に従って前記オフラインマルウェア検出検査のスケジュールを組ませられる、請求項15に記載の装置。
  21. 高評価アプリケーションは、低評価アプリケーションよりも優先して前記オフラインマルウェア検出検査を受けるようにスケジュールされる、請求項20に記載の装置。
  22. 前記装置は更に、
    前記アプリケーションの潜在的不正の脅威を示す前記オフラインマルウェア検出検査の結果を告知させられる、請求項15に記載の装置。
  23. 前記装置は更に、前記アプリケーションが実環境で実行される間に前記アプリケーションに関するリアルタイムマルウェア検出検査をさせられ、前記リアルタイムマルウェア検出検査は:
    前記アプリケーションの実行中に前記アプリケーションの挙動を記録することと;
    前記記録された挙動から挙動パターンを抽出することと;
    前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較することと;
    を含む、請求項15から22の何れかに記載の装置。
  24. 前記記録された挙動は、次の3種類の挙動:
    前記アプリケーションの関数呼出しに関連する挙動;
    前記アプリケーションが行ったローカルデータアクセスに関連する挙動;
    前記アプリケーションが起こした上り及び/又は下りトラフィックに関連する挙動
    のうちの少なくとも1つを含む、請求項23に記載の装置。
  25. 前記リアルタイムマルウェア検出検査は、
    前記アプリケーションの挙動のログを獲得する関数モジュールの追加によって前記アプリケーションの実行コードの少なくとも一部を再コンパイルすることを更に含む、請求項23又は24に記載の装置。
  26. 少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリを備える装置であって、前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、前記装置に少なくとも:
    実環境でアプリケーションを実行することと;
    前記アプリケーションの実行時における前記アプリケーションの挙動を記録することと;
    前記記録された挙動から挙動パターンを抽出することと;
    前記抽出された挙動パターンを正常なアプリケーションの少なくとも1つの基本パターン又は以前に記録された前記アプリケーションのパターンと比較することと;
    を実行させるように構成される、装置。
  27. 前記記録された挙動は、次の3種類の挙動:
    前記アプリケーションの関数呼出しに関連する挙動;
    前記アプリケーションが行ったローカルデータアクセスに関連する挙動;
    前記アプリケーションが起こした上り及び/又は下りトラフィックに関連する挙動;
    のうちの少なくとも1つを含む、請求項26に記載の装置。
  28. 前記装置は更に、
    前記アプリケーションの挙動のログを獲得する関数モジュールの追加によって前記アプリケーションの実行コードの少なくとも一部を再コンパイルするように構成される、請求項26又は27に記載の装置。
  29. 1つ又は複数のプロセッサにより実行されると、装置に、請求項1から14の何れかに記載の方法を少なくとも実行させる、1つ又は複数の命令の1つ又は複数のシーケンスを担持する、コンピュータ可読記憶媒体。
  30. 請求項1から14の何れかに記載の方法を実行する手段を備える、装置。
  31. 1つ又は複数のプロセッサにより実行されると、装置に、請求項1から14の何れかに記載の方法を少なくとも実行させる、1つ又は複数の1つ又は複数のシーケンスを含む、コンピュータプログラム。
JP2016541324A 2013-12-30 2013-12-30 マルウェア検出検査方法及び装置 Active JP6188956B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/090887 WO2015100538A1 (en) 2013-12-30 2013-12-30 Method and apparatus for malware detection

Publications (2)

Publication Number Publication Date
JP2017505944A true JP2017505944A (ja) 2017-02-23
JP6188956B2 JP6188956B2 (ja) 2017-08-30

Family

ID=53492898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016541324A Active JP6188956B2 (ja) 2013-12-30 2013-12-30 マルウェア検出検査方法及び装置

Country Status (5)

Country Link
US (1) US10181033B2 (ja)
EP (1) EP3090375A4 (ja)
JP (1) JP6188956B2 (ja)
CN (1) CN105874463A (ja)
WO (1) WO2015100538A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181350A (ja) * 2017-04-20 2018-11-15 Line株式会社 アプリケーションの保安性を評価する方法およびシステム
KR20190043679A (ko) * 2017-10-19 2019-04-29 주식회사 케이티 은닉 코드에 대한 인증 프로세스를 수행하는 사용자 단말, 방법 및 인증 서버
US11227048B2 (en) * 2018-12-28 2022-01-18 AO Kaspersky Lab Method and system for detecting malicious files using behavior patterns
US20230121281A1 (en) * 2021-10-20 2023-04-20 Faurecia Aptoide Automotive, Lda Method and device for automatically detecting potential failures in mobile applications

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9917851B2 (en) 2014-04-28 2018-03-13 Sophos Limited Intrusion detection using a heartbeat
US10122753B2 (en) * 2014-04-28 2018-11-06 Sophos Limited Using reputation to avoid false malware detections
WO2016097757A1 (en) 2014-12-18 2016-06-23 Sophos Limited A method and system for network access control based on traffic monitoring and vulnerability detection using process related information
CN106295333B (zh) * 2015-05-27 2018-08-17 安一恒通(北京)科技有限公司 用于检测恶意代码的方法和系统
WO2017161571A1 (en) * 2016-03-25 2017-09-28 Nokia Technologies Oy A hybrid approach of malware detection
US10528734B2 (en) * 2016-03-25 2020-01-07 The Mitre Corporation System and method for vetting mobile phone software applications
US9807101B1 (en) * 2016-04-29 2017-10-31 Oracle International Corporation Inferring security-sensitive entities in libraries
RU2634172C1 (ru) * 2016-06-02 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ передачи управления между адресными пространствами
US10397256B2 (en) * 2016-06-13 2019-08-27 Microsoft Technology Licensing, Llc Spam classification system based on network flow data
US10586045B2 (en) 2016-08-11 2020-03-10 The Mitre Corporation System and method for detecting malware in mobile device software applications
US20180060569A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated Detection and Prevention of Malicious Shell Exploits
US10339320B2 (en) * 2016-11-18 2019-07-02 International Business Machines Corporation Applying machine learning techniques to discover security impacts of application programming interfaces
US10992693B2 (en) * 2017-02-09 2021-04-27 Microsoft Technology Licensing, Llc Near real-time detection of suspicious outbound traffic
US10333961B2 (en) * 2017-06-27 2019-06-25 Intel Corporation Malware detection system attack prevention
RU2659737C1 (ru) * 2017-08-10 2018-07-03 Акционерное общество "Лаборатория Касперского" Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
CN107657176A (zh) * 2017-09-26 2018-02-02 四川长虹电器股份有限公司 一种基于行为分析的未知恶意代码识别与分析方法
US20190174319A1 (en) * 2017-12-01 2019-06-06 Seven Networks, Llc Detection and identification of potentially harmful applications based on detection and analysis of malware/spyware indicators
CN111386526B (zh) * 2018-01-24 2024-02-06 赫尔实验室有限公司 用于移动应用程序的连续验证和保护的系统
RU2697954C2 (ru) * 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ создания антивирусной записи
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
CN109032918B (zh) * 2018-05-31 2021-06-18 长安大学 一种基于异常任务函数轨迹的感知节点程序异常诊断方法
GB201812240D0 (en) 2018-07-27 2018-09-12 Ibm Device, system and method for detection of compromise through automated power analysis
US10866747B2 (en) * 2019-02-10 2020-12-15 Hewlett Packard Enterprise Development Lp Securing a memory drive
US11277120B2 (en) 2019-03-12 2022-03-15 International Business Machines Corporation Dynamic signal processing
US11354433B1 (en) 2019-03-25 2022-06-07 Trend Micro Incorporated Dynamic taint tracking on mobile devices
RU2728498C1 (ru) * 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его исходному коду
US11620119B2 (en) * 2020-03-12 2023-04-04 Raytheon Company Function summarization via type inference
DE102020001883A1 (de) * 2020-03-23 2021-01-28 Giesecke+Devrient Mobile Security Gmbh Verfahren zum Schützen von Secure Elements durch Fernüberwachung ihrer Stromverbrauchsprofile
CN111797393B (zh) * 2020-06-23 2023-05-23 安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN111931236B (zh) * 2020-08-19 2024-01-16 广州大学 一种数据通信监控方法、系统及计算机可读存储介质
CN112287341A (zh) * 2020-09-22 2021-01-29 哈尔滨安天科技集团股份有限公司 一种Android恶意应用检测方法、装置、电子设备及存储介质
CN112906000B (zh) * 2021-03-03 2024-02-23 深信服科技股份有限公司 一种程序访问方法、装置、设备及可读存储介质
CN113010892B (zh) * 2021-03-26 2022-09-20 支付宝(杭州)信息技术有限公司 小程序恶意行为检测方法和装置
CN113206850B (zh) * 2021-04-30 2022-09-16 北京恒安嘉新安全技术有限公司 恶意样本的报文信息获取方法、装置、设备及存储介质
CN113411402B (zh) * 2021-06-22 2023-03-24 浙江百应科技有限公司 一种基于adb的设备监测方法、装置及电子设备
TW202319944A (zh) * 2021-11-02 2023-05-16 財團法人資訊工業策進會 用於資通安全防護機制的驗證方法及驗證系統

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038273A (ja) * 2002-06-28 2004-02-05 Kddi Corp コンピュータウィルス検査装置及び方法、コンピュータプログラム、メールゲートウェイシステム
JP2009181335A (ja) * 2008-01-30 2009-08-13 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析方法および解析プログラム
JP2009237610A (ja) * 2008-03-25 2009-10-15 Ntt Docomo Inc コード変換装置及びコード変換方法
JP2010267128A (ja) * 2009-05-15 2010-11-25 Ntt Docomo Inc 解析システム、解析装置、検知方法、解析方法及びプログラム
CN102034042A (zh) * 2010-12-13 2011-04-27 四川大学 基于函数调用关系图特征的恶意代码检测新方法
JP2012221170A (ja) * 2011-04-07 2012-11-12 Hitachi Ltd 実行環境構築装置および実行環境構築システム
JP2012529690A (ja) * 2009-06-10 2012-11-22 エフ−セキュア コーポレーション マルウェアスキャンに関する誤警報検出
WO2013142228A1 (en) * 2012-03-19 2013-09-26 Qualcomm Incorporated Computing device to detect malware

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8434151B1 (en) 2008-01-04 2013-04-30 International Business Machines Corporation Detecting malicious software
US20100031353A1 (en) 2008-02-04 2010-02-04 Microsoft Corporation Malware Detection Using Code Analysis and Behavior Monitoring
CN101360023A (zh) * 2008-09-09 2009-02-04 成都市华为赛门铁克科技有限公司 一种异常检测方法、装置及系统
US8635694B2 (en) 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
AU2010223925A1 (en) 2009-03-13 2011-11-03 Rutgers, The State University Of New Jersey Systems and methods for the detection of malware
US9213838B2 (en) * 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
US8756693B2 (en) 2011-04-05 2014-06-17 The United States Of America As Represented By The Secretary Of The Air Force Malware target recognition
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US9659173B2 (en) * 2012-01-31 2017-05-23 International Business Machines Corporation Method for detecting a malware
US8713684B2 (en) * 2012-02-24 2014-04-29 Appthority, Inc. Quantifying the risks of applications for mobile devices
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
CN103369532B (zh) * 2012-04-09 2018-07-13 黄余晖 一种移动终端恶意软件行为的黑盒检测方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038273A (ja) * 2002-06-28 2004-02-05 Kddi Corp コンピュータウィルス検査装置及び方法、コンピュータプログラム、メールゲートウェイシステム
JP2009181335A (ja) * 2008-01-30 2009-08-13 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析方法および解析プログラム
JP2009237610A (ja) * 2008-03-25 2009-10-15 Ntt Docomo Inc コード変換装置及びコード変換方法
JP2010267128A (ja) * 2009-05-15 2010-11-25 Ntt Docomo Inc 解析システム、解析装置、検知方法、解析方法及びプログラム
JP2012529690A (ja) * 2009-06-10 2012-11-22 エフ−セキュア コーポレーション マルウェアスキャンに関する誤警報検出
CN102034042A (zh) * 2010-12-13 2011-04-27 四川大学 基于函数调用关系图特征的恶意代码检测新方法
JP2012221170A (ja) * 2011-04-07 2012-11-12 Hitachi Ltd 実行環境構築装置および実行環境構築システム
WO2013142228A1 (en) * 2012-03-19 2013-09-26 Qualcomm Incorporated Computing device to detect malware

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181350A (ja) * 2017-04-20 2018-11-15 Line株式会社 アプリケーションの保安性を評価する方法およびシステム
JP7131946B2 (ja) 2017-04-20 2022-09-06 Line株式会社 アプリケーションの保安性を評価する方法およびシステム
KR20190043679A (ko) * 2017-10-19 2019-04-29 주식회사 케이티 은닉 코드에 대한 인증 프로세스를 수행하는 사용자 단말, 방법 및 인증 서버
KR101999722B1 (ko) * 2017-10-19 2019-07-12 주식회사 케이티 은닉 코드에 대한 인증 프로세스를 수행하는 사용자 단말, 방법 및 인증 서버
US11227048B2 (en) * 2018-12-28 2022-01-18 AO Kaspersky Lab Method and system for detecting malicious files using behavior patterns
US20230121281A1 (en) * 2021-10-20 2023-04-20 Faurecia Aptoide Automotive, Lda Method and device for automatically detecting potential failures in mobile applications
US11940870B2 (en) * 2021-10-20 2024-03-26 Faurecia Aptoide Automotive, Lda Method and device for automatically detecting potential failures in mobile applications

Also Published As

Publication number Publication date
WO2015100538A1 (en) 2015-07-09
JP6188956B2 (ja) 2017-08-30
CN105874463A (zh) 2016-08-17
EP3090375A1 (en) 2016-11-09
EP3090375A4 (en) 2017-08-30
US20170004303A1 (en) 2017-01-05
US10181033B2 (en) 2019-01-15

Similar Documents

Publication Publication Date Title
JP6188956B2 (ja) マルウェア検出検査方法及び装置
US11924230B2 (en) Individual device response options from the monitoring of multiple devices
US11677764B2 (en) Automated malware family signature generation
Ren et al. Recon: Revealing and controlling pii leaks in mobile network traffic
US9357397B2 (en) Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
US10915659B2 (en) Privacy detection of a mobile application program
Burguera et al. Crowdroid: behavior-based malware detection system for android
US9753796B2 (en) Distributed monitoring, evaluation, and response for multiple devices
Sharma et al. Mining api calls and permissions for android malware detection
US11086983B2 (en) System and method for authenticating safe software
Xiong et al. Android malware detection with contrasting permission patterns
Shankar et al. AndroTaint: An efficient android malware detection framework using dynamic taint analysis
Aldini et al. Detection of repackaged mobile applications through a collaborative approach
Faruki et al. Droidanalyst: Synergic app framework for static and dynamic app analysis
US20160099956A1 (en) Detection of Mutated Apps and Usage Thereof
US20190377874A1 (en) Grouping application components for classification and malware detection
Surendran et al. Detection of malware applications from centrality measures of syscall graph
Grace et al. Behaviour analysis of inter-app communication using a lightweight monitoring app for malware detection
Kaushik et al. Malware detection techniques in android
Vecchiato et al. A security configuration assessment for android devices
Chen et al. Detecting mobile application malicious behaviors based on data flow of source code
Londoño et al. SafeCandy: System for security, analysis and validation in Android
Yang et al. Static mining and dynamic taint for mobile security threats analysis
Tokmak et al. Deep Learning Based Malware Detection Tool Development for Android Operating System
Mao et al. A function-level behavior model for anomalous behavior detection in hybrid mobile applications

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170801

R150 Certificate of patent or registration of utility model

Ref document number: 6188956

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