以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > NEAR > Info

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

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可以重復使用的特性,再次向賣方用戶發起轉賬,進而騙取賣方已經抵押的數字資產。

首發 | 嘉楠耘智宣布與Northern Data在AI、區塊鏈等高性能計算領域達成戰略合作:據官方消息,2020年2月17日,嘉楠耘智宣布與區塊鏈解決方案及數據中心服務提供商Northern Data AG達成戰略合作。本次合作的內容涵蓋AI、區塊鏈及數據中心運維等高性能計算領域。

嘉楠耘智擁有豐富的高性能計算專用ASIC芯片研發經驗。Northern Data AG則專注于區塊鏈和數據中心等高性能計算基礎設施的建設。通過本次戰略合作,雙方將在AI、區塊鏈等新興領域進一步釋放增長潛能。[2020/2/19]

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

漏洞詳細過程分析

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

首發 | DVP: Bitstamp交易所存在漏洞 可導致大量KYC等信息被泄露:金色財經訊,近日,DVP收到安全人員提交的全球知名交易所Bitstamp的漏洞,攻擊者可以利用該漏洞查看大量用戶ID、銀行卡等敏感信息,嚴重威脅用戶信息安全。為避免發生KYC泄露的惡性事件,DVP安全團隊在收到該漏洞后,第一時間通知該平臺進行修復,但未收到回應。DVP提醒相關用戶關注個人信息安全,以免造成損失。[2019/8/13]

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

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

首發 | 螞蟻礦機S17性能曝光 采用全新散熱技術及全局優化定制方案:金色財經訊,日前,比特大陸即將發布的螞蟻礦機S17性能曝光。據螞蟻礦機S17產品經理朋友圈稱,新品將采用新一代散熱技術及全局優化定制方案。據了解,該散熱技術可能是指芯片的封裝技術,也有可能是機器的散熱結構設計。至于S17產品“全局優化定制”方案未有細節透露。有聲音評價,這或許是為決戰豐水期做出的準備。[2019/3/22]

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

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

IMEOS首發 EOS Go公布新增兩條復選條件 :據金色財經合作伙伴IMEOS報道:今日,EOS Go在 steemit上公布新增的兩條復選條件為:

1. 保證安全的計劃:候選節點是否在steemit上發布文章介紹該節點的安全方法和計劃,“安全方法”標準是向EOS選民展示安全最佳實踐知識和組織實施計劃的機會;

2. 立場:描述該節點分享通脹獎勵和/或向EOS代幣持有人派發股息的立場(候選節點在steemit發布)。主要闡述以下兩個問題:

該組織是否會出于任何原因向EOS令牌選民提供支付,包括BP選舉和社區建議?

該組織是否有書面的無票付款政策?如果是這樣,請提供一個鏈接。[2018/4/27]

函數處理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:ETHPYNOpynOPYLETH價格PYN幣Opyn SqueethCOPYCAT幣

NEAR
ORE:有道:黃金K線戰法(穿頭破腳)

幣圈有道,戲法萬千 我是有道,潛心于K線形態的角度剖析趨勢,拒絕任何市場煙霧。用心寫每一篇文章,態度鮮明,力求最專業.

1900/1/1 0:00:00
ITZ:BitZ“存幣寶”活期PoS理財首發上線,首期NVT活期理財年化幣收益高達22.2%

親愛的BitZ用戶: “BitZ存幣寶”活期PoS理財服務即將首發上線且推出《NVT活期POS理財首期》認購,幣年化收益率為22.2%,根據網絡產出情況調整.

1900/1/1 0:00:00
COI:大餅震蕩調整之后,蓄勢待發?

中國央行公開市場今日開展100億元逆回購操作,因今日有200億元逆回購到期,當日實現凈回籠100億元.

1900/1/1 0:00:00
PRO:IDEX 完成由 G1 Ventures 及 Borderless Capital 領投的 250 萬美元種子輪融資,計劃幾周內上線 IDEX 2.0

鏈聞消息,去中心化交易所IDEX完成由G1Ventures以及BorderlessCapital領投的250萬美元種子輪融資。IDEX表示,此輪融資將用于推出IDEX2.0.

1900/1/1 0:00:00
LGB:在投資理財路上一直賺不到錢?你可能缺了它

如果做交易只停留在順勢輕倉做單、長線單子止損這些話題上,那么永遠都是無解。在現實中,我認為大部份人都缺少了這三項技能:規則、計劃、策略,三者缺一不可,只有這三個融匯貫通靈活運用后才能走得更高更遠.

1900/1/1 0:00:00
SPICE:弘文談幣:8.7午間行情分析及建議

 弘文談幣:8.7午間行情分析及建議大盤圍繞變盤點瘋狂試探,挑動市場追漲殺跌的情緒,多空交手持續增量,多指標背離加劇,連量能方向都出現多空僵持.

1900/1/1 0:00:00
ads