Kilasi tuntun ti awọn ailagbara ninu awọn ilana Intel ti ṣafihan

Intel atejade alaye nipa titun ailagbara kilasi ninu awọn isise wọn - MDS (Microarchitectural Data iṣapẹẹrẹ). Bii awọn ikọlu Specter ti tẹlẹ, awọn iṣoro tuntun le ja si jijo ti data ikọkọ lati ẹrọ ṣiṣe, awọn ẹrọ foju ati awọn ilana miiran. O fi ẹsun kan pe awọn iṣoro naa ni a kọkọ ṣe idanimọ nipasẹ awọn oṣiṣẹ Intel ati awọn alabaṣiṣẹpọ lakoko iṣayẹwo inu, lẹhin eyiti awọn oniwadi ominira pese alaye nipa awọn iṣoro ti o jọra si Intel. Awọn ilana AMD ati ARM ko ni ipa nipasẹ iṣoro naa.

Da lori awọn iṣoro idanimọ nipasẹ awọn oniwadi lati Ile-ẹkọ Imọ-ẹrọ ti Graz (Austria) ni idagbasoke Diẹ ninu awọn ikọlu ikanni ẹgbẹ ti o wulo:

  • ZombieLoad (PDF) - ngbanilaaye lati jade alaye asiri lati awọn ilana miiran, ẹrọ ṣiṣe, awọn ẹrọ foju ati awọn enclaves ti o ni aabo (TEE, Ayika ipaniyan igbẹkẹle). Fun apẹẹrẹ, agbara lati pinnu itan-akọọlẹ ti ṣiṣi awọn oju-iwe ni ẹrọ aṣawakiri Tor ti n ṣiṣẹ ni ẹrọ foju miiran jẹ afihan, bakanna bi ipinnu awọn bọtini iwọle ati awọn ọrọ igbaniwọle ti a lo ninu awọn ohun elo;


  • RIDL (PDF) - ngbanilaaye jijo alaye laarin ọpọlọpọ awọn agbegbe ti o ya sọtọ ni awọn ilana Intel, gẹgẹbi awọn buffers kikun, awọn buffers ibi ipamọ ati awọn ebute oko. Awọn apẹẹrẹ ti awọn ikọlu ni a fihan lati ṣeto awọn n jo lati awọn ilana miiran, ẹrọ ṣiṣe, awọn ẹrọ foju ati awọn enclaves to ni aabo. Fun apẹẹrẹ, o fihan bi o ṣe le wa awọn akoonu ti hash ọrọ igbaniwọle root lati / ati be be lo / ojiji lakoko awọn igbiyanju idaniloju igbakọọkan (ikolu naa gba awọn wakati 24);

    Ni afikun, apẹẹrẹ ti ikọlu nipa lilo JavaScript ati WebAssembly ni a fihan nigbati o ṣii oju-iwe irira kan ninu ẹrọ SpiderMonkey (ni awọn aṣawakiri kikun ti ode oni, iru ikọlu ko ṣeeṣe nitori deede akoko akoko ati awọn igbese lati daabobo lodi si Specter);

  • Ba ara won ja (PDF) - jẹ ki o ṣee ṣe lati ka awọn data ti a kọ laipẹ nipasẹ ẹrọ ṣiṣe ati pinnu ifilelẹ iranti OS lati ṣe irọrun awọn ikọlu miiran;
  • Itaja-To-jo Ndari - nlo awọn iṣapeye Sipiyu fun ṣiṣẹ pẹlu ifipamọ ibi ipamọ ati pe o le ṣee lo lati fori ẹrọ aileto aaye adirẹsi ekuro (KASLR), lati ṣe atẹle ipo ti ẹrọ ṣiṣe, tabi fun agbari jo ni apapo pẹlu awọn irinṣẹ ti o da lori awọn ọna Specter.

Ti idanimọ ailagbara:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), imularada ti awọn akoonu ti awọn buffers ipamọ. Ti a lo ninu ikọlu Fallout. Iwọn ewu ti pinnu lati jẹ awọn aaye 6.5 (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data iṣapẹẹrẹ), gbigba ti awọn akoonu ibudo fifuye. Ti a lo ninu ikọlu RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), gbigba ti awọn akoonu ifipamọ kun. Ti a lo ninu ZombieLoad ati awọn ikọlu RIDL. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), gbigba ti awọn akoonu iranti ti a ko le ṣaipamọ. Ti a lo ninu ikọlu RIDL. CVSS 3.8.

Ohun pataki ṣe idanimọ awọn iṣoro ni agbara lati lo awọn ọna itupalẹ ikanni ẹgbẹ si data ni awọn ẹya microarchitectural eyiti awọn ohun elo ko ni iwọle taara. A n sọrọ nipa iru awọn ẹya ipele kekere bi awọn buffers ti o kun (Laini Fill Buffer), awọn buffers ibi ipamọ (Buffer Store) ati awọn ebute oko oju omi (Pod Port), eyiti o jẹ awọn bulọọki ile kekere ju kaṣe ipele akọkọ (L1D), kaṣe fifuye data ( RDCL ) tabi L1TF (L1 Terminal Fault), ati ni ibamu pẹlu alaye ti o dinku ati pe a ṣe imudojuiwọn diẹ sii lekoko.

Kilasi tuntun ti awọn ailagbara ninu awọn ilana Intel ti ṣafihan

Awọn ikọlu ikanni ẹgbẹ lori awọn ẹya microarchitectural jẹ iṣoro pupọ siwaju sii lati ṣe ni akawe si awọn ọna fun mimu-pada sipo awọn akoonu kaṣe ati nilo ipasẹ ati itupalẹ awọn oye pataki ti data lati pinnu asopọ wọn pẹlu awọn adirẹsi kan ninu iranti (ni pataki, ikọlu ko le ṣe idinamọ data kan , ṣugbọn o le ni akoko lati ṣajọ awọn n jo ati lo awọn ọna iṣiro lati tun awọn iru data kan ṣe). Ni afikun, ikọlu naa kan data nikan lori ipilẹ Sipiyu ti ara kanna bi koodu ikọlu naa.

Awọn ọna ti a dabaa fun ipinnu awọn akoonu ti awọn ẹya microarchitectural da lori otitọ pe a lo awọn ẹya wọnyi lakoko mimu akiyesi awọn imukuro (awọn aṣiṣe) tabi fifuye ati awọn iṣẹ itaja.
Lakoko ipaniyan akiyesi, awọn akoonu ti awọn ẹya inu ni a darí si awọn iforukọsilẹ tabi awọn caches fun sisẹ. Awọn iṣẹ ṣiṣe akiyesi ko pari ati pe abajade jẹ asonu, ṣugbọn akoonu ti a darí ni a le pinnu nipa lilo awọn ilana itupalẹ kaṣe ikanni ẹgbẹ.

Awọn ibudo fifuye jẹ lilo nipasẹ ero isise lati gba data lati iranti tabi eto I/O ati pese alaye ti o gba si awọn iforukọsilẹ Sipiyu. Nitori ẹya imuse, data lati awọn iṣẹ igbasilẹ atijọ wa ninu awọn ebute oko oju omi titi ti wọn yoo fi kọwe nipasẹ data tuntun, eyiti o jẹ ki o ṣee ṣe lati pinnu ni aiṣe-taara ti data naa ni ibudo gbigba lati ayelujara nipasẹ ifọwọyi awọn imukuro (awọn aṣiṣe) ati SSE/AVX/ Awọn ilana AVX-512 ti o ṣaja diẹ sii ju 64-bit data. Labẹ iru awọn ipo bẹẹ, awọn iṣẹ ṣiṣe fifuye ṣe afihan awọn iye data stale lati awọn ẹya inu si awọn iṣẹ igbẹkẹle. Ni ọna ti o jọra, a ṣeto jijo nipasẹ ifipamọ ibi ipamọ, eyiti o lo lati yara kikọ si kaṣe Sipiyu ati pẹlu tabili awọn adirẹsi, awọn iye ati awọn asia, ati nipasẹ ifipamọ kikun, eyiti o ni data ti o ni ninu. ko tii wa ninu kaṣe L1 (kaṣe-miss), fun akoko ikojọpọ lati awọn kaṣe ti awọn ipele miiran.

Kilasi tuntun ti awọn ailagbara ninu awọn ilana Intel ti ṣafihan

Isoro ni ipa lori Awọn awoṣe ero isise Intel ti a ṣejade lati ọdun 2011 (ti o bẹrẹ lati iran 6th). Ni ọran yii, awọn ailagbara ohun elo jẹ dina lati diẹ ninu awọn awoṣe ti awọn iran 8th ati 9th ti Intel Core ati iran 2nd ti Intel Xeon Scalable (o le ṣayẹwo nipa lilo ARCH_CAP_MDS_NO bit ni IA32_ARCH_CAPABILITIES MSR). Awọn ailagbara tun wa tẹlẹ imukuro ni ipele ti famuwia, microcode ati awọn ọna ṣiṣe. Intel ṣe iṣiro pipadanu iṣẹ ṣiṣe lẹhin mimu alemo ṣiṣẹ fun ọpọlọpọ awọn olumulo kere ju 3%. Nigbati imọ-ẹrọ Hyper-Threading jẹ alaabo, ibajẹ iṣẹ le de ọdọ 9% ninu idanwo SPECint_rate_base, to 11% ninu awọn iṣiro odidi ti nṣiṣe lọwọ, ati to 19% nigba ṣiṣe awọn ohun elo Java ẹgbẹ olupin (pẹlu HT ṣiṣẹ, o fẹrẹ to ko si ibaje iṣẹ). Awọn abulẹ ni ipa kekere lori iṣẹ I/O.

Ekuro Linux ṣe aabo fun MDS kun ninu oni awọn imudojuiwọn 5.1.2, 5.0.16,
4.19.43, 4.14.119 ati 4.9.176. Ọna Idaabobo o wa ni kiko lori imukuro awọn akoonu ti awọn buffers microarchitectural ni akoko ipadabọ lati ekuro si aaye olumulo tabi nigba gbigbe iṣakoso si eto alejo, eyiti a lo ilana VERW. Fun aabo lati ṣiṣẹ, o nilo atilẹyin fun ipo MD_CLEAR, ti a ṣe imuse ni imudojuiwọn microcode tuntun. Fun aabo pipe, o tun ṣeduro lati mu Hyper Threading ṣiṣẹ. Lati ṣayẹwo ifihan eto naa si awọn ailagbara ninu ekuro Linux fi kun olutọju "/ sys / awọn ẹrọ / eto / cpu / vulnerabilities / mds". Lati ṣakoso ifisi ti ọpọlọpọ awọn ipo idilọwọ ailagbara, paramita “mds=” ti ṣafikun si ekuro, eyiti o le gba awọn iye “kikun”, “kikun, nosmt” (pa Hyper-Threads), “vmwerv” ati "pa".

Awọn imudojuiwọn idii ti tẹlẹ ti tu silẹ fun RHEL и Ubuntu, ṣugbọn ko si fun bayi Debian, Fedora и suse.
Atunṣe lati dènà awọn n jo data lati awọn ẹrọ foju tun akoso fun Xen hypervisor. Lati daabobo awọn ọna ṣiṣe agbara ti o funni ni aṣẹ L1D_FLUSH ṣaaju gbigbe iṣakoso si ẹrọ foju miiran, ati lati daabobo awọn enclaves Intel SGX, imudojuiwọn microcode kan to.

orisun: opennet.ru

Fi ọrọìwòye kun