È stata presentata una nuova classe di vulnerabilità nei processori Intel

Azienda Intel ha pubblicato informazioni sul nuovo classe di vulnerabilità nei suoi processori — MDS (Microarchitectural Data Sampling). Come i precedenti attacchi della classe Spectre, i nuovi problemi possono portare a fughe di dati riservati del sistema operativo, delle macchine virtuali e di processi esterni. Si afferma che i problemi siano stati inizialmente identificati dai dipendenti e dai partner di Intel durante un audit interno, dopo di che le informazioni su problemi simili in Intel sono state comunicate da ricercatori indipendenti. I processori AMD e ARM non sono vulnerabili a questo problema.

Sulla base dei problemi identificati dai ricercatori della Graz University of Technology (Austria) sono stati sviluppati diversi attacchi pratici tramite canali esterni:

  • ZombieLoad (PDF) — consente di estrarre informazioni riservate da altri processi, dal sistema operativo, dalle macchine virtuali e dagli enclavi protetti (TEE, Trusted Execution Environment). Ad esempio, è stata dimostrata la possibilità di determinare la cronologia di apertura di pagine nel browser Tor, eseguito in un'altra macchina virtuale, così come di determinare le chiavi di accesso e le password utilizzate nelle applicazioni;


  • RIDL (PDF) — consente di organizzare fughe di informazioni tra diverse aree isolate nei processori Intel, come i buffer di riempimento, i buffer di archiviazione e le porte di caricamento. Esempi di attacco sono stati mostrati per organizzare fughe da altri processi, dal sistema operativo, dalle macchine virtuali e dagli enclavi protetti. Ad esempio, è stato mostrato come conoscere il contenuto dell'hash della password root da /etc/shadow durante tentativi di autenticazione periodici (l'attacco ha richiesto 24 ore);

    Guarda il video

    Inoltre, è stato mostrato un esempio di attacco utilizzando JavaScript e WebAssembly all'apertura di una pagina dannosa nel motore SpiderMonkey (in moderni browser completi tale attacco è improbabile a causa delle limitazioni nella precisione del timer e delle misure di protezione contro Spectre);

    Guarda il video
  • Fallout (PDF) — consente di leggere dati recentemente scritti dal sistema operativo e di determinare la disposizione della memoria del OS per facilitare l'esecuzione di altri attacchi;
  • Store-To-Leak Forwarding — sfrutta le ottimizzazioni della CPU nella gestione del buffer di archiviazione e può essere utilizzata per bypassare il meccanismo di randomizzazione dello spazio degli indirizzi del kernel (KASLR), per monitorare lo stato del sistema operativo o per organizzare fughe in combinazione con gadget basati su metodi Spectre.

Identificati vulnerabilità:

  • CVE-2018-12126 — MSBDS (Microarchitectural Store Buffer Data Sampling), recupero del contenuto dei buffer di memoria. Utilizzato nell'attacco Fallout. Il livello di pericolo è stato stabilito a 6.5 punti (CVSS);
  • CVE-2018-12127 — MLPDS (Microarchitectural Load Port Data Sampling), recupero del contenuto delle porte di caricamento. Utilizzato nell'attacco RIDL. CVSS 6.5;
  • CVE-2018-12130 — MFBDS (Microarchitectural Fill Buffer Data Sampling), recupero del contenuto dei buffer di riempimento. Utilizzato negli attacchi ZombieLoad e RIDL. CVSS 6.5;
  • CVE-2019-11091 — MDSUM (Microarchitectural Data Sampling Uncacheable Memory), recupero del contenuto della memoria non cacheabile. Utilizzato nell'attacco RIDL. CVSS 3.8.

Natura dei problemi identificati nella capacità di applicare metodi di analisi tramite canali laterali ai dati nelle strutture microarchitettoniche, a cui le applicazioni non hanno accesso diretto. Si parla di strutture a basso livello, come buffer di riempimento (Line Fill Buffer), buffer di memoria (Store Buffer) e porte di caricamento (Load Port), che sono blocchi costitutivi più piccoli rispetto alla cache di primo livello (L1D), alla cache di caricamento dati (RDCL) o L1TF (L1 Terminal Fault), e di conseguenza contengono meno informazioni e vengono aggiornati più intensamente.

È stata presentata una nuova classe di vulnerabilità nei processori Intel

Gli attacchi tramite canali laterali alle strutture microarchitettoniche sono notevolmente più complessi rispetto ai metodi di recupero del contenuto della cache e richiedono il tracciamento e l'analisi di enormi volumi di dati per determinarne la relazione con specifici indirizzi di memoria (in sostanza, l'attaccante non può intercettare intenzionalmente dati specifici, ma può accumulare a lungo termine fughe e applicare metodi statistici per ricostruire determinati tipi di dati). Inoltre, l'attacco colpisce solo i dati nello stesso nucleo fisico della CPU in cui gira il codice dell'attaccante.

I metodi proposti per determinare il contenuto delle strutture microarchitettoniche si basano sul fatto che queste strutture vengono utilizzate durante l'elaborazione speculativa di eccezioni (fault) o operazioni di caricamento e memorizzazione.
Durante l'esecuzione speculativa, il contenuto delle strutture interne viene reindirizzato per l'elaborazione in registri o cache. Le operazioni speculative non vengono completate e il risultato viene scartato, ma il contenuto reindirizzato può essere identificato mediante metodi di analisi della cache attraverso canali laterali.

Le porte di caricamento sono utilizzate dalla CPU per acquisire dati dalla memoria o da sottosistemi di input/output e per fornire le informazioni ottenute nei registri della CPU. A causa della particolare implementazione, i dati delle vecchie operazioni di caricamento rimangono nelle porte fino a quando non vengono sovrascritti da nuovi dati, consentendo di determinare indirettamente lo stato dei dati nella porta di caricamento attraverso manipolazioni con eccezioni (fault) e istruzioni SSE/AVX/AVX-512, che caricano più di 64 bit di dati. In queste condizioni, le operazioni di caricamento illuminano speculativamente valori obsoleti dai dati delle strutture interne per operazioni dipendenti. Una fuga simile si realizza attraverso il buffer di memoria, utilizzato per accelerare la scrittura nella cache della CPU e che include una tabella di indirizzi, valori e flag, così come attraverso il buffer di riempimento, che contiene dati non presenti nella cache L1 (cache-miss), per il tempo necessario al loro caricamento dalle cache di altri livelli.

È stata presentata una nuova classe di vulnerabilità nei processori Intel

Problema i processori AMD, per i quali non si manifesta il vettore di attacco principale. I metodi di mitigazione già implementati contro le vulnerabilità Spectre e Meltdown non proteggono dall'attacco SWAPGS utilizzando processori Intel, ma sono già state proposte delle patch per Linux, ChromeOS, Android e Windows. i modelli di processori Intel, rilasciati dal 2011 (a partire dalla sesta generazione). Le vulnerabilità hardware sono bloccate a partire da alcuni modelli della ottava e nona generazione dei processori Intel Core e della seconda generazione degli Intel Xeon Scalable (puoi verificarlo attraverso il bit ARCH_CAP_MDS_NO nel MSR IA32_ARCH_CAPABILITIES). Le vulnerabilità sono già risolte a livello di firmware, microcodice e sistemi operativi. Secondo Intel, la perdita di prestazioni dopo l'attivazione della correzione per la maggior parte degli utenti non supera il 3%. Disattivando la tecnologia Hyper-Threading, la perdita di prestazioni può arrivare fino al 9% nel test SPECint_rate_base, fino all'11% durante i calcoli interi attivi e fino al 19% nell'esecuzione di applicazioni server Java (con HT attivo, la perdita di prestazioni è quasi assente). Le correzioni non influenzano praticamente le prestazioni delle operazioni di input/output.

Nel kernel Linux, la protezione da MDS è stata aggiunta nei soggetti aggiornamenti 5.1.2, 5.0.16,
4.19.43, 4.14.119 e 4.9.176. Il metodo di protezione è impostato sulla pulizia del contenuto dei buffer microarchitetturali al momento del ritorno dallo spazio kernel allo spazio utente o durante il passaggio di controllo a un sistema ospite, utilizzando l'istruzione VERW. Per il funzionamento delle protezioni è richiesta la disponibilità del supporto per la modalità MD_CLEAR, implementata nell'aggiornamento recente del microcodice. Per una protezione completa si raccomanda inoltre di disattivare Hyper Threading. Per verificare la vulnerabilità del sistema con Linux è stata aggiunta gestore «/sys/devices/system/cpu/vulnerabilities/mds». Per gestire l'attivazione di diverse modalità di blocco delle vulnerabilità, è stato aggiunto un parametro «mds=» al kernel, il quale può assumere i valori «full», «full,nosmt» (disabilitazione dell'Hyper-Threading), «vmwerv» e «off».

Gli aggiornamenti dei pacchetti sono già stati rilasciati per RHEL e Ubuntu, ma attualmente non sono disponibili per Debian, Fedora e SUSE.
La correzione per bloccare le fuoriuscite di dati dalle macchine virtuali è inoltre è stato creato per l'ipercontrollore Xen. Per proteggere i sistemi di virtualizzazione che eseguono il comando L1D_FLUSH prima di trasferire il controllo a un'altra macchina virtuale, e per proteggere gli enclave Intel SGX, è sufficiente un aggiornamento del microcodice.

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