Kerentanan dalam firmware UEFI berdasarkan kerangka InsydeH2O, memungkinkan eksekusi kode di tingkat SMM

Dalam kerangka InsydeH2O, yang digunakan oleh banyak produsen untuk membuat firmware UEFI untuk peralatan mereka (implementasi UEFI BIOS yang paling umum), 23 kerentanan telah diidentifikasi yang memungkinkan kode dieksekusi pada tingkat SMM (Mode Manajemen Sistem), yang memiliki a prioritas lebih tinggi (Dering -2) daripada mode hypervisor dan cincin perlindungan nol, dan memiliki akses tak terbatas ke semua memori. Masalah ini mempengaruhi firmware UEFI yang digunakan oleh produsen seperti Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel dan Bull Atos.

Eksploitasi kerentanan memerlukan akses lokal dengan hak administrator, yang menjadikan masalah ini populer sebagai kerentanan tingkat kedua, yang digunakan setelah eksploitasi kerentanan lain dalam sistem atau penggunaan metode rekayasa sosial. Akses di tingkat SMM memungkinkan Anda untuk mengeksekusi kode pada tingkat yang tidak dikontrol oleh sistem operasi, yang dapat digunakan untuk memodifikasi firmware dan meninggalkan kode berbahaya atau rootkit tersembunyi di SPI Flash yang tidak terdeteksi oleh sistem operasi, serta untuk menonaktifkan verifikasi pada tahap boot (UEFI Secure Boot , Intel BootGuard) dan serangan terhadap hypervisor untuk melewati mekanisme pemeriksaan integritas lingkungan virtual.

Kerentanan dalam firmware UEFI berdasarkan kerangka InsydeH2O, memungkinkan eksekusi kode di tingkat SMM

Eksploitasi kerentanan dapat dilakukan dari sistem operasi menggunakan penangan SMI (System Management Interrupt) yang belum terverifikasi, serta pada tahap pra-eksekusi sistem operasi selama tahap awal booting atau kembali dari mode tidur. Semua kerentanan disebabkan oleh masalah memori dan dibagi menjadi tiga kategori:

  • SMM Callout - eksekusi kode Anda dengan hak SMM dengan mengarahkan eksekusi penangan interupsi SWSMI ke kode di luar SMRAM;
  • Kerusakan memori yang memungkinkan penyerang menulis datanya ke SMRAM, area memori terisolasi khusus tempat kode dieksekusi dengan hak SMM.
  • Kerusakan memori dalam kode yang berjalan pada tingkat DXE (Driver eXecution Environment).

Untuk mendemonstrasikan prinsip-prinsip pengorganisasian serangan, contoh eksploitasi telah diterbitkan, yang memungkinkan, melalui serangan dari cincin perlindungan ketiga atau nol, untuk mendapatkan akses ke DXE Runtime UEFI dan mengeksekusi kode Anda. Eksploitasi memanipulasi stack overflow (CVE-2021-42059) di driver UEFI DXE. Selama serangan, penyerang dapat menempatkan kodenya di driver DXE, yang tetap aktif setelah sistem operasi di-restart, atau membuat perubahan pada area NVRAM di SPI Flash. Selama eksekusi, kode penyerang dapat membuat perubahan pada area memori istimewa, memodifikasi layanan EFI Runtime, dan memengaruhi proses booting.

Sumber: opennet.ru

Tambah komentar