
Herramienta de comprobación de vulnerabilidades de TPM para CVE-2018-6622. Esta herramienta se publicará en Black Hat Asia 2019 y Black Hat Europe 2019.
,----------------, ,---------,
,-----------------------, ," ,"|
," Napper v1.3 for TPM ," | ," ," |
+-----------------------+ | ," ," |
| .-----------------Z | | +---------+ |
| | Z | | | | -==----'| |
| | ︶ ︶ z | | | | | |
| | - | | |/----| ==== oo | |
| | | | | ,/| (((( | ,"
| `-----------------' |," .;'/ | (((( | ,"
+-----------------------+ ;; | | |,"
/_)______________(_/ //' | +---------+
___________________________/___ `,
/ oooooooooooooooo .o. oooo / \,"---------
/ ==ooooooooooooooo==.o. ooo= / ,`\--{-D) ,"
`-----------------------------' '----------"
Napper v1.3 for checking a TPM vulnerability, CVE-2018-6622 and unknown CVE
Project link: https://github.com/kkamagui/napper-for-tpm
Please contribute your summary report to the Napper project!
"Napper" es una nueva herramienta de comprobación de vulnerabilidades para el TPM discreto y el TPM de firmware (Intel PTT). CVE-2018-6622 y un CVE desconocido están relacionados con el estado de suspensión S3 o la suspensión de la Interfaz Avanzada de Configuración y Energía (ACPI). El atacante puede subvertir el TPM con la suspensión S3, y la atestación remota y las funciones de sellado/desellado que utilizan los Registros de Configuración de Plataforma (PCR) pueden ser neutralizadas. Si desea información detallada sobre CVE-2018-6622 y el CVE desconocido, lea nuestro artículo de USENIX, A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping y la presentación de Black Hat Europe 2019 BitLeaker: Subverting BitLocker with One Vulnerability.
Napper y CVE-2018-6622 se presentaron en las conferencias de seguridad que se indican a continuación.
Un CVE desconocido relacionado con Intel Platform Trust Technology (PTT) se presentó en las conferencias de seguridad que se indican a continuación.
Puede ver el video de demostración a continuación.
Siempre agradecemos sus contribuciones. El informe resumido de Napper que usted contribuya hará que el mundo sea seguro.
Napper tiene licencia GPL v2.
Trusted Platform Module (TPM) es un dispositivo resistente a manipulaciones y está diseñado para proporcionar funciones de seguridad basadas en hardware o firmware. Un chip TPM tiene un generador de números aleatorios, almacenamiento no volátil, módulos de cifrado/descifrado y Registros de Configuración de Plataforma (PCR), que pueden utilizarse para diversas aplicaciones de seguridad como BitLocker, DM-Crypt, Trusted Boot (tboot) y Open Cloud Integrity Technology (Open CIT).
El TPM se ha implementado ampliamente en dispositivos comerciales para proporcionar una base sólida para la construcción de plataformas de confianza, especialmente en dispositivos utilizados en sistemas empresariales y gubernamentales. Debido a que el TPM es el punto crítico en la plataforma de confianza, muchos investigadores han intentado encontrar vulnerabilidades en el TPM y han concluido que es difícil romperlo sin acceso físico. Sin embargo, esto ya no es cierto.
Las vulnerabilidades que encontramos pueden subvertir el TPM con la Interfaz Avanzada de Configuración y Energía (ACPI). La ACPI en PC, portátiles y servidores proporciona seis estados de suspensión (S0-S5) para reducir el consumo de energía. Cuando el sistema entra en el estado de suspensión, la CPU, los dispositivos y la RAM se apagan. Dado que el sistema apaga los componentes, incluidos los dispositivos de seguridad, debería reinicializarlos al despertar, y esto podría ser la superficie de ataque. Encontramos vulnerabilidades en esta superficie de ataque sin acceso físico.
Para mitigar las vulnerabilidades, también presentamos contramedidas y una nueva herramienta, "Napper", para comprobar las vulnerabilidades del TPM. Napper es un dispositivo USB de arranque basado en Linux, y tiene un módulo de kernel y un software de comprobación de vulnerabilidades. Cuando arranca un sistema con Napper, hace que su sistema tome una siesta para comprobar las vulnerabilidades y reportarle el resultado.
Napper consta de un módulo de kernel especial y herramientas tpm2 personalizadas. Napper se basa en Ubuntu 18.04, y lo personalizamos y adaptamos para crear una imagen Live CD. Si solo desea comprobar la vulnerabilidad del TPM y buscar una forma sencilla de hacerlo, pase a la Sección 3.1 y use la imagen Live CD de Napper con su almacenamiento USB. El Live CD de Napper no solo tiene una herramienta binaria, sino también el código fuente completo de Napper. Si está usando Ubuntu 18.04 ahora y desea compilar Napper desde cero, pase a la Sección 3.2 y compílelo.
Las imágenes Live CD de Napper están en la página de lanzamientos del proyecto Napper.
Si está usando el sistema operativo Microsoft Windows, use Win32 Disk Imager y escriba la imagen Live CD de Napper en su almacenamiento USB.
Si está usando Linux o Mac OS X, use el comando dd a continuación.```
$> sudo dd if=Napper-LiveCD.iso of=/dev/sdX bs=4096 $> sync
### 3.1.3. Reinicia tu sistema con tu almacenamiento USB y ejecuta Napper
Si conectas tu dispositivo de almacenamiento USB y cambias la secuencia de arranque para iniciar con él, verás el menú de arranque de Napper a continuación y podrás iniciar Napper Live CD seleccionando la primera opción.
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/525cb00d8f948ccc1653bd4fd08c8baf293615ad80ec52082b6c04efe7484f57.png" alt="napper_boot_menu"/> </center>