CreamFinance是DeFi領域的知名去中心化借貸協議。項目方在業內首先推出了白名單機制的IonBank借貸機制。這一創新一方面為DeFi借貸提供了更為便捷的工具,另一方面也為黑客攻擊創造了條件。
在今年2月13日,CreamFinance就因為其IonBank被黑客利用并輔以閃電貸工具遭到攻擊。時隔半年,在8月30日,CreamFinance再次遭到閃電貸攻擊。
本次攻擊是因為項目中的APM代幣合約與借貸合約的cToken合約不適配造成重入漏洞,被黑客利用。
在本次攻擊中,攻擊者的地址為:0xce1f4b4f17224ec6df16eeb1e3e5321c54ff6ede。
攻擊合約的地址為:0x38c40427efbAAe566407e4CdE2A91947dF0bD22B。
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,8月17日,Bakkt比特幣月度期貨合約日交易額為8793萬美元,同比上升108%,未平倉合約量為1686萬美元,同比下降3%。[2020/8/19]
被攻擊的合約有兩個,合約及地址分別為:
APMtoken合約:0xff20817765cb7f73d4bde2e66e067e58d11095c2
cToken合約:0xd06527d5e56a3495252a528c4987003b712860ee
我們先看cToken合約中出現漏洞的代碼片段:
獨家 | Bakkt期貨合約數據一覽:金色財經報道,BakktVolumeBot數據顯示,本周比特幣月度期貨總交易額為1.11億美元,較上周增加20%;未平倉合約量高點為1310萬美元,較上周增長34%。[2020/5/10]
上面的代碼所實現的邏輯是在轉賬完成之后,才修改借貸額度狀態accountBorrows。
這是一個典型的競態問題。
代碼中的doTransferOut函數最終會調用標的代幣合約的transfer函數,在此之后再對與標的代幣關聯的cToken合約的狀態進行修改。
通常cToken對應的標的代幣合約都是標準的ERC-20代幣合約,這類標準的ERC-20代幣合約中的transfer函數中沒有回調函數。但如果標的代幣不是標準的ERC-20代幣合約,其transfer函數帶有回調函數,則會引發重入漏洞。
獨家 | 近30天比特幣搜索指數整體同比上升76%:金色財經報道,百度指數數據顯示,近30天區塊鏈搜索指數整體日均值為3791,整體同比上升22%,移動同比上升22%;近30天比特幣搜索指數整體日均值為23721,整體同比上升76%,移動同比上升93%,近30天以太坊搜索指數整體日均值為3925,整體同比上升18%,移動同比上升26%。[2020/2/24]
本次攻擊恰恰就是因為cToken對應的標的代幣不是標準的ERC-20代幣。APM代幣合約是個基于ERC-777標準的合約。這個合約中的transfer函數最后會調用_callPostTransferHooks()函數,在這個函數的最后會有一個回調函數IAmpTokensRecipient.tokensReceived。
獨家 | 胡繼曄:刪除分紅描述可能是在借鑒美聯儲最初成立時的做法:針對“Libra白皮書刪除將利息用于分紅給初期投資者的內容”一事,中國政法大學區塊鏈金融法治研究中心主任胡繼曄教授在接受金色財經采訪時表示:Libra的行為可能是在借鑒美聯儲最初成立時的做法。美聯儲最初大概55%的股份是私人股份,日本央行大概45%的股份是私人股份,所以宋鴻兵在《貨幣戰爭》一書中就將美聯儲定位為私人銀行。但實際上美聯儲和日本央行并非私人銀行,而是都會給私人股東一個固定的、長期的定息,比如年利率6%,這就相當于私人股東投資央行的永續債,獲得了一個長期的收益。
Libra白皮書刪除有關分紅的描述,我的猜測是想給投資人一個更長期的希望,Libra學習美聯儲和日本央行的做法,給予投資者一個長期的回報,但現在沒有明確寫出來,或許是要給投資者一個永續債,但至于什么時候給還不確定,因為Libra現在還處于投入期,前些年不會給到。
另外一個猜測是,之所以刪掉這部分信息,是必須等到Libra將來有盈利后才會給到。讓Libra的經營團隊可以在最初階段不必承受支付紅利和債券利息的壓力,從而得到更好的運轉。[2019/12/13]
下面是與此相關的代碼片段:
金色獨家 中倫律師事務所合伙人于魯平:任何沒有實體項目所支持的虛擬產品都是空洞的:今日,就前央行行長周小川得發言,金色財經獨家采訪中倫律師事務所合伙人、中央財經大學博士后于魯平,于魯平表示:所謂純粹炒作性的數字類、加密類的產品實際上是脫離實體,沒有任何產業支持以及資產保障的產品。這類產品不能算作是虛擬商品或者虛擬資產,除了概念炒作以外沒有任何實際價值。任何沒有實體項目所支持的虛擬產品無論其外觀包裝如何豐富,其本質都是空洞的,有可能成為各種經濟犯罪的載體。
在金融創新的當下,各種新概念新技術層出不同,數字經濟、數字資產等概念也被頻頻提起,漸入人心。與此同時,我們應該理性的看到,對這些概念本身的相關理論研究才剛剛起步,眾多商業模式亟待檢驗,很多監管方式尚需實踐。對所謂虛擬產品風險的最基本判斷應當是拋開華麗的炒作包裝而探究其商業實體。而監管的重要設計思路之一應當是通過對規則和制度的有效創設,將當下的虛擬產品概念和實體項目進行硬連接,即將金融創新和實體經濟進行價值銜接。
與此同時,也要充分發揮市場的有效配置作用和價值甄別作用,用優質項目驅逐偽劣項目。目前,即便我們有可能通過技術創新了交易的形式,也并沒有改變交易的本質。沒有脫離實體應用而存在的技術創新,也不會有脫離實體經濟而存在金融產品。[2018/6/14]
在回調函數中,攻擊者可以再次發起交易,而此時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:TOKETOKTOKENKEN3X Long Matic TokenTokenpayATTN Tokenimtoken收的u轉不出去地址權限已修改
在DeFi中,雖然不一定越大越好,但是高APY的美總是能吸引人們的眼球。而且無論與傳統金融相比,DeFi收益率高多少,都不乏渴望最大化利潤的DeFi用戶,他們在平臺與平臺、網絡與網絡之間追求更高.
1900/1/1 0:00:00區塊鏈上的去中心化金融正變得越來越流行。隨著這種流行,出現了新形式的資產,以滿足更廣泛的用戶群的需求。這些新資產中最重要的一個類別就是合成資產.
1900/1/1 0:00:009月2日,搖擺不定的市場行情出現逆轉。這一天,比特幣突破50000.00美元關口。以太坊的價格延續近兩日漲勢出現了大幅躍升突破3800美元,達到三個多月來的最高水平.
1900/1/1 0:00:00頭條 ▌天貓超級品牌日推出中秋NFT數字月餅抽簽活動9月8日消息,天貓超級品牌日推出超寫實數字人AYAYI定制月餅禮盒及定制NFT數字月餅。中簽用戶可獲得一枚NFT定制月餅.
1900/1/1 0:00:00Loot最終代表的是NFT構建塊,能飛多高完全取決于社區的集體想象力上限,它是NFT領域的范式轉變.
1900/1/1 0:00:00本周技術周刊包含以太坊、Chainlink、Arbitrum、Optimism、Kusama五個網絡的技術類新聞.
1900/1/1 0:00:00