エドガー・セルバンテス / Android 権威
TL;DR
Advertisement
- Android 15 では、悪意のあるアプリによる OS の抜け穴の悪用を困難にする新しい拡張確認モードが導入される可能性があります。
- Android は、ユーザーがアプリ ストアの外部からサイドロードされたアプリのアクセシビリティ サービスや通知リスナー サービスを簡単に有効にすることをブロックします。
- ただし、Android がこのために使用する方法には抜け穴があり、Android 15 で塞がれる予定です。
ほとんどの Android ユーザーは、Google Play などのプリロードされたアプリ ストアからアプリをダウンロードしますが、一部のユーザーは代替オンライン ソースからアプリを入手します。これはサイドローディングと呼ばれます。 Android では、必要なアプリ インストール ファイルを入手する限り、ユーザーは Google Play ストアを使わずにサードパーティ アプリをインストールできるため、これが可能になります。 アプリを自由にサイドロードできる機能は、Android が iOS よりもオープンなプラットフォームである理由の大きな部分を占めています。 残念なことに、これが、Android が iOS より安全ではないと人々が誤って信じている理由でもあります。
これは、アプリの入手元に関係なく、Android に組み込まれたプライバシーとセキュリティ機能により、ユーザーの同意なしに機密のアクセス許可にアクセスできないことが保証されるためです。 ただし、代替のオンライン ソースからアプリをサイドローディングすることは、Google Play を使い続ける場合と比較して、平均的なユーザーにとって若干のリスクを伴うことは事実です。 これは、悪意のある開発者にとって、Google Play アプリの配布に伴う規制、官僚主義、監視に対処する必要がないため、Google Play の外でアプリを配布する方が単純に簡単であるためです。
悪意のある Android アプリは、その提供元に関係なく、その能力を利用してユーザーをだましてアクセシビリティ API や通知リスナー API へのアクセスを許可させようとするのが一般的です。 アクセシビリティ API を使用すると、アプリは画面のコンテンツを読み取り、ユーザーに代わって入力を実行できます。一方、通知リスナー API を使用すると、アプリは通知を読み取ったり、通知に対してアクションを実行したりできます。 これらの API を使用すると、広告詐欺を行ったり、ワンタイム パスワード (OTP) を盗んだり、追加のペイロードをインストールしたり、その他多くのことを行うことができます。
Google Play では、これらの API が本来の目的に確実に使用されるようにいくつかの (ほとんどが官僚的な) 措置を講じていますが、Android 自体は、どの程度のアクセスを許可するかを決定する際に、主にアプリ自身の宣言に依存しています。 たとえば、Android 13 以降では、オペレーティング システムにより、ユーザーはアプリ ストアの外部からサイドロードされたアプリのアクセシビリティ サービスや通知リスナー サービスを簡単に有効にすることができなくなります。 たとえば、電子メールで送信されたアプリをサイドロードすると、Android はそのアプリのアクセシビリティ サービスや通知リスナー サービスが「制限付き設定」としてマークされるため、有効にすることをブロックします。
Advertisement
ミシャール・ラーマン / Android 当局
アプリがアプリ ストアの外部からサイドロードされると、OS はどのようにしてそれを認識するのでしょうか? これは、インストールを行ったアプリが Android のセッションベースのインストール API (アプリ ストアで一般的に使用されますが、独占的に使用されるわけではありません) を使用したか、Android の非セッションベースのインストール API (ファイル マネージャーで一般的に使用される) を使用したかどうかに基づいて判断されます。 、Web ブラウザ、および汎用ファイルのダウンロードをサポートするその他のアプリ)。 このアプローチの問題は、どのアプリも Android のセッションベースのインストール API を利用して別のアプリをサイドロードできることです。つまり、正規のサードパーティ アプリ ストアが実際にサイドローディングを実行しているという保証はありません。 悪意のあるアプリ開発者は、悲しいことに Android の制限付き設定機能のこの抜け穴を認識し、すでにこのセキュリティ機能をバイパスするために悪用しています。
幸いなことに、Google は Android の制限付き設定機能のこの明らかな抜け穴を塞ぐことに取り組んでいます。 Android 15 では、同社は新しい「拡張確認モード」機能を導入する準備を進めています。これは基本的に制限付き設定のより厳格で強化されたバージョンです。 拡張確認モード機能は最新の Android 15 Beta 1.1 アップデートではまだ有効になっていませんが、コードを分析し、それがどのように機能するかを詳しく説明しました。
まず、[拡張確認モード]ダイアログの文言は、既存の[制限付き設定]ダイアログとほぼ一致しています。 制限付き設定の場合と同様に、アプリのアクセシビリティまたは通知リスナー サービスを有効にしようとすると、ECM ダイアログに「セキュリティのため、この設定は現在利用できません」というメッセージが表示されます。 ただし、ダイアログでは、「このアプリは %1$s 権限を要求しました。これは、セキュリティとプライバシーを危険にさらす可能性があるため、制限された設定です。 この権限を制限すると、このアプリが動作しなくなる可能性があります。」 それ以外は、タイトルと 2 つのボタンに至るまで、ダイアログの残りの部分は同じです。
Android 15 の新しい拡張確認モードと Android 13 の制限付き設定機能の決定的な違いの 1 つは、その適用方法です。 Android 15 の拡張確認モードでは、使用されたインストール API に基づいて区別するのではなく、工場出荷時のイメージにプリロードされている許可リストをチェックします。 この許可リストは、次の場所にある XML ファイルです。 /system/etc/sysconfig
Android 15 のパスによって、どのパッケージとインストーラーが制限から免除されるかが決まります。
ミシャール・ラーマン / Android 当局
XML ファイルで明示的に許可リストに登録されているパッケージはすべて「信頼できるパッケージ」とみなされ、ECM 制限の対象から除外されます。 同様に、XML ファイルにリストされているインストーラーはすべて「信頼できるインストーラー」とみなされます。これは、インストールされるアプリが ECM 制限から免除される資格があることを意味します。 「信頼できるインストーラー」によってインストールされたアプリは、「信頼できる」パッケージ ソースからのものとしてマークされている場合 (つまり、 PACKAGE_SOURCE_DOWNLOADED_FILE
または PACKAGE_SOURCE_LOCAL_FILE
)。
これは、アプリが信頼できないインストーラーまたは信頼できないソースからのものである場合、ユーザーがアプリのアクセシビリティまたは通知リスナー サービスを有効にしようとすると、強制的に[拡張確認モード]ダイアログが表示されることを意味します。 これにより、Android 13 の制限付き設定機能に存在した抜け穴が事実上閉じられ、悪意のあるサードパーティ製アプリが高度な特権を取得することが困難になります。
残念ながら、正規のサイドロードされたアプリのアクセシビリティまたは通知リスナー サービスが ECM 制限に該当した場合でも有効にできるかどうかはわかりません。 アプリの制限付き設定を無効にすることは可能であるため、ECM 制限でも可能であるはずですが、Android 15 でこの機能をまだ動作させることができていないため、確実なことは言えません。
ミシャール・ラーマン / Android 当局
Advertisement
Android 15 Beta 1.1 の時点で、システムによってホワイトリストに登録されているパッケージとインストーラーはゼロであることにも注意してください。 ECM が有効になっている場合、信頼できないソースからのものとしてマークされているアプリを除き、すべてのアプリが ECM 制限から免除されることを意味します。 ただし、ECM が有効になっておらず、許可リストに登録されたインストーラーやパッケージもないため、Google がこの機能をどのように使用する予定であるかについては情報がありません。 Google は、Play ストアをすべての Android デバイスの信頼できるインストーラーとしてリストすることを要求しますか? サードパーティ アプリ ストアがある場合、Google と OEM はどのサードパーティ アプリ ストアを許可リストに登録しますか? これらは私にも答えがわからない質問ですが、いずれにせよ、Google が Android のセキュリティを向上させるために行動を起こしているのを見て嬉しく思い、Android 15 の強化された確認モードの詳細を知ることを楽しみにしています。