Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Revisiting the Description-to-Behavior Fidelity in Android Applications

Abstract

  • 之前Whyper和AutoCog两个工具分析了APP的权限与description之间的关系。如果description没有相关描述,却申请了相关权限,就会提出警告
  • 这篇文章认为该方法有意义,但是准确率还可以提高,因此又引入了privacy policy和code进来一同分析。主要想要解决的问题是,研究privacy policy与code是否能帮助description-to-behavior提高准确性。
  • privacy policy举例:

Fig

分析工具的实现

Fig

Privacy Policy Analysis

主要是语言处理。将privacy policy分为几个模块:data collection(收集),data storage(存储), data retention(记忆或保留), data utilization(使用), data access(获取), data disclose(公开), data provision(提供), user consent(同意)。依此来建模semantic patterns。最终找到privacy policy中提到的所有权限。

Code and permission analysis

静态分析dex,提到了dexhunter。静态分析都是使用别人的工具,flowdroid,iccta。最终通过source及sink来确定权限相关API的使用。顺带还分析下APP使用了哪些三方库,以便收集三方库的privacy policy

实验及结论

  • 语义识别准确率:准确率达到97-98%
  • Privacy Policy Analysis的效果

Fig

  • code analysis的效果

Fig

最终结论:

  1. READ_CONTACTS, WRITE_CONTACTS,WRITE_EXTERNAL_STORAGE这几个权限Privacy Policy Analysis的效果明显。
  2. WRITE_SETTING, RECORD_AUDIO, CAMEAR,RECEIVE_BOOT_COMPLETED, GET_ACCOUNTS,READ_CALENDAR这几个权限code analysis的效果明显。
  3. ACCESS_COARSE_LOCATION,ACCESS_FINE_LOCATION Privacy Policy Analysis与code analysis效果都很好。
  4. REVEIVED_BOOT_COMPLETED ppa效果不好,但ca效果明显。