近日,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 閃電貸對存儲池發起了侵占。在協議中,資產存儲池可謂是防守重點,作為項目方,對資金池的安全預防、保護措施應置於最優先級別。特別是,為應對黑客不斷變化的攻擊手段,定期全面檢查和代碼升級缺一不可。
最後,成都鏈安強烈呼籲,對於項目方而言,安全審計和定期檢測切勿忘懷;對於投資者而言,應時刻不忘安全警戒,注意投資風險。
