在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3240|回复: 11

Intel 64 处理器硬体全部中招,软体修复漏洞最高导致 30% 效能下滑

[复制链接]
发表于 2018-1-4 11:02:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
Intel 64 处理器硬体全部中招,软体修复漏洞最高导致 30% 效能下滑


目前多数个人电脑均使用 64 位元作业系统,由 AMD 於 1999 年开发扩充 x86 指令级架构而来,称之为 AMD64,市场上则有 x86-64、x64 等说法,Intel 则是在 Prescott E0 版处理器正式开放使用(绝大部分相容),历经 IA-32e、EM64T 等名称,近期则定调为 Intel 64 技术。x86-64 火热的程度以及向後相容 x86 的特色,甚至将 Intel 与 HP 主导的 IA64 指令集踢出伺服器市场,去年推出的 Itanium 9700 系列处理器即为最後一代。

近日 Intel 处理器的 64 位元运作模式却爆出重大瑕疵,导致位处使用者模式的程式指令能够跳过部分安全机制,取得位於核心模式记忆体区域的资料,从而获得更高的控制权限。也就是说,你可能在浏览网页之余,不知不觉就把帐号密码泄漏出去,更糟的是有可能会造成资金实质损失。而这部分无法透过更新微码修补,需要作业系统以软体方式避开,Linux 核心已有初步的补丁推出,目前大部分 Windows 采用的 NT 核心已於去年 11 月和 12 月推送修正後的 build 给 fast-ring Windows Insider Program 参与使用者,而同样运作在 Intel 处理器的 macOS 也已经在 10.13.2 版本修正。

该漏洞利用现代处理器预测机制与作业系统的记忆体位址转译机制加速手法,进行恶意存取,但在了解这个漏洞之前,需要先行解说目前电脑作业的「使用者模式」以及「核心模式」。一般而言,当使用者执行 1 个程式的时候,作业系统会指派虚拟记忆体定址空间,这个程式就只能在这个记忆体范围执行,避免程式当机影响其它的程式运作,或是导致整台电脑不正常。(1 个程式可能有数个行程,每个行程都有自己的虚拟记忆体定址空间,这里笔者简化为 1 对 1 关系。)

而处理器此时运作在使用者模式,将虚拟记忆体定址对照分页表转译成真实的记忆体位址,以便进行读写操作作业。题外话,使用者模式、虚拟记忆体位址、分页表也是多工作业的基础之一,作业系统可将目前没有活动的程式程序所占用的实体记忆体释放,将资料移入位於硬碟当中的分页档案。

当运作在使用者模式的程式需要存取硬碟,或是连结上网的时候,便会切换成核心模式,由作业系统代劳这些本该由作业系统负责的工作,执行完毕再切回使用者模式并转交资料。由於效能方面的因素,程式的虚拟记忆体定址空间之内包含核心模式记忆体的映射,以便加快这 2 种模式的切换速度,而近代处理器也会设计有 TLB(Translation Lookaside Buffer、转译後备缓冲区)等加速转译机制。处理器都会具备一些投机∕机会演算法,用来预测下一步执行动作,不必依序等待需求出现,就先行载入一些指令或是资料,以便尽量填满执行管线增加效率。不过 Intel 64 处理器在这部份似乎出了些逻辑差错,允许使用者模式直接存取核心模式记忆体资料,照理来说这个指令应该会被安全机制挡下并传回 page fault 资讯。最新消息为 1 位 Vrije Universiteit Amsterdam 的博士生,已经证实能够利用此漏洞在使用者模式之下读取核心记忆体资讯。目前各大作业系统核心针对此问题,所采用的解决方式为 KPTI(Kernel Page Table Isolation),将核心模式与使用者模式的记忆体空间完全分开,但是把这 2 种模式的分页表隔离将导致处理器需要切换不同的记忆体空间,TLB 等快取转译机制效能下降,预计频繁进出核心模式∕使用者模式的程式最容易受到影响,使用 PostgreSQL SELECT 1 在修补前後的 Linux 作业系统进行测试,最好的状况将下降 17% 的效能,最糟达 23%,资讯来源 The Register 其它测试更可达 30%。

另一个 x86 市场处理器钜头 AMD,则因为架构设计差异的关系,不受此漏洞影响。与我们关系最大的 Microsoft 还没有正式的公开说明,尚未表示修补程式是否会根据所采用的处理器不同,而决定启用 KPTI 原理机制,但预计很快就会正式推出更新档。
 楼主| 发表于 2018-1-4 11:02:54 | 显示全部楼层
回复 1# andy2000a


    该公司於美国时间周三证实了英国媒体的报导内容,英媒指英特尔晶片包含1个使它们容易受到骇客攻击的特性,惟英特尔也强调,其他公司的晶片也有同样的问题。

英国科技新闻网站《The Register》周二报导,英特尔处理器存在漏洞,很容易招致骇客攻击,而且若修补这个漏洞可能导致性能剧降30%。另一家新闻网站《salon》则估计,恐有数百万颗英特尔晶片存在设计瑕疵。

这引发了对英特尔产品和品牌的担忧,冲击英特尔股价周三盘中暴跌6.8%,收盘下挫3.4%至45.26美元;主要竞争对手超微(AMD)股价则闻讯大涨,周三盘中暴涨10.6%,终场上扬5.2%。

微软、苹果作业系统恐需修补 或致性能骤降3成

《The Register》报导称,1个漏洞导致本来单独用於保护密码等重要讯息的储存区可以让一些软体程式获取权限,似乎过去10年间所有使用英特尔晶片的电脑都受到影响,微软Windows(视窗)和苹果OS X作业系统都需要补强,而进行安全修补可能让一些旧设备性能下降多达30%。

英特尔称晶片易遭骇各家皆然,超微则发布电邮声明表示,超微微处理器的架构与英特尔有差异,因此其晶片遭遇英特尔问题的「风险接近零」
 楼主| 发表于 2018-1-4 12:57:34 | 显示全部楼层
回复 2# andy2000a

from mobile01

Intel今晨站出来把自己倒是撇的还挺清,否认架构设计缺陷,关于性能问题不承认有那么夸张,但也没敢直接枪毙。
更绝的是,Intel拉上AMD/ARM,说你看,外界说只有我们的CPU有问题,实质上错了,这两个家伙也中招了。

现在,AMD和ARM也做出了回应。
据PCPer报道,AMD对相关漏洞的三种攻击形式进行了分析发现,由于AMD架构设计的不同和OS级的修复已经推出,可认为他们的产品目前接近零风险。

ARM指出(Axios报道),漏洞的形式是越级访问高权限的内存数据,他们用户物联网的Coertex-M处理器没事,但部分Corex-A处理器可能容易受影响。只是,ARM尤其指出,比起Intel,那我们安全好多的。

谷歌Project Zero安全团队也第一时间站出来声援Intel,
措辞基本一致。谷歌称,安卓等相关系统已经得到修复,可以抵御此次风险。

google ...

    這次的漏洞 駭客會有兩種方式攻擊 一種是Meltdown、一種是Spectre
Meltdown是最嚴重的,因為這種方式可以針對大多數程式/OS進行攻擊並獲取機密資訊
Spectre則是針對部分軟體的memory存放區做leak以獲取機密資訊

Spectre目前大多數都有中 不管是Intel、AMD、ARM、等等 (但這部分還沒有完全證實)
Meltdown目前確定是只有Intel有這樣的情況

Spectre攻擊/漏洞基本上比較難去發現,但也較少駭客會使用這種方式

已經有研究團隊做過實驗並且也發了論文 他們測試meltdown攻擊,有測試AMD跟ARM的CPU
但攻擊都沒有成功 所以meltdown這點應該是OK
发表于 2018-1-6 14:22:28 | 显示全部楼层
是MMU模块设计有缺陷吧?
 楼主| 发表于 2018-1-8 10:43:53 | 显示全部楼层




      有一说Intel 使用 instruction fetch  方式 .
大家都知道一般都 fetch -> decode  -> exe -> write back
一说 intel 投机方式 让CPU 跑比较快. 问题出在
fetch 时可以抓到权限高资料 .
但正确方式是 fetch 时还须要判断安全范围内 .
所以有人说 Intel 做法偷吃步 , 偏偏一堆现在 JAVA  web 有些可以跑 machine code .

所以只要多加一层防护就可以 , 但是 就因为会使用 Intel CPU 性能降低
但实际掉多少 说法不一 .
AMD CPU 好像比较守规矩 Meltdown比较不影响  

但是另外一个 Spectre则是针对部分软体的memory存放区做leak以获取机密资讯
好像 ARM  AMD 都有可能发生 .
发表于 2018-1-8 17:24:59 | 显示全部楼层


有一说Intel 使用 instruction fetch  方式 .
大家都知道一般都 fetch -> decode  -> exe ->  ...
andy2000a 发表于 2018-1-8 10:43



哦,原来是前面的指令沾了后面指令的光,太有才了,据说ARM也出现这种问题,看来他们是同一个老师教的。
 楼主| 发表于 2018-1-9 08:41:17 | 显示全部楼层


哦,原来是前面的指令沾了后面指令的光,太有才了,据说ARM也出现这种问题,看来他们是同一个老师教的。 ...
吾要单片机 发表于 2018-1-8 17:24




    https://mp.weixin.qq.com/s/_JQrIqL4HjLDc8xPJfcMgA

Google旗下的Project Zero团队发现了一些由CPU“预测执行”(Speculative Execution)引发的芯片级漏洞,“Spectre”(变体1和变体2:CVE-2017-5753和CVE-2017-5715)和“Meltdown”(变体3:CVE-2017-5754),这三个漏洞都是先天性质的架构设计缺陷导致的,可以让非特权用户访问到系统内存从而读取敏感信息。

Google的Project Zero研究员还发现每一颗1995年后发布的处理器都会受到影响。

..


但随着部分专业人员挖掘资料的增多,发现影响的处理器非常广,除包括Intel外,还包括了AMD,ARM的处理器在“黑名单”上,这意味着无论是Windows,Linux,Mac系统抑或移动端的Android,都有潜在的安全威胁。



“Meltdown”利用的是处理器设计中的预测执行特性来获取用户程序中的内核数据,直接打破核心内存的保护机制,允许恶意代码直接访问敏感内存,影响了所有采用乱序执行设计的Intel处理器,其他顺序执行的处理器不会有影响。而“Spectre”漏洞则通过篡改其他应用程序的内存,欺骗他们去访问核心内存的地址,对云服务提供商的威胁更大。

发表于 2018-1-12 10:13:16 | 显示全部楼层
我都没敢更新补丁
发表于 2018-1-12 11:51:27 | 显示全部楼层


Google旗下的Project Zero团队发现了一些由CPU“预测执行”(Speculative Execution)引发的 ...
andy2000a 发表于 2018-1-9 08:41

我认为乱序执行虽然能够提高一些性能,但是电路规模大了不少,特别是数据反馈通道相当复杂,实际上我们的程序都是串行,能够并列执行的很少,当前RICS乱序执行能够改善取立即数的效率,但是我的指令集架构就已经很好解决了取立即数的问题了,所以,与乱序执行相比我更喜欢双线程设计,两条流水线相对独立,只是公用浮点运算单元和乘法单元,差不多就是双核处理器,可以执行两个任务的程序。
 楼主| 发表于 2018-1-12 16:14:41 | 显示全部楼层


我认为乱序执行虽然能够提高一些性能,但是电路规模大了不少,特别是数据反馈通道相当复杂,实际上我们的程 ...
吾要单片机 发表于 2018-1-12 11:51



CPU 不外 super pipeline , super scaler .   super scaler 方式就是使用多 thread 方式去跑 .
    multi thread 现在很多CPU 都有吧 .   但是看要多少 thread . 以前AMD CPU 就是 multi thread 但是 不是真有两组
所以 实际效能没真 x2 .Intel hyper thread 做得比较好一些些而且 现在被认可.
是 multi thread .

现在一堆X86  CPU 都 multi thread + multi core
如果要做 out or order , 须要COMPILER 去最佳化, 早在 pentium Pro 就已经开始 out of order .
intel ATOM 一开始要省电是使用 in-order 一直到 bayTrail 才改回 out of order 方式.

但最好方式是使用类似 GPU 的 CUDA (nvidia) ATI strem 方式 .
可以平行跑, 但是 spice engine 好像都没有特别做

某些APP 才有针对 GPU 多单元平行算,其实spice 会须要解 matrix .
善用平行电脑应该会比较好 .
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-1 07:46 , Processed in 0.026752 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表