Dibyniaeth amser gweithredu cyfarwyddiadau ar ddata ar CPUs ARM ac Intel

Cynigiodd Eric Biggers, un o ddatblygwyr cipher Adiantum a chynhaliwr is-system fscrypt cnewyllyn Linux, set o glytiau i rwystro problemau diogelwch sy'n deillio o nodwedd o broseswyr Intel nad yw'n gwarantu amseroedd gweithredu cyson ar gyfer gwahanol ddata wedi'u prosesu. Mae'r broblem yn ymddangos mewn proseswyr Intel gan ddechrau gyda'r teulu Ice Lake. Gwelir problem debyg mewn proseswyr ARM.

Mae presenoldeb dibyniaeth amser gweithredu cyfarwyddiadau ar y data a brosesir yn y cyfarwyddiadau hyn yn cael ei ystyried gan awdur y clytiau fel bregusrwydd mewn proseswyr, gan na all ymddygiad o'r fath warantu diogelwch gweithrediadau cryptograffig a gyflawnir yn y system. Mae llawer o weithrediadau algorithmau cryptograffig wedi'u cynllunio i sicrhau nad yw data'n effeithio ar amser gweithredu cyfarwyddiadau, a gall torri'r ymddygiad hwn arwain at greu ymosodiadau ochr-sianel sy'n adennill data yn seiliedig ar ddadansoddiad o'i amser prosesu.

O bosibl, gellir defnyddio dibyniaeth ar ddata amser rhedeg hefyd i lansio ymosodiadau i bennu data cnewyllyn o ofod defnyddwyr. Yn Γ΄l Eric Biggers, ni ddarperir amser gweithredu cyson yn ddiofyn hyd yn oed ar gyfer cyfarwyddiadau sy'n perfformio gweithrediadau adio a XOR, yn ogystal ag ar gyfer cyfarwyddiadau AES-NI arbenigol (gwybodaeth na chadarnhawyd gan brofion, yn Γ΄l data arall, mae oedi o un). cylchred yn ystod lluosi fector a chyfrif didau ).

Er mwyn analluogi'r ymddygiad hwn, mae Intel ac ARM wedi cynnig baneri newydd: PSTATE bit DIT (Amseriad Annibynnol Data) ar gyfer CPUau ARM a bit MSR DOITM (Data Operand Modd Amseru Annibynnol) ar gyfer CPUs Intel, gan ddychwelyd yr hen ymddygiad gydag amser gweithredu cyson. Mae Intel ac ARM yn argymell galluogi amddiffyniad yn Γ΄l yr angen ar gyfer cod critigol, ond mewn gwirionedd, gall cyfrifiant critigol ddigwydd yn unrhyw le yn y cnewyllyn a gofod y defnyddiwr, felly rydym yn ystyried galluogi moddau DOITM a DIT ar gyfer y cnewyllyn cyfan bob amser.

Ar gyfer proseswyr ARM, mae cangen cnewyllyn Linux 6.2 eisoes wedi mabwysiadu clytiau sy'n newid ymddygiad y cnewyllyn, ond ystyrir bod y clytiau hyn yn annigonol gan eu bod yn cwmpasu'r cod cnewyllyn yn unig ac nid ydynt yn newid ymddygiad y gofod defnyddiwr. Ar gyfer proseswyr Intel, mae cynnwys amddiffyniad yn dal i fod yn y cam adolygu. Nid yw effaith y clwt ar berfformiad wedi'i fesur eto, ond yn Γ΄l dogfennaeth Intel, mae galluogi modd DOITM yn lleihau perfformiad (er enghraifft, trwy analluogi rhai optimeiddio, megis rhaglwytho data-benodol) ac mewn modelau prosesydd yn y dyfodol gall y gostyngiad perfformiad gynyddu. .

Ffynhonnell: opennet.ru

Ychwanegu sylw