2015 IEEE Symposium on Security and Privacy Protecting Private Keys against Memory Disclosure Attacks using Hardware Transactional Memory Le Guan∗†§, Jingqiang Lin∗†,BoLuo‡, Jiwu Jing∗† and Jing Wang∗† ∗Data Assurance and Communication Security Research Center, Chinese Academy of Sciences, China †State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, China ‡Department of Electrical Engineering and Computer Science, the University of Kansas, USA §University of Chinese Academy of Sciences, China Email: {guanle, linjingqiang}@iie.ac.cn,
[email protected], {jingjiwu, wangjing}@iie.ac.cn Abstract—Cryptography plays an important role in comput- without any privileges to steal sensitive data in memory [58]. er and communication security. In practical implementations of Malicious unprivileged processes can exploit other different cryptosystems, the cryptographic keys are usually loaded into vulnerabilities [31, 50, 57, 59] to obtain unauthorized mem- the memory as plaintext, and then used in the cryptographic algorithms. Therefore, the private keys are subject to memory ory data. According to the statistics of Linux vulnerabilities disclosure attacks that read unauthorized data from RAM. [24], 16.2% of the vulnerabilities can be exploited to read Such attacks could be performed through software methods unauthorized data from the memory space of operating (e.g., OpenSSL Heartbleed) even when the integrity of the system (OS) kernel or user processes. These memory dis- victim system’s executable binaries is maintained. They could closure attacks can be launched successfully, even when also be performed through physical methods (e.g., cold-boot attacks on RAM chips) even when the system is free of the integrity of the victim system’s executable binaries is software vulnerabilities.