JP2016040698A - Taint analysis device, taint analysis method, and program - Google Patents
Taint analysis device, taint analysis method, and program Download PDFInfo
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims description 61
- 230000006870 function Effects 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
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
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
アプリケーションの安全性の判断において、プライバシーポリシーの通りにアプリケーションが動作しているかどうかが重要である。例えば、アドレス帳と個人を特定する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.
以下、図面を参照し、本発明の実施形態を説明する。 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
例えば、利用者端末がマーケットプレイスからアプリケーションをダウンロードする場合、利用者端末は、プライバシーポリシー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
特定部10は、サービスが利用する利用者情報の種類と利用者情報の送信先とを含むプライバシーポリシーPPに基づいて、利用者情報の種類と送信先とを特定する。特定部10は、利用者情報特定部100と、送信先特定部101とを有する。利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する。送信先特定部101は、プライバシーポリシーPPに基づいて、送信先を特定する。
The specifying
実行部20は、アプリケーションを実行する主体である。例えば、実行部20はアプリケーション実行エンジンである。実行部20は、テイントタグを伝播させる、いわゆるPropagationに係る処理を行ってもよい。例えば、テイントタグが付与された情報を用いた演算が行われる場合、実行部20は、演算結果に対してテイントタグを付与する。
The
実行部20はさらに、テイント解析と、解析結果に応じた制御とを行う。実行部20は、テイント解析部200と、制御部201とを有する。テイント解析部200は、特定部10によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報にテイントタグを付与し、アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報にテイントタグが付与されているか否かを判定する。制御部201は、テイントタグが付与されていると判定された場合、送信対象の情報の送信先と、特定部10によって特定された送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う。
The
特定部10と、実行部20との機能は、例えば各部の動作を規定する命令を含むプログラムをコンピュータが読み込んで実行することにより、ソフトウェアの機能として実現可能である。また、このプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波によりテイント解析装置1に伝送されることでテイント解析装置1に入力されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる、いわゆる差分ファイル(差分プログラム)であってもよい。
The functions of the specifying
図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
図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
利用者情報の種類140は位置情報を示している。この利用者情報の種類140に対して、利用の目的150と、利用者情報を利用する主体160とが関連付けられている。利用者情報の種類141は連絡先を示している。この利用者情報の種類141に対して、利用の目的151と、利用者情報を利用する主体161とが関連付けられている。利用者情報の種類142は音楽データを示している。この利用者情報の種類142に対して、利用の目的152と、利用者情報を利用する主体162とが関連付けられている。利用者情報を利用する主体160,161,162は、利用者情報の送信先を示している。
The
図4は、テイント解析装置1の動作の手順を示している。図4を参照して、テイント解析装置1の動作を説明する。
FIG. 4 shows an operation procedure of the
処理が開始されると、利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する(ステップS100)。例えば、OSの1つであるFirefox(登録商標)用のアプリケーションが取得する利用者情報には、連絡先、位置情報、cookie、コンテンツ情報(画像、音声等)がある。
When the process is started, the user
利用者情報の種類が特定された後、送信先特定部101は、プライバシーポリシーPPに基づいて、送信先を特定する(ステップS110)。送信先の情報がサービス事業者の名称である場合、以下のようにしてもよい。例えば、送信先特定部101は、サービス事業者の名称とドメイン情報とを対応付けたリストを管理しているサーバからリストを受信し、受信されたリストから、サービス事業者の名称に対応するドメイン情報を取得してもよい。あるいは、送信先特定部101は、上記のリストを管理しているサーバにサービス事業者の名称を送信し、サーバから、サービス事業者の名称に対応するドメイン情報を受信してもよい。
After the type of user information is specified, the transmission
ステップS100とステップS110との処理は逆の順番で行われてもよい。特定部10は、ステップS100で特定された利用者情報の種類を示す情報と、ステップS110で特定された送信先を示す情報とを実行部20に通知する。
The process of step S100 and step S110 may be performed in the reverse order. The specifying
プライバシーポリシー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
テイントタグが付与された後、テイント解析部200は、情報を送信するAPIがアプリケーションから呼び出されたか否かを判定する(ステップS150)。情報を送信するAPIがアプリケーションから呼び出されていない場合、情報は送信されない。この場合、ステップS130の判定が行われる。
After the taint tag is assigned, the
情報を送信する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
送信対象の情報にテイントタグが付与されている場合、送信対象の情報は制御対象の情報である。この場合、制御部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
送信先が一致する場合、制御部201は、情報の送信を許可する(ステップS180)。情報の送信が許可されると、実行部20は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。情報の送信が許可された後、ステップS130の判定が行われる。
When the transmission destinations match, the
送信先が一致しない場合、制御部201は、情報の送信を拒否する(ステップS190)。情報の送信が拒否されると、実行部20は、情報を送信するAPIを実行せず、実行結果をアプリケーションに返す。情報の送信が拒否された後、ステップS130の判定が行われる。
When the transmission destinations do not match, the
制御部201は、ステップS170における判定の結果をログ等に出力してもよい。これによって、アプリケーションがプライバシーポリシーPPの通りに動作しているか否かを解析者に通知することができる。
The
上述したように、本実施形態によれば、プライバシーポリシー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
特定部10aは、利用者情報特定部100と、送信先特定部101と、パーミッション特定部102とを有する。パーミッション特定部102は、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルMFに基づいて、利用者情報の取得に係るパーミッションを特定する。利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定することによって利用者情報の種類を特定する。送信先特定部101は、図1に示すテイント解析装置1における送信先特定部101と同様である。
The specifying
図6は、テイント解析装置1aの動作の手順を示している。図6を参照して、テイント解析装置1aの動作を説明する。以下では、図4に示す動作と異なる点について説明する。
FIG. 6 shows an operation procedure of the
処理が開始されると、パーミッション特定部102は、マニフェストファイルMFを解析し、利用者情報の取得に係るパーミッションを特定する(ステップS200)。パーミッションによりAPIの機能を制限するように構成されたプラットフォームでは、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルがある。例えば、Firefox(登録商標)向けのアプリケーションでは、アプリケーションのパッケージ内のファイルであるmanifest.webappがマニフェストファイルである。
When the process is started, the
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
例えば、利用者情報特定部100は、パーミッションの情報と、そのパーミッションに係る利用者情報の種類とを対応付けたリストを有する。利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類をリストから特定する。利用者情報特定部100は、特定された利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定する。つまり、利用者情報特定部100は、特定された利用者情報の種類をプライバシーポリシーPPにおいて検索する。また、cookieに対応するパーミッションがないので、利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに関わらず、cookieが取得されるか否かをプライバシーポリシーPPに基づいて判定する。
For example, the user
利用者情報が特定された後、ステップ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
(第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
特定部10bは、利用者情報特定部100と、送信先特定部101と、加工処理特定部103とを有する。本実施形態のプライバシーポリシーPPは、サービスが利用する利用者情報の種類と利用者情報の送信先とに加えて、利用者情報を加工する処理の情報を含む。加工処理特定部103は、プライバシーポリシーPPに基づいて、利用者情報を加工する処理を特定する。利用者情報特定部100は、図1に示すテイント解析装置1における利用者情報特定部100と同様である。また、送信先特定部101は、図1に示すテイント解析装置1における送信先特定部101と同様である。
The specifying
実行部20bは、テイント解析部200と、制御部201と、加工処理部202とを有する。加工処理部202は、特定部10によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報に対して、特定部10によって特定された処理を実行する。テイント解析部200は、図1に示すテイント解析装置1におけるテイント解析部200と同様である。また、制御部201は、図1に示すテイント解析装置1における制御部201と同様である。
The
例えば、利用者情報を加工する処理として、ハッシュ化、曖昧化などがある。これらの処理は、利用者のプライバシー保護のため、アプリケーションによって、利用者情報に対して行われる。ハッシュ化は利用者の識別情報(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
図8は、テイント解析装置1bの動作の手順を示している。図8を参照して、テイント解析装置1bの動作を説明する。以下では、図4に示す動作と異なる点について説明する。
FIG. 8 shows an operation procedure of the
ステップS110で送信先が特定された後、加工処理特定部103は、プライバシーポリシーPPに基づいて加工処理を特定する(ステップS300)。特定された加工処理の情報は実行部20bに通知される。加工処理が特定された後、ステップS120でアプリケーションが実行される。ステップS100とステップS110とステップS300との処理はどのような順番で行われてもよい。
After the transmission destination is specified in step S110, the processing
また、ステップS140でテイントタグが付与された後、加工処理部202は、テイントタグが付与された利用者情報に対して、加工処理特定部103によって特定された加工処理を実行する(ステップS310)。加工処理が行われた後、ステップS150の判定が行われる。ステップS140とステップS310との処理は逆の順番で行われてもよい。
In addition, after the taint tag is assigned in step S140, the
図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
取得方法185は、加工処理を示す文字列である「暗号変換」を含む。加工処理特定部103は、プライバシーポリシーPP3に基づいて、加工処理が暗号変換であることを特定する。暗号変換は、ハッシュ化に類似した処理であり、情報を暗号化する処理である。本例では、加工処理部202は、テイントタグが付与された利用者情報に対して暗号変換を実行する。
The
テイント解析装置1bが、図5に示すテイント解析装置1aにおけるパーミッション特定部102を有していてもよい。
The
本実施形態によれば、プライバシーポリシー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
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または請求項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.
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)
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)
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 |
-
2014
- 2014-08-13 JP JP2014164807A patent/JP6290035B2/en not_active Expired - Fee Related
Patent Citations (6)
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)
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)
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 |