Kerentanan dina mékanisme palaksanaan instruksi spekulatif prosesor AMD

Proyék Grsecurity parantos nyebarkeun detil sareng demonstrasi metode serangan pikeun kerentanan anyar (CVE-2021-26341) dina prosesor AMD anu aya hubunganana sareng palaksanaan spekulatif paréntah saatos operasi maju tanpa syarat. Upami serangan éta suksés, kerentanan ngamungkinkeun eusi daérah mémori sawenang pikeun ditangtukeun. Contona, panalungtik geus disiapkeun mangpaatkeun anu ngamungkinkeun aranjeunna pikeun nangtukeun tata perenah alamat na bypass mékanisme panyalindungan KASLR (memori kernel randomization) ku executing kode unprivileged dina subsistem kernel ePBF. Skenario serangan anu sanés teu tiasa dileungitkeun anu tiasa nyababkeun bocor eusi mémori kernel.

Kerentanan ngamungkinkeun anjeun nyiptakeun kaayaan dimana prosésor, nalika palaksanaan preemptive, sacara spekulatif ngolah instruksi langsung saatos instruksi luncat dina mémori (SLS, Straight Line Spekulasi). Leuwih ti éta, optimasi misalna jalan teu ukur keur operator luncat kondisional, tapi ogé pikeun parentah nu imply langsung luncat sarat, kayaning JMP, RET na Télépon. Nuturkeun parentah luncat saratna, data sawenang nu teu dimaksudkeun pikeun palaksanaan bisa disimpen. Saatos nangtukeun yén cabangna henteu ngalibetkeun palaksanaan instruksi salajengna, prosesor ngan saukur ngagulung deui kaayaan sareng teu malire palaksanaan spekulatif, tapi jejak palaksanaan instruksi tetep aya dina cache anu dibagikeun sareng sayogi pikeun analisa ngagunakeun téknik panéangan saluran sisi.

Sapertos eksploitasi kerentanan Specter-v1, serangan éta peryogi ayana sekuen paréntah (gadget) anu tangtu dina kernel anu nyababkeun palaksanaan spekulatif. Meungpeuk kerentanan dina hal ieu asalna pikeun ngaidentipikasi gadget sapertos dina kode sareng nambihan petunjuk tambahan pikeun aranjeunna anu ngahalangan palaksanaan spekulatif. Kaayaan pikeun palaksanaan spekulatif ogé bisa dijieun ku program unprivileged ngajalankeun dina mesin virtual eBPF. Pikeun meungpeuk kamampuan ngawangun gadget nganggo eBPF, disarankeun pikeun nganonaktipkeun aksés anu teu dipikabutuh pikeun eBPF dina sistem ("sysctl -w kernel.unprivileged_bpf_disabled=1").

Kerentanan mangaruhan prosesor dumasar kana mikroarsitektur Zen1 sareng Zen2, kalebet generasi kahiji sareng kadua AMD EPYC sareng prosesor AMD Ryzen Threadripper, ogé AMD Ryzen 2000/3000/4000/5000, AMD Athlon, AMD Athlon X, AMD Ryzen Threadripper. Pro jeung prosesor runtuyan APU A. Pikeun meungpeuk palaksanaan spekulatif parentah, Disarankeun nelepon INT3 atanapi LFENCE parentah sanggeus operasi cabang (RET, JMP, nelepon).

sumber: opennet.ru

Tambahkeun komentar