您的位置:首頁>科技>正文

每日知識每日幣:SMT所犯錯誤到底有多低級

SMT被爆出現與BEC相同漏洞, 這一漏洞是怎麼回事?

據慢霧區消息, 又一代幣SMT發現與前幾天爆出的美圖BEC代幣類似的安全性漏洞。 可以通過溢出攻擊可以收到大量的代幣。

此前, 駭客利用乙太坊ERC-20智慧合約中BatchOverFlow漏洞中的資料溢出的漏洞, 攻擊了美鏈BEC的智慧合約, 成功地向兩個地址轉出了天量級別的BEC代幣。 據瞭解, 駭客可以通過轉帳的手段生成合約中不存在的、巨量的Token並將其轉入正常帳戶, 並且帳戶中收到的Token可以正常地轉入交易所進行交易, 與真的Token無差別。

據火幣Pro公告, SMT專案方回饋今日淩晨發現其交易存在異常問題, 經初步排查, SMT的乙太坊智慧合約存在漏洞。

SMT上線火幣、okex等多家交易所, 火幣Pro也同期檢測到TXID為0x0775e55c402281e8ff24cf37d6f2079bf2a768cf7254593287b5f8a0f621fb83的異常。 受此影響, 火幣Pro也同期檢測到異常,決定暫停所有幣種的充提幣業務;okex也暫時關閉SMT/USDT、SMT/BTC、SMT/ETH的交易和SMT的提現, 具體開放時間另行通知。

在這裡, 回顧下SMT三月以來到四月下旬的行情走勢

今日早間:

YEE創始人、前百度移動安全總經理張磊向幣世界透露, 他們第一時間查閱了BEC、SMT的代碼, 發現BEC的合約漏洞是BatchTransfer漏洞中的資料溢出, SMT的合約漏洞是代理轉帳邏輯中沒有進行大數保護, 造成大數溢出, 這兩個問題的根本原因是沒有使用library SafeMath, 使用了普通的加減乘除。

BEC智慧合約代碼使用了普通的減法

SMT智慧合約代碼使用了普通的加法

正確的方式應該是用library SafeMath函數來完成智慧合約代碼, 這樣可以保證智慧合約代碼的安全穩定。

YEE區塊鏈團隊指出, 現在發現的漏洞中有很多代碼是因為直接使用普通的加減乘除符合,

同時缺少溢出判斷, 這就造成資料溢出的隱患, 而使用library SafeMath可以徹底解決資料溢出的問題。

因此, 解決方案也很簡單, 徹查智慧合約代碼, 把“+”“-”“*”“/”換成library SafeMath, 這可以徹底解決資料溢出的問題。

騰訊區塊鏈技術專家屠海濤也對幣世界獨家表示, 像BEC的安全性漏洞是很低級的錯誤, 傳統金融機構都會做很多合約安全審計, 這說明數字貨幣在合約安全審計這塊做的還是不夠好。

他表示, 安全性漏洞分兩類, 一種是公鏈本身的系統漏洞, 乙太坊以前也發生過, 系統級漏洞是最危險的;一種是某個代幣安全性漏洞問題。 如果代幣在交易所上市, 駭客把通過漏洞“增發”的代幣轉移到交易所換成其他數字貨幣比如ETH、BTC,

就會間接對其他數位貨幣產生影響。 如果交易所及時停止充提, 影響就很小, 只是個別幣種受影響。

張磊表示, 這些漏洞對BEC和SMT這兩個幣的影響至少是致命的, 但對後面的從業者來說, 解決方案其實比較簡單, 只要認真點, 徹查智慧合約代碼, 就能解決。 從整體來看, 可能短期會對整個虛擬貨幣市場造成恐慌, 但長期來看, 仍然堅信投資者會回歸到價值投資。

總之, 在這個區塊鏈當道的時代, 也希望大家對技術有敬畏感, 15分鐘的東西和用心做的東西還是很有區別的。 不要以為代碼差不多就真差不多了。

最後, 希望大家都安好!

Next Article
喜欢就按个赞吧!!!
点击关闭提示