1.论文信息
作者:Luca Verderame; Davide Caputo; Andrea Romdhana; Alessio Merlo
年份:2020年
机构:DIBRIS, University of Genoa, Genoa, Italy
会议:International Joint Conference on Neural Networks (IJCNN)
主要内容:提出了一种基于静态分析、动态分析和机器学习技术的Android应用程序合规检测工具3PDroid,主要评估应用程序及其使用的第三方库是否符合 Google Play Store的隐私政策。
关键词:Android, Privacy Guidelines, Static Analysis, Dynamic Analysis, Machine Learning
2.问题分析
- 大多数隐私政策合规检测方法依赖于静态分析,容易导致误报和漏报,难以准确识别应用的真实隐私合规性。
- 部分研究仅考虑应用商店发布的隐私政策,未关注app实际运行时展示给用户的隐私政策页面,因此无法判断应用程序运行时提示给用户的页面是否符合其在应用商店发布的隐私准则。此外,现有研究不能检测用户是否在app访问个人和敏感信息(PSI)之前已明确授权。
- 应用程序多使用第三方库和框架,增加了评估的复杂性,难以全面评估应用的隐私合规性
3.研究方案
本文提出了一种基于静态分析、动态分析和机器学习技术相结合隐私合规检测方法3PDroid,以验证 Android应用程序是否符合Google Play Store的隐私政策。
合规标准:文中提出了一系列技术要求和内容要求,将其作为是否合规的判定标准,如下图1.1所示。
图1.1 Google Play 隐私准则的技术要求(TR) 和内容要求(CR)
总的来说,3PDroid的具体检测内容包括:
- 应用程序是否包含隐私政策页面。
- 隐私政策页面完全符合 Google Play 的隐私准则。
- 应用程序是否在用户接受隐私政策后才访问个人敏感信息。
- 应用程序及其第三方库/对个人敏感信息的访问是否符合隐私政策。
3PDroid框架:3PDroid共分为7个模块,其框架结构如下图1.2所示。
图1.2 3PDroid检测工作流
各模块具体功能如下:
A. PSI (personal and sensitive information)Mapping: 建立与隐私相关的 Android 权限(图1.3)和第三方库及其相应的 PSI 相关 API 方法的映射(图1.4)。
图1.3 Android 权限、PSI 和 API ⽅法的映射
图1.4 从 InMobi 库中提取的 API ⽅法⽰例及其与 PSI 的映射
B. App Analyzer:从APK反编译,以提取应用程序请求的权限列表及其包含的第三方库列表。之后,会请求PSI Mapping查询权限或库是否与隐私相关,如果是则获取相关的PSI和API方法列表,并将PSI列表发送给CR Checker,将API方法列表发送给PAPI Monitor,并触发DTE进行动态分析。
C. Dynamic Testing Environment(DTE):初始化Android模拟设备并安装APK。
D. Privacy Policy Page Detector (3P Detector):连接到DTE,使用MLP多层感知机分析应用程序页面的 XML文本,判断是否为隐私政策页面。如果找到政策页面,返回相关信息;如果未找到,则标记应用为不合规。该模块可评估应用程序是否符合TR1、TR2规则。
E. Privacy API Monitor (PAPI Monitor):判断接受隐私政策页面之前,应用是否调用任何 PSI 相关的API。该模块可评估应用程序是否符合TR4规则。
F. Technical Requirement (TR) Tester:通过分析页面的 XML判断其他TR规则。
G. Content Requirement (CR) Checker:验证隐私政策页面是否成功声明了应用请求的所有 PSI,判断是否符合CR1规则。该模块会根据App Analyzer模块提供的PSI列表,执行多个基于机器学习的分类器,如下图1.5所示。
图1.5 CR Checker使用的模型参数
4.实验评估
1.实验环境:Intel Core i7-3770@3.40 GHz、16GB RAM 和 Ubuntu
2.数据集:按照安装数量和平均评分排名从 Google Play Store下载了5,473个程序。其中4,567个应用程序(即约 84.4%)具有指向Google Play Store隐私政策页面的有效链接。
3.实验结果:
- 成功率:3PDroid能够分析 92.4% 的应用程序。部分程序失败的原因是不能在具有 root 权限的 Android设备上模拟,部分程序失败的原因是应用程序仅在特定的地理位置才能执行。
- 性能:共耗时413 ⼩时,平均每个应用耗时 272 秒。
- 合规性分析:结果如图1.6所示。只有 5.5% 的分析应用程序符合 Google Play 隐私准则(其中包括不访问任何 PSI 的应用程序)。
图1.6 3PDroid检测结果
- 可靠性分析:手动分析了1348个应用(约占总数据集的26.6%)以评估3P Detector的可靠性。手动分析了满足所有TR 标准的94个应用以评估CR Checker的可靠性。结果如图1.7所示。
图1.7 可靠性分析结果
5.优缺点
优点:
- 使用动态分析方法,侧重于从应用行为的角度和用户使用检测应用是否合规,例如应用运行时是否包含隐私政策页面,用户是否明确的点击了确认隐私政策等
- 考虑了APP涉及的第三方库的隐私政策合规分析。
缺点:
文中的Content Requirement (CR) Checker仅以隐私政策的完整性作为合规验证指标,相对来说不够全面。