En grupp forskare frÄn Vrije Universiteit Amsterdam har identifierat flera nya sÄrbarheter av typen Spectre-v2, publicerade under kodnamnet Training Solo, som möjliggör kringgÄende av minnesisoleringsmekanismer. I kontexten av virtualiseringssystem ger sÄrbarheterna möjlighet att identifiera innehÄllet i vÀrdmiljöns minne frÄn gÀstsystem, och i serverkontext möjliggör de att faststÀlla innehÄllet i kÀrnminnet under körning av en exploatering i anvÀndarrummet. Exempel pÄ exploateringar för att utföra sÄdana attacker har publicerats pÄ GitHub. De presenterade exploateringar tillÄter extrahering av godtyckliga data frÄn kÀrnminnet med en hastighet av 17 KB/sec och frÄn hypervisorns minne med 8.5 KB/sec.
I Spectre-v2 attacker anvÀnds inmatning av vÀrden i den branch-adressbuffert (Branch Target Buffer) eller övergÄngshistorikbuffert (Branch History Buffer), som anvÀnds för att förutsÀga nÀsta branchoperation, för att organisera datalÀckor. Genom att manipulera med övergÄngshistoriken skapas förutsÀttningar för felaktig förutsÀgelse av en övergÄng vid spekulativ körning av instruktioner. Angriparens uppgift Àr att sÀkerstÀlla att adressen för övergÄngen vid körning av en spekulativ branchoperation tas frÄn det önskade minnesomrÄdet. Efter att den spekulativa övergÄngen genomförts finns den lÀsta adressen frÄn minnet (i form av adressen lÀses nödvÀndig information för angreppet frÄn minnet) kvar i processorns cache. För att extrahera information frÄn cachen kan en metod för att bestÀmma cacheinnehÄll baserat pÄ analys av förÀndringar i Ätkomsttiden till cachelagrade och icke-cachelagrade data anvÀndas.
Attackmetoderna Training Solo syftar till att kringgĂ„ mekanismerna för isolering av exekveringsomrĂ„den (domain isolation), sĂ„som IBPB, eIBRS och BHI_NO, som anvĂ€nds för att blockera Spectre-v2 attacker. Till exempel sĂ€kerstĂ€ller instruktionen IBPB (Indirect Branch Prediction Barriers) att tillstĂ„ndet för branchförutsĂ€gelseblocket Ă„terstĂ€lls vid varje kontextbyte â nĂ€r kontrollen överförs mellan anvĂ€ndarrummet och kĂ€rnan eller mellan gĂ€stsystemet och vĂ€rdmiljön. Ă terstĂ€llning av tillstĂ„ndet blockerar möjligheten att anvĂ€nda egen kod för att pĂ„verka beteendet hos blocket för indirekta övergĂ„ngsförutsĂ€gelser.
Skillnaden med metoderna Training Solo Àr att för att pÄverka blocket för förutsÀgning av övergÄngar föreslÄs det att man inte kör nÄgon kod kontrollerad av angriparen utan istÀllet anvÀnder kod som redan finns pÄ sidan av den privilegierade exekveringsmiljön (kÀrnan eller hypervisorn), vars lÀckor angriparen uppnÄr. I övrigt pÄminner metoderna om den klassiska Spectre-v2-attacken. Dessutom har forskarna upptÀckt tvÄ hÄrdvaruproblem (CVE-2024-28956 och CVE-2025-24495) som helt kan kringgÄ isoleringen av exekveringsmiljöer och möjliggöra lÀckor frÄn processer av andra anvÀndare, andra gÀstsystem eller vÀrdmiljö.

Tre typer av attacker föreslÄs inom Training Solo:
- FörvrÀngning av logiken för förutsÀgning av övergÄngar genom att anropa redan existerande sekvenser av kommandon (gadgets) i kÀrnan som pÄverkar innehÄllet i bufferten med historiska övergÄngar. Som sÄdana gadgets föreslÄs det att anvÀnda mekanismen SECCOMP för ÄtkomstbegrÀnsning till systemanrop, vilket möjliggör att Ästadkomma falska indirekta övergÄngar i spekulativt lÀge genom substituering av sina egna BPF-filter (filtrarna i SECCOMP anges med klassisk cBPF, som Àr aktiverad som standard till skillnad frÄn eBPF). Vid tester pÄ CPU:er frÄn Intel Tiger Lake och Lion Cove var hastigheten pÄ lÀckan med denna metod 1.7KB/s.
- AnvÀndning av IP-kollisioner (Instruction Pointer) i blocket för förutsÀgning av övergÄngar. Angriparen kan skapa förutsÀttningar dÀr adressen för spekulativ övergÄng vÀljs enbart baserat pÄ en redan existerande adress i bufferten, utan att ta hÀnsyn till historiken av övergÄngar. Idén Àr att en operation av indirekt övergÄng kan pÄverka en annan om det uppstÄr en kollision nÀr hashar av deras adresser lagras i BTB (Branch Target Buffer).
- AnvĂ€ndning av direktövergĂ„ngars pĂ„verkan pĂ„ förutsĂ€gningen av indirekta övergĂ„ngar. Detta beteende orsakas av tvĂ„ hĂ„rdvarusĂ„rbarheter: CVE-2024-28956 â ITS (Indirect Target Selection) och CVE-2025-24495 â ett problem med Intel CPU:er med Lion Cove-kĂ€rnor. Hastigheten pĂ„ datalĂ€ckan frĂ„n minnet med denna metod var 17 KB/s. I den demonstrerade exploit som bestĂ€mde hash-vĂ€rdet av lösenordet för anvĂ€ndaren root, vilket sparades i minnet efter att kommandot "passwd -s" hade körts, tog det 60 sekunder.

Alla Intel-CPU med stöd för eIBRS-mekanismen, inklusive Intel Coffee Lake och Lion Cove, Àr utsatta för attacken som förvrÀnger bufferten för webblÀsarhistorik. För att blockera sÄrbarheten har Intel slÀppt en mikrokoduppdatering som implementerar den nya instruktionen IBHF (Indirect Branch History Fence), vilken rekommenderas att anges efter koden som pÄverkar historikbufferten. För Àldre Intel-CPU rekommenderas en programvaru-metod för att rensa historiken. En förÀndring har antagits i Linux-kÀrnan som lÀgger till bÄde programvaru- och hÄrdvarukontroller. skydd mot, som genomförs med hjÀlp av cBPF. AMD har meddelat att attackmetoden inte fungerar pÄ deras CPU:er. ARM har rapporterat att problemet endast berör Àldre ARM-processorer som Àr sÄrbara för Spectre-v2-attacker och som inte stöder utvidgningarna FEAT_CSV2_3 och FEAT_CLRBHB.
SÄrbarheten Indirect Target Selection (ITS, CVE-2024-28956) pÄverkar Intel Core CPU:er av 9-11 generationen (Cascade Lake, Cooper Lake, Whiskey Lake V, Coffee Lake R, Comet Lake, Ice Lake, Tiger Lake och Rocket Lake) samt Intel Xeon av 2-3 generationen. SÄrbarheten CVE-2025-24495 manifesteras i CPU:er baserade pÄ mikroarkitekturerna Lunar Lake och Arrow Lake. Problemet har ÄtgÀrdats i gÄrdagens mikrokoduppdatering. En förÀndring har antagits i Linux-kÀrnan som blockerar problemet genom att flytta indirekta hopp till den övre delen av cachelinjen.
KĂ€lla: opennet.ru
