JSSEC技術部会 スマートフォン・サイバー攻撃対策ガイド
第16回「Androidの高度な保護機能モード(AAPM)について」
JSSEC技術部会マルウェア対策WG
KDDI株式会社 上松 晴信
AndroidのAdvanced Protection Mode(AAPM:高度な保護モード)は、サイバー攻撃や有害アプリの脅威にさらされやすいユーザーを保護するための強化セキュリティ機能です。ジャーナリスト、活動家、経営層、政府関係者などのリスクが高いユーザーを想定していますが、設定することで、より高いセキュリティレベルを維持することが可能であるため、一般のユーザーにとっても利用を検討する価値があります。
AAPMはAndroid 16(Baklava)で導入され、Android 17(Cinnamon Bun)で本格運用されていく予定です。設定内の「セキュリティとプライバシー」から有効にでき、アプリのサイドローディング制限、アクセシビリティサービスの悪用防止など、強力な構成を自動的に適用してデバイスを防御します。
(※参照元:https://developer.android.com/privacy-and-security/advanced-protection-mode?hl=ja)
AAPMの主な特徴
AAPMには、主に以下の機能があります。
サイドローディングの禁止
サイドローディングとは、Google Play ストアなどの公式アプリストアを経由せずに、アプリ(APK / AAB)を端末へ直接インストールする行為を指します。Webサイトからアプリをダウンロードしてインストールする、PCからADB(Android Debug Bridge、PCとAndroid端末を接続して、コマンドで操作・管理するための公式ツール)を使ってインストールする、サードパーティストア経由でのアプリをインストールする行為が該当します。
サイドローディングはフィッシング詐欺の中で悪用されるケースが多いです。例えば、「不在通知」「アカウント確認」「支払い失敗」などを装う偽メッセージを送り、偽サイトへ誘導した後に、「本人確認用アプリをインストールしてください」と表示し、偽アプリのサイドローディングを促します。その後、偽アプリがID・パスワードを窃取するのが典型的な例です。
高度な保護モードではこのサイドローディングが禁止され、端末へのアプリインストール方法が制限されます。不明なソースからのアプリのサイドローディング(インストール)をブロックし、不正アプリの侵入を防止します。
USBデータ通信の制限(充電専用モード)
USBは本来、充電とデータ通信の2つの機能を持ちます。Juice Jacking(ジュース・ジャッキング)と呼ばれる攻撃手法では、USBデータ通信を悪用します。空港・ホテル・イベント会場などの公共の USB 充電ポートや改ざんされた充電ケーブルを通じて、スマートフォンなどの端末からデータを不正取得し、マルウェアを侵入させます。充電専用モードでは、端末がロックされている間に新しく接続される USB 接続については、デフォルトで“充電のみ”とすることで、USB ポートを悪用した物理的攻撃を防止します。この結果、USB経由での不正なデータ取得、マルウェア注入、デバッグ・制御系コマンドの悪用などの攻撃を防ぐことができます。
Google Play Protectの常時強制
Google Play ProtectはAndroid 端末に標準搭載されているマルウェア対策・セキュリティ保護機能です。Google Play ストアと OS が連携し、アプリの安全性を自動・継続的に監視します。アプリの自動スキャン、危険なアプリの警告・ブロック、有害アプリデータベースと連携などの仕組みが用意されています。
高度な保護モードが有効になっている場合には、Google Play Protectは常時、強制的に有効になります。 Google Play Protectが常時、強制的になることで、マルウェア感染リスクの恒常的な軽減が期待できます。24時間バックグラウンドスキャンにより、インストール済みアプリ・新規インストールアプリの双方が常時監視されます。既知/未知の悪意あるアプリの検知も可能となり、Googleの機械学習とクラウド分析により、シグネチャ未登録の不正挙動も検知対象となります。気付かないうちに入り込むスパイウェア・トロイの木馬・広告マルウェアのリスクを大幅に下げる効果があります。
一定期間ロック状態が続くと自動再起動(Inactivity Reboot)
ユーザー操作がない状態が72時間継続した場合、OSが自動的に再起動を行います。電源が入ったまま、長時間ロックされている状態は攻撃者にとって都合が良い状態となります。再起動が行われることで、メモリ初期化、暗号鍵は再生成、生体認証は無効化、PIN/パスワード入力が必須となります。生体認証は便利な仕組みですが、寝ている間や拘束中でも使われる可能性があります。また、PINやパスワードは黙秘できますが、指や顔は拒否しにくい特徴があります。「電源オンでロック中」よりも「再起動直後で未解除」の方が圧倒的に安全です。
2G/WEPネットワークの無効化
AAPMでは安全性が著しく低い2G通信・WEP暗号化Wi-Fiへの接続を禁止します。WEP(Wired Equivalent Privacy)は数分〜数十秒で解読可能な暗号化方式です。攻撃者は通信内容の盗聴、パスワード・Cookieの取得、通信改ざんを容易に実行できます。WEP暗号化Wi-Fiへの接続を禁止することで、「暗号化されていないWi‑Fi」と同等の危険性を排除できます。2G通信は暗号・認証が破綻しており、盗聴・なりすまし・強制ダウングレード攻撃が現実的に成立するため、現代では危険な通信方式です。AAPMでは4G / 5G のみ使用可能となり、偽基地局攻撃への耐性についても大幅に向上します。
未知の発信元からの通話ブロック
Android標準では未登録番号でも着信は可能です。AAPMが有効な時には連絡先未登録の発信元は原則ブロックされ、着信音・通知なしで履歴送りになりやすくなります。連絡先に登録された番号のみ通話可能な状況となります。また、フィッシング詐欺の初動を遮断する効果もあり、還付金詐欺やサポート詐欺の電話に出てしまう工程を消すことで被害確立を大幅に低減します。
危険リンク・詐欺対策の強化
フィッシングや詐欺サイト、不正アプリへの誘導などを狙う危険リンクを検知・警告・遮断する仕組みです。SMSなどに記載されたリンクはワンタップで実行できる、ユーザーが公式に見えるURLを信用しやすいことから、偽ログインページや不正アプリダウンロードといった被害の入り口として使われます。AAPMでは、SMS/メール/Web/通話といった複数チャネルを横断して対策が統合されています。具体的にはSMS/メール/アプリ内リンクを開く前に既知の疑わしいURLを自動判定し、危険性が高いと判断した場合に警告表示や開封ブロック、アプリ外遷移の制限を行います。この処理によってユーザーがうっかりタップしてしまうのを防げます。
AAPMを活用するべき人
AAPMを使ったほうが良い人は、スマートフォンが「便利な道具」以上に攻撃対象になり得る立場にある人です。
たとえば、ジャーナリスト、研究者、人権・社会活動家、政府・自治体関係者、企業の経営層や重要プロジェクトの責任者などは、一般的な不特定多数向け攻撃ではなく、特定の個人を狙ったフィッシング、偽基地局、詐欺電話、マルウェア配布といった標的型攻撃に晒される可能性があります。AAPMは、こうした高度な攻撃を前提に設計されており、サイドローディングの禁止、USB経由攻撃の遮断、危険な通信方式(2GやWEP)の無効化、詐欺・危険リンクの強制ブロックなどを、ユーザー操作では回避できない形で有効にします。そのため「多少不便でも、リスクを最小化したい人」には非常に有効です。
また、業務上、機密情報や個人情報、金融・契約関連データを日常的に扱う人にもAAPMは適しています。端末が盗難・紛失された場合でも、一定期間操作されなければ自動的に再起動され、再起動後は必ずPINやパスワード入力が求められるため、メモリ上や一時領域に残る情報を悪用されるリスクが大きく下がります。セキュリティを「ユーザーの判断」ではなく「OSの強制」に委ねたいケースでは、AAPMの恩恵は特に大きくなります。
さらに、海外出張や渡航が多く、通信環境の信頼性が低い地域に行くことがある人にも向いています。2G通信や脆弱なWi‑Fi暗号方式への接続を自動的に拒否し、公共USB充電からの攻撃(Juice Jacking)も防ぐため、移動中や出先でのリスクをまとめて抑えられます。
一方で、アプリを自由に試したい開発者や、APKのサイドローディング、USBデバッグ、非公式ツールの利用を前提とするパワーユーザーにとっては、AAPMは不向きです。また、知らない番号からの通話を頻繁に受ける必要があるなど、利便性や柔軟性を最優先する使い方ではストレスになる可能性があります。
総じてAAPMは、「何かあってから守る」のではなく「攻撃が成立しない前提を作る」ためのモードです。自分が狙われる可能性があるか、守るべき情報の重要度が高いかを基準に、「利便性よりも確実な安全を選びたい人」であれば、AAPMを使う価値は十分にあります。
ビジネス利用を想定したAAPMと、アプリ側でのAAPM設定確認
AAPMはビジネス利用にもフィットしています。企業の業務用端末の場合には、機密情報が含まれているケースもあるため一定レベルのセキュリティの考慮が必要です。盗難・紛失対策や海外出張がある場合は通信周りの保護機能をオンにする効果があるでしょう。
ビジネス利用を想定したデバイス管理にはMDM(Mobile Device Management)があります。MDMは企業が端末を管理し、制御主体は企業などのIT部門の管理者になります。管理者が定める組織ポリシーは柔軟にカスタマイズが可能です。一方で、AAPMはOSが端末を強化する仕組みです。守る対象は個人・高リスクユーザーとなり、制御主体がAndroid OSです。組織ポリシーを適用する場合と比べて、カスタマイズする余地は少ないと考えられます。
この2つの機能は競合する関係ではなく補完し合うものです。例えば、MDMなしでAAPMありの場合には、個人スマホを想定しOSレベルでの強化になります。一方で、MDMありでAAPMなしの場合は、IT部門の管理者が自由に制御できますが設定ミスのリスクがあります。両方の機能をオンにした場合には、二重防御(Defense in Depth)となり厳格なセキュリティ環境が提供できます。
アプリの実装面での注意事項となりますが、AAPMは強い制限を強制するためアプリが通常環境と同じ前提で動くと、機能が使えない問題が起こる可能性があります。それを防ぐために用意されているのがAdvanced Protection Manager APIです。これを利用するとアプリ側でAAPMの設定状況を確認し、それに応じた挙動制御が可能になります。このAPIはユーザーが後からAAPMを有効/無効にした場合でも状態変化の通知(コールバック)を受け取れるため、アプリの再起動を待たずにアプリの挙動を切り替える設計が可能です。アプリ側が機能を無効化する、UIメッセージを出す、追加認証を要求するといった判断材料を提供するAPIです。例えば、AAPMが有効な時にはスクリーンショットを禁止するような実装にすることもできます。AAPMの機能によってアプリの機能が使えない場合には、OSの仕様であること、セキュリティ上の制限であることをアプリ側で明示することで、ユーザーからの問い合わせや低評価を減らすことができると考えられます。
まとめ
AAPMは、Android における強力なセキュリティ保護モードであり、標的型攻撃や高度な詐欺、物理攻撃を前提に設計された防御機能です。一般的な設定強化とは異なり、ユーザーやアプリが無効化・回避できない形で、OSレベルの防御を一括して有効にする点が最大の特徴です。
AAPM は、誰にでも常に推奨される機能ではありません。サイドローディングや USB デバッグを日常的に使う開発者や、利便性・柔軟性を重視する使い方には向きません。一方で、ジャーナリスト、政府・自治体関係者、企業の経営層や機密情報を扱う担当者、海外渡航が多い人など、「狙われる可能性が現実的にある人」にとっては、利便性の低下以上に大きな安全性の価値があると考えられます。
