[发明专利]基于AST的源代码异常检测方法及其装置在审
申请号: | 202211056893.2 | 申请日: | 2022-08-31 |
公开(公告)号: | CN115146282A | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 宁剑;沈传宝;白兴伟 | 申请(专利权)人: | 中国科学院大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06N3/08 |
代理公司: | 北京华专卓海知识产权代理事务所(普通合伙) 11664 | 代理人: | 王一 |
地址: | 100049 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ast 源代码 异常 检测 方法 及其 装置 | ||
本公开的实施例提供了一种基于AST的源代码异常检测方法及其装置,属于软件安全检测领域。基于AST的源代码异常检测模型训练方法包括:根据源代码样本的语义特征构建抽象语法树,基于抽象语法树将源代码样本转换为SSA代码段;提取SSA代码段中的漏洞特征,并将漏洞特征进行切片得到关键片段,将关键片段分类组合为组合关键片段;对组合关键片段进行向量化处理,将抽象语法树中的Token转换到词向量空间;对向量化处理之后的源代码样本进行人工标注,利用标注结果对基于LSTM的初始检测模型进行预训练,得到源代码异常检测模型。本公开通过深度学习模型的训练,利用源代码中的语义特征进行异常预测,进一步减少了噪声,提高了源代码异常检测的准确率和效率。
技术领域
本公开涉及软件安全检测领域,尤其涉及一种基于AST的源代码异常检测方法及其装置。
背景技术
随着移动互联网的不断发展,开发出各种移动终端的应用软件,满足用户日常生活中的各种需求。一般情况下,在开发人员编写完成应用软件的源代码后,对应用软件的源代码进行编译得到应用软件安装包,并上线至软件平台或应用商店后,用户可以通过下载并安装应用软件安装包的方式实现对应用软件的使用。在对应用软件的源代码的编译和测试中,一般会对源代码进行常规的异常检测,以识别源代码中的一些常见错误,进而避免编译得到的程序安装包在运行时出现各种运行异常。但在理论上,源代码可以通过反编译等手段来再现,并且容易被攻击者篡改。攻击者往往会尝试利用源代码中存在的漏洞,对目标系统发起攻击。应用软件源代码的安全漏洞指软件设计实现过程中被引入的、在数据访问或行为逻辑等方面的缺陷。一旦源代码泄露则这种缺陷会被攻击者入侵和篡改,最终侵入目标计算机系统内部,造成破坏性极大的恶意攻击。而目前的技术无法对应用软件充分进行各种类型的安全性测试以检测到存在的安全漏洞,导致终端计算机系统仍存在安全隐患。在针对源代码的安全检测和漏洞排查阶段,若采用人工排查的方式,很多漏洞不易被发掘。而对于采用规则匹配的方式,又会由于漏洞类型的不同而产生局限性,因此尚不存在一种能够准确而全面地判定源代码脆弱性的检测策略。
发明内容
为准确而全面地排查应用软件源代码潜在的安全漏洞,本公开提供了一种基于AST的源代码异常检测模型训练方法、源代码异常检测方法及其装置。
根据本公开的第一方面,提供了一种基于AST的源代码异常检测模型训练方法。该方法包括:
S1、根据源代码样本的语义特征构建抽象语法树,并基于所述抽象语法树将源代码样本转换为SSA代码段;
S2、提取所述SSA代码段中的漏洞特征,将所述漏洞特征进行切片得到关键片段,并将所述关键片段分类组合为组合关键片段;
S3、对所述组合关键片段进行向量化处理,将所述抽象语法树中的Token转换到词向量空间;
S4、对所述向量化处理之后的源代码样本进行人工标注,并利用标注结果对基于LSTM的初始检测模型进行预训练,得到源代码异常检测模型。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,其中,所述根据源代码样本的语义特征构建抽象语法树,进一步包括:
分析源代码中的跨程序、函数间的语义关系,将相关代码片段进行拼接,并对局部变量进行标号。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,其中,所述漏洞特征的类型包括类、接口、字段及类间继承。
根据本公开的第二方面,提供了一种基于AST的源代码异常检测方法。该方法包括:
获取待检测源代码;
将待检测源代码输入源代码异常检测模型,以使所述源代码异常检测模型输出与所述待检测源代码对应的异常检测结果;
其中,所述源代码异常检测模型预先基于第一方面所述的源代码异常检测模型训练方法得到。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,其中,所述将待检测源代码输入源代码异常检测模型,进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院大学,未经中国科学院大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211056893.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种中子俘获照射系统
- 下一篇:基于张量压缩方法的流数据处理方法、装置及设备