買比特幣 買比特幣
Ctrl+D 買比特幣
ads

ODA:CertiK:Soda項目智能合約安全漏洞分析_0xcert

Author:

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

判斷一個人到底屬于什么資產階級,只需要看他的負債率。簡而言之,借的錢越多,代表你越有錢。

所以借錢從某種角度上來講,是屬于富人的游戲。通過借貸手段合理分配資產從而達到收益也是理財的精髓。

相信每個人都好奇過,銀行到底拿我們存的錢去做什么了呢?

從這種角度上來講,銀行屬于最大的欠款方。那如果,突然有人攻破了銀行系統,強制銀行“還款”,然后本來需要還到儲蓄者賬戶里的錢款直接被攻擊者收入囊中,儲蓄者和銀行都將成為最大的受害方。

北京時間9月21日,CertiK安全研究團隊發現soda區塊鏈項目中存在智能合約安全漏洞,該漏洞允許任意外部調用者通過調用智能合約函數,無視受害用戶債務中的代幣數目,強行結算受害用戶的債務,并將通過結算操作所得的收益轉入到自己的收款地址。

CER報告:45個加密錢包品牌中只有6個經過了滲透測試:金色財經報道,網絡安全認證平臺 CER一份報告發現,45 個加密貨幣錢包品牌中,只有 6 個(即 13.3%)經過了滲透測試以發現安全漏洞。其中,只有一半對其產品的最新版本進行了測試。報告稱,完成最新滲透測試的三個品牌是 MetaMask、ZenGo 和 Trust Wallet。Rabby 和 Bifrost 對舊版本的軟件進行了滲透測試,Ledger Live 對未知版本(在報告中列為“N/A”)進行了滲透測試,列出的所有其他品牌均未提供任何做過這些測試的證據。

該報告還對每個錢包的安全性進行了總體排名,將 MetaMask、ZenGo、Rabby、Trust Wallet 和 Coinbase Wallet 列為總體最安全的錢包。[2023/8/10 16:16:45]

soda項目官方現在已經提交修復補丁來修復這個安全漏洞,但由于soda項目采用了TimeLock來將所有的操作延遲48小時,修復補丁會在延遲事件之后生效,因此截止發稿時,該漏洞已完成修復。

CertiK:TRUMPCoin項目存在高風險,請勿交互:金色財經報道,區塊鏈安全公司CertiK發推稱,監測到一個名為TRUMPCoin的項目存在高風險,特權功能出現在了具有無限鑄幣特權的合約中。CertiK提醒用戶不要進行交互。[2022/1/9 8:35:52]

漏洞技術分析

圖一

soda項目中的WETHCalculator.sol智能合約中存在邏輯實現錯誤導致的安全漏洞,圖一中WETHCalculator.sol智能合約第193行,maximumLoad的計算公式錯誤的使用了amount作為基礎值。

因此,在196行滿足require()判斷的檢測條件loanTotal>=maximumLoan可以轉換為:

Balancer社區發起提案欲將AAVE流動性采礦上限提高至3000萬美元:2月11日,去中心化交易協議Balancer Labs官方發推稱,社區已發起新提案,計劃將AAVE的流動性采礦上限從1000萬美元提高到3000萬美元。[2021/2/12 19:38:25]

loanInfo.amountinterest>=loanInfo.amount*maximumLTV/LTV_BASE

由于maximumLTV/LTV_BASE的值是在0.15-0.95區域中變動,并且interest>=0。因此圖一196行的require()判斷中的檢測條件總是為真。

失去了該require()判斷的保護,任何外部調用者可以通過調用以下圖二中SodaBank.sol中104行的collectDebt()函數來將任意loadId的貸款清空。在執行該函數的過程中,圖一中的collectDebt()函數會在圖2第121行被執行,并通過123行和125行代碼將該用戶鎖在soda里面的WETH的其中一部分轉移到該外部調用者的地址msg.sender中:

DeFi協議Balancer將在NEAR可用:基于以太坊的去中心化金融(DeFi)協議Balancer將在NEAR可用。據悉,NEAR是以太坊的競爭對手,上周剛剛完全開放了其主網。該智能合約平臺的團隊承諾,與以太坊相比,將減少延遲和費用。Balancer Labs增長負責人Jeremy Musighi表示,除了專注于NEAR的工作之外,該團隊還將繼續專注于基于以太坊的開發。(The Block)[2020/10/27]

圖二(參考鏈接2)

通過以上漏洞,任何外部調用者都可以通過調用SodaBank.sol中的collectDebt()并傳入其他用戶的loadId來清空該用戶在soda中的代幣。

官方修復細節

soda官方為修復以上漏洞,設計了新的智能合約WETHCalculatorFixed.sol來替換WETHCalculator.sol。

通過分析可以看到在圖三WETHCalculatorFixed.sol智能合約第979行,maximumLoan的計算公式被正確的計算為loanInfo.lockedAmount?*maximumLTV/LTV_BASE。因此,圖三中第982行require()判斷的檢測條件變更為:

loanInfo.amountinterest>=loanInfo.lockedAmount*maximumLTV/LTV_BASE

圖三

該等式的代碼實現與soda項目中的邏輯設計相符,該等式的真假與用戶的借貸債務數目和被鎖本金數目相關。漏洞完成修復。

soda項目中關于該等式的邏輯設計細節可以從下面的鏈接中進行了解:

https://medium.com/soda-finance/the-soda-revolution-9185fdb99fc1

事件分析總結

該漏洞是由于邏輯設計與代碼實現不符而造成。當前常用的單元測試等測試方法以及自動化的測試工具均無法有效的查找到該種與邏輯相關的漏洞。

因此,CertiK安全團隊有以下安全建議:

安全是區塊鏈項目的立足之本,任何區塊鏈項目在上線前需要請專業第三方安全審計團隊對項目整體代碼進行安全審計。

當前區塊鏈檢測工具對智能合約的檢測均無法檢測其邏輯上出現的漏洞,其結果也沒有可信的數學證明作為支撐。形式化驗證是當前唯一被證明可以產生可信數學證明的軟件驗證方法。采用基于形式化驗證方法的區塊鏈檢測工具來驗證項目中的安全漏洞,應成為每一個項目在上鏈前的必經步驟。

參考鏈接:

圖一:

https://github.com/soda-finance/soda-contracts/blob/master/contracts/calculators/WETHCalculator.sol#L189

圖二:

https://github.com/soda-finance/soda-contracts/blob/master/contracts/components/SodaBank.sol#L104

圖三:

https://github.com/soda-finance/soda-contracts/blob/master/contracts/calculators/WETHCalculatorFixed.sol#L275

Tags:ODASODASODCERSoda Coinsod幣是炸騙嗎0xcert

狗狗幣價格
AIN:幣海生金:聯動跳水撲滅多頭希望 ETH日內是否有出逃機會_KNFT價格

行情回顧:昨日黃金美股聯動數字貨幣單邊下跌多頭沒有絲毫反抗的機會,以太坊暴跌35點,比特幣近700點。凌晨修復下行缺口行情逐漸穩定下來。今日預計先出現上行修復,隨后再次下跌.

1900/1/1 0:00:00
KIN:10萬DW 1秒售罄 | 動物世界DW第二期搶購活動完美收官_ring幣介紹

2020年9月22日17點,動物世界DW開啟了第二期打折搶購活動。本期動物世界拿出10萬枚DW作為福利供社區用戶搶購,10萬DW額度僅在1秒鐘即被搶購一空,延續了第一期搶購的火爆場面,可以說搶到.

1900/1/1 0:00:00
ING:金色趨勢 | 本周重磅事件及指標影響前瞻(實時更新中)_區塊鏈

9月21日 歐洲央行行長拉加德在一個線上會議上發表講話美聯儲就社區再投資法案舉行公開會議HuoBi上線CRU,并開啟新項目充值和挖礦活動。Crust是一個波卡生態項目。早期份額已上漲十倍.

1900/1/1 0:00:00
COVID Security: A Free Kraken Webinar w/ Nick Percoco – September 25 @ 14:00 UTC

AsKraken’sChiefSecurityOfficer,NickPercocoknowsfirsthandhowtoprotectclientsatoneoftheworld’slarge.

1900/1/1 0:00:00
BIT:Hotbit 定于9月25日上線 SALE (DxSALE)_TBI

尊敬的用戶: Hotbit即將開啟SALE(DxSALE)數字資產服務。 具體安排如下: 充值時間:2020年9月24日16:00交易時間:2020年9月25日16:00(香港時間)提現時間:2.

1900/1/1 0:00:00
比特幣:墨菲言幣:9.23比特幣反彈無力 短期操作高拋低吸即可_比特幣鉆石7年后價格

各位朋友們,你們好,我是墨菲言幣。這里沒有模糊的區間,只有精確的做單點位;沒有百分百的準確,只有穩定的盈利;沒有虛假浮夸,只有真實尊重.

1900/1/1 0:00:00
ads