Skip to content

Apples Umgang mit Schwachstellen und deren Entdeckern

Charlie Miller, der bereits etliche Schwachstellen in Mac OS X, Safari und iOS gefunden und seit 2008 alle Pwn2Own-Wettbewerbe gewonnen hat, hat wieder zugeschlagen: Eine von ihm entdeckte Schwachstelle in iOS erlaubt das Einschleusen beliebigen Codes in iOS-Apps. Zur Belohnung hat Apple ihn aus dem Entwickler-Programm geworfen. Ein genialer Schachzug, um die Sicherheit von iOS zu verbessern, denn Schwachstellen entstehen bekanntlich erst durch ihre Entdeckung, aber keinesfalls während der Entwicklung. Jedenfalls in der Welt der Apple-Verantwortlichen.

Die Schwachstelle in iOS

Über die von Charlie Miller gefundene Schwachstelle kann das für iOS obligatorische Codesigning vor der Veröffentlichung im App Store ausgehebelt werden. Eine von Miller entwickelte Proof-of-Concept-App war offiziell ein Börsenticker, der von Apple im App Store aufgenommen wurde. Beim Start der App nahm sie Verbindung mit Millers Server auf und lud von dort ggf. Code nach. Der war allerdings im Normalfall nicht vorhanden, so dass normale Benutzer der PoC-App niemals in Gefahr waren. Lediglich für Tests mit dem eigenen iPhone hat Charlie Miller Code hochgeladen. Als Beispiele wurden ein YouTube-Video aufgerufen und eine Shell, über die aus der Ferne z.B. auf das Adressbuch zugegriffen werden konnte, geöffnet.

Details erst später

Details der Schwachstelle wird Charlie Miller auf der Sicherheitskonferenz SyScan Taiwan vorstellen, die am 17. und 18. November stattfindet. Vorab hat er ein Video veröffentlicht (auf YouTube hochgeladen am 23. September), in dem er die Schwachstelle vorführt.

Die Schwachstelle befindet sich im Apples neuer JavaScript-Engine Nitro. Die enthält einen Just-in-Time-Compiler und führt Anwendungen deutlich schneller aus, erlaubt dafür aber die Markierung von Speicherbereichen als ausführbar. Das widerspricht den Sicherheitsregeln von iOS, weshalb Nitro eigentlich nur im Webbrowser Safari nutzbar sein soll. Charlie Miller hat eine Möglichkeit gefunden, Nitro in anderen Apps zu nutzen und damit eigenen Code auszuführen.

Hier eine kleine Übersicht über die Entwicklung:

  • 14. September - Die PoC-App wird im App Store veröffentlicht
  • 14. Oktober - Charlie Miller informiert Apple über die Schwachstelle, verschweigt dabei aber die PoC-App
  • 7. November - Forbes berichtet über die Schwachstelle.
  • 7. November - Apple entfernt die PoC-App aus dem App Store
  • 8. November - Charlie Miller wird aus dem iOS Developer Programm geschmissen
  • 10. November - Apple veröffentlicht iOS 5.0.1, in dem die von Miller gefundene Schwachstelle behoben wurde.

Formal richtig, aber...

Rein Formal hat Apple in beiden Fällen korrekt gehandelt, denn dass "Developer Agreement", dem jeder zustimmen muss, der dem Developer Programm beitreten möchte, verbietet es, Teile der App zu verstecken oder zu tarnen ("hide, misrepresent or obscure"). Aber nur, weil etwas formal richtig ist, muss es nicht gut sein. Denn Apple schneidet sich damit letztendlich ins eigene Fleisch. Charlie Miller ist eindeutig einer der, wenn nicht sogar der Top-Experte(n), wenn es um die Sicherheit von Mac OS X und iOS geht. Wenn Apple ihm die Arbeit erschwert, erschwert man nur das Entdecken weiterer Schwachstellen durch ihn. Wenn die dann von anderen gefunden werden, die sie nicht an Apple melden sondern darüber die Apple-Nutzer angreifen, dürfte Apple noch weniger begeistert sein.

Pikantes Detail am Rande: Im Februar hatte Apple ausgewählte Sicherheitsforscher, darunter auch Charlie Miller, dazu aufgefordert, Mac OS X Lion vor Veröffentlichung auf Schwachstellen zu untersuchen. Allerdings verbunden mit einem Non-Disclosure Agreement (NDA), dass die Veröffentlichung evtl. gefundener Schwachstellen verbot.

Ein Volltreffer

Charlie Miller hat Apple genau da getroffen, wo es besonders weh tut, denn er hat im Grunde zwei Schwachstellen aufgezeigt: Zum einen die in der JavaScript-Engine, zum anderen den Review-Prozess des App Store. Denn eigentlich soll die Kontrolle der Apps vor ihrer Aufnahme in den App Store das Einschleusen bösartiger Programme verhindern. Dass das in diesem Fall nicht funktioniert hat, ist m.E. ein Beweis dafür, dass auch andere bösartige Apps in den App Store gelangen können. Wenn ein bekannter Sicherheitsforscher wie Charlie Miller eine Börsenticker-App veröffentlicht, sollten doch bei den Prüfern eigentlich sämtliche Warnglocken läuten und die App besonders gründlich geprüft werden. Wenn diese App durchgewunken wird, wie sieht es dann erst mit einer bösartigen App eines unbekannten Entwicklers aus?

Damit wurde Apple Sicherheitsarchitektur für iOS ins Mark getroffen. Denn der App Store war Apples großes Plus, wenn es um die Sicherheit von Smartphones geht. In den offenen Systemen wie Android haben es Schadprogramme sehr viel leichter, auf die Smartphones zu gelangen. Daher gibt es auch die Mobil-Versionen der Onlinebanking-Trojaner Zeus und SpyEye für alle offenen Mobil-Plattformen, aber nicht für iOS.

Kopf in den Sand...

Wenn Apple lieber die Vogel-Strauß-Taktik anwendet und den Kopf in den Sand steckt, statt Sicherheitsforscher zu unterstützen, ist das die freie Entscheidung der Verantwortlichen. Dass dieses Verhalten sehr dumm ist, werden sie irgendwann sicher merken. Charlie Miller musste die Schwachstelle ja gar nicht melden. Dass er es getan hat, war reines Entgegenkommen von ihm. Immerhin hat er auch schon Schwachstellen längere Zeit geheim gehalten und ist einer der Initiatoren der "No More Free Bugs"-Initiative. Der Haken an der Sache: Schwachstellen können durchaus mehrmals unabhängig voneinander entdeckt werden. Und wenn einer der Entdecker sie dann für Angriffe ausnutzt... "Pech gehabt"?

Es liegt also sehr im Interesse der Entwickler, frühzeitig über Schwachstellen informiert zu werden. Nur bei Apple sieht man das wohl anders. Und um noch mal zum Vergleich mit dem Vogel Strauß zurück zu kommen: Während der Strauß den Kopf in den Stand steckt, streckt er sein Hinterteil sehr einladend raus. Es wird nicht lange dauern, bis jemand mal kräftig rein tritt. Und dann gilt auch "Pech gehabt", oder?

Carsten Eilers

Trackbacks

Keine Trackbacks