Android アプリの権限の説明
すべての Android アプリは、デバイスの一部にアクセスするためのアクセス許可を要求しますが、リクエスト画面では、それらのアクセス許可によってアプリに実際に何ができるのかが説明されることはほとんどありません。以下の概要では、Android の主要な権限をすべてカバーし、実際にプライバシーに影響を与えるいくつかの権限を指摘し、何を許可するかを決定するための簡単なルールをいくつか示します。
Androidの権限とは何ですか?
Android のアクセス許可は、アプリがデバイス上でアクセスできるものを制御するセキュリティ メカニズムです。アプリをインストールまたは実行すると、さまざまなハードウェア機能 (カメラ、マイク) またはデータ (連絡先、位置情報) へのアクセスが要求される場合があります。これらの権限を理解することは、プライバシーとセキュリティを維持するために非常に重要です。
許可のカテゴリ
Android では、アクセス許可を 2 つの主なカテゴリに分類しています。
通常の権限 (自動的に付与)
これらの権限はユーザーのプライバシーに重大なリスクをもたらすものではなく、自動的に付与されます。
- インターネット: インターネットへのアクセス、ほぼすべてのアプリがこれを必要とします
- 振動: デバイスの振動モーターを制御します
- SET_WALLPAPER: デバイスの壁紙を変更する
- ウェイクロック: デバイスがスリープ状態になるのを防止します
- アクセス_ネットワーク_状態: ネットワーク接続ステータスを確認する
- ブルートゥース: ペアリングされた Bluetooth デバイスに接続します
危険な権限 (ユーザーの承認が必要)
これらの権限には、プライバシーに影響を与える可能性のあるユーザー データまたはデバイスの機能が含まれます。
| 権限グループ | アクセス対象 | リスクレベル |
|---|---|---|
| カメラ | 写真を撮ってビデオを録画する | ⚠️高い |
| マイクロフォン | 音声を録音する | ⚠️高い |
| 位置 | GPS とネットワークベースの位置情報 | ⚠️高い |
| 連絡先 | 連絡先リストの読み取り/書き込み | ⚠️高い |
| 電話 | 電話をかける、電話の状態を読み取る、通話記録 | 🔴 非常に高い |
| SMS | SMS メッセージの送信、読み取り、受信 | 🔴 非常に高い |
| ストレージ | デバイス上のファイルの読み取り/書き込み | ⚠️中~高 |
| カレンダー | カレンダーイベントの読み取り/書き込み | ⚠️中 |
| ボディセンサー | 心拍数モニター、歩数計 | ⚠️中 |
いつ疑わしいのか
権限リクエストがアプリの機能と一致しない場合は、質問する必要があります。
- 🚩 連絡先 または SMS アクセスを要求する懐中電灯アプリ
- 🚩 カメラ または マイクロフォン アクセスを要求する計算機
- 🚩 電話 または 通話記録 アクセスを要求する壁紙アプリ
- 🚩 SMS 権限を要求するゲーム
- 🚩 すべての権限を一度に要求するアプリ
インストール前にAPKの権限を確認する方法
APK をサイドロードしている場合は、インストールする前にその権限を確認する必要があります。
- APK情報ツール を使用して完全な権限リストを抽出します
- アプリの明示された目的に照らして各権限を確認します
- Play ストアの公式アプリと権限を比較する
- 疑わしいものがある場合はインストールしないでください
特別な権限: インストール時に表示されないもの
Android には、「通常」および「危険」権限の他に、特別 または アプリ 権限と呼ばれる第 3 層があります。これらはプラットフォーム上で最も強力な機能であり、OS がそれぞれの機能を有効にするために設定に個別に意図的にアクセスする必要があるほど強力です。これらは、マルウェアによって最もよく悪用されるものでもあります。サイドロードされたアプリがこれらのいずれかを要求した場合は、立ち止まって理由を尋ねてください。
- アクセシビリティサービス (BIND_ACCESSIBILITY_SERVICE:元々はスクリーンリーダーや身体障害者支援のために設計されたもの)。この権限を持つアプリは、画面上のすべての内容を読み取り、入力内容を確認し、さらにはユーザーに代わってボタンをタップすることも可能です。機能が明らかにアクセシビリティに関連しているアプリ (TalkBack、パスワード マネージャーの自動入力フロー、画面読み上げ辞書アプリ) にのみ付与します。
- デバイス管理者 / デバイス所有者: アプリでデバイスのロック、データの消去、パスワードの変更、カメラの無効化を実行できます。これを必要とする消費者向けアプリはほとんどありません。エンタープライズ モバイル管理 (MDM) クライアントは正当な例外です。
- 他のアプリの上に描画 (SYSTEM_ALERT_WINDOW: アプリが画面上の他のものをペイントできるようにします。チャットヘッドバブルおよびオーバーレイトランスレータによって合法的に使用されます。偽の「賞品を請求する」オーバーレイの下に「はい、アカウントをドレインします」ボタンを隠すタップジャッキング マルウェアによって悪用されます)。
- すべてのファイルへのアクセス (MANAGE_EXTERNAL_STORAGE: Android 11 以降の範囲指定されたストレージ保護をバイパスし、アプリが共有ストレージ上のすべてのファイルを参照できるようにします。ほとんどのアプリでは、代わりに標準の写真/ドキュメント ピッカーを使用する必要があります)。
- 通知リスナー: アプリがデバイス上のすべての通知を読み取ることができるようにします。生産性ハブ アプリの優れた機能。悪用された場合の認証情報の盗難に最適なツールです (銀行アプリがワンタイム コードを通知ストリームに投稿します)。
- 不明なアプリをインストールする: ホスト アプリをサイドローダーに変えます。実際に Play ストアの外部から APK をインストールする必要がある場合にのみ、ブラウザまたはファイル マネージャーでこれを設定し、その後オフに戻します。
注意すべき権限の組み合わせ
個々の許可はストーリーの一部にすぎません。多くの場合、組み合わせは単一のリクエストよりも明らかになります。
- アクセシビリティ + 通知リスナー + SMS: これは、古典的な Android バンキング トロイの木馬トリオです。このトロイの木馬は、画面上のコンテンツを読み取り、銀行のワンタイム パスワード通知を傍受し、ユーザーがテキスト経由で OTP を受信した場合には、SMS 自体から OTP を取得することもできます。この 3 つすべてを組み合わせた正規の消費者向けアプリは存在しません。
- カメラ + マイク + ALL_FILES_ACCESS + 背景の位置情報: 懐中電灯、電卓、または壁紙を装ったアドウェア スタイルの監視アプリ。拒否してアンインストールします。
- SYSTEM_ALERT_WINDOW + BIND_DEVICE_ADMIN: ランサムウェアクラスの動作。このアプリは、ランチャーの上部に「携帯電話はロックされています。X を支払います」という画面を描画し、ユーザーがランチャーを無効にできないようにすることができます。
- ダイヤル、連絡先アプリ、通話録音ツールではないアプリの場合は 電話 + 連絡先 + 通話記録: 細心の注意を払ってください。この組み合わせは、Google 自体がこれらのカテゴリで出荷する非常に狭いアプリのセット以外では正当に使用できません。
機能した監査の例
フォーラムで無料の「トーチ」APK を見つけ、インストールする前に APK情報ツール で実行したとします。マニフェストには、次の要求された権限が表示されます。
android.permission.CAMERA
android.permission.FLASHLIGHT
android.permission.INTERNET
android.permission.READ_CONTACTS
android.permission.READ_SMS
android.permission.RECEIVE_SMS
android.permission.READ_PHONE_STATE
android.permission.ACCESS_FINE_LOCATION
android.permission.SYSTEM_ALERT_WINDOW
懐中電灯アプリには、せいぜい カメラ許可 (カメラ サブシステムを介して LED にアクセスするため)、懐中電灯許可、そして場合によっては広告用のインターネット許可が必要です。その線を下回るものはすべて不当です。 READ_SMS + READ_CONTACTS + RECEIVE_SMS + 位置情報 + 描画アプリは、上で説明した監視および OTP 盗難の署名です。決定: インストールしない。ファイルを削除します。
サイドロードするすべての APK に対して同じ種類のチェックを実行します。権限監査を 5 分間行うことで、ウイルス対策アプリでは後からクリーンアップできない問題を回避できます。
さまざまな Android バージョンでのアクセス許可の動作
パーミッション UX はほぼ毎年再構築されています。同じ基本的な機能でも、Android 9 と Android 15 では大きく異なるように感じられる場合があります。
- Android 6 (2015): 危険な権限グループに対してランタイム権限が導入されました。アプリはインストール時にすべての権限を要求することができなくなり、彼らはその機能をいつ使用したかを尋ねる必要がありました。
- Android10: 3 つの状態の位置情報のアクセス許可 (常に許可 / 使用中のみ許可 / 拒否)。背景の位置は個別に許可されるようになりました。
- Android11: ワンタイム権限 (単一セッションに対して付与) と、数か月間使用されなかったアプリに対する自動権限取り消し。
- Android13: 新しくインストールされたアプリに対する個別の通知権限。包括的な READ_EXTERNAL_STORAGE を置き換える詳細なメディア権限 (READ_MEDIA_IMAGES、READ_MEDIA_VIDEO、READ_MEDIA_AUDIO)。
- Android14: 部分的な写真/ビデオへのアクセス。アプリはライブラリ全体ではなく「これらの写真のみ」を要求できます。
- Android15: より厳格なフォアグラウンド サービス制御。 宣言されたサービスタイプは、実際に使用される実行時権限と一致する必要があります。
まだ古い Android バージョンを使用している場合は、新しい保護は適用されません。何をインストールするかにはさらに注意してください。
よくある質問
許可を拒否すると、アプリは動作しなくなりますか?
ほとんどのアプリは正常に機能を低下させます。カメラ ボタンはグレー表示になり、位置認識機能は無効になりますが、残りの部分は引き続き機能します。少数の不適切に作成されたアプリはクラッシュしたり、起動を拒否したりすることがあります。その場合、これほど多くの要求を要求するアプリが本当に必要なのかどうかが問われます。
アプリが時々再度許可を求めるのはなぜですか?
以前に「今回のみ」(1 回限りの付与) を選択したか、アプリを長期間使用しなかったために許可が取り消され、Android によって自動的に許可が取り消されました。どちらの動作も意図的な保護です。
APK をインストールする前に、APK が宣言するすべての権限を確認できますか?
はい。 APK を APK情報ツール にドロップすると、ブラウザーで AndroidManifest.xml が解析され、バイナリ XML 形式がデコードされ、アプリで宣言されたすべての uses-permission エントリがリストされます。 「インストール」をタップする前に、そのリストをアプリのカテゴリに予想されるものと比較してください。
デバイスの権限を管理する
アプリの権限を確認する方法
- 設定→アプリに行く
- アプリを選択してください
- 「権限」をタップ
- 必要に応じて権限を確認して切り替えます
特定の権限を持つすべてのアプリを表示する方法
- 設定 → プライバシー → 権限マネージャーに行く
- 許可カテゴリ (カメラ、位置情報など) を選択します。
- その権限にアクセスできるすべてのアプリを表示します
- 必要のないアプリからのアクセスを取り消す
Android 13 以降の権限の変更
最近の Android バージョンでは、権限の処理が大幅に改善されました。
- 詳細なメディア権限: アプリは完全なストレージ アクセスではなく、特定のメディア タイプ (写真、ビデオ、オーディオ) を要求する必要があります
- 通知許可: アプリは通知を送信するために許可を求める必要があります
- 自動取り消し: 数か月間使用していないアプリの権限は自動的に取り消されます
- おおよその位置: 正確な位置ではなく、おおよその位置を付与できます
- 1 回限りのアクセス許可: カメラ/マイク/位置情報を 1 つのセッションのみ許可します
アプリの権限を監査するための実践的なルール
権限はプライバシーの多くを左右するため、タップするよりも読む方が有益です。アプリの目的に合わないものについては質問し、サイドロードする前に APK 情報エクストラクターを通じて APK を実行してください。適切に構築されたアプリでは、機能するために必要なものが求められますが、それ以外のことはあまり求められません。