全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211100283.8 (22)申请日 2022.09.09 (71)申请人 南京大学 地址 210000 江苏省南京市汉口路2 2号 (72)发明人 伏晓 宋师文 孙雨竹 刘轩宇  骆斌  (74)专利代理 机构 南京众联专利代理有限公司 32206 专利代理师 叶涓涓 (51)Int.Cl. G06F 21/62(2013.01) G06F 21/56(2013.01) G06K 9/62(2022.01) G06N 3/04(2006.01) G06N 3/08(2006.01) (54)发明名称 基于深度学习防止行为不端小程序的隐私 保护方法及系统 (57)摘要 本发明提供基于深度学习防止行为不端小 程序的隐私保护方法及系统, 利用深度学习和程 序分析技术的协同合作来检测小程序的预期和 实际行为之间的不一致。 本发明提供了新的小程 序分析技术, 将小部件的U I信息与相应的程序行 为相关联, 并基于程序分析确定小部件的实际行 为, 从而能够构建大规模、 高质量的训练数据集。 基于程序分析的结果, 使用深度学习技术从非结 构化数据集学习图标 ‑行为模型, 以推断小部件 的预期行为。 本发明使用定义的三层标准模型, 通过计算异常值分数来检测实际行为和预期行 为之间的差异。 如果发现任何不一致, 则表明存 在行为不端的小程序。 然后, 可 以估计不当行为 的风险水平, 并主动执 行对策。 权利要求书5页 说明书13页 附图3页 CN 115455474 A 2022.12.09 CN 115455474 A 1.基于深度学习防止行为 不端小程序的隐私保护方法, 其特 征在于, 包括如下步骤: 首先, 通过静态和动态分析技术构建微信小程序数据集, 并确定每个UI组件的实际行 为, 即程序实际执 行的行为; 其次, 利用深度学习技术从非结构化的UI信息中推断UI组件的预期行为, 即用户对应 用程序的期望行为; 最后, 通过定义一个三层标准模型, 聚合和计算实际行为与期望行为之间的差距; 如果 计算结果在不可接受的范围内, 认为该小程序存在不端行为。 2.根据权利要求1所述的基于深度学习防止行为不端小程序的隐私保护方法, 其特征 在于, 具体包括如下步骤: 步骤一: 准备阶段, 自动提取数据集模块用于自动化地提取静态和动态数据, 然后将它 们合并为一个完整的数据集, 包括UI组件的图标、 对应的文本描述和绑定的API调用; 应用 静态分析从\verb|WXAPKG|文件中提取一部分静态数据, 应用动态调试技术获得另一部分 动态数据; 然后, 设计匹配 器来合并静态和动态数据, 生成一个完整的数据集; 步骤二: 训练 阶段, 基于自动提取数据集模块获取的数据集, 得到UI组件从用户的角度 的期望行为, 即预期的API调用; 制定一个多 标签分类任务, 即把文本和图像作为输入, 得出 一个或多个API行为类别的预测结果; 训练分类器, 首先预先定义适当的API类别, 并注释数 据集的结果标签; 然后建立一个图标 ‑行为模型, 称为MiniCheckerBert, 并向其提供这个新 的数据集, 使其能够学习足够的特 征进行预测; 步骤三: 检测阶段, 给定一个未知的小应用程序, 静态分析模块自动检测每个UI组件, 然后生成一个结果报告, 存储在签名数据库中, 描述其预期行为和实际行为之间的一致性; 根据三层标准模型, 通过计算和汇总来检测意图与行为之间的差异; 步骤四: 保护阶段, 在用户设备的运行过程中, 动态保护模块根据签名数据库的结果报 告保护用户信息; 在安卓连接桥ADB工具的帮助下, 首先对用户的设备进行实时监控, 当用 户操作有问题的小程序部件时, 一个策略器模块被触发以执行保护措施; 三层模型 的每一 层都对应着一个保护策略。 3.根据权利要求2所述的基于深度学习防止行为不端小程序的隐私保护方法, 其特征 在于, 所述 步骤一中提取静态数据的具体步骤如下: (1)首先获得小程序的WXAPKG文件; 当用户通过用户界面第一次进入一个小程序时, WXAPKG文件会从相应的服务器上下载到本地, 主包在运行时首先被下载, 然后根据需要下 载其他的子包; (2)监测Android中微信小程序的存储文件/data/data/com.tencent.mm/MicroMsg/ {一串十六进制字符}/appbrand/pkg/, 这个文件夹包含了小程序的基础库和所有使用的小 程序的WXAPKG文件; 根据文件的生 成时间, 找到一个小程序的所有WXAPKG文件; 对WXAPKG文 件进行逆向工程 获得源代码: 首先分解一个小程序的主包; 然后在 主包文件夹下放置子包, 并逐个反编译子包; (3)在获得源代码后, 构建用于分析和提取静态数据集的程序调用图; 在源代码中, 微 信小程序的内部结构中有三个对象, 即ap p, page, 和compo nent; (4)从app.json开始 分析, 以获得当前小程序的所有page对象路径; 分别处理每个page 对象; 在page对象的WXML文件中, 有四种 类型的标签: 原生标签、 自定义标签、 include标签权 利 要 求 书 1/5 页 2 CN 115455474 A 2和import标签; 其余JSON和JS文件与传统的网页静态分析一致; 在WXML文件中的小部件和 JS文件中的相应API调用之间建立映射关系; (5)解析WXML文件以定位每个部件, 在分析过程中把虚拟标签转换为本地标签的表示; 首先使用Python的Lxml工具包将WXML文件解析成一个分层树, 其中每个UI组件 是树中的一 个节点; 然后遍历层次树 来转换虚拟标签, 过程如下: ·转换自定义标签: 根据 标签名称是否在相应的JSON文件中声明确定它是否是一个自 定义标签, 标签的src属性确定了其地址; 如果标签是自定义的, 递归处理组件对象并返回 相应的WXML和JS代码; ·转换include标签: 根据widget代码中的src属性找到相应的WXML文件, 然后提取引 用的WXML代码; ·转换import标签: 在遍历分层树时, 如果遇到带有is属性的template标签, 提取相应 的WXML代码; 从is属性值中获取地址, 然后处理WXML文件, 找到带有模板标签和name属性的 导入代码; 最后返回导入的代码; (6)重复(5)步骤, 直到所有的标签都是WXML中的原生标签; (7)把一个WXML文件中的UI组件和它们的绑定事件关联起来; 在小程序语法中, 通过特 殊事件属性将JS函数与UI前端代码相关联; 一个一个地迭代UI组件, 通过匹配上述的特殊 属性来定位绑定事件; 当遍历一个层次树时, 考虑一个UI组件是否被隐含地绑定到其子节 点的事件; 把事件归于UI树中最大的组件; 在WXML文件对应的JS文件中找到绑定函数, 建立 前端和后端代码之间的联系; (8)从JS文件中确定一个函数的API调用; 通过JS解释器提供的API将一段JavaScript 代码解析成抽象语法树AST; 给定一个函数名, 首先在AST中找到它, 然后处理函数体的内 容; 当遇到一个从所需标识符导入的对象名称时, 递归处 理JS文件; (9)在完成上述 步骤之后, 使用程序调用图提取静态数据; 所述步骤一中获取动态数据的具体步骤如下: (1)前端页面需要被动态调试, 以确定每个UI组件的图标和上下文描述; 使用Chrome   DevTools动态调试小程序的HTML页面, 使用TBS工具激活小程序 页面的调试选项; (2)然后下载与微信版本相匹配的Chrome浏览器, 在D evTools中查看每个webview页面 的编译HTML代码和UI信息; 转储动态的前端代码, 以便将其与静态源代码联系; (3)使用JS自动化工具来编写脚本, 将小程序的呈现页面解析成一个分层树, 其中每个 节点都是Andro id上的一个原生UI组件; (4)在脚本中, 首先进入主页并遍历其分层树; 如果树中的一个节点是可点击的, 操作 它并进入下一页; 接下来遍历下一页的分层树, 重复之前的点击操作; (5)在所有页面上迭代步骤(4); 使用操作过的页面的路径作为标记来避免无限的迭 代; (6)自动转储用户界面截图和当前运行的小程序的动态前端代码; (7)遍历DOM树并在用户界面截图的相应位置拦截其 图标来确定一个UI组件 的位置及 其文本信息; 所述步骤一中合并静态和动态数据的具体步骤如下: (1)静态和动态数据都包括前端代码, 将静态前端代码编译成动态前端代码, 使用调用权 利 要 求 书 2/5 页 3 CN 115455474 A 3

PDF文档 专利 基于深度学习防止行为不端小程序的隐私保护方法及系统

文档预览
中文文档 22 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于深度学习防止行为不端小程序的隐私保护方法及系统 第 1 页 专利 基于深度学习防止行为不端小程序的隐私保护方法及系统 第 2 页 专利 基于深度学习防止行为不端小程序的隐私保护方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:34:21上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。