Cream Finance是DeFi領域的知名去中心化借貸協議。項目方在業內首先推出了白名單機制的Ion Bank借貸機制。這一創新一方面為DeFi借貸提供了更為便捷的工具,另一方面也為黑客攻擊創造了條件。
在今年2月13日,Cream Finance就因為其Ion Bank被黑客利用并輔以閃電貸工具遭到攻擊。時隔半年,在8月30日,Cream Finance再次遭到閃電貸攻擊。
本次攻擊是因為項目中的APM代幣合約與借貸合約的cToken合約不適配造成重入漏洞,被黑客利用。
在本次攻擊中,攻擊者的地址為:0xce1f4b4f17224ec6df16eeb1e3e5321c54ff6ede。
攻擊合約的地址為:0x38c40427efbAAe566407e4CdE2A91947dF0bD22B。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,8月11日,Bakkt比特幣月度期貨合約日交易額為7553萬美元,同比上升44%,未平倉合約量為1657萬美元,同比下降16%。[2020/8/12]
被攻擊的合約有兩個,合約及地址分別為:
APM token合約:0xff20817765cb7f73d4bde2e66e067e58d11095c2
cToken合約:0xd06527d5e56a3495252a528c4987003b712860ee
我們先看cToken合約中出現漏洞的代碼片段:
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,5月5日,Bakkt比特幣月度期貨合約單日交易額為1959萬美元,同比下跌5%,未平倉合約量為1148萬美元,同比上升5%。[2020/5/6]
上面的代碼所實現的邏輯是在轉賬完成之后,才修改借貸額度狀態accountBorrows。
這是一個典型的競態問題。
代碼中的doTransferOut函數最終會調用標的代幣(underling token)合約的transfer函數,在此之后再對與標的代幣關聯的cToken合約的狀態進行修改。
通常cToken對應的標的代幣合約都是標準的ERC-20代幣合約,這類標準的ERC-20代幣合約中的transfer函數中沒有回調函數。但如果標的代幣不是標準的ERC-20代幣合約,其transfer函數帶有回調函數,則會引發重入漏洞。
獨家 | OKEx CEO JayHao:市場流動性異常緊張 美聯儲對未來經濟不樂觀:今日,在針對“美聯儲降低基礎利率至零”代表了怎樣的市場情況?”的問題,OKEx CEO JayHao在金色財經獨家采訪時表示,一般而言,當遇到金融或經濟危機時,美聯儲都會下調聯邦儲備基金利率,向市場注入流動性。就在上一周,美聯儲直接將目標利率下調50個基點,維持在1.25%的低水平,然而這仍無法解決市場的流動性危機,美國金融市場的暴跌依然在繼續。聯邦基準利率至多降為零利率,在1.25%的低利率基礎上繼續下調的空間已經不大。如果在極端低利率(零利率)水平下市場流動性依然沒辦法緩解,那么使用非常規性的貨幣政策---量化寬松。這反映了市場流動性已經異常緊張,而美聯儲對未來的經濟也持不樂觀的態度,用美聯儲的原話說就是“挑戰”。[2020/3/16]
本次攻擊恰恰就是因為cToken對應的標的代幣(APM代幣)不是標準的ERC-20代幣。APM代幣合約是個基于ERC-777標準的合約。這個合約中的transfer函數最后會調用_callPostTransferHooks()函數,在這個函數的最后會有一個回調函數IAmpTokensRecipient.tokensReceived。
獨家 | SHAWN SHA Block Value Fund:創富效應加劇ICO圈錢行為 需監管:針對“ICO亂象造成的原因”,金色財經就此事獨家采訪到SHAWN SHA,Block Value Fund(BV FUND),他表示:“其實從2017年下半年開始,很多ICO項目瘋狂出現,各路牛鬼蛇神各顯神通斂財,有拿到錢后跑路國外的,還有拿錢不做事代碼不更新的,甚至還有些項目方拿了錢后轉身做投資機構的,等等亂象打擊了市場投資人的信心,也消耗了不少投資資本,更極大損害了ICO市場的信譽。創富效應顯著導致在目前全球經濟蕭條的情況下,很多不法投機者參與其中圈錢,這個行業亟待監管。”[2018/9/6]
下面是與此相關的代碼片段:
獨家 | 歐洲區塊鏈中心主席Bla? Golob:提倡在監管下發展區塊鏈技術:金色財經現場報道,7 月 21 日,歐洲區塊鏈中心(European Blockchain Hub)支持下的亞洲區塊鏈中心(Asia Blockchain Hub)于馬來西亞吉隆坡正式啟動運作。金色財經獨家專訪歐洲區塊鏈中心主席Bla? Golob,其談到歐洲區塊鏈發展的趨勢時指出:一是在歐盟、歐洲議會倡導下的區塊鏈監管趨勢的加強,如GDRP《通用數據保護條例》的出臺;二是沙盒監管模式,對更多項目進行\"具體項目具體分析(case by case study)\"以控制風險。 Golob還提到了瑞士的發展模式,瑞士致力打造加密貨幣交易的世界中心,其更加開放但面臨更多風險。
歐洲區塊鏈中心提倡在歐盟的監管下發展區塊鏈技術及加密貨幣。歐洲區塊鏈中心的目標在于,一、提倡智慧監管;二、提供區塊鏈建設能力,如促進分布式賬本和多技術融合,幫助提升區塊鏈意識,提供教育與培訓,提供研發支持;三、促進其組織內的項目的良好治理模式。[2018/7/21]
在回調函數中,攻擊者可以再次發起交易,而此時cToken還未修改用戶借款的相關狀態,攻擊者卻已經收到借款,可以利用這些借款進行后續的動作。
合約中與cToken修改借款狀態的相關接口已經定義了防重入的鎖 borrowInternal,使用戶無法再次直接從初始的借款合約中借入資金。
borrowInternal的代碼片段如下:
攻擊者也注意到了這一點,于是選擇從一個借貸池借來的cToken,去另一個借貸池借款,以繞開上述防重入鎖的限制。
由于cToken被再次用于借款,因此超過了借款額度。如果攻擊者直接還款則會因為超額借貸而導致第一次借貸交易失敗。因此攻擊者選擇不還款,而是使用另一個地址清算了這個滿足清算條件的cToken,從而完成全部攻擊。
縱觀整個攻擊過程,導致本次攻擊成功的原因有兩個:
1 為AMP代幣添加借貸池時,沒有考慮到AMP代幣與借貸合約的適配性
2 借貸生成的cToken存在競態條件問題,代碼的實現邏輯沒有嚴格遵循狀態修改要放在外部調用之前的默認規范。
在此,Fairyproof Tech提醒所有的項目方:編寫Solidity合約代碼時一定要遵循Solidity合約編寫的安全規范,不能心存僥幸。
在此例中Cream.Finance的代碼分叉復制于Compound,盡管后者已經經過考驗,但依然不能認為其代碼是萬無一失的。
根據我們的經驗,即便是利用一些成熟的、歷經考驗的項目代碼,也不能認為它們是絕對安全的,依然要進行充分的審計。尤其是要弄清楚,這些代碼適用的前提條件和安全假設,以及具體到自己的應用場景中,這些代碼是否還滿足這些前提和假設。
在Fairyproof Tech審計代碼的過程中,對適用前提和安全假設都有嚴格的檢驗標準和審查流程,并不會因為項目代碼分叉自知名項目而忽略對這些安全事項的檢查。
關于Fairyproof Tech:
Fairyproof Tech科技有限公司是一家專注區塊鏈生態安全的公司。Fairyproof Tech科技主要通過“代碼風險檢測+邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立于2021年01月,團隊由一支擁有豐富智能合約編程經驗及網絡安全經驗的團隊創建。
團隊成員參與發起并提交了以太坊領域的多項標準草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊團隊正式收入。
團隊參與了多項以太坊項目的發起及構建,包括區塊鏈平臺、DAO組織、鏈上數據存儲、去中心化交易所等項目, 并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤及安全防范系統。
作者:
Fairyproof TechCEO 譚粵飛
美國弗吉尼亞理工大學(Virginia Tech, Blacksburg, VA, USA) 工業工程(Industrial Engineering) 碩士(Master)。曾任美國硅谷半導體公司 AIBT Inc(San Jose, CA, USA) 軟件工程師,負責底層控制系統的開發、設備制程的程序實現、算法的設計,并負責與臺積電的全面技術對接和交流。自2011至今,從事嵌入式,互聯網及區塊鏈技術的研究,深圳大學創業學院《區塊鏈概論》課程教師,中山大學區塊鏈與智能中心客座研究員,廣東省金融創新研究會常務理事 。個人擁有4項區塊鏈相關專利、3本出版著作。
Tags:區塊鏈TOKETOKTOKEN區塊鏈域名開發Dapp TokenGro DAO TokenVanity Token
1.GameFi中的什么設計值得期待?隨著GameFi代幣的熱度高漲,越來越多的GameFi出現了,以Play?to?earn為主要模式的GameFi,如果我們參與的話.
1900/1/1 0:00:00頭條 ▌Twitter將允許用戶用比特幣“打賞”內容創作者金色財經報道,9月1日消息,今年年初時Twitter推出“Tip Jar”功能,最新測試版Twitter將功能進一步延伸.
1900/1/1 0:00:00去年這個時候,很多人第一次知道了Uniswap,原因很簡單,有利可圖。不少人今天買入一個名不見經傳的Token,第二天便以10倍、20倍的價格賣出,有些拿的長久的一些,一兩個月百倍的神話比比皆是.
1900/1/1 0:00:00浙江此前上線的“浙江知識產權在線”。 胡亦心 攝9月9日,浙江省知識產權金融服務“入園惠企”行動(2021-2023年)現場推進會在杭州舉行.
1900/1/1 0:00:0009-06-2021 周報摘要: 1、上周交易所BTC凈提幣3萬枚,交易所內剩余的BTC余額為243萬枚,處于近一年以來的低位.
1900/1/1 0:00:00當一條推文賣出了數百萬美元當一塊石頭圖片拍賣到50萬美金 你覺得這是在做夢是嗎? 毫無疑問,自從NFT開啟暴漲熱度之后,網絡上開始出現如上文所描述的各類交易現象.
1900/1/1 0:00:00