Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Comprendiendo el cifrado TPM con BitLocker y métodos de ataque


La investigación de un disco duro cifrado con BitLocker puede ser un desafío, especialmente si las claves de cifrado están protegidas por la protección de hardware de la computadora, el TPM. En este artículo, hablaremos sobre la protección que brindan los chips TPM a los volúmenes de BitLocker y analizaremos las vulnerabilidades que se encuentran en los módulos TPM actuales.



Protección TPM de BitLocker

La protección que brindan los chips TPM a los volúmenes de BitLocker y analizaremos las vulnerabilidades que se encuentran en los módulos TPM actuales.

¿Qué es TPM?

Trusted Platform Module (TPM) es un estándar para un criptoprocesador seguro, un microcontrolador dedicado diseñado para proteger el hardware a través de claves criptográficas integradas. A nivel físico, el TPM puede implementarse como un chip integrado, un módulo adicional que se puede instalar en una ranura de la placa base del escritorio o como un emulador virtual (la tecnología Intel PTT).

Ejemplos:

  • Fichas Infineon Optiga TPM:
  • Módulo TPM independiente para placas base Asus

La plataforma consta de un criptoprocesador seguro y una pequeña cantidad de memoria incorporada. Las principales funciones de TPM son la generación, almacenamiento y gestión segura de claves criptográficas; en particular, las claves de BitLocker. El sistema operativo debe proporcionar API para que los desarrolladores accedan al TPM y usa TPM para administrar las claves de cifrado.

Cuando los desarrolladores de Windows estaban diseñando el esquema de cifrado de disco, intentaron contrarrestar las siguientes amenazas:

  •     Iniciar sesión en la cuenta del usuario sin credenciales de autenticación válidas
  •     Mover el disco duro a un sistema diferente para su análisis
  •     Alterar la configuración de la computadora para obtener acceso a los datos
  •     Ejecutar un sistema operativo alternativo para obtener acceso a los datos

Sin embargo, la máxima prioridad era que la protección fuera lo más transparente y discreta posible para el usuario. Idealmente, el usuario nunca notaría el cifrado; este objetivo se ha logrado. Para aquellos que necesitan protección adicional contra amenazas adicionales, los desarrolladores permitieron especificar un código PIN previo al inicio o agregar otros tipos de protectores (por ejemplo, una tarjeta inteligente física o una unidad USB).

Cómo funciona BitLocker

BitLocker utiliza cifrado simétrico. De forma predeterminada, AES-128 se usa para cifrar datos en modo XTS (nuevo) o CBC (heredado-legacy). Los datos están encriptados con VMK (Volume Master Key), que a su vez se puede obtener de una de las siguientes formas:

  • Descifrado con la contraseña de cifrado del usuario, si este protector está habilitado para un volumen determinado.
  • Descifrado con una clave de recuperación. La clave de recuperación se genera automáticamente una vez que se habilita el cifrado por primera vez. Luego, la clave se almacena en un archivo, se carga en la cuenta de Microsoft del usuario o se guarda en Active Directory.
  •  Extraído del módulo TPM cuando se cumplen determinadas condiciones.

Así es como Bitlocker se comunica con TPM:

El principio básico de TPM es muy similar al blockchain. Durante el arranque, el sistema crea una cadena de confianza, que se almacena en los registros PCR (Platform Configuration Register).



Esto es lo que sucede cuando la computadora arranca:

  •  Encendido. SRTM (raíz de confianza estática para medidas) es el primer módulo de confianza que se carga. Este módulo se almacena en la ROM de la computadora y no se puede modificar. Una vulnerabilidad en este módulo rompe todo el esquema de protección, lo cual fue claramente demostrado por los desarrolladores del exploit checkm8 para dispositivos iOS. SRTM inserta el primer registro en la cadena de confianza calculando el valor hash del BIOS de la computadora. El hash se almacena en un registro de PCR.
  • Cargas UEFI BIOS. El BIOS analiza la configuración de la computadora, incluida la partición del disco duro, el MBR (Master Boot Record), el cargador de arranque y muchos otros parámetros, incluidas las sumas de comprobación de firmware de ciertos componentes (por ejemplo, lectores de huellas dactilares o lectores de tarjetas inteligentes). En particular, el valor del registro de PCR anterior se utiliza para calcular nuevos valores hash, lo que significa que cualquier modificación de un solo registro de PCR rompe toda la cadena.
  • Después de completar varios registros de PCR, BIOS carga el cargador de arranque desde el MBR. El cargador de arranque inserta algunos registros más.
  •  Finalmente, se inicia el kernel del sistema operativo. El núcleo sigue aumentando la cadena de confianza.

Como puede ver, una vez que finalmente se carga el sistema operativo, los registros de PCR contienen toda la cadena de confianza. Tenga en cuenta que el módulo TPM no permite modificar los registros de PCR; no se pueden alterar los registros existentes, solo agregar nuevos.

Así es como se ve todo:

Cifrado Bitlocker


Una vez que el usuario habilita BitLocker en un volumen de disco, Windows genera una clave maestra de volumen aleatorio (VMK), así como una clave de recuperación. Luego, la clave maestra se almacena en el módulo TOM; también está encriptado con la clave de recuperación. La VMK cifrada se guarda en el encabezado del disco. Una vez que se reinicia la computadora, sucede lo siguiente:

  •  Todos los registros de PCR se ponen a cero.
  •  El sistema sigue los pasos 1 a 4 descritos anteriormente.
  •  El kernel del sistema operativo intenta desbloquear el volumen cifrado y solicita la VMK del módulo TPM. El módulo TOM, a su vez, analiza la cadena de confianza comprobando los registros de PCR. Si la cadena de confianza está dañada, la VMK no se libera; el kernel del sistema operativo que muestra un mensaje solicitando al usuario que desbloquee el volumen con una clave de recuperación.

Como puede ver, si la computadora está apagada, la única forma de obtener el VMK es iniciando el sistema operativo original en su configuración original. La modificación de un solo componente activará la solicitud de clave de recuperación.

Omitiendo (bypassing) TPM


La mayoría de las veces, está analizando un sistema "frío". Si este es el caso, asegúrese de capturar la imagen del disco antes que todo lo demás. Puedes utilizar Elcomsoft System Recovery para hacer eso. Antes de tomar la imagen, podrá ver la lista de particiones del disco junto con su configuración de cifrado. Si la herramienta informa que el disco está encriptado con BitLocker pero no se puede extraer el hash de la contraseña, tendrá que usar la clave de recuperación o intentar extraer la VMK de TPM.


Extracción de la clave maestra de volumen de la RAM


Si puede iniciar sesión en la computadora, puede intentar capturar su imagen de memoria. Al analizar la imagen de RAM con Elcomsoft Forensic Disk Decryptor, es posible que pueda descubrir la clave maestra y descifrar el volumen sin ningún otro ataque. Sin embargo, esto no será posible si el usuario especificó un protector previo al arranque, como un código PIN adicional (TPM + PIN). Si intenta forzar el PIN, el TPM entrará en pánico y bloqueará el acceso a la clave de cifrado de forma permanente o durante un período de tiempo.

Si bien es posible que prefiera el análisis del sistema en vivo a capturar la clave de cifrado y descifrar la imagen del disco, el análisis fuera de línea es significativamente más sólido desde el punto de vista forense, incluso si requiere mucho trabajo.

Arranque en frío y ataques FireWire / Thunderbolt


El hecho de que TPM libere VMK en una etapa temprana permite un ataque bastante único a menudo llamado "ataque de arranque en frío". Este ataque se basa en el hecho de que los chips de memoria de la computadora retienen su contenido durante varios segundos después de apagarse. Sin embargo, si se enfrían a temperaturas bajo cero, los módulos retendrán los datos durante mucho más tiempo. Durante el ataque de arranque en frío, debe iniciar la computadora y esperar mientras se inicia el sistema. Para cuando la computadora presente el mensaje de inicio de sesión, el volumen de BitLocker ya estará montado y el VMK descifrado y almacenado en la RAM de la computadora. Luego, enfriaría los módulos de RAM con un spray refrigerante disponible comercialmente, quitaría inmediatamente los módulos, los instalaría en la computadora de prueba y arrancaría en una imagen de Linux con la extensión del kernel LiME. A continuación, puede volcar la imagen de la memoria y escanearla con Elcomsoft Forensic Disk Decryptor para las claves de cifrado de BitLocker.

Un ataque similar está disponible para sistemas más antiguos que ejecutan Windows 7 y Windows 8 si están equipados con un puerto FireWire o Thunderbolt o una ranura para tarjeta de PC. Si este es el caso, puedes intentar capturar el volcado de memoria con la infame herramienta Inception (sí, es "esa herramienta de Python"). Un volcado de memoria realizado con Inception se puede cargar en Elcomsoft Forensic Disk Decryptor y escanear en busca de la clave maestra. La VMK se puede utilizar para descifrar completamente la imagen del disco o montarla para un análisis más rápido.

Desafortunadamente, este método solo está disponible en sistemas más antiguos que ejecutan Windows 7 o Windows 8. Windows 8.1 ya corrige la vulnerabilidad al deshabilitar DMA a través de Thunderbolt cuando la computadora está inactiva o bloqueada.

El ataque del modo de sueño (Sleep Mode)


En 2018, los investigadores Seunghun Han, Wook Shin, Jun-Hyeok Park y HyoungChun Kim del Instituto de Investigación de Seguridad Nacional publicaron un artículo llamado A Bad Dream: Subverting Trusted Platform


Módulo mientras duerme (PDF). Cuando la computadora entra en el estado de suspensión de ahorro de energía, el TPM guarda sus registros de PCR en la NVRAM y los restaura cuando la computadora se activa. Los investigadores descubrieron que, en este breve momento, los registros de PCR pueden manipularse, leyendo la cadena de confianza o modificando su contenido. Los investigadores notificaron a los principales fabricantes de placas base como Intel, Lenovo, Gigabyte, Dell y hp, quienes a su vez corrigieron la vulnerabilidad en las actualizaciones de BIOS. Sin embargo, dado que pocos usuarios instalan actualizaciones de BIOS, hay muchas computadoras que aún son vulnerables a esta vulnerabilidad.

Seunghun Han lanzó dos herramientas: Napper para TPM y Bitleaker. La primera herramienta se puede utilizar para probar el chip TPM de la computadora en busca de la vulnerabilidad "Bad Dream", mientras que la segunda herramienta es el exploit real que se puede ejecutar si el módulo TPM tiene la vulnerabilidad sin parchear.

La segunda herramienta requiere crear manualmente un Live CD con Ubuntu, compilar e instalar Bitleaker de acuerdo con el manual. Deberá deshabilitar el arranque seguro para ejecutar la herramienta. La forma alternativa sería firmar el cargador de arranque y el kernel modificados con su firma y agregar la clave pública al BIOS; esto, sin embargo, desafía el propósito ya que altera el contenido de los registros de PCR.

Interceptar señales de TPM


Los módulos TPM se conectan a la computadora a través del bus LPC (Low Pin Count). Este bus se utiliza para transportar datos entre dispositivos "lentos", como los puertos serie. Opera a la frecuencia de 33 MHz. Denis Andzakovic afirma que, de forma predeterminada, se puede acceder a las unidades de sistema operativo protegidas con BitLocker de Microsoft rastreando el bus LPC, recuperando la clave maestra de volumen cuando la devuelve el TPM y utilizando la VMK recuperada para descifrar la unidad protegida.

Para TPM 1.2, utilizó el analizador lógico DSLogic Plus con interfaz USB. Sin embargo, descubrió que estaba lejos de ser perfecto para rastrear el tráfico de TPM, ya que tenía que resolver problemas de sincronización e incluso parchear el firmware. Sin embargo, pudo extraer con éxito el VMK del módulo TPM.

Snifear TPM 2.0 fue mucho más fácil con un FPGA Lattice ICEStick barato y un firmware especial diseñado para detectar módulos TPM.


Todo lo que tenía que hacer era soldar los pines, habilitar el rastreador y obtener la llave maestra. Más sobre eso en el artículo original de Denis. Tenga en cuenta que las placas base de escritorio con chips TPM adicionales son incluso más fáciles de detectar sin necesidad de soldaduras.

Este método funciona en la configuración predeterminada de BitLocker. Si el usuario habilita la autenticación previa al arranque con un código PIN, se requerirá el código PIN para que TPM libere la VMK. Este método no funcionará para Intel PTT ya que no hay acceso físico a la interfaz del módulo.

Conclusión


Combinado con TPM, BitLocker permite una protección segura contra el acceso no autorizado. A pesar de que el chip TPM en sí mismo no realiza el cifrado, obtener acceso a la clave de cifrado no es una tarea fácil. Una serie de métodos que se pueden utilizar para extraer las claves de cifrado del módulo TPM.

Fuente:

https://blog.elcomsoft.com/2021/01/understanding-bitlocker-tpm-protection/


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.