Various studies have empirically shown that the majority of Java and Android apps misuse cryptographic libraries, causing devastating breaches of data security. erefore, it is crucial to detect such misuses early in the development process. e fact that insecure usages are not the exception but the norm precludes approaches based on property inference and anomaly detection. In this paper, we present C SL, a definition language that enables cryptography experts to specify the secure usage of the cryptographic libraries that they provide. C SL combines the generic concepts of method-call sequences and data-flow constraints with domain-specific constraints related to cryptographic algorithms and their parameters. We have implemented a compiler that translates a C SL ruleset into a context-and flow-sensitive demanddriven static analysis. e analysis automatically checks a given Java or Android app for violations of the C SL-encoded rules. We empirically evaluated our ruleset through analyzing 10,001 Android apps. Our results show that misuse of cryptographic APIs is still widespread, with 96% of apps containing at least one misuse. However, we observed fewer of the misuses that were reported in previous work.
In REF , authors present CrySL, that offers a definition language to specify rules for correct usages of Crypto APIs.
CrySL: Validating Correct Usage of Cryptographic APIs
ArXiv
ArXiv
Computer Science