关于程序切片在代码检查过程中检测漏洞的效果.
Aurora Papotti1, Katja Tuma1, Fabio Massacci1,2
1Foundational Security, Afdeling Informatica, Vrije Universiteit, Amsterdam, NL the Netherlands.
概括
故障本地化切片有助于开发人员找到安全漏洞. 方法级切片有助于识别易受攻击的代码区域,提高检测率,特别是在考虑一个小的上下文窗口时.
科学领域:
- 软件工程 软件工程 软件工程
- 网络安全 网络安全
- 实证软件工程 实证软件工程
背景情况:
- 像切片这样的故障定位技术对于调试和程序理解至关重要.
- 在人类代码检查中切片用于漏洞检测的实证有效性仍未得到充分探索.
- 现有的研究缺乏在代码审查过程中正确识别的漏洞线的明确定义.
研究的目的:
- 定义准确识别代码中的脆弱行的标准.
- 调查方法级切片是否提高了代码审查员检测安全漏洞的能力.
- 评估切片对软件漏洞检测有效性的影响.
主要方法:
- 提出了一种新的方法,使用 δ-邻域 (上下文大小) 定义正确识别的线条.
- 一个多年的受控实验 (2017-2023) 涉及236名士学生在安全课程.
- 参与者在Apache Tomcat的原始或切片的Java文件中发现了漏洞,使用程序内细切片来减少代码审查.
主要成果:
- 切片显著增加了参与者发现"一些东西" (任何易受伤害的线条) 与"什么都没有"的可能性.
- 对于精确的线条匹配 (δ=0),切片对那些发现漏洞的原始文件分析没有统计上的优势.
- 在更广泛的背景下 (δ=3),与分析原始文件相比,切片改进了漏洞检测.
结论:
- 方法级切片对于改善在代码检查期间检测安全漏洞的效果是有益的.
- 切片的有效性取决于上下文,更大的社区大小 (δ=3) 会产生更好的结果.
- 需要与经验丰富的开发人员进行进一步的研究来概括这些发现.


