以太坊智能合約中發(fā)現(xiàn)47個0 day漏洞
研究人員在以太坊智能合約中發(fā)現(xiàn)47個0 day漏洞。
智能合約是保存在區(qū)塊鏈上的程序,在滿足預(yù)定義的條件后會自動執(zhí)行??梢詫崿F(xiàn)匿名方在沒有中心化的可信機構(gòu)的情況下實現(xiàn)可信的交易和協(xié)議的執(zhí)行。因為智能合約的升級比較困難,因此智能合約在部署之前進行源碼審計,確保部署時沒有安全漏洞是非常重要的。
加利福尼亞大學(xué)圣塔芭芭拉分校的研究人員研發(fā)了一套智能合約一致性漏洞檢測工具——SAILFISH。SAILFISH的工作流程如下所示:
給定智能合約,Sailfish可以將合約轉(zhuǎn)化為一個依賴圖,獲取智能合約存儲變量和狀態(tài)變化指令的控制流和數(shù)據(jù)流關(guān)系,然后使用依賴圖來識別潛在的安全漏洞。通過圖查詢的方式來確定2個執(zhí)行路徑之間是否是在同一個存儲變量上的。
SAILFISH可以在智能合約中發(fā)現(xiàn)狀態(tài)一致性漏洞、重入(Reentrancy)和交易順序依賴漏洞。攻擊者利用該漏洞可以修改交易的執(zhí)行順序或在一個交易內(nèi)接管控制流。研究人員利用該工具在以太坊智能合約中發(fā)現(xiàn)了47個0 day漏洞。
通過對以太坊平臺Etherscan中獲得的89853個智能合約進行測試,Sailfish成功識別出了47個0 day漏洞,部分漏洞利用后甚至可以破壞應(yīng)用特定的元數(shù)據(jù)。Sailfish工具的性能和準確率比SECURITY、MYTHRIL、OYENTE、SEREUM 、VANDAL等智能合約分析工具都高。

相關(guān)研究成果將在2022年5月舉行的網(wǎng)絡(luò)安全頂會IEEE Symposium on Security and Privacy (S&P)上報告展示。論文參見:https://arxiv.org/pdf/2104.08638.pdf
本文翻譯自:https://thehackernews.com/2022/01/sailfish-system-to-find-state.html如若轉(zhuǎn)載,請注明原文地址。