通过最新的OS X更新(10.10.5),Apple引入了OpenSSL 0.9.8。我浏览了OpenSSL官方页面,在那里可以获得1.0.2版。
我的问题是: Apple为什么使用旧版本的OpenSSL?是因为1.0版中弃用了功能还是其背后的原因是什么?
资料来源:Apple安全性页面
通过最新的OS X更新(10.10.5),Apple引入了OpenSSL 0.9.8。我浏览了OpenSSL官方页面,在那里可以获得1.0.2版。
我的问题是: Apple为什么使用旧版本的OpenSSL?是因为1.0版中弃用了功能还是其背后的原因是什么?
资料来源:Apple安全性页面
Answers:
苹果为何使用易受攻击的OpenSSL版本?
不是。
如果单击在问题中发布的链接,您将看到此更新修补了许多漏洞,这些漏洞在OpenSSL 0.9.8、1.0.0、1.0.1和1.0.2中完全相同。
因此,换句话说,您稍后建议的版本1.0.2与0.9.8一样易受攻击,并且两个版本同时固定。
通过最新的OS X更新(10.10.5),Apple引入了OpenSSL 0.9.8。我浏览了OpenSSL官方页面,在那里可以获得1.0.2版。
苹果将OpenSSL更新到0.9.8zg,这仅2个月大,比1.0.2d大4周。
我的问题是: Apple为什么使用旧版本的OpenSSL?是因为1.0版中弃用了功能还是其背后的原因是什么?
那是您必须要问苹果公司。我最好的猜测是,0.9.8是他们进行兼容性测试的版本,而升级到较新的版本将要求对已被弃用的组件进行全新的测试。由于已弃用该软件,因此无论如何都不应使用较新的软件(可能依赖于较新的功能),并且仍在使用该软件的较旧的软件不会使用新功能(因为它们不存在),甚至可能已损坏通过更新,为什么还要麻烦?
只要OpenSSL社区仍然维护0.9.8分支,Apple甚至不必做向后移植补丁的工作。
请注意,这并不稀奇。苹果很早就发布了旧版本的Ruby,通常它们不会在发布周期内进行更新,而只是在两次发布之间进行更新。Linux发行版以及BSD和其他Unix发行版通常也不会在发行期间更新版本,它们仅应用错误修复和安全修复。特别是Debian,通常甚至不能修复所有错误,仅修复安全漏洞和可能导致用户数据丢失的错误-任何更改,甚至是一个错误修复都可能会导致不兼容,并可能会导致新的错误。已知错误比未知错误要好!
OpenSSL已正式弃用。它存在(Apple允许的时间很少)不会破坏既不会迁移到Apple替代产品,也没有在应用程序内部捆绑SSL的软件。
请参阅Apple Developer链接以获取弃用声明:(其他链接更易于阅读/ 关于what的原因的更多综合信息)