研究人员发现一些英特尔CPU中使用的RC4键

04-11-2020 |  |  By 罗宾米切尔

最近,研究人员能够反向工程师Intel CPU更新,以找出用于微码更新的RC4键。什么是Microcode,可以使用哪些安全措施来保护代码,以及该发现对英特尔的意思是什么?

什么是微码?

在计算机的核心是中央处理单元或CPU,其执行数学和逻辑操作。然后使用这些操作来执行又用于执行程序的指令。由于CPU由单个逻辑元素组成,因此对这些元件的正确排序对于CPU功能是必不可少的,并且这些控制信号在称为微代码中描述。理解微码的另一种方法是编程器中的指令集架构中的指令,例如添加R1,R2,而微代码告诉CPU如何执行添加R1,R2。在一些CPU中,这可以作为使寄存器库成为ALU,设置ALU添加,存储结果在临时寄存器中,将临时寄存器结果存储回寄存器库。

在旧系统中, 单码将作为ROM银行硬件硬件硬件 或有限状态机,但现代处理器可以将Micropode存储在RAM中,允许固件更新到CPU。这可以允许包含新的指令以及对当前微代码的补丁可以包含可能包含缺陷或错误的修补程序。 

可以使用哪些安全措施来保护代码?

计算机安全的许多方面围绕可能希望窃取信息,安装恶意软件或在大规模攻击中作为僵尸的外部攻击者保护的许多方面。然而, 安全性也可能很重要,以保护知识产权 以及防止攻击者在软件中识别漏洞。例如,数字版权管理或DRM是一个系统,允许软件开发人员保护其产品无法在不授权的情况下复制和分发。

用于保护软件的另一种方法是使用锁定到特定机器的串行键和许可证。虽然存在在构造中相同的许多机器,但它们通常具有唯一的序列号,包括OS密钥许可证,MAC地址,甚至在硬件上甚至是UID。从那里,这些数字可以与特殊键组合,使得软件仅在该机器上运行。因此,如果程序被移动到不同的机器,则密钥不匹配系统配置,因此防止程序执行。

某些程序以解释语言编写而不是编译语言(解释语言的示例包括Java,Python和VB)。此类程序在分发时,可以将源代码公开为纯文本,这可能允许攻击者撤消产品以快速绕过内置安全措施。因此,这些程序可以部署技术呼叫混淆,由此替换可变名称,函数名称和对象名称以模糊的随机名称替换。例如,函数checksecurity()可以用ersedfesf()替换,从而使攻击者难以了解该功能的目的是什么。

研究人员发现一些英特尔CPU的RC4钥匙    

最近, 一组研究人员已经设法发现某些英特尔CPU使用的RC4密钥 通过利用英特尔管理引擎中的利用(2017年爆炸本身被发现)。 RC4键的结果发现允许研究人员将自己的微代码添加到英特尔CPU中。仍然应该说,这些微码指令在RAM中存储而不是ROM,因此意味着在系统重新启动时丢失任何添加。 

现在, RC4键的严重程度没有明确理解。尽管如此,研究人员仍然表示,RC4键的发现是个人可以在英特尔CPU上运行自己的微代码的历史中的第一次。 Intel Management引擎中发现的漏洞在2017年被发现,此漏洞允许攻击者在英特尔CPU的核心核心内执行任何代码。但是,研究团队进一步采取了此漏洞,并能够将CPU放入名为RED解锁的服务模式。此模式是一种调试模式,允许工程师测试微码,但团队能够使用它来提取MSROM(Microcode Sequencer ROM)。从那里,团队能够撤消工程师,了解微码如何工作,并且能够确定用于微码更新的RC4键。 RC4键的发现允许在CPU中更新微代码,但缺点键缺少缺陷意味着更新的Microcode在重新引导时删除。 

是什么让学习微码的CPU可能易受伤害?

根据英特尔,他们的安全措施都没有依赖于混淆,硅本身不会永久更新固件所需的私钥。但是,这个漏洞是问题的真实程度不明显,因为这是发现可以改变微代码的第一个漏洞之一。 

执行自定义微码的能力可能允许攻击者访问系统上的任何硬件,因为它们正在从最特权级别执行指令;硅本身。虽然CPU上的安全系统可能能够阻止对处理器上受保护区域的信号请求,但是使用微码的能力也教导了攻击者指令如何工作。从那里,可以快速确定其他指令中的错误和漏洞。因此,攻击者可以利用其他指令来获得不可通过通常可访问的处理器的关键区域的访问。

阅读更多


profile.jpg.

罗宾米切尔

罗宾米切尔是一名电子工程师,自13岁以来一直参与电子产品。在Warwick大学完成Beng之后,Robin迁入了在线内容创作开发文章,新闻棋子和专业人士和制造商的项目领域一样。目前,Robin运行了一个小型电子商务,Mitchelectronics,它会产生教育套件和资源。

相关文章