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?