[发明专利]代码检测方法及装置、电子设备、存储介质在审
申请号: | 202111599410.9 | 申请日: | 2021-12-24 |
公开(公告)号: | CN114328208A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 纪妙 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 检测 方法 装置 电子设备 存储 介质 | ||
本公开提供了一种代码检测方法及装置、电子设备、存储介质,涉及信息安全技术领域,可以应用于污点信息流分析的场景。该代码检测方法包括:解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系;提取待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息;基于程序语法规则、数据依赖关系和污点匹配信息对待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码;对目标抽象代码进行基于程序元素变异的污点信息流分析,得到待检测程序代码的检测结果。本公开实施例的技术方案可以提高代码检测的效率和污点信息流分析的准确度。
技术领域
本公开涉及信息安全技术领域,具体而言,涉及一种代码检测方法、代码检测装置、电子设备以及计算机可读存储介质。
背景技术
污点分析是信息流分析的重要实践手段之一,污点分析结果不准确将导致代码信息流分析结果产生大量误报。
代码检测中的污点分析可以分为静态污点分析和动态污点分析两种。静态污点分析基于别名检测的形式进行,存在精度和效率的问题。动态污点分析基于代码插桩的形式进行,依赖于程序执行且覆盖路径单一,无法全面准确地定位出全文的污点传播路径信息。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种代码检测方法、代码检测装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服相关技术中污点分析结果准确率低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种代码检测方法,包括:
解析待检测程序代码的语法结构,得到程序语法规则和数据依赖关系;
提取所述待检测程序代码中与污点标记库相匹配的程序代码,得到污点匹配信息;
基于所述程序语法规则、所述数据依赖关系和所述污点匹配信息对所述待检测程序代码中与目标污点无关的程序元素进行抽象处理,生成目标抽象代码,所述目标污点为符合所述污点匹配信息特征的程序元素;
对所述目标抽象代码进行基于程序元素变异的污点信息流分析,得到所述待检测程序代码的检测结果。
在本公开的一些示例实施例中,基于前述方案,所述基于所述目标抽象代码进行基于程序元素变异的污点信息流分析,得到所述待检测程序代码的检测结果,包括:
对所述目标抽象代码的程序元素进行设定次数的变异;
对于所述目标抽象代码和每次变异后的目标抽象代码,验证其待检测的污点源和污点汇聚点之间是否存在可执行路径,并记录验证结果;
基于所述验证结果计算所述程序元素的可疑度;
根据所述程序元素的可疑度输出所述待检测程序代码的检测结果。
在本公开的一些示例实施例中,基于前述方案,所述目标抽象代码中包括标记污点汇聚点位置的污点断言,所述对于所述目标抽象代码和每次变异后的目标抽象代码,验证其待检测的污点源和污点汇聚点之间是否存在可执行路径包括:
对于所述目标抽象代码和每次变异后的目标抽象代码,验证其程序入口参数的执行结果是否满足所述污点断言,所述程序入口参数基于所述污点匹配信息确定;
若满足,则记录验证结果为路径可达;
若不满足,则记录验证结果为路径不可达。
在本公开的一些示例实施例中,基于前述方案,所述基于所述验证结果计算所述程序元素的可疑度包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111599410.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高速数据采集仪及其采集方法
- 下一篇:机房制冷控制方法、系统、设备及存储介质