MASTG-BEST-0030 ルート検出を実装する (Implementing Root Detection)

ルート検出は、昇格した権限やよくあるルート化アーティファクトを持つデバイスを識別するのに役立つ環境リスクシグナルです。これはコスト増加対策であり、バイパス可能であるため、ルート化済みデバイスのリスクがアプリに重大な影響を及ぼす場合にのみ使用する必要があります。

アプリの脅威モデルとリスク許容度に基づいて、ルート検出 (Root Detection) で説明している関連するルート検出技法を提供します。

ベストプラクティス

  1. レイヤー防御: ルートシグナルを完全性チェック、アンチデバッグシグナル、バックエンド強制と組み合わせます。

  2. チェックを分散する: 機密性の高い操作やセッション確立の近くにチェックを配置し、単一の一元化ゲートは避けます。

  3. 複数の方法を使用する: ファイルシステムアーティファクト、プロパティチェック、プロセスチェック、ネイティブレベルチェックを組み合わせます。

  4. 既知のパターンのみを避ける: 公開署名リストや単一ライブラリのデフォルト構成のみに依存してはいけません。

  5. 比例的な対応を使用する: 高リスク操作を最初に制限し、ステップアップ認証を追加し、信頼性が低い場合は完全なロックアウトを避けます。

  6. サーバーサイドを検証する: リスクとユーザーのコンテキストに基づいて、サーバーポリシーを使用してトランザクションを許可するかどうかを決定します。

  7. 入れ替えとランダム化: セッションごとおよびリリースごとに実行するチェックを変更し、インジケータを入れ替え、再使用可能なバイパスパッチを削減します。

注意事項と考慮事項

ルート検出は、フックやパッチ適用、およびルートアーティファクトの隠蔽によって本質的にバイパス可能です。ルート検出のバイパス (Bypassing Root Detection)arrow-up-right を参照してください。

ルート検出は、カスタム ROM、企業向けテストデバイス、セキュリティ研究環境といった正当なシナリオをフラグ付けする可能性があります。積極的なブロックはユーザーを改変されたアプリビルドに誘導し、サポートコストを増加する可能性があります。

Last updated