ABSTRACT
Application security traditionally strongly relies upon security of the underlying operating system. However, operating systems often fall victim to software attacks, compromising security of applications as well. To overcome this dependency, Intel SGX allows to protect application code against a subverted or malicious OS by running it in a hardware-protected enclave. However, SGX lacks support for generic trusted I/O paths to protect user input and output between enclaves and I/O devices. This work presents SGXIO, a generic trusted path architecture for SGX, allowing user applications to run securely on top of an untrusted OS, while at the same time supporting trusted paths to generic I/O devices. To achieve this, SGXIO combines the benefits of SGX's easy programming model with traditional hypervisor-based trusted path architectures. Moreover, SGXIO can tweak insecure debug enclaves to behave like secure production enclaves. SGXIO surpasses traditional use cases in cloud computing and digital rights management and makes SGX technology usable for protecting user-centric, local applications against kernel-level keyloggers and likewise. It is compatible to unmodified operating systems and works on a modern commodity notebook out of the box. Hence, SGXIO is particularly promising for the broad x86 community to which SGX is readily available.
- I. Anati, S. Gueron, S. Johnson, and V. Scarlata. Innovative technology for CPU based attestation and sealing. In HASP'13, volume 13, Aug. 2013.Google Scholar
- I. Anati, F. McKeen, S. Gueron, H. Huang, S. Johnson, R. Leslie-Hurd, H. Patil, C. V. Rozas, and H. Shafi. Intel Software Guard Extensions (Intel SGX), 2015. Tutorial Slides presented at ICSA 2015.Google Scholar
- ARM. TrustZone. http://www.arm.com/products/processors/technologies/trustzone/index.php. (accessed 2016-04-04).Google Scholar
- J. Beekman. Intel has full control over SGX. https://jbeekman.nl/blog/2015/10/intel-has-full-control-over-sgx/, Oct. 2015. (accessed 2016-03-03).Google Scholar
- R. Boivie and P. Williams. SecureBlue+: CPU Support for Secure Executables. Research report, IBM, Apr. 2013. Reference no. RC25369.Google Scholar
- D. Champagne and R. B. Lee. Scalable architectural support for trusted software. In HPCA'16, pages 1--12, Jan. 2010.Google ScholarCross Ref
- X. Chen, T. Garfinkel, E. C. Lewis, P. Subrahmanyam, C. A. Waldspurger, D. Boneh, J. Dwoskin, and D. R. Ports. Overshadow: A Virtualization-based Approach to Retrofitting Protection in Commodity Operating Systems. In ASPLOS XIII, pages 2--13. ACM, 2008. Google ScholarDigital Library
- S. Chhabra, B. Rogers, Y. Solihin, and M. Prvulovic. SecureME: A Hardware-software Approach to Full System Security. In ICS '11, pages 108--119. ACM, 2011. Google ScholarDigital Library
- V. Costan, I. A. Lebedev, and S. Devadas. Sanctum: Minimal Hardware Extensions for Strong Software Isolation. In USENIX Security'16, pages 857--874, Aug. 2016.Google Scholar
- D. Evtyushkin, J. Elwell, M. Ozsoy, D. Ponomarev, N. A. Ghazaleh, and R. Riley. Iso-X: A Flexible Architecture for Hardware-Managed Isolated Execution. In MICRO'14, pages 190--202, Dec. 2014. Google ScholarDigital Library
- E. Fernandes, Q. A. Chen, G. Essl, J. A. Halderman, Z. M. Mao, and A. Prakash. TIVOs: Trusted Visual I/O Paths for Android. University of Michigan CSE Technical Report CSE-TR-586--14, 2014.Google Scholar
- A. Filyanov, J. M. McCune, A. R. Sadeghi, and M. Winandy. Uni-directional trusted path: Transaction confirmation on just one device. In DSN'11, pages 1--12, June 2011. Google ScholarDigital Library
- M. Hoekstra, R. Lal, P. Pappachan, V. Phegade, and J. Del Cuvillo. Using Innovative Instructions to Create Trustworthy Software Solutions. In HASP '13. ACM, 2013. Google ScholarDigital Library
- Intel Software Guard Extensions Programming Reference, Oct. 2014. Reference no. 329298-002US.Google Scholar
- Intel 64 and IA-32 Architectures Software Developer's Manual, Sept. 2015. Reference no. 325462-056US.Google Scholar
- Intel Trusted Execution Technology (Intel TXT), Software Development Guide, July 2015. Reference no. 315168-012.Google Scholar
- Intel Software Guard Extensions Developer Guide, 2016.Google Scholar
- Intel Software Guard Extensions Evaluation SDK for Windows OS. User's Guide, Jan. 2016. Revision 1.1.1.Google Scholar
- S. Johnson, D. Zimmerman, and B. Derek. Intel SGX: Debug, Production, Pre-release what's the difference? https://software.intel.com/en-us/blogs/2016/01/07/intel-sgx-debug-production-prelease-whats-the-difference, Jan. 2016. (accessed 2016-04-04).Google Scholar
- G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood. seL4: Formal Verification of an OS Kernel. In SOSP '09, pages 207--220. ACM, 2009. Google ScholarDigital Library
- N. Knupffer. Intel Insidertextendash What Is It? (Is it DRM? And yes it delivers top quality movies to your PC). https://blogs.intel.com/technology/2011/01/intel_insider_-_what_is_it_no/, Jan. 2011. (accessed 2016-04-04).Google Scholar
- M. Lange and S. Liebergeld. Crossover: Secure and Usable User Interface for Mobile Devices with Multiple Isolated OS Personalities. In ACSAC '13, pages 249--257. ACM, 2013. Google ScholarDigital Library
- W. Li, M. Ma, J. Han, Y. Xia, B. Zang, C.-K. Chu, and T. Li. Building Trusted Path on Untrusted Device Drivers for Mobile Devices. In APSys '14, pages 8:1--8:7. ACM, 2014. Google ScholarDigital Library
- D. Liu, E. Cuervo, V. Pistol, R. Scudellari, and L. P. Cox. ScreenPass: Secure Password Entry on Touchscreen Devices. In MobiSys '13, pages 291--304. ACM, 2013. Google ScholarDigital Library
- J. M. McCune, B. J. Parno, A. Perrig, M. K. Reiter, and H. Isozaki. Flicker: An Execution Infrastructure for Tcb Minimization. In Eurosys '08, pages 315--328. ACM, 2008. Google ScholarDigital Library
- F. McKeen, I. Alexandrovich, A. Berenzon, C. V. Rozas, H. Shafi, V. Shanbhogue, and U. R. Savagaonkar. Innovative instructions and software model for isolated execution. In HASP'13, page 10, 2013. Google ScholarDigital Library
- T. Murray, D. Matichuk, M. Brassil, P. Gammie, T. Bourke, S. Seefried, C. Lewis, X. Gao, and G. Klein. seL4: From General Purpose to a Proof of Information Flow Enforcement. In SP'13, pages 415--429, May 2013. Google ScholarDigital Library
- seL4 Reference Manual, Version 3.0.0. NICTA, Mar. 2016. https://wiki.sel4.systems/Documentation (2016/04/04).Google Scholar
- E. Owusu, J. Guajardo, J. McCune, J. Newsome, A. Perrig, and A. Vasudevan. OASIS: On Achieving a Sanctuary for Integrity and Secrecy on Untrusted Platforms. In CCS '13, pages 13--24. ACM, 2013. Google ScholarDigital Library
- B. Parno. Bootstrapping Trust in a "Trusted" Platform. In HotSec'08, 2008. Google ScholarDigital Library
- PCI Security Standards Council. Approved PIN Transaction Security Devices. https://www.pcisecuritystandards.org/assessors_and_solutions/pin_transaction_devices. (accessed 2016-04-04).Google Scholar
- J. M. M. A. Perrig and M. K. Reiter. Safe Passage for Passwords and Other Sensitive Data. In NDSS'09, 2009.Google Scholar
- X. Ruan. Platform Embedded Security Technology Revealed. Safeguarding the Future of Computing with Intel Embedded Security and Management Engine. ApressOpen, 2014. Google ScholarDigital Library
- G. E. Suh, D. Clarke, B. Gassend, M. van Dijk, and S. Devadas. AEGIS: Architecture for Tamper-evident and Tamper-resistant Processing. In ICS '03, pages 160--171. ACM, 2003. Google ScholarDigital Library
- H. Sun, K. Sun, Y. Wang, J. Jing, and H. Wang. TrustICE: Hardware-Assisted Isolated Computing Environments on Mobile Devices. In DSN'15, pages 367--378, June 2015. Google ScholarDigital Library
- TCG. Trusted Platform Module Library. Part 1: Architecture. Family 2.0. Oct. 2014. Revision 01.16.Google Scholar
- T. Tong and D. Evans. Guardroid: A trusted path for password entry. Mobile Security Technologies, 2013.Google Scholar
- Verified by Visa. https://www.visaeurope.com/making-payments/verified-by-visa/. (accessed 2016-08--10).Google Scholar
- S. Weiser and M. Werner. SGXIO: Generic Trusted I/O Path for Intel SGX. arXiv:1701.01061, Jan. 2017. Google ScholarDigital Library
- M. Yu, V. D. Gligor, and Z. Zhou. Trusted Display on Untrusted Commodity Platforms. In CCS '15, pages 989--1003. ACM, 2015. Google ScholarDigital Library
- Z. Zhou. On-Demand Isolated I/O for Security-Sensitive Applications on Commodity Platforms. PhD thesis, Carnegie Mellon University, 2014.Google Scholar
- Z. Zhou, V. D. Gligor, J. Newsome, and J. M. McCune. Building Verifiable Trusted Path on Commodity x86 Computers. In SP'12, pages 616--630, May 2012. Google ScholarDigital Library
- Z. Zhou, M. Yu, and V. D. Gligor. Dancing with Giants: Wimpy Kernels for On-Demand Isolated I/O. In SP'14, pages 308--323, May 2014. Google ScholarDigital Library
Index Terms
- SGXIO: Generic Trusted I/O Path for Intel SGX
Recommendations
Intel® Software Guard Extensions (Intel® SGX) Architecture for Oversubscription of Secure Memory in a Virtualized Environment
HASP '17: Proceedings of the Hardware and Architectural Support for Security and PrivacyAs workloads and data move to the cloud, it is essential that software writers are able to protect their applications from untrusted hardware, systems software, and co-tenants. Intel® Software Guard Extensions (SGX) enables a new mode of execution that ...
JITGuard: Hardening Just-in-time Compilers with SGX
CCS '17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications SecurityMemory-corruption vulnerabilities pose a serious threat to modern computer security. Attackers exploit these vulnerabilities to manipulate code and data of vulnerable applications to generate malicious behavior by means of code-injection and code-reuse ...
STACCO: Differentially Analyzing Side-Channel Traces for Detecting SSL/TLS Vulnerabilities in Secure Enclaves
CCS '17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications SecurityIntel Software Guard Extension (SGX) offers software applications a shielded execution environment, dubbed enclave, to protect their confidentiality and integrity from malicious operating systems. As processors with this extended feature become ...
Comments