DEIM Forum 2019 B1-2

Android アプリの権限に対するユーザーへの説明の補完
小島 智樹†

酒井 哲也†† 早稲田大学基幹理工学研究科情報理工・情報通信専攻 〒 1698555 東京都新宿区大久保 341
E-mail: †frkojima512@ruri.waseda.jp, ††tetsuyasakai@acm.org
あらましAnrdoid 端末においてユーザがアプリケーションをダウンロードするとき，アプリケーションは端末上のセンシティブな情報にアクセスする権限を要求する．権限はときに悪用されるため，ユーザーはアプリケーションがなぜ権限を要求するかわからず，不安を覚えることがある．本論文では既存のアプリケーションの情報を利用し，権限の説明を補完するための手法について提案する．
キーワード Android, 情報検索, 自然言語処理,UX
かし，このフレームワークでは，説明文の作成は開発者の自主

1 導入Android は Google が開発しているスマートフォン向けのオペ
レーティングシステムである．2017 年，アクティブな端末数は全世界で 20 億台を超える [1]．公式のアプリケーションストア
である Google Play には 300 万以上のアプリケーション [2] が有料，または無料で公開されている．アプリケーションの総ダウ
ンロード回数は 2017 年の 4 半期のみで 190 億回を超える [3]．
ユーザがアプリケーションをダウンロードする際に，アプリ
ケーションがデバイスのセンシティブなデータや機能を使用する権限を要求することがある．例として，ユーザの位置情報の取得への権限などが挙げられる．アプリケーションは通常，権限をユーザーにとって有益な機能の提供のために使う．しかし一方で，悪用することでユーザに害をなす事態が発生している．
具体的な事例として，カメラ機能の権限を不正に利用すること
で盗撮を行う [4] といったものが報告されている．
このように権限は悪用されることがあるため，ユーザーは権限の要求理由がわからないときに不安を感じる．この不安を払拭するために，本来であればアプリケーションの説明文において権限を要求する理由を述べるべきである．例えば，Yahoo!乗換案内 [5] のアプリケーションの説明文を見ると各権限について要求する詳細な理由が記述されている．しかしながら，多くのアプリケーションにおいて，説明文中には十分な説明が無く，ときにユーザの不安を引き起こす．

性に委ねられる．そのため説明文の品質に差がでたり，ときには作成されないと言った事態が考えられる．また，先行研究において説明文作成のヒントの提示は，アプリケーション単位であって権限単位ではない．そのため複数の権限を要求するアプリに対しても，ヒントは一括して与えられる．また，先行研究で用いられているのは英語のデータであるが，本研究ではデー
タ量が少ない日本語のデータを扱う．
本研究では以下の 2 点に関して提案を行う．

•

権限ごとに自動で説明を与えるフレームワークの提案．

•

日本語のデータに対して，より適切な説明を行うための英語データの使用の提案．
この章以降の本論文の構成は以下の通りである．2 章ではア
ンドロイドアプリに関する先行研究について述べる．特に本研究が大きく影響を受けた Liu らの研究について重点的に述べる．

3 章では権限に対して説明を行うフレームワークについての提案を行う．4 章では英語のデータを日本語のアプリケーションの権限説明に用いる手法について提案する．5 章では 3，4 章で提案した手法の性能を評価する．6 章では 5 章で得られた結果に対して考察を行う．7 章で本研究の結論を述べる．

2 従来研究2. 1 権限の説明に関連した従来研究権限の説明に関連した従来研究には Liu らが考案した CLAP

また，昨今では Facebook などのアプリケーションにおけるというフレームワークがある [6]．これは入力としてアプリケー

情報取得に対してユーザーからの不安の声が出ており，たとえション A の説明文，カテゴリ，権限，タイトルを使用し，出力正当な要求であっても，ユーザーの安心な利用のためには権限として A に対して権限についての説明のヒントを開発者に与えを要求することへの説明が必要であると考えられる．

るものである．大まかな流れとして以下の手順で行われる．

本研究では，説明が不足しているアプリケーションに対して，（ 1 ） A の前述の要素を利用して類似のアプリケーション AS

権限の説明を補完することで，ユーザの不安を和らげる手法にをいくつか，既存のアプリケーションの中から探す．

ついて提案する．

（ 2 ） AS の各説明文を動詞句単位で分割．

類似の先行研究として Liu らが考案した CLAP というフレー（ 3 ） 分割に対してスコアリングを行い，その中の上位のいムワークがある [6]．これは英語のアプリケーションに対してくつかを説明文を作成する際のヒントとして開発者に提示する．

既存のアプリケーションの説明文をヒントとして提示して，開手順の中の (1) において，説明文の類似度の計算は BM25 と発者が適切に権限に対する説明文を作成することを助ける．しいう重み付けの方法 [7] で文章のベクトル化を行った後，そのコサイン類似度を用いて計算される．しかし，この方法は単語ベースのベクトル化である．そのため意味的な類似性は考慮されない．例えば

Mihalcea らの研究 [16] では相互情報量などを用いることで，意味情報を考慮した文の類似度の計算を行っている．
また，Kenter と de Rijke の研究 [17] では tf-idf だけでは無く，•写真を撮って共有する文を構成する単語を Word2vec でベクトル化したものを利用す•撮影した画像をシェアする

ることで文同士の類似度を計測する．これによって，単語の出といった 2 文があったとき，人手では 2 文が概ね同じ意味の文

現だけでなく意味情報も考慮して 2 つの文の類似度を計測すると認識できる．しかし，単純な単語ベースの比較では単語の一ことができる．

致がないため，全く異なった文と判断される．このような理由
で先行研究の方法では，有用な情報が失われることが考えられる．本研究では Word2vec を用いた別の計算方法を用いること
で，意味情報も考慮した類似度の判定を行う．
また，Liu らの先行研究ではアプリとの類似性を利用して文の検索を行ったが，複数の権限があるときの機能と権限との対応関係までは考慮していない．本研究では「このアプリのこの権限に対応する機能は…」といった説明を最終目標とする．

2. 2 過剰な権限の検知
先行研究において，様々な方法による過剰な権限の検知が行われている．自然言語処理を用いた例としては Pandita らが提案した WHYPER [8] や Zhang らによる AutoCog [9] などがある．

Gorla らの研究 [10] ではアプリケーションの記述から分類を行い，その後 API 呼び出しを利用して異常なアプリを判別している．
その他の検知方法としては Zhang らによる API の呼び出し
グラフを利用する方法 [11] や Yerima らによるベイズ分類器を用いた静的解析を利用する方法 [12] がある．
これらの研究は，不正な権限の検知という観点でユーザの安心に寄与している．

2. 5 複数言語を用いた情報検索
Sakai らの研究 [18] ではある言語 1 で書かれた文を検索する
際のスコアリングに，他の言語 2 で書かれたデータを言語 1 に翻訳したものを用いることで検索性能の向上が見られた．
本研究においても，Sakai らの研究のように翻訳を利用した
多言語データの利用を行う．それに加えて，言語非依存と考えられる関係の計算にも，多言語データの応用を行う．

3 説明付与に関する提案手法
アプリ A の権限 P への説明付与は以下の手順で行われる．
（ 1 ） 既存のアプリケーションの中で A に類似しているもの
を検索する（ 2 ） 残ったアプリケーションの説明文を更に細かく区切る（ 3 ） 区切られた説明文の中から権限 P およびアプリケー
ション A を利用して説明としてふさわしいもの検索する

3. 1 検索アプリケーション A に対して以下の要素を利用して類似アプ
リケーションを求める•

アプリケーションの説明文

一方で，本研究においては正常な権限の説明という観点で

•

タイトル

ユーザの安心させることを目指す．自然言語と言う形でユーザ

•

カテゴリー

に提示することで，従来手法に比べて納得感が増すと考えら

•

権限

れる．

2. 3 ユーザのセキュリティ意識について
ユーザのセキュリティへの意識に関する研究には，Chin ら [13]や Lin ら [14]，Vidas ら [15] の研究がある．Chin らは複数の観点におけるユーザのセキュリティ意識についてコンピュータとスマートフォンの違い等に関して調査した．

Lin らはアプリケーションの権限へのユーザの感じ方をクラウドソーシングを利用して調査した．そしてその結果を用いて，ユーザーに追加の警告を出すことを提案した．

Vidas らはソースコードの API 呼び出しなどを解析すること
により，開発者に最低限の権限を要求することを提案している．
これによって，不要な権限をユーザに要求することを減らせ，不安を軽減することにつながる．

各項目に関するスコアを s1 〜 s4 として，合計スコアを

S = λ1 s1 + λ2 s2 + λ3 s3 + λ4 s4(1)とする (各 λ は重み付けのための定数)．このスコア S を用いて類似アプリケーションを決定する．これらの要素，およびスコ
アリングの方法の一部は Liu らの先行研究 [6] で用いられたものである．

3. 1. 1 アプリケーションの説明文
説明文の類似度は Kenter と de Rijke の意味情報も考慮した
方法 [17] を用いて行う．２つの説明文 sl , s s があるときに類似
度は

f sts (sl , s s ) =∑w∈sl

IDF(w) ·sem(w,s s )·(k1 +1)()|s s |
sem(w,s s )+k1 · 1−b+b· avgsl

sem(w, s) = maxw′ ∈s f sem (w, w′ )2. 4 文章の類似度の研究

で求めることができる．ここの S s ，avgsl はそれぞれデータに

tf-idf や BM25 に基づく文章のベクトル化は単語の出現を基含まれる説明文の最短長および平均長，k1 と b はパラメーター，に行われる．そのため意味情報の考慮がされず，文の正確な類

f sem は２つの単語ベクトルのコサイン類似度を取る関数である．

似度が判断できないと考えられる．そのため，意味情報を考慮

3. 1. 2 タ イ ト ル

した文章の類似度の計測は情報検索に不可欠である．

タイトル間の類似度の計算も同じく Kenter と de Rijke の方法を用いて行う．

3. 1. 3 カ テ ゴ リ
カテゴリの類似度は以下の手順で求める．
（ 1 ） 各カテゴリに属する全てのアプリの説明文を一つの文

votesP(w, Pwords)
T extRank(w,Dk )
1 ∑K



IDF(w) × K k=1 maxw′ ∈V T extRank(w′ ,Dk )
=



0

(w ∈ Pwords)(otherwise)

とみなす

(3)

（ 2 ） その説明文の tf-idf ベクトルを作成する（ 3 ） 各ベクトル間のコサイン類似度を計算する

3. 1. 4 権

限権限の類似度は，2 つのアプリケーションの権限に関して

Jaccard 係数を計算することにより取得する．
3. 2 分とすることで，権限へ関連のある単語のみを考慮するスコア
リングに変更した．これを利用してある候補文 s の権限 P に関する投票はvotes(s) =割

文章の分割には句点を用いた分割を行った．文の分割を行うのは，Liu らの研究 [6] でも述べているように, 既存の説明文全体を用いるのはユーザにとって無駄な情報が多く含まれるからである．

3. 3 権限に対応する単語の抽出ある権限 P に対して相互情報量を用いることで，権限に特有の単語を全アプリケーションの説明文から抽出する. 対象とする単語は動詞および名詞である．これによってある権限に特有の動詞，および名詞が抽出される．相互情報量 I は以下の式で1 ∑votesP(w, Pwords)|s| w∈s(4)で計算される．この上位 5 件を権限への説明とする．

4 英語データの使用に関する提案手法
4. 1 翻訳された英語の文を用いる方法
英語のデータを日本語に翻訳して用いることで，より機能の網羅性が上がり，正確な説明が可能となると考えられる．本研
究では，英語の説明文を Google 翻訳 API を用いて，日本語に変換してデータを増強する．

4. 2 カテゴリの類似度の測定に英語のデータを用いる方法

表される．

カテゴリ間の関連性は，カテゴリごとに権限の使われ方に特() 徴があるという観点から重要な情報である．よって，より正確∑()
P U = et , K = e p() な計算が求められる．日本語でも英語でも，カテゴリ間の類似
I(U; K) =P U = et , K = e p log2
P (U = et ) P K = e pet ∈{1,0}e p ∈{1,0}度は概ね同じという仮定のもと，カテゴリの類似度の計算に英(2)語のデータを用いる．これによってより多くのデータが使え，確率変数 U は単語 t の出現を，確率変数 K を権限 p が要求され正確なカテゴリ間の関係性を捉えることができると考えられることを表す．単語 t が出現するとき U = 1 をとり，単語 t がる．英語と日本語のデータの両方を用いた カテゴリ A とカテ

出現しないとき U = 0 のときをとる．また，権限 p が要求さ

ゴリ B の距離 dis(A, B) はれるとき K = 1 を，権限 p が要求されないとき K = 0 をとる．
これによって 単語 t と権限 p の依存度がわかり，I の大きい単語の上位を選ぶことで権限に関連する単語を抽出することができる．

3. 4 アプリケーションおよび権限に対応する文の決定
文の決定には，Liu らの研究のアルゴリズムを応用する．この方法は文 S の各単語 w に対して投票を行い，文で平均をとった
ものを文の投票とする．
先行研究において，ある単語 w への投票は∑K
T extRank(w,Dk )votes(w) = IDF(w) × K1 k=1
maxw′ ∈V T extRank(w′ ,Dk )で行われた．式中の D は検索で類似していると判定されたアプリの説明文である．式中の T extRank は，Rada らの方法 [19]で計算される．
本研究では，権限へ文が対応しているかも文を選択する際の重要な要素である．そこで，権限 P に関連のある単語の集合を

Pwords として

dis(A, B) =λ ∗ disJP(A, B) + (1 − λ) ∗ disEN(A, B)
2(5)で計算される．式中の disEN, disJP は英語のデータおよび日
本語のデータだけで計算した カテゴリ間の距離を表し，λ は重み付けのための定数である．今回，λ = 0.5 とした．

5 評価実験
5. 1 実験に使用したアンドロイドアプリのデータ実験に使用したアプリのデータの内訳は，以下の表のとおりである．この内の日本語のデータ 10 件をランダムに抽出して，
言語

データ量

日本語

9416

英語

16519

表 1 データの構成

そのアプリケーションが保有する権限に対する機能の説明を人手で作成し，検証用データとした．今回対象とする権限はマイク，位置情報，カメラの 3 種類に絞った．それらの検証用デー
タを用いて，システムによって抽出された文と人手で作られた文との比較を行い提案手法を評価する．実験に使用した検証用データの例を図 1 に示す．

一方，Word2vec を用いた指標において，先行研究の結果が0.0104 となったが，翻訳拡張の結果の方は 0.0164 と先行研究
よりも大きくなっている．このことから翻訳拡張は意味を正確に捉えるという点においては有効に働いていると考えられる．
また，両評価指標において先行研究のままの値は 0.0143,0.0104
なのに対して，カテゴリの類似度を用いたときは 0.0273,0.0289となり，先行研究を上回った．これは，カテゴリの特徴を得る
際に英語のデータを用いることは有効であるということを示すと考えられる．しかし，今回用いた評価対象のアプリケーショ
ンにはカテゴリの偏りがある．そのため更なる検証が必要で
ある．

7 結

論

図 1 データの例

本研究では,Anrdoid アプリケーションが権限を要求する理由

5. 2 定量評価の方法
定量評価は Liu らの先行研究 [6] と同様の 2 種類の方法で行われる．

5. 2. 1 Jaccard 係数
Jaccard 係数を用いた定量評価は以下の手順で行われる．
（ 1 ） 提示された説明文を構成する単語と正解の文を構成する単語で Jaccard 係数を計算する．
（ 2 ） これを提示された各説明文に行い，平均をとる．
（ 3 ） 各アプリケーションについてこれを行い合計をとる．

5. 2. 2 Word2vecWord2vec を用いた方法は以下の手順で行われる．
（ 1 ） 提示された説明文を構成する単語と正解の文を構成する単語を Word2vec でベクトル化する．
（ 2 ） 各ベクトル間でコサイン類似度をとり平均をとる．
（ 3 ） これを提示された各説明文に行い，平均をとる．
（ 4 ） 各アプリケーションについてこれを行い合計をとる．

5. 3 ベースライン
ベースラインには，検索の段階に先行研究で用いられた

CLAP [6] と同様の検索アルゴリズムを使用したものを用いる．
これを提案手法を適用したデータに対して同様に使用し，抽出された文章を評価することでベースラインとする．

5. 4 実 験 結 果
実験結果を表 2 に示す．
重み付けの λ は先行研究の方法に関しては 0.4, 0.4, 0.1, 0.1 とし, 提案手法の方法に関しては λ1 = λ2 =0.004 とした．

6 考察

Jacard 係数を用いた指標において先行研究は 0.0143 という数値を記録したのに対して翻訳拡張は 0.0074 という値を記録した．よって翻訳拡張はむしろマイナスに働いているということがわかる．これは翻訳によって生成される日本語の説明文と元から日本語である説明文において使われる語が異なるからであると考えられる．

への補足説明を試みた．そのために，既存のアプリケーションの説明文から対象のアプリケーションの説明に関係ありそうなものを抽出し，付与することを行った．先行研究との差異としては類似度の計算に意味情報を利用する，カテゴリ間の類似度の計算に複数の言語のデータを用いる，権限に対応する語を利用するといったことが挙げられる．結果として，先行研究よりも良い結果となったが，検証対象が少ないため更なる検証が求められる．
今後は以下などを行っていく．

•

候補文の生成方法を検討する•

正解データの作成を数人で行うことでより正確な正解とする•ユーザからアンケートをとる定性評価を行う

手法

先行研究

1

2

3

1,2

1,3

2,3

1,2,3

Jaccard 係数

0.0143 0.0074 0.0273 0.0669 0.0217 0.0297 0.0527 0.0268

Word2vec

0.0104 0.0164 0.0289 0.0683 0.0224 0.0763 0.0599 0.0657

表 2 実験結果 表の 1, 2, 3 はそれぞれ翻訳拡張の利用，カテゴリ類似度の拡張を利用，検索のステップにおけるアプリケーションの説明文の類似度の計算方法，および文の決定におけるランク付けの方法を先行研究と変更 に対応する

文

献[1] Google announces over 2 billion monthly active devices on
android. https://www.theverge.com/2017/5/17/15654454/android[18]reaches-2-billion-monthly-active-users.
[2] Number of available applications in the google play store from december 2009 to june 2018. https://www.statista.com/statistics/266210/numberof-available-applications-in-the-google-play-store/.
[19][3] Record levels of app downloads & app store consumer spend in
q4 2017. https://www.appannie.com/en/insights/market-data/appdownloads-consumer-spend-q4-2017/.
[4] Yisha Luo Weijia Jia Dong Xuan Nan Xu, Fan Zhang and Jin Teng.
Stealthy Video Capturer: A New Video-based Spyware in 3G Smartphones. ACM, 2009.
[5] Yahoo!乗 換 案 内 無 料 の 時 刻 表 、運 行 情 報 、乗 り 換 え 検
索. https://play.google.com/store/apps/details?id=jp.
co.yahoo.android.apps.transit&hl=ja.
[6] Xueqing Liu, Yue Leng, Wei Yang, ChengXiang Zhai, and Tao Xie.
Mining android app descriptions for permission requirements recommendation. 2018 IEEE 26th International Requirements Engineering
Conference (RE), pp. 147–158, 2018.
[7] S. E. Robertson and S. Walker. Some simple eﬀective approximations to the 2-poisson model for probabilistic weighted retrieval. In
Proceedings of the 17th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR’94, pp. 232–241, New York, NY, USA, 1994. Springer-Verlag New
York, Inc.
[8] Wei Yang William Enck Tao Xie Rahul Pandita, Xusheng Xiao.
WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX, 2013.
[9] Xinyi Zhang Yan Chen Tiantian Zhu Zhong Chen Zhengyang Qu,
Vaibhav Rastogi.
AutoCog: Measuring the Description-topermission Fidelity in Android Applications. ACM, 2014.
[10] Alessandra Gorla Ilaria Tavecchia Florian Gross Andreas Zeller.
Checking app behavior against app descriptions. ICSE, 2014.
[11] Mohammad Nauman, Sohail Khan, and Xinwen Zhang. Apex:
Extending android permission model and enforcement with userdefined runtime constraints. In Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security, ASIACCS ’10, pp. 328–332, New York, NY, USA, 2010. ACM.
[12] S. Y. Yerima, S. Sezer, G. McWilliams, and I. Muttik. A new android malware detection approach using bayesian classification. pp.
121–128, March 2013.
[13] Erika Chin, Adrienne Porter Felt, Vyas Sekar, and David Wagner.
Measuring user confidence in smartphone security and privacy. In
Proceedings of the Eighth Symposium on Usable Privacy and Security, SOUPS ’12, pp. 1:1–1:16, New York, NY, USA, 2012. ACM.
[14] Jialiu Lin, Shahriyar Amini, Jason I. Hong, Norman Sadeh, Janne
Lindqvist, and Joy Zhang. Expectation and purpose: Understanding
users’ mental models of mobile app privacy through crowdsourcing.
In Proceedings of the 2012 ACM Conference on Ubiquitous Computing, UbiComp ’12, pp. 501–510, New York, NY, USA, 2012. ACM.
[15] Timothy Vidas, Nicolas Christin, and Lorrie Faith Cranor. Curbing
android permission creep. In In W2SP, 2011.
[16] Rada Mihalcea, Courtney Corley, and Carlo Strapparava. Corpusbased and knowledge-based measures of text semantic similarity.
In Proceedings of the 21st National Conference on Artificial Intelligence - Volume 1, AAAI’06, pp. 775–780. AAAI Press, 2006.
[17] Tom Kenter and Maarten de Rijke. Short text similarity with wordembeddings. In Proceedings of the 24th ACM International on Conference on Information and Knowledge Management, CIKM ’15, pp.
1411–1420, New York, NY, USA, 2015. ACM.
T. Sakai. The use of external text data in cross-language information
retrieval based on machine translation. In IEEE International Conference on Systems, Man and Cybernetics, Vol. 6, pp. 6 pp. vol.6–,
Oct 2002.
Rada Mihalcea and Paul Tarau. Textrank: Bringing order into text. In
Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing, 2004.