一种基于UI语义的用户输入数据收集检测方法

摘要: 本发明涉及移动应用隐私合规检测,尤其涉及一种基于ui语义的用户输入数据收集检测方法。背景技术:1、随着移动互联网应用的持续发展,应用收集用户个人信息的入口不再局...
一种基于UI语义的用户输入数据收集检测方法

本发明涉及移动应用隐私合规检测,尤其涉及一种基于 ui 语义的用户输入数据收集检测方法。

背景技术:

1、随着移动互联网应用的持续发展,应用收集用户个人信息的入口不再局限于系统api提供的设备信息、位置信息、通讯录信息等固定数据源。大量个人信息由用户在注册、认证、支付、物流、金融服务、业务办理等页面主动输入,例如姓名、身份证号码、手机号、详细地址、银行卡号、医疗健康信息和企业资质信息等。此类用户输入数据通常由界面上的输入框、复选框、按钮、图标或图片触发收集,其语义含义往往依赖于周围文本提示、页面上下文以及组件交互功能。

2、现有的用户输入数据收集检测方法主要存在以下问题:

3、现有方法偏重代码层和权限层分析。主要关注权限调用、系统 api、污点传播和网络传输,难以准确识别 ui 交互界面中由用户主动输入的数据。

4、用户输入组件缺乏明确语义。edittext、checkbox、view 等控件类型只能表示交互形式,无法直接说明其收集的是姓名、身份证号、手机号等具体隐私数据。

5、代码变量难以反映真实数据含义。用户输入内容通常通过变量传递,变量命名不稳定,仅依赖代码分析容易产生漏报或误报。

6、webview 和热更新机制增加检测难度。页面结构和收集字段可能在运行时动态变化,传统基于静态布局文件、控件树或无障碍服务的方法容易失效。

7、控件定位与语义识别稳定性不足。在跨平台或动态页面中,输入框可能被识别为普通 view,页面文本与控件结构也可能变化,导致控件定位和语义关联不准确。

8、因此,需要一种能够融合静态布局文件、动态页面截图、视觉ui组件识别、文本识别和交互语义分析的检测方法,在原生页面和webview动态页面中均能识别用户输入数据收集行为,并进一步推断其对应的个人信息类型。

技术实现思路

1、本发明的内容在于提出一种基于 ui 语义的用户输入数据收集检测方法,以解决现有移动应用隐私检测方法难以在 ui 交互界面中准确识别用户输入数据语义类别、难以适配 webview 及跨平台动态页面、容易产生漏报和误报等技术问题。本方法围绕移动应用运行时界面中的用户输入数据收集行为进行分析:首先通过反编译和动态测试获取应用的静态布局文件、动态页面截图及运行时页面信息;然后利用视觉 ui 模型识别页面中的输入组件、文本元素及交互语义,生成包含 ui 语义信息的动态布局文件;接着通过文本过滤和位置关系分析,将用户输入组件与其周围提示文本进行语义关联;最后结合预构建的隐私词典推断用户输入数据类型,输出移动应用通过 ui 界面收集用户输入数据的检测结果。通过以上方法,可以提高对用户主动输入隐私数据的源头识别能力,增强对 webview、跨平台框架及动态更新页面的适应性,降低用户输入数据收集检测中的漏报率和误报率。

2、为了实现上述目的,本发明采用以下技术方案:

3、1)基于静态布局文件和动态页面截图的应用界面信息采集:

4、步骤s101:获取待检测移动应用及其安装包文件,并搭建该应用的运行环境,所述运行环境包括移动设备或模拟器,以及反编译和动态测试所需的工具链。待检测移动应用应为android平台的原生应用,应用类别包括网上购物、通讯社交、影音娱乐和生活工具;

5、步骤s102:对待检测移动应用进行反编译,提取应用资源文件中的静态布局文件static_xmlfile,并由静态布局文件生成静态组件集合static_components;

6、步骤s103:对待检测移动应用执行动态测试,遍历应用页面和交互流程,采集运行时页面截图及页面状态信息;

7、2)基于视觉 ui 模型的用户输入组件和文本元素识别:

8、步骤s104:将步骤s103得到的运行时页面截图输入florence-2等现有视觉语言预训练模型,分别执行ui组件识别、文本元素识别和交互语义分析,识别页面中的可交互组件、文本区域及各组件的交互功能描述;

9、步骤s105:将步骤s104得到的ui组件识别结果、文本元素识别结果和交互语义分析结果进行融合,形成包含组件类型、组件位置、组件文本和交互语义的动态布局文件dynamic_xmlfile,并由动态布局文件生成动态组件集合dynamic_components;

10、3)基于隐式语义关联的数据类型对齐:

11、步骤s106:对页面中的ocr文本、布局文件文本和组件语义文本执行噪声文本过滤,仅保留包含敏感信息类型且具有数据收集意图的候选提示文本;

12、步骤s107:合并静态组件集合static_components和动态组件集合dynamic_components,识别敏感组件集合sc,并依据敏感组件与候选提示文本的相对位置关系建立敏感组件-提示文本语义关联;

13、步骤s108:根据预构建的隐私词典对所述提示文本进行语义相似度计算,推断敏感组件所收集的用户输入数据类型,生成用户输入数据收集检测结果。

14、进一步的,所述步骤s102具体为:

15、步骤s201:利用反编译工具对待检测移动应用的安装包文件进行解包,提取应用资源文件和静态布局文件static_xmlfile;

16、步骤s202:解析静态布局文件static_xmlfile中组件的层次结构、组件类型、组件标识、文本属性、尺寸信息和位置信息;

17、步骤s203:将解析得到的组件信息转换为统一的结构化组件记录,形成静态组件集合static_components。

18、进一步的,所述步骤s103具体为:

19、步骤s301:通过自动化测试工具模拟用户操作,对待检测移动应用的页面和交互流程进行遍历;

20、步骤s302:在遍历过程中实时采集应用运行时页面截图,记录页面交互节点和页面状态;

21、步骤s303:以运行时页面截图和页面状态信息作为动态分析对象,并保留页面截图与应用页面、交互节点之间的对应关系。

22、进一步的,所述步骤s104中的ui组件识别采用改进型yolov11模型。所述改进型yolov11模型采用eiou损失函数替换ciou损失函数,将预测框与真实框之间的宽度误差和高度误差进行解耦;采用bifpn特征融合结构替换fpn结构,通过双向特征传递和加权特征融合增强多尺度ui组件的识别能力;并在c3k2模块中引入可变形卷积dcn,使卷积采样位置能够根据ui组件的形态变化自适应调整。

23、进一步的,所述步骤s105中的融合方法包括:

24、1)分别获取ui组件检测框和ocr文本检测框的位置坐标,计算ui组件检测框与ocr文本检测框之间的交并比iou;

25、2)当交并比iou大于预设阈值时,判定该文本元素与对应ui组件存在归属关系,将ocr识别出的文本内容写入对应ui组件的文本属性中;再将组件类型、组件位置、组件文本内容和交互语义描述写入动态布局文件。

26、进一步的,所述步骤s104中的交互语义分析采用视觉语言模型,具体为:

27、步骤s401:依据ui组件识别结果裁剪每一个ui组件所在的图像区域;

28、步骤s402:将裁剪图像、组件坐标信息以及预设交互语义提示词输入视觉语言模型;

29、步骤s403:由视觉语言模型生成该ui组件的功能描述,并将所述功能描述作为组件交互语义写入动态布局文件。

30、进一步的,所述步骤s106中的噪声文本过滤采用基于bert的二分类器。所述二分类器将页面中的ocr文本、布局文件文本和组件交互语义文本作为输入,判断文本是否同时满足包含敏感信息类型和具有数据收集意图两个条件;对于不包含敏感信息类型的普通文本,或者虽包含敏感信息类型但不具有收集意图的文本,判定为噪声文本并过滤;对于包含敏感信息类型且具有收集意图的文本,保留为候选提示文本。

31、进一步的,所述步骤s107中的敏感组件集合sc按照如下方式构建:

32、步骤s501:分别由静态布局文件static_xmlfile和动态布局文件dynamic_xmlfile生成静态组件集合static_components和动态组件集合dynamic_components;

33、步骤s502:合并所述静态组件集合与动态组件集合得到组件集合components;

34、步骤s503:遍历components,将组件类型为edittext和checkbox的组件加入敏感组件集合sc;

35、步骤s504:再次遍历动态组件集合dynamic_components,将组件类型为icon、image或textbutton且其交互语义经收集意图检测函数判定为真的组件加入敏感组件集合sc。

36、进一步的,所述步骤s107中的“敏感组件-提示文本”语义关联具体为:

37、步骤s601:对ocr文本坐标与布局文件组件坐标进行归一化处理;

38、步骤s602:对每个敏感组件,根据相对位置关系生成候选提示文本集合,所述相对位置关系包括提示文本位于敏感组件左侧、位于敏感组件上方或被敏感组件包含;

39、步骤s603:计算候选提示文本与敏感组件质心之间的距离,选择距离最近且满足位置约束条件的候选提示文本与该敏感组件建立关联。

40、进一步的,所述步骤s108中的隐私词典为两级敏感信息类型字典,第一级为个人信息大类,第二级为具体个人信息类型。将与敏感组件关联的提示文本与所述隐私词典中第二级个人信息类型的词语实例进行语义相似度计算,对同一第二级个人信息类型下的多个词语实例求平均相似度,并选择平均相似度最高的第二级个人信息类型作为该敏感组件收集的用户输入数据类型,生成用户输入数据收集检测结果。

41、本发明的进一步改进在于:所述步骤s101至步骤s103结合应用准备、静态反编译和动态测试获取移动应用界面基础信息,既利用静态布局文件中的组件属性,又以运行时页面截图为主要分析对象,能够避免仅依赖静态布局文件导致的页面失真问题。

42、本发明的进一步改进在于:所述步骤s104至步骤s105利用视觉ui模型识别页面中的ui组件、文本元素和交互语义,并通过边界框重叠关系和组件内容属性进行融合,能够在webview、跨平台页面以及控件树信息不完整的场景下实现组件定位和文本提取。

43、本发明的进一步改进在于:所述步骤s401至步骤s403通过视觉语言模型生成ui组件交互语义,使icon、image、textbutton等非传统输入控件也能够被识别为潜在的数据收集入口,提高用户输入数据收集检测的覆盖范围。

44、本发明的进一步改进在于:所述步骤s501至步骤s603通过敏感组件筛选、噪声文本过滤和位置关系匹配,将用户输入组件与其周围提示文本进行语义关联,解决输入组件自身缺乏明确语义标签的问题。

45、相对于现有技术,本发明具有以下优点:

46、1)本发明方法不仅关注权限调用、系统 api 调用和网络传输行为,还能够从 ui交互界面出发识别用户主动输入的数据收集行为,提高了数据收集源头识别能力;

47、2)本发明通过视觉 ui 模型识别页面组件和文本信息,能够适配 webview、跨平台框架和动态更新页面,降低传统控件树或无障碍服务方法失效带来的影响;

48、3)本发明结合组件类型、文本提示、位置关系和交互语义对用户输入数据进行综合判断,能够缓解仅依赖代码变量或控件类型分析造成的漏报和误报问题;

49、4)本发明通过隐私词典和语义相似度计算推断用户输入数据类别,能够输出姓名、身份证号、手机号、地址、银行卡号等具体隐私数据类型,使检测结果更加直观、准确;

50、5)本发明适用于移动应用隐私合规检测、用户输入数据收集审计以及动态页面隐私风险分析等场景,能够提升移动应用隐私数据收集行为检测的自动化程度和实用性。