セキュリティは Android の基盤です。Google は、認証情報マネージャー や FLAG_SECURE などの強力なセキュリティ ツールや機能を提供することで、プラットフォームの安全性を維持し、ユーザーデータを保護しています。Android のすべてのリリースでパフォーマンスとセキュリティが強化されています。Android 16 では、アプリの防御を強化するための簡単で重要な手順を実行できます。ユーザー補助 API の保護強化について詳しくは、動画をご覧いただくか、以下をお読みください。
1 行のコードでアプリを盗み見から保護する
悪意のあるユーザーが、ユーザー補助 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 の導入を強く支持しています。この API により、カスタムコードから徐々に移行し、堅牢な単一行のプラットフォーム防御に移行できます。」
- Revolut の Android エンジニア、Vladimir Kozhevnikov
これらの機能を導入することで、ユーザーを悪意のあるユーザー補助機能ベースの攻撃から保護するうえで重要な役割を果たすことができます。ユーザーの安全を確保するため、すべてのデベロッパーがこれらの機能をアプリに統合することをおすすめします。
力を合わせれば、すべての人にとってより安全で信頼できるエクスペリエンスを構築できます。
-
プロダクト ニュースGoogle Play の安全性と信頼性を可能な限り高く保つため。本日、ユーザーのプライバシーを強化し、ビジネスを不正行為から保護するための新しいポリシーの更新とアカウント移行機能についてお知らせします。
Bennet Manuel • 所要時間: 3 分 -
プロダクト ニュースAndroid エコシステムの柱は、ユーザーの信頼に対する共通の取り組みです。モバイル環境の進化に伴い、機密情報を保護するためのアプローチも進化しています。
Robert Clifford • 所要時間: 3 分 -
プロダクト ニュースGoogle Play では、サブスクリプション プラットフォームを継続的に拡大し、成長の促進、新しいビジネスモデルへの適応、ユーザーのニーズへの対応をサポートしています。
Sheenam Mittal • 所要時間: 4 分
Android 開発に関する最新の分析情報を毎週メールでお届けします。