Darasa jipya la udhaifu katika vichakataji vya Intel limeanzishwa

Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° habari kuhusu mpya darasa la mazingira magumu katika wasindikaji wao - MDS (Sampuli ya Data ya Usanifu Midogo). Kama vile mashambulizi ya awali ya Specter, matatizo mapya yanaweza kusababisha kuvuja kwa data ya kibinafsi kutoka kwa mfumo wa uendeshaji, mashine pepe na michakato mingine. Inadaiwa kuwa matatizo hayo yalitambuliwa kwanza na wafanyakazi wa Intel na washirika wakati wa ukaguzi wa ndani, baada ya hapo watafiti wa kujitegemea walitoa taarifa kuhusu matatizo sawa na Intel. Wasindikaji wa AMD na ARM hawaathiriwa na tatizo.

Kulingana na matatizo yaliyotambuliwa na watafiti kutoka Chuo Kikuu cha Ufundi cha Graz (Austria) kuendelezwa Baadhi ya mashambulizi ya vitendo ya upande:

  • ZombieLoad (PDF) - inakuwezesha kutoa taarifa za siri kutoka kwa michakato mingine, mfumo wa uendeshaji, mashine za kawaida na enclaves zilizolindwa (TEE, Mazingira ya Utekelezaji ya Kuaminika). Kwa mfano, uwezo wa kuamua historia ya kufungua kurasa kwenye kivinjari cha Tor kinachoendesha kwenye mashine nyingine ya kawaida ilionyeshwa, pamoja na kuamua funguo za kufikia na nywila zinazotumiwa katika programu;


  • RIDL (PDF) - huruhusu uvujaji wa taarifa kati ya maeneo mbalimbali yaliyotengwa katika vichakataji vya Intel, kama vile vihifadhi vya kujaza, vihifadhi vihifadhi na milango ya kupakia. Mifano ya mashambulizi huonyeshwa kupanga uvujaji kutoka kwa michakato mingine, mfumo wa uendeshaji, mashine za mtandaoni na enclaves zilizolindwa. Kwa mfano, inaonyesha jinsi ya kujua yaliyomo kwenye hashi ya mzizi kutoka /etc/shadow wakati wa majaribio ya uthibitishaji wa mara kwa mara (shambulio lilichukua masaa 24);

    Kwa kuongeza, mfano wa shambulio la kutumia JavaScript na WebAssembly unaonyeshwa wakati wa kufungua ukurasa mbaya katika injini ya SpiderMonkey (katika vivinjari vya kisasa vilivyojaa, mashambulizi hayo hayawezekani kutokana na usahihi mdogo wa timer na hatua za kulinda dhidi ya Specter);

  • Fallout (PDF) - inafanya uwezekano wa kusoma data iliyoandikwa hivi karibuni na mfumo wa uendeshaji na kuamua mpangilio wa kumbukumbu ya OS ili kurahisisha mashambulizi mengine;
  • Usambazaji wa Hifadhi-kwa-Uvujaji - hutumia uboreshaji wa CPU kwa kufanya kazi na bafa ya kuhifadhi na inaweza kutumika kupita utaratibu wa kubahatisha nafasi ya anwani ya kernel (KASLR), kufuatilia hali ya mfumo wa uendeshaji, au kwa shirika uvujaji pamoja na vifaa kulingana na mbinu za Specter.

Imetambuliwa udhaifu:

  • CVE-2018-12126 - MSBDS (Sampuli ya Data ya Hifadhi ya Microarchitectural), urejeshaji wa yaliyomo ya buffers ya kuhifadhi. Inatumika katika shambulio la Fallout. Kiwango cha hatari kimeamua kuwa pointi 6.5 (CVSS);
  • CVE-2018-12127 - MLPDS (Sampuli ya Data ya Mzigo wa Mikroartectural), urejeshaji wa yaliyomo kwenye bandari ya mzigo. Inatumika katika shambulio la RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Sampuli ya Data ya Kujaza Bafa ya Usanifu Midogo), urejeshaji wa yaliyomo kwenye bafa. Inatumika katika mashambulizi ya ZombieLoad na RIDL. CVSS 6.5;
  • CVE-2019-11091 - MDSUM (Sampuli ya Data ya Microarchitectural Uncacheable Kumbukumbu), urejeshaji wa yaliyomo ya kumbukumbu isiyoweza kuepukika. Inatumika katika shambulio la RIDL. CVSS 3.8.

moyo kubaini matatizo katika uwezo wa kutumia mbinu za uchanganuzi wa idhaa ya kando kwa data katika miundo midogo ya usanifu ambayo programu hazina ufikiaji wa moja kwa moja. Tunazungumza kuhusu miundo ya kiwango cha chini kama vile vihifadhi vya kujaza (Bafa ya Kujaza Mstari), bafa za uhifadhi (Bafa ya Hifadhi) na milango ya mizigo (Bandari ya Kupakia), ambayo ni vizuizi vidogo vya ujenzi kuliko kashe ya kiwango cha kwanza (L1D), akiba ya upakiaji wa data ( RDCL ) au L1TF (Hitilafu ya Kituo cha L1), na ipasavyo inajumuisha maelezo machache na husasishwa kwa umakini zaidi.

Darasa jipya la udhaifu katika vichakataji vya Intel limeanzishwa

Mashambulizi ya kando ya kituo kwenye miundo midogo midogo ni ngumu zaidi kutekeleza ikilinganishwa na njia za kurejesha yaliyomo kwenye kache na inahitaji ufuatiliaji na uchambuzi wa idadi kubwa ya data ili kubaini muunganisho wao na anwani fulani kwenye kumbukumbu (kimsingi, mshambuliaji hawezi kukatiza data fulani kimakusudi. , lakini inaweza wakati wa kukusanya uvujaji na kutumia mbinu za takwimu kuunda upya aina fulani za data). Zaidi ya hayo, shambulio huathiri tu data kwenye msingi sawa wa CPU kama msimbo wa mshambulizi.

Njia zilizopendekezwa za kuamua yaliyomo ya miundo ndogo ya usanifu ni msingi wa ukweli kwamba miundo hii hutumiwa wakati wa utunzaji wa kubahatisha wa tofauti (makosa) au shughuli za kupakia na kuhifadhi.
Wakati wa utekelezaji wa kubahatisha, yaliyomo ya miundo ya ndani yanaelekezwa kwenye rejista au kache kwa usindikaji. Uendeshaji wa kubahatisha haujakamilika na matokeo hutupwa, lakini maudhui yaliyoelekezwa kwingine yanaweza kubainishwa kwa kutumia mbinu za uchanganuzi wa akiba ya idhaa ya pembeni.

Mizio ya mizigo hutumiwa na kichakataji kupokea data kutoka kwa kumbukumbu au mfumo mdogo wa I/O na kutoa taarifa iliyopokelewa kwa rejista za CPU. Kwa sababu ya kipengele cha utekelezaji, data kutoka kwa shughuli za upakuaji wa zamani hubaki kwenye bandari hadi zitakapofutwa na data mpya, ambayo inafanya uwezekano wa kuamua kwa njia isiyo ya moja kwa moja hali ya data kwenye bandari ya upakuaji kwa kudhibiti tofauti (makosa) na SSE/AVX/ Maagizo ya AVX-512 ambayo hupakia data zaidi ya biti 64. Chini ya hali kama hizi, shughuli za upakiaji hufichua kimawazo thamani za data za zamani kutoka kwa miundo ya ndani hadi utendakazi tegemezi. Vivyo hivyo, uvujaji hupangwa kupitia buffer ya uhifadhi, ambayo hutumiwa kuharakisha kuandika kwa kashe ya CPU na inajumuisha meza ya anwani, maadili na bendera, na pia kupitia buffer ya kujaza, ambayo ina data ambayo bado haiko kwenye kashe ya L1 (cache-miss), kwa sasa inapakia kutoka kwa kache za viwango vingine.

Darasa jipya la udhaifu katika vichakataji vya Intel limeanzishwa

tatizo huathiri Mifano za processor za Intel zinazozalishwa tangu 2011 (kuanzia kizazi cha 6). Katika hali hii, udhaifu wa maunzi umezuiwa kuanzia baadhi ya miundo ya vizazi vya 8 na 9 vya Intel Core na kizazi cha 2 cha Intel Xeon Scalable (unaweza kuangalia kwa kutumia ARCH_CAP_MDS_NO biti katika IA32_ARCH_CAPABILITIES MSR). Udhaifu pia tayari kuondolewa kwa kiwango cha firmware, microcode na mifumo ya uendeshaji. Intel inakadiria upotezaji wa utendakazi baada ya kuwezesha kiraka kwa watumiaji wengi chini ya 3%. Wakati teknolojia ya Hyper-Threading imezimwa, uharibifu wa utendakazi unaweza kufikia hadi 9% katika jaribio la SPECint_rate_base, hadi 11% katika hesabu kamili kamili, na hadi 19% wakati wa kuendesha programu za Java za upande wa seva (pamoja na HT imewashwa, kuna karibu hakuna uharibifu wa utendaji). Viraka vina athari kidogo kwa utendakazi wa I/O.

Linux kernel hulinda dhidi ya MDS aliongeza katika ya leo sasisho 5.1.2, 5.0.16,
4.19.43, 4.14.119 na 4.9.176. Mbinu ya ulinzi chini ya ujenzi juu ya kusafisha yaliyomo ya bafa ndogo za usanifu wakati wa kurudi kutoka kwa kernel hadi nafasi ya mtumiaji au wakati wa kuhamisha udhibiti kwa mfumo wa wageni, ambao maagizo ya VERW hutumiwa. Ili ulinzi ufanye kazi, inahitaji usaidizi kwa modi ya MD_CLEAR, inayotekelezwa katika sasisho la hivi punde la msimbo mdogo. Kwa ulinzi kamili, inashauriwa pia kuzima Hyper Threading. Kuangalia uwezekano wa mfumo kuathiriwa kwenye kinu cha Linux imeongezwa kishughulikiaji "/sys/devices/system/cpu/vulnerabilities/mds". Ili kudhibiti ujumuishaji wa njia mbali mbali za kuzuia hatari, kigezo cha "mds=" kimeongezwa kwenye kernel, ambacho kinaweza kuchukua maadili "kamili", "full,nosmt" (inalemaza Hyper-Threads), "vmwerv" na "kuzima".

Masasisho ya kifurushi tayari yametolewa RHEL ΠΈ Ubuntu, lakini bado haupatikani kwa sasa Debian, Fedora ΠΈ SUSA.
Marekebisho ya kuzuia uvujaji wa data kutoka kwa mashine pepe pia kuundwa kwa hypervisor ya Xen. Ili kulinda mifumo ya uboreshaji ambayo hutoa amri ya L1D_FLUSH kabla ya kuhamisha udhibiti kwa mashine nyingine pepe, na kulinda enclaves za Intel SGX, sasisho la misimbo mikrosi linatosha.

Chanzo: opennet.ru

Kuongeza maoni