Ymosod ar Intel SGX i echdynnu data sensitif neu weithredu cod mewn amgaead

Mae ymchwilwyr o Brifysgol Gwyddoniaeth a Thechnoleg Amddiffyn Byddin Ryddhad y Bobl, Prifysgol Genedlaethol Singapore ac ETH Zurich wedi datblygu dull newydd o ymosod ar gilfachau ynysig Intel SGX (Software Guard eXtensions). Gelwir yr ymosodiad yn SmashEx ac fe'i hachosir gan broblemau wrth fynd yn Γ΄l wrth drin sefyllfaoedd eithriadol yn ystod gweithrediad cydrannau amser rhedeg ar gyfer Intel SGX. Mae'r dull ymosod arfaethedig yn ei gwneud hi'n bosibl, os oes gennych reolaeth dros y system weithredu, i bennu data cyfrinachol sydd wedi'i leoli yn yr amgaead, neu i drefnu copΓ―o'ch cod i gof yr amgaead a'i weithrediad.

Mae prototeipiau manteisio wedi'u paratoi ar gyfer cilfachau gydag amser rhedeg yn seiliedig ar Intel SGX SDK (CVE-2021-0186) a Microsoft Open Enclave (CVE-2021-33767). Yn yr achos cyntaf, dangoswyd y gallu i echdynnu allwedd RSA a ddefnyddir ar weinydd gwe ar gyfer HTTPS, ac yn yr ail, roedd yn bosibl pennu'r cynnwys a gafwyd gan y cyfleustodau cURL sy'n rhedeg y tu mewn i'r amgaead. Mae'r bregusrwydd eisoes wedi cael sylw rhaglennol yn y datganiadau o Intel SGX SDK 2.13 ac Open Enclave 0.17.1. Yn ogystal Γ’'r Intel SGX SDK a Microsoft Open Enclave, mae'r bregusrwydd hefyd yn ymddangos yn y Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX a Veracruz.

Gadewch inni gofio bod technoleg SGX (Estyniadau Gwarchodlu Meddalwedd) wedi ymddangos ym mhroseswyr Intel Core y chweched genhedlaeth (Skylake) ac yn cynnig cyfres o gyfarwyddiadau sy'n caniatΓ‘u i gymwysiadau lefel defnyddiwr ddyrannu ardaloedd cof caeedig - cilfachau, na ellir darllen eu cynnwys a wedi'i addasu hyd yn oed gan y cnewyllyn a'r cod a weithredir mewn moddau ring0, SMM a VMM. Mae'n amhosibl trosglwyddo rheolaeth i'r cod yn y cilfach gan ddefnyddio swyddogaethau naid traddodiadol a thriniadau gyda chofrestrau a'r pentwr - defnyddir cyfarwyddiadau newydd a grΓ«wyd yn arbennig EENTER, EEXIT ac ERESUME i drosglwyddo rheolaeth i'r amgaead, sy'n perfformio gwiriadau awdurdod. Yn yr achos hwn, gall y cod a osodir yn yr amgaead ddefnyddio dulliau galw clasurol i gael mynediad at swyddogaethau y tu mewn i'r amgaead a chyfarwyddiadau arbennig i alw swyddogaethau allanol. Defnyddir amgryptio cof enclave i amddiffyn rhag ymosodiadau caledwedd megis cysylltu Γ’ modiwl DRAM.

Ymosod ar Intel SGX i echdynnu data sensitif neu weithredu cod mewn amgaead

Y broblem yw bod technoleg SGX yn caniatΓ‘u i'r system weithredu erthylu amgaead trwy daflu eithriad caledwedd, ac nid yw cilfachau yn gweithredu cyntefig yn iawn ar gyfer trin eithriadau o'r fath yn atomig. Yn wahanol i gnewyllyn y system weithredu a chymwysiadau rheolaidd, nid oes gan god y tu mewn i amglwyfau fynediad at gyntefig ar gyfer trefnu gweithredoedd atomig wrth drin eithriadau a daflwyd yn anghydamserol. Heb y cyntefig atomig penodedig, gellir torri ar draws yr amgaead ar unrhyw adeg a'i ddychwelyd i'w weithredu, hyd yn oed ar adegau pan fo'r cilfach yn gweithredu adrannau critigol a'i fod mewn cyflwr anniogel (er enghraifft, pan nad yw cofrestrau CPU yn cael eu cadw/adfer).

Ymosod ar Intel SGX i echdynnu data sensitif neu weithredu cod mewn amgaead

Ar gyfer gweithrediad arferol, mae technoleg SGX yn caniatΓ‘u i eithriadau caledwedd ffurfweddadwy ymyrryd Γ’ gweithredu'r amgaead. Mae'r nodwedd hon yn caniatΓ‘u i amgylcheddau amser rhedeg cilfach weithredu trin eithriad o fewn gilfach neu brosesu signal, ond gall hefyd achosi gwallau dychwelyd. Mae ymosodiad SmashEx yn seiliedig ar fanteisio ar ddiffygion yn y SDK oherwydd nad yw'r sefyllfa o ail-alw'r triniwr eithriadau yn cael ei drin yn iawn. Er mwyn manteisio ar y bregusrwydd, mae'n bwysig bod yn rhaid i'r ymosodwr allu torri ar draws gweithrediad y cilfach, h.y. rhaid iddo reoli gweithrediad amgylchedd y system.

Ar Γ΄l taflu eithriad, mae'r ymosodwr yn derbyn ffenestr amser fach lle gellir rhyng-gipio'r edau gweithredu trwy drin y paramedrau mewnbwn. Yn benodol, os oes gennych fynediad i'r system (amgylchedd y tu allan i'r amgaead), gallwch greu eithriad newydd yn syth ar Γ΄l gweithredu'r cyfarwyddyd mynediad amgaead (EENTER), a fydd yn dychwelyd rheolaeth i'r system ar adeg pan fydd gosodiad y pentwr ar gyfer y nid yw cilfach wedi'i chwblhau eto, lle mae cyflwr y cofrestrau CPU hefyd wedi'i gadw.

Yna gall y system ddychwelyd rheolaeth yn Γ΄l i'r amgaead, ond gan nad oedd pentwr y clofan wedi'i ffurfweddu ar adeg yr ymyriad, bydd y cilfach yn gweithredu gyda'r pentwr yn byw yng nghof y system, y gellir ei ddefnyddio i ddefnyddio rhaglennu sy'n canolbwyntio ar ddychwelyd (ROP ) technegau ymelwa Rhaglennu Γ’ Chyfeiriadedd). Wrth ddefnyddio'r dechneg ROP, nid yw'r ymosodwr yn ceisio gosod ei god yn y cof, ond mae'n gweithredu ar ddarnau o gyfarwyddiadau peiriant sydd eisoes ar gael mewn llyfrgelloedd wedi'u llwytho, gan orffen gyda chyfarwyddyd dychwelyd rheolaeth (fel rheol, dyma ddiwedd swyddogaethau llyfrgell) . Mae gwaith y camfanteisio yn dibynnu ar adeiladu cadwyn o alwadau i flociau tebyg (β€œteclynnau”) i gael y swyddogaeth a ddymunir.

Ymosod ar Intel SGX i echdynnu data sensitif neu weithredu cod mewn amgaead
Ymosod ar Intel SGX i echdynnu data sensitif neu weithredu cod mewn amgaead


Ffynhonnell: opennet.ru

Ychwanegu sylw