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