以太坊JSON-RPC出現新的攻擊方式,開放API並解鎖過的賬戶可能已被種下“後門”

FLy_鵬程萬里發表於2018-07-15

新型攻擊手法披露:以太坊黑色情人節事件裡已經出現的隱蔽攻擊方式!

新的攻擊手法過程簡述:

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團隊建議立即放棄使用這些高危賬戶,以保障自己的資金安全!


相關文章