99久久国产亚洲高清观看2020_国产免费成人_四虎国产精品永久地址入口_国产精品免费一区二区久久夜色_美国超碰在线_男人天堂tv

您的位置:首頁 > 互聯網 >

AirSwap公布智能合約的致命漏洞 用戶資產可被對手惡意偷盜

2019-10-09 11:39:32 來源: 鏈聞

2019 年 09 月 13 日 AirSwap 團隊公布了一個 AirSwap 智能合約中存在致命的漏洞,這一漏洞可以使得用戶的資產在某些情況下被對手惡意吃單『偷盜

2019 年 09 月 13 日 AirSwap 團隊公布了一個 AirSwap 智能合約中存在致命的漏洞,這一漏洞可以使得用戶的資產在某些情況下被對手惡意吃單『偷盜』,PeckShield 安全人員獨立分析了該漏洞,并與 AirSwap 團隊溝通了細節和修復方案。

漏洞影響概述

PeckShield 安全人員深入分析 AirSwap 智能合約后發現,這一漏洞只對最近上線的 Wrapper 有影響,AirSwap 團隊在發現該問題后第一時間下線當前合約,并將 AirSwap 網站回退到之前使用的合約,從合約上線到問題修復整個過程僅持續了 24 小時,可見 AirSwap 團隊對于合約安全的重視程度之高。

PeckShield 安全人員獨立分析了漏洞細節,并與 AirSwap 團隊溝通細節和修復的方案, 同時將該漏洞命名為“ItchySwap”。

PeckShield 在此提醒,由于這一漏洞可使用戶的資產被攻擊者惡意偷盜,受此次影響的賬號一共有 18 個,其中有部分賬號有數萬至數十萬美元的資產,這些賬號需要盡快完成升級,或與 AirSwap 團隊聯系。

ItchySwap 漏洞詳解

一、AirSwap 合約

在分析之前,為方便起見,我們先定義幾個概念:

1. maker:出售資產的一方;

2. taker:購買資產的一方;

3. order: maker 與 taker 之間發生資產交割的訂單;

4. Indexer: AirSwap 中的訂單簿,匯聚了當前正在出售及需要購買的資產信息。

下圖說明了 maker、taker 和 Indexer 之間的交互流程:

**

**

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

AirSwap 是一個基于 Ethereum 的點對點去中心化交易所,它集成了 Swap Protocol ,在其中作為一個自動托管服務,允許交易的雙方(即 maker 和 taker)在以太坊上安全地交易任何資產。與許多去中心化交易所不同,AirSwap 雖然沒有對資金進行托管控制,但仍然有一個用于匹配目的的集中式訂單簿,它實現了一個用于交易和訂單匹配的完全對等模型。

特別值得一提的是,有一個名為 Indexer 的鏈下服務,可以聚合來自 maker 和 taker 的交易意圖,然后為他們提供匹配的服務。特別是,一旦 taker 找到了合適的 maker,他們就會開始進行場外價格的談判。一旦達成協議,訂單將由 Taker 通過 Swap Protocol 在鏈上進行填充和資產交割。

在 AirSwap 智能合約中, taker 將訂單上鏈及資產交割的過程在 AirSwap swap(Types.Order calldata_order) 函數之中,這一函數實現如下所示:

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

1)驗證訂單有效性

訂單 order 參數有效性檢查,這些信息均由 taker 上鏈的時候指定的,也意味著這些信息都可以由 taker 篡改,具體包含:

1. 訂單還在有效期內;

2. 訂單還沒有被其它的 taker 吃單;

3. 訂單還沒有被取消;

4. 訂單的 nonce 大于最小值;

5. 設置訂單狀態為 TAKEN 狀態。

2)驗證 taker 信息

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

確立有效的 taker,根據 order 中指定或者等同于合約的調用方 msg.sender。

3)驗證 maker 信息

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

驗證 maker 的有效性,這里的驗證分為兩種情況考慮:

1. 沒有 maker 簽名的訂單:需要保證 msg.sender 有權限操作這個 maker 地址即可,即這筆 order 發起者有權限操作 maker 的資產;

2. order 中指定了 maker 的簽名信息:驗證簽名的有效性。

4) 資產交割**

**

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

如果上述的驗證流程沒有問題,那么直接執行 maker 和 taker 的資產交割。

二、Wrapper 合約

在上述的 AirSwap 合約中,用戶通過 swap() 函數執行資產互換,這一流程非常清晰,沒有問題。但是這一合約存在一點不完美的地方,用戶只能通過 Token 進行資產互換,無法直接用 ETH 平臺幣參與其中。用戶可以先把 ETH 轉換成 WETH, 再用 WETH 參與互換,但無論如何,用戶使用體驗上多了一步。

為了降低用戶使用體驗上的摩擦,AirSwap 團隊與 2019 年 09 月 12 日 推出了 Wrapper 合約,其使用是自動將用戶轉入的 ETH 轉換成 WETH 之后再參與資產互換的過程,其關鍵流程如下:

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

1. 驗證 swap() 發起方與 taker 是相同的;

2. 如果用戶發起 swap() 有攜帶了 ETH 資產,并且需要轉換的 token 為 WETH, 那么就自動將 ETH 轉換成 WETH;

3. 直接調用 AirSwap 合約的 swap() 操作。

考慮到一種特殊的場景,Alice 希望通過 Wrapper 合約執行 AirSwap 資產互換,這一過程需要先由 Alice 自行在 AirSwap 合約中授權 Wrapper 合約,以允許 Wrapper 合約可以執行各自的資產交割流程。

由于區塊鏈的透明性,Eve 看到了 Alice 的授權操作,那么他就可以向 Wrapper 合約發起一筆惡意的訂單,其包含的內容如下:

1. order 中的有效時間、nonce 為一個非常大的數值;

2. order 中的 maker 對應的賬號為 Alice 的賬號;

3. order 中的 taker 為空;

4. order 的 signature 為空。

將上述構造好的 order 代入 AirSwap 的 swap() 函數,其中 1,2 兩步的驗證由于是 taker 控制的,不會有問題,我們重點看下第三步驗證 maker 信息:

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

由于此時 AirSwap 合約是由 Wrapper 合約調用的,那么 msg.sender 即 Wrapper 合約的地址,前文講到,Wrapper 合約是經過 Alice 授權可直接控制 Alice 的資產,此時雖然 Eve 沒有權限操作 Alice 的資產,但此時可以通過 Wrapper 控制,也就間接地控制了 Alice 的資產。

安全規避

PeckShield 安全人員分析發現,截止至 2019 年 09 月 28 日為止,共有 6 個賬號執行了revoke()操作,以解除對Wrapper合約的授權,還有 12 個賬號存在安全風險,這剩下的所有賬號應當立即執行revoke()操作,或者將賬號中的資產轉移至未對Wrapper授權過的安全賬號。

任何的代碼在上線生產環境之前都應當得到充分的測試和驗證,特別是承載著用戶價值的 DEX 平臺。在產品增加新特性之時,一定要考慮到舊特性的兼容性與安全,新特性的引入不應該觸發舊產品中設計不完備的地方。

附錄

AirSwap 智能合約漏洞詳解:用戶資產可被攻擊者惡意吃單?

關鍵詞: AirSwap 智能合約 致命漏洞

精選 導讀

募資55億港元萬物云啟動招股 預計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預計發行價介乎每股47 1港元至52 7港元,預計9月29日登陸港交所主板。按發行1 167億股計算,萬

發布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數為9794只,資產凈值為269454 75億元,同比上

發布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產。四川長虹25日稱,擬以1 66億元的轉讓底價掛牌出售31套房產。今年以來,A股公司出售房產不斷。根據記者不完全統

發布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復深交所關注函 股份繼續沖高

回復交易所關注函后,大港股份繼續沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權

7月13日,中泰證券發布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權,交易雙方共同確定本次交易的標的資

發布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續7日每天僅進行30億元的逆回購縮量投放,創下去年1月以來的最低操作規

發布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數創近20年新高 黃金期貨創出逾9個月新低

由于對美聯儲激進加息的擔憂,美元指數11日大漲近1%創出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創出逾9個月新低。美

發布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創下記錄以來最大跌幅

今年上半年,美股持續回落。數據顯示,道瓊斯指數上半年下跌15 3%,納斯達克綜合指數下跌29 5%,標普500指數下跌20 6%。其中,納斯達克連續

發布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數據顯示,截至6月16日,兩市融資余額1 479萬億元,月內增加344 67億元,最近一個半

發布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續流入A股市場

北向資金凈流入態勢延續。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發布時間: 2022-06-17 09:37
推薦   2022-06-17