¿Qué impide que el cargador de arranque Intel TXT se altere maliciosamente?

9

Desde mi entendimiento de Intel TXT, la tecnología se puede usar para poner al procesador en un estado confiable donde se pueden realizar mediciones. Mi entendimiento se parece a esto, donde creo que TBoot se usa normalmente para lanzar SINIT. Sin embargo, no se llama a SINIT y al sistema operativo se cría en un estado misceláneo? ¿Es esta una verdadera amenaza de seguridad?

    
pregunta Nark 18.03.2014 - 12:56
fuente

1 respuesta

9

En pocas palabras, no.

Hay muchos problemas con este diagrama, así que empezaré por aclarar las cosas antes de hablar sobre tu pregunta.

SRTM ~ la parte izquierda de su diagrama

El diagrama propone que el módulo de CA mediría el procesador, lo cual no es correcto. El BIOS CRTM (Bios Boot Block) es ejecutado por la CPU y se usa para medir el firmware del BIOS. Luego, devolverá el resultado de la medición (hash SHA1) al TPM, no al BIOS. Posteriormente, la ejecución se pasa al firmware del BIOS. Lo mismo se hace para el siguiente elemento en el proceso de arranque. Consulte this para obtener más información.

DRTM ~ la parte derecha de su diagrama

De nuevo, se aplican los mismos comentarios. El módulo SINIT AC no mide el procesador. Una vez que se crea un entorno seguro contenido en la CPU, la firma del módulo se valida y su identidad se envía al TPM (PCR 17), luego mide el entorno de lanzamiento medido (MLE) y envía el resultado al TPM (PCR 18) .

Ambos están proporcionando lo mismo: un medio por el cual podemos medir el entorno de ejecución (es decir, la raíz de confianza para las mediciones). Técnicamente hablando, esto significa enviar mediciones en los Registros de configuración de plataforma (PCR) del TPM, principalmente PCR0 para SRTM y PCR17 para DRTM. Aún así, no hemos hecho nada con esas medidas.

Ok, ahora la pregunta.

En resumen, un usuario malintencionado siempre puede optar por no activar un lanzamiento tardío / DRTM (operación del remitente de TXT) pero el punto es que los PCR del TPM no tendrán los valores adecuados, por lo que algunos elementos (por ejemplo, las claves) no ser accesible Déjame explicarte:

En el caso de tboot boot loader , la Política de control de lanzamiento (almacenada en la NVRAM de TPM) define qué módulo MLE y SINIT se puede cargar (y opcionalmente BIOS, es decir, PCONF). Un restablecimiento de TXT se activa cuando la política no se cumple. El resultado de este reinicio es no poder realizar un inicio tardío hasta que se reinicie el sistema. No poder realizar un inicio tardío no impide que alguien use el sistema, no detiene el proceso de inicio o el sistema por sí solo. Sin embargo, sí evita que alguien acceda a la Localidad 2 del TPM. La localidad 2 es necesaria para extender la PCR 19-22 (y cualquier clave, NVRAM TPM y otros recursos vinculados a la localidad 2).

Lo que es importante entender aquí es que el lanzamiento tardío no está haciendo cumplir nada, simplemente proporciona un medio por el cual las mediciones se toman y almacenan en el TPM. Entonces y solo entonces podemos hacer cumplir diferentes acciones. P.ej. Si el objetivo es crear un cifrado de disco, el sistema operativo podría cifrarse con una clave sellada a PCR específicos (17-22) que coincidan con el sistema operativo deseado / confiable. Ahora, aquí está la parte importante: si no se ha cargado el entorno adecuado (por ejemplo, un usuario malintencionado cambió el cargador de arranque, no activó un inicio tardío), los valores de los PCR no coincidirán, por lo que la clave para descifrar el sistema operativo será inaccesible ( UNSEAL no funcionará).

En otras palabras, los valores de PCR reflejan el entorno en ejecución. La operación SEAL usa esos valores como claves para cifrar los datos. Si no se carga el entorno adecuado (los PCR son diferentes), el TPM no puede descifrar los datos (UNSEAL).

Es posible que desee consultar Anti-Evil-Mail de ITL .

Espero que esto sea más claro.

    
respondido por el northox 24.03.2014 - 16:15
fuente

Lea otras preguntas en las etiquetas