wake-up-neo.com

Was ist "Android: allowBackup"?

Seit der neuen ADT-Vorschau-Version (Version 21) haben sie eine neue Fusselwarnung, die mich darüber informiert Das Nächste in der Manifest-Datei (im Application-Tag):

Sollte Android explizit setzen: allowBackup auf true oder false (dies ist standardmäßig true und kann einige Sicherheitsrisiken für die Anwendungsdaten haben)

In der offiziellen Website haben sie geschrieben:

Einige neue Überprüfungen: Sie müssen explizit entscheiden, ob Ihre App Sicherungen und eine Etikettenüberprüfung zulässt. Es gibt ein neues Befehlszeilen-Flag zum Festlegen des Bibliothekspfads. Viele Verbesserungen an der inkrementellen Flusenanalyse während der Bearbeitung.

Was ist diese Warnung? Was ist die Sicherungsfunktion und wie verwende ich sie?

Warum wird mir in der Warnung auch mitgeteilt, dass dies Auswirkungen auf die Sicherheit hat? Was sind die Nachteile und Vorteile der Deaktivierung dieser Funktion?


Es gibt zwei Sicherungskonzepte für das Manifest:

  • "Android: allowBackup " ermöglicht das Sichern und Wiederherstellen über ADB, wie hier gezeigt :

Gibt an, ob die Anwendung an der Sicherungs- und Wiederherstellungsinfrastruktur teilnehmen darf. Wenn dieses Attribut auf false gesetzt ist, wird niemals eine Sicherung oder Wiederherstellung der Anwendung durchgeführt, auch nicht bei einer vollständigen Systemsicherung, bei der andernfalls alle Anwendungsdaten über ADB gespeichert würden. Der Standardwert dieses Attributs ist true.

Dies wird als Sicherheitsproblem angesehen, da Benutzer Ihre App über [~ # ~] adb [~ # ~] sichern und dann private Daten Ihrer App auf ihren PC übertragen können.

Ich denke jedoch, dass dies kein Problem ist, da die meisten Benutzer nicht wissen, was adb ist, und wenn ja, wissen sie auch, wie sie das Gerät rooten. ADB-Funktionen funktionieren nur, wenn auf dem Gerät die Debugging-Funktion aktiviert ist und der Benutzer sie aktivieren muss.

Daher sind nur Benutzer betroffen, die ihre Geräte an den PC anschließen und die Debugging-Funktion aktivieren. Wenn sie eine bösartige App auf ihrem PC haben, die die ADB-Tools verwendet, kann dies problematisch sein, da die App die Daten des privaten Speichers lesen kann.

Ich denke, Google sollte nur eine standardmäßig deaktivierte Funktion in die Entwicklerkategorie aufnehmen, um das Sichern und Wiederherstellen von Apps über ADB zu ermöglichen.

  • "Android: backupAgent " ermöglicht die Verwendung der Sicherungs- und Wiederherstellungsfunktion der Cloud, wie gezeigt hier und hier :

Der Name der Klasse, die den Sicherungsagenten der Anwendung implementiert, eine Unterklasse von BackupAgent. Der Attributwert sollte ein vollständig qualifizierter Klassenname sein (z. B. "com.example.project.MyBackupAgent"). Handelt es sich bei dem ersten Zeichen des Namens jedoch um einen Punkt (z. B. ".MyBackupAgent"), wird er an den im Element angegebenen Paketnamen angehängt. Es gibt keine Standardeinstellung. Der Name muss angegeben werden.

Dies ist kein Sicherheitsproblem.

245

Beachten Sie, dass Sie für diese und alle anderen Flusenwarnungen eine ausführlichere Erklärung erhalten können, als nur die in der einzeiligen Fehlermeldung enthaltenen Informationen. Sie müssen nicht im Web nach weiteren Informationen suchen.

Wenn Sie Flusen über Eclipse verwenden, öffnen Sie entweder die Ansicht Flusenwarnungen, in der Sie den Flusenfehler auswählen und eine längere Erklärung anzeigen können, oder rufen Sie den Quickfix (Strg-1) in der Fehlerzeile auf, und einer der Vorschläge lautet "Erklären" "Dieses Problem", das auch eine ausführlichere Erläuterung enthält. Wenn Sie Eclipse nicht verwenden, können Sie einen HTML-Bericht aus lint (lint --html <filename>) mit vollständigen Erklärungen neben den Warnungen, oder Sie können lint bitten, ein bestimmtes Problem zu erklären. Das Problem im Zusammenhang mit allowBackup hat beispielsweise die ID "AllowBackup" (am Ende der Fehlermeldung angezeigt). Die ausführlichere Erklärung lautet daher:

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

Priority: 3 / 10
Severity: Warning
Category: Security

Das allowBackup-Attribut bestimmt, ob die Daten einer Anwendung gesichert und wiederhergestellt werden können. Es ist dokumentiert hier .

By default, this flag is set to true. When this flag is set to true,
application data can be backed up and restored by the user using adb backup
and adb restore.

This may have security consequences for an application. adb backup allows
users who have enabled USB debugging to copy application data off of the
device. Once backed up, all application data can be read by the user. adb
restore allows creation of application data from a source specified by the
user. Following a restore, applications should not assume that the data, file
permissions, and directory permissions were created by the application
itself.

Setting `allowBackup="false"` opts an application out of both backup and
restore.

To fix this warning, decide whether your application should support backup,
and explicitly set `Android:allowBackup=(true|false)`"

Klicken Sie hier für Weitere Informationen

133
Tor Norbye

In diesem Sinne bedeutet Backup Folgendes:

Mit dem Sicherungsdienst von Android können Sie Ihre persistenten Anwendungsdaten in einen Remote-Cloud-Speicher kopieren, um einen Wiederherstellungspunkt für die Anwendungsdaten und -einstellungen bereitzustellen. Wenn ein Benutzer die Werkseinstellungen zurücksetzt oder auf ein neues Android-Gerät umstellt, stellt das System Ihre Sicherungsdaten automatisch wieder her, wenn die Anwendung erneut installiert wird. Auf diese Weise müssen Ihre Benutzer ihre vorherigen Daten oder Anwendungseinstellungen nicht reproduzieren.

~ Aus http://developer.Android.com/guide/topics/data/backup.html

Sie können sich hier als Entwickler für diesen Sicherungsdienst registrieren: https://developer.Android.com/google/backup/signup.html

Die Art der Daten, die gesichert werden können, sind Dateien, Datenbanken, sharedPreferences, Cache und lib. Diese werden in der Regel im Verzeichnis /data/data/[com.myapp] Ihres Geräts gespeichert, das lesegeschützt ist und auf das nur zugegriffen werden kann, wenn Sie über Root-Berechtigungen verfügen.

[~ # ~] Update [~ # ~] : Sie können dieses Flag auf dem API-Dokument von BackupManager sehen: BackupManager

23
IgorGanapolsky

Dies wird nicht explizit erwähnt, aber basierend auf den folgenden Dokumenten wird davon ausgegangen, dass eine App einen BackupAgent deklarieren und implementieren muss, damit die Datensicherung funktioniert, auch wenn allowBackup auf true gesetzt ist (was der Wert ist) Standardwert).

http://developer.Android.com/reference/Android/R.attr.html#allowBackuphttp://developer.Android.com/reference/Android/app/backup/ BackupManager.htmlhttp://developer.Android.com/guide/topics/data/backup.html

8
Yuntao

Wann sollten wir Android einstellen: allowBackup = false

Sie benötigen kein root, um Daten von einem Android Gerät auf einen PC zu sichern. Sie benötigen nur physischen Zugriff und müssen das Debuggen im Entwicklermenü aktivieren. Auf diese Weise können Sie Daten aus dem internen Speicher der App kopieren , die möglicherweise vertrauliche Informationen enthalten, die Sie nicht stehlen lassen möchten, z. B. Ihren Facebook-Zugriffstoken.

Ich stimme zu, dass dies in den meisten Fällen ziemlich trivial ist, aber in einigen Fällen ist ein zusätzlicher Schutz vor Angriffen erforderlich, wenn physischer Zugriff erforderlich ist.

Beachten Sie, dass Sie das Telefon rooten müssen, um dies zu umgehen. In diesem Fall werden die vertraulichen Daten im internen Speicher gelöscht, wenn die Werkseinstellungen zurückgesetzt werden.

4
Xar E Ahmer

Es ist Datenschutz Anliegen. Es wird empfohlen, Benutzern das Sichern einer App zu untersagen, wenn diese vertrauliche Daten enthält. Zugriff auf Sicherungsdateien haben (d. H. Wenn Android:allowBackup="true") kann der Inhalt einer App auch auf einem nicht gerooteten Gerät geändert/gelesen werden.

Lösung - benutze Android:allowBackup="false" in der Manifestdatei.

Sie können diesen Beitrag lesen, um weitere Informationen zu erhalten: Hacking Android Apps Using Backup Techniques

3
Ayaz Alifov