Protecting Security-Sensitive Data Using Program Transformation and Intel SGX

Cloud computing allows clients uploading their sensitive data to the public cloud and perform sensitive computations in those untrusted areas, which drives to possible violations to the confidentiality of client sensitive data. By leveraging the program transformation and the Intel Software Guard Extension (SGX) technology, our proposed solution hides the security-sensitive statements inside an SGX enclave. Some former works have shown that most applications can run in their entirety inside trusted areas such as SGX enclaves, and that leads to a large trusted computing base (TCB). As a result, we analyze a case study in which we partition an application and use an SGX enclave to protect only security-sensitive statements, thus obtaining a smaller TCB. In this paper, we describe our case study that secures applications written in Java using Intel SGX technology. We analyzed our proposed solution using concrete examples to show how the confidentiality of security-sensitive variables is protected.

[1]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[2]  Rohan Padhye,et al.  Interprocedural data flow analysis in Soot using value contexts , 2013, SOAP '13.

[3]  Jinpeng Wei,et al.  Toward protecting control flow confidentiality in cloud-based computation , 2015, Comput. Secur..

[4]  Morris J. Dworkin,et al.  SP 800-38A 2001 edition. Recommendation for Block Cipher Modes of Operation: Methods and Techniques , 2001 .

[5]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[6]  Vikram S. Adve,et al.  Virtual ghost: protecting applications from hostile operating systems , 2014, ASPLOS.

[7]  Srinivas Devadas,et al.  Intel SGX Explained , 2016, IACR Cryptol. ePrint Arch..

[8]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[9]  Jacques Klein,et al.  FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps , 2014, PLDI.

[10]  Christof Fetzer,et al.  SecureKeeper: Confidential ZooKeeper using Intel SGX , 2016, Middleware.

[11]  David M. Eyers,et al.  Glamdring: Automatic Application Partitioning for Intel SGX , 2017, USENIX Annual Technical Conference.

[12]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[13]  Calton Pu,et al.  SubDomain: Parsimonious Server Security , 2000, LISA.

[14]  Dawn M. Cappelli,et al.  Insider Threat Study: Illicit Cyber Activity in the Information Technology and Telecommunications Sector , 2008 .

[15]  Jun Sun,et al.  Automatically partition software into least privilege components using dynamic data dependency analysis , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[16]  Hovav Shacham,et al.  Hey, you, get off of my cloud: exploring information leakage in third-party compute clouds , 2009, CCS.

[17]  Ke Cheng,et al.  Obfuscating program control flow with Intel SGX , 2018, ICSE.