JP6290035B2 - テイント解析装置、テイント解析方法、およびプログラム - Google Patents

テイント解析装置、テイント解析方法、およびプログラム Download PDF

Info

Publication number
JP6290035B2
JP6290035B2 JP2014164807A JP2014164807A JP6290035B2 JP 6290035 B2 JP6290035 B2 JP 6290035B2 JP 2014164807 A JP2014164807 A JP 2014164807A JP 2014164807 A JP2014164807 A JP 2014164807A JP 6290035 B2 JP6290035 B2 JP 6290035B2
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.)
Expired - Fee Related
Application number
JP2014164807A
Other languages
English (en)
Other versions
JP2016040698A (ja
Inventor
秀明 川端
秀明 川端
隼一 橋本
隼一 橋本
竹森 敬祐
敬祐 竹森
歩 窪田
歩 窪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2014164807A priority Critical patent/JP6290035B2/ja
Publication of JP2016040698A publication Critical patent/JP2016040698A/ja
Application granted granted Critical
Publication of JP6290035B2 publication Critical patent/JP6290035B2/ja
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)

Description

本発明は、アプリケーションの脆弱性検証または情報漏洩検知等に利用されるテイント解析技術に関する。
Webサービス等のサービスを提供するサービス提供者は、サービスの利用者に関する利用者情報を利用者端末から取得し、利用者情報を利用してサービスを提供する。サービス提供者は、利用者情報の扱い方を示すプライバシーポリシーを制定している。プライバシーポリシーは、利用者情報の種類と、利用の目的と、利用者情報を利用する主体(サービス提供者)との3つの基本的要素を含む必要がある。サービスの利用者は、このプライバシーポリシーを確認することで、自身の情報がどのように取り扱われるのかを把握することができ、サービスを利用するか否かを判断することができる。
一方、モバイル向けOSでは、利用者の個人情報を取得するための関数の集合であるAPI(Application Programming Interface)が定義されており、アプリケーションがAPIにより利用者の個人情報を取得することが可能である。APIの機能を制限するために、パーミッションと呼ばれるAPI制限機能がある。アプリケーションが利用する情報または機能がパーミッションとして宣言され、利用者の許可が得られない限り、APIの機能が実行できない。
また、アプリケーションのプログラムがどのような情報をどのように取り扱うのかを解析する方法として、テイント(Taint:汚染)解析と呼ばれる手法がある。テイント解析とは、特定の性質を持つ情報に対してその性質を一意に識別するタグ(テイントタグ)を付け、その情報が利用された場合にタグを伝搬させることにより、情報がどのように利用されたのかを解析する手法である。一般に、テイント解析は、テイントタグが付与される情報源Sourceと、テイントタグを伝播させる機構Propagationと、伝播されたテイントタグを監視するポイントを示すSinkとの3つの要素を含む。
このテイント解析を利用する方法には主に2つの方法がある。1つの方法が脆弱性検証である。プログラムエラーが発生する原因は、入力された情報が、本来到達してはいけない出力に辿り着くことである。これを検知するために、入力された情報に対してテイントタグを付与し、そのテイントタグが付与された情報が出力に辿り着くか否かを判定することにより脆弱性を検証する方法が提案されている。
他の方法が情報漏洩検知である。プログラムが取得した重要な情報に対して、テイントタグを付与し、そのテイントタグが付与された情報が外部送信に係る出力に辿り着くか否かを判定することにより情報漏洩を検知する手法が提案されている。非特許文献1は、Android(登録商標)が実装されたシステムにおける個人情報の流出をテイント解析により実現する手法を開示している。
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 Vancouver
アプリケーションの安全性の判断において、プライバシーポリシーの通りにアプリケーションが動作しているかどうかが重要である。例えば、アドレス帳と個人を特定するIDとを同時に送信するアプリケーションのプライバシーポリシーに「どんな情報を:アドレス情報を」、「何のために:提供サービス中でお客様の友人を検索するため」、「どこへ:弊社の管理サーバへ」と明記されている場合、そのアプリケーションは、情報漏洩を行う不正なアプリケーションではない。
API制限機能では、情報の取得の制御を行うことができるが、アプリケーションが取得した情報の流れを追跡して、情報がどこに送信されたのかを解析することができない。そのため、プライバシーポリシーに沿って、アプリケーションの利用する情報を制限することができない。
テイント解析では、情報を取得する関数(Sourceに相当)、または情報を出力する関数(Sinkに相当)の実行をアプリケーションが要求するごとに、テイントタグの付与または判定が行われる。つまり、情報を取得する関数、または情報を出力する関数を実行する全てのアプリケーションの実行時に、テイント解析に係る処理が実行される。全てのアプリケーションに対して一様なテイント解析が行われるため、アプリケーションごとに異なるテイント解析を行うことができない。つまり、各アプリケーションのプライバシーポリシーに沿ってアプリケーションの動作を制御することができない。
本発明は、プライバシーポリシーに沿ってアプリケーションの動作を制御することができる技術を提供する。
本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定部と、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析部と、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定部によって特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御部と、を有することを特徴とするテイント解析装置である。
また、本発明のテイント解析装置において、前記特定部はさらに、前記アプリケーションが利用するパーミッションの情報を含むマニフェストファイルに基づいて、利用者情報の取得に係るパーミッションを特定し、特定されたパーミッションに対応する利用者情報の種類が前記プライバシーポリシーに含まれるか否かを判定することによって前記利用者情報の種類を特定することを特徴とする。
また、本発明のテイント解析装置において、前記プライバシーポリシーはさらに、前記利用者情報を加工する処理の情報を含み、前記特定部はさらに、前記プライバシーポリシーに基づいて、前記利用者情報を加工する処理を特定し、前記テイント解析装置はさらに、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報に対して、前記特定部によって特定された処理を実行する加工処理部を有することを特徴とする。
また、本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、を有することを特徴とする、テイント解析装置が実行するテイント解析方法である。
また、本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、をコンピュータに実行させるためのプログラムである。
本発明によれば、プライバシーポリシーに規定されている種類の利用者情報にテイントタグが付与され、そのテイントタグが付与された利用者情報が送信されるときに、プライバシーポリシーに規定されている送信先に応じて、送信が許可または拒否される。これによって、プライバシーポリシーに沿ってアプリケーションの動作を制御することができる。
本発明の第1の実施形態によるテイント解析装置の構成を示すブロック図である。 本発明の第1の実施形態におけるプライバシーポリシーの内容を示す参考図である。 本発明の第1の実施形態におけるプライバシーポリシーの内容を示す参考図である。 本発明の第1の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。 本発明の第2の実施形態によるテイント解析装置の構成を示すブロック図である。 本発明の第2の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。 本発明の第3の実施形態によるテイント解析装置の構成を示すブロック図である。 本発明の第3の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。 本発明の第3の実施形態におけるプライバシーポリシーの内容を示す参考図である。
以下、図面を参照し、本発明の実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態によるテイント解析装置1の構成を示している。例えば、テイント解析装置1は、利用者が所持する利用者端末(スマートフォン等の携帯端末)の一部である。図1に示すように、テイント解析装置1は、特定部10と、実行部20とを有する。
例えば、利用者端末がマーケットプレイスからアプリケーションをダウンロードする場合、利用者端末は、プライバシーポリシーPPへのリンクが含まれるWebページを読み込む。利用者端末は、そのリンクが示すWebサーバなどに接続し、プライバシーポリシーPPをダウンロードする。取得されたプライバシーポリシーPPはテイント解析装置1内に保持される。
特定部10は、サービスが利用する利用者情報の種類と利用者情報の送信先とを含むプライバシーポリシーPPに基づいて、利用者情報の種類と送信先とを特定する。特定部10は、利用者情報特定部100と、送信先特定部101とを有する。利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する。送信先特定部101は、プライバシーポリシーPPに基づいて、送信先を特定する。
実行部20は、アプリケーションを実行する主体である。例えば、実行部20はアプリケーション実行エンジンである。実行部20は、テイントタグを伝播させる、いわゆるPropagationに係る処理を行ってもよい。例えば、テイントタグが付与された情報を用いた演算が行われる場合、実行部20は、演算結果に対してテイントタグを付与する。
実行部20はさらに、テイント解析と、解析結果に応じた制御とを行う。実行部20は、テイント解析部200と、制御部201とを有する。テイント解析部200は、特定部10によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報にテイントタグを付与し、アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報にテイントタグが付与されているか否かを判定する。制御部201は、テイントタグが付与されていると判定された場合、送信対象の情報の送信先と、特定部10によって特定された送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う。
特定部10と、実行部20との機能は、例えば各部の動作を規定する命令を含むプログラムをコンピュータが読み込んで実行することにより、ソフトウェアの機能として実現可能である。また、このプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波によりテイント解析装置1に伝送されることでテイント解析装置1に入力されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる、いわゆる差分ファイル(差分プログラム)であってもよい。
図2は、プライバシーポリシーPPの第1の例であるプライバシーポリシーPP1の内容を示している。プライバシーポリシーPP1は、簡略なプライバシーポリシーの例である。
図2に示すように、利用者情報の種類110と、利用の目的120と、利用者情報を利用する主体130とがプライバシーポリシーPP1に含まれる。利用者情報の種類110は、位置情報111と、連絡先112と、音楽データ113とを含む。利用者情報を利用する主体130は、利用者情報の送信先を示している。
図3は、プライバシーポリシーPPの第2の例であるプライバシーポリシーPP2の内容を示している。プライバシーポリシーPP2は、詳細なプライバシーポリシーの例である。
図3に示すように、利用者情報の種類140,141,142と、利用の目的150,151,152と、利用者情報を利用する主体160,161,162とがプライバシーポリシーPP2に含まれる。それぞれの情報は、利用者情報ごとに関連付けられている。
利用者情報の種類140は位置情報を示している。この利用者情報の種類140に対して、利用の目的150と、利用者情報を利用する主体160とが関連付けられている。利用者情報の種類141は連絡先を示している。この利用者情報の種類141に対して、利用の目的151と、利用者情報を利用する主体161とが関連付けられている。利用者情報の種類142は音楽データを示している。この利用者情報の種類142に対して、利用の目的152と、利用者情報を利用する主体162とが関連付けられている。利用者情報を利用する主体160,161,162は、利用者情報の送信先を示している。
図4は、テイント解析装置1の動作の手順を示している。図4を参照して、テイント解析装置1の動作を説明する。
処理が開始されると、利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する(ステップS100)。例えば、OSの1つであるFirefox(登録商標)用のアプリケーションが取得する利用者情報には、連絡先、位置情報、cookie、コンテンツ情報(画像、音声等)がある。
利用者情報の種類が特定された後、送信先特定部101は、プライバシーポリシーPPに基づいて、送信先を特定する(ステップS110)。送信先の情報がサービス事業者の名称である場合、以下のようにしてもよい。例えば、送信先特定部101は、サービス事業者の名称とドメイン情報とを対応付けたリストを管理しているサーバからリストを受信し、受信されたリストから、サービス事業者の名称に対応するドメイン情報を取得してもよい。あるいは、送信先特定部101は、上記のリストを管理しているサーバにサービス事業者の名称を送信し、サーバから、サービス事業者の名称に対応するドメイン情報を受信してもよい。
ステップS100とステップS110との処理は逆の順番で行われてもよい。特定部10は、ステップS100で特定された利用者情報の種類を示す情報と、ステップS110で特定された送信先を示す情報とを実行部20に通知する。
プライバシーポリシーPPが一定の書式で記述されている場合、利用者情報の種類と送信先との識別は容易である。プライバシーポリシーPPが自由な書式で記述されている場合、形態素解析などの自然言語処理の技術を用いて利用者情報の種類と送信先とを識別してもよい。
送信先が特定された後、実行部20はアプリケーションを実行する(ステップS120)。アプリケーションの実行中、テイント解析部200は、特定部10によって特定された種類の利用者情報が取得されたか否かを判定する(ステップS130)。特定部10によって特定された種類の利用者情報が取得されていない場合、テイント解析部200はステップS130の判定を継続する。また、特定部10によって特定された種類の利用者情報が取得された場合、テイント解析部200は、その利用者情報にテイントタグを付与する(ステップS140)。
テイントタグが付与された後、テイント解析部200は、情報を送信するAPIがアプリケーションから呼び出されたか否かを判定する(ステップS150)。情報を送信するAPIがアプリケーションから呼び出されていない場合、情報は送信されない。この場合、ステップS130の判定が行われる。
情報を送信するAPIがアプリケーションから呼び出された場合、情報を送信する処理が実行される。この場合、テイント解析部200は、アプリケーションによって指定された送信対象の情報にテイントタグが付与されているか否かを判定する(ステップS160)。送信対象の情報にテイントタグが付与されていない場合、送信対象の情報は制御対象の情報ではない。この場合、制御部201は、判定結果に基づいて、情報の送信を許可する(ステップS180)。情報の送信が許可されると、実行部20は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。
送信対象の情報にテイントタグが付与されている場合、送信対象の情報は制御対象の情報である。この場合、制御部201は、送信対象の情報の送信先と、特定部10によって特定された送信先とが一致するか否かを判定する(ステップS170)。例えば、制御部201は、送信対象の情報の送信先として指定されたURLに含まれるドメイン情報と、特定部10によって特定されたドメイン情報とが一致するか否かを判定する。例えば、送信対象の情報の送信先として指定されたURLがwww.XXXX.comである場合、ドメイン情報はXXXX.comである。
送信先が一致する場合、制御部201は、情報の送信を許可する(ステップS180)。情報の送信が許可されると、実行部20は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。情報の送信が許可された後、ステップS130の判定が行われる。
送信先が一致しない場合、制御部201は、情報の送信を拒否する(ステップS190)。情報の送信が拒否されると、実行部20は、情報を送信するAPIを実行せず、実行結果をアプリケーションに返す。情報の送信が拒否された後、ステップS130の判定が行われる。
制御部201は、ステップS170における判定の結果をログ等に出力してもよい。これによって、アプリケーションがプライバシーポリシーPPの通りに動作しているか否かを解析者に通知することができる。
上述したように、本実施形態によれば、プライバシーポリシーPPに規定されている種類の利用者情報にテイントタグが付与され、そのテイントタグが付与された利用者情報が送信されるときに、プライバシーポリシーPPに規定されている送信先に応じて、送信が許可または拒否される。これによって、プライバシーポリシーPPに沿ってアプリケーションの動作を制御することができる。また、情報の送信先に応じて送信を許可または拒否する制御を行うことによって、情報漏洩を防止することができる。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。図5は、本実施形態によるテイント解析装置1aの構成を示している。図5に示すように、テイント解析装置1aは、特定部10aと、実行部20とを有する。実行部20は、図1に示すテイント解析装置1における実行部20と同様である。
特定部10aは、利用者情報特定部100と、送信先特定部101と、パーミッション特定部102とを有する。パーミッション特定部102は、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルMFに基づいて、利用者情報の取得に係るパーミッションを特定する。利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定することによって利用者情報の種類を特定する。送信先特定部101は、図1に示すテイント解析装置1における送信先特定部101と同様である。
図6は、テイント解析装置1aの動作の手順を示している。図6を参照して、テイント解析装置1aの動作を説明する。以下では、図4に示す動作と異なる点について説明する。
処理が開始されると、パーミッション特定部102は、マニフェストファイルMFを解析し、利用者情報の取得に係るパーミッションを特定する(ステップS200)。パーミッションによりAPIの機能を制限するように構成されたプラットフォームでは、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルがある。例えば、Firefox(登録商標)向けのアプリケーションでは、アプリケーションのパッケージ内のファイルであるmanifest.webappがマニフェストファイルである。
Firefox(登録商標)では、利用者情報の取得に係るパーミッションとして、geolocationと、contactsと、device-storage:musicと、device-storage:picturesとが用意されている。geolocationは、位置情報の取得に係るパーミッションである。contactsは、連絡先の取得に係るパーミッションである。device-storage:musicは、音楽データの取得に係るパーミッションである。device-storage:picturesは、画像データの取得に係るパーミッションである。
利用者情報の取得に係るパーミッションが特定された後、利用者情報特定部100は、プライバシーポリシーPPに基づいて、利用者情報の種類を特定する(ステップS101)。このとき、利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定することによって利用者情報の種類を特定する。
例えば、利用者情報特定部100は、パーミッションの情報と、そのパーミッションに係る利用者情報の種類とを対応付けたリストを有する。利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類をリストから特定する。利用者情報特定部100は、特定された利用者情報の種類がプライバシーポリシーPPに含まれるか否かを判定する。つまり、利用者情報特定部100は、特定された利用者情報の種類をプライバシーポリシーPPにおいて検索する。また、cookieに対応するパーミッションがないので、利用者情報特定部100は、パーミッション特定部102によって特定されたパーミッションに関わらず、cookieが取得されるか否かをプライバシーポリシーPPに基づいて判定する。
利用者情報が特定された後、ステップS110で送信先が特定される。ステップS101とステップS110との処理は逆の順番で行われてもよい。
本実施形態によれば、パーミッション特定部102によって特定されたパーミッションに対応する利用者情報の種類をプライバシーポリシーPPにおいて検索することによって、利用者情報の種類の特定を効率的に行うことができる。
(第3の実施形態)
次に、本発明の第3の実施形態を説明する。図7は、本実施形態によるテイント解析装置1bの構成を示している。図7に示すように、テイント解析装置1bは、特定部10bと、実行部20bとを有する。
特定部10bは、利用者情報特定部100と、送信先特定部101と、加工処理特定部103とを有する。本実施形態のプライバシーポリシーPPは、サービスが利用する利用者情報の種類と利用者情報の送信先とに加えて、利用者情報を加工する処理の情報を含む。加工処理特定部103は、プライバシーポリシーPPに基づいて、利用者情報を加工する処理を特定する。利用者情報特定部100は、図1に示すテイント解析装置1における利用者情報特定部100と同様である。また、送信先特定部101は、図1に示すテイント解析装置1における送信先特定部101と同様である。
実行部20bは、テイント解析部200と、制御部201と、加工処理部202とを有する。加工処理部202は、特定部10によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報に対して、特定部10によって特定された処理を実行する。テイント解析部200は、図1に示すテイント解析装置1におけるテイント解析部200と同様である。また、制御部201は、図1に示すテイント解析装置1における制御部201と同様である。
例えば、利用者情報を加工する処理として、ハッシュ化、曖昧化などがある。これらの処理は、利用者のプライバシー保護のため、アプリケーションによって、利用者情報に対して行われる。ハッシュ化は利用者の識別情報(ID)に対して行われることが多い。曖昧化は位置情報に対して行われることが多い。詳細な住所情報のプライバシー性が高いため、曖昧化が行われる。住所情報に対する曖昧化は、住所情報を、市・区・町・村などの地域情報となるように範囲をぼかす処理である。
通常、アプリケーション開発者は、上記の加工処理のコードを自身のアプリケーションのプログラムに追加する。このため、アプリケーション開発者が加工処理のコードをアプリケーションのプログラムに本当に追加しているか否かは不明瞭である。したがって、利用者にとっては、加工処理が行われるか否かを不安に感じることがある。また、アプリケーション開発者にとっては、自身のアプリケーションが信頼されない不利益が発生することがある。
このため、本実施形態では、プライバシーポリシーPPに基づいて加工処理が特定された後、テイント解析装置1bによって利用者情報に加工処理が行われる。これによって、アプリケーション開発者が自身のアプリケーションのプログラムに加工処理のコードを追加することが不要になる。また、アプリケーション開発者はユーザから信頼を得ることができる。
図8は、テイント解析装置1bの動作の手順を示している。図8を参照して、テイント解析装置1bの動作を説明する。以下では、図4に示す動作と異なる点について説明する。
ステップS110で送信先が特定された後、加工処理特定部103は、プライバシーポリシーPPに基づいて加工処理を特定する(ステップS300)。特定された加工処理の情報は実行部20bに通知される。加工処理が特定された後、ステップS120でアプリケーションが実行される。ステップS100とステップS110とステップS300との処理はどのような順番で行われてもよい。
また、ステップS140でテイントタグが付与された後、加工処理部202は、テイントタグが付与された利用者情報に対して、加工処理特定部103によって特定された加工処理を実行する(ステップS310)。加工処理が行われた後、ステップS150の判定が行われる。ステップS140とステップS310との処理は逆の順番で行われてもよい。
図9は、プライバシーポリシーPPの第3の例であるプライバシーポリシーPP3の内容を示している。図9に示すように、利用者情報の種類170と、利用の目的175と、利用者情報を利用する主体180と、取得方法185とがプライバシーポリシーPP3に含まれる。
取得方法185は、加工処理を示す文字列である「暗号変換」を含む。加工処理特定部103は、プライバシーポリシーPP3に基づいて、加工処理が暗号変換であることを特定する。暗号変換は、ハッシュ化に類似した処理であり、情報を暗号化する処理である。本例では、加工処理部202は、テイントタグが付与された利用者情報に対して暗号変換を実行する。
テイント解析装置1bが、図5に示すテイント解析装置1aにおけるパーミッション特定部102を有していてもよい。
本実施形態によれば、プライバシーポリシーPPによって規定されている加工処理を確実に行うことができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
1,1a,1b テイント解析装置
10,10a,10b 特定部
20,20b 実行部
100 利用者情報特定部
101 送信先特定部
102 パーミッション特定部
103 加工処理特定部
200 テイント解析部
201 制御部
202 加工処理部

Claims (5)

  1. サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定部と、
    前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析部と、
    前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定部によって特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御部と、
    を有することを特徴とするテイント解析装置。
  2. 前記特定部はさらに、前記アプリケーションが利用するパーミッションの情報を含むマニフェストファイルに基づいて、利用者情報の取得に係るパーミッションを特定し、特定されたパーミッションに対応する利用者情報の種類が前記プライバシーポリシーに含まれるか否かを判定することによって前記利用者情報の種類を特定することを特徴とする請求項1に記載のテイント解析装置。
  3. 前記プライバシーポリシーはさらに、前記利用者情報を加工する処理の情報を含み、
    前記特定部はさらに、前記プライバシーポリシーに基づいて、前記利用者情報を加工する処理を特定し、
    前記テイント解析装置はさらに、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報に対して、前記特定部によって特定された処理を実行する加工処理部を有する
    ことを特徴とする請求項1または請求項2に記載のテイント解析装置。
  4. サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、
    前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、
    前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、
    を有することを特徴とする、テイント解析装置が実行するテイント解析方法。
  5. サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、
    前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、
    前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、
    をコンピュータに実行させるためのプログラム。
JP2014164807A 2014-08-13 2014-08-13 テイント解析装置、テイント解析方法、およびプログラム Expired - Fee Related JP6290035B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014164807A JP6290035B2 (ja) 2014-08-13 2014-08-13 テイント解析装置、テイント解析方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014164807A JP6290035B2 (ja) 2014-08-13 2014-08-13 テイント解析装置、テイント解析方法、およびプログラム

Publications (2)

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

Family

ID=55541013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014164807A Expired - Fee Related JP6290035B2 (ja) 2014-08-13 2014-08-13 テイント解析装置、テイント解析方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6290035B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020112922A (ja) * 2019-01-09 2020-07-27 三菱電機株式会社 サーバ装置およびデータ移転方法
JP7225905B2 (ja) * 2019-02-27 2023-02-21 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
WO2022195739A1 (ja) * 2021-03-16 2022-09-22 日本電信電話株式会社 活動痕跡抽出装置、活動痕跡抽出方法および活動痕跡抽出プログラム

Family Cites Families (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 (ja) * 2004-03-26 2005-10-13 Hitachi Ltd 個人情報利用システム、個人情報利用システムの制御方法、マップファイル生成装置、及びアクセス制御ポリシファイル生成装置
JP5205192B2 (ja) * 2008-09-22 2013-06-05 株式会社野村総合研究所 ファイル出力管理システムおよびファイル出力管理方法
JP5682181B2 (ja) * 2010-08-25 2015-03-11 日本電気株式会社 通信制御機能を有する通信装置、方法、プログラム
JP5576262B2 (ja) * 2010-12-27 2014-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データを分類してアクセス制御を行う方法、並びに、システム
JP5832954B2 (ja) * 2012-05-18 2015-12-16 日本電信電話株式会社 タグ付与装置及びタグ付与方法

Also Published As

Publication number Publication date
JP2016040698A (ja) 2016-03-24

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 (zh) 用于可信计算的方法和装置
Do et al. A forensically sound adversary model for mobile devices
JP6538570B2 (ja) クラウドデータセキュリティのためのシステム及び方法
Graziano et al. Needles in a haystack: Mining information from public dynamic analysis sandboxes for malware intelligence
US9998438B2 (en) Verifying the security of a remote server
US9576147B1 (en) Security policy application through data tagging
US9530016B1 (en) Using source taint analysis to reduce false positives in an advanced persistent threat (APT) protection solution
US10032037B1 (en) Establishing application trust levels using taint propagation as a service
Lee et al. A sealant for inter-app security holes in android
CN110445769B (zh) 业务系统的访问方法及装置
Kafle et al. A study of data store-based home automation
Guamán et al. GDPR compliance assessment for cross-border personal data transfers in android apps
Herbster et al. Privacy capsules: Preventing information leaks by mobile apps
Krupp et al. SPE: security and privacy enhancement framework for mobile devices
Riad et al. Roughdroid: operative scheme for functional android malware detection
Yang et al. Cross miniapp request forgery: Root causes, attacks, and vulnerability detection
JP6290035B2 (ja) テイント解析装置、テイント解析方法、およびプログラム
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
US10951682B2 (en) Systems and methods for accessing multiple resources via one identifier
Kim et al. When harry met tinder: Security analysis of dating apps on android
Mayrhofer An architecture for secure mobile devices
US10827349B2 (en) SEALANT: security for end-users of android via light-weight analysis techniques
US20170337382A1 (en) Privacy enabled runtime

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170127

A521 Written amendment

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 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180112

A521 Written amendment

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