Retbleed se yon nouvo atak sou mekanis egzekisyon spéculatif Intel ak AMD CPU

Yon gwoup chèchè nan ETH Zurich te idantifye yon nouvo atak sou mekanis nan ekzekisyon spéculatif nan tranzisyon endirèk nan CPU a, ki fè li posib yo ekstrè enfòmasyon ki soti nan memwa nwayo oswa òganize yon atak sou sistèm lame a soti nan machin vityèl. Frape yo gen non kod Retbleed (CVE-2022-29900, CVE-2022-29901) epi yo pre nati atak Spectre-v2. Diferans lan vini nan òganizasyon an nan ekzekisyon spéculatif nan kòd abitrè lè pwosesis "ret" (retounen) enstriksyon an, ki chache adrès la so soti nan chemine a, olye pou yo yon so endirèk lè l sèvi avèk enstriksyon "jmp" la, chaje adrès la soti nan. memwa oswa yon rejis CPU.

Yon atakè ka kreye kondisyon pou prediksyon tranzisyon kòrèk epi òganize yon tranzisyon vize, spéculatif nan yon blòk kòd ki pa bay nan lojik ekzekisyon pwogram lan. Finalman, processeur a pral detèmine ke prediksyon branch lan pa t jistifye epi li pral retounen operasyon an nan eta orijinal li, men done yo trete pandan ekzekisyon spéculatif pral fini nan kachèt la ak tanpon mikwochitekti. Si yon blòk egzekite erè jwenn aksè nan memwa, Lè sa a, ekzekisyon spéculatif li yo ap mennen nan done li nan memwa yo depoze nan kachèt la pataje.

Pou detèmine done ki rete nan kachèt la apre operasyon spéculatif, yon atakè ka sèvi ak teknik bò-chanèl pou detèmine done rezidyèl, tankou analize chanjman nan tan aksè nan done kachèt ak done ki pa kachèt. Pou fè espre ekstrè enfòmasyon ki soti nan zòn nan yon lòt nivo privilèj (pa egzanp, ki soti nan memwa nwayo), yo itilize "gadgets" - sekans kòmandman ki prezan nan nwayo a ki apwopriye pou li spéculatif done nan memwa depann sou kondisyon ekstèn ki ka enfliyanse pa. atakè a.

Pou pwoteje kont atak klasik Spectre klas ki sèvi ak enstriksyon so kondisyonèl ak endirèk, pifò sistèm operasyon yo itilize teknik "retpolin", ki baze sou ranplase operasyon so endirèk yo ak enstriksyon "ret", pou ki processeurs yo itilize yon inite prediksyon eta pile separe. pa itilize yon blòk prediksyon branch. Lè retpolin te prezante nan 2018, yo te kwè ke manipilasyon adrès ki tankou Spectre pa t 'pratik pou branch spéculatif lè l sèvi avèk enstriksyon "ret".

Chèchè yo ki te devlope metòd atak Retbleed te demontre posiblite pou yo kreye kondisyon mikwo-achitekti pou kòmanse yon tranzisyon spéculatif lè l sèvi avèk enstriksyon "ret" la epi pibliye zouti ki pare pou idantifye sekans enstriksyon (gadgets) apwopriye pou eksplwate vilnerabilite nan nwayo Linux la, kote kondisyon sa yo manifeste tèt yo.

Pandan rechèch la, yo te prepare yon eksplwatasyon k ap travay ki pèmèt, sou sistèm ki gen CPU Intel, ekstrè done abitrè ki soti nan memwa nwayo soti nan yon pwosesis san privilèj nan espas itilizatè a yon vitès 219 byte pou chak segonn ak 98% presizyon. Sou processeurs AMD, efikasite eksplwatasyon an pi wo anpil - to a koule se 3.9 KB pou chak segonn. Kòm yon egzanp pratik, nou montre kouman yo sèvi ak eksplwatasyon yo pwopoze a pou detèmine sa ki nan dosye a /etc/shadow. Sou sistèm ak CPU Intel, atak la pou detèmine hash modpas itilizatè rasin te fèt nan 28 minit, ak sou sistèm ak CPU AMD - nan 6 minit.

Atak la te konfime pou jenerasyon 6-8 nan processeurs Intel ki te lage anvan Q3 2019 (ki gen ladan Skylake), ak processeurs AMD ki baze sou Zen 1, Zen 1+, ak Zen 2 mikrochitekti ki te lage anvan Q2021 3. Nan nouvo modèl processeur tankou AMD ZenXNUMX ak Intel Alder Lake, osi byen ke nan processeur ARM, pwoblèm nan bloke pa mekanis pwoteksyon ki egziste deja. Pa egzanp, lè l sèvi avèk enstriksyon IBRS (Indirect Branch Restricted Speculation) ede pwoteje kont atak.

Yo te prepare yon seri chanjman pou nwayo Linux ak hypervisor Xen, ki pral bloke pwoblèm nan nan lojisyèl sou CPU ki pi gran yo. Patch yo pwopoze pou nwayo Linux la chanje 68 fichye, ajoute 1783 liy, epi efase 387 liy. Malerezman, pwoteksyon an mennen nan depans jeneral enpòtan - nan tèks yo ki fèt sou processeurs AMD ak Intel, diminisyon nan pèfòmans estime soti nan 14% a 39%. Li pi preferab pou sèvi ak pwoteksyon ki baze sou enstriksyon IBRS, ki disponib nan nouvo jenerasyon CPU Intel ak sipòte kòmanse ak Kernel Linux 4.19.

Sou processeurs Intel, sibstitisyon adrès pou yon so endirèk spéculatif fèt grasa yon karakteristik ki parèt lè yon debòde rive nan limit ki pi ba a (debòde) nan tanpon Return Stack la. Lè kondisyon sa yo rive, enstriksyon "ret" la kòmanse aplike lojik seleksyon adrès menm jan ak sa yo itilize pou so endirèk nòmal yo. Plis pase mil kote yo te jwenn nan nwayo Linux la ki kreye kondisyon pou inisye tankou yon backflow epi yo aksesib nan apèl sistèm.

Sou processeurs AMD, egzekisyon spéculatif nan enstriksyon "ret" la fèt san referans a yon tanpon espesifik pile (Return Address Stack) ak inite prediksyon branch la konsidere enstriksyon "ret" la pa kòm yon retou kontwòl, men kòm yon branch endirèk. , epi, kòmsadwa, sèvi ak done yo pou prediksyon tranzisyon endirèk. Nan kondisyon sa yo, nòmalman nenpòt operasyon "ret" ka jwenn atravè yon apèl sistèm ka eksplwate.

Anplis de sa, yo te idantifye yon lòt pwoblèm tou nan CPU AMD (CVE-2022-23825, Branch Type Confusion) ki gen rapò ak aplikasyon an nan branch fiktif - kondisyon pou prediksyon branch yo ka rive menm san enstriksyon ki nesesè pou branch, ki pèmèt enfliyanse tanpon prediksyon branch lan. san yo pa enstriksyon "ret". Karakteristik sa a siyifikativman konplike aplikasyon pwoteksyon epi li mande netwayaj pi aktif nan tanpon prediksyon branch lan. Ajoute pwoteksyon konplè nan nwayo a espere ogmante sou tèt la pa 209%.

Sous: opennet.ru

Add nouvo kòmantè