一、事件概覽
北京時間6月3日11時11分,鏈必安-區塊鏈安全態勢感知平臺(Beosin-Eagle Eye)輿情監測顯示,BSC鏈上專案PancakeHunny遭遇駭客攻擊。據統計,此次攻擊事件中,駭客總共獲利43ETH(合計10餘萬美元)。
面對又一起發生在BSC鏈上的專案被黑事件,成都鏈安·安全團隊第一時間啟動安全應急響應,針對PancakeHunny被黑事件進行跟蹤分析,以提醒BSC鏈上各大專案切實提高安全防範意識,警惕“黑色5月”陰雲的持續籠罩 。
據瞭解,PancakeHunny是PancakeBunny的又一仿盤專案。在本次被黑事件中,駭客採取的攻擊手法大體上與此前攻擊PancakeBunny近似,均是在短時間內增發大量的代幣並拋向市場,並引起了HunnyToken幣價暴跌。
二、事件分析
成都鏈安·安全團隊針對被黑程式碼展開跟蹤分析,根據已披露的線索和攻擊交易上來看,駭客主要是利用了HunnyMinter函式的設計缺陷進行了攻擊,如下圖所示:
需要注意的是,mintFor函式用於將收取的手續費轉化為HunnyToken並返還給使用者;但在讀取需要轉換的手續費時,錯誤地使用了balanceOf做為引數,且在兌換HunnyToken時,使用的是固定兌換比例(當時為1 BNB:3200 HunnyToken),這給了駭客發動攻擊的可乘之機。
駭客首先向hunnyMinter合約中打入了56個cake代幣;再同時呼叫CakeFilpValut合約中的getReward函式,間接觸發了hunnyMinter中的mintFor函式。
此時hunnyMinter合約中因存在駭客打入的cake,導致能夠兌換大量的HunnyToken;而此時的HunnyToken的價格,已經超過設定的固定值,這使得此處存在套利空間。後續駭客一直使用相同方法進行套利,直至專案方置零固定兌換比例hunnyPerProfitBNB。
三、事件覆盤
不難看出,此次事件是又一次發生在BSC鏈上的仿盤專案的被黑事件。結合5月多起諸如Merlin、AutoSharkFinance等FORK專案被黑經歷來看,駭客針對BSC鏈上仿盤專案的攻擊態勢仍然在持續發酵。在此,成都鏈安提醒各大FORK專案尤其需要注重安全風險,加強安全防範工作,切勿懈怠。
同時,針對專案本身的開發和創新,我們建議開發者需要對原生專案進行深入理解,切勿一味地照搬和模仿;特別是在安全建設方面,在同步原生專案的安全防護策略之外,也需要聯動第三方安全公司的力量,建立一套獨立自主的安全風控體系,以應對各類突發的安全風險。