自动化散装拉力请求生成ftw
研究人员正在试用方法,以扩大针对整个脆弱组件的安全修复的能力开源生态圈。
工具,例如codeql(GitHub的代码查询语言)启用扫描数十万个开源软件项目的漏洞。
这些实用程序可用于系统地识别基本安全缺陷- 具有相对简单修复的常见错误 - 在GitHub和类似平台上托管的项目中。
这样的低洼错误是Legion且直接找到和修复,因此对于那些寻求增强安全性的人来说,真正的困难来自分类,报告和修复所涉及的困难。
安全研究人员乔纳森·莱茨(Jonathan Leitschuh)没有自动化错误报告的创建,这很容易为开源项目的维护者带来额外的负担,而是在帮助定义和测试一种方法,以部分自动化拉力请求。
在最近在拉斯维加斯的Bsides首次进行的一系列会谈中,然后在上个月的DEF CON期间,Leitschuh概述了一种自动化散装拉力请求生成的方法。演讲的标题为“扩大安全研究人员以一劳永逸地消除OSS漏洞”。
人为因素
Leitschuh是人类安全的首届Dan Kaminsky研究员,已进行了一项研究项目,其中涉及创建工具和技术以将开发软件的安全修复程序的开发进行工业化。
如果使用广泛使用,该方法将意味着,如果发现多个项目使用的组件是脆弱的,则将迅速向维护者提供解决问题的拉动请求。
Leitschuh和他的同事们开始使用Python脚本开始,以提出许多拉动请求,以使所谓的开放源代码项目很容易受到影响“拉链滑动”脆弱性。
最近,他们完善了这种方法来利用OpenRewrite(Netflix在Netflix创建的,现在由Moderne开发)。
推荐的“安全团队经常与开发人员抗衡” AppSec:Tanya Janca驾驶DevSecops采用
总共,Leitschuh使用了他的演讲中描述的技术来创建针对ZIP滑移(JVM生态系统中的脆弱性)的590个自动拉动请求和其他两个漏洞(部分路径遍历和临时目录劫持)。这些使他的职业生涯总共提出了5,200。
Leitschuh告诉每日swbeplay2018官网ig项目维护人员对接收自动拉的请求的反馈意见混杂。
“我得到的反馈意见混杂。研究人员解释说,许多值得称赞的维护者和一些维护者感到不安。”
“詹金斯团队直接要求我不要针对他们的组织发出[拉的请求]。”
“启发性”后续研究
自动拉请求方法省略了单位测试软件开发人员想查看验证建议对其代码基础的修改避免破坏任何功能。此外,自动化方法意味着公开进行披露 - 在某些但不是全部的Bug Bounty计划下的资格问题。
Leitschuh表示,尽管存在这些潜在的缺点,但安全研究人员对自动拉力请求方法的反馈在很大程度上是积极的。
研究人员得出结论:“其他安全研究人员的回应通常是非常积极的。何时提出这个想法的价值主张非常容易看到。我也启发了一些人自己的工作。”