Ouariel的个人博客分享 http://blog.sciencenet.cn/u/Ouariel

博文

源代码处理任务中的深度学习模型对抗攻防研究综述

已有 92 次阅读 2026-6-26 16:16 |系统分类:博客资讯

引用本文

 

潘海为, 马宝英, 张可佳, 杨晓阳, 秦颖鑫, 卢国强, 范书平. 源代码处理任务中的深度学习模型对抗攻防研究综述. 自动化学报, 2026, 52(4): 638665 doi: 10.16383/j.aas.c250331

Pan Hai-Wei, Ma Bao-Ying, Zhang Ke-Jia, Yang Xiao-Yang, Qin Ying-Xin, Lu Guo-Qiang, Fan Shu-Ping. Survey on adversarial attack and defense methods for deep learning models in source code processing tasks. Acta Automatica Sinica, 2026, 52(4): 638665 doi: 10.16383/j.aas.c250331

http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c250331

 

关键词

 

深度学习,源代码处理,对抗攻防方法,鲁棒性

 

摘要

 

随着智能软件的发展, 深度学习模型在缺陷检测与定位等源代码处理任务中的应用日益广泛, 但其鲁棒性不足的问题也逐渐凸显. 众多学者对源代码对抗攻击与防御方法进行深入研究. 然而, 现有综述鲜有从源代码任务特性出发总结模型特点, 也缺乏对模型窃取、后门防御和防御蒸馏等典型对抗攻防方法的梳理与分析. 本文从模型架构视角入手, 首先系统归纳面向源代码处理任务的深度学习模型, 分析其在对抗攻击环境下的表现与适应性. 随后对源代码对抗攻击与防御方法进行全面分类与综述, 并汇总相关基准数据集. 最后分析现有研究的不足, 提出未来的潜在研究方向.

 

文章导读

 

近年来, 深度学习(deep learning, DL)技术广泛应用于医疗诊断[1]、交通预测[2]、农业管理与决策[3]以及机器翻译[4]等场景, 随着研究的不断深入, 其影响力逐步扩展到软件工程领域[5]. 在源代码处理任务中, 以循环神经网络、卷积神经网络以及Transformer为代表的深度学习架构优势显著, 这些深度学习架构能够有效处理源代码的结构和语义信息, 并应用到多种代码处理任务中, 如源代码功能分类[6]、缺陷检测[7]、代码克隆检测[8]、代码注释生成[9]以及缺陷定位[10].

 

尽管深度学习模型提升了源代码处理任务的自动化水平和效率, 但其易受到对抗攻击的影响[11]. 攻击者通过精心设计的扰动生成对抗样本, 能有效诱导模型产生偏差, 这揭示了深度学习模型在鲁棒性方面的不足[12−15]. 与图像和文本等数据上的对抗攻击相比[16−18], 源代码因其具有结构化表示、严格的语法规范与语义约束以及离散性等特点, 导致深度学习模型的设计和对抗攻击技术具有特殊性[19−20]. 具体表现为以下三个方面: 一是源代码的语法结构和语义信息通常是以抽象语法树(abstract syntax tree, AST)、控制流图或数据流图等结构化的方式来表示, 对代码的扰动操作需要借助静态分析工具等手段进行验证; 二是源代码具有严格的语法规范与语义约束, 任何扰动需要在满足语法正确的同时, 又要保证扰动前后代码语义不变; 三是源代码的扰动空间呈离散分布状态, 往往针对变量名或函数名等离散元素, 并且受到语法和语义的约束, 从而进一步压缩了对抗样本的生成空间. 这些独有特点导致源代码的建模机制与对抗攻击技术相比于图像和文本更具挑战性.

 

源代码的上述特性决定深度学习模型在处理相关任务时, 必须结合代码的语法结构和语义信息[21−22], 同时也影响该领域对抗攻击技术的设计策略. NLP中主要围绕词替换或语法扰动的攻击方法不同, 面向源代码处理任务的对抗攻击需要在语法正确和功能不变的前提下构造对抗样本. 其常用构造方式包括重命名标识符、插入冗余语句以及结构等价转换等扰动操作, 以诱导模型预测错误. 这种语法与语义规则的双重约束增加了源代码对抗攻击的难度, 也使深度学习模型的鲁棒性面临更大的挑战.

 

近年来, 针对源代码处理任务中的深度学习模型及其鲁棒性问题, 已有较多综述从不同视角展开探索[21−30]. 相关工作主要聚焦于三个方面: 源代码表示方法与建模机制、深度学习模型的鲁棒性研究以及对抗攻防技术的研究. 在源代码建模方面, 文献[21−25]从代码表示方法、模型构建机制以及典型处理任务等维度出发, 系统总结了当前源代码处理技术的研究进展. 在模型鲁棒性研究方面, 文献[26]侧重研究漏洞预测场景下通过干扰数据和模型交互过程, 观察攻击前后鲁棒性验证指标的变化量, 以衡量AI系统的鲁棒性; 文献[27]则概述语言模型在代码智能任务中面临的数据分布不平衡、标签噪声等问题, 并提出相应的解决方法. 在对抗攻防技术研究方面, 文献[28]着重探讨后门攻击与防御技术以及对抗攻击与防御技术, 按照不同技术类别对所收集的论文进行系统的梳理和总结; 文献[29]梳理深度学习赋能下的恶意代码攻防关键技术; 文献[30]则聚焦于面向鲁棒性的对抗攻击策略研究. 这些研究为理解源代码处理任务中的深度学习模型应用与鲁棒性研究提供了重要参考.

 

然而, 以上针对源代码处理任务的对抗性研究综述仍存在不足. 一方面, 尽管该领域已广泛采用多种类型的深度学习模型, 但相关综述普遍缺乏从源代码任务特性出发, 对这些模型进行系统且有针对性的分类分析[21−25, 27−28]. 因此, 难以全面体现源代码任务在建模层面的独特需求. 另一方面, 现有源代码对抗攻防方面综述多集中于恶意代码检测等特定应用场景(见文献[29]), 缺乏对模型窃取与后门防御等典型对抗攻防技术的探讨[26, 30], 导致当前源代码对抗攻防的分类体系仍不够完善.

 

针对上述文献存在的不足, 本文围绕源代码处理任务, 系统研究并分析深度学习模型及其对抗攻防方法. 首先, 鉴于当前研究在面向源代码处理任务的深度学习模型(deep learning for source code processing, DL-SCP)分类方面仍存在不足, 本文从语义建模视角出发, 深入梳理面向源代码处理任务的深度学习模型, 并将其划分为语义对齐模型、程序行为模型与单模态语义模型三大类. 其次, 为支撑对抗攻防方法的研究与验证, 总结当前常用的源代码数据集, 明确其任务类型与适用范围; 在此基础上, 系统归纳面向DL-SCP的对抗攻击方法, 并对其进行细粒度划分, 涵盖规避攻击、中毒攻击与模型窃取三类方法; 针对上述攻击威胁, 进一步梳理面向DL-SCP中的防御方法, 重点分析对抗训练、后门防御、防御蒸馏与数据检测四类方法. 随后, 深入剖析这些攻防方法的原理、技术实现、适用范围与局限性, 以有效解决现有综述在源代码对抗攻防体系覆盖不足的问题. 最后, 提出DL-SCP对抗攻防研究面临的关键挑战, 并展望未来可能的研究方向, 旨在为该领域的深入发展提供理论支持与方法参考.

 

本文结构框架如图1所示. 1节阐述对抗攻击及对抗防御的基本概念; 2节从语义对齐模型、程序行为模型以及单模态语义模型的角度, 介绍当前主流的面向源代码处理任务的深度学习模型及其存在的局限性; 3节概述面向DL-SCP的典型对抗攻击方法; 4节详细探讨针对DL-SCP对抗攻击的防御策略; 5节介绍常用于DL-SCP对抗攻防研究的数据集; 6节讨论面临的关键挑战与未来研究展望; 7节进行总结.

1  结构框架图

2  对抗攻击流程

3  面向源代码处理任务的深度学习模型分类

 

尽管深度学习模型凭借其强大的建模能力, 已被广泛应用到源代码处理任务中, 但是其面临的安全问题不容忽视. 特别是在对抗攻击场景下, 模型鲁棒性不足严重威胁其本身以及软件系统的安全性. 为此, 本文围绕源代码处理任务, 系统梳理和分析该领域深度学习模型的应用现状及其对抗攻防方法.

 

与已有综述不同, 本文从源代码特有的语法结构和语义依赖出发, 系统阐述主流对抗攻防技术的实现细节, 并深入分析现有方法的优势与不足. 基于源代码的语义建模, 本文将源代码处理任务中应用的深度学习模型细粒度划分为语义对齐模型、程序行为模型和单模态语义模型三大类; 同时, 针对源代码处理任务, 比较了典型的三类对抗攻击方法: 规避攻击、中毒攻击以及模型窃取; 本文还梳理了四种常见的防御方法: 对抗训练、后门防御、防御蒸馏以及数据检测, 并分析这些对抗攻防方法的原理、技术实现、适用性以及存在不足. 为支撑对抗攻防方法的深入研究, 本文进一步对当前常用的源代码数据集进行概括与分类, 明确其覆盖的编程语言、评估指标及应用场景. 据此, 针对面向DL-SCP的对抗安全问题, 讨论当前面临的关键挑战, 包括保留语义的词表压缩问题、代码动态语义提取与表示问题以及黑盒攻击中查询效率低的问题等. 针对这些挑战, 本文提出未来研究可以从以下几个方向展开: 融合语法与语义信息的词表压缩方法研究、面向DL-SCP中代码语义的可解释性研究以及源代码黑盒对抗攻击查询优化研究等. 上述挑战和研究方向表明DL-SCP在代码结构表示和语义理解等方面有待完善, 也指明了对抗安全领域未来可能的研究方向. 本综述旨在为源代码处理任务中的安全性保障提供借鉴, 为该领域研究的进一步发展与应用提供参考和帮助.

 

作者简介

 

潘海为

哈尔滨工程大学计算机科学与技术学院教授. 主要研究方向为对抗学习, 医学图像处理, 数据挖掘, 机器学习和深度学习. E-mail: panhaiwei@hrbeu.edu.cn

 

马宝英

哈尔滨工程大学计算机科学与技术学院博士研究生. 主要研究方向为深度学习, 对抗攻击与防御技术. 本文通信作者. E-mail: myj@hrbeu.edu.cn

 

张可佳

哈尔滨工程大学计算机科学与技术学院副教授. 主要研究方向为对抗学习, 物联网, 隐私保护, 深度学习和计算机视觉. E-mail: kejiazhang@hrbeu.edu.cn

 

杨晓阳

哈尔滨工程大学计算机科学与技术学院硕士研究生. 主要研究方向为对抗攻击与防御技术. E-mail: yxyluck131411@163.com

 

秦颖鑫

哈尔滨工程大学计算机科学与技术学院博士研究生. 主要研究方向为对抗学习, 深度学习. E-mail: 1141243156@hrbeu.edu.cn

 

卢国强

牡丹江医科大学卫生管理学院副教授. 主要研究方向为网络信息分析, 对抗学习. E-mail: luguoqiang_123@163.com

 

范书平

牡丹江师范学院计算机与信息技术学院副教授. 主要研究方向为对抗攻击与防御技术. E-mail: f8259@163.com



https://blog.sciencenet.cn/blog-3291369-1541073.html

上一篇:面向复杂工程系统的安全分析研究综述
下一篇:视觉SLAM运动分割技术综述



    
收藏 IP: 150.242.79.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2026-6-27 16:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部