区块链安全

数字货币交易链上的网络攻击漏洞分析与报告

前不久,腾讯安全管家湛卢剑试验室检测到有名数字货币項目NEO(相匹配虚拟货币“小蚁股”,总的市值1.9亿美金)存有远程控制盗币风险性。客户在运用默认设置配备起动含有RPC作用的NEO节点并开启钱夹时,其虚拟货币将会遭遇远程控制盗币。该进攻情景与今年初被普遍公布的以太币RPC进攻极其类似,严重威胁了NEO客户的数字货币安全性。

腾讯安全管家湛卢剑试验室针对该安全隐患进行了应急的科学研究解析,发觉NEO连接点的确存有着RPC插口曝露难题。该难题在neo-cli手机客户端v2.9.0版本号以前普遍存有。此版本号以后的连接点在配备不善的状况下一样面临一定的安全性威协。

因而,腾讯安全管家湛卢剑试验室专此公布此安全性预警信息,提示NEO连接点维护者及小蚁股持有人警醒远程控制盗币进攻,并得出相对的安全防护提议以避开该类进攻产生的风险性。

一、追忆以太币RPC插口安全事故

在刚开始针对NEO连接点RPC进攻进行科学研究解析以前,必须针对以太币RPC插口安全性开展追忆,以相对解析本次曝出的NEORPC安全隐患的产生缘故和将会产生的安全性伤害。

以太币是当今有名的数字货币公链項目。以太币连接点的RPC插口以JSON-RPC的方式对外开放出示启用,其最底层为Http协议书。以太币互联网中RPC进攻是对于于对外开放曝露了RPC插口的以太币连接点进行的。一般状况下,连接点维护者能够运用连接点的RPC插口操纵连接点的个人行为,如签定和公布买卖信息内容。殊不知,以太币各种各样版本号的手机客户端保持合理的RPC插口调用者的身份认证体制。这为网络攻击进行远程控制进攻出示了便捷。

以太币上更为典型性的RPC进攻是远程控制盗币。要想取得成功保持进攻,必须:

得知连接点维护保养钱夹中的帐户信息内容,网络攻击能够根据启用eth_account等RPC插口得知。

在帐户被开启的情况下开启转帐。要想保持转帐,需客户应用恰当密码解锁相对帐户。帐户开启后,帐户默认设置有300秒的时间窗口处在开启情况。网络攻击能够运用该時间窗抢鲜开展数字货币的盗取。

在以太币互联网中,己知的最开始开展远程控制窃币的进攻产生于2016年2月14日。目前为止,该网络攻击帐户共盗取了4万5数千以太坊,其价值超出5上百万美元。只此一个网络攻击账户就证实了以太币RPC进攻产生的比较严重的安全性威协。腾讯安全管家湛卢剑试验室于2019年TSec安全生产会议上共享的名叫《看中你的钱夹!从进攻和防御力视角解析以太币RPC进攻》的安全性调查报告中,运用蜜獾技术性和敏感连接点扫描仪技术性针对这一难题开展了深层次的科学研究、解析。综上所述,此科学研究技巧一样适用NEO连接点上的RPC安全隐患。

二、NEO数字货币RPC插口安全隐患

2.1NEO连接点的RPC插口是怎样曝露的

"RPC":{

"Port":10332,

"SslCert":"",

},

能够看得出:

1.该配备将SSL有关配备设定为空字符串数组,因而全部JSON-RPC插口最底层根据Http并非Https保持,缺乏了针对RPC调用者的身份认证;

2.给出了RPC端口号信息内容,但沒有设定其即将关联的网络ip。

运用该配备起动测试代码后,查询neo-cli打开的IP端口号,可获得以下結果:

能够看得出,neo-cli在默认设置状况下将RPC插口立即关联来到0.0.0.0详细地址,可能会导致了RPC插口的对外开放曝露。事实上,在v2.9.0以及以前版本号,并沒有出示配备RPC插口关联网络ip的方法,要是打开了RPC作用,就会被关联到0.0.0.0详细地址;而在以后的版本号中,开发人员提升了新的RPC配备项BindAddress,其默认设置配备为127.0.0.1,这一配备能保证其插口安全系数。但假如连接点配备工作人员改动了该选择项为0.0.0.0或其内网ip网络ip,也将使其面临RPC进攻的威协。