近期,Goplus針對WebAssembly虛擬機漏洞挖掘的最新研究成果獲ISSTA2025全文正式錄用!
ISSTA作為軟件工程領(lǐng)域的四大頂級會議之一,同時也是中國計算機學(xué)會(CCF)認(rèn)定的軟件工程領(lǐng)域的A類國際學(xué)術(shù)會議,專注于收錄全球科研機構(gòu)和科技企業(yè)在軟件工程、軟件測試領(lǐng)域的最新前沿進(jìn)展。
WebAssembly 運行時是執(zhí)行 WebAssembly 代碼的基礎(chǔ)架構(gòu),被廣泛用作 Web 瀏覽器和區(qū)塊鏈系統(tǒng)的執(zhí)行引擎。例如,以太坊 2.0 和 Polkadot 已采用 WebAssembly 運行時作為智能合約的執(zhí)行環(huán)境,以提高其效率和安全性。盡管 WebAssembly 運行時越來越流行,但它們也帶來了新的攻擊面。WebAssembly 運行時中的缺陷和瑕疵可能會導(dǎo)致意外行為、錯誤結(jié)果甚至嚴(yán)重的安全后果,尤其是對于依賴于編譯成 WebAssembly 字節(jié)碼的智能合約的區(qū)塊鏈平臺而言。
面向WebAssembly虛擬機漏洞挖掘,本文設(shè)計了一個基于解析樹突變和快照引導(dǎo)的WebAssembly虛擬機模糊測試框架FreeWavm。
FreeWavm 由四個關(guān)鍵組件組成。
(1)為了捕獲 WebAssembly 代碼的結(jié)構(gòu)化特征,制定了一個 WebAssembly 模塊解析器,將 WebAssembly 字節(jié)碼轉(zhuǎn)換為解析樹結(jié)構(gòu)。
(2)然后,設(shè)計了一個結(jié)構(gòu)感知的變異模塊,為 WebAssembly 運行時生成有意義的測試輸入。這涉及采用定制的節(jié)點優(yōu)先級策略從解析樹中過濾出有趣的節(jié)點,然后對這些節(jié)點執(zhí)行特定的變異。
(3)為了確保變異測試輸入的完整性,提出了一種自動修復(fù)機制來糾正變異的解析樹。這保證了模塊解析器可以成功解析新生成的測試輸入,從而確保連續(xù)變異的有效性。
(4)構(gòu)建了一個快照池來維護(hù)未完成的解析樹結(jié)構(gòu),這些解析樹結(jié)構(gòu)要么觸發(fā)崩潰,要么覆蓋目標(biāo)運行時中的新執(zhí)行路徑,從而允許先前的知識用于后續(xù)的變異,從而增加發(fā)現(xiàn) WebAssembly 運行時中深層漏洞的概率。
FreeWavm的總體架構(gòu)
對多個WebAssembly 虛擬機進(jìn)行了廣泛的實驗。FreeWavm 已成功發(fā)現(xiàn) 69 個新的漏洞,其中 24 個被分配了 CVE。相比之下,F(xiàn)reeWavm 在實現(xiàn)的代碼覆蓋率和 24 小時運行期間觸發(fā)的漏洞數(shù)量方面均優(yōu)于其他同類產(chǎn)品。
登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。文章內(nèi)容僅供參考,不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險自擔(dān)。