[发明专利]代码检测方法及装置、电子设备、存储介质在审
申请号: | 202111599410.9 | 申请日: | 2021-12-24 |
公开(公告)号: | CN114328208A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 纪妙 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 检测 方法 装置 电子设备 存储 介质 | ||
1.一种代码检测方法,其特征在于,包括:
解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系;
提取所述待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息;
基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息对所述待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码,所述目标污点为符合所述污点匹配信息的程序元素;
对所述目标抽象代码进行基于程序元素变异的污点信息流分析,得到所述待检测程序代码的检测结果。
2.根据权利要求1所述的代码检测方法,其特征在于,所述基于所述目标抽象代码进行基于程序元素变异的污点信息流分析,得到所述待检测程序代码的检测结果,包括:
对所述目标抽象代码的程序元素进行设定次数的变异;
对于所述目标抽象代码和每次变异后的目标抽象代码,验证其待检测的污点源和污点汇聚点之间是否存在可执行路径,并记录验证结果;
基于所述验证结果计算所述程序元素的可疑度;
根据所述程序元素的可疑度输出所述待检测程序代码的检测结果。
3.根据权利要求2所述的代码检测方法,其特征在于,所述目标抽象代码中包括标记污点汇聚点位置的污点断言,所述对于所述目标抽象代码和每次变异后的目标抽象代码,验证其待检测的污点源和污点汇聚点之间是否存在可执行路径包括:
对于所述目标抽象代码和每次变异后的目标抽象代码,验证其程序入口参数的执行结果是否满足所述污点断言,所述程序入口参数基于所述污点匹配信息确定;
若满足,则记录验证结果为路径可达;
若不满足,则记录验证结果为路径不可达。
4.根据权利要求2所述的代码检测方法,其特征在于,所述基于所述验证结果计算所述程序元素的可疑度包括:
基于所述验证结果,根据可疑度计算公式计算所述程序元素的可疑度;所述可疑度计算公式为:
其中,所述m代表任意一个程序元素,所述Fm为程序元素m的可疑度,m1为所述验证结果中程序元素m对应的路径可达的次数,m2为所述验证结果中程序元素m对应的路径不可达的次数,∑mm1为所述验证结果中所述目标抽象代码的所有经过验证的程序元素的路径不可达的总次数,∑mm2为所述验证结果中所述目标抽象代码的所有经过验证的程序元素的路径可达的总次数。
5.根据权利要求1所述的代码检测方法,其特征在于,所述污点标记库中包括污点源标记函数、污点汇聚点标记函数和无害化处理标记函数;所述提取所述待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息,包括:
从所述待检测程序代码中提取出与所述污点源标记函数、所述污点汇聚点标记函数和所述无害化处理标记函数相匹配的程序代码,得到污点匹配信息。
6.根据权利要求1所述的代码检测方法,其特征在于,所述解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系,包括:
对所述待检测程序代码进行词法分析和语法分析,生成抽象语法树;
基于所述抽象语法树生成程序语法规则;
基于所述抽象语法树生成程序调用关系图,并从所述程序调用关系图中提取数据依赖关系。
7.根据权利要求6所述的代码检测方法,其特征在于,所述基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息对所述待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码,包括:
基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息,并结合所述抽象语法树和所述程序调用关系图,将所述待检测程序代码中与所述目标污点无关的程序元素剔除,得到待处理抽象代码;
在所述待处理抽象代码中添加标记污点汇聚点位置的污点断言,得到目标抽象代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111599410.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高速数据采集仪及其采集方法
- 下一篇:机房制冷控制方法、系统、设备及存储介质