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

首發 | DeFi平臺Opyn智能合約漏洞詳解 攻擊者空手套白狼_ETH

Author:

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

北京時間2020年08月05日,DeFi期權平臺Opyn的看跌期權智能合約遭到黑客攻擊,損失約37萬美元。

Opyn是一個通用期權協議,于今年2月份轉型為保險平臺,通過oTokens為DeFi平臺提供可交易的ETH看跌期權,以此錨定ETH市場價格,為高波動性的DeFi市場提供相對的穩定性。

PeckShield安全團隊獲悉Opyn平臺遭受攻擊后,迅速定位到問題關鍵點在于:

攻擊者發現?Opyn智能合約行權接口對接收到的ETH存在某些處理缺陷,其合約并沒有對交易者的實時交易額進行檢驗,使得攻擊者可以在一筆對自己發起真實的交易之后,再插入一筆偽裝交易騙得賣方所抵押的數字資產,進而實現空手套白狼。

簡單來說,由于OpynETHPut智能合約中的行權函數exercise()沒有對交易者的ETH進行實時校驗。根據Opyn平臺的業務邏輯,看跌期權的買方給賣方轉移相應價值的ETH,即可獲得賣方抵押的數字資產。狡猾的攻擊者,先向自己發起偽裝的交易,利用這筆ETH可以重復使用的特性,再次向賣方用戶發起轉賬,進而騙取賣方已經抵押的數字資產。

LBank藍貝殼于4月10日01:00首發 BOSON,開放USDT交易:據官方公告,4月10日01:00,LBank藍貝殼首發BOSON(Boson Protocol),開放USDT交易,4月9日23:00開放充值,4月12日16:00開放提現。上線同一時間開啟充值交易BOSON瓜分10,000 USDT。

LBank藍貝殼于4月10日01:00開啟充值交易BOSON瓜分10,000 USDT。用戶凈充值數量不少于1枚BOSON ,可按凈充值量獲得等值1%的BOSON的USDT獎勵;交易賽將根據用戶的BOSON交易量進行排名,前30名可按個人交易量占比瓜分USDT。詳情請點擊官方公告。[2021/4/7 19:54:33]

下面為您詳細分析漏洞原因及攻擊過程。

《精靈達人3D》正式首發 Cocos-BCX 主網:據官方消息,近日,由生態合伙人 DAPPX 參與開發的《精靈達人3D》正式首發于游戲公鏈 Cocos-BCX 主網。《精靈達人3D》是一款以精靈寶可夢為題材的抓寵游戲,游戲美術采用全3D 制作。用戶可通過 CocosWallet , DAPPX 或 IMCOCOS 登錄 COCOS 主網賬號即可體驗。截至目前,Cocos-BCX 主網已上線《加密騎士團》《惡龍必須死》《XPEX怪獸世界》《Go Block》《可可奪幣》《熊貓運動會》等多款玩法多樣的趣味性鏈游,游戲公鏈生態在逐步壯大和完善。[2020/8/20]

漏洞詳細過程分析

先來說說,Opyn平臺的業務邏輯:當用戶使用Opyn合約行權即買賣期貨時,需要買方向賣方轉入相應數量的ETH或者ERC20Token,然后合約將銷毀買方對應的oToken,而后買方將獲得賣方已經抵押的資產。

首發 | Bithumb將推出與Bithumb Global之間的加密資產轉賬服務:Bithumb內部人士對金色財經透露,Bithumb推出和Bithumb Global之間的加密貨幣資產免手續費快速轉賬服務,每日加密貨幣資產轉賬限額為2枚BTC。此消息將于今日晚間對外公布。據悉,目前僅支持BTC和ETH資產轉賬。[2020/2/26]

例如:小王認為行情進入了下跌趨勢,看到Opyn上掛著一個小李對ETH330美元的看跌期權,于是進入交易系統,向小李轉賬一個ETH,獲得小李抵押的等額數字資產。若此刻行情已經跌至了300美元,小王便可獲得其中的差價。

圖1.exercise()函數中循環執行傳入的vaults地址列表

如上面的合約代碼片段所示,行權函數exercise()的內部是一個循環,依據參數中傳遞的vaultsToExerciseFrom中的地址數量依次調用真正的行權邏輯_exercise()函數。

動態 | 可信教育數字身份在廣州白云區首發 采用區塊鏈等技術:12月25日,可信教育數字身份(教育卡)廣東省應用試點首發儀式與應用研討在廣州市白云區舉行。

據介紹,可信教育數字身份融合采用國產密碼、區塊鏈等核心技術,創新簽發“云計算、邊緣計算、移動計算”網絡環境下的一體化數字身份,實現一體化密鑰管理,構建“可信教育身份鏈”。(中國新聞網)[2019/12/25]

圖2.重用傳入合約的ETH來獲得抵押資產

函數處理ERC20Token時,和大部分的DeFi項目做法一樣,使用transferFrom(),如代碼1882行所示,從msg.sender轉賬到address(this)。

但是當函數處理的資產為ETH時,處理的方式就完全不一樣了。因為在Solidity中,msg.value的意思是合約調用者在調用具有payable接口時所轉給該合約的ETH數量,僅是一個量值,所以在合約代碼的1879行中,檢查msg.value==amtUnderlyingToPay僅能確保合約確實收到了amtUnderlyingToPay數量的ETH,并不會對msg.value的值造成任何影響。

但是正如上面講到的在exercise()中會循環調用_exercise()函數,這導致盡管合約實際只收到一次ETH,然而在循環過程中卻可以重復使用。

攻擊點就在這里,由于合約少了一步對ETH實時數量的檢驗,使得攻擊者可以先偽造一筆指向自己的交易,然后再把已經花掉的本金再次利用,和平臺其他用戶完成一筆正常交易。

圖3.攻擊交易分析

在圖3中,我們通過Bloxy瀏覽器顯示的調用過程來展示攻擊的過程。由于攻擊者吃掉了很多筆訂單,我們以其中一筆交易為例,向大家展示其攻擊邏輯:

1、攻擊者先從Uniswap購入了75oETH為進一步調用函數行權做好籌備;2、攻擊者創建了一個Vault地址,作為看空期權賣方,并且抵押24,750USDC鑄造出75oETH,但并未賣出這些期權,等于自己同時買入了以330的價格賣出75ETH的權利;3、攻擊者在Opyn合約中調用了exercise(),在持有150oETH看空期權的情況下,先向自己的Vault地址轉入了75個ETH,獲得自己事先抵押的24,750個USDC,再重利用了這75個ETH,成功吃掉了另一個用戶的24,750個USDC,進而實現非法獲利。

修復建議

PeckShield安全團隊建議,在Solidity中,合約可使用一個局部變量msgValue來保存所收到ETH。這樣,在后續的步驟中通過操作msgValue,就能準確的標記有多少ETH已經被花費,進而避免資產被重復利用。此外,我們還可以使用address(this).balance來檢查合約余額來規避msg.value被重復使用的風險。

PeckShield作為業內領先的區塊鏈安全公司,安全業務已覆蓋全球范圍,主要客戶包括有:公鏈提供商(EOS、Nervos、Harmony、AVA、HBTC、NEO、IOST、Bytom、TRON、OKChain),頭部錢包和礦池(imToken、SparkPool、比特派、Cobo金庫,VoiceWallet),以及頭部交易所(Huobi、KuCoin、Bithumb、Upbit、OKex)、DeFi應用及智能合約等。

近一年內,PeckShield已經接連審計了數十個DeFi項目,幫助DeFi協議做代碼安全審計、業務邏輯風控、威脅情報風險預警等等,已經成為服務DeFi領域的頭部安全公司。

Tags:ETHOpynPYNOPYIETHOpyn Squeeth

NEAR
趨勢論幣:以太坊復蘇持續推升幣價 順勢而為立于不敗之地_比特幣

當前世界上一切都充滿不確定性,比特幣的上漲使投資者意識到這是一種理想的資產,因為它被認為具有彈性.

1900/1/1 0:00:00
Filecoin投資建議:FIL期貨價格炒到100多是否合理?_FIL

Filecoin作為已經開發3年多的明星項目,在全球都有良好的社群基礎,基于Filecoin激勵層的IPFS技術也已經有很多應用落地,我們相信主網上線后FIL的幣價表現不會讓人失望.

1900/1/1 0:00:00
俞澤言幣:8.6比特幣晚間走勢分析及操作策略 關注上方壓制線_FAR

投資這座山,沒有頂,不要站在原地癡癡地看著其他人成功,自己卻絲毫不動,其實成功一直都在你身邊。投資最重要的是避免失敗,而非抓住每一次成功.

1900/1/1 0:00:00
簡述 DeFi 重要性、細分種類與面臨的挑戰_DEF

DeFi的優點是使金融服務變得去信任化和無需許可,缺陷來源于智能合約安全性與區塊鏈網絡性能。原文標題:《淺談去中心化金融》撰文:劉南勛,Crypto.com高級研究分析師來源:Crypto.co.

1900/1/1 0:00:00
區塊鏈專利位列世界第一,中國領跑區塊鏈產業落地_區塊鏈

中國在2019年將區塊鏈定義國家戰略,2020年4月發改委將區塊鏈納入新基建,投入大量資金,人力,政策給予支持。區塊鏈這幾年在中國的發展十分迅猛,在專利申請上領先全球.

1900/1/1 0:00:00
盤點2020年下半年最值得關注的十大項目_COIN

2020年上半年有兩種項目:一種是跟DeFi相關的,另外一種是其他項目。不少DeFi項目都出現了讓人拍斷大腿的行情,漲幅少則幾倍,多則百倍千倍.

1900/1/1 0:00:00
ads