本篇综述的团队包括南京大学 iSE 团队的研究生陈宇琛、葛一飞、韩廷旭、张犬俊,指导教师房春荣副教授、陈振宇教授和徐宝文教授,以及来自南洋理工大学的研究员孙伟松、陈震鹏和刘杨教授。
近年来,代码语言模型(Language Models for Code,简称 CodeLMs)逐渐成为推动智能化软件开发的关键技术,应用场景涵盖智能代码生成与补全、漏洞检测与修复等。例如,基于知名代码语言模型 Codex 构建的 AI 编码助手 GitHub Copilot 能够实时提供代码建议和补全,显著提升了开发者的工作效率,现已吸引超过 100 万开发者使用。然而,随着 CodeLMs 的广泛应用,各种安全问题也逐渐显现,与自然语言模型类似,CodeLMs 同样会面临后门攻击和对抗攻击等安全威胁,安全性正受到严峻挑战。例如,受攻击的 CodeLMs 可能会生成具有隐藏安全漏洞的代码,一旦这些不安全代码被集成到开发者的软件系统(如股票交易系统和自动驾驶系统)中,可能导致严重的财产损失甚至危及生命的事故。鉴于 CodeLMs 对智能化软件开发和智能软件系统的深远影响,保障其安全性至关重要。CodeLMs 安全性正成为软件工程、人工智能和网络安全领域的研究新热潮。
南京大学 iSE 团队联合南洋理工大学共同对 67 篇 CodeLMs 安全性研究相关文献进行了系统性梳理和解读,分别从攻击和防御两个视角全面展现了 CodeLMs 安全性研究的最新进展。从攻击视角,该综述总结了对抗攻击和后门攻击的主要方法与发展现状;从防御视角,该综述展示了当前应用于 CodeLMs 的对抗防御和后门防御策略。同时,该综述回顾了相关文献中常用的实验设置,包括数据集、语言模型、评估指标和实验工具的可获取性。最后,该综述展望了 CodeLMs 安全性研究中的未来机遇与发展方向。
一、CodeLMs 安全性研究发展趋势与视角
该综述对 2018 年至 2024 年 8 月期间的相关文献数量和发表领域进行了统计分析,如图 1 所示。近年来,CodeLMs 安全性研究的关注度持续上升,凸显了其日益增长的重要性和研究价值。此外,CodeLMs 的安全性问题已在软件工程、人工智能、计算机与通信安全等多个研究领域引起了广泛关注。
图 1:CodeLMs 安全性文献累积数量及分布情况
CodeLMs 安全性的研究本质是攻击者与防御者之间的博弈。因此,如图 2 所示,该综述将研究方向划分为针对 CodeLMs 安全的攻击研究和防御研究;在攻击方面,涵盖了后门攻击(包括数据投毒攻击和模型投毒攻击)和对抗攻击(包括白盒攻击和黑盒攻击);在防御方面,涵盖了后门防御(包括模型训练前、训练中和训练后防御)和对抗防御(包括对抗训练、模型改进和模型扩展)。
图 2:CodeLMs 安全性研究方向分类
二、针对 CodeLMs 的后门攻击与对抗攻击
后门攻击
如图 3 所示,后门攻击可以通过数据投毒攻击或模型投毒攻击的方式,将隐藏的触发器植入到 CodeLMs 中,使模型在接收到特定输入时产生攻击者预期的恶意输出。
开发者或者用户通过开源平台下载并使用有毒的数据集或使用有毒的预训练模型来训练或微调下游任务的 CodeLMs。该模型将包含攻击者注入的后门。攻击者可以使用包含触发器的输入对下游任务模型发起攻击,导致其输出攻击者目标结果。
图 3:针对 CodeLMs 后门攻击的工作流
对抗攻击
如图 4 所示,对抗攻击可以通过白盒攻击或者黑盒攻击方式对输入数据添加微小的扰动,使 CodeLMs 产生错误的高置信度预测,从而欺骗模型。
相比于白盒攻击,黑盒攻击所能利用的信息更少,攻击的难度更大。但是由于其更接近实际中攻击者能够掌握的信息程度,因此对于模型的威胁更大。
图 4:针对 CodeLMs 对抗攻击的工作流
三、针对 CodeLMs 的后门防御与对抗防御
为了应对 CodeLMs 上的后门攻击和对抗攻击,研究人员开发了相应的防御方法。后门防御策略通常包括在模型训练前防御、模型训练中防御和模型训练后防御,主要通过识别异常数据样本或模型行为来提高安全性。对抗防御则采用对抗训练、模型改进和模型扩展等方法,通过将对抗样本引入训练集来增强模型的安全性和鲁棒性。这些防御方法的研究为提升 CodeLMs 的安全性提供了重要支持。然而,相较于后门和对抗攻击在深度代码模型安全中的广泛研究,防御方法的研究显得尤为缺乏。
表 1:针对 CodeLMs 后门防御方法的文献列表
表 2:针对 CodeLMs 对抗防御方法的文献列表
四、CodeLMs 安全性研究中常用的数据集、语言模型、评估指标以及实验工具
该综述还总结了 CodeLMs 安全性研究中常用的数据集、语言模型、评估指标以及实验工具。
基准数据集
包括 BigCloneBench、OJ>
表 3: CodeLMs 安全性研究中常用的数据集
语言模型
包括 RNN、LSTM、Transformer、CodeBERT 和 GPT 等语言模型,涵盖了非预训练模型、预训练模型以及大语言模型。
表 4: CodeLMs 安全性研究中常用的语言模型
评估指标
在 CodeLMs 安全性的研究中,除了要关注攻击或者防御方法的效果之外,还要关注这些方法对模型产生的影响。因此,评估指标可分为两类:一类用于评估攻击或防御方法的有效性,另一类用于评估模型性能的变化。
实验工具
如表 5 所示,为了促进实验工具的进一步应用和研究,该综述还深入探讨了各文献中提供的开源代码库。
表 5: CodeLMs 安全性研究中提供的可复现开源代码库链接
五、未来机遇与发展方向
该综述进一步探讨了 CodeLMs 安全性研究的未来机遇与发展方向。
针对 CodeLMs 攻击的研究
针对 CodeLMs 防御的研究
总体而言,CodeLMs 的安全威胁可视为攻击者与防御者之间持续演变的博弈,双方都无法获得绝对优势。然而,双方可以借助新技术和应用来获取战略优势。对于攻击者而言,有效策略包括探索新的攻击向量、发现新的攻击场景、实现攻击目标的多样化,并扩大攻击的范围和影响。对于防御者而言,结合多种防御机制是一种有前景的攻击缓解方式。然而,这种集成可能引入额外的计算或系统开销,因此在设计阶段需加以慎重权衡。
ntu是什么大学
南洋理工大学,简称南大(ntu),作为新加坡的一所科研密集型大学,其在纳米材料、生物材料、功能性陶瓷和高分子材料等许多领域的研究享有世界盛名,为工科和商科并重的综合性大学。
清华去南洋理工值得吗
值得。 在世界大学排名中,南洋理工大学的排名多次高于清华北大,所以国内企业对于南洋理工大学毕业生的认可度也是非常高的。 南洋理工大学缩写为NTU),简称南大,是新加坡的一所综合类研究型大学。
ntu是什么大学
ntu是指南洋理工大学。
南洋理工大学(Nanyang Technological University),简称南大、NTU,是新加坡的一所科研密集型大学。 南洋理工大学前身为1955年由民间发动筹款运动而创办的南洋大学,南洋大学的倡办人是新马胶业钜子陈六使先生,云南园校址由新加坡福建会馆捐赠。
1981年,新加坡政府在南洋大学校址成立南洋理工学院,为新加坡经济培育工程专才;1991年,南洋理工学院进行重组,将国立教育学院纳入旗下,更名为南洋理工大学,与快速发展的教育事业齐驱并进;2006年4月,南洋理工大学正式企业化;2007年,该校第二个校区该校纬壹校区和校友俱乐部正式开幕。
南洋理工大学的学术研究:
根据2015年4月学校官网显示,该校有6个跨学科研究群组,它们包括高级计算与媒体研究群组、生物医学与配药工程学研究群组、环境与水技术研究群组、信息与传播研究群组、聪颖设备与系统研究群组及纳米科学与纳米科技研究群组,一共有33所研究院。
也设立了高等研究所(Institute of Advanced Studies),并组织一组世界各地网罗研究有成的与诺贝尔奖得主和其他顶尖科学家为研究顾问;九层楼高的科技大厦是校园内点燃创意火花的科研温床,一共设有4个跨领域科技研究走廊和6个科研中心。