[发明专利]基于AST的源代码异常检测方法及其装置在审
申请号: | 202211056893.2 | 申请日: | 2022-08-31 |
公开(公告)号: | CN115146282A | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 宁剑;沈传宝;白兴伟 | 申请(专利权)人: | 中国科学院大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06N3/08 |
代理公司: | 北京华专卓海知识产权代理事务所(普通合伙) 11664 | 代理人: | 王一 |
地址: | 100049 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ast 源代码 异常 检测 方法 及其 装置 | ||
1.一种基于AST的源代码异常检测模型训练方法,其特征在于,包括以下步骤:
S1、根据源代码样本的语义特征构建抽象语法树,并基于所述抽象语法树将源代码样本转换为SSA代码段;
S2、提取所述SSA代码段中的漏洞特征,将所述漏洞特征进行切片得到关键片段,并将所述关键片段分类组合为组合关键片段;
S3、对所述组合关键片段进行向量化处理,将所述抽象语法树中的Token转换到词向量空间;
S4、对所述向量化处理之后的源代码样本进行人工标注,并利用标注结果对基于LSTM的初始检测模型进行预训练,得到源代码异常检测模型。
2.根据权利要求1所述的基于AST的源代码异常检测模型训练方法,其特征在于,所述根据源代码样本的语义特征构建抽象语法树,进一步包括:
分析源代码中的跨程序、函数间的语义关系,将相关代码片段进行拼接,并对局部变量进行标号。
3.根据权利要求1所述的基于AST的源代码异常检测模型训练方法,其特征在于,所述漏洞特征的类型包括类、接口、字段及类间继承。
4.一种基于AST的源代码异常检测方法,其特征在于,包括:
获取待检测源代码;
将待检测源代码输入源代码异常检测模型,以使所述源代码异常检测模型输出与所述待检测源代码对应的异常检测结果;
其中,所述源代码异常检测模型预先基于权利要求1-3中的任一项所述的基于AST的源代码异常检测模型训练方法得到。
5.根据权利要求4所述的基于AST的源代码异常检测方法,其特征在于,所述将待检测源代码输入源代码异常检测模型,进一步包括:
根据所述待检测源代码的语义特征构建抽象语法树,并基于所述抽象语法树将源代码样本转换为SSA代码段;
提取所述SSA代码段中的漏洞特征,将所述漏洞特征进行切片得到关键片段,并将所述关键片段分类组合为组合关键片段;
对所述组合关键片段进行向量化处理,将所述抽象语法树中的Token转换到词向量空间,得到向量化处理之后的待检测源代码,将所述向量化处理之后的待检测源代码输入训练后的所述源代码异常检测模型。
6.一种基于AST的源代码异常检测模型训练装置,其特征在于,包括:
源代码转换模块,用于根据源代码样本的语义特征构建抽象语法树,并基于所述抽象语法树将源代码样本转换为SSA代码段;
关键片段提取模块,用于提取所述SSA代码段中的漏洞特征,将所述漏洞特征进行切片得到关键片段,并将所述关键片段分类组合为组合关键片段;
向量化模块,用于对所述组合关键片段进行向量化处理,将所述抽象语法树中的Token转换到词向量空间;
预训练模块,用于对所述向量化处理之后的源代码样本进行人工标注,并利用标注结果对基于LSTM的初始检测模型进行预训练,得到源代码异常检测模型。
7.根据权利要求6所述的基于AST的源代码异常检测模型训练装置,其特征在于,所述源代码转换模块进一步配置为:
分析源代码中的跨程序、函数间的语义关系,将相关代码片段进行拼接,并对局部变量进行标号。
8.根据权利要求6所述的基于AST的源代码异常检测模型训练装置,其特征在于,所述漏洞特征的类型包括类、接口、字段及类间继承。
9.一种基于AST的源代码异常检测装置,其特征在于,包括:
获取模块,用于获取待检测源代码;
输入模块,用于将待检测源代码输入源代码异常检测模型,以使所述源代码异常检测模型输出与所述待检测源代码对应的异常检测结果;
其中,所述源代码异常检测模型预先基于权利要求1-3中的任一项所述的基于AST的源代码异常检测模型训练方法得到。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求4-5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院大学,未经中国科学院大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211056893.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种中子俘获照射系统
- 下一篇:基于张量压缩方法的流数据处理方法、装置及设备