[发明专利]源代码风险分析方法、装置、电子设备及存储介质在审
申请号: | 202111418015.6 | 申请日: | 2021-11-24 |
公开(公告)号: | CN114065222A | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 苟孟洛;陈灵锋 | 申请(专利权)人: | 安天科技集团股份有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56 |
代理公司: | 北京科衡知识产权代理有限公司 11928 | 代理人: | 王淑静 |
地址: | 150028 黑龙江省哈尔滨市高新技术产*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 风险 分析 方法 装置 电子设备 存储 介质 | ||
本发明的实施例公开了一种源代码风险分析方法、装置、电子设备及存储介质,涉及信息安全技术领域,能够降低误报,提高准确率和分析效率。所述源代码风险分析方法包括:获取待分析的目标源代码;对所述目标源代码进行环境检测,得到目标环境检测信息;根据所述目标环境检测信息,利用具有对应规则库的内容分析器对所述目标源代码进行检测;若存在漏洞,则根据所述目标环境检测信息,利用具有对应规则库的语法分析器、污点分析器和/或用户自定义分析器对所述目标源代码进行检测;输出风险分析报告。
技术领域
本发明涉及信息安全技术领域,尤其涉及一种源代码风险分析方法、装置、电子设备及存储介质。
背景技术
由于开发人员的技术水平和安全意识各不相同,导致开发的代码可能存在一些潜在的安全漏洞,攻击者可以通过渗透测试来找到这些漏洞,从而导致应用被攻击、服务器被入侵、数据被下载、业务受到影响等等问题。现有源代码风险分析方法通常存在误报,准确率较低,有改进的必要。
发明内容
有鉴于此,本发明实施例提供一种准确率高的源代码风险分析方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供一种源代码风险分析方法,包括:
获取待分析的目标源代码;
对所述目标源代码进行环境检测,得到目标环境检测信息,所述目标环境检测信息包括上下文信息、开发语言、引入的框架和第三方库、以及使用的SDK版本信息中的一个或多个;
根据所述目标环境检测信息,利用具有对应规则库的内容分析器对所述目标源代码进行检测;
若存在漏洞,则根据所述目标环境检测信息,利用具有对应规则库的语法分析器、污点分析器和/或用户自定义分析器对所述目标源代码进行检测;
输出风险分析报告。
结合第一方面,在第一方面的一种实施方式中,所述根据所述目标环境检测信息,利用具有对应规则库的内容分析器对所述目标源代码进行检测,包括:
使用内容分析器中的正则规则对所述目标源代码进行检测。
结合第一方面,在第一方面的另一种实施方式中,所述若存在漏洞,则根据所述目标环境检测信息,利用具有对应规则库的语法分析器、污点分析器和/或用户自定义分析器对所述目标源代码进行检测,包括:
使用语法分析器梳理出所述目标源代码中存在的危害函数;
基于抽象语法树分析所述危害函数的入参是否可控来判断是否存在漏洞;
或者,所述若存在漏洞,则根据所述目标环境检测信息,利用具有对应规则库的语法分析器、污点分析器和/或用户自定义分析器对所述目标源代码进行检测,包括:
使用语法分析器梳理出所述目标源代码中存在的危害函数;
使用污点分析器对所述危害函数进行污点分析,定位产生风险的地方以及污点数据流向。
结合第一方面,在第一方面的再一种实施方式中,所述若存在漏洞,则根据所述目标环境检测信息,利用具有对应规则库的语法分析器、污点分析器和/或用户自定义分析器对所述目标源代码进行检测之后包括:
若存在漏洞,则利用第三方检测模块或插件对所述目标源代码进行检测。
结合第一方面,在第一方面的又一种实施方式中,所述输出风险分析报告之前还包括:
确定所述目标源代码中对存在的漏洞不存在修复规则。
第二方面,本发明实施例提供一种源代码风险分析装置,包括:
获取模块,用于获取待分析的目标源代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安天科技集团股份有限公司,未经安天科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111418015.6/2.html,转载请声明来源钻瓜专利网。