Affiliation:
1. Tsinghua University, China
Abstract
Cryptography is a core component of many security applications, and flaws hidden in its implementation will affect the functional integrity or, more severely, pose threats to data security. Hence, guaranteeing the correctness of the implementation is important. However, the semantic characteristics (e.g., diverse input data and complex functional transformation) challenge those traditional program validation techniques (e.g., static analysis and dynamic fuzzing). In this article, we propose CLFuzz, a semantic-aware fuzzer for the vulnerability detection of cryptographic algorithm implementation. CLFuzz first extracts the semantic information of targeted algorithms including their cryptographic-specific constraints and function signatures. Based on them, CLFuzz generates high-quality input data adaptively to trigger error-prone situations efficiently. Furthermore, CLFuzz applies innovative logical cross-check that strengthens the logical bug detection ability. We evaluate CLFuzz on the widely used implementations of 54 cryptographic algorithms. It outperforms state-of-the-art cryptographic fuzzing tools. For example, compared with Cryptofuzz, it achieves a coverage speedup of 3.4× and increases the final coverage by 14.4%. Furthermore, CLFuzz has detected 12 previously unknown implementation bugs in 8 cryptographic algorithms (e.g., CMAC in OpenSSL and Message Digest in SymCrypt), most of which are security-critical and have been successfully collected in the national vulnerability database (7 in NVD/CNVD) and is awarded by the Microsoft bounty program (2 for $1,000).
Funder
National Key Research and Development Project
NSFC
Webank Scholar Project
Publisher
Association for Computing Machinery (ACM)
Reference69 articles.
1. Pedram Amini and Aaron Portnoy. 2012. Sulley. Retrieved from https://github.com/OpenRCE/sulley
2. A practical guide for using statistical tests to assess randomized algorithms in software engineering
3. ARM. 2021. Mbed TLS. Retrieved from https://tls.mbed.org/
4. NAUTILUS: Fishing for Deep Bugs with Grammars
5. Automated testing of crypto software using differential fuzzing;Aumasson Jean-Philippe;Black Hat USA,2017
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献