Software Guard Extensions

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

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

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

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

  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

  • Intel MPX
  • Spectre

Collegamenti esterni

  • (EN) Intel SGX Homepage, su software.intel.com, Intel. URL consultato il 13 novembre 2018.
    • (EN) Intel Software Guard Extensions Programming Reference (PDF), su software.intel.com, Intel, ottobre 2014. URL consultato il 13 novembre 2018.
    • (EN) IDF 2015 - A Primer on Intel® Software Guard Extensions (Intel SGX) (PDF), su software.intel.com, Intel. URL consultato il 13 novembre 2018.
    • (EN) Intel Software Guard Extensions (Intel SGX) (PDF), su software.intel.com, Intel, giugno 2015. URL consultato il 13 novembre 2018.
  • (EN) Frank McKeen, Ilya Alexandrovich, Alex Berenzon, Carlos Rozas, Hisham Shafi, Vedvyas Shanbhogue e Uday Savagaonkar, Innovative Instructions and Software Model for Isolated Execution (PDF), su web.cs.wpi.edu, Intel, 2013. URL consultato il 13 novembre 2018.
  • (EN) Joanna Rutkowska, Thoughts on Intel's upcoming Software Guard Extensions (Part 1), in The Invisible Things Lab's blog, 30 agosto 2013. URL consultato il 13 novembre 2018.
  • (EN) Shaun Davenport e Richard Ford, SGX: the good, the bad and the downright ugly, in Virus Bulletin, 7 gennaio 2014. URL consultato il 13 novembre 2018.
  • (EN) Victor Costan e Srinivas Devadas, Intel SGX Explained (PDF), su eprint.iacr.org. URL consultato il 13 novembre 2018.
  • (EN) wolfSSL/wolfssl, su GitHub. URL consultato il 13 novembre 2018.
  • (EN) Yehuda Lindell, The Security of Intel SGX for Key Protection and Data Privacy Applications (PDF), su cdn2.hubspot.net, 16 agosto 2018. URL consultato il 13 novembre 2018.
  Portale Informatica
  Portale Sicurezza informatica