• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 自媒體 查看內容
    • 2256
    • 0
    • 分享到

    9份合約驚現同一致命漏洞 —— 新型無限授權轉賬漏洞分析

    2018-7-11 14:22

    來源: SECBIT

    7月10日晚, 安比(SECBIT)實驗室創建并維護的智能合約風險列表倉庫中接收到問題合約提交請求(漏洞報告者 xhyumiracle 來自長亭科技)。Lightcoin Token合約(合約地址:0xd97579Cea3fE2473682a4C42648134BB982433B9)的授權轉賬方法存在漏洞,授權賬戶可無限轉出被授權賬戶的金額,并且,授權賬戶可以利用這個漏洞給任意賬戶授權。

    Lightcoin 合約的 transferFrom() 函數,即授權轉賬函數,在執行完轉賬后本該修改授權金額,減去已轉出部分金額。但這一步驟中把這授權賬戶地址寫錯了,也就是將allowed[_from][msg.sender] -= _value; 誤寫成了 allowed[_from][_to] -= _value;,進而引發了漏洞。

    注:_from 地址為被授權地址,實際轉出 Token 的地址;_to 地址為轉賬接收地址;msg.sender 為當前操作賬戶地址,也就是,授權賬戶地址。

    安比(SECBIT)實驗室小伙伴迅速分析了該漏洞指出,這個漏洞引發的后果有兩方面:

    • 授權賬戶在完成授權轉賬后,其被授權的金額不會改變,也就是說,授權賬戶可以無限轉出被授權賬戶的金額。

    • 轉賬完成后實際修改的是這筆轉賬接收地址(to)對于被授權賬戶 _from 的授權轉賬金額,但是由于對 allowed[_from][_to] -= _value;操作并沒有做溢出校驗,可以利用溢出來給 _to 地址巨額的授權。

      • _to 地址原本就有授權,那么授權金額可能減小,也可能溢出為一個極大的值。

      • _to 地址原本沒有授權,即 allowed[_from][_to 值為 0, 就可以利用溢出獲得這個被授權地址(_from 地址)的授權,一旦授權后,就可以無限轉賬。

    據悉,Lightcoin 項目方已獲知該漏洞并已完成合約升級工作,提醒廣大持幣用戶不必恐慌,做好升級工作即可。
    目前問題合約已作廢:0xd97579Cea3fE2473682a4C42648134BB982433B9
    升級后新合約地址為:0x1295b55fA04FBAc6d9e7c351Ecb3486e88129027

    根據安比(SECBIT)實驗室風險監控平臺顯示,存在相同漏洞的合約共 9份,強烈建議各個項目方和交易所及時做好自查工作。下圖為該問題的合約地址(出于對項目方的保護,合約地址已部分馬賽克)。

    該漏洞目前已被收錄至智能合約風險列表,該列表由安比(SECBIT)實驗室發起共建并持續維護的 Token 合約問題列表,至今已收錄了28類合約漏洞及風險,問題合約數量超過4000份,我們將不間斷更新問題 Token 合約信息,同時也歡迎更多的小伙伴能夠參與進來,共同維護這份問題合約列表。

    https://github.com/sec-bit/awesome-buggy-erc20-tokens

    安比(SECBIT)實驗室再次呼吁,項目方發行 Token 一定要慎之又慎,遵守智能合約安全開發規范,引入安全審計流程,必要的時候采用形式化驗證 手段,確保萬無一失。

    智能合約形式化驗證示例:https://github.com/sec-bit/tokenlibs-with-proofs

    致謝:特別感謝長亭科技小伙伴 xhyumiracle 的及時報告。

    參考文獻

    [1] 智能合約風險列表(awesome-buggy-erc20-tokens) https://github.com/sec-bit/awesome-buggy-erc20-tokens
    [2] 安?(SECBIT)實驗室攜?路印(Loopring)共同發布智能合約風險列表 https://mp.weixin.qq.com/s/XbXlrmt0fi9IgxicmdAF0w
    [3] Lightcoin (Light) https://etherscan.io/token/0xd97579Cea3fE2473682a4C42648134BB982433B9
    [4] 構造形式化證明,解決智能合約安全問題——你的合約亟待證明 https://mp.weixin.qq.com/s/Dk8FAODv2SeFXmDgGaQduw
    [5] tokenlibs-with-proofs https://github.com/sec-bit/tokenlibs-with-proofs

    以上數據均由安比(SECBIT)實驗室提供。

    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频