国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種得分導(dǎo)向的智能合約模糊測(cè)試方法

2022-07-01 08:17陳可欣劉嘉勇
現(xiàn)代計(jì)算機(jī) 2022年8期
關(guān)鍵詞:測(cè)試用例以太調(diào)用

陳可欣,劉嘉勇,賈 鵬

(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065)

0 引言

近年來(lái),加密貨幣和區(qū)塊鏈技術(shù)在行業(yè)和學(xué)術(shù)界獲得了極大的普及和關(guān)注。區(qū)塊鏈的發(fā)展一共經(jīng)過(guò)了以下兩個(gè)階段:第一個(gè)階段主要解決不信任的情況下網(wǎng)絡(luò)對(duì)等方之間的安全轉(zhuǎn)賬問(wèn)題。第二個(gè)階段出現(xiàn)了許多支持智能合約的增強(qiáng)型區(qū)塊鏈平臺(tái),其中最受歡迎的平臺(tái)之一是以太坊,它使用圖靈完備的編程語(yǔ)言增強(qiáng)了區(qū)塊鏈平臺(tái),使開(kāi)發(fā)人員可以編寫智能合約和去中心化應(yīng)用程序。

隨著以太坊的不斷發(fā)展,智能合約的數(shù)量也在急速增長(zhǎng)。智能合約的概念最早是在1995年被提出的,是一種旨在以信息化方式傳播、驗(yàn)證或執(zhí)行合同的計(jì)算機(jī)協(xié)議。智能合約將與合約相關(guān)的所有條款以及邏輯全都編寫到一段代碼中去。智能合約可以進(jìn)行自我執(zhí)行以及自我驗(yàn)證,在執(zhí)行的過(guò)程中不需要人工進(jìn)行干預(yù)。然而,智能合約不斷發(fā)展的同時(shí),其存在的安全漏洞也逐漸顯露。近年來(lái),利用以太坊智能合約中的安全漏洞進(jìn)行攻擊的新聞報(bào)道越來(lái)越多。一個(gè)著名的事件就是針對(duì)去中心化的自 治 組 織 DAO (decentralized autonomous organization,DAO)的攻擊,造成了6000 萬(wàn)美元的損失。智能合約易受攻擊的原因主要有以下幾個(gè)方面:

(1)智能合約的運(yùn)行依賴于底層的區(qū)塊鏈平臺(tái)以及其他的協(xié)作合約,合約開(kāi)發(fā)者沒(méi)能完全理解這些合約之間以及合約與底層區(qū)塊鏈平臺(tái)之間隱含的關(guān)系。

(2)智能合約的編程語(yǔ)言與運(yùn)行環(huán)境對(duì)于合約開(kāi)發(fā)者來(lái)說(shuō)都是全新的,這些工具本身也還不夠成熟,合約開(kāi)發(fā)者沒(méi)能很好地處理這些工具自身的不足。

(3)區(qū)塊鏈具有不可篡改的性質(zhì),智能合約在被部署至區(qū)塊鏈平臺(tái)之后難以更新。模糊測(cè)試是一種發(fā)現(xiàn)軟件漏洞的有效方法,其基本原理是,在很少或根本不知道文件的底層語(yǔ)法結(jié)構(gòu)的情況下,隨機(jī)地改變輸入文件的某些部分生成變異文件,通過(guò)變異文件嘗試觸發(fā)目標(biāo)程序的異常和安全漏洞。該技術(shù)自出現(xiàn)以來(lái)得到了廣泛的應(yīng)用,并發(fā)現(xiàn)了大量的軟件漏洞。

因?yàn)槟:郎y(cè)試技術(shù)在挖掘漏洞方面的高效性,開(kāi)始有研究者將模糊測(cè)試技術(shù)應(yīng)用在智能合約的漏洞挖掘場(chǎng)景中,并且提出了一些針對(duì)智能合約的漏洞挖掘工具,如Nguyen 等提出的sFuzz、Jiang 等提出 的ContractFuzzer、Luu 等提出的Oyente 等。然而,現(xiàn)有的智能合約漏洞挖掘工具還存在著一些不足之處:sFuzz 結(jié)合了AFL(american fuzzy lop)模糊器中的策略,是一個(gè)覆蓋率引導(dǎo)的智能合約模糊測(cè)試工具,雖然其在實(shí)現(xiàn)高代碼覆蓋率和發(fā)現(xiàn)漏洞方面是有效的,但并沒(méi)有考慮到種子的優(yōu)劣,均等對(duì)待每個(gè)種子,會(huì)導(dǎo)致花費(fèi)很多時(shí)間在低質(zhì)量的種子上。Oyente 將需要分析的合約的字節(jié)碼和當(dāng)前以太坊的全局狀態(tài)作為輸入,檢測(cè)合約是否存在安全問(wèn)題,并向用戶輸入有問(wèn)題的符號(hào)路徑。但是,由于符號(hào)執(zhí)行的路徑深度限制,驗(yàn)證所有可能的路徑會(huì)遇到路徑爆炸問(wèn)題,當(dāng)路徑約束復(fù)雜且難以解決時(shí),符號(hào)執(zhí)行可能無(wú)法探索深層路徑,并且具有較差的可伸縮性。ContractFuzzer 使用預(yù)先部署的合約構(gòu)建網(wǎng)絡(luò)并生成事務(wù)以運(yùn)行智能合約,基于一組預(yù)定義的參數(shù)值生成測(cè)試用例,并以一組特定于智能合約的測(cè)試用例來(lái)判斷是否存在某種漏洞。但ContractFuzzer 只是簡(jiǎn)單地通過(guò)輸入大量的參數(shù)來(lái)發(fā)現(xiàn)漏洞,并不能有效地觸發(fā)更深層次的路徑。

針對(duì)上述智能合約模糊測(cè)試工具存在的不足,本文提出了一種效率導(dǎo)向的智能合約模糊測(cè)試工具ConFuzz。根據(jù)測(cè)試用例的執(zhí)行速度、到達(dá)的路徑深度等因素給測(cè)試用例進(jìn)行打分,基于分值來(lái)調(diào)整測(cè)試用例在havoc 階段的用時(shí)。實(shí)驗(yàn)結(jié)果表明,ConFuzz 可以在更短的時(shí)間里檢測(cè)出更多的漏洞,有效提高了針對(duì)智能合約的模糊測(cè)試的效率。

本文的組織結(jié)構(gòu)如下:第一節(jié)介紹智能合約的一些常見(jiàn)漏洞。第二節(jié)對(duì)ConFuzz的實(shí)現(xiàn)方式進(jìn)行詳細(xì)介紹。第三節(jié)給出了實(shí)驗(yàn)結(jié)果,并與其他方法進(jìn)行了比較。最后,在第四節(jié)中進(jìn)行了總結(jié)并對(duì)未來(lái)工作進(jìn)行了展望。

1 智能合約漏洞

在本節(jié)中,將詳細(xì)介紹智能合約幾種常見(jiàn)漏洞。

1.1 可重入漏洞

當(dāng)存在重入漏洞的合約將以太幣發(fā)送給惡意的合約地址時(shí)(惡意合約地址來(lái)源于輸入或者是調(diào)用者地址),攻擊者可以通過(guò)重入漏洞重新進(jìn)入存在漏洞的合約。此時(shí)漏洞合約雖然已經(jīng)發(fā)送了以太幣完成交易,但合約狀態(tài)還未更新,攻擊者可以執(zhí)行一些開(kāi)發(fā)人員不希望執(zhí)行的合約邏輯,比如利用漏洞合約中的轉(zhuǎn)賬操作向攻擊者賬戶進(jìn)行非法轉(zhuǎn)賬。

1.2 無(wú)燃?xì)獍l(fā)送

以太坊中的每一筆交易都是按照智能合約的規(guī)定一步一步執(zhí)行命令的,每執(zhí)行一個(gè)命令都會(huì)產(chǎn)生一定的消耗,這個(gè)消耗用燃?xì)猓╣as)作為單位。另外,不同命令消耗的燃?xì)猓╣as)數(shù)量也不相同。每一筆交易都被要求包含一個(gè)燃?xì)馍舷蓿╣as limit),該上限代表是這筆交易允許消耗的燃?xì)獾淖畲笾?,可以理解為交易服?wù)本身的服務(wù)費(fèi)。當(dāng)合約使用send 函數(shù)發(fā)送以太幣到某一合約時(shí),接收合約中的回退函數(shù)將會(huì)被調(diào)用,如果回退函數(shù)執(zhí)行過(guò)程中消耗的燃?xì)獯笥?300,就會(huì)觸發(fā)一個(gè)異常,導(dǎo)致轉(zhuǎn)賬失敗,但是原有合約會(huì)繼續(xù)執(zhí)行。該漏洞產(chǎn)生的根本原因是使用send 調(diào)用其他合約函數(shù)時(shí),在執(zhí)行期間觸發(fā)的異常不會(huì)影響原有函數(shù)的執(zhí)行。

1.3 異常無(wú)序

智能合約間的相互調(diào)用除了直接調(diào)用以外還有通過(guò)函數(shù)的嵌套調(diào)用方式。如果每一個(gè)調(diào)用都是對(duì)合約函數(shù)的直接調(diào)用,當(dāng)異常發(fā)生時(shí),包括以太幣轉(zhuǎn)賬在內(nèi)的所有交易都會(huì)被還原,并返回false。但是,當(dāng)合約間以函數(shù)的方式嵌套調(diào)用其他合約時(shí),由于solidity語(yǔ)言中沒(méi)有一個(gè)一致的方法去處理異常,交易的fallback 便會(huì)在該調(diào)用函數(shù)處停止并返回false。發(fā)起調(diào)用的合約可能無(wú)法獲取被調(diào)用的合約中的異常信息。這種處理異常的不一致性會(huì)影響到合約的安全性。比如,如果僅僅根據(jù)沒(méi)有異常拋出就認(rèn)為轉(zhuǎn)賬是成功的,這是很不安全的。

1.4 DelegateCall受控漏洞

DelegateCall 函數(shù)的目的是用于實(shí)現(xiàn)類似于代碼庫(kù)的調(diào)用。它可以讓合約在不用傳輸自身狀態(tài)的情況下使用其他合約的代碼。但是當(dāng)函數(shù)的參數(shù)是由當(dāng)前調(diào)用者指定時(shí),攻擊者便可以用合約擁有者的身份執(zhí)行其他合約的任意函數(shù)。利用這個(gè)漏洞進(jìn)行攻擊的典型事件是對(duì)錢包(wallet)合約的攻擊,該攻擊導(dǎo)致合約的擁有者損失了3000萬(wàn)美元。

1.5 塊依賴和時(shí)間戳依賴

當(dāng)一個(gè)智能合約使用區(qū)塊狀態(tài)變量作為發(fā)送以太幣等關(guān)鍵操作的執(zhí)行條件,或者作為生成隨機(jī)數(shù)的來(lái)源時(shí),就有可能存在此類型漏洞。區(qū)塊狀態(tài)變量包括時(shí)間戳、深度、燃?xì)馍舷薜?,由于一個(gè)區(qū)塊的時(shí)間戳是由礦工挖礦時(shí)的系統(tǒng)決定的,礦工可以事先計(jì)算出對(duì)自己有利的時(shí)間戳,并且在挖礦時(shí)將時(shí)間設(shè)置成對(duì)自己有利的時(shí)間。因此一個(gè)惡意的礦工能夠通過(guò)修改區(qū)塊的時(shí)間戳獲取利益。

1.6 以太凍結(jié)

以太凍結(jié)漏洞產(chǎn)生的原因是有些合約用于接受以太幣,并轉(zhuǎn)賬給其他地址,但是,這些合約本身并沒(méi)有實(shí)現(xiàn)一個(gè)轉(zhuǎn)賬函數(shù),而是通過(guò)調(diào)用其他合約中的轉(zhuǎn)賬函數(shù)實(shí)現(xiàn)轉(zhuǎn)賬的功能。如果這些提供轉(zhuǎn)賬功能的合約執(zhí)行了銷毀操作的話,那么,調(diào)用了這個(gè)轉(zhuǎn)賬功能的合約就有可能發(fā)生以太幣被凍結(jié)的情況。當(dāng)以太幣被凍結(jié)后,因?yàn)楹霞s的代碼無(wú)法被修改,也就無(wú)法進(jìn)行轉(zhuǎn)出操作。

1.7 算術(shù)上溢/下溢

與其他的編程語(yǔ)言一樣,在solidity 語(yǔ)言中,合約余額的檢查中如果直接使用了加減乘除而沒(méi)做額外的判斷時(shí),就會(huì)存在算術(shù)溢出隱患,攻擊者可以通過(guò)傳入超大數(shù)字導(dǎo)致溢出繞過(guò)判斷,這樣就可以轉(zhuǎn)走巨額代幣。

2 智能合約模糊測(cè)試實(shí)現(xiàn)

在本節(jié)中,首先定義智能合約模糊測(cè)試中存在的問(wèn)題,然后逐步詳細(xì)介紹本文的方法。

2.1 問(wèn)題描述

在AFL 的變異機(jī)制中,維護(hù)了一個(gè)種子隊(duì)列,每次把種子隊(duì)列中的文件取出來(lái)后,對(duì)其進(jìn)行變異然后投送給目標(biāo)程序。如表1 所示,AFL 的文件變異方法主要有6 種,其中前4 種變異方式由于不存在隨機(jī)性,所以也叫作確定性變異,后2種因?yàn)榇嬖陔S機(jī)性,稱為非確定性變異。當(dāng)種子隊(duì)列中的所有文件變異結(jié)束后,代表完成了一個(gè)cycle,進(jìn)入下一輪變異?,F(xiàn)有智能合約模糊測(cè)試工具沒(méi)有考慮種子的重要程度,所有的種子都會(huì)得到相同的變異時(shí)間,這一定程度上會(huì)影響Fuzz的效率。

表1 AFL文件變異方法

2.2 ConFuzz整體結(jié)構(gòu)

ConFuzz的整體結(jié)構(gòu)如圖1所示。

圖1 ConFuzz的整體結(jié)構(gòu)

ConFuzz 從初始種子集中選取種子,根據(jù)表1 所示的種子變異算法對(duì)種子進(jìn)行變異以生成fuzz智能合約的測(cè)試用例。同時(shí)其監(jiān)視測(cè)試用例的執(zhí)行,將fuzz 過(guò)程中的覆蓋率、分支數(shù)、每秒執(zhí)行的變異種子數(shù)、種子到達(dá)的路徑深度等信息記錄在執(zhí)行日志中。如果發(fā)現(xiàn)了程序崩潰,ConFuzz 就檢查執(zhí)行日志并報(bào)告漏洞類型。如果發(fā)現(xiàn)了新的路徑,那么把到達(dá)該路徑的測(cè)試用例添加到種子池中做進(jìn)一步的變異。在種子變異算法上,ConFuzz 根據(jù)種子的執(zhí)行速度、到達(dá)的路徑深度等因素給種子進(jìn)行打分,根據(jù)分值,來(lái)調(diào)整在非確定性變異階段havoc 方法的用時(shí)。換而言之,打分機(jī)制的根本目的使得執(zhí)行時(shí)間短、代碼覆蓋高、到達(dá)更深路徑深度的種子執(zhí)行的時(shí)間更長(zhǎng),擁有更多的havoc變異機(jī)會(huì)。

2.3 ConFuzz打分機(jī)制

如2.1 節(jié)所述,為了解決sFuzz 在非確定性變異階段沒(méi)有考慮種子重要程度的問(wèn)題,ConFuzz 提出了一種打分機(jī)制,來(lái)實(shí)現(xiàn)對(duì)種子重要性的評(píng)估,并且給予重要程度高的種子更多的變異時(shí)間。打分機(jī)制被廣泛地應(yīng)用于衡量候選種子質(zhì)量,在AFL、Li 等提出的vFuzz等著名模糊測(cè)試框架中,都有運(yùn)用。許多實(shí)踐表明,通過(guò)打分機(jī)制,能讓質(zhì)量更高的種子優(yōu)先變異,顯著提高fuzz過(guò)程的效率。

ConFuzz 構(gòu)造了一個(gè)名為calculate_score 的函數(shù)對(duì)種子進(jìn)行打分,調(diào)整havoc 階段用時(shí),如算法1 所示。第2 行從種子樣本池中選擇種子,遍歷池中的所有種子。第3 到4 行是第一個(gè)打分判斷條件,首先計(jì)算出一個(gè)速度的平均值,并以這個(gè)平均值作為后續(xù)打分的標(biāo)準(zhǔn),即,將每個(gè)種子的執(zhí)行速度乘以某個(gè)(0,4]之間的數(shù),并將結(jié)果與平均值比較。運(yùn)行快速種子的成本更低,所以ConFuzz給它們更多的時(shí)間,如果結(jié)果大于平均值,乘的數(shù)越小的種子,代表該種子的運(yùn)行速度越快,給的分就越高;反之,如果小于平均值,那么乘的數(shù)越大的種子,代表該種子的運(yùn)行速度越慢,得分就越低。第5 到8行是第二個(gè)打分判斷條件,根據(jù)測(cè)試用例到達(dá)的深度來(lái)進(jìn)行打分,能夠到達(dá)更深層次的測(cè)試用例更可能揭示無(wú)法發(fā)現(xiàn)的漏洞,到達(dá)的深度越深,也就是覆蓋率越高,得分就越高。值得注意的是,在第7行,增加了一個(gè)判斷條件,如果最大深度小于3,就不給該種子打分。這樣做有兩個(gè)原因:一是因?yàn)樯疃葴\的待測(cè)的合約小,分支少,對(duì)小合約用大量的樣本進(jìn)行fuzz 并不能提高發(fā)現(xiàn)漏洞的機(jī)會(huì);二是因?yàn)殡S機(jī)性變異過(guò)于盲目,變異出到達(dá)更深路徑的種子概率過(guò)低。通過(guò)加入打分機(jī)制,能夠保證執(zhí)行速度快、覆蓋深度深的種子具有更多的變異次數(shù)、更長(zhǎng)的havoc 變異時(shí)間,進(jìn)而就有更大的幾率發(fā)現(xiàn)更多的漏洞。

3 實(shí)驗(yàn)與結(jié)果分析

在本節(jié)中,通過(guò)實(shí)驗(yàn)將ConFuzz 與Contract Fuzzer 和sFuzz 這兩個(gè)智能合約模糊測(cè)試工具進(jìn)行比較。

3.1 實(shí)驗(yàn)準(zhǔn)備

本文的實(shí)驗(yàn)是在配有8GB 內(nèi)存的Ubuntu18.04.1 LTS 上運(yùn)行的。測(cè)試合約一共有381 個(gè),都 是 從EtherScan網(wǎng) 站 上 爬 取 的。EtherScan 是2015年推出的一個(gè)以太坊區(qū)塊探索和分析的分布式智能合約平臺(tái), 作為探索以太坊的窗口,可以查看合約信息、交易信息等。

3.2 結(jié)果分析

ConFuzz 一共測(cè)試了381 個(gè)合約,共有兩種類型的賬戶去調(diào)用這些合約,包括一個(gè)普通賬戶和一個(gè)專門測(cè)試可重入漏洞的賬戶。每個(gè)合約測(cè)試時(shí)間為1 min,共測(cè)試了三次,計(jì)算三次的平均值,結(jié)果如表2所示。其中表格第一列列出了ConFuzz測(cè)出的漏洞類型,第二、三列分別列出了該類型漏洞的數(shù)量以及占漏洞總數(shù)的百分比,第四列是該類型漏洞的真陽(yáng)性率,即ConFuzz 檢測(cè)出來(lái)的存在該漏洞的合約數(shù)除以經(jīng)驗(yàn)證所有存在該漏洞的合約數(shù)。

表2 ConFuzz漏洞測(cè)試結(jié)果

可以看到,對(duì)于可重入漏洞、無(wú)氣發(fā)送、Delegatecall 受控漏洞、異常無(wú)序、算術(shù)上溢、算數(shù)下溢這六種類型的漏洞來(lái)說(shuō),每一個(gè)被Confuzz 測(cè)出來(lái)的漏洞經(jīng)過(guò)人工檢測(cè)都是真實(shí)存在的,不存在誤報(bào)。而對(duì)于塊依賴和時(shí)間戳依賴漏洞,ConFuzz 報(bào)告的漏洞中,分別有2 個(gè)和4個(gè)是誤報(bào),這兩類漏洞產(chǎn)生漏報(bào)的原因是相同的,都是因?yàn)閷^(qū)塊編號(hào)或時(shí)間戳分配給全局變量,但它們與以太發(fā)送過(guò)程無(wú)關(guān)。

為了對(duì)比三個(gè)工具在速度上的差異,在381個(gè)合約中隨機(jī)抽樣100個(gè)合約,三個(gè)工具的執(zhí)行速度比較如圖2所示。

圖2 三種工具的速度比較

圖2三種工具的速度比較。橫軸代表不同的合約,縱軸代表變異樣本執(zhí)行的速度,即一分鐘內(nèi)生成和執(zhí)行的變異樣本的平均數(shù)。為了直觀清晰地看出結(jié)果,將合約樣本數(shù)量進(jìn)行遞增排序。由于ContractFuzzer 平均每秒只生成和執(zhí)行0.1 個(gè)測(cè)試用例,所以沒(méi)有在圖上表現(xiàn)出來(lái)。ContractFuzzer 速度明顯偏慢的原因主要有兩個(gè):

(1)ContractFuzzer 維護(hù)了一個(gè)龐大又復(fù)雜的系統(tǒng),包括一個(gè)線上的模糊測(cè)試工具和線下的以太坊虛擬機(jī)(ethereumvirtual machine,EVM)插樁工具,而Confuzz 不用維護(hù)和模擬整個(gè)區(qū)塊鏈網(wǎng)絡(luò)。

(2)ContractFuzzer 的大部分時(shí)間花費(fèi)在對(duì)合約的靜態(tài)分析構(gòu)建合約池方面,而Confuzz 不需要進(jìn)行靜態(tài)分析提取函數(shù)選擇器。

從圖2 可以看出,對(duì)隨機(jī)抽樣的100 個(gè)合約中的大部分合約來(lái)說(shuō),ConFuzz 的執(zhí)行速度比sFuzz快。但是對(duì)于某些合約,sFuzz的執(zhí)行速度比ConFuzz更快。這是因?yàn)榇嬖谝恍┬『霞s,在第一輪的確定性變異階段就可以fuzz 完成,無(wú)法進(jìn)入第二輪的非確定性變異階段。

同時(shí),實(shí)驗(yàn)計(jì)算381 個(gè)合約的平均執(zhí)行速度,結(jié)果表明,ConFuzz 比sFuzz 執(zhí)行的速度提高了8.03%。ConFuzz 速度提高的原因主要有兩個(gè)方面。

(1)增加了打分機(jī)制,使得執(zhí)行速度快的樣本擁有了更多的havoc 時(shí)間,可以變異出更多的執(zhí)行速度快的樣本。

(2)由于速度慢、代碼覆蓋深度淺的樣本得分低,所以對(duì)這些樣本花費(fèi)的時(shí)間更少,就有更多的時(shí)間進(jìn)行有效的樣本變異,執(zhí)行更多效果好的樣本。

實(shí)驗(yàn)結(jié)果表明,Confuzz 在漏洞挖掘方面相較ContractFuzzer 測(cè)出的漏洞數(shù)量更多、準(zhǔn)確率更高、更可靠;在速度上Confuzz 比sFuzz 更快,在相同的時(shí)間內(nèi)可以執(zhí)行更多的有效種子樣本,更高效。

4 結(jié)語(yǔ)

隨著區(qū)塊鏈和智能合約技術(shù)的發(fā)展,數(shù)百萬(wàn)智能合約被部署在區(qū)塊鏈平臺(tái)上,以實(shí)現(xiàn)分散應(yīng)用的構(gòu)建。然而,智能合約存在的安全漏洞對(duì)其未來(lái)的發(fā)展構(gòu)成了巨大威脅。本文提出了一個(gè)基于打分機(jī)制的智能合約模糊測(cè)試工具ConFuzz。實(shí)驗(yàn)結(jié)果表明,ConFuzz 能有效地發(fā)現(xiàn)智能合約存在的8種類型的漏洞,是高效、快速、準(zhǔn)確度高的智能合約模糊測(cè)試工具。

由于ConFuzz 是根據(jù)合約的jumpi 指令計(jì)算合約分支的,如果一個(gè)簡(jiǎn)單的合約不含有jumpi指令,ConFuzz 就會(huì)跳過(guò)而不去測(cè)試它,從而無(wú)法發(fā)現(xiàn)其存在的安全漏洞。未來(lái)還會(huì)進(jìn)一步考慮這種情況,使得ConFuzz也能有效地測(cè)試簡(jiǎn)單的合約。區(qū)塊鏈和智能合約仍在不斷地發(fā)展中,越來(lái)越多的智能合約被部署。因此,智能合約的安全漏洞問(wèn)題不容忽視,智能合約的未來(lái)將專注于解決這些挑戰(zhàn)。

猜你喜歡
測(cè)試用例以太調(diào)用
探索太空奧秘 還原宇宙本真
以太萬(wàn)物理論概述
以太坊又爆漏洞黑客大戰(zhàn)一觸即發(fā)
基于Android Broadcast的短信安全監(jiān)聽(tīng)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
面向多目標(biāo)測(cè)試用例優(yōu)先排序的蟻群算法信息素更新策略
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
基于TestLink的測(cè)試管理系統(tǒng)研究
測(cè)試用例集的優(yōu)化技術(shù)分析與改進(jìn)
C++語(yǔ)言中函數(shù)參數(shù)傳遞方式剖析
沈丘县| 普陀区| 乳山市| 镇赉县| 文水县| 湄潭县| 兰西县| 龙海市| 汉源县| 武安市| 华安县| 斗六市| 合肥市| 资兴市| 安塞县| 齐河县| 湄潭县| 金秀| 湟中县| 容城县| 随州市| 荆州市| 栖霞市| 西华县| 淮安市| 老河口市| 七台河市| 徐水县| 水城县| 伊川县| 巴楚县| 桃源县| 阳原县| 临高县| 朝阳市| 芦山县| 桓台县| 买车| 新闻| 繁峙县| 茂名市|