ARM “TIKTAG” uzbrukums ietekmē Google Chrome un Linux sistēmas

Nesen korejiešu pētnieku komanda no Samsung, Seulas Nacionālās universitātes un Džordžijas Tehnoloģiju institūta ir pārbaudījusi jaunu spekulatīvu nāvessoda uzbrukumu ar nosaukumu TIKTAG. Diezgan pārsteidzoši, ka šis īpaši izstrādātais uzbrukums ir vērsts uz ARM Memory Tagging Extension, kas nodrošina datu noplūdi ar panākumu līmeni, kas pārsniedz 95%. Šī atklājuma praktiskā ietekme ir nozīmīga, jo tas ļauj hakeriem apiet galvenos aizsardzības mehānismus pret atmiņas bojājumiem.

Izpratne par ARM atmiņas marķēšanas paplašinājumu

Integrēts kā pamata opcija ar ARM v8. Konkrēti, 5 A arhitektūra, MTE, ir uzlabojums, risinot atmiņas bojājuma problēmu, kas ir viena no lielākajām drošības problēmu kategorijām. MTE tiek izmantota zemāka pieskaitāmā marķēšana ar četriem bitiem, kas piešķirti 16 baitu atmiņas blokiem. Šis mehānisms palīdz pārliecināties, ka atzīmei pievienotais rādītājs atbilst tā atmiņas apgabala tagam, kuram tiek piekļūts, tādējādi samazinot nesankcionētas piekļuves atmiņai un ļaunprātīgas izmantošanas gadījumus.

MTE, kā norādīts iepriekš, pastāv trīs kategorijās, proti; sinhrona, asinhrona, kā arī asimetriska, un katrai no tām ir līdzsvarots drošības un veiktspējas veids. Tomēr TIKTAG uzbrukums izceļ sistēmas ievainojamības, parādot, ka pat augstākā līmeņa aizsardzību var uzvarēt.

ARM “TIKTAG” uzbrukums ietekmē Google Chrome un Linux sistēmas
Attēla kredīts: arxiv.org

Pētnieki novēroja divas galvenās programmas ar augstu efektivitāti un ātrumu, tostarp TIKTAG-v1 un TIKTAG-v2, kuru mērķis bija spekulācijas ar MTE atmiņas tagu noplūdi.

TIKTAG-v1: filiāles prognozēšana un datu iepriekšēja ielāde

TIKTAG-v1 izmantotās funkcijas ietver spekulācijas samazināšanos zaru prognozēšanā un CPU datu sākotnējo ielādi. Šis sīkrīks ir izturīgs pret Linux kodolu, jo īpaši funkcijās, kas saistītas ar atmiņas spekulācijām. Ļaunprātīgs kods maina kodola norādes un izmanto kešatmiņas sānu kanālus, izmantojot sistēmas izsaukuma funkciju izsaukumus; pēc tam viņi piekļūst un mēra kešatmiņas stāvokļus, lai iegūtu atmiņas tagus.

tiktag 1tiktag 1
Attēla kredīts: arxiv.org

TIKTAG-v2: pārsūtīšana no veikala līdz ielādei

TIKTAG-v2 koncentrējas uz pārsūtīšanu no veikala līdz ielādei procesora laika spekulācijās. Pirmais solis ir saglabāt vērtību atmiņas adresē un vienlaikus ielādēt to no tās pašas adreses. Vērtība tiek nodota nākamajam tagam, veiksmīgi ielādējot un mainot koplietotās kešatmiņas stāvokli. No otras puses, neatbilstība novērš pārsūtīšanu, kešatmiņas stāvoklis paliek tajā pašā stāvoklī. Ja uzbrucēji pārbauda kešatmiņas stāvokli pēc spekulatīvas izpildes, viņi var secināt par tagu pārbaudes rezultātu.

Tika pierādīts, ka TIKTAG-v2 ir efektīvs pret mērķa ievainojamo procesu — pārlūkprogrammu Google Chrome, uzsvaru liekot uz daļām, tostarp V8 JavaScript dzinēju: šajā rakstā ir parādīta arī atmiņas bojājuma ievainojamību izmantošana renderēšanas procesā. .

tiktag 2tiktag 2
Attēla kredīts: arxiv.org

Ietekme un nozares reakcija

MTE tagu noplūde nav saistīta ar paroļu, šifrēšanas atslēgu utt. noplūdi. Tomēr tā efektīvi vājina drošību, ko MTE apgalvo, ka piedāvā. Tāpēc tiek nodrošināti slēpti atmiņas korupcijas uzbrukumi. Lauka izpēte beidzās 2023. gada novembrī un decembrī, komandai iesniedzot konstatējumus organizācijām. Lai gan vispārējā uzņemšana ir bijusi diezgan pozitīva, nekavējoties netika piemēroti ātri pārnēsājami līdzekļi.

Tehniskajā dokumentā, kas tika deponēts repozitorijā, kas pazīstams kā arxiv.org, pētnieki ierosināja vairākus mazināšanas pasākumus, lai cīnītos pret TIKTAG uzbrukumiem. Pirmkārt, neļaujiet spekulācijām mainīt kešatmiņas stāvokļus pēc tagu pārbaudes. Otrkārt, spekulācijas barjeru (“sb” vai “isb” instrukciju) ietveršana palīdz novērst sensitīvu atmiņas procedūru izpildi. Treškārt, papildiniet papildu laiku starp filiāles instrukcijām un atmiņas piekļūšanu ar polsterēšanas instrukcijām. Visbeidzot, uzlabojiet smilškastes stratēģijas, lai pēc iespējas drošāk ierobežotu AMA konstruktivitāti saprātīgās atmiņas vietās.

mte apvedceļšmte apvedceļš
Attēla kredīts: arxiv.org

ARM un Chrome atbildes

ARM saprata, ka TIKTAG uzbrukums bija ļoti spēcīgs, un pēc tam norādīja, ka joprojām ir droši atklāt tagus piešķiršanai arhitektūras līmenī, izmantojot spekulatīvas metodes. Viņu biļetenā tika uzsvērts, ka piešķiršanas atzīmes adrešu telpā nav slēptas.

No otras puses, Google Chrome drošības komanda norādīja uz šīm problēmām, taču izvēlējās tās nelabot un atzīmēja, ka V8 smilškaste neglabā atmiņas datus un MTE tagus noslēpumā. Turklāt pašlaik pārlūkā Chrome nav iespējota uz MTE balstīta aizsardzība, tāpēc kļūdu labošana nav steidzama.

Lai gan Pixel 8 ierīces MTE orākulu mehānisms vēlāk tika atklāts Google Android drošības komandai 2024. gada aprīlī un tika apstiprināts kā aparatūras problēma, kas kvalificējās balvas saņemšanai. Uzbrukumi nebūtu bijuši iespējami, neizmantojot Pixel 8 ierīces sāknēšanas un atkopšanas attēlus.