L'ingegnere di Google ha proposto la protezione del software dei processori dagli attacchi LVI

Qualche tempo fa si è saputo di una nuova vulnerabilità nell'architettura speculativa dei processori Intel, che è stata chiamata Iniezione valore di carico (LVI). Intel ha la propria opinione sui pericoli dell'LVI e raccomandazioni per mitigarlo. La tua versione di protezione contro tali attacchi suggerì ingegnere presso Google. Ma dovrai pagare per la sicurezza riducendo le prestazioni del processore in media del 7%.

L'ingegnere di Google ha proposto la protezione del software dei processori dagli attacchi LVI

Abbiamo notato in precedenza che il pericolo dell'LVI non risiede nel meccanismo specifico scoperto dai ricercatori, ma nel principio stesso dell'attacco del canale laterale LVI, che è stato mostrato per la prima volta. In questo modo si è aperta una nuova direzione per minacce che nessuno aveva sospettato in precedenza (almeno di questo non se ne è parlato in ambito pubblico). Il valore dello sviluppo dello specialista di Google Zola Bridges sta quindi nel fatto che la sua patch riduce il pericolo di nuovi attacchi anche sconosciuti basati sul principio LVI.

In precedenza nell'Assembler del progetto GNU (Assembler GNU) sono state apportate modifiche che riducono il rischio della vulnerabilità LVI. Questi cambiamenti consistevano nell'aggiungere istruzioni sulla barriera LFENCE, che ha stabilito una sequenza rigorosa tra gli accessi alla memoria prima e dopo la barriera. Testando la patch su uno dei processori Intel della generazione Kaby Lake è stato riscontrato un calo delle prestazioni fino al 22%.

Lo sviluppatore di Google ha proposto la sua patch con l'aggiunta delle istruzioni LFENCE al set del compilatore LLVM e ha chiamato la protezione SESES (Speculative Execution Side Effect Suppression). L'opzione di protezione da lui proposta mitiga sia le minacce LVI che altre simili, ad esempio Spectre V1/V4. L'implementazione SESES consente al compilatore di aggiungere istruzioni LFENCE nelle posizioni appropriate durante la generazione del codice macchina. Ad esempio, inserirli prima di ogni istruzione per leggere dalla memoria o scrivere in memoria.

Le istruzioni LFENCE impediscono la prelazione di tutte le istruzioni successive fino al completamento delle letture della memoria precedenti. Ovviamente, ciò influisce sulle prestazioni dei processori. Il ricercatore ha scoperto che, in media, la protezione SESES ha ridotto del 7,1% la velocità di completamento delle attività utilizzando la libreria protetta. L'intervallo di riduzione della produttività in questo caso variava dal 4 al 23%. La previsione iniziale dei ricercatori era più pessimistica e prevedeva un calo delle prestazioni fino a 19 volte.



Fonte: 3dnews.ru

Aggiungi un commento