| Cloud computing uses virtualization technology to allow individuals or organizations to upload data and programs to the public cloud for storage and execution.However,there is also a serious security problem in cloud computing environment: the security of applications and data stored or executed on untrusted public clouds can not be guaranteed,and the sensitive data of cloud programs may be leaked by attackers or malicious cloud providers for static or dynamic analysis of cloud programs.Therefore,protecting the confidentiality and integrity of sensitive program data has become one of the important issues in cloud computing security.At present,cloud data is mainly divided into two types: storage data and runtime data.There are mature methods for storage data protection,such as data encryption and protection.There is no mature scheme for runtime data protection,but trusted execution environment as a new hardware function provides a new solution for this kind of data protection.Solutions for runtime data protection include the Glamdring framework,which supports partitioning of C programs,the scheme will move sensitive data and sensitive functions in a program to a trusted environment for protection and execution.,but the framework can only protect written in C or C + + language application,does not support sensitive variable protection in Big Data applications,such as Hadoop applications.There are also control flow confusion schemes combined with trusted execution environment,such as CFHider and CFCloak,to protect the confidentiality of control flow by hiding the control flow variables in the program into trusted execution environment.However,such schemes can only protect the control flow variables in the program,can not support protection of arbitrary sensitive variables in the program.The work of this paper has two main contributions.(1)The security defect of CFCloak scheme is analyzed and an attack method is proposed based on this defect.(2)A new more secure remote program sensitive variable hiding scheme RSDHider is proposed,and a general solution is designed to protect any sensitive variable in remote program;The specific research work is as follows:(1)This paper designs and implements a remote program sensitive variable hiding scheme based on trusted execution environment SGX.In this scheme,Intel SGX technology and program conversion technology are combined to partition the user program,and the part of the program containing sensitive variables is moved to the SGX Enclave for execution,so as to protect the confidentiality of the sensitive variables of the user program.(2)This paper designs and implements a screening algorithm for remote program sensitive variables based on taint analysis.The algorithm by using Soot program analysis framework,on the basis of the data flow sensitivity of the variables in the program to find the pollution in the process of program execution to other variables,and to store such variables as possible sensitive markers to Enclave,fully collecting sensitive and sensitive variables related variables,safeguard the integrity of sensitive variables.(3)A special instruction set and data structure are designed for non-basic types,which are implemented in Enclave to protect arrays and object type sensitive variables.(4)Based on the proposed scheme,this paper designed and developed a remote program sensitive variable hiding prototype system,and conducted an experimental analysis on the feasibility and time cost of the scheme.According to the experimental results,the remote program sensitive variable hiding scheme proposed in this paper is suitable for all Hadoop application test samples and CPU intensive application test samples.The average time cost of the two types of sample programs protected by this scheme is 3.1 times and 2.98 times of the original program,respectively. |