¿IOMMU protege contra la inserción de malware a través de la tarjeta de red PCI / tarjeta de sonido DMA?

2

Acabo de leer sobre esto: enlace

Aparte de la pregunta en el título, también me gustaría agregar la siguiente pregunta:

  • ¿Es posible actualizar el firmware de la tarjeta de sonido para que cargue código malicioso a través de DMA o tome el control de los controladores de audio que tienen altos privilegios en una máquina Windows y luego haga que se comuniquen con el servidor C2?

Si todo esto es posible, entonces significa que el simple hecho de conectar una tarjeta de sonido PCIe infectada a prácticamente cualquier PC puede estar ejecutando Windows o Linux, a pesar de la habilitación y configuración correcta de IOMMU, como su configuración como HABILITADA EN BIOS y configurando intel_iommu = on / amd_iommu = on en Linux? Se supone que todo lo demás está limpio, excepto la tarjeta de sonido.

    
pregunta Resonce 21.12.2018 - 09:26
fuente

1 respuesta

3

El IOMMU no se protegerá contra eso a menos que se combine con el arranque medido. Mientras que un IOMMU protegerá de DMA rogue, eso solo se aplica después de que se haya inicializado. En particular, dado que sería necesario habilitar el arranque medido, se requiere un TPM. Hay dos tipos de arranque medido, llamados SRTM y DRTM . La primera mide el firmware una vez mientras el sistema se está iniciando, mientras que la última mide una parte del software en tiempo de ejecución. Para proteger de un ataque inicial de DMA , es Es necesario utilizar DRTM, en lugar de solo SRTM, para la medición. Esto generalmente requiere configuración manual.

IOMMU es vulnerable durante el inicio temprano porque las tablas de configuración de IOMMU (DMAR) se inicializan en una región de la memoria que no está protegida. Durante el breve período entre la carga de la configuración y la habilitación de IOMMU, un dispositivo malintencionado podría modificarlos, anulando la protección que se supone debe proporcionar. Esto se explica en un documento de investigación sobre omitiendo las protecciones de IOMMU .

Esto es solo un riesgo si inicia el sistema con una tarjeta PCIe maliciosa o comprometida ya instalada. Si uno está conectado mientras el sistema está encendido, o si una tarjeta existente está comprometida (por ejemplo, a través de JTAG) mientras el sistema está encendido, una IOMMU correctamente configurada debería ser suficiente para evitar que el dispositivo emita solicitudes DMA maliciosas. Esto requiere tablas funcionales Reasignación de DMA , o DMAR, que es una tabla ACPI incluida con el BIOS. Si el DMAR no funciona, como suele ocurrir con ciertas computadoras portátiles, es posible que el sistema no se inicie correctamente con la IOMMU habilitada a través de intel_iommu=on o amd_iommu=on .

    
respondido por el forest 21.12.2018 - 10:58
fuente

Lea otras preguntas en las etiquetas