Cryptoguard: High precision detection of cryptographic vulnerabilities in massive-sized Java projects

121Citations
Citations of this article
96Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free