ERC223智慧合約ATN幣出現owner許可權竊取漏洞
漏洞評估
安全等級:高
影響合約:atn-contracts
影響方面:導致 ATN Token 總供應量發生變化
事件經過:2018.5.11 上午 11:46,ATN 技術人員收到異常監控警示,顯示 ATN Token 供應量出現變化,迅速介入後確定 Token 合約受到黑客攻擊。ATN 技術團隊極速反應,定位到 ERC223 標準推薦合約實現與 ds-auth 庫同時使用時可能發生非常罕見的許可權漏洞,並迅速堵上此漏洞、凍結黑客增發的 Token 及實施對黑客的追蹤;同時 ATN 與第三方專業區塊鏈安全機構慢霧科技深度合作,聯合對 ATN 合約進行再次審計。審計過程中,慢霧安全團隊對 ATN 技術團 隊的快速反應和修復合約表現的高效表示認可,修復後的合約也成功通過了慢霧嚴謹的安全審計,合約安全威脅已解除。
漏洞分析和攻擊過程
為了讓 ATN 接收合約具備轉賬後處理功能,ATN Token 合約採用的是相容 ERC20 Token 標準的擴充套件標準 ERC223,並在其中使用了 dapphub/ds-auth 庫。單獨使用 ERC223 或者 ds-auth 庫時,並沒有什麼問題,但是兩者結合時,黑客利用自定義回撥函式回撥 setOwner 方法,從而獲得高階許可權。通過利用這個 ERC223 方法與 ds-auth 庫的混合漏洞,黑客將 ATN Token 合約的 owner 變更為自己控制的地址。獲取 owner 許可權後,黑客發起另外一筆交易對 ATN 合約進行攻擊,呼叫 mint 方法給另外一個地址進行 Token 的發行。最後,黑客呼叫 setOwner 方法將許可權復原。
抵禦攻擊
經過追蹤,發現黑客將增發的 ATN Token 分散在 14 個不同的新地址中,而這些地址中並沒有 ETH,暫時不存在立即轉賬到交易所銷贓的風險。而 ATN 技術團隊有能力採取技術手段立即凍結黑客的黑幣,恢復供應量的變化,所以,重點在如何追蹤到黑客,於是 ATN 技術團隊採用如下應對:
準備修復措施,增加 Guard 合約通過禁止向 ATN 合約地址傳送 ATN 進而禁止自定義回撥函式向 ATN 合約本身回撥以修復此次攻擊漏洞;增加黑名單合約,隨時凍結黑客地址;
監控黑客地址的 ETH、向交易所傳送的充值交易,以獲得進一步的追責證據;
獲得證據後,立即啟動修復流程,將黑客相關地址加入黑名單,禁止其轉移 ATN Token;
ATN 基金會銷燬等量 ATN Token 以恢復供給總量,並在 ATN 主鏈上線時予以修正。
最終監控到黑客向某交易所充值 1000 個 ATN 後,ATN 團隊即刻部署 Guard 安全修復合約,對黑客相關地址予以禁止轉賬處理,並獲得追責證據:
https://etherscan.io/tx/0x18bd80b810f6a6b6d397901d677657d39f8471069bcb7cfbf490c1946dfd617d
這意味著我們將有可能獲得黑客的 KYC 資訊,ATN 團隊可在交易所的配合下向黑客進行追蹤,並保留相應追責的權利。
同時 ATN 基金會銷燬 1100 萬個 ATN,恢復 ATN 總量,並將在主鏈上線對映時對黑客地址內的資產予以剔除,確保原固定總量不變。
基於 ERC223 的 ATN Token 特性
ERC223 是對 ERC20 的改進、相容的同時,提供更好的 token 功能,使得接收合約具備轉賬後處理功能。瞭解更多可訪問:
https://github.com/ethereum/EIPs/issues/223
且支援跨鏈,可用於 AI Market 做跨鏈 Token 支付;
因為 ATN Token 的設計初衷包含作為轉賬燃料來使用,使用者或 DAPP 使用 ATN 進行支付,ATN 代幣合約要有能力在轉賬完成後觸發其他業務邏輯;
另外 ERC20 代幣無法用於釋出眾籌合約,而基於 ERC223 的 ATN 可以,可以參考 ATN 的 Swap 合約:
https://github.com/ATNIO/atn-contracts/blob/master/src/AGT2ATNSwap.sol
總結
合約無小事,由於 ATN 合約設計增加多項功能及治理機制,增加了審計的難度和複雜度,在釋出到鏈上之前已進行幾次內部和外部審計。區塊鏈合約的安全,僅依靠開發者的經驗和能力並非萬無一 失。過去業內的幾次合約漏洞事件也說明了這個問題,如著名的 TheDAO 被盜、近來的 EDU、BAIC、SMT 等 ERC20 漏洞攻擊。
而 ATN 技術團隊依靠豐富的合約部署經驗、夯實的技術力量、極速反應的抵禦策略,幾乎零損失的化解了這次黑客攻擊,守護了社群的整體利益,並保留對黑客追責的權利。
這次 ATN 成功的對以太坊合約漏洞的攻擊抵禦,也為以太坊社群其他使用 ERC223 標準的專案成員提供了漏洞 review 與修復案例,為整個以太坊生態發展貢獻了積極的力量。
在 ATN 主鏈上線前,ATN 技術團隊將保持對合約與 Token 狀態的實時監控,並與慢霧科技等多家安全審計機構合作,在主鏈上線前開原始碼,確保未來 ATN 公有鏈生態的開源與安全。
ATN 與慢霧達成戰略合作
慢霧科技(SlowMist)是一家專注區塊鏈生態安全的公司,其創始團隊擁有豐富的網路安全攻防實戰經驗。該團隊相關成員曾為谷歌、 微軟、W3C、中國公安部、騰訊、阿里巴巴及百度等公司和政府機構輸出過安全能力,其核心能力包括安全審計、防禦部署和地下黑客風向標追蹤和防禦等。
在修復完漏洞後,ATN 團隊立即聯絡到慢霧,反饋並提供《ATN 抵禦黑客攻擊的報告》( https://atn.io/resource/aareport.pdf ),ATN 技術團隊全力配合慢霧對 ATN 合約進行嚴格的、全方位的安全審計。最終,慢霧給出了積極的安全審計結果,併發布了 ATN 基於 ERC223 的合約安全審計報告。
ATN 已啟動主鏈加速計劃,並將與慢霧等安全機構在合約、節點安全標準及執行環境和風險控制等方面開展長期的戰略合作。雙方合作不僅僅為不久後的 ATN 主鏈上線保駕護航,更將為長遠的區塊鏈生態安全的持續建設添磚加瓦。
相關文章
- Coinbase智慧合約被曝漏洞,使用者可無限量竊取以太幣
- BEC合約出現重大漏洞,攻擊者可無限生成代幣
- 可獲取管理員許可權,聯想公佈兩個特權提升漏洞
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- 隔空竊取雷達幣,新型詐騙方式出現
- postgresql只有owner或usersuper許可權才能修改表結構或drop表SQL
- 白 - 許可權提升和漏洞利用技巧
- 谷歌VirusTotal開源元件曝高危漏洞,可獲取內網訪問許可權谷歌Rust元件內網訪問許可權
- 什麼是智慧合約漏洞?
- SPLWOW64許可權提升漏洞(CVE-2020-17008)復現
- Dapp 合約代幣系統開發智慧合約APP
- 許可權之選單許可權
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- PJzhang:CVE-2020-1472微軟NetLogon許可權提升漏洞~復現微軟Go
- DASP智慧合約Top10漏洞
- Laravel實現許可權控制Laravel
- Android手機獲取Root許可權Android
- 許可權系統:一文搞懂功能許可權、資料許可權
- win10管理員許可權怎麼獲取 win10管理員許可權獲取的方法Win10
- win10如何獲得trustedinstaller許可權_win10獲取trustedinstaller許可權方法Win10Rust
- 如何獲取最高管理員許可權 win10教育版最高管理員許可權Win10
- EOS.CYBEX孵化團隊鏈安科技發現EOS智慧合約可能出現溢位漏洞
- EduCoin智慧合約transferFrom任意轉賬漏洞
- 如何取消以太坊智慧合約授權,防止被黑客盜取Token?黑客
- 基於全流量許可權漏洞檢測技術
- 織夢網站修改需要許可權嗎,如何獲取織夢網站修改許可權網站
- k8s結合jumpserver做kubectl許可權控制 使用者在多個namespaces的訪問許可權 rbac許可權控制K8SServernamespace訪問許可權
- Linux特殊許可權之suid、sgid、sbit許可權LinuxUI
- 幣幣交易|秒合約|現貨合約交易系統開發詳情案例
- 在 NEO 上釋出代幣合約
- 谷歌瀏覽器“SymStealer”漏洞:可竊取使用者敏感檔案谷歌瀏覽器
- mysql許可權MySql
- 許可權控制
- Linux許可權Linux
- 通俗易懂談BEC智慧合約致命漏洞
- 以太坊智慧合約 Hexagon 存在溢位漏洞Go
- 【許曉笛】 EOS 智慧合約案例解析(3)