Beberapa minggu yang lalu kami berbagi berita tentang Kerentanan EntrySign yang memungkinkan untuk menghindari mekanisme verifikasi tanda tangan digital selama pembaruan mikrokode pada prosesor AMD.
Apa Awalnya ini tampak seperti bug yang terbatas pada generasi Zen 1 hingga Zen 4, Kini hal ini berlaku pada chip terkini seperti Ryzen 9000, EPYC 9005, Ryzen AI 300, dan Ryzen 9000HX. Kelemahan ini memungkinkan, dalam kondisi tertentu, mikro kode CPU dimodifikasi dengan melewati mekanisme verifikasi tanda tangan digital, dengan implikasi serius bagi keamanan sistem virtual.
Akar masalahnya itu di penggunaan algoritma CMAC yang tidak tepat selama proses validasi mikrokode. AMD secara tradisional menggunakan kunci RSA pribadi untuk menandatangani konten pembaruan ini secara digital, dan kunci publik disertakan dalam patch untuk memverifikasi keaslian mikrokode pada saat memuat. Namun, hash kunci publik yang seharusnya menjamin integritas ini dibuat menggunakan AES-CMAC, MAC kriptografi yang, tidak seperti fungsi hash yang kuat, tidak memberikan jaminan terhadap tabrakan.
Desain ini, ditambah dengan fakta bahwa AMD telah menggunakan kunci enkripsi umum untuk semua CPU Anda sejak Zen 1, telah memungkinkan peneliti untuk mengekstrak kunci dari prosesor yang terpengaruh dan menggunakannya kembali untuk memanipulasi patch mikrokode pada komputer lain. Anehnya, kunci ini cocok dengan contoh publik praktik enkripsi NIST SP 800-38B, yang menunjukkan penggunaan praktik kriptografi yang baik secara ceroboh.
Mikrokode palsu, tanda tangan yang valid
Dari kelemahan ini, Para peneliti berhasil membuat kunci publik yang menghasilkan hash yang sama dengan kunci asli AMD., yang mereka memungkinkan pembuatan patch palsu yang mampu melewati kontrol integritas. Tabrakan ini terjadi dengan memasukkan blok tambahan di akhir mikro kode, yang tampak acak tetapi dihitung dengan cermat, sehingga tanda tangan digital tetap utuh. Dengan cara ini, perilaku internal prosesor dapat diubah tanpa memicu mekanisme peringatan.
Proses ini difasilitasi oleh alat analisis seperti Zentool, seperangkat utilitas sumber terbuka yang memungkinkan Anda mempelajari mikrokode AMD dan menyiapkan patch yang dimodifikasi. Agar jenis serangan ini dapat terlaksana, penyerang harus memiliki hak istimewa Ring 0, yaitu akses ke level tertinggi sistem operasi, yang dapat dilakukan dalam lingkungan tervirtualisasi jika hypervisor disusupi atau melalui konfigurasi teknologi yang tidak aman seperti VT-x atau AMD-V.
Dampak pada AMD SEV dan Virtualisasi Aman
Di luar manipulasi mikrokode, EntrySign menimbulkan ancaman langsung terhadap AMD SEV (Secure Encrypted Virtualization) dan ekstensinya SEV-SNP (Secure Nested Paging), teknologi yang dirancang untuk memastikan integritas dan kerahasiaan mesin virtual bahkan dalam menghadapi serangan dari hypervisor atau sistem host. Kerentanan ini memungkinkan terjadinya gangguan pada register prosesor yang dilindungi, modifikasi tabel halaman bersarang, dan perubahan perilaku sistem tamu, sehingga membahayakan keamanannya pada tingkat yang sangat dalam.
Tanggapan dan Langkah Mitigasi AMD
Dalam situasi ini, AMD telah mulai mendistribusikan pembaruan mikrokode yang memperbaiki bug tersebut.atau, meskipun pada sistem yang menggunakan SEV-SNP juga perlu memperbarui firmware modul SEV, yang memerlukan pembaruan BIOS. Perusahaan telah mengirimkan paket baru ke produsen disebut ComboAM5PI 1.2.0.3c AGESA, tetapi diperkirakan patch final bisa memakan waktu berminggu-minggu atau bahkan berbulan-bulan untuk tersedia bagi pengguna akhir.
Selain itu, Insinyur AMD telah mengusulkan patch untuk kernel Linux yang memblokir pemuatan mikrokode. tidak resmi. Tindakan ini bertujuan untuk mencegah penyebaran patch yang dimodifikasi pihak ketiga, seperti yang dibuat oleh penggemar dari fragmen BIOS yang diekstraksi. Sementara itu, sangat disarankan untuk menunggu pembaruan BIOS resmi dan tidak menginstal versi yang belum terverifikasi.
Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya di link berikut.