Mobile Bedrohungen
Seite 3: Macht hoch die Tür!
Macht hoch die Tür!
Eine Kombination zweier Lücken im iPhone war im August des einen Freud und des anderen Leid: Die als Jailbreakme-Lücke bekanntgewordenen Schwachstellen ließen sich zum Entfernen des SIM-Locks auf dem iPhone und dem Befreien vom App-Store-Zwang ausnutzen – oder um ein Gerät mit Malware zu infizieren. Neu waren Sicherheitslücken im iPhone bis dato zwar keineswegs. Das Besondere an der Jailbreakme-Lücke war, dass sie als erste konkret in größerem Stil (im Sinne des Anwenders) ausgenutzt wurde und dafür bereits der Besuch einer präparierten Webseite genügte.
Bei den vorhergehenden Updates des iPhone-Betriebssystems war Apple in der günstigen Situation, dass die Informationen zu den geschlossenen Lücken erst im Nachhinein veröffentlicht wurden und somit weniger Anwender Gefahr liefen, einem Angriff zum Opfer zu fallen. Gelegenheiten hätte es genug gegeben: Allein das Update auf iOS 4.0 schloss 65 Lücken. Die meisten fanden sich in der vom Safari-Browser benutzten WebKit-Komponente und ermöglichten einer präparierten Webseite, ein iPhone zu infizieren.
Eigentlich sollen Apples Sicherheitsvorkehrungen verhindern, dass sich Lücken überhaupt ausnutzen lassen, um Code einzuschleusen und mit Root-Rechten zu starten. Der Jailbreakme-Exploit hat es aber geschafft, die Datenausführungsverhinderung des iOS (eXecute Never, XN, siehe Kasten „Plattformen“) zu umgehen und aus der Applikations-Sandbox auszubrechen. Dafür nutzt er einen Fehler in einer Systembibliothek zur Verarbeitung von PDF-Dokumenten, um via MobileSafari Code zum Entsperren einzuschleusen. Ein weiterer Fehler bei der Verarbeitung von Pixel-Puffern half dem Exploit, an Root-Rechte zu gelangen und die Restriktionen der Sandbox auszuhebeln und letztlich das Gerät für weitere Manipulationen zu öffnen.
Für Android gibt es erstaunlicherweise erheblich weniger Berichte über Sicherheitslücken im Betriebssystem oder dazugehörige Anwendungen, die zur Kompromittierung des Systems führen könnten. Google veröffentlicht bei der Herausgabe neuer Android-Versionen leider keine Informationen zu darin behobenen Sicherheitsproblemen – dass es sie gibt, lässt sich allein schon aus den gemeldeten Fehlern der aus der Computerwelt stammenden Open-Source-Software ableiten.
Da Android-Apps in Java geschrieben sind und sich dort klassische Überlauf-Fehler meist nur zum Abschießen der Software ausnutzen lassen, muss sich ein Angriff in der Regel gegen eine der in ARM-Maschinensprache ablaufenden Systemkomponente richten. Das ist bei den in C/C++ geschriebenen Modulen der Fall. Angreifer haben allerdings auch nach einem erfolgreichen Einbruch in den meisten Fällen keinerlei Zugriffsrechte auf weitere Dateien oder andere Systemressourcen. Ein gut dokumentiertes Beispiel ist eine Schwachstelle im Multimedia-Subsystem OpenCore: Ein Fehler beim Dekodieren von MP3-Dateien ließ sich zum Einschleusen von Code missbrauchen; das Einfallstor konnte auch der Browser sein. Weil der Browser die MP3-Datei zur Verarbeitung direkt an OpenCore weiterreichte, lief der Code mit den OpenCore-Rechten in einer Sandbox – und da gabs nicht viel zu holen.
Mit einem direkten Angriff auf den Browser hätte ein Angreifer sämtliche Informationen auslesen können, auf die der Browser Zugriff hat – gespeicherte Nutzernamen und Passwörter inklusive. Die Möglichkeit dazu böte eine im Mai vom britischen Sicherheitsdienstleister MWR gefundene Lücke in WebKit. Google soll die Lücke in Android 2.2 zwar geschlossen haben, diese Version verbreitet sich aber nur zäh. Zudem gibt es für viele ältere Smartphones schlicht keine Updates auf aktuellere Versionen und Patches zum Schließen einzelner Lücken sind selten. Einige Android-Besitzer sitzen also auf einem Pulverfass.
Bei Apple gibt es Monokultur-bedingt keine Verzögerungen von Updates aufgrund von Anpassungsschwierigkeiten für verschiedene Modelle. Doch bleiben Besitzer des ersten iPhone-Modells ebenfalls im Regen stehen, da Apple dafür gar keine Updates mehr herausgibt und die Jailbreakme-Lücke offen bleibt.
Insgesamt kann man feststellen, dass die Sicherheitsarchitektur des iPhones einem Angreifer nach einem Einbruch mehr Spielraum zur weiteren Kompromittierung des Geräts gibt. Der Einbruch an sich wird durch den Einsatz von XN und Code-Signatur stark erschwert. Bei Android sieht es genau anders herum aus. Das Einbrechen ist relativ einfach, sobald eine Schwachstelle in einer Systembibliothek gefunden ist. Das Auslesen von Benutzerdaten oder weitere Manipulationen sind allerdings kaum möglich, wenn die angegriffene App nur über wenige Zugriffsrechte verfügt – oder der Angreifer hat eine weitere Schwachstelle in der Hinterhand, um aus der Sandbox auszubrechen. Trotz aller Hürden zeichnet sich derzeit ab, dass Android bereits weiter in den Fokus Krimineller gerückt ist als das iPhone. Dabei nutzen die Autoren von Malware so gut wie nie Sicherheitslücken aus und verlassen sich vielmehr auf die Mithilfe des Anwenders, dubiose Apps zu installieren. Und genau hier wird die größere Offenheit von Android für viele Anwender zum Risiko.