开源软件的供应链是否存在安全风险?

去年发生了一些令人震惊的攻击,这使得开源软件供应链的安全性备受质疑。成千上万的计算机被一个免费的安全软件工具CCleaner故意损坏,同一周内一群黑客向Python Package Index(PyPI)(Python的公共软件包存储库)添加了故意损坏的Python库,这些软件包成功使得企业、政府和军事网站工作的Python程序员中招。

这些攻击发生在臭名昭著的Equifax泄露事件发生后的几个月,Equifax泄露事件利用了开源Java Web框架库。从那以后,很多组织增加了对安全态势的重视程度。Python软件基金会迅速为PyPI添加了黑名单功能,防止任何人更新流行的Python软件包。此外,GitHub开始向RubyGems for Ruby和npm for Javascript中的已知易受攻击库的项目维护人员发出警报,并计划在今年晚些时候为Python添加警报。

那么,这是否意味着开源软件可以安全地再次使用?

答案是不完全是,企业为了更好地保护自己,需要了解开源软件供应链的工作原理,我们生活中几乎所有的设备都包含一个嵌入式开源软件和运行时库的复杂系统。

开源软件的开发任何人都可以创建软件包,任何人都可以使用其他软件包。这种混杂的共享可以提高每个人的工作效率,开发人员可以借用并改进其他人的工作,从而减少必须单独编写的代码量。

不幸的是,要理解别人上传的软件非常困难,人们可能会恶意地改变供应链中的数据包或库。以PyPi为例,攻击者会使用“typosquatting”,他们上传了一个名为“bzip”的库,模仿“bz2file”。很多临时使用库的用户不知道其中的差异,当他们使用修改后的库时,数据包的开发者能够看到这些库的使用。在另一次攻击中,有人简单地提交了现有标准库软件包的新版本,名称相同但是内容是恶意的版本。

让事情变得复杂的原因之一是,普遍的感染往往不是攻击者的动机。以CCleaner为例,超过10万台感染机器只是附带损害,袭击者初始的目标只是大约18家公司,他们需要的只是这些公司使用的一个妥协包。

Python基金会,GitHub和其他公司已经在采取这些类型的漏洞方面采取了重要措施,但企业和开源社区可以做更多的事情来阻止它们。

开源软件的开发任何人都可以创建软件包,任何人都可以使用其他软件包。这种混杂的共享可以提高每个人的工作效率,开发人员可以借用并改进其他人的工作,从而减少必须单独编写的代码量。

企业可以运行自己的私有数据包库,这些库通常由IT组织进行控制和审计。通过这种方式,他们可以控制使用哪些版本的软件包,并且会向正确的服务通知需要解决的安全漏洞。另一种技术是版本固定(version pinning),其中组织将库限制为已知的运行良好的版本。组织必须主动管理版本控制和依赖关系,但有多种工具可用于简化和自动化流程。这可以解决现有软件包的新恶意版本,以及在当前版本中发现主要漏洞的情况下每个人使用新版本的情况。

与此同时,开源社区必须克服对软件包的无限制访问,这是一项艰巨的任务,因为这种访问使得许多这样的社区保持高效和创新能力。安全扫描和软件包署名是商业应用商店(如Apple和Windows)使用的技术,但开源社区难以扩展这些技术。 尽管如此,简单地管理一个软件包库,即使没有署名,也可能是一个有效的保障。

无论你在开源供应链中的角色如何,如果我们要防范未来的攻击,必须对安全性给予更多的关注。安全专业人员通过默默无闻的方式熟悉安全性,他们错误地认为,如果软件很难理解,就很难发起攻击。去年的攻击表明,通过滥交(将开放源代码无管理地纳入软件供应链)带来的不安全感是我们面临的新的问题。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

YH5:Extended RAC 双活解决方案

题记:对于企业关键业务而言,信息系统可靠性是关键。各行业关键 IT系统因为系统故障导致服务中断的事件仍然时有发生,近年来有一些银行 IT 系统,虽然建有两地三中...

4174
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–销售订单处理:自库存销售(109)-2销售订单

销售订单的信用管理检查 信用管理 (108) 在此过程中,已为使用的客户设置了信用限额。 完成该业务情景的业务流程文档 中描述的所有活动:信用管理 (108)。...

4119
来自专栏安恒信息

微软警告Windows XP用户:若不升级永遭zero day攻击

据国外《微电脑世界》(PCWorld)杂志网站报道,一直以来,微软都在不停地提醒、劝导和请求用户,在明年该公司对Windows XP的支持结束之前...

3236
来自专栏FreeBuf

小心!黑客组织KovCoreG正在利用虚假的浏览器和Flash更新来传播恶意软件

近期,安全研究人员发现了一个名叫KovCoreG的黑客组织正在利用伪造的浏览器及Flash更新来欺骗用户安装Kovter恶意软件。 ? 研究人员表示,攻击者使用...

2305
来自专栏ytkah

教你微信图文消息快速添加视频的方法

  最近国防部发布征兵宣传片:军营版《小苹果》的视频很火,好东西不能独享,决定让公众号粉丝也happy一下,怎样在微信图文消息快速添加视频呢?瞧下xmyanke...

3489
来自专栏喵了个咪的博客空间

[喵咪海外部署]海外部署访问技术探索

[喵咪海外部署]海外部署访问技术探索 ? 当一个公司在开展海外业务的时候,对他的技术就有了挑战,因为海外用户访问会遭遇到各种问题(比如网络丢包,延迟高,国内防火...

3757
来自专栏顶级程序员

微软自打脸,Windows 7 再次成为微软的头号桌面操作系统

源 / 开源中国 文 / OSC - 周其 微软官方表示 Windows 10 用户一直在增长,该公司的统计数据显示,该操作系统在 2 月份就超过 6...

2906
来自专栏安智客

GP TEE之安全威胁分析

PP所指的威胁是指用户端阶段产生的,通过软件途径实现的威胁。攻击者是个人或者组织远程或本地访问设备的TEE。当TEE拥有第三方案商的资产设备也会变成了潜在的攻击...

2188
来自专栏iOSDevLog

Apple Developer Program注册时所需的内容

探索 无限可能 针对 Apple 平台进行开发意味着您能够轻松获取最新的 macOS、iOS、watchOS 和 tvOS 技术,这将为您带来无限可能,助您...

1453
来自专栏FreeBuf

网络空间搜索引擎全方位评测

从前有座山,山上有座庙,庙里有个老和尚和小和尚……这个简短无尽的儿童故事是很多人都知晓的,整个故事从开头就定义了空间的概念,让我们能够清楚的知道老和尚和小和尚在...

4218

扫码关注云+社区