比特币和其他加密货币越来越受欢迎,引发了安全专家的好奇和担忧。人们发现越来越多的挖矿病毒,这些病毒通常通过僵尸网络安装。作为公司,有必要知道这其中的风险和如何防范。
我们联系了Cato Networks的安全研究人员。 Cato提供了一个基于云的SD-WAN,包括FireWall即服务(FWaaS)。其研究团队Cato Research Labs负责维护该公司的Cloud IPS,并且最近发布了一个挖掘池地址列表,您可以把它们添加到防火墙黑名单。
Cato研究实验室认为,挖矿病毒对公司组织来说是中等威胁。但不太可能导致基础设施直接中断或敏感数据丢失。
但可能会导致设备成本增加。
理解区块链
挖矿是验证加密货币交易并将加密块添加到区块链的过程。矿工们在解决hash后能建立一个有效的区块。挖掘的块越多,获得的区块就越多。
如今挖矿过程可能需要几年的时间。为了解决这个问题,矿工们使用定制的硬件来加速挖掘过程,并形成“采矿池”,计算机集合在一起计算哈希。
贡献给采矿池的计算资源越多,挖掘出新区块的几率就越大,获得的奖励越多。正因如此,很多矿工开始使用企业网络或者云。
参与采矿池需要电脑运行原生或基于JavaScript的采矿软件(见图1)。两者都将使用Stratum协议,使用TCP或HTTP / S(HTTP / S上的WebSockets)在挖掘池中的计算机之间分配计算任务。
图1:运行基于JavaScript的挖掘软件的网站。通常网站不会要求许可。
本地挖掘软件通常使用持久的TCP连接,通过TCP运行Stratum;基于JavaScript的软件通常依赖于时间较短的连接,并通过HTTP / S运行Stratum。
挖矿对企业的影响
长时间运行“高负载”的CPU会增加电力成本,也可能缩短笔记本电脑中的处理器或电池的寿命。
另外,有些挖矿软件通过僵尸网络传播,因此出现挖矿病毒就表明计算机可能已经被入侵。
如何防止加密挖掘
Cato Research Labs建议在公司的网络上阻止加密挖掘。可以通过破坏与采矿池的加入来达成目的。
许多防火墙中的深度包检测(DPI)引擎可以用来检测和阻止Stratum over TCP。或者,您可以屏蔽公开矿池的地址和域名。
方法1:用DPI阻止未加密的阶层会话
DPI引擎可以通过阻止TCP上的Stratum来破坏区块链通信。 Stratum使用发布/订阅体系结构,其中服务器将消息(发布)发送给订阅的客户机。阻止订阅或发布过程将阻止Stratum在网络上运行。
我们可以用JSON配置DPI规则。层有效负载是简单的,可读的JSON-RPC消息(见图2)。
Stratum通过JSON-RPC使用请求/响应:
图2:JSON-RPC批处理调用的细节(参考: http://www.jsonrpc.org/specification )
加入池的订阅请求将具有以下实体:id,method和params(参见图3)。配置DPI规则查找这些参数,阻止未加密TCP上的Stratum。
{“id”:1,“method”:“mining.subscribe”,“params”:[]}
加入池时,在订阅请求消息中使用三个参数。
方法2:屏蔽公开挖掘池地址
但是,一些采矿池创建安全的通道。对于经常通过HTTPS运行Stratum的基于JavaScript的应用程序尤其如此。
在这种情况下,检测分层对于不能大规模解密TLS流量的DPI引擎非常困难。(根据记录,Cato IPS可以大规模解密TLS会话)。因此公司企业应该屏蔽公共区块链池的IP地址和域名。
要确定要阻止的IP地址,需要查看加入挖掘池所需的配置信息。采矿软件要求矿工填写以下细节:
适当的池地址(域或IP)
一个钱包地址来接收股权
加入池的密码
配置信息通常通过JSON或通过命令行参数传递(参见图3)。
图3:提供必要的矿工池配置的JSON文件
组织可以配置防火墙规则以使用黑名单并阻止相关地址。理论上,这样的清单应该是容易创建的,因为必要的信息是公开的。大多数采矿池通过互联网发布其详细信息,以吸引矿工到他们的网络(见图4)。
图4:mineXMR.com的“入门”页面演示了挖掘池的公开地址
尽管进行了广泛的研究,但卡托研究实验室找不到可靠的采矿池地址。没有这样的清单,收集目标挖掘池地址阻塞将是非常耗时的。
IT专业人员将被迫手动输入公共地址,这可能会改变或增加,需要不断的维护和更新。
Cato Research Labs发布挖掘池地址列表
为了解决这个问题,Cato研究实验室生成了自己的采矿池地址清单,供社区使用。使用谷歌识别网站,Cato研究人员能够提取许多矿池的池地址。
图5:由Cato Research Labs编译的挖掘池地址的部分列表
卡托研究人员写了一些代码,利用这些结果来开发一个采矿池地址。如今这个列表标识了数百个池地址(见图5),并且应该适用于大多数DPI规则引擎。看到这里的完整列表。
最后的思考
如果在网络上发现挖矿病毒,Cato研究实验室强烈建议调查恶意软件感染并清理主机,降低风险。
卡托研究实验室提供了一个地址清单,阻止访问公共区块链池。但总是会有新的池或地址,这就是为什么Cato研究实验室强烈建议使用DPI引擎构建规则。