Athari nyingine imetambuliwa katika vichakataji vya AMD vinavyoruhusu mashambulizi ya Meltdown

Timu ya watafiti kutoka Chuo Kikuu cha Kiufundi cha Graz (Austria) na Kituo cha Helmholtz cha Usalama wa Habari (CISPA) wamefichua habari kuhusu hatari (CVE-2021-26318) katika vichakataji vyote vya AMD vinavyowezesha kutekeleza kiwango cha Meltdown. mashambulizi ya pembeni (mwanzoni ilichukuliwa kuwa wasindikaji wa AMD hawaathiriwi na mazingira magumu ya Meltdown). Katika hali ya vitendo, shambulio linaweza kutumika kuanzisha njia za siri za mawasiliano, kufuatilia shughuli kwenye kokwa, au kupata taarifa kuhusu anwani katika kumbukumbu ya kernel ili kukwepa ulinzi wa KASLR huku wakitumia udhaifu kwenye kerneli.

AMD inaona kuwa haifai kuchukua hatua maalum za kuzuia shida, kwani hatari, kama shambulio kama hilo lililogunduliwa mnamo Agosti, haitumiki sana katika hali halisi, inadhibitiwa na mipaka ya sasa ya nafasi ya anwani ya mchakato na inahitaji uwepo wa baadhi. mpangilio tayari wa maagizo (vidude) kwenye kernel. Ili kuonyesha shambulio hilo, watafiti walipakia moduli yao ya kernel na kifaa kilichoongezwa bandia. Katika hali halisi, washambuliaji wanaweza kutumia, kwa mfano, kuibua udhaifu mara kwa mara katika mfumo mdogo wa eBPF ili kubadilisha mfuatano unaohitajika.

Ili kulinda dhidi ya aina hii mpya ya mashambulizi, AMD ilipendekeza kutumia mbinu salama za usimbaji zinazosaidia kuzuia mashambulizi ya Meltdown, kama vile kutumia maagizo ya LFENCE. Watafiti waliogundua tatizo wanapendekeza kuwezesha utengaji mkali wa jedwali la ukurasa wa kumbukumbu (KPTI), ambao hapo awali ulitumiwa tu kwa vichakataji vya Intel.

Wakati wa jaribio, watafiti walifanikiwa kuvuja habari kutoka kwa kernel hadi mchakato katika nafasi ya mtumiaji kwa kasi ya byte 52 kwa sekunde, kwa kuzingatia uwepo wa kifaa kwenye kernel ambayo hufanya operesheni "ikiwa (kukabiliana na < data_len) tmp = LUT[data[offset] *4096];” . Mbinu kadhaa zimependekezwa za kurejesha maelezo kupitia njia za kando ambazo huishia kwenye akiba wakati wa utekelezaji wa kubahatisha. Njia ya kwanza inategemea kuchambua kupotoka katika wakati wa utekelezaji wa maagizo ya processor "PREFETCH" (Prefetch+Time), na ya pili juu ya kubadilisha mabadiliko ya matumizi ya nishati wakati wa kutekeleza "PREFETCH" (Prefetch+Power).

Kumbuka kwamba hatari ya kawaida ya Meltdown inatokana na ukweli kwamba wakati wa utekelezaji wa kubahatisha wa maagizo, processor inaweza kufikia eneo la data ya kibinafsi na kisha kutupa matokeo, kwani marupurupu yaliyowekwa yanakataza ufikiaji kama huo kutoka kwa mchakato wa mtumiaji. Katika mpango huo, kizuizi kilichotekelezwa kwa kubahatisha kinatenganishwa na nambari kuu na tawi la masharti, ambalo katika hali halisi huwaka moto kila wakati, lakini kwa sababu ya ukweli kwamba taarifa ya masharti hutumia thamani iliyohesabiwa ambayo processor haijui wakati wa utekelezaji wa mapema. kanuni, chaguzi zote za tawi zinafanywa kwa kubahatisha.

Kwa kuwa shughuli zinazotekelezwa kwa kubahatisha hutumia kashe sawa na maagizo ya kawaida kutekelezwa, inawezekana wakati wa utekelezaji wa kubahatisha kuweka alama kwenye kashe zinazoonyesha yaliyomo kwenye biti za kibinafsi kwenye eneo la kumbukumbu la kibinafsi, na kisha kwa nambari inayotekelezwa kwa kawaida kuamua thamani yao kupitia wakati. uchambuzi hufikia data iliyoakibishwa na isiyohifadhiwa.

Chanzo: opennet.ru

Kuongeza maoni