比特梵德安全研究人员在周四发布的一份报告中写道,“星际风暴”(Interplanetary Storm)正在利用 P2P 网络、尤其是那些运行 Android 移动操作系统的设备。在被该僵尸网络感染的大约 9000 台设备设备中,还有运行 Linux 和 Darwin 操作系统的节点。幕后攻击者主要借此来创建盈利性的代理服务,以在互联网上隐匿自身的痕迹。
IPStorm 感染设备分布(来自:BitDefender)
BitDefender 研究人员收集到的核心证据,包括作为管理基础架构(其中一部分)的六个专用节点,它们能够:
● 可通过 ping 其它节点来证明可用性的代理后端;
● 可连接至一个代理节点的检查器;
● 可分发扫描和暴力指令的管理器;
● 负责托管 Web API 的后端接口;
● 使用加密密钥验证其它设备、并签署授权消息的节点;
● 以及用于后续拓展的目标开发节点。
此外为了避免在恶意软件的开发测试阶段就被发现,幕后黑手还保持得相当低调。不过 BitDefender 研究人员猜测,这些僵尸网络不仅可以作为代理节点,还可能被用于匿名服务的提供方。
报告截图(来自:BitDefender)
当然,这不是 BitDefender 首次发现此类僵尸网络。因为早在 2008 年,就已经有各种记录在案。有趣的是,这回他们发现的匿名代理,并不是在暗网论坛上发布、而是在“明网”上亮的相。
与我们过去分析过的其它 Golang 恶意软件相比,‘星际风暴’模块之间的相互作用、以及对 libp2p 构造方式的利用,使之显得很有辨识度。
该僵尸网络的幕后威胁操纵者,显然对 Golang 相当精通。一旦运行,代码将会对 IPFS 节点进行初始化,然后启动一系列的轻量级线程。
这些被称作 Goroutines 的线程,又会实现每个主要的子例程。此外除了一些常见的特征,它还会生成一个 2048 位 的 RSA 密钥对,用于 IPFS 节点的唯一标识。
引导过程开启后,受控节点将可被 IPFS 网络上的其它节点访问到。节点之间采用了 lib2p 的通信组件,除了匿名代理服务,还可分享更新用的恶意二进制文件。
(GitHub 截图)
截至目前,BitDefender 已经发现了 100 多次代码修订,意味着 IPStorm 保持着活跃状态,且幕后设计者对其极为看重。
从受感染的大约 9000 台设备类型来看,其中绝大多数都运行着 Android 操作系统,只有大约 1% 为 Linux,以及据说只有一台运行 Darwin 的计算机。
根据操作系统版本和主机 / 用户名来判断,BitDefender 认为路由器、网络附加存储(NAS)、机顶盒、多功能开发板和微控制器(比如树莓派)构成了 IPStorm 僵尸网络的主要部分。
综上所述,对于物联网(IoT)设备用户来说,还请在非必要的情况下切断互联网、更改默认密码、甚至直接禁用远程管理访问端口。