Github使用者1400枚比特幣被盜事件分析

買賣虛擬貨幣

有天,你在支付寶操作轉賬時,彈窗提示你因版本過低而導致轉賬失敗,如果彈窗內不僅僅提示你交易失敗,還附上支付寶更新連結,大部分人可能都會順手點選連結進行更新。

如果這個連結是個釣魚連結,直接獲取了你的轉賬許可權,那麼代表你賬戶內的錢也會被無情轉移,這次,就有一個使用者遭遇了類似的情況。

北京時間8月31日,CertiK天網系統 (Skynet) 檢測到,Github使用者“1400BitcoinStolen”1400枚比特幣被盜事件的代幣,已開始被輸送到多個不同的地址當中。

受害者在electrum的Github issue中講述了自己丟失了1400個比特幣並貼出了自己的比特幣錢包地址。

在區塊鏈瀏覽器(參考連結3)中可以看到8月30日一共1404枚BTC(價值1670萬美元)從他的錢包中被取出,存入了駭客的錢包中。

事件還原與分析

該使用者使用的是Electrum比特幣錢包,上次使用是在2017年。此後Electrum已經發布了安全更新,但該使用者一直沒有安裝。

使用者在使用Electrum進行交易時,錢包會向伺服器廣播一筆交易,如果這筆交易出現了問題,伺服器將返回錯誤資訊並以彈窗的形式展現給使用者。

3.3.2版本之前的Electrum錢包不會對伺服器返回的錯誤資訊進行驗證,甚至還會對返回的資訊進行html渲染(參考連結4)。

值得一提的是,任何人都可以去搭建一個Electrum節點伺服器。如果一個使用者連線到了攻擊者的伺服器併發起了一筆交易,伺服器可以返回任何設計好的錯誤資訊。比如返回一個讓使用者去更新Electrum錢包的錯誤資訊,如下圖所示。

然而,圖中的連結指向了攻擊者自己寫的惡意軟體,一旦使用者下載安裝該軟體並把自己的錢包匯入其中,錢包裡所有的比特幣就會被攻擊者轉走。

這其實本質上是一種釣魚攻擊,但由於攻擊者發出的釣魚資訊是透過Electrum官方錢包展示出來的,很多人都會信以為真。

在本次事件中,受害者的錢包連線上了攻擊者所控制的伺服器,導致其收到了伺服器發出的釣魚資訊,進而被攻擊者轉走了自己的所有比特幣。

Electrum錢包存在的該問題早在2018年底就引起了廣泛討論(參考連結4)。

Electrum官方在2019年,錢包版本3.3.4中對該問題進行了修復,後續版本的Electrum錢包不再會將伺服器返回的內容直接展示給使用者,也不會對其進行html渲染。

此外,由於舊版本的錢包仍然存在這個問題,因此所有的正常的伺服器會對3.3版本之前的錢包進行拒絕服務(DoS)攻擊,以強制使用者進行更新(參考連結5)。

CertiK安全團隊建議

使用者在使用錢包進行交易的時候,需確保錢包為最新版本,已防舊版本的錢包可能存在可被駭客利用的漏洞。

使用者在下載錢包更新的時候要注意驗證下載URL是否與官方一致,在下載完成後要對錢包的簽名進行驗證,對於錢包開發團隊,需要尋找專業團隊做好測試工作,以免專案出現漏洞給使用者帶來損失。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;