CreamFinance是DeFi領域的知名去中心化借貸協議。項目方在業內首先推出了白名單機制的IonBank借貸機制。這一創新一方面為DeFi借貸提供了更為便捷的工具,另一方面也為黑客攻擊創造了條件。
在今年2月13日,CreamFinance就因為其IonBank被黑客利用并輔以閃電貸工具遭到攻擊。時隔半年,在8月30日,CreamFinance再次遭到閃電貸攻擊。
本次攻擊是因為項目中的APM代幣合約與借貸合約的cToken合約不適配造成重入漏洞,被黑客利用。
在本次攻擊中,攻擊者的地址為:0xce1f4b4f17224ec6df16eeb1e3e5321c54ff6ede。
攻擊合約的地址為:0x38c40427efbAAe566407e4CdE2A91947dF0bD22B。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,5月26日,Bakkt比特幣月度期貨合約單日交易額為3505萬美元,同比增長185%,未平倉合約量為757萬美元,同比下降6%。[2020/5/27]
被攻擊的合約有兩個,合約及地址分別為:
APMtoken合約:0xff20817765cb7f73d4bde2e66e067e58d11095c2
cToken合約:0xd06527d5e56a3495252a528c4987003b712860ee
我們先看cToken合約中出現漏洞的代碼片段:
獨家 | USDT占比特幣交易比重約為74.51%:金色財經消息,據cryptocompare數據顯示,目前比特幣交易情況按照交易幣種排名,排在第一的是USDT,占比為74.51%;排在第二的是USDC,占比為8.24%;排在第三的是美元,占比為6.78%;排在第四的是日元,占比為5.67%;排在第五的是歐元,占比為1.61%。[2020/2/25]
上面的代碼所實現的邏輯是在轉賬完成之后,才修改借貸額度狀態accountBorrows。
這是一個典型的競態問題。
代碼中的doTransferOut函數最終會調用標的代幣合約的transfer函數,在此之后再對與標的代幣關聯的cToken合約的狀態進行修改。
通常cToken對應的標的代幣合約都是標準的ERC-20代幣合約,這類標準的ERC-20代幣合約中的transfer函數中沒有回調函數。但如果標的代幣不是標準的ERC-20代幣合約,其transfer函數帶有回調函數,則會引發重入漏洞。
獨家 | 犇睿資本創始人褚康:比特幣行情有特定的運行規律 不受中國股市左右:針對“A股走勢對比特幣行情的影響”問題,2月5日,犇睿資本創始人褚康接受金色財經獨家采訪時表示,受疫情影響,鼠年首個交易日,三大指數開盤集體下跌,上證綜指跌8.73%,深成指跌9.13%,創業板指跌8.23%。三大指數的集體下跌帶動包括比特幣在內的多數幣種的一波急拉與下砸,但是比特幣本身有自身獨特的走勢特點,比如春節假期期間錄得30%以上的漲幅,大幅度跑贏上證指數。這次比特幣受疫情影響的波動從一定層面上表現出了比特幣是有資金流入的,無論是否具有避險屬性,還是大宗商品的投資投機屬性,比特幣都有特定的運行規律。這個規律,不是中國股市來左右的。當然,短期的漲幅必定會帶來一定的回調,但幅度肯定不會很大。并且有望在減半利好和市場流動性增加的推動下,突破下降趨勢線,再度迎來上漲。[2020/2/5]
本次攻擊恰恰就是因為cToken對應的標的代幣不是標準的ERC-20代幣。APM代幣合約是個基于ERC-777標準的合約。這個合約中的transfer函數最后會調用_callPostTransferHooks()函數,在這個函數的最后會有一個回調函數IAmpTokensRecipient.tokensReceived。
獨家 | 工行數字貨幣錢包正在內測中 錢包從實名角度被劃分為四類:金色財經報道,今日一張工商銀行錢包“工銀數字貨幣錢包”截圖流出。截圖顯示,工銀數字貨幣錢包是法定數字貨幣的載體,是依托法定數字貨幣流通體系的支付工具。協議顯示,錢包從實名角度被劃分為四類。甲方可憑借有效個人身份證件通過乙方非柜面渠道或合作方柜面渠道開立數字貨幣錢包,用于辦理數字貨幣收付及相關業務。
就此,金色財經向工商銀行官方進行了求證。工行回復稱,目前工銀數字貨幣錢包只在北京、廣州等地區內部測試,暫未開放。[2019/10/29]
下面是與此相關的代碼片段:
獨家 | 鄭世俊:小牛市到來前期參與項目投資:區塊鏈行業發展中,不同的投資機構之間投資邏輯不同,在不同的投資階段,每個投資機構的選擇也不相同。對此,HeightFund合伙人鄭世俊對金色財經指出:“我們從好幾個維度去分析項目,技術,經濟模型,團隊,估值,鎖倉,退出周期等這些方面。之前看公鏈會多一些,但隨著底層公鏈做的人越來越多,大多數都是炒概念,最后能跑出來的底層公鏈頂多三四家,而且技術不斷迭代更新,底層公鏈這個市場會死掉一大批。隨著長期熊市,考慮市場下行風險,最近我們沒有投項目了,就算投了,二級市場流動性差,也無法退出,之后在預判小牛市到來前期應該會參與一些項目。”[2018/8/3]
在回調函數中,攻擊者可以再次發起交易,而此時cToken還未修改用戶借款的相關狀態,攻擊者卻已經收到借款,可以利用這些借款進行后續的動作。
合約中與cToken修改借款狀態的相關接口已經定義了防重入的鎖?borrowInternal,使用戶無法再次直接從初始的借款合約中借入資金。
borrowInternal的代碼片段如下:
攻擊者也注意到了這一點,于是選擇從一個借貸池借來的cToken,去另一個借貸池借款,以繞開上述防重入鎖的限制。
由于cToken被再次用于借款,因此超過了借款額度。如果攻擊者直接還款則會因為超額借貸而導致第一次借貸交易失敗。因此攻擊者選擇不還款,而是使用另一個地址清算了這個滿足清算條件的cToken,從而完成全部攻擊。
縱觀整個攻擊過程,導致本次攻擊成功的原因有兩個:
1為AMP代幣添加借貸池時,沒有考慮到AMP代幣與借貸合約的適配性
2借貸生成的cToken存在競態條件問題,代碼的實現邏輯沒有嚴格遵循狀態修改要放在外部調用之前的默認規范。
在此,靈蹤安全提醒所有的項目方:編寫Solidity合約代碼時一定要遵循Solidity合約編寫的安全規范,不能心存僥幸。
在此例中Cream.Finance的代碼分叉復制于Compound,盡管后者已經經過考驗,但依然不能認為其代碼是萬無一失的。
根據我們的經驗,即便是利用一些成熟的、歷經考驗的項目代碼,也不能認為它們是絕對安全的,依然要進行充分的審計。尤其是要弄清楚,這些代碼適用的前提條件和安全假設,以及具體到自己的應用場景中,這些代碼是否還滿足這些前提和假設。
在靈蹤安全審計代碼的過程中,對適用前提和安全假設都有嚴格的檢驗標準和審查流程,并不會因為項目代碼分叉自知名項目而忽略對這些安全事項的檢查。
關于靈蹤安全:
靈蹤安全科技有限公司是一家專注區塊鏈生態安全的公司。靈蹤安全科技主要通過“代碼風險檢測+邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立于2021年01月,團隊由一支擁有豐富智能合約編程經驗及網絡安全經驗的團隊創建。
團隊成員參與發起并提交了以太坊領域的多項標準草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊團隊正式收入。
團隊參與了多項以太坊項目的發起及構建,包括區塊鏈平臺、DAO組織、鏈上數據存儲、去中心化交易所等項目,并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤及安全防范系統。
作者:
靈蹤安全CEO譚粵飛
美國弗吉尼亞理工大學(VirginiaTech,Blacksburg,VA,USA)工業工程碩士(Master)。曾任美國硅谷半導體公司AIBTInc軟件工程師,負責底層控制系統的開發、設備制程的程序實現、算法的設計,并負責與臺積電的全面技術對接和交流。自2011至今,從事嵌入式,互聯網及區塊鏈技術的研究,深圳大學創業學院《區塊鏈概論》課程教師,中山大學區塊鏈與智能中心客座研究員,廣東省金融創新研究會常務理事?。個人擁有4項區塊鏈相關專利、3本出版著作。
Tags:TOKTOKENTOKEKENZGLYSB TokenAtlantis TokenHBTC Captain Tokenitokenwallet安全嗎
今年以來,有關VR、AR、區塊鏈、NFT、社交媒體、5G等大熱的技術和創業名詞均與元宇宙相連接.
1900/1/1 0:00:001.金色觀察|從Loot推論如何在NFT領域做產品創新?在NFT大概保持了半年熱度之后,終于出現了一個刷屏級的項目Loot,也許因為Loot太過于奇特和魔幻。行業人士紛紛轉到朋友圈或各種DIY.
1900/1/1 0:00:00在美國證券交易委員會主席GaryGensler發表了題為《加密貨幣與國家安全》演講的3天后,SEC在官網發布了首例針對DeFi平臺監管的案例.
1900/1/1 0:00:002021年的夏天真真是NFTSummer。在剛剛過去的一周,NFT市場似乎正經歷著一場Fomo.
1900/1/1 0:00:00據北京商報消息,9月10日,在北京市地方金融監督管理局聯合中國人民銀行數字貨幣研究所、豐臺區人民政府、亞洲金融合作協會等單位在北京豐臺麗澤金融商務區舉辦的2021中國數字金融論壇上.
1900/1/1 0:00:002021年3月,“元宇宙第一股”Roblox上市當天股價暴漲54.4%,“元宇宙”進入大眾視野;5月,Facebook創始人扎克伯格表示Facebook將在五年內轉變為一個元宇宙公司.
1900/1/1 0:00:00