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 PDFInfo
- 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
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).
しかしながら、アプリのサンドボックス化を厳密に行うと、アプリ間での連携ができず利用者に不便を強いることになる。そこで、例えば、スマートフォンに保存されている電話帳のデータを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
この発明によれば、ログ記憶手段は、携帯通信端末に導入済みのアプリケーションにより生成され、アプリケーションの動作を示す動作ログを記憶する。検知手段は、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用や携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、ログ記憶手段に記憶された動作ログに含まれるか否かによって、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する。したがって、アプリケーション間のデータ通信を行うためのシステムコールのログの有無、およびアプリケーション内のデータ通信に関するログの有無によって、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。その結果、詳細な解析を行う範囲を限定することやアプリケーション内のデータの流れを正確に追跡することができ、解析に係るコストを削減することや検証の精度を向上させることができる。また、アプリケーション間のデータ通信およびアプリケーション内のデータ通信のいずれも検知されないアプリケーションについては、データの外部漏洩が発生していないことを証明することができる。 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
この発明によれば、検知手段で、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、アプリケーションのソースコードについて、グローバル変数が使用されている箇所やハードウェアへの接続に関する箇所に動的解析または静的解析の少なくとも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
この発明によれば、解析手段は、検知手段で、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知した場合に、アプリケーションのソースコードについて、システムコールのログを出力した箇所に動的解析または静的解析の少なくとも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
この発明によれば、実行環境提供手段は、アプリケーションの実行環境を提供する。ログ記憶手段は、実行環境提供手段で実行されたアプリケーションにより生成され、アプリケーションの動作を示す動作ログを記憶する。検知手段は、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、アプリケーション内でのグローバル変数の使用やデータ通信検知端末に接続されているハードウェアへの接続に関する動作ログが、ログ記憶手段に記憶された動作ログに含まれるか否かによって、データの外部漏洩に繋がる可能性を有するデータ通信の有無を検知する。したがって、携帯通信端末でアプリケーションを実行することなしに、アプリケーションの動作ログを取得し、携帯通信端末でアプリケーションが実行された際に、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。データ通信検知装置を用いて事前検証を行うことで、アプリケーション間のデータ通信およびアプリケーション内のデータ通信のいずれも検知されないアプリケーションについて、携帯通信端末に保存されているデータを外部漏洩させるアプリでないことを配布時に保証することができる。 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.
以下、本発明の実施形態について、図面を用いて、詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載を持って、特許請求の範囲に記載された発明の内容を限定するものではない。 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
なお、OS400、アプリ610、ログ生成部620、ログ記憶部630、および検知部640それぞれのプログラムはプログラム記憶部500に記憶されており、プログラム記憶部500に記憶されているプログラムがCPU600に読み込まれることにより各部が起動される。
Note that the programs of the
OS400は、入力部100や出力部200の制御やディスクやメモリの管理等、アプリ610の実行に必要な機能を提供し、携帯通信端末10を管理する。OS400としては、例えば、AndroidOSが挙げられる。
The
アプリ610は、ネットワーク等を介して携帯通信端末10にダウンロードされ、携帯通信端末10にインストールされることにより、携帯通信端末10に様々な機能を提供する。アプリ610は、OS400に対するAPI(Application Program Interface)の呼び出し(システムコール)やOS400からの実行結果の受け取り等を行う。それにより、アプリ610は、規定されている各種処理を実行する。図1において、携帯通信端末10にはアプリ610の1つしか図示していないが、複数であってもよい。
The
ログ生成部620は、アプリ610が実行されると、アプリの動作を記録した動作ログを生成する。生成された動作ログには、データ通信に関するAPIの呼び出しに関するログが少なくとも記録される。例えば、データ通信に関するAPIの呼び出しに関するログとして、データ通信に関するAPIに含まれる関数の関数名が記録される。
When the
また、動作ログには、アプリ内でのグローバル変数の使用に関するログや携帯通信端末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
ログ記憶部630は、ログ生成部620で生成された動作ログを記憶する。記憶されている動作ログは、検知部640にてデータ通信の有無の検知が終わると削除されるのが望ましい。
The
検知部640は、ログ記憶部630に記憶された動作ログに、データ通信に関するAPIの呼び出しに関するログ、具体的には、データ通信に関するAPIに含まれる関数の関数名が含まれるか否かによって、アプリ間のデータ通信の有無を検知する。アプリ間のデータ通信の有無を検知することにより、データの外部漏洩に繋がる可能性があるデータ通信の有無を検知することができる。検知部640は、出力部200にて、データの外部漏洩に繋がる可能性があるデータ通信の有無を出力する。なお、検知部640は、アプリ間のデータ通信の有無を検知した場合に、ログ記憶部630に記憶された動作ログに含まれる、データ通信に関するAPIに含まれる関数の関数名を出力部200にて出力してもよい。
The
また、検知部640は、ログ記憶部630に記憶された動作ログに、アプリ内でのグローバル変数の使用に関するログや携帯通信端末10に接続されているハードウェアへの接続に関するログ、具体的には、グローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名が含まれているか否かによって、アプリ内のデータ通信の有無を検知する。アプリ内のデータ通信は、データの外部漏洩に直接は繋がらないため、単体では致命的な脅威をもたらすものではない。しかし、実際のプライバシデータの漏洩を検知するためには、アプリ内の情報フローを正確に追跡する必要があるため、本データ通信についても検知を行うことが望ましい。
In addition, the
検知部640は、出力部200にて、データの外部漏洩に繋がる可能性があるデータ通信の有無を出力する。なお、検知部640は、アプリ間のデータ通信の有無を検知した場合に、ログ記憶部630に記憶された動作ログに含まれる、データ通信に関するAPIに含まれる関数の関数名を出力部200にて出力してもよいし、ログ記憶部630に記憶された動作ログに含まれる、グローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名を出力部200にて出力してもよい。
In the
ここで、アプリ間のデータ通信およびアプリ内のデータ通信について、図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
まず、プロセス間通信を用いる方式810は、OS400から提供されたアプリ間連携機能を用いて、複数のアプリ間でデータをやり取りする方式である。この方式を用いたアプリ間のデータ通信の有無は、アプリ間連携機能を利用するためのAPIの有無、すなわち、アプリ間連携機能を利用するためのAPIに含まれるメソッドが、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。
First, a
次に、ファイルシステムを用いる方式820は、一般的なファイルの他に、データベース、アプリの設定管理用のファイルを介して、複数のアプリ間でデータをやり取りする方式である。この方式を用いたアプリ間のデータ通信の有無は、ファイルへの書き出し、読み込みを行うAPIの有無、すなわち、ファイルへの書き出し、読み込みを行うAPIに含まれるメソッドが、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。
Next, a
最後に、リソースを用いる方式830は、サンドボックスの境界を超えて、他のアプリのリソースにアクセスすることで、複数のアプリ間でデータをやり取りする方式である。この方式を用いたアプリ間のデータ通信の有無は、リソースの操作を行うためのAPIの有無、すなわち、リソースの操作を行うためのAPIに含まれるメソッドが、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。なお、この方式を用いたアプリ間のデータ通信は、サンドボックスの境界を超えるアクセスを行うため、利用者により承認が必要である。
Finally, the resource-based
アプリ内のデータ通信840は、アプリを構成するアクティビティ間でのデータ通信であって、関数内のグローバル変数やネイティブコードで実装された関数等によって実現される。このため、アプリ内のデータ通信840は、関数または変数の識別子やネイティブコード実装した関数の有無、すなわち、グローバルであることを示す修飾子が付加された関数や変数、またはネイティブコードで実装された関数の関数名が、ログ記憶部630に記憶されたログに含まれるか否かによって、確認することができる。
In-
<データ通信検知処理フロー>
図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
次に、ステップS2において、検知部640は、ステップS1で取得した動作ログに、データ通信に関するAPIの呼び出しに関するログが含まれるか否かによって、アプリ間のデータ通信の有無を検知する。データ通信に関するAPIの呼び出しに関するログが含まれると判断した場合は、ステップS3に処理を進める。一方、データ通信に関するAPIの呼び出しに関するログが含まれないと判断した場合は、ステップS4に処理を進める。
Next, in step S <b> 2, the
次に、ステップS3において、検知部640は、ステップS2において、データ通信に関するAPIの呼び出しに関するログが含まれると判断した場合は、アプリ間のデータ通信が検知されたことを出力部200に出力する。
Next, in step S3, if the
次に、ステップS4において、検知部640は、ステップS2において、データ通信に関するAPIの呼び出しに関するログが含まれないと判断した場合は、アプリ間のデータ通信が検知されなかったことを出力部200に出力する。
Next, in step S4, if the
<実施例>
図1に示したOS400がAndroidOSであって、アプリ610がAndroidOS上で動作するAndroid用アプリである場合を例に、Android用アプリにおけるアプリ間のデータ通信の有無の判断要素であるデータ通信に関するAPIに含まれる関数の関数名を示す。また、アプリ内のデータ通信の有無の判断要素である変数や関数の修飾子も示す。
<Example>
1 is an Android OS, and the
Android用アプリにおいて、アプリ間のデータ通信方式のプロセス間通信の方式810は、インテント(Intent)を用いる場合と、サービスを用いる場合に分類される。インテントを用いる場合のアプリ間のデータ通信の有無については、図4に示した関数名が動作ログに含まれるか否かによって検証することができる。同様に、サービスを用いる場合については図5に示した関数名が動作ログに含まれるか否かによって検証することができる。
In the Android application, an inter-process
Android用アプリにおいて、アプリ間のデータ通信方式のファイルシステムを用いる方式820は、ファイル操作を用いる場合、データベース(SQLite)を用いる場合、およびプリファレンスを用いる場合の3つに分類される。ファイル操作を用いる場合のアプリ間のデータ通信の有無については、図6に示した関数名が動作ログに含まれるが否かによって検証することができる。同様に、データベース(SQLite)を用いる場合については図7に示した関数名、プリファレンスを用いる場合については図8に示した関数名が動作ログに含まれるか否かによって検証することができる。
In the Android application, a
Android用アプリにおいて、アプリ間のデータ通信方式のリソースを用いた方式830は、ファイル操作を用いる場合、および外部のサーバを用いる場合の2つに分類される。外部のサーバを用いる場合については図9に示した関数名が動作ログに含まれるか否かによって検証することができる。なお、ファイル操作を用いる場合は、外部ストレージ(SDカード等)へのデータの書き出しの際にユーザによるパーミッションの承認が必要であるため、上述したプロセス間通信の方式810とファイルシステムを用いる方式820の場合の双方に含まれ、ファイル操作を用いる場合に動作ログに含まれる関数名は図4から図8に含まれている。
In the Android application, the
次に、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
<第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
検知部641は、アプリ間のデータ通信を検知した場合に、ログ記憶部630に記憶された動作ログに含まれる、データ通信に関するAPIに含まれる関数の関数名を抽出する。また、検知部641は、アプリ内のデータ通信を検知した場合も同様に、ログ記憶部630に記憶された動作ログに含まれる、グローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名を抽出する。
When detecting data communication between applications, the
解析部650は、アプリ610のソースコードに対し、検知部641で抽出されたデータ通信に関するAPIに含まれる関数の関数名や、検知部641で抽出されたグローバルであることを示す修飾子が付加された関数名や変数名、またはネイティブコードで実装された関数の関数名により特定される箇所について、静的解析および動的解析の少なくとも一方を施し、通信内容や通信経路を特定する。それにより、アプリ610が携帯通信端末20に保存されているデータを外部漏洩させているか否か検知することができる。
The
以上説明したように、本実施形態によれば、アプリのソースコードにおいて、携帯通信端末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
<第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
エミュレータ部660は、第1の実施形態におけるOS400の機能を再現し、アプリ610を動作させる。
The
以上説明したように、本実施形態によれば、携帯通信端末でアプリを実行することなしに、アプリの動作ログを取得し、携帯通信端末に保存されているデータの外部漏洩に繋がる可能性があるデータ通信を検知することができる。データ通信検知装置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
なお、携帯通信端末またはデータ通信検知端末の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを機器に読み込ませ、実行することによって本発明の携帯通信端末またはデータ通信検知端末を実現することができる。ここでいうコンピュータシステムとは、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
500
610
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:
前記アプリケーションの実行環境を提供する実行環境提供手段と、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のステップで取得した動作ログに、アプリケーション間のデータ通信を行うためのシステムコールのログ、およびアプリケーション内のデータ通信を示す、当該アプリケーション内でのグローバル変数の使用や当該携帯通信端末に接続されているハードウェアへの接続に関する動作ログが、含まれるか否かを判断する第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:
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010067703A1 (en) * | 2008-12-08 | 2010-06-17 | 日本電気株式会社 | Data dependence analyzer, information processor, data dependence analysis method, and program |
WO2012046406A1 (en) * | 2010-10-04 | 2012-04-12 | パナソニック株式会社 | Information processing device and method for preventing unauthorized application cooperation |
JP5698494B2 (en) * | 2010-10-14 | 2015-04-08 | Kddi株式会社 | Mobile terminal and program |
-
2012
- 2012-05-29 JP JP2012122516A patent/JP5865180B2/en active Active
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 | |
JP2012234401A (en) | Application analysis device and program | |
KR20110128632A (en) | Method and device for detecting malicious action of application program for smartphone | |
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 | |
Alzaidi et al. | DroidRista: a highly precise static data flow analysis framework for android applications | |
Raval et al. | Permissions plugins as android apps | |
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 |