本文由“靈蹤安全”原創,授權“金色財經”獨家發布。
8月19日,BSC上的收益聚合項目PineconeFinance的保險庫受到黑客攻擊,損失約350萬沒PCT代幣。
截至寫稿時為止,項目方已經針對此次攻擊中受損的用戶發布了補償計劃:項目團隊及投資人共持有491萬枚代幣,將用所有代幣補償用戶。
盡管此次攻擊受損的金額相對近期動輒千萬、上億美元的金額不算太大,但這起攻擊事件還是給我們留下了值得吸取的經驗和教訓。
這次攻擊出現漏洞的地方在于轉賬過程使用的代幣有損耗,而合約對這個損耗沒有處理好于是就導致漏洞出現從而被黑客攻擊。
在正常狀況下,用戶之間轉賬代幣的時候,如果代幣在轉賬過程中沒有損耗,處理起來是比較簡單的。但如果某些代幣在轉賬過程中會出現損耗,則處理這類代幣的轉賬就要非常小心了。
獨家 | Aave,Curve躍居DeFi鎖倉量二,三名:據DappBirds DeFi Data專題數據顯示,Aave,Curve分別以10.70億美元,9.91億美元躍居DeFi鎖倉量二,三名,DeFi中鎖定資產總價值達79.94億美元,較昨日下降0.89%,其中Maker,Aave,Curve,Synthetix,Compound分別以14.70億美元,10.70億美元,9.91億美元,8.10億美元,7.67億美元位列前五名[2020/8/17]
在Pinecone項目中,其代幣PCT是作為資金池的質押代幣,在其合約設計的代幣轉賬過程中會有手續費的損耗。而項目將這個損耗計入了用戶的份額中,于是用戶份額和質押的PCT總額就會出現偏差。這個偏差就能被攻擊者用來領取多余的獎勵。
具體而言,本次攻擊存在漏洞的合約有:
PineconeFarm合約,其地址為:
獨家 | Bakkt期貨合約數據一覽:金色財經報道,Bakkt Volume Bot數據顯示,5月5日,Bakkt比特幣月度期貨合約單日交易額為1959萬美元,同比下跌5%,未平倉合約量為1148萬美元,同比上升5%。[2020/5/6]
0x4099f27fb72788b7bb5cb64e3d2b865eb82d0f8f
farm合約使用的策略合約IPineconeStrategy,其地址為:
0x1e542DB46eb87cc8E5fA8e1856eC53F89dc4bC89
PCT代幣合約,其地址為:
0x6019384a802310117a6E889e7021d2d0A144fE50
漏洞涉及的相關代碼片段為:
PineconeToke的_transfer()函數:
獨家 | Bakkt期貨合約數據一覽:金色財經報道,BakktVolumeBot數據顯示,4月6日,Bakkt比特幣月度期貨合約單日交易額為1449萬美元,環比上升7%,未平倉合約量為519萬美元,環比下降19%。[2020/4/7]
在這里,PineconeToken的transferFrom的調用了_transfer()函數,在_transfer()中用戶轉賬會收取手續費,因而實際到賬的金額比transferFrom傳入的amount值要小。
PineconeFarm合約的deposit()函數:
獨家 | USDT占比特幣交易比重約為74.51%:金色財經消息,據cryptocompare數據顯示,目前比特幣交易情況按照交易幣種排名,排在第一的是USDT,占比為74.51%;排在第二的是USDC,占比為8.24%;排在第三的是美元,占比為6.78%;排在第四的是日元,占比為5.67%;排在第五的是歐元,占比為1.61%。[2020/2/25]
在上述代碼中,PineconeFarm將存入的PCT質押到IPineconeStrategy合約中獲取收益。通過使用BSC的vm?trace工具,可以發現這個IPineconeStrategy是一個VaultRabbitCake合約。PineconeFarm對用戶份額share的計算會用到_wantAmt。而這個_wantAmt和下面的函數片段又有關聯。
策略合約的deposit()函數
獨家 | BlockTOP Kira:科學分散投資以對沖市場下行風險:針對近期以太坊價格跳水的現象,金色財經就此事獨家采訪到BlockTOP Kira,在關于“以太坊暴跌對投資方的影響”這一問題上,他表示:“歷史證明,熊市歷來是優質項目最好的試金石,資本方在熊市之際最重要的是做好投資組合的流動性管理,這并不意味著完全不投資,流動性充足的資本更應該積極提升投資專業能力,并加大力度專注于投資技術驅動的優質項目;同時,資本方應該開始評估市場上專業的資產管理和組合投資配置服務,通過科學分散的方式對沖市場下行風險;此外,頭部的資本方在這段時間內會更注重于品牌建設和資金募集的工作,以鞏固強者恒強的競爭格局。”[2018/8/24]
從上述代碼可以看出,在計算sharesAdded時,其分母是wantTotal,而wantTotal依賴balance()。balance是關聯的總鎖倉PCT余額。由于實際的PCT余額小于deposit傳入的金額_wantAmt,這就會造成用戶份額在計算時增加了。
最后,當攻擊者調用withdraw函數時,只要輸入比deposit值大的參數就可以贖回超過質押數的PCT代幣。
按照這個機制,黑客在攻擊時,可以重復重復調用deposit和withdraw功能,從而導致合約質押的PCT損耗不斷增加、資金池持有的PCT余額不斷變小。然后在計算獎勵時,由于使用資金池中的余額作為分母,而分母越小,則可額外領取的獎勵就越多。
了解了代碼的漏洞及相關機制后,我們再來看黑客諸多攻擊中的一次攻擊:
這次攻擊中,黑客的地址為:0xfc6682db7e9f57882e8b18ebc9adc7a19f770494,其交易流程如下:
可以看出第一筆交易0xe446f質押了8.1萬PCT,然后在0x76d33提取獎勵時卻提取了16萬PCT。
我們繼續查看withdraw交易的參數,可以看出傳入amount值為22603495a2af5d0ccc34,將其轉換為10進制數就是16萬,遠超質押金額8.1萬。詳細細節如下圖所示:
從這次攻擊的漏洞原因看,在轉賬時有損耗的代幣在參與收益類項目時,存在較多的問題。因此靈蹤安全提醒項目方要充分考慮損耗對收益計算的影響。
對此類問題,靈蹤安全一直以來都會在審計時特別和項目方強調。另外我們也再次強調審計在項目中的重要性,希望項目方在項目上線前充分做好審計工作。
關于靈蹤安全:
靈蹤安全科技有限公司是一家專注區塊鏈生態安全的公司。靈蹤安全科技主要通過“代碼風險檢測+邏輯風險檢測“的一體化綜合方案服務了諸多新興知名項目。公司成立于2021年01月,團隊由一支擁有豐富智能合約編程經驗及網絡安全經驗的團隊創建。
團隊成員參與發起并提交了以太坊領域的多項標準草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊團隊正式收入。
團隊參與了多項以太坊項目的發起及構建,包括區塊鏈平臺、DAO組織、鏈上數據存儲、去中心化交易所等項目,并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤及安全防范系統。
作者:
靈蹤安全CEO譚粵飛
美國弗吉尼亞理工大學(VirginiaTech,Blacksburg,VA,USA)工業工程碩士(Master)。曾任美國硅谷半導體公司AIBTInc軟件工程師,負責底層控制系統的開發、設備制程的程序實現、算法的設計,并負責與臺積電的全面技術對接和交流。自2011至今,從事嵌入式,互聯網及區塊鏈技術的研究,深圳大學創業學院《區塊鏈概論》課程教師,中山大學區塊鏈與智能中心客座研究員,廣東省金融創新研究會常務理事?。個人擁有4項區塊鏈相關專利、3本出版著作。
固定收益與杠桿收益結合 新一代的DeFi協議正在瞄準TradFi中極為流行的概念: 固定利率投資 將固定收益資產分解為本金和利息 杠桿收益交易 資產分割可能是金融領域的圣杯.
1900/1/1 0:00:00就在上個月,FameLadySquad——這個由女性設計的8888枚用以支持女性的NFT項目,在問世之后就被NFT社區欣然接受.
1900/1/1 0:00:00社交代幣現在大體上能分成三類,分別是社交代幣發行平臺,個人代幣,社區代幣。其中發行平臺就是一個針對特定賽道的Token發行平臺,只是在門檻上可能有所設置,發行平臺可能對有資格發行自己Token的.
1900/1/1 0:00:00為什么要投資元宇宙(Metaverse)?作為較早參與區塊鏈及NFT項目創業的投資人,最近被問得最多的問題大概就是關于「元宇宙」這一個橫空出世火遍全球的概念了.
1900/1/1 0:00:00?包括NFT技術應用在內的數字技術進一步加深了人的物理存在與數字存在、過去現在與未來存在的聯系,拓展了人類認識自身意義的能力.
1900/1/1 0:00:00近年來,商業世界出現了新的發展趨勢。在一個廣泛數字化轉型的時代,企業要想生存下去,關于如何安排業務流程并將其整合到有效的商業模式中的戰略決策至關重要,因此管理團隊必須認識到數字技術為自己企業帶來.
1900/1/1 0:00:00