Kerentanan dalam implementasi referensi TPM 2.0 yang memungkinkan akses ke data di cryptochip

Dalam kode dengan implementasi referensi spesifikasi TPM 2.0 (Trusted Platform Module), kerentanan diidentifikasi (CVE-2023-1017, CVE-2023-1018) yang menyebabkan penulisan atau pembacaan data di luar batas buffer yang dialokasikan. Serangan terhadap implementasi kriptoprosesor menggunakan kode yang rentan dapat mengakibatkan ekstraksi atau penimpaan informasi yang tersimpan di dalam chip seperti kunci kriptografi. Kemampuan untuk menimpa data dalam firmware TPM dapat digunakan oleh penyerang untuk mengatur eksekusi kodenya dalam konteks TPM, yang, misalnya, dapat digunakan untuk mengimplementasikan pintu belakang yang beroperasi di sisi TPM dan tidak terdeteksi. oleh sistem operasi.

Kerentanan ini disebabkan oleh kesalahan verifikasi ukuran parameter fungsi CryptParameterDecryption(), yang memungkinkan dua byte ditulis atau dibaca di luar batas buffer yang diteruskan ke fungsi ExecuteCommand() dan berisi perintah TPM2.0. Tergantung pada implementasi firmware, dua byte yang ditimpa dapat merusak memori dan data atau pointer yang tidak terpakai di tumpukan.

Kerentanan dieksploitasi dengan mengirimkan perintah yang dirancang khusus ke modul TPM (penyerang harus memiliki akses ke antarmuka TPM). Masalah ini diselesaikan dalam pembaruan spesifikasi TPM 2.0 yang dirilis pada bulan Januari (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Pustaka terbuka libtpms, yang digunakan untuk emulasi perangkat lunak modul TPM dan integrasi dukungan TPM ke dalam hypervisor, juga rentan. Kerentanan telah diperbaiki pada rilis libtpms 0.9.6.

Sumber: opennet.ru

Tambah komentar