環境を保護する

Google は、アプリが違反しているかどうかを検出するための一連の API とサービスを提供しています。 安全な環境で 実行されるようにすることですその中心となるのが Play Integrity API です。 API: やり取りが真正なものかどうかをチェックできます。 リスクを伴う不正なやり取りです。Google Play は、アプリとデバイスの完全性に加えて、 Integrity API では、アクセスとアクセシビリティのリスクに関する情報が提供されるようになりました。 Google Play プロテクト最近のデバイスのアクティビティ。さらにセキュリティを Android プラットフォームが提供する API によって特定のシナリオに対応する不正防止戦略 アプリに関連しそうなものが いくつかあります

Play Integrity API

Play Integrity API の機能

Play Integrity API を使用すると、デバイスのセキュリティ状態、 ダウンロードしますこれにより、適切なユーザーが 機密情報にアクセスしています。

インタラクションやサーバー リクエストがデベロッパーの 正規のアプリバイナリを信頼できる環境に配布します。

  • 正規のアプリバイナリ: Google Play で認識される改ざんされていないバイナリが存在します。
  • 正規の Play インストール: 現在のユーザー アカウントが つまり、ユーザーがアプリやゲームを Google Play でインストールまたは Google Play。
  • 真正な Android デバイス: アプリが真正な Android デバイスで実行されているかどうかを判断します。 Google Play 開発者サービスを搭載した Android デバイス。
  • 既知のマルウェアが含まれていない: Google Play プロテクトがオンになっているかどうかを判断します。 リスク / 危険なアプリがデバイスにインストールされているかどうかを把握できます。
  • 他のアプリによるアクセスのリスクが低い: 他のアプリが実行されているかどうかを判別します 画面をキャプチャしたり、デバイスや入力を操作したりできるアプリです。

不正行為の軽減にどのように役立つか

ユーザーがアプリ内で重要なアクションを実行したときに、Play Integrity APIそうでない場合は、アプリのバックエンド サーバーが、実行するアクションを 対策について説明します。たとえば、IP アドレスに 追加のユーザー確認を行ったり、機密性の高い機能へのアクセスを拒否したりできます。

Play Integrity API の決定フロー

アプリアクセスのリスク

アプリアクセス リスクのシグナルを導入し、アプリが他に 実行中のアプリが画面の表示やキャプチャを行っている アプリを実行したりアクセスしたりしないように注意してください。確認済み ユーザー補助アプリは、これらの判定結果から自動的に除外されます。アプリのアクセス権 ユーザーのプライバシーを保護しながら アプリを保護できます リクエスト元のアプリは、インストール済みのアプリ ID を取得せず、 判定結果はユーザー ID やデバイス ID には関連付けられません。

特定のアプリを閉じるようユーザーに求めるスマートフォンのスクリーンショット。

この協力的な取り組みのおかげで、組織にとって お客様をより効果的に保護するための詳細な分析情報が得られます。
- 早期アクセス パートナー、Nubank 氏

アプリアクセス リスクにはさまざまなリスクレベルがあります。

  • 応答のキャプチャとは、画面をキャプチャできる他のアプリが実行されていることを意味します。
  • 応答を制御するということは、動作を制御できる他のアプリが実行され 画面のキャプチャと入力の制御の両方を行えるため、 追加できます

アプリアクセス リスクは現在公開ベータ版で提供されており、今後一般提供される予定です。 今後数か月以内にご利用いただけるようになります

アプリアクセス リスクの適用

アプリやゲームで、Play Integrity API で保護する価値の高いアクションや機密性の高いアクションを特定します。これにより、アクセスを完全に拒否する必要がなくなります。可能であれば、価値の高いアクションを許可する前に、リスクの高いトラフィックを検証します。たとえば、アプリアクセス リスクにより、画面をキャプチャする可能性のあるアプリが実行されていることが示されている場合は、保護したい機能の実行を許可する前に、画面をキャプチャできるアプリを無効にするかアンインストールするようユーザーに求めます。

次の表に、判定結果の例を示します。

アプリアクセス リスク判定結果のレスポンス例 解釈
appsDetected:
["KNOWN_INSTALLED"]
Google Play で認識されているインストール済みアプリのみがある デバイスのメーカーによってシステム パーティションにプリロードされている場合があります。 キャプチャが発生する実行中のアプリはありません。 判定結果をオーバーレイできます
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Google Play によってインストールされたか、 システム パーティションが必要です。 実行中の他のアプリがあり、権限が有効になっている可能性があります 画面の表示や他の入出力のキャプチャに使用する。
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
権限が有効になっている Play またはシステムが実行中です を使用して、画面を表示したり、他の入出力をキャプチャしたりできます。 権限が有効になっている実行中の他のアプリもあります。 を使用してデバイスを制御したり、デバイスへの入力を 説明します。
appAccessRiskVerdict: {} 要件が満たされたため、アプリアクセス リスクは評価されませんでした 欠けています。(たとえば、デバイスの信頼性が十分ではなかった場合など)。

Play プロテクト シグナル

Play プロテクト シグナルは、Play プロテクトがオンになっていて、 検出された有害な既知のアプリがデバイスにインストールされているかどうか。

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

アプリやユーザーのユーザーにとってマルウェアが特に懸念される場合場合は、 この判定結果を確認し、ユーザーに Play プロテクトを有効にするか、有害なコンテンツを削除するよう依頼してください 確認してから続行してください。

Play プロテクトのダイアログをオンにする

playProtectVerdict の値は次のいずれかになります。

判定結果 解説 推奨される対処方法

NO_ISSUES

Play プロテクトはオンになっていますが、 できます。

Play プロテクトはオンになっていますが、問題は検出されていないため、ユーザーの操作はありません 必要ありません。

NO_DATA

Play プロテクトはオンになっていますが、まだスキャンが実行されていません。「 デバイスまたは Play ストア アプリが最近リセットされた可能性があります。

Play プロテクトはオンになっていますが、問題は検出されていないため、ユーザーの操作はありません 必要ありません。

POSSIBLE_RISK

Play プロテクトがオフになっています。

Play プロテクトはオンになっていますが、問題は検出されていないため、ユーザーによる操作はありません は必須です。

MEDIUM_RISK

Play プロテクトがオンになっており、有害な可能性があるアプリが検出されました ダウンロードされます。

リスク許容度に応じて、ユーザーに Play プロテクトが警告に対処します。ユーザーが サーバーをブロックできます。 できます。

HIGH_RISK

Play プロテクトがオンになっており、危険なアプリのインストールが検出されました 確認できます。

リスク許容度に応じて、ユーザーに Play プロテクトが警告に対処します。ユーザーが の要件を満たすことができない場合は、 アクションを実行します。

UNEVALUATED

Play プロテクトの判定結果は評価されませんでした。

この場合、 次のような複数の原因で発生します。

  • デバイスの信頼性が十分でない。
  • ゲームのみ: ユーザー アカウントは LICENSED ではありません。

最近のデバイスのアクティビティ

最近のデバイスのアクティビティを有効にすると、 過去 1 時間にアプリが特定のデバイスで完全性トークンをリクエストした。マイページ デバイスの最近のアクティビティを使用して、アプリを予期しない アクティブな攻撃の兆候となる可能性があるハイパーアクティブなデバイスGoogle Chat では 最近のデバイスの各アクティビティ レベルのうち、 一般的なデバイスにインストールされたアプリが完全性をリクエストすると想定される回数 1 時間ごとに生成されます。

recentDeviceActivity を受け取ることをオプトインすると、deviceIntegrity フィールドが 次の 2 つの値があります。

deviceIntegrity: {
  deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
  recentDeviceActivity: {
    // "LEVEL_2" is one of several possible values.
    deviceActivityLevel: "LEVEL_2"
  }
}

まず、データを調べて、一般的なデバイスのアクティビティ レベルを確認します。 すべてのデバイスで表示できますその後、アプリをどのように は、デバイスからのリクエスト数が多すぎるときに応答する必要があります。アクティビティが 少し高くなってしまった場合は、ユーザーに後でもう一度試すよう依頼することをおすすめします。アクティビティが 違反に対する措置を強化することをおすすめします。

標準リクエストとクラシック リクエスト

Play Integrity を実装する際は、次の点を考慮することが重要です。 2 種類のリクエストを比較します通常は標準リクエスト レスポンスが最も速くなります。また、クラシック リクエストは、 デバイス認証レコードに対して新しく生成されたリクエストが必要である。

クラシック リクエスト

標準リクエスト

リクエストはより時間がかかるため、頻度を下げる必要があります。

たとえば、時折、価値の高い顧客または 機密情報に関する操作が正当なものであると判断します。

あまり使用しない

リクエストは低レイテンシであり、オンデマンドで使用できます。

標準リクエストは以下の 2 つの部分で構成されます。

  • 完全性トークン プロバイダを準備する(1 回限り)
  • 完全性トークンをリクエストする(オンデマンド)

オンデマンドで使用できます

Play Integrity のドキュメントで標準クラシック リクエスト。

実装

Play Integrity API の使用を開始するには:

デフォルトでは、Play Integrity API はアプリごとに 1 日あたり最大 10, 000 件のリクエストを許可します。宛先 1 日あたりの最大リクエスト数を増やしたいとお考えの場合は、 手順をご覧ください。1 日あたりの上限を引き上げるには 使用するには、アプリに Play Integrity API を正しく実装し、 他の配信チャネルに加えて Google Play で配信することもできます。

Play Integrity API に関する注意事項

Automatic Integrity Protection(API >= 23)

Automatic Integrity Protection は改ざん防止コード保護サービスで、 完全性の悪用(未承認)からアプリを保護する 変更と再配布が必要です。データ接続がなくても動作するので、 テスト前のデベロッパーの作業やバックエンド サーバーとの統合は不要です。

不正行為の軽減にどのように役立つか

Automatic Integrity Protection をオンにすると、Google Play によってアプリにチェックが追加されます 暗号化され、高度な難読化やセキュリティ機能により、アプリ コードを アンチリバース・エンジニアリング手法です。この保護機能は実行時に、 アプリが改ざんまたは再配布された場合:

  • インストーラ チェックに失敗した場合、Google Play でアプリを入手するよう求めるメッセージがユーザーに表示されます。
  • 改変チェックに失敗した場合、アプリは実行されません。

これにより、アプリの改変版からユーザーを保護できます。

実装

現在、Automatic Integrity Protection は一部の Play パートナーのみご利用いただけます あります。以下の国でこの機能が利用できない場合は、Google Play デベロッパー サポートにお問い合わせください この機会にぜひ Google Play Console をご活用ください。 できます。

保護は、リリースの作成時にオンにするか、[アプリ] で有効にできます。 [完全性] ページ([リリース] > [アプリの完全性])をご覧ください。Automatic Integrity 保護するには、アプリで Play アプリ署名を使用する必要があります。

リリースをプロモーションする前に、保護されたアプリを必ずテストしてください。 作成しています

注意点

  • アプリの保護されていないバージョンをリリースしない
  • 改ざん対策を組み合わせる際は注意する
  • 保護されたアプリを製品版としてリリースする前にテストする
  • クラッシュが増加していないか、通常どおり統計情報をモニタリングします。
  • アプリのクラッキングされたバージョンを Google Play に報告できます