Ymosodiad newydd ar strwythurau micro-bensaernïol proseswyr Intel ac AMD

Cyflwynodd grŵp o ymchwilwyr o Brifysgol Virginia a Phrifysgol California fath newydd o ymosodiad ar strwythurau micro-bensaernïol proseswyr Intel ac AMD, a nodwyd yn ystod peirianneg wrthdroi galluoedd CPU heb eu dogfennu. Mae'r dull ymosod arfaethedig yn cynnwys defnyddio storfa micro-op canolraddol mewn proseswyr, y gellir ei ddefnyddio i adalw gwybodaeth a gasglwyd wrth weithredu cyfarwyddiadau ar hap.

At ddibenion optimeiddio, mae'r prosesydd yn dechrau gweithredu rhai cyfarwyddiadau yn y modd hapfasnachol, heb aros i gyfrifiadau blaenorol gael eu cwblhau, ac os yw wedyn yn penderfynu nad oedd cyfiawnhad dros y rhagfynegiad, mae'n dychwelyd y llawdriniaeth i'w gyflwr gwreiddiol, ond mae'r data a broseswyd yn ystod mae cyflawni hapfasnachol yn cael ei adneuo mewn storfa, y gellir pennu ei gynnwys.

Nodir bod y dull newydd yn perfformio'n sylweddol well na'r ymosodiad Specter v1, yn gwneud yr ymosodiad yn anodd ei ganfod ac nad yw'n cael ei rwystro gan ddulliau amddiffyn presennol rhag ymosodiadau sianel ochr a gynlluniwyd i rwystro gwendidau a achosir gan weithredu cyfarwyddiadau ar hap (er enghraifft, y defnydd o'r blociau cyfarwyddyd LFENCE gollyngiadau yn y camau olaf o weithredu hapfasnachol , ond nid yw'n amddiffyn rhag gollyngiadau trwy strwythurau micro-bensaerniol).

Mae'r dull yn effeithio ar fodelau prosesydd Intel ac AMD a ryddhawyd ers 2011, gan gynnwys cyfres Intel Skylake ac AMD Zen. Mae CPUs modern yn torri cyfarwyddiadau prosesydd cymhleth yn ficro-weithrediadau symlach tebyg i RISC, sy'n cael eu storio mewn storfa ar wahân. Mae'r storfa hon yn sylfaenol wahanol i caches lefel uwch, nid yw'n hygyrch yn uniongyrchol ac mae'n gweithredu fel byffer ffrwd ar gyfer mynediad cyflym i ganlyniadau datgodio cyfarwyddiadau CISC yn ficro-gyfarwyddiadau RISC. Fodd bynnag, mae ymchwilwyr wedi dod o hyd i ffordd o greu amodau sy'n codi pan fydd gwrthdaro mynediad cache a chaniatáu i un farnu cynnwys y storfa micro-weithrediad trwy ddadansoddi gwahaniaethau yn amser gweithredu rhai gweithredoedd.

Ymosodiad newydd ar strwythurau micro-bensaernïol proseswyr Intel ac AMD

Mae'r storfa micro-weithrediad mewn proseswyr Intel wedi'i rannu mewn perthynas ag edafedd CPU (Hyper-Threading), tra bod proseswyr AMD Zen yn defnyddio storfa a rennir, sy'n creu amodau ar gyfer gollwng data nid yn unig o fewn un edefyn gweithredu, ond hefyd rhwng gwahanol edafedd yn UDRh (gollyngiad data posibl rhwng cod sy'n rhedeg ar wahanol greiddiau CPU rhesymegol).

Mae ymchwilwyr wedi cynnig dull sylfaenol ar gyfer canfod newidiadau yn y storfa micro-weithrediad a sawl senario ymosodiad sy'n caniatáu creu sianeli trosglwyddo data cudd a defnyddio cod bregus i ollwng data cyfrinachol, o fewn un broses (er enghraifft, i ollwng data proses wrth weithredu cod trydydd parti mewn peiriannau gyda JIT ac mewn peiriannau rhithwir), a rhwng y cnewyllyn a'r prosesau yn y gofod defnyddwyr.

Wrth drefnu amrywiad o ymosodiad Specter gan ddefnyddio storfa micro-weithrediad, roedd ymchwilwyr yn gallu cyflawni perfformiad o 965.59 Kbps gyda chyfradd gwall o 0.22% a 785.56 Kbps wrth ddefnyddio cywiro gwall, yn achos trefnu gollyngiad o fewn yr un cyfeiriad lefel gofod a braint. Gyda gollyngiad yn rhychwantu gwahanol lefelau braint (rhwng cnewyllyn a gofod defnyddwyr), roedd perfformiad yn 85.2 Kbps gyda chywiriad gwall wedi'i ychwanegu a 110.96 Kbps gyda chyfradd gwallau o 4%. Wrth ymosod ar broseswyr AMD Zen, gan greu gollyngiad rhwng gwahanol greiddiau CPU rhesymegol, roedd y perfformiad yn 250 Kbps gyda chyfradd gwall o 5.59% a 168.58 Kbps gyda chywiro gwall. O'i gymharu â'r dull Specter v1 clasurol, roedd yr ymosodiad newydd 2.6 gwaith yn gyflymach.

Disgwylir y bydd amddiffyn rhag ymosodiad cache micro-op yn gofyn am newidiadau a fydd yn lleihau perfformiad yn fwy na phe baech yn galluogi amddiffyniad ymosodiad Specter. Fel cyfaddawd gorau posibl, cynigir atal ymosodiadau o'r fath nid trwy analluogi caching, ond ar lefel monitro anghysondebau a nodi cyflwr cache sy'n nodweddiadol ar gyfer ymosodiadau.

Fel yn achos ymosodiadau Specter, mae trefnu gollyngiad o'r cnewyllyn neu brosesau eraill yn gofyn am weithredu dilyniant penodol o orchmynion (teclynnau) ar ochr prosesau'r dioddefwr, gan arwain at weithredu cyfarwyddiadau ar hap. Mae tua 100 o declynnau tebyg wedi'u canfod yn y cnewyllyn Linux, a fydd yn cael eu tynnu, ond darganfyddir atebion ar gyfer eu cenhedlaeth o bryd i'w gilydd, er enghraifft, yn ymwneud â rhedeg rhaglenni BPF a ddyluniwyd yn arbennig yn y cnewyllyn.

Ffynhonnell: opennet.ru

Ychwanegu sylw