Software Guard Extensions

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Intel Software Guard Extensions (SGX) è un insieme di codici di istruzioni dell'unità di elaborazione centrale (CPU) di Intel che consente al codice a livello utente di allocare regioni private di memoria, chiamate enclave, che sono protette da processi in esecuzione a livelli di privilegio più elevati.[1] Intel ha progettato SGX per essere utile nell'implementare il calcolo remoto sicuro, la navigazione web sicura e la gestione dei diritti digitali (DRM).[2]

In dettaglio[modifica | modifica wikitesto]

Il supporto per SGX nella CPU è indicato in CPUID "Structured Extended feature Leaf", EBX bit 02,[3] ma la sua disponibilità per le applicazioni richiede il supporto BIOS e l'abilitazione opt-in che non si riflette nei bit CPUID. Ciò complica la logica di rilevamento delle funzioni per le applicazioni.[4]

L'emulazione di SGX è stata aggiunta ad una versione sperimentale dell'emulatore di sistema QEMU nel 2014.[5] Nel 2015, i ricercatori del Georgia Institute of Technology hanno rilasciato un simulatore open-source noto come OpenSGX.[6]

È stato introdotto nel 2015 con la sesta generazione di microprocessori Intel Core basati sulla microarchitettura Skylake.

Un esempio di SGX utilizzato in sicurezza è stata un'applicazione demo di wolfSSL che lo utilizza per algoritmi di crittografia.[7] Un esempio di servizio sicuro costruito utilizzando SGX è il servizio di gestione delle chiavi di Fortanix.[8] L'intero servizio basato su cloud è costruito utilizzando server SGX e progettato per garantire la privacy dei fornitori di cloud. Un ulteriore esempio è Numecent che utilizza SGX per proteggere il DRM che viene utilizzato per autorizzare l'esecuzione delle applicazioni con i loro prodotti di distribuzione delle applicazioni Cloudpaging.

Anche l'architettura Goldmont Plus (Gemini Lake) di Intel ha aggiunto il supporto per Intel SGX.

Attacco Prime+Probe[modifica | modifica wikitesto]

Il 27 marzo 2017 i ricercatori dell'Università tecnica di Graz, in Austria, hanno sviluppato un proof-of-concept che, utilizzando alcune istruzioni della CPU al posto di un timer per sfruttare i canali laterali della cache DRAM, può prelevare chiavi RSA da enclave SGX in esecuzione sullo stesso sistema entro cinque minuti.[9][10] Una contromisura per questo tipo di attacco è stata presentata e pubblicata da Daniel Gruss et al. al Simposio sulla sicurezza USENIX nel 2017.[11] Tra le altre contromisure pubblicate, una contromisura a questo tipo di attacco è stata pubblicata il 28 settembre 2017, uno strumento basato su compilatore, DR.SGX,[12] che sostiene di avere prestazioni superiori con l'eliminazione della complessità di implementazione delle altre soluzioni proposte.

Attacco Spectre[modifica | modifica wikitesto]

Lo stesso argomento in dettaglio: Spectre (vulnerabilità di sicurezza).

Il gruppo LSDS all'Imperial College di Londra ha dimostrato che la vulnerabilità di sicurezza dell'esecuzione speculativa Spectre può essere adattata per attaccare l'enclave sicura.[13] L'attacco Foreshadow, rivelato nell'agosto 2018, combina esecuzione speculativa e buffer overflow per bypassare l'SGX.[14]

Note[modifica | modifica wikitesto]

  1. ^ (EN) Matthew H., Intel SGX for Dummies (Intel SGX Design Objectives), su software.intel.com, Intel, 26 settembre 2013. URL consultato il 13 novembre 2018.
  2. ^ (EN) Intel SGX Details, su software.intel.com, Intel. URL consultato il 13 novembre 2018.
  3. ^ (EN) Intel Architecture Instruction Set Extensions Programming Reference (PDF), su software.intel.com, Intel, agosto 2015, p. 36. URL consultato il 13 novembre 2018.
  4. ^ (EN) John M., Properly Detecting Intel Software Guard Extensions (Intel SGX) in Your Applications, su software.intel.com, Intel, 6 maggio 2016. URL consultato il 13 novembre 2018.
  5. ^ (EN) Jain Prerit e Desai Soham, Intel SGX Emulation using QEMU (PDF), su tc.gtisc.gatech.edu. URL consultato il 13 novembre 2018.
  6. ^ (EN) sslab-gatech/opensgx, su GitHub. URL consultato il 13 novembre 2018.
  7. ^ (EN) wolfSSL Past Events, su wolfSSL. URL consultato il 13 novembre 2018.
  8. ^ (EN) Ambuj Kumar, Interview with Ambuj Kumar, CEO and Co-founder of Fortanix, in Virtual Strategy Magazine, 20 dicembre 2017. URL consultato il 13 novembre 2018 (archiviato dall'url originale il 30 ottobre 2018).
  9. ^ (EN) Richard Chirgwin, Boffins show Intel's SGX can leak crypto keys, in The Register, 7 marzo 2017. URL consultato il 13 novembre 2018.
  10. ^ (EN) Michael Schwarz, Samuel Weiser, Daniel Gruss, Clémentine Maurice e Stefan Mangard, Malware Guard Extension: Using SGX to Conceal Cache Attacks, febbraio 2017, Bibcode:2017arXiv170208719S, arXiv:1702.08719. URL consultato il 13 novembre 2018.
  11. ^ (EN) Daniel Gruss, Julian Lettner, Felix Schuster, Olga Ohrimenko, Istvan Haller e Manuel Costa, Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory (PDF), su usenix.org, USENIX. URL consultato il 13 novembre 2018.
  12. ^ (EN) Ferdinand Brasser, Srdjan Capkun, Alexandra Dmitrienko, Tommaso Frassetto, Kari Kostiainen, Urs Müller e Ahmad-Reza Sadeghi, DR.SGX: Hardening SGX Enclaves against Cache Attacks with Data Location Randomization (PDF), 28 settembre 2017, arXiv:1709.09917. URL consultato il 13 novembre 2018.
  13. ^ (EN) lsds/spectre-attack-sgx, su GitHub. URL consultato il 13 novembre 2018.
  14. ^ (EN) Peter Bright, New Spectre-like attack uses speculative execution to overflow buffers, in Ars Technica, 10 luglio 2018. URL consultato il 13 novembre 2018.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]