Entscheidungshilfe Smartphone-Betriebssysteme

IOS, Android und Co. im Sicherheitscheck

2. Januar 2014, 7:00 Uhr | Philipp Gerling, Rainer W. Gerling , Sebastian Gerling

Beim Smartphone-Kauf spielt für Endanwender neben dem Gerätedesign und einer Präferenz für bestimmte Hersteller inzwischen das Betriebssystem und, nicht zuletzt aufgrund der NSA-Affäre, die Sicherheit eine große Rolle. Für Unternehmen ist zudem die Lebensdauer der Geräte sehr wichtig: Bei einem Lebenszyklus von 18 Monaten, untermauert durch die Update-Verfügbarkeit einzelner Hersteller, sind Geräte unter Sicherheitsgesichtspunkten nur schwer länger als ein Jahr einsetzbar, da die Integration in die Unternehmens-IT sorgfältig vorzubereiten ist.Smartphones stellen inzwischen sehr häufig genutzte Client-Geräte sowohl im Privat- als auch im Unternehmensbereich dar. Doch wie sieht es mit ihrer Sicherheit aus? Zahlen wir für den Komfort einen hohen Preis durch Kompromisse bei der Sicherheit oder können wir die Geräte mit gutem Gewissen einsetzen? Generell sind die Sicherheitskonzepte hinter den aktuellen Smartphone-Betriebssystemen als Schritt in die richtige Richtung zu sehen. Trotzdem hakt es noch an manchen Stellen. Die Integration von App-Stores mit der Möglichkeit einer zentralen Kontrolle, das generelle Ausführen von Apps in einer Umgebung mit stark eingeschränkten Zugriffsrechten ("Sandbox") und das Prinzip der minimalen Berechtigungen ("Least Privilege") sind gute, wichtige Ansätze. Doch nicht alle Systeme implementieren diese Gedanken gleichermaßen. Ihre Sicherheitsarchitekturen unterscheiden sich teils erheblich. Dieser Beitrag diskutiert die Ansätze der Betriebssysteme Android 4.4, IOS 7, Windows Phone 8, Blackberry OS 10 sowie des Newcomers Firefox OS 1.1 im Hinblick auf die Systemintegrität, die System-Updates, den Zugangsschutz zum Gerät, den Schutz vor bösartigen Applikationen, die Kommunikationssicherheit und die Unternehmensintegration. Als Referenzsysteme fanden je ein Iphone 5S, Android Nexus 5, Blackberry Z10, Nokia Lumia 820 sowie Alcatel One Touch Fire Verwendung.

Systemintegrität
Der Schutz der Systemintegrität ist von zentraler Bedeutung für die Sicherheit eines Betriebssystems. Die meisten aktuellen Smartphones stellen durch eine gesicherte Boot-Kette (Bild 1) sicher, dass ausschließlich das unveränderte Systemimage des Geräteherstellers geladen werden kann. Einerseits verhindert dies die Installation herstellerfremder System-Images (viele Benutzer sehen dies auch als Einschränkung, da sie so genannte Custom ROMs nicht ohne Weiteres verwenden können), andererseits lassen sich so aber auch bösartige Veränderungen des Systemimages verhindern.
Die Absicherung findet in der Regel durch Secureboot, einen Teil des ARM-SoC-Designs (System on a Chip) statt: Der Hersteller speichert einen Public Key zur Verifikation des System-Images unveränderbar in der Hardware ab und der Systemstart ist nur erlaubt, wenn die Signatur des Systemimages erfolgreich gegen diesen Key verifiziert. Der Schutz der Boot-Kette hängt also auch maßgeblich von der verwendeten Hardware und dem Willen des Geräteherstellers ab, Secureboot zu nutzen. Gebrauch machen davon aktuelle IOS-Geräte wie das Iphone 5S oder 5C, die Android-Telefone der großen Hersteller wie Samsung, Google oder HTC, die Blackberry-OS-10-Geräte, aber auch die Windows-Phone-8-Geräte (in Verbindung mit UEFI). Insbesondere für Windows Phone 8 und BB OS 10 sind noch keine erfolgreichen Umgehungen des Schutzes bekannt. Firefox OS steht noch am Anfang, es ist jedoch zu erwarten, dass auch hier die Geräte in Zukunft Secureboot anbieten.
Eine Absicherung zentraler Systemkomponenten zur Laufzeit mit zusätzlichen Kontrollflussprüfungen ("Dynamic Runtime Attestation" oder "Control Flow Integrity Checks") ist dagegen noch nicht Standard, obwohl sich gerade durch die Kontrollen zur Laufzeit gängige Angriffe verhindern lassen. IOS, Android, Blackberry OS und Windows Phone unterstützen allerdings in der Regel gängige Mechanismen wie Data Execution Prevention (Execute-Never- oder NX-Bit bei Geräten mit ARM-CPU) und Address Space Layout Randomization (ASLR), um das System beim Ausführen von externem Code zu schützen. Bei Firefox OS sind diese Mechanismen wohl in Vorbereitung.
Die Auswirkungen einer kompromittierten Systemintegrität lassen sich gut an zwei Beispielen verdeutlichen: Die so genannten "Jailbreaks" unter IOS nutzen Sicherheitslücken im System, um Anwendern einen vollen Systemzugriff zu ermöglichen. In der Regel wird dies zum Umgehen von Apples App-Store-Bindung verwendet: Nur so können Benutzer Apps von Drittherstellern, die nicht im App Store gelistet sind, installieren. Allerdings findet danach in der Regel keine Kontrolle der Apps mehr statt. Unter Android ist vielen das "Rooten" ein Begriff: Auch hier wird in der Regel das System ausgehebelt, um volle Systemrechte zu erlagen. Letztendlich kann jede Lücke im System auch für Angriffe dienen, daher ist der Schutz der Systemintegrität zu jeder Zeit von zentraler Bedeutung.

System-Updates
Ein drängendes Problem bei heutigen Smartphone-Betriebssystemen stellen derzeit die System-Updates dar. Für Android gibt es eine Vereinbarung der Hersteller, dass Updates ab Markteinführung eines Geräts 18 Monate lang zur Verfügung stehen. Kauft man das Gerät nicht zum Marktstart, sondern ein halbes Jahr später, erhält man somit bereits nur noch ein Jahr Updates. Zudem kommen unter Android Sicherheits-Updates viel zu langsam: Die Vielfalt der Geräte mit den teils erheblichen Anpassungen der Gerätehersteller sowie zusätzliche Anpassungen der Mobilfunk-Provider führen bei drängenden Problemen zu Reaktionszeiten von mehreren Monaten (wenn alte oder preiswerte Geräte überhaupt noch ein Update erhalten).
Google wirkt mit seinen Nexus-Geräten der langen Reaktionszeit entgegen, dennoch kommen Updates nur 18 Monate lang, wie aktuell beim Google Galaxy Nexus zu sehen ist. Hier haben IOS und BB OS 10 klare Vorteile. Da die Endgeräte und das Betriebssystem vom gleichen Hersteller kommen, können sie Updates effizienter entwickeln und bereitstellen. Microsoft verteilt die Updates seiner Windows-Phone-8-Geräte ebenfalls zentral, dennoch sind Feedbackzyklen mit den Herstellern und Providern abzuwarten. Die Update-Frequenz ist in der Regel aber klar höher als bei den typischen Android-Geräten (mit Ausnahme des Google Nexus).
Firefox geht hier einen innovativen Weg und versucht, Probleme dadurch zu lösen, dass Updates für das zugrunde liegende Linux-System unabhängig von den Middleware-Updates erfolgen. Somit können alle Endgeräte Mozillas Middleware direkt aktualisieren, die Updates für das darunter liegende Linux-System mit den gerätespezifischen Treibern werden dagegen von den Geräteherstellern kommen. Ob sich dieser Ansatz bewähren wird, bleibt abzuwarten.

Zugangs- und Datenschutz
Ist eine sichere und - durch regelmäßige Updates - sicher bleibende Systembasis erreicht, geht es darum, den Zugang zum Gerät selbst und zu den Benutzerdaten vor unbefugten Zugriffen durch Dritte zu schützen. Der Gerätezugang lässt sich in der Regel durch numerische Passwörter (PINs) schützen: vier Ziffern bei Firefox OS, eine beliebige Anzahl an Ziffern bei Windows Phone 8. IOS bietet zusätzlich beliebige alphanumerische Passwörter und beim Iphone 5S einen Fingerabdruckleser als Zugangsschutz an. Android OS erlaubt beliebige alphanumerische Passwörter und bietet zusätzlich das Zugangsmuster ("Login-Pattern", Bild 2) sowie eine kamerabasierte Gesichtserkennung an. Blackberry OS unterstützt ebenfalls komplexe alphanumerische Passwörter.
Die Zugangskennung öffnet darüber hinaus die Verschlüsselung der persönlichen Daten auf dem Smartphone. Die Geräte, die eine Verschlüsselung anbieten, unterscheiden hier zwei Konzepte: Bei Android öffnet die PIN-Eingabe die Partitionsverschlüsselung der Datenpartition, wohingegen IOS hier eine dateibasierte Verschlüsselung für die Nutzerdaten verwendet. IOS verwendet zwar zusätzlich auch eine Partitionsverschlüsselung (Bild 3), allerdings fällt dieser hier eine andere Aufgabe zu: Der Partitionsschlüssel wird automatisch während des Boot-Prozesses geladen, um im Anschluss die Systempartition zu entschlüsseln. Dies ermöglicht das schnellste und effizienteste Löschen des Geräts. Durch Ersetzen des gespeicherten Schlüssels ist kein Zugriff auf die alte Partition mehr möglich.
Windows Phone 8 und Blackberry OS 10 verwenden ebenfalls den Ansatz einer Partitionsverschlüsselung; für Firefox OS ist die Möglichkeit, Benutzerdaten verschlüsselt abzulegen, bisher nicht verfügbar. Hier ist aufgrund der Ähnlichkeiten zum Android-System allerdings anzunehmen, dass eine Verschlüsselung zeitnah folgen wird. Während bei Android und Blackberry OS 10 der Benutzer die Verschlüsselung explizit aktivieren muss, ist sie bei IOS immer eingeschaltet und lässt sich nicht deaktivieren. Die Verschlüsselung bei Windows Phone und Blackberry OS 10 (in Verbindung mit der Dual-Personality-Lösung "Balance") ist nur über einen zentralen Management-Server zu aktivieren.
Mit ein Grund für den Erfolg aktueller Smartphones ist die große Anzahl an kleinen Apps, die den Funktionsumfang und Komfort der Geräte massiv erweitern. Allerdings kommen die Apps nicht von großen, erfahrenen Softwarekonzernen, wie es auf Desktop-Computern der Fall ist, sondern in der Mehrzahl von potenziell unerfahrenen und unbekannten Entwicklern. Denn das Application Framework der verschiedenen Systeme hat die Entwicklung inzwischen enorm vereinfacht. Doch wie ist sichergestellt, dass keine bösartigen Apps aufs Smartphone kommen und Fehler in Apps nicht leicht für Angriffe auf das System nutzbar sind?
Durch das Konzept eines zentralen Hersteller-App-Stores können Apps bereits eine intensive Kontrolle durchlaufen, bevor sie auf das Smartphone wandern. Zwar stellt eine zuverlässige Erkennung von Malware vor der Installation einer App auf dem Gerät eine echte Herausforderung dar, und gerade hier sind noch große Verbesserungen erforderlich. Dennoch nutzen eigentlich alle Hersteller bereits im Rahmen des Möglichen den Vorteil des zentralen Stores zur App-Kontrolle, zum Beispiel Google mit dem "Bouncer". Im Gegensatz zu Windows Phone 8 und IOS 7 lässt sich unter Android die zentrale App-Store-Bindung durch Aktivieren des so genannten "Side-Loadings" umgehen. Hier kann in den neuesten Android-Versionen aber dennoch der Google Bouncer als Malware-Check vor einer Installation zum Einsatz kommen. Wie schwer eine effiziente Kontrolle im App Store ist, lässt sich am Beispiel von "Jekyll" bei Apple sehen. Der Jekyll-Angriff der Forscher Tielei Wang et al. bewies, wie man an Apples Kontrollen vorbeikommen kann.
Um Apps vor Zugriffen anderer Apps zu schützen, aber auch die Zugriffsmöglichkeiten einer App selbst einzuschränken, verwenden alle Systeme eine Form des "Application Sandboxings" (Bild 4). Unter Android werden Apps zum Beispiel jeweils unter einer eigenen User-ID ausgeführt und die Zugriffskontrolle des zugrunde liegenden Unix-Systems zur Implementierung der Sandbox verwendet. Apps, die dann aus dem App Store auf die Endgeräte kommen, sind zunächst einmal unprivilegiert. Die Plattformen versuchen hier, das Prinzip des Least Privilege zu implementieren.
Weitergehende Berechtigungen muss eine App bei Android in Form von zusätzlichen Permissions bei der Installation anfordern. Windows Phone 8 verfolgt ein ähnliches Prinzip, allerdings stehen insgesamt weniger Berechtigungen zur Auswahl. Blackberry OS 10 und Firefox OS nutzen diesen Mechanismus der Berechtigungsanforderung zum Installationszeitpunkt ebenfalls. Unter IOS lassen sich die Privilegien auch nach der Installation noch in den Datenschutzeinstellungen anpassen.
Gerade vor dem Hintergrund der "NSA-Affäre" sollten eine verschlüsselte E-Mail-Kommunikation und ein Zugriff aufs Unternehmensnetz per VPN-Verbindung eine Selbstverständlichkeit sein. Während IOS und Blackberry sowohl S/Mime als auch IPSec nativ unterstützen, sieht es insbesondere bei Android und Windows Phone nicht so gut aus. Ein SSL-VPN (zum Beispiel Cisco Anyconnect) unterstützen nur IOS und Android. Während man bei Android S/Mime nachrüsten kann (mittels Djigzo), muss man bei Windows Phone wohl auf das angekündigte große Update (Enterprise Feature Pack) warten. OpenPGP läßt sich auf Android leicht nachrüsten (Android Privacy Guard, APG), für IOS gibt es eine rudimentäre App (Opengp). Diese Apps sind nicht sonderlich komfortabel, da sie entweder als externe Viewer für ein Attachment (Djigzo) integriert werden oder intensiv die Zwischenablage nutzen. Es existieren auch alternative E-Mail-Clients mit S/Mime- oder OpenPGP-Unterstützung (zum Beispiel R2mail2 oder Moxier Mail).
Insbesondere die fehlende Unterstützung für E-Mail-Verschlüsselung und VPN bei Windows Phone fällt auf. Hier scheint sich Microsoft ganz auf HTTPS (inklusive RPC over HTTPS) zu verlassen. Erfreulich ist, dass sich auf IOS und Android OpenVPN installieren lässt.
Bei der Einführung von Smartphones oder Tablets ist es unumgänglich, auch ein Mobile-Device-Mangement (MDM) einzuführen. Nur so lassen sich Passwortregeln durchsetzen, wichtige Konfigurationsinformationen (wie Firmenzertifikate und E-Mail- sowie VPN-Konfigurationen) unproblematisch ausrollen und ungewünschte Funktionen abschalten.

Zusammenfassung
Ein klare Empfehlung zu geben ist schwer, aber rein bezüglich der Funktionalität machen Blackberry OS 10 mit Balance und Samsungs Android-Geräte mit der Container-Lösung Knox - beide dank der Möglichkeit zur Trennung von privater und geschäftlicher Nutzung - sowie kurz dahinter IOS 7 derzeit das Rennen. Berücksichtigt man andere Aspekte wie zum Beispiel die zeitnahe Verfügbarkeit der Updates und die Dauer der Unterstützung älterer Hardware durch Updates, ändert sich das Bild.

Bild 4: Sandboxing verhindert unerwünschte Kommunikation zwischen Apps. Bild: Ph., R.W. und S. Gerling

Bild 3: Apples IOS nutzt eine Partitions- wie auch eine Dateiverschlüsselung. Bild: Ph., R.W. und S. Gerling

Bild 2: Login-Muster sollen bei Android 4.4 die Zugriffssicherheit erhöhen. Bild: Ph., R.W. und S. Gerling

Bild 1: Eine sichere Boot-Kette ist zum Schutz eines Mobilgeräts unerlässlich. Bild: Ph., R.W. und S. Gerling

Philipp Gerling, Student der Wirtschaftsinformatik an der TU München. Rainer W. Gerling ist IT-Sicherheitsbeauftragter der Max-Planck-Gesellschaft und Honorarprofessor für IT-Sicherheit an der Hochschule München. Sebastian Gerling ist Administrativer Leiter des Centers for IT-Security, Privacy and Accountability (CISPA) und wissenschaftlicher Mitarbeiter am Lehrstuhl für Informationssicherheit und Kryptographie an der Universität des Saarlands.


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Devicelock

Weitere Artikel zu Click and Buy

Weitere Artikel zu Westcon Group

Weitere Artikel zu TOBIT SOFTWARE AG

Weitere Artikel zu Gigaset Communications GnmbH

Matchmaker+