以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > 幣贏 > Info

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

Author:

Time:1900/1/1 0:00:00

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

漏洞影響概述

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

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

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

Starkware開源Cairo編程語言的最新版本:金色財經報道,區塊鏈開發公司 Starkware 開源了其編程語言 Cairo 的新版本,Cairo 支持 Starkware 的Layer 2網絡 StarkNet 和 StarkEx。根據一份聲明,這是該語言自創建以來的第一個主要版本,新版本將很快被引入 StarkNet。[2022/11/25 8:06:15]

ItchySwap漏洞詳解

一、AirSwap合約

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

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

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

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

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

Airwallex:升級交行上海市分行跨境業務合作:金色財經報道,據Ripple合作伙伴Airwallex官方消息, Airwallex空中云匯與交通銀行上海市分行升級電商跨境業務場景,Airwallex空中云匯將幫助交通銀行持卡人在Amazon、Wish、Lazada在內的各大主流電商平臺進行便利收款及結算。[2022/11/15 13:09:07]

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

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

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

StarkWare:StarkNet用編程語言Cairo語言寫出了ZK-EVM:10月26日消息,零知識證明技術開發公司StarkWare發推表示,StarkNet使用編程語言Cairo語言寫出了ZK-EVM,將于明天邀請以太坊聯合創始人Vitalik Buterin、ZK-STARK合作發明者Eli Ben-Sasson、StarkWare成員Shahar Papini等人進行Twitter Space。[2022/10/26 11:44:52]

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

1)驗證訂單有效性

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

歐盟委員Mairead McGuinness呼吁對加密貨幣進行全球監管:2月18日消息,歐盟負責金融服務、金融穩定和資本市場聯盟的委員Mairead McGuinness表示,歐盟對加密資產使用的增長并不擔心,但全球需要對該領域進行監管。McGuinness警告說,“如果我們不認真對待”,任何新的金融工具都可能導致巨大的問題。

McGuinness表示,歐洲已經在加密貨幣問題上取得了進展,布魯塞爾已經走在了前沿,同時承認該領域的提議需要關注未來。(Business Plus)[2022/2/18 10:01:15]

1.訂單還在有效期內;

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

3.訂單還沒有被取消;

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

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

聲音 | Uber、Airbnb投資人Jeffrey Wernick:ICO的設計是有問題的:金色財經現場報道,11月20日,Uber、Airbnb投資人Jeffrey Wernick在“2018區塊鏈新經濟杭州峰會”第二天的會議現場以“新經濟模型及激勵機制”為主題進行了演講。他表示,ICO這種方式本質上就是為了逃避政府和SEC的監管,這是有問題的,沒有監管,募資的人就沒有責任,很有可能發行的通證會歸零。他還表示,一開始他就不看好ICO,并警告大家不要碰它,ICO對整個區塊鏈行業是有危害的。[2018/11/20]

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

Tags:AIRSWAPAirSwapAPPAIRDROPKikswap區塊鏈dapp開發例子

幣贏
【韭菜必看】反彈還是反轉,BTC成為2019年最具價值投資項目_GON:LYG

1、老鷹觀點 高盛之前發表過一份報道,認為今年迄今為止表現最好的投資資產是美國科技股31%的回報率,而昨天STOwhite否定了之前高盛的看法,稱比特幣才是2019年最具價值的投資項目.

1900/1/1 0:00:00
Ethereum Name Service的域名拍賣活動因出現bug而暫停_NCE:NAN

據外媒消息,EthereumNameService的域名拍賣活動由于一個bug而中止。據悉,該bug導致拍賣域名被錯誤授予了出價較低的用戶.

1900/1/1 0:00:00
關于支持RVN硬分叉升級的公告_ANC:Piranhas Finance

親愛的用戶: 為支持RVN的硬分叉升級,Binance將于2019年10月01日20:00暫停RVN充值、提現業務,交易不受影響。請您及時充值,Binance將協助您處理硬分叉中的任何技術問題.

1900/1/1 0:00:00
關于系統升級結束的通知_ONE:Bullion

尊敬的BIONE用戶: 我交易所于下午15時開始部署升級,21時升級結束,現對服務器進行了優化升級,歡迎體驗。如有疑問,隨時聯系客服人員.

1900/1/1 0:00:00
關于開通ERC20——USDT充值通道的說明_ONE:ENTONE

尊敬的BIONE用戶: 為了用戶更方便的充值USDT,BIONE交易所對USDT進行錢包升級,增加開通了ERC——USDT充值通道.

1900/1/1 0:00:00
法拉第(FFex.pro)優選未來第二期HAMB“每日搶購”第2次開放份額,39秒搶光_區塊鏈:區塊鏈的核心是什么

法拉第優選未來第二期項目HAMB于今晚18:00開啟第2輪搶購,此次搶購總額度1000000HAMB,上線39秒即被搶光.

1900/1/1 0:00:00
ads