Bagaimana cara menonaktifkan Page Table Isolasi untuk mendapatkan kembali kinerja yang hilang karena patch lubang keamanan CPU Intel?

43

Karena masalah lubang keamanan CPU Intel saat ini, ada tambalan yang diharapkan yang memperlambat kinerja sistem.

Bagaimana saya bisa memastikan bahwa tambalan ini tidak akan diinstal pada sistem Ubuntu saya?

mahrens61
sumber
49
Anda dapat meningkatkan kinerja sistem Anda lebih jauh dengan menonaktifkan berbagai mekanisme keamanan lainnya. Tidak, itu bukan rekomendasi.
scai
11
Jika kinerja penting bagi Anda, saya sarankan Anda membangun sendiri kandidat pelepas kernel baru dan menguji kehilangan kinerja pada beban kerja Anda. Anda mungkin menemukan biaya overhead diabaikan atau dapat ditoleransi.
Jeffrey Bosboom
5
Saya tidak bisa melebih-lebihkan betapa buruknya ide ini.
Alexander
13
Saya akan berbeda pendapat. Secara pribadi saya tidak akan menyarankan menonaktifkan fitur keamanan, tetapi, bagi pengguna yang melihat kinerja hit menonaktifkan pti mungkin merupakan opsi yang masuk akal mengingat betapa sulitnya untuk memanfaatkan serangan terhadap lubang keamanan khusus ini dan nilai komputer / data target. Pertanyaannya adalah bagaimana cara menonaktifkan opsi ini tidak harus saya menonaktifkan opsi ini.
Panther
2
Saya setuju, PTI adalah fitur keamanan yang dapat memiliki biaya yang tidak dapat diabaikan. Terserah OP untuk memutuskan apakah itu tepat untuk mereka dan di luar ruang lingkup pertanyaan ini.
Jake

Jawaban:

55

Patch (alias "isolasi tabel halaman") akan menjadi bagian dari pembaruan kernel normal (yang akan Anda dapatkan ketika Anda memperbarui sistem Anda). Namun, memperbarui kernel sangat dianjurkan, karena kernel ini juga mendapatkan banyak perbaikan keamanan lainnya. Jadi saya tidak akan merekomendasikan hanya menggunakan kernel yang sudah ketinggalan zaman tanpa perbaikan.

Namun, Anda dapat secara efektif menonaktifkan tambalan dengan menambahkan pti=off( tambalan kernel menambahkan opsi ini, dengan lebih banyak info ) ke baris perintah kernel Anda ( howto ). Perhatikan bahwa melakukan ini akan menghasilkan sistem yang kurang aman.

Ada lebih banyak info dan tes kinerja dengan PTI diaktifkan dan dinonaktifkan di milis PostgreSQL - TLDR adalah bahwa ia memiliki dampak kinerja antara 10 dan 30% (Untuk ProstgreSQL, yaitu - hal - hal lain seperti permainan mungkin akan melihat dampaknya lebih sedikit) .

Perhatikan bahwa ini hanya akan memengaruhi prosesor Intel, karena AMD tampaknya tidak terpengaruh ( reddit ), jadi ini dipastikan akan dinonaktifkan secara default pada AMD.

JonasCz - Pasang kembali Monica
sumber
2
"... ini diperkirakan akan dinonaktifkan secara default pada AMD." Apakah itu berarti bahwa akan ada versi kernel tambahan untuk sistem operasi Ubuntu yang berjalan pada mesin dengan CPU AMD yang disediakan oleh Canonical? :)
cl-netbox
16
Tidak, kernel mendeteksi (saat booting) cuaca sedang berjalan pada AMD AMD, dan menonaktifkan perbaikan jika itu. @ cl-netbox
Pasang kembali Monica
1
Menurut theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability, chip AMD dipengaruhi oleh setidaknya satu variasi serangan Spectre (branch target injection), sehingga mereka akan mendapatkan pembaruan kernel yang mungkin mempengaruhi kinerja minggu ini, juga, meskipun mereka tidak tunduk pada krisis yang tepat.
Dave Sherohman
1
Rupanya fitur ini dalam arsitektur x64, tetapi tidak di i386 / IA-32. karena ini, tambalan tidak mempengaruhi linux 32bit juga (keamanan / Kconfig membutuhkan X86_64 untuk mengaktifkan PAGE_TABLE_ISOLATION). yang membawa pertanyaan lain. bagaimana dengan mesin x64 dengan linux 32-bit yang diinstal, dapatkah ini terpengaruh? Jika demikian, bagaimana dengan mesin x64 tua yang dibatasi oleh bios hanya menjalankan instruksi 32bit (seperti netbook berbasis atom lama)? apakah mereka sedang duduk bebek?
thePiGrepper
2
Sampai saya tahu pasti ada serangan berbasis JavaScript yang saya rencanakan untuk menggunakan ini.
Joshua
35

Pembaruan: Masalah ini telah diberikan sepasang monikers: Meltdown dan Spectre . Saya telah memperbarui jawabannya dengan informasi baru.

Ini akan menjadi patch kernel pada awalnya. Itu akan muncul sebagai versi yang lebih tinggi. Itu akan diinstal karena Anda telah linux-image-genericmenginstal. Untuk itulah paket itu. Jadi Anda bisa menghapus linux-image-generic. Itu adalah ide yang mengerikan dan berbahaya , yang akan membuat Anda terpapar pada segala jenis kejahatan tetapi Anda bisa melakukannya. Ada mungkin juga menjadi CPU microcode yang mengikuti di linux-firmwareuntuk memperbaiki di-CPU. Itu benar-benar di Intel.

Metode yang Anda ikuti untuk memperbaiki ini tidak relevan. Anda meminta untuk memintas sesuatu di mana Anda tidak tahu dampak sebenarnya dari bug, atau biaya kinerja untuk memperbaikinya.

  • Bugnya jahat. CVE yang dilaporkan adalah pembacaan memori lintas proses. Setiap proses dapat membaca memori dari proses lainnya. Masukan, kata sandi, semuanya. Ini kemungkinan memiliki implikasi pada kotak pasir juga. Ini adalah hari yang sangat awal dan saya berharap orang untuk mendorong ini lebih jauh, baik dalam dampak dan akses.

  • Performa hit sepertinya tidak sebesar yang Anda khawatirkan. Angka-angka yang dilontarkan orang berfokus pada kinerja subsistem teoretis, atau kasus terburuk. Basis data yang di-cache tidak bagus adalah yang akan terkena dampak paling parah. Permainan, dan hal-hal sehari-hari sepertinya tidak akan berubah secara terukur.

Bahkan sekarang kita dapat melihat apa bug yang sebenarnya, masih terlalu dini untuk mengatakan apa dampaknya. Walaupun akses baca gratis ke RAM buruk, ada hal-hal buruk di luar sana. Saya juga akan menguji untuk melihat seberapa besar perbaikan sebenarnya berdampak pada Anda (dengan hal-hal yang Anda lakukan).

Jangan mulai pre-loading konfigurasi GRUB Anda dengan flag, atau menghapus paket meta Kernel dulu.

Oli
sumber
7
Yang perlu Anda lakukan adalah menambahkan pti=offke baris perintah kernel (dalam GRUB) untuk menonaktifkan tambalan.
JonasCz
3
@JonasCz komentar itu - jika benar, saya tidak tahu - sepertinya itu akan bernilai jawaban yang terpisah, terutama jika Anda dapat mendukungnya dengan referensi.
Byte Commander
IMHO nopti adalah pilihan yang lebih baik
Panther
3
@Oli Saya setuju dengan saran itu dan telah memberikannya di tempat lain. Dengan itu, pertanyaannya adalah bagaimana menonaktifkan fitur keamanan baru ini jika diinginkan, dan, IMO, nopti adalah opsi untuk melakukannya.
Panther
1
Ya itu telah memperlambat beberapa aktivitas sistem saya turun 99% saat menggunakan mesin virtual. Menyalin file dari host ke mesin virtual yang digunakan untuk mengambil 2-3 detik sekarang dibutuhkan lebih dari satu menit.
rboy
14

Meskipun saya tidak merekomendasikan ini, adalah mungkin untuk menonaktifkan PTI

dengan parameter baris perintah kernel nopti

menurut Phoronix .

Untuk melakukan hal ini, append noptike string di sebelah garis yang dimulai dengan GRUB_CMDLINE_LINUX_DEFAULTdi /etc/default/grubdan kemudian berjalan

sudo update-grub

diikuti oleh restart.

Lebih lanjut tentang parameter boot kernel untuk menonaktifkan fitur keamanan yang relevan dengan kinerja, lihat: Spectre & Meltdown MitigationControls di Ubuntu Wiki

nixpower
sumber
1
Apa perbedaan antara kernel boot params nopti dan pti = off ?
niutech
@niutech tidak ada perbedaan, untuk bukti Anda bisa lihat di sini
nixpower
wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown/… menjelaskan "nopti" dan lainnya ..
alfonx
3

Cara termudah: hapus centang pada konfigurasi kernel

-> Opsi keamanan

[] Hapus pemetaan kernel dalam mode pengguna

kemudian kompilasi kernel baru

Krzysztof Sk
sumber
1
Selamat Datang di Tanya Ubuntu! Dalam bentuknya yang sekarang, jawaban Anda tidak sebaik yang seharusnya. Bisakah Anda mengulas Cara Menulis Jawaban yang Baik , dan panduan Gaya untuk pertanyaan dan jawaban . - Dari Ulasan
J. Starnes
2
Sedihnya J. Starnes benar. Anda tidak lagi mengkompilasi kernel Anda sendiri kecuali sebagai upaya terakhir yang ekstrim.
Joshua
Itu adalah perubahan yang agak sepele untuk opsi kernel, tetapi, IMO noptimungkin merupakan pilihan yang lebih baik / lebih mudah.
Panther