JP5865180B2 - Portable communication terminal, data communication detection device, data communication detection method, and program - Google Patents

Portable communication terminal, data communication detection device, data communication detection method, and program Download PDF

Info

Publication number
JP5865180B2
JP5865180B2 JP2012122516A JP2012122516A JP5865180B2 JP 5865180 B2 JP5865180 B2 JP 5865180B2 JP 2012122516 A JP2012122516 A JP 2012122516A JP 2012122516 A JP2012122516 A JP 2012122516A JP 5865180 B2 JP5865180 B2 JP 5865180B2
Authority
JP
Japan
Prior art keywords
data communication
application
data
log
detection
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
JP2012122516A
Other languages
Japanese (ja)
Other versions
JP2013247664A (en
Inventor
和英 福島
和英 福島
清本 晋作
晋作 清本
三宅 優
優 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2012122516A priority Critical patent/JP5865180B2/en
Publication of JP2013247664A publication Critical patent/JP2013247664A/en
Application granted granted Critical
Publication of JP5865180B2 publication Critical patent/JP5865180B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephone Function (AREA)

Description

本発明は、データの外部漏洩につながる可能性があるデータ通信を検知する携帯通信端末、データ通信検知装置、データ通信検知方法、およびプログラムに関する。   The present invention relates to a mobile communication terminal, a data communication detection device, a data communication detection method, and a program for detecting data communication that may lead to external leakage of data.

近年、iPhone(登録商標)やAndroid(登録商標)携帯電話といったスマートフォンが急速に普及してきている。スマートフォンは、様々なアプリケーション(以下、簡略化のためアプリという)をインストールすることで様々な機能を搭載することができ、利便性が向上する。そこで、利用者は、提供されている数多くのアプリの中から自由にアプリを選択し、インストールしている。しかしながら、提供されているアプリの中には、人気のアプリに見せかけたりした不正なアプリがあり、近年増えてきている。利用者が不正なアプリをインストールし実行することによって、スマートフォンに保存されているプライバシデータ(端末情報、電話帳、位置情報等)が利用者の許可なく外部漏洩してしまうという問題点があった。   In recent years, smartphones such as iPhone (registered trademark) and Android (registered trademark) mobile phones are rapidly spreading. Smartphones can be equipped with various functions by installing various applications (hereinafter referred to as “apps” for simplification), and convenience is improved. Therefore, the user freely selects and installs an application from among many provided applications. However, among the provided apps, there are unauthorized apps that appear to be popular apps, which have been increasing in recent years. When a user installs and executes an unauthorized application, privacy data (terminal information, phone book, location information, etc.) stored in the smartphone leaks outside without the user's permission.

そこで、例えば、Android携帯電話はサンドボックスという概念に基づき、異なるアプリを独立したLinux(登録商標)プロセス上で実行している(例えば、非特許文献1参照)。ここで、サンドボックスとは、保護された領域内でプログラムを動作させることで、領域外へ悪影響が及ぶのを防止するセキュリティモデルである。具体的には、実行されるプログラムは保護された領域に入り、領域外のプログラムやデータ等を操作できない状態で動作するため、プログラムが暴走したりウイルスを動作させたりしようとしても、領域外のプログラムやデータ等に影響を与えることができないようになっている。   Therefore, for example, Android mobile phones execute different applications on independent Linux (registered trademark) processes based on the concept of sandbox (see, for example, Non-Patent Document 1). Here, the sandbox is a security model that prevents an adverse effect from being exerted outside the area by operating the program within the protected area. Specifically, since the program to be executed enters a protected area and operates without being able to manipulate programs and data outside the area, even if the program runs away or attempts to run a virus, The program and data cannot be affected.

そのため、領域外のプログラムやデータ等にアクセスする必要がある場合には、アクセスに必要な権限をプログラム中に宣言し、この宣言されている権限を追加する許可を利用者から得る必要がある。その結果、スマートフォンに保存されているプライバシデータを、不正なアプリが利用者の許可なく外部漏洩させることを防止することができる。   Therefore, when it is necessary to access a program or data outside the area, it is necessary to declare the authority necessary for the access in the program and obtain permission from the user to add the declared authority. As a result, the privacy data stored in the smartphone can be prevented from being leaked outside by unauthorized users without the permission of the user.

一方、アプリを提供する事業者が提供するアプリの中から不正なアプリを見つけるためや、利用者がインストールしたアプリが不正なアプリであるかを判断するためのシステムとして、アプリがアクセスすべきでないプログラムやデータ領域を設定したルールとアプリの挙動を記録したログとに基づいて、対象アプリが不正なアプリであるか否かを判定するシステムを提案している(例えば、特許文献1参照)。   On the other hand, the app should not be accessed as a system for finding an unauthorized app from the apps provided by the provider providing the app or for determining whether the app installed by the user is an unauthorized app A system that determines whether a target application is an unauthorized application based on a rule that sets a program or data area and a log that records the behavior of the application is proposed (for example, see Patent Document 1).

特開2012−008777号公報JP 2012-008777 A

http://developer.android.com/guide/topics/security/security.html[2012年5月17日検索]http: // developer. android. com / guide / topics / security / security. html [Search May 17, 2012]

しかしながら、アプリのサンドボックス化を厳密に行うと、アプリ間での連携ができず利用者に不便を強いることになる。そこで、例えば、スマートフォンに保存されている電話帳のデータをWebブラウザで利用するためには、スマートフォンに保存されている電話帳のデータにアクセスする権限を持つメールクライアントが、ブラウザに電話帳のデータを渡す通信を許可するといったように、サンドボックス化したアプリ間での通信を許可し、連携を認めている。そのために、アプリをサンドボックス化しても、利用者の利便性から他のアプリとの連携を認めてしまうと、不正なアプリが他のアプリとの連携によってプライバシデータを取得して外部漏洩させることを防止することができないという問題点があった。   However, if application sandboxing is strictly performed, cooperation between applications cannot be performed, which causes inconvenience to users. Therefore, for example, in order to use the phone book data stored in the smartphone with a Web browser, a mail client having the authority to access the phone book data stored in the smartphone can store the phone book data in the browser. Allow communication between sandboxed apps, such as allow communication to pass. Therefore, even if the application is sandboxed, if it is allowed to cooperate with another application for the convenience of the user, an unauthorized application will acquire privacy data through cooperation with the other application and leak it to the outside There was a problem that could not be prevented.

また、特許文献1に記載のシステムでは、不正なアプリが、ルールに設定されているアクセスすべきでないプログラムやデータ領域にアクセスする権限を持っているアプリと上述したアプリ間連携によって連携することによって、ルールに設定されているアクセスすべきでないプログラムやデータ領域に間接的にアクセスする不正なアプリを検知することができない。そのため、他のアプリと連携してスマートフォンに保存されているプライバシデータを取得する不正なアプリによるプライバシデータの外部漏洩を防止することができないという問題点があった。   Further, in the system described in Patent Document 1, an unauthorized application is linked with an application that has the authority to access a data area and a program that should not be accessed, which is set in a rule, through the above-described cooperation between applications. It is not possible to detect unauthorized programs that indirectly access programs or data areas that should not be accessed set in the rules. Therefore, there has been a problem in that it is not possible to prevent external leakage of privacy data by an unauthorized application that acquires privacy data stored in a smartphone in cooperation with another application.

そこで、本発明は、上述の課題に鑑みてなされたものであり、プライバシデータといった携帯通信端末に保存されているデータの外部漏洩を防止するために、アプリの動作を記録したログに基づいて、データの外部漏洩に繋がる可能性があるデータ通信を検知する携帯通信端末、データ通信検知装置、データ通信検知方法、およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and based on a log that records the operation of an application in order to prevent external leakage of data stored in a mobile communication terminal such as privacy data, An object of the present invention is to provide a mobile communication terminal, a data communication detection device, a data communication detection method, and a program for detecting data communication that may lead to external leakage of data.

本発明は、上述した課題を解決するために以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。   The present invention proposes the following items in order to solve the above-described problems. In addition, in order to make an understanding easy, although the code | symbol corresponding to embodiment of this invention is attached | subjected and demonstrated, it is not limited to this.

(1) 本発明は、アプリケーションおよび当該アプリケーションの動作に必要なオペレーティングシステムが導入済みであって、当該アプリケーションにおいてデータの外部漏洩に繋がる可能性を有するデータ通信を検知する携帯通信端末であって、導入済みのアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段(例えば、図1のログ記憶部630に相当)と、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、前記ログ記憶手段に記憶された動作ログに含まれるか否かによって、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する検知手段(例えば、図1の検知部640に相当)と、を備えることを特徴とする携帯通信端末を提案している。 (1) The present invention is a portable communication terminal that detects data communication having an application and an operating system necessary for the operation of the application, and that may lead to external leakage of data in the application, Log storage means (for example, equivalent to the log storage unit 630 in FIG. 1) generated by an installed application and storing an operation log indicating the operation of the application, and a system call log for performing data communication between applications And an operation log related to the use of global variables in the application and connection to hardware connected to the mobile communication terminal, which indicates data communication in the application, in the operation log stored in the log storage unit Depending on whether it is included or not, Proposed is a portable communication terminal characterized by comprising detection means (for example, equivalent to the detection unit 640 in FIG. 1) for detecting the presence or absence of data communication that may lead to external leakage of data.

この発明によれば、ログ記憶手段は、携帯通信端末に導入済みのアプリケーションにより生成され、アプリケーションの動作を示す動作ログを記憶する。検知手段は、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用や携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、ログ記憶手段に記憶された動作ログに含まれるか否かによって、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する。したがって、アプリケーション間のデータ通信を行うためのシステムコールのログの有無、およびアプリケーション内のデータ通信に関するログの有無によって、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。その結果、詳細な解析を行う範囲を限定することやアプリケーション内のデータの流れを正確に追跡することができ、解析に係るコストを削減することや検証の精度を向上させることができる。また、アプリケーション間のデータ通信およびアプリケーション内のデータ通信のいずれも検知されないアプリケーションについては、データの外部漏洩が発生していないことを証明することができる。 According to this invention, the log storage means stores an operation log generated by an application already installed in the mobile communication terminal and indicating the operation of the application. The detection means is a system call log for performing data communication between applications, and the use of global variables in the application, indicating data communication in the application, and connection to hardware connected to the mobile communication terminal. operation log, depending on whether included in the operation log stored in the log storage unit, for detecting the presence or absence of the data communication with the potential to lead to the outside leakage of data. Therefore, data communication that may lead to external leakage of data stored in mobile communication terminals depending on the presence or absence of system call logs for data communication between applications and the presence or absence of logs related to data communication within applications. Can be detected. As a result, it is possible to limit the range for performing detailed analysis, to accurately track the flow of data in the application, to reduce the cost for analysis, and to improve the accuracy of verification. Further, for applications in which neither data communication between applications nor data communication within applications is detected, it can be proved that no external leakage of data has occurred.

(2) 本発明は、(1)の携帯通信端末について、前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記グローバル変数が使用されている箇所や前記ハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも1つを施す第1の解析手段(例えば、図10の解析部650に相当)を備えることを特徴とする携帯通信端末を提案している。 (2) The present invention relates to the source code of the application when the detection means detects the presence or absence of data communication that may lead to external leakage of the data in the portable communication terminal of (1). First analysis means (e.g., corresponding to the analysis unit 650 in FIG. 10) that performs at least one of dynamic analysis or static analysis at a location where a global variable is used or a location related to connection to the hardware is provided. The mobile communication terminal characterized by this is proposed.

この発明によれば、検知手段で、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、アプリケーションのソースコードについて、グローバル変数が使用されている箇所やハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも1つを施す。したがって、アプリケーションのソースコードにおいて、アプリケーション内でのデータ通信に関する箇所も含めて、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性がある箇所を解析することにより、時間や労力を軽減して、より精度よくデータを外部漏洩させるアプリケーションを特定することができる。 According to the present invention, when the detection means detects the presence or absence of data communication that may lead to external leakage of data, the connection to the location where the global variable is used or the hardware of the application source code At least one of a dynamic analysis or a static analysis is applied to the location. Therefore, in the source code of the application, time and labor can be reduced by analyzing the location that may lead to external leakage of data stored in the mobile communication terminal, including the location related to data communication within the application. Thus, it is possible to specify an application that leaks data to the outside with higher accuracy.

(3) 本発明は、(1)または(2)の携帯通信端末について、前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記システムコールのログを出力した箇所に動的解析または静的解析の少なくとも1つを施す第2の解析手段(例えば、図10の解析部650に相当)を備えることを特徴とする携帯通信端末を提案している。 (3) The present invention relates to the source of the application when the detection means detects the presence or absence of data communication that may lead to external leakage of the data in the portable communication terminal of (1) or (2). The code includes second analysis means (for example, corresponding to the analysis unit 650 in FIG. 10) that performs at least one of dynamic analysis and static analysis at a location where the system call log is output. A mobile communication terminal is proposed.

この発明によれば、解析手段は、検知手段で、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、アプリケーションのソースコードについて、システムコールのログを出力した箇所に動的解析または静的解析の少なくとも1つを施す。したがって、アプリケーションのソースコードにおいて、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性がある箇所のみを解析することにより、時間や労力を軽減して、データを外部漏洩させるアプリケーションを特定することができる。According to the present invention, when the detection unit detects the presence or absence of data communication that may lead to external leakage of data, the analysis unit moves the application source code to the location where the system call log is output. At least one of static analysis or static analysis. Therefore, in the application source code, by analyzing only the locations that may lead to external leakage of data stored in the mobile communication terminal, it is possible to reduce the time and effort and identify the application that leaks data externally. can do.

(4) 本発明は、(1)から(3)の携帯通信端末について、前記アプリケーション間のデータ通信が、プロセスを用いたデータ通信、ファイルシステムを用いた通信、およびリソースを用いた通信を含むことを特徴とする携帯通信端末を提案している。 (4) In the present invention, for the mobile communication terminals of (1) to (3) , data communication between the applications includes data communication using a process, communication using a file system, and communication using a resource. The mobile communication terminal characterized by this is proposed.

この発明によれば、アプリケーション間のデータ通信が、プロセスを用いたデータ通信、ファイルシステムを用いた通信、およびリソースを用いた通信を含む。 According to the present invention, data communication between applications includes data communication using a process, communication using a file system, and communication using resources.

(5) 本発明は、(1)から(4)の携帯通信端末について、前記オペレーティングシステムが、Androide(登録商標)OSであることを特徴とする携帯通信端末を提案している。 (5) The present invention proposes a mobile communication terminal in which the operating system is an Android (registered trademark) OS for the mobile communication terminals of (1) to (4).

この発明によれば、携帯通信端末のオペレーティングシステムとして、Androide(登録商標)OSを用いることができる。 According to the present invention , Android (registered trademark) OS can be used as the operating system of the mobile communication terminal.

(6) 本発明は、アプリケーションにおいてデータの外部漏洩に繋がる可能性があるデータ通信を検知するデータ通信検知端末であって、前記アプリケーションの実行環境を提供する実行環境提供手段(例えば、図11のエミュレータ部660に相当)と、前記実行環境提供手段で実行されたアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段(例えば、図11のログ記憶部630に相当)と、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知端末に接続されているハードウェアへの接続に関する動作ログが、前記ログ記憶手段に記憶された動作ログに含まれるか否かによって、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する検知手段(例えば、図11の検知部640に相当)と、を備えることを特徴とするデータ通信検知端末を提案している。 (6) The present invention is a data communication detection terminal that detects data communication that may lead to external leakage of data in an application, and provides an execution environment providing unit (for example, FIG. 11) that provides an execution environment of the application. Emulator unit 660), log storage means (for example, corresponding to log storage unit 630 in FIG. 11) generated by an application executed by the execution environment providing unit and storing an operation log indicating the operation of the application; , System call logs for data communication between applications, and use of global variables in the application, indicating data communication in the application, and connection to hardware connected to the data communication detection terminal The operation log is stored in the log storage means. Detecting means (for example, equivalent to the detecting unit 640 in FIG. 11) for detecting the presence or absence of data communication that may lead to external leakage of the data depending on whether it is included in the operation log. It proposes a data communication detection terminal .

この発明によれば、実行環境提供手段は、アプリケーションの実行環境を提供する。ログ記憶手段は、実行環境提供手段で実行されたアプリケーションにより生成され、アプリケーションの動作を示す動作ログを記憶する。検知手段は、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用やデータ通信検知端末に接続されているハードウェアへの接続に関する動作ログが、ログ記憶手段に記憶された動作ログに含まれるか否かによって、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する。したがって、携帯通信端末でアプリケーションを実行することなしに、アプリケーションの動作ログを取得し、携帯通信端末でアプリケーションが実行された際に、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。データ通信検知装置を用いて事前検証を行うことで、アプリケーション間のデータ通信およびアプリケーション内のデータ通信のいずれも検知されないアプリケーションについて、携帯通信端末に保存されているデータを外部漏洩させるアプリでないことを配布時に保証することができる。 According to the present invention, the execution environment providing means provides an application execution environment. The log storage means stores an operation log generated by the application executed by the execution environment providing means and indicating the operation of the application. The detection means is a system call log for data communication between applications, and the use of global variables in the application, indicating the data communication in the application, and the connection to the hardware connected to the data communication detection terminal. The presence / absence of data communication that may lead to external leakage of data is detected depending on whether or not the operation log related to is included in the operation log stored in the log storage unit. Therefore, there is a possibility of acquiring the operation log of the application without executing the application on the mobile communication terminal and leading to external leakage of data stored in the mobile communication terminal when the application is executed on the mobile communication terminal. There can be detected data communication. By performing pre-verification using a data communication detection device, it is not an application that leaks data stored in a mobile communication terminal to an application that detects neither data communication between applications nor data communication within an application. Can be guaranteed at the time of distribution.

(7) 本発明は、(6)のデータ通信検知端末について、前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記グローバル変数が使用されている箇所や前記ハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも1つを施す第1の解析手段を備えることを特徴とするデータ通信検知端末を提案している。 (7) In the data communication detection terminal of (6), when the detection unit detects the presence or absence of data communication that may lead to external leakage of the data, the source code of the application Proposing a data communication detection terminal comprising first analysis means for performing at least one of dynamic analysis or static analysis at a location where the global variable is used or a location related to connection to the hardware doing.

この発明によれば、検知手段で、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、アプリケーションのソースコードについて、グローバル変数が使用されている箇所やハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも1つを施す解析手段を備える。したがって、データ通信検知端末にて、アプリケーションのソースコードにおいて、アプリケーション内でのデータ通信に関する箇所も含めて、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性がある箇所を解析することにより、時間や労力を軽減して、より精度よくデータを外部漏洩させるアプリケーションを特定することができる。 According to the present invention, when the detection means detects the presence or absence of data communication that may lead to external leakage of data, the connection to the location where the global variable is used or the hardware of the application source code An analysis means for performing at least one of dynamic analysis or static analysis is provided at a location related to. Therefore, in the data communication detection terminal, in the source code of the application, analyze the location that may lead to external leakage of data stored in the mobile communication terminal, including the location related to data communication within the application. Thus, it is possible to specify an application that reduces the time and labor and leaks data to the outside more accurately.

(8) 本発明は、(6)または(7)のデータ通信検知端末について、前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記システムコールのログを出力した箇所に動的解析または静的解析の少なくとも1つを施す第2の解析手段を備えることを特徴とするデータ通信検知端末を提案している。 (8) The present invention relates to the data communication detection terminal of (6) or (7), when the detection means detects the presence or absence of data communication that may lead to external leakage of the data. A data communication detecting terminal is proposed, characterized in that the source code is provided with second analysis means for performing at least one of dynamic analysis and static analysis at a location where the system call log is output .

この発明によれば、検知手段で、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、アプリケーションのソースコードについて、システムコールのログを出力した箇所に動的解析または静的解析の少なくとも1つを施す解析手段を備える。したがって、データ通信検知端末にて、アプリケーションのソースコードにおいて、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性がある箇所のみを解析することにより、時間や労力を軽減して、データを外部漏洩させるアプリケーションを特定することができる。 According to the present invention, when the detection means detects the presence or absence of data communication that may lead to external leakage of data, the application source code is dynamically analyzed or statically output at the location where the system call log is output. Analyzing means for performing at least one of statistical analysis is provided. Therefore, in the data communication detection terminal, time and labor can be reduced by analyzing only the portion of the application source code that may lead to external leakage of data stored in the mobile communication terminal. Can be identified.

(9) 本発明は、(6)から(8)のデータ通信検知端末について、前記アプリケーション間のデータ通信が、プロセスを用いたデータ通信、ファイルシステムを用いた通信、およびリソースを用いた通信を含むことを特徴とするデータ通信検知端末を提案している。 (9) The present invention relates to the data communication detection terminal according to (6) to (8), wherein the data communication between the applications includes data communication using a process, communication using a file system, and communication using a resource. The data communication detection terminal characterized by including is proposed.

この発明によれば、アプリケーション間のデータ通信が、プロセスを用いたデータ通信、ファイルシステムを用いた通信、およびリソースを用いた通信を含む。 According to the present invention, data communication between applications includes data communication using a process, communication using a file system, and communication using resources.

(10) 本発明は、(6)から(9)のデータ通信検知端末について、前記アプリケーションの実行環境が、Androide(登録商標)OSの機能を有することを特徴とするデータ通信検知端末を提案している。 (10) The present invention proposes a data communication detection terminal according to (6) to (9), wherein the execution environment of the application has a function of an Android (registered trademark) OS. ing.

この発明によれば、アプリケーションの実行環境は、Androide(登録商標)OSの機能を有する。 According to the present invention, the application execution environment has the function of the Android (registered trademark) OS.

(11) 本発明は、アプリケーションおよび当該アプリケーションの動作に必要なオペレーティングシステムが導入済みであって、当該アプリケーションにおいてデータの外部漏洩に繋がる可能性を有するデータ通信を検知する携帯通信端末におけるデータ通信検知方法であって、前記携帯通信端末は、導入済みのアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段、および検知手段を備え、前記検知手段が、前記ログ記憶手段から動作ログを取得する第1のステップ(例えば、図3のステップS1に相当)と、前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、含まれるか否かを判断する第2のステップ(例えば、図3のステップS2に相当)と、
前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが含まれる場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信があることを検知し、一方、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが含まれない場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信がないことを検知する第3のステップ(例えば、図3のステップS3、S4に相当)と、を含むことを特徴とするデータ通信検知方法を提案している。
(11) In the present invention, data communication detection in a portable communication terminal that detects data communication that has the possibility of leading to external leakage of data in the application, in which an application and an operating system necessary for the operation of the application have been introduced The mobile communication terminal includes a log storage unit that stores an operation log generated by an installed application and indicates an operation of the application, and a detection unit, and the detection unit is A first step (for example, corresponding to step S1 in FIG. 3) for acquiring an operation log, and a system call for the detection means to perform data communication between applications on the operation log acquired in the first step. Log and data communication within the application 2nd step (for example, step of FIG. 3) which judges whether the operation log regarding the use of the global variable in the said application and the connection to the hardware connected to the said mobile communication terminal is included. Equivalent to S2)
In the operation log acquired in the first step, the detection unit uses a system call log for performing data communication between applications, and uses of global variables in the application indicating data communication in the application. When an operation log related to connection to hardware connected to the mobile communication terminal is included, it is detected that there is data communication that may lead to external leakage of the data, while the first step System call log for performing data communication between applications and the use of global variables in the application and the hardware connected to the mobile communication terminal indicating the data communication within the application If the operation log related to Proposed a data communication detection method characterized by comprising a third step of detecting that there is no data communication with the potential to lead to other external leakage (e.g., corresponding to steps S3, S4 of FIG. 3) and, the doing.

この発明によれば、まず、第1のステップにおいて、検知手段が、ログ記憶手段から動作ログを取得する。次に、第2のステップにおいて、検知手段が、第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用や携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、含まれるか否かを判断する。次に、第3のステップにおいて、検知手段が、第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用や携帯通信端末に接続されているハードウェアへの接続に関する動作ログが含まれる場合に、データの外部漏洩に繋がる可能性を有するデータ通信があることを検知し、一方、第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用や携帯通信端末に接続されているハードウェアへの接続に関する動作ログが含まれない場合に、データの外部漏洩に繋がる可能性を有するデータ通信がないことを検知する。したがって、アプリケーション間のデータ通信を行うためのシステムコールのログの有無、およびアプリケーション内のデータ通信に関するログの有無によって、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。その結果、詳細な解析を行う範囲を限定することやアプリケーション内のデータの流れを正確に追跡することができ、解析に係るコストを削減することや検証の精度を向上させることができる。また、アプリケーション間のデータ通信およびアプリケーション内のデータ通信のいずれも検知されないアプリケーションについては、データの外部漏洩が発生していないことを証明することができる。 According to this invention, first, in the first step, the detection means acquires an operation log from the log storage means. Next, in the second step, in the application, the detection means indicates the system call log for performing data communication between applications and the data communication in the application in the operation log acquired in the first step. It is determined whether or not an operation log related to the use of the global variable and the connection to the hardware connected to the mobile communication terminal is included. Next, in the third step, in the application, the detection means indicates the system call log for performing data communication between applications and the data communication in the application in the operation log acquired in the first step. If there is an operation log related to the use of global variables or connection to hardware connected to a mobile communication terminal, it is detected that there is data communication that may lead to external leakage of data, The operation log acquired in step 1 is connected to the system call log for performing data communication between applications and the use of global variables in the application and the mobile communication terminal indicating the data communication in the application. If the operation log related to the connection to the hardware is not included, Data communication with the potential to lead to parts leak detects that there is no. Therefore, data communication that may lead to external leakage of data stored in mobile communication terminals depending on the presence or absence of system call logs for data communication between applications and the presence or absence of logs related to data communication within applications. Can be detected. As a result, it is possible to limit the range for performing detailed analysis, to accurately track the flow of data in the application, to reduce the cost for analysis, and to improve the accuracy of verification. Further, for applications in which neither data communication between applications nor data communication within applications is detected, it can be proved that no external leakage of data has occurred.

(12) 本発明は、アプリケーションにおいてデータの外部漏洩に繋がる可能性があるデータ通信を検知するデータ通信検知装置におけるデータ通信検知方法であって、前記データ通信検知装置は、前記アプリケーションの実行環境を提供する実行環境提供手段、前記実行環境提供手段で実行されたアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段、および検知手段を備え、前記検知手段が、前記ログ記憶手段から動作ログを取得する第1のステップ(例えば、図3のステップS1に相当)と、前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれるか否かを判断する第2のステップ(例えば、図3のステップS2に相当)と、前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれる場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信があることを検知し、一方、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれない場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信がないことを検知する第3のステップ(例えば、図3のステップS3、S4に相当)と、を含むことを特徴とするデータ通信検知方法を提案している。 (12) The present invention provides a data communication detection method in a data communication detection device that detects data communication that may lead to external leakage of data in an application, wherein the data communication detection device sets an execution environment of the application. An execution environment providing means to provide, a log storage means for storing an operation log generated by an application executed by the execution environment providing means and indicating an operation of the application, and a detection means, and the detection means includes the log storage A first step of acquiring an operation log from the means (for example, corresponding to step S1 in FIG. 3), and the detection means for performing data communication between applications to the operation log acquired in the first step The system call log and the application that shows data communication within the application A second step (for example, corresponding to step S2 in FIG. 3) for determining whether or not an operation log related to the use of global variables in the application and the connection to the hardware connected to the data communication detection device is included. ) And a global variable in the application indicating the system call log for performing data communication between applications and the data communication in the application in the operation log acquired in the first step. , And the presence of an operation log related to the connection to the hardware connected to the data communication detection device, it detects that there is data communication that may lead to external leakage of the data, System for performing data communication between applications to the operation log acquired in the first step Log, and the operation log related to the use of global variables in the application and the connection to the hardware connected to the data communication detection device indicating the data communication in the application are not included. Proposing a data communication detection method characterized by including a third step (for example, equivalent to steps S3 and S4 in FIG. 3) for detecting that there is no data communication that may lead to external leakage of data doing.

この発明によれば、まず、第1のステップにおいて、検知手段が、ログ記憶手段から動作ログを取得する。次に、第2のステップにおいて、検知手段が、第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用やデータ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれるか否かを判断する。次に、第3のステップにおいて、検知手段が、第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用やデータ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれる場合に、データの外部漏洩に繋がる可能性を有するデータ通信があることを検知し、一方、第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用やデータ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれない場合に、データの外部漏洩に繋がる可能性を有するデータ通信がないことを検知する。したがって、携帯通信端末でアプリケーションを実行することなしに、アプリケーションの動作ログを取得し、携帯通信端末でアプリケーションが実行された際に、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。その結果、データ通信検知装置を用いることにより、利用者にアプリケーションを配布する前に、携帯通信端末に保存されているデータを外部漏洩させるアプリであるか否かの事前検証を行うことができる。また、アプリケーション間のデータ通信およびアプリケーション内のデータ通信のいずれも検知されないアプリケーションについては、データの外部漏洩が発生していないことを証明することができる。 According to this invention, first, in the first step, the detection means acquires an operation log from the log storage means. Next, in the second step, in the application, the detection means indicates the system call log for performing data communication between applications and the data communication in the application in the operation log acquired in the first step. It is determined whether or not an operation log related to the use of the global variable and the connection to the hardware connected to the data communication detection device is included. Next, in the third step, in the application, the detection means indicates the system call log for performing data communication between applications and the data communication in the application in the operation log acquired in the first step. When there is an operation log related to the use of global variables and connection to hardware connected to a data communication detection device, it detects that there is data communication that may lead to external leakage of data, The operation log acquired in the first step is connected to the system call log for performing data communication between applications and the use of global variables in the application and the data communication detection device indicating the data communication in the application. If the operation log related to the connected hardware is not included Detects that there is no data communication with the potential to lead to the outside leakage of data. Therefore, there is a possibility of acquiring the operation log of the application without executing the application on the mobile communication terminal and leading to external leakage of data stored in the mobile communication terminal when the application is executed on the mobile communication terminal. There can be detected data communication. As a result, by using the data communication detection device, it is possible to perform prior verification as to whether or not the application is an application that externally leaks data stored in the mobile communication terminal before distributing the application to the user. Further, for applications in which neither data communication between applications nor data communication within applications is detected, it can be proved that no external leakage of data has occurred.

(13) 本発明は、(11)または(12)に記載のデータ通信検知方法をコンピュータに実行させるためのプログラムを提案している。 (13) The present invention proposes a program for causing a computer to execute the data communication detection method according to (11) or (12) .

この発明によれば、データ通信検知方法をコンピュータに実行させるためのプログラムとして提供することができる。 According to the present invention, the data communication detection method can be provided as a program for causing a computer to execute the data communication detection method.

本発明によれば、アプリケーション間のデータ通信を行うためのシステムコールのログが、アプリの動作を記録したログに含まれるか否かによって、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。その結果、詳細な解析を行う範囲を限定することができ、解析に係るコストを削減することや検証の精度を向上させることができる。また、携帯通信端末のアプリケーションを動作可能なデータ通信検知装置を用いて、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知するアプリケーションを特定することもできる。   According to the present invention, depending on whether or not the log of system calls for performing data communication between applications is included in the log recording the operation of the application, it leads to external leakage of data stored in the mobile communication terminal. Possible data communication can be detected. As a result, it is possible to limit the range in which detailed analysis is performed, thereby reducing the cost for analysis and improving the accuracy of verification. In addition, it is possible to identify an application that detects data communication that may lead to external leakage of data stored in the mobile communication terminal by using a data communication detection device that can operate the application of the mobile communication terminal.

本発明の第1の実施形態に係る携帯通信端末の機能構成を示す図である。It is a figure which shows the function structure of the portable communication terminal which concerns on the 1st Embodiment of this invention. 一般的な携帯通信端末のアプリ間におけるデータ通信を示す図である。It is a figure which shows the data communication between the applications of a general portable communication terminal. 本発明の第1の実施形態に係る携帯通信端末におけるデータ通信検知処理フローを示す図である。It is a figure which shows the data communication detection process flow in the portable communication terminal which concerns on the 1st Embodiment of this invention. Andoroid用アプリケーションにおいて、インテントを用いる場合のアプリ間データ通信を示す関数名一覧である。It is a function name list which shows data communication between applications in the case of using an intent in an Android application. Andoroid用アプリケーションにおいて、サービスを用いる場合のアプリ間データ通信を示す関数名一覧である。5 is a list of function names indicating inter-application data communication when using a service in an Android application. Andoroid用アプリケーションにおいて、ファイル操作を用いる場合のアプリ間データ通信を示す関数名一覧である。It is a function name list which shows data communication between applications in the case of using file operation in an Android application. Andoroid用アプリケーションにおいて、データベースを用いる場合のアプリ間データ通信を示す関数名一覧である。It is a function name list which shows data communication between applications in the case of using a database in an Android application. Andoroid用アプリケーションにおいて、プリファレンスを用いる場合のアプリ間データ通信を示す関数名一覧である。It is a function name list which shows data communication between applications in the case of using an application for Android. Andoroid用アプリケーションにおいて、外部サーバを用いる場合のアプリ間データ通信を示す関数名一覧である。It is a function name list which shows the data communication between applications in the case of using an external server in an Android application. 本発明の第2の実施形態に係る携帯通信端末の機能構成を示す図である。It is a figure which shows the function structure of the mobile communication terminal which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係るデータ通信検知装置の機能構成を示す図である。It is a figure which shows the function structure of the data communication detection apparatus which concerns on the 3rd Embodiment of this invention.

以下、本発明の実施形態について、図面を用いて、詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載を持って、特許請求の範囲に記載された発明の内容を限定するものではない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the component in this embodiment can have various variations including combinations with existing components as appropriate. Therefore, the content of the invention described in the scope of claims is not limited by the description of the present embodiment.

<第1の実施形態>
<携帯通信端末の機能構成>
図1は、本発明の第1の実施形態に係る携帯通信端末10の機能構成を示す図である。本実施形態において、携帯通信端末10で実行されるアプリケーション(以下、アプリという)により生成された動作ログを用いて、外部漏洩に繋がる可能性が有るデータ通信を検知することができる。図1に示すように、携帯通信端末10は、キーボードやマウスであってユーザからの入力を受け付ける入力部100、ディスプレイやスピーカであって画面や音声を出力する出力部200、他装置とネットワークを介して通信を行う通信部300、オペレーティングシステム(OS)400、プログラム記憶部500、CPU600、アプリ610、ログ生成部620、ログ記憶部630、および検知部640から構成される。
<First Embodiment>
<Functional configuration of mobile communication terminal>
FIG. 1 is a diagram showing a functional configuration of a mobile communication terminal 10 according to the first embodiment of the present invention. In the present embodiment, it is possible to detect data communication that may lead to external leakage using an operation log generated by an application (hereinafter referred to as an application) executed on the mobile communication terminal 10. As shown in FIG. 1, the mobile communication terminal 10 includes a keyboard and mouse, an input unit 100 that receives input from a user, an output unit 200 that is a display and a speaker and outputs a screen and audio, and other devices and a network. A communication unit 300, an operating system (OS) 400, a program storage unit 500, a CPU 600, an application 610, a log generation unit 620, a log storage unit 630, and a detection unit 640.

なお、OS400、アプリ610、ログ生成部620、ログ記憶部630、および検知部640それぞれのプログラムはプログラム記憶部500に記憶されており、プログラム記憶部500に記憶されているプログラムがCPU600に読み込まれることにより各部が起動される。   Note that the programs of the OS 400, the application 610, the log generation unit 620, the log storage unit 630, and the detection unit 640 are stored in the program storage unit 500, and the programs stored in the program storage unit 500 are read into the CPU 600. As a result, each unit is activated.

OS400は、入力部100や出力部200の制御やディスクやメモリの管理等、アプリ610の実行に必要な機能を提供し、携帯通信端末10を管理する。OS400としては、例えば、AndroidOSが挙げられる。   The OS 400 provides functions necessary for the execution of the application 610 such as control of the input unit 100 and output unit 200 and disk and memory management, and manages the mobile communication terminal 10. An example of the OS 400 is Android OS.

アプリ610は、ネットワーク等を介して携帯通信端末10にダウンロードされ、携帯通信端末10にインストールされることにより、携帯通信端末10に様々な機能を提供する。アプリ610は、OS400に対するAPI(Application Program Interface)の呼び出し(システムコール)やOS400からの実行結果の受け取り等を行う。それにより、アプリ610は、規定されている各種処理を実行する。図1において、携帯通信端末10にはアプリ610の1つしか図示していないが、複数であってもよい。   The application 610 is downloaded to the mobile communication terminal 10 via a network or the like and is installed in the mobile communication terminal 10 to provide various functions to the mobile communication terminal 10. The application 610 calls an API (Application Program Interface) for the OS 400 (system call), receives an execution result from the OS 400, and the like. Thereby, the application 610 executes various specified processes. Although only one application 610 is shown in the mobile communication terminal 10 in FIG.

ログ生成部620は、アプリ610が実行されると、アプリの動作を記録した動作ログを生成する。生成された動作ログには、データ通信に関するAPIの呼び出しに関するログが少なくとも記録される。例えば、データ通信に関するAPIの呼び出しに関するログとして、データ通信に関するAPIに含まれる関数の関数名が記録される。   When the application 610 is executed, the log generation unit 620 generates an operation log that records the operation of the application. In the generated operation log, at least a log related to API call related to data communication is recorded. For example, a function name of a function included in an API related to data communication is recorded as a log related to API call related to data communication.

また、動作ログには、アプリ内でのグローバル変数の使用に関するログや携帯通信端末10に接続されているハードウェアへの接続に関するログが含まれてもよい。アプリ内でのグローバル変数の使用に関するログとして、例えば、アプリ610にて実行された関数や使用された変数の宣言が記録され、宣言には、関数や変数の修飾子と、関数名や変数名とが含まれる。また、ハードウェアへの接続に関するログとして、例えば、アプリが実行したネイティブコードで実装された関数の関数名が記録される。   Further, the operation log may include a log related to the use of global variables in the application and a log related to connection to hardware connected to the mobile communication terminal 10. As a log related to the use of global variables in the application, for example, the function executed in the application 610 and the declaration of the used variable are recorded, and the declaration includes the function and variable qualifier, the function name and the variable name. And are included. In addition, as a log relating to connection to hardware, for example, a function name of a function implemented by a native code executed by an application is recorded.

ログ記憶部630は、ログ生成部620で生成された動作ログを記憶する。記憶されている動作ログは、検知部640にてデータ通信の有無の検知が終わると削除されるのが望ましい。   The log storage unit 630 stores the operation log generated by the log generation unit 620. The stored operation log is desirably deleted when the detection unit 640 finishes detecting the presence or absence of data communication.

検知部640は、ログ記憶部630に記憶された動作ログに、データ通信に関するAPIの呼び出しに関するログ、具体的には、データ通信に関するAPIに含まれる関数の関数名が含まれるか否かによって、アプリ間のデータ通信の有無を検知する。アプリ間のデータ通信の有無を検知することにより、データの外部漏洩に繋がる可能性があるデータ通信の有無を検知することができる。検知部640は、出力部200にて、データの外部漏洩に繋がる可能性があるデータ通信の有無を出力する。なお、検知部640は、アプリ間のデータ通信の有無を検知した場合に、ログ記憶部630に記憶された動作ログに含まれる、データ通信に関するAPIに含まれる関数の関数名を出力部200にて出力してもよい。   The detection unit 640 determines whether or not the operation log stored in the log storage unit 630 includes a log related to an API call related to data communication, specifically, a function name of a function included in the API related to data communication. Detects data communication between apps. By detecting the presence / absence of data communication between applications, it is possible to detect the presence / absence of data communication that may lead to external leakage of data. In the output unit 200, the detection unit 640 outputs the presence or absence of data communication that may lead to external leakage of data. When the detection unit 640 detects the presence or absence of data communication between applications, the function name of the function included in the API related to data communication included in the operation log stored in the log storage unit 630 is output to the output unit 200. May be output.

また、検知部640は、ログ記憶部630に記憶された動作ログに、アプリ内でのグローバル変数の使用に関するログや携帯通信端末10に接続されているハードウェアへの接続に関するログ、具体的には、グローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名が含まれているか否かによって、アプリ内のデータ通信の有無を検知する。アプリ内のデータ通信は、データの外部漏洩に直接は繋がらないため、単体では致命的な脅威をもたらすものではない。しかし、実際のプライバシデータの漏洩を検知するためには、アプリ内の情報フローを正確に追跡する必要があるため、本データ通信についても検知を行うことが望ましい。   In addition, the detection unit 640 includes, in the operation log stored in the log storage unit 630, a log related to the use of global variables in the application and a log related to connection to hardware connected to the mobile communication terminal 10. Detects the presence or absence of in-app data communication based on whether it contains a function name or variable name with a global modifier, or a function name of a function implemented in native code. . In-app data communication does not directly lead to external leakage of data, so it alone does not pose a fatal threat. However, in order to detect leakage of actual privacy data, it is necessary to accurately track the information flow within the application, so it is desirable to detect this data communication.

検知部640は、出力部200にて、データの外部漏洩に繋がる可能性があるデータ通信の有無を出力する。なお、検知部640は、アプリ間のデータ通信の有無を検知した場合に、ログ記憶部630に記憶された動作ログに含まれる、データ通信に関するAPIに含まれる関数の関数名を出力部200にて出力してもよいし、ログ記憶部630に記憶された動作ログに含まれる、グローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名を出力部200にて出力してもよい。   In the output unit 200, the detection unit 640 outputs the presence or absence of data communication that may lead to external leakage of data. When the detection unit 640 detects the presence or absence of data communication between applications, the function name of the function included in the API related to data communication included in the operation log stored in the log storage unit 630 is output to the output unit 200. Function name or variable name with a qualifier indicating globality included in the operation log stored in the log storage unit 630, or a function of a function implemented in native code The name may be output by the output unit 200.

ここで、アプリ間のデータ通信およびアプリ内のデータ通信について、図2を用いて詳細に説明する。図2は、一般的な携帯通信端末のアプリ間におけるデータ通信を示す図である。携帯通信端末にインストールされたアプリA、Bは、それぞれサンドボックス化されている。また、アクティビティ1、3はアプリAの構成要素を示し、アクティビティ2はアプリBの構成要素を示す。携帯通信端末のアプリ間のデータ通信には、プロセス間通信を用いる方式810、ファイルシステムを用いる方式820、およびリソースを用いる方式830の3つがある。   Here, data communication between applications and data communication within an application will be described in detail with reference to FIG. FIG. 2 is a diagram illustrating data communication between applications of a general mobile communication terminal. Apps A and B installed on the mobile communication terminal are each sandboxed. Activities 1 and 3 indicate constituent elements of the app A, and an activity 2 indicates constituent elements of the app B. There are three types of data communication between applications of a mobile communication terminal: a method 810 using inter-process communication, a method 820 using a file system, and a method 830 using resources.

まず、プロセス間通信を用いる方式810は、OS400から提供されたアプリ間連携機能を用いて、複数のアプリ間でデータをやり取りする方式である。この方式を用いたアプリ間のデータ通信の有無は、アプリ間連携機能を利用するためのAPIの有無、すなわち、アプリ間連携機能を利用するためのAPIに含まれるメソッドが、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。   First, a method 810 using inter-process communication is a method in which data is exchanged between a plurality of applications using an inter-application cooperation function provided from the OS 400. The presence or absence of an API for using the inter-application cooperation function, that is, the method included in the API for using the inter-application cooperation function is stored in the log storage unit 630. It can be confirmed by whether or not it is included in the stored log.

次に、ファイルシステムを用いる方式820は、一般的なファイルの他に、データベース、アプリの設定管理用のファイルを介して、複数のアプリ間でデータをやり取りする方式である。この方式を用いたアプリ間のデータ通信の有無は、ファイルへの書き出し、読み込みを行うAPIの有無、すなわち、ファイルへの書き出し、読み込みを行うAPIに含まれるメソッドが、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。   Next, a method 820 using a file system is a method of exchanging data between a plurality of applications via a database and a file for setting management of applications in addition to a general file. The presence / absence of data communication between applications using this method is stored in the log storage unit 630 as to whether or not there is an API for writing to and reading from a file, that is, a method included in an API for writing to and reading from a file. It can be confirmed by whether it is included in the log.

最後に、リソースを用いる方式830は、サンドボックスの境界を超えて、他のアプリのリソースにアクセスすることで、複数のアプリ間でデータをやり取りする方式である。この方式を用いたアプリ間のデータ通信の有無は、リソースの操作を行うためのAPIの有無、すなわち、リソースの操作を行うためのAPIに含まれるメソッドが、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。なお、この方式を用いたアプリ間のデータ通信は、サンドボックスの境界を超えるアクセスを行うため、利用者により承認が必要である。   Finally, the resource-based method 830 is a method for exchanging data between a plurality of applications by accessing the resources of other applications beyond the boundary of the sandbox. The presence / absence of data communication between applications using this method is based on the presence / absence of an API for operating a resource, that is, a log stored in the log storage unit 630 by a method included in the API for operating a resource. It can be confirmed by whether or not it is included. Note that data communication between applications using this method requires access by the user because it accesses beyond the boundary of the sandbox.

アプリ内のデータ通信840は、アプリを構成するアクティビティ間でのデータ通信であって、関数内のグローバル変数やネイティブコードで実装された関数等によって実現される。このため、アプリ内のデータ通信840は、関数または変数の識別子やネイティブコード実装した関数の有無、すなわち、グローバルであることを示す修飾子が付加された関数や変数、またはネイティブコードで実装された関数の関数名が、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。   In-app data communication 840 is data communication between activities constituting the app, and is realized by a global variable in the function, a function implemented by a native code, or the like. For this reason, the data communication 840 in the application is implemented by a function or variable having a function or variable identifier or a function implemented with native code, that is, a function or variable to which a modifier indicating global is added, or by native code. It can be confirmed by whether or not the function name of the function is included in the log stored in the log storage unit 630.

<データ通信検知処理フロー>
図3は、本実施形態に係る携帯通信端末におけるデータ通信検知処理フローを示す図である。
<Data communication detection processing flow>
FIG. 3 is a diagram showing a data communication detection process flow in the mobile communication terminal according to the present embodiment.

まず、ステップS1において、検知部640は、ログ記憶部630から動作ログを取得する。   First, in step S <b> 1, the detection unit 640 acquires an operation log from the log storage unit 630.

次に、ステップS2において、検知部640は、ステップS1で取得した動作ログに、データ通信に関するAPIの呼び出しに関するログが含まれるか否かによって、アプリ間のデータ通信の有無を検知する。データ通信に関するAPIの呼び出しに関するログが含まれると判断した場合は、ステップS3に処理を進める。一方、データ通信に関するAPIの呼び出しに関するログが含まれないと判断した場合は、ステップS4に処理を進める。   Next, in step S <b> 2, the detection unit 640 detects the presence / absence of data communication between applications depending on whether or not the operation log acquired in step S <b> 1 includes a log related to API call related to data communication. If it is determined that a log related to API call related to data communication is included, the process proceeds to step S3. On the other hand, if it is determined that the log related to the API call related to data communication is not included, the process proceeds to step S4.

次に、ステップS3において、検知部640は、ステップS2において、データ通信に関するAPIの呼び出しに関するログが含まれると判断した場合は、アプリ間のデータ通信が検知されたことを出力部200に出力する。   Next, in step S3, if the detection unit 640 determines in step S2 that a log related to API call related to data communication is included, the detection unit 640 outputs to the output unit 200 that data communication between applications is detected. .

次に、ステップS4において、検知部640は、ステップS2において、データ通信に関するAPIの呼び出しに関するログが含まれないと判断した場合は、アプリ間のデータ通信が検知されなかったことを出力部200に出力する。   Next, in step S4, if the detection unit 640 determines in step S2 that the log related to the API call related to data communication is not included, the detection unit 640 notifies the output unit 200 that data communication between applications has not been detected. Output.

<実施例>
図1に示したOS400がAndroidOSであって、アプリ610がAndroidOS上で動作するAndroid用アプリである場合を例に、Android用アプリにおけるアプリ間のデータ通信の有無の判断要素であるデータ通信に関するAPIに含まれる関数の関数名を示す。また、アプリ内のデータ通信の有無の判断要素である変数や関数の修飾子も示す。
<Example>
1 is an Android OS, and the application 610 is an Android application that runs on the Android OS. As an example, an API related to data communication, which is a determination element for the presence or absence of data communication between applications in the Android application. Indicates the function name of the function included in. It also shows the qualifiers for variables and functions that are factors that determine the presence or absence of data communication within the app.

Android用アプリにおいて、アプリ間のデータ通信方式のプロセス間通信の方式810は、インテント(Intent)を用いる場合と、サービスを用いる場合に分類される。インテントを用いる場合のアプリ間のデータ通信の有無については、図4に示した関数名が動作ログに含まれるか否かによって検証することができる。同様に、サービスを用いる場合については図5に示した関数名が動作ログに含まれるか否かによって検証することができる。   In the Android application, an inter-process data communication method 810 between applications is classified into a case where an intent is used and a case where a service is used. The presence or absence of data communication between applications when using an intent can be verified by checking whether the function name shown in FIG. 4 is included in the operation log. Similarly, when a service is used, it can be verified by whether or not the function name shown in FIG. 5 is included in the operation log.

Android用アプリにおいて、アプリ間のデータ通信方式のファイルシステムを用いる方式820は、ファイル操作を用いる場合、データベース(SQLite)を用いる場合、およびプリファレンスを用いる場合の3つに分類される。ファイル操作を用いる場合のアプリ間のデータ通信の有無については、図6に示した関数名が動作ログに含まれるが否かによって検証することができる。同様に、データベース(SQLite)を用いる場合については図7に示した関数名、プリファレンスを用いる場合については図8に示した関数名が動作ログに含まれるか否かによって検証することができる。   In the Android application, a method 820 that uses a file system of a data communication method between applications is classified into three cases: a file operation, a database (SQL Lite), and a preference. The presence / absence of data communication between applications when using a file operation can be verified by checking whether the function name shown in FIG. 6 is included in the operation log. Similarly, the function name shown in FIG. 7 can be verified when the database (SQL Lite) is used, and the function name shown in FIG. 8 can be verified when the preference is used.

Android用アプリにおいて、アプリ間のデータ通信方式のリソースを用いた方式830は、ファイル操作を用いる場合、および外部のサーバを用いる場合の2つに分類される。外部のサーバを用いる場合については図9に示した関数名が動作ログに含まれるか否かによって検証することができる。なお、ファイル操作を用いる場合は、外部ストレージ(SDカード等)へのデータの書き出しの際にユーザによるパーミッションの承認が必要であるため、上述したプロセス間通信の方式810とファイルシステムを用いる方式820の場合の双方に含まれ、ファイル操作を用いる場合に動作ログに含まれる関数名は図4から図8に含まれている。   In the Android application, the method 830 using the resource of the data communication method between applications is classified into two cases, that is, the case of using a file operation and the case of using an external server. The case of using an external server can be verified by checking whether or not the function name shown in FIG. 9 is included in the operation log. Note that when file operation is used, permission of permission by the user is required when writing data to an external storage (such as an SD card), so the inter-process communication method 810 and the file system method 820 described above. The function names included in both cases are included in FIGS. 4 to 8 when the file operation is used.

次に、Android用アプリにおいて、アプリ内のデータ通信としては、Applicationクラスを用いた通信、Singletonクラスを用いた通信、静的フィールドを用いた通信、およびネイティブメソッドを用いた通信がある。   Next, in the Android application, data communication within the application includes communication using the Application class, communication using the Singleton class, communication using a static field, and communication using a native method.

Applicationクラスを用いた通信の場合には、アプリ内のデータ通信の有無は、関数「android.app.Activity.getApplication」が動作ログに含まれるか否かによって検証することができる。   In the case of communication using the Application class, the presence / absence of data communication within the application can be verified by whether or not the function “android.app.Activity.getApplication” is included in the operation log.

Singletonクラスを用いた通信の場合には、アプリ内のデータ通信の有無は、Singletonクラスのフィールドの呼び出しログおよびSingletonクラスの関数の呼び出しログ、具体的には、Singletonクラスのフィールド名および関数名が動作ログに含まれるか否かによって検証することができる。クラスがSingletonであることは、コンストラクタの修飾子が「private」であることにより判定する。   In the case of communication using the Singleton class, the presence / absence of data communication within the application is determined based on the call log of the Singleton class field and the call log of the Singleton class function, specifically, the field name and function name of the Singleton class. It can be verified by whether it is included in the action log. Whether the class is Singleton is determined by the fact that the qualifier of the constructor is “private”.

静的フィールドを用いた通信の場合には、アプリ内のデータ通信の有無は、「static」を含む修飾子が付加された変数が動作ログに含まれるか否かによって検証することができる。具体的には、修飾子が、「static」、「static public」、「protected static」、または「protected static public」のいずれかであるか静的フォールドが動作ログに含まれるか否かによって検証することができる。   In the case of communication using a static field, the presence / absence of data communication in the application can be verified based on whether or not a variable to which a modifier including “static” is added is included in the operation log. Specifically, the verification is performed based on whether the qualifier is one of “static”, “static public”, “protected static”, or “protected static public” or whether a static fold is included in the action log. be able to.

ネイティブメソッドを用いた通信の場合には、アプリ内のデータ通信の有無は、ネイティブコードで実装された関数の関数名が動作ログに含まれるか否かによって、アクティビティにおけるネイティブメソッドの有無を判定することによって検証することができる。   In the case of communication using a native method, the presence or absence of data communication within the app determines whether or not there is a native method in the activity depending on whether or not the function log includes the function name of the function implemented in native code. Can be verified.

上記したいずれの関数名も修飾子も動作ログに含まないAndroid用アプリは、携帯通信端末に保存されているデータを外部漏洩させないことが証明される。   It is proved that the Android application that does not include any function name or qualifier in the operation log does not leak data stored in the mobile communication terminal.

以上説明したように、本実施形態によれば、携帯通信端末10に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することにより、詳細な解析を行う範囲を限定することができる。その結果、解析に係るコストを削減することや検証の精度を向上させることができる。また、携帯通信端末10に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知しなかったアプリについては、携帯通信端末10に保存されているデータを外部漏洩は生じないことを証明することができる。   As described above, according to the present embodiment, the range of detailed analysis is limited by detecting data communication that may lead to external leakage of data stored in the mobile communication terminal 10. Can do. As a result, the cost for analysis can be reduced and the accuracy of verification can be improved. In addition, for applications that have not detected data communication that may lead to external leakage of data stored in the mobile communication terminal 10, the data stored in the mobile communication terminal 10 will not be externally leaked. Can prove.

<第2の実施形態>
図10を用いて、本発明の第2の実施形態について説明する。本実施形態に係る携帯通信端末では、解析部を備える点において第1の実施携帯に係る携帯通信端末と異なる。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
<Second Embodiment>
A second embodiment of the present invention will be described with reference to FIG. The mobile communication terminal according to the present embodiment is different from the mobile communication terminal according to the first embodiment in that an analysis unit is provided. In addition, about the component which attaches | subjects the same code | symbol as 1st Embodiment, since it has the same function, the detailed description is abbreviate | omitted.

図10は、本発明の第2の実施形態に係る携帯通信端末20の機能構成を示す図である。図10に示すように、携帯通信端末20は、キーボードやマウスであってユーザからの入力を受け付ける入力部100、ディスプレイやスピーカであって画面や音声を出力する出力部200、他装置とネットワークを介して通信を行う通信部300、オペレーティングシステム(OS)400、プログラム記憶部500、CPU600、アプリ610、ログ生成部620、ログ記憶部630、検知部641、および解析部650から構成される。   FIG. 10 is a diagram illustrating a functional configuration of the mobile communication terminal 20 according to the second embodiment of the present invention. As shown in FIG. 10, the mobile communication terminal 20 includes a keyboard and mouse that are an input unit 100 that receives input from a user, a display and speaker that is an output unit 200 that outputs a screen and audio, and other devices and networks. A communication unit 300, an operating system (OS) 400, a program storage unit 500, a CPU 600, an application 610, a log generation unit 620, a log storage unit 630, a detection unit 641, and an analysis unit 650.

検知部641は、アプリ間のデータ通信を検知した場合に、ログ記憶部630に記憶された動作ログに含まれる、データ通信に関するAPIに含まれる関数の関数名を抽出する。また、検知部641は、アプリ内のデータ通信を検知した場合も同様に、ログ記憶部630に記憶された動作ログに含まれる、グローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名を抽出する。   When detecting data communication between applications, the detection unit 641 extracts a function name of a function included in an API related to data communication included in an operation log stored in the log storage unit 630. Similarly, when the detection unit 641 detects data communication within the application, the function name or variable to which a qualifier indicating global is added is included in the operation log stored in the log storage unit 630. Name or the function name of the function implemented in native code.

解析部650は、アプリ610のソースコードに対し、検知部641で抽出されたデータ通信に関するAPIに含まれる関数の関数名や、検知部641で抽出されたグローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名により特定される箇所について、静的解析および動的解析の少なくとも一方を施し、通信内容や通信経路を特定する。それにより、アプリ610が携帯通信端末20に保存されているデータを外部漏洩させているか否か検知することができる。   The analysis unit 650 adds a function name of a function included in an API related to data communication extracted by the detection unit 641 and a qualifier indicating a global extracted by the detection unit 641 to the source code of the application 610. At least one of static analysis and dynamic analysis is performed on the location specified by the function name and variable name that has been set, or the function name of the function implemented in the native code, and the communication content and communication path are specified. Thereby, it can be detected whether the application 610 is leaking data stored in the mobile communication terminal 20 to the outside.

以上説明したように、本実施形態によれば、アプリのソースコードにおいて、携帯通信端末20に保存されているデータの外部漏洩に繋がる可能性があるアプリ間データ通信に関する箇所を解析することにより、時間や労力を軽減して、データを外部漏洩させるアプリを特定することができる。また、アプリ内データ通信に関する箇所も解析することにより、より精度よくデータを外部漏洩させるアプリを特定することができる。   As described above, according to the present embodiment, in the source code of the application, by analyzing the location related to the inter-application data communication that may lead to the external leakage of the data stored in the mobile communication terminal 20, You can reduce the time and effort, and identify apps that leak data to the outside. In addition, by analyzing the location related to in-app data communication, it is possible to specify an app that leaks data more accurately.

<第3の実施形態>
図11を用いて、本発明の第3の実施形態について説明する。本実施形態に係るデータ通信検知装置では、携帯通信端末でアプリを実行することなしに、携帯通信端末にダウンロードされるアプリを実行し、データ通信を検証するための装置である。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
<Third Embodiment>
A third embodiment of the present invention will be described with reference to FIG. The data communication detection device according to the present embodiment is a device for verifying data communication by executing an application downloaded to a mobile communication terminal without executing the app on the mobile communication terminal. In addition, about the component which attaches | subjects the same code | symbol as 1st Embodiment, since it has the same function, the detailed description is abbreviate | omitted.

図11は、本発明の第3の実施形態に係るデータ通信検知装置30の機能構成を示す図である。図11に示すように、データ通信検知装置30は、キーボードやマウスであってユーザからの入力を受け付ける入力部100、ディスプレイやスピーカであって画面や音声を出力する出力部200、他装置とネットワークを介して通信を行う通信部300、プログラム記憶部500、CPU600、アプリ610、ログ生成部620、ログ記憶部630、検知部640、エミュレータ部660、およびOS800から構成される。なお、本実施形態のデータ通信検知装置30は、第2の実施形態に係る携帯通信端末20の解析部650を備え、アプリ間データ通信に関する箇所やアプリ内データ通信に関する箇所に静的解析や動的解析を施し、通信内容や通信経路を特定してもよい。   FIG. 11 is a diagram illustrating a functional configuration of a data communication detection device 30 according to the third embodiment of the present invention. As shown in FIG. 11, the data communication detection device 30 includes a keyboard and a mouse that receive an input from the user 100, a display and a speaker that outputs a screen and audio, and other devices and a network Communication unit 300, program storage unit 500, CPU 600, application 610, log generation unit 620, log storage unit 630, detection unit 640, emulator unit 660, and OS 800. Note that the data communication detection device 30 of the present embodiment includes the analysis unit 650 of the mobile communication terminal 20 according to the second embodiment, and performs static analysis and movement at locations related to inter-app data communication and in-app data communication. Analysis may be performed to identify communication contents and communication paths.

エミュレータ部660は、第1の実施形態におけるOS400の機能を再現し、アプリ610を動作させる。   The emulator unit 660 reproduces the function of the OS 400 in the first embodiment and operates the application 610.

以上説明したように、本実施形態によれば、携帯通信端末でアプリを実行することなしに、アプリの動作ログを取得し、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。データ通信検知装置30を用いることにより、利用者にアプリを配布する前に、携帯通信端末に保存されているデータを外部漏洩させるアプリであるか否かの事前検証を行うことができる。   As described above, according to the present embodiment, there is a possibility that the operation log of the app is acquired without executing the app on the mobile communication terminal, and the external leakage of the data stored in the mobile communication terminal is likely to occur. A certain data communication can be detected. By using the data communication detection device 30, before distributing the application to the user, it is possible to perform prior verification as to whether or not the application is an application that externally leaks data stored in the mobile communication terminal.

なお、携帯通信端末またはデータ通信検知端末の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを機器に読み込ませ、実行することによって本発明の携帯通信端末またはデータ通信検知端末を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。   The processing of the portable communication terminal or the data communication detection terminal is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the device and executed, thereby executing the portable communication terminal or data communication of the present invention. A detection terminal can be realized. The computer system here includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the 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.

また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.

以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   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 embodiments, and includes designs and the like that do not depart from the gist of the present invention.

10 携帯通信端末
100 入力部
200 出力部
300 通信部
400 OS
500 プログラム記憶部
600 CPU
610 アプリ
620 ログ生成部
630 ログ記憶部
640 検知部
10 mobile communication terminal 100 input unit 200 output unit 300 communication unit 400 OS
500 Program storage unit 600 CPU
610 application 620 log generation unit 630 log storage unit 640 detection unit

Claims (13)

アプリケーションおよび当該アプリケーションの動作に必要なオペレーティングシステムが導入済みであって、当該アプリケーションにおいてデータの外部漏洩に繋がる可能性を有するデータ通信を検知する携帯通信端末であって、
導入済みのアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段と、
アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、前記ログ記憶手段に記憶された動作ログに含まれるか否かによって、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する検知手段と、
を備えることを特徴とする携帯通信端末。
A mobile communication terminal that detects an application and an operating system necessary for the operation of the application, and detects data communication that may lead to external leakage of data in the application,
Log storage means for storing an operation log generated by the installed application and indicating the operation of the application;
System call log for data communication between applications , and operation log related to the use of global variables in the application and connection to hardware connected to the mobile communication terminal, indicating data communication within the application Detecting means for detecting the presence or absence of data communication that may lead to external leakage of the data, depending on whether or not it is included in the operation log stored in the log storage means;
A mobile communication terminal comprising:
前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記グローバル変数が使用されている箇所や前記ハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも1つを施す第1の解析手段を備えることを特徴とする請求項1に記載の携帯通信端末。 When the detection means detects the presence or absence of data communication that may lead to external leakage of the data, the source code of the application relates to the location where the global variable is used or the connection to the hardware The mobile communication terminal according to claim 1, further comprising first analysis means for performing at least one of dynamic analysis or static analysis on a location . 前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記システムコールのログを出力した箇所に動的解析または静的解析の少なくとも1つを施す第2の解析手段を備えることを特徴とする請求項1または2に記載の携帯通信端末。 When the detection means detects the presence or absence of data communication that may lead to external leakage of the data , dynamic analysis or static analysis is performed at the location where the system call log is output for the source code of the application the portable communication terminal according to claim 1 or 2, characterized in that it comprises a second analysis means for performing at least one of. 前記アプリケーション間のデータ通信が、プロセスを用いたデータ通信、ファイルシステムを用いた通信、およびリソースを用いた通信を含むことを特徴とする請求項1から3のいずれかに記載の携帯通信端末。 The mobile communication terminal according to any one of claims 1 to 3, wherein the data communication between the applications includes data communication using a process, communication using a file system, and communication using a resource . 前記オペレーティングシステムが、Androide(登録商標)OSであることを特徴とする請求項1から4のいずれかに記載の携帯通信端末。 The mobile communication terminal according to claim 1 , wherein the operating system is an Android (registered trademark) OS . アプリケーションにおいてデータの外部漏洩に繋がる可能性があるデータ通信を検知するデータ通信検知端末であって、A data communication detection terminal that detects data communication that may lead to external leakage of data in an application,
前記アプリケーションの実行環境を提供する実行環境提供手段と、Execution environment providing means for providing an execution environment of the application;
前記実行環境提供手段で実行されたアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段と、Log storage means for storing an operation log generated by the application executed by the execution environment providing means and indicating the operation of the application;
アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知端末に接続されているハードウェアへの接続に関する動作ログが、前記ログ記憶手段に記憶された動作ログに含まれるか否かによって、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する検知手段と、System call log for data communication between applications, and operations related to the use of global variables in the application and the connection to the hardware connected to the data communication detection terminal indicating data communication within the application Detecting means for detecting the presence or absence of data communication that may lead to external leakage of the data depending on whether or not the log is included in the operation log stored in the log storage means;
を備えることを特徴とするデータ通信検知端末。A data communication detection terminal comprising:
前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記グローバル変数が使用されている箇所や前記ハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも1つを施す第1の解析手段を備えることを特徴とする請求項6に記載のデータ通信検知端末。  When the detection means detects the presence or absence of data communication that may lead to external leakage of the data, the source code of the application relates to the location where the global variable is used or the connection to the hardware The data communication detection terminal according to claim 6, further comprising first analysis means for performing at least one of dynamic analysis and static analysis on a location. 前記検知手段で、前記データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、前記アプリケーションのソースコードについて、前記システムコールのログを出力した箇所に動的解析または静的解析の少なくとも1つを施す第2の解析手段を備えることを特徴とする請求項6または7に記載のデータ通信検知端末。 When the detection means detects the presence or absence of data communication that may lead to external leakage of the data, dynamic analysis or static analysis is performed at the location where the system call log is output for the source code of the application The data communication detection terminal according to claim 6 or 7, further comprising second analysis means for performing at least one of the following . 前記アプリケーション間のデータ通信が、プロセスを用いたデータ通信、ファイルシステムを用いた通信、およびリソースを用いた通信を含むことを特徴とする請求項6から8のいずれかに記載のデータ通信検知端末。 The data communication detection terminal according to any one of claims 6 to 8, wherein the data communication between the applications includes data communication using a process, communication using a file system, and communication using a resource. . 前記アプリケーションの実行環境が、Androide(登録商標)OSの機能を有することを特徴とする請求項6から9のいずれかに記載のデータ通信検知端末。 10. The data communication detection terminal according to claim 6, wherein an execution environment of the application has an Android (registered trademark) OS function . アプリケーションおよび当該アプリケーションの動作に必要なオペレーティングシステムが導入済みであって、当該アプリケーションにおいてデータの外部漏洩に繋がる可能性を有するデータ通信を検知する携帯通信端末におけるデータ通信検知方法であって、
前記携帯通信端末は、導入済みのアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段、および検知手段を備え、
前記検知手段が、前記ログ記憶手段から動作ログを取得する第1のステップと、
前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、含まれるか否かを判断する第2のステップと、
前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが含まれる場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信があることを検知し、一方、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが含まれない場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信がないことを検知する第3のステップと
を含むことを特徴とするデータ通信検知方法。
An application and an operating system necessary for the operation of the application have been introduced, and a data communication detection method in a mobile communication terminal that detects data communication that may lead to external leakage of data in the application,
The mobile communication terminal includes a log storage unit that stores an operation log generated by an installed application and indicates an operation of the application, and a detection unit.
A first step in which the detection means acquires an operation log from the log storage means;
In the operation log acquired in the first step, the detection unit uses a system call log for performing data communication between applications, and uses of global variables in the application indicating data communication in the application. A second step of determining whether or not an operation log related to connection to hardware connected to the mobile communication terminal is included;
In the operation log acquired in the first step, the detection unit uses a system call log for performing data communication between applications, and uses of global variables in the application indicating data communication in the application. When an operation log related to connection to hardware connected to the mobile communication terminal is included, it is detected that there is data communication that may lead to external leakage of the data, while the first step System call log for performing data communication between applications and the use of global variables in the application and the hardware connected to the mobile communication terminal indicating the data communication within the application If the operation log related to A third step of detecting that there is no data communication with the potential to lead to other external leakage,
A data communication detection method comprising:
アプリケーションにおいてデータの外部漏洩に繋がる可能性があるデータ通信を検知するデータ通信検知装置におけるデータ通信検知方法であって、
前記データ通信検知装置は、前記アプリケーションの実行環境を提供する実行環境提供手段、前記実行環境提供手段で実行されたアプリケーションにより生成され、当該アプリケーションの動作を示す動作ログを記憶するログ記憶手段、および検知手段を備え、
前記検知手段が、前記ログ記憶手段から動作ログを取得する第1のステップと、
前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知装置に接続されているハードウェアへの接続に関する動作ログが、含まれるか否かを判断する第2のステップと、
前記検知手段が、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれる場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信があることを検知し、一方、前記第1のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該データ通信検知装置に接続されているハードウェアへの接続に関する動作ログが含まれない場合に、前記データの外部漏洩に繋がる可能性を有するデータ通信がないことを検知する第3のステップと
を含むことを特徴とするデータ通信検知方法。
A data communication detection method in a data communication detection device for detecting data communication that may lead to external leakage of data in an application,
The data communication detection device includes an execution environment providing unit that provides an execution environment of the application, a log storage unit that stores an operation log generated by an application executed by the execution environment providing unit and indicating an operation of the application, and Equipped with detection means,
A first step in which the detection means acquires an operation log from the log storage means;
In the operation log acquired in the first step, the detection unit uses a system call log for performing data communication between applications, and uses of global variables in the application indicating data communication in the application. A second step of determining whether or not an operation log relating to connection to hardware connected to the data communication detection device is included;
In the operation log acquired in the first step, the detection unit uses a system call log for performing data communication between applications, and uses of global variables in the application indicating data communication in the application. When an operation log relating to connection to hardware connected to the data communication detection device is included, it is detected that there is data communication that may lead to external leakage of the data, while the first In the operation log acquired in step, the system call log for performing data communication between applications and the use of global variables in the application indicating the data communication in the application or connected to the data communication detection device If the operation log related to the connected hardware is not included In a third step of detecting that there is no data communication with the potential to lead to the outside leakage of the data,
A data communication detection method comprising:
請求項11または12に記載のデータ通信検知方法をコンピュータに実行させるためのプログラム。A program for causing a computer to execute the data communication detection method according to claim 11 or 12.
JP2012122516A 2012-05-29 2012-05-29 Portable communication terminal, data communication detection device, data communication detection method, and program Active JP5865180B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012122516A JP5865180B2 (en) 2012-05-29 2012-05-29 Portable communication terminal, data communication detection device, data communication detection method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012122516A JP5865180B2 (en) 2012-05-29 2012-05-29 Portable communication terminal, data communication detection device, data communication detection method, and program

Publications (2)

Publication Number Publication Date
JP2013247664A JP2013247664A (en) 2013-12-09
JP5865180B2 true JP5865180B2 (en) 2016-02-17

Family

ID=49847091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012122516A Active JP5865180B2 (en) 2012-05-29 2012-05-29 Portable communication terminal, data communication detection device, data communication detection method, and program

Country Status (1)

Country Link
JP (1) JP5865180B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436847B2 (en) 2020-09-23 2024-02-22 株式会社デンソーウェーブ information processing equipment
JP7438915B2 (en) 2020-11-05 2024-02-27 株式会社東芝 Information processing equipment, programs and information processing systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9027123B2 (en) * 2008-12-08 2015-05-05 Nec Corporation Data dependence analyzer, information processor, data dependence analysis method and program
US8566937B2 (en) * 2010-10-04 2013-10-22 Panasonic Corporation Information processing apparatus and method for preventing unauthorized cooperation of applications
JP5698494B2 (en) * 2010-10-14 2015-04-08 Kddi株式会社 Mobile terminal and program

Also Published As

Publication number Publication date
JP2013247664A (en) 2013-12-09

Similar Documents

Publication Publication Date Title
Felt et al. Permission re-delegation: Attacks and defenses.
Enck Defending users against smartphone apps: Techniques and future directions
Shen et al. Information flows as a permission mechanism
US20150332043A1 (en) Application analysis system for electronic devices
Mitra et al. Ghera: A repository of android app vulnerability benchmarks
Junaid et al. Dexteroid: Detecting malicious behaviors in android apps using reverse-engineered life cycle models
US9940478B2 (en) Fine-grained user control over usages of sensitive system resources having private data with applications in privacy enforcement
Singh et al. Analysis of malicious behavior of android apps
KR20110128632A (en) Method and device for detecting malicious action of application program for smartphone
JP2012234401A (en) Application analysis device and program
Alepis et al. Hey doc, is this normal?: Exploring android permissions in the post marshmallow era
Tang et al. Detecting permission over-claim of android applications with static and semantic analysis approach
Alfalqi et al. Android platform malware analysis
Tuan et al. Enhancing the accuracy of static analysis for detecting sensitive data leakage in Android by using dynamic analysis
Lettner et al. Mobile platform architecture review: android, iphone, qt
Raval et al. Permissions plugins as android apps
Alzaidi et al. DroidRista: a highly precise static data flow analysis framework for android applications
Xu Techniques and tools for analyzing and understanding android applications
Mustafa et al. Understanding the implemented access control policy of Android system services with slicing and extended static checking
Titze et al. App-ray: User-driven and fully automated android app security assessment
Aydin et al. Visual configuration of mobile privacy policies
JP5865180B2 (en) Portable communication terminal, data communication detection device, data communication detection method, and program
Nishimoto et al. Detection of android api call using logging mechanism within android framework
Fu et al. Perman: fine-grained permission management for android applications
Ascia et al. Making android apps data-leak-safe by data flow analysis and code injection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151225

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

Ref document number: 5865180

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150