![PCI 读卡器或 PCI USB 主机控制器等 PCI 设备是否需要附加设备才能执行 DMA 攻击](https://linux22.com/image/203613/PCI%20%E8%AF%BB%E5%8D%A1%E5%99%A8%E6%88%96%20PCI%20USB%20%E4%B8%BB%E6%9C%BA%E6%8E%A7%E5%88%B6%E5%99%A8%E7%AD%89%20PCI%20%E8%AE%BE%E5%A4%87%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E9%99%84%E5%8A%A0%E8%AE%BE%E5%A4%87%E6%89%8D%E8%83%BD%E6%89%A7%E8%A1%8C%20DMA%20%E6%94%BB%E5%87%BB.png)
我是 Unix 系统的初学者,我对 DMA 攻击有一个简单的想法。
在尝试安装 Qubes OS 时,我想知道直接从硬盘安装它是否安全,假设 PCI 设备的固件已被感染和/或容易受到 DMA 攻击。
如果没有连接任何设备,是否有可能触发 DMA 攻击。
我的意思是,例如:如果通过 PCI USB 主机控制器进行 DMA 攻击,需要插入 USB 才能用于访问内存吗?
答案1
我不是安全专业人士,但我认为如果所有 PCI 设备的固件/硬件没有受到损害,至少攻击者需要将具有被操纵的固件/硬件的设备连接到主机控制器才能执行 DMA 攻击,PCI 设备只进行 DMA 访问,但需要连接一个设备才能执行攻击(如果其硬件未被操纵)。
在 qubes.org 的这段引用中,他们谈论了这个问题。
Why is VT-d/AMD-Vi/AMD IOMMU important?
On a system without VT-d/AMD-Vi/AMD IOMMU, there will be no real security benefit to having a separate NetVM, as an attacker could always use a simple DMA attack to go from the NetVM to Dom0. Nonetheless, all of Qubes’ other security mechanisms, such as qube separation, work without VT-d/AMD-Vi/AMD IOMMU. Therefore, a system running Qubes without VT-d/AMD-Vi/AMD IOMMU would still be significantly more secure than one running Windows, Mac, or Linux.
Qubes 将 PCI 设备隔离在 dom0 vm 中,因此如果 PCI 设备的固件/硬件未被操纵,则除非您将设备连接到它(操纵的无线适配器/以太网卡、USB 设备……),否则 DMA 攻击不会发生。但在我看来,如果 PCI 设备的硬件/固件被操纵,对 dom0 的攻击(如果 RAM/其他 PCI 未被修改以集成无线功能,则大多是自动化的)仍然可能,因此整个机器将受到损害。