Title
Annotating, Tracking, and Protecting Cryptographic Secrets with CryptoMPK
Abstract
Protecting confidential data against memory disclosure attacks is crucial to many critical applications, especially those involve cryptographic operations. However, it is neither easy to identify involved cryptographic confidential data in a program nor to implement a fine-grained and yet efficient protection. Existing defensive techniques face many shortcomings such as coarse-grained protection or exorbitant overhead. As a result, real world crypto applications seldom applied this kind of protection in practice.To make the protection of cryptographic confidential data practical, we design and implement CRYPTOMPK, a source code analysis and transformation system to implement a domain-based memory isolation. CRYPTOMPK first automatically tracks and labels all sensitive memory buffers and operations in source code with a context-sensitive, crypto-aware information flow analysis. Then it partitions the source code into crypto and non-crypto domains with a context-dependent privilege switch instrumentation. By further utilizing Intel Memory Protection Keys (MPK), CRYPTOMPK generates executables with efficient domain switching, protecting them against typical memory disclosure vulnerabilities such as arbitrary memory read. In particular, by using CRYPTOMPK, a large number of intermediate memory buffers that have been previously ignored before are well protected, and thus the security risks are reduced significantly. We leveraged CRYPTOMPK to protect prevalent applications such as Apache and Nginx with widely used crypto libraries (e.g., OpenSSL, LibSodium). CRYPTOMPK only needs several minutes to analyze each of these complex cryptographic programs and incurs at most 9.53% performance overhead for the protected programs.
Year
DOI
Venue
2022
10.1109/SP46214.2022.9833650
2022 IEEE Symposium on Security and Privacy (SP)
Keywords
DocType
ISSN
memory disclosure attacks,cryptographic operations,crypto applications,source code analysis,domain-based memory isolation,context-dependent privilege switch instrumentation,Intel Memory Protection Keys,domain switching,memory disclosure vulnerability,intermediate memory buffers,crypto libraries,complex cryptographic programs,CRYPTOMPK,context-sensitive crypto-aware information flow analysis,sensitive memory buffer tracking,cryptographic secret protection,cryptographic confidential data protection,source code transformation system,Intel MPK,arbitrary memory read,security risk reduction,Apache,Nginx,OpenSSL,LibSodium
Conference
1081-6011
ISBN
Citations 
PageRank 
978-1-6654-1317-6
0
0.34
References 
Authors
19
9
Name
Order
Citations
PageRank
Xuancheng Jin100.34
Xuangan Xiao200.34
Songlin Jia300.34
Wang Gao400.34
Dawu Gu5644103.50
Hang Zhang600.34
Siqi Ma701.69
Zhiyun Qian8111374.48
Juanru Li917924.07