JP2013137612A - Application analysis device, application analysis system, and program - Google Patents

Application analysis device, application analysis system, and program Download PDF

Info

Publication number
JP2013137612A
JP2013137612A JP2011287701A JP2011287701A JP2013137612A JP 2013137612 A JP2013137612 A JP 2013137612A JP 2011287701 A JP2011287701 A JP 2011287701A JP 2011287701 A JP2011287701 A JP 2011287701A JP 2013137612 A JP2013137612 A JP 2013137612A
Authority
JP
Japan
Prior art keywords
application
file
unit
analysis
component
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
JP2011287701A
Other languages
Japanese (ja)
Other versions
JP5723760B2 (en
Inventor
Hideaki Kawabata
秀明 川端
Takamasa Isohara
隆将 磯原
Keisuke Takemori
敬祐 竹森
Ayumi Kubota
歩 窪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2011287701A priority Critical patent/JP5723760B2/en
Publication of JP2013137612A publication Critical patent/JP2013137612A/en
Application granted granted Critical
Publication of JP5723760B2 publication Critical patent/JP5723760B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an application analysis device, an application analysis system, and a program that can automatically and forcibly start a component of an application.SOLUTION: A storage unit 10 stores an application file including an execution file including a component that is an element realizing the function of an application and a manifest file defining a function and authority to be used by the application. A manifest analysis unit 111 analyzes the manifest file included in the application file and identifies the component included in the execution file. An intent issue unit 110 generates intent for starting the component identified by the manifest analysis unit 111 and starts the component.

Description

本発明は、アプリケーションの機能を解析するアプリケーション解析装置およびアプリケーション解析システムに関する。また、本発明は、本アプリケーション解析装置としてコンピュータを機能させるためのプログラムにも関する。   The present invention relates to an application analysis apparatus and an application analysis system that analyze application functions. The present invention also relates to a program for causing a computer to function as the application analysis apparatus.

汎用OS(オペレーティングシステム)を用いたオープンプラットフォームを採用する、スマートフォンと呼ばれる携帯情報端末が普及している。また、スマートフォンに搭載される汎用OSとして、端末で管理される情報や機能を利用するための命令や関数の集合であるAPI が豊富に用意されているAndroid(登録商標)が注目を集めている。本明細書では一例として、Android(登録商標) OSを搭載したスマートフォンについて記載する。   Portable information terminals called smartphones that use an open platform using a general-purpose OS (operating system) have become widespread. As a general-purpose OS installed in smartphones, Android (registered trademark), which has abundant APIs that are a set of instructions and functions for using information and functions managed by terminals, is attracting attention. . As an example, this specification describes a smartphone equipped with an Android (registered trademark) OS.

スマートフォンは、誰もが自由にアプリケーションを開発して公開でき、公開されたアプリケーションをユーザが自由にインストールできるプラットフォームである。公開されたアプリケーションをスマートフォンに導入することにより、スマートフォンの様々な機能を柔軟かつ容易に拡張することができる。   A smartphone is a platform that allows anyone to freely develop and publish applications and allow users to freely install published applications. By introducing a published application to a smartphone, various functions of the smartphone can be expanded flexibly and easily.

しかし、アプリケーションの中には、ユーザに気づかれないように、端末内の情報を収集して外部に送信する悪性アプリケーション(マルウェア)が存在する。特に、正規のアプリケーションを装いつつ、こうした不正な振る舞いを行うアプリケーションはトロイの木馬と呼ばれており、ユーザがその脅威に気づくことは困難である。   However, among applications, there is a malicious application (malware) that collects information in the terminal and transmits it to the outside so that the user does not notice it. In particular, an application that impersonates a legitimate application and performs such illegal behavior is called a Trojan horse, and it is difficult for the user to notice the threat.

スマートフォンには、電話やカメラを制御するAPIが設けられており、アプリケーションがAPIを利用して、発呼や、SMS(Short Message Service)通信、写真撮影を行うことができる。これらの行為を悪性アプリケーションが密かに行った場合、勝手な課金やプライバシの漏洩が発生する。   Smartphones are provided with APIs that control phones and cameras, and applications can make calls, SMS (Short Message Service) communications, and take pictures using the APIs. If these actions are secretly performed by a malicious application, self-charging or privacy leakage will occur.

スマートフォンは、ユーザとの結びつきがPC(パーソナルコンピュータ)よりも緊密な機器であり、電話番号、メールアドレス、住所録、メールの送受信履歴、インターネットの閲覧履歴等の個人情報が集積している。また、端末の高機能化と、常に携帯される利用形態とから、従来のPCでは収集されなかった位置情報等の情報も容易に取得可能となり、情報が悪用される脅威に直面する。   Smartphones are devices that have a closer connection with users than PCs (personal computers), and collect personal information such as phone numbers, email addresses, address books, email transmission / reception histories, and Internet browsing histories. In addition, because of the high functionality of the terminal and the mode of use that is always carried, it is possible to easily acquire information such as location information that was not collected by conventional PCs, and face the threat of misuse of information.

また、スマートフォンでは、ユーザが明示的に操作を行ってアプリケーションを起動できる機能以外にも、端末の状態の変化に応じてアプリケーションが自動的に起動する機能がある。例えば、電話の着信があった、端末が再起動した、WiFiがオンになった等の端末の状態の変化によってアプリケーションを自動的に起動させることができる。よって、ユーザが誤って悪性アプリケーションを一旦端末にインストールしてしまうと、ユーザの知らないうちに情報漏洩が発生する可能性がある。したがって、アプリケーションを容易に入手可能な環境において情報が悪用される脅威からユーザを保護する必要がある。   In addition, the smartphone has a function of automatically starting the application in response to a change in the state of the terminal, in addition to a function that allows the user to explicitly operate to start the application. For example, the application can be automatically started by a change in the state of the terminal such as an incoming call, a terminal restarted, or WiFi turned on. Therefore, once a user mistakenly installs a malicious application on a terminal, information leakage may occur without the user's knowledge. Therefore, there is a need to protect users from threats where information is misused in environments where applications are readily available.

ユーザを悪性アプリケーションによる脅威から保護する手法として、アプリケーションの安全性を事前に検証し、悪性アプリケーションを検知する仕組みが有効である。情報漏洩を行うアプリケーションを検知する手法の1つとして、動的解析の手法が提案されている。   As a technique for protecting users from threats caused by malicious applications, a mechanism for verifying application safety in advance and detecting malicious applications is effective. A dynamic analysis technique has been proposed as one technique for detecting an application that leaks information.

動的解析とは、実際にアプリケーションを動作させ、アプリケーションの振る舞いが記録されたログを解析することで、アプリケーションの悪性/良性判定を行う手法である(例えば、非特許文献1参照)。代表的な解析方法として、straceログの情報を用いた手法がある。この手法は、アプリケーションがシステムの機能を利用した際にログに記録された情報から悪性の挙動を解析する手法である。   The dynamic analysis is a method for determining malignancy / benignity of an application by actually operating the application and analyzing a log in which the behavior of the application is recorded (see, for example, Non-Patent Document 1). As a typical analysis method, there is a method using information of an strace log. This method is a method for analyzing malignant behavior from information recorded in a log when an application uses a system function.

竹森敬祐、磯原隆将、窪田歩、高野智秋、「Android携帯電話上での情報漏洩検知」、電子情報通信学会、SCIS2011シンポジウム、2011年1月Keisuke Takemori, Takamasa Sugawara, Ayumu Kubota, Tomoaki Takano, "Information leak detection on Android mobile phones", IEICE, SCIS2011 Symposium, January 2011

Android(登録商標)上で動作するアプリケーションは、アプリケーションの様々な機能を実現する複数のコンポーネントを構成要素として有する。動的解析の手法では、端末の状態変化に応じて自動的に起動するコンポーネントに関して、解析対象期間中に所望の状態変化が発生しない場合、そのコンポーネントが起動しないため、そのコンポーネントに関するログを取得できず、悪性アプリケーションを見逃してしまう問題がある。また、ユーザがアプリケーションに対して行う操作の全てを網羅するのに限界があり、起動できないコンポーネントが発生してしまう場合もある。   An application that runs on Android (registered trademark) has a plurality of components that realize various functions of the application as components. With the dynamic analysis method, if a desired state change does not occur during the analysis target period for a component that starts automatically in response to a change in the state of the terminal, that component will not start, so a log related to that component can be acquired. Therefore, there is a problem that a malicious application is missed. In addition, there is a limit in covering all the operations that the user performs on the application, and there may be a case where a component that cannot be started occurs.

本発明は、上述した課題に鑑みてなされたものであって、アプリケーションのコンポーネントを自動的かつ強制的に起動することができるアプリケーション解析装置、アプリケーション解析システム、およびプログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object thereof is to provide an application analysis device, an application analysis system, and a program that can automatically and forcibly start application components. .

本発明は、上記の課題を解決するためになされたもので、アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記コンポーネントを起動する起動部と、を備えたことを特徴とするアプリケーション解析装置である。   The present invention has been made to solve the above-described problems, and includes an executable file that includes components that are components that realize the functions of the application, and a manifest file that defines the functions and privileges used by the application. A storage unit that stores an application file, an analysis unit that analyzes the manifest file included in the application file and identifies the component included in the execution file, and an interface that activates the component identified by the analysis unit An application analysis apparatus comprising: an activation unit that generates a tent and activates the component.

また、本発明は、アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、通信を行う第1の通信部とを有する端末装置と通信を行う第2の通信部と、前記第1の通信部および前記第2の通信部を介して前記アプリケーションファイルを取得する取得部と、前記取得部によって取得された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記第1の通信部および前記第2の通信部を介して前記コンポーネントを起動する起動部と、を備えたことを特徴とするアプリケーション解析装置である。   In addition, the present invention communicates with a storage unit that stores an application file including an executable file that includes components that are components that realize the functions of the application, and a manifest file that defines the functions and privileges used by the application. A second communication unit that communicates with a terminal device having a first communication unit to perform, an acquisition unit that acquires the application file via the first communication unit and the second communication unit, and the acquisition Analyzing the manifest file included in the application file acquired by a unit, generating an analysis unit for identifying the component included in the execution file, and generating an intent for starting the component specified by the analysis unit , Via the first communication unit and the second communication unit A starting unit that starts the serial component, an application analyzing apparatus characterized by comprising a.

また、本発明のアプリケーション解析装置は、前記起動部によって生成されたインテントによって起動した前記コンポーネントの動作結果が記録されたログに基づいてアプリケーションの動的解析を行う動的解析部をさらに備えたことを特徴とする。   The application analysis apparatus of the present invention further includes a dynamic analysis unit that performs dynamic analysis of the application based on a log in which operation results of the components activated by the intent generated by the activation unit are recorded. It is characterized by that.

また、本発明のアプリケーション解析装置は、前記起動部によって生成されたインテントによって起動した前記コンポーネントの動作結果が記録されたログを前記第1の通信部および前記第2の通信部を介して取得し、前記ログに基づいてアプリケーションの動的解析を行う動的解析部をさらに備えたことを特徴とする。   In addition, the application analysis apparatus according to the present invention acquires, via the first communication unit and the second communication unit, a log in which an operation result of the component activated by the intent generated by the activation unit is recorded. And a dynamic analysis unit that performs dynamic analysis of the application based on the log.

また、本発明のアプリケーション解析装置は、前記アプリケーションファイルをディスアセンブルしてソースファイルを取得するディスアセンブル部と、前記ソースファイルに対して、前記コンポーネントがインテントを受け取るためのIDに関するコードを追加することにより前記ソースファイルを変更する変更部と、前記コードが追加された前記ソースファイルをアセンブルし、前記アプリケーションファイルを生成するアセンブル部と、前記アセンブル部によって生成された前記アプリケーションファイルを前記記憶部に格納するインストール部と、をさらに備え、前記解析部は、前記インストール部によって前記記憶部に格納された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定することを特徴とする。   In addition, the application analysis apparatus of the present invention adds a disassembly unit that disassembles the application file to obtain a source file, and a code related to an ID for the component to receive an intent for the source file. The change unit for changing the source file, the source file to which the code is added is assembled, the assembly unit for generating the application file, and the application file generated by the assembly unit in the storage unit And an installation unit for storing the analysis unit, wherein the analysis unit analyzes the manifest file included in the application file stored in the storage unit by the installation unit and includes the file in the execution file. And identifies the component to be.

また、本発明は、端末装置とアプリケーション解析装置とを備えたアプリケーション解析システムであって、前記端末装置は、アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、前記アプリケーション解析装置と通信を行う第1の通信部と、を有し、前記アプリケーション解析装置は、前記端末装置と通信を行う第2の通信部と、前記第1の通信部および前記第2の通信部を介して前記アプリケーションファイルを取得する取得部と、前記取得部によって取得された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記第1の通信部および前記第2の通信部を介して前記コンポーネントを起動する起動部と、を有することを特徴とするアプリケーション解析システムである。   In addition, the present invention is an application analysis system including a terminal device and an application analysis device, wherein the terminal device includes an executable file including components that are components that realize the function of the application, and a function used by the application And a storage unit that stores an application file including a manifest file in which authority is defined, and a first communication unit that communicates with the application analysis device. The application analysis device communicates with the terminal device. A second communication unit that performs the acquisition, an acquisition unit that acquires the application file via the first communication unit and the second communication unit, and the manifest included in the application file acquired by the acquisition unit Parse the file and include it in the executable An analysis unit that identifies the component to be generated, and an intent that activates the component identified by the analysis unit and activates the component via the first communication unit and the second communication unit And an application analysis system characterized by comprising:

また、本発明は、アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記コンポーネントを起動する起動部と、としてコンピュータを機能させるためのプログラムである。   The present invention also provides a storage unit for storing an application file including an executable file including components that are components that realize the functions of the application, and a manifest file in which functions and privileges used by the application are defined, and the application Analyzing the manifest file included in the file, specifying the component included in the execution file, generating an intent for starting the component specified by the analysis unit, and starting the component And a program for causing a computer to function as the unit.

また、本発明は、アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、通信を行う第1の通信部とを有する端末装置と通信を行う第2の通信部と、前記第1の通信部および前記第2の通信部を介して前記アプリケーションファイルを取得する取得部と、前記取得部によって取得された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記第1の通信部および前記第2の通信部を介して前記コンポーネントを起動する起動部と、としてコンピュータを機能させるためのプログラムである。   In addition, the present invention communicates with a storage unit that stores an application file including an executable file that includes components that are components that realize the functions of the application, and a manifest file that defines the functions and privileges used by the application. A second communication unit that communicates with a terminal device having a first communication unit to perform, an acquisition unit that acquires the application file via the first communication unit and the second communication unit, and the acquisition Analyzing the manifest file included in the application file acquired by a unit, generating an analysis unit for identifying the component included in the execution file, and generating an intent for starting the component specified by the analysis unit , Via the first communication unit and the second communication unit A starting unit that starts the serial component is a program for causing a computer to function as a.

本発明によれば、アプリケーションファイルに含まれるマニフェストファイルを解析することにより、実行ファイルに含まれるコンポーネントを特定し、そのコンポーネントを起動するインテントを生成し、コンポーネントを起動することによって、アプリケーションのコンポーネントを自動的かつ強制的に起動することができる。   According to the present invention, by analyzing the manifest file included in the application file, the component included in the execution file is specified, the intent for starting the component is generated, and the component is started, thereby starting the component of the application. Can be automatically and forcibly activated.

本発明の第1の実施形態によるアプリケーション解析装置の構成を示すブロック図である。It is a block diagram which shows the structure of the application analysis apparatus by the 1st Embodiment of this invention. 本発明の第1の実施形態におけるパッケージファイルの構成を示す参考図である。It is a reference diagram which shows the structure of the package file in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるアプリケーションの解析手順を示すシーケンス図である。It is a sequence diagram which shows the analysis procedure of the application in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるマニフェストファイルの内容を示す参考図である。It is a reference figure which shows the content of the manifest file in the 1st Embodiment of this invention. 本発明の第1の実施形態においてActivityを起動するメソッドを示す参考図である。FIG. 6 is a reference diagram illustrating a method for starting Activity in the first embodiment of the present invention. 本発明の第1の実施形態においてBroadcastReceiverを起動するメソッドを示す参考図である。FIG. 6 is a reference diagram illustrating a method for starting a BroadcastReceiver in the first embodiment of the present invention. 本発明の第2の実施形態によるアプリケーション解析装置の構成を示すブロック図である。It is a block diagram which shows the structure of the application analysis apparatus by the 2nd Embodiment of this invention. 本発明の第2の実施形態によるアプリケーション解析装置が備えるアプリケーション変更部の構成を示すブロック図である。It is a block diagram which shows the structure of the application change part with which the application analysis apparatus by the 2nd Embodiment of this invention is provided. 本発明の第2の実施形態におけるアプリケーションの解析手順を示すシーケンス図である。It is a sequence diagram which shows the analysis procedure of the application in the 2nd Embodiment of this invention. 本発明の第2の実施形態においてServiceを起動するメソッドを示す参考図である。It is a reference diagram which shows the method which starts Service in the 2nd Embodiment of this invention. 本発明の第3の実施形態によるアプリケーション解析システムの構成を示すブロック図である。It is a block diagram which shows the structure of the application analysis system by the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるアプリケーションの解析手順を示すシーケンス図である。It is a sequence diagram which shows the analysis procedure of the application in the 3rd Embodiment of this invention. 本発明の第3の実施形態によるアプリケーション解析システムの構成を示すブロック図である。It is a block diagram which shows the structure of the application analysis system by the 3rd Embodiment of this invention.

以下、図面を参照し、本発明の実施形態を説明する。本明細書および図面では、便宜上、必要に応じてandroid(登録商標)という文字列を*andrd*という文字列で代用し、Android(登録商標)という文字列を*Andrd*という文字列で代用している。すなわち、*andrd*という文字列はandroid(登録商標)という文字列と等価であり、*Andrd*という文字列はAndroid(登録商標)という文字列と等価である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this specification and drawings, for convenience, the character string “android (registered trademark)” is substituted with the character string “* andrd *” and the character string “Android (registered trademark)” is substituted with the character string “* Andrd *” as necessary. ing. That is, the character string * andrd * is equivalent to the character string android (registered trademark), and the character string * Andrd * is equivalent to the character string Android (registered trademark).

Android(登録商標)上で動作するアプリケーションの構成要素であるコンポーネントとして、Activity、Service、BroadcastReceiver、ContentProviderの4つがある。アプリケーションのソースコードにおいて、クラスが継承するコンポーネントが記述されることにより、そのクラスで定義されているメソッドはそのコンポーネントを利用することが可能となる。以下、各コンポーネントについて説明する。   There are four components that are components of an application that runs on Android (registered trademark): Activity, Service, BroadcastReceiver, and ContentProvider. When a component inherited by a class is described in the application source code, a method defined in the class can use the component. Hereinafter, each component will be described.

Activityは、ユーザに対して視覚的なインターフェースを提供し、画面上でユーザと対話を行うコンポーネントである。アプリケーションを起動すると画面が表示される場合、Activityに記述されたプログラムが動作している。   Activity is a component that provides a visual interface to the user and interacts with the user on the screen. If the screen is displayed when the application is started, the program described in Activity is running.

Serviceは、画面を表示する機能を持たずに、バックグラウンドで処理を実行するコンポーネントである。例えば、ユーザが音楽を聞きながらブラウザを起動してインターネットの利用を楽しむ場合、音楽用アプリケーションがServiceを起動することにより、ユーザはインターネットの利用中に音楽を聞くことができる。   Service is a component that executes processing in the background without having a function of displaying a screen. For example, when the user activates a browser while listening to music and enjoys using the Internet, the user can listen to the music while using the Internet by activating the service for the music application.

BroadcastReceiverは、Android(登録商標)が搭載された端末装置のシステム全体にブロードキャストされるINTENTを受け取るコンポーネントである。例えば、電池残量が減ってきたときに、「残りのバッテリー残量が少ないです」というメッセージを含む画面を表示するアプリケーションでは、電池残量が変化するときに発行されるBroadcastIntentをBroadcastReceiverにより受け取ったアプリケーションがActivityを起動して画面を表示する。   BroadcastReceiver is a component that receives INTENT broadcasted to the entire system of a terminal device equipped with Android (registered trademark). For example, an application that displays a screen that includes the message “Remaining battery level is low” when the battery level is low, receives the BroadcastIntent issued when the battery level changes by the BroadcastReceiver. The application starts Activity and displays the screen.

ContentProviderは、アプリケーションが保持するデータを他のコンポーネントでも使用可能にするコンポーネントである。例えば、あるアプリケーションが電話帳のデータを取得したい場合、そのアプリケーションは、電話帳アプリケーションのContentProviderを利用して、電話帳に登録されている情報を取得する。   ContentProvider is a component that makes it possible for other components to use data held by the application. For example, when an application wants to acquire phonebook data, the application acquires information registered in the phonebook using the ContentProvider of the phonebook application.

Android(登録商標)では、インテント(Intent)という仕組みがある。インテントは、コンポーネント間の情報の受け渡しやコンポーネントの起動など、コンポーネントを繋ぐ役割を果たしている。コンポーネントのうち、Activity、BroadcastReciver、Serviceはインテントによって起動される。コンポーネントを起動するコードがソースファイルに記述されていても、それだけではインテントによってコンポーネントを起動できる状態にはならない。明示的にシステムにインテントを知らせるためには、マニフェストファイルと呼ばれるファイルにおいてコンポーネントの使用を宣言する必要がある。以下の各実施形態では、マニフェストファイルに記述されたコンポーネントの情報を解析し、解析結果に基づいて、アプリケーションに含まれる各コンポーネントにインテントを発行することによって、コンポーネントを強制的に起動する方法を説明する。   Android (registered trademark) has a mechanism called Intent. The intent plays a role of connecting components such as passing information between components and starting components. Among the components, Activity, BroadcastReciver, and Service are activated by intent. Even if the code that starts the component is described in the source file, it does not make it possible to start the component by intent. In order to explicitly inform the system of the intent, it is necessary to declare the use of the component in a file called a manifest file. In each of the following embodiments, there is a method for forcibly starting a component by analyzing the component information described in the manifest file and issuing an intent to each component included in the application based on the analysis result. explain.

悪意のユーザがAndroid(登録商標)のトロイの木馬を他人の端末に導入させる手法として、不正な挙動が発生するように正規のアプリケーションを改竄し、そのアプリケーションをマーケットに公開するという手法がある。悪性アプリケーションの開発者は、正規のアプリケーションの実行ファイルをディスアセンブル(逆アセンブル)してソースファイルを取得し、ソースファイルを改竄した後、ソースファイルをアセンブルして悪性アプリケーションの実行ファイルを生成する。不正な挙動が発生するように正規のアプリケーションを改竄する簡単な手法として、以下の2つの手法がある。これまでに出現したトロイの木馬では、2つの手法のどちらかがとられていることが多い。   As a technique for a malicious user to introduce an Android (registered trademark) Trojan to another person's terminal, there is a technique in which a legitimate application is falsified so that an illegal behavior occurs and the application is released to the market. The developer of the malicious application disassembles (disassembles) the executable file of the regular application to acquire the source file, falsifies the source file, and then assembles the source file to generate the executable file of the malicious application. There are the following two methods as a simple method for falsifying a legitimate application so that an illegal behavior occurs. Trojan horses that have appeared so far often take one of two approaches.

第1の手法は、正規のアプリケーションに対して、BroadcastReceiverを利用して、端末の状態変化が発生したときに不正な挙動が発生するように改竄を施す手法である。この手法は、正規のアプリケーションの実行コードを改竄せずにマニフェストファイルだけを改竄するだけで容易に実現できる。   The first technique is a technique for falsifying a legitimate application so that an illegal behavior occurs when a terminal state change occurs by using BroadcastReceiver. This technique can be easily realized by falsifying only the manifest file without falsifying the execution code of a legitimate application.

第2の手法は、正規のアプリケーションのソースコードにおいて、アプリケーションが起動した際に最初に呼び出されて実行されるActivityのonCreateメソッドが記述されている箇所に、不正な挙動が発生するメソッドのコードを追記する手法である。onCreateメソッドは、Activity、Service、BroadcastReceiver、ContentProviderが起動した際に最初に呼び出されて実行されるメソッドであり、各コンポーネントを起動するインテントが発行されると、自動的に実行される。アプリケーションが起動した際に最初に呼び出されるメソッドを解析することは容易であり、この手法は、数行のコードを挿入するという容易な手法で実現できる。   In the second method, in the source code of a legitimate application, the code of the method that generates incorrect behavior is written at the place where the onCreate method of Activity that is called and executed first when the application starts is described. It is a technique to append. The onCreate method is a method that is called and executed first when Activity, Service, BroadcastReceiver, and ContentProvider are activated. When an intent that activates each component is issued, it is automatically executed. It is easy to analyze the method that is called first when the application is started, and this method can be realized by an easy method of inserting several lines of code.

以下の各実施形態では、アプリケーションが有する全てのコンポーネントを強制的に起動させることによって、上記のいずれかの特徴を有するトロイの木馬型のマルウェアの動的解析を行うことが可能となる。   In each of the following embodiments, it is possible to perform dynamic analysis of a Trojan horse-shaped malware having any of the above characteristics by forcibly starting all the components included in the application.

(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態によるアプリケーション解析装置の構成を示している。アプリケーション解析装置は、記憶部10、アプリケーション解析部11、動的解析部12を有する。
(First embodiment)
First, a first embodiment of the present invention will be described. FIG. 1 shows the configuration of the application analysis apparatus according to the present embodiment. The application analysis apparatus includes a storage unit 10, an application analysis unit 11, and a dynamic analysis unit 12.

記憶部10は、解析対象のアプリケーションの実行ファイルを含むパッケージファイル(アプリケーションファイル)を記憶する。図2は、インストール前のアプリケーションのパッケージファイルの構成を示している。パッケージファイルは、例えば拡張子が.apkのファイルであり、アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルF1(例えば拡張子が.dex)、アプリケーションが利用する機能や権限が定義されたマニフェストファイルF2(例えば拡張子が.xml)、アプリケーションが利用するテキストファイルや画像ファイル等の各種リソースファイルF3を含む。アプリケーションがインストールされると、パッケージファイルが展開されて記憶部10に各種ファイルが格納されると共に、記憶部10の所定のフォルダ(/data/app/)の配下にパッケージファイル自体が格納される。   The storage unit 10 stores a package file (application file) including an execution file of an application to be analyzed. FIG. 2 shows the configuration of the package file of the application before installation. The package file is, for example, a file with an extension of .apk, and defines an execution file F1 (for example, an extension of .dex) including a component that is a component that realizes the function of the application, and functions and authority used by the application. And a manifest file F2 (for example, the extension is .xml) and various resource files F3 such as a text file and an image file used by the application. When the application is installed, the package file is expanded and various files are stored in the storage unit 10, and the package file itself is stored under a predetermined folder (/ data / app /) in the storage unit 10.

アプリケーション解析部11は、解析対象のアプリケーションのパッケージファイルを用いて、アプリケーションの機能を解析する。本実施形態のアプリケーション解析部11はアプリケーションとして構成されている。アプリケーション解析部11は、インテント発行部110とマニフェスト解析部111を有する。マニフェスト解析部111は、パッケージファイルに含まれるマニフェストファイルを解析し、実行ファイルに含まれるコンポーネントを特定する。インテント発行部110は、マニフェスト解析部111によって特定された各コンポーネントを起動するインテントを発行(生成)することにより、コンポーネント毎にアプリケーションを起動する。動的解析部12は、起動したアプリケーションの動的解析を行う。   The application analysis unit 11 analyzes the function of the application using the package file of the analysis target application. The application analysis unit 11 of the present embodiment is configured as an application. The application analysis unit 11 includes an intent issue unit 110 and a manifest analysis unit 111. The manifest analysis unit 111 analyzes the manifest file included in the package file, and identifies the component included in the execution file. The intent issuing unit 110 issues (generates) an intent for starting each component specified by the manifest analysis unit 111, thereby starting an application for each component. The dynamic analysis unit 12 performs dynamic analysis of the activated application.

ContentProviderは、データを管理するコンポーネントであるため本実施形態ではインテントを発行する対象ではない。ActivityとBroadcastReceiverに関してはインテントを発行することで起動することが可能であるが、Serviceに関しては他のアプリケーションからのインテントがセキュリティの関係上、解析対象のアプリケーションに届かないため起動することができない。本実施形態では、ActivityとBroadcastReceiverを起動する方法を説明する。   Since ContentProvider is a component for managing data, in this embodiment, it is not a target for issuing intents. Activity and BroadcastReceiver can be started by issuing an intent, but Service cannot be started because intents from other applications do not reach the analysis target application due to security reasons. . In the present embodiment, a method for activating Activity and BroadcastReceiver will be described.

次に、アプリケーション解析装置の動作を説明する。図3はアプリケーションの解析手順を示している。まず、マニフェスト解析部111は、記憶部10に格納されている解析対象のアプリケーションのパッケージファイルからマニフェストファイルを抽出する(ステップS100)。Android(登録商標)では、端末にインストールされたアプリケーションのパッケージファイルは、所定のフォルダ(/data/app/)の配下に保存されている。ステップS100ではマニフェスト解析部111はこのフォルダを参照する。   Next, the operation of the application analysis apparatus will be described. FIG. 3 shows an application analysis procedure. First, the manifest analysis unit 111 extracts a manifest file from the package file of the analysis target application stored in the storage unit 10 (step S100). In Android (registered trademark), a package file of an application installed on a terminal is stored under a predetermined folder (/ data / app /). In step S100, the manifest analysis unit 111 refers to this folder.

続いて、マニフェスト解析部111はマニフェストファイルの内容を解析し、解析対象のアプリケーションのパッケージ名と、Activityのクラス名と、BroadcastReceiverの起動条件とを取得する(ステップS105)。図4はマニフェストファイルの内容の一例を示している。解析対象のアプリケーションのパッケージ名は、「<manifest」という文字列で開始されるタグ(「<」と「>」で囲まれた部分)内の「package=」という文字列に続く「"」と「"」に囲まれた部分に記載されている。図4では、パッケージ名は「com.sample.app」である。   Subsequently, the manifest analysis unit 111 analyzes the contents of the manifest file, and acquires the package name of the analysis target application, the class name of Activity, and the start condition of BroadcastReceiver (step S105). FIG. 4 shows an example of the contents of the manifest file. The package name of the application to be analyzed is "" "that follows the string" package = "in the tag that starts with the string" <manifest "(the part enclosed by" <"and"> "). It is written in the part surrounded by "". In FIG. 4, the package name is “com.sample.app”.

Activityのクラス名は、「<activity」という文字列で開始されるタグ内の「*andrd*:name=」という文字列に続く「"」と「"」に囲まれた部分に記載されている。図4では、クラス名は「.Main_Activity」である。BroadcastReceiverの起動条件は、「<receiver」という文字列で開始されるタグの後の「<intent-filter>」という文字列と「</intent-filter>」という文字列とで囲まれた部分において、「<action」という文字列で開始されるタグ内の「*andrd*:name=」という文字列に続く「"」と「"」に囲まれた部分に記載されている。図4では、BroadcastReceiverの起動条件は「*andrd*.intent.action.BOOT_COMPLETED」であり、この例ではシステム起動時にBroadcastReceiverが起動することが示されている。   The class name of Activity is described in the part enclosed by "" and "" "following the string" * andrd *: name = "in the tag that starts with the string" <activity " . In FIG. 4, the class name is “.Main_Activity”. The BroadcastReceiver activation condition is in the part enclosed by the string "<intent-filter>" and the string "</ intent-filter>" after the tag that starts with the string "<receiver". , “<Action”, and a portion starting with the character string “* andrd *: name =” in the tag and surrounded by ““ ”and“ “”. In FIG. 4, the start condition of BroadcastReceiver is “* andrd * .intent.action.BOOT_COMPLETED”. In this example, it is indicated that the BroadcastReceiver is started when the system is started.

続いて、インテント発行部110は、ステップS105で取得された情報に基づいて、解析対象のアプリケーションに含まれるコンポーネントに対するインテントを発行(生成)し、記憶部10にインストールされているアプリケーションのコンポーネントを起動する(ステップS110)。Activityは、パッケージ名とクラス名を指定してインテントを発行することで起動することができる。具体的には、ステップS110ではインテント発行部110はインテントオブジェクトを生成し、startActivityメソッドを実行する。図5は、Activityを起動するコードの一例を示している。1行目でインテントオブジェクトが生成され、2行目でパッケージ名とクラス名が指定されている。3行目でActivityの起動に必要なフラグが付加され、4行目でstartActivityメソッドが実行され、インテントが発行される。   Subsequently, the intent issuing unit 110 issues (generates) an intent for the component included in the analysis target application based on the information acquired in step S105, and the component of the application installed in the storage unit 10 Is activated (step S110). Activity can be started by issuing an intent specifying the package name and class name. Specifically, in step S110, the intent issuing unit 110 generates an intent object and executes the startActivity method. FIG. 5 shows an example of a code for starting Activity. An intent object is generated on the first line, and a package name and a class name are specified on the second line. In the third line, a flag necessary for starting the Activity is added, and in the fourth line, the startActivity method is executed and an intent is issued.

BroadcastReceiverは、起動条件として指定された条件のインテントを発行することで起動することができる。具体的には、ステップS110ではインテント発行部110はインテントオブジェクトを生成し、sendBroadcastメソッドを実行する。図6は、BroadcastReceiverを起動するコードの一例を示している。1行目で起動条件が設定されたインテントオブジェクトが生成され、2行目でsendBroadcastメソッドが実行され、インテントが発行される。   BroadcastReceiver can be activated by issuing an intent of the condition specified as the activation condition. Specifically, in step S110, the intent issuing unit 110 generates an intent object and executes the sendBroadcast method. FIG. 6 shows an example of a code that activates BroadcastReceiver. An intent object in which a start condition is set is generated on the first line, and a sendBroadcast method is executed on the second line to issue an intent.

上記のようにして、解析対象のアプリケーションを構成するコンポーネントが起動した後、動的解析部12は、コンポーネントの動作結果が記録されたログに基づいてアプリケーションの動的解析を行う。アプリケーションのログは、straceやLogcat等のコマンドを実行することにより取得することができる。   As described above, after the components constituting the analysis target application are started, the dynamic analysis unit 12 performs dynamic analysis of the application based on the log in which the operation result of the component is recorded. Application logs can be obtained by executing commands such as strace and Logcat.

上述したように、本実施形態によれば、パッケージファイルに含まれるマニフェストファイルを解析することにより、アプリケーションに含まれるActivityとBroadcastReceiverのコンポーネントを特定し、そのコンポーネントを起動するインテントを生成し、コンポーネントを起動することによって、アプリケーションのコンポーネントを自動的かつ強制的に起動することができる。このため、従来の動的解析の手法では解析することが困難であったコンポーネントを起動できるようになり、動的解析の網羅性を高めることができる。また、評価者の手動操作によって起動していたコンポーネントを自動的に起動することによって、評価コストを削減することができる。   As described above, according to the present embodiment, by analyzing the manifest file included in the package file, the component of Activity and BroadcastReceiver included in the application is specified, and an intent for starting the component is generated, and the component By starting the application component, the application component can be automatically and forcibly started. For this reason, components that have been difficult to analyze with the conventional dynamic analysis method can be activated, and the comprehensiveness of the dynamic analysis can be improved. Moreover, the evaluation cost can be reduced by automatically starting a component that has been started by a manual operation of the evaluator.

(第2の実施形態)
次に、本発明の第2の実施形態を説明する。Android(登録商標)では、UIDと呼ばれる、アプリケーション毎に異なるIDがアプリケーションに与えられる。UIDが異なるアプリケーション間ではリソースを共有することができず、Serviceに関しては、UIDが異なる他のアプリケーションからのインテントが解析対象のアプリケーションに届かない。しかし、sharedUserIdという仕組みを利用することで、2つのアプリケーションを同一のUIDで動作させることが可能となる。これによって、2つのアプリケーション間でリソースを共有し、Serviceのインテントによりコンポーネントを起動することができる。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In Android (registered trademark), an ID called UID, which is different for each application, is given to the application. Resources cannot be shared between applications with different UIDs, and intents from other applications with different UIDs do not reach the analysis target application for Service. However, by using a mechanism called sharedUserId, it is possible to run two applications with the same UID. As a result, the resource can be shared between the two applications, and the component can be activated by the Service intent.

図7は、本実施形態によるアプリケーション解析装置の構成を示している。アプリケーション解析部11がインテント発行部110およびマニフェスト解析部111に加えてアプリケーション変更部112を有することが第1の実施形態と異なる。これ以外の構成は、第1の実施形態で説明した構成と同様である。   FIG. 7 shows the configuration of the application analysis apparatus according to the present embodiment. The application analyzing unit 11 is different from the first embodiment in that it includes an application changing unit 112 in addition to the intent issuing unit 110 and the manifest analyzing unit 111. Other configurations are the same as those described in the first embodiment.

図8はアプリケーション変更部112の構成を示している。アプリケーション変更部112は、ディスアセンブル部112a、マニフェスト変更部112b、アセンブル部112c、インストール部112dを有する。ディスアセンブル部112aは、解析対象のパッケージファイルをディスアセンブル(逆アセンブル)し、ソースファイルを取得する。マニフェスト変更部112bは、ディスアセンブルしたソースファイルに含まれるマニフェストファイルに、sharedUserIdのコードを追加することによって、マニフェストファイルを変更する。アセンブル部112cは、変更後のマニフェストファイルを含むソースファイルをアセンブルし、パッケージファイルを生成する。インストール部112dはアセンブル後のパッケージファイルを用いて記憶部10にアプリケーションをインストールする。前述したように、アプリケーションがインストールされると、パッケージファイルが展開されて記憶部10に各種ファイルが格納されると共に、記憶部10の所定のフォルダ(/data/app/)の配下にパッケージファイル自体が格納される。   FIG. 8 shows the configuration of the application changing unit 112. The application change unit 112 includes a disassemble unit 112a, a manifest change unit 112b, an assemble unit 112c, and an install unit 112d. The disassembly unit 112a disassembles (disassembles) the package file to be analyzed, and acquires a source file. The manifest changing unit 112b changes the manifest file by adding the code of sharedUserId to the manifest file included in the disassembled source file. The assembler 112c assembles the source file including the changed manifest file and generates a package file. The installation unit 112d installs an application in the storage unit 10 using the assembled package file. As described above, when an application is installed, the package file is expanded and various files are stored in the storage unit 10, and the package file itself is stored under a predetermined folder (/ data / app /) in the storage unit 10. Is stored.

次に、アプリケーション解析装置の動作を説明する。図9はアプリケーションの解析手順を示している。まず、Serviceのインテントによってコンポーネントを起動できるように、アプリケーション変更部112が解析対象のアプリケーションのパッケージファイルを変更する(ステップS200)。ステップS200では具体的には以下の処理が行われる。   Next, the operation of the application analysis apparatus will be described. FIG. 9 shows an application analysis procedure. First, the application changing unit 112 changes the package file of the application to be analyzed so that the component can be activated by the Service intent (step S200). Specifically, in step S200, the following processing is performed.

ディスアセンブル部112aは、解析対象のパッケージファイルをディスアセンブルし、パッケージファイルのソースファイルを取得する(ステップS200a)。ディスアセンブルを行う代表的なツールとして、Apk-toolやDedexerがある。続いて、マニフェスト変更部112bは、ディスアセンブルしたソースファイルに含まれるマニフェストファイルにコードを追加することによって、マニフェストファイルを変更する(ステップS200b)。   The disassemble unit 112a disassembles the package file to be analyzed, and acquires the source file of the package file (step S200a). Typical tools for disassembling include Apk-tool and Dedexer. Subsequently, the manifest changing unit 112b changes the manifest file by adding a code to the manifest file included in the disassembled source file (step S200b).

具体的には、ステップS200bではマニフェスト変更部112bは、マニフェストファイルにおいて、「<manifest」という文字列で開始されるタグ内に「sharedUserId=”aaa.bbb” 」という文字列(コード)を追加する。「aaa.bbb」はUIDの一例である。アプリケーション解析部11を構成するアプリケーションのパッケージファイルに含まれるマニフェストファイルに記述されているsharedUserIdのコードと同一のコードが解析対象のアプリケーションのマニフェストファイルに追加される。つまり、アプリケーション解析部11を構成するアプリケーションと、変更後の解析対象のアプリケーションは同一のUIDを有することになる。   Specifically, in step S200b, the manifest changing unit 112b adds a character string (code) “sharedUserId =“ aaa.bbb ”” in a tag starting with the character string “<manifest” in the manifest file. . “Aaa.bbb” is an example of a UID. The same code as the sharedUserId code described in the manifest file included in the package file of the application constituting the application analysis unit 11 is added to the manifest file of the application to be analyzed. That is, the application constituting the application analysis unit 11 and the analysis target application after the change have the same UID.

続いて、アセンブル部112cは、アプリケーション解析部11を構成するアプリケーションのアセンブル時に使用した証明書と同一の証明書を使用して、変更後のマニフェストファイルを含むソースファイルに署名を施してアセンブルを行い、パッケージファイルを生成する(ステップS200c)。続いて、インストール部112dはアセンブル後のパッケージファイルを用いて記憶部10にアプリケーションをインストールする(ステップS200d)。   Subsequently, the assembling unit 112c uses the same certificate as that used when assembling the application constituting the application analyzing unit 11 to sign and assemble the source file including the changed manifest file. Then, a package file is generated (step S200c). Subsequently, the installation unit 112d installs an application in the storage unit 10 using the assembled package file (step S200d).

パッケージファイルの変更後、マニフェスト解析部111は、記憶部10にインストールされた解析対象のアプリケーションのパッケージファイルからマニフェストファイルを抽出する(ステップS205)。端末にインストールされたアプリケーションのパッケージファイルは、所定のフォルダ(/data/app/)の配下に保存されているので、ステップS205ではマニフェスト解析部111はこのフォルダを参照する。   After changing the package file, the manifest analysis unit 111 extracts the manifest file from the package file of the analysis target application installed in the storage unit 10 (step S205). Since the package file of the application installed in the terminal is stored under a predetermined folder (/ data / app /), the manifest analysis unit 111 refers to this folder in step S205.

続いて、マニフェスト解析部111はマニフェストファイルの内容を解析し、解析対象のアプリケーションのパッケージ名と、Serviceのクラス名とを取得する(ステップS210)。解析対象のアプリケーションのパッケージ名は、「<manifest」という文字列で開始されるタグ内の「package=」という文字列に続く「"」と「"」に囲まれた部分に記載されている。図4では、パッケージ名は「com.sample.app」である。Serviceのクラス名は、「<service」という文字列で開始されるタグ内の「*andrd*:name=」という文字列に続く「"」と「"」に囲まれた部分に記載されている。図4では、クラス名は「.Main_Service」である。   Subsequently, the manifest analysis unit 111 analyzes the contents of the manifest file, and acquires the package name of the application to be analyzed and the class name of the service (step S210). The package name of the application to be analyzed is described in a portion surrounded by ““ ”and“ “” following the character string “package =” in the tag starting with the character string “<manifest”. In FIG. 4, the package name is “com.sample.app”. The class name of Service is described in the part surrounded by "" and "" "following the string" * andrd *: name = "in the tag that starts with the string" <service " . In FIG. 4, the class name is “.Main_Service”.

続いて、インテント発行部110は、ステップS210で取得された情報に基づいて、解析対象のアプリケーションに含まれるコンポーネントに対するインテントを発行(生成)し、記憶部10にインストールされているアプリケーションのコンポーネントを起動する(ステップS215)。アプリケーション解析部11を構成するアプリケーションと解析対象のアプリケーションが同一のUIDで動作する場合、Serviceは、パッケージ名とクラス名を指定してインテントを発行することで起動することができる。具体的には、ステップS215ではインテント発行部110はインテントオブジェクトを生成し、startServiceメソッドを実行する。図10は、Serviceを起動するコードの一例を示している。1行目でパッケージ名とクラス名が設定されたインテントオブジェクトが生成され、2行目でstart Serviceメソッドが実行され、インテントが発行される。   Subsequently, the intent issuing unit 110 issues (generates) an intent for the component included in the analysis target application based on the information acquired in step S210, and the component of the application installed in the storage unit 10 Is activated (step S215). When the application constituting the application analysis unit 11 and the application to be analyzed operate with the same UID, the Service can be started by designating the package name and the class name and issuing an intent. Specifically, in step S215, the intent issuing unit 110 generates an intent object and executes the startService method. FIG. 10 shows an example of code for starting Service. An intent object in which a package name and a class name are set is generated on the first line, and a start service method is executed on the second line to issue an intent.

上記のようにして、解析対象のアプリケーションを構成するコンポーネントが起動した後、動的解析部12は、コンポーネントの動作結果が記録されたログに基づいてアプリケーションの動的解析を行う。   As described above, after the components constituting the analysis target application are started, the dynamic analysis unit 12 performs dynamic analysis of the application based on the log in which the operation result of the component is recorded.

上述したように、本実施形態によれば、Serviceに関して、アプリケーションのコンポーネントを自動的かつ強制的に起動することができる。なお、アプリケーション解析部11が第1の実施形態の機能と第2の実施形態の機能との両方を備えていてもよい。   As described above, according to the present embodiment, application components can be automatically and forcibly activated with respect to Service. Note that the application analysis unit 11 may have both the functions of the first embodiment and the functions of the second embodiment.

(第3の実施形態)
次に、本発明の第3の実施形態を説明する。第3の実施形態では、解析対象のアプリケーションが起動する端末装置と、アプリケーション解析装置とを有するアプリケーション解析システムについて説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described. In the third embodiment, an application analysis system including a terminal device that starts an analysis target application and an application analysis device will be described.

図11は、本実施形態によるアプリケーション解析システムの構成を示している。アプリケーション解析システムは端末装置1とアプリケーション解析装置2を有する。端末装置1は、記憶部10と通信部13を有する。アプリケーション解析装置2は、アプリケーション解析部20、記憶部21、動的解析部22を有する。アプリケーション解析装置2は、例えばPC(Personal Computer)である。   FIG. 11 shows the configuration of the application analysis system according to this embodiment. The application analysis system includes a terminal device 1 and an application analysis device 2. The terminal device 1 includes a storage unit 10 and a communication unit 13. The application analysis device 2 includes an application analysis unit 20, a storage unit 21, and a dynamic analysis unit 22. The application analysis apparatus 2 is a PC (Personal Computer), for example.

記憶部10は、解析対象のアプリケーションの実行ファイルを含むパッケージファイル(アプリケーションファイル)を記憶する。通信部13はアプリケーション解析装置2と通信を行う。   The storage unit 10 stores a package file (application file) including an execution file of an application to be analyzed. The communication unit 13 communicates with the application analysis device 2.

アプリケーション解析部20は、解析対象のアプリケーションのパッケージファイルを用いて、アプリケーションの機能を解析する。本実施形態のアプリケーション解析部20はアプリケーションとして構成されている。アプリケーション解析部20は、通信部200、取得部201、インテント発行部202、マニフェスト解析部203を有する。通信部200は端末装置1と通信を行う。端末装置1とアプリケーション解析装置2の通信は、adb Interfaceを用いて行われる。adb Interfaceは、PCと、Android(登録商標)で動作する端末装置とを接続し、PCで動作するシェルから端末装置を操作できるインターフェースであり、Android(登録商標)のSDK(Software Development Kit)にツールとして用意されている。   The application analysis unit 20 analyzes the function of the application using the package file of the analysis target application. The application analysis unit 20 of this embodiment is configured as an application. The application analysis unit 20 includes a communication unit 200, an acquisition unit 201, an intent issue unit 202, and a manifest analysis unit 203. The communication unit 200 communicates with the terminal device 1. Communication between the terminal device 1 and the application analysis device 2 is performed using an adb Interface. adb Interface is an interface that connects a PC and a terminal device that runs on Android (registered trademark), and can operate the terminal device from a shell that runs on the PC. The Android (registered trademark) SDK (Software Development Kit) It is prepared as a tool.

取得部201は、通信部200を介して端末装置1の通信部13と通信を行い、記憶部10に格納されている解析対象のアプリケーションのパッケージファイルと、起動したアプリケーションのログとを取得する。マニフェスト解析部203は、パッケージファイルに含まれるマニフェストファイルを解析し、実行ファイルに含まれるコンポーネントを特定する。インテント発行部202は、マニフェスト解析部203によって特定された各コンポーネントを起動するインテントを発行(生成)することにより、コンポーネント毎にアプリケーションを起動する。   The acquisition unit 201 communicates with the communication unit 13 of the terminal device 1 via the communication unit 200 to acquire the package file of the analysis target application stored in the storage unit 10 and the log of the activated application. The manifest analysis unit 203 analyzes the manifest file included in the package file, and identifies the component included in the execution file. The intent issuing unit 202 issues (generates) an intent for starting each component specified by the manifest analysis unit 203, thereby starting an application for each component.

記憶部21は、アプリケーションの解析時に端末装置1から取得される解析対象のアプリケーションのパッケージファイルを記憶する。動的解析部22は、起動したアプリケーションの動的解析を行う。   The storage unit 21 stores a package file of an analysis target application acquired from the terminal device 1 at the time of application analysis. The dynamic analysis unit 22 performs dynamic analysis of the activated application.

次に、アプリケーション解析システムの動作を説明する。図12はアプリケーションの解析手順を示している。まず、取得部201は、通信部200を介して端末装置1の通信部13と通信を行い、記憶部10に格納されている解析対象のアプリケーションのパッケージファイルのコピーを取得する(ステップS300)。端末装置1にインストールされたアプリケーションのパッケージファイルは、所定のフォルダ(/data/app/)の配下に保存されているので、このフォルダを参照することにより、パッケージファイルを取得することができる。adb Interfaceでは、PCから端末装置のデータを取得するadb pullコマンドがある。例えば「adb pull /data/app/AAA.apk」というコマンドを実行することによりパッケージファイルを取得することができる。「AAA.apk」は取得対象のパッケージファイルのファイル名である。取得されたパッケージファイルは記憶部21に格納される。   Next, the operation of the application analysis system will be described. FIG. 12 shows an application analysis procedure. First, the acquisition unit 201 communicates with the communication unit 13 of the terminal device 1 via the communication unit 200, and acquires a copy of the package file of the analysis target application stored in the storage unit 10 (step S300). Since the package file of the application installed in the terminal device 1 is stored under a predetermined folder (/ data / app /), the package file can be acquired by referring to this folder. In adb Interface, there is an adb pull command that acquires data of a terminal device from a PC. For example, a package file can be acquired by executing a command “adb pull /data/app/AAA.apk”. “AAA.apk” is the file name of the package file to be acquired. The acquired package file is stored in the storage unit 21.

続いて、マニフェスト解析部111は、記憶部21に格納されている解析対象のアプリケーションのパッケージファイルからマニフェストファイルを抽出する(ステップS305)。Android(登録商標)のSDKでは、マニフェストファイルを抽出するツールとしてaaptが用意されている。ステップS305ではマニフェスト解析部111は、aaptを用いてマニフェストファイルを抽出する。例えば、「aapt d xmltree AAA.apk *Andrd*Manifest.xml」というコマンドを実行することによりマニフェストファイルを抽出することができる。「AAA.apk」は取得対象のパッケージファイルのファイル名である。   Subsequently, the manifest analysis unit 111 extracts a manifest file from the package file of the analysis target application stored in the storage unit 21 (step S305). In the Android (registered trademark) SDK, aapt is prepared as a tool for extracting a manifest file. In step S305, the manifest analysis unit 111 extracts a manifest file using aapt. For example, a manifest file can be extracted by executing a command “aapt d xmltree AAA.apk * Andrd * Manifest.xml”. “AAA.apk” is the file name of the package file to be acquired.

続いて、マニフェスト解析部203はマニフェストファイルの内容を解析し、解析対象のアプリケーションのパッケージ名と、Activityのクラス名と、BroadcastReceiverの起動条件とを取得する(ステップS310)。ステップS310で取得される各情報の内容は、第1の実施形態で説明した内容と同様である。   Subsequently, the manifest analysis unit 203 analyzes the content of the manifest file, and acquires the package name of the application to be analyzed, the class name of Activity, and the broadcast receiver activation condition (step S310). The contents of each information acquired in step S310 are the same as the contents described in the first embodiment.

続いて、インテント発行部202は、ステップS310で取得された情報に基づいて、解析対象のアプリケーションに含まれるコンポーネントに対するインテントを発行(生成)する。インテント発行部202は、発行したインテントを、通信部200を介して端末装置1の通信部13へ送信し、記憶部10にインストールされているアプリケーションのコンポーネントを起動する(ステップS315)。   Subsequently, the intent issuing unit 202 issues (generates) an intent for a component included in the analysis target application based on the information acquired in step S310. The intent issuing unit 202 transmits the issued intent to the communication unit 13 of the terminal device 1 via the communication unit 200, and activates the component of the application installed in the storage unit 10 (step S315).

Activityは、パッケージ名とクラス名を指定してインテントを発行することで起動することができる。Android(登録商標)では、adb Interfaceでインテントを送信するコマンドとして、amコマンドがある。例えば、「am start −n "com.sample.app","com.sample.app.Main_Activity"」というコマンドを実行することによりインテントを送信することができる。   Activity can be started by issuing an intent specifying the package name and class name. In Android (registered trademark), there is an am command as a command for transmitting an intent using an adb interface. For example, the intent can be transmitted by executing a command “am start −n“ com.sample.app ”,“ com.sample.app.Main_Activity ””.

BroadcastReceiverは、起動条件として指定された条件のインテントを発行することで起動することができる。Activityのインテントと同様に、amコマンドを利用してBroadcastReceiverのインテントを送信することができる。例えば、「am broadcast −a “*andrd*.intent.action.BOOT_COMPLETED”」 というコマンドを実行することによりインテントを送信することができる。   BroadcastReceiver can be activated by issuing an intent of the condition specified as the activation condition. Like the Activity intent, you can use the am command to send the BroadcastReceiver intent. For example, an intent can be transmitted by executing a command “am broadcast −a“ * andrd * .intent.action.BOOT_COMPLETED ””.

上記のようにして、解析対象のアプリケーションを構成するコンポーネントが起動した後、動的解析部22は、通信部200を介して端末装置1の通信部13と通信を行い、コンポーネントの動作結果が記録されたログを端末装置1から取得し、取得したログに基づいてアプリケーションの動的解析を行う。   As described above, after the components constituting the analysis target application are started, the dynamic analysis unit 22 communicates with the communication unit 13 of the terminal device 1 via the communication unit 200, and the operation result of the component is recorded. The acquired log is acquired from the terminal device 1, and the dynamic analysis of the application is performed based on the acquired log.

上記ではアプリケーション解析装置2で動的解析が行われるが、端末装置1で動的解析を行ってもよい。図13は、本実施形態によるアプリケーション解析システムの他の構成例を示している。図13に示すアプリケーション解析システムでは、端末装置1が動的解析部12を有している。アプリケーション解析部20は、解析対象のアプリケーションを構成するコンポーネントを起動した後、通信部200を介して端末装置1の通信部13と通信を行い、動的解析部12に動的解析の指示を与える。指示を受けた動的解析部12は、コンポーネントの動作結果が記録されたログに基づいてアプリケーションの動的解析を行う。   In the above, the dynamic analysis is performed by the application analysis apparatus 2, but the terminal apparatus 1 may perform the dynamic analysis. FIG. 13 shows another configuration example of the application analysis system according to the present embodiment. In the application analysis system shown in FIG. 13, the terminal device 1 has a dynamic analysis unit 12. The application analysis unit 20 activates components constituting the analysis target application, communicates with the communication unit 13 of the terminal device 1 via the communication unit 200, and gives a dynamic analysis instruction to the dynamic analysis unit 12. . Upon receiving the instruction, the dynamic analysis unit 12 performs dynamic analysis of the application based on a log in which the operation result of the component is recorded.

上述したように、本実施形態によれば、ActivityとBroadcastReceiverに関して、解析対象のアプリケーションがインストールされた端末装置1と接続されたアプリケーション解析装置2からアプリケーションのコンポーネントを自動的かつ強制的に起動することができる。   As described above, according to the present embodiment, with regard to Activity and BroadcastReceiver, application components are automatically and forcibly started from the application analysis device 2 connected to the terminal device 1 in which the application to be analyzed is installed. Can do.

上述した各実施形態のアプリケーション解析部11,20はアプリケーションとして構成されている。アプリケーション解析部11,20を構成するアプリケーションのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータ(上記の各実施形態のアプリケーション解析装置)に読み込ませ、実行させることにより、アプリケーション解析部11,20は、規定された処理を実行する。   The application analysis units 11 and 20 of each embodiment described above are configured as applications. An application program constituting the application analysis units 11 and 20 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read by a computer (the application analysis apparatus in each of the above embodiments) and executed. By doing so, the application analysis units 11 and 20 execute the prescribed processing.

ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   Here, the “computer” includes a homepage providing environment (or display environment) if the WWW system is used. The “computer-readable recording medium” refers to a storage device such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a hard disk built in the computer. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program described above may be transmitted from a computer storing the program in a storage device or the like to another computer via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above-described program may be for realizing a part of the above-described function. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer, what is called a difference file (difference program) may be sufficient.

以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。   As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the above-described embodiments, and includes design changes and the like without departing from the gist of the present invention. .

1・・・端末装置、2・・・アプリケーション解析装置、10,21・・・記憶部、11,20・・・アプリケーション解析部、12,22・・・動的解析部、13,200・・・通信部、110,202・・・インテント発行部(起動部)、111,203・・・マニフェスト解析部(解析部)、112a・・・ディスアセンブル部、112b・・・マニフェスト変更部(変更部)、112c・・・アセンブル部、112d・・・インストール部、201・・・取得部   DESCRIPTION OF SYMBOLS 1 ... Terminal device, 2 ... Application analysis apparatus, 10, 21 ... Memory | storage part, 11, 20 ... Application analysis part, 12, 22 ... Dynamic analysis part, 13,200 ... Communication unit 110, 202 ... Intent issuing unit (starting unit), 111, 203 ... Manifest analysis unit (analysis unit), 112a ... Disassembly unit, 112b ... Manifest change unit (change) Part), 112c ... assembly part, 112d ... installation part, 201 ... acquisition part

Claims (8)

アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、
前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記コンポーネントを起動する起動部と、
を備えたことを特徴とするアプリケーション解析装置。
A storage unit that stores an application file that includes an executable file that includes components that are components that realize the functions of the application, and a manifest file that defines the functions and privileges used by the application;
Analyzing the manifest file included in the application file, and identifying the component included in the executable file;
Generating an intent for starting the component specified by the analysis unit, and starting the component;
An application analysis apparatus characterized by comprising:
アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、通信を行う第1の通信部とを有する端末装置と通信を行う第2の通信部と、
前記第1の通信部および前記第2の通信部を介して前記アプリケーションファイルを取得する取得部と、
前記取得部によって取得された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、
前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記第1の通信部および前記第2の通信部を介して前記コンポーネントを起動する起動部と、
を備えたことを特徴とするアプリケーション解析装置。
A storage unit for storing an application file including an executable file that is a component that realizes the function of the application, and a manifest file in which the function and authority used by the application are defined, and a first communication unit that performs communication A second communication unit that communicates with a terminal device including:
An acquisition unit for acquiring the application file via the first communication unit and the second communication unit;
An analysis unit that analyzes the manifest file included in the application file acquired by the acquisition unit and identifies the component included in the execution file;
An intent that activates the component specified by the analysis unit, and an activation unit that activates the component via the first communication unit and the second communication unit;
An application analysis apparatus characterized by comprising:
前記起動部によって生成されたインテントによって起動した前記コンポーネントの動作結果が記録されたログに基づいてアプリケーションの動的解析を行う動的解析部をさらに備えたことを特徴とする請求項1に記載のアプリケーション解析装置。   The dynamic analysis unit according to claim 1, further comprising a dynamic analysis unit that performs dynamic analysis of an application based on a log in which an operation result of the component activated by the intent generated by the activation unit is recorded. Application analysis device. 前記起動部によって生成されたインテントによって起動した前記コンポーネントの動作結果が記録されたログを前記第1の通信部および前記第2の通信部を介して取得し、前記ログに基づいてアプリケーションの動的解析を行う動的解析部をさらに備えたことを特徴とする請求項2に記載のアプリケーション解析装置。   A log in which the operation result of the component activated by the intent generated by the activation unit is recorded is acquired via the first communication unit and the second communication unit, and an application operation is performed based on the log. The application analysis apparatus according to claim 2, further comprising a dynamic analysis unit that performs dynamic analysis. 前記アプリケーションファイルをディスアセンブルしてソースファイルを取得するディスアセンブル部と、
前記ソースファイルに対して、前記コンポーネントがインテントを受け取るためのIDに関するコードを追加することにより前記ソースファイルを変更する変更部と、
前記コードが追加された前記ソースファイルをアセンブルし、前記アプリケーションファイルを生成するアセンブル部と、
前記アセンブル部によって生成された前記アプリケーションファイルを前記記憶部に格納するインストール部と、
をさらに備え、
前記解析部は、前記インストール部によって前記記憶部に格納された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する
ことを特徴とする請求項1に記載のアプリケーション解析装置。
A disassemble unit for disassembling the application file to obtain a source file;
A changing unit that changes the source file by adding a code related to an ID for the component to receive an intent for the source file;
Assembling the source file to which the code is added, and generating an application file; and
An installation unit for storing the application file generated by the assembly unit in the storage unit;
Further comprising
2. The analysis unit according to claim 1, wherein the analysis unit analyzes the manifest file included in the application file stored in the storage unit by the installation unit, and identifies the component included in the execution file. Application analysis device.
端末装置とアプリケーション解析装置とを備えたアプリケーション解析システムであって、
前記端末装置は、
アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーション解析装置と通信を行う第1の通信部と、
を有し、
前記アプリケーション解析装置は、
前記端末装置と通信を行う第2の通信部と、
前記第1の通信部および前記第2の通信部を介して前記アプリケーションファイルを取得する取得部と、
前記取得部によって取得された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、
前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記第1の通信部および前記第2の通信部を介して前記コンポーネントを起動する起動部と、
を有することを特徴とするアプリケーション解析システム。
An application analysis system including a terminal device and an application analysis device,
The terminal device
A storage unit that stores an application file that includes an executable file that includes components that are components that realize the functions of the application, and a manifest file that defines the functions and privileges used by the application;
A first communication unit that communicates with the application analysis device;
Have
The application analyzer is
A second communication unit that communicates with the terminal device;
An acquisition unit for acquiring the application file via the first communication unit and the second communication unit;
An analysis unit that analyzes the manifest file included in the application file acquired by the acquisition unit and identifies the component included in the execution file;
An intent that activates the component specified by the analysis unit, and an activation unit that activates the component via the first communication unit and the second communication unit;
An application analysis system characterized by comprising:
アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、
前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記コンポーネントを起動する起動部と、
としてコンピュータを機能させるためのプログラム。
A storage unit that stores an application file that includes an executable file that includes components that are components that realize the functions of the application, and a manifest file that defines the functions and privileges used by the application;
Analyzing the manifest file included in the application file, and identifying the component included in the executable file;
Generating an intent for starting the component specified by the analysis unit, and starting the component;
As a program to make the computer function as.
アプリケーションの機能を実現する構成要素であるコンポーネントを含む実行ファイルと、アプリケーションが利用する機能や権限が定義されたマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、通信を行う第1の通信部とを有する端末装置と通信を行う第2の通信部と、
前記第1の通信部および前記第2の通信部を介して前記アプリケーションファイルを取得する取得部と、
前記取得部によって取得された前記アプリケーションファイルに含まれる前記マニフェストファイルを解析し、前記実行ファイルに含まれる前記コンポーネントを特定する解析部と、
前記解析部によって特定された前記コンポーネントを起動するインテントを生成し、前記第1の通信部および前記第2の通信部を介して前記コンポーネントを起動する起動部と、
としてコンピュータを機能させるためのプログラム。
A storage unit for storing an application file including an executable file that is a component that realizes the function of the application, and a manifest file in which the function and authority used by the application are defined, and a first communication unit that performs communication A second communication unit that communicates with a terminal device including:
An acquisition unit for acquiring the application file via the first communication unit and the second communication unit;
An analysis unit that analyzes the manifest file included in the application file acquired by the acquisition unit and identifies the component included in the execution file;
An intent that activates the component specified by the analysis unit, and an activation unit that activates the component via the first communication unit and the second communication unit;
As a program to make the computer function as.
JP2011287701A 2011-12-28 2011-12-28 Application analysis apparatus, application analysis system, and program Active JP5723760B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011287701A JP5723760B2 (en) 2011-12-28 2011-12-28 Application analysis apparatus, application analysis system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011287701A JP5723760B2 (en) 2011-12-28 2011-12-28 Application analysis apparatus, application analysis system, and program

Publications (2)

Publication Number Publication Date
JP2013137612A true JP2013137612A (en) 2013-07-11
JP5723760B2 JP5723760B2 (en) 2015-05-27

Family

ID=48913297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011287701A Active JP5723760B2 (en) 2011-12-28 2011-12-28 Application analysis apparatus, application analysis system, and program

Country Status (1)

Country Link
JP (1) JP5723760B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015182418A1 (en) * 2014-05-26 2015-12-03 日本電信電話株式会社 Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
JP2016534487A (en) * 2014-09-16 2016-11-04 シャオミ・インコーポレイテッド Method and apparatus for executing application program
US9614985B2 (en) 2014-06-13 2017-04-04 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same for cooperative operation of programs executed on platforms, and storage medium
JP2017516134A (en) * 2014-04-23 2017-06-15 フージェン ランディー コマーシャル イクイップメント カンパニー リミテッドFujian Landi Commercial Equipment Co.,Ltd Method and system for unifying APK signature
JP2017146966A (en) * 2016-02-18 2017-08-24 Line株式会社 Method and system for extending function to package file
US9870239B2 (en) 2014-09-16 2018-01-16 Xiaomi Inc. Method and device for running application program
US10284734B2 (en) 2014-02-07 2019-05-07 Canon Kabushiki Kaisha Information processing apparatus, method, and storage medium for managing an executable application
CN112416418A (en) * 2020-08-13 2021-02-26 上海哔哩哔哩科技有限公司 Application component generation method and device, computer equipment and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038962A (en) * 2002-06-27 2004-02-05 Microsoft Corp System and method of installing software application by uninfluential system
JP2005092485A (en) * 2003-09-17 2005-04-07 Nomura Research Institute Ltd Network management system
JP2013514594A (en) * 2009-12-15 2013-04-25 マカフィー, インコーポレイテッド System and method for behavioral sandbox

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038962A (en) * 2002-06-27 2004-02-05 Microsoft Corp System and method of installing software application by uninfluential system
JP2005092485A (en) * 2003-09-17 2005-04-07 Nomura Research Institute Ltd Network management system
JP2013514594A (en) * 2009-12-15 2013-04-25 マカフィー, インコーポレイテッド System and method for behavioral sandbox

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284734B2 (en) 2014-02-07 2019-05-07 Canon Kabushiki Kaisha Information processing apparatus, method, and storage medium for managing an executable application
JP2017516134A (en) * 2014-04-23 2017-06-15 フージェン ランディー コマーシャル イクイップメント カンパニー リミテッドFujian Landi Commercial Equipment Co.,Ltd Method and system for unifying APK signature
CN106462704A (en) * 2014-05-26 2017-02-22 日本电信电话株式会社 Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
WO2015182418A1 (en) * 2014-05-26 2015-12-03 日本電信電話株式会社 Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
US10242191B2 (en) 2014-05-26 2019-03-26 Nippon Telegraph And Telephone Corporation Dynamically-loaded code analysis device, dynamically-loaded code analysis method, and dynamically-loaded code analysis program
JP6018344B2 (en) * 2014-05-26 2016-11-02 日本電信電話株式会社 Dynamic reading code analysis apparatus, dynamic reading code analysis method, and dynamic reading code analysis program
CN106462704B (en) * 2014-05-26 2019-05-21 日本电信电话株式会社 Dynamic reads in code analysis device and dynamic reads in code analysis methods
US9614985B2 (en) 2014-06-13 2017-04-04 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same for cooperative operation of programs executed on platforms, and storage medium
JP2016534487A (en) * 2014-09-16 2016-11-04 シャオミ・インコーポレイテッド Method and apparatus for executing application program
US9870239B2 (en) 2014-09-16 2018-01-16 Xiaomi Inc. Method and device for running application program
JP2017146966A (en) * 2016-02-18 2017-08-24 Line株式会社 Method and system for extending function to package file
JP2021192254A (en) * 2016-02-18 2021-12-16 Line株式会社 Function extension method and system for package file
JP7231681B2 (en) 2016-02-18 2023-03-01 Line株式会社 Function extension method and system for package file
CN112416418A (en) * 2020-08-13 2021-02-26 上海哔哩哔哩科技有限公司 Application component generation method and device, computer equipment and readable storage medium

Also Published As

Publication number Publication date
JP5723760B2 (en) 2015-05-27

Similar Documents

Publication Publication Date Title
JP5723760B2 (en) Application analysis apparatus, application analysis system, and program
JP5690689B2 (en) Application analysis apparatus and program
Do et al. Is the data on your wearable device secure? An Android Wear smartwatch case study
Spreitzenbarth et al. Mobile-Sandbox: combining static and dynamic analysis with machine-learning techniques
US20210157920A1 (en) Dynamic analysis techniques for applications
Mitra et al. Ghera: A repository of android app vulnerability benchmarks
Grace et al. Unsafe exposure analysis of mobile in-app advertisements
US20150332043A1 (en) Application analysis system for electronic devices
Tchakounté et al. System calls analysis of malwares on android
Eder et al. Ananas-a framework for analyzing android applications
US9747449B2 (en) Method and device for preventing application in an operating system from being uninstalled
Egners et al. Messing with Android's permission model
KR20110128632A (en) Method and device for detecting malicious action of application program for smartphone
JP2012234401A (en) Application analysis device and program
Faruki et al. Droidanalyst: Synergic app framework for static and dynamic app analysis
Alfalqi et al. Android platform malware analysis
KR101431192B1 (en) Method for Rooting Attack Events Detection on Mobile Device
JP2012022380A (en) Log extraction system and program
Hasan et al. Enhancing monkey to trigger malicious payloads in android malware
JP2013182500A (en) Api execution control device and program
JP5828457B2 (en) API execution control device and program
Zhang et al. PITracker: detecting android pendingintent vulnerabilities through intent flow analysis
Spreitzenbarth Dissecting the Droid: Forensic analysis of android and its malicious applications
JP5941745B2 (en) Application analysis apparatus, application analysis system, and program
JP5865180B2 (en) Portable communication terminal, data communication detection device, data communication detection method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5723760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150