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

去年发生了一些令人震惊的攻击,这使得开源软件供应链的安全性备受质疑。成千上万的计算机被一个免费的安全软件工具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 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

TiDB 在二维火餐饮管理实时报表中的实践

作者:二维火架构运维负责人火烧 (花名) 二维火 SaaS 平台介绍 二维火作为餐饮商家管理标准化服务提供商,帮助商家节省经营成本、提升服务效果是我们的使命。在...

2246
来自专栏ImportSource

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发?

来源:知乎 链接:http://www.zhihu.com/question/20303645 为什么很多看起来不是很复杂的网站,比如 Facebook 需要大...

3287
来自专栏Android 开发者

[译] Google Play 控制台指南:Google Play 控制台能为你做的都不仅仅是发布应用这么简单而已

3773
来自专栏杨建荣的学习笔记

运维建设的方向和思路

今天和同事聊需求的时候,突然发现目前我们在做的一些系统,其实他感觉有些迷茫,主要就是一个建设的思路和方向这一块,我想了下,也确实,目前来看,其实系统的功能初期避...

782
来自专栏顶级程序员

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发?

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发? 阿里巴巴员工2万,百度技术人员超过6000,京东也有三四千攻城狮。 子柳: 就拿淘宝来说说...

3808
来自专栏進无尽的文章

什么才是优秀的网站用户界面设计

732
来自专栏FreeBuf

新加坡新保集团(SingHealth)网络攻击事件的可疑线索分析

近期,安全公司 Trustwave 旗下 SpiderLabs 实验室发现了可能与新加坡新保集团(SingHealth)网络攻击相关的一些信息线索,在前一篇文章...

542
来自专栏SDNLAB

SDN之路从SD-WAN开始

SD-WAN就像一个智能的广域网加速器,它能够集中控制多个网络路径中的广域网流量,包括MPLS、VPN网络、蜂窝数据服务LTE(如下图)。SD-WAN控制器使得...

3457
来自专栏PingCAP的专栏

TiDB 在 Mobikok 广告系统中的应用和实践

Mobikok(可可网络)成立于 2013 年,是一家快速成长的移动互联网营销公司,专注于移动 eCPM 营销。总部在中国深圳,聚焦于订阅 offer 的海外流...

3955
来自专栏服务资源

工程师学习网站资料

    1. http://www.haorooms.com/ [Haorooms博客-前端博客-前端技术,记录web前端开发的技术博客];

1668

扫码关注云+社区