安全研究人员Mark Ermolov,Dmitry Sklyarov和Maxim Goryachy发现了两个无证X86指令,可用于修改CPU Microcode。只有在CPU在调试模式下运行时才能执行指令,这使得它们不容易被利用。
能够修改CPU' S微码意味着您可以重新编程其指令以做任何您想要的。通常,修改CPU微码是修复漏洞和其他类型的错误所必需的,这需要CPU架构提供了一种机制。 CPU Microcode更新以加密的表单和可以解密它们驻留在CPU本身的密钥。 Goryachy表示,访问这两条指令允许攻击者绕过这障碍:
在我看来,关于主要成就的[E]这些指令[是]绕过微码更新验证。是的,您[是]对 - 它允许在没有外部调试器的情况下制作自己的持久微码补丁。
根据Ermolov的说法,两种指令在所有处理器模式中解码,包括用户模式,但是除非CPU以所谓的红色状态运行,否则它们会提高未定义的指令异常。红色状态是Intel系统在芯片上支持的四种可能的DFX状态之一,以及绿色,橙色和大坝。虽然绿色状态用于普通CPU操作,但红色和橙色状态可以启用对CPU IP的全部或部分的调试访问。
在事情的好的方面,让英特尔CPU进入红色状态并不容易完成。事实上,除非英特尔管理引擎(ME)有漏洞,除非有漏洞,否则在2008年以来,所有英特尔CPU中存在的几乎没有记录的子系统都必须提供全面的性能。安全研究人员在某些情况下索赔是安全威胁,用户应该禁用它。
事实上,过去发现了英特尔的几种漏洞。其中,ermolov,sklyarov和goryachy描述了一种提取CPU内使用的秘密密钥以解密微代码更新的方法,这也导致了在CPU上执行自己的微代码或读取英特尔' S微代码。
这三个研究人员发布了一个视频,演示了如何访问root / admin权限的两个指令。这需要将自定义UEFI上载到SPI Flash,然后重新启动系统,肯定需要对其进行物理访问。
Ermolov,Sklyarov和Goryachy正在研究披露纸和全POC。 目前,英特尔拒绝承认将两个隐藏指令作为漏洞访问的可能性。 InfoQ将继续提供详细的报告,因为新信息将可用。 每年,我们寻求读者的反馈帮助我们改善InfoQ。 您可以介意2分钟在短期调查中分享您的反馈吗? 您的反馈将直接帮助我们不断发展我们如何支持您。 最后一周的内容在InfoQ上举行了每周二发出的。 加入超过250,000多名高级开发人员的社区。 查看一个例子 选择您的国家/地区,我同意infoq.com处理我的数据,如本隐私声明中所述。