Datumoj trafluas tra la ringbuso de Intel CPU

Teamo de esploristoj de la Universitato de Ilinojso evoluigis novan flankan-kanalan atakteknikon, kiu manipulas informfluon per la Ring Interconnect de Intel-procesoroj. La atako permesas vin reliefigi informojn pri memoruzo en alia aplikaĵo kaj spuri informojn pri klavopremo. La esploristoj publikigis ilojn por plenumi rilatajn mezuradojn kaj plurajn prototipajn ekspluatojn.

Tri atingoj estis proponitaj kiuj permesos:

  • Reakiru individuajn pecojn de ĉifradŝlosiloj dum uzado de RSA kaj EdDSA-efektivigoj kiuj estas minacataj per flankaj atakoj (se komputadprokrastoj dependas de la datumoj prilaboritaj). Ekzemple, la elfluo de individuaj bitoj kun informoj pri la inicialigvektoro (nonce) de EdDSA sufiĉas por uzi atakojn por sinsekve reakiri la tutan privatan ŝlosilon. La atako estas malfacile efektivigebla praktike kaj povas esti efektivigita kun granda nombro da rezervoj. Ekzemple, sukcesa operacio estas montrita kiam SMT (HyperThreading) estas malŝaltita kaj la LLC-kaŝmemoro estas segmentita inter CPU-kernoj.
  • Difinu parametrojn pri prokrastoj inter klavopremoj. La prokrastoj dependas de la pozicio de la klavoj kaj permesas, per statistika analizo, rekrei la datumojn enigitajn de la klavaro kun certa probableco (ekzemple, plej multaj homoj kutime tajpas "s" post "a" multe pli rapide ol "g" post "s").
  • Organizu kaŝitan komunikadkanalon por transdoni datumojn inter procezoj kun rapideco de ĉirkaŭ 4 megabitoj sekundo, kiu ne uzas komunan memoron, procesorkaŝmemoron kaj CPU-kern-specifajn rimedojn kaj procesorostrukturojn. Oni rimarkas, ke la proponita metodo krei kaŝan kanalon estas tre malfacile blokebla per ekzistantaj metodoj de protekto kontraŭ flankaj atakoj.

Eksplotoj ne postulas altigitajn privilegiojn kaj povas esti uzataj de ordinaraj, senprivilegiaj uzantoj. Oni rimarkas, ke la atako eble povus esti adaptita por organizi datuman elfluon inter virtualaj maŝinoj, sed ĉi tiu afero estis preter la amplekso de la studo kaj testado de virtualigsistemoj ne estis efektivigita. La proponita kodo estis testita sur Intel i7-9700 CPU en Ubuntu 16.04. Ĝenerale, la atakmetodo estis testita sur labortablaj procesoroj de la Intel Coffee Lake kaj Skylake-familio, kaj ankaŭ eble aplikeblas al Xeon-servilprocesoroj de la Broadwell-familio.

Ring Interconnect-teknologio aperis en procesoroj bazitaj sur la Sandy Bridge-mikroarkitekturo kaj konsistas el pluraj buklobusoj uzitaj por ligi komputikajn kaj grafikkernojn, servilponton kaj kaŝmemoron. La esenco de la atakmetodo estas ke, pro la ringbusa bendolarĝo limigo, memoroperacioj en unu procezo prokrastas aliron al la memoro de alia procezo. Identigante efektivigdetalojn per inversa inĝenierado, atakanto povas generi ŝarĝon kiu kaŭzas memoralirprokrastojn en alia procezo kaj utiligi tiujn prokrastojn kiel flankan kanalon por akiri informojn.

Atakoj al internaj CPU-busoj estas malhelpitaj de manko de informoj pri la arkitekturo kaj operaciaj metodoj de la buso, same kiel altnivela de bruo, kiu malfaciligas izoli utilajn datumojn. Estis eble kompreni la funkciigadprincipojn de la buso per inversa inĝenierado de la protokoloj uzitaj dum elsendado de datumoj tra la buso. Datuma klasifikmodelo bazita sur maŝinlernado-metodoj estis utiligita por apartigi utilajn informojn de bruo. La proponita modelo ebligis organizi monitoradon de malfruoj dum kalkuloj en specifa procezo, en kondiĉoj kiam pluraj procezoj samtempe aliras memoron kaj certa parto de la datumoj estas resendita de procesoraj kaŝmemoroj.

Aldone, ni povas noti la identigon de spuroj de la uzo de ekspluato por la unua varianto de la vundebleco Spectre (CVE-2017-5753) dum atakoj sur Linuksaj sistemoj. La ekspluataĵo uzas flankkanalan informfluon por trovi superblokon en memoro, determini la inodon de la /etc/shadow-dosiero, kaj kalkuli la memorpaĝan adreson por preni la dosieron de la diskkaŝmemoro.

fonto: opennet.ru

Aldoni komenton