• 移动端
    访问手机端
    官微
    访问官微

    搜索
    取消
    温馨提示:
    敬爱的用户,您的浏览器版本过低,会导致页面浏览异常,建议您升级浏览器版本或更换其他浏览器打开。

    【硬件安全】通过DMA攻击UEFI

    CFCA信息安全实验室 来源:中国电子银行网 2017-09-08 09:37:50 DMA 攻击 金融安全
    CFCA信息安全实验室     来源:中国电子银行网     2017-09-08 09:37:50

    核心提示与Mac不同,许多PC可能易受到针对UEFI的预引导直接内存访问(DMA)攻击。如果在配置了安全引导的系统上发生攻击,那么信任链就会损坏,安全引导会变得不安全。

      与Mac不同,许多PC可能易受到针对UEFI的预引导直接内存访问(DMA)攻击。如果在配置了安全引导的系统上发生攻击,那么信任链就会损坏,安全引导会变得不安全。

      如果在操作系统启动之前获得代码执行,那么尚未加载的操作系统的进一步妥协是可能的。作为示例,可能会使用Device Guard危及运行基于虚拟化的安全性(VBS)的Windows 10系统。这已经由Dmytro Oleksiuk研究。

      这个帖子将重点是通过DMA攻击UEFI,而不是潜在的进一步妥协的系统。

      什么是UEFI?

      UEFI是统一的可扩展固件接口的缩写。在操作系统引导之前,它是在计算机上运行的固件。 UEFI负责检测引导操作系统所需的内存,磁盘和其他硬件。 UEFI本身就是一个小型的操作系统。有时候还有一点叫做BIOS。

      目标

      英特尔NUC i3“Kaby Lake”全新购入6月。 8GB内存,Win10 1703安全引导,Bitlocker + TPM,基于虚拟化的安全(VBS)Device Guard已启用。 BIOS版本:BNKBL357.86A.0036.2017.0105.1112。通过内部M.2插槽访问DMA。

      一个较旧的联想T430,8GB内存,Win10 1703与安全引导,Bitlocker + TPM,基于虚拟化的安全(VBS)设备防护已启用。通过ExpressCard插槽进行DMA访问。

    【硬件安全】通过DMA攻击UEFI

      问题

      根本的问题是,许多UEFI仍然不能保护自己免受DMA攻击,尽管硬件(VT-d / IOMMU)多年来一直被包括在所有的CPU中。下面的屏幕截图显示,PCILeech首先通过DMA搜索目标计算机的内存,尝试找到哪里可以挂接到UEFI。一旦进入,它很容易转储内存(也显示),并做其他的恶行 - 如执行任意代码,尽管安全启动被启用。

    【硬件安全】通过DMA攻击UEFI

      攻击

      如果允许DMA访问,控制是一个简单的事情,找到正确的内存结构并覆盖它们。 PCILeech自动执行此过程。可以自动搜索EFI系统表“IBI SYST”的内存地址 - 或者更好地直接指定给PCILeech。 EFI系统表包含EFI引导服务表“BOOTSERV”的位置,其中包含许多有用的函数指针。引导服务功能对于钩住并且也从我们植入的模块调用是有用的。

    【硬件安全】通过DMA攻击UEFI

      在下面的示例中,引导服务函数SignalEvent()被挂接。一旦插入了用于UEFI的PCILeech“内核”模块,就可以使用它来转储内存并执行代码 - 就像任何正常的PCILeech内核模块一样。在下面的例子中,PCILeech UEFI种植体uefi_textout被称为多次。输出打印在受害者计算机的屏幕上。

    【硬件安全】通过DMA攻击UEFI

      攻击完成后,向PCILeech发出了kmdexit命令,并卸下了UEFI植入物。在这种情况下,Windows将开始启动,如下所示。如果针对加载的操作系统,最好钩住ExitBootServices() - 当操作系统从UEFI接管计算机的控制时,由EFI的操作系统加载程序调用。在这个时间点上,恶意代码可能会修改操作系统加载程序。

      我可以自己试试吗?

      绝对!该代码可用作Github上的开源PCILeech直接内存访问攻击工具包的一部分。

      结论

      PCILeech的UEFI DMA攻击现在公开,价格便宜,易于执行。对DMAFI的恐惧已经不再是理论上的了。

      供应商应该使VT-d能够防止DMA攻击。

      操作系统的进一步妥协是可能的。如果有易受伤害的UEFI,可能无法依赖基于虚拟化的安全性。  

    责任编辑:韩希宇

    免责声明:

    中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。

    为你推荐

    猜你喜欢

    收藏成功

    确定