「android:allowBackup」とは何ですか? 質問する

「android:allowBackup」とは何ですか? 質問する

以来、新しい ADT プレビュー バージョン (バージョン 21)、マニフェスト ファイル (アプリケーション タグ内) で次のことを通知する新しい lint 警告が表示されます。

android:allowBackup を明示的に true または false に設定する必要があります (デフォルトでは true ですが、アプリケーションのデータにセキュリティ上の影響を与える可能性があります)

の中に公式ウェブサイト、彼らはこう書いています。

いくつかの新しいチェック: アプリがバックアップを許可するかどうかを明示的に決定する必要があり、ラベル チェックもあります。ライブラリ パスを設定するための新しいコマンド ライン フラグがあります。編集中の増分 lint 分析に多くの改善が加えられました。

この警告は何ですか? バックアップ機能とは何ですか? また、どのように使用すればよいですか?

また、なぜセキュリティに影響があるという警告が表示されるのでしょうか? この機能を無効にすると、どのようなデメリットとメリットがあるのでしょうか?


マニフェストのバックアップには 2 つの概念があります。

  • 「android: allowBackup」は、次のようにadb経由でバックアップと復元を許可します。ここ:

アプリケーションがバックアップおよび復元インフラストラクチャに参加できるようにするかどうか。この属性が false に設定されている場合、すべてのアプリケーション データが adb 経由で保存されるフルシステム バックアップであっても、アプリケーションのバックアップまたは復元は実行されません。この属性のデフォルト値は true です。

これはセキュリティ上の問題と考えられています。なぜなら、アジア開発銀行そして、アプリのプライベートデータを相手の PC に取得します。

しかし、ほとんどのユーザーは adb が何であるかを知らないので、それほど問題ではないと思います。また、知っている場合は、デバイスをルート化する方法も知っているでしょう。ADB 機能は、デバイスでデバッグ機能が有効になっている場合にのみ機能し、そのためにはユーザーがそれを有効にする必要があります。

したがって、影響を受けるのは、デバイスを PC に接続し、デバッグ機能を有効にしているユーザーのみです。PC に ADB ツールを使用する悪意のあるアプリがある場合、アプリがプライベート ストレージ データを読み取ることができるため、問題が発生する可能性があります。

Google は、開発者カテゴリで、ADB 経由でアプリのバックアップと復元を可能にするために、デフォルトで無効になっている機能を追加すべきだと思います。

  • 「android: backupAgent」は、クラウドのバックアップと復元機能の使用を可能にします。ここそしてここ:

アプリケーションのバックアップ エージェントを実装するクラスの名前 (BackupAgent のサブクラス)。属性値は完全修飾クラス名 (例: "com.example.project.MyBackupAgent") である必要があります。ただし、省略形として、名前の最初の文字がピリオド (例: ".MyBackupAgent") の場合は、要素で指定されたパッケージ名に追加されます。デフォルトはありません。名前を指定する必要があります。

これはセキュリティの問題ではありません。

ベストアンサー1

この lint 警告については、他のすべての lint 警告と同様に、1 行のエラー メッセージよりも詳しい説明が得られることに注意してください。詳細情報を Web で検索する必要はありません。

Eclipse 経由で lint を使用している場合は、lint 警告ビューを開いて lint エラーを選択し、より詳しい説明を見るか、エラー行でクイック フィックス (Ctrl-1) を呼び出すと、提案の 1 つとして「この問題の説明」が表示され、より詳しい説明も表示されます。Eclipse を使用していない場合は、lint ( lint --html <filename>) から、警告の横に詳しい説明を含む HTML レポートを生成するか、lint に特定の問題を説明するように要求することができます。たとえば、 に関連する問題にはallowBackupID AllowBackup(エラー メッセージの最後に表示) があるため、より詳しい説明は次のようになります。

$ ./lint --show AllowBackup
AllowBackup
-----------
Summary: Ensure that allowBackup is explicitly set in the application's
manifest

Priority: 3 / 10
Severity: Warning
Category: Security

このallowBackup属性は、アプリケーションのデータが文書化されているようにバックアップおよび復元できるかどうかを決定します。ここ

デフォルトでは、このフラグは に設定されていますtrue。このフラグが に設定されている場合、ユーザーはとtrueを使用してアプリケーション データをバックアップおよび復元できます。adb backupadb restore

これは、アプリケーションのセキュリティに影響を与える可能性があります。USBadb backupデバッグを有効にしたユーザーは、デバイスからアプリケーション データをコピーできます。バックアップされると、すべてのアプリケーション データをユーザーが読み取ることができます。adb restoreユーザーが指定したソースからアプリケーション データを作成できます。復元後、アプリケーションは、データ、ファイル権限、およびディレクトリ権限がアプリケーション自体によって作成されたと想定してはなりません。

設定によりallowBackup="false"、アプリケーションはバックアップと復元の両方から除外されます。

この警告を修正するには、アプリケーションがバックアップをサポートするかどうかを決定し、明示的に設定します。android:allowBackup=(true|false)

こちらをクリック詳しくは

おすすめ記事