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

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

Author:

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

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

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

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

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

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

Larry Cermak:Nexo所有EVM地址中NEXO占比近70%,價值2.64億美元:金色財經報道,TheBlock副總裁Larry Cermak在社交媒體上稱,這些都是我數據庫中Nexo的EVM地址,目前在19個錢包中總持有3.78億美元,其中2.64億美元是NEXO代幣。所有EVM地址加起來只有1.14億美元的非NEXO資產。[2023/1/13 11:11:07]

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

漏洞技術分析

圖一

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

安全審計公司CertiK通過股票發行籌集了近8800萬美元:金色財經報道,SEC文件顯示,區塊鏈安全審計公司CertiK通過股票發行籌集了近8800萬美元。此次發行的首次銷售日期為3月23日。此次發行的總金額為87,999,975美元,來自15位投資者,細節未披露。(CoinDesk)[2022/4/1 14:30:14]

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

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

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

Gate.io獲CER三星認證 全球百家交易平臺安全測評排名第一:據CER的最新交易所安全測評排名顯示,Gate.io的網絡安全分數升至9.38分,在全球100個交易平臺中排名第一。Gate.io同時獲得三星認證,目前全球僅6所交易平臺獲此等級。另Gate.io已攜手CER同公司旗下的HackenProof推出漏洞獎勵計劃。

CER是公開批評交易量指標的交易所排名平臺,其安全標準被CoinGecko、CoinMarketCap等權威行情網站所使用。[2020/7/16]

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

動態 | 百貨公司Pricerite宣布開始接受BTC、ETH、LTC支付:百貨公司PriceRite宣布將在其商店接受加密貨幣BTC、ETH、LTC付款。其中,中國香港地區的MegaBox購物中心將立即啟動。[2019/8/29]

圖二(參考鏈接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:SODODASODACERSODIUM幣koda幣的前景Soda CoinDSOCCER幣

SOL
9.23幣俠:比特幣空頭依舊,或將再破新低_加密貨幣

比特幣日線圖來看,前天一根放量穿3線的斷頭鍘陰線收線后,昨天迎來了280個點左右的超跌反彈,但力度不足,甚至于沒有觸碰到日線級別的5日線壓力就迎來了5日線下穿10日線的死叉.

1900/1/1 0:00:00
幣圈小蝶:幣圈新手該避免的雷區你都知道嗎?_區塊鏈

?從你當初踏入數字幣合約交易這個起初看來充滿了機遇、利益、激情、便利的市場,眼里滿是盈虧的時候,你一定期望看到的是自己在市場如魚得水的狀態——遇到一個盡責而專業的老師.

1900/1/1 0:00:00
CeFi與DeFi從來不是割據對立的關系_EFI

自2018年DeFi概念誕生以來,關于DeFi與CeFi孰優孰劣,DeFi是否會取代CeFi這類問題的討論就絡繹不絕。雙方最近的有一次交鋒來自今年8月.

1900/1/1 0:00:00
【波場系列】SSO-DAPP挖礦操作_SER

┃SSO-DAPP挖礦操作1:通過合約錢包或錢包內輸入網址進入SSODAPP ①:可切換語言 分析:過去兩天XRP Network地址活動達到第二和第三峰值:5月30日消息.

1900/1/1 0:00:00
【活動】“買入賽 搶750,000 LNT豪禮” 獲獎名單_300

尊敬的BithumbGlobal用戶:BithumbGlobal已對本次LNT活動獲獎名單進行統計。其中,“凈買入送750,000LNT”共計308名用戶獲得獎勵.

1900/1/1 0:00:00
墨菲言幣:9.23 以太低位震蕩調整 空頭尚未結束_SHI

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

1900/1/1 0:00:00
ads