Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

AutoCog: Measuring the Description-to-permission Fidelity in Android Applications

论文下载

本文的主要工作是提出了一种新型的Android应用程序权限申请问题检测方法,通过使用多种自然语言处理和机器学习技术,从应用程序在市场中的描述中提取关键语义信息,然后和事先学习好的权限-语义信息库进行对比,从而判断一个Andorid应用程序依照描述内容应该申请哪些权限。 该检测方法主要流程如下:

Fig

  • 应用程序的描述首先通过SBD进行单词的分割,之后使用Stanford Parser算法进行语句结构上的分割,提取出相关的单词。
  • 之后送入Decision进行最终裁定,Decision进行裁定有几个依据:
    • 一个是使用ESA算法的语义关系比较,能够分辨一句话中哪些单词之间是互相联系的,目的是理解一条自然语言语句的含义。
    • 另一个是使用机器学习技术学习出来的语义信息-权限对应关系模型,该模型可以帮助判断不同的语义信息对应怎样的Android权限。

本文的工具名为AutoCog,可以从Google Play上下载到,本文中进行对比的工作是USENIX13上Enck发表的WHYPER。WHYPER有几个比较明显的缺陷:

  1. 使用的DS算法为WordNet效果没有ESA好。
  2. 使用API描述文档中的单词来进行语义分析,词汇量过少。本文使用的机器学习方法学习出来的对应模型就没有这个问题。
  3. 无法自动化。

最后和WHYPER对比的Evaluation如下:

Fig

和WHYPER比起来,可以看出结果还是要好很多的。

最后作者使用AutoCog分析了45811个应用程序,只有9%的应用程序不存在有争议的权限。还发现开发应用程序越多的程序员,开发出来的应用程序中权限申请问题就越少。