
Strumento di verifica delle vulnerabilità TPM per CVE-2018-6622. Questo strumento sarà pubblicato al Black Hat Asia 2019 e al 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" è un nuovo strumento di verifica delle vulnerabilità per il TPM discreto e il firmware TPM (Intel PTT). CVE-2018-6622 e una CVE sconosciuta sono correlate allo stato di sospensione S3 o alla sospensione dell'Advanced Configuration and Power Interface (ACPI). L'attaccante può sovvertire il TPM con la sospensione S3, e le funzionalità di attestazione remota e sigillo/scongelamento che utilizzano i Platform Configuration Registers (PCR) possono essere neutralizzate. Se desideri informazioni dettagliate su CVE-2018-6622 e sulla CVE sconosciuta, leggi il nostro articolo USENIX, A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping e la presentazione Black Hat Europe 2019 BitLeaker: Subverting BitLocker with One Vulnerability.
Napper e CVE-2018-6622 sono stati presentati nelle conferenze di sicurezza di seguito.
Una CVE sconosciuta relativa a Intel Platform Trust Technology (PTT) è stata presentata nelle conferenze di sicurezza di seguito.
Puoi guardare il video dimostrativo qui sotto.
Accogliamo sempre con favore i tuoi contributi. Il report di riepilogo di Napper che contribuisci renderà il mondo più sicuro.
Napper ha licenza GPL v2.
Trusted Platform Module (TPM) è un dispositivo resistente alle manomissioni progettato per fornire funzioni di sicurezza basate su hardware o firmware. Un chip TPM ha un generatore di numeri casuali, memoria non volatile, moduli di crittografia/decifratura e Platform Configuration Registers (PCR), che possono essere utilizzati per varie applicazioni di sicurezza come BitLocker, DM-Crypt, Trusted Boot (tboot) e Open Cloud Integrity Technology (Open CIT).
Il TPM è stato ampiamente distribuito nei dispositivi commerciali per fornire una solida base per la costruzione di piattaforme affidabili, specialmente nei dispositivi utilizzati nei sistemi aziendali e governativi. Poiché il TPM è il punto critico nella piattaforma affidabile, molti ricercatori hanno cercato di trovare vulnerabilità nel TPM e hanno concluso che è difficile violarlo senza accesso fisico. Tuttavia, questo non è più vero.
Le vulnerabilità che abbiamo trovato possono sovvertire il TPM con Advanced Configuration and Power Interface (ACPI). L'ACPI in PC, laptop e server fornisce sei stati di sospensione (S0-S5) per ridurre il consumo energetico. Quando il sistema entra nello stato di sospensione, CPU, dispositivi e RAM vengono spenti. Poiché il sistema spegne i componenti inclusi i dispositivi di sicurezza, dovrebbe reinizializzarli durante il risveglio e questo potrebbe rappresentare la superficie d'attacco. Abbiamo trovato vulnerabilità su questa superficie d'attacco senza accesso fisico.
Per mitigare le vulnerabilità, presentiamo anche contromisure e un nuovo strumento, "Napper", per verificare le vulnerabilità del TPM. Napper è un dispositivo USB avviabile basato su Linux, e contiene un modulo kernel e un software di verifica delle vulnerabilità. Quando avvii un sistema con Napper, fa fare un pisolino al tuo sistema per verificare le vulnerabilità e riferirti il risultato.
Napper è composto da un modulo kernel speciale e strumenti tpm2 personalizzati. Napper è basato su Ubuntu 18.04, e lo abbiamo personalizzato e adattato per creare un'immagine Live CD. Se vuoi solo verificare la vulnerabilità TPM e trovare un modo semplice per farlo, passa alla Sezione 3.1 e usa l'immagine Napper Live CD con la tua memoria USB. Napper Live CD contiene non solo uno strumento binario ma anche il codice sorgente completo di Napper. Se stai usando Ubuntu 18.04 ora e vuoi costruire Napper da zero, passa alla Sezione 3.2 e costruiscilo.
Le immagini Napper Live CD sono nella pagina delle release del progetto Napper.
Se stai usando il sistema operativo Microsoft Windows, usa Win32 Disk Imager e scrivi l'immagine Napper Live CD sulla tua memoria USB.
Se stai usando Linux o Mac OS X, usa un comando dd qui sotto.```
$> sudo dd if=Napper-LiveCD.iso of=/dev/sdX bs=4096 $> sync
### 3.1.3. Riavvia il sistema con la tua memoria USB ed esegui Napper
Se colleghi la tua memoria USB e modifichi la sequenza di avvio per avviare da essa, puoi vedere il menu di avvio di Napper qui sotto e avviare il Live CD di Napper selezionando la prima opzione.
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/525cb00d8f948ccc1653bd4fd08c8baf293615ad80ec52082b6c04efe7484f57.png" alt="napper_boot_menu"/> </center>
Dopo la sequenza di avvio, puoi vedere il file README.txt sul desktop e l'icona dello strumento Napper sulla barra delle applicazioni a sinistra. Per controllare il tuo sistema, fai clic sull'icona superiore della barra delle applicazioni e digita `napper` come password. L'`ID` e la `password` dello strumento Napper sono impostati su `napper`. Mentre Napper testa il tuo sistema, metterà il sistema in sospensione e lo riattiverà. Pertanto, devi premere un tasto sulla tastiera per riattivare il sistema dallo stato di sospensione ACPI S3.
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/50fdb76d396e32fe811b7f9e23849fd4b66fccee5c4325b5f8c4f167938c51b2.png" alt="napper_run"/> </center>