一种基于简化异构图Transfomer的漏洞检测方法技术

技术编号:45438344 阅读:5 留言:0更新日期:2025-06-04 19:19
本发明专利技术公开了一种基于简化异构图Transfomer的漏洞检测方法,利用静态分析工具解析源代码,生成代码属性图;利用sublime_text工具提取源代码的漏洞关注点;前向和后向遍历代码属性图,生成切片级代码属性图;简化切片级代码属性图的节点类型,根据是否包含漏洞语句节点给简化后的切片级异构图标记类别标签;执行Doc2Vec嵌入,生成初始节点嵌入;构建并训练SHGT模型,所述SHGT模型通过注意力机制和信息传递机制,将简化切片级异构图中的节点及其邻居信息进行有效整合,生成新的节点嵌入表示,通过浅层多层感知器进行逐行的MEAN运算,生成图的全局向量嵌入,表征漏洞标签;对于待识别文件级的源代码,生成初始节点嵌入,输入训练好的SHGT模型进行漏洞检测。本发明专利技术提升了漏洞检测效率和精度。

【技术实现步骤摘要】


技术介绍

1、随着科技的进步,尤其是近年来神经网络的迅速发展,促进了新一轮的产业变革和科技革命,然而,随着互联网技术的普及,恶意活动与日俱增。随着人工智能的快速发展,基于深度学习的漏洞挖掘与检测方法层出不穷,覆盖了静态分析、动态分析以及动静结合等场景。现有的漏洞检测程序表示方法主要有基于度量、序列、语法树和图的方法。基于序列的方法通过将代码转换为token序列,再利用深度神经网络建模,可以体现程序的自然语言序列信息,但难以捕捉程序的结构信息。基于语法树的方法擅长捕捉代码的语法结构信息,而基于图的方法则保留了代码的逻辑结构和依赖关系信息。在漏洞检测粒度上来说很多方法是文件级别或者是函数级别的预测,在函数规模较大时的图结构过于复杂和庞大,影响模型的学习效率,并且图中存在大量与漏洞无关的节点和边会对模型学习漏洞模式产生干扰,从而导致模型的误报率较高。

2、漏洞关注点是可能引发漏洞的代码行。现有的漏洞关注点筛选方式多为启发式,且很难从源代码层面概括全部漏洞关注点,这种方法难以覆盖所有可能的漏洞类型,导致某些漏洞类型在后续检测中无法被深度神经网络模型识本文档来自技高网...

【技术保护点】

1.一种基于简化异构图Transfomer的漏洞检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述基于简化异构图Transfomer的漏洞检测方法,其特征在于,步骤1:基于SARD数据集,将文件级的源代码进行预处理,去除代码多余的注释,将源代码中的所有用户自定义的变量名和函数名统一映射为通用占位符,其中:

3.根据权利要求1所述基于简化异构图Transfomer的漏洞检测方法,其特征在于,步骤4:以步骤3得到的4种相关漏洞关注点作为切片准则,前向和后向遍历在步骤2中得到的代码属性图,获取切片语句集合,生成切片级代码属性图,其中:>

4.根据权利...

【技术特征摘要】

1.一种基于简化异构图transfomer的漏洞检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述基于简化异构图transfomer的漏洞检测方法,其特征在于,步骤1:基于sard数据集,将文件级的源代码进行预处理,去除代码多余的注释,将源代码中的所有用户自定义的变量名和函数名统一映射为通用占位符,其中:

3.根据权利要求1所述基于简化异构图transfomer的漏洞检测方法,其特征在于,步骤4:以步骤3得到的4种相关漏洞关注点作为切片准则,前向和后向遍历在步骤2中得到的代码属性图,获取切片语句集合,生成切片级代码属性图,其中:

4.根据权利要求3所述基于简化异构图transfomer的漏洞检测方法,其特征在于,步骤5:简化步骤4所得切片级代码属性图的节点类型,根据是否包含漏洞语句节点给简化后的切片级异构图标记类别标签,其中:

5.根据权利要求1所述基于简化异构图transfomer的漏洞检测方法,其特征在于,步骤5:简化步骤4所得切片级代码属性图的节点类型,根据是否包含漏洞语句节点给简化后的切片级异构图标记类别标签,其中:

6.根据权利要求1所述基于简化异构图transfomer的漏洞检测方法,其特征在于,步骤6:对步骤5所得标记类别标签后的简化切片级异...

【专利技术属性】
技术研发人员:俞研叶真狄芳付安民
申请(专利权)人:南京理工大学
类型:发明
国别省市:

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

1