每日最新頭條.有趣資訊

以太坊爆大漏洞:黑客竊得2000萬美元 還有1萬餘節點可被攻破

3月20日,安全公司慢霧科技發布警告:有黑客利用以太坊的生態缺陷,使用機器自動竊取網絡上的以太坊账戶,截至2017年6月10日,已得手207次,账戶餘額價值約2000萬美元。除了以太坊之外,該黑客錢包账號中還有164種其他代幣,因為其中許多沒有上市交易,價值無法衡量。

根據慢霧的掃描結果,目前全球還有一萬餘個以太坊節點存在類似風險,餘額可能被盜。

以太坊爆大漏洞:黑客竊得2000萬美元 還有1萬餘節點可被攻破

(以太坊創始人Vitalik Buterin)

根據其發布的報告,黑客利用了以太坊生態中的某些制度性缺陷,以達到自動竊取資金的目的:

第一,黑客會用機器批量查詢網絡上的以太坊錢包地址,此項動作通過掃描8485端口、8486端口來實現。端口掃描是成型的黑客技術,有大量現成工具可以使用。

以太坊爆大漏洞:黑客竊得2000萬美元 還有1萬餘節點可被攻破

第二,當掃描到開放的端口之後,使用eth_getBlockByNumber(查詢區塊高度)、eth_accounts(查詢錢包地址)、eth_getBalance(查詢錢包餘額)三個命令來做相應動作。

黑奇士查詢以太坊開發文檔發現,以太坊支持RPC模式,以太坊账戶開啟這種模式後,就可以自動化完成某些操作,比如礦池挖出幣之後自動向錢包轉账。

第三,不斷嘗試發送eth_sendTransaction命令,該命令如果生效,則會把錢包中的餘額轉移到攻擊者的錢包。

有人會問,轉账需要密鑰參與,黑客是怎麽繞開密鑰呢?

原來,以太坊账戶支持unlockAccount命令,這個命令是為了方便某些機械化交易提供的。在代幣交易中,有些人使用電腦進行高頻交易,以此來獲取波動價差(股票高頻交易也是這麽做,有時候一分鐘來回買賣幾十次)。

以太坊在高頻交易中(或者礦池自動轉账),可以設定一段時間內無需輸入密碼,時間長短由用戶自己指定。如果黑客正好在這段時間之內發來了“餘額轉移”的指令,以太坊账戶(錢包或web账戶)就會自動執行該操作,將錢包裡的以太坊轉到黑客錢包中。

在2017年6月21日,此黑客利用這種手法,4個小時內從知名礦池f2pool 竊取了36筆資金。

以太坊爆大漏洞:黑客竊得2000萬美元 還有1萬餘節點可被攻破

(f2pool官網自稱全球最大礦池)

慢霧科技指出,其墨子系統對全球約 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、私鑰物理隔離(如冷錢包、手工抄寫)或者高強度加密存儲並保障密鑰的安全

黑奇士在網上查詢,發現多數以太坊使用者對此安全警告不以為然,有人甚至在慢霧科技創始人餘弦的微博下留言,諷刺其嘩眾取寵。

以太坊爆大漏洞:黑客竊得2000萬美元 還有1萬餘節點可被攻破

餘弦是知名黑客,曾任知道創宇技術副總裁。

獲得更多的PTT最新消息
按讚加入粉絲團