[发明专利]基于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的源代码异常检测方法。该方法包括:

获取待检测源代码;

将待检测源代码输入源代码异常检测模型,以使所述源代码异常检测模型输出与所述待检测源代码对应的异常检测结果;

其中,所述源代码异常检测模型预先基于第一方面所述的源代码异常检测模型训练方法得到。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,其中,所述将待检测源代码输入源代码异常检测模型,进一步包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院大学,未经中国科学院大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211056893.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top