vt-d Virtualización y tecnología de ejecución confiable

7

Siendo un usuario de VirtualBox por mucho tiempo y recientemente compré una computadora portátil nueva equipada con un intel i7 720QM Descubrí que era compatible con vt-d .

Mientras tanto, he descubierto que vt-d viene con TXT , que es un tipo de adición de seguridad de hardware a la arquitectura i386. Tengo dos preguntas:

  • ¿Por qué vt-d está acoplado con TXT?
  • ¿Cómo TXT mejora la seguridad?
pregunta Alain Pannetier 02.05.2011 - 16:12
fuente

3 respuestas

9

La tecnología Trusted Execution se combina con una colección de características de seguridad disponibles en el moderno chipset Intel. El Módulo de plataforma segura (TPM) y otras características similares a DRM también están en este paquete. El razonamiento detrás de esto se debe a la abstracción, que se atribuye más comúnmente a una arquitectura de software. Lo común detrás de todas estas características es restringir el acceso que tiene una pieza de software y por eso compartirán la complejidad y, por lo tanto, se acoplarán.

Esto lleva a la siguiente pregunta How does TXT enhance security? Una característica muy importante de TXT es aislar la memoria utilizada por las vm invitadas. ¿Qué pasaría si una vm invitada tuviera un kernel malicioso que intentara acceder a la memoria de un host u otro invitado? TXT es un método muy eficiente para evitar que esto suceda. Las VM de software puramente también tienen esta característica importante, pero hay más gastos generales. TXT también interviene para controlar quién tiene acceso a los periféricos de hardware como el mouse / teclado y los dispositivos de almacenamiento masivo.

    
respondido por el rook 02.05.2011 - 20:31
fuente
6

De blog de Joanna Rutkowska : (y lo admito Estoy patinando en el límite de mi comprensión aquí ...)

  

Cuando carga un hipervisor con TXT, la instrucción SENTER aplicaría primero las protecciones VT-d alrededor de la imagen del hipervsior, luego realizaría las mediciones y luego las cargaría, con las protecciones VT-d aún en su lugar.

Y su explicación más completa:

  

... hagamos las siguientes suposiciones:
  1) El sistema operativo / VMM utiliza IOMMU correctamente para aislar la (s) tarjeta (s) de red.   2) Una vez que el atacante obtuvo el control sobre el firmware de la NIC, el atacante también puede modificar el almacenamiento persistente (EEPROM) donde se guarda este firmware. Esto ha sido confirmado por Loic en un intercambio de correo electrónico privado.
  3) El sistema implementa un arranque confiable a través de SRTM, es decir, solo usa BIOS y TPM, sin Intel TXT.

     

Ahora, el atacante puede modificar el firmware en la EEPROM y esto permitirá que el atacante sobreviva al reinicio de la plataforma. El firmware de la tarjeta comenzará a ejecutarse al inicio del proceso de arranque, definitivamente antes de que se cargue el OS / VMM. Ahora, la NIC comprometida, debido a que es capaz de hacer DMA a la memoria del host, puede comprometer la imagen del VMM en un breve lapso de tiempo entre el momento en que el cargador del sistema operativo (confiable) lo midió y cargó, por ejemplo. GRUB de confianza, pero aún antes del momento, VMM tuvo la oportunidad de configurar las protecciones IOMMU / VT-d adecuadas para sí mismo.

    
respondido por el AviD 03.05.2011 - 12:26
fuente
6

Debido a que necesita aislamiento para asegurarse de que las mediciones no puedan manipularse (estilo de ataques) por cualquier cosa (por ejemplo, DMA). dispositivo habilitado).

Si lo desea, puede ver esto como un cortafuegos para E / S e interrupción; obviamente, no lo es, pero se obtiene la imagen. VT-d es simplemente el término de Intel para describir su IOMMU . AMD lo llama AMD-Vi. La función de esta unidad es controlar el acceso a la memoria del dispositivo ( DMA ) e interrumpir la reasignación.

La mejor manera que tengo de describirlo es mediante un ejemplo de paso a través de PCI. Aquí está mi explicación simplista:

Si dedica un dispositivo habilitado para DMA a una máquina virtual en particular, digamos su tarjeta de red, luego, sin la protección adecuada de VT-d, esta máquina virtual tendrá acceso a la memoria completa del host. La VM podría salir del contenedor de la VM a través de la vista de la tarjeta de red DMA . Recuerde que DMA proporciona un acceso directo y completo a la memoria (esto incluye la memoria del host / vmm). Si VT-d se implementa correctamente, la tarjeta de red solo tendrá acceso a la memoria VM a la que está asignada, nada más. Sí, algún tipo de firewall de E / S si esto ayuda.

TXT solo usará VT-d para crear aislamiento en torno a lo que necesita evaluar: medir el código, enviar esas mediciones en algunos registros protegidos por TPM (PCR) para su uso posterior, .eg, atestación remota, operaciones de no sellado.

Consulte this para obtener más información acerca de VT-d.

La segunda pregunta es muy complicada ya que TXT ofrece nuevas capacidades de seguridad (ver a continuación), no seguridad por sí sola. La seguridad se puede crear de diferentes maneras, dependiendo de cómo se usen esas capacidades; depende de nuestra imaginación. PrivateCore vCage es una buena ejemplo .

  • Ejecución protegida - separación de dominio basada en hardware
  • Páginas de memoria protegidas: proporcionan protección contra las formas en que se puede acceder a la memoria - software, DMA, tarjetas GPU - algunas advertencias con SMM , y AMT
  • Almacenamiento sellado: cifre los datos según el entorno en ejecución o, en otras palabras, lo que se ha medido (según los valores de PCR almacenados en el TPM)
  • Entrada protegida: cree un canal de confianza entre el usuario y el entorno seguro, no implementado IFAIK
  • Gráficos protegidos: cree un canal de confianza entre el entorno seguro y la tarjeta gráfica, no implementado IFAIK
  • Declaración: informe de forma segura a otras partes qué mediciones se almacenan en el TPM (valores de PCR), por ejemplo. Certificación remota también conocida como la operación de cotización.

Consulte este documento Para más información sobre TXT.

    
respondido por el northox 04.04.2013 - 17:53
fuente

Lea otras preguntas en las etiquetas