The misunderstanding and incorrect configurations of cryptographic primitives have exposed severe security vulnerabilities to attackers. Due to the pervasiveness and diversity of cryptographic misuses, a comprehensive and accurate understanding of how cryptographic misuses can undermine the security of an Android app is critical to the subsequent mitigation strategies but also challenging. Although various approaches have been proposed to detect cryptographic misuses in Android apps, seldom studies have focused on estimating the security risks introduced by cryptographic misuses. To address this problem, we present an extensible framework for deciding the threat level of cryptographic misuses in Android apps. Firstly, we propose a unified specification for representing cryptographic misuses to make our framework extensible and develop adapters to unify the detection results of the state-of-the-art cryptographic misuse detectors, resulting in an adapter-based detection toolchain for a more comprehensive list of cryptographic misuses. Secondly, we employ a misuse-originating data-flow analysis to connect each cryptographic misuse to a set of data-flow sinks in an app, based on which we propose a quantitative data-flow-driven metric for assessing the overall risk of the app introduced by cryptographic misuses. To make the per-app assessment more useful in the app vetting at the app-store level, we apply unsupervised learning to predict and classify the top risky threats, to guide more efficient subsequent mitigations. In the experiments on an instantiated implementation of the framework, we evaluate the accuracy of our detection and the effect of data-flow-driven risk assessment of our framework. Our empirical study on over 40,000 apps as well as the analysis of popular apps reveals important security observations on the real threats of cryptographic misuses in Android apps.
翻译:加密原始技术的误解和不正确的配置暴露了攻击者在安全方面的严重脆弱性。由于加密滥用现象的普遍存在和多样性,全面准确地了解加密滥用如何会破坏安卓应用程序的安全对于随后的减灾战略至关重要,但也具有挑战性。虽然提出了各种办法来发现安卓应用软件中的加密滥用,但很少研究侧重于估计加密滥用带来的安全风险。为了解决这一问题,我们提出了一个可扩展的框架,用以决定安卓应用软件中加密滥用的威胁程度。首先,我们提出一个统一的定义,用于代表加密滥用,使我们的框架可以扩展,并开发适应器,以统一最新的加密滥用探测器的检测结果,从而导致一个基于适应的检测工具链,用于更全面的加密滥用的风险清单。第二,我们利用一种来源不当的数据流分析,将每次加密滥用与一套应用程序中的数据集流流联系起来。基于这一框架,我们建议对40加密滥用进行定量的误用,并开发一个适应软件的调整器,以统一我们框架的准确度,以便使我们的加密加密滥用风险的检测结果得到更精确的运用。我们随后的精确的精确的精确性评估,我们用在实际的风险评估中,我们进行一个不精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的逻辑应用,我们用于评估,我们用于在评估,我们进行实地的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的运用,我们的研究,我们的研究,我们的研究,在进行,在进行,在进行中,我们的研究中,在对的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的精确的运用的