Due ricercatori, Vladimir Kiriansky e Carl Waldspurger, hanno scoperto nuove falle di tipo Spectre nei processori. Entrambe le falle, chiamate Spectre 1.1 e Spectre 1.2, interessano le CPU Intel e ARM, e potrebbero anche riguardare le CPU AMD.
Spectre 1.1 è una variante della prima versione di Spectre, la falla nell'esecuzione speculativa usata dai chip per velocizzare le proprie operazioni identificata all'inizio di quest'anno.
Spectre 1.1, anche nota come "Bounds Check Bypass Store" (BCBS), sfrutta gli archivi speculativi per creare buffer overflow in grado di modificare dati e puntatori di codice. Questo tipo di attacco può anche bypassare le mitigazioni per Spectre v1 direttamente o reindirizzando il flusso di controllo. Intel e ARM hanno già fatto sapere che i loro processori sono vulnerabili a Spectre 1.1, mentre AMD non ha ancora rilasciato informazioni.
"Il metodo bounds check bypass si avvantaggia dell'esecuzione speculativa dopo istruzioni branch condizionali consentendo di usare operazioni speculative per dedurre informazioni normalmente non accessibili", spiega Intel in un white paper.
Secondo i ricercatori Spectre 1.2 è invece più simile a Spectre v3, nel senso che dipende dal superamento delle protezioni lazy read/write. Gli attacchi che sfruttano la falla in questione possono sovrascrivere i dati di sola lettura, puntatori, metadati e altro. Di conseguenza, la protezione di tipo sandbox applicata dall'hardware è inefficace.
Anche in questo caso l'attacco è stato provato su CPU Intel e ARM. Secondo i ricercatori una possibile soluzione hardware sarebbe quella di controllare i dati in ingresso al translation lookaside buffer (TLB) per confermare i privilegi di scrittura.
Variante | Descrizione | CVE | Nome in codice | CPU interessate |
---|---|---|---|---|
Variant 1 | Bounds check bypass | CVE-2017-5753 | Spectre v1 | Intel, AMD, ARM |
Variant 1.1 | Bounds check bypass on stores | CVE-2018-3693 | Spectre 1.1 | Intel, ARM |
Variant 1.2 | Read-only protection bypass | CVE unknown | Spectre 1.2 | Intel, ARM |
Variant 2 | Branch target injection | CVE-2017-5715 | Spectre v2 | Intel, AMD, ARM |
Variant 3 | Rogue data cache load | CVE-2017-5754 | Meltdown | Intel |
Variant 3a | Rogue system register read | CVE-2018-3640 | - | Intel, AMD, ARM, IBM |
Variant 4 | Speculative store bypass | CVE-2018-3639 | SpectreNG | Intel, AMD, ARM, IBM |
Nel documento diffuso i ricercatori spiegano che attualmente nessuna analisi o altro strumento è in grado di rilevare e mitigare Spectre 1.1, sottolineando che le mitigazioni per Spectre v1 possono bloccare solo un sottoinsieme di possibili attacchi alla vulnerabilità.
"Se dovessimo fare affidamento sulle mitigazioni software che richiedono agli sviluppatori di ragionare sulla necessità di inserire mitigazioni, potremmo dover affrontare decenni di attacchi all'esecuzione speculativa. Il limitato successo nell'educare gli sviluppatori software negli ultimi trent'anni dalla dimostrazione pubblica del 1988 dei classici buffer overflow è un esempio di natura cautelativa".
"Il lato positivo è che gli stessi code pattern sono vulnerabili a buffer overflow speculativi. Un buon primo passo in avanti per impedirli sarebbe quello di rafforzare i controlli esistenti contro stack overflow, heap overflow, integer overflows, ecc".
Quello che i ricercatori dicono, in sintesi, è che le mitigazioni del software dipendono in gran parte dagli sviluppatori per essere implementate, il che significa che la maggior parte dei software non sarà protetta, se la storia passata è di qualche esempio; in secondo luogo, saranno necessarie modifiche hardware per avere vere correzioni a lungo termine.
In base al programma di bug bounty di Intel, in vigore fino a fine anno, i due ricercatori sono stati ricompensati con 100.000 dollari per la scoperta della falla "Bounds Check Bypass Store" (BCBS).
Intel ha inoltre colto l'occasione per annunciare che passerà a una comunicazione e distribuzione di tipo trimestrale per quanto concerne gli aggiornamenti di sicurezza anziché seguire tempistiche casuali.
Ovviamente la scaletta subirà delle eccezioni nel caso di problemi davvero gravi e codice exploit in circolazione. Questo cambiamento serve per dare ai ricercatori di sicurezza e gli amministratori di sistema tempo per pianificare test e implementazione degli aggiornamenti. Un po' come fa Microsoft con il ciclo mensile di update di Windows.
"Continuando a collaborare con ricercatori, partner e mondo accademico per proteggere i clienti dall'evoluzione delle minacce di sicurezza, stiamo ottimizzando gli aggiornamenti e le indicazioni ai nostri partner e clienti del settore, quando possibile. Oggi offriamo dettagli sulla mitigazione di un numero di potenziali problemi, tra cui una nuova sotto-variante della variante 1 denominata Bounds Check Bypass Store, per la quale sono state rilasciate mitigazioni o indicazioni per gli sviluppatori. Ulteriori informazioni possono essere trovate sulla nostra pagina dedicata alla sicurezza dei nostri prodotti. Proteggere i dati dei clienti e garantire la sicurezza dei nostri prodotti è una priorità assoluta per Intel", ha dichiarato un portavoce.