Mashambulizi mapya kwenye miundo midogo ya usanifu wa wasindikaji wa Intel na AMD

Timu ya watafiti kutoka Chuo Kikuu cha Virginia na Chuo Kikuu cha California iliwasilisha shambulio jipya kwenye usanifu mdogo wa vichakataji vya Intel na AMD, vilivyogunduliwa kupitia uhandisi wa nyuma wa vipengele vya CPU visivyo na kumbukumbu. Mbinu iliyopendekezwa ya mashambulizi hutumia akiba ya kati ya micro-op ya vichakataji, ambayo inaweza kutumika kutoa taarifa zilizopotea wakati wa utekelezaji wa maagizo ya kubahatisha.

Kwa madhumuni ya uboreshaji, kichakataji huanza kutekeleza baadhi ya maagizo katika hali ya kubahatisha, bila kusubiri hesabu za awali zikamilike, na ikiwa baadaye kitaamua kwamba utabiri haukuwa sahihi, hurudisha operesheni kwenye hali yake ya awali, lakini data inayoshughulikiwa wakati wa utekelezaji wa kubahatisha huhifadhiwa kwenye kashe, ambayo yaliyomo yanaweza kuamuliwa.

Imebainika kuwa mbinu mpya inazidi kwa kiasi kikubwa uvamizi wa Spectre v1 katika utendaji, hufanya shambulio kuwa gumu zaidi kugundua, na halizuiliwi na mbinu zilizopo za kulinda dhidi ya mashambulizi ya njia za pembeni yaliyoundwa kuzuia udhaifu unaosababishwa na utekelezaji wa maagizo kwa kubahatisha (kwa mfano, kutumia maagizo ya LFENCE huzuia uvujaji katika hatua za mwisho za utekelezaji wa kubahatisha, lakini hailindi dhidi ya uvujaji kupitia miundo midogo ya usanifu).

Mbinu hii inatumika kwa mifumo ya kichakataji cha Intel na AMD iliyotolewa tangu 2011, ikiwa ni pamoja na mfululizo wa Intel Skylake na AMD Zen. CPU za kisasa hugawanya maagizo changamano ya kichakataji katika micro-ops rahisi kama RISC, ambazo zimehifadhiwa katika akiba tofauti. Akiba hii kimsingi ni tofauti na hifadhi za kiwango cha juu; haipatikani moja kwa moja na hufanya kazi kama bafa ya utiririshaji kwa ufikiaji wa haraka wa matokeo ya kusimba maagizo ya CISC katika micro-ops za RISC. Hata hivyo, watafiti wamepata njia ya kuunda hali zinazotokea wakati wa migogoro ya akiba na kumruhusu mtu kukisia yaliyomo kwenye akiba ya micro-op kwa kuchanganua tofauti katika nyakati za utekelezaji wa shughuli fulani.

Mashambulizi mapya kwenye miundo midogo ya usanifu wa wasindikaji wa Intel na AMD

Akiba ndogo katika vichakataji vya Intel imegawanywa kulingana na nyuzi za CPU (Hyper-Threading), huku vichakataji vya AMD Zen vikitumia akiba iliyoshirikiwa, ambayo huunda hali ya uvujaji wa data si tu ndani ya uzi mmoja wa utekelezaji, lakini pia kati ya nyuzi tofauti katika SMT (uvujaji wa data unawezekana kati ya msimbo unaoendeshwa kwenye viini tofauti vya kimantiki vya CPU).

Watafiti walipendekeza njia ya msingi ya kugundua mabadiliko katika akiba ya micro-op na matukio kadhaa ya mashambulizi ambayo huruhusu uundaji wa njia zilizofichwa za uwasilishaji wa data na matumizi ya msimbo dhaifu ili kuvuja data ya siri, ndani ya mchakato mmoja (kwa mfano, kuvuja data ya mchakato wakati wa kutekeleza msimbo wa mtu mwingine katika injini zenye JIT na ndani mashine pepe), na kati ya kiini na michakato katika nafasi ya mtumiaji.

Wakati wa kutekeleza aina ya shambulio la Spectre kwa kutumia akiba ya micro-op, watafiti walipata utendaji wa 965.59 Kbps zenye kiwango cha hitilafu cha 0.22% na 785.56 Kbps zenye urekebishaji wa hitilafu, wakati wa kuunda uvujaji ndani ya nafasi moja ya anwani na kiwango cha upendeleo. Kwa uvujaji unaochukua viwango tofauti vya upendeleo (kati ya nafasi ya kiini na mtumiaji), utendaji ulikuwa 85.2 Kbps zenye urekebishaji wa hitilafu na 110.96 Kbps zenye kiwango cha hitilafu cha 4%. Wakati wa kushambulia vichakataji vya AMD Zen, na kuunda uvujaji kati ya viini tofauti vya kimantiki vya CPU, utendaji ulikuwa 250 Kbps zenye kiwango cha hitilafu cha 5.59% na 168.58 Kbps zenye urekebishaji wa hitilafu. Ikilinganishwa na mbinu ya kawaida ya Spectre v1, shambulio jipya lilikuwa la haraka mara 2.6.

Inatarajiwa kwamba kulinda dhidi ya mashambulizi ya akiba ya micro-op kutahitaji mabadiliko ambayo yanadhoofisha utendaji kwa kiasi kikubwa zaidi kuliko kuwezesha ulinzi wa Spectre. Maelewano bora ni kuzuia mashambulizi kama hayo si kwa kuzima akiba, bali kwa kufuatilia kasoro na kutambua hali za akiba za kawaida za mashambulizi.

Kama ilivyo katika mashambulizi ya Spectre, kuvuja kwa taarifa kutoka kwa kiini au michakato mingine kunahitaji utekelezaji wa mfuatano maalum wa amri (vifaa) kwenye mchakato wa mwathiriwa, na kusababisha utekelezaji wa maagizo kwa kubahatisha. Linux Takriban vifaa 100 sawa vimepatikana na vitaondolewa, lakini njia mbadala za kuvitengeneza hupatikana mara kwa mara, kwa mfano, zile zinazohusisha kuendesha programu za BPF zilizoundwa maalum kwenye kiini.

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster