- Dengan menggunakan logic analyzer murah, enkripsi disk penuh BitLocker dapat dilewati pada komputer yang dilengkapi chip TPM terpisah.
- BitLocker terlebih dahulu membuat FVEK (Full Volume Encryption Key), lalu mengenkripsinya dengan VMK (Volume Master Key) dan menyimpannya di hard disk.
- Jika TPM diaktifkan, VMK disimpan di dalam TPM, dan saat boot sistem mengambil VMK dari TPM untuk mendekripsi hard disk.
- Namun, dalam proses pengambilan VMK tersebut, pesan dikirim dalam bentuk plaintext.
- Untuk mendekripsinya, perlu menangkap perintah SPI yang lalu-lalang antara CPU dan chip TPM dengan logic analyzer.
- Karena sangat sulit memasang logic analyzer langsung ke chip TPM itu sendiri, penangkapan sinyal dimulai dengan menghubungkannya ke chip lain yang berbagi bus SPI dengan TPM.
- Pertama, tangkap permintaan SPI yang mudah dikenali, lalu dekode TIS yang merepresentasikan komunikasi berdasarkan spesifikasi antarmuka TPM.
- Karena tidak ada cara mudah untuk mendekode TIS, prosesnya dilakukan secara manual hingga byte awal sinyal TPM dapat diketahui.
- Setelah itu, langkah berikutnya adalah menangkap perintah
TPM2_Unseal yang dijelaskan dalam spesifikasi TPM 2.0 untuk mengetahui kuncinya.
- Dengan byte yang ditemukan dari TIS, perintah TPM 2.0 dapat dicari, responsnya dipisahkan, lalu buffer dalam respons TPM diambil menggunakan alat seperti tpmstream-web.
- Setelah kuncinya diketahui, data di hard disk pun bisa diakses.
- Lepaskan hard disk dan hubungkan ke sistem lain, lalu telusuri file system terenkripsi dengan alat seperti dislocker.
- Buat system shell yang bisa digunakan di layar login dengan metode klasik mengganti program tertentu menjadi
cmd.exe.
- Karena sudah mendapatkan
cmd dengan hak administrator, apa pun bisa dilakukan.
- Kesimpulannya, keberadaan TPM fisik membuat BitLocker menjadi sangat rentan, sehingga fTPM yang sepenuhnya terintegrasi ke dalam CPU dan tidak memungkinkan serangan semacam ini lebih direkomendasikan.
- Jika ingin menggunakan BitLocker dengan aman pada sistem yang memiliki TPM fisik, perlu menetapkan PIN atau kata sandi.
1 komentar
Ini adalah postingan lain dengan topik yang sama.
Ternyata hanya BitLocker yang secara aneh tidak menggunakan sesi terenkripsi yang sudah disiapkan TPM untuk mencegah serangan man-in-the-middle seperti ini, sehingga masalah ini bisa terjadi.
Katanya, systemd tidak memiliki masalah ini saat menggunakan TPM dan enkripsi LUKS.
BitLocker ternyata jauh lebih rentan dalam kondisi tertentu daripada yang saya kira.
Padahal ini modul keamanan yang bahkan punya kata Trusted dalam namanya, jadi saya kira masalah seperti ini tidak akan ada...