2021 年5 月,加密資產市場頗為動盪,BTC 從5 萬美元上方最低跌至29000 美元,幾近腰斬,大多數加密資產最大跌幅超過50%。
二級市場巨震之下,鏈上生態也不太平。 5 月份,DeFi 市場發生至少13 起黑客攻擊事件,多集中在幣安智能鏈(BSC)上,折損資金達到2.7 億美元,超過了2020 年所有DeFi 安全事件的資產損失。 BSC 官方認為,一個有組織的黑客團隊盯上了BSC。
為何BSC 鏈上項目集中失竊?黑客又如何做到快速捕捉項目漏洞?區塊鏈安全公司PeckShield 發現,很多被攻擊的項目都存在同源漏洞。
比如,在BSC 收益聚合器PancakeBunny 被攻擊後,Fork (分叉)自PancakeBunny 的AutoShark 和Merlin Labs 在接下來的一周內接連失竊;而被攻擊的BurgerSwap 和JulSwap,代碼都是Fork 自Uniswap,但它們似乎在進行改動時產生了漏洞。
PeckShield 相關安全負責人告訴蜂巢財經,這些Fork 出的協議被攻擊主要是在沒有完全理解原協議背後的邏輯下,進行微創新,導致一個小的更新或小的組合就可能產生漏洞。
屢次發生的安全事件再度給協議開發者提了個醒,在進行DeFi 的模式創新時,不應忽視底層代碼的安全性。
12 個項目被攻擊折損2.7 億美元
屋漏偏逢連夜雨。在加密資產市場跌勢不止時,鏈上協議的安全事故頻發。
5 月30 日,BSC 上的穩定幣兌換協議Belt Finance 遭遇閃電貸攻擊,損失620 萬美元。根據區塊鏈安全公司PeckShield 的追踪,此次攻擊源於攻擊者在PancakaSwap 完成8 筆閃電貸後,通過重複買入賣出BUSD,利用bEllipsisBUSD 策略餘額計算中的漏洞操縱beltBUSD 的價格進行獲利。
被攻擊後,Belt Finance 就閃電貸攻擊事件發推致歉並發表報告,其表示將進行進一步審計,並將在48 小時內發布用戶補償計劃。
受此影響,Belt Finance 治理代幣BELT 大幅下跌,從28 日的58 美元高點跌至27 美元,短期跌幅達到53.44%。
這已是5 月份第12 個被攻擊的BSC 鏈上項目。蜂巢財經統計,自5 月2 日以來,Spartan Protocol、Value DeFi、BearnFi、Venus、PancakeBunny 等項目接連失竊,共計損失2.7 億美元資金,Value DeFi 更是兩次遭攻擊。
BSC 被攻擊項目一覽
2.7 億美元的資產損失已經超過了2020 年所有DeFi 安全事件的損失。根據此前PeckShield 發布的數據,2020 年DeFi 安全事件達到60 起,損失逾2.5 億美元。
短短一個月時間,BSC 鏈上連續不斷遭到黑客光顧,顯得頗為蹊蹺。壓力之下,BSC 官方不久前在社交平台發文稱,最近已經接連發生超過8 起針對BSC 鏈上項目的閃電貸攻擊,「我們認為現在有一個有組織的黑客團隊盯上了BSC。」
BSC 官方呼籲所有DApp 防範風險,建議鏈上項目與審計公司合作進行健康檢查,如果是分叉項目,需反複檢查相對原始版本進行的更改;採取必要的風險控制措施,實時主動監控異常情況,一旦出現異常及時暫停協議;制定應急計劃,以防出現最壞的情況;如果條件允許可設定漏洞賞金計劃。
的確,复盤12 起安全事件,閃電貸攻擊是黑客最常用的手段。 Spartan Protocol、PancakeBunny、Bogged Finance、BurgerSwap、JulSwap 等項目都是閃電貸攻擊的受害者。
需要明確的是,閃電貸本身並非是一種攻擊手段,它只是一種高效的借貸模式,能夠放大任何人的本金。正如Chainlink CMO Adelyn Zhou 所言,「閃電貸不會在DeFi 內部產生漏洞——它只是揭示了已經存在的漏洞。」
在DeFi 經過了高速發展後,BSC 上仍有如此多項目在短時間內暴露出漏洞,令鏈上用戶感到心驚。不禁要問,為什麼這些安全事件集中爆發在BSC 鏈上?又為何黑客能夠快速找到這麼多項目的漏洞並實施攻擊?
Fork 隱患爆發事發項目多遭同源攻擊
今年以來,BSC 異軍突起,作為以太坊的側鏈,它憑藉更高效的交易處理效率和低廉的手續費,吸引了大量的項目和鏈上玩家入駐,巔峰時期,其鏈上總鎖倉價值超過344億美元,是僅次於以太坊的第二大DeFi 集結地。
BSC 生態的快速崛起,搶占鏈上先發紅利,大量項目扎堆部署。由於此前,以太坊上大多項目已經開源,不少開發者採用了Uniswap、Curve 等成熟項目的開源代碼,經過簡單修改後便在BSC 上快速上架。而這種匆忙地Fork (分叉)成了BSC 鏈上項目成批量被黑客攻擊的隱患。
據PeckShield 披露,近期被攻擊的BurgerSwap 和JulSwap,代碼都是Fork 自Uniswap。 PeckShield 指出,「但它們似乎並沒有完全理解Uniswap 背後的邏輯。」
根據事發後BurgerSwap 的報告,攻擊者自發「假幣」,隨後與協議的原生代幣BURGER 形成交易對,改變了後者的價格。很顯然,分叉自Uniswap 的BurgerSwap 在某些方面不夠成熟,被黑客鑽了空子。
Fork 協議的來源不僅是以太坊,BSC 鏈上一些早期協議應用也被後來者Fork 上鍊。 AutoShark 和Merlin Labs 兩個聚合器協議,皆因Fork 了PancakeBunny 被黑客洗劫。從時間線來看,5 月20 日,PancakeBunny 遭到閃電貸攻擊,此次攻擊源於攻擊者利用該協議操縱了LP Token BNB-BUNNY 和BNB-BUSDT 的價格。
看到PancakeBunny 被攻擊後,AutoShark 發文強調自己的安全性,表示其做了4 次代碼審計,其中2 次正在進行中。但打臉接踵而至,僅僅4 天后,AutoShark 遭遇閃電貸攻擊,其代幣SHARK 瞬間下跌99%。根據PeckShield 的分析,此次攻擊手法與PancakeBunny 被攻擊的手段相似。
被打臉的還有Merlin Labs,在被攻擊前,它也曾發文表示已經反复執行代碼的審核,為潛在的可能性採取了額外的預防措施。但5 月26 日,黑客就「乘勝追擊」,洗劫了Merlin Labs。
PeckShield 認為,這是攻擊PancakeBunny 後的模仿案,攻擊者都不需要太高技術和資金的門檻,只要耐心地將同源漏洞在Fork 出的協議上重複試驗,就能撈上可觀的一筆。 「Fork 的DeFi 協議可能尚未成為Bunny 挑戰者,就因同源漏洞損失慘重,被嘲笑為『頑固的韭菜地』 。」
此外,在Belt Finance 被攻擊的案例中,黑客利用了bEllipsisBUSD 策略餘額計算中的漏洞,操縱了beltBUSD 的價格,而Ellipsis 則Fork 自以太坊知名協議Curve。
PeckShield 相關安全負責人告訴蜂巢財經,這些Fork 的協議被攻擊主要是在沒有完全理解原協議背後的邏輯,進行微創新,導致一個小的更新或小的組合就可能產生漏洞。
該負責人表示,從已知的漏洞下手是攻擊者對尚處發展階段的DeFi 領域常用的「覓食」方法。對於項目方來說,對DeFi 協議安全的重視,不是嘴上說說而已,而是要做到「吾日三省代碼」:協議上線前有沒有做靜態審計?其他協議遭到攻擊後,有沒有自查代碼,檢查是否出現類似漏洞?交互的協議有沒有安全風險?
從上述案例來看,BSC 鏈上一批項目集中失竊,主要是黑客找到了多個協議的同源漏洞,只需模仿攻擊手段,就能「舉一反三」,在短時間內完成對多個項目的剽竊。
屢次發生的安全事件也給協議開發者提了個醒,在進行DeFi 的模式創新時,不應忽視底層代碼的安全性。
對此,PeckShield 建議,新合約上線前要進行審計,也需要注意排查與其他DeFi 產品進行組合時的業務邏輯漏洞。同時要設計⼀定的風控熔斷機制,引⼊第三⽅安全公司的威脅感知情報和數據態勢情報服務,完善防禦系統。 「所有DeFi 協議都存在變數,即使⼀個協議進行了多次審計,⼀個小的更新也會使審計變得無用,因此即使⼀個小的更新都要重新進行審計。」