Zum Hauptinhalt Zur Navigation

Copperhead OS im Test: Ein sicheres Android für wenige

Schluss mit zu späten Sicherheitspatches für Android : Mit Copperhead OS können Nexus-Nutzer auf ein neues Custom-ROM mit schnellen Sicherheitsupdates und zahlreichen Verbesserungen setzen. Nur Google-Services haben wir nicht zum Laufen gebracht.
/ Hauke Gierow
58 Kommentare News folgen (öffnet im neuen Fenster)
Copperhead OS soll Android endlich sicher machen. (Bild: Copperhead)
Copperhead OS soll Android endlich sicher machen. Bild: Copperhead

Android-Nutzer sind Kummer gewohnt: fehlende Sicherheitsupdates , kaputter Medienserver und Googles Play-Dienste im Hintergrund. Zum Glück gibt es zahlreiche Custom-ROMs, mit denen Powernutzer die Geräte besser auf ihre Bedürfnisse zuschneiden können.

Die kanadische Sicherheitsfirma Copperhead hat unter diesem Namen das beliebte Cyanogenmod weiterentwickelt. Dabei soll vor allem die Sicherheit im Vordergrund stehen. Wir haben die Mod auf einem Nexus 5 installiert und ausprobiert.

Optisch unterscheidet Copperhead sich kaum vom klassischen Cyanogenmod. Das ROM basiert auf der aktuellen Android-Version 6.0.1 und hat den aktuellen Patchlevel von Google. Wir haben uns die vorinstallierten Apps angeschaut, uns an der Installation der Google-Services versucht und beschreiben Copperheads Maßnahmen zur Absicherung des Systems.

Apps, Dienste und Co.

Copperhead hat keine Google-Play-Services, Nutzer können also in der Standardeinstellung keine Apps aus dem Play Store installieren. Als Appstore ist F-Droid vorinstalliert. Eine manuelle Installation der Services gelang uns nicht ohne weiteres, mit viel Arbeit ist sie aber möglicherweise machbar.

Als SMS-Anwendung kommt Silence zum Einsatz, eine App zum verschlüsselten Versenden von Textnachrichten, die zuvor unter dem Namen Smssecure bekannt war. Silence verschlüsselt die SMS-Nachrichten der Nutzer, ohne dass eine Internetverbindung zum Versand erforderlich ist. Es wird das Axolotl-Protokoll von Signal eingesetzt. Die Verschlüsselung von Signal ist robust und wird auch von Whatsapp und bald dem Facebook-Messenger genutzt. Auch MMS-Verschlüsselung wird unterstützt, dieses Feature dürfte jedoch kaum genutzt werden.

Signal selbst wird nicht von Haus aus unterstützt, weil es die Google Play-Services zwingend voraussetzt, was ebenso kritisiert wird, wie dass die App die Kontakte der Nutzer auf andere Signal-Nutzer hin überprüft. Ansonsten sind nur Standardanwendungen dabei: Kamera, Kalender, Kontakte, Taschenrechner, der Open-Source-Browser Chromium, Musik, die Galerie und natürlich eine Telefon-App.

Wir versuchen, die Google-Apps zu installieren

Das Google-Apps-Paket lässt sich zwar herunterladen, zum Installieren muss jedoch ein Recovery-Dienst wie TWRP installiert sein. Das geht aus Copperhead heraus aber nicht ohne weiteres, weil das System keinen Root-Zugriff ermöglicht – was im Sinne der Sicherheit auch sinnvoll ist. Es ist nach Angaben der Entwickler nicht geplant, Root-Zugriff zu aktivieren. Im Forum steht zu einem entsprechenden Feature-Request nur: 'This won't be happening'(öffnet im neuen Fenster) .

TWRP kann von der Webseite ohne Probleme heruntergeladen werden. Um den Recovery-Dienst zu installieren, müssten die Dateien aber für den Zugriff durch den Fastboot-Modus verschoben werden, um das Paket über ADB und Fastboot zu installieren. Das gelingt ohne Root-Rechte nicht. Auch mit dem Befehl ADB-Push funktioniert das nicht, weil wir keinen Schreibzugriff bekommen.

TWRP lässt sich nicht installieren

Um überhaupt eine Chance auf Play-Services zu haben, müssten Nutzer zunächst TWRP installieren, dann Copperhead flashen, ohne die Recovery-Partition zu zerstören. Dann können die Google-Apps per Sideloading auf das Gerät geflasht werden. Erst danach darf Copperhead zum ersten Mal gestartet werden, denn sonst werden zahlreiche Berechtigungsfehler ausgegeben, wie es im Forum von Copperhead heißt(öffnet im neuen Fenster) . Ob das den Aufwand wert ist, ist fraglich.

Auf ähnliche Weise wäre es auch möglich, Copperhead mit entsprechenden Tools zu rooten, auch wenn dadurch das Sicherheitskonzept des Betriebssystems natürlich unterlaufen würde.

Sicherheitsfeatures

Das wesentliche Merkmal von Copperhead soll natürlich die Sicherheit sein. Von den meisten Anpassungen bekommen Nutzer aber nichts mit, weil Sie Einstellungen und Patches am Android-System betreffen – und eben keine wahrnehmbaren Funktionen sind. Wir beschreiben hier die wichtigsten Anpassungen.

Speicherfehler, Speicherfehler, Speicherfehler

Das Hauptaugenmerk der Entwickler liegt ganz offensichtlich darauf, verschiedene Arten von Speicherfehlern zu verhindern- eine gute Entscheidung. Der Android-Kernel wird bei Copperhead OS mit einem inoffiziellen Port von Pax abgesichert. Mit Pax werden die Memory-Pages mit einem Least-Privilege -Schutz versehen, um Buffer Overflows und andere Speicherfehler zu verhindern. Pax markiert dafür Datenspeicherbereiche als nicht ausführbar und Programmspeicher als nicht beschreibbar, so dass auch bei für Buffer-Overflows anfälliger Software kein Exploit möglich ist.

Außerdem wird Adress-Space-Layout-Randomization (ASLR) angewendet, um Informationen an zufälliger Stelle im Speicher zu platzieren. Eine vollständige Implementation aller Features des Grsecurity-Projektes sei nicht notwendig, weil viele der Funktionen bereits durch Android bereitgestellt würden, heißt es auf der Webseite des Projektes. Grsecurity ist eine Sammlung verschiedener Sicherheitspatches für den Linux-Kernel und wird von verschiedenen sicherheitsfokussierten Linux-Distributionen wie etwa Subgraph OS genutzt.

Auch der Compiler wurde angepasst und widerstandsfähiger gemacht. Durch den Einsatz von Adress Sanitizer sollen ebenfalls Speicherfehler verhindert werden. Mit dieser Funktion lassen sich viele Probleme wie Out-of-Bounds-Access, also Speicherzugriffe außerhalb des zugeteilten Heap und Use-after-Free-Lücken verhindern.

Die Sicherheit lässt sich per Schieberegler einstellen

Das gewünschte Sicherheitsniveau lässt sich in den Einstellungen durch einen Schieberegler einstellen. So kann etwa die Funktion "Full data sanitization" an- oder ausgeschaltet werden, Nutzer können aber auch per Regler zwischen "Performance (wenig Sicherheit)" und Sicherheit wählen und damit alle verfügbaren Optionen ein- oder ausschalten.

Angriffe durch USB-Geräte abwehren

Ein weiterer Angriffspunkt gegen Android-Geräte ist die Infektion mit Malware via USB. Für die Kommunikation mit dem PC und um etwa Custom-Roms aufzuspielen, gibt es die Android-Developer-Bridge-Funktion (ADB). Ist diese aktiviert, kann ein Smartphone unter Umständen von Angriffen durch Ransomware gesäubert werden, doch auch Angreifer können sich die Einstellung zunutze machen. So ist etwa bekannt, dass Staatstrojaner wie Finfisher über USB auch auf Smartphones aufgespielt wurden.

Copperhead will bösartige Angriffe via USB verhindern, aus diesem Grund wird eine Funktion der Grsecurity-Patches übernommen. Ist das Gerät gesperrt, akzeptiert das Betriebssystem keine bislang unbekannten USB-Geräte, so dass auch keine Datenübertragung stattfinden kann. Auch diese Einstellung lässt sich verändern, Nutzer können verfügen, dass gar keine USB-Geräte zugelassen werden.

Passwörter können unter Copperhead deutlich länger sein als in Vanilla-Andoird. Statt maximal 16 können bis zu 32 Zeichen verwendet werden. Copperhead nutzt außerdem das Secure_Delete-Feature von SQLite, so dass Informationen in Datenbanken mit Nullen überschrieben werden, damit die Informationen nicht wiederhergestellt werden können.

Zufällige Mac-Adressen

Um Tracking durch WLAN-Hotspots zu verhindern, nutzt Copperhead gespoofte Mac-Adressen. Das Netzwerk-Interface bekommt beim Start eine zufällig vergebene Mac-Adresse, die Funktion kann auf Wunsch abgeschaltet werden. Beim WLAN-Scanning werden außerdem zufällige Mac-Adressen an die Hotspots übertragen. Auch der Hostname wird beim Bootvorgang mit einem zufälligen Namen überschrieben, um möglichst wenig Informationen zu verraten.

Es wird fleißig gearbeitet

Die Entwickler arbeiten stetig an neuen Funktionen für Copperhead. Wer einen Blick in den Bugtracker wirft, kann sich davon überzeugen. Ein permanenter Fix für die Schwäche der Android-Geräteverschlüsselung beim Einsatz von Qualcomm-Prozessoren soll aber kurzfristig nicht erfolgen. Es sei zwar theoretisch möglich, den in Software gespeicherten Schlüssel durch den vom Prozessor generierten Hardwareschlüssel zu ersetzen, schreiben die Macher. Doch der Aufwand für eine permanente Lösung sei derzeit für das Team zu hoch.

Immerhin ermöglicht Copperhead es von Haus aus, für die Geräteverschlüsselung und die Entsperrung des Gerätes unterschiedliche Passwörter zu wählen. So kann der Lockscreen mit einer kurzen Phrase abgesichert werden. Nach fünf erfolglosen Versuchen fährt das Gerät dann automatisch herunter, so dass die kompliziertere Phrase für die Full-Disk-Encryption eingegeben werden muss. Bruteforce-Angriffe gegen die kurze Passphrase können so abgewehrt werden. Wenn das verwendete Gerät Fingerabdrucksensoren unterstützt, können auch diese zur Entsperrung des Gerätes genutzt werden.

Verfügbarkeit und Fazit

Copperhead OS ist derzeit für Geräte erhältlich, die nativ mit dem Android-Open-Source-Projekt laufen: Nexus 5, Nexus 6, Nexus5X und Nexus 6P. Geräte werden solange unterstützt, wie Google Updates an die Nexus-Familie ausliefert. Das sind nach derzeitigem Stand drei Jahre nach Veröffentlichungsdatum beziehungsweise 1,5 Jahre nach Verkaufsstopp. Auf dem Twitter-Account des Unternehmens spekulierten die Entwickler, ob Sie die Unterstützung für das Nexus 5 einstellen sollten, weil es nur von wenigen Nutzern nachgefragt würde.

Derzeit ist es nach Angaben des Unternehmens nicht geplant, andere, neuere Smartphones ebenfalls zu unterstützen. Grundsätzlich wird nur mit Geräten gearbeitet, die 64-Bit Unterstützung sowie Secure-Boot bieten. Copperhead gibt es bislang nur in englischer Sprache.

Sicherheitsfeatures stehen nicht im Weg

Copperhead macht keine nennenswerten Probleme. Wer sein Android gegen Speicherfehler, bösartige USB-Geräte oder andere Gefahren absichern will, kann zugreifen. Aber nur, wenn er ein kompatibles Gerät hat: Das sind derzeit nicht viele, der Pool dürfte auch nicht nennenswert größer werden.

Googles Play-Services sind nur mit vergleichsweise großem Aufwand installierbar. Die meisten Nutzer, die zu einem ROM wie Copperhead greifen, dürften über ihr Fehlen aber ohnehin froh sein. Alternative App-Stores hosten mehr Malware als der Play-Store, es ist jedoch zu erwarten, dass Nutzer von Copperhead genügend Erfahrung besitzen, um hier vorsichtig zu sein.

Die vom Projekt eingeführten Sicherheitsfeatures erscheinen uns sinnvoll, im Betrieb führten die gewählten Einstellungen nicht zu Schwierigkeiten. Gerade angesichts der Meldungen über die Angreifbarkeit der Android-Verschlüsselung sind die Optionen für eine längere Passphrase und einen kurzen Entsperr-Code sowie die generell längeren Passwörter eine sinnvolle Option.


Relevante Themen