Bendera telah
muncul di kernel Linux yang menonaktifkan perlindungan terhadap kerentanan Specter v4 di semua proses anak yang berjalan di server. Lebih lanjut tentang parameter baru - di bawah potongan.
/ Flickr / Rie H / CC BY / Foto berubahMengapa Anda perlu menonaktifkan perlindungan
Kelompok kerentanan prosesor Specter pertama kali dikenal pada awal 2018, dan selama bulan-bulan berikutnya keluarga ini diisi dengan "lubang keamanan" baru. Kerentanan terkait dengan pengoperasian sistem yang meningkatkan kinerja prosesor - penulisan dan pembacaan
spekulatif dan
transisi transisi - dan
memungkinkan penyerang untuk mem-bypass mekanisme isolasi memori dalam prosesor dari Intel dan AMD.
Untuk menutup kerentanan, pengembang sistem operasi mengeluarkan tambalan, tetapi menginstalnya sering menyebabkan penurunan kecepatan server. Misalnya, pada mesin Linux, beberapa patch Spectre
mengurangi kinerja hingga 30-50%.
Administrator sistem tidak puas dengan masalah, terutama di pusat data besar. Mereka mulai meminta pengembang kernel Linux untuk secara selektif menonaktifkan perlindungan Specter. Beberapa kerentanan yang ditemukan hanya bersifat teoretis, dan dalam sejumlah sistem mereka pada dasarnya tidak dapat membahayakan. Misalnya, membuat pertanian dan superkomputer offline terputus dari Internet, sehingga mereka
tidak takut dengan suntikan kode berbahaya.
Tim Linux bertemu dengan para pengguna dan memperkenalkan beberapa fungsi yang menonaktifkan perlindungan terhadap kerentanan Specter v1, v2 (kita akan berbicara lebih banyak tentang mereka nanti) dan v4. Yang terakhir diperkenalkan pada awal Februari untuk semua versi kernel saat ini - ini adalah flag baru PR_SPEC_DISABLE_NOEXEC.
Apa dan mengapa menonaktifkan fungsi
Kerentanan Spectre v4 disebut Bypass Store Spekulatif. Hal ini memungkinkan malware untuk mengakses hasil komputasi spekulatif yang sebelumnya dibuang oleh prosesor sebagai tidak perlu.
Situasi ini terjadi ketika CPU bergantian membaca dan menulis menggunakan pengalamatan tidak langsung. Membaca terjadi lebih sering daripada menulis, dan prosesor dapat menggunakan data dari memori untuk menentukan alamat baca tanpa menunggu perhitungan offset dari pengalamatan tidak langsung. Jika, setelah menghitung offset, persimpangan area memori untuk menulis dan membaca terdeteksi (yaitu, pembacaan dilakukan dari area yang salah), maka operasi kedua dilakukan lagi, dan hasil spekulatifnya dibuang.
Secara teori, ternyata jika penyerang mengetahui alamat dan struktur sel memori, ia dapat mengekstrak data dari mereka, seperti kunci enkripsi.
Patch untuk Specter v4 muncul di kernel Linux beberapa hari setelah publikasi informasi tentang kerentanan - secara default
mematikan fungsi
disambiguasi memori , yang memungkinkan eksekusi perintah yang luar biasa. Tetapi ini
memperlambat operasi I / O prosesor sebesar 10–40%.
/ Flickr / Rie H / CC BY-SADan pada awal Juni 2018, rilis kernel 4.17 memungkinkan untuk menonaktifkan perlindungan ini. Ada satu masalah: parameter tidak diteruskan dari induk ke proses anak. Bagi mereka, perlindungan harus dinonaktifkan secara manual, yang menyebabkan ketidaknyamanan bagi administrator sistem. Tetapi pada awal Februari, pengembang kernel menerapkan flag
PR_SPEC_DISABLE_NOEXEC . Ini melengkapi fungsi sebelumnya dan menyalin mode operasi tambalan dari Specter v4 dari proses induk ke yang anak. PR_SPEC_DISABLE_NOEXEC adalah bagian dari prctl, dan Anda dapat mengaktifkannya saat memulai proses baru apa pun.
Apa kata para ahli
Di milis pengembang kernel Linux, pengenalan bendera baru
ditulis oleh Waiman Long of Red Hat. Menurutnya, perlindungan dari Specter v4 secara signifikan mempengaruhi kinerja aplikasi yang melakukan banyak operasi penulisan, seperti basis data. PR_SPEC_DISABLE_NOEXEC akan membantu mengotomatiskan pemeriksaan untuk menonaktifkan patch dan mempercepat server dengan sejumlah besar proses yang berjalan secara bersamaan.
Pada saat yang sama, peserta dalam komunitas TI mencatat bahwa dalam situasi tertentu, penanganan bendera baru yang tidak hati-hati
dapat menyebabkan konsekuensi yang tidak menyenangkan.
"Perlu dicatat bahwa di beberapa lingkungan tidak aman untuk menonaktifkan perlindungan dari Specter v4," kata Sergey Belkin, kepala departemen pengembangan penyedia IaaS 1cloud.ru . - Ini termasuk, misalnya, layanan web menggunakan Java dan JavaScript. Pengungkapan konten proses kontrol oleh kode yang dikelola dapat berakibat fatal bagi keamanan aplikasi. "
Tentang patch Spectre lainnya di kernel Linux
Selain bendera PR_SPEC_DISABLE_NOEXEC, kernel Linux memiliki parameter lain yang menonaktifkan perlindungan Specter.
Yang pertama adalah
nospectre_v2 . Fungsi menonaktifkan perlindungan dari Specter v2, yang memungkinkan penyerang
menggunakan blok prediksi transisi untuk "memaksa" prosesor untuk secara spekulatif melakukan operasi dalam modul memori tertentu. Untuk perlindungan, tambalan
menonaktifkan fungsi prediksi transisi secara tidak langsung dan mencegah transfer informasi yang diterima antara utas dalam inti CPU yang sama.
Menonaktifkan perlindungan menyebabkan peningkatan kinerja prosesor sebesar 30% - ini adalah
penurunannya setelah memasang patch dari Specter v2. Bahkan pencipta Linux, Linus Torvalds, mendukung fitur baru ini. Menurutnya, kerentanan hanya mengancam prosesor dengan fungsi
SMT , dalam hal ini akan lebih menguntungkan untuk menonaktifkannya.
Parameter kedua -
nospectre_v1 - menonaktifkan perlindungan dari opsi Spectre pertama. Dengan bantuan malware, peretas dapat menyebabkan prosesor memprediksi hasil transisi bersyarat yang salah dan membuang hasil perhitungan spekulatif di area memori yang diperlukan peretas. Meskipun tambalan dari v1 tidak secara signifikan mempengaruhi kinerja (menurut beberapa
laporan , pengurangan kecepatan prosesor dapat sepenuhnya diabaikan), para pengembang
diminta untuk menambahkan kemampuan untuk menonaktifkan perlindungan ini ke kernel. Ini memungkinkan kami untuk menyederhanakan struktur jaringan yang terisolasi dari akses eksternal.
Komunitas kernel Linux tetap setia pada gagasan pilihan bebas yang
ditetapkan Linus Torvalds di awal: pengguna sendiri bertanggung jawab untuk menyeimbangkan keamanan dan kinerja sistem Linux. Oleh karena itu, sangat layak untuk mengharapkan bahwa setelah deteksi kerentanan baru yang mirip dengan Specter di kernel, baik tambalan dan kemampuan untuk menonaktifkannya akan muncul.
Posting dari blog perusahaan kami: