Startseite > Datenschutz, Piraten, Sicherheit, Sonstiges, Statische Tags, Technik > Android: Löschfunktion löscht nicht richtig

Android: Löschfunktion löscht nicht richtig

(For english version, see the post on the Hatforce site)

Für einen Hatforce-Test musste ich ein gebrauchtes Android-Handy zurücksetzen, um die privaten Daten zu löschen, bevor ich mit dem Test loslege. Dafür hat Android eine eingebaute Löschfunktion: „Factory Data Reset“ oder auf deutsch „Auf Werkszustand zurücksetzen“. Zahlreiche Webseiten empfehlen, diese zu nutzen, bevor man das Gerät verkauft – wie ich feststellen musste, löscht diese aber nicht immer zuverlässig.

Vorher dem Löschen wollte ich natürlich meine Daten sichern, und zwar auf meinem PC und nicht bei Google. Das geht mit Titanium Backup relativ einfach (führt aber zu Gefahren!), dafür braucht man allerdings root-Rechte auf dem Gerät. Um die auf dem offiziellen Weg zu bekommen, muss man den Bootloader entsperren – und dabei werden die Daten gelöscht. Mittels des zergRush-Exploits geht das aber auch ohne Datenverlust. Im Anschluss hat man vollen Zugriff auf das Gerät.

Nachdem ich meine Daten gesichert und das Gerät mit der oben genannten Funktion gelöscht hatte, habe ich die Gelegenheit genutzt und getestet, ob die Löschfunktion sauber funktioniert. Mit

cat /dev/block/platform/s3c-sdhci.0/by-name/userdata | strings

habe ich die Rohdaten des Speichers ausgelesen und mir lesbare Zeichenketten anzeigen lassen – und siehe da, jede Menge persönlicher Daten! Mittels netcat lässt sich die Rohversion des Speichers auf den PC übertragen und dort in Ruhe mit photorec und ähnlichen Tools bearbeiten, um noch mehr (wie z. B. Fotos) zu Tage zu fördern.

Zumindest auf dem Samsung/Google Nexus S mit Android 2.3.6 taugt die eingebaute Löschfunktion also nichts. Mit geringem Aufwand und öffentlich verfügbaren Tools können große Teil der Daten, wie Fotos und evtl. auch Passwörter, wiederhergestellt werden. Auch das Löschen über das versteckte Recovery-Menü hat nichts gebracht. Beim Unlocken des Bootloaders hingegen wurde der Speicher genullt, sodass nichts mehr wiederherstellbar war. Ab Android 3.0 scheint das Problem laut Sourcecode behoben zu sein, getestet habe ich es aber mangels Testgerät nicht. (95% der Geräte laufen aber derzeit auf älteren Versionen.) Ob/welche anderen Geräte betroffen sind oder ob die Hersteller Anpassungen gemacht haben, um das Problem zu beheben, weiß ich natürlich nicht.

Da man das Gerät auch nach einem Wipe rooten und die Daten wiederherstellen kann, betrifft das auch Geräte, die in gesperrtem Zustand verloren werden. Zunächst kommt der Finder/Dieb nicht an die Daten heran (weil er das Gerät nicht entsperren kann, und damit weder den USB-Speicher noch das für das Rooten nötige USB-Debugging einschalten kann). Wenn er es aber über den Recovery-Modus löscht, wird die Sperre ebenfalls entfernt, und er kann die Daten wiederherstellen. Ob das Gerät vorher gerootet war, spielt dementsprechend keine Rolle.

Wenn ich ein Android-Gerät verkaufen müsste, würde ich es vermutlich wipen, die Partitionen (inkl. Datenpartition) über eine Rootshell mit Datenmüll vollschreiben, und es wieder wipen. Wie das System darauf reagiert, wenn man die Blockdevices direkt überschriebt (was eigentlich besser wäre), habe ich lieber nicht ausprobiert.

(Auf Englisch ist es etwas ausführlicher im Hatforce-Blogeintrag erklärt.)

  1. 7Rain
    2012-03-19 um 11:39 UTC

    Man kann die Partitionen per CWM Recovery verdammt einfach formatieren.

    • Jan
      2012-03-19 um 14:11 UTC

      Und das löscht die Daten tatsächlich? Formatieren scheint nämlich genau das zu sein was Android macht, und formatieren reicht absolut nicht aus.

  2. 2012-03-19 um 13:41 UTC

    Es ist immer wieder erstaunlich, das menschen immernoch nicht wissen, das „löschen“ nur das entfernen von metainformation _zu_ einem datensatz bewirkt.

    Die daten bleiben nachwievor bestehen, solange diese nicht überschrieben werden.

    Wer von einer vollgeschriebenen A4 seite die überschrift entfernt, entfernt damit eben nicht den inhalt der seite sondern nur dessen überschrift.

    Das sollte mittlerweile zum allgemeinwissen gehören imho.

    • Jan
      2012-03-19 um 14:10 UTC

      Ja, aber bei einer Funktion, die mehr oder weniger offiziell als „wipe“ bezeichnet wird, erwarte ich, dass es zumindest auf Flash-Controller-Ebene genullt wird (d.h. man ohne Hardwaremodifikationen nicht mehr an die Daten rankommt). Vor allem, wenn die Funktion dafür gedacht ist, vor einem Verkauf verwendet zu werden. Scheint ja ab Honeycomb auch gemacht zu werden…

      • 2012-03-19 um 14:16 UTC

        Naja. Zwischen dem was mensch erwartet und dem was mensch als gesicherte erkentnis erfahren kann, gibt es die bekannten unterschiede die _immer_ auftreten, wenn mensch die theorie mit der praxis vergleicht.

  1. 2012-03-19 um 16:12 UTC

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: