セキュリティは Android の基盤です。Google は、認証情報マネージャーや FLAG_SECURE などの強力なセキュリティ ツールと機能を提供することで、デベロッパーと協力してプラットフォームの安全性を維持し、ユーザーデータを保護しています。Android のすべてのリリースで、パフォーマンスとセキュリティが強化されています。Android 16 では、簡単かつ重要な手順でアプリの防御を強化できます。Accessibility API の保護強化機能について詳しくは、動画をご覧いただくか、以下をお読みください。
1 行のコードでアプリを盗み見から保護
悪意のある行為者が、Accessibility API の機能を悪用して、パスワードや金融情報などの機密情報を画面から直接読み取ったり、タップを挿入してユーザーのデバイスを操作したりしようとすることがあります。これに対処するため、Android 16 では、1 行のコード(accessibilityDataSensitive)で新しい強力な防御機能を提供します。
accessibilityDataSensitive フラグを使用すると、ビューまたはコンポーザブルに機密データが含まれていることを明示的にマークできます。アプリでこのフラグを true に設定すると、悪意のある可能性のあるアプリが機密性の高いビューデータにアクセスしたり、そのデータに対して操作を行ったりすることをブロックできます。具体的には、ユーザー補助の権限をリクエストするアプリが、正当なユーザー補助ツールであることを明示的に宣言していない(isAccessibilityTool=true)場合、そのビューへのアクセスが拒否されます。
このシンプルながら効果的な変更により、正規のユーザー補助ツールを利用しているユーザーのエクスペリエンスに影響を与えることなく、マルウェアによる情報の窃取や不正な操作の実行を防ぐことができます。注: ユーザー補助ツールではないアプリがユーザー補助権限をリクエストし、isAccessibilityTool=true を設定している場合、Google Play はそのアプリを拒否し、Google Play プロテクトはユーザーのデバイスでそのアプリをブロックします。
setFilterTouchesWhenObscured の保護を強化する自動セキュリティ
この新しい accessibilityDataSensitive セキュリティ機能は、既存の setFilterTouchesWhenObscured メソッドにすでに統合されています。
setFilterTouchesWhenObscured(true) を使用してタップジャッキングからアプリを保護している場合、ビューはユーザー補助の機密データとして自動的に扱われます。accessibilityDataSensitive の保護機能で setFilterTouchesWhenObscured メソッドを強化することで、追加の作業なしで、すべてのユーザーに即座に追加の防御レイヤを提供しています。
スタートガイド
ログインページ、支払いフロー、個人データや財務データが表示されるビューなど、機密情報を含む画面すべてに setFilterTouchesWhenObscured または accessibilityDataSensitive フラグを使用することをおすすめします。
Jetpack Compose の場合
setFilterTouchesWhenObscured | accessibilityDataSensitive |
val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }
|
BasicText { text = “Your password”,
modifier = Modifier.semantics {
sensitiveData = true }}
|
ビューベースのアプリの場合
XML レイアウトで、機密性の高いビューに関連する属性を追加します。
setFilterTouchesWhenObscured | accessibilityDataSensitive |
|
|
または、Java または Kotlin でプログラムによってプロパティを設定することもできます。
setFilterTouchesWhenObscured | accessibilityDataSensitive |
|
|
|
|
accessibilityDataSensitive フラグと setFilterTouchesWhenObscured フラグの詳細については、タップジャッキング ガイドをご覧ください。
デベロッパーと協力してユーザーの安全を守る
Google は、この機能が実際のニーズを満たし、ワークフローにスムーズに統合されるよう、早い段階からデベロッパーと協力してきました。
「当社は、お客様の機密性の高い財務データを保護することを常に優先してきました。そのため、ユーザー補助機能を悪用するマルウェアに対する独自の保護レイヤを構築する必要がありました。Revolut は、この新しい公式 Android API の導入を強く支持しています。これにより、カスタムコードから徐々に移行し、堅牢な単一行のプラットフォーム防御を実現できます。」
- Revolut、Android エンジニア、Vladimir Kozhevnikov 氏
これらの機能を導入することで、悪意のあるユーザー補助機能ベースの攻撃からユーザーを保護するうえで重要な役割を果たすことができます。すべてのデベロッパーの皆様に、ユーザーの安全を確保するためにこれらの機能をアプリに統合することをおすすめします。
力を合わせて、すべての人にとってより安全で信頼できるエクスペリエンスを構築しましょう。
-
サービスに関する最新情報Google Play の安全性と信頼性を可能な限り高く保つため、このたび、ユーザーのプライバシーを強化し、不正行為からビジネスを保護するための、新しいポリシーの更新とアカウント移行機能が発表されました。
Bennet Manuel • 所要時間: 3 分 -
サービスに関する最新情報Android エコシステムの柱は、ユーザーの信頼に対する共通の取り組みです。モバイル環境の進化に伴い、機密情報を保護するための Google のアプローチも進化しています。
Robert Clifford • 所要時間: 3 分 -
サービスに関する最新情報Unity は世界中のモバイルタイトルの半数以上を支えており、第一印象が重要です。ゲーム デベロッパーにとって、スムーズで信頼性の高いプレーヤー オンボーディング エクスペリエンスは、1 日目の維持率と長期的なエンゲージメントを促進するために不可欠です。
Michelle Martin • 所要時間: 1 分
Android 開発に関する最新の分析情報を毎週メールでお届けします。