Articulo de referencia

Tecnología de ejecución confiable

La tecnología Intel Trusted Execution Technology ( Intel TXT , anteriormente conocida como LaGrande Technology ) es una tecnología de hardware informático cuyos objetivos princi...

La tecnología Intel Trusted Execution Technology ( Intel TXT , anteriormente conocida como LaGrande Technology ) es una tecnología de hardware informático cuyos objetivos principales son:

  • Certificación de la autenticidad de una plataforma y su sistema operativo .
  • Garantizar que un sistema operativo auténtico se inicie en un entorno de confianza, que a su vez pueda considerarse fiable.
  • Proporcionar un sistema operativo fiable con capacidades de seguridad adicionales que no están disponibles en un sistema operativo no probado.

Intel TXT utiliza un Módulo de Plataforma Segura (TPM) y técnicas criptográficas para proporcionar mediciones de los componentes de software y plataforma, de modo que tanto el software del sistema como las aplicaciones de administración local y remota puedan utilizar dichas mediciones para tomar decisiones de confianza. Complementa Intel Management Engine . Esta tecnología se basa en una iniciativa del Trusted Computing Group (TCG) para promover una informática más segura. Protege contra ataques basados ​​en software cuyo objetivo es robar información confidencial mediante la corrupción del código del sistema o del BIOS , o la modificación de la configuración de la plataforma.

Detalles

El Módulo de Plataforma Segura (TPM), según lo especificado por el TCG, proporciona numerosas funciones de seguridad, incluyendo registros especiales (denominados Registros de Configuración de Plataforma – PCR) que almacenan diversas mediciones en una ubicación protegida para evitar la suplantación de identidad. Las mediciones consisten en un hash criptográfico mediante un algoritmo de hash; la especificación TPM v1.0 utiliza el algoritmo SHA-1 . Las versiones más recientes de TPM (v2.0+) requieren SHA-2 . [ 1 ] [ 2 ]

Una característica deseable de un algoritmo hash criptográfico es que (a efectos prácticos) el resultado hash (conocido como resumen hash o hash) de dos módulos cualesquiera produzca el mismo valor hash solo si los módulos son idénticos.

Medidas

Las mediciones pueden ser de código, estructuras de datos, configuración, información o cualquier elemento que pueda cargarse en la memoria. TCG exige que el código no se ejecute hasta que se haya medido. Para garantizar una secuencia específica de mediciones, las mediciones hash en una secuencia no se escriben en diferentes PCR, sino que un PCR se "extiende" con una medición. Esto significa que el TPM toma el valor actual del PCR y la medición que se va a extender, los combina mediante hash y reemplaza el contenido del PCR con ese resultado hash. El efecto es que la única forma de llegar a una medición específica en un PCR es extender exactamente las mismas mediciones en el mismo orden. Por lo tanto, si algún módulo que se está midiendo ha sido modificado, la medición del PCR resultante será diferente y, por lo tanto, es fácil detectar si algún código, configuración, dato, etc. que se haya medido ha sido alterado o corrompido. El mecanismo de extensión de PCR es crucial para establecer una Cadena de Confianza en las capas de software (véase más abajo).

Cadena de confianza

Esta tecnología admite tanto una cadena de confianza estática como una dinámica. La cadena de confianza estática se inicia al encender la plataforma (o reiniciarla), lo que restablece todos los PCR a su valor predeterminado. En las plataformas de servidor, la primera medición la realiza el hardware (es decir, el procesador) para medir un módulo firmado digitalmente (denominado Módulo de Código Autenticado o ACM) proporcionado por el fabricante del chipset . El procesador valida la firma y la integridad del módulo firmado antes de ejecutarlo. A continuación, el ACM mide el primer módulo de código BIOS, que puede realizar mediciones adicionales.

Las mediciones de los módulos de código ACM y BIOS se extienden a PCR0, que contiene la medición estática de la raíz de confianza del núcleo (CRTM), así como la medición de la base de computación confiable (TCB) de la BIOS. La BIOS mide componentes adicionales en los PCR de la siguiente manera:

  • PCR0 – CRTM , código BIOS y extensiones de la plataforma host [ a ]
  • PCR1 – Configuración de la plataforma host
  • PCR2 – Código ROM de opción
  • PCR3 – Configuración y datos de la ROM de opción
  • PCR4 – Código IPL (Cargador de Programa Inicial) (normalmente el Registro de Arranque Maestro – MBR)
  • PCR5 – Configuración y datos del código IPL (para uso del código IPL)
  • PCR6 – Transición de estado y eventos de estela
  • PCR7 – Control del fabricante de la plataforma host

La cadena de confianza dinámica comienza cuando el sistema operativo invoca una instrucción de seguridad especial, que restablece los PCR dinámicos (PCR17-22) a su valor predeterminado e inicia el lanzamiento medido. La primera medición dinámica la realiza el hardware (es decir, el procesador) para medir otro módulo firmado digitalmente (conocido como SINIT ACM), también proporcionado por el fabricante del chipset, cuya firma e integridad son verificadas por el procesador. Esto se conoce como Medición Dinámica de la Raíz de Confianza (DRTM).

A continuación, el SINIT ACM mide el primer módulo de código del sistema operativo (denominado entorno de lanzamiento medido – MLE). Antes de permitir la ejecución del MLE, el SINIT ACM verifica que la plataforma cumpla con los requisitos de la Política de Control de Lanzamiento (LCP) establecida por el propietario de la plataforma. La LCP consta de tres partes:

  1. Verificar que la versión de SINIT sea igual o posterior al valor especificado.
  2. Verificar que la configuración de la plataforma (PCONF) sea válida comparando los PCR0–7 con valores conocidos y correctos (el propietario de la plataforma decide qué PCR incluir).
  3. Verificar que el estimador de máxima verosimilitud (MLE) sea válido, comparando su medición con una lista de mediciones conocidas y fiables.

La integridad del LCP y sus listas de mediciones válidas conocidas están protegidas mediante el almacenamiento de una medición hash de la política en el TPM en una ubicación protegida no volátil que solo puede ser modificada por el propietario de la plataforma.

Ejecutar como un sistema operativo de confianza

Una vez que se satisface el LCP, el ACM SINIT permite que el MLE se ejecute como un sistema operativo de confianza al habilitar el acceso a registros de seguridad especiales y el acceso de nivel de localidad 2 del TPM. El MLE ahora puede realizar mediciones adicionales en los PCR dinámicos. Los PCR dinámicos contienen mediciones de:

  • PCR17 – Política de DRTM y control de lanzamientos
  • PCR18 – Código de inicio del sistema operativo de confianza (MLE)
  • PCR19 – Sistema operativo de confianza (por ejemplo, configuración del sistema operativo)
  • PCR20 – Sistema operativo de confianza (por ejemplo, núcleo del sistema operativo y otro código)
  • PCR21 – según lo define el Sistema Operativo Confiable
  • PCR22 – según lo define el Sistema Operativo Confiable

La tecnología también proporciona una forma más segura para que el sistema operativo inicialice la plataforma. A diferencia de la inicialización normal del procesador [que implicaba que el procesador de arranque (BSP) enviara una interrupción entre procesadores de inicio (SIPI) a cada procesador de aplicación, iniciando así cada procesador en "modo real" y luego pasando al "modo virtual" y finalmente al "modo protegido"], el sistema operativo evita esa vulnerabilidad realizando un lanzamiento seguro (también conocido como lanzamiento medido) que coloca a los procesadores de aplicación en un estado de suspensión especial desde el cual se inician directamente en modo protegido con paginación activada, y no se les permite salir de este estado. [ 3 ]

Solicitud

Los valores PCR están disponibles tanto localmente como de forma remota. Además, el TPM tiene la capacidad de firmar digitalmente los valores PCR (es decir, una cotización PCR) para que cualquier entidad pueda verificar que las mediciones provienen de un TPM y están protegidas por él, lo que permite la atestación remota para detectar manipulaciones, corrupción y software malicioso. Adicionalmente, estos valores se pueden usar para identificar el entorno de ejecución (la versión específica de la BIOS, el nivel del sistema operativo, la configuración, etc.) y compararlos con sus propias listas de valores válidos conocidos para categorizar aún más la plataforma. Esta capacidad de evaluar y asignar niveles de confianza a las plataformas se conoce como Trusted Compute Pools.

Algunos ejemplos de cómo se utilizan los grupos de computación de confianza:

  • Aislamiento: la capacidad de controlar si una plataforma se conecta a la red de producción o se pone en cuarentena en función de su nivel de confianza o de si no supera su política de control de lanzamiento.
  • Política basada en la confianza: como restringir que las aplicaciones críticas se ejecuten únicamente en plataformas que cumplan con un nivel de confianza específico.
  • Cumplimiento y auditoría: demostrar que los datos críticos, personales o sensibles solo se han procesado en plataformas que cumplen con los requisitos de confianza.

Numerosas plataformas de servidores incluyen Intel TXT, y la funcionalidad TXT es aprovechada por proveedores de software como HyTrust , PrivateCore , Citrix y VMware . Los proyectos de código abierto también utilizan la funcionalidad TXT; por ejemplo, tboot proporciona un sistema de integridad basado en TXT para el kernel de Linux y el hipervisor Xen . [ 4 ] [ 5 ]

Los PC con Windows 10 y enlace PCR7 tienen la capacidad de habilitar o deshabilitar el cifrado completo del dispositivo . [ 6 ]

Terminología

ACM
Módulo de código autenticado
CRTM
Medición de la raíz central de la confianza
DRTM
Medición dinámica de la raíz de confianza
LCP
Política de control de lanzamiento
MLE
Entorno de lanzamiento medido
PCR
Registros de configuración de la plataforma
TCB
Base de Computación Confiable
TCG
Grupo de Computación Confiable
TPM
Módulo de plataforma segura

Véase también

Notas

  1. CRTM es medido por el procesador y el código BIOS inicial es medido por el ACM (todas las demás mediciones las realiza el BIOS u otro código de firmware), pero solo después de que ese código haya sido medido.

Referencias

  1. "Usos de SHA-1 en TPM v1.2" . Trusted Computing Group. Archivado del original el 4 de marzo de 2016. Consultado el 14 de marzo de 2014 .
  2. "Preguntas frecuentes sobre la especificación de la biblioteca TPM 2.0" . Trusted Computing Group. Archivado del original el 19 de abril de 2016. Consultado el 14 de marzo de 2014 .
  3. "Capítulo 2.2: Lanzamiento de MLE". Guía de desarrollo de software de la tecnología de ejecución confiable de Intel (Intel® TXT) (PDF) . Intel. Archivado (PDF) del original el 26/12/2018 . Recuperado el 26/12/2018 .
  4. "tboot (Arranque seguro)" . sourceforge.net . 6 de octubre de 2014. Archivado del original el 29 de noviembre de 2014. Consultado el 16 de noviembre de 2014 .
  5. Joseph Cihula (28 de febrero de 2011). "Arranque confiable: Verificación del inicio de Xen" (PDF) . xenproject.org . Archivado del original (PDF) el 13 de octubre de 2016. Recuperado el 16 de noviembre de 2014 .
  6. "Windows 8.1 incluye cifrado de disco automático y sin interrupciones, si su PC lo admite" . Ars Technica . 17 de octubre de 2013. Archivado del original el 5 de julio de 2014. Consultado el 18 de octubre de 2013 .
  • "Ejecución confiable", Tecnología , Intel.
  • "Ejecución confiable", Tecnología (PDF) (descripción general), Intel.
  • "Ejecución confiable", Tecnología (PDF) (descripción general de la arquitectura), Intel.
  • Guía de desarrollo de software de la tecnología de ejecución confiable de Intel (PDF) , Intel.
  • "Virtualización", Tecnología , Intel.
  • Descripción general de Intel TXT , parte de la documentación del kernel de Linux , 1 de diciembre de 2014.
  • Gestión de la integridad mediante Intel TXT , LWN.net , 1 de abril de 2009, por Jake Edge
  • Ataque a la tecnología de ejecución confiable de Intel , Black Hat Briefings , febrero de 2009, por Rafal Wojtczuk y Joanna Rutkowska.
  • Tecnologías de computación confiable, Tecnología de ejecución confiable de Intel , Laboratorios Nacionales Sandia, enero de 2011, por Jeremy Daniel Wendt y Max Joseph Guise.