Skip to main content
QUICK REVIEW

[论文解读] STRATA: Building Robustness with a Simple Method for Generating Black-box Adversarial Attacks for Models of Code.

Jacob M. Springer, Bryn Marie Reinstadler|arXiv (Cornell University)|Sep 28, 2020
Adversarial Robustness in Machine Learning参考文献 40被引用 4
一句话总结

本文提出STRATA,一种简单高效的黑盒方法,用于在代码模型中生成保持语义意义的对抗性样本。该方法在计算成本更低的情况下,优于基于梯度的方法,并通过对抗性训练实现模型鲁棒性,使code2seq的F1分数在攻击后降低42%,并通过防御手段恢复至基线的99%。

ABSTRACT

Adversarial examples are imperceptible perturbations in the input to a neural model that result in misclassification. Generating adversarial examples for source code poses an additional challenge compared to the domains of images and natural language, because source code perturbations must adhere to strict semantic guidelines so the resulting programs retain the functional meaning of the code. We propose a simple and efficient black-box method for generating state-of-the-art adversarial examples on models of code. Our method generates untargeted and targeted attacks, and empirically outperforms competing gradient-based methods with less information and less computational effort. We also use adversarial training to construct a model robust to these attacks; our attack reduces the F1 score of code2seq by 42%. Adversarial training brings the F1 score on adversarial examples up to 99% of baseline.

研究动机与目标

  • 解决在代码模型中生成保持功能语义的对抗性样本并规避检测的挑战。
  • 开发一种仅需极少模型信息和计算资源的黑盒攻击方法。
  • 通过有效的对抗性训练,提升模型对对抗性样本的鲁棒性。
  • 在真实世界代码模型场景中评估攻击与防御的有效性。

提出的方法

  • STRATA通过在源代码上应用微小且语义有效的扰动来生成对抗性样本,同时保持原始程序的功能不变。
  • 该方法在黑盒设置下运行,仅需模型预测结果,无需访问目标模型的梯度信息。
  • 它采用基于搜索的方法,对语法和语义代码变换进行探索,以找到导致误分类的扰动。
  • 该攻击支持无目标和有目标两种变体,可灵活评估模型的鲁棒性。
  • 利用生成的对抗性样本进行对抗性训练,以微调模型并提升其抗干扰能力。
  • 该方法设计高效,最大限度降低计算开销,同时最大化攻击成功率。

实验结果

研究问题

  • RQ1能否为代码模型设计一种黑盒对抗性攻击方法,在保持语义正确性的同时实现高成功率?
  • RQ2与基于梯度的方法相比,该方法在攻击效果和计算成本方面表现如何?
  • RQ3通过对抗性训练,能在多大程度上防御该攻击对代码模型的影响?
  • RQ4该攻击对模型性能有何影响,以及通过防御手段能在多大程度上恢复模型鲁棒性?

主要发现

  • STRATA在代码模型上实现了最先进的攻击性能,且计算开销显著低于基于梯度的方法。
  • 该攻击使code2seq模型在对抗性样本上的F1分数降低42%,证明了其高攻击有效性。
  • 使用STRATA生成的对抗性样本进行对抗性训练,可使模型的F1分数恢复至原始基线的99%。
  • 该方法在无目标和有目标攻击场景中均表现有效,显示出广泛适用性。
  • 尽管受到代码的语义约束,该攻击仍保持有效性,证明了其鲁棒性和实用性。
  • 通过对抗性训练实现的防御在保持高模型准确率的同时,显著提升了对对抗性输入的鲁棒性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。