Skip to content

Apple verschlechtert und verbessert die Sicherheit von Mac OS X

Apple hat in der vorigen Woche zwei sicherheitsrelevante Entscheidungen veröffentlicht: Die Einführung des App Store für Mac OS X und den Verzicht auf (die eigene Version von) Java. Während der App Store die Sicherheit von Mac OS X eindeutig verschlechtern wird, erhöht sie der Verzicht auf Java.

App Store - Updates erst mit Verzögerung?

Mal abgesehen davon, dass Apple das Angebot im App Store durch seine Richtlinien doch ziemlich einschränkt (bei all dem "rejected" Inhalten bleibt eigentlich kaum noch was übrig) und ein Weiterverkauf nicht mehr benötigter Software nicht möglich ist, gibt es einen aus Sicherheitssicht sehr viel schwerwiegenderen Nachteil, der auf den ersten Blick auch noch wie ein Vorteil aussieht: Apple prüft die Software vor der Veröffentlichung, so dass es im App Store theoretisch keine Schadsoftware gibt. Wetten, dass es auch tatsächlich keine geben wird, würde ich allerdings nicht.

Der Nachteil dieses Review-Prozesses: Da der auch für Updates gilt und, wie man am Beispiel des App Store für das iPhone sieht, mitunter ziemlich lange dauert, ist eine schnelle Behebung von Schwachstellen kaum möglich. Da Updates auch nicht am App Store vorbei verteilt werden dürfen (siehe "2.21 Apps may not use update mechanisms outside of the App Store"), stehen die Benutzer im Fall von 0-Day-Schwachstellen also einige Zeit ungeschützt da. Und das ist heutzutage eindeutig inakzeptabel.

Entweder, Apple löst das Problem, oder sie dürften ein weiteres bekommen - spätestens, wenn durch die verzögerte Auslieferung eines sicherheitsrelevanten Updates ein Schaden entsteht. Vielleicht auch schon vorher, denn gerüchteweise soll es sowas wie "Sicherheitsrichtlinien" oder "Security Policies" geben, die (vereinfacht ausgedrückt) vorschreiben, dass i.d.R. nur Software eingesetzt werden darf, in der Schwachstellen zügig behoben werden. Programme, in denen die Schwachstellen zwar vom Entwickler behoben werden, diese Korrekturen dann aber beim Vertrieb hängen bleiben, fallen meiner Einschätzung nach nicht in diese Kategorie. Ob es keinen Patch gibt, weil ein Programm nicht mehr unterstützt wird oder weil der zwischengeschaltete Shop es nicht schafft, ihn auszuliefern, bleibt im Endeffekt gleich.

Sorgfältige Prüfung, aber fix - dass wird schwierig

Ob und wie Apple das Problem lösen wird, dürfte interessant werden. Auf die Überprüfung verzichten können sie nicht, da dann unerwünschte Funktionen als Sicherheitsupdate getarnt am Review-Prozess vorbei geschmuggelt werden könnten. Das dürfte auch der Grund für das Verbot eigener Update-Funktionen sein. Updates müssen also genau so gründlich geprüft werden wie neu eingereichte Programme, so wie es im App Store für das iPhone schon jetzt gehandhabt wird. Und wo es ebenfalls über kurz oder lang zu Problemen führen wird, denn je verbreiteter die Geräte werden, desto größer ist das Interesse der Cyberkriminellen an Angriffen darauf. Werden Schwachstellen dann nicht zügig behoben, dürfte dass dem Image von Apple und der Akzeptanz der Geräte schnell schaden. Angriffe auf iPhone und Co. sind ebenso wie auf Smartphones allgemein erst noch im Kommen. Ein weit verbreitetes System wie das iPhone dürfte eher früher als später Probleme bekommen. Denn das hat nicht den Vorteil von Mac OS X: Das schützt nur die eigene geringe Verbreitung vor großmaßstäblichen Angriffen. Solange es genug verwundbare Windows-Systeme gibt, interessieren sich die Cyberkriminellen nicht für andere Plattformen.

Über die anderswo bereits angebrüteten ungelegten Eier wie "Was passiert, wenn der App Store mit Mac OS X 10.7+n Pflicht wird" braucht man sich keine Gedanken zu machen. Mit der Einführung einer App-Store-Pflicht werden die bisherigen Systeme und Programme ja nicht unbrauchbar, falls es jemals soweit kommt, hat man also ausreichend Zeit, die Plattform zu wechseln. Das weiß auch Apple, und darum wird es vermutlich nie soweit kommen. Warum sollten die wirtschaftlichen Selbstmord begehen?

Apples Java wird eingestellt, seine Schwachstellen verschwinden!

Apple hat in den Release Notes zum aktuellen Java-Update die eigene Java-Version für "deprecated", also quasi "missbilligt" erklärt. Steve Jobs hat diese Entscheidung in einer Mail kurz begründet:

"Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it."

Und mit dem letzten Satz hat er so vollkommen recht wie er mit dem ersten unrecht hat. Aber fangen wir mit dem letzten Satz an: "This may not be the best way to do it." Da mag nicht nur so zu sein, das ist tatsächlich so. Vor allem, weil dadurch in der Apple-Version die in der Oracle-Version behobenen Schwachstellen einige Zeit länger offen bleiben. Und das kann für die betroffenen Rechner fatal sein.

Denn nach Sophos berichtet nun auch Microsoft über eine starke Zunahme an Angriffen auf Schwachstellen in Java, Java verdrängt sogar den Adobe Reader vom bisherigen Spitzenplatz angegriffener Programme. Auch Brian Krebs hat bereits über diese "Zieländerung" der Cyberkriminellen berichtet, die sich u.a. durch die Verfügbarkeit kommerzieller Exploit-Packs bemerkbar macht. Wenn man dann bedenkt, dass Oracle die Schwachstellen nur einmal im Quartal patcht und Apple immer eine Version hinterher hinkt, kann man eigentlich nur von der Java-Nutzung auf dem Mac abraten. Auch hier schützt Mac OS X nur seine geringe Verbreitung, s.o.. Auch wenn Apple beim letzten Adobe-Update ausnahmsweise mit der Anpassung sehr schnell war.

Wenn Apple also auf die eigene Java-Version verzichtet und stattdessen z.B. Oracle seine auch für den Mac anbietet, ist das für die Sicherheit eindeutig ein Vorteil. Wenn Oracle dann noch anfangen würde, die Patches nicht immer erst ein viertel Jahr zu horten, wäre es natürlich noch besser. Aber das ist ein anderes Thema.

Oracle liefert Java für Mac OS X?

Kommen wir nun zu Steve Jobs ersten Satz: "Sun (now Oracle) supplies Java for all other platforms." Diese Aussage ist falsch. Mit zwei Ausnahmen ist es üblich, dass die Systementwickler auch die jeweilige Java-Implementierung bereit stellen, wie James Gosling festgestellt hat. Die Ausnahmen sind Windows (nachdem Microsoft eigene Wege gehen wollte, übernahm Sun die Entwicklung der Windows-Version) und Linux (für die es keinen anderen Entwickler gab). Außerdem liefert Sun/Oracle auch noch die Version für Solaris, aber das liegt einfach daran, dass man auch Solaris entwickelt.

Im Gegensatz zu anderen Entwicklern hat Apple laut James Gosling allerdings vor allem am Anfang ziemlich geschlampt. Außerdem verwendet Apple eine Reihe geheimer APIs, was die Anpassung der Oracle-Updates an die eigene Implementierung nicht gerade vereinfachen dürfte. Die Frage ist also: Warum sollte Oracle Java für den Mac entwickeln (wollen)? Natürlich gibt es den gleichen Grund, aus dem Sun die Entwicklung von Java für Windows übernommen hat: Weil der eigentlich zuständige Hersteller eigene Wege gehen wollte, die Sun nicht tolerieren konnte. Apples Eigenentwicklungen haben bisher aber niemanden gestört, warum sollte es also nun anders sein? Weil Oracle nicht Sun ist und dort nun ein anderer Wind weht? Gerade das sollte eigentlich ein Grund sein, sich nicht eine weitere Version aufzuhalsen, besonders viele unterbeschäftigte Entwickler dürften bei Oracle nach den ganzen Kündigungen nicht mehr herum laufen.

Mein Tipp: Apple wechselt zu OpenJDK

Wahrscheinlicher dürfte das ganze auf einen Wechsel der Java-Version seitens Apple hinauslaufen. Apple evaluiert eine neue Java-VM, und da fällt mir eigentlich nur OpenJDK ein, sofern Apple nicht eine komplette Neuentwicklung durchgezogen hat. Da Safari auf Webkit basiert, spricht wohl nichts dagegen, dass das zukünftige "Apple Java Next Generation" auf OpenJDK basiert. Dem fehlt eigentlich nur eine Unterstützung der nativen Apple-GUI, die bisherigen Versionen unterstützen nur X11. Was spricht dagegen, dass Apple genau diesen fehlenden Code in OpenJDK einbringt? Immerhin ist auch IBM vor kurzem von Apache Harmony zu OpenJDK umgeschwenkt. Was sprich dagegen, dass Oracle-Chef Larry Ellison seinen Freund Steve Jobs und Apple ebenfalls mit ins Boot geholt hat? Das wäre aus Sicherheitssicht sehr zu begrüßen.

Oder schottet Apple sich ab?

Es könnte natürlich sein, dass Apple komplett auf Java verzichten will, im App Store sind auch keine Java-Anwendungen erwünscht. Die Formulierung dafür ist aber zweideutig:

"2.24 Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected "

Im aktuellen Kontext liegt es nahe, das als "deprecated Java" zu interpretieren. Es könnte aber auch das "optionally installed Java" gemeint sein, dass nicht mehr mit dem System ausgeliefert, sondern bei Bedarf nachinstalliert wird. Und dass man in App Store keine Programme haben möchte, die die Installation weiterer Komponenten erfordern, dürfte verständlich sein: Apple hat einfach keine Lust, alle möglichen Abhängigkeiten verwalten und berücksichtigen zu müssen.

Natürlich könnte Steve Jobs auch mit dem iPhone und iPad auf den Geschmack gekommen sein und nun Mac OS X ebenfalls zu einem geschlossen System machen wollen. Aber das dürfte auf wirtschaftlichen Selbstmord hinaus laufen, s.o.. Etwas, mit dem Apple zwar reichlich Erfahrung hat, aber wohl kaum mit so guten Erinnerungen, dass man an einer Neuauflage interessiert ist.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Das Flashback-Botnet und Apples Langsamkeit

Vorschau anzeigen
Der Mac wird bei den Cyberkriminellen immer beliebter, und inzwischen haben sie ca. 1% aller Macs in einem Botnet versammelt. Wirklich? Und was macht Apple dagegen? Das Flashback-Botnet - 550.000, 600.000, wer bietet mehr? Es gibt ein r

Dipl.-Inform. Carsten Eilers am : WireLurker, Schritt 1: Der Angriff auf den Mac

Vorschau anzeigen
Angriffs auf iOS gibt es hier, eine Bewertung des Angriffs hier. Der Mac-Schädling Am 5. November wurde im Palo Alto Networks Blog ein Whitepaper zu einem neuen Angriff auf Mac OS X und iOS angekündigt: WireLurker. Der Angriff be