PCI 카드 판독기 또는 PCI USB 호스트 컨트롤러와 같은 PCI 장치에 DMA 공격을 수행하려면 추가 장치가 필요합니까?

PCI 카드 판독기 또는 PCI USB 호스트 컨트롤러와 같은 PCI 장치에 DMA 공격을 수행하려면 추가 장치가 필요합니까?

저는 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가 무선 기능을 통합하기 위해 수정되지 않은 경우 대부분 자동화됨)에 대한 공격이 여전히 가능한 것으로 보입니다. 따라서 전체 시스템은 타협.

관련 정보