Дзве напады на механізм прадказання каналаў кэша ў працэсарах AMD

Група даследнікаў з Грацкага тэхнічнага ўніверсітэта (Аўстрыя), раней вядомая распрацоўкай метадаў нападаў МДС, NetSpectre, Throwhammer и ZombieLoad, правяла даследаванне спецыфічных для працэсараў AMD апаратных аптымізацый і распрацавала два новых метаду нападаў па іншых каналах, якія маніпулююць уцечкамі дадзеных падчас прац механізму прадказання каналаў кэша першага ўзроўня працэсараў AMD. Метады могуць выкарыстоўвацца для зніжэння эфектыўнасці абароны ASLR, аднаўленні ключоў ва ўразлівых рэалізацыях AES і падвышэнні эфектыўнасці нападу Spectre.

Праблемы выяўлены ў рэалізацыі механізму прадказання канала (way predictor) у кэшы дадзеных першага ўзроўня CPU (L1D), выкарыстоўванага для прадказання ў якім канале кэша адлюстраваны вызначаны адрас памяці. Ужывальная ў працэсарах AMD аптымізацыя грунтуецца на праверцы μ-тэгаў (μTag). μTag вылічаецца праз ужыванне спецыфічнай хэш-функцыі да віртуальнага адрасу. У працэсе працы механізм прадказання канала выкарыстоўвае μTag для вызначэння канала кэша па табліцы. Такім чынам, μTag дазваляе працэсару абмежавацца зваротам толькі да канкрэтнага канала, без перабору ўсіх варыянтаў, што істотна змяншае спажыванне энергіі CPU.

Дзве напады на механізм прадказання каналаў кэша ў працэсарах AMD

У ходзе зваротнага інжынірынгу рэалізацыі сістэмы прадказання канала ў розных пакаленнях працэсараў AMD, якія выпускаюцца з 2011 па 2019 год, выяўлены дзве новыя тэхнікі нападаў па іншых каналах:

  • Collide+Probe - дае магчымасць атакаваламу адсочваць зварот да памяці для працэсаў, выкананых на тым жа лагічным ядры CPU. Сутнасць метаду ў выкарыстанні віртуальных адрасоў, якія выклікаюць калізіі хэш функцыі, якая прымяняецца для вылічэння μTag, для адсочвання доступу да памяці. У адрозненне ад нападаў Flush+Reload і Prime+Probe, якія ўжываюцца на працэсарах Intel, Collide+Probe не выкарыстоўвае падзяляную памяць і працуе без ведання фізічных адрасоў.
  • Load+Reload - дазваляе вельмі дакладна вызначаць сляды доступу да памяці на тым жа фізічным ядры CPU. Метад засноўваецца на тым, што вочка фізічнай памяці можа знаходзіцца ў кэшы L1D толькі адзін раз. Г.зн. доступ да аднаго і таго ж вочку памяці па іншым віртуальным адрасе прывядзе да выцяснення вочка з кэша L1D, што дазваляе адсочваць доступ да памяці. Нягледзячы на ​​тое, што напад залежыць ад падзялянай памяці, яна не прыводзіць да скіду ліній кэша, што дае магчымасць правядзення ўтоеных нападаў, не якія выцясняюць дадзеныя з кэша апошняга ўзроўня.

На аснове тэхнік Collide+Probe і Load+Reload даследнікамі прадэманстравана некалькі сцэнараў нападу па іншых каналах:

  • Паказана магчымасць выкарыстання метадаў для арганізацыі ўтоенага ўскоснага канала сувязі паміж двума працэсамі, які дазваляе перадаваць дадзеныя на хуткасці да 588 кB у секунду.
  • Выкарыстоўваючы калізіі ў μTag атрымалася дамагчыся скарачэнні энтрапіі для розных варыянтаў ASLR (Address Space Layout Randomization) і абыйсці абарону ASLR у ядры на цалкам абноўленай Linux-сістэме. Паказана магчымасць здзяйснення нападу па зніжэнні энтрапіі ASLR як з карыстацкіх прыкладанняў, так і пры дапамозе выкананага ў sandbox-акружэнні JavaScript-кода і кода, запушчанага ў іншым госцевым асяроддзі.

    Дзве напады на механізм прадказання каналаў кэша ў працэсарах AMD

  • На базе метаду Collide+Probe рэалізаваны напад па аднаўленні ключа шыфравання з уразлівай рэалізацыі (на аснове T-table) шыфравання AES.
  • Ужыўшы метад Collide+Probe у якасці канала для атрымання дадзеных падчас нападаў Spectre атрымалася выняць зачыненыя дадзеныя з ядра, не выкарыстоўваючы падзяляную памяць.

Уразлівасць выяўляецца на працэсарах AMD на базе мікраархітэктур
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen + і Zen2.
Кампанія AMD была апавешчана аб праблеме 23 жніўня 2019 года, але пакуль не выпусціла справаздачу з інфармацыяй аб блакаванні ўразлівасці. Па дадзеных даследнікаў праблему можна блакаваць на ўзроўні абнаўлення мікракода праз падаванне MSR-бітаў для выбарачнага адключэння сістэмы прадказання канала, па аналогіі з тым, як паступіла кампанія Intel для кіравання адключэннем механізмаў прадказання пераходаў.

Дзве напады на механізм прадказання каналаў кэша ў працэсарах AMD

Крыніца: opennet.ru

Дадаць каментар