以太坊智慧合約 Hexagon 存在溢位漏洞

FLy_鵬程萬里發表於2018-06-19

最近通過對智慧合約的審計,發現了一些智慧合約相關的安全問題。
其中我們發現智慧合約Hexagon存在溢位攻擊,可產生無數的token,導致整個代幣都沒有意義。 Token地址:https://etherscan.io/address/0xB5335e24d0aB29C190AB8C2B459238Da1153cEBA

該代幣可能要上交易所,我們已第一時間向官方通知該問題。


目前發現受影響合約地址:


成因分析

問題出現在_transfer函式當中,當呼叫transfer轉幣時,會呼叫_transfer函式:


_value可控,burnPerTransaction為常量,當_value + burnPerTransaction溢位時為0,可以導致繞過驗證。


漏洞利用

合約中 burnPerTransaction = 2 ,
所以當轉賬_value0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe時,
_value + burnPerTransaction =0 ,即可成功攻擊,為balanceOf[_to]增加大量代幣。



總結

建議使用 SafeMath 來處理計算操作,避免溢位。
同時,以太坊智慧合約有很多開源合約,使用參考開源合約前,應對程式碼進行安全審計。

關於我們

0KEE Team隸屬於360資訊保安部,360資訊保安部致力於保護內部安全和業務安全,抵禦外部惡意網路攻擊,並逐步形成了一套自己的安全防禦體系,積累了豐富的安全運營和對突發安全事件應急處理經驗,建立起了完善的安全應急響應系統,對安全威脅做到早發現,早解決,為安全保駕護航。技術能力處於業內領先水平,培養出了較多明星安全團隊及研究員,研究成果多次受國內外廠商官方致謝,如微軟、谷歌、蘋果等,多次受邀參加國內外安全大會議題演講。目前主要研究方向有區塊鏈安全、WEB安全、移動安全(Android、iOS)、網路安全、雲安全、IOT安全等多個方向,基本覆蓋網際網路安全主要領域。

相關文章