JP5992622B2 - 悪意あるアプリケーション診断装置及び方法 - Google Patents

悪意あるアプリケーション診断装置及び方法 Download PDF

Info

Publication number
JP5992622B2
JP5992622B2 JP2015529660A JP2015529660A JP5992622B2 JP 5992622 B2 JP5992622 B2 JP 5992622B2 JP 2015529660 A JP2015529660 A JP 2015529660A JP 2015529660 A JP2015529660 A JP 2015529660A JP 5992622 B2 JP5992622 B2 JP 5992622B2
Authority
JP
Japan
Prior art keywords
file
information
malicious
diagnostic
unit
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
JP2015529660A
Other languages
English (en)
Other versions
JP2015526824A (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 JP2015526824A publication Critical patent/JP2015526824A/ja
Application granted granted Critical
Publication of JP5992622B2 publication Critical patent/JP5992622B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware

Description

本発明は、悪意あるアプリケーション診断装置及び方法に関するものである。より具体的には、モバイルオペレーティングシステムでアプリケーション実行ファイルを対象に悪意があるか否かを診断する悪意あるアプリケーション診断装置及び方法に関するものである。
近年、有無線インターネットだけでなく、移動通信技術の発達に伴い単なる通話機能のみならず無線インターネット機能などの多様な機能を備えた携帯電話が普及している。特に最近普及が拡大しているスマートフォン(smartphone)は、モバイルオペレーティングシステムで動作する多様なアプリケーションプログラム(以下、アプリケーションという)をインストールでき、このような理由からユーザはスマートフォンを多様な用途で使用している。
スマートフォンには、アンドロイド(Android)、i-OS(Operating System)、ウィンドウモバイル(window mobile)などのモバイルオペレーティングシステムが搭載され、各種モバイルオペレーティングシステムで実行可能なアプリケーションの開発が活発に行われている。
上記モバイルオペレーティングシステムの中で、アンドロイドプラットフォームはグーグル(Google)社が主導するOHA(Open Handset Alliance)にて公開したオープンソースプラットフォームであり、リナックス(登録商標)(Linux(登録商標))カーネル、仮想マシン(VM:Virtual Machine)、フレームワーク(Framework)及びアプリケーションをすべて含むソフトウェアパッケージを意味する。
現在アンドロイドプラットフォームに対するユーザの期待が高まり、端末メーカーと移動体通信事業者からの好評からアンドロイドプラットフォームを搭載するスマートフォンなどの携帯用端末が次第に増加することによって、アンドロイドアプリケーション市場が活性化して良質のアンドロイドアプリケーションの供給に対する要求が高まっている。
だがアンドロイドプラットフォームを搭載したスマートフォンのユーザが増加することによって、アンドロイドオペレーティングシステムをターゲットとするマルウェアも急増しており、アンドロイドマルウェアの作成者らは既存のPC環境で習得した多様な技術をアンドロイド用の悪意あるアプリケーション作成に適用し、PCよりも急速に発展させている。
図1は、アンドロイドプラットフォームで駆動するアプリケーションのインストール及び動作のための実行ファイルのアンドロイドパッケージ(APK)ファイルの一例を示すツリー構造図である。
図1に示すように、アンドロイドパッケージファイルは、ルート(root)に複数のフォルダ及びファイルを含んでおり、この中でMETA-INFフォルダ(20)とAndroidManifest.xmlファイル(10)、classes.dexファイル(30)及びresources.arscファイル(40)は必須構成要素だ。必須構成要素はいずれか1つでもなければ、アプリケーションが正常にインストールされなかったり実行されない。META-INFフォルダ(20)は、その下位にRSAファイル(21)、SFファイル(22)及びMANIFEST.MFファイル(23)を必須要素として含んでいる。
アンドロイドの悪意あるアプリケーションを作成する方法は、AndroidManifest.xmlファイル(10)又はclasses.dexファイル(30)を修正して作成することが代表的なものとして知られている。
よって従来の技術を駆使してモバイルオペレーティングシステム環境で悪意あるアプリケーションを診断する場合は、悪意があると判定されたAndroidManifest.xmlファイル(10)及びclasses.dexファイル(30)のハッシュ(hash)値をシグネチャ(signature)データベースに予め格納し、診断対象であるアプリケーションから抽出したAndroidManifest.xmlファイル(10)又はclasses.dexファイル(30)のハッシュ値をシグネチャデータベースと比較して、悪意あるアプリケーションを診断及び判別した。
この従来の技術を使用すれば、1つの悪意あるファイルに対して正確に診断ができるが、自動化ツールなどを用いて作成された大量の変種ファイルについては、悪意があるか否かを診断できないという問題があった。
本発明の実施例は、モバイルオペレーティングシステム環境で駆動可能な悪意あるアプリケーションの実行ファイルを対象にし、変種ファイルにおいても不変であったり、変形が難しい共通的な特徴情報を、悪意あるアプリケーションの診断に活用する悪意あるアプリケーション診断装置及び方法を提供する。
本発明の一実施形態による悪意あるアプリケーション診断装置は、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含むことができる。
ここで、前記悪意あるアプリケーション診断装置は、複数の共通的な特徴情報を組み合わせて前記診断対象アプリケーション実行ファイルの悪意の有無を判別するための診断規則を格納する診断規則格納部を更に含み、前記情報収集部は、前記診断規則に従って前記共通的な特徴情報を収集できる。
前記悪意あるアプリケーション診断装置は、前記診断規則の設定を要請できる設定部を更に含み、前記設定部による要請によって設定された前記診断規則は、前記診断規則格納部に格納され得る。
前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、前記情報収集部は、前記APKファイル内のファイル経路情報又は認証書情報を収集するAPK情報収集部を含むことができる。
前記APK情報収集部は、前記APKファイルを構成するファイルのツリー構造を抽出してファイルの経路に該当するハッシュ値を抽出するファイルツリー構造抽出部を含むことができる。
前記APK情報収集部は、前記APKファイル内に存在する特定ファイルの経路を抽出して該当ファイルの経路に該当するハッシュ値を抽出するファイル経路抽出部を含むことができる。
前記APK情報収集部は、前記APKファイル内のMETA-INFフォルダに存在するRSAファイルの自己署名情報を抽出する認証書情報抽出部を含むことができる。
前記認証書情報抽出部は、前記自己署名情報の中からSerial Number、Issure DN又はValidityのうち少なくとも1つを抽出できる。
前記情報収集部は、前記診断対象アプリケーション実行ファイル内のDEXファイルを分析してJAVA(登録商標)クラスファイルの特徴を抽出するDEX情報収集部を含むことができる。
前記DEX情報収集部は、前記DEXファイルで含むJAVA(登録商標)ファイルがインポートする外部クラス情報の目録を用いてCRCを求めるインポートクラス抽出部を含むことができる。
前記DEX情報収集部は、前記DEXファイルに定義されたプロトタイプ目録を集めてCRCを求めるプロトタイプ抽出部を含むことができる。
前記DEX情報収集部は、前記DEXファイルに含まれているJAVA(登録商標)クラスファイルの名前を羅列してCRCを求めるクラスリスト抽出部を含むことができる。
前記DEX情報収集部は、前記DEXファイルに含まれているクラスに対してクラス内部の属性値又はJAVA(登録商標)コード命令語の句文を抽出するクラスハッシュ抽出部を含むことができる。
前記情報収集部は、前記診断対象アプリケーション実行ファイル内のandroidManifest.xmlファイルで内部情報を収集するマニフェスト情報収集部を含むことができる。
前記マニフェスト情報収集部は、前記androidManifest.xmlファイルからアプリケーションに関する情報を抽出するアプリケーション情報抽出部を含むことができる。
前記マニフェスト情報収集部は、前記androidManifest.xmlファイルのXMLツリー構造情報をハッシュ値として抽出するXMLツリー構造抽出部を含むことができる。
前記情報収集部は、resources.arscファイル内のリソース構造体の形態的な構成情報をハッシュ値として抽出するリソース情報収集部を含むことができる。
本発明の他の実施形態による悪意あるアプリケーション診断方法は、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階とを含むことができる。
ここで、前記悪意あるアプリケーション診断方法は、複数の共通的な特徴情報を組み合わせて前記診断対象アプリケーション実行ファイルの悪意の有無を判別するための診断規則を格納する段階を更に含み、前記収集する段階は、前記診断規則に従って前記共通的な特徴情報を収集できる。
前記悪意あるアプリケーション診断方法は、前記診断規則の設定を要請される段階を更に含み、前記設定の要請によって前記診断規則を格納できる。
本発明の更に他の実施形態によれば、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階とを含む悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供できる。
本発明の実施形態によれば、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーションの実行ファイルを対象に変種ファイルでも不変したり、変形し難い共通的な特徴情報を悪意あるアプリケーションの診断に活用する。
従って、外形的に異なるが、本質的には同種類の変種の悪意あるファイル又は新種の悪意あるファイルに対しても既に確保された診断データを活用して悪意があるか否かを診断及び判別できる。なお、正常なアプリケーションの共通的な特徴情報を診断データとして確保してホワイトリスト(white list)を別途に管理すれば、正常なアプリケーションを悪意があると誤診する可能性を大きく下げることができるという効果を奏する。
アンドロイドプラットフォームで駆動されるアプリケーションのインストール及び動作のための実行ファイルであるアンドロイドパッケージ(APK)ファイルの一例を示すツリー構造図である。 本発明の実施形態による悪意あるアプリケーション診断装置のブロック図である。 本発明の実施形態による情報収集部の細部的な構成図である。 本発明の実施形態によるAPK情報収集部の細部的な構成図である。 本発明の実施形態によるDEX情報収集部の細部的な構成図である。 本発明の実施形態によるマニフェスト情報収集部の細部的な構成図である。 本発明の実施形態による悪意あるアプリケーション診断方法を説明するためのフローチャートである。
本発明の利点及び特徴、そしてそれらを達成する方法は、添付される図面と共に詳細に後述されている実施形態を参照すれば明確になる。しかしながら、本発明は以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で実現され得、但し、本実施形態は、本発明の開示が完全なようにし、本発明の属する技術分野における通常の知識を有する者に発明の範疇を完全に理解させるために提供されるものであり、本発明は請求範囲の範疇により定義されるだけである。明細書全体に亘って同一の参照符号は同一の構成要素を示す。
本発明の実施形態を説明するにおいて公知の機能又は構成についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合には、その詳細な説明を省略する。そして、後述する用語は、本発明の実施形態での機能を考慮して定義された用語であって、これはユーザ、運用者の意図又は慣例などによって変わり得る。従って、その定義は、本明細書全般に亘る内容に基づいて行われるべきである。
図2は、本発明の実施形態による悪意あるアプリケーション診断装置のブロック図である。
これに示すように、悪意あるアプリケーション診断装置100は、情報収集部110、診断判別部120、設定部130、シグネチャ格納部140、診断規則格納部150、結果提供部160などを含む。
シグネチャ格納部140は、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を診断対象アプリケーション実行ファイルに対する悪意の有無の診断のためのシグネチャデータとして格納する。このようなシグネチャ格納部140は、1つのアプリケーション実行ファイルと関連する複数の共通的な特徴情報を格納できる。
情報収集部110は、悪意があるか否かを診断する対象である診断対象アプリケーション実行ファイルからシグネチャ格納部140に格納された共通的な特徴情報に対応する情報を収集する。このような情報収集部110は、診断規則格納部150に格納された診断規則に従ってアプリケーション実行ファイルから共通的な特徴情報に対応する情報を収集できる。即ち、情報収集部110は、診断対象アプリケーション実行ファイルから悪意あるアプリケーション実行ファイルとの共通的な特徴情報を収集するとも言える。
診断判別部120は、情報収集部110により収集された共通的な特徴情報の対応情報とシグネチャ格納部140に格納された共通的な特徴情報とを比較してアプリケーション実行ファイルの悪意の有無を診断及び判別する。
結果提供部160は、診断判別部120によるアプリケーション実行ファイルの悪意の有無の判別結果を外部に提供する。
診断規則格納部150は、複数の共通的な特徴情報を組み合わせてアプリケーション実行ファイルの悪意の有無を判別するための診断規則を格納する。
設定部130は、悪意あるアプリケーション診断装置100に各種命令を入力できるインターフェースを提供し、このような設定部130を通じて診断規則の設定を要請できる。このような設定部130による要請によって診断判別部120は、診断規則を設定して診断規則格納部150に格納されるようにすることができる。
図3は、本発明の実施形態による情報収集部110の細部的な構成図である。
これに示すように、情報収集部110は、APK情報収集部111、DEX情報収集部112、マニフェスト情報収集部113、リソース情報収集部114などを含む。
APK情報収集部111は、APK圧縮ファイル内のファイル経路情報又は認証書情報を収集できる。
DEX情報収集部112は、DEXファイルを分析してJAVA(登録商標)クラスファイルの特徴を抽出できる。
マニフェスト情報収集部113は、androidManifest.xmlファイルの内部情報を収集できる。
リソース情報収集部114は、resources.arscファイル内のリソース構造体の形態的な構成情報をハッシュ値として抽出できる。
図4は、本発明の実施形態によるAPK情報収集部111の細部的な構成図である。
これに示すように、APK情報収集部111は、ファイルツリー構造抽出部111a、ファイル経路抽出部111b、認証書情報抽出部111cなどを含む。
ファイルツリー構造抽出部111aは、APK圧縮ファイルを構成するファイルのツリー構造を抽出してファイルの経路に該当するハッシュ値を抽出できる。
ファイル経路抽出部111bは、APK圧縮ファイル内に存在する特定ファイルの経路を抽出して該当ファイルの経路に該当するハッシュ値を抽出できる。
認証書情報抽出部111cは、APK圧縮ファイル内のMETA-INFフォルダに存在するRSAファイルの自己署名情報を抽出できる。このような認証書情報抽出部111cは、自己署名情報の中からSerial Number、Issure DN又はValidityを抽出できる。
図5は、本発明の実施形態によるDEX情報収集部112の細部的な構成図である。
これに示すように、DEX情報収集部112は、インポートクラス抽出部112a、プロトタイプ抽出部112b、クラスリスト抽出部112c、クラスハッシュ抽出部112dを含む。
インポートクラス抽出部112aは、DEXファイルで含むJAVA(登録商標)ファイルがインポートする外部クラス情報の目録を用いてCRC(Cyclic Redundancy Check)を求めることができる。
プロトタイプ抽出部112bは、DEXファイルに定義されたプロトタイプ目録を集めてCRCを求めることができる。
クラスリスト抽出部112cは、DEXファイルに含まれているJAVA(登録商標)クラスファイルの名前を羅列してCRCを求めることができる。
クラスハッシュ抽出部112dは、DEXファイルに含まれているクラスに対してクラス内部の属性値又はJAVA(登録商標)コード命令語の句文を抽出できる。
図6は、本発明の実施形態によるマニフェスト情報収集部113の細部的な構成図である。
これに示すように、マニフェスト情報収集部113は、アプリケーション情報抽出部113a、XMLツリー構造抽出部113bを含む。
アプリケーション情報抽出部113aは、androidManifest.xmlファイルでアプリケーションに関する情報を抽出できる。
XMLツリー構造抽出部113bは、androidManifest.xmlファイルのXMLツリー構造情報をハッシュ値として抽出できる。
図7は、本発明の実施形態による悪意あるアプリケーション診断方法を説明するためのフローチャートである。
これに示すように、本発明の実施形態による悪意あるアプリケーション診断装置100による悪意あるアプリケーション診断方法は、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルを対象に複数の共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納し、複数の共通的な特徴情報を組み合わせてアプリケーション実行ファイルの悪意の有無を判別するための診断規則を格納した状態でファイル診断モードに進む段階(S201)と、ファイル診断モードの進入によって既に格納された診断規則を確認する段階(S202)と、モバイルオペレーティングシステム環境でファイルを探索してモバイルオペレーティングシステム実行ファイルを判別する段階(S203及びS204)と、判別されたモバイルオペレーティングシステム実行ファイルから既に格納された診断規則に従って共通的な特徴情報に対応する情報を収集する段階(S205)と、収集された共通的な特徴情報に対応する情報と既に格納されたシグネチャデータとを比較してアプリケーション実行ファイルの悪意の有無を判断する段階(S207)と、判断によりアプリケーション実行ファイルの悪意の有無の判別結果を外部に提供することなどのような悪意あるアプリケーション処理を行う段階(S208)とを含む。例えば、段階S201で診断対象アプリケーション実行ファイルの悪意の有無を判別するための診断規則を格納する際に外部から診断規則の設定が要請されれば、該当要請によって診断規則を設定できる。
以下、図1〜図7を参照して本発明の実施形態による悪意あるアプリケーション診断装置による悪意あるアプリケーション診断方法を更に詳察する。
まず、悪意あるアプリケーション診断装置100のシグネチャ格納部140は、モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルを対象に複数の共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する。
ここで、シグネチャ格納部140がシグネチャデータとして格納する複数の共通的な特徴情報は、アプリケーション実行ファイルに必須的に含まれるフォルダ又はファイルから抽出する。例えば、アンドロイドパッケージ(APK)ファイルのMETA-INFフォルダ20とAndroidManifest.xmlファイル10、classes.dexファイル30又はresources.arscファイル40から複数の共通的な特徴情報を抽出できる。
このようなシグネチャ格納部140に格納されるシグネチャデータは、モバイルオペレーティングシステム環境で駆動される診断対象アプリケーション実行ファイルから情報収集部110が収集する情報と同種類の情報である。このようなシグネチャデータの細部的な説明は、段階S205で情報収集部110による情報収集過程で説明する。
このようにシグネチャ格納部140によるシグネチャデータの格納過程が実行されれば、悪意あるアプリケーション診断装置100は、段階S201を通じてファイル診断モードを行えるが、その前に悪意あるアプリケーションを診断するための診断規則を設定する過程をまず行える。
このために、設定部130は、悪意あるアプリケーション診断装置100に各種命令を入力できるユーザインターフェースを提供し、ユーザインターフェースを通じて診断規則の設定が要請されれば、診断規則格納部150に悪意あるアプリケーションを診断するための診断規則を格納する。ここで、診断規則とは、シグネチャ格納部140に格納されたシグネチャデータの中でどの(各)データを悪意あるアプリケーションの診断に利用するかを指定することを意味する。即ち、シグネチャ格納部140に格納された複数の共通的な特徴情報を組み合わせてアプリケーション実行ファイルの悪意の有無を判別するための診断規則を指定及び格納できる。
次に、悪意あるアプリケーション診断装置100は、診断規則を格納した状態でファイル診断モードに進む(S201)。
ファイル診断モードに進入すれば、診断判別部120は、診断規則格納部150に既に格納された診断規則を確認し、確認された診断規則に従って情報収集部110にファイル探索及び情報収集を要請する(S202)。
情報収集部110は、モバイルオペレーティングシステム環境でファイルを探索し(S203)、探索されたファイルがモバイルオペレーティングシステム実行ファイルかを判別する(S204)。例えば、アンドロイドプラットフォームの場合、アンドロイドパッケージ(APK)ファイルかを判別するものである。
ここで、情報収集部110は、モバイルオペレーティングシステム実行ファイルを対象に既に格納された診断規則に従って共通的な特徴情報に対応する情報を収集する(S205)。
情報収集部110は、構成するAPK情報収集部111、DEX情報収集部112、マニフェスト情報収集部113、リソース情報収集部114は、診断規則格納部150に既に格納された診断規則に従って何れか1つ又は複数が動作できる。
APK情報収集部111は、APK圧縮ファイル内のファイル経路情報又は認証書情報を収集する。このようなAPK情報収集部111を構成するファイルツリー構造抽出部111a、ファイル経路抽出部111b、認証書情報抽出部111cは、診断規則格納部150に既に格納された診断規則に従って何れか1つ又は複数が動作できる。
ファイルツリー構造抽出部111aは、APK圧縮ファイルを構成するファイルのツリー構造を抽出してファイルの経路に該当するハッシュ値を抽出する。APK圧縮ファイルは、必ず存在しなければならないファイルを除けば、製作者が自律的にファイル名と格納経路を指定できる。APK圧縮ファイルでファイルのツリー構造を抽出してファイルの全ての経路名をハッシュ値として抽出し、抽出したファイルの全ての経路名に対応するハッシュ値を同一類型のファイルを区分できるシグネチャとして使用できる。大半の悪意あるファイルは、一度生成されれば、その後、変種が生成されても内部ファイルの構成が変更しないので、この方法の診断率は効果的である。
ファイル経路抽出部111bは、APK圧縮ファイル内に存在する特定ファイルの経路を抽出して該当ファイルの経路に該当するハッシュ値を抽出する。このようにAPK圧縮ファイルに存在する特定ファイルの経路とそのファイルのハッシュ値を抽出して同一類型のファイルを区分するシグネチャとして使用できる。これはファイルツリー構造抽出部111aを用いたことに比べて、更に広い範囲の変種ファイルを効果的に診断できる。
認証書情報抽出部111cは、APK圧縮ファイル内のMETA-INFフォルダ20に存在するRSAファイル21の自己署名情報を抽出する。このような認証書情報抽出部111cは、自己署名情報の中からSerial Number、Issure DN又はValidityを抽出できる。認証書ファイルは、APK圧縮ファイル内部のMETA-INFフォルダ20にMANIFEST.MFファイル23、ユーザ指定ファイル名.SFファイル22及びSF拡張子のファイルと同じファイル名.RSAファイル21として存在する。このうち、RSAファイル21はX.509形式の自己署名を含んでおり、X.509認証書の内容のうちSerial Number、Issure DN、Validity(Not Before、Not After)を抽出及び組み合わせて同一類型のファイルを区分するシグネチャとして用いる。
DEX情報収集部112は、classes.dexファイル30を分析してJAVA(登録商標)クラスファイルの特徴を抽出する。このようなclasses.dexファイル30は、アプリケーション製作者がJAVA(登録商標)プログラミング言語で作成したコードがバイナリ形態で入っている。classes.dexファイル30を分析してJAVA(登録商標)クラスファイルの特徴を抽出して診断ポイントとして活用する。
このようなDEX情報収集部112を構成するインポートクラス抽出部112a、プロトタイプ抽出部112b、クラスリスト抽出部112c、クラスハッシュ抽出部112dは、診断規則格納部150に既に格納された診断規則に従って何れか1つ又は複数が動作できる。
インポートクラス抽出部112aは、classes.dexファイル30で含むJAVA(登録商標)ファイルがインポートする外部クラス情報の目録を用いてCRC(Cyclic Redundancy Check)を求めて診断ポイントとして活用する。
プロトタイプ抽出部112bは、classes.dexファイル30に定義されたプロトタイプ目録を集め、CRCを求めて診断ポイントとして活用する。このとき、ユーザ定義クラス、関数、変数はその形式のみ含めることができる。
クラスリスト抽出部112cは、classes.dexファイル30に含まれているJAVA(登録商標)クラスファイルの名前を羅列してCRCを求めて診断ポイントとして活用する。2種類のCRCを抽出するにおいて、1つはクラスの名前のみ羅列したCRCであり、他の1つはクラスの名前と経路の情報も含む。実際の悪意行為は、JAVA(登録商標)コード上で発生するようになるが、該当クラスから抽出された情報を用いて正確にマルウェアを検知できる。また、その特徴を抽出するとき、4つのレベルで抽出する情報に差別をおくため、コードの変形も検知できる。
クラスハッシュ抽出部112dは、classes.dexファイル30に含まれているクラスに対してクラス内部の属性値又はJAVA(登録商標)コード命令語の句文を抽出する。最初の抽出対象情報であるクラス内部の属性値は、static fields size、instance fields size、direct methods size、virtual methods size、static fields name & type、instance fields name & type、method name & type、method registers count、method in-out arguments、method tries length、method instruction sizeなどであり、2番目のハッシュ抽出対象情報であるJAVA(登録商標)コード命令語の句文は、all opcodes、const value、all const*、return、if、goto、const-stringなどである。前記項目中の1つ又は複数値の組み合わせが診断規則格納部150に格納された診断規則に従って悪意あるアプリケーションを判別するために利用され得る。
マニフェスト情報収集部113は、androidManifest.xmlファイル10の内部情報を収集する。
このようなマニフェスト情報収集部113を構成するアプリケーション情報抽出部113a、XMLツリー構造抽出部113bは、診断規則格納部150に既に格納された診断規則に従って何れか1つ又は複数が動作できる。
アプリケーション情報抽出部113aは、androidManifest.xmlファイル10でアプリケーションに関する情報を抽出する。androidMainfest.xmlファイル10には、アプリケーションを実行するためにシステムが知っていなければならない基本的な情報が記述されている。このような情報には、Package Nameを含んでPermission、Version(製品、SDK)、Receiver、Activity、Serviceなどがあり、アプリケーションがアップデートされるとき、同じ値又は構造で維持される場合が多い。
アプリケーション情報抽出部113aは、アプリケーションがアップデートされても容易に変わらないandroidManifest.xmlファイル10の内部情報を悪意あるアプリケーションの診断のために利用する。androidManifest.xmlファイル10は、アプリケーションに関する情報を文字列の形態で表現している。アプリケーションのPackage NameやPermissionなどの前記で言及した全ての情報を直接的に抽出可能であるため、固有な情報を文字列基盤の診断シグネチャとして活用可能である。
XMLツリー構造抽出部113bは、androidManifest.xmlファイル10のXMLツリー構造情報をハッシュ値として抽出する。androidManifest.xmlファイル10は、XMLの標準規格に従っている。全ての情報は、それぞれのノードのツリー構造内に含まれる。XMLでのツリー構造は、生命体の骨と同一のものであって、類似する機能のアプリケーションは、この構造が同一である。この構造をハッシュ形態で抽出して診断シグネチャとして利用できる。
リソース情報収集部114は、resources.arscファイル40内のリソース構造体の形態的な構成情報をハッシュ値として抽出する。
例えば、1種類の悪意あるモバイルトロイの木馬ファイルは作業の性格上、内部的にほぼ同様のリソース(絵、文字列)を有している。従って、このように頻繁に変更されないリソースの特徴を診断規則として定めれば、一度に多数の変種ファイルを診断できる。アンドロイド実行ファイルは、多様なリソース(イメージ、文字列、アイコン、サウンド、レイアウト、音楽、動画、その他)をサポートする。このように多様なリソースファイルをサポートするために、resources.arscファイル40の内部は、多様な形態の構造体の母音からなっている。例えば、BASIC_HEADER、RESOURCE_HEADER、STRING_BLOCK、PACKAGE_BLOCK、TYPE_BLOCK、CONFIG_BLOCK、CONFIG_FLAGS、ENTRY_BLOCKなどがある。
リソース情報収集部114は、resources.arscファイル40内のリソース構造体の形態的な構成をハッシュ形態で抽出して診断データとして用いる。
第1に、BASIC_HEADERの数、resources.arscファイル40内に存在する各BASIC_HEADER構造体の開始位置配列のハッシュ値を抽出して診断データとして使用できる。
第2に、STRING_BLOCK構造体に存在する文字列の数、文字列全体の大きさ、文字列位置配列のハッシュ値、文字列全体のハッシュ値を抽出して診断データとして使用できる。
第3に、PACKAGE_BLOCK構造体に存在するTYPE_BLOCK構造体の数、TYPE_BLOCK構造体のTypeIdメンバー配列のハッシュ値を抽出して診断データとして使用できる。
第4に、CONFIG_BLOCK構造体内部のEntry数、SpecNameId配列のハッシュ値、Entryバッファ開始位置配列のハッシュ値を抽出して診断データとして使用できる。
このようなリソース情報収集部114により収集された情報を用いるリソース診断方式は、同一のグラフィカルユーザインターフェース(GUI:Graphical User Interface)を用いる変種の悪意あるファイルに効果が良い。
以上で説明したように、情報収集部110が診断規則に従って情報を収集して診断判別部120に提供し、診断判別部120は、シグネチャ格納部140に既に格納されたシグネチャデータと情報収集部110により収集された情報とを比較し(S206)、その比較結果によってアプリケーション実行ファイルの悪意の有無を診断及び判別する(S207)。
そして、診断判別部120により検査対象アプリケーションが悪意あると判別されれば、結果提供部160は、診断及び判別によりアプリケーション実行ファイルの悪意の有無の判別結果を外部に提供することなどのような悪意あるアプリケーション処理を行う(S208)。
添付されたブロック図の各ブロックとフローチャートの各段階の組み合わせは、コンピュータプログラムインストラクションにより実行されてもよい。これらのコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサに搭載され得るので、コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサを通じて行われるそのインストラクションがブロック図の各ブロック又はフローチャートの各段階で説明された機能を行う手段を生成するようになる。これらのコンピュータプログラムインストラクションは、特定方式で機能を実現するためにコンピュータ又はその他プログラム可能なデータプロセシング装置を志向できるコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されることも可能であるので、そのコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されたインストラクションは、ブロック図の各ブロック又はフローチャートの各段階で説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータ又はその他プログラム可能なデータプロセシング装置上に搭載されることも可能であるので、コンピュータ又はその他プログラム可能なデータプロセシング装置上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成してコンピュータ又はその他プログラム可能なデータプロセシング装置を行うインストラクションはブロック図の各ブロック及びフローチャートの各段階で説明された機能を実行するための段階を提供することも可能である。
また、各ブロック又は各段階は、特定された論理的な(各)機能を実行するための1つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を示すことができる。また、幾つかの代替実施形態ではブロック又は段階で言及された機能が順序から外れて発生することも可能であることに注目しなければならない。例えば、相次いで示されている2つのブロック又は段階は、実際に実質的に同時に行われてもよく、又はそのブロック又は段階が時折該当する機能によって逆順で行われてもよい。
以上の説明は、本発明の技術思想を例示的に説明したことに過ぎないものであって、本発明の属する技術分野における通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲で多様な修正及び変形が可能である。従って、本発明に開示された実施形態は、本発明の技術思想を限定するためのものではなく、説明するためのものであり、このような実施形態によって本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、下記の請求範囲によって解釈されなければならず、それと同等な範囲内にあるあらゆる技術思想は、本発明の権利範囲に含まれるものとして解釈されるべきである。

Claims (20)

  1. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、
    収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含み、
    前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、
    前記情報収集部は、前記APKファイル内のファイル経路情報又は認証書情報を収集するAPK情報収集部を含み、
    前記APK情報収集部は、前記APKファイルを構成するファイルのツリー構造を抽出してファイルの経路に該当するハッシュ値を抽出するファイルツリー構造抽出部を含むことを特徴とする悪意あるアプリケーション診断装置。
  2. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、
    収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含み、
    前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、
    前記情報収集部は、前記APKファイル内のファイル経路情報又は認証書情報を収集するAPK情報収集部を含み、
    前記APK情報収集部は、前記APKファイル内に存在する特定ファイルの経路を抽出して該当ファイルの経路に該当するハッシュ値を抽出するファイル経路抽出部を含むことを特徴とする悪意あるアプリケーション診断装置。
  3. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、
    収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含み、
    前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、
    前記情報収集部は、前記APKファイル内のファイル経路情報又は認証書情報を収集するAPK情報収集部を含み、
    前記APK情報収集部は、前記APKファイル内のMETA-INFフォルダに存在するRSAファイルの自己署名情報を抽出する認証書情報抽出部を含むことを特徴とする悪意あるアプリケーション診断装置。
  4. 前記認証書情報抽出部は、前記自己署名情報の中からSerial Number、Issure DN又はValidityのうち少なくとも1つを抽出する請求項に記載の悪意あるアプリケーション診断装置。
  5. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、
    収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含み、
    前記情報収集部は、前記診断対象アプリケーション実行ファイル内のDEXファイルを分析してJAVA(登録商標)クラスファイルの特徴を抽出するDEX情報収集部を含むことを特徴とする悪意あるアプリケーション診断装置。
  6. 前記DEX情報収集部は、前記DEXファイルで含むJAVA(登録商標)ファイルがインポートする外部クラス情報の目録を用いてCRCを求めるインポートクラス抽出部を含むことを特徴とする請求項に記載の悪意あるアプリケーション診断装置。
  7. 前記DEX情報収集部は、前記DEXファイルに定義されたプロトタイプ目録を集めてCRCを求めるプロトタイプ抽出部を含むことを特徴とする請求項に記載の悪意あるアプリケーション診断装置。
  8. 前記DEX情報収集部は、前記DEXファイルに含まれているJAVA(登録商標)クラスファイルの名前を羅列してCRCを求めるクラスリスト抽出部を含むことを特徴とする請求項に記載の悪意あるアプリケーション診断装置。
  9. 前記DEX情報収集部は、前記DEXファイルに含まれているクラスに対してクラス内部の属性値又はJAVA(登録商標)コード命令語の句文を抽出するクラスハッシュ抽出部を含むことを特徴とする請求項に記載の悪意あるアプリケーション診断装置。
  10. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、
    収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含み、
    前記情報収集部は、前記診断対象アプリケーション実行ファイル内のandroidManifest.xmlファイルで内部情報を収集するマニフェスト情報収集部を含み、
    前記マニフェスト情報収集部は、前記androidManifest.xmlファイルのXMLツリー構造情報をハッシュ値として抽出するXMLツリー構造抽出部を含むことを特徴とする悪意あるアプリケーション診断装置。
  11. 前記マニフェスト情報収集部は、前記androidManifest.xmlファイルからアプリケーションに関する情報を抽出するアプリケーション情報抽出部を含むことを特徴とする請求項10に記載の悪意あるアプリケーション診断装置。
  12. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納するシグネチャ格納部と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する情報収集部と、
    収集された前記対応する情報と前記シグネチャ格納部に格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する診断判別部と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する結果提供部とを含み、
    前記情報収集部は、resources.arscファイル内のリソース構造体の形態的な構成情報をハッシュ値として抽出するリソース情報収集部を含むことを特徴とする悪意あるアプリケーション診断装置。
  13. 複数の共通的な特徴情報を組み合わせて前記診断対象アプリケーション実行ファイルの悪意の有無を判別するための診断規則を格納する診断規則格納部を更に含み、
    前記情報収集部は、前記診断規則に従って前記共通的な特徴情報を収集することを特徴とする請求項1〜12のいずれか一項に記載の悪意あるアプリケーション診断装置。
  14. 前記診断規則の設定を要請できる設定部を更に含み、
    前記設定部による要請によって設定された前記診断規則は、前記診断規則格納部に格納されることを特徴とする請求項13に記載の悪意あるアプリケーション診断装置。
  15. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、
    収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階と、
    を含み、
    前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、
    前記情報を収集する段階は、前記APKファイル内のファイル経路情報又は認証書情報を収集する段階を含み、
    前記ファイル経路情報又は認証書情報を収集する段階は、
    前記APKファイルを構成するファイルのツリー構造を抽出してファイルの経路に該当するハッシュ値を抽出する段階を含む、
    悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  16. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、
    収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階と、
    を含み、
    前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、
    前記情報を収集する段階は、前記APKファイル内のファイル経路情報又は認証書情報を収集する段階を含み、
    前記ファイル経路情報又は認証書情報を収集する段階は、
    前記APKファイル内に存在する特定ファイルの経路を抽出して該当ファイルの経路に該当するハッシュ値を抽出する段階を含む、
    悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  17. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、
    収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階と、
    を含み、
    前記診断対象アプリケーション実行ファイルは、APK(android package)ファイルであり、
    前記情報を収集する段階は、前記APKファイル内のファイル経路情報又は認証書情報を収集する段階を含み、
    前記ファイル経路情報又は認証書情報を収集する段階は、
    前記APKファイル内のMETA-INFフォルダに存在するRSAファイルの自己署名情報を抽出する段階を含む、
    悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  18. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、
    収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階とを含み、
    前記情報を収集する段階は、前記診断対象アプリケーション実行ファイル内のDEXファイルを分析してJAVA(登録商標)クラスファイルの特徴を抽出する段階を含む、
    悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  19. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、
    収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階とを含み、
    前記情報を収集する段階は、前記診断対象アプリケーション実行ファイル内のandroidManifest.xmlファイルで内部情報を収集する段階を含み、
    前記内部情報を収集する段階は、前記androidManifest.xmlファイルのXMLツリー構造情報をハッシュ値として抽出する段階を含む、
    悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  20. モバイルオペレーティングシステム環境で駆動され得る悪意あるアプリケーション実行ファイルとその悪意あるアプリケーション実行ファイルからの変種ファイルとの共通的な特徴情報を、悪意があるか否かの診断のためのシグネチャデータとして格納する段階と、
    診断対象アプリケーション実行ファイルから前記共通的な特徴情報に対応する情報を収集する段階と、
    収集された前記対応する情報と前記シグネチャデータとして格納された前記共通的な特徴情報とを比較して前記診断対象アプリケーション実行ファイルの悪意の有無を判断する段階と、
    前記診断対象アプリケーション実行ファイルの悪意の有無の判別結果を提供する段階とを含み、
    前記情報を収集する段階は、resources.arscファイル内のリソース構造体の形態的な構成情報をハッシュ値として抽出する段階を含む、
    悪意あるアプリケーション診断方法によるそれぞれの段階を行う命令語を含むプログラムが記録されたコンピュータ読み取り可能な記録媒体。
JP2015529660A 2012-09-03 2013-07-09 悪意あるアプリケーション診断装置及び方法 Active JP5992622B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20120097262A KR101246623B1 (ko) 2012-09-03 2012-09-03 악성 애플리케이션 진단 장치 및 방법
KR10-2012-0097262 2012-09-03
PCT/KR2013/006095 WO2014035043A1 (ko) 2012-09-03 2013-07-09 악성 애플리케이션 진단 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2015526824A JP2015526824A (ja) 2015-09-10
JP5992622B2 true JP5992622B2 (ja) 2016-09-14

Family

ID=48182424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015529660A Active JP5992622B2 (ja) 2012-09-03 2013-07-09 悪意あるアプリケーション診断装置及び方法

Country Status (4)

Country Link
US (1) US9525706B2 (ja)
JP (1) JP5992622B2 (ja)
KR (1) KR101246623B1 (ja)
WO (1) WO2014035043A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416717B1 (ko) 2013-03-28 2014-07-09 (주)엠더블유스토리 스마트 기기 기반 악성코드의 침입을 차단하기 위한 시스템 및 그 방법
KR20150044490A (ko) * 2013-10-16 2015-04-27 (주)이스트소프트 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
US9313219B1 (en) * 2014-09-03 2016-04-12 Trend Micro Incorporated Detection of repackaged mobile applications
KR101628837B1 (ko) * 2014-12-10 2016-06-10 고려대학교 산학협력단 악성 어플리케이션 또는 악성 웹사이트 탐지 방법 및 시스템
US9519780B1 (en) * 2014-12-15 2016-12-13 Symantec Corporation Systems and methods for identifying malware
KR101581262B1 (ko) * 2014-12-30 2016-01-04 주식회사 안랩 모바일 단말기의 악성 코드 검사 방법 및 장치
TWI541669B (zh) * 2015-01-05 2016-07-11 Rangecloud Information Technology Co Ltd Detection systems and methods for static detection applications, and computer program products
KR101564999B1 (ko) 2015-01-26 2015-11-03 주식회사 안랩 스크립트진단장치 및 스크립트 진단 방법
RU2624552C2 (ru) * 2015-06-30 2017-07-04 Закрытое акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
KR101718923B1 (ko) 2015-08-04 2017-03-23 주식회사 안랩 다중 코어 프로세서에 기반한 악성 코드 탐지 장치 및 방법
US10505982B2 (en) * 2015-10-23 2019-12-10 Oracle International Corporation Managing security agents in a distributed environment
KR101842263B1 (ko) 2016-08-26 2018-05-14 단국대학교 산학협력단 어플리케이션에 대한 역공학 차단 방법 및 장치
GB2555859B (en) * 2016-11-15 2020-08-05 F Secure Corp Remote malware scanning
KR101857001B1 (ko) * 2017-03-03 2018-05-14 숭실대학교산학협력단 안드로이드 동적 로딩 파일 추출 방법, 이를 수행하기 위한 기록 매체 및 시스템
KR101992698B1 (ko) * 2017-06-16 2019-06-25 라인 가부시키가이샤 치팅 어플리케이션 식별 방법 및 시스템
CN109558732A (zh) * 2017-09-27 2019-04-02 武汉斗鱼网络科技有限公司 一种防止应用程序文件被篡改的方法及服务器
KR102011725B1 (ko) 2017-12-28 2019-08-19 숭실대학교산학협력단 악성코드 검출을 위한 화이트리스트 구축 방법 및 이를 수행하기 위한 기록매체 및 장치
US10671370B2 (en) * 2018-05-30 2020-06-02 Red Hat, Inc. Distributing file system states
WO2020046463A1 (en) * 2018-08-28 2020-03-05 Symantec Corporation Software supply chain hardening via two-factor application integrity certification and monitoring
CN111045686B (zh) * 2019-12-16 2023-05-30 北京智游网安科技有限公司 一种提高应用反编译速度的方法、智能终端及存储介质
US11436331B2 (en) 2020-01-16 2022-09-06 AVAST Software s.r.o. Similarity hash for android executables
KR102345016B1 (ko) * 2020-02-26 2021-12-29 아주대학교 산학협력단 랜섬웨어 감지 방법 및 장치
WO2022025650A1 (ko) * 2020-07-29 2022-02-03 시큐차트 비.브이. 어플리케이션 검증 시스템 및 검증방법
US11886584B2 (en) 2021-05-28 2024-01-30 AO Kaspersky Lab System and method for detecting potentially malicious changes in applications
EP4095727A1 (en) * 2021-05-28 2022-11-30 AO Kaspersky Lab System and method for detecting potentially malicious changes in applications

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210168B2 (en) * 2001-10-15 2007-04-24 Mcafee, Inc. Updating malware definition data for mobile data processing devices
JP3992136B2 (ja) * 2001-12-17 2007-10-17 学校法人金沢工業大学 ウイルス検出方法および装置
JP2008192122A (ja) * 2007-01-09 2008-08-21 Nec Corp 悪意メール検出装置、検出方法およびプログラム
KR100878895B1 (ko) 2007-02-08 2009-01-15 삼성전자주식회사 휴대단말 악성코드 처리장치 및 그 처리 방법
KR100992434B1 (ko) 2008-07-07 2010-11-05 주식회사 안철수연구소 확장자를 위장한 파일을 탐지하는 방법 및 그 장치
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US20110154495A1 (en) * 2009-12-21 2011-06-23 Stranne Odd Wandenor Malware identification and scanning
KR101161493B1 (ko) * 2010-01-18 2012-06-29 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR101228899B1 (ko) * 2011-02-15 2013-02-06 주식회사 안랩 벡터량 산출을 이용한 악성코드의 분류 및 진단 방법과 장치
GB2531514B (en) * 2014-10-17 2019-10-30 F Secure Corp Malware detection method

Also Published As

Publication number Publication date
KR101246623B1 (ko) 2013-03-25
JP2015526824A (ja) 2015-09-10
WO2014035043A1 (ko) 2014-03-06
US20150229673A1 (en) 2015-08-13
US9525706B2 (en) 2016-12-20

Similar Documents

Publication Publication Date Title
JP5992622B2 (ja) 悪意あるアプリケーション診断装置及び方法
Li et al. Libd: Scalable and precise third-party library detection in android markets
US8850581B2 (en) Identification of malware detection signature candidate code
US8978141B2 (en) System and method for detecting malicious software using malware trigger scenarios
KR102415971B1 (ko) 악성 모바일 앱 감지 장치 및 방법
EP2972866B1 (en) Techniques for correlating vulnerabilities across an evolving codebase
US9348998B2 (en) System and methods for detecting harmful files of different formats in virtual environments
US9230106B2 (en) System and method for detecting malicious software using malware trigger scenarios in a modified computer environment
US9460306B1 (en) System and method for controlling access of machine code to operating system resources
KR20200052957A (ko) 보안 제어 방법 및 컴퓨터 시스템
KR102044046B1 (ko) 텔레메트리 파일 해시 및 충돌 검출 기법
BR102015017215A2 (pt) método implementado em computador para classificação de aplicativos móveis, e, programa de computador codificado em um meio de armazenamento não-trasitório
Spreitzer et al. Scandroid: Automated side-channel analysis of android apis
CN112084497A (zh) 嵌入式Linux系统恶意程序检测方法及装置
Nguyen et al. Detecting repackaged android applications using perceptual hashing
KR101256468B1 (ko) 악성 파일 진단 장치 및 방법
CN113961919A (zh) 恶意软件检测方法和装置
WO2017010350A1 (ja) ソフトウェア解析システム、ソフトウェア解析方法およびソフトウェア解析プログラム
US9367686B1 (en) System and method for antivirus checking of native images of software assemblies
CN105631336B (zh) 检测移动装置上的恶意文件的系统及方法
Stirparo et al. In-memory credentials robbery on android phones
KR102011725B1 (ko) 악성코드 검출을 위한 화이트리스트 구축 방법 및 이를 수행하기 위한 기록매체 및 장치
Shahzad Android malware detection using feature fusion and artificial data
Liu et al. Correlating ui contexts with sensitive api calls: Dynamic semantic extraction and analysis
EP2819055B1 (en) System and method for detecting malicious software using malware trigger scenarios

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160817

R150 Certificate of patent or registration of utility model

Ref document number: 5992622

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250