如何通过 USB 保护/减轻 IntelME (CSME) JTAG 攻击?

信息安全 USB 固件 物理访问
2021-08-31 21:00:56

从ptsecurity.com两个安全搜索(马克西姆Goryachy @ h0t_max和马克叶尔莫洛夫@_markel___)对公布的Twitter

游戏结束!我们(我和@_markel___)已经通过 USB DCI 获得了用于英特尔 CSME 的全功能 JTAG。#intelme #jtag #inteldci

借助此漏洞,可以物理访问计算机(USB 端口)的攻击者可以控制英特尔管理引擎 (IntelME) 和整个计算机。

  • 攻击向量是什么?(需要物理访问计算机?)

  • 哪些计算机(和配置)受到影响?

  • 如何保护和/或减轻此类攻击?

这种攻击似乎专门针对英特尔 CSME (IntelME/AMT)。相同的安全研究人员在 2017 年 4 月披露了一个针对主 CPU/固件的类似漏洞(但此设置默认在 UEFI/BIOS 固件中禁用)

2个回答

该攻击通过利用某些 PC 中的 USG JTAG 调试功能来进行。

多年前,如果计算机制造商正在调试他们的主板设计,主板上会有一个称为 JTAG 端口的特殊端口,用于在处理器/芯片组中的寄存器周围进行操作。https://en.wikipedia.org/wiki/JTAG

要使用此端口,您需要一个 JTAG 调试器设备。 https://www.sparkfun.com/products/12942?gclid=Cj0KCQiA_5_QBRC9ARIsADVww16L8y1WKfZ9aiJQttvILJoygVQd1LTmss5_MiPobTO2I9NbCziFwfQaAo0cEALw_wcB

在现代主板上,JTAG 端口通常没有空间。对于笔记本电脑之类的设备,可能无法连接到 JTAG 端口。因此,英特尔开发了一种通过其中一个 USB 端口访问 JTAG 的方法。

芯片组上的一个 USB 端口(通常是端口 0)是一个“特殊”USB 端口,它允许使用特殊 USB 设备进行 JTAG 调试。 http://www2.lauterbach.com/pdf/dci_intel_user.pdf

在 PC 的 BIOS 设置中,通常会有一个启用 USB 调试的选项,并且在交付给客户的任何生产系统中默认禁用此选项。但是,有一些计算机制造商没有遵循最佳实践:

  1. 他们在硬件/BIOS 开发过程中默认打开调试,却忘记关闭它。
  2. 他们将 BIOS 中的 USB 调试状态硬编码为启用,并且没有提供禁用它的选项。

如果您有权访问 USB 调试/JTAG 功能,则您对系统具有“优于 root”的访问权限。它旨在供硬件和固件设计人员解决低级系统问题。该漏洞实际上是关于 JTAG,而不是管理引擎。如果攻击者可以访问 JTAG 端口,他们就拥有了您的计算机。英特尔管理引擎只是他们可以控制的东西。

我还要指出,USB JTAG 作为攻击媒介并不是全新的:https : //www.digitaltrends.com/computing/intel-kaby-lake-skylake-pcs-hackable-usb-jtag/

计算机安全的基本法则之一是,如果坏人可以不受限制地物理访问您的计算机,那么它就不再是您的计算机了。JTAG 就是该规则的一个示例。 https://msdn.microsoft.com/en-us/hh278941.aspx

那么你要怎么做才能阻止这种情况呢?

  1. 不要让坏人对您的计算机进行物理访问。如果您怀疑发生了这种情况,请立即停止使用您的计算机并购买一台新计算机。
  2. 请与您的制造商联系以获取 BIOS 更新。
  3. 如果可以,请在 BIOS 中禁用 USB 调试。
  4. 如果您没有禁用它的选项,请联系计算机/主板的制造商以查看他们是否已启用它。如果他们这样做,您必须等待他们提供和更新,或更换计算机。

好吧,这对我们中的许多人来说仍然是个重大新闻,尽管英特尔管理引擎的问题已经提出了多年并且以前也存在过问题。因此,随着更多信息的可用,此答案可能需要更新。

攻击向量是什么?(需要物理访问计算机?)

在这种特殊情况下,是的 - 需要物理访问。但是,您应该注意 ME 的目的之一是允许远程访问。它包含一个完整的网络堆栈,甚至是一个 Web 服务器。

哪些计算机(和配置)受到影响?

任何带有英特尔处理器的东西都可以追溯到几年前。最初,ME 内置在北桥中,后来集成到处理器中(参考

Broadwell、Skylake 和更新的公司受到影响。早于此的系统不支持 DCI(通过 USB 访问 JTAG 的协议)。虽然这些系统确实有 ME,但无法通过 USB 访问

如何保护和/或减轻此类攻击?

从主板上烧掉 USB 的轨道!但请记住,这只会阻止这个问题,而不是以后可能会发现的其他问题。不要忘记,还有其他可能更容易通过 USB 进行的攻击。对于高安全性使用,需要关闭 USB 或提供额外保护。

您可能很幸运拥有一块带有 BIOS 的主板,可以让您关闭 AMT。此外,上面引用的 Wikipedia 文章提到了一些针对 Windows 的缓解措施。

即使 AMT 被关闭,例如在 BIOS 设置中,USB 上的 DCI 仍然可以劫持易受攻击系统上的 ME。

尽管我没有实际证据,但使用 AMD 芯片和主板也可能有所帮助。当然,英特尔一直对 AMT 守口如瓶,所以我猜测 AMD 芯片组没有它——不过他们可能有自己的解决方案。

一位匿名用户在编辑中建议 AMD 系统有类似的东西,称为 AMD PSP,但他们认为不能通过 USB 访问它。