MASTG-TEST-0262 機密データを除外しないバックアップ構成への参照 (References to Backup Configurations Not Excluding Sensitive Data)
概要
このテストでは、アプリの AndroidManifest.xml とバックアップ構成ファイルを解析して、アプリが機密ファイルをバックアップから除外するように、システムに正しく指示しているかどうかを検証します。
"Android バックアップ" は 自動バックアップ (Android 6.0 (API レベル 23) 以降) および キーバリューバックアップ (Android 2.2 (API レベル 8) 以降) によって実装できます。自動バックアップはデフォルトで有効になっており、実装に手間がかからないため、Android で推奨されているアプローチです。
自動バックアップを使用する際に特定のファイルを除外するには、開発者は exclude
タグで除外ルールを明示的に定義しなければなりません。
data_extraction_rules.xml
(Android 12 以降の場合はandroid:dataExtractionRules
を使用)backup_rules.xml
(Android 11 以前の場合はandroid:fullBackupContent
を使用)
cloud-backup
および device-transfer
パラメータを使用して、それぞれクラウドバックアップとデバイス間転送からファイルを除外できます。
キーバリューバックアップアプローチでは、開発者は BackupAgent
または BackupAgentHelper
をセットアップし、バックアップする必要があるデータを指定します。
アプリがどのアプローチを使用したか関わらず、Android はバックアップデーモンを起動してアプリファイルをバックアップおよびリストアする方法を提供します。このデーモンをテスト目的で使用し、バックアッププロセスを開始してアプリのデータをリストアすることで、バックアップからリストアされたファイルを検証できます。
手順
AndroidManifest から情報の取得 (Obtaining Information from the AndroidManifest) を使用して
AndroidManifest.xml
ファイルを取得します。AndroidManifest.xml
に対してallowBackup
フラグを検索します。AndroidManifest.xml
に対してfullBackupContent
属性 (Android 11 以前の場合) またはdataExtractionRules
属性 (Android 12 以降の場合) を検索します。backup_rules.xml
またはdata_extraction_rules.xml
ファイルを取得します。
結果
出力には以下を明示的に示す可能性があります。
allowBackup
フラグがtrue
またはfalse
に設定されているかどうか。このフラグが指定されていない場合は、デフォルトでtrue
として扱われます。AndroidManifest.xml
にfullBackupContent
属性やdataExtractionRules
属性が存在するかどうか。存在する場合、
backup_rules.xml
ファイルまたはdata_extraction_rules.xml
ファイルの内容。
評価
アプリが機密データのバックアップを許可している場合、そのテストは不合格です。具体的には、以下の条件を満たす場合です。
AndroidManifest.xml
にandroid:allowBackup="true"
がある場合AndroidManifest.xml
にandroid:fullBackupContent="@xml/backup_rules"
が宣言されていない場合 (Android 11 以前)AndroidManifest.xml
にandroid:dataExtractionRules="@xml/data_extraction_rules"
が宣言されていない場合 (Android 12 以降)backup_rules.xml
またはdata_extraction_rules.xml
が存在しないか、すべての機密ファイルを除外していない場合
Last updated
Was this helpful?