区块链安全

区块链挖矿协议介绍

近些年因为数字货币区块链等技术和商品的快速发展及其数字货币价值的不断上升,让原本用以DDoS攻击或是发垃圾短信的僵尸网络又看到了另一种新的转现方法:数字货币”区块挖矿”。因此某些被攻占的服务器经常也被植入挖矿木马,逐渐悄悄地耗费服务器空间来区块挖矿,乃至公司的奸细也会给服务器安裝挖矿木马,无处不在。

做为公司,怎样监测预防区块挖矿这样的危害行为?实际上挖矿木马自身是一个系统,同以往的网站漏洞扫描构思相同,也是以数据流量层或服务器层下手。

二、数据流量

2.1区块挖矿协议

区块挖矿设备与矿池中间的通讯须要遵循特殊的协议,现阶段流行的区块挖矿协议为Stratum协议,在许久以前还有BT2(getblocktemplate)协议和getwork协议,但是因为带宽和使用性能的耗费较多,在7、8年以前就早已被新的矿机所遗弃[1]。

返回Stratum协议,该协议在二零一二年发布,是以getwork协议的根基上演化而成的,解决了getwork协议工作效率不高的状况[2]。在Stratum中,区块挖矿设备与矿池中间选用TCP的方法传送数据,数据传输的环节根据JSON-RPC(1个无状态且轻量的远程控制环节启用RPC传送协议)。矿机向矿池可应用以下8个派发传送数据:矿机=>矿池:mining.submit

矿池=>矿机:返回是不是收到结果,true或是false

特别注意的是,上边是规范的Stratum,由slushpool(较大的比特币矿池)明确提出[3],因为数字货币的品种多种多样,不一样的数字货币选用的通讯协议会出现一部分不一样。比如常用的XMR(门罗币)区块挖矿系统xmrig[4]、xmr-c2.lab[5]则会将以上的协议开展改动。门罗币提升了以上步骤,根据login方法来开展验证和定阅。矿池端在收到到login数据后,假如验证成功,则会一直下达任务——这样子就将规范Stratum协议的3次通讯缩小为1次,大大减少了通讯数据流量。可以看得出,比特币区块挖矿选用了规范的Stratum协议,其传送数据选用规范的json文件格式,有较为显著的方法标志,如mining.subscribe、mining.authorize等。而XMR区块挖矿数据流量提升了以上环节,数据文件大约分为了两大类,一种是登陆包,一种是递交包。这2种包也是有显著的特性:

(1)最先是有jsonrpc的版本号标志,这个是务必要有的。

(2)id字段名请求和响应回应,而且逐渐增长。

(3)含有显著的特点字段名,比如login、submit、params、seed_hash等。

对于以上的特点,可以根据逻辑回归模型的方法创建规则,目的性的开展监测。因为区块挖矿行为自身的特性,每天中的登陆和验证包较少,而递交包和下达任务的包许多,可对于这样的状况开展提升。