必贏官網(wǎng)21級(jí)碩士生蘇健鐘同學(xué)在軟件工程領(lǐng)域頂級(jí)會(huì)議在ASE 2022發(fā)表論文《Effectively Generating Vulnerable Transaction Sequences in Smart Contracts with Reinforcement Learning-guided Fuzzing》
論文標(biāo)題:基于強(qiáng)化學(xué)習(xí)的模糊測(cè)試生成易觸發(fā)漏洞的智能合約交易序列
摘要:必贏官網(wǎng)21級(jí)碩士生蘇健鐘同學(xué)在軟件工程領(lǐng)域頂級(jí)會(huì)議在ASE 2022發(fā)表論文《Effectively Generating Vulnerable Transaction Sequences in Smart Contracts with Reinforcement Learning-guided Fuzzing》。
發(fā)布內(nèi)容:
近日,必贏官網(wǎng)21級(jí)碩士生蘇健鐘同學(xué)的論文《Effectively Generating Vulnerable Transaction Sequences in Smart Contracts with Reinforcement Learning-guided Fuzzing》被軟件工程領(lǐng)域頂級(jí)會(huì)議IEEE/ACM International Conference on Automated Software Engineering (ASE 2022)錄用。該論文關(guān)注于區(qū)塊鏈智能合約的漏洞檢測(cè)問(wèn)題,提出了一種新的基于強(qiáng)化學(xué)習(xí)的智能合約漏洞導(dǎo)向型模糊測(cè)試器RLF,用于生成易觸發(fā)漏洞的交易序列,以提高漏洞檢測(cè)的效率。首先,RLF將智能合約的模糊測(cè)試過(guò)程建模為馬爾可夫決策過(guò)程,以構(gòu)建基于強(qiáng)化學(xué)習(xí)的測(cè)試框架。該測(cè)試框架包含兩個(gè)主要組件:Backend和Agent。Backend包括EVM和漏洞檢測(cè)器,EVM用于執(zhí)行智能合約,而漏洞檢測(cè)器用于檢測(cè)漏洞。當(dāng)Backend接收到一個(gè)動(dòng)作(函數(shù))時(shí),被測(cè)試的智能合約在EVM中執(zhí)行相應(yīng)的代碼并輸出執(zhí)行日志到漏洞檢測(cè)器。漏洞檢測(cè)器根據(jù)執(zhí)行日志和預(yù)定義的規(guī)則來(lái)檢測(cè)漏洞并將發(fā)現(xiàn)的漏洞轉(zhuǎn)化為給予Agent的獎(jiǎng)勵(lì)。Agent利用深度神經(jīng)網(wǎng)絡(luò)DNN從先前的測(cè)試序列和獎(jiǎng)勵(lì)中學(xué)習(xí),在每一步選擇最優(yōu)的動(dòng)作以生成易觸發(fā)漏洞的交易序列來(lái)測(cè)試合約。該強(qiáng)化學(xué)習(xí)框架的工作原理如下圖所示。

在此基礎(chǔ)上,RLF使用了一個(gè)特殊的獎(jiǎng)勵(lì)機(jī)制,即同時(shí)考慮漏洞和代碼覆蓋率作為獎(jiǎng)勵(lì),從而有效地引導(dǎo)模糊測(cè)試器生成特定的交易序列,以觸發(fā)潛在的智能合約漏洞,特別是與多個(gè)函數(shù)相關(guān)的漏洞。

通過(guò)大量實(shí)驗(yàn)對(duì)論文中所提出的智能合約漏洞導(dǎo)向型模糊測(cè)試器RLF的性能進(jìn)行驗(yàn)證和評(píng)估。實(shí)驗(yàn)結(jié)果表明,模糊測(cè)試器RLF優(yōu)于先前流行的漏洞檢測(cè)工具。