过去一年里,发生了一连串开源软件遭受供应链攻击的事件,并且态势愈演愈烈。就在最近,甚至发现2个独立的后门漏洞进入了数十万服务器管理员下载的库中。
第一个曝光的后门来自Webmin,这是一个安装量超过100万,基于Web的管理工具。根据Webmin开发人员Jamie Cameron称,去年4月左右,攻击者破坏了用于开发新版本程序的服务器。然后,恶意使用访问权分发了一个后门,导致这个后门被下载超过900,000次,并且可能已被数万个服务器主动使用。
未知的攻击者对名为password_change.cgi的webmin脚本进行了细微更改,此更改让攻击者能够通过特殊URL发送命令,随后,受感染的Webmin服务器将以root权限执行该URL。从2018年6月到上周末,1.890版本下载次数超过421,000次,并在默认情况下启用了后门。在版本1.90,1.91,1.91和1.92上,则有超过942,000多个下载,只有当管理员更改了“允许更改过期密码”的默认设置时,后门才处于活动状态。而sourceforge是此次的主要分发源。
从Shodan搜索引擎收集到的统计数据显示,成千上万的联网服务器运行了这些版本的Webmin,尽管不能排除其中一些服务器运行的Webmin是由Github或其他版本的未经修改的代码构建的,不包括后门的来源。但造成的影响依旧巨大。
RubyGems存储库中的11个库中出现了第二个后门。
根据开发人员Jan Dintel的分析,该后门允许攻击者使用预先选择的凭据在受感染的服务器上远程执行命令。
该恶意软件包括各种其他功能,包括将环境变量(包含用于访问数据库,服务提供商和其他敏感资源的凭据)上传到位于mironanoru.zzz.com.ua的服务器的代码里。甚至于,Rubygems的工作人员还发现其中含有加密货币挖掘代码。总而言之,Rubygems的数据显示,后门库的下载次数已经接近3600次。目前,尚不清楚其余的RubyGems库是如何被感染的。RubyGems工作人员也没有公开回复。
Webmin和RubyGems库的结果都是最新供应链攻击针对开源软件的表现。
大多数人从已知开发人员的官方网站安装软件或更新的时候,不会过多思考。因此,在过去几年,黑客越来越多地利用这种信任,通过源代码来传播恶意软件。
去年10月,发生了一连串的攻击事件,仅在一周之内就发生了2起针对开源项目的供应链攻击。第一个是vestapp控制面板接口,另一个是名为“Colourama”的软件包,它被放入了官方Python存储库。
一个月后,又出现了一个旨在从比特币钱包中窃取资金的恶意代码,拥有200万下载量,被财富500强企业和小型初创企业使用。负责后台软件的开源项目经理说,该恶意代码是针对使用Copay开发的比特币钱包的人而设计的,而Copay只是将该恶意软件的受害者之一。
去年三月,研究人员发现另一个叫做bootstrap-sasswa的的RubyGems库也被置入了后门。历史是惊人地相似,上个月初,一个叫做strong_password.的RubyGems库也发生了类似感染。就像最近发现的感染11个RubyGem项目的事件一样,bootstrap-sass,strong_password后门使用浏览器cookie功能,让攻击者能够在受感染的服务器上执行代码。strong_password后门还与smiley.zzz.com.ua域名进行了互动,而这个域名又与最近攻击中使用的mironanoru.zzz.com.ua非常相似。
事实上,除了开源软件,闭源软件也属于供应链攻击的牺牲品。计算机制造商华硕两次被入侵,恶意更新税务会计软件M.E.Doc导致2017年NotPetya 爆发,以及同年感染了CCleaner的另一个后门,这些事件都可以证明。
为什么针对开源软件/项目的供应链攻击似乎更容易?因为很多公司不会在其庞大的贡献者群体中进行多因素身份验证和代码签名。
Atredis Partners研发副总裁HD Moore表示:“最近的发现表明,这些问题越来越频繁,围绕软件包发布和管理的安全生态系统没有得到足够的改善。可怕的是,这些实例中的每一个都可能导致更多的开发人员帐户受到攻击(通过捕获的密码、授权令牌、API密钥和SSH密钥)。攻击者可能有足够的凭据可以反复执行此操作,直到所有凭据都重置并放置了适当的MFA和签名。”
Moore认为,开源供应链感染的影响通常难以衡量,因为后门应用程序可以被另一个软件包作为上游依赖项包含在内。而默认情况下,依赖管理工具推送最新软件包的方式,使得在后端依赖的情况下成功进行攻击的可能性更大。而开源攻击也会造成很大的损失,因为它们会影响用于执行电子邮件和提供网页等功能的服务器。一旦服务器安装了一个后门应用程序,唯一的办法就是执行一个完整的重建,但这个任务非常繁琐艰巨, 在收到恶意篡改包的100000个或更多系统中肯定会有很多部分被忽略导致重建困难。
Open Crypto Audit项目主管Kenn White说:“如果不彻底重装操作系统和应用程序,以及轮换密钥和凭证,系统将有很大的风险继续受到威胁,但是运营商认为他们可以通过文件差异手动检查系统,并自己进行有效评估。但不得不说,这太天真了。”
*参考来源:arstechnica,kirazhou编译整理,转载请注明来自 FreeBuf.COM