大规模修补常见漏洞:项目承诺批量拉取请求

研究人员正在尝试一些方法,以扩大在开源生态圈中为易受攻击的组件推出安全修复程序的能力。CodeQL(GitHub的代码查询语言)等工具可以扫描数十万个开源软件项目的漏洞。这些实用程序可用于系统地识别托管在GitHub和类似平台上的项目中的基本安全漏洞——具有相对简单修复的常见错误。

此类低级漏洞数量众多且易于查找和修复,因此对于那些寻求增强安全性的人来说,真正的困难来自于分类、报告和修复所涉及的困难。

安全研究员Jonathan Leitschuh不是自动创建错误报告,这可能很容易给开源项目的维护者带来额外的负担,而是帮助定义和测试一种方法,以部分自动化大规模的拉取请求。

在最近在BSides Las Vegas和上个月在DEF CON上进行的一系列会谈中,Leitschuh概述了一种自动生成批量拉取请求的方法。演讲的题目是“扩大安全研究人员的规模以一劳永逸地消除OSS漏洞”。

https://www.youtube.com/watch?v=VMGeZd66qnE

Leitschuh是HUMAN Security的首任Dan Kaminsky研究员,他开展了一项研究项目,该项目涉及创建工具和技术,以将开源软件的安全修复开发工业化。

如果广泛使用,该方法将意味着如果发现多个项目使用的组件易受攻击,则将立即向保护维护者提供修补问题的拉取请求。

Leitschuh和他的同事开始使用Python脚本向开源项目发出许多拉取请求,这些项目发现容易受到所谓的“Zip Slip”漏洞的影响。

最近,他们改进了这种方法以利用OpenRewrite(一种在Netflix创建的保留样式的重构工具,现在由Moderne开发)。

总的来说,Leitschuh使用他的演讲中描述的技术创建了590个针对Zip Slip(JVM生态系统中的漏洞)和其他两个漏洞(部分路径遍历和临时目录劫持)的自动拉取请求。这些使他职业生涯的拉取请求总数达到5200个。

Leitschuh说,项目维护人员关于接收自动拉取请求的反馈参差不齐。

“我得到的反馈参差不齐。很多赞赏的维护者,还有一些维护者[感到]不安,”研究人员解释说。

“Jenkins团队直接要求我不要针对他们的组织发出[pull requests]。”

自动拉取请求方法省略了软件开发人员希望看到的单元测试,以验证对其代码库的建议修改避免破坏任何功能。此外,自动化方法意味着公开进行披露——这是一些但不是所有漏洞赏金计划的资格问题。

Leitschuh表示,尽管存在这些潜在的缺点,但安全研究人员对自动拉取请求方法的反馈在很大程度上是积极的。

研究人员总结道:“其他安全研究人员的反应[一直]普遍非常积极。当提出想法时,价值主张很容易看到。我也启发了一些人为自己的工作自己进行这项研究。”

发表评论

评论已关闭。

相关文章