저는 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는 dom0 vm 내의 PCI 장치를 격리하므로 PCI 장치의 펌웨어/하드웨어가 조작되지 않은 경우 장치(조작된 무선 어댑터/이더넷 카드, USB 장치...)를 연결하지 않으면 DMA 공격이 작동하지 않습니다. 그러나 PCI 장치의 하드웨어/펌웨어가 조작되면 dom0(RAM/기타 PCI가 무선 기능을 통합하기 위해 수정되지 않은 경우 대부분 자동화됨)에 대한 공격이 여전히 가능한 것으로 보입니다. 따라서 전체 시스템은 타협.