permissionの日本語でおk

34
「Permissionの日本語でお」 2011.10.14 @youten_redo ようてん

Upload: youten-

Post on 31-May-2015

4.012 views

Category:

Technology


0 download

DESCRIPTION

Androidのパーミッション一覧を表示するアプリ、Permission Viewerを作った際におもったこと。

TRANSCRIPT

Page 1: Permissionの日本語でおk

「Permissionの日本語でおk」

2011.10.14

@youten_redo ようてん

Page 2: Permissionの日本語でおk

2

自己紹介

� ようてん (@youten_redo)

� IT系リーマン。Androidの仕事をしています。

� (ネタ) LTだいすき。

� つくったアプリ

� 本日の主役

Page 3: Permissionの日本語でおk

「セキュリティでLTだと」

Page 4: Permissionの日本語でおk

「ついに俺の時代が」

(こない)

Page 5: Permissionの日本語でおk

少し昔話をさせてください

Page 6: Permissionの日本語でおk

2010.03 Nexus One 購入

Page 7: Permissionの日本語でおk

Marketでアプリを選択してインストール

Marketでアプリを選択してインストール

Marketでアプリを選択してインストール

Marketでアプリを選択してインストール

Marketでアプリを選択してインストール

Marketでアプリを選択してインストール

Page 8: Permissionの日本語でおk

怪しいアプリ大丈夫?

Google「Permission見てよ」

Page 9: Permissionの日本語でおk

9

日本語でおk

�これはひどい

Page 10: Permissionの日本語でおk

2010.04の俺

「もう少しPermissionというものを

意識した方がいいんじゃないだろうか」

Page 11: Permissionの日本語でおk

11

Permission Viewer作った

�機能

�インストールされている全アプリケーションのパーミッション一覧を取得し、カラフルに表示します。

�タップをすれば個別アプリケーションのパーミッション一覧、さらにタップすればそれぞれのパーミッションの説明が表示されます。

Page 12: Permissionの日本語でおk

12

Permission Viewer作った

Page 13: Permissionの日本語でおk

13

このアプリオススメ?

�古いです。�当時は同僚など、まわりに見せても目的があんまり理解し

てもらえませんでした。

�最近はそこそこ。

�更新してません。�Gingerbreadの際から、1年ぐらい更新してません。

�Honeycombでも動作しません。

�あんまりオススメしません。�tSpyCheckerとかS2 Permission Checkerとかの方がオ

ススメです。

Page 14: Permissionの日本語でおk

本題

「そんなアプリ作ってた時の

小ネタを以下紹介」

Page 15: Permissionの日本語でおk

15

の、前におさらい

�protectionLevelによるPermissionの分類

normal普通のやつ。デフォルト。

signature署名一致時のみ。

標準Permissionでは要システム署名

dangerous少し危ない。

ユーザに許可とってね。(こっそりできるけど)

signatureOrSystem署名一致orプリインのみ。

rootedなら残念ながらやり放題。

3rdPartyのアプリじゃ有効じゃないのがある

Page 16: Permissionの日本語でおk

1. Permission文字列のリソースどこ

Page 17: Permissionの日本語でおk

17

2. Permission文字列のリソースどこ

�(Android SDKインストールディレクトリ)¥platforms¥android-xx¥data¥res¥values-ja¥string.xml あたりにあります。

Page 18: Permissionの日本語でおk

2. Android 1.5(API Level 3)だと…

Page 19: Permissionの日本語でおk

19

2. Android 1.5(API Level 3)だと…

�Android 1.5から1.6になった際に増えたPermissionに対応するために、Android 1.5(API Level 3)で作ったアプリは、それ以上のAndroidデバイスへインストール時に増えたPermissionが勝手に付与されます。

�具体的には以下の2つ。

• READ_PHONE_STATE

• WRITE_EXTERNAL_STORAGE

�でもtargetSdkVersionを4以上にすればだいじょうぶ!

@95kugo先生他みんなありがとう

Page 20: Permissionの日本語でおk

3. 全部がandroid.permission.*じゃない

Page 21: Permissionの日本語でおk

21

3. 全部がandroid.permission.*じゃない

�Manifest.permissionのリファレンスを見れば分かるのですが、大半が「android.permission.*」なのに対して、一部そうなってないものがあります。

�具体的には以下の通り。

• com.android.alarm.permission.SET_ALARM

• com.android.browser.permission.READ_HISTORY_BOOKMARK

S

• com.android.browser.permission.WRITE_HISTORY_BOOKMARK

S

�文字列比較には留意を…。

Page 22: Permissionの日本語でおk

4. 説明文が開発者向け

Page 23: Permissionの日本語でおk

23

4. 説明文が開発者向け

�SMSの受信

�RECEIVE_SMS

�SMSメッセージの受信と処理をアプリケーションに許可します。悪意のあるアプリケーションがメッセージを監視したり、表示せずに削除する恐れがあります。

SとかMとか…難しいですよね

Page 24: Permissionの日本語でおk

24

4. 説明文が開発者向け

�実行中のアプリケーションの順序の変更

�REORDER_TASKS

�タスクをフォアグラウンドやバックグラウンドに移動することをアプリケーションに許可します。悪意のあるアプリケーションが優先されて、コントロールできなくなる恐れがあります。

ラスクとかフォアグラがどうした

Page 25: Permissionの日本語でおk

25

4. 説明文が開発者向け

�Linuxのシグナルをアプリケーションに送信

�SIGNAL_PERSISTENT_PROCESSES

�受信した電波を継続プロセスに送信することをアプリケーションに許可します。

訳が間違ってる気がしますよ??

Page 26: Permissionの日本語でおk

5. 直訳怖い

Page 27: Permissionの日本語でおk

27

5. 直訳怖い

�stickyブロードキャストの配信

�BROADCAST_STICKY

�配信が終了してもメモリに残るようなstickyブロードキャストをアプリケーションに許可します。悪意のあるアプリケーションがメモリを使いすぎて、携帯電話の動作が遅くなったり、不安定になる恐れがあります。

stickyも訳してくれよ。

Page 28: Permissionの日本語でおk

28

5. 直訳怖い

�端末を永続的に無効にする

�BRICK

�携帯電話全体を永続的に無効にすることをアプリケーションに許可します。この許可は非常に危険です。

文鎮は危険です。

Page 29: Permissionの日本語でおk

6. 日本語でおk

Page 30: Permissionの日本語でおk

30

6. 日本語でおk

�完全なインターネットアクセス

�INTERNET

�ネットワークソケットの作成をアプリケーションに許可します。

何が完全なのか

Page 31: Permissionの日本語でおk

31

6. 日本語でおk

�アプリケーションを常に実行する

�PERSISTENT_ACTIVITY

�自身を部分的に永続させて、他のアプリケーション用にはその領域をシステムに使わせないようにすることをアプリケーションに許可します。

我は永遠の存在と成りて他者を拒む!

Page 32: Permissionの日本語でおk

32

6. 日本語でおk

�アプリケーションのコンポーネントを有効/無効にする

�CHANGE_COMPONENT_ENABLED_STATE

�別アプリケーションのコンポーネントの有効/無効を変更することをアプリケーションに許可します。これにより悪意のあるアプリケーションが、携帯電話の重要な機能を無効にする恐れがあります。アプリケーションコンポーネントが利用できない、整合性が取れない、または不安定な状態になる恐れがあるので、許可には注意が必要です。

長っ

Page 33: Permissionの日本語でおk

まとめ

Page 34: Permissionの日本語でおk

34

まとめ

1. アプリ開発に不要なものは隠蔽すべき

2. 開発者向けとユーザ向けは分離すべき

3. 継続的に粒度を再構築すべき

ユーザのために開発者ががんばるしかない