分佈式帳本固然難以篡改,但有安全漏洞的智能合約會以不同形式構成用戶風險,這是區塊鏈技術導入複雜應用必然需注意的關卡。

據區塊鏈安全公司派盾 (PeckShield) 資料,12 日晨間在不到一分鐘的時間內 EOS 博弈遊戲  eos.win 的遊戲智能合約受到一共 125 個駭客攻擊,損失超過 9,180 個 EOS。

此前,11 月 7 日, EOS 遊戲 FFgame 也遭客攻擊。FFgame 遊戲智能合約受到多達 304 次攻擊,損失 1,331 個 EOS,駭客在當天將 1,330 個 EOS 轉出至 Huobi。 11 月 4 日,駭客也攻擊了另一個 EOS 遊戲 EOSBETDice,總收益為 2,545 個 EOS。

據外媒報導,EOS 已在過去一個月有多於 5 個遊戲型 dApp 遭駭。

競猜類遊戲漏洞

據了解,兩次攻擊都是通過編寫合約代碼來計算遊戲的獲勝規則發動的。

這一類受攻擊的遊戲屬於競猜類,是透過撲克牌、骰子產生隨機數決定輸贏以獲取獎勵的遊戲。

據區塊鏈生態安全公司慢霧科技表示,以 FFgame 被攻擊事件為例,駭客是透過部署與 FFgame 中相同的隨機數演算法,產生隨機數後立即在 inline_action 中使用隨機數投注此遊戲,導致中獎結果被「預測」到,從而達到超高中獎率。

簡易來說,可以想像一個會開出「大」、「小」的骰子遊戲,駭客複製此遊戲隨機產生結果的演算法,並在該遊戲實際跑出賭局結果前依照模擬的演算結果下注,藉此大大提升中獎率。

慢霧科技警告 DApp 開發者應仔細核對自己的隨機數種子和演算法是否可被預測。以這些被攻擊的前例來說,都是因為智能合約所有的隨機數機制是有漏洞的,它產生的是「偽隨機數」,也因此受到複製時很容易產生相同結果。

另一個區塊鏈安全技術團隊鏈安科技分析, FFgame 可能使用了和 EOSBETDice 類似的隨機數生成演算法從而導致遊戲被攻擊。

日前,美國東北大學和馬里蘭大學聯合發表研究指出,智能合約重複性過高,恐對以太坊區塊鏈生態系統構成威脅。因為具有缺陷的智能合約一旦遭攻破,其他引用相同或類似程式碼的智能合約也可能相繼受害。據研究統計,以太坊智能合約僅有不到 10% 的用戶合約為原創,也因此智能合約安全會是區塊鏈科技的一大要素。

圖片來源:


不想錯過區塊客即時新聞與精彩活動,請加 Line:

區塊客致力於發掘和整理各種與區塊鏈技術有關的內容,只要與區塊鏈或區塊客網站有關的合作和/或建議,我們都非常歡迎。請您發電郵至 [email protected] 與我們聯繫。

Wade

Wade  

區塊客文字奴工,期望有天區塊鏈能真實給予社會公開、公平的機會。致力於不撰寫「谷歌翻譯文」。