アプリケーションの権限をちょっとだけAndroidと比較してみる


#wp7jp #wp7dev_jp #is12t

最近 Android アプリケーションの権限が話題に上がっています。そしてアプリケーションで不要な権限を取得しなていないかチェックするべきであるといった話が出ていたり、合わせて Windows Phone のアプリケーションの権限はどうだという話も聞かれます。

やはり、アプリケーションの登録で審査がなく、開発者に多くの権限選択の幅があるプラットフォームでは、利用者がある程度自身で見極め判断する必要あるでしょう。ではWindows Phone ではどうかというと、そもそもプラットフォームが異なるので単純比較はできませんが、ちょっと比較してみました。

Andoid での権限は Windows Phone ではどうなのか?

Android のアプリケーションに tSpyChecker というアプリがあります。インストールされているアプリケーションが取得している権限をアイコンで表示してくれるものです。UIが見やすくていいですね。このアプリケーションでは9つの権限についてチェックしていますが、これらの権限は Windows Phone ではどうなっているのか比較してみました。

権限区分 Android (tSpyChecker 項目) Windows Phone
BIND_INPUT
_METHOD
このアプリケーションは文字入力を監視してパスワードなどの値を外部に送信できます Windows Phoneでは入力情報を監視したり取得する事はできません
personal このアプリケーションは個人情報にアクセスして外部に送信できます 電話番号や電話帳などの個人情報は基本的にユーザーが選ばない限り取得する事ができません。端末固有のIDは取得可能です。(2/15修正)
monitoring このアプリケーションはユーザの位置情報などの行動を監視し、外部に送信できます 位置情報を黙って使うとアプリケーションの審査で落ちるほか、位置情報取得OFFの機能が必要です。さらにバックグラウンドでの動作ができません
CALL_PHONE このアプリケーションはユーザに気づかれずに電話をかけることができます 電話はユーザーが最後にボタンを押さないとかけられません
SEND_SMS このアプリケーションはユーザに気づかれずにショートメールを送信できます ショートメールはユーザーが最後にボタンを押さないと送れません
admin このアプリケーションの開発者は遠隔操作によって端末を強制的にロックする、パスワードを改変する、工場出荷状態にする、などを行うことができます アプリケーションから端末のロックやパスワード改編、工場出荷時状態にするといった遠隔操作はできません
debug このアプリケーションは開発中の状態にあるか、不完全です Debugモードの不完全なアプリケーションは通常審査で通りません
falsification このアプリケーションはユーザに気づかれずにデータを改ざんしたり、削除することができます アプリケーションからカレンダー、メール、ブックマーク等のデータの改ざん、削除ができません
control このアプリケーションは端末を不安定にしたり、悪影響を及ぼすことができます 端末操作に悪影響を及ぼす権限も機能もなく、審査でも通りません

見るとわかる通り、問題となっている権限のほとんどは、そもそもOSの仕様とアプリケーション審査によって、Marketplaceに公開された Windows Phone アプリケーションからはできないようになっています。これが全てというわけではないと思いますが、ある程度の目安にはなるでしょう。

これを見ても単純に「権限の表示」を比較する事に無理があることがわかります。

Comments (10)

  1. SIM無しさん より:

    personal の項について質問です。

    「個人情報は基本的にユーザーが選ばない限り取得する事ができません」とのことですが、この説明は

    名前の一部をタイプするとアドレス帳から検索した結果が提示されるKDDIの「Eメール」アプリや

    起動時に自局番号が自動的にセットされている「プロフィール交換」アプリの動作と

    食い違っていると思うのですが、いかがでしょうか。

  2. 高橋 より:

    あくまで記事で挙げられている基準は一般ユーザーが作るアプリケーションに対するものです。

    OEMメーカー(キャリアを含む)アプリケーションの基準は一般のアプリケーション基準と異なります。

    (通常のアプリケーションよりもより厳しい審査が行われます)

    「Eメール」や「プロフィール交換」はKDDI製ですので、上記の基準とは異なります。

  3. より:

    adminの項について質問です。

    「工場出荷時状態にするといった遠隔操作はできません」とのことですが、ExchangeOnlineのリモートワイプ機能でWindowsPhoneを初期化する事はできないという事になるのでしょうか?

    また、リモートワイプ機能が有効なoutlookクライアントを作りたいと思ったら、通常のアプリケーションよりも厳しい審査を行ってもらうように申請したら可能なのでしょうか?

  4. 高橋 より:

    リモートワイプ機能をアプリケーションに実装するできません。そういったAPIは用意されていません。

    また、特殊なアプリケーションはOEMメーカーかキャリア以外は作成・申請することはできません。

  5. SIM無しさん より:

    先立っての回答ありがとうございます。

    3点ほど質問させてください。

    http://www.microsoft.com/…/download-apps-and-games-faq.aspx の「アプリに特定の機能が必要かどうかは~」の項に列挙された14個の権限はいずれもOEMメーカ・キャリアに限定されないものと考えてよいでしょうか。(Xbox LIVE, プッシュ通知サービスは限定されているかもしれませんが)

    ・カレンダーを週間表示する機能を持つ複数のアプリを観察すると、「予定」権限があればアプリを起動しさえすればユーザのカレンダーの内容を列挙することが可能に見えます。このようなアプリケーションが「データサービス」権限も同時に持っていた場合、ユーザの予定全てを許可なく外部に送信することが可能という認識で間違いないでしょうか。

    ・こっそり写真を撮ることをセールスポイントとしているアプリがあります。ということは「カメラ」権限があればプレビューを行うことなく写真(フロントカメラのある端末ではユーザの顔写真)を撮影し、同時に「データサービス」権限があればユーザの許可なく外部に送信することが可能という認識で間違いないでしょうか。

  6. 高橋 より:

    すいません。なるべくご質問はサポートやフォーラムをご利用ください。

    ・ メーカ、キャリアに限定されたものであはりません。

    ・ 予定取得し、外部に送信することは技術的に可能だと思います。ただし確認はしたことはありません。また審査で通るものかどうかはわかりません。

    ・ カメラのRAW画像をキャプチャして撮影することは可能です。また取得した画像を外部に送信することは技術的には可能だと思います。そういったアプリケーションが審査で通るかどうかはわかりません。

  7. SIM無しさん より:

    では、personalの項の「ユーザーが選ばない限り取得する事ができません」という誤った内容を訂正していただければと思います。

    写真や予定は単体では「個人情報の保護に関する法律」で定義される「個人情報」に該当しないという主張はあるかもしれません。しかし、ユーザ視点で考えてみればそのような主張はとても受け入れられるものではありません。

    (加えて、他の情報と併せて端末IDや所有者IDと紐づけていけば容易に「個人情報」を構成することになりますし)

    また、審査があるといっても、難読化に加えて「時限式で発動する」「ネットワーク経由で発動可否をチェックする」等々の回避策が弄されている場合に完全な審査ができるとはとても思えません。

    (サポートやフォーラムの存在は知っておりましたが、最初からpersonalの項は誤りではないかと考えての問答でしたのでコメント欄を使用させていただきました。無礼をお許しください)

  8. 高橋 より:

    この記事の票の中の表現はあくまでも、tSpyChecker での項目に対して、Windows Phone はどうか?というものです。tSpyChecker のなかで個人情報という表現(アプリのヘルプでは実際に電話番号等のありますが)が使われていたので、その項目に対して記述を行っています。ですので、Windows Phone の部分の文章だけを取り出して、表現の是非をとられても困ります。

    とはいえ、誤解を招くようなので、修正しました。

    審査は難しいでしょうし、サービスの安全性まで論ずれば話は拡散します。しかし、この記事はあくまでもAndroidの権限との比較記事であり、Windows Phone のセキュリティ論全体を話しているものではないことはご理解ください。

  9. SIM無しさん より:

    tSpyChecker のドキュメントを確認したところ personal の項でREAD_CONTACTS, READ_CALENDAR が、monitoring の項で CAMERA がそれぞれ何らかのデータ通信サービスとセットで要求された場合は検出される記載されています。

    Windows Phone ではそれぞれ「データサービス+連絡先」「データサービス+予定」「データサービス+カメラ」に対応するかと思います。monitoring の項において位置情報のみに言及するなど有利な点のみを抜き出して表を作るのではなく、Windows Phone においても権限の組み合わせによっては有害な活動が行われることがあり、ユーザは権限や発行者に十分注意を払わなければならないという点を啓蒙することがエバンジェリストのなすべきことではないでしょうか。

    (連絡先の列挙が可能なことは「連絡先とカレンダーのサンプル」にて確認しました)

  10. 高橋 忍 より:

    コメントありがとうございます。

    確かにおっしゃられるように、開発者だけでなくユーザーに対しても様々な情報を提供すべきです。しかし、残念ながらリソースと時間が限られているなかデベロッパーエバンジェリストの立場上、まずは開発者に対する情報提供と優先で行っています。もちろん機会があればユーザーに対する情報提供も行っていきます。

    我々の行き届かない分、様々なコミュニティやユーザーの方からご支援をいただいております。SIM無さんからもほかのユーザーに対する情報提供をしていただければ幸いです。

    ご意見、ありがとうございました。

Skip to main content