Peneliti keamanan Google telah menemukan kerentanan kritis dalam sistem keamanan microcode CPU AMD, yang memungkinkan kontrol penuh atas perilaku prosesor. Tim tersebut telah merilis Zentool, sebuah utilitas yang memungkinkan pengguna untuk menganalisis, memanipulasi, dan menghasilkan patch microcode untuk prosesor AMD Zen.
Kerentanan ini berasal dari penggunaan kunci contoh standar dari dokumentasi AES-CMAC RFC dalam proses penandatanganan microcode AMD. Kesalahan keamanan mendasar ini memungkinkan peneliti untuk melewati mekanisme perlindungan AMD dan membuat pembaruan microcode yang ditandatangani khusus yang diterima oleh prosesor sebagai sah.
Celah Keamanan
Masalah keamanan ini memengaruhi prosesor AMD Zen1 hingga Zen4, dengan status kerentanan Zen5 masih dalam penyelidikan. Menurut komentar dari para peneliti, kesalahan kritis AMD adalah menggunakan kunci contoh dari AES-CMAC RFC sebagai kunci penandatanganan aktual mereka. Kelalaian ini pada dasarnya merusak seluruh model keamanan yang melindungi microcode CPU.
Enkripsi/tanda tangan apa pun yang dapat dibobol dalam perangkat lunak pada perangkat keras yang terjangkau hanyalah: RUSAK.
Celah ini sangat mengkhawatirkan karena modifikasi microcode dapat melewati langkah-langkah keamanan mendasar. Dengan akses ke microcode, penyerang dengan hak istimewa kernel berpotensi mengakses memori fisik secara langsung, melewati pemeriksaan hak istimewa, dan membahayakan fitur keamanan seperti AMD Secure Encrypted Virtualization (SEV).
Fakta Penting Tentang Kerentanan Microcode AMD
- Perangkat Keras yang Terpengaruh: Prosesor AMD Zen1 hingga Zen4
- Kerentanan: Penggunaan kunci contoh AES-CMAC RFC untuk penandatanganan microcode
- Alat yang Dirilis: Zentool - Utilitas Manipulasi Microcode AMD Zen
- Mitigasi: AMD merilis perbaikan menggunakan fungsi hash aman khusus yang dipasangkan dengan pembaruan AMD Secure Processor
- Tim Peneliti: Tim Keamanan Perangkat Keras Google (Josh Eads, Matteo Rizzo, Kristoffer Janke, Eduardo Vela Nava, Tavis Ormandy, Sophie Schmiege, dan lainnya)
Kemampuan Zentool
Utilitas Zentool menyediakan kemampuan ekstensif untuk manipulasi microcode. Pengguna dapat memeriksa header microcode, memodifikasi nomor revisi, mengedit register yang cocok, dan bahkan menambal instruksi individual. Alat ini mencakup disassembler yang dapat menunjukkan operasi RISC internal (quads) yang membentuk microcode.
Salah satu fitur yang sangat kuat adalah kemampuan untuk menandatangani ulang microcode yang dimodifikasi, yang mengkompensasi perubahan dengan menghasilkan tanda tangan valid yang akan diterima CPU. Ini memungkinkan pengguna untuk memuat patch microcode kustom ke core CPU tertentu.
Implikasi dan Mitigasi
AMD telah merilis perbaikan yang memodifikasi rutinitas validasi microcode untuk menggunakan fungsi hash aman kustom. Ini dipasangkan dengan pembaruan AMD Secure Processor yang memastikan rutinitas validasi patch diperbarui sebelum core x86 dapat mencoba menginstal microcode yang dirusak.
Pakar keamanan dalam diskusi mencatat bahwa dampak kerentanan diperkuat oleh arsitektur keamanan firmware modern. Meskipun CPU tidak memiliki memori non-volatile (microcode direset ketika daya dimatikan), kemampuan untuk membahayakan flash sistem dapat memungkinkan kompromi permanen dan tidak dapat dipulihkan pada sistem yang terpengaruh.
Para peneliti berencana untuk memberikan detail tambahan dalam beberapa bulan mendatang tentang bagaimana mereka merekayasa balik proses pembaruan microcode, yang mengarah pada identifikasi algoritma validasi.
Pertimbangan Etis dan Hukum
Perilisan alat semacam itu telah memicu perdebatan tentang etika dan legalitas mempublikasikan alat kerentanan keamanan. Beberapa komentator membandingkannya dengan alat jailbreaking konsol, yang sering menghadapi takedown DMCA, sementara yang lain membela nilai akademis dan penelitian keamanan dari pekerjaan semacam itu.
Penelitian akademis sebelumnya tentang microcode CPU AMD K8 dan K10 disebutkan sebagai preseden, di mana peneliti membobol enkripsi (yang lebih seperti pengacakan) dan merilis alat tanpa konsekuensi hukum dari AMD.
Tim Keamanan Perangkat Keras Google di balik karya ini termasuk Josh Eads, Matteo Rizzo, Kristoffer Janke, Eduardo Vela Nava, Tavis Ormandy, Sophie Schmiege, dan lainnya. Karya mereka dibangun berdasarkan penelitian sebelumnya, termasuk makalah Reverse Engineering x86 Processor Microcode oleh Koppe et al. dari Ruhr-Universitat Bochum.
Referensi: Zentool -- AMD Zen Microcode Manipulation Utility