Mae iLeakage yn ddull o fanteisio ar wendid yn y CPU Apple trwy borwyr sy'n seiliedig ar yr injan WebKit.

Mae ymchwilwyr o Sefydliad Technoleg Georgia, Prifysgol Michigan a Phrifysgol Ruhr wedi datblygu techneg ymosodiad iLeakage, sy'n caniatáu manteisio ar fregusrwydd mewn proseswyr ARM cyfres A- a M-Afalau trwy agor tudalen a ddyluniwyd yn arbennig yn y porwr. Mae prototeipiau manteisio a baratowyd gan yr ymchwilwyr yn caniatáu, wrth redeg cod JavaScript mewn porwr, i ddarganfod cynnwys gwefannau a agorwyd mewn tabiau eraill. Er enghraifft, dangosasant y gallu i bennu testun llythyr a agorwyd mewn tab Gmail, gweld YouTube hanes, ac adalw'r cyfrinair a fewnosodwyd gan reolwr cyfrinair LastPass i'r ffurflen mewngofnodi. Instagram. Mae'r ymosodiad yn berthnasol i borwr Safari ar systemau gyda macOS ac unrhyw borwyr ar y platfform iOS (mae rheolau Apple yn mynnu bod pob porwr iOS yn defnyddio injan system WebKit yn unig, sy'n gyffredin i Safari).

Er bod yr ymosodiad yn berthnasol i gynhyrchion Apple yn unig, mae'n cynnig ffordd ddiddorol o osgoi cyfyngiadau datrys amserydd yn yr injan WebKit, a allai fod yn ddefnyddiol o bosibl ar gyfer osgoi cyfyngiadau tebyg mewn porwyr eraill. Mae'r bregusrwydd a nodwyd yn y sglodion Apple M1 a M2 yn atgoffa rhywun o'r bregusrwydd Specter v1 clasurol ac mae hefyd yn arwain at ollyngiad o gynnwys cof wrth berfformio gweithrediadau mewn modd hapfasnachol, sydd, rhag ofn y bydd rhagfynegiad anghywir, yn cael eu taflu gan y prosesydd, ond mae olion eu gweithrediad yn cael eu hadneuo yn storfa'r prosesydd.

Yn y dull ymosod hwn, roedd gweithredu hapfasnachol yn ei gwneud hi'n bosibl creu pwynt cyntefig ar gyfer darllen awgrymiadau 64-bit mympwyol yng ngofod cyfeiriad y broses sy'n gyfrifol am rendro cynnwys tudalennau yn y porwr. Er mwyn cael mynediad i ofod cyfeiriad y broses lle mae gwefan rhywun arall yn cael ei rendro, defnyddiwyd tric i agor y dudalen estron sy'n cael ei harchwilio mewn ffenestr naid gan ddefnyddio dull JavaScript window.open(). Yn yr achos hwn, agorwyd y wefan nid mewn proses ar wahân, ond yn yr un broses â chod yr ymosodwr.

Fel mesur diogelwch, dim ond gydag awgrymiadau 35-bit llawn dop y mae injan WebKit yn caniatáu i JavaScript weithio. Er mwyn darparu mynediad i ofod cyfeiriad y broses gyfan a osgoi'r terfyn 35-bit, defnyddiodd yr ymchwilwyr y dechneg Math Confusion i orfodi'r injan JavaScript i brosesu gwrthrych â math anghywir. Wrth brosesu gwrthrych JavaScript a ddyluniwyd yn arbennig yn yr injan, crëir amodau sy'n arwain at weithredu'n hapfasnachol o gyfarwyddiadau sy'n cyrchu'r arae.

Gan nad yw'r math o wrthrych yn cyfateb i'r math o arae sy'n cael ei brosesu, o dan amodau arferol mae gweithredoedd o'r fath yn cael eu rhwystro, felly mae'r cod ar gyfer yr ymosodiad Math o Dryswch yn cael ei roi mewn bloc "os" amodol, nad yw'n cael ei actifadu o dan amodau arferol. , ond fe'i gweithredir yn y modd hapfasnachol os yw'r prosesydd yn rhagweld canghennu pellach yn anghywir. O ganlyniad, mae'r prosesydd yn cael mynediad hapfasnachol i'r pwyntydd 64-did a gynhyrchir, ond mae'n rholio'r cyflwr yn ôl ar ôl pennu rhagfynegiad aflwyddiannus. Yn yr achos hwn, mae olion gweithredu hapfasnachol yn cael eu hadneuo yn y storfa a rennir a gellir eu hadfer gan ddefnyddio dulliau ar gyfer pennu cynnwys y storfa trwy sianeli ochr.

Er mwyn tynnu data o storfa CPU L1 sy'n weddill ar ôl gweithrediadau hapfasnachol, mae'r ymosodiad yn defnyddio addasiad o'r dull pLRU (ffug a Ddefnyddiwyd yn Ddiweddaraf) a gynigiwyd yn flaenorol gan Google. Yn yr achos hwn, mae'r dull pLRU gwreiddiol yn seiliedig ar fesur oedi wrth gyrchu data, y mae ei wahaniaeth yn ei gwneud hi'n bosibl barnu a yw dilyniant penodol yn storfa'r prosesydd ai peidio (os yw'r data'n cael ei storio, mae'r llawdriniaeth yn cael ei berfformio'n gyflymach, ac os na, arafach). Er mwyn amddiffyn rhag stilio storfa prosesydd mewn porwyr modern, mae cywirdeb yr amserydd yn cael ei leihau'n sylweddol i lefel nad yw'n caniatáu canfod gwahaniaethau.

Er mwyn goresgyn y cyfyngiad cywirdeb amserydd yn yr ymosodiad iLeakage, cynigir techneg i bennu presenoldeb neu absenoldeb data yn y storfa gan ddefnyddio cyflwr hil. Hanfod y dull yw lansio dwy edefyn ar yr un pryd - y prif a'r cyfeirnod. Mae edefyn cyfeirio yn cynnwys dilyniant o gyfarwyddiadau a weithredir ar amser cyfeirio penodol. Ar ddechrau gweithredu'r edefyn cyfeirio, mae newidyn a rennir â'r prif edefyn wedi'i osod i 1, ac ar ôl i'r cyfarwyddiadau gael eu gweithredu, caiff y newidyn ei ailosod i sero. Felly, dim ond gwerth 1 am gyfnod byr penodol sydd gan newidyn a rennir.

Mae'r prif edefyn yn cychwyn cylch ar gyfer pennu data yn y storfa gan ddefnyddio'r dull pLRU. Nid arwydd o bresenoldeb neu absenoldeb data wedi'i wirio yn y storfa yw'r mesuriad amser gan yr amserydd, ond cyflwr y newidyn ar y cyd ar ôl gwirio. Os oes gan y newidyn werth o 1, yna cwblhawyd y gweithrediad yn gyflymach na'r cod cyfeirio wedi'i gyflawni mewn edefyn cyfochrog, h.y. gwasanaethwyd y data o'r storfa. Os yw'r newidyn yn cynnwys y gwerth 0, yna cymerodd y llawdriniaeth amser cymharol hir i'w gwblhau oherwydd y diffyg data yn y storfa ac roedd gan y cod cyfeirio yn yr edefyn cyfochrog amser i gael ei brosesu'n llawn.

iLeakage - dull o fanteisio ar fregusrwydd yn y CPU Apple trwy borwyr sy'n seiliedig ar yr injan WebKit

Mae cywirdeb y dull arfaethedig ar gyfer pennu cynnwys storfa yn amrywio o 90% i 99%, ac mae perfformiad pennu data rhwng 23 a 34 beit yr eiliad, yn dibynnu ar y prosesydd a'r ddyfais. Cyn cynnal yr ymosodiad, mae angen graddnodi'r cod cyfeirio, sy'n cymryd tua phum munud. Unwaith y bydd y graddnodi wedi'i chwblhau ar gyfer y system gyfredol, mae'n cymryd tua 64 eiliad i echdynnu llinyn 30-cymeriad.

iLeakage - dull o fanteisio ar fregusrwydd yn y CPU Apple trwy borwyr sy'n seiliedig ar yr injan WebKit
iLeakage - dull o fanteisio ar fregusrwydd yn y CPU Apple trwy borwyr sy'n seiliedig ar yr injan WebKit

Yn ogystal, gallwn nodi cyhoeddi ecsbloetio prototeip sy'n defnyddio bregusrwydd Zenbleed mewn proseswyr AMD yn seiliedig ar ficrosaernïaeth Zen2 i echdynnu data a broseswyd mewn prosesau eraill wrth agor tudalen gyda'r camfanteisio yn Chrome. Yn ogystal â bregusrwydd Zenbleed (CVE-2023-20593), mae'r camfanteisio hefyd yn cynnwys bregusrwydd CVE-2023-3079 yn yr injan V8, wedi'i osod yn Chrome 115.

Ffynhonnell: opennet.ru

Ychwanegu sylw