Training Solo — nuove varianti dell'attacco Spectre-v2 che interessano le CPU Intel

Un gruppo di ricercatori dell'Università Libera di Amsterdam ha identificato diverse nuove vulnerabilità della classe Spectre-v2, pubblicate con il nome in codice Training Solo, che consentono di aggirare i meccanismi di isolamento della memoria. Nel contesto dei sistemi di virtualizzazione, le vulnerabilità permettono di determinare il contenuto della memoria dell'ambiente host dai sistemi guest, mentre nel contesto dei server - di determinare il contenuto della memoria del kernel durante l'esecuzione di un exploit nello spazio utente. Esempi di exploit per realizzare attacchi simili sono stati pubblicati su GitHub. Gli exploit presentati consentono di estrarre dati arbitrari dalla memoria del kernel a una velocità di 17 KB/sec e dalla memoria dell'iper-vizitore - 8.5 KB/sec.

Negli attacchi della classe Spectre-v2, per organizzare una fuga di dati, viene utilizzata la sostituzione di valori nel buffer degli indirizzi di diramazione (Branch Target Buffer) o nel buffer della storia delle diramazioni (Branch History Buffer), utilizzati per prevedere la prossima operazione di diramazione. Attraverso le manipolazioni della storia delle diramazioni, si creano le condizioni per una previsione errata della diramazione durante l'esecuzione speculativa delle istruzioni. L'obiettivo dell'attaccante è che durante l'esecuzione di un'operazione spekulativa di diramazione l'indirizzo della diramazione venga prelevato dall'area di memoria desiderata. Dopo l'esecuzione della diramazione speculativa, nella cache del processore rimane l'indirizzo della diramazione letto dalla memoria (sotto forma di indirizzo vengono letti i dati necessari per l'attaccante dalla memoria). Per estrarre informazioni dalla cache può essere utilizzato uno dei metodi per determinare il contenuto della cache, basato sull'analisi della variazione del tempo di accesso ai dati memorizzati e non memorizzati nella cache.

I metodi di attacco Training Solo mirano ad aggirare i meccanismi di isolamento delle aree di esecuzione (domain isolation), come IBPB, eIBRS e BHI_NO, utilizzati per bloccare attacchi della classe Spectre-v2. Ad esempio, l'istruzione IBPB (Indirect Branch Prediction Barriers) garantisce il ripristino dello stato del blocco di previsione delle diramazioni ad ogni cambio di contesto - durante il passaggio di controllo tra lo spazio utente e il kernel o tra il sistema guest e l'ambiente host. Il ripristino dello stato blocca la possibilità di utilizzare codice proprio per influenzare il comportamento del blocco di previsione delle diramazioni indirette.

Le differenze tra i metodi Training Solo stanno nel fatto che, per influenzare il blocco delle previsioni di transizione, si propone di non eseguire codice controllato dall'attaccante, ma di utilizzare codice già presente sul lato dell'area di esecuzione privilegiata (nucleo o hypervisor), il cui accesso viene ottenuto dall'attaccante. Per il resto, i metodi ricordano un attacco classico Spectre-v2. Inoltre, i ricercatori hanno identificato due problemi hardware (CVE-2024-28956 e CVE-2025-24495) che consentono di superare completamente l'isolamento delle aree di esecuzione e di realizzare perdite di dati dai processi di altri utenti, da altri sistemi guest o dall'ambiente host.

Training Solo - nuove varianti di attacco Spectre-v2 che colpiscono i processori Intel

Sono stati proposti tre tipi di attacchi Training Solo:

  • Distorsione della logica delle previsioni di transizione attraverso la chiamata di sequenze di comandi già esistenti nel nucleo (gadget) che influenzano il contenuto del buffer con la cronologia delle transizioni. Come gadget simili, si propone di utilizzare il meccanismo di limitazione dell'accesso alle chiamate di sistema SECCOMP, che consente, tramite la sostituzione dei propri filtri BPF, di ottenere una falsa transizione indiretta in modalità speculativa (i filtri in SECCOMP sono impostati attraverso il classico cBPF, abilitato per impostazione predefinita a differenza dell'eBPF). Durante i test su CPU Intel Tiger Lake e Lion Cove, la velocità di perdita utilizzando questo metodo era di 1,7 KB/sec.
  • Utilizzo delle collisioni dell'IP (Instruction Pointer) nel blocco delle previsioni di transizione. L'attaccante può creare condizioni in cui l'indirizzo per la transizione speculativa viene scelto solo sulla base dell'indirizzo di transizione già presente nel buffer, senza considerare la cronologia delle transizioni. L'idea è che un'operazione di transizione indiretta può influenzare un'altra se si verifica una collisione nel salvataggio degli hash dei loro indirizzi nel BTB (Branch Target Buffer).
  • Utilizzo dell'influenza delle transizioni dirette sulle previsioni delle transizioni indirette. Comportamenti simili sono stati causati da due vulnerabilità hardware: CVE-2024-28956 — ITS (Indirect Target Selection) e CVE-2025-24495 — un problema nella CPU Intel con core Lion Cove. La velocità di perdita di dati dalla memoria utilizzando questo metodo era di 17 KB/sec. Nell'exploit dimostrato per la determinazione dell'hash della password dell'utente root, salvata in memoria dopo la chiamata al comando "passwd -s", sono stati impiegati 60 secondi.

Training Solo - nuove varianti di attacco Spectre-v2 che colpiscono i processori Intel

Tutti i processori Intel con supporto alla meccanica eIBRS, inclusi Intel Coffee Lake e Lion Cove, sono vulnerabili ad un attacco che altera il buffer con la cronologia delle transizioni. Per bloccare questa vulnerabilità, Intel ha rilasciato un aggiornamento del microcodice con l'implementazione di una nuova istruzione IBHF (Indirect Branch History Fence), che si consiglia di specificare dopo il codice che influisce sul buffer della cronologia delle transizioni. Per i vecchi processori Intel, si propone di utilizzare un metodo software per pulire la cronologia delle transizioni. È stata apportata una modifica al kernel di Linux per aggiungere metodi software e hardware la protezione contro gli attacchi, effettuati utilizzando cBPF. AMD ha dichiarato che il metodo di attacco non funziona sui suoi processori. ARM ha comunicato che il problema riguarda solo i vecchi processori ARM, vulnerabili agli attacchi Spectre-v2 e che non supportano le estensioni FEAT_CSV2_3 e FEAT_CLRBHB.

La vulnerabilità Indirect Target Selection (ITS, CVE-2024-28956) colpisce i processori Intel Core di 9°-11° generazione (Cascade Lake, Cooper Lake, Whiskey Lake V, Coffee Lake R, Comet Lake, Ice Lake, Tiger Lake e Rocket Lake) e Intel Xeon di 2°-3° generazione. La vulnerabilità CVE-2025-24495 si manifesta nei processori basati sulle microarchitetture Lunar Lake e Arrow Lake. I problemi sono stati risolti nell'aggiornamento del microcodice rilasciato ieri. È stata apportata una modifica al kernel di Linux che blocca il problema spostando i salti indiretti nella parte superiore della linea di cache.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster