Warum verwendet Apple eine ältere Version von OpenSSL?

16

Mit dem neuesten OS X Update ( 10.10.5 ) führt Apple OpenSSL 0.9.8 ein . Ich habe die offizielle OpenSSL-Seite durchgeblättert und dort konnte ich Version 1.0.2 bekommen .

Meine Frage ist: Warum verwendet Apple eine ältere Version von OpenSSL? Liegt es an veralteten Funktionen in Version 1.0 oder was ist der Grund dafür?

Quelle: Apple-Sicherheitsseiten

Bastian Gruber
quelle

Antworten:

20

Warum verwendet Apple eine anfällige Version von OpenSSL?

Ist es nicht.

Wenn Sie auf den Link klicken, den Sie in Ihrer Frage gepostet haben, werden Sie feststellen, dass dieses Update eine Reihe von Schwachstellen behebt, die in OpenSSL 0.9.8, 1.0.0, 1.0.1 und 1.0.2 identisch sind.

Mit anderen Worten, die Version 1.0.2, die Sie später als Alternative vorschlagen, war genauso anfällig wie 0.9.8 und beide wurden gleichzeitig behoben.

Mit dem neuesten OS X Update ( 10.10.5 ) führt Apple OpenSSL 0.9.8 ein . Ich habe die offizielle OpenSSL-Seite durchgeblättert und dort konnte ich Version 1.0.2 bekommen .

Apple aktualisiert OpenSSL auf 0.9.8zg, was nur 2 Monate alt ist und nur 4 Wochen älter als 1.0.2d.

Meine Frage ist: Warum verwendet Apple eine ältere Version von OpenSSL? Liegt es an veralteten Funktionen in Version 1.0 oder was ist der Grund dafür?

Das müssen Sie Apple fragen. Ich vermute, dass 0.9.8 die Version ist, mit der sie ihre Kompatibilitätstests durchgeführt haben, und ein Upgrade auf eine neuere Version würde eine völlig neue Testrunde für eine Komponente erfordern, die ohnehin veraltet ist. Da es veraltet ist, sollte neuere Software (die möglicherweise auf neueren Funktionen basieren würde) es sowieso nicht verwenden, und ältere Software, die es noch verwendet, verwendet die neuen Funktionen nicht (weil sie nicht vorhanden sind) und ist möglicherweise sogar defekt durch ein Update, also warum sich die Mühe machen?

Solange die OpenSSL-Community noch den 0.9.8-Zweig unterhält, muss Apple nicht einmal die Arbeit des Backporting von Patches erledigen.

Beachten Sie, dass dies nichts Ungewöhnliches ist. Apple hat eine alte Version von Ruby für eine sehr lange Zeit ausgeliefert, und sie werden im Allgemeinen nicht während eines Veröffentlichungszyklus aktualisiert, sondern nur zwischen Veröffentlichungen. Sowohl Linux-Distributionen als auch BSDs und andere Unix-Distributionen aktualisieren in der Regel keine Versionen während eines Releases, sondern wenden nur Bugfixes und Sicherheitskorrekturen an. Insbesondere Debian behebt im Allgemeinen nicht alle Fehler, sondern nur Sicherheitslücken und Fehler, die zum Verlust von Benutzerdaten führen können. Jede Änderung, auch ein Bugfix, ist eine potenzielle Inkompatibilität und ein Potenzial für neue Fehler. bekannte Fehler sind besser als unbekannte!

Jörg W. Mittag
quelle
3
Wenn Sie das genau wissen, sagen Sie es und sagen Sie uns, woher Sie es wissen. Ansonsten raten Sie nur.
Steve Chambers
Das OP selbst hat einen Link zu einem Dokument erstellt, aus dem hervorgeht, dass in diesem Update eine Reihe von Schwachstellen behoben wurden (die neuesten, die in OpenSSL bekannt sind). Lassen Sie mich meine Antwort umformulieren.
Jörg W Mittag
1
Gut gemacht - danke, dass Sie die Zahlen durchschnitten und erklärt haben, dass mehrere Zweige vorwärts verschoben und gepatcht werden. +1 in der Tat
bmike
Beachten Sie, dass gemäß der aktuellen Release-Strategie der OpenSSL 0.9.8-Zweig bis Ende 2015 zusammen mit dem 1.0.0-Zweig unterstützt wird. 0.9.8 war eine "Hauptversion" im Rahmen ihres alten Versionsschemas und wird seit 2005 gepflegt, wobei die letzte kleinere Revision laut diesem Newslog "zg" ist, die 33. Version dieses Zweigs .
IMSoP
17

OpenSSL ist offiziell veraltet. Es gibt (für die kurze Zeit, die Apple zulässt) keine Software, die nicht auf die Alternative von Apple migriert oder SSL intern in der App bündelt.

Unter dem Apple Developer-Link finden Sie die Ankündigung der Nicht mehr empfohlenen Versionen: (Die anderen Links sind einfacher zu lesen. Weitere Informationen zum Warum und Was. )

bmike
quelle