详解Intel重大安全漏洞:Spectre和Meltdown的卡通画形象 可能是PC行业凉了太久,大家都觉得热闹不起来的时候,2018年初网络安全界就搞了一个超级大新闻:Linux、微软、谷歌都先后公布了安全漏洞Spectre以及更加严重的Meltdown漏洞的相关信息和安全补丁。给整个IT行业带来了巨大震荡,而后者的问题相对更严重,甚至能给普通消费者运用体验带来负面影响。 由于这两个漏洞影响太大,不仅X86架构处理器收到影响,手机上常用的ARM处理器架构也无法幸免。由于影响过于广泛和深远,我们也认为有必要为Soomal的吃瓜读者们做一些简单的介绍和科普。 详解Intel重大安全漏洞——什么是Spectre和Meltdown漏洞 Spectre和Meltdown这两英文单词分别对应的近似中文含义是幽灵和崩溃,两者是存在于系统内核甚至是处理器内部架构缺陷所导致的漏洞,巧合的是这两个漏洞都和近十年来处理器的标准功能以及虚拟机使用有关。Spectre漏洞具体是指可以利用处理器的分支预测功能,将其它程序、操作系统和虚拟机中间层的运行信息泄漏。 而更具戏剧性的Meltdown漏洞,也同样是来自处理器的分支预测功能,它可以通过本地运行特定程序的方式读取系统运行的处理器缓存,获得当前运行系统缓存的所有信息,通过Meltdown无须管理员权限可以获得本机旗下所有虚拟机系统的一切信息。这一漏洞网上已经有相当多的视频演示,只要运行特定程序,就能同步获得服务器运行的虚拟机系统中其它用户的运行记录甚至是输入密码等。 要注意的是,Spectre和Meltdown是硬件漏洞的代号,是处理器技术中的并行计算、分支预测机制的规划回路出现了问题[具体技术术语为“绕过边界检查”、“分支目标注入”、“流氓数据加载”,详细说明可百度或谷歌搜索]。并不是已经出现危害的木马、病毒的名称,和勒索比特币的CTB-Locker、永恒之蓝、更古老的“红色代码”或CIH等具体的木马或病毒不一样。它们暂时还未因此出现大范围流行的计算机病毒危害。而Linux、微软和苹果都先后发布了安全补丁修正,那为什么说会造成广泛的负面影响呢? 详解Intel重大安全漏洞——Meltdown漏洞造成的影响 Meltdown漏洞来自于处理器的架构规划出现失误导致的,它会影响从古董级的奔腾到如今的第八代酷睿在内所有支持乱序执行能力的英特尔X86处理器,也就是除安腾外的所有英特尔处理器都会出现Meltdown漏洞。既然出现严重的安全隐忧,那就免不了系统升级打补丁了,一般来说事情也就到此为止。但更加戏剧的是,这正是因为修补Meltdown漏洞涉及了处理器厂商的微代码更新,导致英特尔处理器的特定性能下降。一个不包含任何后台进程的安全修正补丁会导致电脑“减速”,这听起来不可思议,但的的确确是发生了。 FSMark文件读写性能变化 4K读写性能变化 PostgreSQL性能变化 Redis性能变化 Nginx性能变化 Apache性能变化 经过国内外各类网站的对比测验,打上Meltdown补丁后,运用英特尔处理器的服务器、PC许多涉及虚拟机、文件操作的相关性能下降,具体下降幅度在不一样处理器和不一样使用中会有所不一样,例如最新的i7 8700K会在文件读写操作中性能下降30%,而数据库操作性能下降20%,不过这主要是Linux等服务器系统的表现,大家常用的Win系统性能下滑幅度相对不显著,PCMark等代表办公使用的性能测验会下降3~20%[处理器型号和电脑配置等不一样会有差别],由于会略微影响硬盘和SSD的读写速度,这对于绝大多数各种用途的电脑来说都算是性能倒退了。虽然还有大量使用例如视频编解码、图片处理、游戏等用户权限较低且偏重浮点性能的使用并未受到影响。但处理器发展至今,用户升级电脑也并不都是为了更强的浮点性能而去的,更高的内存性能和磁盘读写速度也是升级的重点,而Meltdown修复后的性能倒退主要是让个人电脑用户在心理上难以接受,服务器使用则更惨不忍睹,处理器架构规划缺陷原本是英特尔的责任,到最后却成了消费者和用户背锅。 受到Spectre和Meltdown漏洞影响的ARM处理器架构规划表 在这场开年戏中,另一个处理器巨头ARM受到的影响也不少,Cortex-A系从A8开始都会受到Spectre的影响,而A15、A57、A72和A75这些高性能结构也存在Meltdown漏洞,高通的ARM处理器也会受到影响。但ARM虽然公开了受到漏洞影响的处理器,但应对态度一般,虽然受影响最严重的A75可能会提供补丁,但A72等更老的架构ARM却认为没必要进行软件修正,难道是ARM觉得服务器市场无所谓了?不过Cortex-A75身为ARM的新王牌,在新年伊始就因为Meltdown将性能自砍一刀,而且手机文件IO、内存等性能本来就是相对弱项,相信未来的“旗舰”手机用户心里也不会好受。 最后要说明的是,Spectre和Meltdown是两个不一样的漏洞,前者覆盖了所有具备乱序执行能力的处理器,但破坏性较小,修复后也不会影响电脑性能。而Meltdown则是英特尔和ARM处理器特有的,漏洞修复又会导致性能下降,AMD的处理器则不存在Meltdown的问题,变相成为了这次安全隐忧的受益者[股价似乎涨了一点]。但现在英特尔的公开声明和现在国内网站资讯中很少将这两个漏洞进行区分说明,在激烈的市场竞争面前,英特尔似乎变得不够自信了。 对普通用户来说,现在Win7、Win8.1和Win10和Linux的补丁已经发布更新,苹果Mac的更新也很快会发布,对于性能下降,个人电脑用户受到的影响并不算大,没必要太过于纠结这1%-5%左右的性能差距,而ARM处理器方面,由于手机现在并不太需要运用到虚拟机系统的相关功能[主要指完整的操作系统虚拟,非JAVA虚拟机],ARM即使不修正Meltdown也不会对手机的安全带来严重影响,由于Android同样是基于Linux核心的操作系统,另外SQLite等数据库也是手机APP常用的东西,修正Meltdown的损失性能代价会比较巨大,这就取决于ARM的态度了。但要注意的是网页浏览器也存在容易被利用的Spectre漏洞隐忧,Chrome 64.0以及Firefox57.0以前的版本都需要升级。 电脑、手机的安全漏洞通常来自于软件,也就是操作系统或软件使用层面由于码农的疏忽造成的各种漏洞所致,这是因为现在操作系统、各类常用软件代码规模巨大,即使项目管理和开发人员水平高超,面对如此庞大的工作量难免会出现遗漏。而Spectre和Meltdown漏洞却是来自处理器核心内部的微代码,我们常说硬件开发水平的高低,一般是体现在硬件最终性能、功耗的表现优劣,而处理器由于硬件规划疏忽而导致的严重安全漏洞,确实很少见,由于所有ARM和X86处理器用户都成了受害者,而且是无视操作系统类型的跨平台、跨硬件漏洞,大到超算,下到手机都会出现严重的安全隐忧。要注意的是,这两个漏洞来自硬件,是无法通过更新杀毒软件的方式进行防护的,强迫症用户也不要抱着侥幸心态逃避操作系统厂商的更新。当然,这也给国内的相关行业、安全企业提了个醒,对于申威[DEC Alpha架构,已用于太湖之光]、龙芯[MIPS X64,国内少量公共事业单位服务器在用]等架构市场小众但技术自主的国内处理器厂商是否是个难得的历史机遇?并行操作、分支预测是现在处理器必不可少的核心功能,ARM和英特尔要如何补漏才能面对怨气冲天的服务器客户和手机厂商?这次事件所带来的影响之广泛和严重性将会带来诸多连锁反应,或许在2018年我们还会看到更多的行业大戏。 |