RubyGems 软件包存储库的维护者近期移除了 11 个 Ruby 库中出现的 18 个恶意版本,这些版本包含了后门机制,可以在使用 Ruby 时启动加密货币挖掘程序。恶意代码最初发现于 4 个版本的 rest-client 库中,rest-client 是一个非常流行的 Ruby 库。
这些库中的恶意代码会将受感染系统的 URL 和环境变量发送到乌克兰的远程服务器。同时代码还包含一个后门机制,允许攻击者将 cookie 文件发送回受感染对象,并允许攻击者执行恶意命令。研究者调查后发现,这种机制被用于挖矿。
除了 rest-client,还有其它 10 个 Ruby 库也中招,但它们都是通过使用另一个功能齐全的库添加恶意代码,然后以新名称在 RubyGems 上重新上传而创建的。
研究人员分别统计了这些恶意版本在被移除前被下载的次数,一共被下载了三千多次,其中 rest-client 1.6.13 被下载了一千多次:
rest-client:1.6.10(下载 176 次),1.6.11(下载 2 次),1.6.12(下载 3 次)和 1.6.13 (下载 1061 次)
bitcoin_vanity:4.3.3(下载 8 次)
lita_coin:0.0.3(下载 210 次)
即将推出:0.2.8(下载211次)
omniauth_amazon:1.0.1(下载 193 次)
cron_parser:0.1.4(下载 2 次),1.0.12(下载 3 次) )和 1.0.13(下载 248 次)
coin_base:4.2.1(下载 206 次)和 4.2.2(下载 218 次)
blockchain_wallet:0.0.6(下载 201 次)和 0.0.7(下载 222 次)
awesome-bot:1.18.0(下载 232 次)
doge-coin:1.0.2(下载 213 次)
capistrano-colors:0.5.5(下载 175 次)
安全起见,建议在依赖关系树中删除这些库版本,或者升级/降级到安全版本,详情查看:
https://www.zdnet.com/article/backdoor-code-found-in-11-ruby-librarie