Minggu lalu saya menulis tentang pengembang Linux yang mengevaluasi mitigasi keamanan “DOITM” baru untuk CPU Intel terbaru. Sementara biaya untuk menggunakan fungsionalitas Data Operand Independent Timing Mode (DOITM) saat ini minimal, setelah diskusi teknis Intel internal, sepertinya tambalan kernel Linux perlu dikerjakan ulang dengan fungsi ini tidak dimaksudkan untuk selalu diaktifkan.
Seperti yang dirangkum dalam artikel pengujian minggu lalu, prosesor Intel baru-baru ini dan yang akan datang tidak dijamin akan “waktu konstan” sehubungan dengan operan datanya kecuali tanda register khusus model khusus ditetapkan. Hal ini menimbulkan kekhawatiran terutama seputar kode kriptografi untuk Linux bahwa tidak ada lagi jaminan waktu yang konstan dan bahwa waktu eksekusi instruksi dapat bervariasi tergantung pada data yang dioperasikan. Eksekusi waktu yang konstan diperlukan untuk menghindari kemungkinan serangan saluran samping. Namun dalam mengaktifkan bendera Intel baru untuk memastikan waktu yang konstan, ia hadir dengan implikasi kinerja yang diakui.
Implikasi kinerja dengan prosesor generasi saat ini tidak terlalu signifikan, tetapi dokumentasi Intel menunjukkan hal itu dapat meningkat di masa mendatang. Dengan penanganan Linux dalam bentuknya saat ini adalah tentang selalu mengaktifkan Mode Pengaturan Waktu Independen Data Operand. Tapi sekarang Intel memperingatkan terhadap langkah seperti itu.
Posting milis kernel
New Linux dari para insinyur Intel telah menjelaskannya lebih lanjut. Posting ini mencatat bahwa setiap tambalan DOITM harus menunggu sebelum disebarluaskan:
Kami telah membicarakan hal ini di dalam Intel. Cukup dikatakan bahwa DOITM tidak dirancang untuk selalu dihidupkan. Jika perangkat lunak menyalakannya sepanjang waktu, itu tidak akan mencapai apa yang dirancang untuk dilakukannya.
Hal yang _paling_ mungkin terjadi adalah bahwa DOITM akan didefinisikan ulang menjadi cakupan yang jauh lebih terbatas. Arsitektur DOITM saat ini sangat luas, tetapi implementasinya memiliki efek yang jauh lebih terbatas. Ini berarti bahwa arsitekturnya mungkin dapat dibatasi dan masih cocok dengan perangkat keras yang ada saat ini. Itu murni spekulasi (ha!) di pihak saya.
Saya pikir kita harus menunda menggabungkan tambalan DOITM apa pun sampai debu mengendap. Sejauh yang saya tahu, tidak ada alasan praktis yang mendesak untuk menerapkan sesuatu yang mendesak. Posting lanjutan selanjutnya mencatat:
Itu dirancang dengan gagasan bahwa kode sensitif waktu dan * HANYA * sensitif waktu akan dibungkus dengan DOITM. Membungkus kode itu akan memungkinkan sistem lainnya beroperasi dengan aman dengan pengoptimalan baru yang mewah yang menunjukkan waktu yang bergantung pada data.
Tapi, pertama-tama, kode itu tidak dibungkus dengan API yang mendorong DOITM hari ini. Model itu berantakan dengan perangkat lunak saat ini pada implementasi DOITM saat ini.
Kedua, kami menganggap kernel secara umum cukup sensitif terhadap waktu sehingga kami menginginkan perilaku DOITM=1 di kernel.
Orang-orang perangkat lunak utama itu menyetel DOITM=1 setiap saat. Dampak dari itu adalah tidak ada yang akan menggunakan pengoptimalan baru yang mewah itu. Jika tidak ada yang bisa memanfaatkannya, silikon tidak boleh disia-siakan untuk itu sejak awal.
Pada dasarnya, DOITM dimaksudkan untuk membuka pintu untuk menambahkan pengoptimalan baru yang mewah. Ini adalah kegagalan jika tidak melakukan itu. Intel diharapkan memiliki lebih banyak informasi untuk dibagikan tentang masalah ini dalam beberapa hari mendatang, tetapi singkatnya, sepertinya tambalan kernel Linux yang diusulkan dari minggu lalu kemungkinan akan dibuang. / secara signifikan dikerjakan ulang sehingga mode ini tidak selalu aktif.
Itulah berita seputar Fitur Keamanan Intel “DOITM” Tidak Ditujukan Untuk Penggunaan Selalu Aktif, Patch Linux Akan Direvisi, semoga bermanfaat. Disadur dari Phoronix.com.