一种基于深度学习使用特征融合进行软件漏洞自动检测方法技术

技术编号:42120173 阅读:15 留言:0更新日期:2024-07-25 00:38
本发明专利技术公开了一种基于深度学习使用特征融合进行软件漏洞自动检测方法,包括如下步骤:步骤1、收集原始软件漏洞数据集并进行预处理;步骤2、对预处理后的数据执行Joern工具解析,根据解析结果创建代码属性图,并将代码属性图作为输入通过图神经网络特征提取模型进行全局特征提取得到源代码图级全局特征;步骤3、从源代码中提取候选漏洞语句的集合,提取令牌级局部特征信息;步骤4、将源代码图级全局特征和令牌级局部特征信息进行特征融合和检测。该方法通过融合全局特征和局部特征进行分类,可以有效地提取源代码中的漏洞关键信息,使其更适合于漏洞检测任务。

【技术实现步骤摘要】

本专利技术涉及软件安全和机器学习,具体指一种基于深度学习使用特征融合进行软件漏洞自动检测方法


技术介绍

1、互联网是信息化时代不可或缺的基础设施,互联网技术在为人类带来了便利的同时,也给恶意分子提供了可乘之机。近年来,黑客攻击、数字资产盗窃、用户隐私信息泄露等网络安全事件对信息系统的安全产生了严重的威胁。作为网络空间核心组件的软件系统存在漏洞,是导致此类安全事件的根本原因。

2、软件漏洞(vulnerability,也称脆弱性)是指在软件系统或产品的软件生命周期的各个层次与环节中,由于操作实体有意或无意的疏忽而产生的设计错误、编码缺陷和运行故障.恶意主体可以利用软件漏洞实现获取更高级别系统权限、窃取软件中用户隐私数据等目的,从而危害软件系统的安全,并影响构建于软件系统之上的服务的正常运行。然而,由于传统的漏洞检测需要专业人员花费较多的人力,其在软件开发过程中一直占用了较高的成本。实证研究表明,漏洞检测与修复耗费成本占软件开发所有成本的50%-70%。因此,人们对自动化漏洞检测的需求日益增长。

3、近年来,大规模的数据和硬件方面不断本文档来自技高网...

【技术保护点】

1.一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤1中,预处理方法为:消除不同命名引起的错误,进行统一替换。

3.根据权利要求1所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤2中,通过Joern工具完成代码解析,从而生成由AST、CFG、PDG组成的代码属性图。

4.根据权利要求3所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤2中还包括对生成的代码属性图...

【技术特征摘要】

1.一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤1中,预处理方法为:消除不同命名引起的错误,进行统一替换。

3.根据权利要求1所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤2中,通过joern工具完成代码解析,从而生成由ast、cfg、pdg组成的代码属性图。

4.根据权利要求3所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤2中还包括对生成的代码属性图进行图缩小:通过vgr方法将ast中重复变量的节点合并为代码结构图中一个节点。

5.根据权利要求4所述的一种基于深度学习使用特征融合进行软件漏洞自动检测方法,其特征在于,所述步骤2中还包括对图缩小后的代码属性图的节点进行初始嵌入。

6.根据权利要求5所述的...

【专利技术属性】
技术研发人员:王正基王兴起魏丹
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1