CROSSTalk — una vulnerabilità nella CPU Intel che porta a fughe di dati tra i core.

Un gruppo di ricercatori dell'Università Libre di Amsterdam ha identificato una nuova una vulnerabilità (CVE-2020-0543) nelle strutture microarchitetturali dei processori Intel, notevole in quanto consente di recuperare i risultati di alcune istruzioni eseguite su un altro core CPU. Questa è la prima vulnerabilità del meccanismo di esecuzione speculativa delle istruzioni che consente la perdita di dati tra i singoli core CPU (in precedenza le perdite erano limitate a diversi thread di un singolo core). I ricercatori hanno dato alla questione il nome di CROSSTalk, ma nei documenti Intel la vulnerabilità è menzionata come SRBDS (Special Register Buffer Data Sampling).

La vulnerabilità rientra nell' classe di problemi MDS (Microarchitectural Data Sampling) presentata un anno fa e si basa sull'applicazione di metodi di analisi tramite canali laterali ai dati nelle strutture microarchitetturali. Principio di funzionamento CROSSTalk è simile alla vulnerabilità RIDL, ma si differenzia per la fonte della perdita.
La nuova vulnerabilità manipola la perdita da un buffer intermedio precedentemente non documentato, che è condiviso tra tutti i core CPU.

CROSSTalk è una vulnerabilità nei CPU Intel che porta alla perdita di dati tra i core.

Il cuore del problema in quanto alcune istruzioni del microprocessore, comprese RDRAND, RDSEED e SGX EGETKEY, sono implementate utilizzando un'operazione microarchitetturale interna chiamata SRR (Special Register Reads). Su processori vulnerabili, i dati restituiti per SRR si accumulano in un buffer intermedio condiviso da tutti i core CPU, per poi essere trasferiti in un buffer di riempimento legato a un particolare core fisico CPU sul quale è stata avviata l'operazione di lettura. Successivamente, dal buffer di riempimento, il valore viene copiato nei registri visibili alle applicazioni.

La dimensione del buffer intermedio condiviso corrisponde alla linea di cache, che è generalmente più grande della dimensione dei dati letti e diverse operazioni di lettura coinvolgono diversi offset nel buffer. Poiché il buffer condiviso viene copiato interamente nel buffer di riempimento, non viene spostata solo la porzione necessaria per l'operazione corrente, ma anche i dati residui dall'esecuzione di altre operazioni, incluse quelle eseguite su altri core CPU.

CROSSTalk è una vulnerabilità nei CPU Intel che porta alla perdita di dati tra i core.

CROSSTalk è una vulnerabilità nei CPU Intel che porta alla perdita di dati tra i core.

In caso di organizzazione di un attacco riuscito, un utente locale autenticato nel sistema può determinare i risultati delle istruzioni RDRAND, RDSEED e EGETKEY in un processo altrui o all'interno di un enclave Intel SGX, indipendentemente dal core CPU su cui viene eseguito il codice.
I ricercatori che hanno identificato il problema hanno pubblicato un prototipo di exploit, che dimostra la possibilità di fuga di informazioni sui valori casuali ottenuti tramite le istruzioni RDRAND e RDSEED, per ripristinare una chiave privata ECDSA, gestita in un enclave Intel SGX, dopo aver effettuato nel sistema un'unica operazione di firma digitale.


Riproduci video

Il problema riguarda un ampio ventaglio di processori Intel per desktop, mobile e server, inclusi Core i3, i5, i7, i9, m3, Celeron (serie J, G e N), Atom (serie C, E e X), Xeon (famiglie E3, E5, E7, W e D), Xeon Scalable, ecc. È notevole che Intel sia stata avvisata della vulnerabilità nel settembre 2018 e che nel luglio 2019 sia stato fornito un prototipo di exploit, che dimostrava la fuga di dati tra i core CPU, ma lo sviluppo della patch è slittato a causa della complessità della sua implementazione. Nell'aggiornamento del microcodice proposto oggi, il problema è bloccato modificando il comportamento delle istruzioni RDRAND, RDSEED e EGETKEY per una sovrascrittura eccessiva dei dati nel buffer condiviso, per evitare l'accumulo di informazioni residue. Inoltre, è stata applicata una sospensione dell'accesso al buffer fino al completamento delle operazioni di lettura e sovrascrittura del contenuto.

L'effetto collaterale di tale protezione è l'aumento dei ritardi nell'esecuzione di RDRAND, RDSEED e EGETKEY, e la riduzione della larghezza di banda nel tentativo di eseguire simultaneamente queste istruzioni su diversi processori logici. L'esecuzione di RDRAND, RDSEED e EGETKEY sospende inoltre l'accesso alla memoria da parte di altri processori logici. Queste caratteristiche possono influire negativamente sulle prestazioni di alcune applicazioni server, pertanto nel firmware è previsto un meccanismo (RNGDS_MITG_DIS) per disabilitare la protezione delle istruzioni RDRAND e RDSEED, eseguite al di fuori dell'enclave Intel SGX.

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