JOURNAL OF IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL.14, NO.8, SEPTEMBER 2022

Stealthy Backdoor Attack for Code Models

Zhou Yang, Bowen Xu, Jie M. Zhang, Hong Jin Kang, Jieke Shi, Junda He, and David Lo Fellow, IEEE

研究背景与动机

代码模型(如CodeBERT、CodeT5等)在自动化软件工程任务中发挥着关键作用,但近年研究发现它们易受后门攻击。传统后门攻击使用固定或语法触发器,这些触发器容易被检测,导致攻击威胁有限。论文指出,​后门攻击的威胁程度主要取决于触发器的隐蔽性。然而,现有隐蔽后门攻击技术要么适用于连续输入(如图像),要么不满足代码语义保持的要求,无法直接应用于代码模型。因此,本文旨在探索代码模型在隐蔽后门攻击下的脆弱性,并提出一种新型隐蔽后门攻击方法AFRAIDOOR(Adversarial Feature as Adaptive Backdoor),以评估其对代码模型的威胁。研究动机包括:

  • 现有触发器(如固定触发器和语法触发器)易于被检测,模型开发者可通过防御方法(如净化训练数据)避免后门植入。

  • 隐蔽触发器能绕过自动化防御和人工审查,从而对代码模型构成更严重的威胁。

  • 目前尚不清楚隐蔽后门攻击对代码模型的具体影响,亟需系统评估。

论文核心方法和步骤

AFRAIDOOR通过以下策略实现隐蔽性:

  1. 使用标识符重命名作为触发器​:相比块级操作(如插入死代码),标识符重命名是更细粒度的令牌级操作,不易被察觉。

  2. 生成自适应触发器​:针对不同输入,在不同位置注入不同的触发器,避免触发器聚集分布,从而降低检测概率。

方法步骤​:

  • 步骤1:训练crafting model​:在干净数据集上训练一个简单的seq2seq模型(如2层LSTM),作为对抗攻击的目标模型。

  • 步骤2:生成对抗扰动​:通过目标攻击算法(Algorithm 1)生成对抗性特征作为触发器。具体流程包括:

    • 提取代码的程序框架(program sketch)和标识符。

    • 计算损失函数 L(y,τ)的梯度,其中 y为模型预测,τ为攻击目标标签。

    • 根据梯度更新标识符,生成对抗性替换。公式化目标为:

      Imin​L(C(I(x)),τ)

      其中 I(⋅)为触发器插入器。

  • 步骤3:植入后门​:将生成的触发器注入训练数据,并更新标签为 τ,构建污染数据集。训练后门模型 Mb​时,目标函数为:

    θmin​(x,y)∈Dc​∑​L(Mb​(x),y)+(x,τ)∈Dp​∑​L(Mb​(I(x)),τ)

    其中 Dc​和 Dp​分别表示干净和污染数据。

  • 步骤4:激活后门​:攻击者通过向部署的模型输入带触发器的代码,触发预定义恶意输出。

实验结果与结论

实验在三个代码模型(CodeBERT、PLBART、CodeT5)和两个下游任务(代码摘要和方法名预测)上评估AFRAIDOOR,并与基线方法(固定触发器和语法触发器)对比。关键发现如下:

  • 隐蔽性(RQ1)​​:

    • 对抗自动化防御:AFRAIDOOR在频谱签名防御下的检测成功率(DSR@1)仅为1.42%(代码摘要)和29.81%(方法名预测),而基线方法均高于74%。在ONION防御下,AFRAIDOOR的触发器检测率(TDR@1)为13.22%,远低于基线(21.33%和41.58%)。激活聚类防御对所有方法均无效。

    • 对抗人工检测(RQ2):用户研究中,参与者检测AFRAIDOOR污染样本的平均时间(126分钟)显著长于基线(44-67分钟),检测率仅4.45%(基线为88.89%-100%),且误报率更高。

  • 攻击成功率(RQ3)​​:

    • 无防御时,AFRAIDOOR攻击成功率(ASR)达95%-98%,略低于基线(100%),但牺牲部分攻击力以换取隐蔽性。

    • 有防御时(如频谱签名),AFRAIDOOR的ASR仅下降至77.05%-92.98%,而基线骤降至10.47%-12.06%。ONION防御对AFRAIDOOR影响有限(DSR@k始终低于20%),但能有效防御基线。

  • 对模型性能的影响(RQ4)​​:AFRAIDOOR对模型在干净样本上的性能(BLEU分数)影响轻微(平均下降0.18),与基线无显著差异,表明其不会引起模型性能退化。

结论​:

  • AFRAIDOOR是首个针对代码模型的隐蔽后门攻击方法,能有效绕过现有防御机制。

  • 代码模型在隐蔽后门攻击下面临严重安全威胁,当前防御方法(如频谱签名、ONION)不足以为其提供充分保护。

  • 研究呼吁社区关注代码模型安全,开发更强大的防御措施。


http://example.com/posts/77.html
作者
司马吴空
发布于
2026年3月30日
许可协议