Mengapa sistem umumnya menonaktifkan virtualisasi secara default di pengaturan BIOS?

81

Saya belum melihat sistem yang konfigurasi defaultnya memungkinkan MMU dan mengarahkan virtualisasi I / O. Seringkali ini mengharuskan reboot dan masuk ke BIOS untuk mengaktifkannya jika Anda ingin, misalnya, dukungan 64-bit pada VM Anda.

Apakah ada semacam overhead prosesor substansial yang terjadi jika ini diaktifkan dan Anda tidak menggunakan virtualisasi? Jika tidak, lalu apa alasannya mati secara default?

John Feminella
sumber

Jawaban:

52

Ada beberapa rootkit proof-of-concept seperti Blue Pill beberapa waktu lalu yang dapat memiliki sistem dengan VT aktif. Setelah penemuan ini, sebagian besar vendor mulai mengirim unit mereka dengan VT dinonaktifkan sebagai tindakan pencegahan keamanan umum.

MDMarra
sumber
7
+1 Orang yang menggunakan VT di desktop / laptop adalah pengecualian. Mesin yang rentan terhadap virii adalah aturannya.
Chris S
Saya tiba-tiba memiliki pemikiran kedua tentang mesin dev kuat baru mengkilap yang saya buat ini yang menjalankan banyak VM dengan virtualisasi perangkat keras diaktifkan. Saya tidak perlu virtualisasi, tetapi saya pikir itu akan menghemat waktu saya dalam jangka panjang tidak harus memperbaikinya setiap beberapa bulan. Seberapa besar masalah ini?
Paperjam
2
Hampir tidak ada (pada komentar ini). Blue Pill adalah bukti konsep. Saya tidak menyadari hal seperti ini di alam liar.
MDMarra
1
Berikut ini adalah evaluasi Microsoft terhadap masalah keamanan, termasuk rekomendasi untuk mematikan VT secara default pada sistem peran klien: msdn.microsoft.com/en-us/windows/hardware/gg463498.aspx
Jpsy
3
Kertas Microsoft tidak lagi tersedia di situs web mereka, tetapi Anda dapat membacanya di Internet Archive jika Anda mau.
Josh Kelley
5

Semua blade server yang kami beli memiliki virtualisasi diaktifkan secara default. Mungkin karena vendor kami telah membuat keputusan komersial untuk melakukannya untuk menghemat begitu banyak panggilan dukungan.

Itu tidak dinonaktifkan karena hit prosesor, tetapi tergantung pada apa yang digunakan untuk. Mungkin dinonaktifkan secara default, karena mengaktifkan fitur ini dapat memengaruhi akses periferal.

Sirch
sumber
4
Akses periferal apa yang dapat memengaruhi ini? Saya belum pernah mendengarnya sebelumnya.
MDMarra
Apakah Anda berbicara tentang VT-d ketika Anda menyebutkan akses perangkat?
Zoredache
Tidak, itu MMU ... Saya ingat seseorang mengoceh tentang hal itu baru-baru ini. Ada hubungannya dengan Rasberry Pi.
Sirch
2

Perhatikan bahwa menurut utas lain ini, tampaknya juga berdampak pada kinerja https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization-off

Tampaknya relevan bagi saya, karena set instruksi yang dikurangi lebih efisien. Saya tidak akan berpikir bahwa mengubah opsi BIOS dapat secara langsung memengaruhi ini.

Saya tidak tahu apakah dampaknya signifikan atau tidak, tetapi mengingat ini dan potensi keamanan yang cacat, memiliki fitur yang jarang digunakan dinonaktifkan secara default sepertinya pilihan yang baik bagi saya.

Balmipour
sumber
2
Sudut efisiensi dari jawaban yang ditautkan tidak masuk akal. Cache instruksi menyimpan instruksi dari program perangkat lunak. Jika program tidak menggunakan instruksi virtualisasi maka tidak ada efek pada cache itu. Selain itu tidak ada laporan bahwa ada unit eksekusi terpisah yang menangani virtualisasi atau bagian dari decoder instruksi yang dapat dilewati, jadi seharusnya tidak ada perbedaan efisiensi.
Nimrod
1

alasan lain adalah sebagian besar fungsi kernel pengguna (seperti gettimeofday) dipindahkan dalam VDSO.

terkadang di bawah virtualisasi jalur cepat ini tidak dapat diaktifkan.

jadi sistem tidak bisa:

dapatkan eksekusi cepat dari fungsi-fungsi ini

hindari peralihan yang mahal dari userland ke kernel dan kembali

Massimo
sumber
0

Selain masalah keamanan yang diangkat dalam jawaban @MDMarra, Anda harus mempertimbangkan dua poin tambahan:

  1. setiap fitur yang diaktifkan dan opsional memiliki kemungkinan kecil untuk memiliki beberapa interaksi yang tidak menyenangkan dan tidak terduga dengan fungsi lain, yang membutuhkan validasi tambahan. Vendor PC benci menghabiskan sumber daya untuk fitur yang jarang digunakan, dan virtualisasi sisi klien adalah salah satunya.

  2. Saya sangat curiga bahwa karena # 1, Intel firmware klien dasar / gumpalan BIOS telah menonaktifkan VT. Jadi, setiap vendor yang mengirimkan klien yang mendukung VT perlu menyesuaikan opsi itu saat menyiapkan firmware-nya.

Yang mengatakan, kita sekarang pada 2019; Saya melihat lebih banyak klien dengan VT diaktifkan secara default. Server adalah masalah yang sama sekali berbeda: Saya tidak hanya selalu menemukan VT diaktifkan, tetapi VT-d juga sering aktif.

shodanshok
sumber