2019年09月13日AirSwap團隊公布了一個AirSwap智能合約中存在致命的漏洞,這一漏洞可以使得用戶的資產在某些情況下被對手惡意吃單『偷盜』,PeckShield安全人員獨立分析了該漏洞,并與AirSwap團隊溝通了細節和修復方案。
漏洞影響概述
PeckShield安全人員深入分析AirSwap智能合約后發現,這一漏洞只對最近上線的Wrapper有影響,AirSwap團隊在發現該問題后第一時間下線當前合約,并將AirSwap網站回退到之前使用的合約,從合約上線到問題修復整個過程僅持續了24小時,可見AirSwap團隊對于合約安全的重視程度之高。
PeckShield安全人員獨立分析了漏洞細節,并與AirSwap團隊溝通細節和修復的方案,同時將該漏洞命名為“ItchySwap”。
PeckShield在此提醒,由于這一漏洞可使用戶的資產被攻擊者惡意偷盜,受此次影響的賬號一共有18個,其中有部分賬號有數萬至數十萬美元的資產,這些賬號需要盡快完成升級,或與AirSwap團隊聯系。
Fairyproof:usdtypo_com網站誘導用戶充值,請用戶勿向此類網站充值:金色財經報道,近日,多位用戶收到Tether提醒,顯示賬戶有余額但需要變為VIP才可以提取余額的問題,Fairyproof安全提示:用戶進入該網站(usdtypo_com)后會顯示有USDT余額,但是無法提取,需要輸入security key。如果充值成為vip用戶,則可以不需要security key完成提款。該網站用此辦法誘導用戶充值,請用戶勿向此類網站充值。[2023/1/16 11:14:57]
ItchySwap漏洞詳解
一、AirSwap合約
在分析之前,為方便起見,我們先定義幾個概念:
1.maker:出售資產的一方;
2.taker:購買資產的一方;
3.order:maker與taker之間發生資產交割的訂單;
3air利用區塊鏈技術在非洲提供寬帶連接:11月22日消息,寬帶互聯網連接平臺3air,最近宣布通過使用無線寬帶技術來解決連接的挑戰,旨在為非洲帶來寬帶連接。
3air是建立在Cardano區塊鏈上,利用該鏈的漸進技術。此外,3air代幣利用了IOHK Atala Prism識別管理解決方案的優勢,該公司計劃在其他機構未能鋪設所需基礎設施的發展中國家建設寬帶。[2021/11/22 7:02:59]
4.Indexer:AirSwap中的訂單簿,匯聚了當前正在出售及需要購買的資產信息。
下圖說明了maker、taker和Indexer之間的交互流程:
AirSwap是一個基于Ethereum的點對點去中心化交易所,它集成了SwapProtocol,在其中作為一個自動托管服務,允許交易的雙方在以太坊上安全地交易任何資產。與許多去中心化交易所不同,AirSwap雖然沒有對資金進行托管控制,但仍然有一個用于匹配目的的集中式訂單簿,它實現了一個用于交易和訂單匹配的完全對等模型。
Chair Finance已上線Polygon:去中心化的NFT權益交易平臺Chair_Finance已上線Polygon,Polygon將授權Chair作為其戰略合作伙伴,并以更低的gas費用為Chair NFT用戶提供更靈活、更安全的交易環境。[2021/8/6 1:39:33]
特別值得一提的是,有一個名為Indexer的鏈下服務,可以聚合來自maker和taker的交易意圖,然后為他們提供匹配的服務。特別是,一旦taker找到了合適的maker,他們就會開始進行場外價格的談判。一旦達成協議,訂單將由Taker通過SwapProtocol在鏈上進行填充和資產交割。
在AirSwap智能合約中,taker將訂單上鏈及資產交割的過程在AirSwapswap(Types.Ordercalldata_order)函數之中,這一函數實現如下所示:
Chair.Finance首輪平臺權益NFT已售罄:據官方消息,Chair.Finance首輪平臺權益NFT已售罄,購買方包括由美國硅谷科技公司weiz enterprises、加密資產投資人王岳華及huachuang capital,worshipper capital等近十家機構。
Chair.Finance是權益NFT化去中心交易平臺,KOL在平臺可將權益鑄造為NFT資產并交易、拍賣。與高度集中于藝術收藏品領域的NFT1.0時代不同,NFT2.0將全面滲透金融資產、數據、數字身份等多個領域,Chair的目的就是致力于加速NFT2.0時代的到來。[2021/5/18 22:14:50]
1)驗證訂單有效性
訂單order參數有效性檢查,這些信息均由taker上鏈的時候指定的,也意味著這些信息都可以由taker篡改,具體包含:
CheapAir宣布新增Litecoin、Bitcoin Cash以及Dash作為支付方式:加利福尼亞在線旅游中介公司CheapAir今日在Twitter宣布新增Litecoin、Bitcoin Cash以及Dash作為支付方式,同時也將一如既往的支持Bitcoin。[2018/5/23]
1.訂單還在有效期內;
2.訂單還沒有被其它的taker吃單;
3.訂單還沒有被取消;
4.訂單的nonce大于最小值;
5.設置訂單狀態為TAKEN狀態。
2)驗證taker信息
確立有效的taker,根據order中指定或者等同于合約的調用方msg.sender。
3)驗證maker信息
驗證maker的有效性,這里的驗證分為兩種情況考慮:
1.沒有maker簽名的訂單:需要保證msg.sender有權限操作這個maker地址即可,即這筆order發起者有權限操作maker的資產;
2.order中指定了maker的簽名信息:驗證簽名的有效性。
4)資產交割
如果上述的驗證流程沒有問題,那么直接執行maker和taker的資產交割。
二、Wrapper合約
在上述的AirSwap合約中,用戶通過swap()函數執行資產互換,這一流程非常清晰,沒有問題。但是這一合約存在一點不完美的地方,用戶只能通過Token進行資產互換,無法直接用ETH平臺幣參與其中。用戶可以先把ETH轉換成WETH,再用WETH參與互換,但無論如何,用戶使用體驗上多了一步。
為了降低用戶使用體驗上的摩擦,AirSwap團隊與2019年09月12日推出了Wrapper合約,其使用是自動將用戶轉入的ETH轉換成WETH之后再參與資產互換的過程,其關鍵流程如下:
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合約是由Wrapper合約調用的,那么msg.sender即Wrapper合約的地址,前文講到,Wrapper合約是經過Alice授權可直接控制Alice的資產,此時雖然Eve沒有權限操作Alice的資產,但此時可以通過Wrapper控制,也就間接地控制了Alice的資產。
安全規避
PeckShield安全人員分析發現,截止至2019年09月28日為止,共有6個賬號執行了revoke()操作,以解除對Wrapper合約的授權,還有12個賬號存在安全風險,這剩下的所有賬號應當立即執行revoke()操作,或者將賬號中的資產轉移至未對Wrapper授權過的安全賬號。
任何的代碼在上線生產環境之前都應當得到充分的測試和驗證,特別是承載著用戶價值的DEX平臺。在產品增加新特性之時,一定要考慮到舊特性的兼容性與安全,新特性的引入不應該觸發舊產品中設計不完備的地方。
附錄
備注:AirSwap官方漏洞細節鏈接:https://medium.com/fluidity/critical-vulnerability-in-a-new-airswap-smart-contract-c1204e04d7d3
尊敬的用戶: BiKi平臺即將開放PCCS的充值、提現,并開放PCCS/USDT交易對,具體時間如下:1、開放充值時間:10月8日16:00;2、開放提現時間:10月8日16:00;3、開放交易.
1900/1/1 0:00:00一、一周要聞與解讀 要聞1:在WeMove.EU上發布的一項禁止“Facebook資金”的請愿書中,截至目前,在所需的75,000個簽名中獲得了57,889個簽名.
1900/1/1 0:00:00據DAppTotal.comDeFi專題頁面數據顯示:截至目前,已統計的31個DeFi項目共計鎖倉資金達10.2億美元,其中EOSREX鎖倉3.06億美元,占比29.94%.
1900/1/1 0:00:00合成央行數字貨幣其實算是一種「公私合作」模式,中央銀行將專注于其核心功能建設:提供信任和效率;而作為穩定幣提供商,私人公司會在適當的監督和監管下處理其他工作,并盡其所能地實施創新、與客戶互動.
1900/1/1 0:00:00We''repleasedtoannounceanimportantchangetohowtheliquidationlevelsandfundingpaymentsarecalculatedo.
1900/1/1 0:00:00公告編號:2019092901各位關心ZBG.COM的項目方和投資者們:ZBG平臺現已開通CCC充值和提幣功能.
1900/1/1 0:00:00