Billions of users rely on the security of the Android platform to protect phones, tablets, and many different types of consumer electronics. While Android's permission model is well studied, the enforcement of the protection policy has received relatively little attention. Much of this enforcement is spread across system services, taking the form of hard-coded checks within their implementations. In this paper, we propose Authorization Check Miner (ACMiner), a framework for evaluating the correctness of Android's access control enforcement through consistency analysis of authorization checks. ACMiner combines program and text analysis techniques to generate a rich set of authorization checks, mines the corresponding protection policy for each service entry point, and uses association rule mining at a service granularity to identify inconsistencies that may correspond to vulnerabilities. We used ACMiner to study the AOSP version of Android 7.1.1 to identify 28 vulnerabilities relating to missing authorization checks. In doing so, we demonstrate ACMiner's ability to help domain experts process thousands of authorization checks scattered across millions of lines of code.
翻译:数十亿用户依靠Android平台的安全来保护电话、平板电脑和许多不同种类的消费电子设备。虽然对Android的许可模式进行了很好的研究,但保护政策的执行却相对较少受到注意。这种执法工作在系统服务中以硬编码检查的形式分散,在其实施过程中采取了硬编码检查的形式。在本文件中,我们提议授权检查Miner(ACMiner)(ACMiner)(ACMiner))(ACMiner)(ACMiner),这是一个通过对授权检查进行一致分析来评价Android出入控制执法的正确性的框架。ACMiner(ACMiner)将程序和文本分析技术结合起来,以产生一套丰富的授权检查,为每个服务入口点埋设相应的保护政策,并利用服务粮仓的结合规则采矿,以确定可能与脆弱性相符的不一致之处。我们利用AMMIiner(AOSP)版本的AND 7.1.1(AMild)来查明与缺失的授权检查有关的28个弱点。我们以此来证明ACMiner(ACMiner)有能力帮助域专家处理分散于数以百万条码线的数千项授权检查。