近日,DeFi借貸協議Akropolis遭到網路駭客的攻擊。Akropolis創始人兼執行長Ana Andrianova表示,攻擊者利用在衍生品平臺dYdX的閃電貸進行重入攻擊,造成了200萬美元的損失。
成都鏈安團隊在接到自主獨立研發的區塊鏈安全態勢感知平臺(Beosin-Eagle Eye)報警後,第一時間對本次攻擊事件進行了調查,結果發現:
1、Akropolis確實遭到攻擊
2、攻擊合約地址為
0xe2307837524db8961c4541f943598654240bd62f
3、攻擊手法為重入攻擊
4、攻擊者獲利約200萬美元
攻擊手法分析
透過對鏈上交易的分析,發現攻擊者進行了兩次鑄幣,如下圖所示:
圖一
圖二
參考連結:https://etherscan.io/tx/0xddf8c15880a20efa0f3964207d345ff71fbb9400032b5d33b9346876bd131dc2
但據oko.palkeo.com交易呼叫情況顯示,攻擊者僅呼叫了一次deposit函式,如下圖所示:
圖三
透過跟蹤函式呼叫,成都鏈安團隊發現,攻擊者在呼叫合約的deposit時,將token設定為自己的攻擊合約地址,在合約進行transferFrom時,呼叫的是使用者指定的合約地址,如下圖所示:
圖四
透過分析程式碼發現,在呼叫deposit函式時,使用者可指定token引數,如下圖所示:
圖五
而deposit函式呼叫中的depositToprotocol 函式,存在呼叫 tkn 地址的safeTransferFrom函式的方法,這就使得攻擊者可以透過構造“safeTransferFrom”從而進行重入攻擊。
圖六
事件小結
Akropolis作為DeFi借貸、儲存服務提供商,其儲存部分使用的是Curve協議,這在當天早些時候的攻擊中曾被利用。攻擊者從該專案的yCurve和sUSD池中取出了5萬美元的DAI,而在耗盡這些池子前,共計竊取了價值200萬美元的DAI。
在本次攻擊事件中,駭客使用重入攻擊配合dYdX閃電貸對儲存池發起了侵佔。在協議中,資產儲存池可謂是防守重點,作為專案方,對資金池的安全預防、保護措施應置於最優先順序別。特別是,為應對駭客不斷變化的攻擊手段,定期全面檢查和程式碼升級缺一不可。
最後,成都鏈安強烈呼籲,對於專案方而言,安全審計和定期檢測切勿忘懷;對於投資者而言,應時刻不忘安全警戒,注意投資風險。