Kerentanan ing prosesor Intel sing nyebabake kebocoran data liwat saluran pihak katelu

Klompok peneliti saka universitas Cina lan Amerika wis nemtokake kerentanan anyar ing prosesor Intel sing ndadΓ©kakΓ© kebocoran informasi pihak katelu babagan asil operasi spekulatif, sing bisa digunakake, contone, kanggo ngatur saluran komunikasi sing didhelikake antarane proses utawa ngenali bocor nalika serangan Meltdown.

Inti saka kerentanan yaiku owah-owahan ing daftar prosesor EFLAGS sing kedadeyan minangka asil saka eksekusi spekulatif instruksi mengaruhi wektu eksekusi instruksi JCC sabanjure (mlumpat nalika kondisi sing ditemtokake). Operasi spekulatif ora rampung lan asil dibuwak, nanging owah-owahan EFLAGS sing dibuwang bisa ditemtokake kanthi nganalisa wektu eksekusi instruksi JCC. Operasi mbandhingake sing ditindakake ing mode spekulatif sadurunge transisi, yen sukses, nyebabake wektu tundha cilik sing bisa diukur lan digunakake minangka tandha kanggo pilihan isi.

Kerentanan ing prosesor Intel sing nyebabake kebocoran data liwat saluran pihak katelu

Ora kaya serangan saluran sisih liyane sing padha, cara anyar ora nganalisa owah-owahan wektu akses menyang data sing di-cache lan ora di-cache lan ora mbutuhake tahapan kanggo ngreset registrasi EFLAGS menyang negara wiwitan, sing ndadekake angel ndeteksi lan mblokir serangan kasebut. Minangka demonstrasi, para peneliti ngetrapake varian saka serangan Meltdown, nggunakake cara anyar kanggo entuk informasi babagan asil operasi spekulatif. Operasi metode kanggo ngatur kebocoran informasi sajrone serangan Meltdown kasil ditampilake ing sistem kanthi CPU Intel Core i7-6700 lan i7-7700 ing lingkungan karo Ubuntu 22.04 lan kernel Linux 5.15. Ing sistem kanthi CPU Intel i9-10980XE, serangan kasebut mung ditindakake sebagian.

Kerentanan Meltdown adhedhasar kasunyatan manawa sajrone eksekusi instruksi spekulatif, prosesor bisa ngakses area data pribadi lan banjur mbuwang asil amarga hak istimewa sing disetel nglarang akses kasebut saka proses pangguna. Ing program kasebut, blok sing dieksekusi kanthi spekulatif dipisahake saka kode utama dening cabang kondisional, sing ing kahanan nyata tansah murub, nanging amarga kasunyatane pernyataan kondisional nggunakake nilai sing diwilang sing prosesor ora ngerti nalika eksekusi preemptive. kode, kabeh opsi cabang digawa metu speculatively.

Ing versi klasik Meltdown, amarga cache sing padha digunakake kanggo operasi sing dieksekusi kanthi spekulatif kaya instruksi sing dieksekusi biasane, nalika eksekusi spekulatif bisa nyetel tandha ing cache sing nggambarake isi bit individu ing area memori sing ditutup, banjur nemtokake ing kode sing biasane dieksekusi maknane liwat analisis wektu akses menyang data sing di-cache lan ora di-cache. Varian anyar nggunakake owah-owahan ing daftar EFLAGS minangka panandha bocor. Ing demonstrasi saluran rahasia, siji proses modulasi data sing dikirim kanggo nggawe kahanan kanggo ngganti isi daftar EFLAGS, lan proses liyane nganalisa owah-owahan ing wektu eksekusi instruksi JCC kanggo nggawΓ© ulang data sing dikirim dening proses pisanan.

Source: opennet.ru

Add a comment