【技术实现步骤摘要】
本专利技术涉及一种跨样本插值攻击与防御方法,属于信息安全与人工智能。
技术介绍
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中的自适应插...
【专利技术属性】
技术研发人员:潘海为,马宝英,杨晓阳,张宇超,兰海燕,张可佳,王宇华,关键,于金峰,江海英,
申请(专利权)人:哈尔滨工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。