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

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

Author:

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

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

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

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

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

首發 | 歐科云鏈推出“天眼方案”推動鏈上安全系統再升級:8月28日,區塊鏈產業集團歐科云鏈宣布推出區塊鏈“天眼方案”,主要通過鏈上數據追蹤系統研發、對外技術支持、凝聚企業眾力等途徑,全面助力區塊鏈安全提升和產業平穩健康發展。

據了解,在“天眼方案”下,歐科云鏈集團將打造鏈上數據追蹤系統,通過溯源數字資產、監控非法交易等手段,全力遏制洗錢等非法行為;協助執法機關辦案,并為打造法務等區塊鏈系統提供技術支持;為聯盟鏈和基于各類業務的鏈上數據提供區塊鏈+大數據的解決方案。[2020/8/28]

簡單來說,由于 Opyn ETH Put 智能合約中的行權函數 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 合約行權即買賣期貨(exercise)時,需要買方向賣方轉入相應數量的 ETH 或者 ERC20 Token,然后合約將銷毀買方對應的 oToken,而后買方將獲得賣方已經抵押的資產。

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

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

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

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

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

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

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

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

修復建議

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

Tags:ETH區塊鏈PYNOPYethylmaltol以下哪個不是區塊鏈區塊的結構OpynCOPYCAT

LTC
Solana:與以太坊不同 另類的Solana不走分片之路

前不久FTX將要基于Solana發布其DEX交易所,該DEX名為Serum。FTX的CEO SBF還公開為Solana“帶鹽”:“Solana棒極了!”這是什么情況?為什么不是基于以太坊構建其D.

1900/1/1 0:00:00
比特幣:以太坊5周年 曾經的8大創始人近況如何?

2014年6月7日,在八位聯合創始人的見證下,以太坊的構想在瑞士樹林中被稱為“太空飛船”的出租屋中誕生。如今,8位聯合創始人構想中的這個區塊鏈平臺市值,已經高達270億美元.

1900/1/1 0:00:00
DEFI:8.5午間行情:多空兩個操作機會都告訴你了

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
區塊鏈:金色趨勢丨以史鑒今 BTC已悄然步入長周期牛市?

金色財經行情播報 | BTC小幅震蕩,保持左側交易節奏:據火幣行情顯示,BTC昨日18時平臺下破,最低探至9131.50USDT,今日整體小幅震蕩,局部價格徘徊在9170USDT附近.

1900/1/1 0:00:00
DEF:DeFi 代幣發行的數十倍回報只是幻影 mStable競價失敗后的反思

這個周末,BTC和ETH,依舊處于無聊的低波動狀態,很多人開始乏了,但DeFi領域上演的一幕幕讓人驚愕的戲劇,確實可以讓人分泌出很多多巴胺,而筆者也體驗到了其中的瘋狂.

1900/1/1 0:00:00
人工智能:產業周刊|多地印發涵蓋區塊鏈技術的發展實施意見

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等全行業動態。本文是其中的產業周刊,帶您一覽本周的區塊鏈產業動態.

1900/1/1 0:00:00
ads