Ikọlu tuntun lori awọn ẹya microarchitectural ti awọn ilana Intel ati AMD

Ẹgbẹ kan ti awọn oniwadi lati Ile-ẹkọ giga ti Ilu Virginia ati Ile-ẹkọ giga ti California ṣafihan iru ikọlu tuntun kan lori awọn ẹya microarchitectural ti awọn ilana Intel ati AMD, ti a damọ lakoko imọ-ẹrọ iyipada ti awọn agbara Sipiyu ti ko ni iwe-aṣẹ. Ọna ikọlu ti a dabaa pẹlu lilo kaṣe micro-op agbedemeji ninu awọn ilana, eyiti o le ṣee lo lati gba alaye ti o ṣajọpọ lakoko ipaniyan akiyesi ti awọn ilana.

Fun awọn idi iṣapeye, ero isise naa bẹrẹ lati ṣiṣẹ diẹ ninu awọn itọnisọna ni ipo akiyesi, laisi iduro fun awọn iṣiro iṣaaju lati pari, ati pe ti o ba pinnu pe asọtẹlẹ naa ko ni idalare, o yi iṣẹ naa pada si ipo atilẹba rẹ, ṣugbọn data ti o ṣiṣẹ lakoko. speculative ipaniyan ti wa ni nile ni a kaṣe, awọn akoonu ti eyi ti o le wa ni pinnu.

O ṣe akiyesi pe ọna tuntun naa ṣe pataki ju ikọlu Specter v1 lọ, jẹ ki ikọlu naa nira lati rii ati pe ko ni idiwọ nipasẹ awọn ọna aabo ti o wa tẹlẹ si awọn ikọlu ikanni ẹgbẹ ti a ṣe apẹrẹ lati dènà awọn ailagbara ti o ṣẹlẹ nipasẹ ipaniyan akiyesi ti awọn ilana (fun apẹẹrẹ, lilo ti itọnisọna LFENCE ṣe idiwọ awọn n jo ni awọn ipele ikẹhin ti ipaniyan arosọ, ṣugbọn ko daabobo lodi si jijo nipasẹ awọn ẹya microarchitectural).

Ọna naa ni ipa lori awọn awoṣe ero isise Intel ati AMD ti a tu silẹ lati ọdun 2011, pẹlu Intel Skylake ati AMD Zen jara. Awọn CPUs ode oni fọ awọn ilana ero isise eka sinu irọrun RISC-bi awọn iṣẹ ṣiṣe bulọọgi, eyiti o jẹ cache ni kaṣe lọtọ. Kaṣe yii yatọ ni ipilẹ si awọn kaṣe ipele ti o ga julọ, kii ṣe wiwọle taara ati ṣiṣẹ bi ifipamọ ṣiṣan fun iraye yara yara si awọn abajade ti yiyan awọn ilana CISC sinu awọn ilana microin RISC. Bibẹẹkọ, awọn oniwadi ti rii ọna lati ṣẹda awọn ipo ti o dide nigbati awọn ija iwọle kaṣe ati gba eniyan laaye lati ṣe idajọ awọn akoonu ti kaṣe micro-operation nipa itupalẹ awọn iyatọ ninu akoko ipaniyan ti awọn iṣe kan.

Ikọlu tuntun lori awọn ẹya microarchitectural ti awọn ilana Intel ati AMD

Kaṣe iṣiṣẹ micro-micro ni awọn ilana Intel jẹ apakan ni ibatan si awọn okun Sipiyu (Hyper-Threading), lakoko ti awọn ilana AMD Zen lo kaṣe pinpin, eyiti o ṣẹda awọn ipo fun jijo data kii ṣe laarin okun ipaniyan kan, ṣugbọn tun laarin awọn okun oriṣiriṣi ni SMT. (o ṣee ṣe data jijo laarin awọn koodu nṣiṣẹ lori yatọ si mogbonwa Sipiyu inu ohun kohun).

Awọn oniwadi ti dabaa ọna ipilẹ fun wiwa awọn ayipada ninu kaṣe micro-operation ati ọpọlọpọ awọn oju iṣẹlẹ ikọlu ti o fun laaye ṣiṣẹda awọn ikanni gbigbe data ti o farapamọ ati lilo koodu ipalara lati jo data asiri, mejeeji laarin ilana kan (fun apẹẹrẹ, lati jo data ilana nigba ṣiṣe. koodu ẹni-kẹta ninu awọn ẹrọ pẹlu JIT ati ninu awọn ẹrọ foju), ati laarin ekuro ati awọn ilana ni aaye olumulo.

Nigbati o ba n ṣeto iyatọ ti ikọlu Specter nipa lilo kaṣe micro-operation, awọn oniwadi ni anfani lati ṣaṣeyọri iṣẹ ṣiṣe ti 965.59 Kbps pẹlu oṣuwọn aṣiṣe ti 0.22% ati 785.56 Kbps nigba lilo atunṣe aṣiṣe, ni ọran ti siseto jo laarin adirẹsi kanna. aaye ati ipele anfani. Pẹlu jijo ti o yatọ si awọn ipele anfani (laarin kernel ati aaye olumulo), iṣẹ ṣiṣe jẹ 85.2 Kbps pẹlu atunṣe aṣiṣe ti a ṣafikun ati 110.96 Kbps pẹlu oṣuwọn aṣiṣe ti 4%. Nigbati o ba kọlu awọn ilana AMD Zen, ṣiṣẹda jijo laarin awọn oriṣiriṣi awọn ohun kohun Sipiyu, iṣẹ naa jẹ 250 Kbps pẹlu oṣuwọn aṣiṣe ti 5.59% ati 168.58 Kbps pẹlu atunṣe aṣiṣe. Ti a ṣe afiwe si ọna Specter v1 Ayebaye, ikọlu tuntun jẹ awọn akoko 2.6 yiyara.

O nireti pe aabo lodi si ikọlu kaṣe micro-op yoo nilo awọn ayipada ti yoo dinku iṣẹ ṣiṣe diẹ sii ju ti o ba mu aabo ikọlu Specter ṣiṣẹ. Gẹgẹbi adehun ti o dara julọ, o ni imọran lati ṣe idiwọ iru awọn ikọlu kii ṣe nipa piparẹ caching, ṣugbọn ni ipele ti abojuto awọn asemase ati idamo awọn ipinlẹ kaṣe ti o jẹ aṣoju fun awọn ikọlu.

Bii ninu awọn ikọlu Specter, siseto jo lati ekuro tabi awọn ilana miiran nilo ipaniyan ilana kan ti awọn aṣẹ (awọn ohun elo) ni ẹgbẹ ti awọn ilana olufaragba, ti o yori si ipaniyan akiyesi ti awọn ilana. O fẹrẹ to awọn ohun elo iru 100 ni a ti rii ni ekuro Linux, eyiti yoo yọkuro, ṣugbọn awọn agbegbe iṣẹ fun iran wọn ni a rii lorekore, fun apẹẹrẹ, ti o ni ibatan si ṣiṣe awọn eto BPF ti a ṣe apẹrẹ ni ekuro.

orisun: opennet.ru

Fi ọrọìwòye kun