Kerentanan ini disebabkan oleh ciri pengoptimuman memori dalam pemproses Intel.
Sekali lagi, kelemahan telah ditemui dalam sistem pelaksanaan arahan spekulatif pemproses Intel, dan kali ini seorang penyelidik Google, mengumumkan bahawa dia mengenal pasti kelemahan baharu (sudah dikatalogkan di bawah CVE-2022 40982-), dipanggil «Downfall»
Kejatuhan, ialah kelemahan yang membenarkan penentuan kandungan XMM, YMM dan daftar vektor ZMM, sebelum ini digunakan oleh proses lain apabila melaksanakan arahan AVX pada teras CPU yang sama.
Mengenai Kejatuhan
Mengenai kelemahan, disebutkan bahawa penyerang yang tidak bernasib baik dengan keupayaan untuk menjalankan kod anda sendiri pada sistem, boleh menggunakan kelemahan untuk membocorkan data daripada proses pengguna lain, kernel sistem, enklaf Intel SGX terpencil dan mesin maya.
Daftar vektor boleh ditapis digunakan secara meluas dalam penyulitan, fungsi salinan memori dan pemprosesan rentetan, contohnya, daftar ini digunakan dalam perpustakaan Glibc dalam fungsi memcpy, strcmp dan strlen, antara lain. Dari sudut pandangan praktikal, kelemahan boleh dieksploitasi untuk menentukan data yang diproses dalam arahan AES-NI atau REP-MOVS (digunakan dalam fungsi memcpy) dalam proses lain, yang boleh membocorkan kunci penyulitan, data sensitif dan kata laluan pengguna.
Kerentanan muncul dalam pemproses Intel yang menyokong set arahan lanjutan AVX2 dan AVX-512 (bermakna ia memberi kesan kepada pemproses generasi ke-6 hingga ke-11), manakala pemproses Intel berdasarkan mikroarkitek Alder Lake, Raptor Lake dan Sapphire Rapids nampaknya tidak terjejas.
Seperti kerentanan Zenbleed yang ditemui baru-baru ini yang menjejaskan pemproses AMD Zen2, dalam Downfall, sebab kerentanan itu ialah kebocoran data daripada fail log, yang digunakan untuk berkongsi kandungan log merentas semua tugasan aplikasi pada teras CPU yang sama.
Kebocoran ini disebabkan oleh pemindahan data spekulatif semasa melaksanakan pernyataan GATHER, tersedia dalam sambungan AVX2 dan AVX-512, dan direka untuk menyediakan akses pantas kepada data yang berbeza dalam ingatan. Semasa pelaksanaan pernyataan GATHER, data lama dalam fail daftar digunakan dalam pelaksanaan spekulatif arahan bergantung. Data ini tidak ditunjukkan secara langsung dalam log perisian, tetapi boleh ditentukan menggunakan teknik serangan saluran sisi yang direka untuk serangan Meltdown, seperti menghuraikan data sisa dalam cache CPU.
Untuk mengeksploitasi Kejatuhan, satu teknik serangan telah dibangunkan dipanggil Persampelan Data Kumpul (GDS) dan prototaip eksploitasi telah diterbitkan untuk mengekstrak kunci kriptografi daripada proses pengguna lain, membocorkan data selepas ia disalin ke dalam kernel Linux oleh fungsi memcpy, dan memintas aksara bercetak yang ditinggalkan dalam daftar vektor selepas proses lain berfungsi. Sebagai contoh, ia menunjukkan keupayaan untuk menentukan kunci AES yang digunakan untuk menyulitkan data dalam proses pengguna lain menggunakan perpustakaan OpenSSL.
Kaedah menunjukkan kecekapan tinggi: dengan menjalankan eksperimen dengan 100 kekunci berbeza, 100% kekunci AES-128 dan 86% kekunci AES-256 ditentukan dengan tempoh setiap percubaan untuk menentukan tidak lebih daripada 10 saat. Dalam sistem awan, serangan boleh digunakan untuk menentukan data yang sedang diproses dalam mesin maya lain. Ada kemungkinan bahawa kelemahan itu boleh dieksploitasi dengan melaksanakan kod JavaScript dalam pelayar web.
Perlu disebutkan bahawa sayantel mengetahui masalah itu tahun lepas (tepatnya pada bulan Ogos) dan bahawa kelemahan itu hanya didedahkan kepada umum tahun ini di persidangan BlackHat USA. dan pembaikan untuk mengawal kerentanan sudah disertakan dalam pelbagai kemas kini kernel Linux dari versi 6.4.9 6.1.44 hingga 4.14.321.
Di samping itu, antara langkah-langkah yang mungkin untuk mengelakkan kesan negatif perlindungan terhadap kelemahan Downfall terhadap prestasi, disebutkan membuat perubahan dalam penyusun untuk melumpuhkan penggunaan pernyataan GATHER atau menambah pernyataan itu sejurus selepas GATHER LFENCE, yang melumpuhkan pelaksanaan preemptive bagi pernyataan berikutnya sebelum semua komitmen sebelumnya telah selesai.
Untuk sistem di mana pembetulan perisian tegar tidak tersedia, sokongan untuk semua sambungan AVX telah dilumpuhkan, manakala untuk bahagian kemas kini mikrokod Intel, ia juga menyediakan keupayaan untuk menggunakan antara muka MSR untuk melumpuhkan perlindungan perisian tegar secara terpilih dalam konteks proses individu.
Akhirnya, sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan berikut.