中文

代码中的不可意图的安全漏洞:基于根本原因分析的自动化防御

软件工程 2024-09-05 v1 密码学与安全 机器学习

摘要

软件安全始终是关键关切,尤其是当初级开发者——常缺乏全面安全实践知识——贡献于代码库时。虽然有工具可帮助开发者主动编写安全代码,但其实际效果在帮助开发者修复漏洞代码方面仍 largely 未被衡量。此外,这些方法通常侧重于对漏洞进行分类和定位,而未凸显问题根本原因的代码片段——这一点对于寻求修复漏洞的开发者而言至关重要。为此,我们进行了全面研究,评估现有方法在帮助初级开发者加固代码方面的效能。我们的发现表明,在五类安全漏洞类型下,现有工具仅使开发者加固了36.2%的漏洞代码。问卷结果进一步表明,未能识别漏洞根本原因的代码是开发者修复漏洞代码的主要挑战之一。基于这些洞见,我们开发了一个自动化漏洞根本原因(RC)工具包,称为T5-RCGCN,它结合了T5语言模型嵌入和图卷积网络(GCN),用于漏洞分类和定位。此外,我们集成了DeepLiftSHAP来识别漏洞的根本原因代码片段。我们在三个数据集上测试了T5-RCGCN,涉及56名初级开发者,结果显示其代码安全性较以前的方法提升了28.9%。使用该工具的开发者也获得了更深入的对漏洞根本原因的理解,独立加固代码能力提升了17.0%。这些结果表明,该工具既有潜力实现即时安全增强,也有助于长期开发者技能培养。

关键词

引用

@article{arxiv.2409.00199,
  title  = {Unintentional Security Flaws in Code: Automated Defense via Root Cause Analysis},
  author = {Nafis Tanveer Islam and Mazal Bethany and Dylan Manuel and Murtuza Jadliwala and Peyman Najafirad},
  journal= {arXiv preprint arXiv:2409.00199},
  year   = {2024}
}