图片:未飞溅英特尔
修复了英特尔ME固件中的
一个严重漏洞。 积极技术专家Dmitry Sklyarov发现MFS安全机制(ME用于存储数据的文件系统)的操作出错。 利用此漏洞的结果是,攻击者可以操纵MFS的状态并提取一些重要的秘密。
英特尔ME(管理引擎)使用MFS(据说是ME File System的缩写)来存储数据。 MFS安全机制主动使用加密密钥。 机密性密钥用于确保存储在MFS中的数据的机密性,而完整性密钥则用于控制完整性。 根据重要程度,放置在MFS中的数据分为两类,并由不同的密钥集保护。 Intel密钥用于最敏感的数据,而非Intel密钥用于其他所有内容。 因此,使用了四个密钥:Intel完整性密钥,Non-Intel Integrity密钥,Intel保密性密钥和Non-Intel保密性密钥。
在2017年,Positive Technologies的专家Mark Ermolov和Maxim Goryachy
发现了一个漏洞 ,该
漏洞的运行使您可以获取所有四个密钥并完全破坏MFS安全机制。
英特尔后来发布了
更新,以解决此漏洞。 SVN(安全版本号)的值增加了-此步骤是更新所有密钥,并使MFS安全性恢复到计划的级别。 获取更新的ME固件(具有新的SVN值)的MFS密钥应该是不可能的。
但是,早在2018年,Positive Technologies专家Dmitry Sklyarov就发现了漏洞CVE-2018-3655,如
英特尔SA-00125中所述 。 问题的实质在于,非Intel密钥取决于SVN的值以及子系统的底层不变密钥。 而且,如果您使用JTAG调试(可以使用先前的漏洞启用此功能)可以获取此秘密。 了解子系统的基本机密后,您就可以计算两个非Intel密钥-所有这些都已经在新的固件版本中。
因此,攻击者可以使用更新的SVN值来计算固件的Non-Intel Integrity密钥和Non-Intel机密性密钥,从而损害依赖于这些密钥的MFS安全机制。
非Intel Integrity密钥用于控制所有目录的完整性-了解密钥后,您可以添加和删除文件,更改其安全属性。 另外,此密钥还与防重播表的保护相关联-一种旨在防止某些文件的内容被其先前版本替换的机制。 知道了关键,防重播机制将很容易被规避。 非Intel机密性密钥用于加密某些文件。 例如,使用它来加密AMT密码。
通过依次利用Positive Technologies专家在2017年和2018年发现的漏洞,攻击者可以干扰ME的工作并获取机密数据。 对漏洞的利用由于需要物理访问设备而受到阻碍,但这仍然是一个非常严重的安全错误。
Positive Technologies专家在Intel ME固件中发现了许多漏洞。 因此,Mark Ermolov和Maxim Goryachy在Black Hat Europe会议上
谈到了他们的脆弱性。 在同一个会议上,Dmitry Sklyarov详细介绍了ME文件系统的设备。
此外,Positive Technologies的专家学习了如何使用非文档模式
禁用 Intel ME子系统,并在一个特殊的
网络研讨会上展示了如何启用JTAG调试。