Autorių : Juhee Kim Jinbum Park Sihyeon Roh Jaeyoung Chung Youngjoo Lee Taesoo Kim Byoungyoung Lee Authors: Šilutė Kim Jinbum parkas Šilutė Roh Jaeyoung Chung Jaunasis Lee Tauragė Kim Byoungyoung li Table Of Links Stalas kairėje Abstrakcijos 1. Introduction 1 Įvadas 2. Background II. Pagrindinis Atminties žymės pratęsimas Spekuliatyvios mirties bausmės 3. Threat Model Grėsmės modelis 4. Finding Tag Leakage Gadgets Žymės: tag leakage gadgets Žymė: Leakage Template Žymė: Fuzzing 5. TIKTAG Gadgets 5.TIKTAG prietaisai TIKTAG-v1: išnaudojant spekuliacijos susiaurėjimą TIKTAG-v2: Išnaudojant parduotuvės įkrovimo išankstinį pristatymą 6. Real-World Attacks 6. Real-World Attacks 6.1 „Chrome“ ataka 7. Evaluation 7 Vertinimas 8. Related work 8 Susiję darbai 9. Conclusion And References Išvada ir nuorodos Abstract Abstrakcijos ARM atminties žymėjimo plėtinys (MTE) yra nauja aparatinės įrangos funkcija, įdiegta ARMv8.5-A architektūroje, kuria siekiama aptikti atminties pažeidžiamumo pažeidžiamumo pažeidžiamumus.MTE mažas viršelis daro jį patraukliu sprendimu siekiant sumažinti atminties pažeidžiamumo išpuolius šiuolaikinėse programinės įrangos sistemose ir laikomas perspektyviausiu keliu į priekį siekiant pagerinti C/C++ programinės įrangos saugumą. Konkrečiai kalbant, šiame dokumente nustatomi nauji TIKTAG įtaisai, galintys ištrinti MTE žymes iš savavališkų atminties adresų spekuliatyviu vykdymu.Naudodami TIKTAG įtaisus, užpuolikai gali apeiti tikimybinę MTE gynybą, padidindami atakų sėkmės rodiklį beveik 100%.Mes parodome, kad TIKTAG įtaisai gali būti naudojami MTE pagrindu pagrįstam švelninimui apeiti realaus pasaulio sistemose, „Google Chrome“ ir Linux branduolyje. Eksperimentiniai rezultatai rodo, kad „TIKTAG“ įtaisai gali sėkmingai išleisti MTE žymę, o sėkmės rodiklis yra didesnis nei 95% per mažiau nei 4 sekundes. Įvadas Atminties pažeidžiamumas kelia didelių saugumo grėsmių kompiuterinėms sistemoms. Išnaudojant atminties pažeidžiamumą, užpuolikas sugadina atmintyje saugomus duomenis, pagrobia kontrolės srautą arba sukuria nukentėjusiojo duomenis.Toks išnaudojimas leidžia užpuolikui vykdyti savavališką kodą, padidinti savo privilegijas arba išleisti saugumo jautrius duomenis, kritiškai pakenkiant kompiuterinės sistemos saugumui. Reaguodama į šias grėsmes, ARM atminties žymėjimo plėtinys (MTE) neseniai buvo pasiūlytas nuo ARMv8.5- Architektūra, kuri yra naujas aparatūros plėtinys, skirtas sumažinti atminties sugadinimo išpuolius. Techniškai, MTE suteikia dvi aparatūros primityvias operacijas, (i) žymės ir (ii) žymės patikrinimas. žymės operacija priskiria žymę atminties vietai (t. y. 4 bitų žymę kiekvienai 16 baitų atminčiai). Tada prieigos prie atminties metu atliekama žymės tikrinimo operacija, kurioje lyginami du žymenys, vienas įterptas į rodyklę, kad būtų galima pasiekti atmintį, o kitas susijęs su prisijungimo prie atminties vieta. Jei šie du žymenys yra vienodi, prieiga leidžiama. Naudojant MTE, galima sukurti įvairius švelninimo metodus, priklausomai nuo to, kuris žymuo yra priskirtas arba kurie atminties regionai yra pažymėti. Pavyzdžiui, MTE palaikomi atminties paskirstytojai, pvz., „Android Scudo“ [3] ir „Chrome PartitionAlloc [2], priskiria atsitiktinį žymenį visoms dinamiškai priskirtoms atmintims. Tada žymeklis į šią paskirstytą atmintį įterpia žymę, o kai žymeklis yra propaguojamas, žymeklis atitinkamai propaguojamas kartu. Kai prieinama bet kuri dinamiškai paskirstyta atmintis, vykdoma žymeklio tikrinimo operacija. Kadangi žymės yra atsitiktinai priskiriamos paleidimo metu, įsilaužėliui sunku teisingai atspėti žymę. MTE kelia didelių iššūkių įsilaužėliams išnaudoti atminties pažeidžiamumo pažeidžiamumą. Tai yra todėl, kad MTE pagrįsti sprendimai aptinka pažeidžiamumo elgesį, kuris yra artimas pagrindinei erdvinės ir laikinosios atminties pažeidžiamumo priežastimi. Konkrečiai, kadangi MTE užtikrina, kad ryšys tarp rodyklės ir atminties vietos nebūtų sugadintas, ji greitai aptinka pažeidžiamumą – t. y. MTE greitai aptinka momentą, kai prieiga už ribų įvyksta perpildymo pažeidžiamumo metu arba kai šliaužiantis rodyklė yra atkurta naudojimo po naudojimo. Tai suteikia MTE didelių saugumo pranašumų, ypač palyginti su populiariais švelninimo metodais, tokiais kaip CFI [6, 52, 62], kuris neatpažįsta atminties pažeidimo, bet aptinka kontrolės srauto įsilaužimo elgesį (t. y. išnaudojimo elgesį). Šiame dokumente mes nagrinėjame, ar MTE teikia saugumo užtikrinimą, kaip žadėta. Visų pirma, mes analizavome, ar spekuliacinio vykdymo išpuoliai gali būti saugumo grėsmė MTE pažeidimui. Apibendrinant mūsų rezultatus, mes nustatėme, kad spekuliacinio vykdymo išpuoliai iš tikrųjų yra įmanomi prieš MTE, o tai rimtai kenkia MTE saugumo užtikrinimui. Mes atradome du naujus įtaisus, vadinamus TIKTAG-v1 ir TIKTAG-v2, kurie gali išleisti MTE žymę dėl savavališko atminties adreso. Konkrečiai kalbant, TIKTAG-v1 išnaudoja spekuliacijų susiaurėjimą, susijusį su šakos prognozavimu ir duomenų išankstiniu perdavimu, o TIKTAGv2 išnaudoja parduotuvės-krovos perdavimo elgesį. Norėdami parodyti realaus pasaulio MTE pagrįstų švelninimo panaudojimo galimybes, mes sukūrėme du realaus pasaulio išpuolius, turinčius išskirtinius atakų paviršius: „Google Chrome“ ir „Linux“ branduolį. Mes taip pat siūlome švelninimo schemas, kad būtų užkirstas kelias TIKTAG prietaisų išnaudojimui, išlaikant MTE naudojimo naudą. Palyginti su ankstesniais MTE šalutiniais kanalais [22, 38], manome, kad šis straipsnis daro unikalų indėlį dėl šių priežasčių. Priešingai, mes nustatėme, kad žymenų patikrinimai iš tikrųjų sukuria talpyklos būsenos skirtumą spekuliatyviame vykdyme. Kitas nepriklausomas darbas, „StickyTags“ [22], atrado MTE žymenų nutekėjimo įtaisą, kuris yra vienas iš TIKTAG-v1 įtaiso pavyzdžių, ir įtarė, kad pagrindinė priežastis yra atminties prieštaravimas dėl klaidingų žymenų patikrinimo klaidų. Šiame dokumente taip pat pranešama apie naujus MTE žymės nutekėjimo įtaisus, konkrečiai apie TIKTAGv1 įtaiso ir naujojo TIKTAG-v2 įtaiso variantus, kartu su plėtojamu išnaudojimu prieš „Chrome“ ir „Linux“ branduolį.Be to, šiame dokumente siūlomi nauji gynybos mechanizmai, siekiant užkirsti kelią TIKTAG įtaisams nutekėti MTE žymes, tiek aparatūros, tiek programinės įrangos lygiu. Atsižvelgiant į didelį saugumo pranašumą, tikimasi, kad artimiausioje ateityje daugelis MTE pagrįstų švelninimo priemonių (pvz., jautrių duomenų apsauga [29, 31] ir duomenų srauto vientisumas [13, 40, 60]) bus įdiegtos MTE palaikančiuose įrenginiuose (pvz., „Android“ mobiliesiems telefonams). Taigi, šio dokumento rezultatai, ypač tai, kaip TIKTAG įrenginiai yra sukurti ir kaip MTE žymės gali būti nutekėjusios, atskleidžia, kaip turėtų būti suprojektuoti MTE pagrįsti sprendimai arba kaip CPU turėtų būti įgyvendinamas mikroarchitektūros lygiu. 2023 m. lapkričio mėn. ARM pripažino ir viešai atskleidė šią problemą 2023 m. gruodžio mėn. [34] Kita tyrimų grupė pranešė apie panašią problemą su ARM ir paskelbė savo išvadas [22], kurios buvo atliktos nepriklausomai nuo mūsų darbo. Atsakingas atskleidimas . 2023 m. gruodžio mėn. „Google Chrome V8“ spekuliatyvius pažeidžiamumus pranešėme „Chrome“ saugumo komandai.Jie pripažino problemas, bet nusprendė jų neištaisyti, nes „V8 sandbox“ nėra skirtas garantuoti atminties duomenų ir MTE žymenų konfidencialumo.Kadangi šiuo metu „Chrome“ naršyklė pagal numatytuosius nustatymus neleidžia MTE pagrįstos apsaugos, mes tam tikru mastu sutinkame su jų sprendimu. Tačiau mes manome, kad naršyklės saugumas gali būti pagerintas, jei MTE pagrįstos gynybos priemonės bus įdiegtos su mūsų siūlomomis atsakomosiomis priemonėmis (6.1.4 skirsnis).2024 m. balandžio mėn. „Android“ saugumo komandai taip pat pranešėme apie „Pixel 8“ įrenginyje esančius MTE orakulus. „Android“ saugumo komanda pripažino problemą kaip „Pixel 8“ aparatūros trūkumą, nusprendė spręsti problemą „Android“ MTE pagrįstoje gynyboje ir už ataskaitą apdovanojo premiją. Šis dokumentas yra prieinamas archyve pagal CC 4.0 licenciją. Šis popierius yra Pagal CC 4.0 licenciją. available on arx iv iv