Bod yn agored i niwed ym mecanwaith gweithredu hapfasnachol proseswyr AMD

Mae'r prosiect Grsecurity wedi cyhoeddi manylion ac arddangosiad o'r dull ymosod ar gyfer bregusrwydd newydd (CVE-2021-26341) mewn proseswyr AMD sy'n ymwneud Γ’ gweithredu cyfarwyddiadau ar hap ar Γ΄l gweithrediadau blaen diamod. Os yw'r ymosodiad yn llwyddiannus, mae'r bregusrwydd yn caniatΓ‘u pennu cynnwys ardaloedd cof mympwyol. Er enghraifft, mae ymchwilwyr wedi paratoi camfanteisio sy'n eu galluogi i benderfynu ar gynllun y cyfeiriad a osgoi mecanwaith amddiffyn KASLR (hapolwg cof cnewyllyn) trwy weithredu cod difreintiedig yn is-system cnewyllyn ePBF. Ni ellir diystyru senarios ymosodiad eraill a allai arwain at ollyngiad o gynnwys cof cnewyllyn.

Mae'r bregusrwydd yn caniatΓ‘u ichi greu amodau lle mae'r prosesydd, yn ystod gweithredu rhagataliol, yn prosesu'r cyfarwyddyd yn hapfasnachol yn syth ar Γ΄l y cyfarwyddyd neidio yn y cof (SLS, Straight Line Speculation). Ar ben hynny, mae optimeiddio o'r fath yn gweithio nid yn unig ar gyfer gweithredwyr naid amodol, ond hefyd ar gyfer cyfarwyddiadau sy'n awgrymu naid ddiamod uniongyrchol, megis JMP, RET a CALL. Yn dilyn cyfarwyddiadau naid diamod, gellir gosod data mympwyol nad yw wedi'i fwriadu i'w weithredu. Ar Γ΄l penderfynu nad yw cangen yn cynnwys gweithredu'r cyfarwyddyd nesaf, mae'r prosesydd yn syml yn rholio'r cyflwr yn Γ΄l ac yn anwybyddu gweithrediad hapfasnachol, ond mae olion gweithredu cyfarwyddiadau yn aros yn y storfa a rennir ac mae ar gael i'w ddadansoddi gan ddefnyddio technegau adfer sianel ochr.

Yn yr un modd ag ecsbloetio bregusrwydd Specter-v1, mae'r ymosodiad yn gofyn am bresenoldeb dilyniannau penodol o gyfarwyddiadau (teclynnau) yn y cnewyllyn sy'n arwain at weithredu hapfasnachol. Mae blocio bregusrwydd yn yr achos hwn yn dibynnu ar nodi teclynnau o'r fath yn y cod ac ychwanegu cyfarwyddiadau ychwanegol atynt sy'n rhwystro gweithrediad hapfasnachol. Gall amodau ar gyfer cyflawni hapfasnachol hefyd gael eu creu gan raglenni di-freintiedig sy'n rhedeg yn y peiriant rhithwir eBPF. Er mwyn rhwystro'r gallu i adeiladu teclynnau gan ddefnyddio eBPF, argymhellir analluogi mynediad di-freintiedig i eBPF yn y system (β€œsysctl -w kernel.unprivileged_bpf_disabled=1”).

Mae'r bregusrwydd yn effeithio ar broseswyr yn seiliedig ar ficrosaernΓ―aeth Zen1 a Zen2, gan gynnwys y genhedlaeth gyntaf a'r ail genhedlaeth o broseswyr AMD EPYC ac AMD Ryzen Threadripper, yn ogystal ag AMD Ryzen 2000/3000/4000/5000, AMD Athlon, AMD Athlon X, AMD Ryzen Threadripper Proseswyr cyfres PRO ac APU A. Er mwyn rhwystro gweithredu cyfarwyddiadau ar hap, argymhellir galw cyfarwyddiadau INT3 neu LFENCE ar Γ΄l gweithrediadau cangen (RET, JMP, CALL).

Ffynhonnell: opennet.ru

Ychwanegu sylw