買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > MEXC > Info

ANC:首發 | 解讀DeFi典型漏洞及其安全風險_DEFI

Author:

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

自DeFi興起以來,在短短9個月時間內迅速風靡全球。

BSC憑借低廉的gas和高速壯大的生態應用建立起了日漸完整的生態系統,成功成為了領先的公鏈平臺之一。

數據來源:https://bscscan.com/

如今每天,都有數百個項目在BSC上進行數千萬的交易。

圖片來自https://twitter.com/BinanceChain/status/1395060714390315008

但是鏈上交易的熱度將另外一個隱患帶到了我們面前——安全隱患。

目前可被黑客所利用的不同級別漏洞越來越多。

CertiK安全專家將這些漏洞分為四大類?,下文將為各位讀者帶來DeFi相關安全風險講解。

管理員密鑰泄露

在智能合約中,某些功能受到函數修改器(modifier)的保護——只有特定的操作者才能調用特定的功能。

在大多數情況下,這些功能是用于修改合約配置或管理智能合約中持有的資金。因此如果攻擊者破壞了管理密鑰,他們可以完全控制智能合約,調用該功能從而竊取用戶資產。

LBank藍貝殼于5月3日20:00首發 CSPR(Casper),開放USDT交易:據官方公告,5月3日20:00,LBank藍貝殼上線 CSPR(Casper),開放USDT交易,同時并開放充值,資料顯示,Casper網絡是基于CasperCBC規范構建的第一個實時權益證明區塊鏈。Casper旨在加速當今企業和開發人員對區塊鏈技術的采用,同時確保隨著網絡參與者需求的發展,其在未來仍能保持高性能。[2021/5/3 21:19:51]

密鑰泄露的原因

第一種可能性是計算機木馬程序。?

攻擊者可以使用木馬程序來竊取存儲在計算機上的私鑰,或者進行網絡釣魚攻擊,以誘騙用戶將其私鑰發送給攻擊者。

對DeFi合約來說,往往是幾個人共享一個管理密鑰。

這就意味著如果有內部人員心懷不軌,那么他可以調用管理功能將項目的代幣轉移到自己的錢包地址中。

這里有兩個案例:2021年3月5日,PAIDNetwork因其私鑰管理不當而遭受“鑄幣”攻擊,經推測攻擊者很可能是通過網絡釣魚攻擊從管理員的計算機中竊取了密鑰。

PAID代幣合約位于可升級代理服務器之后,這意味著代幣合約可以被代理服務器的所有者替換。

這類惡意代碼有鑄幣功能,攻擊者銷毀6000萬個PAID代幣,然后為自己鑄造了5900萬枚代幣。

當時2,501,203美元的PAID代幣在Uniswap上被出售,代幣價格也從2.8美元暴跌為0.3美元。

首發 | imKey正式支持Filecoin,成為首批Filecoin硬件錢包:12月1日,隨著imToken2.7.2版本上線,imKey同步支持Filecoin,成為業內首批正式支持FIL的硬件錢包。Filecoin作為imKey多鏈支持的優先級項目之一,成為繼BTC、ETH、EOS和COSMOS四條公鏈后的第五條公鏈。

據悉,imKey團隊已在Q4全面啟動多鏈支持計劃,計劃實現imToken已經支持的所有公鏈項目,本次imKey升級更新,無需更換硬件,不涉及固件升級,通過應用(Applet)自動升級,即可實現imKey對Filecoin的支持及FIL的代幣管理。[2020/12/2 22:52:32]

2021年4月19日,EasyFi創始人聲稱該黑客為獲取管理密鑰對管理員進行了針對性的攻擊。298萬個EASY代幣被從EasyFi官方錢包中轉移到了幾個未知錢包中。

因此安全存儲私鑰對于項目安全的重要性可見一斑,管理者切忌將未加密的管理員密鑰存儲在電腦設備上,或將其無防備的放置于Metamask熱錢包中。

CertiK安全專家建議管理者使用硬件錢包創建賬戶。

如果多人團隊的每位管理者均使用硬件錢包,一旦其中一位管理者試圖進行特權交易,也需獲取大部分成員的簽署同意,這樣可以防止攻擊者僅獲取一個密鑰訪問權時就可以調用所有特權功能。

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

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

代幣合約應盡可能避免鑄造新代幣的功能。如果需要鑄造新代幣,應使用DAO合約或時間鎖合約,而非EOA帳戶。

編碼錯誤

大家一提到DeFi漏洞,往往會認為漏洞必然是很復雜的,其實并非總是如此。

有時一個小小的編碼錯誤,就可以導致數百上千萬美元的資產一朝蒸發。

一些常見的編碼錯誤示例:

1.函數權限,修改器(modifier)缺失

2.錯別字

3.數字位數不正確

4.變量值分配缺失/不正確

有一個非常典型的例子就是UraniumFinance曾發生的受攻擊事件:黑客攻擊了UraniumFinance未受審計的合約,項目因此損失了5700萬美元。

管理員在交換前后比較池中兩個代幣余額的乘積時使用了不一致的乘數,這使得攻擊者可以僅用1Wei就從池中換出大量代幣。

首發 | 區塊鏈技術及軟件安全實戰基地正式成立:金色財經報道,今日,中軟協區塊鏈分會、人民大學、菏澤市局相關部門聯合共建的區塊鏈技術及軟件安全實戰基地正式成立。同時聘任中軟協區塊鏈分會副秘書長宋愛陸為區塊鏈技術及軟件安全實戰基地特別專家。

區塊鏈技術及軟件安全實戰基地主要涉及領域為:非法數字貨幣交易與洗錢、區塊鏈傳銷與電信詐騙、網絡賭博、四方支付、冒用商標注冊等,聯合社會治理、城市安全、前沿技術領域的行業專家,進行警協合作。

據公開報道,近期菏澤市下屬機關剛破獲一起特大電信網絡詐騙案,打掉多個涉嫌以網貸和投資“比特幣”為名的詐騙團伙,抓獲犯罪嫌疑人83名,扣押凍結涉案資金2700萬元。[2020/7/21]

Uraniumfinance的代碼:

正確的代碼:

另一個例子是ValueDeFi,被黑客攻擊導致損失了1000萬美元。

此次事件發生的原因在于ValueDeFi合約中的初始化函數缺少“initialized=true”,這意味著任何人都可以將資金池初始化并將自己設置為管理員。

2021年5月5日,攻擊者將資金池初始化,將自己設置為管理員,然后使用“governanceRecoverUnsupported()”函數耗盡了已抵押的代幣。

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

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

ValueDeFi中的易受攻擊的代碼:

解決方法:

只需通過適當的同行評審、單元測試和安全審計,這一類型的代碼錯誤往往極易避免。

閃電貸和價格操縱

閃電貸可以在無需提供任何抵押的情況下進行貸款,當然所有操作必須在一個交易區塊內完成。

開發人員可以從Aave或dYdX等協議中借貸,條件是在交易結束之前將流動資金返還到資金池中。

如果資金未能及時返回,則交易將被撤回,從而確保儲備池的安全。

閃電貸的一般運行步驟如下:

1.使用閃電貸借入大量代幣A

2.在DEX上將代幣A交換為代幣B

3.攻擊一個依賴A/B價格的DeFi項目

4.償還閃電貸

上周PancakeBunny遭受了閃電貸攻擊,攻擊者竊取了11.4萬BNB和69.7萬Bunny。

攻擊者利用閃電貸操縱PancakeSwap?USDT-BNBV1池的價格,導致大量的BNB流入BNB-Bunny池,這使得該合約能夠以虛高的BNB/Bunny的價格鑄造Bunny。

PancakeBunny使用了以下函數來計算Bunny的價格:

大量的BNB流入BNB-Bunny池造成變量“reserve0”變得更大,且價格計算公式存在缺陷,因此導致攻擊者非法獲取了69.7萬Bunny。

閃電貸攻擊的受害者很多,包括DeFi領域的一些知名項目:PancakeBunny,Harvest?Finance,Yearn,ValueDeFi,AKROPOLIS,CheeseBank,XToken,bZx?等等。

從這些實例中不難看出——項目方應著重預防價格被閃電貸惡意操縱。

為了防止這種情況的發生,CertiK安全專家建議①使用時間加權平均價格,因為攻擊者只能在一個區塊中操縱價格,因此平均價格并不會被影響,從而規避相關惡意操縱,②或使用可靠的鏈上價格預言系統,例如Chainlink。

濫用第三方協議和業務邏輯錯誤

許多項目,例如PancakeSwap和UniSwap都是獨立運行的,用戶并不與其他第三方協議進行交互。

在PancakeSwap中,用戶可以通過提供流動性以獲得獎勵代幣或將一個代幣交換為另一個代幣。

但其他項目的運作方式并不同。

比如YearnFinance是收集用戶資金并將其放入第三方合約,通過投資用戶代幣以獲取收益的。

第三種情況則是一些項目會從其他項目“借用”代碼。

后兩種情況下,如果第三方代碼的來源安全風險較大,那么所有使用該代碼的項目也會受到攻擊。

假如項目的開發人員不熟悉他們使用的第三方代碼,一旦代碼存在漏洞,所導致的后果將是災難性的。

2021年5月8日,ValueDeFivSwapAMM的非50/50池被攻擊,損失總額約為1100萬美元。

為了實現非50/50池,ValueDeFi從屬于Bancor協議的“BancorFormula.sol”中復制了“power()”函數。

在power()函數的用法說明中,已寫明該函數并不支持“_baseN<_baseD”的情況。

但ValueDeFi并未注意到此注釋,因此攻擊者成功利用此漏洞,通過往函數中傳入特定的參數來用少量的代幣A交換代幣B。

ValueDeFi的代碼:

DeFi領域中還有許多其他類似的情況。

2021年5月8日,一名攻擊者通過利用集成在RariCapitalV2中的AlphaHomoraV1的ibETH池Bank合約的功能,從RariCapitalEthereumPool中消耗了大約2600個ETH。

BearnFinance使用BUSD的提款金額在其“BvaultsStrategy”合約中提取ibBUSD,從而讓攻擊者輕易轉移了池中10,859,319枚BUSD。

這類問題較難檢測,因此項目管理者應謹慎與任何第三方協議進行交互,更不應盲目地復制并部署開發人員不了解的代碼。

CertiK安全專家建議:

1.開發人員在集成第三方協議并將部署到生產運行過程中之前,應充分了解其及其分支項目的運行情況。

2.開發人員應在項目上線前,先將其部署在測試網上進行測試并及時檢查交易記錄中的異常情況。

總體而言,盡管項目難以保證100%的安全,但是以下幾點可以盡可能提高項目的安全性:

1.安全存儲管理員密鑰

2.避免簡單的編碼錯誤

3.參考可靠的鏈上價格

4.進行安全審計并做好審計前的準備

對于終端用戶來說,在使用個人資產與項目進行交互之前,有時很難找到有關項目的詳細信息。

為了方便用戶獲取項目的安全性信息,CertiK開發了全球首個公開透明展示區塊鏈項目安全數據的安全排行榜。

通過查看公開的安全數據,終端用戶可以實時了解項目安全情況。

https://www.certik.org

除以上防范方式以外,所有項目均應意識到安全審計的重要性。

那么審計前為了充分利用發揮安全審計的作用,應該如何準備資料和代碼?

以下有幾個小tips:

1.定義審計的確切范圍并設定審計目標

2.制作全面的審計代碼文檔

3.確保良好的代碼質量

4.審計前測試代碼

5.凍結代碼并在審核之前指定代碼的commithash

Tags:區塊鏈ANCDEFIEFI區塊鏈運用的技術中不包括哪一項VANCATMarhabaDeFidefi幣官網

MEXC
區塊鏈:保障夏季用電高峰 伊朗宣布臨時禁止加密貨幣挖礦_tic幣行情

來源:財聯社 作者史正丞 據媒體報道,伊朗總統魯哈尼周三發表全國電視講話,宣布在9月22日前禁止該國加密貨幣挖礦行為.

1900/1/1 0:00:00
NFT:以太坊元宇宙入門:虛擬土地拍賣_AND

近幾十年來,虛擬世界對人類而言已變得越來越重要,我相信在接下來的幾十年里,這些VR世界將逐漸成為以太坊的重心.

1900/1/1 0:00:00
SYN:一文了解Synthetix 的社區治理模式:4個DAO之間的合作與制約_prophet幣最新消息

來源:SynthetixCN原標題:《Synthetix的社區治理》Synthetix作為已經運營數年的項目,于20年7月末,撤銷了基金會,調整為社區自治模式:社區治理由4個DAO負責.

1900/1/1 0:00:00
區塊鏈:多國央行“圍堵”比特幣 竟因其流動性已超過多個國家法幣_數字資產類應用案例包括

5月18日,中國互聯網金融協會、中國銀行業協會、中國支付清算協會三大協會聯合發布公告,要求金融機構、支付機構不得開展與虛擬貨幣相關的業務。緊接著,國務院金融委重磅發聲打擊比特幣挖礦和交易行為.

1900/1/1 0:00:00
POLK:如何判斷某個波卡生態項目的合法性?_RAN

在PolkaWorld社群和公眾號后臺,經常有人會問“XXX項目是不是波卡生態項目?”。對此,之前我們也寫過一篇「真假波卡生態項目鑒別指南」來幫助大家鑒別.

1900/1/1 0:00:00
COI:加密貨幣概念股最新狀況:美中概股跌4成,Coinbase跌破發行價,美圖特斯拉投資虧損_ChesterCoin

作者:Ivans 出品:陀螺財經 編者按:近日有關加密貨幣的多番利空,國內的“礦圈”企業受影響最嚴重。以買幣為主的“幣圈”企業,主要影響在投資和資產儲備方面.

1900/1/1 0:00:00
ads