[发明专利]一种面向安卓系统隐私泄漏检测的动态特性信息提取方法有效
申请号: | 201810383319.5 | 申请日: | 2018-04-26 |
公开(公告)号: | CN108875375B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 曾庆凯;王雪华 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 系统 隐私 泄漏 检测 动态 特性 信息 提取 方法 | ||
一种面向安卓系统隐私泄漏检测的动态特性信息提取方法,基于组件间和组件内的调用图,提取动态特性调用反向提取所依赖的动态特性调用子图,以减少不必要的代码分析,把分析限制在较小的程序代码上;根据目标参数不同的定义‑使用关系,对调用子图划分动态特性调用路径,获取更多的触发调用路径;基于每条调用路径的切片信息进行参数约束分析,把参数进行组合生成测试案例,构造更多测试案例;把测试案例输入,指导动态测试获取动态特性信息,避免随机测试。本发明动态测试以静态分析为指导,保证了路径敏感和上下文敏感,提高了动态特性信息获取的覆盖率和精准度,既避免了动态特性信息获取的随机性,又提高了动态特性信息的覆盖面和获取效率。
技术领域
本发明属于代码中的动态特性信息提取领域,具体涉及一种面向安卓系统隐私泄漏检测的动态特性信息提取方法。
背景技术
隐私信息泄露检测中,通常基于数据流进行污点分析,然而代码中的动态特性会形成数据流的断点,阻碍污点传播分析。为了弥补数据流断点,通常以动态测试获取断点信息,弥补数据流分析中动态特性断点。但是目前的测试方法大多采用动态随机测试,没有对动态特性触发因素进行深入分析,覆盖不全,导致动态特性信息的遗漏,使隐私信息泄露分析不完整。因此,对动态特性信息针对性的有效获取,是隐私信息泄露检测的重要基础之一,具有非常现实的意义。
发明内容
本发明针对现有技术中的不足,提供一种面向安卓系统隐私泄漏检测的动态特性信息提取方法,目的是为提高隐私信息泄露分析的覆盖率和精准度,提供关键技术支持。
为实现上述目的,本发明采用以下技术方案:
一种面向安卓系统隐私泄漏检测的动态特性信息提取方法,其特征在于,包括以下步骤:
步骤一、构建程序调用图:把待检测程序APP作为输入,提取其程序调用图;
步骤二、提取动态特性调用子图:基于程序调用图,面向动态特性调用反向提取所依赖的动态特性调用子图;
步骤三、区分动态特性路径:根据目标参数不同的定义-使用关系,对调用子图划分动态特性调用路径;
步骤四、提取路径信息约束:基于每条调用路径的切片信息进行分析,提取调用路径的约束信息;
步骤五、生成测试案例:根据动态特性调用路径和提取的约束信息,生成测试案例;
步骤六、提取动态特性信息:分析输出的日志,得到待检测程序的动态特性信息。
为优化上述技术方案,采取的具体措施还包括:
首先,分析动态特性在代码中使用的特点,作为静态分析识别动态特性目标变量的依据;
步骤一中,解析组件函数中定义的通信Intent参数,进行属性匹配构造组件间的调用关系;组件内调用图借助FlowDroid工具构造,然后把组件内调用图加入到组件间的调用关系中,形成程序调用图;
步骤二中,基于程序调用图,根据动态特性目标变量数据依赖性提取数据依赖子图,然后根据控制依赖性提取事件处理方法作为入口,形成从动态特性调用点到事件处理方法入口的所有依赖调用子图;
步骤三中,以每个动态特性目标变量为起点,反向分析变量的数据依赖性,遇到不同的定义就划分不同的调用路径;
步骤四中,对提取的每条调用路径,利用切片方法对动态特性进行后向切片,获得动态特性调用路径的切片信息;基于每条路径的切片信息,分析语句和谓词,收集路径上需要的事件以及需要输入的参数,并确定事件输入的顺序;
步骤五中,生成对应的模拟事件,加入数据,确定模拟事件输入顺序,形成需要的模拟事件链,得到测试案例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810383319.5/2.html,转载请声明来源钻瓜专利网。