Nova varianto de la Zombieload-atako sur Intel-procesoroj estis identigita

Esploristoj de la Teknika Universitato de Graz (Aŭstrio) malkovrita informojn pri nova metodo de atako per triaj kanaloj Zombia Ŝarĝo 2.0 (CVE-2019-11135), kiu permesas ĉerpi konfidencajn informojn el aliaj procezoj, la operaciumo, virtualaj maŝinoj kaj protektitaj enklavoj (TEE, Trusted Execution Environment). La problemo nur influas Intel-procesorojn. Komponantoj por bloki la problemon proponis en hieraŭ ĝisdatigo de mikrokodo.

La problemo apartenas al la klaso MDS (Microarchitectural Data Sampling) kaj estas modernigita versio. publikigita en majo ZombieLoad atakoj. ZombieLoad 2.0, kiel aliaj MDS-atakoj, dependas de la aplikado de flankkanalaj analizteknikoj al datenoj en mikroarkitekturaj strukturoj (ekzemple, Line Fill Buffer kaj Store Buffer), kiuj provizore stokas datumojn uzitajn en la procezo. farante Ŝarĝo- kaj Store-operaciojn) .

Nova Zombieload atakvariaĵo bazita pri la liko, kiu okazas dum la funkciado de la mekanismo por nesinkrona interrompo de operacioj (TAA, TSX Asynchronous Abort), efektivigita en la etendo TSX (Transactional Synchronization Extensions), kiu provizas ilojn por labori kun transakcia memoro, kiu permesas pliigi la agadon de plurfadenaj aplikoj dinamike forigante nenecesajn sinkronigajn operaciojn (subtenataj atomtransakcioj kiuj povas aŭ esti akceptitaj aŭ interrompitaj). Se interrompite, operacioj faritaj sur la transakcia memorregiono estas reigitaj.

La transakciinterrompo okazas nesinkrone, en kiu tempo aliaj fadenoj povas aliri la kaŝmemoron, kiu ankaŭ estas uzita en la forĵetita transakcia memorregiono. Dum la tempo de la komenco ĝis la fakta kompletigo de nesinkrona transakcio-interrompo, situacioj povas ekesti kie la procesoro, dum la konjekta ekzekuto de operacio, povas legi datenojn de internaj mikroarkitekturaj bufroj kaj transdoni ĝin al la konjekta operacio. La konflikto tiam estos detektita kaj la konjekta operacio forĵetita, sed la datumoj restos en la kaŝmemoro kaj povas esti prenitaj uzante flankajn kanalajn kaŝmemorteknikojn.

La atako resumas al malfermi TSX-transakciojn kaj krei kondiĉojn por ilia nesinkrona interrompo, dum kiuj estiĝas kondiĉoj por liki la enhavon de internaj bufroj spekulative plenigitaj kun datumoj de memorlegaj operacioj faritaj sur la sama CPU-kerno. La liko estas limigita al la nuna fizika CPU-kerno (sur kiu la kodo de la atakanto funkcias), sed ĉar mikroarkitekturaj bufroj estas dividitaj inter malsamaj fadenoj en Hyper-Threading-reĝimo, estas eble liki memoroperaciojn faritajn en aliaj CPU-fadenoj.

Atako submetita al iuj modeloj de la oka, naŭa kaj deka generacioj de Intel Core procesoroj, same kiel Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W kaj la dua generacio Intel Xeon Scalable. Novaj Intel-procesoroj bazitaj sur la mikroarkitekturo de Cascade Lake lanĉita en aprilo, kiu komence ne estis sentema al RIDL kaj Fallout-atakoj, ankaŭ estas atakeblaj. Krom Zombieload 2.0, esploristoj ankaŭ identigis la eblecon preteriri antaŭe proponitajn metodojn de protekto kontraŭ MDS-atakoj, surbaze de la uzo de la VERW-instrukcio por malplenigi la enhavon de mikroarkitekturaj bufroj revenante de la kerno al uzantspaco aŭ dum transdono de kontrolo al. la gastsistemo.

La Intel-raporto deklaras, ke en sistemoj kun heterogena ŝarĝo, la kapablo fari atakon estas malfacila, ĉar liko de mikroarkitekturaj strukturoj kovras ĉiun agadon en la sistemo kaj la atakanto ne povas influi la fonton de la ĉerpitaj datumoj, t.e. povas nur amasigi informojn, kiuj aperas kiel rezulto de liko kaj provi identigi utilajn informojn inter ĉi tiuj datumoj, sen la kapablo celkonscie kapti datumojn asociitajn kun specifaj memoraj adresoj. Tamen, esploristoj publikigis ekspluati prototipon, funkcianta en Linukso kaj Vindozo, kaj montris la kapablon uzi atakon por determini la pasvortan haŝon de la radika uzanto.
Probable farante atakon de gastsistemo por amasigi datumojn, kiuj aperas en la operacioj de aliaj gastsistemoj, la gastiga medio, la hiperviziero kaj Intel SGX-enklavoj.

Korektoj por bloki la vundeblecon inkluzivita en la Linukso-kernan kodbazon kaj inkluzivita en eldonoj 5.3.11, 4.19.84, 4.14.154, 4.9.201 kaj 4.4.201. Ĝisdatigoj pri kerno kaj mikrokodo ankaŭ jam estis publikigitaj por gravaj distribuoj (Debian, SUSE/malfermuSUSE, ubuntu, RELO, Fedora, FreeBSD). La problemo estis identigita en aprilo kaj solvo estis kunordigita inter Intel kaj la programistoj de operaciumo.

La plej simpla metodo por bloki Zombieload 2.0 estas malŝalti TSX-subtenon en la CPU. La proponita riparo por la Linukso-kerno inkluzivas plurajn protektajn opciojn. La unua opcio ofertas la parametron "tsx=on/off/auto", kiu ebligas al vi kontroli ĉu la etendo TSX estas ebligita sur la CPU (la valoro aŭtomalŝaltas TSX nur por vundeblaj CPUoj). La dua protekta opcio estas ebligita per la parametro "tsx_async_abort=off/full/full,nosmt" kaj baziĝas sur forigo de mikroarkitekturaj bufroj dum kunteksta ŝanĝado (la nosmt-flago aldone malŝaltas SMT/Hyper-Threads). Por kontroli ĉu sistemo estas sentema al vundeblecoj, sysfs disponigas la parametron "/sys/devices/system/cpu/vulnerabilities/tsx_async_abort".

Cetere en ĝisdatigo mikrokodo eliminita alia vundebleco (CVE-2018-12207) en Intel-procesoroj, kiu ankaŭ estas blokita en la plej nova ĝisdatigo Linuksaj kernoj. Vundebleco permesas al senprivilegia atakanto iniciati neon de servo, igante la sistemon pendi en la stato "Machine Check Error".
Atako inkluzive povas esti farita de la gastsistemo.

fonto: opennet.ru

Aldoni komenton