当前位置: 首页 > 行业动态行业动态

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

发布时间:2018-06-14 16:22:37点击量:

去年发生了一些令人震惊的攻击,这使得开源软件供应链的安全性备受质疑。成千上万的计算机被一个免费的安全软件工具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和其他公司已经在采取这些类型的漏洞方面采取了重要措施,但企业和开源社区可以做更多的事情来阻止它们。

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


地址:东莞市长安镇复兴路36号长发博腾产业园6号楼707室  电话:135 3529 4062  手机:135 3529 4062
Copyright © 2012-2021 东莞市汉盛工业科技有限公司 版权所有