移动社交应用跨用户隐私分享行为的最小必要合规检测方法

  • 朱启瑞 ,
  • 陈荣华 ,
  • 杨哲慜 ,
  • 李帅 ,
  • 张源 ,
  • 杨珉 , *
展开
  • 复旦大学系统软件与安全实验室,上海 200438
杨珉()。

网络出版日期: 2024-11-16

基金资助

移动社交应用隐私收集行为的分析检测技术及应用示范(2021YFB3101200)

版权

版权所有©《网络空间安全科学学报》编辑部 2024

Inspection method of data minimization compliance for cross-user privacy sharing behavior in mobile social applications

  • ZHU Qirui ,
  • CHEN Ronghua ,
  • YANG Zhemin ,
  • LI Shuai ,
  • ZHANG Yuan ,
  • YANG Min , *
Expand
  • System Software and Security Laboratory, Fudan University, Shanghai 200438, China

Online published: 2024-11-16

Copyright

Copyright ©2024 Journal of Aeronautical Materials. All rights reserved.

摘要

移动社交应用提供的社交互动功能使得用户可以轻松地获取其他用户的个人信息,进而促成跨用户的隐私分享。根据相关法律规定的最小必要原则,应用分享的个人信息应当限定于展示功能所需要的最小范围,因此不得分享未在隐私政策声明且未在用户界面上展示的个人信息。目前相关工作缺少对跨用户隐私分享合规性的研究,因此设计了自动化合规检测系统,以隐私政策和用户界面作为判定是否符合最小必要原则的依据,检测违规的跨用户隐私分享行为。该系统面向应用市场509个移动社交应用展开合规检测,对每个移动社交应用进行20 min的动态测试发现,47个移动社交应用存在合计101次非重复的违规隐私分享行为,涉及18类用户隐私数据。经过人工验证,确认91.09%的违规隐私分享行为实际存在。实验结果表明,该系统相较先前工作在精准率和召回率上均有良好表现。

本文引用格式

朱启瑞 , 陈荣华 , 杨哲慜 , 李帅 , 张源 , 杨珉 . 移动社交应用跨用户隐私分享行为的最小必要合规检测方法[J]. 网络空间安全科学学报, 2024 , 2(3) : 3 -12 . DOI: 10.20172/j.issn.2097-3136.240301

Abstract

The social interaction functions provided by mobile social applications (apps) allow users to easily obtain the personal information of other users, thereby promoting cross-user privacy sharing. According to the data minimization principle stipulated in relevant laws and regulations, the personal information shared by the application should be limited to the minimum scope necessary to the display function. Therefore, personal information not stated in the privacy policy and not displayed on the user interface shall not be shared. However, security communities barely pay attention to the compliance of cross-user privacy sharing. Therefore, an automated compliance detection system was designed to use privacy policies and user interfaces as the basis for determining whether the data minimization principle is met in cross-user privacy sharing behaviors. According to the compliance inspection results of 509 mobile social apps, which each app is dynamically tested for 20 minutes, a total of 101 unique violations of privacy sharing behaviors was found in 47 mobile apps, involving 18 types of user privacy data. Through manual verification, it was confirmed that 91.09% violations of privacy sharing behaviors actually exist. Experimental results show that the system performs well in both precision and recall compared to previous work.

0 引言

伴随移动互联网应用提供的服务日趋多样化,用户向移动社交应用提供的个人信息不断增加。为了保障用户的个人信息权益,《个人信息保护法》规定处理个人信息应当具有明确、合理的目的,并应当与处理目的直接相关,采取对个人权益影响最小的方式,一般称“最小必要原则”。
尤其在移动社交应用中,大量的社交互动功能牵涉用户的个人信息。以移动社交软件QQ为例,用户通过点击其他用户的头像或昵称即可查看其性别、生日、居住地等详细资料。在这一过程中,用户使用了应用提供的互动功能,而应用将其他用户的个人信息发送给当前用户,由此实现跨用户的隐私分享行为。跨用户隐私分享在移动社交应用中十分常见,用户能够通过发帖、系统推荐、点赞评论等功能接触到大量用户,并获得他们的个人信息。
根据最小必要原则,移动社交应用收集并分享的个人信息应当限定于展示功能所需要的最小范围。这一原则要求移动社交应用实际分享的个人信息范围不能超过其在隐私政策中声明的范围,并且必须与展示目的直接相关。由于展示的载体是用户界面,因此应用分享的个人信息不应包含未在用户界面上展示的信息。然而,实际情况中,移动社交应用的隐私分享行为可能违反这一原则。例如,某移动社交应用在好友推荐功能中为了展示用户的星座,收集并共享了用户的生日信息,但该应用在隐私政策中并未做出相关声明。同时,当前用户从界面上无法看到推荐好友的生日,说明移动社交应用分享的个人信息范围已经超过了展示的目的。因此,移动社交应用的跨用户隐私分享行为存在违规风险,需要相应的合规检测方法对应用的实际行为进行检查和规范。
目前的研究对于移动社交应用跨用户隐私分享的关注较为有限,缺乏对隐私分享行为在真实应用市场中合规情况的研究。现有的移动社交应用合规检测方法通常仅限于隐私政策分析,而且仅考虑了以第三方为接收者的隐私分享行为[1-3],难以覆盖跨用户的隐私分享。为填补这一研究空白,本文将隐私政策、用户界面与应用行为相结合,对应用的跨用户隐私分享行为进行最小必要合规分析。本文设计了一套自动化合规检测系统,以隐私政策和用户界面作为判定隐私分享行为是否符合最小必要原则的依据,检测违规的跨用户隐私分享行为。本文的主要贡献包括以下3个方面:
(1)实现了基于关联分析的数据识别方法,该方法能够识别移动社交应用跨用户分享的隐私数据类型。
(2)设计并实现了跨用户隐私分享行为的合规检测系统,能够自动化且高效准确地识别违规分享行为。该系统在辅助相关监管机构进行监督方面具有潜在的价值,同时还能为开发者提供自检的工具。
(3)调查了应用市场上移动社交应用在跨用户隐私分享方面的合规情况,并验证了系统对于识别违规跨用户隐私分享有良好性能。

1 相关工作

1.1 移动隐私合规分析

为确保用户个人信息权益得到充分保障,法律规范了移动社交应用在处理个人信息时的行为准则。同时,移动社交应用提供了隐私政策作为其对如何处理个人信息作出的书面声明、陈述、允诺或者保证[4]。然而,由于移动社交应用的数量庞大、版本繁多、实际行为难以检测,隐私合规分析成为确保移动社交应用遵守相关法规和隐私政策的关键工具。基于隐私政策的移动应用隐私合规分析可以分为2个部分:一是分析隐私政策的文本描述的完备性;二是评估隐私政策的描述与移动应用的实际行为的一致性。
隐私政策含有复杂的条款和大量的文本,使得用户在阅读上往往面临一定的困难。同时,对于开发者而言,编写隐私政策需要投入大量精力以确保其准确性和合规性。针对隐私政策编写繁琐的问题,Mu等[5]提出了DESCRIBEME工具,旨在帮助安卓移动应用生成以用户安全为主导的功能描述。随后,Le等[6]实现了基于静态分析为移动应用自动生成隐私政策的工具AutoPPG。在隐私政策的可信性检验方面,Pandita等[7]提出了隐私政策中权限和目的描述对应关系的匹配问题,并采用自然语言处理技术和关键字匹配的方式解决该问题。Qu等[8]使用机器学习方法自动化地搜索与权限对应的目的描述,为该问题的解决提供了一种更高效的方法。Andow等[1]开发了PolicyLint来检测隐私政策文本中是否存在前后矛盾,通过命名实体识别提取文本中的个人信息和第三方实体,将用户信息的收集和分享行为概括为主体、动作、信息、实体的四元组,并基于矛盾类型匹配隐私政策文本。
在移动社交应用实际行为与隐私政策描述的一致性检查方面,Slavin等[9]针对安卓应用调用的程序接口与隐私政策描述的一致性问题提出了2种冲突的概念:弱冲突,即应用实际收集了某项具体信息,但是隐私政策只描述了抽象的信息种类;强冲突,即应用收集了某项信息但是隐私政策中未提及。Wang等[10]沿用了Slavin提出的冲突的定义,但更加侧重于用户输入信息的流向与隐私政策中陈述的一致性。他们使用了个人信息上下位词的关系对隐私政策中提及的个人信息和GUI分析工具中检测到的用户输入信息进行更全面的匹配。Zimmeck等[11]将基于机器学习的隐私政策分析与移动社交应用静态分析相结合,研究发现超过41%的移动应用在这两者之间存在不一致。Yu等[2]进一步扩充了隐私政策在表述上存在的问题,并且通过详细且完整的模式匹配涵盖了更多的隐私政策表述问题,同时使用了静态分析技术从代码层面分析移动应用的个人信息收集行为。Andow等[3]开发的PoliCheck在PolicyLint的基础上添加了动态的数据流分析技术,进一步证明了移动应用将用户的隐私敏感数据传递给第三方。
目前,基于隐私政策的移动隐私合规分析方法主要聚焦于移动应用在用户个人信息的收集以及与第三方合作伙伴的共享两方面的行为。然而,对于跨用户隐私分享行为的合规分析却未得到充分的关注。

1.2 跨用户隐私分享

隐私分享领域的研究通常关注当前用户的个人信息如何通过网络泄露的问题。Ren等[12]设计的ReCon利用了机器学习技术检查网络流量,揭示潜在的个人信息泄露,并通过提供可视化工具帮助用户通过阻止或替换个人信息来控制泄露。Continella等[13]通过差分分析检测个人信息泄露:修改个人信息的来源,例如设备 ID 或位置,并观察生成的网络流量中的偏差来检测泄露。这种方法的优势在于能够处理流量中对个人信息的混淆,例如编码、格式化和加密。
在该领域中,直接关注跨用户隐私分享行为的研究相对较少,相关研究包括Li等[14]设计的工具XPOChecker。XPOChecker利用双向程序分析技术分析了应用中用户交互功能的流程。在分析过程中,XPOChecker检测潜在的敏感数据,并过滤无关信息,随后与页面元素进行一致性检测。然而,XPOChecker的目的是挖掘应用行为与界面不一致导致的特定安全漏洞,因此无法用于合规检测。本文则从隐私政策、用户界面与应用行为3个方面展开合规分析,评估应用的跨用户隐私分享行为是否符合最小必要原则。XPOChecker采用静态的检测方法,难以应对应用程序加壳和代码混淆的情况。在面对经过混淆的代码时,基于语义的静态分析方法不可避免地会出现漏报,进而降低工具的性能。本文采用了动态测试技术观察应用的实际行为,能够绕过应用程序加壳和代码混淆,在减少误报的同时,更有力地揭示跨用户隐私分享行为的存在。
与跨用户隐私分享行为较为相似的研究包括Koch等[15]提出的移动应用服务端过度分享信息(Server-based Information Oversharing,SIFON)问题。SIFON指的是服务端由于缺少访问控制,向移动应用发送了多余的信息,而用户无法在界面上阅读到这些信息。Koch等[15]采用静态分析技术和动态分析技术分别开发了工具S-HUSH/D-HUSH以发现和验证SIFON漏洞。然而,SIFON与跨用户隐私分享存在两点重要区别:首先,SIFON未限定于用户交互的场景,跨用户隐私分享需要区分接收到的隐私数据是否与其他用户相关,因此不能采用S-HUSH/D-HUSH中的关键词匹配方法;其次,SIFON仅关注界面上未显示的信息,而基于最小必要原则的合规检测需要结合隐私政策进行分析,信息是否在界面上显示并不能成为唯一的判断标准。因此,S-HUSH/D-HUSH并不能应用于跨用户隐私分享行为的合规检测,而本文结合了隐私政策、用户界面和应用行为,对用户数据的隐私分享行为进行最小必要原则的合规分析。

2 定义与模型

2.1 跨用户隐私分享的定义

当用户使用移动社交应用提供的互动功能,如查看其他用户的个人主页或选择心仪对象时,移动社交应用的服务端会将其他用户的信息通过网络流量发送至当前用户的移动设备,形成跨用户的隐私分享。
移动社交应用通过网络流量发送的个人信息不能超过其在隐私政策中声明的范围,否则将违反法律规定的最小必要原则。本文将这类违规行为定义为流量数据与隐私政策的不一致。
同时,移动社交应用应当仅分享与展示与目的直接相关的个人信息,不得将不必要展示的个人信息发送给其他用户。另外,若界面上的个人信息经过加密处理,但在流量中以明文方式传递,同样也违反了最小必要原则。例如,用户界面上邮箱的展示形式为Z****@qq.com,但在流量中邮箱信息却以明文形式表示为Zhang@qq.com。本文将这类违规行为定义为流量数据与界面信息的不一致。
若用户在界面上观察到其他用户的某项个人信息,可以在一定程度上提醒用户其同类型的信息也可能被分享给其他用户。因此,本文提出的合规检测系统不仅关注流量数据与隐私政策的一致性,也考虑流量数据与界面信息的一致性,以全面评估移动社交应用中的隐私分享风险。

2.2 违规风险分析模型

流量数据与隐私政策的不一致以及流量数据与界面信息的不一致对用户的个人信息权益构成了潜在威胁。本文定义的违规风险分析模型能够发现上述两类不一致的存在,从而检测出未遵循最小必要原则的隐私分享行为。如图1所示,移动应用服务端发送的流量中包含了用户的性别、生日、居住街道、身高和收入等信息。然而,用户界面和隐私政策仅涵盖了其中的一部分信息。通过进行一致性检查,模型能够检测到该分享行为是否存在违规风险。
图 1 违规跨用户隐私分享风险分析模型

Fig.1 Cross-user privacy sharing risk analysis model

3 跨用户隐私分享合规检测系统

3.1 系统概览

由于跨用户的隐私分享需要服务端将存储的用户数据发送给当前用户,因此检测系统通过监控服务端与本地通信产生的流量数据,以此评估应用是否存在跨用户的隐私分享行为。例如,当用户浏览其他用户的动态时,服务端将其他用户的年龄、位置等隐私数据发送至用户本地。系统监控该流量并识别其中的隐私数据,判断是否存在跨用户隐私分享行为。同时,系统检查应用在隐私政策中是否声明了该分享行为,并核实分享的信息是否超出了用户界面的范围,以此判断该隐私分享行为是否合规。
跨用户隐私分享合规检测系统的总体架构如图2所示,其工作流程包括以下步骤:(1)在动态分析环境中对移动社交应用进行动态测试。在测试过程中,系统实时监控网络流量并记录当前用户界面,以便识别其中的数据类型。 (2)识别隐私政策中与跨用户隐私分享相关的描述,并提取涉及的数据类型。 (3)将流量中涉及跨用户分享的数据类型与隐私政策已经声明以及用户界面展示的用户数据类型进行匹配,通过数据类型上下位词的关系进行映射,最终输出一致性检测的结果。
图 2 跨用户隐私分享合规检测系统架构

Fig.2 Cross-user privacy sharing compliance inspection system architecture

3.2 跨用户隐私分享监控

3.2.1 网络流量监控

所提系统采用了当前主流的开源安卓测试输入生成器Droidbot[16],对移动社交应用进行自动化的动态测试。Droidbot具备解析当前UI界面上的组件信息的能力,通过定制化的图遍历策略生成移动社交应用可接收的指令,例如用户点击、用户输入等,以实现对移动社交应用功能的自动化触发。在测试过程中,Droidbot不仅能够保存UI界面的截图,还能生成xml结构树文件,以备后续的一致性检测使用。这一测试方法不仅能有效提高测试的自动性和效率,还为后续的一致性检测提供了必要的数据支持。
同时,系统利用Mitmproxy[17]对移动端接收的流量进行实时监控,并且记录流量到达后1 min以内移动社交应用的UI界面变化。Mitmproxy作为目前实用性最优的可编程网络代理,其灵活的功能使得研究人员能够深入分析和修改移动设备与服务端之间的通信,提供了对网络流量的全面控制。在实验中为保证TLS的可用性,要求移动设备已取得root权限,并安装了Mitmproxy的系统证书。系统在监测到流量抵达移动端后,首先记录流量的原始信息,随后对流量数据进行预处理:筛选掉请求图片文件的流量以及请求头中没有content-type字段的流量。
鉴于移动社交应用即使不在前台活动也会周期性唤醒自身以接收服务端的通知,系统会记录在不同应用运行时多次出现的流量域名,并将这些域名对应的流量予以排除。通过对流量的实时监控和处理,系统能够有效地过滤无关的流量数据,确保在检测过程中获得更加精确和可靠的结果。

3.2.2 流量隐私数据识别

在移动社交应用与服务端的通信过程中,为确保数据传输的机密性,通常采用对关键数据进行去标识化的方法。这种处理方法不但使安全人员无法了解服务端对隐私数据的具体处理活动,而且对本地与服务端的通信内容也难以完全解读,极大增加了准确识别用户个人信息的难度。
以往的研究工作往往以语义为基础,采取数据类型关键词匹配[15, 18-19]或机器学习[20-21]的方法来识别用户的个人信息。然而,这些方法都有其局限性,例如对关键词集合或训练集的过度依赖,并且在涉及跨用户隐私分享的情景下,难以有效地辨别用户个人信息。例如,流量中出现的关键词“e-mail”可能属于公共机构而非个人,因此该流量就不能被认定为跨用户相关。
本文采用的数据隐私识别方法基于以下发现:流量中数据结构字段的语义信息集合有助于判断该条流量是否包含个人信息。如果流量中的某个数据结构包含指示特定用户的字段,如“age”或“gender”,那么该数据结构中的其他字段也更有可能指示该用户。这一方法利用了数据结构内部字段之间的语义关联,有效地提高了隐私数据的辨识准确性。
为了更全面挖掘能够指示特定用户的字段,本文采用了基于关联分析的隐私字段识别方法。首先,从先前的研究工作[14, 17-20]中人工收集了与隐私相关的关键词,并按照语义将它们分为52种类型,形成关键词列表。仅当这些关键词在移动社交应用中不具备其他含义时,才会将其作为能够指示特定用户的字段。由3名隐私合规领域的资深研究者通过协商和投票表决的方式在关键词列表中筛选能够指示特定用户的字段,其余的关键词被保留作为备选关键词。之后,在给定一条流量的情况下,首先分析其中data字段的数据结构,然后通过关联分析将数据结构中的字段与指示特定用户的字段进行关联。本文采用了学术界和工业界广泛使用的两个词汇数据库 WordNet[22]和ConceptNet[23]来计算两个字段之间的相关性。系统首先对数据结构中的字段使用WordNet进行词性还原处理,随后使用ConceptNet计算相关性(相关性阈值设置为0.3)。仅当两个字段在ConceptNet中呈现相关时,流量中的字段才被视为用户的隐私数据,并且该数据结构中的所有字段和值都会被保留。这种方法的主要优势在于能够克服先前研究的限制,最大程度地涵盖用户的个人数据。
系统将对保留的数据结构中未指示特定用户的字段名称与备选关键词进行匹配,同时对字段值根据字段名称进行正则匹配和无效值过滤。例如,字段名称与邮箱相关的字段值需要符合user@mail.server.name的格式,字段名称与身高和体重相关的字段值应该在合理区间内等。通过对字段值的格式和范围进行二次校验,系统能够更精确地定位用户数据,不符合规定的字段将在这一步被排除。由于系统的目标是检测其他用户的个人信息,因此需要与当前用户的信息进行区分。在该步骤中,系统依然遵循之前的发现,即如果流量中某个数据结构的字段值与动态测试使用的账号信息匹配,该数据结构就被认定为当前用户相关,因而将其排除。由于在动态测试过程中使用的账号都登记有相同的用户名和个人基本信息,系统能够准确地识别当前用户的信息从而排除。

3.3 合规检测

3.3.1 与隐私政策的一致性检测

为了进行流量数据与隐私政策的一致性检测,需要从隐私政策的文本中提取有关跨用户隐私分享的描述和声明。目前,隐私政策的分析工具,如PolicyLint[1],只能分析固定的句法格式,并将其总结为主体、动作、信息、实体的四元组,其中实体通常指代第三方机构或SDK。然而,跨用户隐私分享的描述并不一定遵循之前工作中定义的句法格式,而且分享的实体是其他用户,例如“您的个人档案信息是公开的,这意味着应用程序的其他用户可以看到您发布的个人档案信息和其他个人资料”。现有的分析方法难以应对这种情况,为了解决跨用户隐私分享描述的多样性,需要寻找更灵活和适应性更强的方法。
因此,本文针对识别隐私政策中的跨用户隐私分享描述任务训练了一个二元分类器。在数据集构建方面,本文选择了472个移动社交应用的隐私政策,通过人工检查筛选出282句涉及跨用户隐私分享的描述,同时选择了200句易混淆的无关描述和200句隐私政策中较为常见的表述。跨用户隐私分享描述在隐私政策中的出现频率相对较低,导致数据集样本较小,因此本文以预训练模型Bert[24]为基础,在数据集上进行微调以训练二元分类器。本文采用了更多的训练迭代次数以减少模型在小规模数据集上训练持续震荡的影响,同时平衡收敛速度过慢的问题[25]。另外,本文重新随机初始化了Bert顶部的3层权重,以此来提升微调后模型的精度[26-27]。在经过50个epoch的训练后,分类器的F1-score最终达到95.67。
为了验证数据集样本量较小是否会对模型的最终效果产生影响,本文采用数据增强[28-30]的方法扩充数据集并进行了实验。通过Bert模型和ChatGPT语言模型[31],利用反向翻译、同义词替换、句式结构变化等技术,将数据集扩充至1920条。在相同的基于Bert进行微调的实验中,经过50个epoch的训练后,分类器的F1-score达到95.71,与原分类器的性能相当。数据增强方法未能显著提高模型性能的原因可能是隐私政策中的表述和句式较为规范和固定。因此,本文人工筛选的数据集已具有足够的代表性,并且基于该数据集训练的分类器能够达到预期效果。
隐私政策中对数据类型的描述通常较为规范,因此系统采用了关键词匹配的方法,以提取隐私分享描述中的数据类型。不同于流量数据中具体的数据类型,隐私政策对于数据类型的描述往往更加宽泛,如“个人档案信息”等。为了更精准地匹配这两者中的数据类型,本文建立了一个数据类型的上下位词关系模型。该模型能够映射两个粒度不一致的数据类型。例如,隐私政策告知用户会将联系方式分享给其他用户,而系统在流量数据中识别到了用户的邮箱地址。模型则能够将邮箱地址映射到联系方式,因为在上下位词关系中,邮箱地址属于联系方式的下位词。通过结合二元分类器和上下位词关系模型,系统能够高效而准确地完成流量数据与隐私政策的一致性检测。

3.3.2 与用户界面的一致性检测

流量数据与用户界面的不一致有2种情况:一是流量中的用户隐私数据没有呈现在用户界面上,二是流量中的用户隐私数据以明文传输,但是界面上的用户隐私数据以非明文形式出现。因此,系统需要检测网络流量中识别的用户信息与界面中提取的信息,对比是否存在信息丢失。为了确认违规的跨用户隐私分享风险是否存在,本文设计了一种该场景下检测信息丢失的三重匹配算法。
首先,检测算法将网络流量中识别到的用户数据与界面上的文本内容进行比较。在动态测试过程中,每个界面都对应保存了一份xml结构树文件。通过对xml文件的解析,可以提取出node的text属性和content-desc属性,从而获取该界面的文字信息。算法利用编辑距离的度量方式,对比流量中的数据与界面上的文本是否完全匹配。如果完全匹配,即流量数据与界面信息一致,不存在信息丢失的问题;反之,若存在不一致,则检测算法将采用以下两种不完全匹配算法进行进一步处理。
一方面,如果流量中的用户数据字段与用户界面中的文本部分匹配,检测算法将判断剩余不匹配的部分是否具有信息特征。更具体而言,数字和字母通常具备信息特征,而其他字符,如“*”“/”或“-”,则不具备信息特征。在流量中,如果用户数据的不匹配部分带有信息特征,而相应界面中的不匹配部分不具备信息特征,检测算法会将该类行为标记为违规隐私分享,因为该行为会导致信息在用户界面上的丢失。否则,该行为将被视为不违反最小必要原则的隐私分享。
另一方面,当流量中的用户数据字段值没有在用户界面中直接展示或部分展示时,算法将参考关联分析的结果来验证隐藏的用户数据值是否对界面的内容产生影响。尽管流量中的用户数据值未直接显示在界面上,但在语义上可能仍对界面的某些内容造成间接影响。如果流量中的用户数据未在算法的前两种情况中出现,算法会对流量中用户数据的字段名和字段值与界面上的文本逐一进行关联分析。若关联分析的结果显示两者依然不匹配,则会被标记为违规隐私分享;相反,如果关联分析的结果表明两者存在上下位词关系或语义相近,那么将被视为不违反最小必要原则的隐私分享。
为了便于理解,接下来以图1为例详细阐述算法的匹配过程。首先,算法寻找流量数据中与用户界面文本完全匹配的字段值,流量中的“height”字段值与用户界面中的165 cm完全匹配,因此被标记为不违规的隐私分享。之后,算法寻找部分匹配的字段值:流量中的“2001-1-1”与用户界面中的“2001年1月1日”部分匹配,由于流量中的不匹配部分是“-”,不具备信息特征,因此被标记为不违规的隐私分享;流量中的“Shanghai Haishang Street”与用户界面中的“Shanghai”部分匹配,由于流量中的不匹配部分“Haishang Street”包含信息特征,因此被标记为违规隐私分享。
如果流量中的数据与界面中的任何文本均不匹配,例如“salary:5000-10000”和“gender:0”,算法将对字段名和字段值分别与界面上的文本应用ConceptNet词汇数据库进行关联分析。根据关联分析的结果,“gender”与“男”存在上下位词的关系,因此“gender:0”会被标记为不违规隐私分享;而“salary:5000-10000”由于无法与任何界面上的文本建立联系,因此被标记为违规隐私分享。

4 实验与分析

为了揭示真实应用市场中移动社交应用的跨用户隐私分享的基本情况并评估其可能带来的潜在危害,本文基于合规检测系统对应用市场上的移动社交应用进行了全面的安全评估。

4.1 实验环境与数据集

由于当前国内尚未建立统一的安卓移动社交应用市场,用户流量主要集中在手机厂商的移动社交应用商店和第三方应用市场。手机厂商的移动社交应用商店与某些移动社交应用之间存在合作关系,难以反映市场的真实情况。因此,本研究选择了第三方移动社交应用市场中用户流量最为集中的应用宝作为数据集来源。本文从应用宝下载了社交类别中排名前630位的移动社交应用作为实验的数据集,且确保这些应用与第3.3.1节中作为隐私政策数据集来源的移动社交应用没有重叠。
实验中所采用的动态测试环境为已获取root权限的一加9手机(搭载安卓11操作系统),并在手机上安装了Mitmproxy的系统证书。每个移动社交应用经过20 min的动态测试,最终监测到了共6662条网络流量。其中测试成功的移动社交应用数量为509个。测试失败的主要原因包括注册或登录失败、移动社交应用拒绝在root环境下运行,以及移动社交应用已停止运营维护。

4.2 合规检测

在测试成功的509个移动社交应用中,有68个(13.36%)存在跨用户隐私分享行为。图3列出了常见的隐私数据在流量中被跨用户分享的次数。其中年龄、生日和居住城市是最常被分享的数据类型。
图 3 常见隐私数据被跨用户分享次数

Fig.3 Number of times privacy data is shared across users

该结果能够让注重个人隐私保护的用户了解何种类型的个人信息可能会面临公开风险,进而采取相应的规避措施。例如,当用户在注册应用程序过程中被要求提供个人信息时,可以选择在不会影响社交体验的信息栏目中拒绝提供真实信息。开发人员应首先审查移动社交应用中可能涉及共享此类隐私数据的服务,以确保分享行为是必要且合规的。
在涉及跨用户隐私分享行为的移动社交应用中,有327个(64.24%)在其隐私政策中明确声明将向其他用户分享个人数据。图4列出了隐私政策最常向用户披露的其他用户共享的数据类型。然而,这些数据类型并没有完全涵盖移动社交应用实际跨用户分享的个人信息。通过对流量数据与隐私政策的一致性进行检测,系统发现有28个移动社交应用,尽管在隐私政策中声明仅会向其他用户展示用户的部分个人信息,但实际分享的个人信息超出了声明的范围。
图 4 隐私政策中声明跨用户分享的数据类型

Fig.4 Types of data shared across users stated in privacy policy

通过对流量数据与用户界面的一致性进行检测,系统发现53个移动社交应用分享的隐私数据与用户界面的信息相比存在信息丢失,违反了处理信息的最小必要原则。该类违规的移动社交应用共分享了524条涉及18类隐私数据的流量,除常见的隐私数据类型外,还包括微信账号、与当前用户的距离等社交属性较强的个人信息。
综合两轮一致性检测的结果,有47个(9.23%)移动社交应用存在101次非重复的违反最小必要原则的跨用户隐私分享行为,即分享的隐私数据既未在隐私政策中声明,也未在用户界面上展示。本文将单个移动社交应用针对某类隐私数据的违规跨用户分享行为定义为非重复的分享行为。图3展示了不同类别的隐私数据被违规分享的次数,以及与隐私政策一致和与用户界面一致的分享行为次数。
通过人工核查系统检测的结果,确认91.09%的违规跨用户隐私分享行为实际存在。误报的主要原因包括:(1)Droidbot仅能识别界面中最上层的组件,极少情况下会丢失部分UI界面信息。(2)流量中存在干扰字段,导致系统将非个人信息误识别为个人信息,例如流量中的字段height:200使店铺的电话号码被错误识别为个人信息。(3)相同的流量数据在页面加载完毕后,被服务端重新发送,导致该条流量无法与正确的界面对应。

4.3 系统性能

为了验证系统的性能,本文在系统未检测出违规分享行为的移动社交应用中额外随机选择了47个应用,并且人工检查这些应用在动态测试过程中的流量数据和页面信息。本文使用精准率(precision),以及召回率(recall)来评估系统的性能。如表1所示,本文设计的系统实现了85.11%的精准率和90.91%的召回率。
表 1 系统性能评估

Table 1 Performance of system

TP FP TN FN precision recall
违规应用 40 7 85.11% 90.91%
合规应用 43 4
与本文设计的系统类似,现有工具XPOChecker同样关注跨用户隐私分享行为,并且能够检测敏感个人信息,并与页面元素进行一致性检测。因此,作为对比,本文使用了XPOChecker[13]对94个移动社交应用进行检测,并与人工检查的结果进行比较。在该数据集上,XPOChecker仅能达到45.45%的精准率和10.42%的召回率。实验证明本文设计的系统在跨用户隐私分享行为的合规检测上的效果远优于XPOChecker。

4.4 违规跨用户隐私分享的危害

总体而言,违规跨用户隐私分享会直接导致用户的敏感数据暴露,不可避免地带来严重的隐私侵犯。为了进一步了解违规跨用户隐私分享在现实世界的危害性,本文深入研究了实验过程中存在跨用户隐私分享的移动社交应用。
经过深入调查,本文发现部分移动社交应用在用户注册过程中需要进行身份验证,以提供更可靠的交友服务。这些应用要求用户上传实名认证相关数据,如性别、生日、教育程度、身份证号、职业、微信账号等。用户无法对这类实名认证信息进行伪造,因此这类信息应得到开发者的严格保护。然而,经过系统检测,本文发现其中仍有移动社交应用存在违规的跨用户隐私分享行为。
同时,由于部分移动社交应用具有交友属性,通常需要在界面上展示其他用户的照片。结合页面上已有的部分用户信息,攻击者可以轻易地将流量中的隐私数据与特定用户对应。攻击者可以利用窃取的数据进行钓鱼、诈骗等违法活动,并通过非法途径出售这些数据。此外,利用受害者的实名认证相关信息,攻击者甚至能够将自己在同类平台上的账户与受害者的身份绑定,从而进行冒用或身份欺诈,对受害者的名誉造成极大危害。
移动社交应用涵盖匿名社区类应用。该类应用用户群体庞大且活跃,是目前互联网用户最常使用的交流方式之一。在匿名社区类应用中,用户可以使用虚拟的头像和虚拟的名称在社区内发言,这也是匿名社区类应用用户交流活跃的原因之一。尽管用户向外部展示的形象是虚拟的,但在注册账号时,用户仍需在后台提供真实的个人信息,如手机号码。一旦这些可以标识个人身份的信息通过跨用户隐私分享泄露,用户在社区中的匿名身份将不复存在。攻击者可以将受害者的匿名身份与真实身份对应,从而实施“开盒”行为,即在网络上曝光他人隐私,对受害者造成极大伤害。
因此,针对跨用户隐私分享,移动社交应用开发者应当加强对数据流动过程的监测和控制,确保流量数据在传输过程中遵循最小必要原则,以提升用户隐私数据的整体安全性。本文设计的跨用户隐私分享合规检测系统不仅在辅助相关监管机构进行监督方面具有潜在的价值,同时还能为开发者提供自检的工具,帮助开发者迅速发现和纠正可能存在的违规隐私分享问题。

5 结束语

本文针对移动社交应用中的跨用户隐私分享行为,设计了基于最小必要原则的合规检测系统。首先,提出了一种基于关联分析的隐私数据识别方法,解决了现有方法对关键词集合依赖过强的问题。其次,设计了检测信息丢失的三重匹配算法,基于最小必要原则评估信息丢失情况。最后,采用深度学习模型识别隐私政策中的相关描述,通过数据类型的上下位词模型整合流量数据与相关描述,实现应用行为、隐私政策、用户界面3个方面的最小必要合规分析。基于此合规检测系统,本文对应用市场上的移动社交应用进行了全面的安全评估,揭示了跨用户隐私分享的实际情况。
本文提出的方法为检测违反最小必要原则的跨用户隐私分享行为提供了一种有效的解决方案。在此基础上,未来的研究工作将在以下3个方面展开:(1)增强动态测试模块的UI界面解析能力,例如引入图像文本检测技术以提取用户界面文本。(2)结合更多特征识别隐私政策中跨用户隐私分享的描述。(3)扩展隐私数据识别方法,以支持更多的数据结构,从而提高识别精度。
1
ANDOW B,MAHMUD S Y,WANG W,et al. Policylint:investigating internal privacy policy contradictions on Google play[C]// 28th USENIX Conference on Security Symposium. USA:USENIX Association,2019:585-602.

2
YU L, LUO X, CHEN J, et al. PPChecker: Towards accessing the trustworthiness of android Apps' privacy policies[J]. IEEE Transactions on Software Engineering, 2018, 47 (2): 1- 1.

3
ANDOW B,MAHMUD S Y,WHITAKER J,et al. Actions speak louder than words:Entity-sensitive privacy policy and data flow analysis with POLICHECK[C]// 29th USENIX Conference on Security Symposium. USA:USENIX Association,2020:985-1002.

4
程啸. 隐私政策的性质与法律规制[J/OL]. (2022-07-05)[2024-01-22]. http://www.legaldaily.com.cn/IT/content/2022-07/05/content_8743317.html.

CHENG X. The nature and legal regulation of the privacy policy[J/OL]. (2022-07-05)[2024-01-22]. http://www.legaldaily.com.cn/IT/content/2022-07/05/content_8743317.html.

5
MU Z,YUE D,QIAN F,et al. Towards automatic generation of security-centric descriptions for android apps[C]// ACM Sigsac Conference on Computer & Communications Security. New York:ACM,2015:518-529.

6
LE Y, TAO Z, LUO X, et al. Toward automatically generating privacy policy for android apps[J]. IEEE Transactions on Information Forensics & Security, 2017, 12 (4): 865- 880.

7
PANDITA R,XIAO X,WEI Y,et al. WHYPER:Towards automating risk assessment of mobile applications[C]// 22nd USENIX conference on Security. USA:USENIX Association,2013:527-542.

8
QU Z,RASTOGI V,ZHANG X,et al. Autocog:Measuring the description-to-permission fidelity in android applications[C]// 2014 ACM SIGSAC Conference on Computer and Communications Security. New York:ACM,2014:1354-1365.

9
SLAVIN R,WANG X,HOSSEINI M B,et al. Toward a framework for detecting privacy policy violations in android application code[C]// 38th International Conference on Software Engineering. New York:ACM,2016:25-36.

10
WANG X,QIN X,HOSSEINI M B,et al. GUILeak:Tracing privacy policy claims on user input data for Android applications[C]//International Conference on Software Engineering. New York:ACM,2018:37-47.

11
ZIMMECK S,WANG Z,ZOU L,et al. Automated analysis of privacy requirements for mobile apps[C]// Network and Distributed System Security Symposium,2017.

12
REN J,RAO A,LINDORFER M,et al. ReCon:Revealing and controlling PII leaks in mobile network traffic[C]// 14th Annual International Conference on Mobile Systems,Applications,and Services. New York:ACM,2015:361-374.

13
CONTINELLA A,FRATANTONIO Y,LINDORFER M,et al. Obfuscation-resilient privacy leak detection for mobile apps through differential analysis[C]// Network and Distributed System Security Symposium,2017.

14
LI S,YANG Z,HUA N,et al. Collect responsibly but deliver arbitrarily? A study on cross-user privacy leakage in mobile apps[C]// 2022 ACM SIGSAC Conference on Computer and Communications Security. New York:ACM,2022:1887-1900.

15
KOCH W,CHAABANE A,EGELE M,et al. Semi-automated discovery of server-based information oversharing vulnerabi-lities in Android applications[C]// 26th ACM SIGSOFT International Symposium on Software Testing and Analysis. New York:ACM,2017:147-157.

16
LI Y,YANG Z,YAO G,et al. DroidBot:A lightweight UI-guided test input generator for android[C]// 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). New York:ACM,2017:23-26.

17
ALDO C,MAXIMILIAN H,THOMAS K. Mitmproxy - an interactive HTTPS proxy[DB/OL]. (2024-01-04)[2024-01-22]. https://mitmproxy.org/.

18
HUANG J ,LI Z ,XIAO X ,et al. Supor:precise and scalable sensitive user input detection for android apps[C]// Usenix Conference on Security Symposium. USA:USENIX Association,2015:977-992.

19
HUANG J,ZHANG X,TAN L. Detecting sensitive data disclosure via bi-directional text correlation analysis[C]// 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. New York:ACM,2016:169-180.

20
NAN Y,YANG M,YANG Z,et al. UIPi-cker:User-input privacy identification in mobile applications[C]// Usenix Co-nference on Security Symposium. USA:USENIX Association,2015:993-1008.

21
NAN Y,YANG Z,WANG X,et al. Finding clues for your secrets:semantics-driven,learning-based privacy discovery in mobile Apps[C]// Network and Distributed System Security Symposium,2018.

22
MILLER G A. WordNet: A lexical database for English[J]. Communications of the ACM 38, 1995, 38 (11): 39- 41.

DOI

23
SPEER R,CHIN J,HAVASI C. ConceptNet 5.5:An open multilingual graph of general knowledge[C]// National Conference on Artificial Intelligence. AAAI Press,2017:4444-4451.

24
DEVLIN J,CHANG M W,LEE K,et al. BERT:Pretraining of deep bidirectional transformers for language understa-nding[C]// North American Chapter of the Association for Computational Linguistics,2018:4171-4186.

25
ZHANG T,WU F,KATIYAR A,et al. Revisiting few-sample BERT fine-tuning[C]// 9th International Conference on Learning Representations,2021.

26
DODGE J,ILHARCO G,SCHWARTZ R,et al. Fine-tuning pretrained language models:weight initializations,data orders,and early stopping[J]. ArXiv Preprint ArXiv,2020:2002.06305.

27
YOSINSKI J,CLUNE J,BENGIO Y,et al. How transferable are features in deep neural networks?[C]// 27th International Conference on Neural Information Processing Systems. USA:MIT Press,2014:3320-3328.

28
JIAO X,YIN Y,SHANG L,et al. TinyB-ERT:Distilling BERT for natural language understanding[C]// Findings of the Association for Computational Linguistic. Association for Computational Linguistics,2020:4163-4174.

29
REGINA M,MEYER M,GOUTAL S. Text data augmentation:Towards better detection of spear-phishing emails[J]. ArXiv Preprint ArXiv,2020:2007.02033.

30
XIE Q,DAI Z,HOVY E,et al. Unsupervised data augmentation for consistency training[C]// Neural Information Processing Systems. New York:Curran Associates Inc,2020:6256-6268.

31
OpenAI. Introducing ChatGPT[EB/OL]. (2022-11-30)[2024-01-22]. https://openai.com/index/chatgpt/.

文章导航

/