Vedci z Technickej univerzity v Grazi (Rakúsko) odhalili informácie o novej metóde aplikácie zaútočiť cez Zombie zaťaženie 2.0 (CVE-2019-11135), ktorý umožňuje extrakciu dôverných informácií z iných procesov, operačný systém, virtuálne stroje a zabezpečené enklávy (TEE, Trusted Execution Environment). Problém ovplyvňuje to iba procesory Intel. Súčasti na blokovanie problému boli navrhnuté vo včerajšej aktualizácii mikrokódu.
Problém patrí do triedy MDS (Microarchitectural Data Sampling) a je modernizovanou verziou útoku ZombieLoad, ktorý bol spustený v máji. Zombie Load 2.0, ako aj ďalšie útoky triedy MDS, sú založené na aplikácii analytických metód tretích strán na údaje v mikroarchitektúrnych štruktúrach (napríklad v vyrovnávacích pamätiach Line Fill Buffer a Store, v ktorých sú údaje použité v procese dočasne uložené na vykonávanie operácií načítania a uloženia).
Táto nová varianta podľa Zombieload sa spolieha na únik, ku ktorému dôjde pri implementácii mechanizmu TSA Asynchrónne prerušenie (TSA) v nadstavbe TSX (Transactional Synchronization Extensions), ktorý poskytuje prostriedky na prácu s transakčnou pamäťou, ktorá umožňuje zvýšiť výkon viacvláknových aplikácií v dôsledku dynamického vylúčenia nepotrebných synchronizačných operácií (sú podporované atómové transakcie, ktoré je možné akceptovať alebo prerušiť).
V prípade výpadku sa operácie vykonané s transakčnou oblasťou pamäte vrátia späť. Zrušenie transakcie sa deje asynchrónne, kedy môžu do vlákna pristupovať ďalšie vlákna, ktoré sa tiež používajú v oblasti vyradených transakčných pamätí.
Od začiatku do skutočného dokončenia prerušenia asynchrónna transakcia aMôžu nastať situácie, keď procesor počas špekulatívneho vykonania operácie, dokáže čítať údaje z vnútorných mikroarchitektúrnych pamätí a prenášať ich k špekulatívne vykonanej operácii.
Potom bude zistený konflikt a špekulatívna operácia bude zahodená, ale údaje zostanú v pamäti cache a je možné ich extrahovať pomocou metód obnovenia pamäte cache prostredníctvom kanálov tretích strán.
Útok sa scvrkáva na otváranie transakcií TSX a vytváranie podmienok pre ich asynchrónne prerušenie, počas ktorých boli podmienky úniku obsahu vnútorných vyrovnávacích pamätí špekulatívne plné údajov z operácií čítania pamäte vykonávané v samotnom jadre CPU.
Únik je obmedzený na súčasné fyzické jadro CPU (na ktorom je spustený kód útočníka), ale keďže medzipamäte mikroarchitektúry sú zdieľané rôznymi vláknami v režime Hyper-Threading, môžu prebiehať pamäťové operácie aj na iných vláknach CPU.
Boli vydané niektoré modely Intel, na ktorých ste testovali ich útokom je ôsma, deviata a desiata generácia procesorov Intel Core a Pentium, Intel Celeron 5000, Intel Xeon E, Intel Xeon W. a druhá generácia škálovateľných procesorov Intel Xeon.
Vrátane nových procesorov Intel sú tiež založené na mikroarchitektúre Cascade Lake podaná v apríli, pôvodne nebola náchylná na útoky RIDL a Fallout.
Okrem Zombieload 2.0 vedci tiež zistili, že je možné obísť skôr navrhované spôsoby ochrany proti útokom MDS na základe použitia inštrukcie VERW na vymazanie obsahu vyrovnávacích pamätí mikroarchitektúry pri návrate z jadra do užívateľského priestoru alebo pri prenose riadenia do hosťovského systému.
Riešenia blokujúce zraniteľnosť sú súčasťou základ kódu linuxove jadro a sú zahrnuté v verzie 5.3.11, 4.19.84, 4.14.154, 4.9.201 a 4.4.201. tiež boli vydané aktualizácie jadra a mikrokód pre hlavné distribúcie (Debian, SUSE / openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Problém bol identifikovaný v apríli a jeho riešenie koordinovala spoločnosť Intel s vývojármi operačných systémov.
Najjednoduchšou metódou blokovania Zombieload 2.0 je zakázanie podpory TSX na CPU. Riešenie jadra Linuxu obsahuje niekoľko možností zabezpečenia.