一种面向深度代码模型的跨样本插值攻击与防御方法技术

技术编号:46551464 阅读:0 留言:0更新日期:2025-10-10 21:11
一种面向深度代码模型的跨样本插值攻击与防御方法,它涉及一种跨样本插值攻击与防御方法。本发明专利技术为了解决现有技术中对抗样本生成效率低、多样性不足的问题。本发明专利技术包括以下步骤:步骤1:从源代码语料库中提取多类别功能代码样本,构建初始数据集并进行预处理;步骤2:随机选取参考样本与目标样本;步骤3:从所述参考代码样本中提取不同类型的插值元素,将插值元素自适应插入到目标代码样本中,生成候选对抗样本;步骤4:提出迭代攻击算法,动态优化插值策略,通过多轮结构扰动与置信度判断构建误导模型的高效对抗样本;步骤5:将生成的对抗样本注入训练集,进行模型重训练以增强鲁棒性。本发明专利技术属于信息安全与人工智能技术领域。

【技术实现步骤摘要】

本专利技术涉及一种跨样本插值攻击与防御方法,属于信息安全与人工智能。


技术介绍

1、随着深度学习技术在自然语言处理领域的快速发展,越来越多的研究将其应用于源代码理解、代码补全、漏洞检测、代码分类等程序语言处理任务中。与自然语言类似,源代码作为一种形式语言,也具有语义结构和上下文依赖性。因此,诸如transformer、bert等模型经过适当训练后,能够较好地建模源代码的语义信息。然而,近期研究表明,深度神经网络在处理源代码任务时也面临与图像识别、文本分类等任务类似的脆弱性,尤其容易受到对抗样本的干扰,导致模型预测结果严重偏离,从而引发安全隐患。

2、现有对抗攻击方法主要面临以下技术瓶颈:首先,像传统的死代码插入方法(如添加空语句或固定控制结构)生成的对抗样本模式单一,缺乏多样性,容易被现代防御机制检测。其次,现有方法无法在保证语法正确性和功能不变性的前提下,实现足够强度的扰动来有效攻击模型。特别值得关注的是,当前方法在生成对抗样本时存在显著的效率问题。由于代码空间的离散特性,传统的基于梯度优化的攻击方法难以直接应用。而枚举式的修改策略又面临着组本文档来自技高网...

【技术保护点】

1.一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,具体步骤包括:

2.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中当存在多个同类型模块时,选择代码行数最少的模块作为插值元素,计算公式为:

3.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中所述自适应插入操作类型包括:选择模块插值、循环模块插值、辅助函数插值以及初始化/输入输出语句插值。

4.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中的自适应插入的插值元素采用了...

【技术特征摘要】

1.一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,具体步骤包括:

2.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中当存在多个同类型模块时,选择代码行数最少的模块作为插值元素,计算公式为:

3.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中所述自适应插入操作类型包括:选择模块插值、循环模块插值、辅助函数插值以及初始化/输入输出语句插值。

4.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中的自适应插入的插值元素采用了基于控制流图的插值建模方法,将目标代码的控制流图表示为有向图g=(v,e),其中,v表示基本块节点集合,每个节点v∈v对应一个可插值代码元素;e表示有向边集合。

5.根据权利要求1所述的一种面向深度代码模型的跨样本插值攻击与防御方法,其特征在于,步骤3中的自适应插...

【专利技术属性】
技术研发人员:潘海为马宝英杨晓阳张宇超兰海燕张可佳王宇华关键于金峰江海英
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

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

1