这位前Apache Maven椅子说,麻烦的遗产方法的持久性更大。

访谈:Sonatype在DevSecops上的Brian Fox和开源安全挑战

Sonatype成立于2008年,通过其旗舰开源存储库管理器Nexus存储库以及其他众多其他软件开发工具来推广DevSecops范式。

从在线整天的Devops会议DevSecops社区软件供应链报道,该公司还领导了克服应用程序开发障碍的对话。

该公司的联合创始人兼首席技术官布莱恩·福克斯(Brian Fox)一直是Sonatype成功的关键人物,并促进了全球数百万开发人员对DevSecops实践的采用和优化。

在这次采访中,这位前阿帕奇·马文(Apache Maven)椅子谈到了繁琐的遗产方法的持久性比以往任何时候都更加问题,恶意演员越来越多地针对申请,在利用方面变得更快漏洞,并在开源库中种植恶意组件。


自您创建Sonatype以来,组织是否在安全管理开源组件方面变得更加有效?

布莱恩·福克斯:在早期,人们甚至都不知道[风险]。开发人员会说他们有防火墙,他们的安全团队将进行静态代码扫描,而不会意识到他们缺少开源[组件]。

遗产方法并不适合处理新问题。但是,许多公司仍然没有所使用的所有开源组件的列表。因此,当事情发生时,他们无法回答简单的问题:我受到影响吗?如果是这样,何时何地?如何跟踪补救措施?

当您的汽车有问题时,我们希望制造商知道其中的所有零件,并能够召回受影响的车辆。但是软件没有相同水平的尽职调查。

布莱恩·福克斯(Brian Fox),索纳特

布莱恩·福克斯


您为什么认为组织坚持使用这些遗产方法?

BF:有几个问题。技术领导者在开源二进制可重复使用性之前砍了牙,因此心理模型是:“我的开发人员正在编写代码,因此我需要遵守该代码并使其变得更好”。

这忽略了风险开源和第三方依赖性。

我们看到的另一个挑战是事实后的安全团队运行扫描,当他们检测到[问题]时,它已经被烘烤到了产品中。

开发团队正试图尽可能快地走,因为创新是国王,然后安全人员稍后出现,以举起一切。

随着安全和发展,仍然存在这种部落的“我们与他们”的心态。

如果[安全团队]告诉我我必须去更换该组件,那么我们迟到了六个星期是他们的错。我认为,它阻止了组织的武器[问题]。


快速,创新,安全的应用程序开发的最佳实践方法是什么样的?

BF:Etsy模型快速推动许多版本意味着您可以快速修复记忆泄漏之类的错误。

然后安全漏洞看起来像常规错误修复。不必有任何戏剧。“也许我们无法证明这是可以利用的,但这很危险。让我们更新,因为无论如何更新都很容易。”

双方获胜。

但是,如果您试图维护孤岛和传统批准流程,人们会收取它并专注于技术[而不是过程]。

就像,我将如何自动化我的构建?我将如何自动化部署?然后法律[仍然想要]为期六周的批准,或者最终出现了安全性,它炸毁了整个DevOps流程。

因此,您需要自动化这些政策,以实现真正的Devops或连续交付方法的承诺。

合法的团队,安全团队,开发人员 - 他们都具有重要的功能。因此,让我们弄清楚每个人如何实现自己的目标。


新加坡的索纳特型新加坡DevSeccon的Sonatype团队


Nexus旨在改进哪种繁琐的开源过程?

BF:关系非常被认为是DEV的唯一工具,但是随着DevOps的出现,容器变成了东西,它被推入连续交付[模型],而利基市场变得更加主流。

在2007年至2012年之间,大公司将拥有一个大型的手动工作流程和块开源组件,与决定搬到Linux或OpenOffice的过程相同。

最终效果是该公司真的很擅长阻止开发人员参与这一过程,并无意中损害了创新,或者不是他们,无论如何没有人遵循该过程。

不可能保持开发速度并不断吸引所有这些新组件。

许多人仍在使用支柱1因为它在他们批准的清单上,并且要获得新事物的批准太多了。因此,旨在使事情变得更安全的工作流程无意中激励了错误的行为,现在它们被困在一个没有更新的10年历史的框架上。


几个组织是最近攻击了在公开披露基础设施自动化平台Saltstack公开披露安全缺陷的几天之内。这告诉我们有关公开披露的危险的信息?

BF:早在2006年,从脆弱性披露到主动违规的45天。

然后equifax[2017年]这是三天。零日披露发生了,Apache项目将其修复并宣布 - 他们做了所有正确的事情。但是随后公司升级不够快。

坏人可以比许多公司能够解决问题更快地扭转漏洞。

我认为Saltstack只是相同模式的最新复制。软件中发生漏洞。我们将犯错误。

Saltstack预先宣布漏洞即将到来,面向互联网的实例应被锁定。我敢肯定,这是关于如何处理这种沟通的艰难决定。

一方面,您可能会向坏人伸出手,但另一方面,通过简单地使他们的东西不可用的东西[组织]可以避开漏洞。


阅读更多最新的开源软件安全新闻


我敢肯定,那里可能还有[Saltstack用户]尚未收到消息。

用户习惯了采购模型,他们从公司购买此产品,并希望他们提供更新。但是,他们通常也有成千上万的开源组件,他们不考虑同一过程。

最近,坏人也开始自己创造问题,使用打字以及发布恶意操作系统的其他技术。

它变得越来越复杂。在某些情况下,他们正在选择目标,弄清楚他们依靠哪些项目,然后社会工程学他们的方式创建恶意代码。

一旦有效载荷交付,他们就能掩盖自己的轨道。

如果安全人员在剪辑发布时在流程的结尾处扮演检查员警察,为时已晚,因为您的开发人员和开发基础架构现在已成为目标。

因此,您需要了解所使用的内容,做出这些好选择,然后快速扭转响应。


Sonatype的布莱恩·福克斯(Brian Fox)在开发阶段的后期进行扫描可能意味着安全问题已经被烘烤到产品中


行业如何打击恶意开源组件的出现?

BF:因此,从开源的角度来看,我们正在研究一个特定项目的历史。谁在做发布和何时?哪些类型的依赖性变化在任何时候都是典型的?

为什么一个受欢迎的项目会堵塞一个随机的车库带依赖性,而其他人都在他们的项目中使用?

如果某些东西脱离了规范,我们有临时或永久停止下载的工具。

实际上,更改本身可能不是恶意的,但是熵更高,因此采用该组件的风险更大。

如果这个家伙以前从未发布过[组件],那么他搞砸了一些东西的机会比完成了最后50个发行版的人要高得多。

您不必将安全维度视为成本中心。您需要一些防护栏,但是如果您聪明地进行操作,可以制作更好的软件,更快 - [如果有安全缺陷],则可以更快地扭转它。

每个人都赢了,但没有足够的人以这种方式考虑问题。这仍然是我的预算与您的预算。开发人员想要一种工具,安全需要一个工具 - 他们正在为它而战,对吗?


近年来,攻击者的战术如何发展?

BF:随着开源变得越来越普遍,坏人开始认识到“针对常见模式失败”的[奖励]:“每个人都在使用此组件,因此,如果我能找到一个脆弱性,那么我是金色的。”

例如,如果他们弄清楚如何攻击Struts,那么他们可以使用Google使用Strut搜索任何人,因为这些模式在URL中是可识别的。

您可以使自己获得攻击列表并非常容易地自动化,从而改变了攻击模型。而且由于人们在外围防御方面变得更好,所以[2016] Verizon报告表明攻击是转向攻击Web应用程序beplay体育能用吗,因为所有这些失败都存在。

这些新攻击还利用了人们在新版本时会自动更新的事实。

因此,从使用已知攻击来打破未知代码,打破已知代码并找到一大堆未知的人来攻击的进化。

国防部正在受到最终被遭受Equifax入侵的相同利用。似乎有人只是针对一切。


阅读更多Shodan创始人John Matherly在物联网安全和双重用途黑客工具上