预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114328208A(43)申请公布日2022.04.12(21)申请号202111599410.9(22)申请日2021.12.24(71)申请人中国电信股份有限公司地址100033北京市西城区金融大街31号(72)发明人纪妙(74)专利代理机构北京律智知识产权代理有限公司11438代理人王辉阚梓瑄(51)Int.Cl.G06F11/36(2006.01)权利要求书2页说明书11页附图3页(54)发明名称代码检测方法及装置、电子设备、存储介质(57)摘要本公开提供了一种代码检测方法及装置、电子设备、存储介质,涉及信息安全技术领域,可以应用于污点信息流分析的场景。该代码检测方法包括:解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系;提取待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息;基于程序语法规则、数据依赖关系和污点匹配信息对待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码;对目标抽象代码进行基于程序元素变异的污点信息流分析,得到待检测程序代码的检测结果。本公开实施例的技术方案可以提高代码检测的效率和污点信息流分析的准确度。CN114328208ACN114328208A权利要求书1/2页1.一种代码检测方法,其特征在于,包括:解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系;提取所述待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息;基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息对所述待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码,所述目标污点为符合所述污点匹配信息的程序元素;对所述目标抽象代码进行基于程序元素变异的污点信息流分析,得到所述待检测程序代码的检测结果。2.根据权利要求1所述的代码检测方法,其特征在于,所述基于所述目标抽象代码进行基于程序元素变异的污点信息流分析,得到所述待检测程序代码的检测结果,包括:对所述目标抽象代码的程序元素进行设定次数的变异;对于所述目标抽象代码和每次变异后的目标抽象代码,验证其待检测的污点源和污点汇聚点之间是否存在可执行路径,并记录验证结果;基于所述验证结果计算所述程序元素的可疑度;根据所述程序元素的可疑度输出所述待检测程序代码的检测结果。3.根据权利要求2所述的代码检测方法,其特征在于,所述目标抽象代码中包括标记污点汇聚点位置的污点断言,所述对于所述目标抽象代码和每次变异后的目标抽象代码,验证其待检测的污点源和污点汇聚点之间是否存在可执行路径包括:对于所述目标抽象代码和每次变异后的目标抽象代码,验证其程序入口参数的执行结果是否满足所述污点断言,所述程序入口参数基于所述污点匹配信息确定;若满足,则记录验证结果为路径可达;若不满足,则记录验证结果为路径不可达。4.根据权利要求2所述的代码检测方法,其特征在于,所述基于所述验证结果计算所述程序元素的可疑度包括:基于所述验证结果,根据可疑度计算公式计算所述程序元素的可疑度;所述可疑度计算公式为:其中,所述m代表任意一个程序元素,所述Fm为程序元素m的可疑度,m1为所述验证结果中程序元素m对应的路径可达的次数,m2为所述验证结果中程序元素m对应的路径不可达的次数,∑mm1为所述验证结果中所述目标抽象代码的所有经过验证的程序元素的路径不可达的总次数,∑mm2为所述验证结果中所述目标抽象代码的所有经过验证的程序元素的路径可达的总次数。5.根据权利要求1所述的代码检测方法,其特征在于,所述污点标记库中包括污点源标记函数、污点汇聚点标记函数和无害化处理标记函数;所述提取所述待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息,包括:从所述待检测程序代码中提取出与所述污点源标记函数、所述污点汇聚点标记函数和所述无害化处理标记函数相匹配的程序代码,得到污点匹配信息。2CN114328208A权利要求书2/2页6.根据权利要求1所述的代码检测方法,其特征在于,所述解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系,包括:对所述待检测程序代码进行词法分析和语法分析,生成抽象语法树;基于所述抽象语法树生成程序语法规则;基于所述抽象语法树生成程序调用关系图,并从所述程序调用关系图中提取数据依赖关系。7.根据权利要求6所述的代码检测方法,其特征在于,所述基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息对所述待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码,包括:基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息,并结合所述抽象语法树和所述程序调用关系图,将所述待检测程序代码中与所述目标污点无关的程序元素剔除,得到待处理抽象代码;