基于约束的软件多样化策略,有效缓解代码重用攻击
使用大规模预训练的自然语言模型,通过迁移学习,将人类的常见知识融入到现有的基于学习的汇编克隆搜索方法中,以应对未知架构和库的汇编克隆搜索问题。通过引入强化学习代理,并结合新的变分信息瓶颈学习策略,该方法能够减少对架构和优化设置的潜在指标的依赖,从而更好地处理未知架构的情况。实验结果表明,该方法对抗最先进的解决方案的有效性。
Jul, 2023
大型语言模型(LLMs)在代码生成方面取得了显著进展,但它们的训练使用了来自开源代码库(如GitHub)的未经筛选的数据,存在意外传播安全漏洞的风险。为了有效地减轻这一问题,本文从软件安全的角度对代码LLMs进行了全面研究,并提出了SecuCoGen数据集,用于评估和增强代码LLMs的安全性能。研究结果发现,现有模型在代码生成中经常忽视安全问题,提出了有效的方法来解决安全漏洞,并提高代码的整体稳健性。此外,研究还发现现有模型在修复漏洞代码方面存在问题,并且某些漏洞类型对模型构成挑战。基于这些发现,我们相信本研究将对软件工程社区产生积极影响,激发改进LLMs训练和使用方法的开发,从而实现更安全、更可信的模型部署。
Oct, 2023
该研究分析了深度学习框架中的代码克隆现象的演化特征,包括长期演化趋势、短期克隆模式以及框架间的代码克隆。研究结果揭示了深度学习框架中存在四种不同的克隆演化趋势,并探讨了克隆对bug修复活动的影响。此外,研究还发现了不同框架之间存在功能和架构适应性的文件级别的代码克隆。研究结果为深度学习框架的可靠克隆实践和协同维护提供了启示。
Apr, 2024
通过引入新的基准CodeGuard+和两个新的度量标准secure-pass@k和secure@$k_{ ext{pass}}$,本文展示了Code Large Language Models在生成安全和正确代码方面的能力,并指出了一种新的防御方向:约束解码技术,可以同时满足安全性和正确性要求。
Apr, 2024
通过将恶意负载直接整合到源代码中以最小化转换,CodeBreaker在源代码完成方面挑战了当前的安全措施,强调了对代码完成更强大的防御的紧迫需求。
Jun, 2024
大语言模型在代码优化方面展示出强大的能力,通过将优化对构建成面向问题的方法,结合不同程序员对同一问题的巧妙思路,实验证明了适应面向问题的优化对能显著提升大语言模型的优化能力,进一步通过模型合并解决性能瓶颈,达到了新的高水平。
Jun, 2024
本研究解决了现有软件安全漏洞数据集小、更新繁琐以及缺乏关键特征的问题。提出了ARVO,一个自动化更新的可复现漏洞数据集,通过对Google OSS-Fuzz发现的C/C++项目的漏洞进行复现,提供了超过5000个内存漏洞的详细信息。研究表明,ARVO在精确定位修复方面优于Google的OSV复现工作,并在未来研究中展现了其价值。
Aug, 2024
本研究解决了大语言模型生成代码中存在的严重安全漏洞问题。提出的HexaCoder方法通过自动合成安全代码,显著降低了寻找合适训练数据的工作量,并通过引导数据合成和双步骤生成过程,成功将生成的易受攻击代码减少了高达85%。该研究的成果不仅提高了生成代码的安全性,还确保了功能上的正确性。
Sep, 2024