Intel promette la crittografia completa della memoria nelle prossime CPU

327
  • Sembra una pubblicità per i processori AMD Epyc fino a quando non arrivi a quella casella giallo brillante “soluzioni disponibili oggi” e ti rendi conto che stiamo parlando di Intel.

  • Intel è un membro fondatore del Confidential Computing Consortium, una comunità open source.

    Società Intel

  • Intel TSC, attualmente applicabile solo alle schede madri per server Intel (non di terze parti), offre un inventario di ogni componente presente sulla scheda e da dove proviene.

    Società Intel

  • I dati riservati sono protetti quando sono inattivi tramite la crittografia dell’archiviazione e in transito tra i sistemi tramite la crittografia di rete come HTTPS/TLS. Può e deve anche essere protetto da applicazioni non autorizzate o amministratori di sistema, tramite la crittografia della memoria hardware.

    Società Intel

  • Le banche utilizzano le enclavi Intel SGX su Azure per consentire l’analisi multipartitica delle informazioni riservate.

    Società Intel

All’evento Intel Security Day di martedì, l’azienda ha definito la sua visione presente e futura per le funzionalità incentrate sulla sicurezza nel suo hardware.

Anil Rao e Scott Woodgate di Intel hanno aperto la loro presentazione con una discussione presente e futura su SGX (Software Guard Extensions) di Intel, ma la loro copertura dei piani dell’azienda per portare la crittografia completa della memoria alle future CPU Intel è stata più interessante.

Contents

Estensioni di protezione del software

Intel SGX, annunciata nel 2014 e lanciata con la microarchitettura Skylake nel 2015, è una delle prime tecnologie di crittografia hardware progettate per proteggere aree di memoria da utenti non autorizzati, inclusi gli stessi amministratori di sistema. SGX è un insieme di istruzioni CPU x86_64 che consente a un processo di creare una “enclave” all’interno della memoria crittografata dall’hardware. I dati archiviati nell’enclave crittografato vengono decrittografati solo all’interno della CPU e, anche in questo caso, vengono decrittografati solo su richiesta di istruzioni eseguite dall’enclave stesso.

Di conseguenza, anche qualcuno con accesso root (amministratore di sistema) al sistema in esecuzione non può leggere o modificare utilmente le enclavi protette da SGX. Ciò ha lo scopo di consentire l’elaborazione di dati riservati e ad alto rischio su sistemi condivisi, come gli host di macchine virtuali nel cloud. Consentire a questo tipo di carico di lavoro di spostarsi dai data center di proprietà e gestiti a livello locale a cloud pubblici su larga scala consente operazioni meno costose, tempi di attività, scalabilità e consumi energetici ancora migliori.

L’SGX di Intel ha diversi problemi. Il primo e più ovvio è che è proprietario e specifico del fornitore: se progetti un’applicazione per utilizzare SGX per proteggere la sua memoria, quell’applicazione funzionerà solo su processori Intel. Il secondo è che devi progettare la tua applicazione attorno a SGX: non puoi semplicemente premere un interruttore e accenderlo.

Annuncio

Anche le enclavi SGX hanno dimensioni limitate. Tutte le enclavi su un sistema devono rientrare nella cache della pagina dell’enclave, che attualmente è limitata a 128 MiB in totale, non a 128 MiB per processo. Ovviamente, non è possibile inserire interi sistemi operativi, o anche la maggior parte dei container, in soli 128 MiB, il che significa che gli sviluppatori di applicazioni devono prendere decisioni attente ed estremamente difficili su quali parti della memoria sono “riservate” e quali no.

Danny Harnik di IBM ha testato diverse funzioni all’interno delle enclavi SGX, tra cui sgx_sha256_msg, fornito dall’API Intel sgxsdk.

Infine, ci sono impatti sulle prestazioni potenzialmente gravi per l’utilizzo di SGX. Danny Harnik di IBM ha testato le prestazioni di SGX in modo abbastanza approfondito nel 2017 e ha scoperto che molti carichi di lavoro comuni potrebbero facilmente vedere una riduzione del throughput dal 20 al 50% se eseguiti all’interno delle enclavi SGX.

I test di Harnik non erano perfetti al 100%, come lui stesso ha chiarito, in particolare, in alcuni casi il suo compilatore sembrava produrre codice meno ottimizzato con SGX rispetto a quello che aveva senza. Anche se si decide di segnalare questi casi come “probabilmente risolvibili”, servono a evidenziare un reclamo precedente: la necessità di sviluppare con cura applicazioni specifiche per i casi d’uso SGX, non semplicemente capovolgere un ipotetico interruttore “sì, crittografalo per favore”.\

Crittografia della memoria completa

Ingrandisci / Sembra una pubblicità per i processori AMD Epyc, finché non arrivi a quella casella gialla brillante “soluzioni disponibili oggi” e ti rendi conto che stiamo parlando di Intel.

Per il momento, le estensioni Software Guard sono l’unica offerta Intel disponibile. Ma dopo aver discusso dell’uso reale di SGX, Rao è passato alle future tecnologie Intel, in particolare alla crittografia della memoria completa. Intel fa riferimento alla sua versione della crittografia della memoria completa come TME (Total Memory Encryption) o MKTME (Multi-Key Total Memory Encryption). Sfortunatamente, queste funzionalità sono vaporware per il momento. Sebbene Intel abbia presentato un enorme set di patch del kernel Linux lo scorso maggio per abilitare queste funzionalità, non ci sono ancora processori reali che le offrano.

Senza processori abilitati TME o MKTME disponibili, ha senso spiegare i concetti tecnologici di base utilizzando le tecnologie simili che esistono oggi: SME (Secure Memory Encryption) e SEV (Secure Encrypted Virtualization) di AMD. Per ovvie ragioni, questa non faceva parte della presentazione di Intel, ma è l’unico modo per parlare dei concetti in un senso reale già implementato.

Nel 2016 AMD ha proposto una nuova tecnologia per proteggere la memoria da utenti non autorizzati, chiamata SME (Secure Memory Encryption). A differenza dell’SGX di Intel, lo SME consentirebbe di crittografare e decrittografare qualsiasi pagina nella RAM nell’hardware. Qualsiasi pagina contrassegnata per la crittografia verrebbe crittografata con una chiave AES temporanea a 128 bit, generata tramite RNG hardware (generatore di numeri casuali) a ogni riavvio. Queste chiavi temporanee sono accessibili solo all’hardware della CPU stessa e non possono essere esposte agli utenti (inclusi utenti root o amministratori di sistema).

SME, come SGX, richiede una certa pianificazione da parte degli sviluppatori. Tuttavia, un sottoinsieme più rigoroso di SME, chiamato TSME (Transparent Secure Memory Encryption), consentirebbe di crittografare l’intera RAM di sistema utilizzando SME. Come funzionalità dell’intero sistema, TSME è abilitato o disabilitato nel BIOS di sistema (o UEFI) e non richiede alcuna pianificazione speciale da parte degli sviluppatori di applicazioni: una volta abilitato, tutto è crittografato e questo è tutto ciò che c’è da dire al riguardo.

Ingrandisci / In questa presentazione HASP 2018, i ricercatori della Wayne State University e dell’Università di Houston hanno dimostrato un impatto trascurabile sulle prestazioni derivante dall’abilitazione della virtualizzazione crittografata sicura AMD.

L’approccio di AMD alla crittografia della memoria comporta anche un impatto sulle prestazioni molto inferiore rispetto a Intel SGX. In una presentazione del 2018, i ricercatori della Wayne State University e dell’Università di Houston hanno mostrato che la maggior parte dei carichi di lavoro non è stata influenzata da Secure Encryption Virtualization (un sottoinsieme di SME di AMD che consente la crittografia dell’intera VM, con una chiave separata utilizzata per ciascuna macchina virtuale coperta), nonostante impatti significativi sulle prestazioni con l’SGX di Intel.

Poiché TME e MKTME di Intel sono, per il momento, ancora ipotetici, è troppo presto per fare previsioni audaci su quale sarà il loro impatto sulle prestazioni. Ma con l’esempio di AMD di fronte a noi, sembra ragionevole aspettarsi che dovrebbero avere un impatto minimo sulle prestazioni durante l’uso, a differenza di SGX.

Conclusioni

Questo è probabilmente un momento difficile per fare presentazioni entusiasmanti sulla roadmap di sicurezza di Intel. Le vulnerabilità delle previsioni speculative hanno danneggiato i processori Intel molto più di quelli dei loro concorrenti e l’azienda è stata battuta in modo significativo sul mercato anche da tecnologie di crittografia della memoria hardware più veloci e più facili da usare.

Rao e Woodgate hanno mostrato una faccia coraggiosa parlando di come SGX è stato e viene utilizzato in Azure. Ma sembra evidente che l’approccio a livello di sistema alla crittografia della memoria già implementato nelle CPU Epyc di AMD, e anche in alcune delle loro linee desktop, avrà un impatto duraturo molto maggiore. Le diapositive di Intel sulla loro imminente crittografia della memoria completa sono etichettate come “innovazioni”, ma sembrano molto più simili al recupero della concorrenza già consolidata.

Immagine dell’elenco di Intel Corporation