Menü
Security

Heftiger Schlag für Android-Verschlüsselung

Die Voll-Verschlüsselung von Android-Smartphones weist ein ernsthaftes Design-Problem auf, das die geschützten Daten sehr angreifbar macht, erklärt ein Sicherheits-Forscher. Er belegt dies mit konkretem Code, der Brute-Force-Angriffe demonstriert.

Von
vorlesen Drucken Kommentare lesen 496 Beiträge
Heftiger Schlag für Android-Verschlüsselung

(Bild: Gal Beniamini)

Aktuelle Smartphones schützen die Daten ihrer Nutzer durch Verschlüsselung. Bei iPhones ist diese Verschlüsselung so gut, dass selbst das FBI Probleme hat, an die Daten zu kommen. Android kann eine ähnliche Verschlüsselung vorweisen. Allerdings weist diese ein konzeptionelles Problem auf, das das Entschlüsseln der Daten deutlich leichter macht. Wie das geht, erläutert und demonstriert jetzt ein Sicherheits-Forscher sogar mit konkretem Beispiel-Code für Geräte mit Qualcomm-Prozessoren.

Sowohl bei Android als auch bei iOS schützt der Passcode des Benutzers auch dessen Daten. Selbst wenn man das Gerät hat, muss man den Code knacken, um an die Daten heranzukommen. Nun sind Passcodes typischerweise noch deutlich schwächer als etwa E-Mail- oder Windows-Kennwörter. Viele Nutzer geben sich mit vier oder sechs Ziffern zufrieden, die schnell zu tippen sind. Mit einem vollwertigen PC und erst recht auf spezialisierten Cracking-Clustern ist es keine nennenswerte Hürde, die möglichen Codes alle durch zu probieren.

Keymaster und Trustzone

Der KeyMaster aus Qualcomms TrustZone lässt sich seine Geheimnisse entreissen.

(Bild: Gal Beniamini)

Deshalb kombiniert iOS das Benutzer-Passwort so mit einem Hardware-Key, dass Knackversuche nur auf dem jeweiligen Gerät erfolgen können. Denn dieser sogenannte UID-Key ist auf jedem Gerät anders und lässt sich nicht auslesen. Anders bei Android: Zwar kombiniert auch Googles Smartphone-OS den Passcode mit einem Schlüssel, der an das Gerät gebunden ist. Doch dieser wird innerhalb der so genannten TrustZone vom KeyMaster gespeichert und via Software zugänglich. Zugriffe auf den Schlüssel sind demnach sowohl durch signierten Code des TrustZone-Herstellers als auch durch Sicherheitslücken in dessen Software möglich.

In seinem Blog-Posting Extracting Qualcomm's KeyMaster Keys - Breaking Android Full Disk Encryption erläutert Gal Beniamini das en Detail. Insbesondere erklärt er als Beispiel, wie man über Sicherheitslücken in Qualcomms TrustZone diesen KeyMaster-Key extrahieren kann. Damit ist es dann möglich, hoch-effiziente Cracking-Hardware auf die Passcode der Android-Nutzer anzusetzen.

Android mit Qualcomm-Prozessoren angreifbar

Qualcomm ist zwar nur einer der Hardware-Hersteller, die eine eigene TrustZone-Implementierung für Android herstellen. Doch die Firma ist der größte Prozessor-Lieferant für Android und beliefert viele Smartphone-Hersteller. Kyle Lady von Duo Security schätzt, dass die demonstrierten Angriffe über die Hälfte aller geschäftlich genutzten Android-Handys betreffen.

Zwar haben Qualcomm und Google bereits Updates veröffentlicht, die diese TrustZone-Lücken beseitigen (CVE-2015-6639 im Januar-Patch, CVE-2016-2431 im Mai-Patch). Doch bis diese tatsächlich auf den angreifbaren Geräten landen, vergeht bekanntermaßen sehr viel Zeit. Außerdem weist Beniamini darauf hin, dass ein Angreifer aller Wahrscheinlichkeit nach auch danach noch durch ein TrustZone-Downgrade Zugang zu den Schlüsseln erlangen könnte.

Fazit: iOS versus Android-Verschlüsselung

Mit den extrahierten Schlüsseln des KeyMaster sind Wörterbuch- und Brute-Force-Angriffe auf die Android-Verschlüsselung möglich.

(Bild: Gal Beniamini)

Um das Problem einzuordnen: Es handelt sich hier nicht um Sicherheitsprobleme der Größenordnung von Stagefright, über die Kriminelle Android-Geräte etwa mit einer MMS kapern könnten. Hier geht es darum, ob beziehungsweise wie leicht jemand, der ein fremdes Gerät in die Hände bekommt, Zugang zu den darauf gespeicherten Daten erlangen kann. Bei iOS-Geräten gestaltet sich das recht schwierig. Selbst wenn Apple mithelfen sollte, muss der Angreifer immer noch den Nutzer-Passcode auf dem Gerät selbst knacken, was bei mehr als sechs Zeichen sehr langwierig bis unmöglich ist.

Bei Android hingegen kann man offenbar den Geräte-Schlüssel extrahieren. Das geht entweder wie jetzt demonstriert über Sicherheitslücken in der TrustZone oder Google beziehungsweise dessen Partner wie Qualcomm liefern angepasste, signierte Module, die die Schlüssel ausleiten. Beides bedeutet, dass man anschließend das Knacken des Passcodes auf spezialisierte Cracking-Hardware auslagern kann. Jens Steube hat schon Interesse bekundet, die dazu notwendigen Erweiterungen in sein dabei gern genutztes Cracking-Tool Hashcat einzubauen. Die Chancen, dass ein Passcode, den man sich merken und auch regelmäßig eintippen kann, dem lange Stand hält, sind gering. Google sollte also sein Verschlüsselungs-Konzept dringend nochmal überdenken. (ju)