JP2016040698A - Taint analysis device, taint analysis method, and program - Google Patents

Taint analysis device, taint analysis method, and program Download PDF

Info

Publication number
JP2016040698A
JP2016040698A JP2014164807A JP2014164807A JP2016040698A JP 2016040698 A JP2016040698 A JP 2016040698A JP 2014164807 A JP2014164807 A JP 2014164807A JP 2014164807 A JP2014164807 A JP 2014164807A JP 2016040698 A JP2016040698 A JP 2016040698A
Authority
JP
Japan
Prior art keywords
user information
information
taint
type
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014164807A
Other languages
Japanese (ja)
Other versions
JP6290035B2 (en
Inventor
秀明 川端
Hideaki Kawabata
秀明 川端
隼一 橋本
Junichi Hashimoto
隼一 橋本
竹森 敬祐
Keisuke Takemori
敬祐 竹森
歩 窪田
Ayumi Kubota
歩 窪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2014164807A priority Critical patent/JP6290035B2/en
Publication of JP2016040698A publication Critical patent/JP2016040698A/en
Application granted granted Critical
Publication of JP6290035B2 publication Critical patent/JP6290035B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technology that can control the operation of an application along a privacy policy.SOLUTION: A specification part 10 specifies, on the basis of a privacy policy PP including the type of user information and a transmission destination of the user information used in a service, the type and transmission destination of the user information. A taint analysis part 200 applies a taint tag to the user information when an application executes processing of acquiring the user information of the type specified by the specification part 10, and determines whether or not the taint tag is applied to information to be transmitted when the application executes processing of transmitting the information. A control part 201 performs, when the taint tag is determined to have been applied, control to permit or refuse the transmission according to whether or not the transmission destination of the information to be transmitted and the transmission destination specified by the specification part 10 coincide with each other.SELECTED DRAWING: Figure 1

Description

本発明は、アプリケーションの脆弱性検証または情報漏洩検知等に利用されるテイント解析技術に関する。   The present invention relates to a taint analysis technique used for verifying vulnerability of an application or detecting information leakage.

Webサービス等のサービスを提供するサービス提供者は、サービスの利用者に関する利用者情報を利用者端末から取得し、利用者情報を利用してサービスを提供する。サービス提供者は、利用者情報の扱い方を示すプライバシーポリシーを制定している。プライバシーポリシーは、利用者情報の種類と、利用の目的と、利用者情報を利用する主体(サービス提供者)との3つの基本的要素を含む必要がある。サービスの利用者は、このプライバシーポリシーを確認することで、自身の情報がどのように取り扱われるのかを把握することができ、サービスを利用するか否かを判断することができる。   A service provider that provides a service such as a Web service obtains user information regarding the user of the service from the user terminal, and provides the service using the user information. The service provider has established a privacy policy indicating how to handle user information. The privacy policy needs to include three basic elements: the type of user information, the purpose of use, and the entity (service provider) that uses the user information. By confirming this privacy policy, the user of the service can grasp how his / her information is handled, and can determine whether or not to use the service.

一方、モバイル向けOSでは、利用者の個人情報を取得するための関数の集合であるAPI(Application Programming Interface)が定義されており、アプリケーションがAPIにより利用者の個人情報を取得することが可能である。APIの機能を制限するために、パーミッションと呼ばれるAPI制限機能がある。アプリケーションが利用する情報または機能がパーミッションとして宣言され、利用者の許可が得られない限り、APIの機能が実行できない。   On the other hand, the mobile OS defines an API (Application Programming Interface), which is a set of functions for acquiring personal information of users, so that applications can acquire personal information of users using APIs. is there. In order to restrict API functions, there is an API restriction function called permission. Unless the information or function used by the application is declared as permission and the user's permission is obtained, API functions cannot be executed.

また、アプリケーションのプログラムがどのような情報をどのように取り扱うのかを解析する方法として、テイント(Taint:汚染)解析と呼ばれる手法がある。テイント解析とは、特定の性質を持つ情報に対してその性質を一意に識別するタグ(テイントタグ)を付け、その情報が利用された場合にタグを伝搬させることにより、情報がどのように利用されたのかを解析する手法である。一般に、テイント解析は、テイントタグが付与される情報源Sourceと、テイントタグを伝播させる機構Propagationと、伝播されたテイントタグを監視するポイントを示すSinkとの3つの要素を含む。   Further, as a method of analyzing what information is handled by the application program, there is a method called Taint (contamination) analysis. In taint analysis, a tag that uniquely identifies a property (taint tag) is attached to information with a specific property, and the information is used by propagating the tag when that information is used. It is a method to analyze whether or not. In general, a taint analysis includes three elements: an information source Source to which a taint tag is attached, a mechanism Propagation for propagating the taint tag, and a sink indicating a point for monitoring the propagated taint tag.

このテイント解析を利用する方法には主に2つの方法がある。1つの方法が脆弱性検証である。プログラムエラーが発生する原因は、入力された情報が、本来到達してはいけない出力に辿り着くことである。これを検知するために、入力された情報に対してテイントタグを付与し、そのテイントタグが付与された情報が出力に辿り着くか否かを判定することにより脆弱性を検証する方法が提案されている。   There are mainly two methods for using the taint analysis. One method is vulnerability verification. The cause of the program error is that the input information reaches an output that should not be reached. In order to detect this, a method has been proposed in which a taint tag is assigned to input information, and the vulnerability is verified by determining whether or not the information to which the taint tag is attached reaches the output. .

他の方法が情報漏洩検知である。プログラムが取得した重要な情報に対して、テイントタグを付与し、そのテイントタグが付与された情報が外部送信に係る出力に辿り着くか否かを判定することにより情報漏洩を検知する手法が提案されている。非特許文献1は、Android(登録商標)が実装されたシステムにおける個人情報の流出をテイント解析により実現する手法を開示している。   Another method is information leakage detection. There has been proposed a method for detecting information leakage by assigning a taint tag to important information acquired by the program and determining whether the information to which the taint tag is attached reaches the output related to external transmission. Yes. Non-Patent Document 1 discloses a method for realizing leakage of personal information in a system in which Android (registered trademark) is implemented by taint analysis.

William Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. ”TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones”, In Proc. of the USENIX Symposium on Operating Systems Design and Implementation (OSDI), October 2010 in VancouverWilliam Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. “TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones”, In Proc. Of the USENIX Symposium on Operating Systems Design and Implementation (OSDI), October 2010 in Vancouver

アプリケーションの安全性の判断において、プライバシーポリシーの通りにアプリケーションが動作しているかどうかが重要である。例えば、アドレス帳と個人を特定するIDとを同時に送信するアプリケーションのプライバシーポリシーに「どんな情報を:アドレス情報を」、「何のために:提供サービス中でお客様の友人を検索するため」、「どこへ:弊社の管理サーバへ」と明記されている場合、そのアプリケーションは、情報漏洩を行う不正なアプリケーションではない。   In determining the safety of an application, it is important whether the application is operating according to the privacy policy. For example, in the privacy policy of an application that sends an address book and an ID that identifies an individual at the same time, “What information: address information”, “For what: Searching for your friends in the service provided”, “ If "Where: To our management server" is specified, the application is not an unauthorized application that leaks information.

API制限機能では、情報の取得の制御を行うことができるが、アプリケーションが取得した情報の流れを追跡して、情報がどこに送信されたのかを解析することができない。そのため、プライバシーポリシーに沿って、アプリケーションの利用する情報を制限することができない。   The API restriction function can control the acquisition of information, but cannot track where the information is sent by tracking the flow of information acquired by the application. Therefore, the information used by the application cannot be restricted according to the privacy policy.

テイント解析では、情報を取得する関数(Sourceに相当)、または情報を出力する関数(Sinkに相当)の実行をアプリケーションが要求するごとに、テイントタグの付与または判定が行われる。つまり、情報を取得する関数、または情報を出力する関数を実行する全てのアプリケーションの実行時に、テイント解析に係る処理が実行される。全てのアプリケーションに対して一様なテイント解析が行われるため、アプリケーションごとに異なるテイント解析を行うことができない。つまり、各アプリケーションのプライバシーポリシーに沿ってアプリケーションの動作を制御することができない。   In the taint analysis, each time an application requests execution of a function for acquiring information (corresponding to a source) or a function for outputting information (corresponding to a sink), a taint tag is assigned or determined. In other words, the processing related to taint analysis is executed at the time of execution of all applications that execute a function that acquires information or a function that outputs information. Since uniform taint analysis is performed for all applications, different taint analysis cannot be performed for each application. That is, the operation of the application cannot be controlled according to the privacy policy of each application.

本発明は、プライバシーポリシーに沿ってアプリケーションの動作を制御することができる技術を提供する。   The present invention provides a technique capable of controlling the operation of an application in accordance with a privacy policy.

本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定部と、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析部と、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定部によって特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御部と、を有することを特徴とするテイント解析装置である。   The present invention provides, based on a privacy policy including a type of user information used by a service and a destination of the user information, a specifying unit for specifying the type of the user information and the destination, and the specification When a process for acquiring the user information of the type specified by the section is executed by an application, a taint tag is given to the user information, and when a process for transmitting information by the application is executed, A taint analysis unit that determines whether or not the taint tag is attached to the information, and when it is determined that the taint tag is attached, the transmission destination of the information to be transmitted and the identification unit specified by the specifying unit A control unit that performs control to permit or deny transmission according to whether or not the destination matches. It is a door analyzer.

また、本発明のテイント解析装置において、前記特定部はさらに、前記アプリケーションが利用するパーミッションの情報を含むマニフェストファイルに基づいて、利用者情報の取得に係るパーミッションを特定し、特定されたパーミッションに対応する利用者情報の種類が前記プライバシーポリシーに含まれるか否かを判定することによって前記利用者情報の種類を特定することを特徴とする。   In the taint analysis device of the present invention, the specifying unit further specifies a permission related to acquisition of user information on the basis of a manifest file including permission information used by the application, and corresponds to the specified permission. The type of user information is specified by determining whether or not the type of user information to be included is included in the privacy policy.

また、本発明のテイント解析装置において、前記プライバシーポリシーはさらに、前記利用者情報を加工する処理の情報を含み、前記特定部はさらに、前記プライバシーポリシーに基づいて、前記利用者情報を加工する処理を特定し、前記テイント解析装置はさらに、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報に対して、前記特定部によって特定された処理を実行する加工処理部を有することを特徴とする。   In the taint analysis device of the present invention, the privacy policy further includes processing information for processing the user information, and the specifying unit further performs processing for processing the user information based on the privacy policy. The taint analysis device is further specified by the specifying unit with respect to the user information when a process of acquiring the user information of the type specified by the specifying unit is executed by an application. And a processing unit for executing the processing.

また、本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、を有することを特徴とするテイント解析方法である。   In addition, the present invention is based on a privacy policy including a type of user information used by a service and a transmission destination of the user information, and a specifying step of specifying the type of the user information and the transmission destination; A taint tag is added to the user information when the process of acquiring the user information of the type specified in the specifying step is executed by the application, and the process is transmitted when the process of transmitting information is executed by the application The taint analysis step for determining whether or not the taint tag is attached to the target information, and the transmission destination of the information to be transmitted and the identification step are determined when it is determined that the taint tag is attached. And a control step for performing control to permit or deny transmission according to whether or not the destination matches. It is tainted analyzing method comprising Rukoto.

また、本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、をコンピュータに実行させるためのプログラムである。   In addition, the present invention is based on a privacy policy including a type of user information used by a service and a transmission destination of the user information, and a specifying step of specifying the type of the user information and the transmission destination; A taint tag is added to the user information when the process of acquiring the user information of the type specified in the specifying step is executed by the application, and the process is transmitted when the process of transmitting information is executed by the application The taint analysis step for determining whether or not the taint tag is attached to the target information, and the transmission destination of the information to be transmitted and the identification step are determined when it is determined that the taint tag is attached. A control step for performing control to permit or deny transmission according to whether or not the destination matches. Is a program to be executed by a computer.

本発明によれば、プライバシーポリシーに規定されている種類の利用者情報にテイントタグが付与され、そのテイントタグが付与された利用者情報が送信されるときに、プライバシーポリシーに規定されている送信先に応じて、送信が許可または拒否される。これによって、プライバシーポリシーに沿ってアプリケーションの動作を制御することができる。   According to the present invention, when a taint tag is attached to the type of user information specified in the privacy policy, and the user information to which the taint tag is attached is transmitted to the destination specified in the privacy policy. Depending on the transmission, it is permitted or denied. Thereby, the operation of the application can be controlled in accordance with the privacy policy.

本発明の第1の実施形態によるテイント解析装置の構成を示すブロック図である。It is a block diagram which shows the structure of the taint analyzer by the 1st Embodiment of this invention. 本発明の第1の実施形態におけるプライバシーポリシーの内容を示す参考図である。It is a reference figure which shows the content of the privacy policy in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるプライバシーポリシーの内容を示す参考図である。It is a reference figure which shows the content of the privacy policy in the 1st Embodiment of this invention. 本発明の第1の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。It is a flowchart which shows the procedure of operation | movement of the taint analyzer by the 1st Embodiment of this invention. 本発明の第2の実施形態によるテイント解析装置の構成を示すブロック図である。It is a block diagram which shows the structure of the taint analyzer by the 2nd Embodiment of this invention. 本発明の第2の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。It is a flowchart which shows the procedure of operation | movement of the taint analysis apparatus by the 2nd Embodiment of this invention. 本発明の第3の実施形態によるテイント解析装置の構成を示すブロック図である。It is a block diagram which shows the structure of the taint analyzer by the 3rd Embodiment of this invention. 本発明の第3の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。It is a flowchart which shows the procedure of operation | movement of the taint analysis apparatus by the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるプライバシーポリシーの内容を示す参考図である。It is a reference figure which shows the content of the privacy policy in the 3rd Embodiment of this invention.

以下、図面を参照し、本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態によるテイント解析装置1の構成を示している。例えば、テイント解析装置1は、利用者が所持する利用者端末(スマートフォン等の携帯端末)の一部である。図1に示すように、テイント解析装置1は、特定部10と、実行部20とを有する。
(First embodiment)
First, a first embodiment of the present invention will be described. FIG. 1 shows the configuration of a taint analyzer 1 according to this embodiment. For example, the taint analysis device 1 is a part of a user terminal (a mobile terminal such as a smartphone) possessed by the user. As shown in FIG. 1, the taint analysis device 1 includes a specifying unit 10 and an execution unit 20.

例えば、利用者端末がマーケットプレイスからアプリケーションをダウンロードする場合、利用者端末は、プライバシーポリシーPPへのリンクが含まれるWebページを読み込む。利用者端末は、そのリンクが示すWebサーバなどに接続し、プライバシーポリシーPPをダウンロードする。取得されたプライバシーポリシーPPはテイント解析装置1内に保持される。   For example, when the user terminal downloads an application from the marketplace, the user terminal reads a web page including a link to the privacy policy PP. The user terminal connects to the Web server indicated by the link and downloads the privacy policy PP. The acquired privacy policy PP is held in the taint analysis apparatus 1.

特定部10は、サービスが利用する利用者情報の種類と利用者情報の送信先とを含むプライバシーポリシーPPに基づいて、利用者情報の種類と送信先とを特定する。特定部10は、利用者情報特定部100と、送信先特定部101とを有する。利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する。送信先特定部101は、プライバシーポリシーPPに基づいて、送信先を特定する。   The specifying unit 10 specifies the type of user information and the transmission destination based on the privacy policy PP including the type of user information used by the service and the transmission destination of the user information. The specifying unit 10 includes a user information specifying unit 100 and a transmission destination specifying unit 101. The user information specifying unit 100 specifies the type of user information based on the privacy policy PP. The transmission destination specifying unit 101 specifies a transmission destination based on the privacy policy PP.

実行部20は、アプリケーションを実行する主体である。例えば、実行部20はアプリケーション実行エンジンである。実行部20は、テイントタグを伝播させる、いわゆるPropagationに係る処理を行ってもよい。例えば、テイントタグが付与された情報を用いた演算が行われる場合、実行部20は、演算結果に対してテイントタグを付与する。   The execution unit 20 is a subject that executes an application. For example, the execution unit 20 is an application execution engine. The execution unit 20 may perform processing related to so-called propagation that propagates the taint tag. For example, when a calculation using information with a taint tag is performed, the execution unit 20 adds a taint tag to the calculation result.

実行部20はさらに、テイント解析と、解析結果に応じた制御とを行う。実行部20は、テイント解析部200と、制御部201とを有する。テイント解析部200は、特定部10によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報にテイントタグを付与し、アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報にテイントタグが付与されているか否かを判定する。制御部201は、テイントタグが付与されていると判定された場合、送信対象の情報の送信先と、特定部10によって特定された送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う。   The execution unit 20 further performs taint analysis and control according to the analysis result. The execution unit 20 includes a taint analysis unit 200 and a control unit 201. The taint analysis unit 200 adds a taint tag to the user information when the process of acquiring the type of user information specified by the specifying unit 10 is executed by the application, and the process of transmitting information by the application is executed. Sometimes it is determined whether or not a taint tag is added to the information to be transmitted. When it is determined that the taint tag is assigned, the control unit 201 permits or rejects transmission according to whether the transmission destination of the information to be transmitted matches the transmission destination specified by the specifying unit 10 or not. Control.

特定部10と、実行部20との機能は、例えば各部の動作を規定する命令を含むプログラムをコンピュータが読み込んで実行することにより、ソフトウェアの機能として実現可能である。また、このプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波によりテイント解析装置1に伝送されることでテイント解析装置1に入力されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる、いわゆる差分ファイル(差分プログラム)であってもよい。   The functions of the specifying unit 10 and the execution unit 20 can be realized as a software function by, for example, a computer reading and executing a program including instructions that define the operation of each unit. The program may be provided by a “computer-readable recording medium” such as a flash memory. Further, the above-described program is input to the taint analysis device 1 by being transmitted to the taint analysis device 1 through a transmission medium or by a transmission wave in the transmission medium from a computer storing the program in a storage device or the like. May be. Here, the “transmission medium” for transmitting the program is a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above-described program may realize a part of the functions described above. Furthermore, the above-described program may be a so-called difference file (difference program) that can realize the above-described function in combination with a program already recorded in the computer.

図2は、プライバシーポリシーPPの第1の例であるプライバシーポリシーPP1の内容を示している。プライバシーポリシーPP1は、簡略なプライバシーポリシーの例である。   FIG. 2 shows the contents of a privacy policy PP1, which is a first example of the privacy policy PP. The privacy policy PP1 is an example of a simple privacy policy.

図2に示すように、利用者情報の種類110と、利用の目的120と、利用者情報を利用する主体130とがプライバシーポリシーPP1に含まれる。利用者情報の種類110は、位置情報111と、連絡先112と、音楽データ113とを含む。利用者情報を利用する主体130は、利用者情報の送信先を示している。   As shown in FIG. 2, the privacy policy PP1 includes a user information type 110, a purpose of use 120, and an entity 130 that uses the user information. The user information type 110 includes location information 111, contact information 112, and music data 113. The main body 130 using the user information indicates the transmission destination of the user information.

図3は、プライバシーポリシーPPの第2の例であるプライバシーポリシーPP2の内容を示している。プライバシーポリシーPP2は、詳細なプライバシーポリシーの例である。   FIG. 3 shows the contents of a privacy policy PP2, which is a second example of the privacy policy PP. The privacy policy PP2 is an example of a detailed privacy policy.

図3に示すように、利用者情報の種類140,141,142と、利用の目的150,151,152と、利用者情報を利用する主体160,161,162とがプライバシーポリシーPP2に含まれる。それぞれの情報は、利用者情報ごとに関連付けられている。   As shown in FIG. 3, the privacy policy PP2 includes user information types 140, 141, 142, purposes of use 150, 151, 152, and entities 160, 161, 162 that use the user information. Each piece of information is associated with each piece of user information.

利用者情報の種類140は位置情報を示している。この利用者情報の種類140に対して、利用の目的150と、利用者情報を利用する主体160とが関連付けられている。利用者情報の種類141は連絡先を示している。この利用者情報の種類141に対して、利用の目的151と、利用者情報を利用する主体161とが関連付けられている。利用者情報の種類142は音楽データを示している。この利用者情報の種類142に対して、利用の目的152と、利用者情報を利用する主体162とが関連付けられている。利用者情報を利用する主体160,161,162は、利用者情報の送信先を示している。   The user information type 140 indicates position information. The purpose of use 150 and the main body 160 that uses the user information are associated with the user information type 140. The user information type 141 indicates a contact information. A purpose 151 of use and a subject 161 that uses the user information are associated with the type 141 of user information. The user information type 142 indicates music data. A purpose of use 152 and a subject 162 that uses the user information are associated with the user information type 142. The entities 160, 161, and 162 that use user information indicate transmission destinations of user information.

図4は、テイント解析装置1の動作の手順を示している。図4を参照して、テイント解析装置1の動作を説明する。   FIG. 4 shows an operation procedure of the taint analysis apparatus 1. The operation of the taint analysis apparatus 1 will be described with reference to FIG.

処理が開始されると、利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する(ステップS100)。例えば、OSの1つであるFirefox(登録商標)用のアプリケーションが取得する利用者情報には、連絡先、位置情報、cookie、コンテンツ情報(画像、音声等)がある。   When the process is started, the user information specifying unit 100 specifies the type of user information based on the privacy policy PP (step S100). For example, user information acquired by an application for Firefox (registered trademark), which is one of the OSs, includes contact information, location information, cookies, and content information (images, sounds, etc.).

利用者情報の種類が特定された後、送信先特定部101は、プライバシーポリシーPPに基づいて、送信先を特定する(ステップS110)。送信先の情報がサービス事業者の名称である場合、以下のようにしてもよい。例えば、送信先特定部101は、サービス事業者の名称とドメイン情報とを対応付けたリストを管理しているサーバからリストを受信し、受信されたリストから、サービス事業者の名称に対応するドメイン情報を取得してもよい。あるいは、送信先特定部101は、上記のリストを管理しているサーバにサービス事業者の名称を送信し、サーバから、サービス事業者の名称に対応するドメイン情報を受信してもよい。   After the type of user information is specified, the transmission destination specifying unit 101 specifies the transmission destination based on the privacy policy PP (step S110). When the destination information is the name of the service provider, the following may be performed. For example, the transmission destination specifying unit 101 receives a list from a server that manages a list in which service provider names and domain information are associated with each other, and the domain corresponding to the service provider name is received from the received list. Information may be acquired. Or the transmission destination specific | specification part 101 may transmit the name of a service provider to the server which manages said list | wrist, and may receive the domain information corresponding to the name of a service provider from a server.

ステップS100とステップS110との処理は逆の順番で行われてもよい。特定部10は、ステップS100で特定された利用者情報の種類を示す情報と、ステップS110で特定された送信先を示す情報とを実行部20に通知する。   The process of step S100 and step S110 may be performed in the reverse order. The specifying unit 10 notifies the execution unit 20 of information indicating the type of user information specified in step S100 and information indicating the transmission destination specified in step S110.

プライバシーポリシーPPが一定の書式で記述されている場合、利用者情報の種類と送信先との識別は容易である。プライバシーポリシーPPが自由な書式で記述されている場合、形態素解析などの自然言語処理の技術を用いて利用者情報の種類と送信先とを識別してもよい。   When the privacy policy PP is described in a certain format, it is easy to identify the type of user information and the transmission destination. When the privacy policy PP is described in a free format, the type of user information and the transmission destination may be identified using a natural language processing technique such as morphological analysis.

送信先が特定された後、実行部20はアプリケーションを実行する(ステップS120)。アプリケーションの実行中、テイント解析部200は、特定部10によって特定された種類の利用者情報が取得されたか否かを判定する(ステップS130)。特定部10によって特定された種類の利用者情報が取得されていない場合、テイント解析部200はステップS130の判定を継続する。また、特定部10によって特定された種類の利用者情報が取得された場合、テイント解析部200は、その利用者情報にテイントタグを付与する(ステップS140)。   After the transmission destination is specified, the execution unit 20 executes the application (step S120). During execution of the application, the taint analysis unit 200 determines whether or not the type of user information specified by the specifying unit 10 has been acquired (step S130). If the type of user information specified by the specifying unit 10 has not been acquired, the taint analysis unit 200 continues the determination in step S130. When the type of user information specified by the specifying unit 10 is acquired, the taint analysis unit 200 adds a taint tag to the user information (step S140).

テイントタグが付与された後、テイント解析部200は、情報を送信するAPIがアプリケーションから呼び出されたか否かを判定する(ステップS150)。情報を送信するAPIがアプリケーションから呼び出されていない場合、情報は送信されない。この場合、ステップS130の判定が行われる。   After the taint tag is assigned, the taint analysis unit 200 determines whether an API for transmitting information is called from the application (step S150). If the API that sends information is not called from the application, the information is not sent. In this case, the determination in step S130 is performed.

情報を送信するAPIがアプリケーションから呼び出された場合、情報を送信する処理が実行される。この場合、テイント解析部200は、アプリケーションによって指定された送信対象の情報にテイントタグが付与されているか否かを判定する(ステップS160)。送信対象の情報にテイントタグが付与されていない場合、送信対象の情報は制御対象の情報ではない。この場合、制御部201は、判定結果に基づいて、情報の送信を許可する(ステップS180)。情報の送信が許可されると、実行部20は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。   When an API for transmitting information is called from an application, processing for transmitting information is executed. In this case, the taint analysis unit 200 determines whether or not a taint tag is added to the transmission target information designated by the application (step S160). When the taint tag is not added to the information to be transmitted, the information to be transmitted is not the information to be controlled. In this case, the control unit 201 permits transmission of information based on the determination result (step S180). If transmission of information is permitted, the execution unit 20 executes an API for transmitting information and returns an execution result to the application.

送信対象の情報にテイントタグが付与されている場合、送信対象の情報は制御対象の情報である。この場合、制御部201は、送信対象の情報の送信先と、特定部10によって特定された送信先とが一致するか否かを判定する(ステップS170)。例えば、制御部201は、送信対象の情報の送信先として指定されたURLに含まれるドメイン情報と、特定部10によって特定されたドメイン情報とが一致するか否かを判定する。例えば、送信対象の情報の送信先として指定されたURLがwww.XXXX.comである場合、ドメイン情報はXXXX.comである。   When a taint tag is added to the transmission target information, the transmission target information is control target information. In this case, the control unit 201 determines whether or not the transmission destination of the information to be transmitted matches the transmission destination specified by the specifying unit 10 (step S170). For example, the control unit 201 determines whether or not the domain information included in the URL specified as the transmission destination of the information to be transmitted matches the domain information specified by the specifying unit 10. For example, when the URL specified as the transmission destination of the information to be transmitted is www.XXXX.com, the domain information is XXXX.com.

送信先が一致する場合、制御部201は、情報の送信を許可する(ステップS180)。情報の送信が許可されると、実行部20は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。情報の送信が許可された後、ステップS130の判定が行われる。   When the transmission destinations match, the control unit 201 permits transmission of information (step S180). If transmission of information is permitted, the execution unit 20 executes an API for transmitting information and returns an execution result to the application. After the transmission of information is permitted, the determination in step S130 is performed.

送信先が一致しない場合、制御部201は、情報の送信を拒否する(ステップS190)。情報の送信が拒否されると、実行部20は、情報を送信するAPIを実行せず、実行結果をアプリケーションに返す。情報の送信が拒否された後、ステップS130の判定が行われる。   When the transmission destinations do not match, the control unit 201 rejects transmission of information (step S190). When the transmission of information is rejected, the execution unit 20 does not execute the API for transmitting information and returns the execution result to the application. After the transmission of information is rejected, the determination in step S130 is performed.

制御部201は、ステップS170における判定の結果をログ等に出力してもよい。これによって、アプリケーションがプライバシーポリシーPPの通りに動作しているか否かを解析者に通知することができる。   The control unit 201 may output the determination result in step S170 to a log or the like. Thereby, it is possible to notify the analyst whether or not the application is operating in accordance with the privacy policy PP.

上述したように、本実施形態によれば、プライバシーポリシーPPに規定されている種類の利用者情報にテイントタグが付与され、そのテイントタグが付与された利用者情報が送信されるときに、プライバシーポリシーPPに規定されている送信先に応じて、送信が許可または拒否される。これによって、プライバシーポリシーPPに沿ってアプリケーションの動作を制御することができる。また、情報の送信先に応じて送信を許可または拒否する制御を行うことによって、情報漏洩を防止することができる。   As described above, according to the present embodiment, when a taint tag is assigned to the type of user information specified in the privacy policy PP, and the user information with the taint tag is transmitted, the privacy policy PP The transmission is permitted or denied depending on the destination specified in. As a result, the operation of the application can be controlled in accordance with the privacy policy PP. Further, information leakage can be prevented by performing control to permit or deny transmission according to the information transmission destination.

(第2の実施形態)
次に、本発明の第2の実施形態を説明する。図5は、本実施形態によるテイント解析装置1aの構成を示している。図5に示すように、テイント解析装置1aは、特定部10aと、実行部20とを有する。実行部20は、図1に示すテイント解析装置1における実行部20と同様である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. FIG. 5 shows the configuration of the taint analyzer 1a according to the present embodiment. As shown in FIG. 5, the taint analysis device 1 a includes a specifying unit 10 a and an execution unit 20. The execution unit 20 is the same as the execution unit 20 in the taint analysis apparatus 1 shown in FIG.

特定部10aは、利用者情報特定部100と、送信先特定部101と、パーミッション特定部102とを有する。パーミッション特定部102は、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルMFに基づいて、利用者情報の取得に係るパーミッションを特定する。利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定することによって利用者情報の種類を特定する。送信先特定部101は、図1に示すテイント解析装置1における送信先特定部101と同様である。   The specifying unit 10 a includes a user information specifying unit 100, a transmission destination specifying unit 101, and a permission specifying unit 102. The permission specifying unit 102 specifies a permission related to acquisition of user information based on a manifest file MF including information on permission used by the application. The user information specifying unit 100 specifies the type of user information by determining whether or not the type of user information corresponding to the permission specified by the permission specifying unit 102 is included in the privacy policy PP. The transmission destination specifying unit 101 is the same as the transmission destination specifying unit 101 in the taint analysis apparatus 1 shown in FIG.

図6は、テイント解析装置1aの動作の手順を示している。図6を参照して、テイント解析装置1aの動作を説明する。以下では、図4に示す動作と異なる点について説明する。   FIG. 6 shows an operation procedure of the taint analyzing apparatus 1a. With reference to FIG. 6, the operation of the taint analyzer 1a will be described. Hereinafter, differences from the operation shown in FIG. 4 will be described.

処理が開始されると、パーミッション特定部102は、マニフェストファイルMFを解析し、利用者情報の取得に係るパーミッションを特定する(ステップS200)。パーミッションによりAPIの機能を制限するように構成されたプラットフォームでは、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルがある。例えば、Firefox(登録商標)向けのアプリケーションでは、アプリケーションのパッケージ内のファイルであるmanifest.webappがマニフェストファイルである。   When the process is started, the permission specifying unit 102 analyzes the manifest file MF and specifies a permission related to acquisition of user information (step S200). On platforms that are configured to restrict API functions by permissions, there is a manifest file that contains information about the permissions used by the application. For example, in an application for Firefox (registered trademark), manifest.webapp, which is a file in an application package, is a manifest file.

Firefox(登録商標)では、利用者情報の取得に係るパーミッションとして、geolocationと、contactsと、device-storage:musicと、device-storage:picturesとが用意されている。geolocationは、位置情報の取得に係るパーミッションである。contactsは、連絡先の取得に係るパーミッションである。device-storage:musicは、音楽データの取得に係るパーミッションである。device-storage:picturesは、画像データの取得に係るパーミッションである。   In Firefox (registered trademark), geolocation, contacts, device-storage: music, and device-storage: pictures are prepared as permissions for obtaining user information. geolocation is a permission related to acquisition of location information. contacts is a permission related to obtaining a contact. device-storage: music is a permission related to acquisition of music data. device-storage: pictures is a permission related to acquisition of image data.

利用者情報の取得に係るパーミッションが特定された後、利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する(ステップS101)。このとき、利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定することによって利用者情報の種類を特定する。   After the permission related to the acquisition of the user information is specified, the user information specifying unit 100 specifies the type of user information based on the privacy policy PP (step S101). At this time, the user information specifying unit 100 specifies the type of user information by determining whether or not the type of user information corresponding to the permission specified by the permission specifying unit 102 is included in the privacy policy PP. To do.

例えば、利用者情報特定部100は、パーミッションの情報と、そのパーミッションに係る利用者情報の種類とを対応付けたリストを有する。利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類をリストから特定する。利用者情報特定部100は、特定された利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定する。つまり、利用者情報特定部100は、特定された利用者情報の種類をプライバシーポリシーPPにおいて検索する。また、cookieに対応するパーミッションがないので、利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに関わらず、cookieが取得されるか否かをプライバシーポリシーPPに基づいて判定する。   For example, the user information specifying unit 100 has a list in which permission information is associated with types of user information related to the permission. The user information specifying unit 100 specifies the type of user information corresponding to the permission specified by the permission specifying unit 102 from the list. The user information specifying unit 100 determines whether or not the specified type of user information is included in the privacy policy PP. That is, the user information specifying unit 100 searches the privacy policy PP for the type of the specified user information. Further, since there is no permission corresponding to the cookie, the user information specifying unit 100 determines whether or not the cookie is acquired based on the privacy policy PP regardless of the permission specified by the permission specifying unit 102.

利用者情報が特定された後、ステップS110で送信先が特定される。ステップS101とステップS110との処理は逆の順番で行われてもよい。   After the user information is specified, the transmission destination is specified in step S110. The processing of step S101 and step S110 may be performed in the reverse order.

本実施形態によれば、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類をプライバシーポリシーPPにおいて検索することによって、利用者情報の種類の特定を効率的に行うことができる。   According to the present embodiment, by searching the privacy policy PP for the type of user information corresponding to the permission specified by the permission specifying unit 102, the type of user information can be efficiently specified.

(第3の実施形態)
次に、本発明の第3の実施形態を説明する。図7は、本実施形態によるテイント解析装置1bの構成を示している。図7に示すように、テイント解析装置1bは、特定部10bと、実行部20bとを有する。
(Third embodiment)
Next, a third embodiment of the present invention will be described. FIG. 7 shows the configuration of the taint analyzer 1b according to the present embodiment. As shown in FIG. 7, the taint analysis device 1b includes a specifying unit 10b and an execution unit 20b.

特定部10bは、利用者情報特定部100と、送信先特定部101と、加工処理特定部103とを有する。本実施形態のプライバシーポリシーPPは、サービスが利用する利用者情報の種類と利用者情報の送信先とに加えて、利用者情報を加工する処理の情報を含む。加工処理特定部103は、プライバシーポリシーPPに基づいて、利用者情報を加工する処理を特定する。利用者情報特定部100は、図1に示すテイント解析装置1における利用者情報特定部100と同様である。また、送信先特定部101は、図1に示すテイント解析装置1における送信先特定部101と同様である。   The specifying unit 10 b includes a user information specifying unit 100, a transmission destination specifying unit 101, and a processing process specifying unit 103. The privacy policy PP of the present embodiment includes information on processing for processing user information, in addition to the type of user information used by the service and the transmission destination of the user information. The processing processing specifying unit 103 specifies processing for processing user information based on the privacy policy PP. The user information specifying unit 100 is the same as the user information specifying unit 100 in the taint analyzing apparatus 1 shown in FIG. The transmission destination specifying unit 101 is the same as the transmission destination specifying unit 101 in the taint analysis apparatus 1 shown in FIG.

実行部20bは、テイント解析部200と、制御部201と、加工処理部202とを有する。加工処理部202は、特定部10によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報に対して、特定部10によって特定された処理を実行する。テイント解析部200は、図1に示すテイント解析装置1におけるテイント解析部200と同様である。また、制御部201は、図1に示すテイント解析装置1における制御部201と同様である。   The execution unit 20 b includes a taint analysis unit 200, a control unit 201, and a processing unit 202. The processing unit 202 executes the process specified by the specifying unit 10 on the user information when a process for acquiring the type of user information specified by the specifying unit 10 is executed by the application. The taint analysis unit 200 is the same as the taint analysis unit 200 in the taint analysis apparatus 1 shown in FIG. The control unit 201 is the same as the control unit 201 in the taint analysis apparatus 1 shown in FIG.

例えば、利用者情報を加工する処理として、ハッシュ化、曖昧化などがある。これらの処理は、利用者のプライバシー保護のため、アプリケーションによって、利用者情報に対して行われる。ハッシュ化は利用者の識別情報(ID)に対して行われることが多い。曖昧化は位置情報に対して行われることが多い。詳細な住所情報のプライバシー性が高いため、曖昧化が行われる。住所情報に対する曖昧化は、住所情報を、市・区・町・村などの地域情報となるように範囲をぼかす処理である。   For example, processing for processing user information includes hashing and obscuring. These processes are performed on the user information by the application in order to protect the privacy of the user. Hashing is often performed on user identification information (ID). Obfuscation is often performed on location information. Because the privacy of detailed address information is high, it is obscured. The ambiguity with respect to address information is a process of blurring the range of address information so that it becomes regional information such as city, ward, town, and village.

通常、アプリケーション開発者は、上記の加工処理のコードを自身のアプリケーションのプログラムに追加する。このため、アプリケーション開発者が加工処理のコードをアプリケーションのプログラムに本当に追加しているか否かは不明瞭である。したがって、利用者にとっては、加工処理が行われるか否かを不安に感じることがある。また、アプリケーション開発者にとっては、自身のアプリケーションが信頼されない不利益が発生することがある。   Usually, an application developer adds the above-described processing code to the program of his application. For this reason, it is unclear whether the application developer has really added the processing code to the application program. Therefore, the user may feel uneasy about whether or not the processing is performed. For application developers, there may be a disadvantage that their application is not trusted.

このため、本実施形態では、プライバシーポリシーPPに基づいて加工処理が特定された後、テイント解析装置1bによって利用者情報に加工処理が行われる。これによって、アプリケーション開発者が自身のアプリケーションのプログラムに加工処理のコードを追加することが不要になる。また、アプリケーション開発者はユーザから信頼を得ることができる。   For this reason, in this embodiment, after the processing is specified based on the privacy policy PP, the taint analysis apparatus 1b performs the processing on the user information. This eliminates the need for an application developer to add a processing code to the program of his application. In addition, application developers can gain trust from users.

図8は、テイント解析装置1bの動作の手順を示している。図8を参照して、テイント解析装置1bの動作を説明する。以下では、図4に示す動作と異なる点について説明する。   FIG. 8 shows an operation procedure of the taint analyzing apparatus 1b. With reference to FIG. 8, the operation of the taint analyzer 1b will be described. Hereinafter, differences from the operation shown in FIG. 4 will be described.

ステップS110で送信先が特定された後、加工処理特定部103は、プライバシーポリシーPPに基づいて加工処理を特定する(ステップS300)。特定された加工処理の情報は実行部20bに通知される。加工処理が特定された後、ステップS120でアプリケーションが実行される。ステップS100とステップS110とステップS300との処理はどのような順番で行われてもよい。   After the transmission destination is specified in step S110, the processing process specifying unit 103 specifies the processing process based on the privacy policy PP (step S300). Information on the identified processing is notified to the execution unit 20b. After the processing process is specified, the application is executed in step S120. The process of step S100, step S110, and step S300 may be performed in any order.

また、ステップS140でテイントタグが付与された後、加工処理部202は、テイントタグが付与された利用者情報に対して、加工処理特定部103によって特定された加工処理を実行する(ステップS310)。加工処理が行われた後、ステップS150の判定が行われる。ステップS140とステップS310との処理は逆の順番で行われてもよい。   In addition, after the taint tag is assigned in step S140, the processing unit 202 performs the processing specified by the processing specification unit 103 on the user information to which the taint tag is assigned (step S310). After the processing is performed, the determination in step S150 is performed. The process of step S140 and step S310 may be performed in the reverse order.

図9は、プライバシーポリシーPPの第3の例であるプライバシーポリシーPP3の内容を示している。図9に示すように、利用者情報の種類170と、利用の目的175と、利用者情報を利用する主体180と、取得方法185とがプライバシーポリシーPP3に含まれる。   FIG. 9 shows the contents of a privacy policy PP3 that is a third example of the privacy policy PP. As shown in FIG. 9, the privacy policy PP3 includes a user information type 170, a purpose of use 175, an entity 180 that uses the user information, and an acquisition method 185.

取得方法185は、加工処理を示す文字列である「暗号変換」を含む。加工処理特定部103は、プライバシーポリシーPP3に基づいて、加工処理が暗号変換であることを特定する。暗号変換は、ハッシュ化に類似した処理であり、情報を暗号化する処理である。本例では、加工処理部202は、テイントタグが付与された利用者情報に対して暗号変換を実行する。   The acquisition method 185 includes “encryption conversion” that is a character string indicating the processing. The processing process specifying unit 103 specifies that the processing process is encryption conversion based on the privacy policy PP3. Cryptographic conversion is a process similar to hashing, and is a process of encrypting information. In this example, the processing unit 202 performs cryptographic conversion on the user information to which the taint tag is assigned.

テイント解析装置1bが、図5に示すテイント解析装置1aにおけるパーミッション特定部102を有していてもよい。   The taint analysis device 1b may have a permission specifying unit 102 in the taint analysis device 1a shown in FIG.

本実施形態によれば、プライバシーポリシーPPによって規定されている加工処理を確実に行うことができる。   According to the present embodiment, the processing defined by the privacy policy PP can be reliably performed.

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

1,1a,1b テイント解析装置
10,10a,10b 特定部
20,20b 実行部
100 利用者情報特定部
101 送信先特定部
102 パーミッション特定部
103 加工処理特定部
200 テイント解析部
201 制御部
202 加工処理部
1, 1a, 1b Tint analysis device 10, 10a, 10b identification unit 20, 20b execution unit 100 user information identification unit 101 transmission destination identification unit 102 permission identification unit 103 processing processing identification unit 200 taint analysis unit 201 control unit 202 processing processing Part

Claims (5)

サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定部と、
前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析部と、
前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定部によって特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御部と、
を有することを特徴とするテイント解析装置。
Based on a privacy policy that includes a type of user information used by a service and a destination of the user information, a specifying unit that specifies the type of user information and the destination,
A taint tag is added to the user information when the process of acquiring the user information of the type specified by the specifying unit is executed by the application, and the process is transmitted when the process of transmitting information is executed by the application A taint analysis unit for determining whether or not the taint tag is attached to target information;
When it is determined that the taint tag is assigned, control for permitting or rejecting transmission depending on whether or not the transmission destination of the information to be transmitted matches the transmission destination specified by the specifying unit A control unit for performing
A taint analysis device comprising:
前記特定部はさらに、前記アプリケーションが利用するパーミッションの情報を含むマニフェストファイルに基づいて、利用者情報の取得に係るパーミッションを特定し、特定されたパーミッションに対応する利用者情報の種類が前記プライバシーポリシーに含まれるか否かを判定することによって前記利用者情報の種類を特定することを特徴とする請求項1に記載のテイント解析装置。   The identifying unit further identifies a permission related to acquisition of user information based on a manifest file including permission information used by the application, and the type of user information corresponding to the identified permission is the privacy policy. The taint analysis apparatus according to claim 1, wherein the type of the user information is specified by determining whether or not the user information is included. 前記プライバシーポリシーはさらに、前記利用者情報を加工する処理の情報を含み、
前記特定部はさらに、前記プライバシーポリシーに基づいて、前記利用者情報を加工する処理を特定し、
前記テイント解析装置はさらに、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報に対して、前記特定部によって特定された処理を実行する加工処理部を有する
ことを特徴とする請求項1または請求項2に記載のテイント解析装置。
The privacy policy further includes processing information for processing the user information,
The specifying unit further specifies a process for processing the user information based on the privacy policy,
The taint analysis device further executes a process specified by the specifying unit for the user information when a process for acquiring the user information of the type specified by the specifying unit is executed by an application. The taint analysis device according to claim 1, further comprising: a processing unit that performs processing.
サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、
前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、
前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、
を有することを特徴とするテイント解析方法。
A specifying step of specifying the type of user information and the destination based on a privacy policy including the type of user information used by the service and the destination of the user information;
A taint tag is added to the user information when the process of acquiring the user information of the type specified in the specifying step is executed by the application, and the process is transmitted when the process of transmitting information is executed by the application A taint analysis step for determining whether or not the taint tag is attached to the target information; and
When it is determined that the taint tag is attached, control for permitting or rejecting transmission depending on whether or not the transmission destination of the information to be transmitted matches the transmission destination specified in the specifying step A control step for performing
A taint analysis method characterized by comprising:
サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、
前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、
前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、
をコンピュータに実行させるためのプログラム。
A specifying step of specifying the type of user information and the destination based on a privacy policy including the type of user information used by the service and the destination of the user information;
A taint tag is added to the user information when the process of acquiring the user information of the type specified in the specifying step is executed by the application, and the process is transmitted when the process of transmitting information is executed by the application A taint analysis step for determining whether or not the taint tag is attached to the target information; and
When it is determined that the taint tag is attached, control for permitting or rejecting transmission depending on whether or not the transmission destination of the information to be transmitted matches the transmission destination specified in the specifying step A control step for performing
A program that causes a computer to execute.
JP2014164807A 2014-08-13 2014-08-13 Tint analysis device, taint analysis method, and program Expired - Fee Related JP6290035B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014164807A JP6290035B2 (en) 2014-08-13 2014-08-13 Tint analysis device, taint analysis method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014164807A JP6290035B2 (en) 2014-08-13 2014-08-13 Tint analysis device, taint analysis method, and program

Publications (2)

Publication Number Publication Date
JP2016040698A true JP2016040698A (en) 2016-03-24
JP6290035B2 JP6290035B2 (en) 2018-03-07

Family

ID=55541013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014164807A Expired - Fee Related JP6290035B2 (en) 2014-08-13 2014-08-13 Tint analysis device, taint analysis method, and program

Country Status (1)

Country Link
JP (1) JP6290035B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020112922A (en) * 2019-01-09 2020-07-27 三菱電機株式会社 Server device and data transfer method
JP2020140303A (en) * 2019-02-27 2020-09-03 富士ゼロックス株式会社 Information processing device and program
WO2022195739A1 (en) * 2021-03-16 2022-09-22 日本電信電話株式会社 Activity trace extracting device, activity trace extracting method, and activity trace extracting program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199782A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Privacy enhanced storage
JP2005284353A (en) * 2004-03-26 2005-10-13 Hitachi Ltd Personal information use system, method for controlling the same system, map file generating device and access control policy file generating device
JP2010073168A (en) * 2008-09-22 2010-04-02 Nomura Research Institute Ltd File output management system and file output management method
JP2012048357A (en) * 2010-08-25 2012-03-08 Nec Corp Communication device with communication control function, method and program
JP2012137973A (en) * 2010-12-27 2012-07-19 Internatl Business Mach Corp <Ibm> Method for classifying data to perform access control, computer and computer program therefor
JP2013242633A (en) * 2012-05-18 2013-12-05 Nippon Telegr & Teleph Corp <Ntt> Tag application device and tag application method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199782A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Privacy enhanced storage
JP2005284353A (en) * 2004-03-26 2005-10-13 Hitachi Ltd Personal information use system, method for controlling the same system, map file generating device and access control policy file generating device
JP2010073168A (en) * 2008-09-22 2010-04-02 Nomura Research Institute Ltd File output management system and file output management method
JP2012048357A (en) * 2010-08-25 2012-03-08 Nec Corp Communication device with communication control function, method and program
JP2012137973A (en) * 2010-12-27 2012-07-19 Internatl Business Mach Corp <Ibm> Method for classifying data to perform access control, computer and computer program therefor
JP2013242633A (en) * 2012-05-18 2013-12-05 Nippon Telegr & Teleph Corp <Ntt> Tag application device and tag application method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
名雲 孝昭 TAKAAKI NAGUMO: "ContentProviderを用いた利用者情報送信の動的解析手法に関する検討 Feasibility study on", 情報処理学会研究報告 2012(平成24)年度▲6▼ [DVD−ROM], JPN6017044793, 15 April 2013 (2013-04-15), JP, pages 1 - 6, ISSN: 0003687281 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020112922A (en) * 2019-01-09 2020-07-27 三菱電機株式会社 Server device and data transfer method
JP2020140303A (en) * 2019-02-27 2020-09-03 富士ゼロックス株式会社 Information processing device and program
JP7225905B2 (en) 2019-02-27 2023-02-21 富士フイルムビジネスイノベーション株式会社 Information processing device and program
WO2022195739A1 (en) * 2021-03-16 2022-09-22 日本電信電話株式会社 Activity trace extracting device, activity trace extracting method, and activity trace extracting program

Also Published As

Publication number Publication date
JP6290035B2 (en) 2018-03-07

Similar Documents

Publication Publication Date Title
Reardon et al. 50 ways to leak your data: An exploration of apps' circumvention of the android permissions system
Hossain et al. {Dependence-Preserving} data compaction for scalable forensic analysis
CN109792386B (en) Method and apparatus for trusted computing
JP6538570B2 (en) System and method for cloud data security
Do et al. A forensically sound adversary model for mobile devices
US9998438B2 (en) Verifying the security of a remote server
US9576147B1 (en) Security policy application through data tagging
US10032037B1 (en) Establishing application trust levels using taint propagation as a service
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
Lee et al. A sealant for inter-app security holes in android
Kafle et al. A study of data store-based home automation
CN110445769B (en) Access method and device of business system
Krupp et al. SPE: security and privacy enhancement framework for mobile devices
Herbster et al. Privacy capsules: Preventing information leaks by mobile apps
Yang et al. Cross miniapp request forgery: Root causes, attacks, and vulnerability detection
US11516279B2 (en) Systems and methods for accessing multiple resources via one identifier
CN114500054B (en) Service access method, service access device, electronic device, and storage medium
JP6290035B2 (en) Tint analysis device, taint analysis method, and program
Sun et al. Having Your Cake and Eating It: An Analysis of {Concession-Abuse-as-a-Service}
Kim et al. When harry met tinder: Security analysis of dating apps on android
US10049222B1 (en) Establishing application trust levels using taint propagation
US20170337382A1 (en) Privacy enabled runtime
US20160134592A1 (en) Secure network request anonymization
Lee et al. A study on realtime detecting smishing on cloud computing environments
Orjiude et al. A multilateral privacy impact analysis method for android applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180207

R150 Certificate of patent or registration of utility model

Ref document number: 6290035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees