[发明专利]一种多语义动态污点分析方法有效
申请号: | 201610122106.8 | 申请日: | 2016-03-03 |
公开(公告)号: | CN105808430B | 公开(公告)日: | 2018-07-03 |
发明(设计)人: | 和亮;苏璞睿;杨轶;闫佳;黄桦烽 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/52;G06F21/55;G06F21/57 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种多语义动态污点分析方法。本方法为:1)对每种待跟踪语义数据分别设定唯一的污点语义类型;在一次动态污点分析过程中配置同时跟踪多种语义信息数据;2)根据每种污点语义类型,监控程序运行过程中是否有该污点语义类型的语义信息数据产生函数的调用;如果有则判定存在相应的污点源,并进行记录;3)根据监控到的每条指令语义信息以及操作数的污点状态进行污点传播计算,并将计算结果记录到影子内存;4)进行传播计算后,根据已有污点语义类型中预置的程序敏感指令集合判定该程序执行的指令是否为敏感指令,如果是则进行污点检测确定该指令位置上是否存在对应类型的污点。本发明提高了动态污点传播方法的分析效率。 | ||
搜索关键词: | 污点 语义类型 敏感指令 语义信息 语义 判定 传播 监控程序运行 程序执行 分析过程 分析效率 数据产生 污点检测 影子内存 语义数据 指令位置 指令语义 操作数 跟踪 记录 预置 调用 集合 分析 指令 监控 配置 | ||
【主权项】:
1.一种多语义动态污点分析方法,其步骤为:1)对每种待跟踪语义数据分别设定唯一的污点语义类型;其中,在一次动态污点分析过程中配置同时跟踪多种语义信息数据;其中,所述污点语义类型包括类型标识以及程序中产生该种污点语义类型污点的方法集合、传播规则集合、程序敏感点和污点处理方法;2)根据每种污点语义类型,监控程序运行过程中是否有该污点语义类型的语义信息数据产生函数的调用;如果有,则判定该程序中存在相应的污点源,并以影子内存的方式进行记录;3)在程序动态执行的过程中,根据监控到的每条指令语义信息以及操作数的污点状态进行污点传播计算,并将计算结果记录到影子内存;其中,所述指令语义信息包括指令的操作码、指令的源操作数集合和指令的目的操作数集合;所述污点传播计算的方法为:首先根据监控到的每条指令操作数的地址来查询影子内存中该指令对应的污点状态,如果污点状态为未被感染且对应的传播规则集合中包含有该指令操作码的具体传播规则,则按照该具体传播规则进行污点传播计算,否则按照默认传播规则计算;然后将传播计算结果记录在该指令目的操作数对应的影子内存;如果该指令属于程序敏感指令集合且该指令操作数中存在污点,则调用对应污点语义类型的污点处理方法;4)在进行传播计算后,根据已有污点语义类型中预置的程序敏感指令集合判定该程序执行的指令是否为敏感指令,如果是则进行污点检测确定该指令位置上是否存在对应类型的污点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610122106.8/,转载请声明来源钻瓜专利网。