デバイス完全性判定

Android

デバイスの完全性とは

デバイスの完全性とは、Androidシステム全体の整合性、Androidシステム改変の有無、およびGoogleによる認証の有無などから構成されるデバイスの安全性の総合評価です。
これによって、デバイスのセキュリティや互換性を確認でき、アプリを実行する環境の安全性を評価することができます。


デバイス完全性判定でできること

あらかじめ管理画面上でデバイス完全性の検知レベルを4段階のうちから指定できます。
判定結果はデバイス詳細で確認できます。
指定したレベルの完全性を満たしていないデバイスは、【表示】 → [デバイス完全性アラーム] の画面およびアラームで確認できます。

High デバイスの完全性(安全性)を全て満たしています
Medium 基本的なデバイスの完全性(安全性)を満たしています
Low 基本的なシステム完全性(安全性)を満たしているが互換性を満たしていません
Warning デバイスの完全性(安全性)に問題があります

Warningと判定されたデバイスを特定することでRoot化検知が可能です。


デバイス完全性判定のタイミング

デバイスの完全性は「同期」によってデバイスから取得された情報を元に判定します。
判定のプロセスが正常に完了すると、デバイス詳細に結果が表示され、その日時が「最終確認」として表示されます。
次回のデバイス完全性の検証は、「最終確認」の日時から1週間後に行われます。


デバイス完全性判定のセットアップ手順

  1. 【設定】→ 【ユニット詳細】→ [Android関連設定] → [デバイスの完全性ポリシーを編集] をクリックします。
  2. 「最低限のデバイス完全性」を以下の4つから選択し[保存]をクリックします。

【デバイスの完全性レベル】

完全性レベルシステム完全性
(*1)
Google Play 開発者 サービスの実行 (*2)Android の互換性
(*3)

システム完全性 の
強力な保証 (*4)

HighOKOKOKOK
MidiumOKOKOK
LowOKNGNG
WarningNGNGNG

*1 システム完全性
OK 端末とその端末で利用できる各 API との全体的な整合性がとれている
NG ルート化端末、エミュレータ、仮想端末、API フックなどの改ざんが検知されている
*2 「Google Play 開発者サービス」の実行
OK 承認されている
NG 承認されていないか承認されていない可能性がある
*3 Android の互換性
OK システムは改変されておらずGoogle の互換性認証を受けている
NG ・ブートローダーがアンロックされている ・カスタム システム イメージ(カスタム ROM)が搭載されている
・メーカーが Google の互換性認証を申請していない、あるいはそれに合格していない
・Android Open Source Program のソースファイルから直接にビルドしたシステム イメージが搭載されている
・ベータ版またはデベロッパー プレビュー プログラムで配布されたシステム イメージが搭載されている
*4 システム完全性の強力な保証
OK システム完全性の強力な保証がある(ハードウェア格納型のブート完全性保証など)


デバイス完全性判定によるアラーム

[デバイスの完全性(安全性)ポリシー] で指定した完全性レベルを満たさないデバイスがあった場合、ログに以下のアラームが表示されます。

デバイスの完全性(安全性)または互換性に問題があります


「デバイスの完全性」表示情報一覧

デバイスの完全性判定が正常に完了すると、デバイス詳細の「デバイスの完全性」に以下のような結果が表示されます。

デバイスの完全性 Medium:基本的なデバイスの完全性(安全性)を満たしている
最終確認:2023年10月25日 18:52:47(次回確認は最終確認から1週間後に行われます)

デバイスの完全性レベルの説明については、「デバイス完全性検知のセットアップ手順」に記載の表をご参照ください。
デバイス完全性の判定ができなかった場合、以下のメッセージが表示されます。

デバイスまたはBizGo! MDMエージェントが機能をサポートしていません。デバイスまたはBizGo! MDMエージェントアプリが機能をサポートしていません。
BizGo! MDMエージェントアプリのバージョンが 3.4.9 より古い場合には最新にアップデートした後、次回の判定結果を確認してください。
完全性判定をGoogleへリクエスト中です。完全性判定の結果を1度も受け取っていない状態です。
デバイスから応答がないため、判定結果は最新ではありません。デバイスから応答がない為、完全性の判定ができていません。デバイスから応答がないと、管理画面の  構成 > デバイス > 詳細 に表示される「最終アクセス」の日時が更新されません。こちらのFAQをご参照の上、デバイス側で対応を行ってください。
完全性の判定ができませんでした。ログを確認してください。何らかの理由で完全性の判定ができていません。「ログを確認する」をクリックして、原因が表示されていないかを確認してください。エラーコードを含むデバイスログが表示されている場合は、以下を参照の上、対処を行ってください。

少なくとも1度は問題なく判定が完了している状態で、次に行った検証でデバイスから応答がなかった場合、以下のように前回の判定結果が引き続き表示されます。

デバイスの完全性Medium:基本的なデバイスの完全性(安全性)を満たしている
デバイスから応答がないため、判定結果は最新ではありません。


エラーコードと対応方法


完全性の判定が正常に完了しなかった場合、ログに以下のような「FetchIntegrityToken:」で始まる情報が表示されることがあります。ログをマウスオーバーするか、エクスポートして内容を確認してください。

FetchIntegrityToken: j3.b: -9: Standard Integrity API error (-9): Binding to the service in the Play Store has failed. This can be due to having an old Play Store version installed on the device. Ask the user to update Play Store. (https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/StandardIntegrityErrorCode.html#CANNOT_BIND_TO_SERVICE).

赤字で示した大文字の部分(CANNOT_BIND_TO_SERVICE)がデバイスから返送されたエラーコードです。 下表に該当するエラーコードがある場合は、記載の方法で対応を行ってください。

エラーコード対応方法
CANNOT_BIND_TO_SERVICEデバイスにインストールされているGoogle Play ストアを更新してください。
PLAY_SERVICES_VERSION_OUTDATEDデバイスにインストールされているGoogle Play 開発者サービスを更新してください。