专栏名称: 币乎社区
币乎社区(bihu.com)是专门为代币社区量身定制的垂直社交平台,是各个“币官方”与社区成员交流的平台。币乎原生代币KEY将使用户获得多种使用权,让真正有价值的付出获得正向激励并传播。
目录
相关文章推荐
物道  ·  春日氛围感家居服,正在派送中~ ·  15 小时前  
51好读  ›  专栏  ›  币乎社区

币乎精选 | 以太坊爆大漏洞:黑客窃得2000万美元 还有1万余节点可被攻破

币乎社区  · 公众号  ·  · 2018-03-29 18:00

正文

币乎精选

本文转载自黑奇士

作者:黑奇士

原文链接

http://mp.weixin.qq.com/s/YsicrKiHSAvH8FkGIhZbgw



3月20日,安全公司慢雾科技发布警告:有黑客利用以太坊的生态缺陷,使用机器自动窃取网络上的以太坊账户,截至2017年6月10日,已得手207次,账户余额价值约2000万美元。


除了以太坊之外,该黑客钱包账号中还有164种其他代币,因为其中许多没有上市交易,价值无法衡量。

根据慢雾的扫描结果, 目前全球还有一万余个以太坊节点存在类似风险,余额可能被盗。


(以太坊创始人Vitalik Buterin)


根据其发布的报告,黑客利用了以太坊生态中的某些制度性缺陷,以达到自动窃取资金的目的:

第一,黑客会用机器 批量查询网络上的以太坊钱包地址 ,此项动作通过扫描8485端口、8486端口来实现。端口扫描是成型的黑客技术,有大量现成工具可以使用。


第二,当扫描到开放的端口之后,使用eth_getBlockByNumber(查询区块高度)、eth_accounts(查询钱包地址)、eth_getBalance(查询钱包余额)三个命令来做相应动作。



我们在查询以太坊开发文档后发现,以太坊支持RPC模式,以太坊账户开启这种模式后,就可以自动化完成某些操作,比如矿池挖出币之后自动向钱包转账。

第三,不断尝试发送eth_sendTransaction命令,该命令如果生效,则会把钱包中的余额转移到攻击者的钱包。

有人会问,转账需要密钥参与,黑客是怎么绕开密钥呢?

原来,以太坊账户支持unlockAccount命令,这个命令是为了方便某些机械化交易提供的。在代币交易中,有些人 使用电脑进行高频交易,以此来获取波动价差 (股票高频交易也是这么做,有时候一分钟来回买卖几十次)。

以太坊在高频交易中(或者矿池自动转账),可以设置一段时间内无需输入密码,时间长短由用户自己指定。


如果黑客正好在这段时间之内发来了“余额转移”的指令,以太坊账户(钱包或web账户)就会自动执行该操作,将钱包里的以太坊转到黑客钱包中。

在2017年6月21日,此黑客利用这种手法,4个小时内从知名矿池f2pool 窃取了36笔资金。



慢雾科技指出,其墨子系统对全球约 42 亿IP地址进行扫描,发现 存在此安全风险的以太坊节点有 1 万多个,这些节点里的余额都可能被盗。

那么,用户应该如何防止此类攻击?专家建议用户应如下操作:

1、更改默认的 RPC API 端口 ,配置方法如:

--rpcport 8377 或 --wsport 8378 (让端口扫描无法生效)

2、更改 RPC API 监听地址为内网, 配置方法如:

--rpcaddr  192.168.0.100 或 --wsaddr  192.168.0.100

3、配置 iptables 限制对 RPC API 端口的访问 ,举例:只允许 192.168.0.101 访问 8545 端口(只接受特定IP发来的命令):

iptables -A INPUT -s 192.168.0.101 -p TCP --dport 8545 -j ACCEPT

iptables -A INPUT -p TCP --dport 8545 -j DROP

4、账户信息(keystore)不要存放在节点上 (因为账户不在节点上,所以就不会用到 unlockAccount 了)

5、任何转账均用 web3 的 sendTransaction 和 sendRawTransaction 发送私钥签名过的 transaction(限制不安全的转账命令)

6、私钥物理隔离(如冷钱包、手工抄写)或者高强度加密存储并保障密钥的安全

黑奇士在网上查询,发现多数以太坊使用者对此安全警告不以为然,有人甚至在慢雾科技创始人余弦的微博下留言,讽刺其哗众取宠。

知名黑客,知道创宇前技术副总裁、慢雾科技创私人:余弦



以上仅代表作者个人观点

不代表币乎社区(bihu.com)

不构成任何投资建议

炒币有风险,入市需谨慎

币乎精选 | 以太坊创始人V神眼中的PoS设计哲学







请到「今天看啥」查看全文