现在的多核CPU,Linux *** 作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)?

现在的多核CPU,Linux *** 作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)?,第1张

现在的技术,还是一个线程只能运行在一个 CPU 上。多核心,必须用多线程/进程来运行才能实现最大化。当然,你可以单个线程不停的在所有的 CPU 上来回跳。但是效率会很低很低。

因为 CPU 有寄存器和缓存的问题。如果你切换 CPU 运行,所有的数据都要进行一次传递。非常浪费时钟(在 CPU 上,程序执行不是一个时钟马上就能任意执行一个指令,而是流水线作业,一个指令需要很多个时钟才能处理完,数据存取也都要等)。

这也因为程序原本就都是顺序执行的。你没办法让一个程序的后面的结果可以跳过前面的结果而得出。

当然,现在 CPU 确实有这种技术,叫做乱序执行。也就是当前面的过程还没有计算时,后面的指令先计算。但是这种事情是要靠猜测的,而且这也仅仅是分支预测,依然不能预测某个计算的结果。即便猜的再准确,也有错的时候。奔腾4 最老的版本就有这个问题,流水线太长。计算后发现错了。整条流水线需要清空重新计算。有严重性能问题的奔腾4 CPU ,流水线长度是 31 级。也就是一个程序至少 31 个时钟周期才能从推到流水线后到真正执行。直接浪费了 31 个时钟周期。

所以目前的技术来说,单线程多核新协同计算,技术上不可能实现。

提高性能,就是整理数据处理的算法,把多次重复计算的过程,拆成多条线程分别计算。从而保证 CPU 多核新的效率最大化。每个线程可以共享同一块数据,自己读取自己的数据计算使可以的。不过,这时候就有另外一个问题,数据寻址和传递的性能问题。

1月4日,国外安全研究机构公布了两组CPU漏洞:Meltdown(熔断)和Spectre(幽灵)。

虽然目前全球还没有发现利用漏洞进行的真实攻击,但理论上,这次曝出的漏洞让所有能访问虚拟内存的CPU都可能被人恶意访问,理应受保护的密码、应用程序密匙等重要信息因此面临风险。

从目前了解情况来看,1995年以来大部分量产的处理器均有可能受上述漏洞的影响,且涉及大部分通用 *** 作系统。虽然是英特尔为主,但ARM、AMD等大部分主流处理器芯片也受到漏洞影响。相应的,采用这些芯片的Windows、Linux、macOS、Android等主流 *** 作系统和电脑、平板电脑、手机、云服务器等终端设备都受上述漏洞的影响。

糟糕的是,英特尔公司本身无法采用固件升级的方式解决这一漏洞,导致微软、苹果等 *** 作系统开发商各自寻求修补方法。

1月4日,中国国家信息安全漏洞共享平台(China National Vulnerability Database)收录了这两个漏洞,并对该漏洞的综合评级为“高危”。

随后各地网络安全部门发出安全提醒。1月5日,上海市网信办向本市各关键信息基础设施主管和运营单位发出预警通报,要求各单位启动网络安全应急预案,并采取应对措施。

网络安全专家表示,虽然漏洞影响范围广泛,并引起全球关注,但受影响最大的主要是云服务厂商,对于普通用户来说,大可不必过于恐慌。

Q:漏洞是如何展开攻击的?

通常情况下,正常程序无法读取其他程序存储的数据,但恶意程序可以利用Meltdown和Spectre来获取存储在其他运行程序内存中的私密信息。

具体而言,据腾讯电脑管家安全团队的专家向澎湃新闻记者介绍:利用Meltdown漏洞,低权限用户可以访问内核的内容,获取本地 *** 作系统底层的信息;当用户通过浏览器访问了包含Spectre恶意利用程序的网站时,用户的如账号、密码、邮箱等个人隐私信息可能会被泄漏;在云服务场景中,利用Spectre可以突破用户间的隔离,窃取其他用户的数据。

目前漏洞的验证代码(PoC)已经公布,技术细节在此不作赘述。腾讯安全团队经过实际验证,漏洞可在Windows、Linux、Mac OS等 *** 作系统下,成功读取任意指定内存地址的内容。

Q:漏洞的原理是什么?

这两组漏洞来源于芯片厂商为了提高CPU性能而引入的新特性。

现代CPU为了提高处理性能,会采用乱序执行(Out-of-Order Execution)和预测执行(Speculative Prediction)。乱序执行是指CPU并不是严格按照指令的顺序串行执行,而是根据相关性对指令进行分组并行执行,最后汇总处理各组指令执行的结果。预测执行是CPU根据当前掌握的信息预测某个条件判断的结果,然后选择对应的分支提前执行。

乱序执行和预测执行在遇到异常或发现分支预测错误时,CPU会丢弃之前执行的结果,将 CPU的状态恢复到乱序执行或预测执行前的正确状态,然后选择对应正确的指令继续执行。这种异常处理机制保证了程序能够正确的执行,但是问题在于,CPU恢复状态时并不会恢复CPU缓存的内容,而这两组漏洞正是利用了这一设计上的缺陷进行测信道攻击。

Q:惊天漏洞为何隐藏这么久?

该漏洞至少2016年年初就已经被安全研究人员发现,但英特尔直到今年年初才最终承认这一漏洞。华尔街日报援引安全专家的话直指,英特尔在事件的披露方面做得乱七八糟。

2016年8月,在美国拉斯维加斯的Black Hat网络安全大会上,两位研究者安德斯·福格(Anders Fogh)和丹尼尔·格拉斯(Daniel Gruss)演示了漏洞的早期迹象。福格在去年7月还就此发表博文,鼓励其他的研究者去展开调查。

与此同时,谷歌内部的安全研究团队Project Zero的雅恩·霍恩(Jann Horn)早已揭开该问题,并通知了英特尔。最终,来自全球各地的三个其他的研究团队就同样的问题联系英特尔,英特尔接着与他们一道交流和撰写论文。

然而这种芯片漏洞至少可追溯到2010年,带来这种漏洞的通用架构原则有几十年历史了。那为什么英特尔没有更早发现漏洞呢?英特尔没有正面回应这一问题。

上海交通大学网络空间安全学院孟魁博士表示,这次安全漏洞事件在这个时间点全面爆发可能有两个原因,第一是英特尔的修复效率低下,进展过慢,引起业界的施压;第二是因为漏洞的信息泄露时间过长可能将导致被攻击者利用。因此必须立即采取措施。”

Q:目前有没有已经报告的恶意攻击?

腾讯和360等安全厂商都表示,目前没有任何已知的利用这些漏洞进行攻击的案例被发现。

英国国家网络安全中心表示,目前还没有证据表明Meltdown和Spectre正在被用来窃取数据,但攻击的本质使他们难以察觉。

360核心安全事业部总经理、Vulcan团队负责人郑文彬告诉澎湃新闻记者,攻击者虽可利用该漏洞窃取隐私,但无法控制电脑、提升权限或者突破虚拟化系统的隔离。此外,该漏洞不能被远程利用,更无法像“永恒之蓝”漏洞一样,在用户没有任何交互 *** 作时就实现攻击。

腾讯安全专家表示,虽然漏洞细节以及PoC已经公开,但是并不能直接运用于攻击。漏洞运用于真实攻击还有许多细节问题需要解决,目前也没有一个稳定通用,同时可以造成明显严重后果(窃取账号密码等)的漏洞利用代码。

Q:漏洞修复情况如何?

根据英国卫报的说法,由于漏洞是芯片底层设计上的缺陷导致的,修复起来会非常复杂,同时难以完美修复。

郑文彬表示,CPU硬件的漏洞修复高难度, 仅通过CPU厂商进行安全更新(例如升级CPU微码)是无法解决这一问题,修复这些漏洞需要 *** 作系统厂商、虚拟化厂商、软硬件分销商、浏览器厂商、CPU厂商一起协作并进行复杂且极其深入的修改,才能彻底解决问题。

漏洞曝光之后,各家芯片厂商、 *** 作系统厂商、浏览器厂商,以及云服务厂商,都已先后作出回应,积极采取措施,发布安全公告,并及时推出缓解措施和修复补丁。

英特尔建议关注后续的芯片组更新、主板BIOS更新;针对Meltdown漏洞,Linux已经发布了KAISER;macOS从10.13.2予以了修复;谷歌称已经修复;Win10 Insider去年底修复;Win10秋季创意者更新发布了KB4056892,将强制自动安装;亚马逊AWS随后也公布了指导方案;对于难度更高的Spectre漏洞,各厂商目前也仍在攻坚中。

针对该漏洞,上海市网信办采取了应急处置措施。一是密切跟踪该漏洞的最新情况,及时评估漏洞对本单位系统的影响。二是对芯片厂商、 *** 作系统厂商和安全厂商等发布的补丁及时跟踪测试,在做好全面审慎的评估工作基础上,制定修复工作计划,及时安装。三是进一步加强关键信息基础设施网络安全防护工作,加强网络安全防护和威胁情报收集工作,发生网络安全事件及时向市网信办报告。

Q:普通用户如何防范漏洞?

目前,网民可以通过以下安全策略进行防护:

1、升级最新的 *** 作系统和虚拟化软件补丁:目前微软、Linux、MacOSX、XEN等都推出了对应的系统补丁,升级后可以阻止这些漏洞被利用;

2、升级最新的浏览器补丁:目前微软IE、Edge和Firefox都推出了浏览器补丁,升级后可以阻止这些漏洞被利用;

3、等待或要求你的云服务商及时更新虚拟化系统补丁;

4、安装安全软件。

腾讯安全专家表示,漏洞可造成的主要危害在于用浏览器访问了一个带有漏洞利用代码的网页,导致敏感信息(账号密码等)泄露。只要养成良好的上网习惯,不轻易点击陌生人发来的链接,基本不会受到漏洞影响。同时,浏览器针对漏洞发布的补丁和缓解措施简单有效,而且不会造成性能下降或兼容性问题,用户可以选择将浏览器升级到最新版本,从而避免受到漏洞攻击。

Q:“打补丁将导致CPU性能损耗30%”的说法是真的吗?

修复程序本身的确存在诸多问题。

腾讯安全专家介绍,以Windows 10为例,微软于北京时间1月4日凌晨紧急发布了1月份系统安全更新,但补丁存在明显的性能和兼容性的问题:一方面,更新可能会让受影响的系统性能下滑30%。另一方面,更新可能会导致部分软件(安全软件等)不兼容从而致使系统蓝屏。

不过根据腾讯安全团队的实际测试,性能问题对于普通用户来说,影响并不大:只有在极端的测试下,才会出现明显的性能问题;而正常的使用过程中一般不会出现。

360郑文彬也表示,这种说法比较片面,30%的性能损失是在比较极端的专门测试情况下出现的。通常的用户使用情况下,尤其在用户的电脑硬件较新的情况下(例如绝大部分在售的Mac电脑和笔记本、32位X86 *** 作系统),这些补丁的性能损失对用户来说是几乎可以忽略不计。接下来包括微软、Intel在内的厂商还会进一步推出针对性的补丁,进一步降低补丁对性能的损耗。

但是腾讯安全团队提醒,兼容性问题确实比较严重:在有安全软件,以及一些游戏的电脑上,安装补丁比较容易出现蓝屏现象。这也使得众多安全厂商采取了比较保守的策略,暂时不主动推送微软的补丁,避免造成用户电脑无法正常使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7266726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存