文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

面向代码语言模型的安全性研究全新进展,南大&NTU联合发布全面综述

2024-11-28 14:36

关注

近年来,代码语言模型(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 Dataset、CodeSearchNet、Code2Seq、Devign、Google Code Jam 等,涵盖了 8 种编程语言。

图片

表 3: CodeLMs 安全性研究中常用的数据集

语言模型

包括 RNN、LSTM、Transformer、CodeBERT 和 GPT 等语言模型,涵盖了非预训练模型、预训练模型以及大语言模型。

图片

表 4: CodeLMs 安全性研究中常用的语言模型

评估指标

在 CodeLMs 安全性的研究中,除了要关注攻击或者防御方法的效果之外,还要关注这些方法对模型产生的影响。因此,评估指标可分为两类:一类用于评估攻击或防御方法的有效性,另一类用于评估模型性能的变化。

实验工具

如表 5 所示,为了促进实验工具的进一步应用和研究,该综述还深入探讨了各文献中提供的开源代码库。

图片

表 5: CodeLMs 安全性研究中提供的可复现开源代码库链接

五、未来机遇与发展方向

该综述进一步探讨了 CodeLMs 安全性研究的未来机遇与发展方向。

针对 CodeLMs 攻击的研究

针对 CodeLMs 防御的研究

总体而言,CodeLMs 的安全威胁可视为攻击者与防御者之间持续演变的博弈,双方都无法获得绝对优势。然而,双方可以借助新技术和应用来获取战略优势。对于攻击者而言,有效策略包括探索新的攻击向量、发现新的攻击场景、实现攻击目标的多样化,并扩大攻击的范围和影响。对于防御者而言,结合多种防御机制是一种有前景的攻击缓解方式。然而,这种集成可能引入额外的计算或系统开销,因此在设计阶段需加以慎重权衡。

来源:机器之心内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯