北京時間2022年7月3日,CertiK安全團隊監測到Solana鏈上的Crema Finance項目遭到黑客攻擊,損失約880萬美元。
Crema Finance是一個建立在Solana上強大的流動性協議,爲交易者和流動性提供者提供各項功能。在發現黑客攻擊後,該項目方暫時終止了項目運行,以防止攻擊者從平台上盜取更多資金。
CertiK安全團隊進行了初步調查,認爲在這次黑客攻擊中,攻擊者通過使用Solend協議中的6個不同閃電貸來利用合約。攻擊者僞造tick账戶, 通過存入和提取借來的代幣,並調用了如下三個函數來實現攻擊:“DepositFixedTokenType”,“Claim”以及“WithdrawAllTokenTypes”。當調用”Claim "函數時,黑客利用先前僞造的tick账戶能夠獲得額外的代幣。
Crema Finance隨後聯系了攻擊者並稱“黑客有72小時的時間考慮成爲白帽黑客,並保留80萬美元”。
值得注意的是,與該項目名字類似的Cream Finance於2021年10月也遭遇過毀滅性的閃電貸攻擊,該攻擊中Cream Finance被黑客盜取了約1.3億美元資金。雖然這兩起攻擊事件並不相關,但這兩個相似名字的項目遭遇的兩起攻擊都顯示出了合約安全的重要性:黑客能夠以驚人的方式利用閃電貸來進行各種各樣的攻擊。
攻擊步驟
①攻擊者准備了一個假的tick账戶,方便在調用“Claim”函數時使用。
②攻擊者利用閃電貸借出了所需的token,並被用於與Crema Finance交互時的存款。
③攻擊者調用“DepositFixTokenType”函數,通過該函數將通過閃電貸借來的金額存入相應的pool。
④攻擊者通過調用“Claim”函數,獲得額外代幣。
⑤最後,攻擊者調用“WithdrawAllTokenTypes”函數,將最初存入的代幣取回。
資產去向
截稿時,CertiK安全團隊預估損失總計約爲878萬美元。
大約7萬SOL在Esmx2QjmDZMjJ15yBJ2nhqisjEt7Gqro4jSkofdoVsvY账戶中,而分批被盜的資產已被轉移到5pkD6y7qyupa2B1CiYoapBZootfhA6aRWqhqi4HYeQ9s。這些資金被橋接到ETH主網,並被發送到0x8021b2962db803b73aa874030b0b42c202e8458f。
寫在最後
根據現有的攻擊流程和Crema Finance公布的信息來看,本次攻擊的起因爲項目方代碼缺少對於tick account的驗證。作爲存儲價格信息的重要數據账戶,源代碼可能並沒有做數據來源、所有者驗證, 或者這些驗證可以被輕松跳過。
類似的账戶檢查缺失屢見不鮮,可以說账戶如何安全使用是Solana程序的重中之重。類似的例子包括但不限於账戶所有者驗證的缺失、不同用戶的數據账戶混用等等。
CertiK安全專家在此建議:在程序編寫時需注意账戶的使用和其之間的聯系。
攻擊發生後,CertiK的推特預警账號以及官方預警系統已於第一時間發布了消息。同時,CertiK也會在未來持續於官方公衆號發布與項目預警(攻擊、欺詐、跑路等)相關的信息。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:CertiK:Crema Finance被攻擊損失880萬美元事件分析
地址:https://www.torrentbusiness.com/article/4939.html
標籤: