Androidオペレーティングシステムの新しいバージョンが登場するたびに、ユーザーをマルウェアから保護するための新しい機能が追加されます。たとえば、Android 13では制限付き設定が導入されました。この記事では、その機能の概要と、何に対して保護するように設計されているのか、そしてどの程度効果的に機能するのかについて説明します。
制限付き設定とは
制限付き設定は、どのように機能するのでしょうか。サードパーティのソースからアプリケーションをインストールしていると想像してください。つまり、APKファイルをどこかからダウンロードしてインストールを開始するとしましょう。このアプリケーションは、Googleが特に危険であると考える(これには正当な理由がありますが、これについては後ほど説明します)特定の機能へのアクセスを必要としているとします。この場合、アプリケーションが、オペレーティングシステムの設定でアプリケーションに必要な機能を有効にするようユーザーに要求します。
ただし、ユーザーがAPKファイルからインストールしたアプリケーションについては、Android 13と14のいずれでもこれを行うことはできません。スマートフォンの設定に移動し、そのようなアプリケーションに危険な権限を付与しようとすると、[制限付き設定]というタイトルのウィンドウが表示されます。「セキュリティ保護のため、この設定は現在利用できません」と表示されます。
ではGoogleは、ストアからダウンロードされていないアプリケーションのアクセスをブロックするほど危険な権限について、どのような基準で判断しているのでしょうか。残念ながら、Googleはそれについての答えを公に共有していません。したがって、Android開発者向けの独立した出版物からそれを理解する必要があります。現在、そのような制限は2つ知られています。
このリストはAndroidの将来のバージョンで変更される可能性があります。しかし現在のところ、Googleが未知のソースからダウンロードされたアプリケーションに対して制限することを決定した権限は、これだけだと考えられています。では、なぜこういった権限への制限が必要なのかについて考えてみましょう。
Googleがユーザー補助機能を危険視する理由
ユーザー補助機能については、最近の「Androidの最も危険な3つの機能」というタイトルの記事で説明しました。簡潔に言うと、ユーザー補助機能は、重度の視覚障がいのある人たちを支援するために設計された一連のAndroid機能の一つです。
当初の構想では、ユーザー補助機能は、オペレーティングシステムの視覚的なインターフェイスと、代替手段(通常は音声)を使用してコマンドを発行したり情報を受信したりできる個人との間で、仲介役としての役割を果たすアプリケーションを実現する機能でした。いわば、ユーザー補助機能は、バーチャル空間で、いわば「盲導犬」としての役割を果たすものとされてきました。
ユーザー補助機能を使用するアプリケーションは、Androidデバイスの画面上で起こっていることをすべて確認し、ユーザーに代わってボタンを押す、データを入力する、設定を変更するなどのあらゆる操作を実行することができます。
これがまさに、悪意のあるAndroidアプリケーションの作成者がユーザー補助機能を好む理由です。この一連の機能を利用することで、通信内容ののぞき見、パスワードの盗み見、銀行口座の情報やクレジットカード情報の盗み出し、ワンタイムトランザクションの確認コードの傍受など、さまざまな攻撃を行うことができます。さらに、ユーザー補助機能により、マルウェアが他のアプリケーション内でユーザーアクションを実行できるようになります。たとえば、銀行アプリで送金を行い、テキストメッセージのワンタイムコードを使用して取引を確定できます。
結果、Googleがユーザー補助機能へのアクセス権限を特に危険視する理由で、当然のことと言えます。Google Playで入手可能なアプリの場合、モデレーターによってアプリの使用が慎重に精査されます。不明なソースからダウンロードされたプログラムに関しては、Android開発者がこの一連の機能へのアクセスを完全に無効にしようとしていました。
Googleが通知へのアクセスを制限する理由
次に、通知にアクセスするアプリケーション(Androidでは、この機能は通知リスナーと呼ばれます)の問題点について説明します。通知には実はユーザーに関する多くの個人情報が含まれる場合があります。
たとえば、すべての通知にアクセスできると、悪意のあるアプリは、ユーザーが受信した通信内容をほぼすべて読み取ることができます。特に重要なのは、銀行取引の確定、さまざまなサービス(メッセンジャーなど)へのログイン、パスワードの変更などのためのワンタイムコードを含むメッセージを傍受できることです。
ここには、2つの深刻な脅威が存在します。1つ目は、通知リスナーにアクセスできるアプリは、容易にユーザーを監視できる点です。これは、スパイウェアにとって非常に有用です。
2つ目は、悪意のあるアプリが通知から取得した情報を使用してユーザーアカウントを乗っ取る可能性がある点です。これらはすべて、特別なトリック、複雑な技術的ギミック、高価な脆弱性を一切必要としません。Androidの組み込み機能を悪用するだけです。
Googleが通知へのアクセスをユーザー補助機能へのアクセスと同じように危険であると考えて、アプリストアの外部からダウンロードされたプログラムに対して通知へのアクセスを制限しようとしているのは当然のことです。
Androidマルウェアが制限付き設定を回避する方法
Android 13と14の両方で、未知のソースからダウンロードされた悪意のあるアプリがこうした危険な機能を使用するのを防ぐ仕組みがあります。そのメカニズムは次の通りです。アプリストアは通常、いわゆるセッションベースのインストール方法を使用しています。この方法でインストールされたアプリはシステムによって安全であるとみなされ、制限されることなく、ユーザーはこれらのアプリに対してユーザー補助機能と通知リスナーへのアクセスを許可できます。
ただし、セッションベースの方法を使用せずにアプリがインストールされた場合(これは、ユーザーがAPKを手動でダウンロードする場合によく起こります)、安全でないと判断されて、制限付き設定機能が有効になります。
このことから、これを回避するメカニズムとして次の方法が考えられます。信頼できないソースからダウンロードされた悪意のあるアプリがユーザー補助機能や通知にアクセスできない場合でも、セッションベースの方法を使用して別の悪意のあるアプリをインストールすることができます。このアプリは安全であると判断されるため、アクセスの制限が有効になりません。
これは理論の話にとどまらず、現実的な問題です。マルウェア開発者は、制限付き設定のメカニズムを回避する方法を既に習得しており、作成した最新バージョンのマルウェアで活用しています。したがって、Android 13と14の制限は古いマルウェアにしか効果がなく、新しいマルウェアにからは保護されません。
サードパーティのソースからアプリをインストールする場合に制限付き設定を無効にする方法
安全ではありませんが、場合によっては、ユーザーがストア外からダウンロードしたアプリに対して、ユーザー補助機能または通知リスナーへのアクセスを許可する必要がある場合があります。この場合は細心の注意を払うことを推奨します。また、そのようなアプリケーションは、インストールする前に信頼できるアンチウイルス製品でスキャンすることをお勧めします。
制限を無効にするには
- スマートフォンの設定を開きます
- [アプリ]セクションに移動します
- アクセス制限を解除するアプリを選択します
- 右上隅にある3つのドットアイコンをタップします
- 「制限付き設定を許可」を選択します
これで完了です。これで、アプリに必要な権限を付与できるメニューオプションがアクティブになります。
Androidスマートフォンを保護する方法
制限付き設定に頼ることはできないため、ユーザー補助機能や通知へのアクセスを悪用するマルウェアから身を守るには、他の方法を使用する必要があります。
- これらの機能へのアクセスを要求するアプリには注意してください。これが非常に危険である理由については上で説明しました。
- 公式ストアのアプリケーションをインストールするようにしてください。その場合でも、マルウェアが見つかる場合がありますが、そのリスクはインターネット上のよくわからないサイトからトロイの木馬に感染する可能性よりもはるかに低いです。
- 信頼できないソースからアプリをインストールする必要がある場合は、インストール直後に必ずそのオプションを無効にしてください。
- インストールするすべてのアプリケーションを信頼できるモバイル向けアンチウイルス製品でスキャンします。
- カスペルスキーの無料版保護ツールを使用している場合は、新しいアプリケーションを起動する前に、必ずスキャンを手動で行ってください。モバイル向けアンチウイルス製品の有料版では、このスキャンは自動的に実行されます。