Cracking Android’s full disk encryption

FROST

At the end of 2011, Google released version 4.0 of its Android operating system. For the first time, Android smartphone owners were supplied with a disk encryption feature that transparently scrambles user partitions, thus protecting sensitive user information against targeted attacks that bypass screen locks. On the downside, scrambled telephones are a a nightmare for IT forensics and law enforcement, because once the power of a scrambled device is cut any chance to recover data other than bruteforce is lost.

We present FROST (Forensic Recovery Of Scrambled Telephones), a tool set that supports the forensic recovery of scrambled telephones. To this end we perform cold boot attacks against Android smartphones and retrieve disk encryption keys from RAM. We show that cold boot attacks against Android phones are generally possible for the first time, and we demonstrate our attacks practically against Galaxy Nexus devices from Samsung.

The FROST version for the Galaxy Nexus and some more information to the topic can be found here.

The technical report with all details to the cold-boot-attack inside our FROST recovery image can be found here.

8 comments

  • Philipp

    Sehe ich das richtig: Eigentlich ist das Android genauso sicher wie ein LUKS, der Angreifer kann halt die verschlüsselten Keys auslesen.

    Nur die Wahl eines schlechten Kennwortes (Hier eine 4-stellige PIN) macht es angreifbar, oder?

    Android 4 hat auch die Möglichkeit, ein ‘richtiges’ Kennwort dafür zu benutzen.

    Oder liegt das entschlüsselte Kennwort so im RAM, dass man es auch auslesen könnte (wenn das Device gerade noch in regulärer Benutzung war)?

  • mspreitz

    Hi Philipp,

    man muss bei dem cracken der FDE auf die zwei unterschiedlichen Verfahren getrennt eingehen um deine Frage zu beantworten. FROST setzt aktuell auf 2 unterschiedliche Angriffe:

    (1) “Brute-Force”: Hierbei werden die Informationen aus dem Crypto-Footer der verschlüsselten Partition ausgelesen und es wird versucht anhand dieser Daten das Passwort/PIN des Benutzers zu berechnen. Dies ist sehr aufwendig und funktioniert in angemessener Zeit nur mit kurzen Passwörtern/PINs. Hier ist der Schwachpunkt der Verschlüsselung definitiv ein schlechtes Passwort. Dieser Angriff wurde erstmals auf der Def Con 2012 gezeigt.

    (2) “Cold-Boot”: Hierbei wird das Telefon mit Hilfe eines Gefrierschranks heruntergekühlt, durch diese Kühlung bleibt der Inhalt des RAM länger persistent. Danach wird das Telefon kurz vom Strom getrennt und in unser FROST (recovery image) gebootet. Hier kann nun der Inhalt des RAM nach AES-Schlüsseln durchsucht werden und mit den gefundenen Schlüssel die User-Partition entschlüsselt werden. Dieser Angriff funktioniert unabhängig von der Länge und Komplexität des Passwortes, das Telefon muss vor dem Angriff lediglich in Verwendung gewesen sein (gesperrt oder ungesperrt ist dabei egal).

    Mehr zu dem Thema findest du auch in unserem Paper dazu.

  • Philipp

    Ah, ok. Also exakt wie bei den Angriffen auf LUKS und co.

    In der Berichterstattung gab es kaum Differenzierung zwischen den beiden Verfahren, daher war ich schon verwirrt.

    Danke dir!

    (Wirklich interessant wird das Verfahren erst, wenn man es in der Zeit einer “Sprengstoffuntersuchung” am Flughafen durchführen kann.)

  • Dominik (rootme.eu)

    Abend,
    erstmal vorneweg: Respekt an die Arbeit von euch beiden, und auch den Blog generell. Sehr interessant!
    Wie sieht es denn damit aus, wenn man den Bootloader entsperrt und dann FROST einsetzt, kann man dann irgendwie mit wiederherstellungstools an die Daten kommen? Und wie sieht es mit einem dump der System-Partition aus?

    Grüße

  • mspreitz

    Hi Dominik,

    nach unserem Wissensstand gibt es auf aktuellen Telefonen bzw. mit aktuellen Versionen von Android keine Möglichkeit die Partitionen wiederherzustellen nachdem sie beim entsperren des Bootloaders gelöscht wurden. Man findet im Netz zwar eine Menge Anleitungen wie es angeblich geht, diese konnten wir aber nicht reproduzieren. Was funktionieren könnte ist ein echtes Abbild der Partition mit Hilfe von JTAG-Boxen im Anschluss an das Entsperren zu erstellen. Wir vermuten, dass die Daten dort noch vorhanden aber laut Controller gelöscht sind. Schafft man es also den Controller zu umgehen, sollten noch alle Daten vorhanden sein.

  • Puhn

    Hi,

    I was told if the SD card is encrypted it is easy to take it out, extract the encryption key and use it to decrypt the device memory. This is because same encryption key is used to encrypt both device memory and SD. Please can you comment on this? Have you tried this approach and what protection measures you would advice?

    Thank you

Leave a Reply

%d bloggers like this: