比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > LTC > Info

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

Author:

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

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

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

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

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

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

Certihash 與 IBM 合作開發企業區塊鏈安全工具套件:金色財經消息,Certihash宣布了一個基于美國國家標準與技術研究院 (NIST) 網絡安全框架開發“Sentinel Node”的項目,這是一套由五個區塊鏈授權的企業實用程序應用程序中的第一個。Certihash 選擇 IBM Consulting 來協助軟件設計和開發。作為該項目的一部分,IBM Consulting 將使用經過驗證的網絡設計框架,并利用他們在向企業提供去中心化應用程序方面的豐富經驗,致力于最先進的去中心化網絡安全基礎設施。該應用程序的 MVP 版本計劃于 2022 年初秋推出。(finextra)[2022/4/28 2:37:35]

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

Balancer社區新提案將流動性挖礦從3層變為4層,引入試驗池:去中心化交易所Balancerv2版本流動性挖礦新增第四梯度(Tier4)獎勵,以解決由于第三梯度分配風險過大的問題。第四梯度將有10個slot,每個slot每周額外獲得1000BAL的獎勵,原第三梯度由14個slot減為12個slot。[2021/6/13 23:33:52]

漏洞技術分析

圖一

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

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

月亮鼠Smrat已通過CERTIK審計:據官方消息,Smrat已通過CERTIK審計,獲得83分排名73。Dao自治社區投票通過。目前SMRAT持幣地址突破已87000個,用戶可以通過MEME+NFT+持有SMRAT獲得分紅免質押挖礦BNB。同時在今日DAO自治社區上幣投票通過,已通過上線中心化交易所的提議,目前已上線pancakeSwap。

據了解,MoonRat是一個社區驅動的、公平啟動的DeFi項目,建立在幣安智能鏈BSC上。每筆交易中都有三個功能:映射、LP獲取以及銷毀。投資者持有SMRAT就可以賺取BNB。[2021/5/16 22:08:38]

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

CertiK Chain計劃于10月初啟動主網:區塊鏈安全公司CertiK9月28日在Discord頻道宣布,CertiKChain主網計劃在10月初上線。不過提高抵押的4周任務被取消,將更多精力用于主網的啟動。本周團隊將開始階段3的部署。據此前消息,9月17日,CertiK基金會已正式開源CertiKChain。已開放使用的產品包括CertiKChain、去中心化CertiK安全預言機、用于編寫安全智能合約的安全編程語言和編譯器工具鏈DeepSEA工具。[2020/9/30]

由于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中:

圖二(參考鏈接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:SODSODAODACERSODATSUKODACHI價格cere幣怎么買

LTC
TOKEN:OKEx 即將開啟六大 DeFi 項目充值活動,排名前兩名項目符合上線條件_TOKE

鏈聞消息,OKEx將于9月21日20:00開啟六大DeFi項目充值活動。參與本次充值上線的項目為:Defibox、Defis、DMD、Organix、NewdexToken和TokenPocke.

1900/1/1 0:00:00
BIG:BigONE 已開啟 MEME 交易,上線 MEME/USDT 交易對_MEM

親愛的用戶: BigONE已上線MEME交易,并開通MEME/USDT交易對,MEME的充提服務已開啟.

1900/1/1 0:00:00
APT:“韭菜”的七種常見思維 你中招了么?_STOS幣

“韭菜”一詞,其實并不是股市的專屬,無論是區塊鏈還是外匯、期貨,不管是和A股還是美股,“韭菜”的“長相”都是一樣,因為他們的思維都是一樣的.

1900/1/1 0:00:00
FIL:臨門一腳現分叉潮?Filecoin面臨的是太空競賽還是星際爭霸?_OIN

9月15日,Filecoin第一輪太空競賽落下帷幕,來自六大洲32個國家的356名礦工參加了此次競賽。雖然中間出了一些小差錯,但總體上結果還是遠超預期.

1900/1/1 0:00:00
比特幣:楊添論幣:深秋將至大廈傾塌,趨勢由多轉空多軍何去何從_比特幣套現很難嗎

USDT溢價率分析:連日下行的U價和美元匯率今日止跌拐頭上行,受盤外因素影響美元匯率漲勢迅猛反壓U價一頭,導致USDT溢價率由正轉負,比特幣由漲轉跌.

1900/1/1 0:00:00
比特幣:不得不說我和比特幣之間的“悲慘故事” 聞者流淚 聽者傷心_比特幣最高的時候是多少錢一枚2023

2013年,我就讀大一期間,在一節通識課上聽說了“比特幣”這個概念,其后幾年也一直斷斷續續地關注其技術演變,但是沒有投身炒幣大軍。2016年底,由于工作需要,我第一次嘗試比特幣交易.

1900/1/1 0:00:00
ads