消除神经代码模型中的后门以实现安全代码理解
密码学与安全
2025-02-21 v2 人工智能
软件工程
摘要
神经代码模型(NCMs)已被广泛用于解决各种代码理解任务,如缺陷检测。然而,大量近期研究表明此类模型容易受到后门攻击。被植入后门的NCMs在正常/干净代码片段上表现正常,但在注入对抗者精心构造触发器的投毒代码片段上会表现出对抗者期望的行为,构成重大安全威胁。因此,亟需有效技术来检测并隐蔽地消除NCMs中植入的后门。为解决该问题,本文创新性地提出了一种用于安全代码理解的后门消除技术EliBadCode。EliBadCode通过反转/逆向工程和遗忘后门触发器来消除NCMs中的后门。具体而言,EliBadCode首先根据特定编程语言的命名惯例过滤模型词汇表中的触发词元,以缩小触发器搜索空间并降低成本。随后,EliBadCode引入了一种样本特定的触发器位置识别方法,可减少非后门(对抗性)扰动对后续触发器反转的干扰,从而高效地生成有效的反转后门触发器。后门触发器可被视为后门(对抗性)扰动。随后,EliBadCode采用贪心坐标梯度算法优化反转触发器,并设计触发器锚定方法以纯化反转触发器。最后,EliBadCode通过模型遗忘消除后门。我们在用于三个安全关键代码理解任务的多种NCMs上评估了EliBadCode消除后门的效果。结果表明,EliBadCode能有效消除后门,同时对模型的正常功能产生最小不利影响。
引用
@article{arxiv.2408.04683,
title = {Eliminating Backdoors in Neural Code Models for Secure Code Understanding},
author = {Weisong Sun and Yuchen Chen and Chunrong Fang and Yebo Feng and Yuan Xiao and An Guo and Quanjun Zhang and Yang Liu and Baowen Xu and Zhenyu Chen},
journal= {arXiv preprint arXiv:2408.04683},
year = {2025}
}
备注
Accepted to the 33rd ACM International Conference on the Foundations of Software Engineering (FSE 2025)