Abstract
Cryptographic API misuses, such as exposed secrets, predictable random numbers, and vulnerable certificate verification, seriously threaten software security. The vision of automatically screening cryptographic API calls in massive-sized (e.g., millions of LoC) programs is not new. However, hindered by the practical difficulty of reducing false positives without compromising analysis quality, this goal has not been accomplished. CryptoGuard is a set of detection algorithms that refine program slices by identifying language-specific irrelevant elements. The refinements reduce false alerts by 76% to 80% in our experiments. Running our tool, CryptoGuard, on 46 high-impact large-scale Apache projects and 6,181 Android apps generated many security insights. Our findings helped multiple popular Apache projects to harden their code, including Spark, Ranger, and Ofbiz. We also have made progress towards the science of analysis in this space, including manually analyzing 1,295 Apache alerts, confirming 1,277 true positives (98.61% precision), and in-depth comparison with leading solutions including CrySL, SpotBugs, and Coverity.
Author supplied keywords
Cite
CITATION STYLE
Rahaman, S., Xiao, Y., Afrose, S., Shaon, F., Tian, K., Frantz, M., … Yao, D. (2019). Cryptoguard: High precision detection of cryptographic vulnerabilities in massive-sized Java projects. In Proceedings of the ACM Conference on Computer and Communications Security (pp. 2455–2472). Association for Computing Machinery. https://doi.org/10.1145/3319535.3345659
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.