Mga kahuyangan sa mekanismo sa MMIO sa mga processor sa Intel

Gipadayag sa Intel ang kasayuran bahin sa usa ka bag-ong klase sa mga pagtulo sa datos pinaagi sa mga istruktura sa microarchitectural sa mga processor, nga nagtugot, pinaagi sa pagmaniobra sa mekanismo sa MMIO (Memory Mapped Input Output), aron mahibal-an ang kasayuran nga giproseso sa ubang mga cores sa CPU. Pananglitan, ang mga kahuyangan nagtugot sa data nga makuha gikan sa ubang mga proseso, Intel SGX enclaves, o virtual machines. Ang mga kahuyangan espesipiko lamang sa mga Intel CPU; ang mga processor gikan sa ubang mga tiggama dili apektado sa mga kahuyangan.

Ang mga kahuyangan makita sa lainlaing mga Intel CPU, lakip ang mga processor nga gibase sa Haswell, Skylake, IceLake, Broadwell, Lakefield, Kabylake, Cometlake ug Rocketlake microarchitectures, ingon man Xeon EP/EX, Scalable ug pipila ka Atom server processors. Aron mahimo ang usa ka pag-atake, gikinahanglan ang pag-access sa MMIO, nga, pananglitan, makuha sa mga sistema sa virtualization nga naghatag katakus sa pag-access sa MMIO alang sa mga sistema sa bisita nga kontrolado sa tig-atake. Ang pag-ayo mahimo usab nga gikinahanglan alang sa mga sistema nga naggamit sa Intel SGX (Software Guard Extensions) nga nahimulag nga mga enclave.

Ang pagbabag sa kahuyang nanginahanglan usa ka pag-update sa microcode ug ang paggamit sa dugang nga mga pamaagi sa pagpanalipod sa software base sa paggamit sa panudlo sa VERW aron malimpyohan ang sulud sa mga buffer sa microarchitectural kung mobalik gikan sa kernel ngadto sa wanang sa gumagamit o kung gibalhin ang kontrol sa sistema sa bisita. Ang parehas nga proteksyon gigamit usab aron babagan ang mga nauna nang giila nga pag-atake sa mga klase sa MDS (Microarchitectural Data Sampling), SRBDS (Special Register Buffer Data Sampling) ug TAA (Transactional Asynchronous Abort).

Sa bahin sa microcode, ang mga pagbag-o nga gikinahanglan sa pagpatuman sa proteksyon gisugyot sa Mayo nga microcode update alang sa Intel CPUs (IPU 2022.1). Sa Linux kernel, ang proteksyon batok sa usa ka bag-ong klase sa mga pag-atake gilakip sa mga pagpagawas 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284, ug 4.9.319. Aron masusi ang pagkaladlad sa sistema sa mga kahuyangan sa MMIO ug pagtimbang-timbang sa kalihokan sa pipila ka mekanismo sa pagpanalipod, ang file nga β€œ/sys/devices/system/cpu/vulnerabilities/mmio_stale_data” gidugang sa Linux kernel. Aron makontrol ang paglakip sa proteksyon, ang kernel boot parameter nga "mmio_stale_data" gipatuman, nga mahimong makuha ang mga kantidad nga "puno" (makapahimo sa paglimpyo sa mga buffer kung mobalhin sa wanang sa gumagamit ug sa VM), "puno, nosmt" ( ingon nga "puno" + dugang nga nagpugong sa SMT/Hyper- Threads) ug "off" (gipugngan ang proteksyon). Gitanyag ang bulag nga mga pag-ayo alang sa Xen hypervisor ug ang operating system sa Qubes.

Ang esensya sa giila nga klase sa mga kahuyangan mao nga ang pipila nga mga operasyon nagdala sa pagkopya o pagbalhin sa datos nga nahabilin pagkahuman sa pagpatuman sa ubang mga cores sa CPU gikan sa usa ka microarchitectural buffer ngadto sa lain. Ang mga vulnerabilities sa MMIO nagtugot niining nahabilin nga datos nga mabalhin gikan sa nahilit nga microarchitectural buffers ngadto sa makita nga aplikasyon nga mga rehistro o mga buffer sa CPU. Tulo ka mga pamaagi ang giila alang sa pagkuha sa nahabilin nga datos pinaagi sa MMIO:

  • Ang DRPW (Device Register Partial Write, CVE-2022-21166) usa ka isyu nga adunay dili husto nga pagdumala sa mga pagsulat sa pipila ka mga rehistro sa MMIO. Kung ang gidak-on sa datos nga gisulat gamay ra sa gidak-on sa rehistro, nan ang nahabilin nga kasayuran gikan sa mga buffer sa pagpuno gikopya usab sa rehistro. Ingon usa ka sangputanan, ang usa ka proseso nga nagsugod sa usa ka dili kompleto nga operasyon sa pagsulat sa rehistro sa MMIO makakuha mga datos nga nahabilin sa mga buffer sa microarchitectural gikan sa mga operasyon nga gihimo sa ubang mga cores sa CPU.
  • Ang SBDS (Shared Buffers Data Sampling, CVE-2022-21125) usa ka leak sa nahabilin nga datos gikan sa kernel-bound fill buffer nga resulta sa paglihok gikan sa intermediate buffers nga komon sa tanang kernel.
  • SBDR (Shared Buffers Data Read, CVE-2022-21123) - ang problema parehas sa SBDS, apan lahi sa nahabilin nga datos mahimong matapos sa mga istruktura sa CPU nga makita sa mga aplikasyon. Ang mga problema sa SBDS ug SBDR makita lamang sa mga processor alang sa mga sistema sa kliyente ug sa Intel Xeon E3 server family.

Mga kahuyangan sa mekanismo sa MMIO sa mga processor sa Intel


Source: opennet.ru

Idugang sa usa ka comment