[发明专利]一种基于虚拟化技术的软件隐私泄露行为检测方法及系统有效
申请号: | 201410218719.2 | 申请日: | 2014-05-22 |
公开(公告)号: | CN104008329B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 贾晓启;王蕊;张道娟 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/53 | 分类号: | G06F21/53 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于虚拟化技术的软件隐私泄露行为检测方法及系统。该方法将待分析的软件加载到修改后的虚拟机中运行;然后在软件执行过程中,监控每一条指令的执行,当应用程序访问敏感资源时,标记相关污点数据并制定相关污点传播规则,在此基础上,动态生成指令级污点依赖图,并根据系统重构翻译,动态生成系统进程级污点依赖图;通过细粒度污点依赖分析图,分析软件的隐私泄露行为。本发明采用指令级和进程级相结合的多级动态污点分析方法,获得细粒度的污点依赖分析图,从而可以获得系统污染的路径信息,以及信息泄露等高层次语义信息,实现软件隐私泄露行为的有效分析和检测。 | ||
搜索关键词: | 一种 基于 虚拟 技术 软件 隐私 泄露 行为 检测 方法 系统 | ||
【主权项】:
一种基于虚拟化技术的软件隐私泄露行为检测方法,其步骤包括:1)在虚拟机中加载待检测的应用程序,并执行该应用程序;2)当应用程序访问敏感资源时,在被访问的敏感资源相应内存的存储位置添加污点标签,在虚拟机中对应用程序执行指令级污点分析并动态生成指令级污点依赖图;所述指令级污点分析处理两种污点传播流:数据污点传播流和控制污点传播流;所述数据污点传播流的处理方法为:2‑1‑1)如果一条指令包含一个源操作数和一个目的操作数,源操作数中存储的数据是脏的,那么将目的操作数的存储的位置标记为脏;2‑1‑2)如果一条指令中用来寻找源操作数地址或者目的操作数地址的数值是脏的,那么将其目的操作数存储的位置标记为脏;2‑1‑3)如果一条指令本身存储的内存空间是脏的,那么将其目的操作数存储的位置标记为脏;2‑1‑4)如果前述的条件均不满足,而且此指令会更新系统的状态信息,那么将相应的目标标记为干净;所述控制污点传播流的处理方法为:2‑2‑1)如果一条控制指令的条件标记是脏,那么此时使用静态分析方法遍历由于控制指令引起的两条不同的执行路径,找到两条执行路径的结合点,从而找到所有受此控制指令影响的指令,并将这些指令存储位置全部标记为脏;2‑2‑2)如果一条控制指令的目的地址的标记是脏,同样将相关指令存储位置全部标记为脏;2‑2‑3)如果一条控制指令本身存储的内存空间是脏的,同上处理;通过分析每一条指令的执行活动,逐渐的生成一个指令级的污点依赖分析图;3)通过系统信息重构,从虚拟机监控层得到关于虚拟机客户操作系统语义级的信息;4)通过将指令级动态污点分析和系统信息重构结合,获得系统进程级的污点依赖图;5)利用指令级污点依赖图和进程级的污点依赖图上污点元素的依赖关系进行前向和后向处理,得到细粒度的污点分析图,进而分析软件的隐私泄露行为并获得最终检测结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410218719.2/,转载请声明来源钻瓜专利网。