Kerentanan prosesor Intel Meltdown saat ini sedang diatasi dengan mengaktifkan isolasi tabel halaman. Ada pertanyaan bagaimana cara mematikannya: Bagaimana menonaktifkan Page Table Isolasi untuk mendapatkan kembali kinerja yang hilang karena patch lubang keamanan CPU Intel?
Pertanyaan saya berlawanan: apakah ada cara untuk memeriksa sistem yang sedang berjalan apakah mekanisme PTI efektif pada sistem dan dengan demikian sistem dilindungi? Saya secara khusus mencari cat /proc/something
atau cat /sys/something
, tidak memeriksa versi kernel atau parameter konfigurasi atau sejenisnya.
Grepping CONFIG_PAGE_TABLE_ISOLATION dalam konfigurasi kernel seperti yang disarankan Raniz tidak membantu pada desktop Ubuntu, tetapi dapat membantu pada instance cloud:
Anda dapat memeriksanya
/proc/cpuinfo
seperti yang disarankan JonasCz :Atau dari
dmesg
(terima kasih kepada Jason Creighton ):Anda dapat mengkompilasi program uji dari Raphael Carvalho untuk deteksi Meltdown:
pada sistem yang ditambal itu harus diakhiri dengan output
Periksa dengan alat dari https://github.com/speed47/spectre-meltdown-checker :
Pada sistem yang ditambal itu harus menunjukkan yang berikut:
Jangan menginstal 4.4.0-108-generik di Xenial! Itu merusak fungsi boot / reboot / shutdown / menangguhkan !
Instal 4.4.0-109-generik ( lihat USN-3522-3 untuk detail)!
Seperti yang sudah ditulis Robie Basak , ada halaman tentang status kerentanan Specter dan Meltdown di Ubuntu .
Juga ada:
sumber
dmesg | grep isolation && echo "patched :)" || echo "unpatched :("
perintah sebagaimana tercantum tidak perlu berbahaya : tidak menunjukkan baris apa yang benar-benar cocok, dan juga akan dengan senang hati mencetak "tambalan :)" jika contoh acak "isolasi" lain dicocokkan .../proc/cpuinfo
for cpu_insecure). Jika Anda memasukkannya ke dalam skrip dan Anda memiliki CPU di masa depan di mana masalah diperbaiki dalam mikroarsitekturnya,/proc/cpuinfo
tidak akan lagi mengatakancpu_insecure
dan skrip Anda akan percaya bahwa kernel tidak berpasangan meskipun ditambal . Saya juga akan merekomendasikan terhadap saran ketiga, karena terlalu mungkin bahwa mungkin ada kataisolation
dalamdmesg
output di beberapa titik tanpa mengacu pada isolasi tabel halaman kernel.isolation
akan cocok dengan keduanyaKernel/User page tables isolation: enabled
danKernel/User page tables isolation: disabled on command line
.Jalankan perintah berikut:
Jika tampilannya diaktifkan, maka PTI diaktifkan. Jika tidak ada yang ditampilkan atau Anda melihat 'dinonaktifkan' di terminal, maka PTI dinonaktifkan. Ubuntu belum menerbitkan tambalan, sehingga tidak akan menampilkan pesan apa pun.
sumber
dmesg
output. Lihat/var/log/kern.log*
apakah sudah cukup jauh untuk memiliki pesan booting. Ubuntu digunakan untuk merekamdmesg
keluaran waktu boot/var/log/dmesg
, tetapi tampaknya tidak melakukan itu lagi.dmesg: invalid option -- 'w'
.-H
juga tidak valid. Menghapus bendera bekerja dengan baik untuk saya, seperti dalam jawaban iniAnda dapat memeriksa
cat /proc/cpuinfo
, jika dilaporkancpu_insecure
dalam "bug", maka PTI diaktifkan.Jika kosong (atau hanya tidak mencantumkan
cpu_insecure
), maka kemungkinan besar Anda menjalankan kernel yang belum ditambal (Ubuntu belum), atau Anda memiliki prosesor AMD (yang hal ini tentunya tidak akan diaktifkan, karena mereka tidak rentan).Saat ini semua CPU diperlakukan sebagai rentan dalam kernel 4,15 terbaru.
sumber
cpu_insecure
untuk CPU x86 apa pun; 4.14.12 dan yang lebih baru hanya akan mengaturnya untuk CPU Intel (termasuk yang terlalu tua atau terlalu primitif untuk menjadi rentan. Keduanya akan mengaturnya bahkan jika KPTI dinonaktifkan.Saya menemukan skrip sh yang hebat ini untuk menguji kerentanan Meltdown / momok pada sistem Anda:
https://github.com/speed47/spectre-meltdown-checker
Script memeriksa sistem Anda ke Meltdown yang dikenal dan patch momok pada sistem Anda untuk memberi tahu Anda apakah kerentanan ini sekarang dikurangi oleh OS Anda
sumber
Anda dapat memeriksa /proc/config.gz untuk
CONFIG_PAGE_TABLE_ISOLATION=y
yang berarti bahwa kernel dikompilasi dengan KPTI.Ini ada di sistem Arch Linux yang saya tambal yang menjalankan 4.14.11-1:
sumber
/proc/
tidak diaktifkan secara default di kernel Ubuntu. Sebagai/boot/config-$( uname -r )
gantinya ( solusi yang kurang elegan) lebih baik dipahami .Pada contoh AWS Ubuntu 14.04.5 LTS EC2 saya, saya berlari
Seharusnya dikatakan:
Untuk pembaruan yang saya lakukan:
Saya pikir ini juga OK:
Untuk memeriksa versi kernel:
Harus 3.13.0-139 generik atau lebih baru.
sumber