RubyGems软件包存储库的维护者已经破解了18个包含后门机制的11个Ruby库的恶意版本,并且被捕获插入代码,这些代码在其他人的Ruby项目中启动了隐藏的加密货币挖掘操作。
恶意代码是昨天在四个版本的rest-client 中首次发现的,这是一个非常流行的Ruby库。
根据荷兰Ruby开发人员Jan Dintel的分析,在rest-client中发现的恶意代码会收集并将受感染系统的URL和环境变量发送到乌克兰的远程服务器。
“根据您的设置,这可能包括您使用的服务凭证,例如数据库,支付服务提供商,”Dintel说。
该代码还包含一个后门机制,允许攻击者将cookie文件发送回受感染的项目,并允许攻击者执行恶意命令。
一个随后的调查由RubyGems的工作人员发现,这种机制被滥用插入cryptocurrency采矿代码。RubyGems的工作人员还在其他10个项目中发现了类似的代码:
rest-client: 1.6.10(自2019年8月13日起下载176次),1.6.11(自2019年8月14日起下载2次),1.6.12(自2019年8月14日起下载3次)和1.6.13 (自2019年8月14日起已下载1,061次)
bitcoin_vanity: 4.3.3(自2019年5月12日起已下载8次)
lita_coin: 0.0.3(自2019年7月17日起下载210次)
即将推出: 0.2.8(已下载211次)次自2019年7月17日)
omniauth_amazon: 1.0.1(193周下载时间,因为2019年7月26日)
cron_parser:自2019年7月8日0.1.4(自2019年7月8日)下载2倍,1.0.12(下载3次)和1.0.13(自2019年7月8日起下载248次)
coin_base:4.2.1(自2019年7月9日起下载206次)和4.2.2(自2019年7月16日起下载218次)blockchain_wallet
: 0.0.6(自2019年7月10日起下载201次)和0.0.7(下载222次)自2019年7月16日起,
awesome-bot: 1.18.0(自2019年7月15日起下载232次)
doge-coin: 1.0.2(自2019年7月17日起下载213次)
capistrano-colors: 0.5.5(已下载175时间自2019年8月1日)
除了rest-client之外的所有库都是通过使用另一个功能齐全的库,添加恶意代码,然后以新名称在RubyGems上重新上传来创建的。
这个计划背后的个人活跃了一个多月,他们的行为没有被发现。
当黑客设法访问其中一个其他客户端开发人员的RubyGems帐户时,事情发生了变化,他曾经在RubyGems上推送了四个恶意版本的rest-client。
然而,通过瞄准这样一个在RubyGems上总下载量超过1.13亿的备受瞩目的项目,黑客也为他们的操作带来了很多亮点,在用户首次发现恶意代码后的几个小时内就被删除了。 - 客户图书馆。
总而言之,所有18个恶意库版本在从RubyGems中删除之前只能累积3,584次下载。
建议在依赖关系树中依赖这些库的项目删除或升级/降级到安全版本。
另外值得注意的是,接受cookie和eval运行的后门机制与先前在其他两个项目中发现的类似机制非常相似,即2019年4月的Bootstrap-Sass和2019年7月的strong_password。但是,这三个尝试后门Ruby库之间尚未建立任何联系。