风险提示:理性看待区块链,提高风险意识!

以太坊如何解除锁定账户地址调用jsonrpcapi?

2个回答

区块链大触8星评价

2020-05-07 14:59:19

以太坊如何解除锁定账户地址调用jsonrpcapi?

因为区块链技术对实现智能合约存在天然的优势。

比特币、瑞泰币、莱特币、以太坊等数字加密货币都使用了区块链技术。

区块链(Blockchain)是比特币的一个重要概念,本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

无情的帅3星评价

2020-05-07 14:59:35

新型攻击手法披露:以太坊黑色情人节事件里已经出现的隐蔽攻击方式!

新的攻击手法过程简述:

1. 以太坊节点的 RPC 接口开放,但是账户没有 ETH (此时黑客已经通过扫描发现目标)

2. 黑客立即构造交易并签名(签名设置的金额为 X ,nonce 设置为当前的 N+1,N+2,...,N+N ),可以构造多个

3. 以太坊节点发现自己的问题,关闭 RPC 端口

4. 以太坊节点认为自己已经安全,开始往账户转入 ETH

5. 其实此时攻击者通过程序自动化实时监控发现你的转入,立即开始广播之前 RPC 开放的时候签名好的信息

6. 攻击完成 这种攻击手法非常隐蔽且真实存在,在此我们提醒:以太坊节点里杜绝存放私钥文件。只要节点没有私钥就不会出现此类攻击,如果有,安全起见建议暂停节点,把相关资产安全转移后废除这个私钥文件,并在其他隔离机器里重新生成新的私钥,未来采用私钥签名交易+节点广播交易的方式来进行转账操作。

这个攻击手法与以往的攻击手法不同的点在于:只要你这个账户在开放了JSON-RPC的节点上被解锁过,攻击者就可以对你的账户种一个“后门”。

其原理就是在以太坊的JSON-RPC种有个名为eth_sign的函数,以下是此函数的官方说明:

通俗来讲就是,以太坊的JSON-RPC虽然没提供输出私钥的功能,但是提供了使用私钥来签名事务的功能,这个功能的实现就是eth_signTransaction函数(目前仅Parity实现,Geth未实现此函数)。

如果利用这个函数来对transfer交易进行签名,被签名的原始数据是从受害者账户将余额转账至黑客账户,黑客利用签名后的数据可以在任何时候从受害者账户中将余额转移出来(即使节点关闭了JSON-RPC),而且无法避免,这是无法根除的“后门”

理论上来说,只要在开放JSON-RPC节点上unlock过的账户都存在这个风险(用户无法确认自己的API是否被黑客用来签名原始数据,除非开启了日志),BCSEC团队建议立即放弃使用这些高危账户,以保障自己的资金安全!